Tugas lagi.... Hahaha. Tapi yang ini beda. Kalo yang kemaren Makul PBR, kalo yang ane bahas kali ini adalah Makul Sistem Berkas. Ada yang tahu sistem berkas atau bahasa lainnya pengarsipan? Kalo yang udah tahu alhamdulillah. O iya, ada yang belum tahu ya? Hehehehe. Maaf, maaf. Bukan maksudnya mau diskriminasi dengan yang udah tahu (Khan sekarang Negara Indonesia udah nggak ada diskriminasi). Hehehe.
Oke, bagi yang belum tahu. Ane kasih tahu dech, sistem berkas atau pengarsipan adalah suatu sistem yang digunakan untuk mengetahui bagaimana cara menyimpan data dari file tertentu dan organisasi file yang digunakan. Jadi sistem berkas adalah sebuah sistem untuk mengorganisasi file-file yang ada. Nah sekarang udah pada tahu khan. Hehehe...
Nah, yang mau ane bahas tentang sistem berkas adalah organisasi berkas relatif dengan sub-materi pokoknya adalah teknik kalkulasi alamat. Teknik kalkulasi alamat adalah
suatu teknik membuat hitungan sehingga dengan kunci atribut recordnya, alamat filenya dapat diketahui. Masalah yang selalu ada dalam teknik ini adalah membuat sebuah perhitungan yang memungkinkan hitungan dari kunci atribut bisa efisien dalam hal memori dan nilai alamatnya tidak saling berbenturan.
Perhitungan terhadap nilai kunci atribut untuk memperoleh nilai dari suatu alamat disebut dengan fungsi hash. Bisa sich fungsi hash digabungin dengan teknik pencarian tabel, tetapi akan butuh banyak waktu dibanding hanya dengan satu jenis saja (fungsi hash saja atau pencarian tabel saja).
Fungsi hash dianggap baik kalo udah memiliki kalkulasi yang sederhana dan memiliki kelas ekuivalen (synonim) yang kecil, atau intinya, memiliki kalkulasi yang mudah tetapi memiliki benturan alamat yang sedikit. Kalo syarat yang diatas udah terpenuhi pasti bakal jadi gan. Hehehe
Sebenarnya ada beberapa cara untuk ngatasin benturan (collision) penggunaan alamat, tapi kali ini ane hanya membahas mengenai hashing.
Beberapa fungsi hash yang umum digunakan adalah : division remainder, mid square, dan folding.
DIVISION REMAINDER
Inti dari fungsi ini adalah membagi dan sisa pembagian nilai key field dijadikan alamat relatifnya. Tujuan dari fungsi ini adalah agar alamat yang akan digunakan bisa berbeda sekecil mungkin (menghemat memori) dan menghindari benturan yang bakal terjadi.
Ada juga perhitungan faktor muat (load factor) yaitu jika kita memiliki record yang akan disimpan ke dalam memori, maka setidaknya kita menyediakan memori yang kapasitasnya lebih dari jumlah record tersebut. Misalkan, kita memiliki 300 record, maka sebaiknya kita memiliki kapasitas memori sebanyak 400 alamat. Faktor muat ini dihitung dengan cara membagi jumlah record dalam file dengan jumlah maksimum record dalam file (alamat yang tersedia). Semakin besar nilai faktor muat maka semakin baik teknik ini digunakan. Faktor muat untuk contoh di atas adalah 300/400 = 0,75.
MID SQUARE
Teknik ini dilakukan dengan mengkuadratkan nilai key field dan diambil nilai tengahnya sebanyak jumlah digit yang kita inginkan. Misalkan, nilai key-nya = 123456789, setelah dikuadratkan hasilnya = 15241578750190521 dan diambil 5 digit di tengahnya, yaitu 78750. Jadi, alamat memori untuk data tersebut di 78750.
HASING BY FOLDING
Teknik ini dilakukan dengan ’melipat’ nilai dari kunci atribut sebanyak digit yang kita butuhkan, dan kemudian dijumlahkan. Nilai terbesar dari jumlah tersebut dibuang (jika melebihi digit yang dibutuhkan). Misalkan untuk nilai key 123456789, maka empat angka di belakang setelah dilipat menjadi 0976, angka tersebut ditambahkan dengan empat angka kedua (dari kanan) yaitu 2345 dan angka 1 paling kiri :
9876
2345
1
——– +
13221
Maka, alamat dari data tersebut adalah di 13221.
Nah, sekian dulu postingan ane kali ini. Semoga bermanfaat buat kita semua. Oke, seperti biasa, tunggu postingan ane selanjutnya.
Tidak ada komentar:
Posting Komentar