You are on page 1of 29

Sistem Berkas

I. PENDAHULUAN

Data merupakan asset penting dalam organisasi. Berbagai pendapat yang berkaitan dengan

sistem computer yang fontemporer adalah : perangkat keras memiliki umur yang singkat,

perangkat lunak memiliki umur yang lebih panjang, sedangkan data memiliki umur yang

paling panjang.

Disk pada umumnya adalah peralatan yang diakses secara random yang memungkinkan

pembacaan kembali sejumlah rekaman dengan waktu pembacaan yang tidak bergantung

pada posisi dimana rekaman disimpan.

Hal yang paling penting berkaitan dengan rekaman dan berkas adalah kinerja berkas.

Pertama, bisa diasumsikan bahwa berkas memiliki sifat dinamis. Sekali berkas diciptakan,

berkas tersebut akan di-update secara berkelanjutan; rekaman baru ditambahkan dan

rekaman yang sudah ada dimodifikasi atau dihapus. Asumsi berikutnya adalah rekaman

disimpan hanya dengan tujuan untuk dibaca kembali pada masa mendatang.

Pengertian Berkas dan Akses

Sistem berkas atau pengarsipan adalah :


Suatu sistem untuk mengetahui bagaimana cara menyimpan data dari suatu file tertentu
dan organisasi file yang digunakan.

Sistem akses adalah :


Cara untuk mengambil informasi dari suatu file.

Jadi pengarsipan dan akses adalah :


“Cara untuk membentuk suatu arsip / file dan cara pencarian record-recordnya
kembali.”

1
Prind Triajeng Pungkasanti, S.Kom.
Sistem Berkas

“Sistem berkas dan akses adalah sistem pengoperasian, pengelolaan dan penyimpanan
data pada alat penyimpanan eksternal dengan organisasi file tertentu.”
“Teknik yang digunakan untuk menggambarkan dan menyimpan record pada file
disebut organisasi file.”

Pengarsipan dan akses berhubungan dengan :


a. Insert : Menyisipkan data baru atau tambahan kedalan tumpukan data
lama.
b. Up-date : Mengubah data lama dengan data baru, perubahan ini bias sebagian
atau keseluruhan.
c. Reorganisasi : Penyusunan kembali record-record dari suatu file (untuk jumlah
data tetap).

Algoritma

Algoritma untuk pengolahan data selalu dikaitkan dengan struktur untuk


mengorganisasikan data. Terdapat dua bentuk algoritma, yaitu : bentuk kalimat-kalimat
sederhana seperti resep masakan dalam buku-buku tata boga, dan yang kedua, dalam
bentuk pseudo-code.

Contoh algoritma yang berbentuk kalimat untuk menghitung total bayar penjualan :
1. Mulai.
2. Definisi tipe-tipe data untuk ; H, J, dan Total = Integer.
3. Masukkan harga barang.
4. Masukkan jumlah barang.
5. Hitung Total = H x J.
6. Tampilkan Total Bayar.
7. Selesai.

2
Prind Triajeng Pungkasanti, S.Kom.
Sistem Berkas

Contoh algoritma yang berbentuk pseudo-code dengan menggunakan pascal :


Var
H, J, Total : Integer;
Begin
Write (‘Masukkan Harga :’); Readln (H);
Write (‘Masukkan Jumlah :’); Readln (J);
Total := H*J;
Write (‘Total Bayar :’, Total);
Readln
End.

Media Penyimpanan

Agar suatu data dan berkas dapat diakses, maka dibutuhkan sebuah media penyimpanan.
Media seperti pita magnetis hanya dapat digunakan secara sekuensial, sementara disk
magnetis memiliki kemampuan akses baik secara sekuensial, random, maupun langsung.
Teknologi media penyimpanan dapat dikelompokkan menjadi dua tipe, yaitu :
1. Penyimpanan primer (primary memory / storage).
2. Penyimpanan pendukung (auxiliary memory / storage) atau penyimpanan sekunder
(secondary storage).

Ada beberapa faktor yang berkaitan dengan keberadaan tipe-tipe media penyimpanan,
yaitu:
Tidak semua informasi dapat ditampung dalam penyimpanan primer berkecepatan
tinggi.
Keterbatasan secara fisik dan ekonomi.
• Fisik : besarnya kapasitas penyimpanan primer ditentukan oleh
skema pengamatan oleh sistem komputer.
• Ekonomis : harga murah, tetapi masih belum menyamai penyimpanan
sekunder.

3
Prind Triajeng Pungkasanti, S.Kom.
Sistem Berkas

• Penyimpanan Primer : akses sangat cepat, tetapi harga per bitnya jauh lebih
mahal dibandingkan penyimpanan sekunder dan
kapasitasnya lebih kecil.
• Penyimpanan Sekunder : kecepatan akses lebih murah, kapasitas lebih besar tetapi
lebih lambat.

1. Penyimpanan Primer
Penyimpanan primer biasanya diimplementasikan dengan menggunakan teknologi
semikonduktor. Teknologi lain yang digunakan sebagai penyimpanan primer adalah
komponen yang diberi muatan, seperti kapasitor.
Property dari penyimpanan primer antara lain adalah dapat diakses dengan cepat, harga
mahal, dan kapasitas yang kecil, namun penyimpanan primer memiliki keistimewaan
yaitu, sembarang alamat dapat diakses dari sembarang alamat lainnya dalam waktu
yang konstan.

