Berkas sekuensial paling cocok diakses secara sekuensial, namun untuk meningkatkan kinerja dapat diurutkan lalu diakses menggunakan algoritma seperti pencarian biner atau interpolasi, dimana pencarian interpolasi hanya berlaku untuk rekaman bersifat numerik.
1. Organisasi Berkas Sekuensial
Disusun Oleh :
Fathul Mungin 15.11.9339
Izharuddin Malik 15.11.9346
Firdha Puteri Dinda 15.11.9351
David Rigan 15.11.9382
Akhmad Khalid N 15.11.9387
2. Apa si Berkas Sekuensial ??
Berkas sekuensial adalah berkas dengan organisasi urut. Data yang disimpan
diurutkan berdasarkan urutan pemasukan data. Data yang ditambahkan selalu
menepati urutan berikutnya.
3. Cara Membaca Data Sekuensial
Proses pencarian akan berpindah dari satu rekaman data ke rekaman
berikutnya secara langsung sampai rekaman yang dicari ditemukan.
Nama Nomor Mahasiswa Fakultas Jurusan
Fathul Mungin 15.11.9339 Teknik Informatika
Izharuddin Malik 15.11.9346 Teknik Informatika
Firdha Puteri Dinda 15.11.9351 Teknik Informatika
David Rigan 15.11.9382 Teknik Informatika
Akhmad Khalid N 15.11.9387 Teknik Informatika
Untuk membaca rekaman dengan nama mahasiswa “Akhmad Khalid N”
diperlukan probe sejumlah 5 kali beruntun.
1
2
3
4
5
4. Permasalahan yang akan muncul apabila rekaman
berada pada urutan belakang, hal tersebut akan
menambah waktu pembacaan. Demikian pula jika
nama yang di cari memang tidak berada dalam
rekaman, aplikasi harus membaca semua rekaman
dan berakhir dengan pesan bahwa rekaman tidak
ditemukan.
5. Pengurutan Secara Linear
Agar kinerja pembacaan rekaman lebih baik dapat melakukan pengurutan
secara linear berdasarkan pada nilai yang ingin di cari.
Nama Nomor Mahasiswa Fakultas Jurusan
Akhmad Khalid N 15.11.9387 Teknik Informatika
David Rigan 15.11.9382 Teknik Informatika
Fathul Mungin 15.11.9339 Teknik Informatika
Firdha Puteri Dinda 15.11.9351 Teknik Informatika
Izharuddin Malik 15.11.9346 Teknik Informatika
Dengan menggunakan pembacaan linear, hanya di butuhkan probe sebanyak
1 saja :)
1
6. Tapi… Pencarian Linear saja tidak cukup
cepat.. Lalu Bagaimana ??? Apa ada yang
lebih cepat lagi ???
7. Pencarian Binary
Pencarian binary membandingkan kata kunci yang dicari dengan
rekaman pada posisi tengah dari berkas. Bila sama, berarti rekaman
yang diinginkan sudah ditemukan, atau kalau tidak sama berarti
separuh dari rekaman-rekaman dalam berkas akan di eliminasi dari
perbandingan yang selanjutnya.
8. Contoh :
Berikut ini akan dicari rekaman dengan kunci 49. Bilangan yang dicetak tebal dan diberi garis bawah
menunjukkan rekaman yang sedang dibandingkan dan tanda kurung membatasi bagian berkas yang
tersisa yang masih harus diperbandingkan. Tanda “ [ “ untuk AWAL dan tanda “ ] “ untuk AKHIR.
1 2 3 4 5 6 7 8 9
Iterasi 1 [21, 25, 28, 33, 38, 39, 48, 49, 69]
Iterasi 2 21, 25, 28, 33, 38, [39, 48, 49, 69]
Iterasi 3 21, 25, 28, 33, 38, 39, 48, [49, 69]
Perhitungan :
iterasi 1 :TENGAH1 = [(1+9)/2] = 5 → Kcari:Ktengah1 → 49 > 38
→ AWAL = TENGAH1 + 1 = 6
iterasi 2 : TENGAH2 = [(6+9)/2] = 7 → Kcari:Ktengah2 → 49 > 48
→ AWAL = TENGAH2 + 1 = 8
iterasi 3 : TENGAH3 = [(8+9)/2] = 8 → Kcari:Ktengah2 → 49=49
→ Ketemu, Probe = 3
9. Pencarian Interpolasi
Pencarian interpolasi menentukan posisi yang akan diperbandingkan berikut
berdasar posisi yang di estimasi dari sisa rekaman yang belum diperiksa.
Pencarian interpolasi diperlukan syarat tambahan, yaitu bahwa kunci rekaman
merupakan data numeris. Hal tersebut perlukan karena pada pencarian interpolasi
posisi rekaman yang akan di perbandingkan dihitung dengan melibatkan prosess
aritmatik terhadap kunci awal, kunci akhir dan kunci yang dicari.
10. Contoh Soal Metode Pencarian Interpolasi
1 2 3 4 5 6 7 8 9
Iterasi 1 : [21, 25, 28, 33, 38, 39, 48, 49, 69]
Iterasi 2 : 21, 25, 28, 33, 38, 39, [48, 49, 69]
Perhitungan :
Iterasi 1: BERIKUT1:= [1 + (49-21(69-21(9-1)] = 5,6666 =~ 6
Kcari : Kberikut1 = 49 > 39
Awal = BERIKUT1+ 1 = 6 + 1 = 7
Iterasi 2: BERIKUT2:= [7 + (49-48)(69-48)(9-7)] = 7,0952 =~ 8
Kcari : Kberikut2 = 49 : 49
Ketemu, probe = 2
Contoh 1.
Untuk rekaman dengan susunan sebagai berikut: berapa probe untuk menemukan rekaman
dengan kunci 49 bila digunakan pencari interpolasi.
11. Contoh Soal Metode Pencarian Interpolasi
1 2 3 4 5 6 7 8 9
Iterasi 1: [21, 25, 28, 33, 38, 39, 48, 49, 69]
Iterasi 2: 21, 25, [28, 33, 38, 39, 48, 49, 69]
Iterasi 3: 21, 25,] [28, 33, 38, 39, 48, 49, 69
Kerjakan Contoh 1, tetapi untuk mencari rekaman dengan kunci = 27
Perhitungan:
Iterasi 1: BERIKUT1:=[ 1 + (27-21)(69-21)(9-1)] = 2
Kcari : Kberikut1 = 27 > 25
AWAL = BERIKUT1+ 1 = 2 + 1 = 3
Iterasi 2: BERIKUT2:=[ 3 + (27-28)(69-28)(9-3)] = 3
Kcari : Kberikut2 = 27 < 28
AKHIR = BERIKUT2- 1 = 3 - 1 = 2(Keterangan : HASIL evaluasi menunjukkan bahwa AWAL > AKHIR
rekaman tidak ditemukan.)
12. Latihan Soal
(1) Berapa banyak probe (pemeriksaan) yang di butuhkan untuk mendapatkan “juli” pada urutan nyata
bulan-bulan dalam sistem penanggalan? (2) Berapa probe (pemeriksaan) jika digunakan pencarian biner
?
Jawab :
(1) “Juli” dalam kalender berada pada urutan bulan ke-7 jadi untuk mendapatkan “juli” dibutuhkan
7 probe. Bulan dalam kalender jika diurutkan secara alphabet menghasilkan Agustus, April,
Desember, Februari, Januari, Juli, Juni, Maret, Mei, November, Oktober, September sehingga
dibutuhkan 9 probe untuk mendapatkan “mei”.
(2) Menggunakan pencarian biner :
1 2 3 4 5 6 7 8 9 10 11 12
Agustus April Desember Februari Januari Juli Juni Maret Mei November Oktober September
Perhitungan :
● Tengah1 = (1+12) / 2 = 6 → Kcari : Ktengah1 = Juli = Juli
Berarti hanya dibutuhkan probe = 1 untuk mencari juli dengan menggunakan pencarian biner.
13. Ringkasan
Berkas sekuensial paling cocok untuk diakses secara sekuensial, yaitu rekaman-
rekamannya diproses dengan urutan sesuai keberadaan masing-masing rekaman
dalam fisik rekaman. Namun untuk meningkatkan peformanya, berkas-berkas
dapat diurutkan, kemudian diakses dengan salah satu alogaritma pengaksesan,
mulai dari pencarian biner atau interpolasi. Perlu di catatan bahwa pengaksesan
secara interpolasi hanya dapat diaplikasikan pada rekaman dengan data identitas
yang bersifat numeric.
Editor's Notes
Pembukaan
Berkas sekuensial adalah berkas dengan organisasi urut. Data yang disimpan diurutkan berdasarkan urutan pemasukan data (urutan berdasarkan nomor record), data yang ditambahkan selalu menepati urutan berikutnya. Dalam berkas sekuensial, rekaman ke i+1 akan diletakkan tepat sesudah rekaman ke-i,
KHALID
Sesuai namanya, berkas sekuensial sangat cocok untuk akses yang sekuensial, artinya proses pencarian akan berpindah dari satu rekaman ke rekaman berikutnya secara langsung sampai rekaman yang dicari ditemukan. Contoh bagaimana menemukan nama mahasiswa sesuai dengan data pencarian.
KHALID
KHALID
Agar kinerja pembacaan rekaman lebih baik dapat melakukan pengurutan secara linear berdasarkan pada nilai kunci rekaman, bisa secara alfabet ataupun numeric. Sebagai contoh, berikut ini hasil pengurutan berdasarkan nama mahasiswa :
Dengan membandingkan nilai Kunci1 < Kunci2 < Kunci3 < ….. Kunci i < ….. Kunci n
KHALID
Untuk sebuah berkas dengan rekaman yang sudah diurutkan, jumlah probe yang diperlukan untuk membaca sebuah rekaman dapat diusahakan untuk diperkecil dengan menggunakan teknik pencarian biner.
Jika Kuncicari < Kuncitengah, maka bagian berkas mulai dari Kuncitengah sampai akhir berkas dieliminasi. Sebaliknya jika Kuncicari > Kuncitengah, maka bagian berkas mulai dari depan sampai dengan Kuncitengah dieliminasi. Dengan mengulang proses perbandingan terhadap rekaman tengah, maka lokasi rekaman yang diinginkan akan ditemukan atau diketahui bahwa rekaman yang diinginkan tersebut tidak berada dalam berkas.
Berbeda dengan pencarian biner yang dalam menentukan posisi rekaman yang akan diperbandingkan berikutnya berdasar rekaman yang tepat berada ditengah sisa berkas yang belum diperiksa, pencarian interpolasi menentukan posisi yang akan diperbandingkan berikut berdasar posisi yang di estimasi dari sisa rekaman yang belum diperiksa.
Pencarian interpolasi menentukan posisi yang akan diperbandingkan berikut berdasar posisi yang di estimasi dari sisa rekaman yang belum diperiksa. Pencarian interpolasi diperlukan syarat tambahan, yaitu bahwa kunci rekaman merupakan data numeris. Hal tersebut perlukan karena pada pencarian interpolasi posisi rekaman yang akan di perbandingkan dihitung dengan melibatkan prosess aritmatik terhadap kunci awal, kunci akhir dan kunci yang dicari.