• Tidak ada hasil yang ditemukan

Analisis Dan Perbandingan Algoritma Maximal Shift Dengan Algoritma Quick Search Pada Aplikasi Kamus Farmakologi Chapter III V

N/A
N/A
Protected

Academic year: 2017

Membagikan "Analisis Dan Perbandingan Algoritma Maximal Shift Dengan Algoritma Quick Search Pada Aplikasi Kamus Farmakologi Chapter III V"

Copied!
42
0
0

Teks penuh

(1)

BAB 3

ANALISIS DAN PERANCANGAN

3.1. Analisis Sistem

Analisis sistem adalah penguraian dari suatu sistem informasi yang utuh kedalam bagian-bagian komponennya dengan maksud untuk mengindentifikasikan dan mengevaluasi permasalahan, kesempatan, hambatan, yang terjadi dan kebutuhan yang diharapkan. Analisis sistem terdapat langkah-langkah dasar yang harus dilakukan antara lain: mengidentifikasikan masalah (identify), analisis kebutuhan atau memahami kerja dari sistem yang ada, dan analisis proses. Pada analisis masalah adalah untuk mengenal dan mempelajari penyebab masalah dari sistem yang digunakan. Kemudian dilanjutkan dengan analisis kebutuhan adalah menjelaskan proses kerja fungsi-fungsi yang digunakan sistem. Dan yang terakhir adalah analisis proses yang bertujuan untuk memodelkan perancangan dari sistem.

3.1.1. Analisis Masalah

Permasalahan pada penelitian ini adalah untuk mengetahui perbandingan kinerja dari masing-masing algoritma string matching, yaitu algoritma Maximal Shift dan algoritma Quick Search. Dalam perbandingan kedua algoritma string matching dapat melihat perbedaan waktu pencarian kata (running time) dalam kamus farmakologi.

(2)

Gambar 3.1 Diagram Ishikawa

Pada gambar 3.1 terdapat empat katagori pada penelitian perbandingan Algoritma Maximal shift dan Algoritma Quick Search. Pengelompokan empat katagori tersebut adalah manusia (people), metode (method), material (material), mesin (machine). Katagori mesin adalah penggunaan software pemrogram dan penyimpanan data yaitu: Visual Studio Ekspres For Dekstop 2012 dan database SQL server 2012. Katagori manusia adalah sebagai pengguna untuk melakukan pencarian kata dalam kamus. Katagori material adalah data nama obat, keterangan dan produksi obat tersebut dari sumber Informasi Spesialite Obat Indonesia (ISO). Katagori metode, yang digunakan untuk melakukan pecarian kata dalam database adalah algoritma Maximal Shift dan algoritma Quick Search untuk mencapai tujuan yaitu: melakukan pencarian kata dalam kamus dengan waktu yang cepat.

3.1.2. Analisis Kebutuhan

Analisis kebutuhan sistem dapat dikelompokkan menjadi dua bagian, yaitu Kebutuhan Fungsional dan Kebutuhan Non Fungsional.

(3)

3.1.2.1. Kebutuhan Fungsional

Kebutuhan fungsional adalah kebutuhan sistem yang harus melakukan proses-proses termasuk dalam melakukan pelayanan yang disediakan sistem dan reaksi sistem untuk mendapatkan hasil berdasarkan instruksi yang diberikan.Beberapa hal yang menjadi syarat kebutuhan fungsional yang harus dipenuhi (Timothy, 2010) :

1. Sistem harus mampu membaca string yang berada pada database.

2. Sistem harus mampu melakukan pencocokan string dengan menggunakan algoritma Maximal Shift dan Quick Search.

3. Sistem harus mampu menghitung, yaitu waktu proses dengan satuan (ms ) pada saat pencarian kata.

4. Sistem harus mampu menampilkan waktu ketika proses pencarian kata sedang berjalan dan mencatat waktu tercepat dalam bentuk teks.

3.1.2.2. Kebutuhan Non Fungsional

Kebutuhan non-fungsional merupakan deskripsi dari beberapa fitur, karateristik, dan batasan suatu sistem. Terdapat beberapa hal yang menjadi syarat kebutuhan non-fungsional antara lain: (Timothy, 2010):

1. Mudah digunakan (User friendly) yaitu sistem yang akan dibangun harus user friendly, artinya bahwa sistem mudah digunakan oleh user dengan tampilan (interface) yang sederhana dan mudah dimengerti.

2. Menjadi referensi yaitu, sistem yang akan dibangun diharapkan mampu menjadi referensi bagi user untuk mempermudah mencari nama obat yang dibutukan oleh user didalam database.

3. Pelayanan sistem yang telah dirancang bisa dikembangkan ke tingkat yang lebih kompleks lagi bagi pihak-pihak yang ingin mengembangkan sistem tersebut sehingga solusi yang diberikan lebih efektif.

