Anda di halaman 1dari 10

SEQUENSIAL FILE (2)

MERGING
 Merging : menggabungkan 2 buah arsip
 Cara yang paling sederhana adalah jika
arsip pertama “dikonkatenasi” ke arsip
kedua
111 112 113 114 115
Ani Budi Sari Iwan Jono

File 1 File 2

111 112 113 114 115


Ani Budi Sari Iwan Jono

File 3
Contohnya: Menggabungkan 2 file yang
sama-sama sudah terurut menjadi 1 file
yang juga berurutan
Contoh
Program Merging1
{Input : dua arsip sekuensial, terurut, sejenis
Proses : Menggabungkan kedua arsipmenjadi sebuah arsip yang terurut versi
AND
Output: Sequensial file baru yang terurut}

Kamus
Type rekaman:<var1: type, var2:type>
Arsipin1: SEQFILE of
(*) Rekin1: rekaman
(1) <mark>
Arsipin2: SEQFILE of
(*)Rekin2 : rekaman
(1) <mark>
Arsipout: SEQFILE of
(*) Rekout:rekaman
(1)<mark>
Algoritma
Assign (Arsipin1,<nama file1>)
Assign(Arsipin2,<nama file2>)
Assign(Arsipout,<namafile3>)
Rewrite(Arsipout)
While (Rekin1.var1≠mark) and (Rekin2.var1≠mark) do
Depend on (Rekin1.var1, Rekin2.var2)
Rekin1.var1 ≤ Rekin2.var1 : Write(Arsipout, Rekin1)
Read(Arsipin1, Rekin1)
Rekin1.var1 > Rekin2.var1: Write(Arsipout, Rekin2)
Read(Arsipin2, Rekin2)
While (Rekin1.var1 ≠mark) do
Write(Arsipout, Rekin1)
Read(Arsipin1, Rekin1)
While (Rekin2.var1 ≠ mark) do
Write(Arsipout, Rekin2)
Read(Arsipin2, Rekin2)
Write(Arsipout,<mark>))
Close(Arsipin1)
Close(Arsipin2)
Close(Arsipout)
Contohnya: Menggabungkan 2 file yang
sama-sama sudah terurut menjadi 1 file
yang juga berurutan

111 113 117 112 115


Ani Budi Sari Iwan Jono

File 1 File 2

111 112 113 115 117


Ani Iwan Budi Jono Sari

File 3
Contoh
Program CobaMerging
{Input : dua arsip sekuensial, terurut, sejenis
Proses : Menggabungkan kedua arsipmenjadi sebuah arsip yang terurut versi
AND
Output: Sequensial file baru yang terurut}

Kamus
Type rekaman:<NIM: integer, nama:string>
Arsipin1: SEQFILE of
(*) Rekin1: rekaman
(1) <999>
Arsipin2: SEQFILE of
(*)Rekin2 : rekaman
(1) <999>
Arsipout: SEQFILE of
(*) Rekout:rekaman
(1)<999>
Algoritma
Assign (Arsipin1,’C:\Cobain1.txt’)
Assign(Arsipin2,’C:\Cobain2.txt’)
Assign(Arsipout,’C:\Gabungan.txt’)
Rewrite(Arsipout)
While (Rekin1.NIM≠999) and (Rekin2.NIM≠999) do
Depend on (Rekin1.NIM , Rekin2.NIM)
Rekin1.NIM ≤ Rekin2.NIM : Write(Arsipout, Rekin1)
Read(Arsipin1, Rekin1)
Rekin1.NIM > Rekin2.NIM: Write(Arsipout, Rekin2)
Read(Arsipin2, Rekin2)
While (Rekin1.NIM ≠999) do
Write(Arsipout, Rekin1)
Read(Arsipin1, Rekin1)
While (Rekin2.var1 ≠ 999) do
Write(Arsipout, Rekin2)
Read(Arsipin2, Rekin2)
Write(Arsipout,999)
Close(Arsipin1)
Close(Arsipin2)
Close(Arsipout)
Contoh menggunakan OR
Program Merging2
{Input : dua arsip sekuensial, terurut, sejenis
Proses : Menggabungkan kedua arsip menjadi sebuah arsip yang terurut versi OR
Output: Sequensial file baru yang terurut}

Kamus
Type rekaman:<NIM: integer, nama:string>
Arsipin1: SEQFILE of
(*) Rekin1: rekaman
(1) <999>
Arsipin2: SEQFILE of
(*)Rekin2 : rekaman
(1) <999>
Arsipout: SEQFILE of
(*) Rekout:rekaman
(1)<999>
Algoritma
Assign (Arsipin1,’C:\Cobain1.txt’)
Assign(Arsipin2,’C:\Cobain2.txt’)
Assign(Arsipout,’C:\Gabungan.txt’)
Rewrite(Arsipout)
While (Rekin1.NIM ≠ 999) or (Rekin2.NIM ≠999) do
Depend on (Rekin1.NIM, Rekin2.NIM)
Rekin1.NIM ≤ Rekin2.NIM : Write(Arsipout, Rekin1)
Read(Arsipin1, Rekin1)
Rekin1.NIM > Rekin2.NIM: Write(Arsipout, Rekin2)
Read(Arsipin2, Rekin2)
Write(Arsipout,999)
Close(Arsipin1)
Close(Arsipin2)
Close(Arsipout)

Anda mungkin juga menyukai