2. Penyimpanan Sekunder
Akses terhadap informasi yang disimpan dalam penyimpanan primerbersifat elektronis
dan terjadi hamir mendekati kecepatan sinar. Sementara itu, penyimpanan sekunder
bersifat nonvolatile (tidak membutuhkan tenaga listrik) dan tetap menyimpan data
meskipun computer dalam keadaan OFF.

Media penyimpanan ini dibedakan menjadi 3, yaitu :


Mechanical Storage (penyimpanan mekanis).
Magnetic Tape (tape magnetic).
Magnetic Disk (disk magnetic).

Penyimpanan mekanis, jenisnya seperti punch card (Hollerith Card) dan paper tape.
Teknologi card digunakan awal tahun 1890, digunakan untuk menyusun table dalam
perhitungan komersil. Karakteristik dari penyimpanan mekanis adalah :
ƒ Penulisan data dilakukan pelubangan kartu untuk menyandikan satu karakter per
kolom.

4
Prind Triajeng Pungkasanti, S.Kom.
Sistem Berkas

ƒ Posisi card adalah 80 kolom dan 12 bit.


ƒ Paper tape digunakan untuk menyimpan pesan komunikasi dan untuk merekam
baris data dari instrument pengukur.
ƒ Hanya sekali digunakan untuk perekaman data.
ƒ Secara ekonomis mahal.

Tape magnetic merupakan media penyimpanan utama pada pemakaian computer


generasi pertama tahun 1950an. Media ini dibuat dari satu pita tape tipis dengan
material lapisan magnetic yang sangat halus yang digunakan untuk merekam data
analog atau data digital. Media ini digunakan untuk mengakses secara serial. Seperti
pada kaset tape, informasi yang disimpan bisa diproses kembali atau diulang kembali
setiap waktu, informasi tersebut juga dapat dihapus atau digunakan kembali.
Karakteristik dari media ini adalah :
1. Lebar pita 0,5 inchi.
2. Tebal pitanya 0,15 inchi dengan panjang 300, 600, 1200, 2400 feet.
3. Kapasitas dinyatakan dengan bpi (bit per inchi) yang diukur setiap track.

Disk magnetic merupakan piranti masukkan / keluaranyang paling banyak digunakan


saat ini. Kelebihan dari tape magnetic yang lain adalah mudah dipelihara, tidak terlalu
sensitive serta organisasi file yang digunakan adalah organisasi langsung. Contoh,
disket.

5
Prind Triajeng Pungkasanti, S.Kom.
Sistem Berkas

II. ORGANISASI FILE

Pengertian Organisasi Berkas

Organisasi berkas adalah teknik yang digunakan untuk menyimpan dan mengakses file/
berkas. Fungsi dari mengorganisasikan berkas adalah agar data yang disimpan dalam
memori/ storage menjadi terstruktur sehingga efisien dan efektif bila dilakukan
pengaksesan.
System operasi menyediakan system berkas agar data mudah disimpan, diletakkan, dan
diambil kembali dengan mudah. Terdapat dua masalah desain dalam membangun suatu
system berkas, yaitu :
Definisi dari system berkas,
Mencakup definisi berkas dan atributnya, operasi ke berkas, dan struktur direktori
dalam mengorganisasikan berkas-berkas.
Membuat algoritma dan struktur data,
Yang memetakan strukturlogikal system berkas ketempat penyimpanan sekunder.

Pada dasarnya system berkas tersusun atas beberapa tingkatan, yaitu (dari yang terendah) :
ƒ I/O Control, terdiri atas driver device dan interrupt handler. Driver device adalah
perantara komunikasi antara system operasi dengan perangkat keras.
ƒ Basic File System, diperlukan untuk mengeluarkan perintah generic ke device driver
untuk baca dan tulis pada suatu blok dalam disk.
ƒ File – Organization Module, informasi tentang alamat logika dan alamat fisik dari
system berkas tersebut. Modul ini juga mengatur sisa disk dengan melacak alamat yang
belum dialokasikan dan menyediakan alamat tersebut saat user ingin menulis berkas
dalam disk.
ƒ Logical File System, tingkat ini berisi informasi tentang symbol nama berkas, struktur
dari direktori, dan proteksi dan sekuriti dari berkas.

6
Prind Triajeng Pungkasanti, S.Kom.
Sistem Berkas

Application Program

Logical File System

File – Organization Module

Basic File System

I / O Control

Device

Asumsi Organisasi Berkas

Dalam organisasi berkas, digunakan beberapa asumsi seperti :


• Divisualisasi sebagai array yang berisi data.
• Memori berukuran P mempunyai nilai 0 … P-1, disajikan dengan M (0 … P-1).
• Data yang disimpan berupa record dalam basis data.
• Setiap record diwakili dengan kunci.

Aspek Organisasi Berkas

Aspek dalam organisasi berkas terdiri dari :


1. Ukuran Memori, yaitu menentukan prediksi / perkiraan besarnya ukuran memori.
2. Metode Simpanan, metode yang digunakan untuk menyimpan data dalam
penyimpanan / storage.
3. Metode Cari, metode yang digunakan untuk mengakses data dalam storage.

7
Prind Triajeng Pungkasanti, S.Kom.
Sistem Berkas

Penentuan Besar Memori