4. Tampilan antarmuka sistem dapat dengan mudah dimengerti oleh pengguna sistem.

(4)

3.2. Pemodelan Sistem

Pemodelan merupakan konsep penyederhanaan suatu masalah dalam suatu bahasa tertentu.Sebelum merancang perangkat lunak, maka pada tahap pemodelan ini dilakukan untuk memudahkan perancangan sistem selanjutnya (Timothy, 2010). Pemodelan sistem yang dirancang oleh penulis yaitu untuk menggambarkan sebuah kondisi dan bagian-bagian yang berperan dalam sistem yang dirancang. Pada penelitian ini model UML (Unified Modeling Language) yang digunakan antara lain use case diagram, activity diagram, dan squence diagram.

3.2.1. Diagram Use Case

Use-case Diagram adalah gambaran skenario penggunaan aplikasi sistem tentang bagaimana cara sistem bekerja dengan pengguna. Use-case Diagram membutuhkan identifikasi siapakah pengguna yang akan menggunakan sistem tersebut (Timothy, 2010). Use case diagram juga berperan untuk menggambarkan interaksi antar komponen-komponen yang berperan dalam sistem yang nantinya akan dirancang.

(5)

Pada gamabar 3.2 dapat dilihat terdapat seorang actor yang akan berperan sebagai user. User menggunakan kamus untuk memperoleh pencarian kata dalam database dengan cara memasukkan kata dan melakukan pencarian dengan menekan tombol cari. Setelah itu, sistem akan berjalan melakukan pencarian kata dengan algoritma Maximal Shift dan algoritma Quick Search, dan menampilkan hasil pencarian kata serta menampilkan keterangan dari kata yang dicari. Dari hasil pencarian kata akan mencatat waktu dan menampilkan waktu (running time) ke layar sistem untuk masing-masing algoritma. Proses input kata pada kamus dapat dilihat pada Tabel 3.1.

Tabel 3.1 Usecase Input Kata pada Kamus Farmakologi

Name Masukan Kata

Actors User

Description Use Case ini mendeskripsikan memasukkan kata farmakologi yang ingin dicari dengan algoritma Maximal shift dengan Algoritma Quick Search Basic Flow User memasukkan kata

Alternate

Flow -

Pre Condition

Aplikasi siap menerima masukkan

Typical course of

Event

Kegiatan user Respon system 1. Menekan

(6)

Tabel 3.2 Usecase Bantuan pada Kamus Farmakologi Name Bantuan

Actors User

Description Use Case ini memberitahukan bagaimana cara penggunaan dari sistem kamus farmakologi Basic Flow User membutuhkan bantuan

Alternate Flow

-

Pre Condition Aplikasi siap menampilkan bantuan Typical course

of event

Kegiatan User Respon system 1. Menekan

tombol bantuan

Menampilkan isi dari tombol bantuan

Post Condition

User mendapatkan bantuan penggunaan cara sistem kamus farmakologi

Table 3.3 Use Case Tentang pada Kamus Famakologi

Name Tentang

Actors User

Description UseCase ini menjelaskan tentang kegunaan dari aplikasi kamus farmakologi

Basic Flow User membutuhkan pengetahuan tentang Aplikasi kamus farmakologi

Alternate Flow

-

Pre Condition Aplikasi siap menampilakan isi menu tentang

Typical course of Event

Kegiatan user Respon system 1. Menekan

(7)

3.2.2. Diagram Sequence

Sequence Diagram adalah diagram yang menunjukkan hubungan yang terjadi antara satu objek dengan objek lain. Diagram Sequences digunakan untuk mendekripsikan pola komunikasi antar objek, dimana diagram Sequences ini menggambarkan urutan waktu dari aliran pemanggilan pada suatu metode (Timothy, 2010). Berikut diagram Sequence pada penelitian ini dapat dilihat pada Gambar 3.3.

(8)

3.2.3. Diagram Activity

Activity Diagram adalah diagram yang menggambarkan alur kerja proses sistem menggunakan notasi nodes. Activity nodes digunakan untuk menjelaskan alur kontrol kerja sistem seperti sinkronisasi dan keputusan dari awal sampai berakhirnya proses. Nodes bulat penuh adalah nodes awal proses, sedangkan nodes bulat penuh ditengah adalah akhir proses (Timothy, 2010). Activity diagram pada sistem dapat ditunjukkan pada Gambar 3.4.

Gambar 3.4 Diagram Activity.

3.3. Analisis Proses

(9)

3.3.1. Analisis Pencocokan String dengan Algoritma Maximal Shift

