Algoritma Pendeteksian Obstacle dan Furniture Menggunakan ...
Analisis Perbandingan Algoritma Linear dan...
Transcript of Analisis Perbandingan Algoritma Linear dan...
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
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
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
iii
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
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
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
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
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.
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
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
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
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
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
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
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
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
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
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.
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
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.
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.
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
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
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:
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
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:
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:
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:
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
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).
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
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
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)
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
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
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.
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
23
penelitian yang penulis kerjakan. Berikut literatur sejenis yang penulis
gunakan :
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
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
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 :
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
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.
29
3.3. Alur Penelitian
Gambar 3.1 Alur Penelitian
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).
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
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:
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
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.
35
4.7. Analysis Phase
Penjelasan dan pemaparan mengenai analysis phase akan dijelaskan
pada BAB V skripsi ini, yaitu bab yang membahas hasil pembahasan.
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
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
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
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
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
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
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.
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
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
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
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
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
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
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
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
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.
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.
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.
54
LAMPIRAN 1
Surat keterangan Dosen Pembimbing Skripsi
55
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:
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
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;
}
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;
}
60
else {
// search the right side of the array
$low = $mid + 1;
}
}
// If we reach here element x doesnt exist
return false;
}