Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
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>4true 5. 24/6+1 == 17%3+2 5==3false 6. (4%2<17) && (3*5>8/4) true && truetrue 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>=1true 10. 175%6+2*12 != 23*2/7 25 !=6true 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