Diktat_Prosedural_13_StudiKasus

S list firstpeg terdefinisi mungkin kosong fs 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: erbaik") tidak ada artinya kalau fungsi-fungsi dan operasi yang ingin diimplementasi terhadap struktur data belum ditentukan. Oleh: Inggriani Liem/Revisi bab oleh: Tim IF2030 sem. 1 2011-2012/Tgl. Revisi: 21 Nov 2011 57 Draft Diktat Struktur Data Hanya untuk digunakan di lingkungan Sekolah Teknik Elektro dan Informatika ITB Misalnya untuk representasi informasi di atas dikembangkan beberapa primitif (prosedur dasar yang sering dipakai pada saat program operasional) untuk membuat: 1. Daftar pegawai, dan untuk setiap pegawai harus dibuat juga nama anak-anaknya (jika ada). 2. Daftar anak-anak yang umurnya kurang dari 18 tahun (untuk keperluan tunjangan). 3. Daftar pegawai yang anaknya lebih dari 3 (keperluan KB). 4. Diketahui nama seorang anak, harus dituliskan nama bapaknya. 5. Mendaftarkan seorang anak yang baru lahir ke dalam list anak, jika diberikan tanggal lahir dan nama bapaknya. Berikut ini akan diberikan algoritma untuk masing-masing struktur data, dengan representasi lojik list: Oleh: Inggriani Liem/Revisi bab oleh: Tim IF2030 sem. 1 2011-2012/Tgl. Revisi: 21 Nov 2011 58 Draft Diktat Struktur Data Hanya untuk digunakan di lingkungan Sekolah Teknik Elektro dan Informatika ITB Program PEGAWAI1 { Representasi BERKAIT, Alternatif Pertama } KAMUS type Pegawai : < NIP : integer, Nama : string, Jabatan : string, GajiPokok : real, FirstAnak : adrAnak, NextPeg : AdrPeg > type Anak : < Nama : string, TglLahir : integer, NextAnak : AdrAnak > AdrPeg : address { terdefinisi, alamat sebuah elemen list pegawai } AdrAnak : address { terdefinisi, alamat sebuah elemen list anak } FirstPeg : ListPeg procedure ListPegLengkap (input FirstPeg : ListPeg) { I.S.: FirstPeg terdefinisi, mungkin kosong } { F.S.: List FirstPeg ditulis informasinya beserta informasi semua anaknya jika tidak kosong } { Menuliskan daftar pegawai, untuk setiap pegawai dilist anaknya jika ada } { Menuliskan "List kosong, tidak ada pegawai" jika kosong } procedure ListTunjAnak (input FirstPeg : ListPeg) {I.S.: FirstPeg terdefinisi, mungkin kosong} {F.S.: Untuk setiap pegawai, anaknya yang berumur < 18 tahun ditulis Jika pegawai tidak mempunyai anak, menuliskan "Pegawai tidak mempunyai anak"} procedure ListPegNonKB (input FirstPeg : ListPeg) { Membuat daftar pegawai yang mempunyai lebih dari 3 anak } { I.S. List FirstPeg terdefinisi, mungkin kosong } { F.S. Semua pegawai yang anaknya lebih dari 3 orang ditulis informasinya } procedure OrTuAnak (input FirstPeg : ListPeg, input NamaAnak : string) { I.S. List Pegawai terdefinisi } { F.S. Jika ada anak yang bernama sesuai dengan NamaAnak, nama Pegawai ditulis. Jika tidak ada NamaAnak, tidak menuliskan apa-apa. } { Cari anak dg nama NamaAnak, tuliskan nama orangtua dari anak yg namanya = NamaAnak } procedure AddAnak (input/output FirstPeg : ListPeg, input NIPPeg : string, input NamaAnak: string, input TglLahirAnak : integer) { Mendaftar seorang anak yang baru lahir, insert selalu pada awal list } { I.S. List Pegawai terdefinisi } { F.S. Jika pegawai dengan NIP=NIPeg ada, alokasi anak, insert seorang anak sebagai elemen pertama list anak } ALGORITMA { Tidak dituliskan di sini, algoritma yang didefinisikan di atas hanya primitif-primi...
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