Algoritma Maximal Shift adalah algoritma yang mencari pola dalam teks dengan cara pola dicari dari karakter yang memiliki nilai minShift yang terbesar hingga minShift yang terkecil. Tahapan proses dari algoritma Maximal shift terdiri dari memilah karakter pola dalam urutan penurunan pergeseran, membangun bad-charaters shift dan fungsi good-suffix Shif. Fungsi tersebut disesuaikan dengan urutan scanning karakter pola, (Charras & Lecroq, 2004). Berikut akan dijelaskan langkah-langkah dalam melakukan pencocokan string.

Teks : DHEAAGIEWILYA Pola : AGIE

Proses pertama adalah menghitung nilai minshift karakter pada pola yang akan digunakan untuk proses pengurutan, seperti pada Tabel 3.4.

Tabel 3.4 Nilai minShift pada Algoritma Maximal Shift

Proses kedua adalah orderPattern yang digunakan untuk pengurutan karakter pada pola dari nilai minshift tertinggi hingga terkecil pada pola. Jika ditemukan karakter yang memiliki nilai minshift yang sama maka pengurutan didasarkan pada posisi pencarian dari kanan ke kiri, yaitu posisi karakter yang ditemukan dahulu diurutkan lebih awal. Seperti table dibawah ini:

I 0 1 2 3

char A G I E

Minshift

(10)

Tabel 3.5 Orderpattern Algoritma Maximal Shift

I 0 1 2 3

Char E I G A

minshift

[i] 3 2 1 0

Proses ketiga adalah preQsBc yang menghitung nilai qsBc pada tiap-tiap karakter yang selanjutnya nilai tersebut kemungkinan akan digunakan untuk pergeseran pola dengan cara menentukan posisi karakter dalam pola dari kanan ke kiri dan jika ada karakter sama dalam pola maka posisi karakter yang pertama ditemukan yang dicatat, Posisi dihitung mulai dari satu dan dari kanan ke kiri, pada table dibawah:

Tabel 3.6 PreQsBc pada Algoritma Maximal Shift

Proses keempat adalah PreAdaptedGS yang menghitung nilai pada tiap posisi dan kemudian nilai inilah yang kemungkinan akan digunakan untuk pergeseran pada pola, seperti pada table dibawah:

Tabel 3.7 PreAdaptedGs pada Agoritma Maximal Shift

I 0 1 2 3

AdaptedGs[i] 1 4 4 4

Selanjutnya akan dimulai langkah-langkah pencarian dengan menggunakan algoritma maximal shift dengan menentukan terlebih dahulu pola yang dicari. Setelah langkah-langkah selesai dilakukan, maka proses pencarian dimulai dengan mencocokan pola

Char A G I E

(11)

yang telah diurutkan terhadap teks. Hitung selisih panjang pola dan panjang teks. Karaketer dengan urutan pertama dalam orderPattern dicocokan dengan teks dengan teks pada posisi yang sama pada pola. Jika terjadi kecocokan maka pencarian diteruskan dengan pencocokan pola sesuai dengan posisi yang telah diurutkan dengan karakter pada teks. Jika semua pola ditemukan maka dianggap telah menumakan output string yang dicari. Jika tidak ada ketidakcocokkan maka terjadi perhitungan qsBc dan adaptedGs. Kemudian diambil nilai terbesar dari hasil perhitungan qsBc atau adaptedGs, yang digunakan untuk pergeseran. Pergeseran terus terjadi hingga jumlah pergeseran lebih besar dari pada selisih panjang teks dengan panjang pola (Handika, W. 2005).

Langkah 1:

D H E A A G I E W I L Y A

mismatch

3 2 1 0 i : 0

selisih : 9 geser : 0

Urutan pencarian dimulai dari huruf “e” yang ternyata tidak cocok dengan teks, maka dilakukan pergeseran yang akan ditentukan oleh nilai adaptedGs yang ke-i atau adaptedGs [0] = 1 dan qsBc untuk karakter berikutnya atau qsBc[a] = 4. Nilai yang akan dipakai untuk pergeseran adalah nilai yang lebih besar atau dalam hal ini adalah 4.

(12)

Langkah 2:

D H E A A G I E W I L Y A

Exact match

3 2 1 0 i : 0

selisih : 9 geser : 4

Urutan pencarian dimulai dari huruf “e” yang ternyata cocok dengan teks, kemudian dilanjutkan dengan huruf “i” yang ternyata cocok dengan teks, dan dilanjutkan dengan huruf “g” dan “a” yang ternyata cocok dengan teks sehingga pencarian dianggap menemukan output string yang sama. Maka dilakukan pergeseran yang akan ditentukan oleh nilai adaptedGs yang ke-i atau adaptedGs [0] = 1 dan qsBc untuk karakter berikutnya atau qsBc[w] = 5. Nilai yang akan dipakai untuk pergeseran adalah nilai yang lebih besar atau dalam hal ini adalah 5.

