Kamis, 15 Oktober 2009

Tugas Struktur Data1


Array disebut juga larik, merupakan runtun data dengan setiap elemen data menggunakan nama yang sama dan masing-masing elemen data bertipe sama.(RE)
Pengertian yang lebih rinci dari Array adalah tipe data terstruktur yang terdiri dari sejumlah komponen-komponen yang mempunyai tipe sama. Komponen-komponen tersebut disebut sebagai komponen type, larik mempunyai jumlah komponen yang jumlahnya tetap. Banyaknya komponen dalam larik ditunjukkan oleh suatu index, dimana tiap komponen di array dapat diakses dengan menunjukkan nilai indexnya atau subskript. Array dapat bertipe data sederhana seperti byte, word, integer, real, bolean, char, string dan tipe data scalar atau subrange. Tipe larik mengartikan isi dari larik atau komponen- komponenya mempunyai nilai dengan tipe data tersebut.(RE)

- Setiap komponen (elemen) array dapat dibedakan dan diakses melalui nomor indeksnya.

- Struktur array dapat digolongkan menjadi:
>> Array berdimensi satu
>> Array berdimensi dua
>> Array berdimensi banyak

a. Array Satu Dimensi

- Struktur arrai satu dimensi dapat dideklarasikan dengan bentuk umum berupa:
Tipe nama_var [ukuran];
- dengan:
tipe: untuk menyatakan jenis elemen array (misalnya char, int, unsigned).
Ukuran untuk menyatakan jumlah maksimal elemen array.(RE)
- contoh pendeklarasian suatu array lima elemen dengan tipe float adalah sebagai berikut:
float nilai_tes [5];

Mengakses Elemen Array
- Pada bahasa C, data array akan disimpan dalam memori pada lokasi yang berurutan.
- Elemen pertama mempunyai indeks bernilai 0.
- Jika pada contoh variabel nilai_tes mempunyai 5 elemen, maka elemen pertama mempunyai indeks sama dengan 0, elemen kedua mempunyai indeks 1, dan seterusnya.
- Gambar 7.1 memperlihatkan urutan komponen array dalam memori.(RE)
- Bentuk umum pengaksesan suatu elemen variabel array adalah:

Nama_var [indeks];
- Untuk variabel array nilai_tes, Struktur Array
>> Nilai_tes[1] elemen ke-1 dari nilai_tes
>> Nilai_tes[3] elemen ke-3 dari nilai_tes


b. Array Dua Dimensi

Di dalam pascal Array dapat berdimensi lebih dari satu yang disebut dengan array dimensi banyak (Multidimensional array), disini akan dibahas array 2 dimensi saja. Array 2 dimensi dapat mewakili suatu bentuk tabel atau matrik, yaitu indeks pertama menunjukkan baris dan indeks ke dua menunjukkan kolom dari tabel atau matrik.(RE)
1 2
1 2 3
Untuk mengetahui cara mendeklarasikan dari penggunaan aray dua dimensi dapat dilihat pada listing program dibawah ini .(RE)

Contoh Program:
Program Deklarasi_Array_Dua_Dimensi;
Uses Crt;
Var Tabel : Array[1..3,1..2] of Integer;
i,j : Integer;
Begin
ClrScr;
Tabel[1,1]:=1;
Tabel[1,2]:=2;
Tabel[2,1]:=3;
Tabel[2,2]:=4;
Tabel[3,1]:=5;
Tabel[3,2]:=6;
For I := 1 to 3 Do Begin For J:= 1 to 2 Do Begin Writeln('Elemen ',i,',',j,'= ',tabel[i,j]);
End;
End;
Readln;
End.


c. Array Sebagai Parameter atau dimensi banyak

Array dapat digunakan sebagai parameter yang dikirimkan baik secara nilai (by value) atau secara acuan (by reference) ke procedure atau ke function. Procedure yang menggunakan parameter berupa array harus dideklarasikan di dalam judul procedure yang menyebutkan parameternya bertipe array.(RE)

Contoh Program :
Program Contoh_Pengiriman_Parameter_Array_Di_Procedure;
Uses Crt;
Const
Garis ='---------------------------------------------------';
Type
Untai = Array[1..10] of String[15];
Bulat = Array[1..10] of Integer;
Huruf = Array[1..10] of Char;
Var
i,Banyak : Integer;
Procedure Proses(Nama:Untai;Nilai:Bulat);
Var
Ket : String;
Abjad : Char;
Begin
Writeln(Garis);
Writeln('Nama Nilai Abjad Keterangan');
Writeln(Garis);
For i := 1 to Banyak Do
Begin
If Nilai[i] > 90 Then
Begin
Abjad:='A';
Ket :='Istimewa';
End;
If (Nilai[i]<90)>70) Then
Begin
Abjad:='B';
Ket :='Memuaskan';
End;
If (Nilai[i]<70)>60) Then
Begin
Abjad:='C';
Ket :='Cukup';
End;
If (Nilai[i]<60)>45) Then
Begin
Abjad:='D';
Ket :='Kurang';
End;
If Nilai[i]< data ="');Readln(Banyak);" nama ="');readln(Nama[i]);" nilai ="');readln(Nilai[i]);">


Alokasi Penggunaan Array

a. Array Static (Static Array)

array static adalah model pendeklarasian array dimana tipe data yang digunakan mempunyai nilai yang tetap. Nilai yang digunakan untuk menentukan jangkauan pada umumnya bernilai integer. Array Static juga bisa disebut Array dengan deklarasi tipe indeks subrange integer.(RE)



Bentuk Umum

array[indexType1, ..., indexTypen] of baseType

Keterangan = index type menunjukan tipe data ordinal yang menunjukan batasan atau elemen maksimul terhadap seberapa besar variabel tersebut menyimpan komponen.(RE)

Contoh

Var arrayku : array[1..5] of char

Atau juga

type
jangkauan = 1..5;
var
nilai : array[jangkauan] of integer;

contoh lain :

var
pegawai:array [1..4] of nama_record;
A:Byte;

begin
for A:=1 to 4 do

begin
write ('NIP : '); readln (pegawai [A].NIP);
end;
for A:=1 to 4 do
begin
write ('NIP:', pegawai[A].NIP);
end;
readln;

end. (RE)//di semester satu yang dibimbing oleh Bpk. Choirul Umam, S.Kom. Makasih Pak!!!

b. Array Dinamis (Dynamic arrays)

Larik atau array dinamis merupakan array yang tidak mempunyai suatu jangkauan atau ukuran yang tetap. Tetapi ketika program dijalankan maka memori untuk suatu array dinamis direalokasikan ketika kita menugaskan suatu nilai kepada array. Dynamic-Array jenis ditandai oleh konstruksi (menyangkut) format.(RE)

Bentuk Umum

array of baseType

Contoh :

var nilai: array of Real;

Contoh lain array Dinamik (semester satu) :

type
aray_integer:array of integer;

var
panjang,lebar:Array_integer;
A,data:byte;

begin
write ('Jumlah Array :'); readln (data);
setlenght (panjang, data);
setlenght (lebar, data);
for A:=1 to data do

begin
write('Panjang ke',A,','); readln (panjang [A]);
write('lebar ke',A,','); readln (lebar [A]);
writeln (-------------);
end;

a:=0;
for A:=1 to data do

begin
writeln ('Luas ke',A,':',Panjang [A]*lebar[B]);
end;
readln;

end.(RE)

Dari deklarasi tersebut nilai yang merupakan deklarasi array belum memperoleh nilai yang tetap, tetapi hanya diberikan batasan sebagai tipe data real. Untuk mendeklarasikan array tersebut kita harus menempatkan array didalam suatu memori, caranya adalah dengan memanfaatkan fungsi dari perintah sellength.(RE)

Selllength(nilai,20)

Dari penggalan program tersebut nilai untuk array nilai tersebut mempunyai range sebanyak atau cakupan 20 untuk tipe data real, dengan indeex dimulai dari 0 sampai dengan 20.(RE)



Tidak ada komentar: