SKRIPSI Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik Program Studi Teknik Informatika

184 

Full text

(1)

i

SIMULASI

PEMBELAJARAN METODE

PENCARIAN RELATIF (HASH SEARCH)

SKRIPSI

Diajukan untuk Memenuhi Salah Satu Syarat

Memperoleh Gelar Sarjana Teknik

Program Studi Teknik Informatika

Oleh:

Antonius Saputra Santoso

NIM : 055314075

JURUSAN TEKNIK INFORMATIKA

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS SANATA DHARMA

YOGYAKARTA

(2)

ii

SIMULATION

LEARNING OF METHOD

HASH SEARCH

A THESIS

Presented as Partial Fulfillment of the Requirements

To Obtain

Sarjana Komputer

Degree

In Informatics Engineering Department

By :

Antonius Saputra Santoso

Student ID : 055314075

INFORMATICS ENGINEERING STUDY PROGRAM

INFORMATICS ENGINEERING DEPARTMENT

FACULTY OF SCIENCE AND TECHNOLOGY

SANATA DHARMA UNIVERSITY

(3)
(4)
(5)

v

MOTTO

“Ketika ku meminta pada Allah setangkai bunga segar, Ia memberiku kaktus penuh duri.

Lalu akupun meminta kepada-Nya binatang mungil nan cantik, Ia memberiku ulat

berbulu. Aku sempat sedih, protes, kecewa, benci, marah dan menyalahkan Allah bahwa

betapa tidak adilnya semua ini. Namun, kemudian kaktus itu berbunga sangat indah sekali

& ulat tadi itu pun tumbuh & berubah menjadi kupu-kupu yg amat cantik.

Itulah jalan Tuhan, indah pada waktunya. Tuhan tidak memberi apa yang kita harapkan

dan inginkan, tetapi Ia memberi apa yang kita perlukan. Terkadang kita sedih, kecewa dan

terluka, tetapi jauh di atas sgalanya setiap hari Tuhan tak kenal lelah telah merencanakan

(6)
(7)
(8)

viii

ABSTRAK

SIMULASI

PEMBELAJARAN METODE

PENCARIAN RELATIF ( HASH SEARCH )

Simulasi pembelajaran metode pencarian relatif (hash search) ini merupakan sebuah

perangkat lunak yang ingin dibuat oleh penulis untuk membantu sistem belajar-mengajar

khususnya yang mempelajari metode pencarian relatif (hash search) agar lebih menarik.

Pencarian data dengan menggunakan metode hash menawarkan metode penyimpanan

data maupun file dengan waktu akses yang cepat tanpa pencarian yang berlama-lama. Pada

Simulasi pembelajaran metode Hash ini penulis ingin menjelaskan bagaimana cara

pembelajaran metode pencarian relatif (

Hash Search) tentang

metode Hash Terbuka(O

pen

H

ashing

) dan metode Hash Tertutup(

Close

H

ashing). Metode

Hash Terbuka(

Open Hashing)

ialah Depan List

dan Belakang List, Dan Metode tertutup (C

lose

H

ashing) ialah

Resolusi

Linier (L

inier

R

esolution

), Overfow, Double Hashing.

Hasil akhir dari sistem pembuatan Simulasi pembelajaran ini adalah bagaimana cara

penyimpanan, penempatan dan pencarian data. Serta

input

data dapat disimpan dan dibuka

kembali.

(9)

ix

ABSTRACT

This hash search of method learning simulation is a software that is going to be made

by the writer for helping the teaching-learning system, especially one concerning about

Hash

Search

method in order to be more interesting.

Data searching by using Hash method offers data or file saving with the quick access

without searching any longer. In this Hash learning of method simulation, the writer attempts

to explain how to learn Hash Search method about Open and Close Hashing method. Open

Hashing method is Depan List (Front List) and Belakang List (Back List); and Close Hashing

is Linier Resolution, Overfow, Double Hashing.

(10)

x

KATA PENGANTAR

Puji dan syukur kepada Tuhan Yang Maha Esa, atas segala hal yang begitu luar biasa

yang telah dianugerahkan pada penulis dalam menyelesaikan skripsi ini dengan judul:

“SIMULASI PEMBELAJARAN METODE PENCARIAN RELATIF (HASH SEARCH)”.

Dalam menyelesaikan skripsi ini penulis mendapat bantuan, bimbingan dan motivasi dari

berbagai pihak. Pada kesempatan ini, penulis ingin menyampaikan terima kasih yang tak

terhingga kepada :

1.

Ibu Ridowati Gunawan S.Kom., M.T., Kepala Program Studi Jurusan Teknik

Informatika Fakultas Sains dan Teknologi Universitas Sanata Dharma Yogyakarta.

2.

Bapak JB. Budi Darmawan, S.T., M.Sc., selaku Dosen Pembimbing Akademik dan

pembimbing skripsi. Terimakasih telah membimbing dan menyediakan waktu dalam

memberikan pengarahan selama kuliah dan penulisan skripsi ini.

3.

Bapak Puspaningtyas Sanjoyo Adi, S.T., M.T., Dosen penguji yang telah memberikan

bimbingan dan dukungan yang begitu berharga.

4.

Ibu Sri Hartati Wijono, S.Si., M.Kom. Dosen penguji yang telah memberikan

bimbingan dan dukungan yang begitu berharga.

5.

Para dosen Program Studi Teknik Informatika, yang telah berbagi ilmu dan

pengalaman serta membantu penulis selama kuliah di Universitas Sanata Dharma

Yogyakarta.

6.

Para Staf dan karyawan Universitas Sanata Dharma Yogyakarta yang telah

membantu dan memberikan banyak pertolongan penulis dari awal hingga akhir masa

kuliah.

7.

Ibu Leniawati yang tersayang, yang telah memberikan bimbingan, semangat, doa,

perhatian dan kasih sayang yang luar biasa.

(11)
(12)

xii

DAFTAR ISI

HALAMAN JUDUL BAHASA INDONESIA... i

HALAMAN JUDUL BAHASA INGGRIS... ii

HALAMAN PERSETUJUAN... iii

HALAMAN PENGESAHAN... iv

HALAMAN MOTTO... v

PERNYATAAN KEASLIAN KARYA... vi

LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI KARYA UNTUK

KEPENTINGAN AKADEMIS... vii

(13)

xiii

IV.1.1. Implementasi Algoritma Pengecekan Data Input

dan Tabel Hash………... 75

IV.1.2. Implementasi Algoritma Penempatan Data Close Hash………….. 86

IV.1.3. Implementasi Algoritma Penempatan Data Open Hash…………... 125

IV.1.4. Implementasi Algoritma Pencarian Data Close Hash……….. 144

(14)

xiv

V.1. Evaluasi Pengguna... 151

V.2. Pengumpulan Data Kuesioner... 151

V.3. Sasaran Penyebaran Kuesioner………...……….………. 151

V.4. Form Kuesioner………..………….…………. 152

V.5. Hasil Kuesioner………..………….………. 153

V.6. Analisa Kuesioner………..….………. 154

Bab VI. PENUTUP………..……….…...……...…. 159

VI.1. Kesimpulan………..……….…………. 159

VI.2. Saran………..……….…………... 161

DAFTAR PUSTAKA... 162

(15)

xv

Daftar Tabel

Tabel 2.1

Table waktu akses metode pencarian Hash Tertutup dengan

Resolusi Linier... 20

Tabel 2.2

Table waktu akses metode pencarian Hash Tertutup dengan

Overflow... 31

Tabel 3.8

Narasi Use Case Lihat Hasil Proses Simulasi

Penempatan Data………...……… 45

Tabel 3.9

Narasi Use Case Lihat Probabilitas………..……… 46

Tabel 3.10

Narasi Use Case Lihat Laporan Penempatan………..………. 47

Tabel 3.11

Narasi Use Case Simpan Laporan Penempatan………..………. 48

Tabel 3.12

Narasi Use Case Input Data Pencarian………..……….. 49

(16)

xvi

(17)

xvii

Daftar Gambar

Gambar 2.1

Simbol Use Case Diagram... 11

Gambar 2.2

Simbol Diagram Berjenjang…………... 11

Gambar 2.3

Simbol Data Flow Diagram... 12

Gambar 2.4

Masukan Data 1 dengan Resolusi Linier………...……… 15

Gambar 2.5

