• Tidak ada hasil yang ditemukan

Analisis Perbandingan Algoritma Linear dan Binary. pada Aplikasi Kamus Bahasa Indonesia-Jawa. Skripsi

N/A
N/A
Protected

Academic year: 2021

Membagikan "Analisis Perbandingan Algoritma Linear dan Binary. pada Aplikasi Kamus Bahasa Indonesia-Jawa. Skripsi"

Copied!
76
0
0

Teks penuh

(1)

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

(2)

i

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

(3)

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

(4)
(5)

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

(6)

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

(7)

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

(8)

vii

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

(9)

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.

(10)

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

(11)

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

(12)

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

(13)

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

(14)

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

(15)

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

(16)

xv

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

(17)

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

(18)

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

(19)

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.

(20)

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:

(21)

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.

(22)

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.

(23)

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

(24)

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

(25)

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:

(26)

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

(27)

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)

(28)

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:

(29)

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:

(30)

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

(31)

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).

(32)

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

(33)

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

(34)

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)

(35)

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

(36)

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

(37)

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.

(38)

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

(39)

23

penelitian yang penulis kerjakan. Berikut literatur sejenis yang penulis gunakan :

(40)

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

(41)

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

(42)

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 :

(43)

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

(44)

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.

(45)

29

3.3. Alur Penelitian

(46)

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).

(47)

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

(48)

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

(49)

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

(50)

 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

(51)

35

4.7. Analysis Phase

Penjelasan dan pemaparan mengenai analysis phase akan dijelaskan pada BAB V skripsi ini, yaitu bab yang membahas hasil pembahasan.

(52)

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

(53)

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

(54)

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

(55)

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

Gambar

Gambar 2.1 Flowchart Algoritma Linear
Gambar 2.2 Contoh Pengerjaan Algoritma Linear
Gambar 2.3 Flowchart Algoritma Binary
Gambar 2.4 Contoh Pengerjaan Algoritma Binary
+7

Referensi

Dokumen terkait

batang tubuh ilmu yang khusus; (3) jabatan yang memerlukan persiapan dan latihan yang lama; (4) jabatan yang memerlukan latihan dalam jabatan

Sebagai hasil dari kegiatan ini, para peserta memperoleh pemahaman mengenai pentingnya bertutur kata dengan baik dan santun saat berinteraksi dengan anak didik

Berdasarkan uraian tersebut di atas, maka penelitian ini bertujuan untuk menganalisa suatu peristiwa dan tindakan hukum pengalihan tanah warisan yang sedang dibebani Hak

Apabila jangka waktu tersebut diabaikan maka akan menimbulkan beberapa akibat hukum terhadap akta peralihan tersebut.Maka untuk lebih terjaganya ketertiban dalam proses

Persediaan barang-barang atau bahan-bahan yang diperlukan dalam proses produksi atau yang digunakan dalam proses produksi untuk membantu berhasilnya produksi atau yang

Kamus data atau data dictionary ialah data yang digunakan dalam analisis struktur dan desain sistem informasi dan juga merupakan suatu katalog yang menjelaskan lebih

Penelitian ini bertujuan untuk mengetahui bagaimana distribusi temperatur pada suatu ruangan yang terdapat AC di dalamnya yang diselesaikan dengan mengimplementasikan metode

menjual barang tersebut kepada nasabah (pemesan) dengan harga jual senilai harga beli plus keuntungannya. Dalam kaitan ini Bank harus memberitahu secara jujur harga pokok