Metode Hash Fungsi Aplikasi kamus Bahasa Dayak Ngaju Indonesia berbasis android menggunakan metode Hash

Java juga dapat digunakan untuk membuat program yang berjalan diberbagai mobile device dengan menggunakan J2ME, PDA, embedded system, dan lain – lain Gambar di bawah ini memperlihatkan keunggulan dari bahasa pemrograman java. Gambar 2.1 Keunggulan Bahasa Pemrograman Java

2.2 Metode Hash

Sekarang telah banyak algoritma dan metode – metode pencarian yang digunakan untuk pengolahan data, terutama jika data tersebut tersedia dalam jumlah banyak. Salah satu metode yang dipergunakan saat ini adalah Metode Hash. Metode Hash atau Hashing adalah proses untuk melakukan kalkulasi pencarian posisi dari kunci pada table yang didasarkan pada nilai dari kunci Java Secure Applications Multiplatform Applications Web Applications GUI - Based Applications Distributed networking Applications Mission - Critical Applications Multithreaded Applications Object - Oriented Applications tersebut Adam Drozdek, 2008. Hashing digunakan sebagai metode untuk menyimpan data dalam sebuah array agar proses penyimpanan data, pencarian data dan penghapusan data dapat dilakukan dengan cepat. Pada hashing ini terjadi proses menghitung posisi record yang di cari dalam array, bukan membandingkan record yang ada dengan isi array. Proses untuk mengkonversi nilai kunci key ke posisi larik atau array di sebut fungsi hash. Sedangkan array atau larik yang digunakan untuk menyimpan data di sebut table hash .

a. Fungsi

Hash Fungsi Hash dilambangkan dengan h bertugas untuk menghitung indeks array yang berasal dari perhitungan kunci indeks array dari perhitungan kunci disebut kode hash. Untuk mencari kunci di dalam tabel hash kita perlu menghitung kode hash kunci tersebut. Ada beberapa fungsi hash yang banyak digunakan saat ini

1. Metode Pembagian Sisa

Division – remainder method Metode pembagian sisa menggunakan jumlah lokasi memori yang tersedia sebagai pembagi untuk membagi nilai yang asli dan menghasilkan sisa bagi. Sisa bagi tersebut adalah nilai hashnya. Secara umum rumus dari fungsi hash ini adalah hk = k mod m , k adalah nilai kunci dan m adalah jumlah lokasi memori yang tersedia pada array larik. Fungsi hash ini akan menempatkan record dengan kunci k pada lokasi memori yang memiliki alamat hk . Sebagai contoh, jika kita ingin menempatkan nomor mahasiswa dengan nomor mahasiswa 65314057 ke dalam table hash. Misalkan memori memiliki 100 buah alamat yang masing – masing alamat terdiri dari 2 karakter : 00…99. Untuk menentukan alamat dari NIM tersebut kita pilih bilangan prima yang dekat dengan 99, misalkan m = 97. Dengan menggunakan fungsi hk = k mod m, diperoleh h 65314057 = 77. Dengan demikian, nomor mahasiswa 65314057 akan disimpan dalam alamat 77.

2. Metode

Midsquare Dalam metode ini, kunci yang diketahui dikuadratkan dan nilai tengah dari hasil kuadrat dari kunci tersebut diambil angka tengahnya sebagai alamat. Rumus untuk metode midsquare adalah sebagai berikut : hk= l nilai l diperoleh dengan menghapus digit – digit angka pada dua sisi dari k 2 , dengan catatan bahwa banyak digit di sebelah kiri dan sebelah kanan harus sama. Jika jumlah digit tidak sama, jika tidak sama maka digit angka disebelah kiri seolah – olah ditambahkan dengan angka nol. Sehingga menghasilkan alamat yang benar. Sebagai contoh, ketika ingin menentukan alamat untuk nilai k = 65314057, adalah dengan mengkuadratkan nilai k tersebut kemudian mengambil nilai tengah dari hasil dari k 2 tersebut. k = 65314057 k 2 = 4265926|04|1799249 hk = 04 b. Resolusi Collision Tabrakan Dalam memasukan nilai kunci ke alamat dapat timbul kemungkinan bahwa rekamanrecord dengan nilai kunci yang sama dimasukan pada satu alamat rekaman yang sama. Kita harus memiliki satu cara untuk mengatasi tabrakan yang mungkin terjadi, yang disebut dengan collision resolution. Cara yang baik untuk mengatasi adanya tabrakan antarai lain dengan perbandingan banyaknya data kunci n dalam k , dan banyaknya alamat hashm dalam l array atau larik. Perbandingan ini memiliki rumus, . kemampuan fungsi hash yang dilengkapi dengan prosedur untuk mengatasi tabrakan diukur dengan adanya perbandingan kunci yang diperlukan untuk mencari alamat dari rekaman yang mempunyai kunci k. efesiensi terhadap faktor beban dan diukur menggunakan dua besaran berikut ini : B  = rata – rata probe untuk pencarian yang berhasil G  = rata – rata probe untuk pencarian yang gagal 1. Open Addressing Pengalamatan Terbuka Di dalam metode pengalamatan terbuka, ketika kunci bertabrakan dengan kunci yang lain. Tabrakan dapat diselesaikan dengan menemukan tabel alamat hash yang kosong. Jika ternyata alamat hash sudah terisi, maka harus dicari alamat lain yang masih kosong. Ada beberapa cara yang digunakan untuk mengatasi tabrakan dengan open addressing sebagai berikut : a. Linear probing Cara termudah adalah dengan menggunakan linear probing, yaitu dengan mencari alamat berikutnya yang masih kosong. Dengan rumus : Keterangan : h = Index pada table hash m = Panjang table hash h+1 mod m Berikut adalah contoh kasus untuk LinearProbing , jika data 7, 13, 25, 27 ingin dimasukan ke dalam table hash dengan m = 13. Gambar 2.2 Contoh Linear Probing Tabrakan yang terjadi pada data 39 di indeks 0 diselesaikan dengan bergeser ke indeks 1. Karena indeks 1 juga telah terisi maka data 39 bergeser ke indeks 2. Karena indeks 2 masih kosong maka data 39 dapat dimasukkan.

b. Quadratic Probing