analisis perbandingan algoritma linear dan...

76
Analisis Perbandingan Algoritma Linear dan Binary pada Aplikasi Kamus Bahasa Indonesia-Jawa Skripsi Oleh Muhammad Akbar Pratama 1113091000030 PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH JAKARTA 2020 M / 1441 H

Upload: others

Post on 27-Mar-2021

10 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Analisis Perbandingan Algoritma Linear dan Binaryrepository.uinjkt.ac.id/dspace/bitstream/123456789/53846...masih menggunakan pencarian query sederhana, belum menggunakan algoritma

Analisis Perbandingan Algoritma Linear dan Binary

pada Aplikasi Kamus Bahasa Indonesia-Jawa

Skripsi

Oleh

Muhammad Akbar Pratama

1113091000030

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH

JAKARTA

2020 M / 1441 H

Page 2: Analisis Perbandingan Algoritma Linear dan Binaryrepository.uinjkt.ac.id/dspace/bitstream/123456789/53846...masih menggunakan pencarian query sederhana, belum menggunakan algoritma

i

Analisis Perbandingan Algoritma Linear dan Binary

pada Aplikasi Kamus Bahasa Indonesia-Jawa

Skripsi

Sebagai Salah Satu Syarat Untuk Memperoleh Gelar Sarjana Komputer

(S.Kom)

Fakultas Sains Dan Teknologi

Universitas Islam Negeri Syarif Hidayatullah

Oleh

Muhammad Akbar Pratama

1113091000030

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH

JAKARTA

2020 M / 1441 H

Page 3: Analisis Perbandingan Algoritma Linear dan Binaryrepository.uinjkt.ac.id/dspace/bitstream/123456789/53846...masih menggunakan pencarian query sederhana, belum menggunakan algoritma

ii

LEMBAR PERSETUJUAN

Analisis Perbandingan Algoritma Linear dan Binary

pada Aplikasi Kamus Bahasa Indonesia-Jawa

Skripsi

Sebagai Salah Satu Syarat untuk

Memperoleh Gelar Sarjana Komputer (S.Kom)

Oleh:

Muhammad Akbar Pratama

1113091000030

Menyetujui,

Pembimbing I Pembimbing II

Dewi Khairani, M.Sc Siti Ummi Masruroh, M.Sc

NIP. 198205222011012009 NIP. 198208232011012013

Mengetahui,

Ketua Program Studi Teknik Informatika,

Dr. Imam Marzuki Shofi, M.T

NIP. 19720205 200801 1 010

Page 4: Analisis Perbandingan Algoritma Linear dan Binaryrepository.uinjkt.ac.id/dspace/bitstream/123456789/53846...masih menggunakan pencarian query sederhana, belum menggunakan algoritma

iii

Page 5: Analisis Perbandingan Algoritma Linear dan Binaryrepository.uinjkt.ac.id/dspace/bitstream/123456789/53846...masih menggunakan pencarian query sederhana, belum menggunakan algoritma

iv

PERNYATAAN ORISINILITAS

Dengan ini saya menyatakan bahwa:

1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi

salah satu persyaratan memperoleh gelar Strata 1 di UIN Syarif

Hidayatullah Jakarta.

2. Semua sumber yang saya gunakan dalam penulisan ini telah saya

cantumkan sesuai dengan ketentuan yang berlaku di UIN Syarif

Hidayatullah Jakarta.

3. Apabila di kemudian hari terbukti karya ini bukan hasil karya asli saya atau

merupakan hasil jiplakan karya orang lain, maka saya bersedia menerima

sanksi yang berlaku di UIN Syarif Hidayatullah Jakarta.

Jakarta, 20 Juli 2020

Muhammad Akbar Pratama

Page 6: Analisis Perbandingan Algoritma Linear dan Binaryrepository.uinjkt.ac.id/dspace/bitstream/123456789/53846...masih menggunakan pencarian query sederhana, belum menggunakan algoritma

v

PERNYATAAN PERSETUJUAN PUBLIKASI SKRIPSI

Sebagai civitas akademik UIN Syarif Hidayatullah Jakarta, saya yang bertanda

tangan dibawah ini:

Nama : Muhammad Akbar Pratama

NIM : 1113091000030

Program Studi : Teknik Informatika

Fakultas : Sains dan Teknologi

Jenis Karya : Skripsi

Demi pengembangan ilmu pengetahuan, menyetujui untuk memberikan

kepada Universitas Islam Negeri Syarif Hidayatullah Jakarta Hak Bebas Royalti

Noneksklusif (Non-exclusive Royalty Free Right) atas karya ilmiah saya yang

berjudul:

Analisis Perbandingan Algoritma Linear dan Binary

pada Aplikasi Kamus Bahasa Indonesia-Jawa

beserta perangkat yang ada (jika diperlukan). Dengan Hak Bebas Royalti

Noneksklusif ini Universitas Islam Negeri Syarif Hidayatullah Jakarta berhak

menyimpan, mengalih media/formatkan, mengelola dalam bentuk pangkalan data

(database), merawat dan mempublikasikan tugas akhir saya selama tetap

mencantumkan nama saya sebagai penulis/pencipta dan sebagai pemilik Hak.

Demikian pernyataan ini saya buat dengan sebenarnya.

Dibuat di : Jakarta

Pada tanggal : 21 Juli 2020

Yang menyatakan

Muhammad Akbar Pratama

Page 7: Analisis Perbandingan Algoritma Linear dan Binaryrepository.uinjkt.ac.id/dspace/bitstream/123456789/53846...masih menggunakan pencarian query sederhana, belum menggunakan algoritma

vi

Penulis : Muhammad Akbar Pratama (1113091000030)

Program Studi : Teknik Informatika

Judul : Analisis Perbandingan Algoritma Linear dan Binary

pada Aplikasi Kamus Bahasa Indonesia-Jawa

ABSTRAK

Negara Indonesia mempunyai beraneka ragam suku yang tersebar dari Sabang

sampai Merauke. Begitu juga dengan bahasa daerah, tiap suku yang berada di

Indonesia memiliki bahasa yang berbeda-beda. Jumlah bahasa daerah di Indonesia

pada 2018 mencapai 652 bahasa daerah. Salah satu bahasa daerah yang sering

dipakai adalah bahasa Jawa, tetapi dikarenakan media yang tersedia saat ini sangat

terbatas, sehingga apabila ada orang yang ingin mempelajari bahasa Jawa cukup

sulit untuk mendapatkan sumbernya. Salah satu media pembelajaran yang mudah

diakses salah satunya adalah kamus berbasis online. Salah satu fiturnya adalah

menerjemahkan kata. Fitur pencarian pada kamus yang sudah ada kebanyakan

masih menggunakan pencarian query sederhana, belum menggunakan algoritma.

Sehingga penulis mengimplementasikan algoritma pencarian Linear dan Binary ke

dalam fitur pencarian kata pada aplikasi kamus Bahasa Indonesia-Jawa. Selain itu,

penulis membandingkan kedua performa algoritma tersebut dengan menggunakan

metode simulasi dengan beberapa skenario. Parameter pembandingnya adalah

runtime dan memory consumption. Hasil yang didapatkan dari penelitian ini yaitu

dapat mengetahui hasil perbandingan dari algoritma pencarian Linear dan Binary

pada aplikasi kamus Bahasa Indonesia-Jawa, dan hasilnya adalah data skenario

berupa rata-rata angka perbandingan dari query SQL, algoritma pencarian Linear

dan Binary berdasarkan runtime dan memory consumption.

Kata Kunci : Analisis Algoritma, query SQL, Algoritma Linear,

Algoritma Binary, runtime, memory consumption, Metode

Simulasi

Jumlah Pustaka : 10 Buku + 8 Jurnal + 2 Website

Jumlah Halaman : VI Bab + xv Halaman + 74 Halaman

Page 8: Analisis Perbandingan Algoritma Linear dan Binaryrepository.uinjkt.ac.id/dspace/bitstream/123456789/53846...masih menggunakan pencarian query sederhana, belum menggunakan algoritma

vii

Author : Muhammad Akbar Pratama (1113091000030)

Study Program : Teknik Informatika

Title : Analisis Perbandingan Algoritma Linear dan Binary

pada Aplikasi Kamus Bahasa Indonesia-Jawa

ABSTRACT

The country of Indonesia has a wide variety of tribes spread from Sabang to

Merauke. Likewise with local languages, each tribe in Indonesia has a different

language. The number of regional languages in Indonesia in 2018 reached 652

regional languages. One of the regional languages that is often used is Javanese, but

because the media currently available are very limited, so if there are people who

want to learn Javanese it is quite difficult to get the source. One of the learning

media that is easily accessible is the online-based dictionary. One feature is

translating words. Most of the dictionary search features still use simple query

search, not using an algorithm. So the writer implements the Linear and Binary

search algorithm into the word search feature in the Indonesian-Javanese dictionary

application. In addition, the authors compare the performance of the two algorithms

by using a simulation method with several scenarios. The comparison parameters

are runtime and memory consumption. The results obtained from this study are able

to find out the results of the comparison of the Linear and Binary search algorithm

in the Indonesian-Javanese dictionary application, and the result is scenario data in

the form of average comparison numbers from SQL queries, Linear and Binary

search algorithms based on runtime parameters and memory consumption.

Keyword : Algorithm Analysis, Query SQL, Linear Algorithm, Binary

Algorithm, runtime, memory consumption, Simulation Method

Page 9: Analisis Perbandingan Algoritma Linear dan Binaryrepository.uinjkt.ac.id/dspace/bitstream/123456789/53846...masih menggunakan pencarian query sederhana, belum menggunakan algoritma

viii

KATA PENGANTAR

Assalamu’alaikum Wr. Wb.

Puji syukur penulis panjatkan kehadirat Alah SWT yang telah melimpahkan

rahmat dan karunia-Nya sehingga penulis dapat menyelesaikan penyusunan skripsi

ini. Shalawat serta salam semoga senantiasa terlimpahkan kepada Baginda Nabi

Muhammad SAW, kepada keluarganya, para sahabatnya, hingga kepada umatnya

hingga akhir zaman.

Penulisan skripsi ini merupakan salah satu tugas akhir wajib bagi

mahasiswa sebagai persyaratan mendapatkan gelar Sarjana Komputer (S.Kom)

pada program studi Teknik Informatika, Fakultas Sains dan Teknologi, Universitas

Islam Negeri Syarif Hidayatullah Jakarta. Sebagai bahan penulisan skripsi ini,

penulis melakukan berdasarkan penelitian, pengembangan aplikasi, observasi, dan

beberapa sumber literatur. Tak lupa penulis juga ingin menyampaikan banyak

terima kasih kepada semua pihak yang telah banyak membimbing penulis dalam

melakukan penulisan skripsi ini, karena tanpa bimbingan dan dorongan dari semua

pihak, maka penulisan skripsi ini tidak akan berjalan dengan lancar. Oleh karena

itu dalam kesempatan ini penulis akan menyampaikan terima kasih kepada:

1. Prof. Dr. Lily Surraya Eka Putri, M.Env.Stud. selaku Dekan Fakultas Sains dan

Teknologi UIN Syarif Hidayatullah Jakarta.

2. Dr. Imam Marzuki Shofi, M.T dan Andrew Fiade, M.Kom, selaku Ketua dan

Sekertaris Program Studi Teknik Informatika, Fakultas Sains dan Teknologi

UIN Syarif Hidayatullah Jakarta.

3. Dewi Khairani, M.Sc dan Siti Ummi Masruroh, M.Sc, selaku dosen

pembimbing skripsi yang telah banyak meluangkan waktu disela-sela

kesibukan dalam memberi bimbingan, nasihat, kritik dan saran untuk

membangun penulis dalam penyusunan skripsi ini.

Page 10: Analisis Perbandingan Algoritma Linear dan Binaryrepository.uinjkt.ac.id/dspace/bitstream/123456789/53846...masih menggunakan pencarian query sederhana, belum menggunakan algoritma

ix

4. Orang tua tercinta, Bapak dan Ibu yang telah memberikan dukungan moril

maupun materiil kepada penulis. Atas jasa-jasanya, kesabaran, do’a, dan tidak

pernah lelah dalam mendidik dan memberi cinta yang tulus dan ikhlas kepada

penulis.

5. Keluarga dari penulis, yang telah menjadi teman bercerita dan motivator

terbaik untuk penulis. Terima kasih untuk dukungannya, baik moral maupun

material.

6. Teman-teman Barbel, terima kasih atas dukungan dan dorongannya sehingga

skripsi ini dapat terselesaikan.

7. Seluruh teman-teman seperjuangan Program Teknik Informatika, khususnya

kelas A angkatan 2013.

8. Semua pihak yang telah membantu penulis dalam menyelesaikan skripsi ini,

yang tidak dapat penulis sebutkan satu per satu. Semoga Allah SWT senantiasa

memberikan berkah dan karunia-Nya serta membalah semua kebaikan mereka.

Amin.

Demikian penulis ucapkan terima kasih dan mohon maaf yang sebesar-

besarnya apabila terdapat kata-kata didalam penulisan skripsi ini yang kurang

berkenan bagi pihak tertentu. Semoga skripsi ini bermanfaat bagi semua pihak,

khususnya bagi penulis dan umumnya bagi para pembaca.

Jakarta, Juli 2020

Penulis

Muhammad Akbar Pratama

Page 11: Analisis Perbandingan Algoritma Linear dan Binaryrepository.uinjkt.ac.id/dspace/bitstream/123456789/53846...masih menggunakan pencarian query sederhana, belum menggunakan algoritma

x

DAFTAR ISI

LEMBAR PERSETUJUAN .............................................................................. ii

PENGESAHAN UJIAN .................................................................................... iii

PERNYATAAN ORISINILITAS ................................................................... iiiv

PERNYATAAN PERSETUJUAN PUBLIKASI SKRIPSI .............................. v

ABSTRAK ......................................................................................................... vi

ABSTRACT ..................................................................................................... vii

KATA PENGANTAR ..................................................................................... viii

DAFTAR ISI ...................................................................................................... x

DAFTAR GAMBAR ...................................................................................... xiv

DAFTAR TABEL ............................................................................................ xv

BAB I PENDAHULUAN ................................................................................... 1

1.1. Latar Belakang .................................................................................... 1

1.2. Rumusan Masalah ............................................................................... 2

1.3. Batasan Masalah .................................................................................. 2

1.3.1. Metodologi .................................................................................... 2

1.3.2. Proses ............................................................................................ 2