Aspek organisasi berkas yang pertama adalah penentuan besar atau ukuran memori. Hal ini
disebabkan agar ukuran memori yang digunakan atau disediakan oleh system menjadi
efisien dan efektif.
Kriteria yang harus diperhatikan adalah :
ƒ Banyak data yang harus disimpan diketahui/ diprediksi.
ƒ Penentuan ukuran memori jika dimisalkan banyak data yang disimpan adalah n maka :
Wajib :p>n
Pilihan : - p bilangan prima terdekat dari n.
- Faktor muatan yaitu : f = n/p, dengan n = volume data, p = volume
memori.

Contoh :
Jika terdapat 50 kursi, dengan penumpang 40, maka :
F = n/p => 40/50 = 80%

1. Jika jumlah tiket yang terjual 30, sedangkan jumlah tiket yang disediakan
70, berapa % tiket tersebut terjual?
2. Suatu flash disk telah digunakan sebanyak 30% dari kapasitas sebesar 256.
3. Berapa besar kapasitas sebuah pesawat terbang apabila jumlah penumpang
81 orang, merupakan 75% dari kapasitas yang seharusnya.
4. Berapa % tempat yang digunakan untuk beasiswa, dimana sudah 215 orang
yang mendaftar, sedangkan beasiswa digunakan untuk 264 orang.

8
Prind Triajeng Pungkasanti, S.Kom.
Sistem Berkas

III. BERKAS SECARA SEKUENSIAL

Berkas Sekuensial

Penyimpanan berkas secara sekuensial dilakukan secara berurutan. Data yang disimpan,
diurutkan berdasarkan urutan pemasukan data (urut berdasarkan nomor record). Melakukan
akses secara sekuensial, berarti proses akan berpindah dari satu record ke record berikutnya
secara langsung.
Dalam berkas sekuensial, rekaman yang ke i + 1 akan diletakkan tepat sesudah rekaman ke
i, sebagai contoh :
1 2 3 …... i i+1 i+2 …….. n+1 n
Gambar 3.1. Susunan berkas sekuensial

Berikut ini merupakan contoh penyimpanan dan pengaksesan berkas sekuensial, dengan
mengambil contoh nama mahasiswa, nim dan jurusan masing-masing.

Tabel 3.1. Berkas mahasiswa


Nama Nim Jurusan
Mieke 0124 Sistem Informasi
Indra P. 0110 Teknik Informatika
Yuliana 0134 Teknik Informatika
Ardhi 0257 Sistem Informasi
Mira 0549 Teknik Informatika
Dian W. 0212 Sistem Informasi
Angky 0145 Sistem Informasi

Bila diinginkan nama mahasiswa Yuliana untuk ditampilkan, maka sistem akan membaca
rekaman dengan nama mahasiswa = Yuliana. Maka diperlukan probe (akses terhadap
lokasi yang berbeda) sejumlah 3 kali.
Dalam metode sekuensial, agar kinerja pembacaan rekaman lebih baik, maka rekaman-
rekaman tersebut harus diurutkan berdasrkan kunci tertentu. Dalam contoh ini, yang

9
Prind Triajeng Pungkasanti, S.Kom.
Sistem Berkas

digunakan dalam bentuk pengurutan adalah nim. Karena nim bersifat unik. Sehingga tabel
mahasiswa menjadi :

Tabel 3.2. Berkas mahasiswa urut


Nama Nim Jurusan
Indra P. 0110 Teknik Informatika
Mieke 0124 Sistem Informasi
Yuliana 0134 Teknik Informatika
Angky 0145 Sistem Informasi
Dian W. 0212 Sistem Informasi
Ardhi 0257 Sistem Informasi
Mira 0549 Teknik Informatika

Dari tabel 3.2 terlihat bahwa data telah diurutkan dari kecil ke besar berdasarkan nim.
Dengan demikian, hanya n/2 rekaman yang perlu diperiksa untuk menentukan rekaman
yang diinginkan. Karena kalau pembacaan diteruskan sampai melewati posisi dimana
rekaman seharusnya berlokasi (karena sudah diurutkan), maka proses pencarian dihentikan.
Namun teknik ini dirasa kurang memuaskan, untuk berkas dengan jumlah rekaman yang
sangat besar.

Pencarian Biner

Jumlah probe (yang diperlukan untuk membaca sebuah rekaman) pada sebuah berkas
dengan rekaman yang sudah diurutkan, dapat diperkecil dengan menggunakan teknik
pencarian biner.
Jika kunci cari < kunci tengah, maka bagian berkas dimulai dari kunci tengah sampai akhir berkas
dieliminasi. Sebaiknya, jika kunci cari > kunci tengah, maka bagian berkas dimulai dari depan
sampai dengan kunci tengah 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.

10
Prind Triajeng Pungkasanti, S.Kom.
Sistem Berkas

Pencarian Interpolasi

Berbeda dengan pencarian biner yang memilih posisi rekaman yang akan diperbandingkan
berikutnya sebagai tepat berada di tengah sisa berkas yang belum diperiksa, pencarian
interpolasi menentukan posisi yang akan diperbandingkan berikutnya berdasarkan posisi
yang diestimasi dari sisa rekaman yang belum diperiksa. Pencarian interpolasi tidak
mencari posisi TENGAH, namun menentukan posisi berikutnya.
Meskipun pencarian interpolasi memiliki kerumitan dalam perhitungan, namun pencarian
interpolasi memiliki unjuk kerja yang baik untuk rekaman-rekaman yang memiliki kunci
yang mendekati seragam.

Latihan Soal

