PERTEMUAN 2 ARRAY, PERCABANGAN, DAN PERULANGAN
PERTEMUAN 2 ARRAY, PERCABANGAN, DAN PERULANGAN Obektif: Praktikan mengetahui arra, percabangan, dan perulangan pada Java. Praktikan mengetahui bentuk umum dari arra, percabangan, dan perulangan dalam Java. Praktikan dapat membuat program sederhana dengan menggunakan bahasa pemrograman Java, untuk arra, percabangan, dan perulangan. Catatan : Cobalah setiap contoh dan latihan 1 Arra Deklarasi dan Penciptaan Arra Arra di Java dideklarasikan dengan kurung siku: [ ], lalu diikuti oleh nama identifier-na. Sintaks umum deklarasi arra : tpe var-name[]; Atau tpe[] var-name; Berikut contoh contoh deklarasi arra di Java : int numbers[]; char[] letters; long grid[][]; Berikut contoh pendeklarasian operator new(): arra dengan menspesifikasikan ukuran spesifikna menggunakan char alphabet[] = new() char [26]; int primes = {7, 11, 13}; 2 Arra 1 Dimensi Arra 1 dimensi pada dasarna senarai (deretan) variabel bertipe serupa. Bentuk umum new()untuk arra 1 dimensi adalah sebagai berikut : arra-var = new() tpe[size] Keterangan : tpe menspesifikasikan tipe data ang dialokasikan, size menspesifikasikan jumlah dari elemen
arra, dan arra-var adalah variabel arra ang dirangkai ke arra. Perhatikan contoh berikut : monthdas = new() int[12]; Setelah pernataan diatas dieksekusi, monthdas akan mengacu ke arra berisi 12 bilangan int, kedua belas angka tersebut dinisialisasi dengan nol. Catatan : Proses untuk dapat memperoleh arra ialah 2 langkah, aitu: 1. Deklarasi variabel dari tipe arra ang dikehendaki. 2. Alokasi memori ang akan menimpan arra menggunakan operator new() dan memberikanna ke variable arra. 3 Semua arra dimulai dengan indeks nol. Berikut contoh untuk memberikan nilai 29 ke elemen kedua dari monthdas, digunakan perintah : monthdas[1] = 29; Berikut ini untuk menampilkan nilai ang disimpan pada indeks 3, aitu: Sstem.out.println(monthDas[3]); Berikut ini salah satu contoh untuk arra ang berisi jumlah hari maksimum di masing masing bulan : Class Bulan //deklarasi class { public static void main(string[]args) //main method { //deklarasi var arra int monthdas[]; monthdas = new int[12]; //isi var arra mounthdas[0] = 31; mounthdas[1] = 29; mounthdas[2] = 31; mounthdas[3] = 30; mounthdas[4] = 31; mounthdas[5] = 30; mounthdas[6] = 31; mounthdas[7] = 31; mounthdas[8] = 30; 4 mounthdas[9] = 31; mounthdas[10] = 30; mounthdas[11] = 31; //cetak tulisan dan isi var arra mounthdas indeks ke 7. Sstem.out.println("Agustus mempunai "+mounthdas[7]+" hari"); } } Output : Agustus mempunai 31 hari 5 Arra Multi Dimensi Arra multidimensi diimplementasikan sebagai arra ang terletak didalam arra. Arra multidimensi dideklarasikan dengan menambahkan jumlah tanda kurung setelah nama arra. Contoh : Arra 2 dimensi bertipe int bernama intdarr dideklarasikan dan dibuat dengan perintah sebagai berikut : int int2darr[][] = new() int [4][5]; Keterangan : Perintah ini mendeklarasikan dan mengalokasikan arra 4 kali 5 dan memberikan ke variabel int2darr. Secara internal matriks ini diimplementasikan sebagai arra dari arra bertipe int inisialisasi Inisialisasi arra multidimensi, aitu kita cukup mengapit masing inisialisasi dimensi dengan satu pasangan kurung kurawal. 6 Berikut contoh listing program ang memberikan angka ke masing masing elemen di arra dari kiri ke kanan, puncak ke bawah, kemudian menampilkan masing masing elemen : class Multidimensi // deklarasi class { public static void main(string[]args) //main method { //deklarasi variabel arra dan variabel k int 2DArr[][] = new int[4][5]; int k=0; //perulangan untuk menginput
data arra for(int i=0; i<4; i++) //untuk perulangan baris { for(int j=0; j<5; j++) //untuk perulangan kolom { 2DArr[i][j] = k++; //isi var arra 2DArr = increment var k (k=k+1) } } 7 //perulangan untuk menampilkan data arra for(int i=0; i<4; i++) //untuk perulangan baris { for(int j=0; j<5; j++) //untuk perulangan kolom { //cetak isi variabel arra sesuai index [baris][kolom] dan 1 spasi kosong " " Sstem.out.println(2DArr[i][j] + " "); } Sstem.out.println();//pindah baris } } } Output: 01234 56789 10 11 12 13 14 15 16 17 18 19 8 Percabangan Jenis percabangan di java, aitu: If, if-else, dan switch. Percabangan if Pernataan if akan menentukan sebuah pernataan (atau blok kode) ang akan eksekusi jika dan hana jika persaratan bernilai benar(true). Bentuk dari pernataan if : if (- Expression -) Statement else Statement atau if( boolean_expression ) atau if( boolean_expression ) { statement1; statement2;... } Catatan : dimana, boolean_expression adalah penataan logika (true/false) atau variabel bertipe boolean. sebuah 9 Contoh program bentuk percabangan if : Output : Variabel anint bernilai nol Contoh program if diatas dapat diringkas sebagai berikut : Output : Variabel anint bernilai nol Keterangan : kedua program diatas menghasilkan output ang sama karena inti programna sama aitu mencetak tulisan Variabel anint bernilai nol jika isi var anint = 0. 10 Percabangan if-else Pernataan if-else digunakan apabila kita ingin mengeksekusi beberapa pernataan dengan kondisi true dan pernataan ang lain dengan kondisi false. Berikut bentuk umum pernataan if-else: if (condition or Boolean expression) statement1 else statement2 Catatan : Jika condition atau Boolean expression dievaluasi bernilai true, maka statement1 dieksekusi, sedangkan jika condition atau Boolean expression dievaluasi bernilai false, maka statement2 ang dieksekusi.
11 Contoh program bentuk percabangan if else: Output : Variabel anint tidak bernilai nol Keterangan : karena var anint bernilai 1 maka statement di else ang dieksekusi, aitu cetak tulisan Variabel anint tidak bernilai nol. Bahasa Java menediakan beragam kendali percabangan tidak lokal, aitu : break, return, dan continue. Break Return Continue 12 Break Istilah break mengacu pada proses memecahkan blok program. Proses tersebut memerintahkan runtime untuk menjalankan program di belakang blok tertentu. Untuk dapat ditunjuk, suatu blok diberi nama, dan Java memiliki bentuk label untuk menatakan nama suatu blok. Contoh : class ContohBreak //deklarasi class { public static void main(string[]args) //main method { boolean t=true; //deklarasi variabel t { b: //label b { { Sstem.out.println("Sebelum break"); //cetak tulisan //seleksi if, karena var t bernilai true maka break label b if(t) break b; Sstem.out.println("Ini tidak akan dieksekusi"); } Sstem.out.println("Ini tidak akan dieksekusi"); } Sstem.out.println("Ini adalah setelah b"); } } } Output: Sebelum break Ini adalah setelah b 13 Return Java menggunakan bentuk sub-rutin ang disebut method untuk mengimplementasikan antarmuka procedural ke kelas objek. Setiap saat dalam method dapat digunakan pernataan return ang menebabkan eksekusi mencabang kembali ke pemanggil method. Contoh : Output : Before the return 14 Continue Seringkali kita ingin keluar lebih cepat dari perulangan ataumungkin juga ingin meneruskan perulangan, tetapi harus menghentikan sisa proses pada program untuk iterasi ang bersangkutan. Pernataan continue di Java melakukan persis seperti itu. Contoh program penggunaan continue ang menebabkan 2 bilangan dicetak dalam setiap baris : Output: 01 23 45 67 89
15 Percabangan switch Percabangan switch dimaksudkan untuk menangani banak kemungkinan kemunculan. Berikut ini bentuk umum percabangan switch : switch (expression) { case valeue1: break; case value2; break; case valuen; break; default; } 16 Contoh: Output: Lima Enam Tujuh Delapan Sembilan bukan karakter digit Pemrograman Berbasis Objek - 2011 17 Perulangan Terdapat beberapa jenis perulangan pada Java, aitu for, while, dan do while. Perulangan for Berikut bentuk dasar perulangan for : for(initializationexpression; LoopCondition; StepExpression) Statement; Atau for(initializationexpression; LoopCondition; StepExpression) { Statement1; Statement2;... } Keterangan: InitializationExpression, digunakan untuk inisialisasi variabel kendali perulangan. LoopCondition, membandingkan variabel kendali perulangan dengan suatu nilai batas. StepExpression, menspesifkasikan cara variabel kendali dimodifikasi sebelum iterasi berikutna dari perulangan. 18 Contoh: Output: 1 2 3 4 5 6 7 8 9 10 Keterangan : potongan program di atas mencetak isi var i secara berulang dimana perulangan dimulai dari nilai awal var i = 1 sampai var i < 11 dan dengan step isi var i ditambah 1 (increment 1). 19 Pernataan for-loop Bersarang Java memungkinkan loop ang disarangkan di loop ang lain. Satu loop berada didalam loop ang lainna. Contoh: public class Loop { public static void main(string[]args) { for(int i=0;i<3;i++) // perulangan i mulai dari 0 sampai 2, step i++ { for(int j=5;j>i;j--) //cetak * dari j=5 sampai j>i, step j-{ Sstem.out.println("*"); } Sstem.out.println(); } } } 20
Output : * * * * * * * * * * * * 21 Perulangan while Pengulangan while mempunai kondisi ang mengendalikan pernataan perulangan. Berikut bentuk dasar perulangan while : [initialization;] while (Pernataan boolean/ LoopCondition/ Termination) { Statement; [iteration;] } Catatan: Jika LoopCondition/ pernataan boolean dievaluasi true, maka statement dieksekusi dan proses terus berlanjut berulang kali. Penting diketahui bahwa LoopCondition muncul sebelum badan dari pernataan. Ini berarti jika LoopCondition sejak semula dievaluasi false, maka statement tidak pernah dieksekusi. Hal ini merupakan perbedaan penting antara perulangan while dengan perulangan do-while. 22 Contoh: 23 Perulangan do-while Bentuk umum atau bentuk dasar perulangan do while : [initialization;] do { Statement; [iteration;] } while(pernataan boolen/ LoopCondition/ Termination); Contoh : Catatan: Pada contoh program do-while diatas, kita menggunakan pernataan (--n > 0) untuk memeriksa kondisi perulangan do-while. Pernataan --n dijalankan, lalu n dikurangi 1, sehingga menghasilkan nilai baru n. Kemudian n dibandingkan dengan nol. Jika masih lebih besar dari nol, perulangan diteruskan, jika tidak maka dihentikan. 24 Latihan Program Berikut ini adalah contoh program sederhana membuat matriks 3x3 dengan menggunakan arra 2 dimensi dan perulangan for. Ikutilah langkah-langkah berikut : Step 1 : Buka dan ketikan program pada teks editor notepad++ Anda. Simpan nama file sama seperti nama classna, aitu : Arra2D.java Misal disimpan pada direktori D Æ folder praktikan Æ Arra2D.java Ketikkan program berikut pada teks editor Anda. import java.io.*;
*Deklarasikan class... { public static void main(string[] args) //main method { // deklarasi var masuk sbg inputan utama DataInputStream masuk=new DataInputStream(Sstem.in); tr //tr dan catch digunakan untuk menangani kesalahan { *Dekalarasi var arra angka 2 dimensi, dengan indeks dimensi masing masing 3 bertipe integer. 25 for(int i=0;i