1.3.3. Tools .............................................................................................. 3

1.4. Tujuan Penelitian................................................................................. 3

1.5. Manfaat Penelitian ............................................................................... 3

1.5.1. Penulis ........................................................................................... 3

1.5.2. Universitas .................................................................................... 4

1.6. Metode Penelitian ................................................................................ 4

1.6.1. Metode Pengumpulan Data .......................................................... 4

1.6.2. Metode Simulasi ............................................................................ 4

1.7. Sistematika Penulisan .......................................................................... 5

BAB II LANDASAN TEORI ............................................................................. 7

2.1. Analisis ................................................................................................. 7

2.2. Aplikasi ................................................................................................ 7

2.3. Kamus .................................................................................................. 7

2.4. Algoritma ............................................................................................. 8

Page 12: Analisis Perbandingan Algoritma Linear dan Binaryrepository.uinjkt.ac.id/dspace/bitstream/123456789/53846...masih menggunakan pencarian query sederhana, belum menggunakan algoritma

xi

2.4.1. Algoritma Linear........................................................................... 8

2.4.2. Algoritma Binary ........................................................................ 10

2.5. Metode Simulasi ................................................................................. 13

2.5.1. Problem Formulation .................................................................. 14

2.5.2. Conceptual Model ........................................................................ 14

2.5.3. Collection of Input/Output data ................................................... 14

2.5.4. Modelling Phase .......................................................................... 15

2.5.5. Simulation Phase ......................................................................... 15

2.5.6. Verification, Validation, and Experimentation ............................ 16

2.5.7. Output Analysis Phase ................................................................. 16

2.6. Metode Pengumpulan Data ............................................................... 16

2.6.1. Observasi ..................................................................................... 17

2.6.2. Studi Pustaka .............................................................................. 18

2.7. Basis Data ........................................................................................... 18

2.7.1. MySQL ........................................................................................ 19

2.8. Runtime (Waktu Pemrosesan) ........................................................... 19

2.9. Memory Consumption (Pemakaian Memori) .................................... 20

2.10. PHP ................................................................................................. 20

2.11. Sublime Text 3 ................................................................................ 20

2.12. Penelitian Sejenis ............................................................................ 22

BAB III METODE PENGUMPULAN DATA ................................................ 26

3.1. Metode Pengumpulan Data ............................................................... 26

3.2.1. Studi Pustaka .............................................................................. 26

3.2.2. Observasi ..................................................................................... 26

3.2. Metode simulasi ................................................................................. 26

3.2.1. Problem Formulation (Formulasi Masalah) ............................... 27

3.2.2. Conceptual Model (Pemodelan Konsep) ..................................... 27

3.2.3. Collection of Input and Output Data (Pengumpulan Masukan

atau Keluaran Data) ................................................................................. 27

3.2.4. Modeling (Tahap Permodelan) ................................................... 27

3.2.5. Simulation (Tahap Simulasi) ...................................................... 28

3.2.6. Conclusion (Verification, Validation, Experimental and Output

Analysis) .................................................................................................... 28

Page 13: Analisis Perbandingan Algoritma Linear dan Binaryrepository.uinjkt.ac.id/dspace/bitstream/123456789/53846...masih menggunakan pencarian query sederhana, belum menggunakan algoritma

xii

3.3. Alur Penelitian ................................................................................... 29

BAB IV IMPLEMENTASI SIMULASI DAN EKSPERIMEN ..................... 30

4.1. Problem Formulation ......................................................................... 30

4.2. Conceptual Model ............................................................................... 30

4.3. Collection of Input/Output Data ......................................................... 31

4.3.1. Input Data .................................................................................... 31

4.3.2. Output Data ................................................................................. 31

4.4. Modelling Phase ................................................................................. 31

4.5. Simulation Phase ................................................................................ 32

4.5.1. Pembangunan Server .................................................................. 32

4.5.2. Flowchart Simulasi...................................................................... 32

4.6. Verification, Validation, and Experimentation ................................... 34

4.7. Analysis Phase .................................................................................... 35

BAB V HASIL DAN PEMBAHASAN ............................................................ 36

5.1. Verification, Validation, dan Experimentation ................................... 36

5.2. Output Analysis Phase ........................................................................ 36

5.2.1. Skenario 1 ................................................................................... 36

5.2.1.1. Query SQL ............................................................................ 36

5.2.1.2. Algoritma Linear ................................................................. 37

5.2.1.3. Algoritma Binary ................................................................. 38

5.2.2. Skenario 2 ................................................................................... 38

5.2.2.1. Query SQL ............................................................................ 38

5.2.2.2. Algoritma Linear ................................................................. 39

5.2.2.3. Algoritma Binary ................................................................. 40

5.2.3. Skenario 3 ................................................................................... 40

5.2.3.1. Query SQL ........................................................................... 40

5.2.3.2. Algoritma Linear ................................................................. 41

5.2.3.3. Algoritma Binary ................................................................. 42

5.2.4. Skenario 4 ................................................................................... 43

5.2.4.1. Query SQL ............................................................................ 43

5.2.4.2. Algoritma Linear ................................................................. 43

5.2.4.3. Algoritma Binary ................................................................. 44

Page 14: Analisis Perbandingan Algoritma Linear dan Binaryrepository.uinjkt.ac.id/dspace/bitstream/123456789/53846...masih menggunakan pencarian query sederhana, belum menggunakan algoritma

xiii

5.2.5. Skenario 5 ................................................................................... 45

5.2.5.1. Query SQL ............................................................................ 45

5.2.5.2. Algoritma Linear ................................................................. 45

5.2.5.3. Algoritma Binary ................................................................. 46

5.3. Hasil Analisis Output ......................................................................... 47

5.3.1. Hasil Analisis Query SQL ........................................................ 47

5.3.2. Hasil Analisis Algoritma Linear.............................................. 47

5.3.3. Hasil Analisis Algoritma Binary ............................................. 48

5.3.4. Perbandingan Query SQL, Algoritma Linear dan Binary ...... 48

BAB VI KESIMPULAN DAN SARAN........................................................... 52

6.1. Kesimpulan ........................................................................................ 52

6.2. Saran .................................................................................................. 52

DAFTAR PUSTAKA ....................................................................................... 53

LAMPIRAN 1 .................................................................................................. 54

LAMPIRAN II ................................................................................................. 56

LAMPIRAN III ................................................................................................ 58

LAMPIRAN IV…………………………………………………………………59

Page 15: Analisis Perbandingan Algoritma Linear dan Binaryrepository.uinjkt.ac.id/dspace/bitstream/123456789/53846...masih menggunakan pencarian query sederhana, belum menggunakan algoritma

xiv

DAFTAR GAMBAR

Gambar 2.1 Flowchart Algoritma Linear .............................................................. 9

Gambar 2.2 Contoh Pengerjaan Algoritma Linear .............................................. 10

Gambar 2.3 Flowchart Algoritma Binary ........................................................... 12

Gambar 2.4 Contoh Pengerjaan Algoritma Binary.............................................. 13

Gambar 3.1 Alur Penelitian ................................................................................ 29

Gambar 4.1 Flowchart Simulasi ......................................................................... 33

Gambar 4.2 Contoh Query SQL.............................................................................33

Gambar 4.3 Contoh Algoritma Linear...................................................................34

Gambar 4.4 Contoh Algoritma Binary …………………………………………..34

Gambar 5.1 Perbandingan Runtime Algoritma Linear dan Binary .................... 499

Gambar 5.2 Perbandingan Memory Consumption Algoritma Linear dan Binary 50

Page 16: Analisis Perbandingan Algoritma Linear dan Binaryrepository.uinjkt.ac.id/dspace/bitstream/123456789/53846...masih menggunakan pencarian query sederhana, belum menggunakan algoritma

xv

DAFTAR TABEL

Tabel 2.1 Penelitian Sejenis ............................................................................. 244

Tabel 4.1 Model Skenario ................................................................................ 311

Tabel 5.1 Hasil Simulasi Query SQL Skenario ke-1 ........................................... 36

Tabel 5.2 Hasil Simulasi Algoritma Linear Skenario ke-1 .................................. 37

Tabel 5.3 Hasil Simulasi Algoritma Binary Skenario ke-1 .................................. 38

Tabel 5.4 Hasil Simulasi Query SQL Skenario ke-2 ........................................... 38

Tabel 5.5 Hasil Simulasi Algoritma Linear Skenario ke-2 .................................. 39

Tabel 5.6 Hasil Simulasi Algoritma Binary Skenario ke-2 .................................. 40

Tabel 5.7 Hasil Simulasi Query SQL Skenario ke-3 ........................................... 41

Tabel 5.8 Hasil Simulasi Algoritma Linear Skenario ke-3 .................................. 41

Tabel 5.9 Hasil Simulasi Algoritma Binary Skenario ke-3 .................................. 42

Tabel 5.10 Hasil Simulasi Query SQL Skenario ke-4 ......................................... 43

Tabel 5.11 Hasil Simulasi Algoritma Linear Skenario ke-4 ................................ 43

Tabel 5.12 Hasil Simulasi Algoritma Binary Skenario ke-4 ................................ 44

Tabel 5.13 Hasil Simulasi Query SQL Skenario ke-5 ......................................... 45

Tabel 5.14 Hasil Simulasi Algoritma Linear Skenario ke-5 ................................ 45

Tabel 5.15 Hasil Simulasi Algoritma Binary Skenario ke-5 ................................ 46

Tabel 5.16 Rata-Rata Hasil Simulasi Skenario Query SQL ................................ 47

Tabel 5.17 Rata-Rata Hasil Simulasi Skenario Algoritma Linear ........................ 47

Tabel 5.18 Rata-Rata Hasil Simulasi Skenario Algoritma Binary ....................... 48

Tabel 5.19 Perbandingan Analisis Algoritma Linear dan Binary ........................ 50

Page 17: Analisis Perbandingan Algoritma Linear dan Binaryrepository.uinjkt.ac.id/dspace/bitstream/123456789/53846...masih menggunakan pencarian query sederhana, belum menggunakan algoritma

1

BAB I

PENDAHULUAN

1.1. Latar Belakang

Negara Indonesia mempunyai beraneka ragam suku yang tersebar

dari Sabang sampai Merauke. Begitu juga dengan bahasa daerah, tiap suku

yang berada di Indonesia memiliki bahasa yang berbeda-beda. Berdasarkan

artikel yang terdapat pada portal berita Tirto.id, jumlah Bahasa daerah di

Indonesia pada 2018 mencapai 652 bahasa daerah. Salah satunya Bahasa

Jawa, yaitu bahasa daerah yang digunakan oleh suku Jawa, yang berada di

Provinsi Jawa Tengah dan Jawa Timur.

Bahasa Jawa adalah Bahasa daerah yang digunakan untuk

berkomunikasi pada penduduk di Jawa, akan tetapi dengan semakin

banyaknya persebaran suku Jawa ke seluruh pelosok Indonesia, menjadikan

kamus dari Bahasa Indonesia ke Jawa semakin dibutuhkan. Hal ini

dikarenakan media yang tersedia saat ini sangat terbatas, sehingga apabila

ada orang yang ingin mempelajari bahasa Jawa cukup sulit untuk

mendapatkan sumbernya.

Kamus adalah salah satu media yang digunakan seseorang untuk

mempelajari Bahasa baik Bahasa nasional, internasional, maupun Bahasa

daerah seperti Bahasa Jawa. Khususnya Bahasa daerah seperti Bahasa Jawa

masih sangat terbatas ketersediannya. Dalam kamus itu sendiri terdapat

proses pencarian kosakata yang perlu waktu untuk proses pencarian hingga

mengeluarkan terjemahan yang dicari.

Berdasarkan observasi yang penulis lakukan terhadap website

penerjemah Bahasa Indonesia-Jawa yang sudah ada, yaitu

mongosilakan.net. Penulis melakukan wawancara secara online pada hari

Kamis, 23 Juli 2020 dengan pengembang website mongosilakan.net dan

diperoleh bahwa fitur pencarian kata masih menggunakan Query SQL biasa.

Berdasarkan data yang diperoleh, penulis berinisiatif membandingkan

antara Query SQL dengan algoritma Linear dan Binary. Dengan penelitian

Page 18: Analisis Perbandingan Algoritma Linear dan Binaryrepository.uinjkt.ac.id/dspace/bitstream/123456789/53846...masih menggunakan pencarian query sederhana, belum menggunakan algoritma

2

ini, penulis berharap dapat memperoleh hasil untuk membandingkan

performa antara Query SQL dengan algoritma Linear dan Binary.

Berdasarkan masalah yang sudah penulis paparkan diatas maka

penulis berinisiatif untuk memperbaiki fitur pencarian dengan menganalisis

dan membandingkan antara Query SQL dengan metode pencarian

menggunakan Algoritma Linear dan Binary. Penulis berharap solusi yang

diberikan dapat meningkatkan efisiensi pengunaan kamus Bahasa

Indonesia-Jawa serta dapat diharapkan menampilkan aplikasi kamus yang

lebih baik yang sudah ada. Berdasarkan gambaran latar belakang diatas,

maka penulis menyatakan untuk melakukan penelitian dengan judul

“Analisa Perbandingan Algoritma Linear dan Binary pada Aplikasi

Kamus Bahasa Indonesia-Jawa”.

1.2. Rumusan Masalah

Berdasarkan latar belakang yang dikemukakan di atas, maka

rumusan masalah dalam penelitian ini yaitu: Bagaimana evaluasi kinerja

Algoritma Linear dan Binary dalam proses pencarian data berdasarkan

runtime dan memory consumption pada aplikasi Kamus Bahasa Indonesia-

Jawa?

1.3. Batasan Masalah

Batasan masalah yang akan diteliti pada penelitian ini adalah sebagai

berikut:

1.3.1. Metodologi

Metode pengumpulan data yang penulis gunakan dalam

penelitian ini yaitu studi pustaka dan observasi.

1.3.2. Proses

Berikut ini merupakan batasan yang penulis gunakan dalam

proses Analisa perbandingan algoritma pencarian:

1. Algoritma yang dianalisa antara lain Algoritma Linear Search,

dan Algoritma Binary Search.

2. Perbandingan didasarkan pada tingkat kecepatan berupa

lamanya waktu (runtime) dan penggunaan memori (memory

Page 19: Analisis Perbandingan Algoritma Linear dan Binaryrepository.uinjkt.ac.id/dspace/bitstream/123456789/53846...masih menggunakan pencarian query sederhana, belum menggunakan algoritma

3

consumption) yang dibutuhkan untuk memproses algoritma