Masukan Data 4 dengan Resolusi Linier………...……… 15

Gambar 2.6

Masukan Data 5 dengan Resolusi Linier………...……… 15

Gambar 2.7

Masukan Data 8 dengan Resolusi Linier…………...……… 16

Gambar 2.8

Masukan Data 10 dengan Resolusi Linier……...……….. 16

Gambar 2.9

Masukan Data 11 dengan Resolusi Linier…...……….. 16

Gambar 2.10 Pencarian Data 8 dengan Resolusi Linier…………...……….. 17

Gambar 2.11 Pencarian Data 8 dengan Resolusi Linier………...………... 17

Gambar 2.12 Pencarian Data 22 dengan Resolusi Linier…...……… 18

Gambar 2.13 Pencarian Data 22 dengan Resolusi Linier...……… 18

Gambar 2.14 Pencarian Data 22 dengan Resolusi Linier………...……… 18

Gambar 2.15 Pencarian Data 22 dengan Resolusi Linier……...……… 19

Gambar 2.16 Pencarian Data 22 dengan Resolusi Linier………...……… 19

Gambar 2.17 Pencarian Data 22 dengan Resolusi Linier………...……… 20

Gambar 2.18 Pencarian Data 22 dengan Resolusi Linier……...……… 20

Gambar 2.19 Masukan Data 1 dengan Overflow…………...……… 21

Gambar 2.26 Masukan Data 1 dengan Overflow-Sekuensial…………..……….. 24

Gambar 2.27 Masukan Data 4 dengan Overflow-Sekuensial………..……….. 24

Gambar 2.28 Masukan Data 5 dengan Overflow-Sekuensial………..……….. 25

Gambar 2.29 Masukan Data 10 dengan Overflow-Sekuensial……..………... 25

(18)

xviii

Gambar 2.32 Masukan Data 16 dengan Overflow-Sekuensial…..………. 26

Gambar 2.33 Pencarian Data 15 dengan Overflow…………...……….. 27

Gambar 2.34 Pencarian Data 15 dengan Overflow………...……….. 27

Gambar 2.35 Pencarian Data 16 dengan Overflow……...……….. 28

Gambar 2.36 Pencarian Data 16 dengan Overflow…...……….. 28

Gambar 2.37 Pencarian Data 16 dengan Overflow…...……….. 29

Gambar 2.38 Pencarian Data 16 dengan Overflow...……….. 29

Gambar 2.39 Pencarian Data 16 dengan Overflow-Sekuensial..…………..……….. 30

Gambar 2.40 Pencarian Data 16 dengan Overflow-Sekuensial..………..……….. 30

Gambar 2.41 Pencarian Data 16 dengan Overflow-Sekuensial..……..……….. 31

Gambar 2.42 Pencarian Data 16 dengan Overflow-Sekuensial..…..……….. 31

Gambar 2.43 Penambahan Data Pada Depan List………...……… 33

Gambar 2.44 Penambahan Data Pada Belakang List………...………... 33

Gambar 3.1

Use Case Diagram………...……….. 39

Gambar 3.10 Masukan data 3 dengan metode close hash-Resolusi Linier……...……... 60

Gambar 3.11 Masukan Data 5 dengan metode close hash-Resolusi Linier…...………… 60

Gambar 3.12 Masukan Data 9 dengan metode close hash-Resilusi Linier...……… 60

Gambar 3.13 Masukan Data 10 dengan metode close hash-Resolusi Linie…..……….. 61

Gambar 3.14 Masukan data 15 dengan metode close hash-Resolusi Linier…..……….. 61

Gambar 3.15 Masukan data 18 dengan metode close hash-Resolusi ki……..……….... 61

Gambar 3.16 Rancangan Form Laporan………..……….. 62

Gambar 3.17 Rancangan Form Menu Utama………...……….. 63

Gambar 3.18 Rancangan Form Splash Screen………..………. 64

Gambar 3.19 Rancangan Form Utama………...……… 65

(19)

xix

Gambar 4.25 Rancangan Form Close Hash dengan

Resolusi Linier………..……….. 88

Gambar 4.26 Masukan Data 1 dengan Resolusi Linier………..……….. 89

(20)

xx

Gambar 4.43 Listing Form Close Hash dengan Resolusi Linier…….……..………... 101

Gambar 4.44 Rancangan Close Hash dengan Overflow-Sekuensial………... 102

Gambar 4.45 Masukan Data 1 dengan Overflow-Sekuensial………... 103

Gambar 4.46 Masukan Data 15 dengan Overflow-Sekuensial………..…..…... 104

Gambar 4.47 Masukan Data 24 dengan Overflow-Sekuensial…………..………….... 104

Gambar 4.48 Masukan Data 18 dengan Overflow-Sekuensial... 105

Gambar 4.49 Masukan Data 5 dengan Overflow-Sekuensial……….... 106

Gambar 4.50 Masukan Data 5 dengan Overflow-Sekuensial..……….. 106

Gambar 4.51 Masukan Data 10 dengan Overflow-Sekuensial……..……… 107

Gambar 4.52 Masukan Data 10 dengan Overflow-Sekuensial…..……….... 108

Gambar 4.53 Masukan Data 10 dengan Overflow-Sekuensial..………..…... 108

Gambar 4.54 Masukan Data 15 dengan Overflow-Sekuensial……..…..…………... 109

Gambar 4.55 Masukan Data 11 dengan Overflow-Sekuensial………..…………..….. 109

Gambar 4.56 Masukan Data 11 dengan Overflow-Sekuensial………..……..……….. 110

Gambar 4.57 Masukan Data 11 dengan Overflow-Sekuensial………..…………... 110

Gambar 4.58 Masukan Data 11 dengan Overflow-Sekuensial………..……….... 111

Gambar 4.59 Masukan Data 20 dengan Overflow-Sekuensial………..…………... 111

Gambar 4.60 Listing Form Close Hash dengan Overflow-Sekuensial…………... 113

(21)

xxi

Gambar 4.62 Masukan Data 1 dengan Overflow-Fungsi Hash Baru…………..…... 115

Gambar 4.63 Masukan Data 15 dengan Overflow-Fungsi Hash Baru…………... 115

Gambar 4.64 Masukan Data 24 dengan Overflow-Fungsi Hash Baru….………... 116

Gambar 4.65 Masukan Data 18 dengan Overflow-Fungsi Hash Baru…….………….. 117

Gambar 4.66 Masukan Data 5 dengan Overflow-Fungsi Hash Baru……...………….. 117

Gambar 4.67 Masukan Data 5 dengan Overflow-Fungsi Hash Baru………...……... 118

Gambar 4.68 Masukan Data 10 dengan Overflow-Fungsi Hash Baru………... 118

Gambar 4.69 Masukan Data 10 dengan Overflow-Fungsi Hash Baru………….……… 119

Gambar 4.70 Masukan Data 15 dengan Overflow-Fungsi Hash Baru……….……….... 120

Gambar 4.71 Masukan Data 11 dengan Overflow-Fungsi Hash Baru……… 121

Gambar 4.72 Masukan Data 11 dengan Overflow-Fungsi Hash ……… 122

Gambar 4.73 Masukan Data 11 dengan Overflow-Fungsi Hash Baru………. 122

Gambar 4.74 Masukan Data 20 dengan Overflow-Fungsi Hash Baru………. 123

Gambar 4.75 Listing Form Close Hash dengan Overflow-Fungsi Hash Baru……... 124

Gambar 4.76 Rancangan Form Open Hash dengan Belakang List………..…….... 126

Gambar 4.77 Masukan Data 1 dengan Belakang List……...………..……….... 127

Gambar 4.78 Masukan Data 15 dengan Belakang List……...…………..…………... 127

Gambar 4.79 Masukan Data 24 dengan Belakang List……...………....……….... 128

Gambar 4.80 Masukan Data 18 dengan Belakang List……...……..………..……….... 129

Gambar 4.81 Masukan Data 5 dengan Belakang List……...…..……….... 129

Gambar 4.82 Masukan Data 10 dengan Belakang List……..………... 130

Gambar 4.83 Masukan Data 15 dengan Belakang List…..……….. 131

Gambar 4.84 Masukan Data 11 dengan Belakang List……...…………...………….... 131

Gambar 4.85 Masukan Data 20 dengan Belakang List……...………...…..………….... 132

