Anda di halaman 1dari 8

Pr.

Algoritma dan Pemrograman

JOBSHEET 10
ARRAY (LARIK)
10.1 Tujuan Instruksional Khusus
Pada akhir bagian ini mahasiswa diharapkan mampu untuk :
1. Mendeklarasikan dan membuat array
2. Mengakses elemen-elemen didalam array
3. Menentukan jumlah element didalam sebuah array

10.2 Teori Pendahuluan


Dibagian sebelumnya, kita telah mendiskusikan bagaimana cara pendeklarasian
berbagai macam variabel dengan menggunakan tipe data primitif. Dalam
pendeklarasian variabel, kita sering menggunakan sebuah tipe data beserta nama
variabel atau identifier yang unik, dimana untuk menggunakan variabel tersebut, kita
akan memanggil dengan nama identifier-nya. Sebagai contoh, kita memiliki tiga
variabel dengan tipe data int yang memiliki identifier yang berbeda untuk tiap variabel.

int number1;
int number2;
int number3;
number1 = 1;
number2 = 2;
number3 = 3;

Di Java maupun di bahasa pemrograman yang lain, mereka memiliki kemampuan untuk
menggunakan satu variabel yang dapat menyimpan sebuah data list dan kemudian
memanipulasinya dengan lebih efektif. Tipe variabel inilah yang disebut sebagai array.

Gambar 10.1 Contoh dari interger array

Sebuah array akan menyimpan beberapa item data yang memiliki tipe data sama
didalam sebuah blok memori yang berdekatan yang kemudian dibagai menjadi
beberapa slot. Bayangkanlah array adalah sebuah variabel – sebuah lokasi memori

Jobsheet 10 Halaman 18
Pr. Algoritma dan Pemrograman

tertentu yang memiliki satu nama sebagai identifier, akan tetapi ia dapat menyimpan
lebih dari sebuah value.

10.2.1 Deklarasi Array


Array harus dideklarasikan seperti layaknya sebuah variabel dengan contoh sebagai
berikut:
int[] ages;

atau dapat juga dibuat seperti berikut :


int ages[];

Setelah pendeklarasian dilanjutkan dengan menentukan berapa panjangnya dengan


sebuah konstruktor. Proses ini di Java disebut sebagai instantiation ( Kata dalam Java
yang berarti membuat ). Untuk meng-instantiate sebuah obyek, kita membutuhkan
sebuah konstruktor. Kita akan membicarakan lagi mengenai instantiate obyek dan
pembuatan konstruktor pada bagian selanjutnya. Perlu dicatat, bahwa ukuran dari array
tidak dapat diubah setelah Anda menginisialisasinya. Sebagai contoh,
int[] ages;
ages = new int[100];

atau bisa juga ditulis dengan,

int[] ages = new int[100];

Gambar 10.2 Single dimensi Array

Pada contoh diatas, deklarasi akan memberitahukan kepada compiler Java, bahwa
identifier ages akan digunakan sebagai nama array yang berisi data-data integer, dan
Jobsheet 10 Halaman 19
Pr. Algoritma dan Pemrograman

kemudian untuk membuat atau meng-instantiate sebuah array baru yang terdiri dari
100 elemen. Selain menggunakan sebuah keyword baru untuk meng-instantiate
array, array juga dapat dibuat dengan memberikan sebuah value.
Sebagai contoh,
1. Membuat sebuah array yang berisi variabel-variabel //boolean pada sebuah
identifier. Array ini terdiri dari 4 elemen yang diinisilisasikan sebagai value
{true,false,true,false}
boolean results[] ={ true, false, true, false };
2. Membuat sebuah array yang terdiri dari penginisialisasian 4 variabel double bagi
value {100,90,80,75}
double []grades = {100, 90, 80, 75};
3. Membuat sebuah array String dengan identifier days. Array ini terdiri dari 7
elemen.
String days[] = { “Mon”, “Tue”, “Wed”, “Thu”, “Fri”, “Sat”, “Sun”};

10.2.2 Pengaksesan Sebuah Elemen Array


Untuk mengakses sebuah elemen dalam array, atau mengakses sebagian dari array,
harus menggunakan sebuah nomor index atau subscript. Sebuah nomor index atau
subscript telah diberikan kepada tiap anggota array, sehingga program dan programmer
dapat mengakses setiap value apabila dibutuhkan. Index selalu dalam integer. Dimulai
dari nol, kemudian akan terus bertambah sampai list value dari array tersebut
berakhir. Perlu dicatat, bahwa elemen-elemen didalam array dimulai dari 0 sampai
dengan (ukuranArray-1).
Sebagai contoh, pada array yang kita deklarasikan tadi, kita mempunyai,
1. Memberikan nilai 10 kepada elemen pertama array
ages[0] = 10;
2. Mencetak elemen array yang terakhir
System.out.print(ages[99]);
Perlu diperhatikan bahwa sekali array dideklarasikan dan dikonstruksi, nilai yang
disimpan dalam setiap anggota array akan diinisialisasi sebagai nol. Oleh karena itu,
apabila menggunakan tipe data reference seperti String, tidak akan diinisalisasi ke string
kosong “”. Berikut ini adalah contoh, bagaimana untuk mencetak seluruh elemen

Jobsheet 10 Halaman 20
Pr. Algoritma dan Pemrograman

didalam array. Dalam contoh ini digunakanlah loop, sehingga kode kita menjadi lebih
pendek.
public class ArraySample
{
public static void main( String[] args )
{
int[] ages = new int[100];
for( int i=0; i<100; i++ )
{
System.out.print( ages[i] );
}
}
}

Untuk mengetahui berapa banyak element didalam sebuah array, dapat digunakan
length (panjang) field dalam array. Panjang field dalam array akan mengembalikan
ukuran dari array itu sendiri. Sebagai contoh,
arrayName.length

Contoh program yang menggunakan length.

public class ArraySample


{
public static void main( String[] args )
{
int[] ages = new int[100];
for( int i=0; i<ages.length; i++ )
{
System.out.print( ages[i] );
}
} }

10.2.3 Array Multidimensi


Array multidimensi diimplementasikan sebagai array didalam array. Array
multidimensi dideklarasikan dengan menambahkan jumlah tanda kurung setelah nama
array. Sebagai contoh,
1. Elemen 512 x 128 dari integer array
int[][] twoD = new int[512][128];

2. Karakter array 8 x 16 x 24
char[][][] threeD = new char[8][16][24];

3. String array 4 baris x 2 kolom

Jobsheet 10 Halaman 21
Pr. Algoritma dan Pemrograman

String[][] dogs = {{ "terry", "brown" },


{ "Kristin", "white" },
{ "toby", "gray"},
{ "fido", "black"}
};
Untuk mengakses sebuah elemen didalam array multidimensi, sama saja dengan
mengakses array satu dimensi. Misalnya saja, untuk mengakses element pertama dari
baris pertama didalam array dogs, kita akan menulis,
System.out.print( dogs[0][0] );
Kode diatas akan mencetak String “terry” di layar.

10.3 Peralatan dan Bahan


1. Komputer dengan konfigurasi minimal
a. Prosesor P-II atau yang lebih tinggi
b. RAM minimal 32 MB
c. Free space hardisk minimal 200 MB
d. Windows 98)
2. Software J2SE dan JCreator

10.4 Langkah Kerja


1. Buat program dibawah ini dengan nama Prog101,java
public class Prog101
{
public static void main(String[] args)
{
int i;
int[] dataku=new int[5];
for(i=0; i<dataku.length; i++)
{
dataku[i] = (int) (Math.random()*100);
System.out.println("Isi dataku [" +(i+1) +"] =" +dataku[i]);
} } }
2. Buat program dibawah ini dengan nama Prog102,java

public class Prog102


{
public static void main(String[] args)
{
int[][] Mahasiswa = {{80,60,90},
{30,40,50}} ;

Jobsheet 10 Halaman 22
Pr. Algoritma dan Pemrograman

}
double rerata1, rerata2;
System.out.println("Nilai tugas 1 = "+Mahasiswa[0][0]);
System.out.println("Nilai tugas 2 = "+Mahasiswa[0][1]);
System.out.println("Nilai ujian = "+Mahasiswa[0][2]);
rerata1 = 0.25*Mahasiswa[0][0] + 0.25*Mahasiswa[0][1] + 0.5*Mahasiswa[0]
[2] ;
System.out.println("Nilai rata-rata mahasiswa 1 = "+rerata1);
System.out.println("Nilai tugas 1 = "+Mahasiswa[1][0]);
System.out.println("Nilai tugas 2 = "+Mahasiswa[1][1]);
System.out.println("Nilai ujian = "+Mahasiswa[1][2]);
rerata2 = 0.25*Mahasiswa[1][0] + 0.25*Mahasiswa[1][1] +
0.5*Mahasiswa[1][2] ;
System.out.println("Nilai rata-rata mahasiswa 2 = "+rerata2);
} }

3. Buat program dibawah ini dengan nama Prog103,java


public class Prog103
{ public static void main(String[] args)
int[][] dataku = {{43,62,70},
{33,37,20},
{89,77,66},
{10,20,40}};
for(int i=0; i<4; i++)
{ for(int j=0; j<3; j++)
{
System.out.print(dataku[i][j]);
}
System.out.print("\n");
} } }

4. Buat program sortir dibawah ini dengan nama Prog104,java


public class Prog104
{ public static void main(String[] args)
{ int[] dataku = new int[5];

for(int i=0; i<dataku.length; i++)


dataku[i] = (int) (Math.random()*100);

System.out.println("Data mula-mula: ");


for(int i=0; i<dataku.length; i++)
Jobsheet 10 Halaman 23
Pr. Algoritma dan Pemrograman

System.out.println("\tIsi dataku[i+1] --> "+dataku[i]);

//Proses sortir
for(int i=dataku.length-1; i>0; i--)
{
for(int kiri=0; kiri<i; kiri++)
{ int kanan=kiri+1;
if (dataku[kiri] > dataku[kanan])
{
int bantu = dataku[kiri];
dataku[kiri] = dataku[kanan];
dataku[kanan] = bantu;
}
}
}
// Data setelah diurutkan
System.out.println("\nSetelah sortir : ");
for (int i=0; i<dataku.length; i++)
System.out.println("\tIsi dataku["+i+"] --> "+dataku[i]);
}}

5. Buat program pencarian data dibawah ini dengan nama Prog105.java


import javax.swing.JOptionPane;
public class Prog105
{
public static void main(String[] args)
{
int[] dataku= new int[10];
int cari;

System.out.print("Isi Database : ");


for(int i=0; i<dataku.length; i++)
{
dataku[i] = (int) (Math.random()*100);
System.out.print(dataku[i] +" ");
}
String str = JOptionPane.showInputDialog("Masukkan data yang akan dicari : ");
cari = Integer.parseInt(str);
System.out.println("\n");
for (int i=0; i<dataku.length; i++)
{
if (cari==dataku[i])
{
System.out.println("Data "+cari+ "ditemukan pada posisi "+(i+1));
break;
} } } }

10.5 Lembar Kerja


Jobsheet 10 Halaman 24
Pr. Algoritma dan Pemrograman

No Nama File Hasil KEluaran

10.6 Pertanyaan dan Tugas


Jelaskanlah cara kerja dari sortir pada langkah kerja nomor 4 file Prog104.java

Jobsheet 10 Halaman 25

Anda mungkin juga menyukai