tersebut.

3. Pada penelitian ini penulis mengambil studi kasus fitur

pencarian pada aplikasi Kamus Bahasa Indonesia-Jawa.

4. Pada penelitian ini, penulis melakukan perbandingan terhadap

aplikasi kamus digital yang sudah ada, yaitu

mongosilakan.net.

1.3.3. Tools

Dalam merancang maupun membangun aplikasi penjadwalan

penulis menggunakan beberapa tools, diantaranya:

1. Sublime Text

2. XAMPP

1.4. Tujuan Penelitian

Tujuan yang hendak dicapai penulis dalam melakukan penelitian ini

adalah:untuk mengetahui hasil perbandingan kinerja algoritma Linear dan

Binary pada aplikasi Kamus Bahasa Indonesia-Jawa dengan waktu

pemrosesan (runtime) pencarian data dan penggunaan memori (memory

consumption) sebagai parameternya.

1.5. Manfaat Penelitian

Manfaat penelitian ini akan memberikan manfaat kepada berbagai

pihak yang berkepentingan, diantaranya adalah sebagai berikut:

1.5.1. Penulis

a. Dapat mengetahui proses penerapan suatu algoritma pada

sebuah aplikasi.

b. Sebagai sarana untuk menerapkan ilmu - ilmu yang sudah

didapat selama perkuliahan.

c. Untuk memenuhi salah satu syarat dalam menempuh gelar S1

pada fakultas Sains dan Teknologi Jurusan Teknik Informatika

Universitas Islam Negeri Syarif Hidayatullah Jakarta.

Page 20: Analisis Perbandingan Algoritma Linear dan Binaryrepository.uinjkt.ac.id/dspace/bitstream/123456789/53846...masih menggunakan pencarian query sederhana, belum menggunakan algoritma

4

1.5.2. Universitas

a. Menambah referensi studi kepustakaan Universitas Islam Negeri

Syarif Hidayatullah Jakarta.

b. Dapat dijadikan sebagai bahan pertimbangan referensi penelitian

untuk penelitian selanjutnya yang berhubungan dengan simulasi

jaringan.

1.6. Metode Penelitian

Dalam menyusun skripsi ini diperlukan data yang lengkap dan valid

guna mendukung UIN Syarif Hidayatullah Jakarta kebenaran dari materi

penjelasan dan pembahasan, oleh karena itu penulis melakukan penelitian

terlebih dahulu sebelum menyusun skripsi ini guna mendapatkan informasi

dan data informasi yang dibutuhkan. Metode penelitian yang digunakan

dalam penulisan skripsi ini adalah sebagai berikut:

1.6.1. Metode Pengumpulan Data

a. Studi Pustaka

Pengumpulan data dan informasi dengan metode studi

pustaka adalah cara pengambilan data dengan mempelajari serta

menggali teori-teori dari buku yang berhubungan dengan

penelitian yang dilakukan.

b. Observasi

Metode observasi adalah aktivitas dari suatu proses atau

objek dengan maksud merasakan kemudian memahami

pengetahuan dari sebuah fenomena.

Berdasarkan pengetahuan atau gagasan yang telah diketahui

sebelumnya, dan untuk mendapatkan informasi-informasi yang

dibutuhkan guna melanjutkan suatu penelitian.

1.6.2. Metode Simulasi

Pada penelitian ini Penulis melakukan simulasi terhadap sistem

yang dibuat. Adapun langkah-langkah yang dilakukan yaitu:

a. Problem Formulation

Page 21: Analisis Perbandingan Algoritma Linear dan Binaryrepository.uinjkt.ac.id/dspace/bitstream/123456789/53846...masih menggunakan pencarian query sederhana, belum menggunakan algoritma

5

b. Conceptual Model

c. Input and Output Data

d. Modeling

e. Simulation

f. Verification, Validation, Experimental and Output Analysis

1.7. Sistematika Penulisan

Sistematika penulisan ini untuk memudahkan pembahasan,

keseluruhan penelitian yang dibagi menjadi 6 (enam) bab dengan pokok

pikiran dari tiap-tiap bab sebagai berikut:

BAB I PENDAHULUAN

Dalam bab ini terdiri dari tujuh sub bab, yaitu: latar belakang

masalah, tujuan penelitian, manfaat penelitian, rumusan masalah, batasan

masalah, metode penelitian dan sistematika penulisan.

BAB II TINJAUAN PUSTAKA DAN LANDASAN TEORI

Bab ini berisi tentang teori-teori yang terkait dengan konsep

aplikasi, metode pengembangan sistem dan mendefinisikan tools yang

terkait dengan pengembangan aplikasi.

BAB III METODE PENELITIAN

Pada bab ini berisi mengenai langkah-langkah dari metode yang

digunakan, baik metode pengumpulan data maupun metode simulasi.

BAB IV IMPLEMENTASI SIMULASI DAN EKSPERIMENTAL

Pada bab ini berisi tentang pelaksanaan implementasi metode

simulasi dari tahapan formulasi masalah sampai tahapan simulasi.

BAB V HASIL DAN PEMBAHASAN

Bab ini berisi hasil dan pembahasan yang didapat dari penelitian

yang dilakukan.

Page 22: Analisis Perbandingan Algoritma Linear dan Binaryrepository.uinjkt.ac.id/dspace/bitstream/123456789/53846...masih menggunakan pencarian query sederhana, belum menggunakan algoritma

6

BAB VI KESIMPULAN DAN SARAN

Bab ini berisi tentang kesimpulan berdasarkan penelitian yang telah

dilakukan. Bab ini juga berisi saran-saran secara keseluruhan sehingga

proses analisis yang telah dibuat dapat dikembangkan menjadi lebih baik.

Page 23: Analisis Perbandingan Algoritma Linear dan Binaryrepository.uinjkt.ac.id/dspace/bitstream/123456789/53846...masih menggunakan pencarian query sederhana, belum menggunakan algoritma

7

BAB II

LANDASAN TEORI

2.1. Analisis

Analisis menurut Kamus Besar Bahasa Indonesia adalah penyelidikan

terhadap suatu peristiwa (karangan, perbuatan, dsb) untuk mengetahui keadaan

yang sebenarnya (sebab-musabab, duduk perkaranya, dsb). Analisis juga bisa

diartikan sebagai penguraian dari suatu pokok atas berbagai bagiannya dan

penelaahan bagian itu sendiri serta hubungan antarbagian untuk memperoleh

pengertian yang tepat dan pemahaman arti keseluruhan (Mulyani, 2017).

2.2. Aplikasi

Aplikasi adalah instruksi-instruksi yang dieksekusi untuk menyediakan

fungsi-fungsi tertentu. Aplikasi merupakan sebuah produk yang dikembangkan

oleh pengembang perangkat lunak (sofware engineer) yang mencakup program

yang dapat dieksekusi oleh komputer dengan berbagai ukuran dan arsitektur

(Pressman, 2012).

2.3. Kamus

Kamus adalah sejenis buku rujukan yang menerangkan makna kata-kata.

Kamus berfungsi untuk membantu seseorang mengenal perkataan baru. Selain

menerangkan maksud kata, kamus juga mungkin mempunyai pedoman

sebutan, asal usul (etimologi) sesuatu perkataan dan juga contoh penggunaan

bagi sesuatu perkataan. Untuk memperjelas kadang kala terdapat juga ilustrasi

di dalam kamus. Biasanya hal ini terdapat dalam kamus bahasa Prancis.

Berdasarkan isinya kamus dapat dibedakan menjadi beberapa jenis

diantaranya kamus ekabahasa yang hanya menggunakan satu bahasa, kamus

dwibahasa yaitu kamus yang menggunakan dua bahasa dan kamus aneka

bahasa yaitu kamus yang sekurangkurangnya menggunakan tiga bahasa atau

lebih. (Setiawan, 2015)