1. Simpanlah data 40, 5, 20, 50, 100 berikut ini ke dalam memori komputer.
2. Carilah data 40, 50, dan 100 dengan menggunakan metode sekuensial serta hitung pula
rata-ratanya.
3. Carilah data 40, 50, dan 100 dengan menggunakan metode biner serta hitung pula rata-
ratanya.
4. Carilah data 40, 50, dan 100 dengan menggunakan metode interpolasi serta hitung pula
rata-ratanya.

Jawaban no. 1
Seperti yang telah dijelaskan pada awal pembahasan bab 3, data 40, 5, 20, 50, dan 100
disimpan ke dalam memori komputer secara berurutan/sekuensial (gambar 3.1) sehingga,
dalam visualisasi komputer menjadi :
40 5 20 50 100 5 20 40 50 100
Sebelum diurutkan Setelah diurutkan

Untuk menjawab soal no 2, 3 dan 4, maka yang digunakan adalah tabel setelah diurutkan.
Sehingga visualisasi tabel menjadi seperti di bawah ini (Anda boleh menggunakan
visualisasi memori secara horisontal atau vertikal), dengan address dimulai dari 0!.

11
Prind Triajeng Pungkasanti, S.Kom.
Sistem Berkas

5 0
20 1
Data 40 2 Address dimulai dari 0
50 3
100 4

Jawaban no. 2 (Metode Sekuensial)


Data Langkah Address Data M Data : M Keterangan
(Address) (Address)
40 1 0 5 > 40 : 5 >
2 1 20 > 40 : 20 >
3 2 40 = 40 : 40 =

50 1 0 5 > 50 : 5 >
2 1 20 > 50 : 20 >
3 2 40 > 50 : 40 >
4 3 50 = 50 : 50 =

100 1 0 5 > 100 : 5 >


2 1 20 > 100 : 20 >
3 2 40 > 100 : 40 >
4 3 50 > 100 : 50 >
5 4 100 = 100 : 100 =

Rata-rata = langkah 40 + langkah 50 + langkah 60


3
=3+4+5 = 4 langkah.
3

12
Prind Triajeng Pungkasanti, S.Kom.
Sistem Berkas

Jawaban no. 3 (Metode Biner)


Data Langkah Lower Upper M (t) Data : M Keterangan
(Address)
40 1 0 4 40 = 40 : 40 =

50 1 0 4 40 > 50 : 40 >
2 2 + 1= 3 4 50 = 50 : 50 =

100 1 0 4 40 > 100 : 40 >


2 2+1=3 4 50 > 100 : 50 >
3 3+1=4 4 100 = 100 : 100 =

Rata-rata = 1 + 2 + 3 = 2 langkah.
3
Keterangan :
1. Lower adalah address/alamat terendah dalam memori.
2. Upper adalah address/alamat tertinggi dalam memori.
3. Tengah adalah alamat tengah dalam memori, diperoleh dari Lower + Upper.
2
4. Jawaban di atas menggunakan pembulatan ke bawah/round down, tapi bisa juga
menggunakan pembulatan ke atas/round up (tergantung konsekuensi Anda!!).
5. Untuk mempermudah dalam pencarian, ingatlah dengan aturan pencarian biner pada
subbab 3.2, yaitu mengeliminasi kunci-kunci yang tidak terpakai, terutama untuk
menentukan kunci lower, upper dan tengah.

13
Prind Triajeng Pungkasanti, S.Kom.
Sistem Berkas

Contoh :
Untuk mencari 50, mengapa lower yang ditambah 1 ( 2 + 1 = 3 ) ?

5 0 Agar tidak membingungkan, maka address 0 dan 1 dieliminasi atau


20 1 tidak diperhatikan, sehingga kunci tengah ( 2 ) menjadi lower dengan
40 2 ditambah 1.
50 3
100 4

Setelah ditemukan kunci tengah adalah pada address 2, maka untuk mendekati data 50,
address harus digeser ke atas (karena 50 terletak pada address 3). Sehingga upper tetap 4
sedangkan lower adalah berasal dari kunci tengah ( 2 ) ditambah 1 (ditambah 1 atau
dikurangi 1, sebab metode simpan menggunakan sekuensial).

Jawaban no. 4 (Metode Interpolasi)


Data Langkah Lower Upper Tengah M (t) Data :
M (t)
40 1 0 4 0 + (40 – 5) * (4 – 0) = 1,5 = 2 40 =
(100 – 5)

50 1 0 4 0 + (50 – 5) * (4 – 0) = 1,9 = 2 40 >


(100 – 5)
2 2+ 1= 3 4 3 + (50 – 5) * (4 – 3) = 3 50 =
(100 – 5)

100 1 0 4 0 + (100 – 5) * (4 – 0) = 4 100 =


(100 – 5)

Rata-rata = 1 + 2 + 1 = 1,3 langkah.


3

14
Prind Triajeng Pungkasanti, S.Kom.
Sistem Berkas

Keterangan :
1. Tengah = lower + ( data – M ( lower )) * ( upper – lower )
M ( upper) – M (lower)
2. Pembulatan yang digunakan untuk jawaban tersebut adalah pembulatan ke atas.

Soal

1. Simpanlah data 56, 5, 76, 11, 34, 37, 98, 2, 84, 7, 101, 63 berikut ini ke dalam memori
komputer.
2. Carilah data 101, 5, dan 11 dengan menggunakan metode sekuensial serta hitung pula
rata-ratanya!.
3. Carilah data 101, 5, dan 11 dengan menggunakan metode biner serta hitung pula rata-
ratanya!.
4. Carilah data 101, 5, dan 11 dengan menggunakan metode interpolasi serta hitung pula
rata-ratanya!.

15
Prind Triajeng Pungkasanti, S.Kom.
Sistem Berkas

IV. ORGANISASI BERKAS LANGSUNG

Metode pencarian biner maupun interpolasi masih belum dapat mengimbangi


ketidaksabaran manusia terhadap penyediaan informasi yang cepat dan akurat.
Perkembangan media perekaman data yang dapat menampung volume data dalam jumlah
yang besar harus diimbangi dengan peningkatan teknik pencarian kembali data yang
tersimpan.
Dalam bab ini akan membahas menganai berbagai teknik yang digunakan untuk merancang
suatu sistem yang berhubungan dengan penentuan lokasi rekaman yang akan disimpan serta
pembacaan kembali rekaman tersebut.

Kunci Sebagai Alat Rekaman yang Unik

Untuk mendapatkan rekaman yang diasosiasikan dengan suatu kunci primer, sangat
diharapkan agar proses langsung menuju ke alamat tempat rekaman dengan kunci tertentu
disimpan. Hal tersebut hanya mungkin terjadi bila kunci rekaman juga merupakan alat
lokasi rekaman.
Keuntungan dari sistem ini adalah waktu yang dibutuhkan untuk mencari data menjadi
cepat, namun kerugiannya volume ruang penyimpanan yang dibutuhkan sangat besar. Hal
ini terjadi karena harus tersedia 1 lokasi untuk setiap kemungkinan rekaman kunci.

Menentukan Alamat dengan Konversi Kunci

Salah satu usaha yang dilakukan dalam meningkatkan kinerja dalam mengantisipasi
kerugian yang ditimbulkan oleh subbab 4.1 adalah dengan melakukan konversi terhadap
kunci rekaman menjadi satu alamat yang unik (Wahyuni, 2005).
Tidak sebanding antara kunci actual dengan jumlah ruang kunci yang harus disediakan,
merupakan alasan untuk menilai bahwa subbab 4.1 tidak efisien, sehingga diperlukan
sebuah fungsi untuk mengatasi keadaan tersebut. Fungsi ini diberi nama fungsi hash.
Keluaran dari fungsi hashing bukan lagi alamat yang unik, melainkan kemungkinan bagi
alamat yang di hash. Alamat untuk menempatkan rekaman yang diperoleh dari fungsi hash

16
Prind Triajeng Pungkasanti, S.Kom.
Sistem Berkas

disebut home address. Diharapkan fungsi tersebut menghasilkan kemungkinan alamat


yang:
1. Mampu mendistribusikan kunci secara merata ke dalam cakupan alamat. Maksud dari
pendistribusian dalah untuk mengurangi terjadinya kolisi (tabrakan) yang disebabkan
hasil hashing dua kunci rekaman yang berbeda menunjukkan alamat yang sama persis.
2. Dapat dieksekusi dengan efisien, dimaksudkan agar waktu pembacaan menjadi ditekan
seminimal mungkin.

Dalam bab ini diasumsikan bahwa satu lokasi memiliki kapasitas satu rekaman. Sedangkan
untuk mekanisme resolusi kolisi (untuk mencegah terjadinya kolisi) akan dibahas pada bab
tersendiri. Berikut ini beberapa fungsi hash, dimulai dari yang paling sering digunakan :

a. Hashing dengan kunci modulus N

F ( kunci ) = kunci mod N

Fungsi ini merupakan fungsi yang paling popular dan peling sering digunakan. Pada
rumus tersebut, N merupakan ukuran table atau berkas. Hasil fungsi modulus adalah
sisa pembagian kunci dengan N. Keuntungan fungsi ini adalah hanya menghasilkan
nilai dalam rentang ruang alamat 0 sampai dengan N-1.

b. Hashing dengan kunci modulus P

F ( kunci ) = kunci mod P

Fungsi hashing ini merupakan variasi dari fungsi hashing kunci modulus N, dengan P
merupakan bilangan prima terkecil yang lebih besar atau sama dengan N, dan N adalah
ukuran table. P ini kemudian akan menggantikan n sebagai ukuran table yang baru.

c. Hashing dengan pemotongan


Hashing dengan pemotongan tidak mempunyai rumus yang pasti, pemotongan
dilakukan pada bagian yang memiliki kemiripan saja. Dimisalkan nim seseorang yang
terdiri dari 8 digit dengan 4 digit pertama menunjukkan jurusan dan tahun akademik,

17
Prind Triajeng Pungkasanti, S.Kom.
Sistem Berkas

sedangkan 4 digit terakhir adalah nomor yang membedakan mahasiswa yang satu
dengan mahasiswa yang lain. Maka akan lebih midah untuk menjadi kunci hashing
pemotongan adalah bila dari digit tersebut yang dipotong adalah 4 digit pertama, sebab
kemungkinan kemiripannya lebih besar daripada 4 digit terakhir.

Contoh Soal

1. Berapa N bila 25 mod N = 1 ?


Diperoleh dari 25 dibagi 24 menghasilkan 1 dengan sisa 1.
2. Berapa N bila 30 mod N = 2 ?
Diperoleh dari 30 dibagi 14 menghasilkan 2 dengan sisa 2.
3. Berapakah hasil dari 100 mod 9 ?
Diperoleh dari 100 dibagi 9 menghasilkan 11 dengan sisa 1.
4. Berapakah hasil dari 5 mod 2 ?
Diperoleh dari 5 dibagi 2 menghasilkan 2 dengan sisa 1.
5. Bila N = 21, maka 30 mod P = ?
Diperoleh dari 30 dibagi 21 menghasilkan 1 dengan sisa 9.
6. Bila N = 5, maka 25 mod P = ?
Diperoleh dari 25 dibagi 5 menghasilkan 5 dengan sisa 0.

