BAB 3 METODOLOGI 3.1 Metodologi Penelitian Metodologi penelitian yang digunakan dalam penulisan ini adalah studi kepustakaan dan studi laboratorium dimana penulis mempelajari teori-teori teknik pencarian string dari buku dan website, lalu kemudian merancang program aplikasi untuk menerapakan masing-masing algoritma. Selanjutnya aplikasi tersebut akan dijalankan terhadap 20 file teks untuk mendapatkan data. Penelitian dilakukan dengan langkahlanhkah sebagai berikut: 1. Perancangan aplikasi Untuk menguji hipotesis dibutuhkan data-data, oleh sebab itu penulis merancang program aplikasi pencarian string yang menggunakan masing-masing algoritma. Perancangan program aplikasi pencarian string ini menggunakan bahasa pemrograman Borland Delphi 7. 2. Uji coba aplikasi dan pengukuran Pengujian masing-masing algoritma pada program aplikasi menggunakan 20 file teks dengan ukuran berkisar 100 kilobytes. Dari pengujian ini akan didapat data-data berupa hasil, waktu dan jumlah memory masing-masing algoritma. Pengukuran waktu pada masing-masing algoritma didapatkan dari timer pada aplikasi masing-masing.
31 3. Analisis data Data-data yang didapat melalui pengujian program aplikasi akan diolah dengan menggunakan analisis ragam atau Uji Kruskal-Wallis untuk menguji perbedaan pada tiga kelompok sampel tergantung pada sebaran data. Berikut adalah pengujian yang akan dilakukan: a. Uji terhadap jumlah hasil pencarian string antara algoritma Maximal Shift dan algoritma Optimal Mismatch. b. Uji terhadap jumlah hasil pencarian string antara algoritma Maximal Shift dan algoritma Quick Search. c. Uji terhadap jumlah hasil pencarian string antara algoritma Quick Search dan algoritma Optimal Mismatch. d. Uji terhadap waktu pencarian string antara algoritma Maximal Shift dan algoritma Optimal Mismatch. e. Uji terhadap waktu pencarian string antara algoritma Maximal Shift dan algoritma Quick Search. f. Uji terhadap waktu pencarian string antara algoritma Quick Search dan algoritma Optimal Mismatch. g. Uji terhadap jumlah memory pencarian string antara algoritma Maximal Shift dan algoritma Optimal Mismatch. h. Uji terhadap jumlah memory pencarian string antara algoritma Maximal Shift dan algoritma Quick Search. i. Uji terhadap jumlah memory pencarian string antara algoritma Quick Search dan algoritma Optimal Mismatch.
32 Dari hasil analisis ini akan diperoleh perbedaan antar algoritma yang akan dijadikan dasar untuk menjawab hipotesis yang ada. 3.2 Desain Penelitian Pada penelitian ini terdapat tiga variabel yang diamati, yaitu: jumlah hasil pencarian, waktu pencarian dan jumlah memory yang dibutuhkan dalam pencarian. Dengan menggunakan algoritma yang berbeda maka didapat tiga variabel yang berbeda. Pada penelitian ini, variabel terikatnya adalah jumlah hasil pencarian, waktu pencarian dan jumlah memory yang dibutuhkan dalam pencarian. Sedangkan variabel bebasnya adalah algoritma Maximal Shift, algoritma Optimal Mismatch dan algoritma Quick Search. Pada percobaan ini, ketiga metode ini diuji dengan memasukkan string yang sama pada kedua program itu. Percobaan dilakukan sebanyak 100 kali percobaan, dengan panjang pola 2, 4, 6, 8, dan 10 karakter. Untuk setiap percobaan, waktu pencarian data diperoleh dengan mengurangi waktu akhir pencarian data dengan waktu awal pencarian pola. Setelah mendapat hasil dari percobaan untuk masing masing pencarian string dengan karakter karakter yang telah ditentukan dengan metode berbeda, data hasil percobaan itu dianalisa mengunakan analisis ragam atau Uji Kruskal-Wallis tergantung pada sebaran data. 3.3 Hipotesis Hipotesis akan diuji untuk membuktikan adanya perbedaan dalam jumlah hasil pencarian, waktu pencarian dan jumlah memory yang dibutuhkan dalam pencarian antara
33 program aplikasi yang dibangun dengan algoritma Maximal Shift, algoritma Optimal Mismatch dan algoritma Quick Search. Hipotesis untuk penelitian ini adalah sebagai berikut: Ada perbedaan jumlah hasil pencarian antara algoritma Maximal Shift dan algoritma Optimal Mismatch. Ada perbedaan jumlah hasil pencarian antara algoritma Maximal Shift dan algoritma Quick Search. Ada perbedaan jumlah hasil pencarian antara algoritma Quick Search dan algoritma Optimal Mismatch. Ada perbedaan waktu pencarian antara algoritma Maximal Shift dan algoritma Optimal Mismatch. Ada perbedaan waktu pencarian antara algoritma Maximal Shift dan algoritma Quick Search. Ada perbedaan waktu pencarian antara algoritma Quick Search dan algoritma Optimal Mismatch. Ada perbedaan jumlah memory yang dibutuhkan antara algoritma Maximal Shift dan algoritma Optimal Mismatch. Ada perbedaan jumlah memory yang dibutuhkan antara algoritma Maximal Shift dan algoritma Quick Search. Ada perbedaan jumlah memory yang dibutuhkan antara algoritma Quick Search dan algoritma Optimal Mismatch.
34 3.4 Teknik Pengumpulan Data Pengumpulan data dilakukan dengan observasi langsung terhadap hasil percobaan, dimana data didapatkan dari hasil pengukuran. Sedangkan hasil pengukuran diperoleh dari program aplikasi yang dijalankan dengan menggunakan algoritma Maximal Shift, algoritma Optimal Mismatch, dan algoritma Quick Search. 3.5 Teknik Analisis Data Hasil pengukuran yang didapat berupa data statistik selanjutnya akan diolah dan dianalisa menggunakan analisis ragam atau Uji Kruskal-Wallis tergantung pada sebaran data. Analsis dilakukan pada masing-masing data sehingga dapat dibuat perhitunganperhitungan untuk pengujian hipotesis dari masing-masing algoritma. 3.6 Perancangan Aplikasi Perancangan program aplikasi ini terbagi menjadi dua bagian yaitu proses pencarian string dan proses analisis. Proses pencarian string Proses pencarian string pada file berformat.txt dengan algoritma Maximal Shift, algoritma Optimal Mismatch dan algoritma Quick Search. Proses pencarian string ini akan menghasilkan data berupa: jumlah hasil pencarian, waktu pencarian dan jumlah memory yang diperlukan dalam pencarian. Agar dapat digunakan pada proses analisis, data-data yang didapat dari proses pencarian ini harus disimpan kedalam database dengan cara menekan tombol save.
35 Proses analisis. Proses analisis digunakan untuk menganalisa data-data yang telah disimpan dalam database. Pertama-tama data-data tersebut akan diuji apakah berdistribusi normal atau tidak berdistribusi normal. Lalu data-data tersebut akan dihitung menggunakan analisis ragam atau Uji Kruskal-Wallis untuk mengetahui hasil hipotesis. 3.7 Perancangan Modul Modul utama ini berisikan dua menu pilihan yaitu menu search dan menu database. Modul yang akan digunakan adalah modul menu utama, modul search dan modul database. 3.7.1 Modul Menu Utama Modul utama ini berisikan dua menu pilihan yaitu menu search dan menu database. Pengguna dapat memilih menu search dengan mengklik button search apabila ingin mencari pola dalam teks dan memilih menu database dengan mengklik button database apabila ingin melihat data-data hasil percobaan yang didapat dari menu search. 3.7.2 Modul Menu Search Modul search adalah modul yang berguna untuk mencari pola yang dikehendaki pada sebuah teks bertipe TXT. Modul ini akan menghasilkan data-data yang diperlukan dalam proses analisis seperti: hasil pencarian, waktu pencarian dan
36 jumlah memory yang dibutuhkan dalam pencarian. Modul search berisikan fungsi untuk meminta masukan berupa file berformat TXT dengan mengklik button open, text box untuk meng-input pola yang ingin dicari, button search untuk mulai mencari pola pada teks, button reset untuk menghapus semua data hasil pencarian dan button back untuk kembali ke modul utama. Button search tidak dapat diklik jika user belum meng-input teks memakai button open dan user juga belum meng-input pola yang ingin dicari. Sedangkan button reset hanya dapat diklik jika data-data telah ditampilkan atau setelah user mengklik button search. 3.7.3 Modul Menu Database Modul database ini adalah modul yang berguna untuk menampilkan data hasil percobaaan yang dilakukan pada modul search. Modul database berisikan fungsi untuk melihat data dengan mengklik button database. Button back digunakan jika user ingin kembali ke modul utama. 3.8 Form 3.8.1 Form Menu Utama Form ini adalah form utama pada program aplikasi pencarian string menggunakan algoritma Maximal Shift dan algoritma Optimal Mismatch. Form ini diberi nama Form 1. Form ini terdiri dari button Search, Database dan Exit. Berikut ini adalah rancangan layar dari form 1:
37 Gambar 3.1 Rancangan layar form1 3.8.2 Form Menu Search Form search ini diberi nama Form 2. Form 2 ini terdiri dari 5 button. Button yang pertama adalah open yang berfungsi untuk memilih file teks yang akan digunakan untuk mencari pola. Button yang kedua adalah search yang berfungsi untuk mencari pola yang diinginkan pada teks, kemudian data-data hasil pencarian seperti: jumlah hasil pencarian, waktu pencarian dan jumlah memory yang dibutuhkan dalam pencarian akan ditampilkan. Button yang ketiga adalah reset yang berfungsi untuk menghapus data-data hasil pencarian. Button yang keempat adalah save yang berfungsi untuk menyimpan data-data hasil pencarian kedalam database. Button yang kelima adalah back yang berfungsi untuk kembali ke form utama. Pada form ini juga
38 terdapat beberapa text box seperti: text box untuk meng-input pola yang ingin dicari, text box yang berisi jumlah hasil pencarian, text box yang berisi waktu pencarian, dan text box yang berisi jumlah memory yang dibutuhkan dalam pencarian. Berikut ini adalah rancangan layar dari form 2 : Gambar 3.2 Rancangan layar form2 3.8.3 Form Menu Database Form Database ini diberi nama Form 3. Form 3 ini terdiri dari 2 button. Botton yang pertama adalah View yang befungsi untuk melihat data-data yang telah tersimpan didalam database. Button yang kedua adalah back yang berfungsi untuk kembali ke form utama. Pada form database ini terdapat string grid yang menampung data-data hasil pengujian program aplikasi. Berikut ini adalah rancangan layar dari form3 :
39 Gambar 3.3 Rancangan layar form3 3.9 Cara Kerja Program Pada sub bab ini akan digambarkan secara lebih rinci lagi tentang diagram alir dan gambaran proses kerja yang terjadi yang akan ditampilkan dalam bentuk STD mengenai proses proses yang terjadi pada setiap form. 3.9.1 Perancangan Diagram Alir Diagram alir merupakan alat bantu pemrograman yang biasanya digunakan. Diagram alir membantu programmer dalam mengorganisasikan pemikiran mereka dalam pemrograman, terutama bila dibutuhkan penalaran yang tajam dalam logika prosedur suatu program.
40 Gambar 3.4 Flowchart perancangan form
41 3.9.2 Perancangan Diagram Transisi Diagram transisi memberikan keterangan kepada sistem tentang apa yang harus dikerjakan dan kondisi tertentu. Kondisi adalah suatu event pada external environment yang dapat dideteksi oleh sistem misalnya sinyal, interrupt atau data. Hal ini akan menyebabkan perubahan terhadap state dari aktivitas x ke aktivitas y. Action adalah hal yang dilakukan oleh sistem bila terjadi perubahan state atau data. Action akan menghasilkan output, message display pada layar, menghasilkan kalkulasi dan lain lain. Gambar 3.5 STD Form Menu Utama
42 Gambar 3.6 STD Form Menu Search
43 Gambar 3.7 STD Form Menu Database 3.10 Spesifikasi Perangkat Keras dan Piranti Lunak Perangkat keras yang digunakan adalah komputer dengan spesifikasi: 1. Processor Intel Pentium IV 1,9 GHz 2. Memory SDRAM 256 MB 3. Harddisk dengan kapasitas 20GB Piranti lunak yang digunakan dalam penelitian ini adalah: 1. Sistem operasi Microsoft Windows XP 2. Bahasa Pemrograman Borland Delphi 7 3. Software SPSS versi 10.0 for Windows