Kata kamus diserap dari bahasa Arab qamus (اموس dengan bentuk ,(ق

jamaknya qawamis. Kata Arab itu sendiri berasal dari kata Yunani Ωκεανός

(okeanos) yang berarti 'samudra'. Sejarah kata itu jelas memperlihatkan makna

Page 24: Analisis Perbandingan Algoritma Linear dan Binaryrepository.uinjkt.ac.id/dspace/bitstream/123456789/53846...masih menggunakan pencarian query sederhana, belum menggunakan algoritma

8

dasar yang terkandung dalam kata kamus, yaitu wadah pengetahuan,

khususnya pengetahuan bahasa, yang tidak terhingga dalam dan luasnya.

Dewasa ini kamus merupakan khazanah yang memuat perbendaharaan kata

suatu bahasa, yang secara ideal tidak terbatas jumlahnya.

2.4. Algoritma

Algoritma adalah sekumpulan langkah rinci yang ditujukan untuk

komputer dalam menyelesaikan suatu masalah. Langkah-langkah yang

dimaksud adalah agar bias dituangkan ke dalam program, sehingga bias

dieksekusi olek komputer (Kadir, 2017).

2.4.1. Algoritma Linear

Algoritma Linear search adalah algoritma pencarian nilai

tertentu pada sebuah array/list. Algoritma pencarian ini melibatkan

pemeriksaan nilai elemen pada list satu demi satu dari ujung list.

Pencarian Linear dapat dilakukan pada barisan bilangan yang terurut

secara menaik (ascending) atau menurun (descending) ataupun tidak

terurut. Pencarian Linear dilakukan dengan cara membandingkan

data yang dicari (X) dengan data dalam barisan A[1] … A[n] dengan

dimulai dari data elemen pertama pada barisan A. Jika perbandingan

bernilai sama, maka pencarian dihentikan dan dinyatakan sukses.

Sedangkan apabila perbandingan tidak bernilai sama maka,

1. Jika data tidak terurut (data acak), maka pencarian akan

dilanjutkan ke data selanjutnya.

2. Jika data terurut secara menaik (ascending), maka pencarian

hanya akan dilanjutkan ke data selanjutnya yang berada di

sebelah kanan data yang sedang dibandingkan apabila data yang

dicari (X) lebih besar daripada data yang sedang dibandingkan

sekarang.

3. Jika data terurut secara menurun (descending), maka pencarian

hanya akan dilanjutkan ke data selanjutnya yang berada di

Page 25: Analisis Perbandingan Algoritma Linear dan Binaryrepository.uinjkt.ac.id/dspace/bitstream/123456789/53846...masih menggunakan pencarian query sederhana, belum menggunakan algoritma

9

sebelah kanan data yang sedang dibandingkan apabila data yang

dicari (X) lebih kecil daripada data yang sedang dibandingkan

sekarang.

Jika syarat-syarat di atas dipenuhi, maka pencarian data akan

dilakukan sampai data yang dicari (X) ditemukan sehingga

pencarian dinyatakan sukses atau sampai elemen terakhir dari

barisan A dan tidak ada elemen A yang sama dengan data yang dicari

(X) sehingga pencarian dinyatakan gagal. (V. P.Parmar; Ck

Kumbharana, 2015)

Berikut adalah flowchart Algoritma Linear:

Gambar 2.1 Flowchart Algoritma Linear

Berikut langkah-langkah untuk melakukan pencarian dengan

algoritma linear:

Page 26: Analisis Perbandingan Algoritma Linear dan Binaryrepository.uinjkt.ac.id/dspace/bitstream/123456789/53846...masih menggunakan pencarian query sederhana, belum menggunakan algoritma

10

1. Menyiapkan array ke-0 sampai ke-N untuk dilakukan

pencarian

2. Memasukkan nilai yang akan dicari

3. Membandingkan nilai yang dicari dengan array ke-0 sampai

ke-N hingga mendapatkan nilai yang akan dicari. Proses

membandingkan nilai yang dicari dilakukan satu persatu dari

array ke-0 sampai array dimana nilai yang ditentukan

ditemukan.

Berikut contoh pengerjaan algoritma linear dalam mencari

suatu bilangan pada suatu array:

Gambar 2.2 Contoh Pengerjaan Algoritma Linear

Pada gambar 2.2 merupakan contoh pengerjaan algoritma

linear dalam pencarian sebuah bilangan pada sebuah array. Pada

gambar 2.2 terdapat bilangan pada array 0 sampai 8. Bilangan

yang dicari adalah 20, maka yang pertama dilakukan adalah

membandingan 20 dengan array ke 0 sampai ditemukan nilai

yang cocok yaitu terdapat pada array ke 6.

2.4.2. Algoritma Binary

Algoritma binary search adalah algoritma pencarian pada

array/list dengan elemen terurut, yang dilakukan dengan memotong

array menjadi dua bagian secara terus menerus hingga nilai yang

dicari ditemukan. Pencarian Binary hanya dapat dilakukan pada

barisan bilangan yang telah diurutkan baik secara menaik

Page 27: Analisis Perbandingan Algoritma Linear dan Binaryrepository.uinjkt.ac.id/dspace/bitstream/123456789/53846...masih menggunakan pencarian query sederhana, belum menggunakan algoritma

11

(ascending) maupun menurun (descending). Pencarian Biner

melakukan pencarian data X dalam barisan A[1] … A[n] dengan

dimulai dari data tengah pada barisan A. Jika nilai data X sama

dengan nilai data tengah barisan A, maka pencarian dihentikan dan

dinyatakan sukses. Sedangkan jika tidak sama maka,

1. Untuk data yang diurutkan secara menaik (ascending),

pencarian akan dilanjutkan ke ½ bagian kiri apabila nilai data X

lebih kecil daripada nilai data tengah pada barisan A. Sedangkan

apabila nilai data X lebih besar daripada nilai data tengah pada

barisan A, maka pencarian akan dilanjutkan ke ½ bagian kanan.

2. Untuk data yang diurutkan secara menurun (descending),

pencarian akan dilanjutkan ke ½ bagian kiri apabila nilai data X

lebih besar daripada nilai data tengah pada barisan A.

Sedangkan apabila nilai data X lebih kecil daripada nilai data

tengah pada barisan A, maka pencarian akan dilanjutkan ½

bagian kiri.

Pencarian akan dihentikan dan dinyatakan gagal apabila ½

bagian kiri atau ½ bagian kanan berupa sebuah data tunggal dan data

tersebut tidak sama dengan data X yang sedang dicari. (V. P.Parmar;

Ck Kumbharana, 2015)

Berikut adalah flowchart Algoritma Binary:

Page 28: Analisis Perbandingan Algoritma Linear dan Binaryrepository.uinjkt.ac.id/dspace/bitstream/123456789/53846...masih menggunakan pencarian query sederhana, belum menggunakan algoritma

12

Gambar 2.3 Flowchart Algoritma Binary

Berikut langkah-langkah untuk melakukan pencarian dengan

algoritma binary:

1. Bandingkan x dengan elemen tengah.

2. Jika x cocok dengan elemen tengah, maka dikembalikan ke

indeks tengah.

3. Jika x lebih besar dari elemen tengah, maka x hanya bisa terletak

di setengah subarray kanan setelah elemen tengah. Dan jika x

lebih kecil dari elemen tengah, maka x terletak di setengah

subarray kiri setelah elemen tengah.

4. Lakukan hal yang sama pada poin 3 hingga nilai x ditemukan.

Berikut contoh pengerjaan algoritma binary dalam mencari

suatu bilangan pada suatu array:

Page 29: Analisis Perbandingan Algoritma Linear dan Binaryrepository.uinjkt.ac.id/dspace/bitstream/123456789/53846...masih menggunakan pencarian query sederhana, belum menggunakan algoritma

13

Gambar 2.4 Contoh Pengerjaan Algoritma Binary

Berdasarkan gambar 2.4, terdapat array ke-0 sampai 9 yang

berisi bilangan acak. Dan nilai yang akan dicari adalah 23. Hal yang

pertama dilakukan adalah menentukan index tengah array tersebut.

Dan ditemukan bahwa nilai array yang terdapat di indeks tengah

adalah 16. Dan bilangan yang dicari lebih besar dari 16, maka

pencarian dilanjutkan pada subarray sebelah kanan. Selanjutnya

dilakukan cara yang sama seperti sebelumnya yaitu mencari titik

tengahnya dan lakukan sampai bilangan yang dicari ketemu.

2.5. Metode Simulasi

Simulasi adalah suatu metodologi untuk melakukan percobaan dengan

menggunakan model dari suatu sistem nyata. Menurut Hasan (2002), simulasi

merupakan suatu metode pengambilan keputusan dengan mencontoh atau

mempergunakan gambaran sebenarnya dari suatu sistem kehidupan dunia

nyata tanpa harus mengalaminya pada keadaan yang sesungguhnya.

Simulasi adalah salah satu teknik yang dapat digunakan untuk

memecahkan model-model dari golongan yang luas. Golongan atau kelas ini

begitu luas sehingga dapat dikatakan “Jika semua cara yang lain gagal, cobalah

simulasi” (Michael Schroeder; Pavel Smilauer; Dietrich E. Wolf, 1997)

Madani et al (2010) memberikan suatu tahapan dalam melakukan studi

simulasi. Adapun tahapan-tahapan tersebut adalah sebagai berikut:

Page 30: Analisis Perbandingan Algoritma Linear dan Binaryrepository.uinjkt.ac.id/dspace/bitstream/123456789/53846...masih menggunakan pencarian query sederhana, belum menggunakan algoritma

14

2.5.1. Problem Formulation

Setiap studi seharusnya dimulai dengan statemen terhadap

masalah. Proses simulasi dimulai dengan masalah yang memerlukan

pemecahan atau pemahaman. Sebagai contoh seperti kasus sebuah

perusahaan kargo mencoba untuk mengembangkan strategi baru

untuk truk pengiriman atau astronom mencoba untuk memahami

bagaimana nebula terbentuk. Pada tahap ini, harus dipahami perilaku

dari sebuah sistem, organize operasi sistem sebagai obyek dalam

rangka percobaan. Kemudian perlu dianalisis berbagai alternatif

solusi dengan menyelidiki hasil sebelumnya untuk masalah yang

sama. Solusi yang paling diterima harus dipilih (menghilangkan

tahap ini dapat menyebabkan pemilihan solusi yang salah). Jika

masalah melibatkan analisis kinerja, ini adalah titik di mana bisa

didefinisikan metrik kinerja (berdasarkan variabel output) dan fungsi

tujuan (yaitu, kombinasi dari beberapa metrik). (Mahlknecht, 2010).

2.5.2. Conceptual Model

Langkah ini terdiri dari pengembangan deskripsi tingkat

tinggi dari struktur dan perilaku atau behavior sebuah sistem dan

mengidentifikasi semua benda dengan atribut dan interface mereka.

Pada tahap ini harus ditentukan apa saja variabel statenya,

bagaimana mereka berhubungan, dan mana yang penting untuk

penelitian. Pada langkah ini, aspek-aspek kunci dari requierements

dinyatakan. Selama definisi model konseptual, perlu diungkapkan

fitur yang penting. Kemudian mendokumentasikan informasi- untuk

non-fungsional misalnya, perubahan masa depan, perilaku

unintuitive, dan hubungan sistem dengan lingkungan (Mahlknecht,

2010).

2.5.3. Collection of Input/Output data

Pada tahap ini, kita harus mempelajari sistem untuk

memperoleh data input / output. Untuk melakukannya, harus diamati

dan mengumpulkan atribut yang dipilih pada tahap sebelumnya. Isu

Page 31: Analisis Perbandingan Algoritma Linear dan Binaryrepository.uinjkt.ac.id/dspace/bitstream/123456789/53846...masih menggunakan pencarian query sederhana, belum menggunakan algoritma

15

penting lainnya selama fase ini adalah pemilihan ukuran sampel

yang valid secara statistik dan format data yang dapat diproses

dengan komputer. Akhirnya, kita harus memutuskan mana atribut

yang stokastik dan yang deterministik. Dalam beberapa kasus, tidak

ada sumber data yang bisa dikumpulkan (misalnya, untuk sistem

yang belum ada). Dalam kasus tersebut, kita perlu mencoba untuk

mendapatkan set data dari sistem yang sama (jika tersedia). Pilihan

lain adalah dengan menggunakan pendekatan stokastik untuk

menyediakan data yang diperlukan melalui generasi nomor acak

(Mahlknecht, 2010).

2.5.4. Modelling Phase

Pada tahap pemodelan, kita harus membangun representasi

rinci dari sistem berdasarkan model konseptual dan koleksi data

yang dikumpulkan. Model ini dibangun dengan mendefinisikan

objek, atribut, dan metode menggunakan paradigma yang dipilih.

Pada titik ini, spesifikasi model dibuat, termasuk set persamaan yang

mendefinisikan perilaku dan struktur. Setelah menyelesaikan

definisi ini, kita harus berusaha untuk membangun struktur awal

model (mungkin berkaitan variabel sistem dan metrik kinerja).

Harus berhati-hati dalam menjelaskan setiap asumsi dan

penyederhanaan dan juga dalam mengumpulkan atribut ke EF

(Entity Framework) model (Mahlknecht, 2010).

2.5.5. Simulation Phase

Selama tahap simulasi, kita harus memilih mekanisme untuk

menerapkan model (dalam banyak kasus menggunakan komputer

dan bahasa pemrograman yang memadai serta tools yang tepat), dan

model simulasi yang dibangun. Selama langkah ini, mungkin

diperlukan untuk menentukan algoritma dan menerjemahkannya ke

dalam program komputer. Pada tahap ini, kita juga harus

membangun model EF untuk proses simulasi (Mahlknecht, 2010).

Page 32: Analisis Perbandingan Algoritma Linear dan Binaryrepository.uinjkt.ac.id/dspace/bitstream/123456789/53846...masih menggunakan pencarian query sederhana, belum menggunakan algoritma

16

2.5.6. Verification, Validation, and Experimentation

Pada tahap-tahap sebelumnya, tiga model yang berbeda

dibangun: model konseptual (spesifikasi), model sistem (desain),

dan model simulasi (executable program). Kita perlu untuk

memverifikasi dan memvalidasi model ini. Verifikasi terkait dengan

konsistensi internal antara tiga model. Validasi difokuskan pada

korespondensi antara model dan realitas: adalah hasil simulasi yang

konsisten dengan sistem yang dianalisis. Sementara itu pada fase

experimentation, kita harus mengevaluasi hasil dari simulator,

menggunakan korelasi statistik untuk menentukan tingkat presisi

untuk metrik kinerja. Fase ini dimulai dengan desain eksperimen,

dengan menggunakan teknik yang berbeda. Beberapa teknik ini

meliputi analisis sensitivitas, optimasi,dan seleksi (dibandingkan

dengan sistem alternatif) (Mahlknecht, 2010).

2.5.7. Output Analysis Phase

Pada tahap analisis output, output simulasi dianalisis untuk

memahami perilaku sistem. Output ini digunakan untuk

memperoleh tanggapan tentang perilaku sistem yang asli. Pada tahap

ini, alat visualisasi dapat digunakan untuk membantu proses

tersebut. Tujuan dari visualisasi adalah untuk memberikan

pemahaman yang lebih dalam tentang sistem yang sedang diselidiki

dan membantu dalam mengeksplorasi set besar data numerik yang

dihasilkan oleh simulasi (Mahlknecht, 2010).

2.6.Metode Pengumpulan Data

Menurut Sudaryono (Sudaryono, 2015), metode pengumpulan data

adalah cara atau teknik yang dapat digunakan oleh peneliti untuk

mengumpulkan data. Pengumpulan data dalam penelitian dimaksudkan untuk

memperoleh bahan, keterangan, kenyataan, dan informasi yang dapat

dipercaya. Menurut Sugiyono (Sugiyono, 2014), metode pengumpulan data

merupakan langkah yang paling strategis dalam penelitian, karena tujuan

Page 33: Analisis Perbandingan Algoritma Linear dan Binaryrepository.uinjkt.ac.id/dspace/bitstream/123456789/53846...masih menggunakan pencarian query sederhana, belum menggunakan algoritma

17

utama dari penelitian adalah pengumpulan data. Sedangkan menurut

Suwartono (Suwartono, 2014), metode pengumpulan data adalah berbagai

cara yang digunakan untuk mengumpulkan data, menghimpun, mengambil,

atau menjaring data penelitian.

Berdasarkan ketiga pengertian di atas, penulis dapat menyimpulkan

bahwa metode pengumpulan data adalah cara atau teknik yang digunakan

untuk mengumpulkan data yang digunakan sebagai bahan dan informasi

dalam penelitian.

Selain metode pengumpulan data, terdapat pula instrumen

pengumpulan data. Menurut Arikunto (Arikunto, 2013), instrumen

pengumpulan data adalah alat bantu yang dipilih dan digunakan oleh

peneliti dalam kegiatannya mengumpulkan data agar kegiatan tersebut

menjadi sistematis dan lebih mudah. Contohnya studi pustaka, angket

(kuesioner), wawancara, pengamatan (observasi), dan dokumentasi. Berikut

penjelasan secara detail tentang jenis-jenis instrumen pengumpulan data :

2.6.1. Observasi

Teknik observasi merupakan salah satu teknik pengumpulan

data dimana peneliti mengadakan pengamatan dan pencatatan

secara sistematis terhadap objek yang diteliti, baik dalam situasi

buatan yang secara khusus diadakan (laboratorium) maupun dalam

situasi alamiah atau sebenarnya. (Abdurrahman, 2011)

Pengumpulan data dengan menggunakan observasi memiliki

beberapa kemungkinan yaitu analisis dapat melihat langsung

bagaimana sistem lama berjalan dan mampu menghasilkan

gambaran lebih baik daripada teknik yang lain. (Rosa &

Shalahuddin, 2016)

Sedangkan kekurangan dari teknik obserasi adalah

membutuhkan waktu yang cukup lama, perilaku orang-orang yang

sedang diamati cenderung berusaha terlihat baik berbeda dengan

Page 34: Analisis Perbandingan Algoritma Linear dan Binaryrepository.uinjkt.ac.id/dspace/bitstream/123456789/53846...masih menggunakan pencarian query sederhana, belum menggunakan algoritma

18

perilakunya sehari-hari, dan dapat menggangu pekerjaan orang yang

digunakan sebagai objek penelitian. (Rosa & Shalahuddin, 2016).

2.6.2. Studi Pustaka

Menurut Sugiyono (Sugiyono, 2014), studi kepustakaan

merupakan studi terhadap kajian teoritis dan referensi lain yang

berkaitan dengan nilai, budaya dan norma yang berkembang pada

situasi sosial yang diteliti, selain itu studi kepustakaan sangat

penting dalam melakukan penelitian, hal ini dikarenakan

penelitian tidak akan lepas dari literatur-literatur ilmiah. Penulis

menggunakan metode studi pustaka dalam pengumpulan data

karena metode ini sangat cocok dilakukan untuk mengumpulkan

data dan informasi sebagai bahan dasar peneliti dan acuan dalam

penelitian.

2.7. Basis Data

Basis data terdiri dari 2 kata, yaitu Basis dan Data. Basis kurang lebih

dapat diartikan sebagai markas atau gudang, tempat berkumpul. Sedangkan

Data ada representasi fakta dunia nyata yang mewakili suatu objek seperti

manusia (pegawai, mahasiswa, dosen), barang, hewan, dan sebagainya, yang

diwujudkan dalam bentuk angka, huruf, simbol, teks, gambar, bunyi, atau

kombinasinya. (Fatansyah, 2012)

Sebagai satu kesatuan istilah, basis data sendiri dapat diartikan dalam

sejumlah sudut pandang, diantaranya:

1. Himpunan kelompok data (arsip) yang saling berhubungan yang

diorganisasi sedemikian rupa agar kelak dapat dimanfaatkan

kembali dengan cepat dan mudah.

2. Kumpulan data yang saling berhubungan yang disimpan secara

bersama sedemikian rupa dan tanpa pengulangan (redudansi) yang

tidak perlu, untuk memenuhi berbagai kebutuhan.

3. Kumpulan file/tabel/arsip yang saling berhubungan yang disimpan

dalam media penyimpanan elektronis. (Fatansyah, 2012)

Page 35: Analisis Perbandingan Algoritma Linear dan Binaryrepository.uinjkt.ac.id/dspace/bitstream/123456789/53846...masih menggunakan pencarian query sederhana, belum menggunakan algoritma

19

Intinya basis data adalah media penyimpanan data agar dapat diakses

dengan mudah dan cepat. (Rosa & Shalahuddin, 2016)

2.7.1. MySQL

MySQL merupakan sebuah sistem database relasional,

sehingga dapat mengelompokkan informasi ke dalam tabel-tabel,

atau grup-grup informasi yang berkaitan setiap tabel memuat

bidang-dibang yang terpisah, yang merepresentasikan setiap bit

informasi. (Sianipar, 2015)

Alasan penulis menggunakan MySQL sebagai database

yaitu pertama, karena MySQL merupakan software RDBMS

(atau server database) yang dapat mengelola database dengan

sangat cepat, dapat menampung data dalam jumlah sangat besar,

dapat diakses oleh banyak user (multi-user), dan dapat melakukan

suatu proses secara sinkron atau bebarengan (multi-thread)

Kristiono (2015:2). Kedua, saat ini MySQL banyak digunakan

diberbagai kalangan untuk melakukan penyimpanan dan pengolahan

data, mulai dari kalangan akademis sampai industri, baik industri

kecil, menengah, maupun besar. (Kristiono, 2015)

2.8. Runtime (Waktu Pemrosesan)

Dalam pemrograman komputer , sistem runtime , juga disebut

lingkungan runtime , terutama mengimplementasikan bagian-bagian dari

model eksekusi. Ini tidak menjadi bingung dengan fase siklus hidup runtime

suatu program, di mana sistem runtime beroperasi. Sebagian besar bahasa

pemrograman memiliki beberapa bentuk sistem runtime yang menyediakan

lingkungan di mana program dijalankan. Lingkungan ini dapat mengatasi

sejumlah masalah termasuk pengelolaan memori aplikasi, bagaimana program

mengakses variabel , mekanisme untuk meneruskan parameter antara prosedur

, berinteraksi dengan sistem operasi , dan sebaliknya. Kompilator membuat

asumsi tergantung pada sistem runtime spesifik untuk menghasilkan kode yang

benar. Biasanya sistem runtime akan memiliki beberapa tanggung jawab untuk

Page 36: Analisis Perbandingan Algoritma Linear dan Binaryrepository.uinjkt.ac.id/dspace/bitstream/123456789/53846...masih menggunakan pencarian query sederhana, belum menggunakan algoritma

20

mengatur dan mengelola tumpukan dan tumpukan , dan mungkin termasuk

fitur seperti pengumpulan sampah , utas atau fitur dinamis lainnya yang

dibangun ke dalam bahasa. (Aho, Alfred V; Lam, Monica Sin-Ling; Sethi,

2007)

2.9. Memory Consumption (Pemakaian Memori)

Manajemen memori adalah bentuk manajemen sumber daya yang

diterapkan pada memori komputer. Persyaratan penting dari manajemen

memori adalah untuk menyediakan cara untuk secara dinamis mengalokasikan

bagian memori untuk program atas permintaan mereka, dan membebaskannya

untuk digunakan kembali ketika tidak lagi diperlukan. Ini penting untuk setiap

sistem komputer canggih di mana lebih dari satu proses mungkin sedang

berlangsung setiap saat. Beberapa metode telah dirancang untuk meningkatkan

efektivitas manajemen memori. Sistem memori virtual memisahkan alamat

memori yang digunakan oleh suatu proses dari alamat fisik yang sebenarnya,

memungkinkan pemisahan proses dan meningkatkan ukuran ruang alamat

virtual di luar jumlah RAM yang tersedia menggunakan paging atau swapping

ke penyimpanan sekunder . Kualitas manajer memori virtual dapat memiliki

efek luas pada kinerja sistem secara keseluruhan. (Gibson, 1988)

2.10. PHP

PHP atau Hypertext Preprocessor adalah merupakan bahasa berbentuk

script yang ditempatkan dalam server dan dieksekusi didalam server untuk

selanjutnya ditransfer dan dibaca oleh client. PHP juga bisa disisipkan dalam

bahasa HTML. PHP pertama kali diciptakan oleh pria berkewarganegaraan

Denmark bernama Rasmus Lerdorf pada tahun 1995. Pada awalnya PHP hanya

dibuat untuk diintegrasikan dengan Web Server Apache. Namun sekarang,

PHP juga berkerja dengan Web Server seperti PWS (Personal Web Server),

IIS (Internet Information Server), dan Xintami. (Adelheid & Nst, 2012)

2.11. Sublime Text 3

Sublime Text adalah aplikasi text editor yang digunakan untuk

membuka file apapun namun sejatinya para programmer menggunakannya

untuk menulis code. Sublime text mendukung sejumlah bahasa pemrograman

Page 37: Analisis Perbandingan Algoritma Linear dan Binaryrepository.uinjkt.ac.id/dspace/bitstream/123456789/53846...masih menggunakan pencarian query sederhana, belum menggunakan algoritma

21

diantaranya C, C++, C#, PHP, CSS, HTML, ASP dan banyak lagi. (Atkia,

2014)

Sublime Text tersedia untuk OS X, Windows dan Linux. Satu lisensi

adalah semua yang Anda butuhkan untuk menggunakan Text Sublime pada

setiap komputer Anda sendiri, tidak peduli apa sistem operasi yang

digunakannya. Sublime Teks menggunakan toolkit UI kustom, dioptimalkan

untuk kecepatan dan kecantikan, saat mengambil keuntungan dari fungsi asli

pada setiap platform. (Atkia, 2014)

Ada beberapa kelebihan yang menjadi feature utama pada sublime text

dan membuat orang suka dengan aplikasi ini diantaranya (Atkia, 2014):

1. Go to anything

Ini digunakan untuk membuka file diawali dengan menarik satu project

file yang sedang kita kerjakan pada sublime kemudian dengan

menekan CTRL+P maka kita dapat mencari file apa yang akan kita

buka dengan menuliskan nama filenya, juga kita dapat mencari baris

kata dengan keyword # atau @ untuk melompat ke simbol setelah

menekan CTRL+P.

2. Multiple Selection

Berfungsi untuk membuat perubahan pada code pada saat yang sama

dalam beberapa baris yang berbeda. Bisa dicoba dengan menekan

CTRL+L, atau bisa mengganti kata yang sama dalam baris berbeda

dengan memBlok kata yang akan diganti kemudian tekan CTRL+D .

3. Command Pallete

Untuk fungsi yang satu ini jarang digunakan sebenarnya namun dalam

fungsi ini banyak sekali hal yang bisa dilakukan seperti menutup semua

file, convert case: lower case, remove tag dan masih banyak lagi.

dengan menekan CTRL+SHIFT+P.

4. Distraction Free Mode

Digunakan untuk merubah tampilan menjadi layar penuh, dibutuhkan

ketika user akan fokus pada kerjaan yang dikerjakan maka dengan

fungsi ini akan sangat membantu dengan menekan SHIFT+F11.

Page 38: Analisis Perbandingan Algoritma Linear dan Binaryrepository.uinjkt.ac.id/dspace/bitstream/123456789/53846...masih menggunakan pencarian query sederhana, belum menggunakan algoritma

22

5. Split Editing

Memperbolehkan mengedit file berdampingan, atau mengedit dua

lokasi pada satu file dengan beberapa baris dan kolom yang anda

inginkan. dengan cara : masuk ke menu FILE > New menu into File.

6. Instant Project Switch

Sublime text akan mengcapture semua kerjaan pada file project yang

sedang dibuka termasuk file yang dirubah dan belum di save, anda

dapat beralih ke file lain dengan cara yang mirip fungsi Goto anything,

dan hasil modifikasi anda akan di kembalikan pada waktu proyek

dibuka kembali.

7. Plugin API Switch

Teks Sublime memiliki kekuatan, berbasis Python Plugin API. Seiring

dengan API, ia datang dengan built in Python konsol secara interaktif

bereksperimen secara real time.

8. Customize Anything

Bindings Key, Menu, Snippets, Macro, Penuntasan dan banyak lagi –

hanya tentang segala sesuatu di Teks Sublime disesuaikan dengan file

JSON sederhana. Sistem ini memberi Anda fleksibilitas pengaturan

dapat ditentukan pada jenis per-file dan per-proyek dasar.

9. Cross Platform

Yang paling tak kalah keren sublime tersedia untuk berbagai platform,

Windows, Linux, OS X satu lisensi untuk semua yang anda butuhkan

apapun sistem oprasi yang digunakan. Teks Sublime menggunakan

toolkit UI kustom, dioptimalkan untuk kecepatan dan keindahan

2.12. Penelitian Sejenis

Langkah ini dilakukan dengan menelusuri literatur yang masih ada

hubungannya dengan penelitian yang dilakukan oleh penulis, yaitu

penelitian tentang aplikasi ujian online atau sejenisnya. Hal ini dilakukan

dengan tujuan untuk dapat melakukan evaluasi dari penelitian sebelumnya

dan juga agar dapat mengetahui kelebihan dan kekurangan yang terdapat

pada penelitian sebelumnya. Sehingga penulis dapat memperbaiki dalam

Page 39: Analisis Perbandingan Algoritma Linear dan Binaryrepository.uinjkt.ac.id/dspace/bitstream/123456789/53846...masih menggunakan pencarian query sederhana, belum menggunakan algoritma

23

penelitian yang penulis kerjakan. Berikut literatur sejenis yang penulis

gunakan :

Page 40: Analisis Perbandingan Algoritma Linear dan Binaryrepository.uinjkt.ac.id/dspace/bitstream/123456789/53846...masih menggunakan pencarian query sederhana, belum menggunakan algoritma

24

Tabel 2.1 Penelitian Sejenis

No. Penulis Judul Penelitian Tools Keterangan

1. Estu Dwiyanto (2020) Analisis Perbandingan Algoritma

Pencarian Ternary, dan Jump pada

Aplikasi Jasa Pengiklanan

Menggunakan database

MySQL, bahasa

pemograman PHP.

Penulis membandingkan 2

algoritma, yaitu Ternary dan

Jump, dan memakai 2

parameter runtime dan

memory consumption

2. Andri (2019) Penerapan Algoritma Pencarian

Binary Search dan QuickSort pada

Aplikasi Kamus Bahasa Palembang

Berbasis Web

Berbasis web,

menggunakan database

MySQL, bahasa

pemograman PHP.

Penulis menggunakan

algoritma binary search dan

metode quicksort berbasis

web

3. Ahmad Nasukhi (2017) Pembuatan Aplikasi Kamus Istilah

Jaringan Menggunakan Algoritma

Linear Search Berbasis Android

berbasis android

menggunakan bahasa

pemrograman java, ADT

menjadi penghubung

antara IDE Eclipse

dengan Android SDK

Penulis menggunakan

algoritma Linear Search

berbasis android

Page 41: Analisis Perbandingan Algoritma Linear dan Binaryrepository.uinjkt.ac.id/dspace/bitstream/123456789/53846...masih menggunakan pencarian query sederhana, belum menggunakan algoritma

25

4. Ryu Aprilia (2017) Penerapan Algoritma Linear

Sequential Search pada Aplikasi Kitab

Fadhlail Amal Berbasis Mobile

berbasis android

menggunakan bahasa

pemrograman java

Penulis menggunakan

algoritma Linear Sequential

Search berbasis mobile

5. Muhammad Yusuf

Ibrahim (2016)

Kamus Lima Bahasa dengan Metode

Binary Search dan Levenshtein

Distance Berbasis Android

berbasis android

menggunakan bahasa

pemrograman java, ADT

menjadi penghubung

antara IDE Eclipse

dengan Android SDK

Penulis menggunakan

algoritma Binary Search

dan Levenshtein Distance

berbasis android

Page 42: Analisis Perbandingan Algoritma Linear dan Binaryrepository.uinjkt.ac.id/dspace/bitstream/123456789/53846...masih menggunakan pencarian query sederhana, belum menggunakan algoritma

26

BAB III

METODE PENGUMPULAN DATA

3.1. Metode Pengumpulan Data

Untuk mendapatkan data serta informasi yang diperlukan, penulis akan

menggunakan beberapa metode pengumpulan data, baik untuk pengumpulan data

maupun informasi dan untuk kebenaran materi uraian pembahasan. Penulis

menggunakan metode pengumpulan data sebagai berikut:

3.2.1. Studi Pustaka

Pengumpulan data dengan metode studi pustaka dilakukan dengan cara

membaca dan memahamai buku-buku, e-book, jurnal, blog maupun situs

yang berisi informasi tentang PHP dan MySQL, Database, Metode

Penelitian, Algoritma serta artikel-artikel lainnya yang berkaitan dengan

judul skripsi sehingga dapat mendukung referensi dalam proses penyusunan

skripsi ini. Sumber-sumber referensi bacaan, baik judul dari buku, e-book,

jurnal ataupun situs-situs internet yang dikunjungi dapat dilihat di Daftar

Pustaka.

3.2.2. Observasi

Pengumpulan data dan informasi dengan metode observasi adalah cara

pengambilan data dengan meninjau data-data yang terdapat di internet.

Berdasarkan riset dan analisa yang penulis lakukan sehingga mendapatkan

data-data yang dibutuhkan secara akurat dan mudah dipahami.

3.2. Metode simulasi

Dalam penelitian ini, penulis menggunakan metode simulasi dalam

membandingkan kinerja dari algoritma Pencarian Linear dan Binary. Sehubungan

dengan itu, metode simulasi ini dibagi menjadi delapan tahapan yang terdiri dari :

Page 43: Analisis Perbandingan Algoritma Linear dan Binaryrepository.uinjkt.ac.id/dspace/bitstream/123456789/53846...masih menggunakan pencarian query sederhana, belum menggunakan algoritma

27

3.2.1. Problem Formulation (Formulasi Masalah)

Tahap formulasi masalah merupakan langkah awal dalam perancangan

pada model motode simulasi. Formulasi masalah merupakan suatu kegiatan

untuk memilih satu permasalah yang penting untuk dianalisis dan

diselesaikan. Setelah melakukan pengumpulan data melalui studi pustaka,

penulis dapat merumuskan sebuah masalah yaitu analisis perbandingan

kinerja Algoritma Linear dan Binary pada aplikasi Kamus Bahasa

Indonesia-Jawa untuk mempermudah user dalam melakukan pencarian.

3.2.2. Conceptual Model (Pemodelan Konsep)

Dalam penelitian ini pemodelan konsep membahas keseluruhan

penelitian. Langkah pertama adalah mengidentifikasi observasi dan studi

pustaka tentang alur proses algoritma pencarian Linear dan Binary. Pada

tahap kedua, menjelaskan bagaimana cara mengimplementasikan hasil yang

sudah diperoleh dari tahapan sebelumnya kedalam bentuk simulasi yang

nantinya akan dijalankan. Dalam hal ini, penulis menjelaskan alur dari

proses pencarian data yang akan dijalankan untuk mendapatkan waktu

pemrosesan (runtime) dan penggunaan memori (memory consumption)

3.2.3. Collection of Input and Output Data (Pengumpulan Masukan atau

Keluaran Data)

Pada tahap ini penulis menentukan data masukan yang akan diproses

dan output yang akan di dapat. Input yang dibutuhkan pada simulasi ini

adalah kata kunci yang ingin di cari pada database. Output yang didapatkan

dari simulasi ini berupa data informasi tentang kata-kata, waktu pemrosesan

(runtime), dan penggunaan memori (memory consumption).

3.2.4. Modeling (Tahap Permodelan)

Pada tahap pemodelan, penulis merancang model sistem yang akan

digunakan pada tahap simulasi terdapat sepuluh model skenario berdasarkan

Page 44: Analisis Perbandingan Algoritma Linear dan Binaryrepository.uinjkt.ac.id/dspace/bitstream/123456789/53846...masih menggunakan pencarian query sederhana, belum menggunakan algoritma

28

banyaknya karakter kata kunci yang di cari. Pada tiap algoritma masing-

masing melakukan lima model simulasi.

3.2.5. Simulation (Tahap Simulasi)

Pada tahap simulasi, penulis mensimulasikan model pada setiap

algoritma sesuai dengan konsep dan skenario yang telah penulis susun.

Selanjutnya hasil simulasi akan dicatat dan kemudian dilakukan tahap

verifikasi.

3.2.6. Conclusion (Verification, Validation, Experimental and Output

Analysis)

Pada tahap conclusion, penulis terlebih dahulu melakukan verifikasi

dan validasi terhadap simulasi yang telah dilakukan pada tahap sebelumnya.

Verifikasi dilakukan untuk memastikan tidak adanya kesalahan yang terjadi

ketika perhitungan waktu pemrosesan (runtime) dan penggunaan memori

(memory consumption) pada algoritma Linear dan Binary, sedangkan

validasi dilakukan untuk memastikan kesesuaian antara simulasi yang telah

dibuat berdasarkan model pengkonsepan dengan formulasi masalah yang

sudah dibuat. Sedangkan pada tahap eksperimentasi, penulis melakukan

eksperimen sesuai model skenario yang dibuat pada tahap pemodelan.

Page 45: Analisis Perbandingan Algoritma Linear dan Binaryrepository.uinjkt.ac.id/dspace/bitstream/123456789/53846...masih menggunakan pencarian query sederhana, belum menggunakan algoritma

29

3.3. Alur Penelitian

Gambar 3.1 Alur Penelitian

Page 46: Analisis Perbandingan Algoritma Linear dan Binaryrepository.uinjkt.ac.id/dspace/bitstream/123456789/53846...masih menggunakan pencarian query sederhana, belum menggunakan algoritma

30

BAB IV

IMPLEMENTASI SIMULASI DAN EKSPERIMEN

4.1. Problem Formulation

Aplikasi Kamus Bahasa Indonesia-Jawa merupakan aplikasi kamus

yang menerjemahkan kata dari Bahasa Indonesia ke Bahasa Jawa. Pada kasus

ini penulis, mengimplementasikan. Algoritma pencarian pada fitur pencarian

kata. Setelah melakukan studi literatur mengenai algoritma pencarian, penulis

memilih algoritma Linear dan Binary yang digunakan sebagai algoritma

pencarian. Untuk mengetahui kinerja dari algoritma-algoritma tersebut terdapat

dua parameter yang dibandingkan, yaitu waktu pemrosesan (runtime) dan

penggunaan memori (memory consumption).

4.2. Conceptual Model

Pada tahap ini, penulis membuat konsep yang akan diterapkan pada

simulasi yang akan dijalani. Berikut penjelasan dari komponen-komponen

arsitektur sistem tersebut:

1. Server

Pada simulasi ini server yang digunakan adalah Windows 10 64

bit dengan memori 8 GB RAM.

2. Algoritma

a. Algoritma Linear

Proses simulasi pada algoritma Linear dilakukan melalui source

code dengan menggunakan parameter waktu pemrosesan (runtime)

dan penggunaan memori (memory consumption).

b. Algoritma Binary

Proses simulasi pada algoritma Binary dilakukan melalui source

code dengan menggunakan parameter waktu pemrosesan (runtime)

dan penggunaan memori (memory consumption).

Page 47: Analisis Perbandingan Algoritma Linear dan Binaryrepository.uinjkt.ac.id/dspace/bitstream/123456789/53846...masih menggunakan pencarian query sederhana, belum menggunakan algoritma

31

4.3. Collection of Input/Output Data

4.3.1. Input Data

Input merupakan atribut-atribut atau nilai-nilai yang digunakan

pada proses simulasi ini. Input yang digunakan adalah kata Bahasa

Indonesia yang ingin dicari arti dalam Bahasa Jawa.

4.3.2. Output Data

Output dari hasil simulasi ini adalah waktu pemrosesan

(runtime) yaitu waktu yang diperlukan untuk pemrosesan pencarian

menggunakan masing-masing algoritma. Running Time dari simulasi ini

memiliki satuan milidetik (milisecond). Serta penggunaan memori

(memory consumption), yaitu kapasitas memori yang digunakan saat

pemrosesan masing-masing algoritma. Dalam simulasi ini memory

consumption memiliki satuan mb.

4.4. Modelling Phase

Pada tahap ini, penulis membuat lima model skenario yang akan

dijalankan pada simulasi. Hal ini berdasarkan pada jumlah string yang diproses

dalam pencarian. Skenario yang dimaksud antara lain:

Tabel 4.1 Model Skenario

Skenario Range banyak

karakter

Output Contoh

1 3 karakter Runtime, memory

consumption

Abu

2 4 karakter Runtime, memory

consumption

Abah

3 5 karakter Runtime, memory

consumption

Absen

4 6 karakter atau lebih Runtime, memory

consumption

Administrasi

Page 48: Analisis Perbandingan Algoritma Linear dan Binaryrepository.uinjkt.ac.id/dspace/bitstream/123456789/53846...masih menggunakan pencarian query sederhana, belum menggunakan algoritma

32

5 Kata yang tidak ada

di database

Runtime, memory

consumption

Percobaan

Percobaan pada masing-masing simulasi dilakukan sebanyak lima kali

dengan asumsi kategori yang berbeda.

4.5. Simulation Phase

Penulis menggunakan sistem operasi Windows 10 dan MySQL sebagai

database. Untuk penulisan source code, penulis menggunakan bahasa

pemrograman PHP dengan framework codeigniter dan menggunakan Sublime

Text sebagai text editor nya. Berikut tahapan-tahapan yang penulis lakukan

untuk mempersiapkan proses simulasi.

4.5.1. Pembangunan Server

Pada tahap simulasi ini, penulis menggunakan Windows 10

sebagai sistem operasi. Secara garis besar, berikut langkah-langkah

yang penulis lakukan:

1. Melakukan instalasi app server, dalam hal ini penulis menggunakan

XAMPP.

2. Melakukan pembuatan sistem, dalam hal ini penulis menggunakan

Bahasa pemrograman PHP dengan framework codeigniter dan

menggunakan Sublime Text sebagai text editor nya.

4.5.2. Flowchart Simulasi

Berikut ini flowchart simulasi perbandingan kinerja algoritma

Linear dan Binary yang diimplementasikan pada aplikasi kamus Bahasa

Indonesia-Jawa:

Page 49: Analisis Perbandingan Algoritma Linear dan Binaryrepository.uinjkt.ac.id/dspace/bitstream/123456789/53846...masih menggunakan pencarian query sederhana, belum menggunakan algoritma

33

Gambar 4.1 Flowchart Simulasi

Berikut contoh simulasi yang dilakukan oleh penulis dengan

menggunakan Query SQL, algoritma Linear, dan Binary dalam sekali

percobaan :

Query SQL

Gambar 4.2 Contoh Query SQL

Page 50: Analisis Perbandingan Algoritma Linear dan Binaryrepository.uinjkt.ac.id/dspace/bitstream/123456789/53846...masih menggunakan pencarian query sederhana, belum menggunakan algoritma

34

Algoritma Linear

Gambar 4.3 Contoh Algoritma Linear

Algoritma Binary

Gambar 4.4 Contoh Algoritma Binary

4.6. Verification, Validation, and Experimentation

Penjelasan dan pemaparan mengenai verification, validation, and

experimentation akan dijelaskan pada BAB V skripsi ini, yaitu bab yang

membahas hasil pembahasan.

Page 51: Analisis Perbandingan Algoritma Linear dan Binaryrepository.uinjkt.ac.id/dspace/bitstream/123456789/53846...masih menggunakan pencarian query sederhana, belum menggunakan algoritma

35

4.7. Analysis Phase

Penjelasan dan pemaparan mengenai analysis phase akan dijelaskan

pada BAB V skripsi ini, yaitu bab yang membahas hasil pembahasan.

Page 52: Analisis Perbandingan Algoritma Linear dan Binaryrepository.uinjkt.ac.id/dspace/bitstream/123456789/53846...masih menggunakan pencarian query sederhana, belum menggunakan algoritma

36

BAB V

HASIL DAN PEMBAHASAN

5.1. Verification, Validation, dan Experimentation

Pada tahap verifikasi dan validasi dari tahapan-tahapan sebelumnya

yaitu konseptual model, model sistem dan model simulasi. Pada tahap ini

dilakukan koreksi dan perbaikan apabila ada kesalahan pada saat menguji

keseluruhan proses simulasi yang telah dijalankan apakah sesuai dengan

flowchart simulasi yang sebelumya dibuat pada tahap simulation. Sedangkan

pada tahap validasi dilakukan proses pengujian keseluruhan proses simulasi

yang telah dilakukan apakah sesuai dengan ketentuan yang terdapat pada tahap

conceptual model, input output data, dan modelling.

Pada tahap Experimentation, proses yang dilakukan penulis adalah

membandingkan hasil dari simulasi yang telah dilakukan. Pada simulasi penulis

membandingkan perbedaan dari output yang dihasilkan dari setiap input pada

skenario yang dirancang. Penulis menggunakan parameter waktu pemrosesan

(runtime) dan penggunaan memori (memory consumption) yang diujikan

terhadap masing-masing algoritma, yaitu algoritma Ternary dan jump, dimana

hasil output dari parameter tersebut akan dijelaskan pada tahap Output Analysis

Phase.

5.2. Output Analysis Phase

5.2.1. Skenario 1

5.2.1.1. Query SQL

Tabel 5.1 Hasil Simulasi Query SQL Skenario ke-1

Percobaan

Output

Runtime Memory

Consumption

Abu 19.291 ms 6.602 mb

Page 53: Analisis Perbandingan Algoritma Linear dan Binaryrepository.uinjkt.ac.id/dspace/bitstream/123456789/53846...masih menggunakan pencarian query sederhana, belum menggunakan algoritma

37

Ada 17.167 ms 6.602 mb

Aib 20.858 ms 6.602 mb

Air 15.195 ms 6.602 mb

Aki 20.279 ms 6.602 mb

Rata-rata 18.558 ms 6.602 mb

Pada tabel 5.1 menunjukan hasil dari simulasi pada Query SQL

dengan menggunakan skenario 1 dengan lima kali percobaan.

Berdasarkan tabel tersebut dapat diketahui runtime tercepat terdapat

pada percobaan keempat dan memory consumption yang diperoleh

pada tabel diatas mempunyai nilai yang konstan yaitu 6.602 mb.

Sedangkan untuk runtime diperoleh rata-rata dari lima kali percobaan

sebesar 18.558 ms.

5.2.1.2. Algoritma Linear

Tabel 5.2 Hasil Simulasi Algoritma Linear Skenario ke-1

Percobaan

Output

Runtime Memory

Consumption

Abu 11.888 ms 2.027 mb

Ada 23.392 ms 2.027 mb

Aib 9.5608 ms 2.027 mb

Air 21.4109 ms 2.027 mb

Aki 9.856 ms 2.027 mb

Rata-rata 15.22154 ms 2.027 mb

Pada tabel 5.2 menunjukan hasil dari simulasi pada Algoritma

Linear dengan menggunakan skenario 1 dengan lima kali percobaan.

Berdasarkan tabel tersebut dapat diketahui runtime tercepat terdapat

Page 54: Analisis Perbandingan Algoritma Linear dan Binaryrepository.uinjkt.ac.id/dspace/bitstream/123456789/53846...masih menggunakan pencarian query sederhana, belum menggunakan algoritma

38

pada percobaan ketiga dan memory consumption yang diperoleh pada

tabel diatas mempunyai nilai yang konstan yaitu 2.027 mb.

Sedangkan untuk runtime diperoleh rata-rata dari lima kali percobaan

sebesar 15.22154 ms.

5.2.1.3. Algoritma Binary

Tabel 5.3 Hasil Simulasi Algoritma Binary Skenario ke-1

Percobaan

Output

Runtime Memory

Consumption

Abu 0.0741 ms 2.073 mb

Ada 0.0529 ms 2.073 mb

Aib 0.0532 ms 2.073 mb

Air 0.0582 ms 2.073 mb

Aki 0.1709 ms 2.073 mb

Rata-rata 0.08186 ms 2.073 mb

Pada tabel 5.3 menunjukan hasil dari simulasi pada Algoritma

Binary dengan menggunakan skenario 1 dengan lima kali percobaan.

Berdasarkan tabel tersebut dapat diketahui runtime tercepat terdapat

pada percobaan kedua dan memory consumption yang diperoleh pada

tabel diatas mempunyai nilai yang konstan yaitu 2.073 mb.

Sedangkan untuk runtime diperoleh rata-rata dari lima kali percobaan

sebesar 0.08186 ms.

5.2.2. Skenario 2

5.2.2.1. Query SQL

Tabel 5.4 Hasil Simulasi Query SQL Skenario ke-2

Percobaan Output

Page 55: Analisis Perbandingan Algoritma Linear dan Binaryrepository.uinjkt.ac.id/dspace/bitstream/123456789/53846...masih menggunakan pencarian query sederhana, belum menggunakan algoritma

39

Runtime Memory

Consumption

Abab 17.213 ms 6.602 mb

Abad 21.231 ms 6.602 mb

Abah 18.297 ms 6.602 mb

Abai 24.233 ms 6.602 mb

Abdi 14.336 ms 6.602 mb

Rata-rata 19.062 ms 6.602 mb

Pada tabel 5.4 menunjukan hasil dari simulasi pada Query SQL

dengan menggunakan skenario 2 dengan lima kali percobaan.

Berdasarkan tabel tersebut dapat diketahui runtime tercepat terdapat

pada percobaan kelima dan memory consumption yang diperoleh

pada tabel diatas mempunyai nilai yang konstan yaitu 6.602 mb.

Sedangkan untuk runtime diperoleh rata-rata dari lima kali percobaan

sebesar 19.062 ms.

5.2.2.2. Algoritma Linear

Tabel 5.5 Hasil Simulasi Algoritma Linear Skenario ke-2

Percobaan

Output

Runtime Memory

Consumption

Abab 11.3909 ms 2.027 mb

Abad 22.2659 ms 2.027 mb

Abah 20.334 ms 2.027 mb

Abai 10.664 ms 2.027 mb

Abdi 10.056 ms 2.027 mb

Rata-rata 14.94216 ms 2.027 mb

Page 56: Analisis Perbandingan Algoritma Linear dan Binaryrepository.uinjkt.ac.id/dspace/bitstream/123456789/53846...masih menggunakan pencarian query sederhana, belum menggunakan algoritma

40

Pada tabel 5.5 menunjukan hasil dari simulasi pada Algoritma

Linear dengan menggunakan skenario 2 dengan lima kali percobaan.

Berdasarkan tabel tersebut dapat diketahui runtime tercepat terdapat

pada percobaan kelima dan memory consumption yang diperoleh

pada tabel diatas mempunyai nilai yang konstan yaitu 2.027 mb.

Sedangkan untuk runtime diperoleh rata-rata dari lima kali percobaan

sebesar 14.94216 ms.

5.2.2.3. Algoritma Binary

Tabel 5.6 Hasil Simulasi Algoritma Binary Skenario ke-2

Percobaan

Output

Runtime Memory

Consumption

Abab 0.0808 ms 2.073 mb

Abad 0.057 ms 2.073 mb

Abah 0.0749 ms 2.073 mb

Abai 0.087 ms 2.073 mb

Abdi 0.057 ms 2.073 mb

Rata-rata 0.07134 ms 2.073 mb

Pada tabel 5.6 menunjukan hasil dari simulasi pada Algoritma

Binary dengan menggunakan skenario 2 dengan lima kali percobaan.

Berdasarkan tabel tersebut dapat diketahui runtime tercepat terdapat

pada percobaan kedua dan memory consumption yang diperoleh pada

tabel diatas mempunyai nilai yang konstan yaitu 2.073 mb.

Sedangkan untuk runtime diperoleh rata-rata dari lima kali percobaan

sebesar 0.07134 ms.

5.2.3. Skenario 3

5.2.3.1. Query SQL

Page 57: Analisis Perbandingan Algoritma Linear dan Binaryrepository.uinjkt.ac.id/dspace/bitstream/123456789/53846...masih menggunakan pencarian query sederhana, belum menggunakan algoritma

41

Tabel 5.7 Hasil Simulasi Query SQL Skenario ke-3

Percobaan

Output

Runtime Memory

Consumption

Abadi 13.352 ms 6.602 mb

Abang 19.154 ms 6.602 mb

Abjad 12.235 ms 6.602 mb

Absen 20.736 ms 6.602 mb

Acara 10.198 ms 6.602 mb

Rata-rata 15.135 ms 6.602 mb

Pada tabel 5.7 menunjukan hasil dari simulasi pada Query SQL

dengan menggunakan skenario 2 dengan lima kali percobaan.

Berdasarkan tabel tersebut dapat diketahui runtime tercepat terdapat

pada percobaan kelima dan memory consumption yang diperoleh

pada tabel diatas mempunyai nilai yang konstan yaitu 6.602 mb.

Sedangkan untuk runtime diperoleh rata-rata dari lima kali percobaan

sebesar 15.135 ms.

5.2.3.2. Algoritma Linear

Tabel 5.8 Hasil Simulasi Algoritma Linear Skenario ke-3

Percobaan

Output

Runtime Memory

Consumption

Abadi 9.7041 ms 2.027 mb

Abang 10.2739 ms 2.027 mb

Abjad 11.1771 ms 2.027 mb

Absen 15.9011 ms 2.027 mb

Acara 13.603 ms 2.027 mb

Page 58: Analisis Perbandingan Algoritma Linear dan Binaryrepository.uinjkt.ac.id/dspace/bitstream/123456789/53846...masih menggunakan pencarian query sederhana, belum menggunakan algoritma

42

Rata-rata 12.13184 ms 2.027 mb

Pada tabel 5.8 menunjukan hasil dari simulasi pada Algoritma

Linear dengan menggunakan skenario 3 dengan lima kali percobaan.

Berdasarkan tabel tersebut dapat diketahui runtime tercepat terdapat

pada percobaan kesatu dan memory consumption yang diperoleh

pada tabel diatas mempunyai nilai yang konstan yaitu 2.027 mb.

Sedangkan untuk runtime diperoleh rata-rata dari lima kali percobaan

sebesar 12.13184 ms.

5.2.3.3. Algoritma Binary

Tabel 5.9 Hasil Simulasi Algoritma Binary Skenario ke-3

Percobaan

Output

Runtime Memory

Consumption

Abadi 0.1009 ms 2.073 mb

Abang 0.0539 ms 2.073 mb

Abjad 0.0641 ms 2.073 mb

Absen 0.056 ms 2.073 mb

Acara 0.0589 ms 2.073 mb

Rata-rata 0.06676 ms 2.073 mb

Pada tabel 5.9 menunjukan hasil dari simulasi pada Algoritma

Binary dengan menggunakan skenario 3 dengan lima kali percobaan.

Berdasarkan tabel tersebut dapat diketahui runtime tercepat terdapat

pada percobaan kedua dan memory consumption yang diperoleh pada

tabel diatas mempunyai nilai yang konstan yaitu 2.073 mb.

Sedangkan untuk runtime diperoleh rata-rata dari lima kali percobaan

sebesar 0.06676 ms.

Page 59: Analisis Perbandingan Algoritma Linear dan Binaryrepository.uinjkt.ac.id/dspace/bitstream/123456789/53846...masih menggunakan pencarian query sederhana, belum menggunakan algoritma

43

5.2.4. Skenario 4

5.2.4.1. Query SQL

Tabel 5.10 Hasil Simulasi Query SQL Skenario ke-4

Percobaan

Output

Runtime Memory

Consumption

Aba-aba 19.637 ms 6.602 mb

Abnormal 11.354 ms 6.602 mb

Abu-abu 18.359 ms 6.602 mb

Administrasi 20.346 ms 6.602 mb

Alang-alang 21.998 ms 6.602 mb

Rata-rata 18.338 ms 6.602 mb

Pada tabel 5.10 menunjukan hasil dari simulasi pada Query SQL

dengan menggunakan skenario 4 dengan lima kali percobaan.

Berdasarkan tabel tersebut dapat diketahui runtime tercepat terdapat

pada percobaan kedua dan memory consumption yang diperoleh pada

tabel diatas mempunyai nilai yang konstan yaitu 6.602 mb.

Sedangkan untuk runtime diperoleh rata-rata dari lima kali percobaan

sebesar 18.338 ms.

5.2.4.2. Algoritma Linear

Tabel 5.11 Hasil Simulasi Algoritma Linear Skenario ke-4

Percobaan

Output

Runtime Memory

Consumption

Aba-aba 11.344 ms 2.027 mb

Abnormal 13.746 ms 2.027 mb

Page 60: Analisis Perbandingan Algoritma Linear dan Binaryrepository.uinjkt.ac.id/dspace/bitstream/123456789/53846...masih menggunakan pencarian query sederhana, belum menggunakan algoritma

44

Abu-abu 11.3869 ms 2.027 mb

Administrasi 14.2341 ms 2.027 mb

Alang-alang 9.762 ms 2.027 mb

Rata-rata 12.0946 ms 2.027 mb

Pada tabel 5.11 menunjukan hasil dari simulasi pada Algoritma

Linear dengan menggunakan skenario 4 dengan lima kali percobaan.

Berdasarkan tabel tersebut dapat diketahui runtime tercepat terdapat

pada percobaan kelima dan memory consumption yang diperoleh

pada tabel diatas mempunyai nilai yang konstan yaitu 2.027 mb.

Sedangkan untuk runtime diperoleh rata-rata dari lima kali percobaan

sebesar 12.0946 ms.

5.2.4.3. Algoritma Binary

Tabel 5.12 Hasil Simulasi Algoritma Binary Skenario ke-4

Percobaan

Output

Runtime Memory

Consumption

Aba-aba 0.0961 ms 2.073 mb

Abnormal 0.0641 ms 2.073 mb

Abu-abu 0.0641 ms 2.073 mb

Administrasi 0.056 ms 2.073 mb

Alang-alang 0.057 ms 2.073 mb

Rata-rata 0.06746 ms 2.073 mb

Pada tabel 5.12 menunjukan hasil dari simulasi pada Algoritma

Binary dengan menggunakan skenario 4 dengan lima kali percobaan.

Berdasarkan tabel tersebut dapat diketahui runtime tercepat terdapat

pada percobaan keempat dan memory consumption yang diperoleh

Page 61: Analisis Perbandingan Algoritma Linear dan Binaryrepository.uinjkt.ac.id/dspace/bitstream/123456789/53846...masih menggunakan pencarian query sederhana, belum menggunakan algoritma

45

pada tabel diatas mempunyai nilai yang konstan yaitu 2.073 mb.

Sedangkan untuk runtime diperoleh rata-rata dari lima kali percobaan

sebesar 0.06746 ms.

5.2.5. Skenario 5

5.2.5.1. Query SQL

Tabel 5.13 Hasil Simulasi Query SQL Skenario ke-5

Percobaan

Output

Runtime Memory

Consumption

Operasi 18.525 ms 6.602 mb

Contoh 17.547 ms 6.602 mb

Dinas 20.354 ms 6.602 mb

Karpet 24.362 ms 6.602 mb

Speaker 17.985 ms 6.602 mb

Rata-rata 19.754 ms 6.602 mb

Pada tabel 5.13 menunjukan hasil dari simulasi pada Query SQL

dengan menggunakan skenario 5 dengan lima kali percobaan.

Berdasarkan tabel tersebut dapat diketahui runtime tercepat terdapat

pada percobaan kedua dan memory consumption yang diperoleh pada

tabel diatas mempunyai nilai yang konstan yaitu 6.602 mb.

Sedangkan untuk runtime diperoleh rata-rata dari lima kali percobaan

sebesar 19.754 ms.

5.2.5.2. Algoritma Linear

Tabel 5.14 Hasil Simulasi Algoritma Linear Skenario ke-5

Percobaan Output

Page 62: Analisis Perbandingan Algoritma Linear dan Binaryrepository.uinjkt.ac.id/dspace/bitstream/123456789/53846...masih menggunakan pencarian query sederhana, belum menggunakan algoritma

46

Runtime Memory

Consumption

Operasi 25.0421 ms 2.027 mb

Contoh 11.1759 ms 2.027 mb

Dinas 14.4069 ms 2.027 mb

Karpet 9.9609 ms 2.027 mb

Speaker 11.6119 ms 2.027 mb

Rata-rata 14.43954 ms 2.027 mb

Pada tabel 5.14 menunjukan hasil dari simulasi pada Algoritma

Linear dengan menggunakan skenario 1 dengan lima kali percobaan.

Berdasarkan tabel tersebut dapat diketahui runtime tercepat terdapat

pada percobaan kedua dan memory consumption yang diperoleh pada

tabel diatas mempunyai nilai yang konstan yaitu 2.027 mb.

Sedangkan untuk runtime diperoleh rata-rata dari lima kali percobaan

sebesar 14.43954 ms.

5.2.5.3. Algoritma Binary

Tabel 5.15 Hasil Simulasi Algoritma Binary Skenario ke-5

Percobaan

Output

Runtime Memory

Consumption

Operasi 25.0421 ms 2.073 mb

Contoh 11.1759 ms 2.073 mb

Dinas 14.4069 ms 2.073 mb

Karpet 9.9609 ms 2.073 mb

Speaker 11.6119 ms 2.073 mb

Rata-rata 14.43954 ms 2.073 mb

Page 63: Analisis Perbandingan Algoritma Linear dan Binaryrepository.uinjkt.ac.id/dspace/bitstream/123456789/53846...masih menggunakan pencarian query sederhana, belum menggunakan algoritma

47

Pada tabel 5.15 menunjukan hasil dari simulasi pada Algoritma

Linear dengan menggunakan skenario 1 dengan lima kali percobaan.

Berdasarkan tabel tersebut dapat diketahui runtime tercepat terdapat

pada percobaan keempat dan memory consumption yang diperoleh

pada tabel diatas mempunyai nilai yang konstan yaitu 2.073 mb.

Sedangkan untuk runtime diperoleh rata-rata dari lima kali percobaan

sebesar 0.08262 ms.

5.3. Hasil Analisis Output

5.3.1. Hasil Analisis Query SQL

Tabel 5.16 Rata-Rata Hasil Simulasi Skenario Query SQL

Skenario

Output

Runtime Memory

Consumption

1 18.558 ms 6.602 mb

2 19.062 ms 6.602 mb

3 15.135 ms 6.602 mb

4 18.338 ms 6.602 mb

5 19.754 ms 6.602 mb

Rata-rata 18.169 ms 6.602 mb

Dari tabel 5.16 diperoleh rata-rata dari seluruh skenario yang

sudah dilakukan pada algoritma Linear yaitu rata-rata runtime sebesar

18.169 ms dan rata-rata memory consumption sebesar 6.602 mb.

5.3.2. Hasil Analisis Algoritma Linear

Tabel 5.17 Rata-Rata Hasil Simulasi Skenario Algoritma Linear

Skenario

Output

Runtime Memory

Consumption

Page 64: Analisis Perbandingan Algoritma Linear dan Binaryrepository.uinjkt.ac.id/dspace/bitstream/123456789/53846...masih menggunakan pencarian query sederhana, belum menggunakan algoritma

48

1 15.22154 ms 2.027 mb

2 14.94216 ms 2.027 mb

3 12.13184 ms 2.027 mb

4 12.0946 ms 2.027 mb

5 14.43954 ms 2.027 mb

Rata-rata 13.665412 ms 2.027 mb

Dari tabel 5.17 diperoleh rata-rata dari seluruh skenario yang

sudah dilakukan pada algoritma Linear yaitu rata-rata runtime sebesar

13.665412 ms dan rata-rata memory consumption sebesar 2.027 mb.

5.3.3. Hasil Analisis Algoritma Binary

Tabel 5.18 Rata-Rata Hasil Simulasi Skenario Algoritma Binary

Skenario

Output

Runtime Memory

Consumption

1 0.08186 ms 2.073 mb

2 0.07134 ms 2.073 mb

3 0.06676 ms 2.073 mb

4 0.06746 ms 2.073 mb

5 0,08262 ms 2.073 mb

Rata-rata 0.074008 ms 2.073 mb

Dari tabel 5.18 diperoleh rata-rata dari seluruh skenario yang

sudah dilakukan pada algoritma Linear yaitu rata-rata runtime sebesar

0,074008 ms dan rata-rata memory consumption sebesar 2.073 mb.

5.3.4. Perbandingan Query SQL, Algoritma Linear dan Binary

Setelah didapatkan semua hasil simulasi tiap skenario yang sudah

dijalankan dan didapatkan rata-rata hasil runtime dan memory

Page 65: Analisis Perbandingan Algoritma Linear dan Binaryrepository.uinjkt.ac.id/dspace/bitstream/123456789/53846...masih menggunakan pencarian query sederhana, belum menggunakan algoritma

49

consumption pada setiap skenario, penulis membandingkan kedua hasil

yang didapatkan kedalam bentuk grafik garis sebagai berikut.

1. Perbandingan parameter runtime

Gambar 5.1 Perbandingan Runtime

Berdasarkan grafik 5.1 menunjukan hasil perbandingan runtime

antara Query SQL, algoritma Linear dan Binary. Pada grafik

tersebut menunjukan bahwa algoritma Binary membutuhkan

waktu yang lebih sedikit dibanding query SQL dan algoritma

Linear. Pada grafik 5.1 dapat dilihat bahwa perbedaan waktu

yang dibutuhkan cukup signifikan. Pada parameter runtime

apabila waktu yang didapat lebih kecil maka semakin baik

algoritma tersebut, sehingga dapat disimpulkan bahwa

algoritma Binary lebih baik dalam parameter runtime dibanding

query SQL dan algoritma Linear.

16,35824 16,4134 16,6638620,07562

16,64708

0,12304 0,10658 0,1004 0,11224 0,05622

19 1915

18 20

0

10

20

30

Skenario1 Skenario 2 Skenario 3 Skenario 4 Skenario 5

Perbandingan parameter runtime

Algoritma Linear Algoritma Binary Query SQL

Page 66: Analisis Perbandingan Algoritma Linear dan Binaryrepository.uinjkt.ac.id/dspace/bitstream/123456789/53846...masih menggunakan pencarian query sederhana, belum menggunakan algoritma

50

2. Perbandingan parameter memory consumption

Gambar 5.2 Perbandingan Memory Consumption

Berdasarkan grafik 5.2 menunjukan hasil perbandingan memory

consumption antara query SQL, algoritma Linear dan Binary.

Pada grafik tersebut menunjukan bahwa algoritma Linear

membutuhkan memori yang lebih sedikit dibanding algoritma

Binary dan query SQL. Pada parameter memory consumption

apabila memori yang dipakai lebih kecil maka semakin baik

algoritma tersebut, sehingga dapat disimpulkan bahwa

algoritma linear lebih baik dalam parameter memory

consumption dibanding algoritma binary dan query SQL.

3. Perbandingan Analisis Query SQL, Algoritma Linear dan

Binary

Tabel 5.19 Perbandingan Analisis Algoritma Linear dan Binary

No. Algoritma

Hasil Rata-rata

Runtime Memory

Consumption

1 Query SQL 18.169 ms 6.602 mb

2 Linear 13.665412 ms 2.027 mb

3 Binary 0.074008 ms 2.073 mb

0

5

10

Skenario 1 Skenario 2 Skenario 3 Skenario 4 Skenario 5

Perbandingan parameter memory consumption

Algoritma Linear Algoritma Binary Query SQL

Page 67: Analisis Perbandingan Algoritma Linear dan Binaryrepository.uinjkt.ac.id/dspace/bitstream/123456789/53846...masih menggunakan pencarian query sederhana, belum menggunakan algoritma

51

Berdasarkan tabel 5.13 dapat dilihat bahwa terdapat

perbedaan pada ketiga metode pencarian baik berdasarkan

parameter runtime maupun memory consumption. Pada

parameter runtime terdapat perbedaan yang cukup signifikan

antara algoritma binary dengan query SQL dan algoritma linear.

Dengan kata lain algoritma linear membutuhkan waktu sekitar

184 kali lipat dari waktu yang dibutuhkan oleh algoritma binary

dalam mencari sebuah kata dan 245 kali. Dengan kata lain

algoritma binary lebih baik dalam hal runtime dibanding

algoritma linear dan query SQL.

Sedangkan apa bila dilihat dari parameter memory

consumption terdapat perbedaan sangat tipis antara algoritma

linear dan binary yaitu sebesar 0.046 mb. Dengan kata lain

memory yang dibutuhkan kedua algoritma tersebut hampir

sama. Sedangkan apabila dibanding dengan query sql kedua

algoritma jauh lebih sedikit membutuhkan memory dengan

selisih lebih dari 4,5 mb.

Page 68: Analisis Perbandingan Algoritma Linear dan Binaryrepository.uinjkt.ac.id/dspace/bitstream/123456789/53846...masih menggunakan pencarian query sederhana, belum menggunakan algoritma

52

BAB VI

KESIMPULAN DAN SARAN

6.1. Kesimpulan

Berdasarkan penelitian yang sudah penulis lakukan, bahwa sesuai hasil

simulasi Query SQL, algoritma linear dan binary pada aplikasi kamus Bahasa

Indonesia dan Jawa dengan menggunakan parameter runtime dan memory

consumption diperoleh perbedaan yang cukup signifikan pada parameter runtime.

Dimana algoritma binary membutuhkan waktu yang lebih sedikit dalam

melakukan pencarian data. Sedangkan pada parameter memory consumption

diperoleh pemakaian memori pada kedua algoritma hampir sama dengan

perbedaan yang sangat sedikit. Sehingga setelah penulis melakukan simulasi dan

analisa secara cermat, dapat disimpulkan bahwa algoritma binary mempunyai

performa yang lebih baik dibanding algoritma linear.

6.2. Saran

Penulis menyadari dalam melakukan penelitian masih jauh dari kata

sempurna. Oleh karena itu, penulis menyarankan untuk mengembangkan penelitian

tersebut, antara lain:

1. Penulis membandingkan kedua algoritma hanya dengan dua parameter, untuk

kedepannya diharapkan dapat membandingkan dengan menggunakan lebih

banyak parameter sehingga mendapatkan hasil yang lebih maksimal.

2. Bisa membandingkan algoritma pencarian lainnya, karena masih banyak yang

belum penulis bandingkan karena keterbatasan penulis seperti Algoritma

ternary, jump, exponential dan masih banyak lainnya.

3. Karena keterbatasan penulis dalam melakukan penelitian ini, penulis berharap

penelitian ini dapat dilanjutkan dengan skenario simulasi yang lebih beragam.

Page 69: Analisis Perbandingan Algoritma Linear dan Binaryrepository.uinjkt.ac.id/dspace/bitstream/123456789/53846...masih menggunakan pencarian query sederhana, belum menggunakan algoritma

53

DAFTAR PUSTAKA

Abdurrahman, M. (2011). Dasar-Dasar Meode Statistika (1st ed.). Pustaka Setia.

Adelheid, A., & Nst, K. (2012). Buku Pintar Menguasai PHP dan MySQL. Media

Kita.

Aho, Alfred V; Lam, Monica Sin-Ling; Sethi, R. U. J. D. (2007). Compilers:

Principles, Techniques, & Tools (2nd ed.). Pearson Education.

Arikunto, S. (2013). Prosedur Penelitian, Suatu Pendekatan Praktik. Rineka Cipta.

Atkia, I. (2014). Featur lebih dari Sublime Text 3.

Fatansyah. (2012). Pemrograman Database Berbasis Web. Graha Ilmu.

Gibson, S. (1988). Tech Talk: Menempatkan Perspektif Spesifikasi IBM / Microsoft

XMS. InfoWorld.

Kadir, A. (2017). Dasar Logika Pemrograman Komputer. PT Elex Media

Komputindo.

Kristiono, P. (2015). Pemrograman Stored Procedure pada MySQL. ANDI OFFSET.

Mahlknecht, S. A. M. J. K. S. (2010). Wireless sensor networks: modeling and

simulation.

Michael Schroeder; Pavel Smilauer; Dietrich E. Wolf. (1997). Bond Counting in a

Simulation Model of Epitaxial Growth. Phys. Rev. B, 55(16).

Mulyani, S. (2017). Metode Analisis dan Perancangan Sistem. Abdi Sistematika.

Pressman, R. S. (2012). Rekayasa Perangkat Lunak Pendekatan Praktisi (7th ed.).

Penerbit Andi.

Rosa, A. S., & Shalahuddin, M. (2016). Rekayasa Perangkat Lunak (3rd ed.).

Informatika.

Setiawan, T. (2015). Leksisologi. Penerbit Ombak (Anggota IKAPI).

Sianipar, R. H. (2015). Membangun Web PHP dan MySQL. Informatika.

Sudaryono. (2015). Metodologi Riset di Bidang TI (Panduan Praktis, Teori dan

Contoh Kasus). ANDI OFFSET.

Sugiyono. (2014). Metode Penelitian Kuantitatif, Kualitatif dan R&D. Alfabeta.

Suwartono. (2014). Dasar-Dasar Metodologi Penelitian. ANDI OFFSET.

V. P.Parmar; Ck Kumbharana. (2015). Comparing Linear Search And Binary Search

Algorithms To Search An Element From A Linear List Implemented Through

Static Array, Dynamic Array And Linked List. International Journal of

Computer Applications, 121, 13–17.

Page 70: Analisis Perbandingan Algoritma Linear dan Binaryrepository.uinjkt.ac.id/dspace/bitstream/123456789/53846...masih menggunakan pencarian query sederhana, belum menggunakan algoritma

54

LAMPIRAN 1

Surat keterangan Dosen Pembimbing Skripsi

Page 71: Analisis Perbandingan Algoritma Linear dan Binaryrepository.uinjkt.ac.id/dspace/bitstream/123456789/53846...masih menggunakan pencarian query sederhana, belum menggunakan algoritma

55

Page 72: Analisis Perbandingan Algoritma Linear dan Binaryrepository.uinjkt.ac.id/dspace/bitstream/123456789/53846...masih menggunakan pencarian query sederhana, belum menggunakan algoritma

56

LAMPIRAN II

Hasil Wawancara dengan Mongosilakan.net

Wawancara dengan Bapak Irfan Bawa Suteja sebagai pengembang aplikasi pada

Mongosilakan.net hari Kamis tanggal 23 Juli 2020

1. Apakah aplikasi translasi kamus Bahasa Indonesia-Jawa ini di kembangkan

oleh Mongosilakan.net?

Jawab:

Iya benar, aplikasi translasi kamus Bahasa Indonesia-Jawa saat ini

Mongosilakan.net yang mengembangkan untuk menjadi sebuah market

pengiklanan

2. Apakah terdapat fitur pencarian kata pada aplikasi tersebut?

Jawab:

Iya benar pencarian kata merupakan salah satu fitur yang terdapat pada aplikasi

ini yang memudahkan pengguna untuk mencari kata.

3. Apa kekurangan dari fitur pencarian kata yang sudah berjalan?

Jawab:

Mungkin kalau dari sisi pengguna yang awam sih itu tidak terlihat kekurangan

tapi untuk sisi teknologi seperti perfomance dan sebagainya pasti banyak

kekurangan disamping fitur pencarian kata yang tertanam saat ini masih

menggunakan query sql, intinya untuk kata berimbuhan, dicari dulu kata

dasarnya, baru diartikan imbuhannya.

4. Apa yang diharapkan dapat dikembangkan berdasarkan kekurangan dari fitur

pencarian kata tersebut?

Jawab:

Page 73: Analisis Perbandingan Algoritma Linear dan Binaryrepository.uinjkt.ac.id/dspace/bitstream/123456789/53846...masih menggunakan pencarian query sederhana, belum menggunakan algoritma

57

Kami berharap akan menerapkan beberapa teknologi yang mungkin bisa

membuat beberapa fitur di aplikasi translasi ini.

5. Apakah aplikasi tersebut masih dikembangkan sampai sekarang?

Jawab:

Aplikasi ini masih terus dalam proses pengembangan dari sisi kebutuhan

pengguna dan juga teknologi yang akan terus kami perbaharui

6. Seperti apa output yang dihasilkan dari fitur pencarian tersebut, apakah

menggunakan apakah menggunakan web service seperti SOAP atau REST?

Jawab:

Untuk fitur pencarian saat ini kami menggunakan web service rest api dengan

format json yang dimana rest api lebih banyak digunakan karena tidak terlalu

banyak memakan bandwidth untuk mengaksesnya

Page 74: Analisis Perbandingan Algoritma Linear dan Binaryrepository.uinjkt.ac.id/dspace/bitstream/123456789/53846...masih menggunakan pencarian query sederhana, belum menggunakan algoritma

58

LAMPIRAN III

Source code Algoritma Linear

function searchlinear($arr, $x)

{

$n = sizeof($arr);

for($i = 0; $i < $n; $i++)

{

if($arr[$i]['indo'] == $x)

return $i;

}

return -1;

}

Page 75: Analisis Perbandingan Algoritma Linear dan Binaryrepository.uinjkt.ac.id/dspace/bitstream/123456789/53846...masih menggunakan pencarian query sederhana, belum menggunakan algoritma

59

LAMPIRAN IV

Source code Algoritma Binary

function binarySearch($arr, $x)

{

// check for empty array

if (count($arr) === 0) return false;

$low = 0;

$high = count($arr) - 1;

// var_dump($high);exit;

while ($low <= $high) {

// compute middle index

$mid = floor(($low + $high) / 2);

// var_dump($x[0]['id']);

// var_dump($arr[$mid]['id']);exit;

// element found at mid

if((int) $arr[$mid]['id'] == (int) $x[0]['id']) {

// var_dump($arr[$mid]);exit;

return $arr[$mid];

}

if ((int) $x[0]['id'] < (int) $arr[$mid]['id']) {

// search the left side of the array

$high = $mid -1;

}

Page 76: Analisis Perbandingan Algoritma Linear dan Binaryrepository.uinjkt.ac.id/dspace/bitstream/123456789/53846...masih menggunakan pencarian query sederhana, belum menggunakan algoritma

60

else {

// search the right side of the array

$low = $mid + 1;

}

}

// If we reach here element x doesnt exist

return false;

}