Upload
afinzdi-deathhollow
View
143
Download
0
Embed Size (px)
Citation preview
Algoritma Collision Hashing Type Lisch dan Eisch Topik Khusus Bisnis Intelegensi
Nama Kelompok
1. Afif Nuzia A. ( 11043027 )2. Glendies Goes G. ( 11043058 )3. Wahyuni ( 11043169 )4. Miranti Kartika K. ( 11043175 )
Hashing
Merupakan metode pengaksesan data yang dilakukan dengan cara memetakan/ mengkonversikan himpunan kunci record menjadi himpunan alamat memori (posisi subscript dalam larik), sehingga range address menjadi kecil.
Collision
Terjadinya tabrakan dalam penempatan nilai kunci pada nomor indeks tabel alamat memori yang sama. Fungsi hash yang memberikan kemungkinan semakin kecil terjadinya collision berarti fungsi hash tersebut semakin baik.
Metode Coalesced Hashing Tipe Lisch
Langkah penyelesaian sebagai berikut :1. Menggunakan link.2. Link menunjuk ke alamat kunci yang mengalami
collision.3. Nilai kunci yang mengalami collision ditempatkan pada
bagian akhir tabel.4. Fungsi hash yang digunakan adalah H(K)= K MOD P,
dimana P adalah bilangan prima terkecil yang lebih dari jumlah kunci.
5. P merupakan ukuran tabel indeks.
Metode Coalesced Hashing Tipe Eisch
Langkah penyelesaian sebagai berikut :1. Mirip dengan coalesced hashing tipe LISCH.2. Perbedaanya, dalam tipe ini jika terjadi lebih dari satu
kali collision, maka nilai kunci terakhir yang mengalami collision akan ditunjuk langsung oleh home address.
Contoh Perhitungan1
Contoh 1
Jika diketahui nilai-nilai kunci sebagai berikut :27, 18, 29, 28, 39, 13, 16Maka penempatan setiap nilai kunci akan dilakukan sebagai berikut ini.Penyelesaian :N=7, P=11, alamat indeks: 0 s/d 10
Perhitungan:H(27) = 27 MOD 11 = 5H(18) = 18 MOD 11 = 7H(29) = 29 MOD 11 = 7 (collision) (ditempatkan pada akhir tabel yang kosong) indeks 10 masih kosong sehingga H(29) di indeks 10 home address 7 diberi link ke indeks 10
Contoh 1
H(28) = 28 MOD 11 = 6H(39) = 39 MOD 11 = 6 (collision) (ditempatkan pada akhir tabel yang kosong)
indeks 9 masih kosong sehingga H(39) di indeks 9home address 6 diberi link ke indeks 9
H(13) = 13 MOD 11 = 2H(16) = 16 MOD 11 = 5 (collision)
(ditempatkan pada akhir tabel yang kosong)indeks 8 masih kosong sehingga H(16) di indeks 8home address 5 diberi link ke indeks 8
Contoh 1
Rata-rata untuk akses suatu nilai kunci adalah:=(7+3)/7 = 10/7 = 1,42Keterangan :7: Langkah penempatan setiap kunci pada home address3: Langkah penempatan kunci 16, 39, 29 (mengalami collision)
Record Kunci Link0
1
2 13
3
4
5 27 8
6 28 9
7 18 10
8 16
9 39
10 29
Contoh 1
Permasalahan:Sisipkan nilai kunci 42 dan 17 menggunakan tipe Lisch dan Eisch
Tipe LischH(42) = 42 MOD 11 = 9 (collision)
(ditempatkan pada akhir tabel yang kosong)indeks 4 masih kosong sehingga H(42) di indeks 4home address 9 diberi link ke indeks 4
H(17) = 17 MOD 11 = 6 (collision)(ditempatkan pada akhir tabel yang kosong)indeks 3 masih kosong sehingga H(17) di indeks 3home address 4 diberi link ke indeks 3
Contoh 1
Rata-rata untuk akses suatu nilai kunci setelah penyisipan kunci 42 dan 17 adalah:=(9+4+3)/9 = 16/9 = 1,78Keterangan :9: Langkah penempatan setiap kunci pada home address4: Langkah penempatan kunci 16, 39, 29, 42 (mengalami collision)3: Langkah penempatan kunci 17 (home address 6, pindah ke indeks 3, link)
Record Kunci Link0
1
2 13
3 17
4 42 3
5 27 8
6 28 9
7 18 10
8 16
9 39 4
10 29
Contoh 1
Tipe EischCatatan: karena mulai nilai kunci 27 hingga 16 tidak ada collision yang lebih dari 1 kali, maka penempatannya sama dengan tipe LISCH.
H(42) = 42 MOD 11 = 9 (collision)(ditempatkan pada akhir tabel yang kosong)indeks 4 masih kosong sehingga H(42) di indeks 4home address 9 diberi link ke indeks 4
H(17) = 17 MOD 11 = 6 (collision)(terjadi collision lebih dari 1 kali pada home address 6, maka alamat akan di link secara langsung dari home address ,yaitu 6)indeks 3 masih kosong sehingga H(17) di indeks 3home address 6 diberi link ke indeks 3
Contoh 1
Rata-rata untuk akses suatu nilai kunci setelah penyisipan kunci 42 dan 17 adalah:=(9+6)/9 = 15/9 = 1,67Keterangan :9: Langkah penempatan setiap kunci pada home address6: Langkah penempatan kunci 16, 39, 29, 42, 17, 17 (mengalami collision)
Record Kunci Link0
1
2 13
3 17 9
4 42
5 27 8
6 28 3
7 18 10
8 16
9 39 4
10 29
Contoh Perhitungan2
Contoh 2Jika diketahui nilai-nilai kunci sebagai berikut :16, 29, 40, 50, 72, 14, 28, 49, 37Maka penempatan setiap nilai kunci akan dilakukan sebagai berikut ini.Penyelesaian :N=9, P=11, alamat indeks: 0 s/d 10
Perhitungan:H(16) = 16 MOD 11 = 5H(29) = 29 MOD 11 = 7H(40) = 40 MOD 11 = 7 (collision) (ditempatkan pada akhir tabel yang kosong) indeks 10 masih kosong sehingga H(40) di indeks 10 home address 7 diberi link ke indeks 10
Contoh 2H(50) = 50 MOD 11 = 6H(72) = 72 MOD 11 = 6 (collision) (ditempatkan pada akhir tabel yang kosong) indeks 9 masih kosong sehingga H(72) di indeks 9 home address 6 diberi link ke indeks 9H(14) = 14 MOD 11 = 3H(28) = 28 MOD 11 = 6 (collision) (ditempatkan pada akhir tabel yang kosong) indeks 8 masih kosong sehingga H(28) di indeks 8 home address 9 diberi link ke indeks 8H(49) = 49 MOD 11 = 5 (collision) (ditempatkan pada akhir tabel yang kosong) indeks 2 masih kosong sehingga H(49) di indeks 2 home address 5 diberi link ke indeks 2H(37) = 37 MOD 11 = 4
Contoh 2
Rata-rata untuk akses suatu nilai kunci adalah:=(9+4)/9 = 13/9 = 1,44Keterangan :9: Langkah penempatan setiap kunci pada home address4: Langkah penempatan kunci 40, 72, 28, 49 (mengalami collision)
Record Kunci Link0
1
2 49
3 14
4 37
5 16 2
6 50 9
7 29 10
8 28
9 72 8
10 40
Contoh 2
Permasalahan:Sisipkan nilai kunci 13 dan 94 menggunakan tipe Lisch dan Eisch
Tipe LischH(13) = 13 MOD 11 = 2 (collision)
(ditempatkan pada akhir tabel yang kosong)indeks 1 masih kosong sehingga H(13) di indeks 1home address 2 diberi link ke indeks 1
H(94) = 94 MOD 11 = 6 (collision)(ditempatkan pada akhir tabel yang kosong)indeks 0 masih kosong sehingga H(94) di indeks 0home address 6 diberi link ke indeks 0
Contoh 2
Rata-rata untuk akses suatu nilai kunci setelah penyisipan kunci 13 dan 94 adalah:=(11+6+0)/11 = 17/11 = 1,54Keterangan :11: Langkah penempatan setiap kunci pada home address6: Langkah penempatan kunci 40, 72, 28, 49, 13, 94(mengalami collision)0: Langkah penempatan kunci 94 (home address 6, pindah ke indeks 0, link)
Record Kunci Link0 94
1 13 0
2 49 1
3 14
4 37
5 16 2
6 50 9
7 29 10
8 28
9 72 8
10 40
Contoh 2
Tipe EischCatatan: karena mulai nilai kunci 16 hingga 37 ada collision yang lebih dari 1 kali, maka penempatannya sebagai berikut :
Record Kunci Link0
1
2 49
3 14
4 37
5 16 2
6 50 8
7 29 10
8 28 9
9 72 6
10 40
Contoh 2
Tipe EischH(13) = 13 MOD 11 = 2 (collision)
(ditempatkan pada akhir tabel yang kosong)indeks 1 masih kosong sehingga H(13) di indeks 1home address 2 diberi link ke indeks 1
H(94) = 94 MOD 11 = 6 (collision)(ditempatkan pada akhir tabel yang kosong)indeks 0 masih kosong sehingga H(94) di indeks 0home address 6 diberi link ke indeks 0
Contoh 2
Rata-rata untuk akses suatu nilai kunci setelah penyisipan kunci 13 dan 94 adalah:=(11+8)/11 = 19/11 = 1,73Keterangan :11: Langkah penempatan setiap kunci pada home address8: Langkah penempatan kunci 40, 72, 28, 28, 49, 94, 94, 94 (mengalami collision)
Record Kunci Link0 94
1 13 0
2 49 1
3 14
4 37
5 16 2
6 50 9
7 29 10
8 28
9 72 8
10 40
Contoh Perhitungan3
Contoh 3
•
Contoh 3
H(Gula) = (4.3) MOD 11 = 1H(Coklat) = (4.4) MOD 11 = 5H(Ragi) = (4.5) MOD 11 = 9H(Minyak) =(4.4) MOD 11 = 2H(Telur) = (4.7) MOD 11 = 6H(Susu) = (4.14) MOD 11 = 1(collision) (ditempatkan pada akhir tabel yang kosong)
indeks 8 masih kosong sehingga H(Susu) di indeks 9home address 1 diberi link ke indeks 8
Contoh 3
Rata-rata untuk akses suatu nilai kunci adalah:=(8+2)/8 = 10/8 = 1,25Keterangan :7: Langkah penempatan setiap kunci pada home address2: Langkah penempatan kunci Susu, Tepung (mengalami collision)
Record Kunci Link0
1 Gula 8
2 Minyak
3
4 Beras 10
5 Coklat
6 Telur
7
8 Susu
9 Ragi
10 Tepung
Contoh 3
Permasalahan:Sisipkan nilai kunci Sereal = 18 dan Wijen = 23 menggunakan tipe Lisch dan Eisch
Tipe LischH(Sereal) = (4.18) MOD 11 = 6 (collision)
(ditempatkan pada akhir tabel yang kosong)indeks 7 masih kosong sehingga H(Sereal) di indeks 7home address 6 diberi link ke indeks 7
H(Wijen) = (4.23) MOD 11 = 4 (collision)(ditempatkan pada akhir tabel yang kosong)indeks 3 masih kosong sehingga H(Wijen) di indeks 3home address 10 diberi link ke indeks 3
Contoh 3
Rata-rata untuk akses suatu nilai kunci setelah penyisipan kunci Sereal dan Wijen adalah:=(10+4+2)/10 = 16/10 = 1,6Keterangan :10: Langkah penempatan setiap kunci pada home address4: Langkah penempatan kunci Susu, Tepung, Sereal, Wijen (mengalami collision)2: Langkah penempatan kunci Wijen (home address 4, pindah ke indeks 3, link)
Record Kunci Link0
1 Gula 8
2 Minyak
3 Wijen
4 Beras 10
5 Coklat
6 Telur 7
7 Sereal
8 Susu
9 Ragi
10 Tepung 3
Contoh 3
Tipe EischCatatan: karena mulai nilai kunci Beras hingga Susu tidak ada collision yang lebih dari 1 kali, maka penempatannya sama dengan tipe LISCH.
H(Sereal) = (4.18) MOD 11 = 6 (collision)(ditempatkan pada akhir tabel yang kosong)indeks 7 masih kosong sehingga H(Sereal) di indeks 7home address 6 diberi link ke indeks 7
H(Wijen) = (4.23) MOD 11 = 4 (collision)(terjadi collision lebih dari 1 kali pada home address 4, maka alamat akan di link secara langsung dari home address ,yaitu 4)indeks 3 masih kosong sehingga H(Wijen) di indeks 3home address 4 diberi link ke indeks 3
Contoh 3
Rata-rata untuk akses suatu nilai kunci setelah penyisipan kunci 42 dan 17 adalah:=(10+4)/10 = 14/10 = 1,4Keterangan :10: Langkah penempatan setiap kunci pada home address4: Langkah penempatan kunci Susu, Tepung, Wijen, Sereal (mengalami collision)
Record Kunci Link0
1 Gula 8
2 Minyak
3 Wijen 10
4 Beras 3
5 Coklat
6 Telur 7
7 Sereal
8 Susu
9 Ragi
10 Tepung
Contoh Perhitungan4
Contoh 4
Jika diketahui nilai-nilai kunci sebagai berikut :1, 4, 26, 21, 13, 19, 20,31,8,3Maka penempatan setiap nilai kunci akan dilakukan sebagai berikut ini.Penyelesaian :N=10, P=11, alamat indeks: 0 s/d 10
Perhitungan:H(1) = 1 MOD 11 = 1H(4) = 4 MOD 11 = 4H(26) = 26 MOD 11 = 4 (collision) (ditempatkan pada akhir tabel yang kosong)
indeks 7 masih kosong sehingga H(26) di indeks 7home address 4 diberi link ke indeks 7
Contoh 4
H(21) = 21 MOD 11 = 10H(13) = 13 MOD 11 = 2H(19) = 19 MOD 11 = 8H(20) = 20 MOD 11 = 9H(31) = 31 MOD 11 = 9 (collision) (ditempatkan pada akhir tabel yang kosong)
indeks 6 masih kosong sehingga H(31) di indeks 6home address 9 diberi link ke indeks 6
H(8) = 8 MOD 11 = 8 (collision) (ditempatkan pada akhir tabel yang kosong)
indeks 5 masih kosong sehingga H(8) di indeks 5home address 8 diberi link ke indeks 5
H(3) = 3 MOD 11 = 3
Contoh 4
Rata-rata untuk akses suatu nilai kunci adalah:=(10+3)/10 = 13/10 = 1,3Keterangan :10: Langkah penempatan setiap kunci pada home address3: Langkah penempatan kunci 26, 37, 8 (mengalami collision)
Record Kunci Link0
1 1
2 13
3 3
4 4 7
5 8
6 31
7 26
8 19 5
9 20 6
10 21
Contoh 4
Permasalahan:Sisipkan nilai kunci 42 menggunakan tipe Lisch dan Eisch
Tipe LischH(42) = 42 MOD 11 = 9 (collision) (ditempatkan pada akhir tabel yang kosong)
indeks 0 masih kosong sehingga H(42) di indeks 0home address 6 diberi link ke indeks 0
Contoh 4
Rata-rata untuk akses suatu nilai kunci setelah penyisipan kunci 42 adalah:=(11+4+3)/11 = 18/11 = 1,64Keterangan :11: Langkah penempatan setiap kunci pada home address4: Langkah penempatan kunci 26, 31, 8, 42 (mengalami collision)3:
Record Kunci Link0 42
1 1
2 13
3 3
4 4 7
5 8
6 31 0
7 26
8 19 5
9 20 6
10 21
Contoh 4
Tipe EischCatatan: karena mulai nilai kunci 1 hingga 3 tidak ada collision yang lebih dari 1 kali, maka penempatannya sama dengan tipe LISCH.
H(42) = 42 MOD 11 = 9 (collision)(terjadi collision lebih dari 1 kali pada home address 9, maka alamat akan di link secara langsung dari home address ,yaitu 9)indeks 0 masih kosong sehingga H(42) di indeks 0home address 9 diberi link ke indeks 0
Contoh 4
Rata-rata untuk akses suatu nilai kunci setelah penyisipan kunci 42 adalah:=(11+5)/11 = 16/11 = 1,45Keterangan :11: Langkah penempatan setiap kunci pada home address5: Langkah penempatan kunci 31, 26, 8, 42, 42(mengalami collision)
Record Kunci Link0 42 6
1 1
2 13
3 3
4 4 7
5 8
6 31
7 26
8 19 5
9 20 0
10 21
Contoh Perhitungan5
Contoh 5
Jika diketahui nilai-nilai kunci sebagai berikut :6, 9, 11, 13, 17, 19, 21Maka penempatan setiap nilai kunci akan dilakukan sebagai berikut ini.Penyelesaian :N=7, P=11, alamat indeks: 0 s/d 10
Perhitungan:H(6) = 6 MOD 11 = 6H(9) = 9 MOD 11 = 9H(11) = 11 MOD 11 = 0H(13) = 13 MOD 11 = 2H(17) = 17 MOD 11 = 6 (collision) (ditempatkan pada akhir tabel yang kosong) indeks 10 masih kosong sehingga H(17) di indeks 10 home address 6 diberi link ke indeks 10
Contoh 5
H(19) = 19 MOD 11 = 8H(21) = 21 MOD 11 = 10
Rata-rata untuk akses suatu nilai kunci adalah:=(7+1)/7 = 8/7 = 1,143Keterangan :7: Langkah penempatan setiap kunci pada home address1: Langkah penempatan kunci 6 (mengalami collision)
Record Kunci Link0 11
1
2 13
3
4
5
6 6 10
7 21
8 19
9 9
10 17
Contoh 5
Permasalahan:Sisipkan nilai kunci 24, 32 dan 22 menggunakan tipe Lisch dan Eisch
Tipe LischH(24) = 24 MOD 11 = 2 (collision)
(ditempatkan pada akhir tabel yang kosong)indeks 5 masih kosong sehingga H(24) di indeks 5home address 2 diberi link ke indeks 5
H(32) = 32 MOD 11 = 10 (collision)(ditempatkan pada akhir tabel yang kosong)indeks 4 masih kosong sehingga H(32) di indeks 4home address 10 diberi link ke indeks 4
Contoh 5
H(22) = 22 MOD 11 = 0 (collision)(ditempatkan pada akhir tabel yang kosong)indeks 3 masih kosong sehingga H(22) di indeks 3home address 0 diberi link ke indeks 3
Rata-rata untuk akses suatu nilai kunci setelah penyisipan kunci 24, 32 dan 22 adalah:=(10+4+1)/10 = 15/10 = 1,5Keterangan :10 : Langkah penempatan setiap kunci pada home address 4 : Langkah penempatan kunci 17, 24, 32, 22 (mengalami collision)
Contoh 5
Record Kunci Link0 11 3
1
2 13 5
3 22
4 32
5 24
6 6 10
7 21 4
8 19
9 9
10 17
Contoh 5
Tipe EischCatatan: karena mulai nilai kunci 11 hingga 19 tidak ada collision yang lebih dari 1 kali, maka penempatannya sama dengan tipe LISCH.
H(24) = 24 MOD 11 = 2 (collision)(ditempatkan pada akhir tabel yang kosong) indeks 5 masih kosong sehingga H(24) di indeks 5 home address 2 diberi link ke indeks 5
H(32) = 32 MOD 11 = 10 (collision)(ditempatkan pada akhir tabel yang kosong) indeks 4 masih kosong sehingga H(32) di indeks 4 home address 10 diberi link ke indeks 4
H(22) = 22 MOD 11 = 0 (collision)(ditempatkan pada akhir tabel yang kosong) indeks 3 masih kosong sehingga H(22) di indeks 3 home address 0 diberi link ke indeks 3
Contoh 5
Tipe EischRata-rata untuk akses suatu nilai kunci setelah penyisipan kunci 24, 32 dan 22 adalah:=(10+4)/10 = 14/10 = 1,4Keterangan :Karena tidak ada Collision yang lebih dari 1 kali
Record Kunci Link0 11 3
1
2 13 5
3 22
4 32
5 24
6 6 10
7 21 4
8 19
9 9
10 17
Daftar Referensi
• Sutanta, Edhy. (2006), Beberapa Metode Penyelesaian Collision Pada Organisasi Berkas Secara
Hashing, Institut Sains & Teknologi AKPRIND, Yogyakarta.
• Ali Pangera, Abas, Dony Ariyus. Macam-macam Fungsi Hash, STMIK AMIKOM, Yogyakarta.
Terima Kasih