Gambar 4.86 Listing Open Hash dengan Belakang List………..……….... 133

(22)

xxii

Gambar 4.97 Listing Form Open Hash dengan Depan List………... 142

Gambar 4.98 Listing Form Pencarian Resolusi Linier……...……...………... 136

Gambar 4.99 Listing Form Pencarian Overflow-Sekuensial…….………... 136

Gambar 4.100 Listing Form Pencarian Overflow & Double Hash dengan Rehash…..…. 136

Gambar 4.88 Listing Form Pencarian Open Hash..……...………..……... 136

(23)

1

BAB I

PENDAHULUAN

I.1.

Latar Belakang

Pencarian data merupakan kegiatan yang sering kita lakukan dalam

kehidupan sehari–hari. Kita sering melakukan kegiatan mencari data, mencari

data pertama dan menggantikannya dengan data kedua, atau mencari data tertentu

dan menghitung frekuensi kemunculan kata tersebut dalam dokumen. Dalam

pencarian data terdapat bermacam-macam metode pencarian (searching) di

antaranya adalah metode pencarian interpolasi (

interpolation search),

metode

pencarian biner (

binary search),

metode pencarian linier (

linear/sequential

search), metode pencarian langsung (direct

S

earch

)

dan metode pencarian relatif

hash search

.

Masing-masing metode yang ada tersebut mempunyai kelebihan dan

kekurangan.

(24)

2

tabrakan (

collisio

n) ini dapat dilakukan dengan beberapa strategi yaitu resolusi

linier (

linear resolution

),

overflow

dan

double hashing

(Munir & Leoni, 2002).

Metode hash search ini merupakan salah satu materi dalam mata kuliah

struktur data yang selama ini banyak mahasiswa mengalami kesulitan dalam

memahami materi tersebut. Para mahasiswa mengalami kesulitan dalam

memahami materi dalam perkuliahan tersebut disebabkan pula karena sistem

belajar dan mengajar masih tradisional. Para mahasiswa cenderung sebagai

pendengar yang pasif dengan hanya mendengarkan penjelasan dari dosen di kelas.

Oleh karena itu, penulis tertarik untuk membuat sebuah Simulasi Pembelajaran

Metode Relatif Hash Search agar mahasiswa lebih tertarik untuk aktif,

memperhatikan dan diharapkan mahasiswa dapat mempelajari kembali di luar

kelas. Simulasi Pembelajaran Metode Relatif Hash Search ini diimplementasikan

dalam Computer Asisted Intruction (CAI). Computer Asisted Intruction (CAI)

ialah merupakan metode pengajaran interaktif yang menggunakan komputer

sebagai medianya. Menurut (Arsyad, 1996). Dalam membangun simulasi ini

penulis menggunakan bahasa Visual Basic, CorelDraw X4 dan menggunakan

Computer Assisted Intruction (CAI) sebagai salah satu metode pengajaran

interaktif yang menggunakan komputer sebagai media pembelajarannya.

(25)

3

I.2.

Rumusan Masalah

Dari latar belakang masalah maka dapat dibuat suatu rumusan masalah

yaitu: bagaimana cara menganalisa, merancang, mengimplementasikan simulasi

pembelajaran metode relatif

Hash Search

untuk mendukung proses

belajar-mengajar

.

I.3.

Tujuan

Tujuan penyusunan tugas akhir (skripsi) ini adalah untuk membangun

sebuah simulasi pembelajaran metode pencarian relatif hash search yang

mendukung proses belajar mengajar, sehingga dapat membantu mahasiswa dalam

memahami bagaimana cara operasi pengecekan, penempatan, dan pencarian data

dengan metode pencarian relatif hash search secara tahap demi tahap.

I.4.

Batasan Masalah

Dalam penelitian yang dilakukan, penulis menentukan batasan beberapa

batasan masalah sebagai berikut:

1.

Input

data dibatasi pada keyboard atau dari file dan

output

perangkat lunak

pada layar monitor.

2.

Data yang di-

input

berupa numerik

integer

, karena untuk simulasi

pembelajaran ini dirasa sudah cukup memenuhi untuk pembelajaran

metode pencarian relatif hash search.

(26)

4

4.

Tabel utama pada open hash maximum 15 tabel. Karena keterbatasan

pengaturan tampilan.

5.

Pembahasan metode hash dinamis mencakup hash terbuka (

open hash

)

dan hash tertutup (

closed hash

) yang mencakup strategi mengatasi

tabrakan (

collision

) antara lain strategi resolusi linier (

linear resolution

),

overflow

dan

double hashing

.

6.

Fungsi hash sudah ditentukan pada program berdasarkan inputan nilai

ukuran tabel.

I.5.

Metodologi Penelitian

Langkah – langkah pembuatan perangkat lunak ini adalah sebagai berikut:

1.

Studi literatur

Membaca dan mempelajari teori-teori dari berbagai sumber baik dari buku,

laporan penelitian, jurnal ilmiah dan makalah dari internet yang berhubungan

dengan metode

Hash Search

dan

Visual Basic 6.0

.

2.

Perancangan dan implementasi sistem yang akan dibuat menggunakan metode

FAST

(Framework for the Application of Systems Thinking)

. Menurut

(Whitten.J.L, et.al., 2004)

FAST

(Framework for the Application of Systems

Thinking)

terdiri dari:

(27)

5

b)

Logical Design

, merupakan tahap untuk menterjemahkan kebutuhan user

kedalam sistem model atau desain secara logika.

Fase

ini meliputi:

diagram konteks, diagram berjenjang dan data flow diagram

(DFD)

.

c)

Construction and Testing,

merupakan tahap konstruksi dan pengujian

komponen sistem. Output berupa

sistem fungsional

yang siap untuk

diimplementasikan.

I.6.

Sistematika Penulisan

Struktur penulisan tugas akhir ini adalah sebagai berikut:

BAB I PENDAHULUAN

Berisi tentang latar belakang, rumusan masalah, batasan masalah, tujuan

penelitian, metodologi penelitian dan sistematika penulisan dari pembuatan tugas

akhir ini.

BAB II LANDASAN TEORI

Berisi tentang dasar teori yang mendukung pembuatan tugas akhir.

BAB III ANALISIS DAN PERANCANGAN SISTEM

Bab ini berisi tentang penjelasan dan perancangan sistem yang dibangun,

meliputi deskripsi sistem, perancangan subsistem yang akan dibangun yakni

subsistem manajemen data, manajemen model dan manajemen dialog.

BAB IV IMPLEMENTASI SISTEM

(28)

6

BAB V ANALISA HASIL

Berisi tentang hasil sistem yang dibangun, kelebihan dan kekurangan

sistem.

BAB VI PENUTUP

Berisi kesimpulan dan saran-saran pengembangannya.

DAFTAR PUSTAKA

(29)

7

BAB II

LANDASAN TEORI

II.1. Pengertian Simulasi

Simulasi adalah model dari suatu sistem yang berfungsi untuk menirukan

perilaku sistem nyata yang memanipulasi sebuah model sedemikian rupa sehingga

model tersebut bekerja dalam ruang dan waktu menurut (Hadi, 2002). Simulasi

inilah yang nantinya digunakan sebagai fasilitas pendukung dalam proses belajar

mengajar di suatu institusi pendidikan.

II.2.

Definisi Computer Assisted Intruction (CAI)

Computer Asisted Intruction (CAI) ialah merupakan metode pengajaran

interaktif yang menggunakan komputer sebagai medianya (Arsyad, 1996).

Dalam pembuatan Computer Asisted Intruction (CAI) yang interaktif

maka dibutuhkan penyusunan berbagai cara interaksi manusia dengan computer.

Tujuannya ialah untuk memudahkan pengoperasian komputer dan memanfaatkan

umpan balik yang diperlukan selama bekerja pada sebuah sistem komputer.

Pengguna sering mensyaratkan agar suatu program aplikasi sesuai dengan

keinginannya dan menyediakan berbagai kemudahan pada saat mengoperasikan

perangkat lunak tersebut.

(30)

8

1.

Tutorial

Program pembelajaran tutorial dengan bantuan komputer meniru

sistem tutor yang dilakukan oleh guru atau instruktur. Informasi atau

pesan berupa suatu konsep disajikan pada layar komputer berupa teks,

gambar atau grafik. Pada saat yang tepat mahasiswa diperkirakan telah

membaca, menginterpretasi dan menyerap konsep serta pertanyaan

atau soal diajukan. Jika jawaban mahasiswa benar, komputer akan

melanjutkan penyajian informasi atau konsep berikutnya dan jika

jawaban salah, komputer dapat kembali ke informasi konsep

sebelumnya atau pindah ke salah satu dari beberapa penyajian

informasi konsep remedial. Perpindahan ke salah satu konsep remedial

ditentukan oleh jenis kesalahan yang dibuat oleh mahasiswa (Arsyad,

1996). Model tutorial ini memiliki 2 jenis :

a.

Tutorial Terprogram

(31)

9

menyelesaikan beberapa latihan dan tugas. Semakin banyak

alternatif cabang yang tersedia, semakin luwes program tersebut

menyesuaikan diri dengan perbedaan individual mahasiswa. Media

tambahan lain biasanya digabungkan untuk format tutorial

terprogram, seperti tugas-tugas bacaan berbasis cetak, kegiatan

kelompok, percobaan laboratorium, kegiatan latihan, simulasi dan

interaktif dengan tutorial video disk. Manfaat tutorial terprogram

akan nampak jika menggunakan kemampuan teknologi komputer

untuk bercabang dan interaktif.

b.

Tutorial Intelijen

Berbeda dari tutorial terprogram karena jawaban komputer

terhadap pertanyaan mahasiswa dihasilkan oleh intelegensia

artifisial (kecerdasan buatan), bukan jawaban-jawaban yang

terprogram yang telah disiapkan terlebih dahulu oleh si perancang.

Dengan demikian, ada dialog dari waktu ke waktu antara

mahasiswa dengan komputer. Baik siswa maupun komputer dapat

bertanya ataupun memberi jawaban.

2.

Drills and Practice (Latihan)

(32)

10

pengajar pada akhir kegiatan dan menjadi landasan untuk

pembelajaran selanjutnya.

3.

Simulasi

Program simulasi dengan bantuan komputer mencoba untuk menyamai

proses dinamis yang terjadi di dunia nyata, misalnya mahasiswa

menggunakan komputer untuk mensimulasikan cara menerbangkan

pesawat terbang, menjalankan usaha kecil, atau memanipulasi

pengendalian pembangkit listrik tenaga nuklir. Program ini berusaha

memberikan pengalaman masalah “dunia nyata” yang berhubungan

dengan risiko seperti bangkrut, malapetaka nuklir, kecelakaan dan

lain-lain.

4.

Permainan (games)

Permainan biasa digunakan untuk mengajarkan materi. Permainan juga

meliputi proses pembelajaran seperti pengambilan keputusan dan

kemampuan berkomunikasi.

5.

Pemecahan Masalah

Program didesain untuk digunakan secara umum sebagai proses

pembelajaran.

II.3. Metodologi Penulisan

Dalam simulasi ini menggunakan metode FAST (Whitten.J.L, et.al.,

2004) yaitu sebagai berikut:

1.

Use Case

(33)

11

menggambarkan siapa yang akan menggunakan sistem dan dengan

cara apa pengguna mengharapkan untuk berinteraksi dengan sistem

(Whitten.J.L, et.al., 2004).

Gambar 2.1 Simbol Use Case

2.

Diagram Berjenjang

Diagram berjenjang atau diagram dekomposisi adalah alat yang

digunakan untuk menggambarkan dekomposisi sistem atau bagan

hierarki (Whitten.J.L, et.al., 2004).

Gambar 2.2 Simbol Diagram Berjenjang

3.

Data Flow Diagram (DFD)

Data flow diagram adalah model proses yang digunakan untuk

menggambarkan aliran data melalui sebuah sistem dan tugas atau

pengolahan yang dilakukan oleh sistem (Whitten.J.L, et.al., 2004).

(34)

12

Gambar 2.3 Simbol Data Flow Diagram

II.4. Metode Pencarian

Dalam ilmu komputer, ada bermacam-macam metode pencarian

(

searching

). Secara garis besar, menurut (Munir & Leoni, 2002) metode pencarian

data dapat dibagi menjadi 2 bagian yaitu:

1.

Metode pencarian data tanpa penempatan data antara lain:

a.

Metode pencarian Linier (

Linear / Sequential Search

).

b.

Metode pencarian Biner (

Binary Search

).

c.

Metode pencarian Interpolasi (

Interpolation Search

).

2.

Metode pencarian data dengan penempatan data antara lain:

a.

Metode pencarian Langsung (

Direct Search

).

b.

Metode pencarian Relatif (

Hash Search

).

(35)

13

II.5. Metode Pencarian Relatif Hash Search

Metode pencarian Relatif Hash Search ini hampir mirip dengan metode

pencarian langsung (

Direct Search

), yaitu dengan menggunakan rumus tertentu

baik pada saat penempatan maupun pencarian data. Pencarian Relatif Hash Search

memiliki efisiensi penggunaan tempat yang lebih baik daripada pencarian

langsung (

Direct Search

). Fungsi index (I – 1) yang digunakan oleh metode

pencarian langsung (

Direct Search

) memiliki efisiensi penggunaan tempat yang

buruk, sehingga metoda pencarian relatif hash search memperbaikinya dengan

menggunakan fungsi operasi modulo (mod) (Munir & Leoni, 2002).

Fungsi operasi modulo (mod) ini sering disebut sebagai Fungsi

Hash

dan

tempat penampungan data disebut Tabel

Hash

. Fungsi

Hash

bukan merupakan

fungsi satu – satu seperti fungsi bagi dari metoda pencarian Langsung (

Direct

Search

) sehingga ada kemungkinan beberapa data memiliki hasil fungsi yang

sama. Hal ini mengakibatkan terjadinya tabrakan (

collision

) pada saat penempatan

data ke dalam tabel sehingga diperlukan strategi untuk mengatasi tabrakan

(

collision

) ini. Strategi untuk mengatasi tabrakan (

collision

) ini ada

bermacam-macam dan masing memiliki kelebihan dan kekurangannya

masing-masing. Strategi ini akan dijelaskan pada bagian berikutnya.

Fungsi

Hash

membuat data yang tersimpan dalam Tabel

Hash

memiliki 2

jenis alamat/

address

(Munir & Leoni, 2002) yaitu:

1.

Home Address

adalah lokasi (

address

) yang diperoleh dengan

menggunakan Fungsi

Hash

.

(36)

14

Sedangkan metode pencarian Relatif Hash Search ini terdiri dari 2 macam,

diantaranya adalah sebagai berikut:

1.

Hash Tertutup (

Closed Hash

)

2.

Hash Terbuka (

Open Hash

)

II.5.1. Hash Tertutup (Closed Hash)

Hash Tertutup (

Closed Hash

) didefinisikan sebagai cara

Hash

dimana data

langsung disimpan dalam tabel

Hash

dengan ukuran tabel tertentu (dapat

ditentukan sendiri). Fungsi

Hash

tersebut dapat didefinisikan sebagai berikut:

H(X) = X mod [ukuran tabel]

keterangan : X

= nilai data

H(X) = hasil fungsi

Hash

.

Dalam penerapan fungsi

Hash

di atas dalam perhitungan, terdapat kemungkinan

beberapa data memiliki hasil fungsi

Hash

yang sama. Hal ini menyebabkan

terjadinya tabrakan (

collision

) pada saat penempatan data. Tabrakan (

collision

)

dapat diatasi dengan menggunakan beberapa strategi antara lain,

1.

Resolusi Linier (

Linear Resolution

)

2.

Overflow

3.

Double Hashing

1. Resolusi Linier (Linear Resolution)

(37)

15

h’

i

(X) = (h’

i-1

(X) + 1) mod [ukuran tabel]

Agar lebih jelas, dapat dilihat pada contoh di bawah ini:

Misalkan data

input

: 1, 4, 5, 8, 10, 11, dengan jumlah data = 6, ukuran tabel = 7

dan fungsi

Hash

h(X) = X mod 7.(Lihat gambar 2.4 sampai gambar 2.9).

Proses penempatan data untuk data di atas adalah sebagai berikut,

1.

Masukkan data 1

h(1) = 1 mod 7 = 1

Tampilan disajikan pada gambar 2.4

Gambar 2.4 masukan data 1 dengan resolusi linier

2.

Masukkan data 4

h(4) = 4 mod 7 = 4

Tampilan disajikan pada gambar 2.5

Gambar 2.5 masukan data 4 dengan resolusi linier

3.

Masukkan data 5

h(5) = 5 mod 7 = 5

Tampilan disajikan pada gambar 2.6

(38)

16

4.

Masukkan data 8

h(8) = 8 mod 7 = 1

terjadi tabrakan dengan data 1 pada tabel.

h’(8) = (1 + 1) mod 7 = 2

Tampilan disajikan pada gambar 2.7

Gambar 2.7 masukan data 8 dengan resolusi linier

5.

Masukkan data 10

h(10) = 10 mod 7 = 3

Tampilan disajikan pada gambar 2.8

Gambar 2.8 masukan data 10 dengan resolusi linier

6.

Masukkan data 11

h(11) = 11 mod 7 = 4

terjadi tabrakan dengan data 4 pada tabel.

h’(11) = (4 + 1) mod 7 = 5

terjadi tabrakan dengan data 5 pada tabel.

h’(11) = (5 + 1) mod 7 = 6

Tampilan disajikan pada gambar 2.9

Gambar 2.9 masukan data 11 dengan resolusi linier

Fungsi

Hash

yang sama juga digunakan untuk melakukan proses pencarian

data. Misalkan lagi data yang dicari (X) sama dengan 8, maka proses pencarian

datanya adalah sebagai berikut, ( lihat gambar 2.10 dan gambar 2.11)

1.

Hitung nilai fungsi

Hash

untuk data 8

h(8) = 8 mod 7 = 1

Tampilan disajikan pada gambar 2.10

(39)

17

2.

Posisi ke-1 pada tabel berisi data 1 dan tidak sama dengan data yang dicari

sehingga pencarian dilanjutkan.

Gambar 2.10 pencarian data 8 dengan resolusi linier

3.

Hitung kembali nilai fungsi

Hash

dengan menggunakan fungsi

Rehashing

untuk data 8

h’(8) = (1 + 1) mod 7 = 2

Tampilan disajikan pada gambar 2.11

4.

Posisi ke-2 pada tabel berisi data 8 dan sama dengan data yang dicari

sehingga pencarian dihentikan dan dinyatakan SUKSES.

Gambar 2.11 pencarian data 8 dengan resolusi linier

Pencarian data di atas dilakukan untuk data yang terdapat pada tabel

(pencarian SUKSES). Untuk data yang tidak terdapat dalam tabel (pencarian

GAGAL) dapat dilihat pada contoh di bawah ini:

Misalkan lagi data yang dicari (X) sama dengan 22, maka proses pencarian

datanya adalah sebagai berikut, ( lihat gambar 2.12 sampai gambar 2.18)

1.

Hitung nilai fungsi

Hash

untuk data 22

h(22) = 22 mod 7 = 1

Tampilan disajikan pada gambar 2.12

1

8

10

4

5

11

0 1 2 3 4 5 6

1

8

10

4

5

11

(40)

18

2.

Posisi ke-1 pada tabel berisi data 1 dan tidak sama dengan data yang dicari

sehingga pencarian dilanjutkan.

Gambar 2.12 pencarian data 22 dengan resolusi linier

3.

Hitung kembali nilai fungsi

Hash

dengan menggunakan fungsi

Rehashing

untuk data 22

h’(22) = (1 + 1) mod 7 = 2

Tampilan disajikan pada gambar 2.13

4.

Posisi ke-2 pada tabel berisi data 8 dan tidak sama dengan data yang dicari

sehingga pencarian dilanjutkan.

Gambar 2.13 pencarian data 22 dengan resolusi linier

5.

Hitung kembali nilai fungsi

Hash

dengan menggunakan fungsi

Rehashing

untuk data 22

h’(22) = (2 + 1) mod 7 = 3

Tampilan disajikan pada gambar 2.14

6.

Posisi ke-3 pada tabel berisi data 10 dan tidak sama dengan data yang

dicari sehingga pencarian dilanjutkan.

Gambar 2.14 pencarian data 22 dengan resolusi linier

1

8

10

4

5

11

0 1 2 3 4 5 6

1

8

10

4

5

11

0 1 2 3 4 5 6

1

8

10

4

5

11

(41)

19

7.

Hitung kembali nilai fungsi

Hash

dengan menggunakan fungsi

Rehashing

untuk data 22

h’(22) = (3 + 1) mod 7 = 4

Tampilan disajikan pada gambar 2.15

8.

Posisi ke-4 pada tabel berisi data 4 dan tidak sama dengan data yang dicari

sehingga pencarian dilanjutkan.

Gambar 2.15 pencarian data 22 dengan resolusi linier

9.

Hitung kembali nilai fungsi

Hash

dengan menggunakan fungsi

Rehashing

untuk data 22

h’(22) = (4 + 1) mod 7 = 5

Tampilan disajikan pada gambar 2.16

10.

Posisi ke-5 pada tabel berisi data 5 dan tidak sama dengan data yang dicari

sehingga pencarian dilanjutkan.

Gambar 2.16 pencarian data 22 dengan resolusi linier

11.

Hitung kembali nilai fungsi

Hash

dengan menggunakan fungsi

Rehashing

untuk data 22

h’(22) = (5 + 1) mod 7 = 6

Tampilan disajikan pada gambar 2.17

1

8

10

4

5

11

0 1 2 3 4 5 6

1

8

10

4

5

11

(42)

20

12.

Posisi ke-6 pada tabel berisi data 11 dan tidak sama dengan data yang

dicari sehingga pencarian dilanjutkan.

Gambar 2.17 pencarian data 22 dengan resolusi linier

13.

Hitung kembali nilai fungsi

Hash

dengan menggunakan fungsi

Rehashing

untuk data 22

h’(22) = (6 + 1) mod 7 = 0

Tampilan disajikan pada gambar 2.18

14.

Posisi ke-0 pada tabel masih kosong sehingga pencarian dihentikan dan

dinyatakan GAGAL.

Gambar 2.18 pencarian data 22 dengan resolusi linier

Waktu akses untuk pencarian SUKSES untuk data di atas dapat dilihat pada tabel

berikut ini:

Tabel 2.1 Waktu akses metode pencarian Hash Tertutup dengan resolusi Linier

keterangan: X = jumlah data

T = jumlah data untuk menempati tempat

Sehingga waktu akses rata – rata dari metoda pencarian

Hash

Tertutup dengan

strategi Resolusi Linier (

Linear Resolution

) untuk pencarian SUKSES adalah

sebesar 9/6 = 1,5 dan kemungkinan terburuk adalah menelusuri seluruh tabel dan

(43)

21

gagal. Waktu akses ini sudah cukup baik, walaupun tidak sebagus metoda

pencarian Langsung (

Direct Search

). Namun, efisiensi penggunaan tempat dari

metoda ini adalah 6/7 * 100 % = 85,714 % dan sudah jauh lebih baik daripada

metoda pencarian Langsung (

Direct Search

).

2. Overflow

Strategi ini mengatasi / mengurangi tabrakan (

collision

) dengan cara

membagi tabel menjadi 2 buah, yaitu tabel utama dan tabel

overflow

dengan

ketentuan ukuran tabel utama lebih besar daripada ukuran tabel

overflow

. Cara

penempatan data pada tabel utama dilakukan dengan menggunakan fungsi

Hash

.

Jika terjadi tabrakan (

collision

), maka data ditempatkan pada tabel

overflow

.

Cara penempatan data pada tabel

overflow

dapat dilakukan dengan cara

sekuensial atau menggunakan fungsi

Hash

yang baru. Jika tabel

overflow

telah

penuh, maka data yang masuk ke dalam tabel

overflow

akan ditolak. Agar lebih

jelas, dapat dilihat pada contoh di bawah ini:

Misalkan data

input

: 1, 4, 5, 10, 11, 15, 16 dengan jumlah data = 7, ukuran tabel

utama = 5, ukuran tabel

overflow

= 3, fungsi

Hash

untuk tabel utama h(X) = X

mod 5 dan fungsi

overflow

g(X) = X mod 3 (lihat gambar 2.19 sampai gambar

2.25). Proses penempatan data untuk data di atas adalah sebagai berikut:

1.

Masukkan data 1.

h(1) = 1 mod 5 = 1

Tampilan disajikan pada gambar 2.19

Gambar 2.19 masukan data 1 dengan overflow

(44)

22

2.

Masukkan data 4.

h(4) = 4 mod 5 = 4

Tampilan disajikan pada gambar 2.20

Gambar 2.20 masukan data 4 dengan overflow

3.

Masukkan data 5.

h(5) = 5 mod 5 = 0

Tampilan disajikan pada gambar 2.21

Gambar 2.21 masukan data 5 dengan overflow

4.

Masukkan data 10.

h(10) = 10 mod 5 = 0

tabrakan dengan data 5 pada tabel utama.

g(10) = 10 mod 3 = 1

Tampilan disajikan pada gambar 2.22

(45)

23

5.

Masukkan data 11.

h(11) = 11 mod 5 = 1

tabrakan dengan data 1 pada tabel utama.

g(11) = 11 mod 3 = 2

Tampilan disajikan pada gambar 2.23

Gambar 2.23 masukan data 11 dengan overflow

6.

Masukkan data 15.

h(15) = 15 mod 5 = 0

tabrakan dengan data 5 pada tabel utama.

g(15) = 15 mod 3 = 0

Tampilan disajikan pada gambar 2.24

Gambar 2.24 masukan data 15 dengan overflow

7.

Masukkan data 16.

(46)

24

Karena tabel

overflow

telah penuh, maka data 16 ditolak.

Tampilan disajikan pada gambar 2.25

Gambar 2.25 masukan data 16 dengan overflow

Untuk contoh di atas (kasus overflow), jika penempatan data pada tabel

overflow

dilakukan dengan cara sekuensial, maka proses penempatan data untuk data di

atas menjadi seperti berikut (lihat gambar 2.26 sampai gambar 2.32).

1.

Masukkan data 1.

h(1) = 1 mod 5 = 1

Tampilan disajikan pada gambar 2.26

Gambar 2.26 masukan data 1 dengan overflow-sekuensial

2.

Masukkan data 4.

h(4) = 4 mod 5 = 4

Tampilan disajikan pada gambar 2.27

(47)

25

3.

Masukkan data 5.

h(5) = 5 mod 5 = 0

Tampilan disajikan pada gambar 2.28

Gambar 2.28 masukan data 5 dengan overflow-sekuensial

4.

Masukkan data 10.

h(10) = 10 mod 5 = 0

tabrakan dengan data 5 pada tabel utama.

Karena posisi ke-0 pada tabel

overflow

masih kosong, maka data 10

ditempatkan pada posisi tersebut.

Tampilan disajikan pada gambar 2.29

Gambar 2.29 masukan data 10 dengan overflow-sekuensial

5.

Masukkan data 11.

h(11) = 11 mod 5 = 1

tabrakan dengan data 1 pada tabel utama.

Data 11 ditempatkan pada posisi ke-1 karena posisi ke-0 telah terisi.

Tampilan disajikan pada gambar 2.30

(48)

26

6.

Masukkan data 15.

h(15) = 15 mod 5 = 0

tabrakan dengan data 5 pada tabel utama.

Data 15 ditempatkan pada posisi ke-2 karena posisi ke-0 dan 1 telah terisi.

Tampilan disajikan pada gambar 2.31

Gambar 2.31 masukan data 15 dengan overflow-sekuensial

7.

Masukkan data 16.

h(16) = 16 mod 5 = 1

tabrakan dengan data 1 pada tabel utama.

Karena tabel

overflow

telah penuh, maka data 16 ditolak.

Tampilan disajikan pada gambar 2.32

Gambar 2.32 masukan data 16 dengan overflow-sekuensial

Proses pencarian data sama menggunakan fungsi yang sama dengan proses

penempatan data. Misalkan data yang dicari adalah 15, maka proses pencarian

data untuk penempatan data pada tabel

overflow

menggunakan fungsi

overflow

adalah sebagai berikut (lihat gambar 2.33 samapai gambar 2.34):

1.

Hitung nilai fungsi

Hash

untuk data 15

h(15) = 15 mod 5 = 0

Tampilan disajikan pada gambar 2.33

2.

Posisi ke-0 pada tabel utama berisi data 5 dan tidak sama dengan nilai data

yang dicari, sehingga pencarian dilanjutkan ke tabel

overflow

.

(49)

27

Gambar 2.33 pencarian data 15 dengan overflow

3.

Karena proses penempatan data pada tabel

overflow

menggunakan fungsi

overflow

, untuk proses pencarian data juga menggunakan fungsi

overflow

yang sama untuk data 15 (lihat gambar 2.34)

h(15) = 15 mod 3 = 0

4.

Posisi ke-0 pada tabel

overflow

berisi data 15 dan sama dengan nilai data

yang dicari, sehingga pencarian dihentikan dan dinyatakan SUKSES.

Gambar 2.34 pencarian data 15 dengan overflow

Pencarian tersebut dilakukan untuk data yang berada dalam tabel (pencarian

SUKSES), untuk data yang tidak berada dalam tabel dapat dilihat pada contoh

berikut ini. Misalkan data yang dicari adalah 16, maka proses pencarian data

untuk penempatan data pada tabel

overflow

menggunakan fungsi

overflow

adalah

sebagai berikut, ( lihat gambar 2.35 sampai gambar 2.38):

1.

Hitung nilai fungsi

Hash

untuk data 16

h(16) = 16 mod 5 = 1

Tampilan gambar 2.35

2.

Posisi ke-1 pada tabel utama berisi data 1 dan tidak sama dengan nilai data

yang dicari, sehingga pencarian dilanjutkan ke tabel

overflow

.

(50)

28

Gambar 2.35 pencarian data 16 dengan overflow

3.

Karena proses penempatan data pada tabel

overflow

menggunakan fungsi

overflow

, untuk proses pencarian data juga menggunakan fungsi

overflow

yang sama untuk data 16

h(16) = 16 mod 3 = 1

Tampilan disajikan pada 2.36

4.

Posisi ke-1 pada tabel

overflow

berisi data 10 dan tidak sama dengan nilai

data yang dicari, sehingga pencarian dilanjutkan.

Gambar 2.36 pencarian data 16 dengan overflow

5.

Hitung nilai fungsi

overflow

dengan menggunakan fungsi

Rehashing

untuk

data 16

h’(16) = (1 + 1) mod 3 = 2

Tampilan disajikan pada gambar 2.37

6.

Posisi ke-2 pada tabel

overflow

berisi data 11 dan tidak sama dengan nilai

data yang dicari, sehingga pencarian dilanjutkan.

(51)

29

Gambar 2.37 pencarian data 16 dengan overflow

7.

Hitung nilai fungsi

overflow

dengan menggunakan fungsi

Rehashing

untuk

data 16

h’(16) = (2 + 1) mod 3 = 0

Tampilan disajikan pada gambar 2.38

8.

Posisi ke-0 pada tabel

overflow

berisi data 15 dan tidak sama dengan nilai

data yang dicari. Proses pencarian telah menelusuri seluruh tabel

overflow

dan data tidak ditemukan sehingga proses pencarian dihentikan dan

dinyatakan GAGAL.

Gambar 2.38 pencarian data 16 dengan overflow

Jika proses penempatan data pada tabel

overflow

menggunakan cara

sekuensial, maka proses pencarian juga menggunakan cara yang sama. Agar lebih

jelas, dapat dilihat pada contoh berikut ini:

Misalkan data yang dicari adalah 16, maka proses pencarian data untuk

penempatan data pada tabel

overflow

menggunakan cara sekuensial adalah

sebagai berikut, (lihat tabel 2.39 sampai gambar 3.42):

(52)

30

1.

Hitung nilai fungsi

Hash

untuk data 16

h(16) = 16 mod 5 = 1

Tampilan disajikan pada gambar 2.39

2.

Posisi ke-1 pada tabel utama berisi data 1 dan tidak sama dengan nilai data

yang dicari, sehingga pencarian dilanjutkan ke tabel

overflow

.

Gambar 2.39 pencarian data 16 dengan overflow-sekuensial

3.

Karena proses penempatan data pada tabel

overflow

menggunakan cara

sekuensial, untuk proses pencarian data juga menggunakan cara sekuensial

untuk data 16.

4.

Lihat posisi ke-0 pada tabel

overflow

. Posisi ke-0 berisi data 10 dan tidak

sama dengan data yang dicari sehingga pencarian dilanjutkan

Tampilan disajikan pada gambar 2.40

Gambar 2.40 pencarian data 16 dengan overflow-sekuensial

5.

Lihat posisi ke-1 pada tabel

overflow

. Posisi ke-1 berisi data 11 dan tidak

sama dengan data yang dicari sehingga pencarian dilanjutkan

(53)

31

Gambar 2.41 pencarian data 16 dengan overflow-sekuensial

6.

Lihat posisi ke-2 pada tabel

overflow

. Posisi ke-2 berisi data 15 dan tidak

sama dengan data yang dicari (lihat gambar 2.42).

Karena proses pencarian telah menelusuri seluruh tabel

overflow

dan data

tidak ditemukan, sehingga proses pencarian dihentikan dan dinyatakan

GAGAL.

Gambar 2.42 pencarian data 16 dengan overflow-sekuensial

Waktu akses untuk pencarian SUKSES dengan penempatan data pada tabel

overflow

menggunakan fungsi

overflow

dapat dilihat pada tabel berikut ini,

Tabel 2.2 Waktu akses metode pencarian hash tertutup dengan overflow

Dengan

: X = jumlah data

T = jumlah data untuk menempati tempat

Sehingga waktu akses rata – rata dari metoda pencarian

Hash

Tertutup dengan

strategi

Overflow

dengan penempatan data pada tabel

overflow

menggunakan

(54)

32

fungsi

overflow

untuk pencarian SUKSES adalah sebesar 9/6 = 1,5 dan

kemungkinan terburuk adalah menelusuri seluruh tabel overflow dan gagal.

Waktu akses ini sudah cukup memuaskan ditambah lagi efisiensi penggunaan

tempat sebesar 6/8 * 100 % = 75 % juga tidak begitu buruk. Untuk proses

penempatan data pada tabel

overflow

secara sekuensial juga memiliki waktu akses

dan efisiensi tempat yang sama. Namun, yang menjadi permasalahan dari strategi

ini adalah kecilnya ukuran dari tabel

overflow

sehingga mengakibatkan

kemungkinan suatu data ditolak lebih besar.

3. Double Hashing

Strategi

Double Hashing

ini hampir mirip dengan strategi

Overflow

, yaitu

dengan menggunakan dua buah tabel sebagai tempat pengisian data.

Perbedaannya adalah strategi ini menggunakan dua buah tabel yang sama besar

ukurannya. Proses penempatan dan pencarian data untuk strategi ini juga sama

persis dengan strategi

overflow

.

II.5.2. Hash Terbuka (Open Hash)

(55)

33

Sebagai contoh, diambil barisan bilangan sebelumnya, yaitu 1, 4, 5, 10, 11, 15, 16

dengan jumlah data = 7, ukuran tabel = 5 dan fungsi hash h(X) = X mod 5 (lihat

gambar 2.43 sampai gambar 2.44)

h(1) = 1 mod 5 = 1

Proses penambahan elemen data dilakukan di depan

List

.

Tampilan disajikan pada gambar 2.43

Gambar 2.43 penambahan data dengan depan list

Proses penambahan elemen data dilakukan di belakang

List

Tampilan disajikan pada gambar 2.44

Gambar 2.44 penambahan data dengan belakang list

(56)

34

Waktu akses untuk pencarian SUKSES pada

Hash

Terbuka dapat dilihat pada

tabel berikut ini:

Tabel 2.3 Waktu akses metode pencarian Hash Terbuka

Dengan

: X = jumlah data

T = jumlah data untuk menempati tempat

Sehingga waktu akses rata – rata dari metoda pencarian

Hash

Terbuka untuk

pencarian SUKSES adalah sebesar 13/7 = 1,86 dan kemungkinan terburuk adalah

menelusuri satu

Linked List

dan gagal. Sedangkan banyak tempat yang digunakan

adalah sebagai berikut:

Tabel

=

5

Cell

=

2 x 7 =

14

Total tempat

=

19 byte

X

1

4

5

10

11

15

16

(57)

35

BAB III

ANALISA DAN PERANCANGAN SISTEM

III.1.

Analisis kebutuhan sistem

III.1.1.

Fase Analisis Masalah

Sistem pembelajaran yang diterapkan cenderung masih searah, kurang

dapat membantu para mahasiswa dalam mempelajari suatu materi perkuliahan.

Sehingga masih ada beberapa mahasiswa yang belum mengerti materi yang

diajarkan. Ada beberapa kendala mahasiswa untuk memahami suatu materi yang

diajarkan. Adapun beberapa kendala tersebut adalah sebagai berikut :

1.

Sistem pembelajaran yang masih searah, yaitu mahasiswa hanya

mendengarkan penjelasan dari dosen di kelas saja sehingga membuat

proses belajar dan mengajar kurang interaktif. Walaupun pada saat ini

sudah ada presentasi kelompok di kelas, tetapi kebanyakan mahasiswa

masih kurang memahami materi yang dipresentasikan.

2.

Para mahasiswa masih banyak yang kurang bisa memahami

bahan/materi yang disajikan selama di kelas, karena suasana kelas yang

kurang kondusif, seperti pengaruh teman-teman yang membuat

kebisingan di kelas.

3.

Ada beberapa dosen dalam menyampaikan materi di kelas dirasakan

mahasiswa terlalu cepat sehingga ada beberapa mahasiswa yang belum

(58)

36

Oleh karena itu, pembuatan suatu Simulasi Pembelajaran Metode Relatif

Hash Search menjadi sangat berperan dalam mengatasi kendala-kendala tersebut

di atas. Pembuatan Simulasi Pembelajaran Metode Relatif Hash Search ini

bertujuan untuk membantu para dosen dan mahasiswa dalam proses belajar

mengajar, terutama membantu mahasiswa dalam memahami bagaimana cara

operasi pengecekan, penempatan dan pencarian data dengan metode pencarian

relatif Hash Search secara tahap demi tahap. Selain itu, dapat mempermudah

dosen dalam menyampaikan materi secara tepat sehingga para mahasiswa dapat

menyerap materi yang diberikan dosen dengan baik. Simulasi Pembelajaran

Metode Relatif Hash Search ini juga sangat membantu para mahasiswa

mempelajari kembali di luar kelas (di rumah atau di kos).

III.1.2.

Cause Efect Analysis

dan

System Improvement Objective

.

Cause effect analysis

adalah suatu teknik yang mempelajari masalah

untuk menentukan sebab dan akibat.

(59)

37

Tabel 3.1 Cause effect analysis

ANALISA SEBAB-AKIBAT

SASARAN PENINGKATAN SISTEM

Permasalahan

Sebab dan

Akibat

Sasaran Sistem

Batasan Sistem

Mahasiswa

pembelajaran yang dapat mempermudah proses belajar dan mengajar. Simulasi ini

menyediakan fasilitas bagi user untuk :

1.

Mendapatkan informasi materi tentang Pencarian Relatif Metode Hash.

2.

User dapat melihat bagaimana cara penempatan data yang telah diinputkan

oleh user.

3.

User dapat mempelajari Simulasi Pembelajaran ini dimana saja asal user

mempunyai alat pendukung Simulasi Pembelajaran ini yaitu laptop atau

(60)

38

III.2.

Perancangan Sistem

III.2.1.

Aktor

use case

Aktor

use case

adalah segala sesuatu yang perlu berinteraksi dengan

sistem untuk pertukaran informasi.

Tampilan pada tabel 3.2

Tabel 3.2 Aktor Use Case

Nama aktor

Keterangan

User

Orang yang menggunakan sistem pembelajaran ini.

III.2.2.

Use Case Diagram

Use case

adalah Diagram yang menggambarkan interaksi antara sistem

ekternal dan pengguna.

(61)
(62)

40

III.2.3.

Narasi

Use Case

Narasi

use case

atau

use case narative

adalah deskripsi tekstual kegiatan

bisnis dan bagaimana pengguna berinteraksi dengan sistem untuk menyelesaikan

suatu tugas.Tampilan disajikan pada tabel 3.3 sampai tabel 3.16

Tabel 3.3 Narasi use case Buka File

NAMA USE CASE : Buka File.

DESCRIPTION: Use case ini mendeskripsikan proses membuka file yang telah disimpan oleh sistem.

PRE-CONDITION: Harus ada file data yang telah disimpan pada sistem

TRIGGER:

TYPICAL COURSE OF EVENTS:

Actor Action System Response

Step 1: user memilih menu ‘buka file’

Step 2: user memilih file yang ingin dibuka

Step 3: user menekan ‘tombol open’

Alt-Step 3 : untuk membatalkan user untuk membuka file user menekan tombol ’cancel’

CONCLUSION: Semua user dapat membuka file yang telah disimpan pada sistem ini.

POST-CONDITION: Data berhasil dibuka

BUSINESS RULES

IMPLEMENTATION CONTRAINTS AND SPECIFICATIONS

(63)

41

Tabel 3.4 Narasi Use Case Simpan File

NAMA USE CASE : Simpan File.

Author (s): anton Date28/11/2010

DESCRIPTION: Use case ini mendeskripsikan proses

menyimpan file.

PRE-CONDITION: Harus ada data yang ingin disimpan.

TRIGGER:

TYPICAL COURSE OF EVENTS:

Actor Action System Response

Step 1: User menginputkan terlebih dahulu data yang ingin disimpan.

Step 4: Sistem merespon dengan memproses menyimpan file.

ALTERNATE COURSES:

Alt-Step 3: Jika user tidak jadi menyimpan file maka user dapat menekan tombol ‘cancel’.

Alt-Step 4: jika inputan data kosong sistem tidak merespon perintah yang dilakukan oleh user

CONCLUSION: Semua user dapat menyimpan file.

POST-CONDITION: Data berhasil disimpan

IMPLEMENTATION CONTRAINTS AND SPECIFICATIONS

(64)

42

Tabel 3.5 Narasi Use Case Lihat Teori Open Hash

NAMA USE CASE : Lihat Teori Open Hash.

Author (s): anton Date28/11/2010

DESCRIPTION: Use case ini mendeskripsikan tentang materi pembelajaran Open Hash.

PRE-CONDITION:

TRIGGER:

TYPICAL COURSE

OF EVENTS:

Actor Action System Response

Step 1: user memilih menu teori Open Hash

CONCLUSION: Semua user dapat melihat tampilan teori open hash.

POST-CONDITION: Teori open hash dapat dilihat oleh user

BUSINESS RULES

IMPLEMENTATIO

N CONTRAINTS

AND

SPECIFICATIONS

(65)

43

Tabel 3.6 Narasi Use Case Lihat Teori Close Hash

NAMA USE CASE : Lihat Teori Close Hash.

Author (s): anton Date28/11/2010

DESCRIPTION: Use case ini mendeskripsikan tentang materi pembelajaran Close Hash.

PRE-CONDITION:

TRIGGER:

TYPICAL COURSE

OF EVENTS:

Actor Action System Response

Step 1: user memilih menu teori Close Hash

CONCLUSION: Semua user dapat melihat tampilan teori close hash.

POST-CONDITION: Teori close hash dapat dilihat oleh user

BUSINESS RULES

IMPLEMENTATION

CONTRAINTS AND

SPECIFICATIONS

(66)

44

Tabel 3.7 Narasi Use Case Input Data Penempatan

NAMA USE CASE : Input Data Penempatan.

Author (s): anton Date28/11/2010

DESCRIPTION: Use case ini mendeskripsikan proses user menginputkan data yang akan diurutkan.

PRE-CONDITION:

TRIGGER:

TYPICAL COURSE OF EVENTS:

Actor Action System Response

Step 1: user memilih menu simulasi

Step 2: user menginputkan data pada text box‘input data’

Step 3: user memilih metode hash yang digunakan (open hash atau close hash)

Step 4: user menginputkan jumlah tabel (modulo)

Alt-Step 5: jika user ingin membatalkan proses data maka user menekan tombol ’keluar’

Alt-Step 6 : jika data-data inputan belum benar atau masih kosong maka sistem akan memberikan peringatan kesalahan.

CONCLUSION: Data-data inputan dari user akan diproses menurut metode yang digunakan (open hash atau close hash).

POST-CONDITION: Sistem menampilkan hasil dari metode yang digunakan

BUSINESS RULES

IMPLEMENTATION CONTRAINTS AND SPECIFICATIONS

Gambar

Tabel 5.9 Hasil Jawaban dan Presentase Kuesioner no 8……...………………….       158
Tabel 5 9 Hasil Jawaban dan Presentase Kuesioner no 8 158 . View in document p.16
Gambar 5.1 Form Kuesioner………………………………………….……...…………  152
Gambar 5 1 Form Kuesioner 152 . View in document p.22
gambar atau grafik. Pada saat yang tepat mahasiswa diperkirakan telah
Pada saat yang tepat mahasiswa diperkirakan telah . View in document p.30
Tabel  utama
Tabel utama . View in document p.44
Tabel
Tabel . View in document p.56
Tabel 3.1 Cause effect analysis
Tabel 3 1 Cause effect analysis . View in document p.59
Tabel 3.2 Aktor Use Case
Tabel 3 2 Aktor Use Case . View in document p.60
Gambar 3.1  Use Case Diagram
Gambar 3 1 Use Case Diagram . View in document p.61
Tabel 3.3 Narasi use case Buka File
Tabel 3 3 Narasi use case Buka File . View in document p.62
Tabel 3.4 Narasi Use Case Simpan File
Tabel 3 4 Narasi Use Case Simpan File . View in document p.63
Tabel 3.5 Narasi Use Case Lihat Teori Open Hash
Tabel 3 5 Narasi Use Case Lihat Teori Open Hash . View in document p.64
Tabel 3.6 Narasi Use Case Lihat Teori Close Hash
Tabel 3 6 Narasi Use Case Lihat Teori Close Hash . View in document p.65
tabel (modulo)
tabel (modulo) . View in document p.66
Tabel 3.8 Narasi Use Case Lihat hasil Proses Simulasi Penempatan Data
Tabel 3 8 Narasi Use Case Lihat hasil Proses Simulasi Penempatan Data . View in document p.67
Tabel 3.9 Narasi Use Case Lihat Probabilitas
Tabel 3 9 Narasi Use Case Lihat Probabilitas . View in document p.68
Tabel 3.10 Narasi Use Case Lihat Laporan Penempatan
Tabel 3 10 Narasi Use Case Lihat Laporan Penempatan . View in document p.69
Tabel 3.11 Narasi Use Case Simpan Laporan Penempatan
Tabel 3 11 Narasi Use Case Simpan Laporan Penempatan . View in document p.70
Tabel 3.12 Narasi Use Case Input Data Pencarian
Tabel 3 12 Narasi Use Case Input Data Pencarian . View in document p.71
Tabel 3.13 Narasi Use Case Lihat Hasil Proses Simulasi Pencarian Data
Tabel 3 13 Narasi Use Case Lihat Hasil Proses Simulasi Pencarian Data . View in document p.72
Tabel 3.14 Use Case  Lihat Laporan Pencarian
Tabel 3 14 Use Case Lihat Laporan Pencarian . View in document p.73
Tabel 3.15 Narasi Use Case Simpan Laporan Pencarian
Tabel 3 15 Narasi Use Case Simpan Laporan Pencarian . View in document p.74
Tabel 3.16 Narasi Use Case Lihat Profil Pembuat
Tabel 3 16 Narasi Use Case Lihat Profil Pembuat . View in document p.75
Gambar 3.2 Diagram Konteks
Gambar 3 2 Diagram Konteks . View in document p.76
Gambar 3.3 Diagram Berjenjang
Gambar 3 3 Diagram Berjenjang . View in document p.77
Gambar 3.5 Diagram DFD Level 1 proses 2
Gambar 3 5 Diagram DFD Level 1 proses 2 . View in document p.78
Gambar 3.6 Diagram DFD Level 1 Proses 3
Gambar 3 6 Diagram DFD Level 1 Proses 3 . View in document p.79
Gambar 3.7 Diagram DFD Level 2 Proses 3.5
Gambar 3 7 Diagram DFD Level 2 Proses 3 5 . View in document p.80
Gambar 3.9 Rancangan form Close hash
Gambar 3 9 Rancangan form Close hash . View in document p.81
Gambar 3.10 masukan data 3 dengan metode close hash-resolusi linier
Gambar 3 10 masukan data 3 dengan metode close hash resolusi linier . View in document p.82
Gambar 3.13 masukan data 10 dengan metode close hash-resolusi linier
Gambar 3 13 masukan data 10 dengan metode close hash resolusi linier . View in document p.83

Referensi

Memperbarui...

Download now (184 pages)