Struktur Data M. Haviz Irfani, S.Si
Pada garis besarnya, data dapat kita kategorikan menjadi : Type Data Sederhana atau Data Sederhana yang terdiri atas : - Data sederhana Tunggal, misalnya Integer,real,Boolean serta karakter - Data Sederhana majemuk misalnya String Type data ini,dengan berbagai cara tertentu,dapat diorganisasikan menjadi Struktur Data. Struktur Data M. Haviz Irfani, S.Si
Struktur data meliputi : - Struktur Data Sederhana misalnya Array dan Record - Struktur data Majemuk terdiri atas : Linier misalnya : Stack, Queue,serta linear linked list. - Nonlinier, misalnya pohon Biner (Binary Tree), Pohon Cari Binar (Binary Search Tree), Pohon Cari M-way ( M-way Search Tree), Trie, General Tree serta Graph Struktur Data M. Haviz Irfani, S.Si
KONSEP ARRAY M. Haviz Irfani, S.Si Type indeks=Array[0..8] of byte; {tipe bentukan/buatan} Var Nil:indeks; Array satu dimensi adl kumpulan elemen2x yg tersusun dlm satu baris dan bertipe yang sama. Nil[1]:= 17; Nil[5]:=0; Nil[2]:=21; Nil[6]:=2; Nil[3]:=33;Nil[7]:=16; Nil[4]:=1;Nil[8]:=72; [0][1] [2][3][4][5][6][7][8] Variabel NIL
Procedure Cari(nil:indeks); Begin write(‘cari Data ke :’);readln(urut); writeln(‘data ke ’,urut,’ adalah ’,nil[urut]); {urut = 0.. 8} End; {panggil prosedur di atas dengan CARI(nil); } KONSEP ARRAY M. Haviz Irfani, S.Si
Procedure Tampil(nil:indeks); Begin write(‘dari data indeks ke :’);readln(awal); write(‘sampai data indeks ke :’);readln(akhir); for j:= awal to akhir do writeln(‘data ke ’,j,’ adalah ’,nil[ j ]); { j = awal.. akhir} End; { Panggil prosedur diatas dengan Tampil(nil) ; } KONSEP ARRAY M. Haviz Irfani, S.Si
Type indeks=array[0..3,1..8] of integer; Var nil:indeks; Atau Type indeks=array[0..3] of array[1..8] of integer; Var nil:indeks; KONSEP ARRAY M. Haviz Irfani, S.Si [1] [2][3][4][5][6][7][8] [0] [1] [2] [3] baris kolom
Array dua dimensi adalah kumpulan elemen2x berdasar baris dan kolom tertentu; atau kolom dan baris tertentu yang mempunyai tipe yg sama. Nil[baris,kolom] nil[1,3]:=71;nil[2,7]:=37;nil[3,3]:=8; dst Nil[kolom,baris] nil[7,2]:=37;nil[5,0]:=8;nil[1,3]:=30; dst Warning !! Perhatikan pendeklarasian array, apakah array[baris,kolom] atau array[kolom,baris] KONSEP ARRAY M. Haviz Irfani, S.Si
Procedure Cari(nil:indeks); Begin write(‘Data baris :’);readln(bar); write(‘Data kolom :’);readln(kol); writeln(‘data baris ’,bar,’dan kolom ‘, kol,’ adalah ’,nil[bar,kol]); { baris = dan kol = 1..8 } End; {panggil prosedur di atas dengan CARI(nil); } KONSEP ARRAY M. Haviz Irfani, S.Si
Procedure Tampil(nil:indeks); Begin write(‘data kolom dari indeks ke :’);readln(awal); write(‘sampai kolom indeks ke :’);readln(akhir); write(‘data baris dari indeks ke :’);readln(awal1); write(‘sampai baris indeks ke :’);readln(akhir1); for i:= awal1 to akhir1 do for j:= awal to akhir do writeln(‘nil[ ’,i,’,’,j,’]=’,nil[i, j]); { j = awal.. Akhir, dan i=awal1..akhir1} End; { Panggil prosedur diatas dengan Tampil(nil) ; } KONSEP ARRAY M. Haviz Irfani, S.Si
Contoh pendeklarasian lainnya: Type kegiatan=(main,belajar,nonton,berenang); Hari=(senin,selasa,rabu,kamis,jumat,sabtu); aktivitasAnak=array[hari,kegiatan] of byte; Var A: aktivitasAnak; KONSEP ARRAY M. Haviz Irfani, S.Si
Array tiga dimensi adalah kumpulan elemen2x berdasarkan x,y,z yang memiliki tipe yang sama KONSEP ARRAY M. Haviz Irfani, S.Si [1] [2][3][4][5][6][7][8] [1] [2] [3] [0] [1] [2] [3] x Y Z
Type indeks=array [0..3,1..8,1..3] of string; Var nil:indeks; atau: Type indeks=array[0..3]of array[1..8]of array[1..3]of string; Var nil:indeks; KONSEP ARRAY M. Haviz Irfani, S.Si
Procedure Tampil(nil:indeks); Begin write(‘data X dari indeks ke :’);readln(awal); write(‘sampai X indeks ke :’);readln(akhir); write(‘data Y dari indeks ke :’);readln(awal1); write(‘sampai Y indeks ke :’);readln(akhir1); write(‘data Z dari indeks ke :’);readln(awal2); write(‘sampai Z indeks ke :’);readln(akhir2); for x:= awal to akhir do for y:= awal1 to akhir1 do for z:= awal2 to akhir2 do writeln(‘nil[ ’,x,’,’,y,’,‘,z,’]=’,nil[x, y, z]); { x = awal.. Akhir, y=awal1..akhir1 dan z=awal2..akhir2} End; { Panggil prosedur diatas dengan Tampil(nil) ; } KONSEP ARRAY M. Haviz Irfani, S.Si
Contoh pendeklarasian yang lain; Type kalender =array[1..30] of array[1..12] of array[ ] of string; Var tanggal:kalender; Note: untuk array dimensi tiga ke atas prinsipnya sama dg dimensi sebelumnya. Array[nil1..nil2,nil3..nil4,nil5..nil6, dst] of tipedata KONSEP ARRAY M. Haviz Irfani, S.Si
SELESAI… KONSEP ARRAY M. Haviz Irfani, S.Si