Transcript else

Struktur Dasar
JAVA
Object-oriented Programming (OOP) with JAVA
2011/2012
Topic
•
•
•
•
Operator
Percabangan
Perulangan
Array
OPERATOR
• Operator : sebuah simbol yang digunakan untuk
melakukan operasi tertentu.
• Operasi yang dapat dilakukan meliputi operasi
penambahan, pengurangan, perkalian, dan lain
sebagainya.
• Operand : berupa data/nilai yang akan dikenai
operasi.
Contoh
1. Misalkan ada ekspresi : 4 % 2 = 0
maka, operand = 4 dan 2
operator = %
hasil = 0
2. Ekspresi : ++A
operand = A
operator = ++
hasil = nilai A ditambah 1
Kind of Operator
OPERATOR
SIMBOL
Plus Minus
+-
Aritmatika
+-*/%
Increment decrement
++ --
Relasional
> < >= <= == !=
Assignment
=
Logika
&& || ! ^
Bitwise
& | ^ ~ >> >>> <<
Operator Plus Minus
SIMBOL
JENIS OPERASI
CONTOH
+
Penanda bilangan positif
+a
-
Penanda bilangan negatif
-a
• Ketika bilangan tidak memiliki tanda +/- maka
secara otomatis bilangan tersebut merupakan
bilangan positif.
Operator Increment & Decrement
SIMBOL
JENIS OPERASI
++
Tambah variabel/literal dengan 1
--
Kurangi variabel/literal dengan 1
Operator Increment & Decrement
Pre-increment,
contoh : ++a
Increment (++)
Post-increment,
contoh : a++
Pre-decrement,
contoh : --a
Decrement(--)
Post-decrement,
contoh : a--
Operator Increment & Decrement
Operator Increment & Decrement
Operator Aritmatika
SIMBOL
JENIS OPERASI
CONTOH
+
Additional (penambahan)
a+b
-
Subtraction (pengurangan)
a-b
*
Multiplication (perkalian)
a*b
/
Division (pembagian)
a/b
%
Modulus (sisa pembagian)
a%b
• Hasilnya berupa nilai numerik.
• Tipe data dari operand mempengaruhi tipe dari
angka yang dihasilkan.
Operator Relasi
SIMBOL
>
JENIS OPERASI
CONTOH
Lebih besar
a>b
Lebih besar sama-dengan
a>=b
Lebih kecil
a<b
<=
Lebih kecil sama-dengan
a<=b
==
Sama-dengan (equal to)
a==b
!=
Tidak sama-dengan
a!=b
>=
<
• Operator relasi disebut juga operator
perbandingan, membandingkan dua operand
dan mengembalikan nilai true atau false.
• Operand dapat sembarang nilai numerik.
Operator Relasi
public static void main(String [] args) {
System.out.println(‘a’ ==‘a’);
System.out.println(‘a’ ==‘b’);
System.out.println(5 != 6);
System.out.println(5.0 == 5L);
System.out.println(true==false);
}
Operator Logika
• Operasi dengan operator logika berbasis nilai
boolean (true/false) hasilnya juga berupa nilai
boolean.
Operator & (and)
Operator | (or)
|
Operator ^ (xor)
^
Operator Bitwise
• Operasi bitwise dilakukan pada bilangan biner.
• Tabel logika :
Operator >>
Operator <<
Operator Assignment
Operator Assignment
•
•
•
•
x = x + 2 * 5;
Disingkat x+=2*5
x = (x * 2) + 5; disingkat x*=2+5
Ekspresi pada bagian kanan = selalu
dievaluasi terlebih dahulu
Prioritas Operator
Berapakah hasil operasi berikut?
1. (2*3)+(6/2)-4 =
2. (175%6) + (2*12) =
3. 75-(24/6/10)+25%3 =
4. (3*7-11) > (81%4+3)
5. 24/6+1 == 17%3+2
6. (4%2<17) && (3*5>8/4)
7. 22/11<17-10 || 41%4+3*2
8. 2*3%4 & 5
9. ++7 / 4 >= 99/9-10
10. 175%6+2*12 != 23*2/7
Berapakah hasil operasi berikut?
1. (2*3)+(6/2)-4 =5
2. (175%6) + (2*12) = 25
3. 75-(24/6/10)+25%3 = 76
4. (3*7-11) > (81%4+3)=10>4true
5. 24/6+1 == 17%3+2  5==3false
6. (4%2<17) && (3*5>8/4) true && truetrue
7. 22/11<17-10 || 41%4+3*2 Error
8. 2*3%4 & 5  2 & 5 = 0
9. ++7 / 4 >= 99/9-10 2>=1true
10. 175%6+2*12 != 23*2/7  25 !=6true
Macam-macam Percabangan
•
•
•
•
if (...)
if (…) else (…)
if (…) else if (…) else (…)
switch (…)
Percabangan : if
• Formula :
if (ekspresi_boolean)
statement
Atau
Logical
expression
Y
N
Statements
if (ekspresi_boolean) {
statements
}
…..
Latihan
• Buatlah program yang akan membaca sebuah
angka integer. Jika angka di atas 75 tuliskan
“Lulus”.
• Algoritma :
1. deklarasikan variabel bernama nilai
2. Inisialisasi variabel nilai dengan sembarang angka
3. jika nilai > 75
tulis (“Lulus”)
Gunakan perintah System.out.print(); untuk
mencetak teks kelayar.
Latihan
• Buatlah program yang akan menerima
input sebuah huruf. Jika huruf adalah ‘Y’
atau ‘y’ tuliskan “Proses diteruskan”
• Algoritma :
1. deklarasikan variabel char bernama huruf
2. Inisilisasi variabel huruf dengan sembarang
huruf
3. jika huruf==‘Y’ atau huruf==‘y’
tulis (“Proses diteruskan”)
Percabangan : if-else
• Formula :
if (ekspresi_boolean)
statement 1
else
statement 2
Logical
expression
N
Statements-2
Y
Statements-1
atau
if (ekspresi_boolean) {
statements 1
} else {
statements 2
}
…..
Latihan
• Buatlah program yang akan menerima input
berupa nilai integer. Jika angka merupakan
kelipatan 5 tuliskan “Kelipatan 5”, jika tidak
tuliskan “Bukan kelipatan 5”.
• Algoritma :
1. deklarasikan variabel bernama angka (int)
2. Inisialisasi variabel angka dengan sembarang nilai
3. jika angka%5==0
tulis (“Kelipatan 5”)
else
tulis (“Bukan kelipatan 5”)
Latihan
• Buatlah program yang akan menerima data
berupa angka integer. Jika 5<angka<50 tuliskan
“Memenuhi”, jika tidak tuliskan “Tidak
memenuhi”
• Algoritma :
1. Deklarasikan variabel bernama nilai (int)
2. Inisialisasi variabel nilai dengan sembarang angka
3. jika nilai>5 dan nilai<50
tulis (“Memenuhi”)
else
tulis (“Tidak memenuhi”)
Percabangan : if-else if-else
• Formula :
if( ekspresi_boolean1 )
statement1;
else if(ekspresi_boolean2)
statement2;
else
statement3;
if(ekspresi_boolean1 ) {
statement1;
} else if(ekspresi_boolean2 ) {
statement2;
} else {
statement3;
}
Latihan
• Buatlah program yang memiliki satu buah
variabel bernama angka (int). Tuliskan
output sesuai ketentuan :
Angka
Output
angka<50
“Kurang”
50<=angka<70
“Cukup”
Angka>=70
“Baik”
Percabangan : switch
• Formula :
switch( switch_ekspresi ){
case case_pilihan1:
statement1;//
statement2;//blok 1
break;
case case_pilihan2:
statement1;//
statement2;//blok 2
break;
:
default:
statement1;//
statement2;//blok n
}
Latihan
• Selesaikan soal sebelumnya dengan
switch.
Ekspresi Kondisional
• Gunakan : ? (ternary operator)
• Tujuan : menggantikan if else
• Pola :
ekspresi-1 ? ekspresi-2 : ekspresi-3
• Program akan mengevaluasi ekspresi-1 :
– Jika nilai=1 maka ekspresi-2 dieksekusi
– Jika nilai=0 maka ekspresi-3 dieksekusi
Konsep Perulangan
• Sebuah proses di dalam program yang
akan mengulang satu atau beberapa
statement terus-menerus hingga sampai
pada kondisi berhenti.
Bentuk Perulangan di Java
for
while
do-while
Pengulangan : for
• Umumnya digunakan pada pengulangan
yang jumlah iterasinya sudah pasti atau
sudah diketahui sebelumnya.
• Formula :
for (inisialisasi; kondisi; iterasi)
{
//statement yang akan diulang
}
Alur Kerja for
Start
inisialisasi
false
kondisi
true
Statement yang diulang
iterasi
End
Contoh-contoh “for”
1. Program untuk menuliskan teks “Java
Programming” sebanyak 10 kali.
class DemoFor1 {
public static void main (String[] args) {
for (int i=0; i<10; i++) {
System.out.println("Java");
}
}
}
class DemoFor1 {
public static void main (String[] args) {
for (int i=10; i>0; i--) {
System.out.println("Java");
}
}
}
Contoh
2. Program untuk menjumlahkan 5 bil. positif
pertama
class DemoFor3 {
public static void main(String[] args) {
int n = 5; // 5 bilangan positif pertama
int hasil = 0;
for (int i=1; i<=n; i++) {
hasil = hasil + i;
if (i != n) {
System.out.print(i + " + ");
} else {
System.out.print("= ");
}
}
System.out.println(hasil);
}
}
3. Program untuk menentukan apakah sebuah
integer termasuk prima atau tidak.
class DemoFor4 {
public static void main(String[] args) {
int bilangan = 7;
boolean prima = true;
for (int i=2; i <= (bilangan/2); i++) {
if ((bilangan % i) == 0) {
prima = false;
break; // menghentikan pengulangan
}
}
if (prima) {
System.out.println(bilangan + " merupakan bilangan prima");
} else {
System.out.println(bilangan + " bukan bilangan prima");
}
}
}
Penggunaan koma dalam “for”
• Perhatikan program berikut :
class DemoFor5 {
public static void main(String[] args) {
int j=4;
for (int i=0; i < 5; i++) {
System.out.println("Nilai i: " + i);
System.out.println("Nilai j: " + j);
System.out.println();
j--;
}
}
}
• Dapat disederhanakan sbb :
class DemoFor6 {
public static void main(String[] args) {
int i,j;
for (i=0, j=4; i < 5; i++, j--) {
System.out.println("Nilai i: " + i);
System.out.println("Nilai j: " + j);
System.out.println();
}
}
}
Percabangan : while
• Formula :
inisialisasi;
while(kondisi) {
//statement yang akan diulang
iterasi;
Ekspresi?
}
Salah
Statement
…….
Ke pernyataan sesudah while
Perulangan : do-while
• Formula :
inisialisasi;
do{
//statement yang akan diulang
iterasi;
}while(kondisi);
Statement
…….
Benar
Ekspresi?
Salah
Ke pernyataan sesudah while
Latihan
• Ubahlah contoh perulangan dengan for
pada slide sebelumnya dengan
menggunakan mekanisme while dan dowhile.
(1) Latihan
Tuliskan program untuk mendapatkan output
seperti berikut :
1 2 3 4 5
(2) Latihan
Tuliskan program untuk mendapatkan output
seperti berikut :
1
2
3
4
5
(3) Latihan
Tuliskan program untuk mendapatkan output
seperti berikut :
12345
12345
12345
12345
12345
(4) Latihan
Tuliskan program untuk mendapatkan output
seperti berikut :
11111
22222
33333
44444
55555
(5) Latihan
Tuliskan program untuk mendapatkan output
seperti berikut :
1
22
333
4444
55555
(6) Latihan
Tuliskan program untuk mendapatkan output
seperti berikut :
55555
4444
333
22
1
(7) Latihan
Tuliskan program untuk mendapatkan output
seperti berikut :
55555
4444
333
22
1
1
22
333
4444
55555
(8) Latihan
Tuliskan program untuk mendapatkan output
seperti berikut :
1
22
333
4444
55555
55555
4444
333
22
1
Deskripsi Array
• Array : Sekumpulan variabel bertipe sama
yang diacu dengan nama yang sama.
• Ilustrasi sebuah array bernama A berisi 5
A[1]
A[3]
A[4]
A[0]
A[2]
elemen10
15
12
30
21
Array Satu Dimensi
tipe namaArray[]
• Cara
pendeklarasian : tipe [] namaArray
atau
• Langkah-langkahh pembuatan :
1) Deklarasi variabel array, contoh :
int [] jmlHari;
2) Tentukan jumlah elemen :
jmlHari = new int[12];
• Pengisian array, contoh :
jmlHari[0] = 31;
Contoh
class DemoArray1D {
public static void main(String[] args) {
// mendeklarasikan variabel bertipe array dengan tipe int
int [] jumlahHari;
// menentukan jumlah elemen array
jumlahHari = new int[12];
// mengisikan nilai dari setiap elemen array yang ada
jumlahHari[0] = 31;
jumlahHari[1] = 28;
jumlahHari[2] = 31;
jumlahHari[3] = 30;
jumlahHari[4] = 31;
jumlahHari[5] = 30;
jumlahHari[6] = 31;
jumlahHari[7] = 31;
jumlahHari[8] = 30;
jumlahHari[9] = 31;
jumlahHari[10] = 30;
jumlahHari[11] = 31;
// menampilkan salah satu elemen array
System.out.println("Bulan Maret memiliki " + jumlahHari[2] + " hari.");
}
}
Array Multi Dimensi
• Array multi dimensi ~ Array of array
tipe namaArray[][];
tipe [][] namaArray;
• Array dua dimensi :
atau
tipe namaArray[][][];
tipe [][][] namaArray;
• Array tiga dimensi :
atau
Contoh
class DemoArray2D {
public static void main(String[] args) {
int[][] duaD = new int[2][3];
int k = 1;
for(int i=0; i<2; i++) {
for (int j=0; j<3; j++) {
duaD[i][j] = k * 10;
System.out.print(duaD[i][j]);
if (j < 2) System.out.print(" ");
k++;
}
System.out.println();
}
}
}
Latihan
1. Buatlah array untuk menyimpan data
{1,2,3,4,5,6,7,8,9,10} dan tuliskan elemen ke 2 dan 5.
2. Buatlah array untuk menyimpan data {k,i,l,a,n,g} dan
tampilkan huruf ‘k’ dan ‘g’.
3. Buatlah array untuk menyimpan data
{{1,70},{2,85},{3,90},{4,75},{5,85}} dan tampilkan ke
layar tulisan :
Nilai 1 = 70
Nilai 2 = 85
Nilai 3 = 90
Nilai 4 = 75
Nilai 5 = 85
4. Buatlah program yang akan membaca 10
angka dari user untuk dimasukkan ke
array. Selanjutnya tampilkan elemen
pertama dan terakhir ke layar.
5. Buatlah program yang akan membaca 10
angka dari user untuk dimasukkan ke
array. Selanjutnya hitunglah rata-rata
dari seluruh angka tsb & tampilkan
hasilnya ke layar.
6. Buatlah program yang akan membaca 10
Reference
• Dari berbagai sumber
• Design : freeppttemplates.net