STRUKTUR DATA
Single Linked List
Single Linked ListMerupakan struktur data dinamis yang terdiri dari kumpulan komponen yang disusun secara berurutan dengan menggunakan bantuan pointer. Komponen-komponen tersebut disebut sebagai simpul (node).Tiap simpul dapat dibagi menjadi dua bagian yaitu medan informasi/data yang akan diolah dan medan penyambung (link field) yang berisi alamat simpul berikutnya.Contoh deklarasiTypePoint = ^RecPoint ;RecPoint = RecordNama : string[20] ;Next : Point ;End ;VarHead, Tail, Now : Point ;
Suatu list harus mempunyai ujung awal (head) dan ujung akhir (tail). Untuk menandai akhir dari suatu list maka diberikan kata cadang NIL pada pointer node terakhir, yang berarti pointer tidak menunjuk kemanapun.
Metode Pembuatan Single Linked List ada dua yaitu secara LIFO (Last In First Out) dan FIFO (First In First Out).
Dengan metode LIFO maka maka node yang pertama dimasukkan akan menjadi node yang terakhir dikeluarkan, atau dengan kata lain terjadi penambahan node diawal list. Adapun prosedur yang digunakan adalah sebagai berikut:
Procedure INSERT(elemen:TipeData) ;Var Now : Point ;BeginNew(Now) ;Now^.Isi := elemen ;If Head = Nil thenNow^.Next := Nil ;ElseNow^.Next := Head ;Head := Now ;End ;untuk download klik
List lifo.ppt
Diposting oleh Harjono di 19:21 0 komentar Label: Struktur Data Jumat, 2008 April 18Pointer & Variabel Dinamis
Pada tipe data sederhana dan terstruktur seperti array dan record yang yang kita kenal sebelumnya mempunyai sifat statis dimana:-Ukuran & urutan pasti-Memori tidak dapat dihapus saat program dijalankan (walaupun variabel sudah tidak digunakan)-Memori data maksimal 64 KByte.Apabila kita tidak ingin dibatasi oleh hal-hal tersebut di atas, maka dapat kita gunakan tipe data yang bersifat dinamis:- Ukuran dan urutan Sesuai kebutuhan- Alokasi memori dapat diatur sesuai kebutuhan (variabel akan dialokasikan saat dibutuhkan, tidak butuh akan didealokasikan- Dapat > 64 KByte.Variabel dinamis adalah variabel yang dialokasikan hanya pada saat program dijalankan. Pada saat dikompilasi, lokasi variabel ini belum ditentukan, kompiler hanya mencatat bahwa ada variabel yang akan diperlakukan secara dinamis.Nilai variabel adalah alamat lokasi yang menyimpan data sesungguhnya. (Pada variabel statis, berisi data sesungguhnya ). Karena variable ini menunjuk ke suatu lokasi maka disebut dengan variable pointer. Variabel Pointer dapat dideklarasikan dg tipe data pointer. Tipe data pointer dideklarasikan dg simbol pointer (^) disebut carat/circumflex
Program Contoh1;TypeTipeString = String[15] ;PenunjukString = ^TipeString ;VarNama : PenunjukString ;BeginNama^ := ‘STRUKTUR DATA’ ;Writeln(Nama^) ;End .
Keterangan:Variabel Nama adalah variabel pointer dengan tipe PenunjukString, sedang PenunjukString adl tipe data pointer yg Menunjukkan letak dari suatu nilai String[15].Nama^ menunjukkan isi dari memori yang alamatnya ditunjukkan oleh variabel pointer Nama.
Variabel Dinamik dibuat dan dialokasikan dg procedur New(nama_variabel)
Program Contoh2;TypeDataSiswa = ^CatatSiswa ;CatatSiswa = RecordNama : String[15] ;No : byte ;Alamat : String [25] ;End ;VarSiswa : DataSiswa ;BeginNew(Siswa) ;with Siswa^ dobeginNama := ‘Simanjuntak’;No := 12Alamat := ‘Jl. Jakarta 23’;end;End.
Keterangan:? Siswa : variabel pointer? Dengan prosedur standar New(Siswa) maka variabel dinamik sudah diletakkan di dalam heap memory.? Siswa^ : variabel dinamik, menunjukkan isi variabel di alamat yang ditunjukkan variabel pointer.? Variabel dinamik Siswa^ mempunyai tipe record terdiri dr 3 field, yaitu field Nama, No dan Alamat.? Variabel dinamik Siswa^.Nama menunjukkan nilai dari field Nama.? Untuk mendealokasikan memori digunakan procedure standar Dispose(nama_variabel)
Diposting oleh Harjono di 19:49 0 komentar Label: Struktur Data Kamis, 2008 April 17Record
Record adalah kumpulan elemen-elemen dalam pascal dimana setiap elemen dapat memiliki tipe data yang saling berbeda. Cara mengakses record mirip dengan cara mengakses array, perbedaannya adalah jika pada array untuk mengakses dengan cara menyebut nama array disertai dengan nomor indeks, maka pada record adalah dengan menyebut nama record disertai dengan nama field (elemen) yang akan diakses.Bentuk Umum :Type namarec = recordVar1 : tipe;Var2 : tipe;Varn : tipe;End;Var nama_var : namarec;Keterangan : namarec : nama record.var1,var2,varn : nama variable pada typenama_var : nama variable untuk tipe namarec.tipe : tipe data. Bentuk umum pemanggilan record :Cara pertamanama_var.var1 := . . . .nama_var.var2 := . . . .nama_var.varn := . . . .
Cara kedua With nama_var doBeginvar1 := . . . .var2 := . . . .varn := . . . .End;
ContohType data = recordNo : integer;Nama : string;End;Var datamhs : data;BeginWith datamhs doBeginNo := 109;Nama := ‘Rahmat';
Writeln (‘Nomor : ‘,no);Writeln (‘Nama : ‘,nama);End;End.
Diposting oleh Harjono di 19:14 0 komentar Label: Struktur Data Array
Array (Larik)Tipe terstruktur yang mempunyai komponen dalam jumlah yang tetap dan setiap komponen mempunyai tipe data yang sama.Posisi masing-masing dalam larik dinyatakan sebagai index.Bentuk umum:
Type NamaArray = array[indexArray] of tipeData;
Cara Pendefinisian Array:
Sebagai Peubah (variable)Contoh :
Var L : array[1..50] of integer;
Sebagai tipe baruContoh :
type LarikInt = array[1..100] of integer;
var P : LarikInt;
Mendefinisikan ukuran maksimum elemen larik sebagai konstantaContoh :
Const Nmin = 1;
Nmaks = 100;
Type Larikint : array[Nmin..Nmaks] of integer;
VarP : LarikInt;
Mendeklarasikan sebuah tipe data berupa subrange bilangan untuk kemudian dipakai sebagai index dari array.type Tinggi = 1..100;
TinggiMeja = array [Tinggi] of byte;
Mendeklarasikan sebuah tipe data enumerasi untuk kemudian dipakai sebagai Index Array.Contoh:
type Hari=(Senin,Selasa,Rabu,Kamis,Jumat,Sabtu);
PendapatanHarian = array[Hari] of real;
Cara Mengacu elemen arrayElemen larik diacu melalui indeksnya, nilai indek harus terdefinisi.
L[4]; {mengacu elemen keempat dari larik L } NamaMhs[2];{mengacu elemen kedua dari larik NamaMhs} P[k]; {mengacu elemen ke-k dari larik P, asalkan nilai k sudah terdefinisi }Program Contoh;
Program pertama;Uses Crt;TypeKalimat = Array[1..3] of string;Vari : byte;Kal : Kalimat;BeginClrscr;For i:= 1 to 3 doBeginWrite(‘masukkan Kata ke- ‘,i,’: ‘);Readln(Kal[i]);End;For i:= 1 to 3 doWriteln (Kal[i]);End.
Untuk download artikel ini klik Array.ppt
Diposting oleh Harjono di 01:13 0 komentar Label: Struktur Data Kamis, 2008 April 10Data Type
Secara garis besar type data dapat dikategorikan menjadi :1. Type data sederhanaa. Type data sederhana tunggal,misalnya : Integer, real, boolean dan karakterb. Type data sederhana majemuk, misalnya String2. Struktur Data, meliputia. Struktur data sederhana, misalnya array dan recordb. Struktur data majemuk, misalnya: Stack, Queue, List, Tree
Tipe data integer adalah tipe data yang nilainya merupakan bilangan bulat.
Shortint : -128 s/d 127 (1 byte)Integer : -3.2768 s/d 32767 (2 byte)Longint : -2.147.483.648 s/d 2.147.483.647 (4 byte)Byte : 0 s/d 255 (1 byte)Word : 0 s/d 65.535 (2 byte) Tipe real / floating point biasa digunakan untuk merepresentasikan nilai pecahan
Real ±2,9x10-39 s/d 1,7x1038 (6 byte)Single ±1,5x10-45 s/d 3,4x1038 (4 byte)Double ±5,0x10-324 s/d 1,7x10308 (8 byte)Extended ± 5,0x10-4951 s/d 1,1x104923 (10 byte)Comp -9,2x1018 s/d 9,2x1018 (8 byte) Tipe char adalah tipe yang berisi sebuah karakter saja dan mengalokasikan satu byte memori. Dalam hal ini dapat berupa karakter apa saja. (lihat karakter ASCII).
Tipe string merupakan pengembangan dari tipe char. Suatu string dapat berupa sederetan karakter sebanyak 256 (default).Bentuk umum:NamaVariabel : String ;Contoh:Var Kalimat : string ;Nama : string[25] ;
Tipe Enumerasi: Tipe yang dapat dibuat sendiri. Tipe ini biasa digunakan pada variable yang nilai kemungkinannya terbatas (tidak begitu banyak). Namanya dinyatakan dengan nama-nama pengenal sehingga diharapkan akan lebih memberikan kejelasan, dari pada kalau menggunakan kode seperti 0,1,2, dan seterusnya.
Tipe Subjangkauan: Menyatakan suatu jangkauan nilai dari suatu tipe yang sudah ada. Jangkauan nilai ditentukan oleh nilai terkecil dan nilai terbesar. Antara nilai terkecil dan terbesar dipisahkan tanda subjangkauan ( .. ).
Contoh:TypeNilaiBulan = 1..12;HurufKapital = ‘A’..’Z’;
Untuk Download artikel ini klik Tipe data.ppt
Diposting oleh Harjono di 19:24 0 komentar Label: Struktur Data
Single Linked ListMerupakan struktur data dinamis yang terdiri dari kumpulan komponen yang disusun secara berurutan dengan menggunakan bantuan pointer. Komponen-komponen tersebut disebut sebagai simpul (node).Tiap simpul dapat dibagi menjadi dua bagian yaitu medan informasi/data yang akan diolah dan medan penyambung (link field) yang berisi alamat simpul berikutnya.Contoh deklarasiTypePoint = ^RecPoint ;RecPoint = RecordNama : string[20] ;Next : Point ;End ;VarHead, Tail, Now : Point ;
Suatu list harus mempunyai ujung awal (head) dan ujung akhir (tail). Untuk menandai akhir dari suatu list maka diberikan kata cadang NIL pada pointer node terakhir, yang berarti pointer tidak menunjuk kemanapun.
Metode Pembuatan Single Linked List ada dua yaitu secara LIFO (Last In First Out) dan FIFO (First In First Out).
Dengan metode LIFO maka maka node yang pertama dimasukkan akan menjadi node yang terakhir dikeluarkan, atau dengan kata lain terjadi penambahan node diawal list. Adapun prosedur yang digunakan adalah sebagai berikut:
Procedure INSERT(elemen:TipeData) ;Var Now : Point ;BeginNew(Now) ;Now^.Isi := elemen ;If Head = Nil thenNow^.Next := Nil ;ElseNow^.Next := Head ;Head := Now ;End ;untuk download klik
List lifo.ppt
Diposting oleh Harjono di 19:21 0 komentar Label: Struktur Data Jumat, 2008 April 18Pointer & Variabel Dinamis
Pada tipe data sederhana dan terstruktur seperti array dan record yang yang kita kenal sebelumnya mempunyai sifat statis dimana:-Ukuran & urutan pasti-Memori tidak dapat dihapus saat program dijalankan (walaupun variabel sudah tidak digunakan)-Memori data maksimal 64 KByte.Apabila kita tidak ingin dibatasi oleh hal-hal tersebut di atas, maka dapat kita gunakan tipe data yang bersifat dinamis:- Ukuran dan urutan Sesuai kebutuhan- Alokasi memori dapat diatur sesuai kebutuhan (variabel akan dialokasikan saat dibutuhkan, tidak butuh akan didealokasikan- Dapat > 64 KByte.Variabel dinamis adalah variabel yang dialokasikan hanya pada saat program dijalankan. Pada saat dikompilasi, lokasi variabel ini belum ditentukan, kompiler hanya mencatat bahwa ada variabel yang akan diperlakukan secara dinamis.Nilai variabel adalah alamat lokasi yang menyimpan data sesungguhnya. (Pada variabel statis, berisi data sesungguhnya ). Karena variable ini menunjuk ke suatu lokasi maka disebut dengan variable pointer. Variabel Pointer dapat dideklarasikan dg tipe data pointer. Tipe data pointer dideklarasikan dg simbol pointer (^) disebut carat/circumflex
Program Contoh1;TypeTipeString = String[15] ;PenunjukString = ^TipeString ;VarNama : PenunjukString ;BeginNama^ := ‘STRUKTUR DATA’ ;Writeln(Nama^) ;End .
Keterangan:Variabel Nama adalah variabel pointer dengan tipe PenunjukString, sedang PenunjukString adl tipe data pointer yg Menunjukkan letak dari suatu nilai String[15].Nama^ menunjukkan isi dari memori yang alamatnya ditunjukkan oleh variabel pointer Nama.
Variabel Dinamik dibuat dan dialokasikan dg procedur New(nama_variabel)
Program Contoh2;TypeDataSiswa = ^CatatSiswa ;CatatSiswa = RecordNama : String[15] ;No : byte ;Alamat : String [25] ;End ;VarSiswa : DataSiswa ;BeginNew(Siswa) ;with Siswa^ dobeginNama := ‘Simanjuntak’;No := 12Alamat := ‘Jl. Jakarta 23’;end;End.
Keterangan:? Siswa : variabel pointer? Dengan prosedur standar New(Siswa) maka variabel dinamik sudah diletakkan di dalam heap memory.? Siswa^ : variabel dinamik, menunjukkan isi variabel di alamat yang ditunjukkan variabel pointer.? Variabel dinamik Siswa^ mempunyai tipe record terdiri dr 3 field, yaitu field Nama, No dan Alamat.? Variabel dinamik Siswa^.Nama menunjukkan nilai dari field Nama.? Untuk mendealokasikan memori digunakan procedure standar Dispose(nama_variabel)
Diposting oleh Harjono di 19:49 0 komentar Label: Struktur Data Kamis, 2008 April 17Record
Record adalah kumpulan elemen-elemen dalam pascal dimana setiap elemen dapat memiliki tipe data yang saling berbeda. Cara mengakses record mirip dengan cara mengakses array, perbedaannya adalah jika pada array untuk mengakses dengan cara menyebut nama array disertai dengan nomor indeks, maka pada record adalah dengan menyebut nama record disertai dengan nama field (elemen) yang akan diakses.Bentuk Umum :Type namarec = recordVar1 : tipe;Var2 : tipe;Varn : tipe;End;Var nama_var : namarec;Keterangan : namarec : nama record.var1,var2,varn : nama variable pada typenama_var : nama variable untuk tipe namarec.tipe : tipe data. Bentuk umum pemanggilan record :Cara pertamanama_var.var1 := . . . .nama_var.var2 := . . . .nama_var.varn := . . . .
Cara kedua With nama_var doBeginvar1 := . . . .var2 := . . . .varn := . . . .End;
ContohType data = recordNo : integer;Nama : string;End;Var datamhs : data;BeginWith datamhs doBeginNo := 109;Nama := ‘Rahmat';
Writeln (‘Nomor : ‘,no);Writeln (‘Nama : ‘,nama);End;End.
Diposting oleh Harjono di 19:14 0 komentar Label: Struktur Data Array
Array (Larik)Tipe terstruktur yang mempunyai komponen dalam jumlah yang tetap dan setiap komponen mempunyai tipe data yang sama.Posisi masing-masing dalam larik dinyatakan sebagai index.Bentuk umum:
Type NamaArray = array[indexArray] of tipeData;
Cara Pendefinisian Array:
Sebagai Peubah (variable)Contoh :
Var L : array[1..50] of integer;
Sebagai tipe baruContoh :
type LarikInt = array[1..100] of integer;
var P : LarikInt;
Mendefinisikan ukuran maksimum elemen larik sebagai konstantaContoh :
Const Nmin = 1;
Nmaks = 100;
Type Larikint : array[Nmin..Nmaks] of integer;
VarP : LarikInt;
Mendeklarasikan sebuah tipe data berupa subrange bilangan untuk kemudian dipakai sebagai index dari array.type Tinggi = 1..100;
TinggiMeja = array [Tinggi] of byte;
Mendeklarasikan sebuah tipe data enumerasi untuk kemudian dipakai sebagai Index Array.Contoh:
type Hari=(Senin,Selasa,Rabu,Kamis,Jumat,Sabtu);
PendapatanHarian = array[Hari] of real;
Cara Mengacu elemen arrayElemen larik diacu melalui indeksnya, nilai indek harus terdefinisi.
L[4]; {mengacu elemen keempat dari larik L } NamaMhs[2];{mengacu elemen kedua dari larik NamaMhs} P[k]; {mengacu elemen ke-k dari larik P, asalkan nilai k sudah terdefinisi }Program Contoh;
Program pertama;Uses Crt;TypeKalimat = Array[1..3] of string;Vari : byte;Kal : Kalimat;BeginClrscr;For i:= 1 to 3 doBeginWrite(‘masukkan Kata ke- ‘,i,’: ‘);Readln(Kal[i]);End;For i:= 1 to 3 doWriteln (Kal[i]);End.
Untuk download artikel ini klik Array.ppt
Diposting oleh Harjono di 01:13 0 komentar Label: Struktur Data Kamis, 2008 April 10Data Type
Secara garis besar type data dapat dikategorikan menjadi :1. Type data sederhanaa. Type data sederhana tunggal,misalnya : Integer, real, boolean dan karakterb. Type data sederhana majemuk, misalnya String2. Struktur Data, meliputia. Struktur data sederhana, misalnya array dan recordb. Struktur data majemuk, misalnya: Stack, Queue, List, Tree
Tipe data integer adalah tipe data yang nilainya merupakan bilangan bulat.
Shortint : -128 s/d 127 (1 byte)Integer : -3.2768 s/d 32767 (2 byte)Longint : -2.147.483.648 s/d 2.147.483.647 (4 byte)Byte : 0 s/d 255 (1 byte)Word : 0 s/d 65.535 (2 byte) Tipe real / floating point biasa digunakan untuk merepresentasikan nilai pecahan
Real ±2,9x10-39 s/d 1,7x1038 (6 byte)Single ±1,5x10-45 s/d 3,4x1038 (4 byte)Double ±5,0x10-324 s/d 1,7x10308 (8 byte)Extended ± 5,0x10-4951 s/d 1,1x104923 (10 byte)Comp -9,2x1018 s/d 9,2x1018 (8 byte) Tipe char adalah tipe yang berisi sebuah karakter saja dan mengalokasikan satu byte memori. Dalam hal ini dapat berupa karakter apa saja. (lihat karakter ASCII).
Tipe string merupakan pengembangan dari tipe char. Suatu string dapat berupa sederetan karakter sebanyak 256 (default).Bentuk umum:NamaVariabel : String ;Contoh:Var Kalimat : string ;Nama : string[25] ;
Tipe Enumerasi: Tipe yang dapat dibuat sendiri. Tipe ini biasa digunakan pada variable yang nilai kemungkinannya terbatas (tidak begitu banyak). Namanya dinyatakan dengan nama-nama pengenal sehingga diharapkan akan lebih memberikan kejelasan, dari pada kalau menggunakan kode seperti 0,1,2, dan seterusnya.
Tipe Subjangkauan: Menyatakan suatu jangkauan nilai dari suatu tipe yang sudah ada. Jangkauan nilai ditentukan oleh nilai terkecil dan nilai terbesar. Antara nilai terkecil dan terbesar dipisahkan tanda subjangkauan ( .. ).
Contoh:TypeNilaiBulan = 1..12;HurufKapital = ‘A’..’Z’;
Untuk Download artikel ini klik Tipe data.ppt
Diposting oleh Harjono di 19:24 0 komentar Label: Struktur Data
1 komentar:
semangat terus yach...
Posting Komentar