18
Prind Triajeng Pungkasanti, S.Kom.
Sistem Berkas

V. MANAJEMEN KOLISI

Latar Belakang

Mekanisme manajemen kolisi diperlukan untuk mengatasi terjadinya jumlah rekaman yang
dikonversikan ke suatu lokasi melebihi kapasitasnya. Fungsi hash seperti yang telah
dijelaskan pada bab sebelumnya adalah mendistribusikan data secara merata ke dalam
berkas. Jika tujuan tersebut tidak tercapai maka strategi yang digunakan adalah
mengkombinasikan beberapa fungsi sederhana dalam satu aplikasi.
Fungsi hash menurut Wahyuni (2005) yang menghasilkan banyak kolisi dikatakan sebagai
memiliki kluster primer. Makin sedikit kolisi maka semakin sedikit waktu yang diperlukan
untuk mengakses tempat-tempat yang berbeda (probe menjadi sedikit).
Beberapa cara untuk mereduksi kolisi adalah dengan mengganti fungsi hashing atau dengan
mereduksi packing factor (faktor muatan). Rumus faktor muatan telah dijelaskan pada
subbab pada bab 2.

Resolusi Kolisi

Merubah fungsi hashing atau mengurangi faktor muatan akan dapat mengurangi jumlah
kolisi tapi tidak akan mengeliminasi kolisi (Wahyuni,2005). Tujuan utama dari resolusi
kolisi adalah menempatkan rekaman sinonim pada suatu lakasi yang membutuhkan probe
tambahan yang minimum dari home address rekaman tersebut.
Penyelesaian yang dilakukan bila terjadi kolisi adalah memberikan penunjuk pada lokasi
rekaman yang sinonim. Bila terjadi sinonim jamak pada satu home address tertentu, akan
dibentuk rantai rekaman sinonim.

Coalesced Hashing

Adalah metode resolusi yang menggunakan penunjuk untuk menghubungkan elemen-


elemen dari sebuah rantai sinonim. Algoritma yang digunakan adalah :

19
Prind Triajeng Pungkasanti, S.Kom.
Sistem Berkas

1. Lakukan hashing pada semua kunci rekaman yang akan disisipkan untuk mendapatkan
home address atau calon address yang mungkin untuk ditempati oleh rekaman-rekaman
tersebut.
2. Jika home address kosong, sisipkan rekaman pada lokasi tersebut, jika rekaman
ternyata kembar akhiri program dengan pesan "rekaman kembar”, jika tidak ;
a. Cari lokasi terakhir rantai sinonim dengan mengikuti penunjuk pada medan -
penghubung sampai menemukan simbol ^ yang menandakan akhir dari rantai.
b. Cari lokasi paling bawah dalam berkas (atau yang memiliki alamat paling besar).
Jika tidak ditemukan, akhiri program dengan pesan "Berkas Penuh".
c. Sisipkan rekaman ke dalam lokasi yang kosong yang teridentifikasi dan atur medan-
penghubung rekaman terakhir dalam rantai-sinonim agar menunjuk ke lokasi
rekaman yang baru saja disisipkan.

Contoh :
Akan dilakukan penyisipan rekaman-rekaman dengan kunci 38. 51. 40. 61, 83. 24 dan 60
ke dalam berkas dengan kapasitas 11, maka :

Tabel 5.1. Coalesced Hashing

Kunci Kunci mod 11


38 38 mod 11 = 5
51 51 mod 11 = 7
40 40 mod 11 = 7
61 61 mod 11 = 6
83 83 mod 11 = 6
24 24 mod 11 = 2
60 60 mod 11 = 5

20
Prind Triajeng Pungkasanti, S.Kom.
Sistem Berkas
Tabel 5.2. Langkah Kerja Metode Coalesced Hashing

Berkas Kosong Penyisipan 38 Penyisipan 51


Almt Rekam Penghub Almt Rekam Penghub Almt Rekam Penghub
^ ^ ^
0 0 0
1 ^ 1 ^ ^
1
^ ^ ^
2 2 2
^ ^ ^
3 3 3
4 ^ 4 ^ 4
^
^ 38 ^ 38 ^
5 5 5
6
^ ^ ^
6 6
7 ^ 7 ^ 7 51 ^
^ ^ ^
8 8 8
9 ^ ^ ^
9 9
10 ^ 10 ^ 10 ^

Penyisipan 40 Penyisipan 61 Penyisipan 83


Almt Rekam Penghub Almt Rekam Penghub Almt Rekam Penghub
^ ^ ^
0 0 0
1 ^ 1 ^ 1 ^
^ ^ ^
2 2 2
^ 3
^ ^
3 3
4 ^ 4 ^ 4 ^
38 ^ 38 ^ 38 ^
5 5 5
6
^ 6
61 ^ 6
61 9

7 51 10 7 51 10 7 51 10
^ ^ ^
8 8 8
9 ^ 9 ^ 9 83 ^

10 40 ^ 10 40 ^ 10 40 ^

21
Prind Triajeng Pungkasanti, S.Kom.
Sistem Berkas

