Objektif : 1. Mahasiswa dapat memahami pengertian Array pada Java 2. Mahasiswa dapat mengetahui bentuk umum dari Array 3. Mahasiswa dapat mengetahui jenis-jenis Array pada Java 4. Mahasiswa dapat mendeklarasikan dan membuat prgram sederhana menggunakan Array pada Java 4-1 P4.1 Teori 1. Pengenalan Array Pada Pertemuan sebelumnya! kita telah mendiskusikan bagaimana "ara pendeklarasian berbagai ma"am variabel dengan menggunakan tipe data primiti#. $alam pendeklarasian variabel! kita sering menggunakan sebuah tipe data beserta nama variabel atau identifier yang unik. Apabila kita ingin menggunakan variabel tersebut! kita akan memanggil dengan nama identifier-nya. %ebagai "nth! kita memiliki tiga variabel dengan tipe data int yang memiliki identifier berbeda untuk tiap variabel. &nt number1' &nt number2' &nt number3' (umber1)1' (umber2)2' (umber3)3' $ari kde di atas! kita tidak perlu mendeklarasikan variable yang banyak dengan tujuan sama. *leh karena itu digunakan array yang ber#ungsi mendeklarasikan variable dengan tipe data yang sama. Pada bahas pemrgraman Java maupun di bahasa pemrgraman yang lain! terdapat sebuah kemampuan untuk menggunakan satu variabel yang dapat menyimpan beberapa data dan memanipulasinya dengan lebih e#ekti#. +ipe variabel inilah yang disebut sebagai array. ,nth dari array integer sebagai berikut. %ebuah array akan menyimpan beberapa item data yang memiliki tipe data sama di dalam sebuah blk memri yang berdekatan yang kemudian dibagai menjadi beberapa ruang. Array adalah sebuah variabel-sebuah lkasi tertentu yang memiliki satu nama sebagai identifier! namun identi#ier ini dapat menyimpan lebih dari sebuah nilai. 2. Pendeklarasian Array %eperti yang telah dijelaskan se"ara singkat mengenai array pada pertemuansebelumnya adalah kelmpk variabel dengan tipe sejenis dan dinyatakan 4-2 dengannama yang sama. $engan kata lain! array merupakan tipe khusus yang menyatukan sekelmpk variabel dengan tipe yang sama. Array di Java dideklarasikan dengan kurung siku. /01. %intaks umum deklarasi array. type var- name[]; Atau type[] var-name; type berperan dalam mendeklarasikan tipe basis dari array. +ipe basis menentukan tipe data bagi masing-masing elemen yang membentuk array. $engan demikian! tipe basis untuk array menentukan tipe data yang dimuat leh array. 2erikut "nth-"nth deklarasi array di Java. 3 int numbers[]; 3 char[] letters; 3 long grid[][]; Pada Java tidak perlu menspesi#ikasikan ukuran array ksng saat mendeklarasikan array. 4ita harus selalu menyatakan ukuran array se"ara eksplisit saat melakukan operasi penciptaan menggunakan peratr new() atau dengan menda#tarkan item-item untuk array pada saat pen"iptaan. 2erikut "nth pendeklarasian array dengan menspesi#ikasikan ukuran spesi#iknya menggunakan peratr new() dan dengan memberikan da#tar item yang termasuk di dalam array . char alphabet[] = new() char [2]; int primes = !"# $$# $%&; . !enis"jenis Array pada !a#a .1 Array 1 $i%ensi Array 1 dimensi pada dasarnya senarai 5deretan6 variabel bertipe serupa. 4ita lebih dahulu men"iptakan variabel array dari tipe yang dikehendaki. int month'ays[]; Meskipun deklarasi telah menetapkan bahwa %ont&$ays adalah variabel array! namun sesungguhnya tidak ada array yang di"iptakan pada saat itu. (ilai dari %ont&$ays adalah nilai n'll yang merepresentasikan array tanpa nilai dan bukan bernilai nl. 2entuk umum new() untuk array 1 dimensi adalah sebagai berikut. array-var = new() type[si(e] 4-3 $alam hal ini! type menspesi#ikasikan tipe data yang dialkasikan! si(e menspesi#ikasikan jumlah dari elemen array! dan array-var adalah variabel array yang dirangkai ke array. $engan demikian! untuk menggunakan new()! kita harus menspesi#ikasikan tipe dan jumlah elemen untuk dialkasikan. 7lemen-elemen di array yang dialkasikan leh new() akan se"ara tmatis dinisialisasi ke nl. 2erikut ini salah satu "nth pen"iptaan untuk array yang berisi jumlah hari maksimum di masing-masing bulan. "lass 2ulan 8 publi" stati" vid main5%tring/1 args6 8 (( langka& 1: deklarasi #ariabel array int mnth$ays/1' (( langka& 2: penciptaan array bilangan int dengan 12 ele%en mnth$ays ) new int/121' mnth$ays/91 ) 31' mnth$ays/11 ) 2:' mnth$ays/21 ) 31' mnth$ays/31 ) 39' mnth$ays/41 ) 31' mnth$ays/;1 ) 39' mnth$ays/<1 ) 31' mnth$ays/=1 ) 31' mnth$ays/>1 ) 39' mnth$ays/:1 ) 31' mnth$ays/191 ) 39' mnth$ays/111 ) 31' %ystem.ut.println5?Agustus mempunyai ?@mnth$ays/=1@? hari?6' A A Basil 5output6 dari "nth listing prgram di atas adalah Ag'st's %e%p'nyai 1 &ari. %imbl C(() 5dua garis miring6 digunakan untuk suatu kmentar 5in#rmasi singkat6 prgram! dimana kmentar tersebut tidak dieksekusi. 4-4 .2 Array *'ltidi%ensi $i Java! array multidimensi sesungguhnya array dari array. Dntuk mendeklarasikan variabel array! menspesi#ikasikan masing-masing indeks menggunakan himpunan kurung siku yang lain. Array 2 dimensi bertipe int bernama intArr dideklarasikan dan di"iptakan dengan perintah sebagai berikut. int int2'Arr[][] = new() int [)][*]; Perintah ini mendeklarasikan dan mengalkasikan array 4 kali ; dan memberikan ke variabel int2$Arr. %e"ara internal matriks ini diimplementasikan sebagai array dari array bertipe int. %e"ara knseptual array ini digambarkan sebagai berikut. Array 2 di%ensi 4+, 2erikut "nth listing prgram yang memberikan angka ke masing-masing elemen di array dari kiri ke kanan! pun"ak ke bawah! kemudian menampilkan masing-masing elemen. 4-; "lass Multidimensi 8 publi" stati" vid main5%tring/1 args68 --Eangkah 1. deklarasi variabel array dan pen"iptaan array int int2$Arr/1/1 ) new int/41/;1' int k)9' #r 5int i)9'iF4'i@@68 #r 5int j)9'jF;'j@@68 int2$Arr/i1/j1 ) k@@' A A #r 5int i)9'iF4'i@@68 #r 5int j)9'jF;'j@@68 %ystem.ut.print5int2$Arr/i1/j1 @ ? ?6' A %ystem.ut.println56' A A A Basil 5output6 dari "nth listing prgram di atas. 9 1 2 3 4 ; < = > : 19 11 12 13 14 1; < 1= 1> 1: 4. Pengaksesan -eb'a& .le%en Array Dntuk mengakses sebuah elemen dalam array! atau mengakses sebagian dari array! Anda harus menggunakan sebuah angka atau yang disebut sebagai indeks atau subs"ript. Pada saat memasukkan nilai ke dalam array! sebuah no%or indeks ata' s'bscript telah diberikan kepada tiap anggta array! sehingga prgram dan prgrammer dapat mengakses setiap nilai pada array apabila dibutuhkan. (ilai indeks selal' dala% tipe integer! di%'lai dari angka nol dan dilanj'tkan ke angka berik'tnya sa%pai ak&ir array. %ebagai "atatan bahwa indeks di dalam array dimulai dari / sa%pai dengan ('k'ranArray"1). 4-< %ebagai "nth! pada array yang kita deklarasikan tadi! kita mempunyai. --memberikan nilai 19 kepada elemen pertama array ages/91 ) 19' --men"etak elemen array yang terakhir %ystem.ut.print5ages/::16' Perlu diperhatikan bahwa sekali array dideklarasikan dan diknstruksi! nilai yang disimpan dalam setiap anggta array akan diinisialisasi sebagai nl. *leh karena itu! apabila Anda menggunakan tipe data seperti %tring! array tidak akan diinisalisasi menjadi string ksng CG. Dntuk itu Anda tetap harus membuat %tring array se"ara eksplisit. 2erikut ini adalah "nth kde untuk men"etak seluruh elemen di dalam array. $alam "nth ini digunakanlah pernyataan for loop! sehingga kde kita menjadi lebih pendek. publi" "lass Array%ample8 publi" stati" vid main5 %tring/1 args 68 int/1 ages ) new int/1991' #r5 int i)9' iF199' i@@ 68 %ystem.ut.print5 ages/i1 6' A A A P4.2 0onto& 1as's 2uat prgram menggunakan array untuk menampilkan utput. 4-= 2angka&"langka& Pengerjaan: 1. 4lik i"n (etbeans =.9 pada desktp! hingga mun"ul tampilan seperti pada gambar di bawah ini 2. 4lik menu #ile dan pilih (ew Prje"t 3. Pada (ew Prje"t HiIard! klik kategri Java dan pilih Java Appli"atin kemudian klik (eJt 4-> 4. 4emudian langkah berikutnya ialah . Pada #ield Project 3a%e ketikkan ,baArray Pada #ield project 2ocation! se"ara de#ault akan disimpan pada direktri yang telah ditentukan. Pada #ield 0reate *ain 0lass ketikkan "baarray.,baArray 5pada (etbeans nama "lass mengikuti nama prje"t yang kita ketikkan6 4emudian set "he"kbJ pada -et as %ain project dan 0reate *ain 0lass 4lik 4inis& 4-: ;. %elanjutnya ketikkan kde prgram di bawah ini pada "de editr. pa"kage "baarray' imprt java.i.K' publi" "lass ,baArray 8 publi" stati" vid main5%tring/1 args6 thrws 7J"eptin8 -- +*$* "de appli"atin lgi" here %tring Panjang%tr' int i! Panjang' 2u##eredLeader br ) new 2u##eredLeader5new &nput%treamLeader5%ystem.in66' %ystem.ut.print5?Masukkan Panjang array. ?6' Panjang%tr )br.readEine56' Panjang ) &nteger.parse&nt5Panjang%tr6' int/1 bil ) new int/Panjang1' -- menyimpan nilai variabel panjang menjadi indeks dari array bil -K perulangan #r i melakukan perulangan dari 9 sampai sebanyak K indeks dari array bil K- #r5 i)9' iFbil.length' i@@ 6 8 bil/i1 ) i' -- menyimpan nilai perulangan i ke indeks array bil ke-i %ystem.ut.println5 bil/i1 6' -- men"etak nilai dari indeks array bil ke-i A A A <. 2uild prje"t tersebut dengan memilih menu Lun M 2uild Main Prje"t! atau dengan menggunakan htkey N11 =. Jika tidak ada kesalahan 52D&E$ %D,,7%%NDE6! jalankan prje"t tersebut dengan memilh menu Lun M Lun Main Prje"t! atau dengan menggunakan htkey N< 4-19 P4. 2ati&an 2erikut ini adalah prgram untuk men"ari nilai rata-rata. Eengkapi kde prgram berikut dengan mengisi titik-titik yang berwarna merah. pa"kage hellwrld' 55555555555555.. --pende#inisian "lass array2 8 publi" stati" vid main5%tring/1 args6 8 55555555555--buatlah deklarasi array dengan variable O bertipe data integer yang terdiri dari tiga bilangan duble rata)9.9' 555555555555--buatlah pendeklarasian dengan perintah #r untuk melakukan perulangan dari setiap nilai array yang di deklarasikan rata @) J/i1' rata -)J.length' %ystem.ut.println5?nilai rata-rata) ? @ rata6' A A *utput dari prgram di atas adalah. Jawaban. 1. Jalankan (etbeans Anda 2. Eakukan langkah-langkah pengerjaan seperti "nth kasus sebelumnya. 3. Pada "de editr (etbeans! ketikkan prgram berikut. pa"kage hellwrld' publi" "lass array2 8 publi" stati" vid main5%tring/1 args6 8 int/1 J ) 8=9!>9!<9A' duble rata)9.9' #r5int i)9'iFJ.length'i@@6 4-11 rata @) J/i1' rata -)J.length' %ystem.ut.println5?nilai rata-rata) ? @ rata6' A A P4.4 $aftar P'staka (aughtn! Patri"k! +ava ,andboo-. /onsep 'asar 0emrograman +ava! Andi! Pgyakarta! 1::<. Qary ,rnell dan ,ay %.Brstmann! 1ore +ava edisi 2ndonesia! Andi Pgyakarta! 1::=. A(u##! Penuntun Pemrgraman Java! Andi Pgyakarta! 1::=. 4adir! Abdul. $asar Pemrgraman Java 2. Andi. Pgyakarta! 299>. Liyant! %uprapt! 0engembangan Apli-asi 3ana4emen 'atabase dengan +ava! Penerbit Qava Media! Pgyakarta! 299>. http.--netbeans.rg-kb-d"s-java-Rui"kstart.html 4-12