MODUL 6 ARRAY
Dalam 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. Sebagai contoh, kita memiliki tiga variabel dengan tipe data int yang memiliki identifier berbeda untuk tiap variabel. Int number1; Int number2; Int number3; Number1=1; Number2=2; Number3=3; Dari kode di atas, kita tidak perlu mendeklarasikan variable yang banyak dengan tujuan sama. Oleh karena itu digunakan array yang berfungsi mendeklarasikan
variable
dengan
tipe
data
yang
sama.
Pada
bahas
pemrograman Java maupun di bahasa pemrograman yang lain, terdapat sebuah kemampuan untuk menggunakan satu variabel yang dapat menyimpan beberapa data dan memanipulasinya dengan lebih efektif. Tipe variabel inilah yang disebut sebagai array. Contoh dari array integer sebagai berikut.
Sebuah array akan menyimpan beberapa item data yang memiliki tipe data sama di dalam sebuah blok memori yang berdekatan yang kemudian dibagi menjadi beberapa ruang. Array adalah sebuah variabel/sebuah lokasi tertentu yang memiliki satu nama sebagai identifier, namun identifier ini dapat menyimpan lebih dari sebuah nilai.
A.
TEORI ARRAY 1 DIMENSI Array 1 dimensi pada dasarnya senarai (deretan) variabel bertipe serupa.
Kita lebih dahulu menciptakan variabel array dari tipe yang dikehendaki misalnya int monthDays[]. Meskipun deklarasi telah menetapkan bahwa monthDays adalah
variabel array, namun sesungguhnya tidak ada array yang diciptakan pada saat itu. Nilai dari monthDays adalah nilai null yang merepresentasikan array tanpa nilai dan bukan bernilai nol. Bentuk umum new() untuk array 1 dimensi adalah sebagai berikut: array-var = new() type[size] Dalam
hal
ini,type
menspesifikasikan
tipe
data
yang
dialokasikan,size
menspesifikasikan jumlah dari elemen array, dan array-var adalah variabel array yang dirangkai ke array. Dengan demikian, untuk menggunakan new(), harus menspesifikasikan tipe dan jumlah elemen untuk dialokasikan. Elemen-elemen di array yang dialokasikan oleh new() akan secara otomatis dinisialisasi ke nol.
1.
PELAKSANAAN PRAKTIKUM
Contoh penciptaan untuk array yang berisi jumlah hari maksimum pada tiap bulan: public class Bulan { public static void main(String[] args) { // langkah 1: deklarasi variabel array int monthDays[]; // langkah 2: penciptaan array bilangan int dengan 12 elemen monthDays = new int[12]; monthDays[0] = 31; monthDays[1] = 29; monthDays[2] = 31; monthDays[3] = 30; monthDays[4] = 31; monthDays[5] = 30; monthDays[6] = 31; monthDays[7] = 31; monthDays[8] = 30; monthDays[9] = 31; monthDays[10] = 30; monthDays[11] = 31; System.out.println("Agustus mempunyai "+monthDays[7]+"hari"); } }
Hasil (output) dari contoh listing program di atas adalah Agustus mempunyai 31 hari.
2. LATIHAN 2.1 Tuliskan program di bawah ini import java.util.Scanner; public class Latihan6A { public static void main (String args[]) { Scanner masuk=new Scanner(System.in); float nilai[]=new float[5]; System.out.println("masukkan 5 buah data nilai"); for(int i=0;i<5;i++) { System.out.print("Data ke"+(i+1)+": "); nilai[i]=masuk.nextFloat(); } System.out.println("data nilai yang dimasukkan"); for(int i=0;i<5;i++) System.out.println(nilai[i]); } }
a. Tuliskan outputnya ! b. Coba diganti untuk 10 bilangan ! Bagaimana outputnya ? c. Program di atas digunakan untuk……………..
2.2. Tuliskan program berikut: public class 6B { public static void main(String args[]) { int kuadrat[]; kuadrat = new int[10]; for (int i=0;i<15;i++) { kuadrat[i]=(i+1)*(i+1); System.out.println("Kuadrat "+(i+1)+" = "+kuadrat[i]); } } }
a. Bagaimana outputnya? b. Program di atas untuk menampilkan apa? 3. TUGAS Modifikasi program Latihan 6A diatas untuk menghitung jumlah, rata – rata, serta nilai terbesar dan terkecilnya!
B. TEORI ARRAY MULTIDIENSI Di Java, array multidimensi sesungguhnya array dari array. Untuk mendeklarasikan
variabel
array,
menspesifikasikan
masing-masing
indeks
menggunakan himpunan kurung siku yang lain. Array 2 dimensi bertipe int bernama intArr dideklarasikan dan diciptakan dengan perintah sebagai berikut: int int2DArr[][] = new() int [4][5]; Perintah ini mendeklarasikan dan mengalokasikan array 4 kali 5 dan memberikan ke variabel int2DArr. Secara internal matriks ini diimplementasikan sebagai array dari array bertipe int. Secara konseptual array ini digambarkan sebagai berikut:
Dengan array dua dimensi, maka kita mempunyai elemen yang berindeks tidak hanya satu, tetapi dua. Kita bisa membayangkan array dua dimensi tersebut seperti sebuah tabel yang berisi baris dan kolom. Penyebutan sel tabel selalu diikuti dengan penyebutan baris berapa dan kolom berapa.
1.
PELAKSANAAN PRAKTIKUM
Tuliskan program berikut : public class ArrayDimensiDua { public static void main(String [] args) { int [][] elemen = new int[2][3]; // mengisi elemen tertentu elemen [0][0] = 10; elemen [0][1] = 20; elemen [0][2] = 30; elemen [1][0] = 40; elemen [1][1] = 50; elemen [1][2] = 60; //menampilkan elemen array int i,j; for(i=0;i<2;i++){ for (j=0; j<3;j++) System.out.print(elemen [i][j] +" "); System.out.println(""); } } }
2.
LATIHAN
Tuliskan program untuk menampilkan menampilkan matrik yang elemen – elemenya dimasukkan melalui keyboard :
2.1. latihan 1 import java.util.Scanner; public class ArrayDimensiDua2{ public static void main(String args[]){ Scanner masuk = new Scanner(System.in); int nilai[][]= new int[2][3]; System.out.println("Masukkan data nilai"); for (int i = 0; i < 2; i++)
{ for (int j = 0; j < 3; j++){ System.out.print("("+ (i + 1 )+" , "+ (j+1) +")"+ " : "); nilai[i][j]=masuk.nextInt(); } } System.out.println("Data nilai yang dimasukan"); for (int i = 0; i < 2; i++){ for (int j = 0; j < 3; j++) System.out.print(nilai[i][j]+" "); System.out.println();} } } Lakukan analisa dari program di atas!
2.2 latihan 2 program untuk menjumlahkan matrik : import java.util.Scanner; public class JumlahMatriks{ Scanner masuk = new Scanner(System.in); public void masukData(float data[][]){ for (int i = 0; i < 3; i++){ for (int j = 0; j < 3; j++){ System.out.print( "("+(i + 1 )+" , "+ (j+1)+")" + " : "); data[i][j]=masuk.nextFloat(); } } } public float[][] tambah(float AA[][], float BB[] []){ float hasil[][]= new float[3][3]; for (int i = 0; i < 3; i++) for (int j = 0; j < 3; j++) hasil[i][j] = AA[i][j] + BB[i][j]; return hasil; } public void tampilData(float data[][], char nama){ for (int i=0;i<3;i++){ for (int j=0;j<3;j++) System.out.print(nama+"["+ (i + 1 ) +"] ["+ (j+1) + "] = " + data[i][j]+" "); System.out.println();
} } public static void main(String args[]){ float A[][] = new float[3][3]; float B[][] = new float[3][3]; float C[][] = new float[3][3]; JumlahMatriks jumlah = new JumlahMatriks(); System.out.println("Masukkan data matriks A"); jumlah.masukData(A); System.out.println("Masukkan data matriks B"); jumlah.masukData(B); C = jumlah.tambah(A,B); jumlah.tampilData(C,'C'); } }
3.
TUGAS Buat sebuah program dengan array untuk menyimpan data mahasiswa satu kelas yaitu berupa NPM, nama dan jurusan