Rabu, 10 Oktober 2012

Pengenalan Array 2 Dimensi di Java

          Sekarang kita akan mempelajari array 2D, konsepnya hampir sama dengan array 1D, tetapi array 2D ini mempunyai baris dan kolom, untuk pengaksesan array ini tetap menggunakan indeks array tetapi yang digunakan adalah indeks baris dan indeks kolom, nanti untuk loopingnya kita gunakan looping 2 layer, maksudnya didalam looping ada looping lagi atau biasa disebut nested loop, daripada bingung… langsung lihat aja source code-nya...



          Pada baris ke-14 sampai ke-16, adalah proses deklarasi array dua dimensi, dan menentukan isi dari baris dan kolomnya, sebenarnya banyak cara untuk deklarasi array ini, pie pada kesempatan kali saya menggunakan yang tipe ini.

          Untuk lebih mudah mempelajarinya, saya nanti akan membuat outputan yang berisi daftar kelompok, Kelompok Pertama berisikan {Roni, Rista, Yogi, Irfan}, lalu kelompok Kedua berisikan {Hanafi, Slamet, Romza, Nina}, lalu yang terakhir atau Kelompok Ketiga berisikan {Wahyu, Fiki, Lusi, Ali}. 

          Cara membuat outputan seperti itu bisa dilihat pada baris ke-20 sampai baris ke-29, looping for yang pertama atau layer 1, digunakan untuk pengaksesan baris, looping for yang kedua atau layer 2, digunakan untuk pengaksesan kolom baris ke-i, nie urutan-urutan eksekesinya simak dengan baik.

Langkah 1.
          Pertama deklarasi variabel baris dengan nilai 0, 

Langkah 2.
          Lalu, pengecekan kondisi apakah baris < kelompok.length , sekarang nilai baris adalah 0, sedangkan nilai kelompok.length adalah 3 jadi apakah 0<3, maka hasilnya benar(True).

Langkah 3.
          Jika hasil dari kondisi tersebut bernilai  benar(True) maka akan mengeksekusi baris perintah yang di dalam looping for layer 1, lihat baris  21 sampai baris 28 itulah perintah yang ada pada looping for layer 1, lalu akan mengerjakan baris demi baris, pertama akan mengeksekusi System.out.println(“Daftar Kelompok ke-”+ (++idxBaris)); perintah ini adalah untuk mencetak Daftar Kelompok ke-idxBaris, sedangkan idxBaris mempunyai nilai 1, jadi hasilnya akan mencetak Daftar Kelompok ke-1, lalu akan mengeksekusi baris berikutnya, dan kebetulan baris berikutnya adalah looping for,  berikut alur eksekusi untuk looping for layer 2.

       Langkah 3.1
              Deklarasi variabel kolom dengan nilai 0.

       Langkah 3.2      
Lalu Pengecekan kondisi looping for layer 2, apakah kelompok < kelompok[baris].length, nilai variabel kelompok sekarang adalah 0 sedangkan nilai kelompok[baris].length adalah 4, mengapa bernilai 4, mari kita cek statement kelompok[baris].length statement ini digunakan untuk mengakses kolom………baris ke-0, sedangkan jumlah kolom pada baris ke-0 adalah 4, jadi nilai kelompok[baris].length adalah 4 dan derpadat perbedaan statement untuk mengakses kolom dan baris, jika ingin mengakses sebuah baris maka statementnya baris < kelompok.length sedangkan untuk mengakses sebuah kolom pada baris menggunakan statement kelompok[baris].length.
Kembali ke pengecekan kondisi kelompok < kelompok[baris].length jadi apakah 0 < 4 maka hasilnya adalah benar(True).

       Langkah 3.3
          Jika kondisi Looping For Layer 2 ini bernilai benar(True) maka akan mengeksekusi baris perintah yang terdapat di Looping For Layer 2 lihat baris-24, System.out.println(++idxKolom + “. ”+kelompok[baris][kolom]) maksudnya adalah akan mencetak nilai dari idxKolom sedangkan nilai idxKolom sudah diincrement jadi nilainya 1, terus kelompok[baris][kolom] lah ini inti pengaksesan array 2 Dimensinya, maksudnya nanti akan mencetak nilai dari kelompok indeks baris ke-baris dan indeks kolom ke-kolom , nilai dari baris adalah 0 dan kolom masih 0, jadi si-java akan mencetak array kelompok[0][0], dan isinya adalah ‘Rony’.

Langkah 3.4
 Jika sudah mengeksekusi  kode program yang didalam Looping For Layer 2, lalu si java akan menaikkan nilai variabel kolom , yang semula bernilai 0 sekarang berubah menjadi 1, lalu si-java akan kembali ke Langkah 3.2, Langkah 3.3, Langkah 3.4, begitu seterusnya…sampai kondisi looping for layer 2 ini bernilai salah, dan looping for layer 2 ini akan selesai lalu akan melanjutkan kode program yang di bawah struktur looping for layer 2 lihat baris- 26 sampai 28 itu adalah kode program dibawah struktur looping for layer 2.

Ini masih didalam langkah 3, tetapi masih didalam Looping For Layer 1 dan diluar Looping For Layer 2, lihat baris ke-27 dan 28 perintahnya simpel untuk yang baris ke-27 menginisialisasi variabel idxKolom menjadi 0, lalu yang berikutnya cuman mencetak doank.

Langkah 4.
Setelah mengeksekusi semua baris perintah yang terdapat didalam Looping For Layer 1, maka si-java akan menaikkan nilai variabel baris, dan akan kembali ke Langkah 2, Langkah 3 dan sub-sub Langkah 3, dan kembali menaikkan variabel baris di Langkah 4, dan looping ini akan berakhir ketika kondisi looping for layer 1 salah.
 
Dan inilah hasil outputnya.

 Semoga penjelasan diatas dapat bermanfaat bagi kalian. :-D Good Luck Selamat Mencoba

Tidak ada komentar: