Sabtu, 05 Juni 2010

ARRAY

BAB VI ARRAY

Array adalah sekumpulan variabel yang memiliki tipe data yang sama dan

dinyatakan dengan nama yang sama. Array merupakan konsep yang penting dalam

pemrograman, karena array memungkinkan untuk menyimpan data maupun referensi

objek dalam jumlah banyak dan terindeks. Array menggunakan indeks integer untuk

menentukan urutan elemen-elemennya, dimana elemen pertamanya dimulai dari

indeks 0, elemen kedua memiliki indeks 1, dan seterusnya.

A. Mendeklarasikan Variabel Array

Mendeklarasikan variabel array dengan tipe data yang diinginkan

dengan cara yang hampir sama dengan variabel biasa. Misalnya untuk

mendeklarasikan variabel bertipe integer, dapat dilakukan dengan cara :

int[ ] bilangan; atau int bilangan[ ];

Jadi perbedaan utama pendeklarasian variabel array dengan variabel

biasa adalah adanya tanda kurung [ ] di akhir tipe data atau di akhir nama

variabel array. Pada tahap pendeklarasian variabel array ini belum ada alokasi

memori untuk menyimpan data.

B. Mendefinisikan Array

Setelah mendeklarasikan array, kita perlu mendefinisikan array, dalam

arti menentukan besar array yang diinginkan. Misalnya dengan cara :

Bilangan = new int[5];

Array memiliki ukuran yang tetap dalam arti tidak dapat membesar

atau mengecil ukurannya setelah didefinisikan. Setelah didefinisikan, maka

variabel dengan nama bilangan dapat menyimpan 5 nilai integer yang dapat

diakses melalui indeks 0 sampai indeks 4. Setelah pendefinisian array, maka

memori akan dialokasikan untuk menyimpan data dari array. Besar memori

yang dialokasikan tergantung dari tipe data variabel array dan jumlah elemen

array yang didefinisikan.

Latihan 21. ArrSatu.java

class SingleArray {

public static void main(String[] args) {

int [] x; // Cara 1

x = new int[3];

x[0] = 20 ;

x[1] = 10 ;

x[2] = 30;

System.out.println("Nilai x[0] : " + x[0]);

System.out.println("Nilai x[1] : " + x[1]);

System.out.println("Nilai x[2] : " + x[2]);

int [] y = new int[3]; // Cara 2

y[0] = 20 ;

y[1] = 10 ;

y[2] = 30;

System.out.println("Nilai y[0] : " + y[0]);

System.out.println("Nilai y[1] : " + y[1]);

System.out.println("Nilai y[2] : " + y[2]);

int[] z = {20,10,30}; // Cara 3 tdk menggunakan new

System.out.println("Nilai z[0] : " + z[0]);

System.out.println("Nilai z[1] : " + z[1]);

System.out.println("Nilai z[2] : " + z[2]);

}

C. Array Dua Dimensi

Pada Java juga menyediakan fasilitas untuk membuat array dua

dimensi yang dapat membantu dalam pemrograman apabila arrray satu

dimensi tidak mencukupi dalam menghasilkan suatu solusi. Array dua

dimensi sebenarnya adalah array yang berisi array.

Latihan 22. Arr2D.java

class Array2D {

public static void main(String[] args) {

int[][] arrx; // Cara 1 Array 2 Dimensi

arrx = new int[3][3];

arrx[0][0] = 1;

arrx[0][1] = 2;

arrx[0][2] = 3;

arrx[1][0] = 4;

arrx[1][1] = 5;

arrx[1][2] = 6;

arrx[2][0] = 7;

arrx[2][1] = 8;

arrx[2][2] = 9;

System.out.println("Nilai arrx[0] : " + arrx[0][0]);

System.out.println("Nilai arrx[0] : " + arrx[0][1]);

System.out.println("Nilai arrx[0] : " + arrx[0][2]);

System.out.println("Nilai arrx[1] : " + arrx[1][0]);

System.out.println("Nilai arrx[1] : " + arrx[1][1]);

System.out.println("Nilai arrx[1] : " + arrx[1][2]);

System.out.println("Nilai arrx[2] : " + arrx[2][0]);

System.out.println("Nilai arrx[2] : " + arrx[2][1]);

System.out.println("Nilai arrx[2] : " + arrx[2][2]);

int[][] arry = {{10,20,30},{40,50,60},{70,80,90}} ; // Cara 2 Array 2

Dimensi dgn ukuran 3 * 3 = 9

System.out.println("Nilai arry[0] : " + arry[0][0]);

System.out.println("Nilai arry[0] : " + arry[0][1]);

System.out.println("Nilai arry[0] : " + arry[0][2]);

System.out.println("Nilai arry[1] : " + arry[1][0]);

System.out.println("Nilai arry[1] : " + arry[1][1]);

System.out.println("Nilai arry[1] : " + arry[1][2]);

System.out.println("Nilai arry[2] : " + arry[2][0]);

System.out.println("Nilai arry[2] : " + arry[2][1]);

System.out.println("Nilai arry[2] : " + arry[2][2]);

}

}

D. Array Multidimensi

Selain array satu dimensi dan array dua dimensi, dapat juga membuat

array multidimensi pada Java. Array multidimensi merupakan array yang

terdiri dari array yang tidak terbatas hanya dua dimensi saja. Kita dapat

menggunakan kode berikut untuk mendapatkan array tiga dimensi :

int[][][]array dimensi = new int[5][10][5];

Dan pada array multidimensi, kita dapat menentukan ukuran array

yang berbeda pada tiap array. Misalnya :

int[][][] mdimensi = new int[5][][];

Dari kode diatas, kita mendapatkan array pertama dengan 5 elemen,

tetapi kita belum mendefinisikan ukuran array dimensi kedua dan ketiga.

Latihan 23. ArrMultiD.java

class ArrayMultiD {

public static void main(String[] args) {

int[][][] arr3 = {{{10,20,30},{40,50,60}},

{{11,21,31},{41,51,61}},

{{12,22,32},{42,52,62}}}; // ukuran 3 * 6 = 18

System.out.println("Nilai arr3[0] : " + arr3[0][0][0]);

System.out.println("Nilai arr3[0] : " + arr3[0][0][1]);

System.out.println("Nilai arr3[0] : " + arr3[0][0][2]);

System.out.println("Nilai arr3[0] : " + arr3[0][1][0]);

System.out.println("Nilai arr3[0] : " + arr3[0][1][1]);

System.out.println("Nilai arr3[0] : " + arr3[0][1][2]);

System.out.println("Nilai arr3[1] : " + arr3[1][0][0]);

System.out.println("Nilai arr3[1] : " + arr3[1][0][1]);

System.out.println("Nilai arr3[1] : " + arr3[1][0][2]);

System.out.println("Nilai arr3[1] : " + arr3[1][1][0]);

System.out.println("Nilai arr3[1] : " + arr3[1][1][1]);

System.out.println("Nilai arr3[1] : " + arr3[1][1][2]);

System.out.println("Nilai arr3[2] : " + arr3[2][0][0]);

System.out.println("Nilai arr3[2] : " + arr3[2][0][1]);

System.out.println("Nilai arr3[2] : " + arr3[2][0][2]);

System.out.println("Nilai arr3[2] : " + arr3[2][1][0]);

System.out.println("Nilai arr3[2] : " + arr3[2][1][1]);

System.out.println("Nilai arr3[2] : " + arr3[2][1][2]);

}

}


Contoh lagi :

program RECORD_PROCE;


{$APPTYPE CONSOLE}


uses

SysUtils;

type

REC_BARANG = record

KODE, NAMA: string;

HARGA: Integer;

end;


REC_JUAL = record

NO_JUAL, KODE: string;

JUMLAH, HARGA: Integer;

end;


var BARANG: array of REC_BARANG;

JUAL: array of REC_JUAL;

A, pilih: Integer;

ULANG: string;


function cari_nama_barang(kd: string): string;

var A: Integer;

hasil: string;

begin

for A := 0 to High(barang) do

begin

if kd = barang[A].KODE then hasil := barang[A].nama;

end;

Result := hasil;

end;


function cari_harga_barang(kd: string): integer;

var A: Integer;

begin

for A := 0 to High(barang) do

begin

if kd = barang[A].KODE then Result := barang[A].HARGA;

end;

end;


procedure tampilbarang;

var A: Integer;

begin

Writeln('-------------------------------');

Writeln('DATA BARANG');

Writeln('-------------------------------');

Writeln('Jumlah Record :', length(barang));

for A := 0 to High(barang) do

begin

with BARANG[A] do

begin

Writeln('Kode : ', kode);

Writeln('Nama : ', nama);

Writeln('Harga : ', harga);

end;

end;

Writeln('-------------------------------');

end;


procedure LAPORAN_JUAL;

var A: Integer;

JML, TOTAL: Integer;

begin

Writeln('-------------------------------');

Writeln('LAPORAN PENJUALAN');

Writeln('-------------------------------');

jml := 0;

total := 0;

for A := 0 to High(JUAL) do

begin

with JUAL[A] do

begin

JML := JML + JUMLAH;

TOTAL := TOTAL + (JUMLAH * HARGA);

end;

end;

Writeln('Jumlah Data Penjualan : ', length(JUAL));

Writeln('Jumlah Barang terjual : ', jml);

Writeln('Total Omset : ', total);

Writeln('-------------------------------');

end;


procedure input_barang;

begin

Writeln('-------------------------------');

Writeln('INPUT BARANG');

Writeln('-------------------------------');

ULANG := 'Y';

A := length(barang);

while UpperCase(ULANG) = 'Y' do

begin

SetLength(BARANG, A + 1);

with BARANG[A] do

begin

Write('Kode : '); Readln(kode);

Write('Nama : '); Readln(nama);

Write('Harga : '); Readln(harga);

end;

A := A + 1;

Writeln('-------------------------------');

Write('Ingin masukkan Data BARANG lagi(y/n)?'); Readln(ulang);

Writeln('-------------------------------');

end;

end;


procedure input_jual;

begin

Writeln('-------------------------------');

Writeln('INPUT PENJUALAN');

Writeln('-------------------------------');

ULANG := 'Y';

A := length(jual);

while UpperCase(ULANG) = 'Y' do

begin

SetLength(jual, A + 1);

with jual[A] do

begin

Write('No.Jual : '); Readln(NO_JUAL);

Write('Kode : '); Readln(kode);

Writeln('Nama : ', cari_nama_barang(kode));

Writeln('Nama : ', cari_harga_barang(kode));

HARGA := cari_harga_barang(KODE);

Write('Jumlah : '); Readln(jumlah);

Writeln('SubTotal : ', harga * jumlah);

end;

A := A + 1;

Writeln('-------------------------------');

Write('Ingin masukkan Data PENJUALAN lagi(y/n)?'); Readln(ulang);

Writeln('-------------------------------');

end;

end;


begin

ULANG := 'Y';

while UpperCase(ULANG) = 'Y' do

begin

Writeln('-------------------------------');

Writeln('PROGRAM PENJUALAN SEDERHANA');

Writeln('-------------------------------');

writeln('MENU UTAMA :');

writeln('1. Input Data Barang');

writeln('2. Tampilkan Data Barang :');

writeln('3. Input Jual');

writeln('4. Laporan Jual');

write('Masukkan Pilihan :'); Readln(pilih);

case pilih of

1: input_barang;

2: tampilbarang;

3: input_jual;

4: laporan_jual;

end;

Write('Ingin Pilih MENU lagi(y/n)?'); Readln(ulang);

end;

end.

Tidak ada komentar: