Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Struktur Data M. Haviz Irfani, S.Si. Pada garis besarnya, data dapat kita kategorikan menjadi : Type Data Sederhana atau Data Sederhana yang terdiri atas.

Presentasi serupa


Presentasi berjudul: "Struktur Data M. Haviz Irfani, S.Si. Pada garis besarnya, data dapat kita kategorikan menjadi : Type Data Sederhana atau Data Sederhana yang terdiri atas."— Transcript presentasi:

1 Struktur Data M. Haviz Irfani, S.Si

2 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

3 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

4 KONSEP ARRAY M. Haviz Irfani, S.Si 172133148021672 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

5 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

6 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

7 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 11462285813 33071173414542 54321101443727 30158219291612 [1] [2][3][4][5][6][7][8] [0] [1] [2] [3] baris kolom

8 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

9 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 = 0.. 3 dan kol = 1..8 } End; {panggil prosedur di atas dengan CARI(nil); } KONSEP ARRAY M. Haviz Irfani, S.Si

10 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

11 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

12 Array tiga dimensi adalah kumpulan elemen2x berdasarkan x,y,z yang memiliki tipe yang sama. 221291311448155 33071173414570 54321101443715 30158219291633 KONSEP ARRAY M. Haviz Irfani, S.Si 3172510041577 33071173414562 54321101443734 301582192916 11462285813 33071173414542 54321101443727 30158219291612 [1] [2][3][4][5][6][7][8] [1] [2] [3] [0] [1] [2] [3] x Y Z

13 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

14 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

15 Contoh pendeklarasian yang lain; Type kalender =array[1..30] of array[1..12] of array[1999..2005] 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

16 KONSEP RECORD M. Haviz Irfani, S.Si No.NamaAlamat Jenis Kelamin 1ReynaldyJl. Dadur Lokek I No.05 NTTL 2NunungJl. Mangholok II No.33 NTBP 3ArwanaJl. Rangkunyak No.4A SulselL 4SarinemJl. Serungtuk no. 55Z NTTP Misalkan diberikan tabel data penduduk ter-aniaya sebagai berikut: Data disimpan dalam satu variabel yaitu PENDUDUK

17 Variabel Penduduk mempunyai field: nama, alamat, dan jeniskel. Ditulis dlm pascal : Penduduk.nama Penduduk.alamat Penduduk.jeniskel Contoh: penduduk.nama:=‘nunung’; penduduk.alamat:=‘Jl.Mangholok II no.33 NTB’ penduduk.jeniskel:=‘P’; M. Haviz Irfani, S.Si KONSEP RECORD

18 M. Haviz Irfani, S.Si Dalam tabel ada 3 field dan 4 record, kolom no. tidak dimasukkan: Dalam pascal : penduduk.nama[1]:=‘Reynaldy’; penduduk.nama[2]:=‘Nunung’; penduduk.nama[3]:=‘Arwana’; penduduk.nama[4]:=‘Sarinem’; Penduduk.alamat[1] :=‘ Jl. Dadur Lokek I No.05 NTT ’; Penduduk.alamat[2] :=‘ Jl. Mangholok II No.33 NTB ’; Penduduk.alamat[3] :=‘ Jl. Rangkunyak No.4A Sulsel ’; Penduduk.alamat[4] :=‘ Jl. Serungtuk no. 55Z NTT ’; Penduduk.jeniskel[1]:=‘L’; Penduduk.jeniskel[2]:=‘P’; Penduduk.jeniskel[3]:=‘L’; Penduduk.jeniskel[4]:=‘P’;

19 Bagaimana pendeklarasiannya ??? Type ORANG= record nama :array[1..4] of string; alamat :array[1..4] of string; jeniskel :array[1..4] of char; end; {akhir record} Var Penduduk : orang; KONSEP RECORD M. Haviz Irfani, S.Si

20 Sintak : Type namatipe = Record field1 : tipedata1; field2 : tipedata2; : : : fieldN : tipedataN; End; KONSEP RECORD M. Haviz Irfani, S.Si

21 Program Recordku1; uses crt; Type orang= record nama:array[1..4] of string; alamat :array[1..4] of string; jeniskel:array[1..4] of char; end; Var penduduk:orang; i:byte; KONSEP RECORD M. Haviz Irfani, S.Si begin clrscr; for i:= 1 to 4 do begin with penduduk do begin writeln('data ke - ',i,'*** :'); write('nama : ');readln(nama[i]); write('alamat : ');readln(alamat[i]); write('jenis kelamin : ');readln(jeniskel[i]); end; readkey; end.

22 program recordku2; uses crt; type orang= record nama:string; alamat :string; jeniskel:char; end; var penduduk:array[1..4]of orang; i:byte; KONSEP RECORD M. Haviz Irfani, S.Si begin clrscr; for i:= 1 to 4 do begin with penduduk[i] do begin writeln('data ke - ',i,'*** :'); write('nama : ');readln(nama); write('alamat : ');readln(alamat); write('jenis kelamin :');readln(jeniskel); end; readkey; end.

23 Procedure Cari(penduduk:orang); Begin write(‘Masukkan indeks data :’);readln(ind); writeln(‘data ke - ’,ind); with penduduk[ind] do begin writeln(‘Nama = ’,nama); writeln(‘Nim = ’,Nim); writeln(‘Nilai = ’,Nilai); end; End; {panggil prosedur di atas dengan CARI(penduduk); } KONSEP RECORD M. Haviz Irfani, S.Si

24 Procedure Tampil(penduduk:orang); Begin write(‘data kolom dari indeks ke :’);readln(awal); write(‘sampai kolom indeks ke :’);readln(akhir); writeln(‘╔═══╦══════╦═════╦═════┐’); writeln(‘│ No. │ Nama │ Nim │ Nilai │ ’) writeln(‘├───┼──────┼─────┼─────┤’) ; for i:= awal1 to akhir1 do begin with penduduk[i] do begin gotoxy(2,4+i);writeln(‘│ ’,i); gotoxy(6,4+i);writeln(‘ │ ’,Nama); gotoxy(15,4+i);writeln(‘ │ ’,Nim); gotoxy(22,4+i);writeln(‘ │ ’,Nilai,’ │ ’); end;{end with..do} end;{endfor} writeln(‘└──┴─────┴──────┴─────┘’) End; {Panggil prosedur diatas dengan Tampil(penduduk) ; } KONSEP RECORD M. Haviz Irfani, S.Si

25 SELESAI… KONSEP ARRAY M. Haviz Irfani, S.Si


Download ppt "Struktur Data M. Haviz Irfani, S.Si. Pada garis besarnya, data dapat kita kategorikan menjadi : Type Data Sederhana atau Data Sederhana yang terdiri atas."

Presentasi serupa


Iklan oleh Google