ORGANISASI BERKAS
Organisasi berkas diatas memiliki kemampuan untuk diproses dengan metode pemprosesan & pengaksesan yang berbeda.
Dalam menggorganisasi berkas secara Sekuensial, Langsung, maupun
Sekuensial Berindeks memiliki cara yang berbeda dalam penyusunan
rekaman-rekaman yang membentuk berkas / file tersebut. Rekaman-rekaman data tersebut tersusun atas sejumlah medan Data.
Medan Data : Nilai Dasar yang membentuk sebuah rekaman Data
Rekaman Data : Koleksi Berbagai Medan yang berisi beberapa item data
elementer
Berkas Data : koleksi dari rekaman-rekaman yang sama, yang diletakan
dalam peralatan penyimpanan data komputer.
Rekaman Data
Contoh rekaman data mahasiswa
Contoh berkas mahasiswa sebuah universitas
BERKAS SEKUENSIAL
Dalam berkas Sekuensial, rekaman ke i+1 akan diletakan tepat sesudah
rekaman ke-i, sebagai contoh :
Pencarian berkas sekuensial
Pencarian berkas secara sekuensial dilakukan dengan memproses
rekaman-rekaman dalam berkas sesuai dengan urutan keberadaan rekaman-rekaman
tersebut sampai ditemukan rekaman-rekaman yang diinginkan atau semua rekaman
akan terbaca.
Contoh “nama mahasiswa” merupakan subskrip dalam pencarian pembacaan
rekaman dengan “nama mahasiswa” = “Dewi Sartika”
Untuk mencari nama “Dewi Sartika”, diperlukan probe sejumlah 5 kali
Permasalahan yang muncul bila rekaman berada pada urutan belakang, maka
pembacaan akan semakin lama. Dan apabila nama yang dicari tidak ada dalam
rekaman, maka aplikasi harus membaca semua rekaman & berakshir denganm
pesan “Rekaman tidak ditemukan”
Agar kinerja pembacaan rekaman lebih baik maka salah satu alternatif
yang dapat dilakukan adalah rekaman-rekaman dalam berkas tersebut DIURUTKAN
untuk mendapatkan pengurutan yang linier berdasar pada nilai kunci rekaman
tersebut (bisa alfabetis maupun numeris)
Kolom “Nama Mahasiswa” menunjukan nilai yang urut dari kecil ke besar
Setelah data tersebut diurutkan maka pembacaan secara sekunsial dalam
pemprosesan pencarian nama “Dewi Sartika” hanya diperlukan 2 probe lebih kecil dibandingkan sebelum berkas diurutkan.
PENCARIAN BINER (BINARY SEARCH)
Untuk sebuah berkas yang sudah di urutkan, jumlah probe yang diperlukan
untuk membaca sejumlah rekaman dapat di usahakan untuk diperkecil lagi dengan
menggunakan teknik pencarian biner.
Jika Kuncicari < Kuncitengah, maka bagian berkas mulai dari Kuncitengah
sampai akhir berkas dielaminiansi.
Contoh 1
Cari rekaman dengan kunci 49 .... ?
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
Kuncicari
: Kuncitengah à 49 > 38
AWAL
= TENGAH1 + 1 = 5+1 = 6
1 2 3 4 5 6 7
8 9
Iterasi 1 : [21, 25, 28, 33, 38, 39, 48, 49, 69]
Iterasi 2 : TENGAH2 =
[6+9)/2] = 7
Kuncicari
: Kuncitengah à 49 > 48
AWAL = TENGAH2 + 1 = 7+1 = 8
1 2 3 4 5 6 7
8 9
Iterasi
2 : 21, 25, 28, 33, 38, [39, 48, 49,69]
Iterasi
3 :
TENGAH3 = [8+9)/2] = 8
Kuncicari
: Kuncitengah à 49 = 49
Ketemu,
Probe = 3
1 2 3 4 5 6 7 8
9
Iterasi 3 : 21, 25, 28, 33, 38, 39, 48, [49, 69]
PENCARIAN INTERPOLASI
Pencarian Interpolasi menentukan posisi yang
akan diperbandingkan berikutnya berdasarkan posisi yang diestimasi dari sisa
rekaman yang belum diperiksa. Syarat dalam pencarian berkas dalam pencarian
interpolasi adalah kunci rekaman adalah bilangan numeris, karena dalam proses pencarian
interpolasi posisi rekaman yang akan dibandingkan dihitung dengan melibatkan
proses aritmatik tehadap kunci awal, kunci akhir, dan kunci yang di cari. Kunci awal adalah kunci awal pada posisi
pencarian terakhir, bukan kunci awal berkas.
Untuk mencari kunci berikutnya pada metode
Interpolasi dapat menggunakan :
Jika Kunci (dicari) = Kunci (berikut), maka pencarian berakhir
Jika Kunci (dicari) > kunci (berikut), maka AWAL = BERIKUT + 1
Jika
Kunci (dicari) < kunci (berikut), maka AKHIR = BERIKUT - 1
CONTOH 1
Untuk rekaman dengan susunan sebagai berikut :
1 2 3 4
5 6 7
8 9
[21,
25, 28, 33, 38, 39, 48, 49, 69]
Berapa probe untuk menentukan rekaman dengan kunci 49 bila menggunakan
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.66666 ≈ 5
Kcari banding
Kberikut = 49 > 38, Maka AWAL = Berikut1 + 1 = 5+1 =6
1 2 3 4
5 6 7
8 9
Iterasi
1 : [21, 25, 28, 33, 38, 39, 48, 49, 69]
Iterasi 2 Berikut2 = 6
+ ((49-39)/(69-39)) (9-6) = 7
Kcari banding Kberikut = 49 > 48, Maka AWAL =
Berikut2 + 1 = 7+1 =8
1 2 3 4 5
6 7 8
9
Iterasi
2 : 21, 25, 28, 33, 38, [39, 48, 49, 69]
Iterasi 3 Berikut3 = 8
+ ((49-49)/(69-49)) (9-7) = 8
Kcari banding Kberikut = 49 = 49, Maka Ketemu, Probe = 3
1 2 3
4 5 6
7 8 9
Iterasi
3 : 21, 25, 28, 33, 38, 39, 48, [49, 69]
Tidak ada komentar:
Posting Komentar