Langkah 3:

D H E A A G I E W I L Y A

Mismatch

3 2 1 0

i : 0 selisih : 9 geser : 9

A G I E

(13)

Urutan pencarian dimulai dari huruf “e” yang ternyata tidak cocok dengan teks, maka dilakukan pergeseran yang akan ditentukan oleh qsBc untuk karakter berikutnya yang ternyata tidak tersedia, maka pencarian dianggap selesai.

3.3.2. Analisis Pencocokan String dengan Algoritma Quick Search

Algoritma Quick Search mencari data secara berurut pada tiap karater dalam teks sehingga pencarian disebut pencarian sekuensial atau sequential search. Algoritma Quick Search mencari pola karakter berdasarkan nilai Quick Search-bad character atau qsBc (Handika, W. 2006). Berikut akan dilakukan langkah-langkah pencocokan string denngan algoritma Quick Search.

Teks : DHEAAGIEWILYA Pola : AGIE

Proses pertama yang dilakukan adalah mencari nilai Quick Search-bad character atau qsBc yang digunakan untuk proses pergeseran.

Tabel 3.8 PreQsBc pada Algoritma Quick Search

Char D h E A g i w L Y

QsBc [char] 5 5 1 4 3 2 5 5 5

(14)

Langkah 1:

D H E A A G I E W I L Y A

mismatch

0 1 2 3

i : 0 selisih : 9 geser : 0

Urutan pencarian dimulai dari huruf “a” yang ternyata tidak cocok dengan teks, maka dilakukan pergeseran yang akan ditentukan oleh nilai qsBc untuk karakter berikutnya atau qsBc[a]= 4.

Langkah 2:

D H E A A G I E W I L Y A

Exact match

0 1 2 3

i : 0 selisih : 9 geser : 4

Urutan pencarian dimulai dari huruf “a” yang ternyata cocok dengan teks, kemudian dilanjutkan dengan huruf selanjutnya “g” yang ternyata cocok pada teks, kemudian pada huruf “i” dan huruf ”e” yang ternyata cocok pada teks sehingga pencarian

A G I E

(15)

dianggap menemukan output string yang sama. Selanjutkan akan dilakukan pergeseran yang akan ditentukan oleh nilai qsBc untuk karakter berikutnya atau qsBc[w] = 5.

Langkah 3:

D H E A A G I E W I L Y A

Mismatch

0 1 2 3 i : 0

selisih : 9 geser : 9

Urutan pencarian dimulai dari huruf “a” yang ternyata tidak cocok dengan teks, maka dilakukan pergeseran yang akan ditentukan oleh qsBc untuk karakter berikutnya yang ternyata tidak tersedia, maka pencarian dianggap selesai.

3.4. F lowchart Algoitma

Flowchart adalah bagan yang menunjukka n prosedur dan proses pemecahan masalah sistem, mendeskripsikan prosedur penyelesaian masalah dalam bentuk algoritma. Flowchart dapat diartikan sebagai suatu alat untuk sarana yang menunjukan langakah-langkah yang harus dilaksanakan dalam menyelesaikan suatu permasalahan untuk komputasi dengan cara mengekpresikannya ke dalam serangkaian simbol-simbol grafik khusus (Sutanta, 2004).

(16)

3.4.1. F lowchart MinShift

Nilai minShift merupakan nilai pencarian pola dalam teks dengan cara pola di cari dari karakter yang memiliki nilai minShift terbesar hingga nilai minShift yang terkecil pada Algoritma Maximal Shift. Berikut adalah flowchart mencari nilai minShift pada Gambar 3.5.

(17)

3.3.2. F lowchart MatchShif dan AdaptedGs

MatchShift adalah nilai untuk mencari nilai adaptedGs. AdaptedGs adalah yang menghitung nilai pada tiap posisi dan kemudian nilai inilah yang kemungkinan akan digunakan untuk pergeseran pada pola. Berikut adalah flowchart dari matchShift yang dapat dilihat pada Gambar 3.6.

No

(18)

Setelah mendapatkan hasil nilai matchShift akan diteruskan untuk mencari nilai adaptedGs. Berikut adalah flowchart adapetedGs dapat dilihat dari Gambar 3.7.

Start adaptedGs [0]= lshift = 1

Ploc = 1

Lshift= matchshift (x,m,ploc,lshift, pattern, pat) adaptedGs[ploc]= lshift

Ploc = 0

i = pat[ploc].loc - lshift

++ploc

(19)

3.4.3. F lowchart QsBc

Quick search bad-character (qsBc) adalah nilai pada karakter yang selanjutnya nilai tersebut kemungkinan akan digunakan untuk pergeseran pola dengan cara menentukan posisi karakter dalam pola dari kanan ke kiri dan jika ada karakter sama dalam pola maka posisi karakter yang pertama ditemukan yang dicatat. Berikut adalah flowchart mencari nilai preqsBc pada Algoritma Maximal Shift dan Algoritma Quick Search yang dapat dilihat pada Gambar 3.8.

