1 ARRAY DAN ARGUMEN BARIS PERINTAH Array adalah obyek yang dapat digunakan untuk menyimpan sejumlah data. Elemen yang disimpan pada array dapat berupa tipe primitif (misalnya int) ataupun instan kelas (obyek). Untuk menciptakan array digunakan langkah berikut : 1. Mendeklarasikan variabel untuk merujuk ke array (selanjutnya disebut variabel array) 2. Menciptakan obyek array dan menugaskannya ke variabel yang dideklarasikan pada langkah pertama Variabel Array KOTA Obyek Array data-1 data-2 Dideklarasikan melalui String KOTA; Dialokasikan melalui KOTA = new String[2]; MENDEKLARASIKAN VARIABEL ARRAY Pendeklarasian variabel array dilakukan dengan bentuk : tipePrimitif NamaVariabelArray[ ]; atau namaKelas NamaVariabelArray[ ]; Misalnya : String[ ] kota; int[ ] nilai; Pernyataan String [ ] kota; dapat ditulis menjadi String kota[ ]; namun bentuk pertama lebih memberikan kejelasan karena yang berupa array bukanlah variabel itu sendiri melainkan yang dirujuknya. MENCIPTAKAN OBYEK ARRAY Penciptaan obyek array dan penugasan obyek ke variabel array dilakukan dengan menggunakan kata kunci new. Bentuk penulisan : namaKelas NamaVariabelArray = new namaKelas[jumlah elemen]; atau tipePrimitif NamaVariabelArray = new tipePrimitif[jumlah elemen]; Misalnya : kota = new String[5]; nilai = new int [3]; Dua pernyataan : String [ ] kota; kota = new String[5] dapat disingkat String [ ] kota = new String[5]; Pemrograman JAVA 2 MENGAKSES ELEMEN ARRAY Elemen array dapat diakses melalui notasi : NamaVariabelArray[subskrip] Subskrip berupa nomor elemen dimana elemen pertama dimulai dari 0 (nol). ARRAY kota[0] kota[1] Kota[2] ELEMEN “Jakarta” “Bandung” “Semarang” SUBSKRIP 0 1 2 Contoh : //berkas : larik1.java public class larik1 { public static void main (String[] args) { String[] kota = new String[5]; //mengisi elemen array kota[0]="Jakarta"; kota[1]="Bandung"; kota[2]="Semarang"; kota[3]="Medan"; kota[4]="Yogyakarta"; //menampilkan elemen array System.out.println("Elemen Array-1 = "+kota[0]); System.out.println("Elemen Array-2 = "+kota[1]); System.out.println("Elemen Array-3 = "+kota[2]); System.out.println("Elemen Array-4 = "+kota[3]); System.out.println("Elemen Array-5 = "+kota[4]); } } Hasil : Elemen Array-1 = Jakarta Elemen Array-2 = Bandung Elemen Array-3 = Semarang Elemen Array-4 = Medan Elemen Array-5 = Yogyakarta Pemberian nilai pada array dapat dilakukan sewaktu obyek array diciptakan, misalnya : String[ ] kota = {“Jakarta”, “Bandung”, “Semarang”, “Medan”, “Yogyakarta”}; Contoh : //berkas : larik2.java public class larik2 { public static void main (String[] args) { String[] kota = {"Jakarta", "Bandung", "Semarang", "Medan", "Yogyakarta"}; System.out.println("Elemen Array-1 = "+kota[0]); System.out.println("Elemen Array-2 = "+kota[1]); System.out.println("Elemen Array-3 = "+kota[2]); System.out.println("Elemen Array-4 = "+kota[3]); Pemrograman JAVA 3 System.out.println("Elemen Array-5 = "+kota[4]); } } Hasil : Elemen Array-1 = Jakarta Elemen Array-2 = Bandung Elemen Array-3 = Semarang Elemen Array-4 = Medan Elemen Array-5 = Yogyakarta Jumlah elemen array dapat diketahui dengan menggunakan variabel instan length milik obyek array, misalnya : kota.length (akan menghasilkan jumlah elemen yang dirujuk oleh kota). Selain itu untuk memasukkan atau menampilkan elemen array dapat menggunakan pernyataan for. Contoh : //berkas : larik3.java public class larik3 { public static void main (String[] args) { String[] hari = {"Senin","Selasa","Rabu","Kamis","Jumat","Sabtu","Minggu"}; for(int i=0; i< hari.length; i++) System.out.println("Hari ke-"+i+" adalah "+hari[i]); System.out.println("Jumlah hari dalam seminggu = "+hari.length+" hari"); } } Hasil : Elemen Array ke-0 adalah Senin Elemen Array ke-1 adalah Selasa Elemen Array ke-2 adalah Rabu Elemen Array ke-3 adalah Kamis Elemen Array ke-4 adalah Jumat Elemen Array ke-5 adalah Sabtu Elemen Array ke-6 adalah Minggu Jumlah hari dalam seminggu = 7 hari ARRAY MULTIDIMENSI Java mendukung array multidimensi melalui pendekatan "array dari array". Misalnya : int [ ] [ ] Nilai = new int [2] [3] ; merupakan implementasi array berdimensi dua dimana terdapat 2 baris dan 3 kolom sebagaimana terlihat pada gambar dibawah ini : subskrip kolom Nilai[0][0] Nilai[0][1] Nilai[0][2] Nilai[1][0] Nilai[1][1] Nilai[1][2] subskrip baris Pemberian nilai pada array dua dimensi dilakukan dengan : nilai [baris ] [kolom ] = data; Pemrograman JAVA 4 Contoh : //berkas : larik4.java public class larik4 { public static void main (String[] args) { int [][] nilai = new int [2][3]; int i,j; nilai[0][0]=1; nilai[0][1]=2; nilai[0][2]=3; nilai[1][0]=4; nilai[1][1]=5; nilai[1][2]=6; for(i=0; i< 2; i++) { for (j=0; j< 3; j++) System.out.print(nilai[i][j]+" "); System.out.println(" "); } } } Hasil : 123 456 Argumen baris perintah pada Java dapat diambil dari variabel array args. Adapun jumlah argumen dapat diperoleh melalui variabel instan pada kelas String yang bernama length. Contoh : //nama file berkas : arraytampil.java public class arraytampil { public static void main(String[] args) { for (int i=0;i< args.length;i++) System.out.println("Kata ke-"+(i+1)+" adalah : "+args[i]); } } Hasil : C:\j2sdk1.4.2_12\bin>java arraytampil Selamat Belajar Java Kata ke-1 adalah : Selamat Kata ke-2 adalah : Belajar Kata ke-3 adalah : Java Deklarasi array dua dimensi dapat dilakukan dengan menggunakan konstruksi seperti contoh berikut : //nama file berkas : arraykota.java public class arraykota { public static void main(String[] args) { Pemrograman JAVA 5 String [][] kota = {{"Indonesia", "Jakarta"}, {"Filipina","Manila"}, {"Jepang","Tokyo"}, {"Iran","Teheran"}, {"Mesir","Kairo"}}; for(int i=0; i<kota.length;i++) System.out.println("Ibukota "+kota[i][0]+" adalah "+kota[i][1]); } } Hasil : Ibukota Indonesia adalah Jakarta Ibukota Filipina adalah Manila Ibukota Jepang adalah Tokyo Ibukota Iran adalah Teheran Ibukota Mesir adalah Kairo Array dapat dikombinasikan dengan menggunakan program input. Contoh : //nama file berkas : inputarray.java import java.io.*; public class inputarray { public static void main(String[] args) throws Exception { double [] x = new double[100]; DataInputStream karakter=new DataInputStream (System.in); System.out.print("Masukkan Jumlah Data : "); String jumlah=karakter.readLine(); int data = Integer.valueOf(jumlah).intValue(); for(int i=0; i< data; i++) { System.out.print("Nilai Ke-"+(i+1)+" = "); String str=karakter.readLine(); double nilai = Double.valueOf(str).doubleValue(); x[i]=nilai; } System.out.println("Tabel Nilai"); System.out.println("============================="); System.out.println("Nilai-X Nilai X*X Nilai 1/X"); System.out.println("============================="); for(int i=0; i< data; i++) { System.out.println(x[i]+" "+(x[i]*x[i])+" "+(1/x[i])); } System.out.println("============================="); } } Pemrograman JAVA 6 Hasil : Masukkan Jumlah Data : 5 Nilai Ke-1 = 1 Nilai Ke-2 = 2 Nilai Ke-3 = 3 Nilai Ke-4 = 4 Nilai Ke-5 = 5 Tabel Nilai ============================= Nilai-X Nilai X*X Nilai 1/X ============================= 1.0 1.0 1.0 2.0 4.0 0.5 3.0 9.0 0.3333333 4.0 16.0 0.25 5.0 25.0 0.2 ============================= TUGAS : 1. Buat program untuk mengurutkan data dengan menggunakan array 2. Buat program array untuk menjumlah dua buah matriks ber-ordo 2x2 3. Buat program array untuk membuat tabel penjualan dengan ketentuan sebagai berikut : INPUT : Masukkan Bulan Penjualan : Masukkan jumlah data : ... Nama Barang ke-... : ... Jumlah : ... Harga Rp. : ... PROSES : Total Beli = Jumlah * Harga Total Barang = total data input Total Penjualan = Total Penjualan + Total Beli OUTPUT : LAPORAN PENJUALAN PT. YAI BULAN : ... ============================================= NO NAMA BARANG JUMLAH HARGA TOTAL ============================================= 1 ? ? ? ? 2 ? ? ? ? 3 ? ? ? ? dst ============================================= TOTAL BARANG : 3 TOTAL PENJUALAN : ... Pemrograman JAVA