Arsitektur Umum Sistem Penerapan Algoritma Apostolico Giancarlo

BAB 3 ANALISIS DAN PERANCANGAN SISTEM Pada bab ini, akan dibahas beberapa hal mengenai penerapan algoritma dan analisa perancangan sistem dalam mengimplementasikan algoritma apostolico giancarlo untuk melakukan pencarian file.

3.1. Arsitektur Umum Sistem

Pada bagian ini, penulis merancang arsiterktur umum dari sistem yang dirancang. Arsitektur umum ini mencakup input, proses serta ouput dari sistem, sebagaimana terlihat pada Gambar 3.1. Gambar 3.1 Arsitektur Umum Sistem Pada Gambar 3.1, arsitektur umum sistem dirancang untuk menerima daftar file yang akan dicari. Inputan daftar file ini kemudian diproses bersama dengan kata kunci pencarian yang diinginkan menggunakan algoritma Apostolico Giancarlo. Hasil pencocokan sistem berdasarkan output dari algoritma Apostolico Giancarlo kemudian di tampilkan berdasarkan tingkat kecocokan yang paling tinggi sebagai hasil pencarian file.

3.2. Penerapan Algoritma Apostolico Giancarlo

Pada perancangan perangkat lunak pencarian file dengan menggunakan algoritma apostolic giancarlo ini, yang menjadi permasalahan adalah bagaimana proses penyeleksian file pada media penyimpanan data sehingga menghasilkan sebuah daftar seleksi file berdasarkan kata kunci pencarian yang diinputkan. Daftar File Apostolico Giancarlo Hasil Pencocokan Kata Kunci Hasil Pencarian Universitas Sumatera Utara Apostolico Giancarlo bekerja dengan cara membandingkan setiap index karakter kata kunci dengan karakter string yang diperiksa. Langkah pencarian string pada algoritma apostolico giancarlo dimulai dengan melakukan pre-processing pada kata kunci. Proses pre-processing ini dilakukan untuk melihat pada index keberapa dari string yang diperiksa munculnya setiap karakter kata kunci. Sebagai contoh, akan dilakukan pencarian pada string “Program Studi Teknik Informatika Fakultas Ilmu Komputer dan Teknologi Informasi” dengan kata kunci “Teknik”. Langkah pertama dalam proses pre-processing pada algoritma apostolico giancarlo adalah mengurutkan setiap karakter string yang diperiksa tanpa terjadinya perulangan karakter yang sama. Dari contoh string “Program Studi Teknik Informat ika Fakultas Ilmu Komputer dan Teknologi Informasi” yang digunakan, hasil pengurutan karakter string ini adalah “adefgiklmnoprstu”. Selanjutnya, dilakukan pengecekan kemunculan setiap karakter string yang diperiksa pada kata kunci pencarian yang diperiksa, dimulai dari index karakter paling kanan. Dari contoh pengurutan string “adefgiklmnoprstu” yang digunakan, terlihat bahwa karakter “a” dari string yang diperiksa tidak ditemukan pada kata kunci. Karakter yang tidak ditemukan pada kata kunci seperti ini disebut dengan karakter buruk, dan akan diberi pengkodean sejumlah n+1, dimana n adalah nilai maksimum dari index kata kunci. Karena panjang kata kunci “Teknik” berjumlah 6 enam karakter, maka index yang digunakan untuk kata kunci ini adalah 0 sampai 5. Dengan jumlah maksimum index kata kunci sebesar 5 lima, maka pengkodean yang digunakan untuk karakter buruk pada contoh kasus ini adalah 6 enam. Untuk karakter kedua dari string yang diperiksa, yaitu karakter “d”, terlihat bahwa karakter ini juga tidak ditemukan pada kata kunci, sehingga kembali diberikan nilai pengkodean sebesar 6 enam. Karakter berikutnya adalah “e”, karakter ini ditemukan pada kata kunci, yaitu pada index ke 1 satu, maka karakter ini akan diberi nilai pengkodean sebesar 1 satu. Demikian seterusnya dilakukan pengecekan untuk setiap karakter pada string yang diperiksa, sehingga diperoleh hasil sebagaimana terlihat pada Tabel 3.1. Universitas Sumatera Utara Tabel 3.1 Hasil Pre-Processing Karakter a d e f g i k l m n o p r s t u Spasi Kode 6 6 1 6 6 4 5 6 6 3 6 6 6 6 6 6 Setelah proses pre-processing dilakukan, selanjutnya adalah proses pencocokan karakter pada kata kunci dengan string yang diperiksa. Proses pencocokan dimulai dari karakter pertama dari string yang diperiksa sepanjang jumlah karakter kata kunci. Karena panjang kata kunci pada contoh kasus ini adalah 6 enam karakter, maka pencocokan pertama yang dilakukan adalah antara karakter string “progra” dan kata kunci “teknik”. Sebagaimana terlihat pada Tabel 3.2, karakter paling akhir dari kat a kunci, yaitu “k” tidak memiliki kesamaan dengan karakter paling akhir dari string , yaitu “a”. Oleh karena tidak ditemukannya kesamaan pada masing-masing akhir karakter dari string dan kata kunci, maka akan dilakukan shift. Proses shift dilakukan dengan terlebih dahulu melihat apakah karakter yang dibandingkan merupakan karakter buruk atau tidak. Pada contoh ini, karakter “a” merupakan karakter buruk dengan nilai pengkodean 6 enam sehingga proses shift yang dilakukan adalah bad-character shift. Bad-character shift adalah pergeseran karakter sebanyak nilai kode dari karakter yang dibandingkan, yang mana pada contoh kasus ini adalah 6 enam. Maka, proses shift yang dilakukan adalah menggeser posisi index pencarian string sebanyak 6 enam karakter ke kanan sehingga terjadi perubahan karakter yang akan dicocokkan dari karakter “progra” menjadi “m stud”. Tabel 3.2 Pencocokan I String p r o g r a Kata Kunci t e k n i k Cocok X Kembali dilakukan pencocokan antara karakter string “m stud” dengan karakt er kata kunci “teknik”. Sebagaimana terlihat pada Tabel 3.3, karakter paling akhir dari kata kunci, yaitu “k” tidak memiliki kesamaan dengan karakter paling akhir dari string , yaitu “d”. Dari Tabel 3.1 terlihat bahwa karakter “d” termasuk ke dalam kategori karakter buruk, sehingga proses shift yang dilakukan pada langkah ini adalah Universitas Sumatera Utara bad-character shift, dimana terjadi perubahan karakter yang akan dicocokkan dari karakter “m stud” menjadi “i tekn”. Tabel 3.3. Pencocokan II String m Spasi s t u d Kata Kunci t e k n i k Cocok X Kembali dilakukan pencocokan antara karakter string “i tekn” dengan karakter kata kunci “teknik”. Sebagaimana terlihat pada Tabel 3.4, karakter paling akhir dari kata kunci, yaitu “k” tidak memiliki kesamaan dengan karakter paling akhir dari string , yaitu “n”. Dari Tabel 3.1 terlihat bahwa karakter “n” tidak termasuk ke dalam kategori karakter buruk, sehingga proses shift yang dilakukan pada langkah ini adalah good-suffix shift. Good-suffix shift adalah proses pergeseran dimana karakter kata kunci digeser hingga ditemukan karakter yang sama pada kata kunci dengan karakter pada posisi paling akhir dari string. Dari contoh kasus ini, dibutuhkan pergeseran sebanyak 2 dua karakter ke kanan sehingga karakter “n” pada kata kunci memiliki kesamaan posisi dengan karakter “n” pada posisi paling akhir dari karakter string. Pergeseran ini menimbulkan terjadinya perubahan karakter yang akan dicocokkan dari karakter “i tekn” menjadi “teknik”. Tabel 3.4 Pencocokan III String i Spasi t e k n Kata Kunci t e k n i k Cocok X Kembali dilakukan pencocokan antara karakter string “teknik” dengan karakter kata kunci “teknik”. Sebagaimana terlihat pada Tabel 3.5, karakter paling akhir dari kata kunci, yaitu “k” memiliki kesamaan dengan karakter paling akhir dari string, yaitu “k”. Demikian pula dengan karakter “i pada kata kunci memiliki kesamaan posisi dengan karakter “i pada string yang diperiksa dan seterusnya untuk seluruh karakter pada kata kunci sudah memiliki kesamaan posisi dengan karakter pada string yang diperiksa. Universitas Sumatera Utara Tabel 3.5 Pencocokan IV String t e k n i k Kata Kunci t e k n i k Cocok V V V V V V Pada langkah ini, proses pencocokan dihentikan, karena telah ditemukan kata yang cocok pada string “Program Studi Teknik Informatika Fakultas Ilmu Komputer dan Teknologi Informasi” dengan kata kunci “Teknik”. Proses pencocokan berhenti setelah melakukan 4 empat kali proses pencocokan dengan 9 sembilan karakter yang dibandingkan.

3.3. Perancangan Sistem