60 likes | 374 Views
STUDI KASUS ARSIP BERUNTUN Berikut ini terdapat beberapa studi kasus pemrosesan arsip beruntun : 1. Buatlah procedure untuk menghapus rekaman pada arsip Mhs. Rekaman dihapus berdasarkan nama mahasiswa tertentu yang dibaca dari piranti masukan.
E N D
STUDI KASUS ARSIP BERUNTUN Berikut ini terdapat beberapa studi kasus pemrosesan arsip beruntun : 1. Buatlah procedure untuk menghapus rekaman pada arsip Mhs. Rekaman dihapus berdasarkan nama mahasiswa tertentu yang dibaca dari piranti masukan. Procedure HapusData (input/output Mhs : ArsipMhs) DEKLARASI : RekMhs NIM_hapus Ketemu Temp : DataMhs : string : boolean : ArsipMhs Function Mark (input RekMhs: DataMhs) boolean DEFINISI : Open (Temp, 2) Fread (Mhs, RekMhs) Ketemu false Read(NIM_hapus) While (not Ketemu) and (not Mark(RekMhs)) do If (RekMhs. NIM) = NIM_hapus then Ketemu true Else Fwrite (Temp, RekMhs) Fread (Mhs, RekMhs) Endif Endwhile If Ketemu then Fread (Mhs, RekMhs) While (not Mark(RekMhs)) do Fwrite (Temp, RekMhs) Fread (Mhs, RekMhs) Endwhile http://www.mercubuana.ac.id 1
while (not Mark(RekMhs)) and (not ketemu) do n n+1 if n = k then write (RekMhs.NIM, RekMhs.Nama, RekMhs.IP) ketemu true endif fread (Mhs, RekMhs) endwhile End Procedure 3. Terdapat dua arsip data mahasiswa, Mhs1 dan Mhs2. Buatlah fungsi yang akan menentukan apakah kedua arsip tersebut sama. Function Cek_Kesamaan_Arsip (input Mhs1 : ArsipMhs, input Mhs2 : ArsipMhs) Boolean DEKLARASI : RekMhs1 RekMhs2 Status : DataMhs : DataMhs : Boolean Function Mark (input RekMhs: DataMhs) boolean DEFINISI : Fread(Mhs1, RekMhs1) Fread(Mhs2, RekMhs2) While (not Mark(RekMhs1)) and (not Mark(RekMhs2)) do If (RekMhs1.NIM RekMhs2.NIM) or (RekMhs1.Nama RekMhs2.Nama) or (RekMhs1.IP RekMhs2.IP) then Return false Else Fread(Mhs1, RekMhs1) Fread(Mhs2, RekMhs2) Endif Endwhile Return true End function http://www.mercubuana.ac.id 3
Larik_Bil[imaks] temp End for {Proses penyalinan/penulisan rekaman yang telah terurut ke dalam arsip} Open (Arsip_Bil, 2) For i 1 to n do Fwrite (Arsip_Bil, Larik_Bil[i]) End for Fwrite (Arsip_Bil, -1) End algoritma 5. Misalkan terdapat dua buah arsip data mahasiswa yang berisi data NIM, Nama, Alamat, dan Nomor Telepon untuk arsip pertama serta data NIM, Jenis Kelamin, dan IP untuk arsip kedua. Buatlah algoritma untuk menghasilkan arsip baru yang berisi irisan dari kedua arsip tersebut berdasarkan NIM. Arsip baru akan berisi data NIM, Nama, dan IP. Algoritma Irisan_arsip {Menghasilkan arsip baru yang merupakan hasil irisan (intersection) dari dua buah arsip. Arsip baru berisi data NIM, Nama, dan IP} DEKLARASI : Type DataMhs1 : record < NIM : string, Nama : string, Alamat : string, No_tlp : string > Type DataMhs2 : record < NIM : string, J_kel : char, IP : real > http://www.mercubuana.ac.id 5