Diktat_Prosedural_13_StudiKasus

Elemen a b c firstanak x u y w z list anak semua

Info iconThis preview shows page 1. Sign up to view the full content.

View Full Document Right Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: il) do NKosong ← NKosong + Nb(P) PrecP ← P; P ← Next(P); Deallocate(PrecP) { Next(P) = Nil, elemen terakhir belum diproses NKosong bernilai [0..NB] } { Update elemen terakhir } Nb(P) ← Nkosong + Nb(P) Aw(P) ← 1 FirstZB ← P else { tidak ada yang perlu dilakukan, karena semua zone ISI } Oleh: Inggriani Liem/Revisi bab oleh: Tim IF2030 sem. 1 2011-2012/Tgl. Revisi: 21 Nov 2011 55 Draft Diktat Struktur Data Hanya untuk digunakan di lingkungan Sekolah Teknik Elektro dan Informatika ITB Studi Kasus 4: Multi-List Deskripsi Persoalan Kita harus mengelola sekumpulan pegawai, dan untuk setiap pegawai selain informasi mengenai dirinya kita juga harus menyimpan informasi tentang anak-anaknya (jika ada). Jika informasi tersebut harus direpresentasikan dalam struktur data internal, maka kita mempunyai list dari pegawai, dan juga list dari anak-anak pegawai. Alternatif Struktur Data Ada dua alternatif implementasi list Pegawai dan list anak pegawai. Masing-masing alternatif akan dibahas sebagai berikut Alternatif I Salah satu alternatif untuk merepresentasikan secara lojik adalah sebagai berikut: First List Pegawai dengan 3 elemen A B X Y C Pegawai B tidak mempunyai anak List anak Pegawai A U W List anak Pegawai C Z Pada gambar di atas, kita mempunyai dua list: elemen list Pegawai tidak sama informasinya dengan elemen list anak. Informasi pegawai yang disimpan misalnya : nomor pegawai, nama, jabatan, gaji pokok. Sedangkan informasi yang disimpan pada elemen list anak misalnya nama, tanggal lahir. Oleh: Inggriani Liem/Revisi bab oleh: Tim IF2030 sem. 1 2011-2012/Tgl. Revisi: 21 Nov 2011 56 Draft Diktat Struktur Data Hanya untuk digunakan di lingkungan Sekolah Teknik Elektro dan Informatika ITB KAMUS { Definisi lojik List Pegawai untuk Alternatif pertama } type AdrPeg : { type terdefinisi, alamat sebuah elemen list pegawai } type AdrAnak : { type terdefinisi, alamat sebuah elemen list anak } type Pegawai : < NIP : integer, Nama : string, Jabatan : string, GajiPokok : real, FirstAnak : adrAnak, NextPeg : AdrPeg > type Anak : < Nama : string, TglLahir : integer, NextAnak : AdrAnak > type ListPeg : AdrPeg FirstPeg : ListPeg Alternatif Kedua Alternatif lain untuk merepresentasikan informasi di atas adalah sebagai berikut : FirstPeg List Pegawai dengan 3 elemen A B C FirstAnak X U Y W Z List Anak semua pegawai Pada alternatif kedua ini kita mempunyai dua buah list yang terpisah, dengan mengadakan "indirect addressing" untuk menemukan ayah dari seorang anak. KAMUS { Definisi type AdrPeg type AdrAnak type Pegawai type Anak type ListPeg type FirstPeg FirstAnak lojik List Pegawai untuk Alternatif kedua } : { type terdefinisi, alamat sebuah elemen list pegawai } : { type terdefinisi, alamat sebuah elemen list anak } : < NIP : integer, Nama : string, Jabatan : string, GajiPokok : NextPeg : AdrPeg : < Nama : string, TglLahir : NextAnak : AdrAnak, Father : AdrPeg > : AdrPeg ListAnak : : : ListAnak real, > integer, AdrAnak ListPeg Dapatkah dipilih, mana struktur data yang lebih baik untuk merepresentasikan informasi pegawai dan anak-anaknya? Jawabannya adalah TIDAK. Pertanyaan semacam ini (penentuan struktur data "t...
View Full Document

This document was uploaded on 03/15/2014 for the course IF 2030 at Institut Teknologi Bandung.

Ask a homework question - tutors are online