Penyisipan 24 Penyisipan 60
Almt Rekam Penghub Almt Rekam Penghub
^ ^
0 0
1 ^ 1 ^
24 ^ 24 ^
2 2
3
^ ^
3
4 ^ 4 ^
38 ^ 38 8
5 5
6
61 9 6
61 9

7 51 10 7 51 10
^ 60 ^
8 8
9 83 ^ 9 83 ^

10 40 ^ 10 40 ^

Rata-rata = ( 1 + 1 + 2 + 1 + 2 + 1 + 2 ) / 7 = 1,4

Keterangan :
1. Rekaman dengan kunci 38, kunci 51, kunci 61, kunci 24 langsung, ditempatkan di
alamat 5, 7, 6 dan 2 sesuai dengan home addressnya.
2. Rekaman dengan kunci 40 tidak dapat ditempatkan di alamat 7 sebab alamat tersebut
sudah terisi dengan kunci 51. Lokasi yang masih kosong dengan alamat terbesarlah
yang diisi terlebih dahulu, sehingga 40 ditempatkan pada alamat 10. Penunjuk pada
medan penghubung yang berada di alamat 7 ditujukan ke 10.

Progressive Overflow

Kerugian penggunaan coalesced-hashing adalah diperlukannya penyimpan tambahan untuk


medan-penghubung. Bila penyimpan, tambahan tersebut tidak tersedia, maka penghubung
yang sifatnya fisik tidak dapat disediakan, sehingga perlu dipertimbangkan teknik resolusi
kolisi yang menggunakan suatu bentuk untuk menentukan kemana selanjutnya rekaman
harus dicari.

22
Prind Triajeng Pungkasanti, S.Kom.
Sistem Berkas

Progressive overflow adalah menentukan lokasi di memori dengan melihat apakah lokasi
yang dituju sudah ditempati atau belum. Bila sudah maka dilihat lokasi selanjutnya apakah
masih kosong/terisi, hal ini dilakukan terus menerus sampai diperoleh lokasi kosong untuk
menempatkan rekaman.
Progressive overflow menggunakan home address untuk menempatkan kunci ke dalam
memori. Fungsi hash yang digunakan :

Hash (x) = x mod p

Dengan x adalah kunci, sedangkan p adalah bilangan prima terdekat dari x.

Contoh :
Akan dilakukan penyisipan rekaman-rekaman dengan kunci 38, 51, 40, 61, 83, 24 dan 60 ke
dalam berkas dengan kapasitas 11, maka penyelesaiannya menggunakan metode progressive
overflow sehingga ditentukan dahulu fungsi hashnya :

Tabel 5.3. Progressive Overflow

Kunci Kunci mod 11


38 38 mod 11 = 5
51 51 mod 11 = 7
40 40 mod 11 = 7
61 61 mod 11 = 6
83 83 mod 11 = 6
24 24 mod 11 = 2
60 60 mod 11 = 5

23
Prind Triajeng Pungkasanti, S.Kom.
Sistem Berkas
Tabel 5.4. Langkah Kerja Metode Progressive Overflow

Sisip 38 Sisip 51 Sisip 40 Sisip 61

Almt Kunci Almt Kunci Almt Kunci Almt Kunci

0 0 0 0
1 1 1 1

2 2 2 2
3 3 3 3
4 4 4 4
38 38 38 38
5 5 5 5
6 6
61
6 6
7 7 51 7 51 7 51
40 40
8 8 8 8
9 9 9 9
10 10 10 10

Sisip 83 Sisip 24 Sisip 60


Almt Kunci Almt Kunci Almt Kunci

0 0 0
1 1 1
24 24
2 2 2
3 3 3
4 4 4
38 38 38
5 5 5
6 61 61 6
61
6
7 51 7 51 7 51
40 40 40
8 8 8
9 83 9
83 9 83
10 10 10 60

Rata-rata = ( 1 + 1 + 2 + 1 + 4 + 1 + 6 ) / 7 = 2,3
24
Prind Triajeng Pungkasanti, S.Kom.
Sistem Berkas

Keterangan :
1. Rekaman dengan kunci 38, kunci 51, kunci 61, kunci 24 langsung di tempatkan di
alamat 5, 7, 6 dan 2 sesuai dengan home addressnya.
2. Rekaman dengan kunci 40 tidak dapat ditempatkan di alamat 7 sebab alamat tersebut
sudah terisi dengan kunci 51. Lokasi yang masih kosong diperoleh dengan
menggunakan increament 1 (menaik 1). Lokasi 8 masih kosong sehingga 40
ditempatkan di alamat tersebut. Begitu pula dengan kunci 83 dan 60.

Pembagian Linier

Pembagian Linier atau Linies Quotient adalah merupakan varian dari Progressive
Overflow. Untuk Progressive Overflow bisa inkremennya konstan yaitu 1 sedangkan pada
pembagian linier inkremennya bersifat variabel. Hal ini bertujuan untuk mengurangi probe.
Fungsi hash yang digunakan adalah :

incr (x) = x div p

Tabel 5.5. Linier Quotient

Kunci Kunci mod 11 Kunci div 11


38 38 mod 11 = 5 38 div 11 = 3
51 51 mod 11 = 7 51 div 11 = 4
40 40 mod 11 = 7 40 div 11 = 3
61 61 mod 11 = 6 61 div 11 = 5
83 83 mod 11 = 6 83 div 11 = 7
24 24 mod 11 = 2 24 div 11 = 2
60 60 mod 11 = 5 60 div 11 = 5

25
Prind Triajeng Pungkasanti, S.Kom.
Sistem Berkas
Tabel 5.6. Langkah Kerja Metode Linier Quotient

