sistem berkas

Upload: srandals-insiders-preman-ganefo

Post on 13-Jul-2015

1.641 views

Category:

Documents


4 download

TRANSCRIPT

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 AksesSistem 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 BerkasSistem 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).

AlgoritmaAlgoritma 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 BerkasContoh algoritma yang berbentuk pseudo-code dengan menggunakan pascal : Var H, J, Total : Integer; Begin Write (Masukkan Harga Write (Masukkan Jumlah Total := H*J; Write (Total Bayar Readln End. :, Total); :); Readln (H); :); Readln (J);

Media PenyimpananAgar 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 BerkasPosisi 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 FILEPengertian Organisasi BerkasOrganisasi 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 BerkasApplication Program

Logical File System

File Organization Module

Basic File System

I / O Control

Device

Asumsi Organisasi BerkasDalam 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 BerkasAspek 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 MemoriAspek 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 Pilihan :p>n : - 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 SEKUENSIALBerkas SekuensialPenyimpanan 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 Mieke Indra P. Yuliana Ardhi Mira Dian W. Angky Nim 0124 0110 0134 0257 0549 0212 0145 Jurusan Sistem Informasi Teknik Informatika Teknik Informatika Sistem Informasi Teknik Informatika Sistem Informasi 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 rekamanrekaman tersebut harus diurutkan berdasrkan kunci tertentu. Dalam contoh ini, yang 9

Prind Triajeng Pungkasanti, S.Kom.

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

Tabel 3.2. Berkas mahasiswa urut Nama Indra P. Mieke Yuliana Angky Dian W. Ardhi Mira Nim 0110 0124 0134 0145 0212 0257 0549 Jurusan Teknik Informatika Sistem Informasi Teknik Informatika Sistem Informasi Sistem Informasi Sistem Informasi 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 BinerJumlah 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 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.

10

Prind Triajeng Pungkasanti, S.Kom.

Sistem Berkas Pencarian InterpolasiBerbeda 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 Soal1. 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 rataratanya. 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 Berkas5 20 Data 40 50 100 0 1 2 3 4 Address dimulai dari 0

Jawaban no. 2 (Metode Sekuensial) Data Langkah Address Data M (Address) 40 1 2 3 0 1 2 5 20 40 Data : M (Address) > > = 40 : 5 40 : 20 40 : 40 > > = Keterangan

50

1 2 3 4

0 1 2 3

5 20 40 50

> > > =

50 : 5 50 : 20 50 : 40 50 : 50

> > > =

100

1 2 3 4 5

0 1 2 3 4

5 20 40 50 100

> > > > =

100 : 5 100 : 20 100 : 40 100 : 50 100 : 100

> > > > =

Rata-rata = langkah 40 + langkah 50 + langkah 60 3 =3+4+5 3 = 4 langkah.

12

Prind Triajeng Pungkasanti, S.Kom.

Sistem BerkasJawaban no. 3 (Metode Biner) Data Langkah Lower Upper M (t) Data : M (Address) 40 1 0 4 40 = 40 : 40 = Keterangan

50

1 2

0 2 + 1= 3

4 4

40 50

> =

50 : 40 50 : 50

> =

100

1 2 3

0 2+1=3 3+1=4

4 4 4

40 50 100

> > =

100 : 40 100 : 50 100 : 100

> > =

Rata-rata = 1 + 2 + 3 3 Keterangan :

= 2 langkah.

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 BerkasContoh : Untuk mencari 50, mengapa lower yang ditambah 1 ( 2 + 1 = 3 ) ?

5 20 40 50 100

0 1 2 3 4

Agar tidak membingungkan, maka address 0 dan 1 dieliminasi atau tidak diperhatikan, sehingga kunci tengah ( 2 ) menjadi lower dengan ditambah 1.

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 (100 5) 40 =

50

1

0

4

0 + (50 5) * (4 0) = 1,9 = 2 (100 5)

40

>

2

2+ 1= 3

4

3 + (50 5) * (4 3) = 3 (100 5)

50

=

100

1

0

4

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

100

=

Rata-rata = 1 + 2 + 1 3

= 1,3 langkah.

14

Prind Triajeng Pungkasanti, S.Kom.

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

Soal1. 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 rataratanya!. 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 LANGSUNGMetode 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 UnikUntuk 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 KunciSalah 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 Berkasdisebut 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 Berkassedangkan 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 Soal1. 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 KOLISILatar BelakangMekanisme 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 KolisiMerubah 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 HashingAdalah metode resolusi yang menggunakan penunjuk untuk menghubungkan elemenelemen dari sebuah rantai sinonim. Algoritma yang digunakan adalah :

19

Prind Triajeng Pungkasanti, S.Kom.

Sistem Berkas1. 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 medanpenghubung 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 38 51 40 61 83 24 60 Kunci mod 11 38 mod 11 = 5 51 mod 11 = 7 40 mod 11 = 7 61 mod 11 = 6 83 mod 11 = 6 24 mod 11 = 2 60 mod 11 = 5

20

Prind Triajeng Pungkasanti, S.Kom.

Sistem BerkasTabel 5.2. Langkah Kerja Metode Coalesced Hashing Berkas KosongAlmt 0 1 2 3 4 5 6 7 8 9 10

Penyisipan 38Almt 0 1 2 3 4 5 6 7 8 9 10

Penyisipan 51Almt 0 1 2

Rekam

Penghub ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^

Rekam

Penghub ^ ^ ^ ^ ^

Rekam

Penghub ^ ^ ^

3 4 5 6 7 8 9 10

^ ^ 38 ^ ^ 51 ^ ^ ^ ^

38

^ ^ ^ ^ ^ ^

Penyisipan 40Almt 0 1 2 3 4 5 6 7 8 9 10

Penyisipan 61Almt 0 1 2 3 4 5 6 7 8 9 10

Penyisipan 83Almt 0 1 2 3 4 5 6 7 8 9 10

Rekam

Penghub ^ ^ ^ ^ ^

Rekam

Penghub ^ ^ ^ ^ ^

Rekam

Penghub ^ ^ ^ ^ ^

38

^ ^

38 61 51

^ ^ 10 ^ ^

38 61 51

^ 9 10 ^

51

10 ^ ^

83 40

^ ^

40

^

40

^

21

Prind Triajeng Pungkasanti, S.Kom.

Sistem BerkasPenyisipan 24Almt 0 1 2 3 4 5 6 7 8 9 10

Penyisipan 60Almt 0 1 2 3 4 5 6 7 8 9 10

Rekam

Penghub ^ ^

Rekam

Penghub ^ ^

24

^ ^ ^

24

^ ^ ^

38 61 51

^ 9 10 ^

38 61 51 60 83 40

8 9 10 ^ ^ ^

83 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 OverflowKerugian 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 BerkasProgressive 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 38 51 40 61 83 24 60 Kunci mod 11 38 mod 11 = 5 51 mod 11 = 7 40 mod 11 = 7 61 mod 11 = 6 83 mod 11 = 6 24 mod 11 = 2 60 mod 11 = 5

23

Prind Triajeng Pungkasanti, S.Kom.

Sistem BerkasTabel 5.4. Langkah Kerja Metode Progressive Overflow Sisip 38Almt 0 1 2 3 4 5 6 7 8 9 10

Sisip 51Almt 0 1 2 3 4

Sisip 40Almt 0 1 2 3 4

Sisip 61Almt 0 1 2 3 4

Kunci

Kunci

Kunci

Kunci

38

5 6 7 8 9 10

38

5 6

38

5 6

38 61 51 40

51

7 8 9 10

51 40

7 8 9 10

Sisip 83Almt 0 1 2 3 4 5 6 7 8 9 10

Sisip 24Almt 0 1 2 3 4

Sisip 60Almt 0 1

Kunci

Kunci

Kunci

24

2 3 4

24

38 61 51 40 83

5 6 7 8 9 10

38 61 51 40 83

5 6 7 8 9 10

38 61 51 40 83 60

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

Prind Triajeng Pungkasanti, S.Kom.

Sistem BerkasKeterangan : 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 LinierPembagian 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 38 51 40 61 83 24 60 Kunci mod 11 38 mod 11 = 5 51 mod 11 = 7 40 mod 11 = 7 61 mod 11 = 6 83 mod 11 = 6 24 mod 11 = 2 60 mod 11 = 5 Kunci div 11 38 div 11 = 3 51 div 11 = 4 40 div 11 = 3 61 div 11 = 5 83 div 11 = 7 24 div 11 = 2 60 div 11 = 5

25

Prind Triajeng Pungkasanti, S.Kom.

Sistem BerkasTabel 5.6. Langkah Kerja Metode Linier Quotient Sisip 38Almt 0 1 2 3 4 5 6 7 8 9 10

Sisip 51Almt 0 1 2 3 4

Sisip 40Almt 0 1 2 3 4

Sisip 61Almt 0 1 2 3 4

Kunci

Kunci

Kunci

Kunci

38

5 6 7 8 9 10

38

5 6

38

5 6

38 61 51

51

7 8 9 10

51

7 8 9

40

10

40

Sisip 83Almt 0 1 2 3 4 5 6 7 8 9 10

Sisip 24Almt 0 1

Sisip 60Almt 0 1

Kunci

Kunci

Kunci

83

2 3 4

83

2 3

83

24 38 61 51

4 5 6 7 8 9

24 38 61 51

38 61 51

5 6 7 8 9

60 40

40

10

40

10

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

Prind Triajeng Pungkasanti, S.Kom.

Sistem BerkasKeterangan : 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.

Soal1. 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 BERINDEKSPendahuluanBerkas 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 DasarPada 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 BerkasNomor track 0 1 2 3 25 7 28 73 1 9 38 75 70 15 55 79 2 20 57 80 85 25 70 85 3

25

^ 12 41 77

70

^ 22 65 83

85

^

Penyimpanan overflow 1 9 Gambar 6.1. Struktur awal berkas sekuensial berindeks 2 3 4

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 RekamanPada 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.