Start

(20)

3.4.4. F lowchart Maximal Shift

Maximal shift adalah proses pencarian dengan mentukan terlebih dahulu pola yang ingin dicari. Setelah semuanya selesai dilakukan, maka proses pencarian dimulai dengan mencocokkan pola yang telah diurutkan terhadap teks.Berikut adalah flowchart proses pencocokkan kata yang dapat dilihat pada Gambar 3.9.

Start

(21)

3.4.5. F lowchart Quick Search

Quick search adalah proses pencarian pola karakter berdasarkan nilai quick search bad-character yang sudah dilakukan sebelumnya. QsBc tersebut adalah sebagai nilai pergeseran. Berikut adalah flowchart proses pencocokkan kata pada algoritma Quick Search yang dapat dilihat pada Gambar 3.10.

Start

Input: x : pattern

m : leng (x)

i = 0

i < ASIZE ?

qsBc[i]= m+1

i < m ?

qsBc[x[i]] m - i

++i

Output: QsBc[i]

End

yes

yes

No

i++

i = 0 No

(22)

3.5. Perancangan Database

Penelitian ini menggunakan basis data (database), yaitu: kumpulan informasi yang disimpan di dalam komputer secara sistematik sehingga dapat diperiksa menggunakan suatu program komputer untuk memperoleh informasi dari database tersebut. Aplikasi kamus farmakologi menggunakan SQL Server Management Studio 2012 sebagai tempat penyimpanan informasi nama-nama obat. Data yang tesimpan di dalam database ± 350 informasi nama-nama obat. Sistem memiliki satu tabel yaitu: Kamus, kemudian memiliki empat field yaitu: idkata, nama obat, keterangan obat, dan produksi. Perancangan database dapat dilihat pada Tabel 3.9.

Tabel 3.9 Database Kamus

No Field Tipe

1 Idkata Varchar

2 Nama obat Varchar

3 Keterangan Obat Varchar

4 Produksi Varchar

3.6. Perancangan Antarmuka (Interface)

Antarmuka (interface) adalah salah satu layanan yang disediakan oleh suatu sistem sebagai sarana interaksi antara pengguna dengan sistem. Perancangan antarmuka digunakan untuk memudahkan penggunaan aplikasi sistem yang ditujukkan kepada pengguna (user) sehingga sistem dapat berjalan sesuai dengan fungsinya secara optimal berdasarkan instruksi yang diberikan oleh user. Aplikasi yang dibangun pada penelitian ini menggunakan dua bahasa yaitu bahasa bahasa C# (Timothy, 2010).

3.6.1. Rancangan Halaman Utama

(23)

Gambar 3.11 Rancangan Halaman Utama.

Keterangan:

1. Merupakan tampilan logo farmakologi.

2. Menu kamus yaitu, halaman untuk pencarian kata.

3. Menu bantuan yaitu, halaman yang berisi panduan penggunaan aplikasi.

4. Menu tentang yaitu, halaman yang berisi informasi dari pembuat aplikasi dan judul aplikasi.

5. Exit yaitu, Keluar dari halaman utama.

3.6.2. Rancangan Halaman Kamus

Halaman kamus merupakan tampilan pencarian kata pada kamus farmakologi. Dalam halaman kamus terdiri dari masukkan kata, tekan tombol cari, kemudian diproses dan menampilkan kata dan keterangan, dan kecepatan waktu dari masing-masing algoritma. Perancangan dapat dilihat pada tampilan Gambar 3.12.

KAMUS FARMAKOLOGI

LOGO

KAMUS

BANTUAN

TENTANG

KELUAR

1 1

2

3

4

(24)

Gambar 5.12 Rancangan Halaman Kamus. Keterangan :

1. Masukkan kata yang ingin dicari. 2. Tombol pencarian kata.

3. Tampilan kata yang dicari.

4. Tampilan keterangan dari kata yang dicari. 5. Tampilan produksi dari kata yang dicari.

6. Tampilan running time pada algoritma Maximal Shift. 7. Tampilan running time pada algoritma Quick Search. 8. Tombol hapus untuk menghapus pada tampilan kata. 9. Tombol kembali untuk kembali kehalaman utama.

3

4

1

Input

Produksi

5

Hapus Keluar

8

9

Running Time Maximal Shift

Running Time Quick Search

6

7

Cari

(25)

3.6.3. Rancangan Halaman Bantuan

Halaman bantuan berisi tentang panduan bagaimana cara menggunakan aplikasi kamus farmakologi. Rancangan dapat dilihat pada Gambar 3.13.