Sisip 38 Sisip 51 Sisip 40 Sisip 61

Almt Kunci Almt Kunci Almt Kunci Almt Kunci

0 0 0 0
1 1 1 1

2 2 2 2
3 3 3 3
4 4 4 4
38 38 38 38
5 5 5 5
6 6
61
6 6
7 7 51 7 51 7 51

8 8 8 8
9 9 9 9
10 10 10 40 10 40

Sisip 83 Sisip 24 Sisip 60


Almt Kunci Almt Kunci Almt Kunci

0 0 0
1 1 1
83 83 83
2 2 2
3 3 3
4 4 24 4 24
38 38 38
5 5 5
6 61 61 6
61
6
7 51 7 51 7 51

8 8 8
9 9 9 60
10 40 10 40 10 40

Rata-rata = ( 1 + 1 + 2 + 1 + 2 + 2 + 4 ) / 7 = 1,9
26
Prind Triajeng Pungkasanti, S.Kom.
Sistem Berkas

Keterangan :
1. Rekaman dengan kunci 38, kunci 51, kunci 61 langsung di tempatkan di alamat 5, 7 dan
6 sesuai dengan home addressnya.
2. Rekaman dengan kunci 40 tidak dapat ditempatkan di alamat 7 sebab alamat tersebut
sudah terisi dengan kunci 51. Untuk mencari lokasi yang kosong gunakan rumus incr
(x), sehingga lokasi yang kosong ditentukan dengan kenaikan (increment) dari fungsi
hash (x) sebanyak 3 kenaikan, maka Iokasi yang tepat untuk kunci 40 adalah alamat 10.
Begitu pula dengan kunci 83 dan 60.

Soal

1. Sisipkan data dengan menggunakan kunci sebagai berikut 27, 18, 29, 23, 39, 13, 16, 42
dan 17 dengan menggunakan Coalesced Hashing, Progressive Overflow dan Linier
Quotient !
2. Tentukan rata-rata probenya untuk nornor 1 !.
3. Diantara ketiga metode probe milik metode yang manakah yang paling sedikit?
Mengapa?

27
Prind Triajeng Pungkasanti, S.Kom.
Sistem Berkas

VI. ORGANISASI BERKAS SEKUENSIAL BERINDEKS

Pendahuluan

Berkas sekuensial berindeks, menurut Wahyuni (2005) mempunyai 2 sifat, yaitu : (1)
memiliki indeks terhadap berkas sehingga menghasilkan pengaksesan random yang lebih
baik dan (2) area overflow untuk menyediakan ruang bila dilakukan penambahan rekaman
ke dalam berkas.
Hariyanto (2003) mengatakan, bahwa komponen pembentuk file sekuensial berindeks ada
3, yaitu : (1) file utama yang berisi data, (2) indeks, dan (3) overflow. Keunggulan dari file
sekuensial berindeks adalah file dapat diproses secara sekuen maupun langsung secara
efisien.

Struktur Dasar

Pada umumnya rekaman yang akan disimpan mempunyai volume yang besar daripada
penyimpanan primer sehingga diperlukan penyimpan sekunder seperti disk. Struktur dasar
pengamatan dengan menggunakan track sebagai unit terkecil untuk mengelompokkan
informasi. Unit berikutnya dalah silinder, kemudian tercapai unit tambahan yaitu indeks.
Metode yang digunakan adalah ISAM atau Indexed Sequential Access Methods.
Contoh berikut akan memberikan gambaran cara penyimpanan berkas sequensial berindeks.
Terdapat 3 buah silinder yaitu, silinder 1, silinder 2, dan silinder 3. kunci tertinggi terletak
pada silinder 1, yaitu 250. Ilustrasinya adalah sebagai berikut :

Kunci tertinggi pada silinder 1 Silinder 1 Silinder 2 Silinder 3

Indeks silinder

250 250 250 250 250 250

Indeks track (untuk silinder = 1)

28
Prind Triajeng Pungkasanti, S.Kom.
Sistem Berkas

Nomor track

0 25 1 25 ^ 70 2 70 ^ 85 3 85 ^

1 7 9 12 15 20 22 25

2 28 38 41 55 57 65 70

3 73 75 77 79 80 83 85

Penyimpanan overflow

1 2 3 4

Gambar 6.1. Struktur awal berkas sekuensial berindeks

Keterangan :
1-0 menunjukkan notasi x-y, dengan x adalah nomor silinder sedangkan y adalah nomor
track. Sehingga 1-0 diartikan sebagai track 0 pada silinder 1. Pada saat ini nilai kunci
tertinggi pada area primer sama dengan kunci tertinggi pada area overflow, sebab belum
dilakukan penyisipan rekaman yang dialokasikan pada area overflow. Simbol ^ pada
penunjuk overflow mengindikasi bahwa tidak ada rekaman dalam area overflow.

Penyimpanan Rekaman

Pada saat melakukan penyisipan, urutan harus tetap dipertahankan untuk mempertahankan
mekanisme pembacaan. Hal ini berarti pada saat menyisipkan rekaman, rekaman tersebut
dialokasikan pada posisi yang tepat. Pada gambar 6.1 rekaman overflow dialokasikan pada
track 9. untuk memperjelas penjelasan di atas, lakukan penyisipan rekaman dengan kunci
13 pada struktur awal gambar 6.1.

29
Prind Triajeng Pungkasanti, S.Kom.

You might also like