Pertemuan 5 Array rubah dalam bentuk bah
Pertemuan 5 - Pemrograman Berbasis Obyek
Array
Array adalah
- suatu kumpulan data
- bertipe sama
- menggunakan nama variabel yang sama
- tiap elemen dibedakan melalui indeksnya, by default indeksnya dimulai dari 0 s/d (n-1) dengan
n adalah jumlah elemen array
Pada deklarasi variabel biasa, kita hanya dapat memberikan 1 data pada 1 variabel. Tapi dengan
konsep array, kita dapat memberikan lebih dari 1 data pada 1 variabel.
Deklarasi array
Cara mendeklarasikan suatu array (satu dimensi) adalah sebagai berikut :
tipe_array nama_array[];
tipe_array[] nama_array;
Contoh :
int nilai[];
char[] huruf;
Dalam mendeklarasikan array, blank space tidak berpengaruh terhadap peletakan tanda []. Sebagai
contohnya, deklarasi array di bawah ini juga dibenarkan :
tipe_array nama_array [];
tipe_array [] nama_array;
tipe_array []nama_array;
Membuat array
Pada saat pendeklarasian suatu array, sebagai contoh
int nilai[];
yang terjadi adalah kita hanya memberitahu kepada kompiler Java bahwa kita
mendeklarasikan/mengenalkan sebuah variabel bernama nilai yang berbentuk array dan bertipe int.
Disana kita belum memesan tempat di memori untuk menampung elemen-elemen array. Agar kita
dapat memesan tempat di memori untuk menampung elemen-elemen array, kita perlu membuat array.
Adapun caranya adalah dengan memakai new karena di dalam Java suatu array adalah dianggap suatu
OBYEK. Format penulisannya adalah sebagai berikut :
nama_array = new tipe_array[total_elemen_array];
Contoh :
int nilai[];
nilai = new int[5];
Pada saat baris kedua dieksekusi, kompiler Java akan menyediakan space di memori sebanyak 5
elemen dengan tipe masing-masing adalah int. Identifikasi elemen array sering disebut dengan indeks
array, yang berawal dari 0 sampai total_elemen_array-1.
Mengakses array
Pada saat kita sudah selesai membuat array, kita dapat mengisinya dengan nilai yang tentunya
harus sesuai dengan tipe array-nya. Untuk mengisi array, kita perlu memberitahukan kepada kompiler
Java elemen manakah dari array yang akan kita isi. Format penulisannya sebagai berikut :
nama_array[elemen_array] = nilai;
1
Contoh :
int nilai[];
nilai = new int[2];
nilai[1] = 100;
Di baris ketiga, kita berusaha mengakses elemen array pada indeks ke-1 dan memberinya dengan nilai
100.
Contoh program :
public class Array1 {
public static void main(String args[]) {
int nilai[];
nilai = new int[2];
nilai[0] = 50;
nilai[1] = 100;
System.out.println("Nilai indeks ke-0 = " + nilai[0]);
System.out.println("Nilai indeks ke-1 = " + nilai[1]);
}
}
Hasil eksekusi :
Nilai indeks ke-0 = 50
Nilai indeks ke-1 = 100
Mendeklarasikan dan membuat array
Pada pembahasan sebelumnya kita sudah memahami bagaimana cara mendeklarasikan suatu
array dan kemudian membuatnya. Keduanya kita lakukan pada baris statement yang berbeda. Selain
cara tersebut, kita juga dapat melakukan deklarasi dan pembuatan array hanya pada satu baris
statement. Adapun format penulisannya adalah sebagai berikut :
tipe_array nama_array[] = new tipe_array[total_elemen_array];
Contoh :
int nilai[] = new int[5];
Kalau program Array1 sebelumnya kita mendeklarasikan dan membuat pada baris statement
yang berbeda, kita dapat menuliskannya hanya dengan satu baris statement seperti yang terlihat
dibawah ini :
public class Array2 {
public static void main(String args[]) {
int nilai[] = new int[2];
nilai[0] = 50;
nilai[1] = 100;
System.out.println("Nilai indeks ke-0 = " + nilai[0]);
System.out.println("Nilai indeks ke-1 = " + nilai[1]);
}
}
Inisialisasi array
Inisialisasi array adalah pemberian nilai awal bagi setiap elemen array yang kita buat. Pada
saat kita membuat suatu array dengan sejumlah elemen tertentu, maka kompiler Java akan
memberikan nilai default kepada setiap elemen array selama kita tidak memberikan nilai awal pada
saat pembuatan array.
2
Untuk mudahnya, mari kita lihat program dibawah ini :
int nilai[];
nilai = new int[5];
Pada saat kita membuat array di baris kedua, kita tidak memberikan nilai awal (inisialisasi)
pada elemen array. Pada saat baris kedua selesai dieksekusi, maka kompiler Java akan memberikan
nilai default kepada setiap elemen array. Tentunya nilai default akan bergantung pada tipe array.
Karena disana kita mendeklarasikan array dengan tipe int, maka setiap elemen dari array akan
diberikan nilai 0. Ini bisa kita buktikan dengan program sederhana di bawah ini :
public class InitArray {
public static void main(String args[]) {
int nilai[] = new nilai[5];
System.out.println(“Nilai indeks ke-2 = “ + nilai[2]);
}
}
Maka yang tampil di layar adalah :
Nilai indeks ke-2 = 0
Lalu bagaimana kita dapat langsung menginisialisasi suatu array pada saat mendeklarasikan array
tersebut?. Hal tersebut dapat kita lakukan dengan memakai format penulisan sebagai berikut :
tipe_array nama_array[] = {nilai_indeks_0, nilai_indeks_1, … , nilai_indeks_n};
Contoh :
int nilai[] = {70, 65, 85};
Pada baris program diatas, kita berusaha mendeklarasikan suatu array bernama nilai dan bertipe int,
setelah itu kita langsung membuat elemen array dan langsung menginisialisasi elemen array pada
indeks ke-0 dengan nilai 70, indeks ke-1 dengan nilai 65 dan indeks ke-2 dengan nilai 85.
Dengan demikian, program Array2 dapat juga kita ubah seperti yang terlihat dibawah ini :
public class Array2 {
public static void main(String args[]) {
int nilai[] = {50, 100};
System.out.println("Nilai indeks ke-0 = " + nilai[0]);
System.out.println("Nilai indeks ke-1 = " + nilai[1]);
}
}
Array multi dimensi
Pada pembahasan sebelumnya kita hanya membahas tantang array berdimensi satu (tunggal).
Pada pembahasan kali ini akan dijelaskan bagaimana mendeklarasikan, membuat dan menginisialisasi
suatu array yang mempunyai dimensi lebih dari satu (multi dimensi).
Deklarasi array multi dimensi
Cara mendeklarasikan suatu array multi dimensi tidak jauh berbeda dengan cara
mendeklarasikan array berdimensi tunggal, yaitu cukup dengan menambahkan tanda []. Untuk lebih
jelasnya, berikut berbagai macam contoh dimensi pada array.
int nilai[];
Æ berdimensi 1
char huruf[][];
Æ berdimensi 2
double total[][][];
Æ berdimensi 3
3
String[][] nama;
float[] panjang[];
short[][] tinggi[];
Æ berdimensi 2
Æ berdimensi 2
Æ berdimensi 3
Membuat array multi dimensi
Pembuatan array multi dimensi mempunyai cara yang identik dengan pembuatan array dimensi
tunggal, yaitu dengan menambahkan tanda[]. Berikut beberapa contoh pendeklarasian dan pembuatan
array dengan dimensinya.
Æ berdimensi 2, dengan 3 elemen di dimensi ke-1 dan 4 elemen di dimensi ke-2
int x[][] = new int[3][4];
Æ berdimensi 3, dengan 3 elemen di dimensi ke-1, 4 elemen di dimensi ke-2
dan 2 elemen di dimensi ke-3
double[][][] balok = new double[3][4][2];
Cara diatas adalah pembuatan array multi dimensi yang beraturan, dimana setiap elemen array
di suatu dimensi mempunyai total elemen yang sama untuk dimensi berikutnya. Sebagai contohnya
pembuatan array berikut ini :
int x[][] = new int[3][4];
Pada pembuatan array seperti diatas, setiap elemen array di dimensi ke-1 mempunyai total
elemen sebanyak 4 untuk dimensi ke-2.
Di dalam Java, kita diperkenankan untuk membuat suatu array yang berdimensi tidak
beraturan. Untuk lebih jelasnya, perhatikanlah ilustrasi berikut ini :
(1)
int x[][] = new int[3][];
(2)
x[0] = new int[2];
(3)
x[1] = new int[3];
(4)
x[2] = new int[1];
- Pada baris pertama program diatas kita membuat array berdimensi ganda, dimana total elemen di
dimensi pertama adalah sebanyak 3 elemen, sedangkan banyaknya elemen di dimensi kedua tidak
kita tentukan.
- Di baris keduanya, kita kemudian menentukan total elemen di dimensi ke-2 sebanyak 2 untuk
elemen pertama (indeks ke-0) dari dimensi pertama.
- Di baris ketiga, kita menentukan total elemen di dimensi ke-2 sebanyak 3 untuk elemen kedua
(indeks ke-1) dari dimensi pertama.
- Di baris keempat kita menentukan total elemen di dimensi ke-2 sebanyak 1 untuk elemen ketiga
(indeks ke-2) dari dimensi pertama.
1
2
3
Kolom (dimensi II)
1
2
3
Baris
(dimensi I)
Mengetahui total elemen array
Untuk mengetahui panjang dari suatu array yang telah kita buat, kita dapat memakai properti
length. Adapun format untuk menggunakan length adalah sebagai berikut:
var_array.length
Æ total elemen array pada dimensi 1
var_array[i].length Æ total elemen array pada dimensi 2 untuk indeks ke-i di pada dimensi 1
4
var_array[i][j].length Æ total elemen array pada dimensi 3 untuk indeks ke-i pada dimensi 1
dan indeks ke-j pada dimensi 2 dan seterusnya.
Untuk lebih mudahnya, perhatikan ilustrasi berikut ini :
int x[][] = new int[3][];
x[0] = new int[2];
x[1] = new int[3];
x[2] = new int[1];
x.length Æ 3
x[0].length Æ 2
x[1].length Æ 3
x[2].length Æ 1
Contoh kasus :
Laporan hasil penilaian mahasiswa berbentuk seperti di bawah ini :
Nama Siswa
Amin
Budi
MK1
65
73
MK2
82
79
MK3
75
85
Kita dapat menangkap permasalahan tabel diatas dengan memanfaatkan array dengan 2 dimensi.
Berikut adalah program dari tabel diatas :
public class Array_Multi_Dimensi {
public static void main(String args[]) {
String siswa[] = {"Amin", "Budi"};
int MK[][] = new int[2][3];
int total, avg;
MK[0][0]
MK[0][1]
MK[0][2]
MK[1][0]
MK[1][1]
MK[1][2]
=
=
=
=
=
=
65;
82;
75;
73;
79;
85;
for(int i=0; i
Array
Array adalah
- suatu kumpulan data
- bertipe sama
- menggunakan nama variabel yang sama
- tiap elemen dibedakan melalui indeksnya, by default indeksnya dimulai dari 0 s/d (n-1) dengan
n adalah jumlah elemen array
Pada deklarasi variabel biasa, kita hanya dapat memberikan 1 data pada 1 variabel. Tapi dengan
konsep array, kita dapat memberikan lebih dari 1 data pada 1 variabel.
Deklarasi array
Cara mendeklarasikan suatu array (satu dimensi) adalah sebagai berikut :
tipe_array nama_array[];
tipe_array[] nama_array;
Contoh :
int nilai[];
char[] huruf;
Dalam mendeklarasikan array, blank space tidak berpengaruh terhadap peletakan tanda []. Sebagai
contohnya, deklarasi array di bawah ini juga dibenarkan :
tipe_array nama_array [];
tipe_array [] nama_array;
tipe_array []nama_array;
Membuat array
Pada saat pendeklarasian suatu array, sebagai contoh
int nilai[];
yang terjadi adalah kita hanya memberitahu kepada kompiler Java bahwa kita
mendeklarasikan/mengenalkan sebuah variabel bernama nilai yang berbentuk array dan bertipe int.
Disana kita belum memesan tempat di memori untuk menampung elemen-elemen array. Agar kita
dapat memesan tempat di memori untuk menampung elemen-elemen array, kita perlu membuat array.
Adapun caranya adalah dengan memakai new karena di dalam Java suatu array adalah dianggap suatu
OBYEK. Format penulisannya adalah sebagai berikut :
nama_array = new tipe_array[total_elemen_array];
Contoh :
int nilai[];
nilai = new int[5];
Pada saat baris kedua dieksekusi, kompiler Java akan menyediakan space di memori sebanyak 5
elemen dengan tipe masing-masing adalah int. Identifikasi elemen array sering disebut dengan indeks
array, yang berawal dari 0 sampai total_elemen_array-1.
Mengakses array
Pada saat kita sudah selesai membuat array, kita dapat mengisinya dengan nilai yang tentunya
harus sesuai dengan tipe array-nya. Untuk mengisi array, kita perlu memberitahukan kepada kompiler
Java elemen manakah dari array yang akan kita isi. Format penulisannya sebagai berikut :
nama_array[elemen_array] = nilai;
1
Contoh :
int nilai[];
nilai = new int[2];
nilai[1] = 100;
Di baris ketiga, kita berusaha mengakses elemen array pada indeks ke-1 dan memberinya dengan nilai
100.
Contoh program :
public class Array1 {
public static void main(String args[]) {
int nilai[];
nilai = new int[2];
nilai[0] = 50;
nilai[1] = 100;
System.out.println("Nilai indeks ke-0 = " + nilai[0]);
System.out.println("Nilai indeks ke-1 = " + nilai[1]);
}
}
Hasil eksekusi :
Nilai indeks ke-0 = 50
Nilai indeks ke-1 = 100
Mendeklarasikan dan membuat array
Pada pembahasan sebelumnya kita sudah memahami bagaimana cara mendeklarasikan suatu
array dan kemudian membuatnya. Keduanya kita lakukan pada baris statement yang berbeda. Selain
cara tersebut, kita juga dapat melakukan deklarasi dan pembuatan array hanya pada satu baris
statement. Adapun format penulisannya adalah sebagai berikut :
tipe_array nama_array[] = new tipe_array[total_elemen_array];
Contoh :
int nilai[] = new int[5];
Kalau program Array1 sebelumnya kita mendeklarasikan dan membuat pada baris statement
yang berbeda, kita dapat menuliskannya hanya dengan satu baris statement seperti yang terlihat
dibawah ini :
public class Array2 {
public static void main(String args[]) {
int nilai[] = new int[2];
nilai[0] = 50;
nilai[1] = 100;
System.out.println("Nilai indeks ke-0 = " + nilai[0]);
System.out.println("Nilai indeks ke-1 = " + nilai[1]);
}
}
Inisialisasi array
Inisialisasi array adalah pemberian nilai awal bagi setiap elemen array yang kita buat. Pada
saat kita membuat suatu array dengan sejumlah elemen tertentu, maka kompiler Java akan
memberikan nilai default kepada setiap elemen array selama kita tidak memberikan nilai awal pada
saat pembuatan array.
2
Untuk mudahnya, mari kita lihat program dibawah ini :
int nilai[];
nilai = new int[5];
Pada saat kita membuat array di baris kedua, kita tidak memberikan nilai awal (inisialisasi)
pada elemen array. Pada saat baris kedua selesai dieksekusi, maka kompiler Java akan memberikan
nilai default kepada setiap elemen array. Tentunya nilai default akan bergantung pada tipe array.
Karena disana kita mendeklarasikan array dengan tipe int, maka setiap elemen dari array akan
diberikan nilai 0. Ini bisa kita buktikan dengan program sederhana di bawah ini :
public class InitArray {
public static void main(String args[]) {
int nilai[] = new nilai[5];
System.out.println(“Nilai indeks ke-2 = “ + nilai[2]);
}
}
Maka yang tampil di layar adalah :
Nilai indeks ke-2 = 0
Lalu bagaimana kita dapat langsung menginisialisasi suatu array pada saat mendeklarasikan array
tersebut?. Hal tersebut dapat kita lakukan dengan memakai format penulisan sebagai berikut :
tipe_array nama_array[] = {nilai_indeks_0, nilai_indeks_1, … , nilai_indeks_n};
Contoh :
int nilai[] = {70, 65, 85};
Pada baris program diatas, kita berusaha mendeklarasikan suatu array bernama nilai dan bertipe int,
setelah itu kita langsung membuat elemen array dan langsung menginisialisasi elemen array pada
indeks ke-0 dengan nilai 70, indeks ke-1 dengan nilai 65 dan indeks ke-2 dengan nilai 85.
Dengan demikian, program Array2 dapat juga kita ubah seperti yang terlihat dibawah ini :
public class Array2 {
public static void main(String args[]) {
int nilai[] = {50, 100};
System.out.println("Nilai indeks ke-0 = " + nilai[0]);
System.out.println("Nilai indeks ke-1 = " + nilai[1]);
}
}
Array multi dimensi
Pada pembahasan sebelumnya kita hanya membahas tantang array berdimensi satu (tunggal).
Pada pembahasan kali ini akan dijelaskan bagaimana mendeklarasikan, membuat dan menginisialisasi
suatu array yang mempunyai dimensi lebih dari satu (multi dimensi).
Deklarasi array multi dimensi
Cara mendeklarasikan suatu array multi dimensi tidak jauh berbeda dengan cara
mendeklarasikan array berdimensi tunggal, yaitu cukup dengan menambahkan tanda []. Untuk lebih
jelasnya, berikut berbagai macam contoh dimensi pada array.
int nilai[];
Æ berdimensi 1
char huruf[][];
Æ berdimensi 2
double total[][][];
Æ berdimensi 3
3
String[][] nama;
float[] panjang[];
short[][] tinggi[];
Æ berdimensi 2
Æ berdimensi 2
Æ berdimensi 3
Membuat array multi dimensi
Pembuatan array multi dimensi mempunyai cara yang identik dengan pembuatan array dimensi
tunggal, yaitu dengan menambahkan tanda[]. Berikut beberapa contoh pendeklarasian dan pembuatan
array dengan dimensinya.
Æ berdimensi 2, dengan 3 elemen di dimensi ke-1 dan 4 elemen di dimensi ke-2
int x[][] = new int[3][4];
Æ berdimensi 3, dengan 3 elemen di dimensi ke-1, 4 elemen di dimensi ke-2
dan 2 elemen di dimensi ke-3
double[][][] balok = new double[3][4][2];
Cara diatas adalah pembuatan array multi dimensi yang beraturan, dimana setiap elemen array
di suatu dimensi mempunyai total elemen yang sama untuk dimensi berikutnya. Sebagai contohnya
pembuatan array berikut ini :
int x[][] = new int[3][4];
Pada pembuatan array seperti diatas, setiap elemen array di dimensi ke-1 mempunyai total
elemen sebanyak 4 untuk dimensi ke-2.
Di dalam Java, kita diperkenankan untuk membuat suatu array yang berdimensi tidak
beraturan. Untuk lebih jelasnya, perhatikanlah ilustrasi berikut ini :
(1)
int x[][] = new int[3][];
(2)
x[0] = new int[2];
(3)
x[1] = new int[3];
(4)
x[2] = new int[1];
- Pada baris pertama program diatas kita membuat array berdimensi ganda, dimana total elemen di
dimensi pertama adalah sebanyak 3 elemen, sedangkan banyaknya elemen di dimensi kedua tidak
kita tentukan.
- Di baris keduanya, kita kemudian menentukan total elemen di dimensi ke-2 sebanyak 2 untuk
elemen pertama (indeks ke-0) dari dimensi pertama.
- Di baris ketiga, kita menentukan total elemen di dimensi ke-2 sebanyak 3 untuk elemen kedua
(indeks ke-1) dari dimensi pertama.
- Di baris keempat kita menentukan total elemen di dimensi ke-2 sebanyak 1 untuk elemen ketiga
(indeks ke-2) dari dimensi pertama.
1
2
3
Kolom (dimensi II)
1
2
3
Baris
(dimensi I)
Mengetahui total elemen array
Untuk mengetahui panjang dari suatu array yang telah kita buat, kita dapat memakai properti
length. Adapun format untuk menggunakan length adalah sebagai berikut:
var_array.length
Æ total elemen array pada dimensi 1
var_array[i].length Æ total elemen array pada dimensi 2 untuk indeks ke-i di pada dimensi 1
4
var_array[i][j].length Æ total elemen array pada dimensi 3 untuk indeks ke-i pada dimensi 1
dan indeks ke-j pada dimensi 2 dan seterusnya.
Untuk lebih mudahnya, perhatikan ilustrasi berikut ini :
int x[][] = new int[3][];
x[0] = new int[2];
x[1] = new int[3];
x[2] = new int[1];
x.length Æ 3
x[0].length Æ 2
x[1].length Æ 3
x[2].length Æ 1
Contoh kasus :
Laporan hasil penilaian mahasiswa berbentuk seperti di bawah ini :
Nama Siswa
Amin
Budi
MK1
65
73
MK2
82
79
MK3
75
85
Kita dapat menangkap permasalahan tabel diatas dengan memanfaatkan array dengan 2 dimensi.
Berikut adalah program dari tabel diatas :
public class Array_Multi_Dimensi {
public static void main(String args[]) {
String siswa[] = {"Amin", "Budi"};
int MK[][] = new int[2][3];
int total, avg;
MK[0][0]
MK[0][1]
MK[0][2]
MK[1][0]
MK[1][1]
MK[1][2]
=
=
=
=
=
=
65;
82;
75;
73;
79;
85;
for(int i=0; i