Gamabar 3.13 Rancangan Halaman Bantuan.

Keterangan :

1. Penjelasan bagaimana cara penggunaan aplikasi kamus farmakologi. 2. Tombol kembali berfungsi untuk kembali ke halaman utama.

Penjelasan tentang aplikasi

Kembali

1

(26)

3.6.4. Rancangan Halaman Tentang

Halaman tentang berisi informasi profil pembuat aplikasi dan menampilkan judul dari aplikasi. Rancangan dapat dilihat pada Gambar 3.14.

Gambar 3.14 Perancangan Halaman Tentang.

Keterangan :

1. Tampilan imageview pembuat. 2. Tampilan judul aplikasi.

3. Tombol kembali ke halaman utama.

Judul Aplikasi Profi

Kembali

1

2

(27)

BAB 4

IMPLEMENTASI DAN PENGUJIAN

4.1. Implementasi Sistem

Implementasi sistem adalah tahapan setelah dilakukannya analisis dan perancangan. Pada tahap ini, aplikasi sistem yang dibangun akan melakukan cara kerja utamanya. Aplikasi sistem menggunakan bahasa C# dan sistem data (database). Perangkat lunak yang digunakan sebagai Integrated Development Environment (IDE) pada penelitian ini adalah Microsoft Visual Studio Ekspres 2012 For Windows Dekstop, dan SQL Server Management Studio sebagai sistem data. Pada aplikasi sistem terdapat 4 tampilan halaman yang digunakan yaitu halaman utama, halaman kamus, bantuan dan tentang.

4.1.1. Halaman Utama

Halaman utama adalah halaman awal yang berisi fitur-fitur yaitu kamus, bantuan, dan tentang. Berikut adalah tampilan halaman utama pada Gambar 4.1.

(28)

4.1.2. Halaman Kamus

Halaman kamus adalah tampilan pencarian kata yang akan digunakan user untuk mencari kata dalam kamus dengan memasukkan kata yang ingin dicari dan memilih algoritma pencarian sehingga menghasilkan kata dan keterangan dari kata tersebut. Berkikut adalah tampilan halaman kamus dapat dilihat pada Gambar 4.2.

(29)

4.1.3. Halaman Bantuan

Halaman bantuan adalah berisi penjelasan atau tata cara penggunaan aplikasi kamus farmakologi. Berikut adalah tampilan halaman bantuan yang dapat dilihat pada Gambar 4.3.

(30)

4.1.4. Halaman Tentang

Berikut adalah tampilan halaman tentang yang dapat dilihat pada Gambar 4.4.

Gambar 4.4 Tampilan Halaman Tentang.

4.2. Pengujian Sistem

(31)

4.2.1. Pengujian Pencarian Kata

Berikut adalah tampilan pengujian sistem pencarian kata pada kamus farmakologi dengan memasukkan kata ADALAT kemudia tekan tombol cari yang dapat dilihat pada Gambar 4.5.

Gambar 4.5 Pengujian Pencarian Kata.

(32)

4.2.3. Perbandingan Waktu (Running Time)

Berikut adalah tampilan perbandingan waktu yang tersimpan dalam bentuk teks untuk setiap algoritma yaitu Algoritma Maximal Shift dan Algoritma Quick Search yang dapat dilihat dapa Gambar 4.6.

Gambar 4.6 Perbandingan Waktu (Running Time).

(33)

4.3. Hasil Pengujian

Hasil pengujian dari penelitian ini adalah waktu (running time) dari pencarian kata dan jumlah kata yang ditemukan pada Algoritma Maximal Shift dan Algoritma Quick Search yang dilakukan terhadap string yang berbeda. Pada Gambar 4.7 dapat dilihat perbandingan waktu (running time) dari tampilan tersebut maka dapat diperoleh hasil pengujian yang dapat dilihat pada Tabel 4.1 dan Tabel 4.2.

Tabel 4.1 Hasil Pengujian Waktu pada Algoritma Maximal Shift.

No Pola Waktu

(Running Time)

1 E 2826

2 DY 3467

3 FUNGI 3033

4 DYSTAN 274

5 CALCIUM 2914

TOTAL 9481 ms

(34)

Tabel 4.2 Hasil Pengujian Waktu (Running Time) pada Algoritma Quick Search.

Pada Tabel 4.1 dan Tabel 4.2 dapat dilihat hasil pengujian waktu (running tiime) dari masing-masing algoritma. Setelah hasil pengujian didapat maka akan dibuat grafik perbandingan hasil pengujian dari masing-masing algoritma yang dapat dilihat pada Gambar 4.7.

Gambar 4.7 Grafik Waktu Proses Pencarian Algoritma Maximal Shift dan Algoritma Quick Search.

pencarian kata yang di Inputkan

Grafik Perbandingan Waktu

