Pertemuan 3
RECORD
Sebuah Record merupakan koleksi satuan data
yang heterogen, yakni terdiri dari berbagai type. Satuan
data tersebut sering disebut sebagai field dari record. Field
dipanggil dengan menggunakan namanya masing-masing.
Suatu field dapat terdiri atas beberapa subfield.
KONSEP POINTER DAN LINKED LIST
Untuk mengolah data yang banyaknya tidak bisa
ditentukan sebelumnya, maka disediakan satu fasilitas
yang memungkinan
RECORD
Tabel 1. Nilai Matakuliah Struktur
Data
No NPM Nama Nilai UTS Grade
1 2018320056 Devina Saraswati 85.45 A
2 2018330157 Marlon Putra Ambar 78.36 B
3 2018310191 Bagus Priambodo 91.75 A
4 2018330610 Zahira Purba 68.56 C
Perhatikan Tabel 1, Apakah pada tabel tersebut dapat disebut Data? Sebutkan
Tipe data apa saja yang ada dalam table diatas?
Dalam hal cara pemasukkan data dapat diilustrasikan
seperti Gambar (a) dan (b) dibawah ini.
DEKLARASI POINTER DAN ALOKASI TEMPAT
DALAM BAHASA PEMROGRAMMAN PASCAL TYPE DATA POINTER
BIASANYA DIDEKLARASIKAN PADA BAGIAN DEKLARASI TYPE.
BENTUK UMUM DEKLARASI POINTER :
Tanda ^ di depan nama Simpul harus ditulis seperti apa
adanya dan menunjukkan bahwa pengenal adalah
suatu Type Data Pointer.
Type Data Simpul yang dinyatakan dalam Tipe dapat
berupa sembarang Type Data, misalnya Char, Integer
dan Real.
Contoh :
Type Str30 = String[30]; Point = ^Data;
Data = Record;
Nama_peg : Str30;
Alamat : Str30;
Pekerjaan : Str30;
End;
OPERASI PADA POINTER
Pertama kali yang harus dilakukan adalah
mendeklarasikan Type Pointernya, yaitu :
Type Simpul = ^Data;
Data = Record;
Nama : String;
Alamat : String;
Berikut : Simpul;
End;
Var T1,T2 : Simpul;
MENGHAPUS POINTER
Pointer yang telah dialokasikan (dibentuk) dapat
didealokasikan (dihapus) kembali pada saat program
dieksekusi. Setelah suatu Pointer dihapus, maka lokasi
yang semula ditempati oleh simpul yang ditunjuk oleh
Pointer tersebut akan bebas, sehingga dapat digunakan
oleh perubah lain.
Statemen untuk menghapus Pointer adalah Dispose,
yang mempunyai bentuk umum :
Dispose (perubah)
Dengan perubah adalah sembarang perubah yang bertype
Pointer. Sebagai contoh, dengan menggunakan deklarasi :
Pada suatu saat, simpul yang ditunjuk oleh Pointer Murid1
tidak digunakan lagi, maka dapat dihapus dengan
menggunakan statemen :
Dispose (Murid1);
Demikian penjelasan tentang perubah dinamis yang
lebih dikenal denagn sebutan Pointer.
LINKED LIST (LINKED LIST)
Salah satu Struktur Data Dinamis yang paling sederhana
adalah Linked List atau Struktur Berkait atau Senarai
Berantai, yaitu suatu kumpulan komponen yang disusun
secara berurutan dengan bantuan Pointer.
Linked List (Senarai Breantai) disebut juga dengan Senarai
Satu Arah (One-Way List). Masing-masing komponen
dinamakan dengan Simpul (Node).
Dengan demikian, setiap simpul dalam suatu Linked List
terbagi menjadi dua (2) bagian.
a) Medan Informasi, berisi informasi yang akan disimpan
dan diolah.
b) Medan Penyambung (Link Field), berisi alamat
berikutnya. Bernilai 0, Jika Link tersebut tidak menunjuk ke
Data (Simpul) lainnya. Penunjuk ini disebut Penunjuk Nol.
Selain jenis struktur terkait yang telah disebutkan diatas
ada beberapa jenis Struktur Berkait yang lain seperti
Linked-Stack, Linked-Queue, Doubly Linked-List, Linked
Centralize-List dan sebagainya.
Procedure Balik_Pointer(Var Awal,Akhir : Simpul);
Var Bantu,Bantu : Simpul;
Begin
Bantu := Awal;
Awal := Akhir;
{* Proses membalik Pointer *}
Repeat
Bantu_1:= Bantu;
{* Mencari simpul sebelum simpul yang di tunjuk
oleh Pointer Akhir *}
While Bantu_1^.Berikut<> Akhir Do
Bantu_1:= Bantu_1^.Berikut;
Akhir ^.Berikut := Bantu_1;
Akhir := Bantu_1;
Until Akhir = Bantu;
Akhir^.Berikut := Nil;
End;
Struktur Data-Pertemuan 3.ppt semester 1 Universitas Bina Insani
Struktur Data-Pertemuan 3.ppt semester 1 Universitas Bina Insani

Struktur Data-Pertemuan 3.ppt semester 1 Universitas Bina Insani

  • 1.
  • 2.
    Sebuah Record merupakankoleksi satuan data yang heterogen, yakni terdiri dari berbagai type. Satuan data tersebut sering disebut sebagai field dari record. Field dipanggil dengan menggunakan namanya masing-masing. Suatu field dapat terdiri atas beberapa subfield. KONSEP POINTER DAN LINKED LIST Untuk mengolah data yang banyaknya tidak bisa ditentukan sebelumnya, maka disediakan satu fasilitas yang memungkinan RECORD
  • 3.
    Tabel 1. NilaiMatakuliah Struktur Data No NPM Nama Nilai UTS Grade 1 2018320056 Devina Saraswati 85.45 A 2 2018330157 Marlon Putra Ambar 78.36 B 3 2018310191 Bagus Priambodo 91.75 A 4 2018330610 Zahira Purba 68.56 C Perhatikan Tabel 1, Apakah pada tabel tersebut dapat disebut Data? Sebutkan Tipe data apa saja yang ada dalam table diatas?
  • 4.
    Dalam hal carapemasukkan data dapat diilustrasikan seperti Gambar (a) dan (b) dibawah ini. DEKLARASI POINTER DAN ALOKASI TEMPAT DALAM BAHASA PEMROGRAMMAN PASCAL TYPE DATA POINTER BIASANYA DIDEKLARASIKAN PADA BAGIAN DEKLARASI TYPE. BENTUK UMUM DEKLARASI POINTER :
  • 5.
    Tanda ^ didepan nama Simpul harus ditulis seperti apa adanya dan menunjukkan bahwa pengenal adalah suatu Type Data Pointer. Type Data Simpul yang dinyatakan dalam Tipe dapat berupa sembarang Type Data, misalnya Char, Integer dan Real. Contoh :
  • 6.
    Type Str30 =String[30]; Point = ^Data; Data = Record; Nama_peg : Str30; Alamat : Str30; Pekerjaan : Str30; End; OPERASI PADA POINTER Pertama kali yang harus dilakukan adalah mendeklarasikan Type Pointernya, yaitu : Type Simpul = ^Data; Data = Record; Nama : String; Alamat : String; Berikut : Simpul; End; Var T1,T2 : Simpul;
  • 7.
    MENGHAPUS POINTER Pointer yangtelah dialokasikan (dibentuk) dapat didealokasikan (dihapus) kembali pada saat program dieksekusi. Setelah suatu Pointer dihapus, maka lokasi yang semula ditempati oleh simpul yang ditunjuk oleh Pointer tersebut akan bebas, sehingga dapat digunakan oleh perubah lain. Statemen untuk menghapus Pointer adalah Dispose, yang mempunyai bentuk umum : Dispose (perubah) Dengan perubah adalah sembarang perubah yang bertype Pointer. Sebagai contoh, dengan menggunakan deklarasi :
  • 9.
    Pada suatu saat,simpul yang ditunjuk oleh Pointer Murid1 tidak digunakan lagi, maka dapat dihapus dengan menggunakan statemen : Dispose (Murid1); Demikian penjelasan tentang perubah dinamis yang lebih dikenal denagn sebutan Pointer. LINKED LIST (LINKED LIST) Salah satu Struktur Data Dinamis yang paling sederhana adalah Linked List atau Struktur Berkait atau Senarai Berantai, yaitu suatu kumpulan komponen yang disusun secara berurutan dengan bantuan Pointer.
  • 10.
    Linked List (SenaraiBreantai) disebut juga dengan Senarai Satu Arah (One-Way List). Masing-masing komponen dinamakan dengan Simpul (Node). Dengan demikian, setiap simpul dalam suatu Linked List terbagi menjadi dua (2) bagian. a) Medan Informasi, berisi informasi yang akan disimpan dan diolah. b) Medan Penyambung (Link Field), berisi alamat berikutnya. Bernilai 0, Jika Link tersebut tidak menunjuk ke Data (Simpul) lainnya. Penunjuk ini disebut Penunjuk Nol.
  • 11.
    Selain jenis strukturterkait yang telah disebutkan diatas ada beberapa jenis Struktur Berkait yang lain seperti Linked-Stack, Linked-Queue, Doubly Linked-List, Linked Centralize-List dan sebagainya.
  • 24.
    Procedure Balik_Pointer(Var Awal,Akhir: Simpul); Var Bantu,Bantu : Simpul; Begin Bantu := Awal; Awal := Akhir; {* Proses membalik Pointer *} Repeat Bantu_1:= Bantu; {* Mencari simpul sebelum simpul yang di tunjuk oleh Pointer Akhir *} While Bantu_1^.Berikut<> Akhir Do Bantu_1:= Bantu_1^.Berikut; Akhir ^.Berikut := Bantu_1; Akhir := Bantu_1; Until Akhir = Bantu; Akhir^.Berikut := Nil; End;