Diktat_Prosedural_13_StudiKasus

Nextanakptranak next anak until ptranak nil oleh

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: apak } ALGORITMA { Tidak dituliskan di sini, algoritma yg didefinisikan di atas hanya primitif-primitif yg diperlukan } Oleh: Inggriani Liem/Revisi bab oleh: Tim IF2030 sem. 1 2011-2012/Tgl. Revisi: 21 Nov 2011 65 Draft Diktat Struktur Data Hanya untuk digunakan di lingkungan Sekolah Teknik Elektro dan Informatika ITB procedure ListPegLengkap (input FirstPeg : ListPeg, input FirstAnak : ListAnak ) { Alternatif Kedua } { Menuliskan daftar pegawai, untuk setiap pegawai dilist anaknya jika ada dan informasi semua anaknya jika tidak kosong. Menuliskan "List kosong, tidak ada pegawai" jika kosong } { I.S. FirstPeg terdefinisi, mungkin kosong } { F.S. List FirstPeg ditulis informasinya KAMUS LOKAL PtrPeg : AdrPeg { address untuk traversal, @ sebuah elemen list pegawai } PtrAnak : AdrAnak { address untuk traversal, @ sebuah elemen list anak } ALGORITMA { Traversal pegawai } PtrPeg ← FirstPeg { First Pegawai } if (PtrPeg = Nil) then output ("List kosong, tidak ada pegawai") else repeat output (Nama(PtrPeg)) { Traversal Anak } PtrAnak ← FirstAnak { First Anak } while (PtrAnak ≠ Nil) do if (Father(PtrAnak) = PtrPeg) then output (Nama(PtrAnak)) PtrAnak ← NextAnak(PtrAnak) { PtrAnak = Nil } PtrPeg ← NextPeg(PtrPeg) until (PtrPeg = Nil) { Proses } { Next Anak } { Next Pegawai } Oleh: Inggriani Liem/Revisi bab oleh: Tim IF2030 sem. 1 2011-2012/Tgl. Revisi: 21 Nov 2011 66 Draft Diktat Struktur Data Hanya untuk digunakan di lingkungan Sekolah Teknik Elektro dan Informatika ITB procedure ListTunjAnak (input FirstAnak : ListAnak) { Alternatif Kedua } { Traversal list anak, Menuliskan anak yg masih mendapat tunjangan : berumur < 18 tahun } { I.S. FirstPeg dan FirstAnak terdefinisi, mungkin kosong } { F.S. Untuk setiap anak yang umurnya <18 tahun, tuliskan informasinya. Jika list Anak kosong, tuliskan "List anak kosong". } KAMUS LOKAL PtrAnak : AdrAnak { address untuk traversal, @ sebuah elemen list anak } UmurAnak : integer { umur anak pegawai } function Umur (TglLahir : integer) → integer { Fungsi yang mengirim umur dengan rumus: tanggal hari ini dari sistem dikurangi TglLahir } { Tidak dituliskan di sini, buatlah sebagai latihan } ALGORITMA { Traversal list Anak, skema proses sekuensial dg penanganan kasus kosong } { Untuk setiap anak periksa umurnya } PtrAnak ← FirstAnak { First Anak } if (PtrAnak = Nil) then output ("List Anak kosong, tidak ada anak") else repeat UmurAnak ← Umur(TglLahir(PtrAnak)) { Proses } depend on UmurAnak UmurAnak < 18 : output (Nama(Father(PtrAnak))) output (Nama(PtrAnak), UmurAnak) UmurAnak ≥ 18 : PtrAnak ← NextAnak(PtrAnak) { Next Anak } until (PtrAnak = Nil) Oleh: Inggriani Liem/Revisi bab oleh: Tim IF2030 sem. 1 2011-2012/Tgl. Revisi: 21 Nov 2011 67 Draft Diktat Struktur Data Hanya untuk digunakan di lingkungan Sekolah Teknik Elektro dan Informatika ITB procedure ListPegNonKB (input FirstPeg : ListPeg, input FirstAnak : ListAnak) { Alternatif Kedua } { Membuat daftar pegawai yang mempunyai lebih dari 3 anak } { I.S. List First Peg terdefinisi, mungkin kosong } { F.S. Semua pegawai...
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