(35)

Gambar 4.8 Grafik Total dan Waktu Rata-Rata Pencarian Algoritma Maximal Shift dan Algoritma Quick Search.

Dari grafik Gambar 4.7, 4.8, dan 4.9 dapat dijelaskan bahwa Algoritma Maximal Shift memiliki kecepatan waktu yang lebih cepat dibandingkan dengan Algoritma Quick Search. Artinya bahwa Algoritma Maximal Shift lebih cepat untuk pencocokan kata dibandingkan dengan Algoritma Quick Search yang lebih lama dalam pencocokan kata.

4.4. Kompleksitas Algoritma

Kompleksitas algoritma yang akan diuji adalah kompleksitas Algoritma Maximal Shift dan Algoritma Quick Search. Penelitian ini hanya menggunakan kompleksitas .

4.4.1 Kompleksitas Algoritma Maximal Shift

Perhitungan kompleksitas pada Algoritma Maximal Shift terdiri dari: nilai minShift, orderpattern, qsBc, proses pencarian Maximal Shift yang dapat dilihat pada Tabel 4.3, Tabel 4.4, Tabel 4.5, Tabel 4.6.

9481

waktu total dan waktu rata-rata pencarian kata

Grafik Perbandingan Waktu Rata-Rata

Algoritma Maximal Shift

(36)

Tabel 4.3 Kompleksitas MinShift.

Berikut adalah nilai Minshift dari algoritma Maximal Shift :

T(n) = C1 + C2 + C3m + C4m2 + C5m2 + C6m2 + C7m

= C1 + C2 + (C3)m + (C4)m +(C5)m + (C6)m + (C7)m = (C1+C2+)m0 + ( C7)m1 + (C3+C4+ 3C5 + C6 )m2 =

= 2

Pada Tabel 4.3 dapat dilihat kolom C yaitu: C1, C2, C3, C4, C5, C6 dan C7 adalah sebuah konstanta. Kemudian # adalah frekuensi yang berfungsi sebagai ukuran masukan yaitu: (1) artinya, hanya melakukan sekali proses, (m) melakukan perulangan, dan (m2) adalah terjadinya perulangan di dalam perulangan, kemudian C.# adalah untuk mencari kompleksitas waktu (T(n)), t adalah waktu dan n adalah jumlah proses. Jumlahkan hasil dari perkalian C.#, kemudian ambil pangkat terbesar dari nilai masukan (#) dan akan di dapatkan pangkat terbesar yaitu m.

Code C # C.#

Void computeMinShift(x, m) { C1 1 C1

int i, j; C2 1 C2

For (i = 0; i<m; ++i) { C3 m C3m

For (j = i – 1; j >= 0; --j) C4 m2 C4m If (x[i] == x[j]) C5 m2 C5m

Break; C6 m2 C6m

minShift[i]= i – j }

}

(37)

Tabel 4.4 Kompleksitas Orderpattern. Berikut adalah preorderpattern dari algoritma Maximal Shift :

T(n) = C1 + C2 + C3m + 3C4m + C5

= C1 + C2 + (C3)m + 3C4m + C5 = (C1+C2+ C5)m0 +(C3+ 3C4)m1 =

Pada Tabel 4.4 dapat dilihat kolom C yaitu: C1, C2, C3, C4, C4, C4, dan C5 adalah sebuah konstanta. Kemudian # adalah frekuensi yang berfungsi sebagai ukuran masukan yaitu: (1) artinya, hanya melakukan sekali proses, (m) melakukan perulangan, kemudian C.# adalah untuk mencari kompleksitas waktu (T(n)), t adalah waktu dan n adalah jumlah proses. Jumlahkan hasil dari perkalian C.#, kemudian ambil pangkat terbesar dari nilai masukan (#) dan akan di dapatkan pangkat terbesar yaitu m.

Tabel 4.5 Kompleksitas PreQsBc.

(38)

Berikut adalah preQsBc dari algoritma Maximal Shift dan Quick Search : sebuah konstanta. Kemudian # adalah frekuensi yang berfungsi sebagai ukuran masukan yaitu: (1) artinya, hanya melakukan sekali proses, (m) melakukan perulangan, kemudian C.# adalah untuk mencari kompleksitas waktu (T(n)), t adalah waktu dan n adalah jumlah proses. Jumlahkan hasil dari perkalian C.#, kemudian ambil pangkat terbesar dari nilai masukan (#) dan akan di dapatkan pangkat terbesar yaitu m.

Tabel 4.6 Kompleksitas PreadaptedGs.

(39)

Berikut adalah OrdernPattern dari algoritma Maximal Shift : yang berfungsi sebagai ukuran masukan yaitu: (1) artinya, hanya melakukan sekali proses, (m) melakukan perulangan sepanjang string atau teks , (m2) melakukan perulangan di dalam perulangan kemudian C.# adalah untuk mencari kompleksitas waktu (T(n)), t adalah waktu dan n adalah jumlah proses dari pola yang di inputkan oleh user. Jumlahkan hasil dari perkalian C.#, kemudian ambil pangkat terbesar dari nilai masukan (#) dan akan di dapatkan pangkat terbesar yaitu m.

Tabel 4.7 Kompleksitas Maximal Shift

(40)

Berikut adalah Searching dari algoritma Maximal Shift :

Pada algoritma Maximal Shift menghasilkan preorderpattern T(n) = , preQsBc memiliki T(n)= , preadaptedGs T(n) = , dan pencarian dengan Maximal Shift T(n) = . Karena pangkat yang teebesar adalah .

4.4.2. Kompleksitas dengan Algoritma Quick Search

Perhitungan kompleksitas pada Algoritma Quick Search terdiri dari: nilai PreQsBc yang sudah di terangkan pada Tabel 4.5 dan proses pencarian Algoritma Quick Search pada Tabel 4.8.

Tabel 4.8 Kompleksitas Quick Search.

Code C # C.#

Berikut adalah Searching dari algoritma Quick Search : T(n) = C1 + C2 + C3 + C4n + C5mn + C6 + C7mn

(41)

Pada Tabel 4.7 dapat dilihat kolom C yaitu: C1, C2, C3, C4, C5, C6, dan C7 adalah sebuah konstanta. Kemudian # adalah frekuensi yang berfungsi sebagai ukuran masukan yaitu: (1) artinya, hanya melakukan sekali proses, (m) melakukan perulangan sepanjang string atau teks , (m2) melakukan perulangan di dalam perulangan kemudian C.# adalah untuk mencari kompleksitas waktu (T(n)), t adalah waktu dan n adalah jumlah proses dari pola yang di inputkan oleh user. Jumlahkan hasil dari perkalian C.#, kemudian ambil pangkat terbesar dari nilai masukan (#) dan akan di dapatkan pangkat terbesar yaitu m.

(42)

BAB V

KESIMPULAN

5.1 Kesimpulan

Berdasarkan pembahasan dan hasil dari penelitian, maka diperoleh beberapa kesimpulan sebagai berikut:

1. Algoritma Maximal Shift memiliki banyak kompleksitas yaitu; MinShift, Ordernpattern, adaptedGs, PreQsBc dan proses pencarian dengan Maximal Shift yang membuat pencarian kata menjadi lebih lama.

2. Algoritma Quick Search memiliki kompleksitas PreQsBc dan proses pencarian dengan Quick Search sehingga proses pencarian lebih cepat dibandingkan Maximal Shift

5.2 Saran

Berikut ini adalah saran yang dapat digunakan untuk tahap pengembangan penelitian sistem ini antara lain:

1. Algoritma String Matching pada penelitian ini menggunakan dua algoritma yaitu Algoritma Maximal Shift dan Algoritma Quick Search. Penulis berharap pengembang selanjutnya membandingkan kinerja dengan Algoritma String Matching ya lainnya.

2. Aplikasi kamus farmakologi ini hanya mampu mencari kata dalam kamus dengan jumlah kata dalam database 350 kata. Diharapkan pada pengembang untuk menambahkan kata dalam database dari sumber yang lain.

Gambar

Gambar 3.1 Diagram Ishikawa
Gambar 3.2 Diagram Use Case Sistem.
Tabel 3.6 PreQsBc pada Algoritma Maximal Shift
Tabel 3.8 PreQsBc pada Algoritma Quick Search
+7

Referensi

Dokumen terkait

Teorema Pythagoras, dengan diketahui proses berpikir siswa maka guru dapat. mengupayakan suatu strategi

[r]

Jumlah unit usaha, yang memiliki pengaruh yang paling besar terhadap jumlah tenaga kerja, semakin banyak Jumlah UKM yang berdiri, maka akan semakin banyak menciptakan

Bertambahnya beban yang dilayani generator identik dengan bertambahnya daya nyata atau daya reaktif yang mengalir dari generator. Maka pertambahan beban akan menambah

Salah satu solusi untuk mengatasi masalah kekurangan bahan baku tersebut sebenarnya selain menjual saham secara patnersip pada pihak swasta dalam negeri Indonesia,

[r]

Pengaruh Tingkat Inflasi, Suku Bunga, dan Nilai Tukar Terhadap Harga Saham Perusahaan Bank BUMN Di Bursa Efek Indonesia Variabel Independen: Tingkat Inflasi, Suku

Pencemaran air adalah masuknya atau dimasukkannya makhluk hidup, zat, energi, dan atau komponen lain ke dalam air dan atau berubahnya tatanan air oleh kegiatan manusia,