Diktat_Prosedural_13_StudiKasus

Untuk setiap pegawai traversal anaknya ptrpeg

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: tif yg diperlukan dan dapat dipanggil dari modul lain } Oleh: Inggriani Liem/Revisi bab oleh: Tim IF2030 sem. 1 2011-2012/Tgl. Revisi: 21 Nov 2011 59 Draft Diktat Struktur Data Hanya untuk digunakan di lingkungan Sekolah Teknik Elektro dan Informatika ITB procedure ListPegLengkap (input FirstPeg : ListPeg) { Alternatif Pertama } { 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 } KAMUS LOKAL PtrPeg : AdrPeg { address untuk traversal, @ sebuah elemen list pegawai } PtrAnak : AdrAnak { address untuk traversal, @ sebuah elemen list anak } Algoritma : { Traversal pegawai : skema pemrosesan sekuensial dg penanganan kasus kosong Untuk setiap pegawai, traversal list anak untuk dituliskan namanya } PtrPeg ← FirstPeg { First Pegawai } if (PtrPeg = Nil) then output ("List kosong, tidak ada pegawai") else { Minimal 1 Pegawai } repeat output (Nama(PtrPeg)) { Traversal Anak } PtrAnak ← FirstAnak(PtrPeg) { First Anak } if (PtrAnak = Nil) then output ("Pegawai ybs. tidak mempunyai anak") else repeat output (Nama(PtrAnak)) { Proses anak } PtrAnak ← NextAnak(PtrAnak) { Next Anak } until (PtrAnak = Nil) PtrPeg ← NextPeg(PtrPeg) { Next Pegawai } until (PtrPeg = Nil) Oleh: Inggriani Liem/Revisi bab oleh: Tim IF2030 sem. 1 2011-2012/Tgl. Revisi: 21 Nov 2011 60 Draft Diktat Struktur Data Hanya untuk digunakan di lingkungan Sekolah Teknik Elektro dan Informatika ITB procedure ListTunjAnak (input FirstPeg : ListPeg) { Alternatif Pertama } { 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" } KAMUS LOKAL PtrPeg : AdrPeg { address untuk traversal, @ sebuah elemen list pegawai } PtrAnak : AdrAnak { address untuk traversal, @ sebuah elemen list anak } UmurAnak : integer { umur anak pegawai } function Umur (TglLahir : integer) → integer { Fungsi yang mengirim umur jika yang dihitung dari tanggal hari ini dari sistem dibandingkan dengan TglLahir yang diberikan, tidak dituliskan } ALGORITMA { Traversal list Pegawai, skema sekuensial dengan penanganan kasus kosong. Untuk setiap pegawai, traversal anaknya } PtrPeg ← FirstPeg { First Pegawai } if (PtrPeg = Nil) then output ("List kosong, tidak ada pegawai") else { Minimal ada satu pegawai } repeat output (Nama(PtrPeg)) { Inisialisasi trav. anak } { Traversal Anak } PtrAnak ← FirstAnak(PtrPeg) { First anak } if (PtrAnak = Nil) then output ("Pegawai ybs tidak mempunyai anak") else { Minimal ada 1 anak } repeat UmurAnak ← Umur(TglLahir(PtrAnak)) { Proses } depend on UmurAnak UmurAnak < 18 : output (Nama(PtrAnak),UmurAnak) UmurAnak ≥ 18 : PtrAnak ← NextAnak(PtrAnak) { Next Anak } until (PtrAnak=Nil) PtrPeg ← NextPeg (PtrPeg) { Next Pegawai } until (PtrPeg=Nil) Oleh: Inggriani Liem/Revisi bab oleh: Tim IF2030...
View Full Document

Ask a homework question - tutors are online