Flowchart Sistem autocorrect Proses pencarian jarak Levenshtein untuk autocorrect

3.5.3 Flowchart Sistem autocorrect

Adapun alur kerja yang terdapat pada autocorrect dapat dilihat pada gambar 3.13 tidak ya ya Gambar 3.13 Flowchart autocorrect dengan menggunakan algoritma Levenshtein Distance Mengambil semua judul buku pada database Memodifikasi kata pada judul buku dengan operasi tambahtukarhapus Hitung nilai jarak Levenstein Distance Jika nilai Levenshein Distance = 0 Input Judul buku Membandingkan judul buku pada database dengan judul buku yang diinput pengguna selesai Menampilkan Autocorrect Start Universitas Sumatera Utara

3.5.4 Proses pencarian jarak Levenshtein untuk autocorrect

Langkah-langkah yang terdapat pada flowchart sistem dapat menjelaskan bagaimana alur kerja yang terdapat di dalam sistem , proses kerja algoritma Levenshtein Distance untuk mendapatkan nilai jarak Levenshtein yang akan menghasilkan autocorrect, yaitu : 1. Memberikan input berupa judul buku pada kotak pencarian. 2. Selanjutnya judul buku yang akan diinputkan akan dibandungkan dengan semua judu buku yang terdapat di database 3. Kemudian akan dilakukan modifikasi kata pada judul buku dengan menggunakan operasi sisip, tukar dan hapus, hal ini dilakukan jika kata yang dicocokkan berbeda 4. Setelah modifikasi dilakukan selanjutnya yaitu menghitung nilai Levenshtein Distance, nilai Levenshtein Distance di peroleh dari hasil modifikasi. 5. Jika nilai jarak Levenshtein Distance sama dengan 0 maka judul buku yang diinputkan dengan judul buku yang terdapat pada database dianggap sama persis sehingga proses perulangan itu dihentikan karena dianggap sudah cocok, dan jika tidak maka perulangan akan terus berlanjut. 6. Kemudian judul buku yang dianggap sudah cocok atau mendekati maka akan ditampilkan sebagai autocorrect. Algoritma Levenshtein Distance akan menampilkan layanan autocorrect dengan melakukan perbandingan berdasarkan judul buku yang diinputkan dengan judul buku yang terdapat di dalam database. Ketika judul buku diketikkan, sistem akan melakukan modifikasi terhadap judul buku yang terdapat di dalam database. Modifikasi tersebut meliputi proses penyisipan, penukaran dan penghapusan, jika proses modifikasi telah dilakukan selanjutnya akan dilakukan perhitungan nilai jarak Levenshtein. Penentuan jarak Levenshtein didasarkan kepada nilai yang paling terkecil atau paling sedikit jumlah modifikasinya, sehingga string atau kata yang memiliki nilai modifikasi yang paling sedikit saat dibandingkan dengan string atau kata lain dianggap sebagai kata yang cocok atau paling mendekati. Universitas Sumatera Utara Berikut adalah langkah-langkah proses pencarian jarak Levenshtein dengan kata depan dari judul buku yaitu: 1. Membandingkan string String yang akan dibandingkan yaitu judul buku yang diinput sebagai string target dan judul buku yang terdapat di dalam database sebagai string sumber. Misalkan : String Target : algoritma String Sumber : algoritma pencarian, pemrograman basic, kecerdasan buatan. Misalkan string target atau judul buku yang diinputkan adalah “algoritma” sedangkan string sumber atau judul buku yang terdapat di dalam database misalnya adalah “algoritma pencarian”,”pemrograman c++”,“kecerdasan buatan”. Judul buku yang terdapat di dalam database akan diubah menjadi string target atau judul buku yang diinputkan. 2. Melakukan modifikasi dan perhitungan jarak Levenshtein Operasi Levenshtein Distance terdiri dari 3 yaitu, operasi penyisipan, operasi penukaran dan operasi penghapusan. Sehingga proses modifikasi yang dapat dilakukan yaitu : a. Target = algoritma Sumber = Algoritma pencarian 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 Target = A l g o r i t m a - - - - - - - - - - Sumber = A l g o r i t m a - P e n c a r i a n a Pada proses modifikasi dapat dilihat terdapat 10 operasi penghapusan, yang dimulai dengan menghapus spasi pada indeks ke-10, kemudian menghapus karakter ‘p’ pada indeks ke-11, ‘e’ pada indeks ke-12,’n’ pada indeks 13, ‘c’ pada indeks ke-14, ‘a’ pada indeks ke-15, ‘r’ pada indeks ke-16, ‘i’ ke-17 ,‘a’ pada indeks ke-18, dan ‘n’ pada indeks ke 19. Kemudian melakukan di dalam 1 operasi penukaran yaitu menukar karakter ‘A’ menjadi ‘a’ pada posisi Universitas Sumatera Utara indeks ke-1, sedangkan operasi penyisipan tidak perlu dilakukan. Selanjutnya melakukan perhitungan jarak levenshtein dengan rumus yaitu: = d s 1, t 1 + d s 2, t 2 + d s 3, t 3 + d s 4, t 4 + d s 5, t 5 + d s 6, t 6 + d s 7, t 7 + d s 8, t 8 + d s 9, t 9 + d s 10, t 10 + d s 11, t 11 + d s 12, t 12 + d s 13, t 13 + d s 14, t 14 + d s 15, t 15 + d s 16, t 16 + d s 17, t 17 + d s 18, t 18 + s 19, t 19 = d A, a + d l, l + d g, g + d o, o + d r, r + d i, i + d t, t + d m, m + d a, a + d -, - + d p, - + d e,- +d n,- + d c,- + d a,- + dr,- + d i,- + d a,-+ d n,- = 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1+1 = 11 Dari perhitungan yang dilakukan diperoleh nilai modifikasi atau jarak Levenshtein yang diperoleh adalah 11. b. Target = algoritma Sumber = Pemrograman basic 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 Target = a l g o r i t m a - - - - - - - - Sumber = P e m r o g r a m a n - B a s i c a l g o r i t m a Universitas Sumatera Utara Pada proses modifikasi dapat dilihat terdapat 8 operasi penghapusan, yang dimulai dengan menghapus karakter ‘a’ pada indeks ke-10, ‘n’ pada indeks ke-11, ‘spasi’ pada indeks ke-12, ’B’ pada indeks ke-13, ‘a’ pada indeks ke-14, ‘s’ pada indeks ke-15, ‘i’ pada indeks ke-16, ‘c’ pada indeks ke-17 dan terdapat 9 operasi penukaran yaitu ‘P’ menjadi ‘a’ pada indeks ke-1, ‘e’ menjadi ‘l’ pada indeks ke-2, ‘m’ menjadi ‘g’ pada indeks ke-3, ‘r’ menjadi ‘o’ pada indeks ke-3, ‘o’ menjadi ‘r’ pada indeks ke-5, ‘g’ menjadi ‘i’ pada indeks ke-6, ‘r’ menjadi ‘t’ pada indeks ke-7, ‘a’ menjadi ‘m’ pada indeks ke-8 dan ‘m’ menjadi ‘a’ pada indeks ke-9. Sedangkan operasi Levenshtein yang lain seperti penyisipan tidak perlu dilakukan, selanjutnya melakukan perhitungan jarak levenshtein dengan rumus yaitu: = d s 1, t 1 + d s 2, t 2 + d s 3, t 3 + d s 4, t 4 + d s 5, t 5 + d s 6, t 6 + d s 7, t 7 + d s 8, t 8 + d s 9, t 9 + d s 10, t 10 + d s 11, t 11 + d s 12, t 12 + d s 13, t 13 + d s 14, t 14 + d s 15, t 15 + d s 16, t 16 + d s 17, t 17 = d P, a + d e, l + d m, g + d r, o + d o, r + d g, i + d r, t + d a, m + d m, a + d a, - + d n, - + d -,- + d B,- + d a,- + d s,-+ d i,-+ d c,- = 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1+ 1+ 1 = 17 Dari perhitungan tersebut dapat diperoleh nilai modifikasi atau jarak Levenshtein yang dibutuhkan adalah 17. c. Target = algoritma Sumber = Kecerdasan Buatan Universitas Sumatera Utara 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 Target = a l g o r i t m a - - - - - - - - Sumber = K e c e r d a s a n - B u a t a n a l g o i t m Pada proses modifikasi dapat dilihat terdapat 7 operasi penukaran, yang dimulai dengan menukar karakter ‘K’ menjadi ‘a’ pada indeks ke-1, ‘e’ menjadi ‘l’ pada indeks ke-2,’c’ menjadi ‘g’ pada indeks 3, ‘e’ menjadi ‘o’ pada indeks ke-4, ‘d’ menjadi ‘i’ pada indeks ke-6, ‘a’ menjadi ‘t’ pada indeks ke-7, ‘s’ menjadi ‘m’ pada indeks ke-8. Kemudian selanjutnya melakukan 8 operasi penghapusan yang dimulai dengan menghapus karakter ‘n’ pada indeks ke-10, ‘spasi’ pada indeks ke-11, ‘B’ pada indeks ke-12, ‘u’ pada indeks ke-13, ‘a’ pada indeks ke-14, ‘t’ pada indeks ke-15, ‘a’ pada indeks ke-16 dan ‘n’ pada indeks ke-17. Sedangkan operasi penyisipan tidak perlu dilakukan, selanjutnya melakukan perhitungan jarak levenshtein dengan rumus yaitu: = d s 1, t 1 + d s 2, t 2 + d s 3, t 3 + d s 4, t 4 + d s 5, t 5 + d s 6, t 6 + d s 7, t 7 + d s 8, t 8 + d s 9, t 9 + d s 10, t 10 + d s 11, t 11 + d s 12, t 12 + d s 13, t 13 + d s 14, t 14 + d s 15, t 15 + d s 16, t 16 + d s 17, t 17 = d K, a + d e, l + d c, g + d e, o + d r, r + d d, i + d a, t + d s, m + d a, a + d n, - + d -,- + dB,-+ d u,- + d a,- + d t,- + da,- + d n,- = 1 + 1 + 1 + 1 + 0 + 1 + 1 + 1 + 0 + 1 + 1+ 1 + 1 + 1 + Universitas Sumatera Utara 1 + 1 + 1 = 15 Dari perhitungan yang dilakukan diperoleh nilai modifikasi atau jarak Levenshtein yang dibutuhkan adalah 15. 3. Menampilkan autocorrect Dari perhitungan untuk mencari jarak levenshtein distance yang telah dilakukan maka diperoleh jarak levenshtein untuk string “Algoritma Genetika” menjadi “algoritma” adalah 10, untuk “Pemrograman C++” menjadi “algoritma” adalah 15 dan “Kecerdasan Buatan” menjadi “algoritma” adalah 15. Untuk dapat ditampilkan sebagai autocomplete maka diseleksi terlebih dahulu berdasarkan jarak levenshtein yang diperoleh, semakin kecil nilai jarak yang diperoleh maka kemungkinan untuk ditampilkan sebagai autocomplete akan semakin besar. Prinsip kerja algoritma levenshtein yaitu berdasarkan jaraknya, semakin kecil nilai jarak yang diperoleh maka dianggap semakin mendekati dengan string target. Urutan string berdasarkan nilai jarak terkecil yang diperoleh yaitu judul buku “Algoritma Genetika”, kemudian “Pemrograman C++” dan “Kecerdasan Buatan”. Berdasarkan hal tersebut maka yang dapat ditampilkan sebagai autocomplete adalah “Algoritma Genetika” karena dianggap yang paling mendekati. Selanjutnya akan dijelaskan langkah-langkah proses pencarian jarak Levenshtein dengan pola yang berbeda yaitu: 1. Membandingkan string String yang akan dibandingkan yaitu judul buku yang diinput sebagai string target dan judul buku yang terdapat di dalam database sebagai string sumber. Misalkan : String Target : cerdas String Sumber : Algoritma pencarian, pemrograman basic, kecerdasan buatan. Universitas Sumatera Utara Misalkan string target atau judul buku yang diinputkan adalah “cerdas” sedangkan string sumber atau judul buku yang terdapat di dalam database misalnya adalah “Algoritma pencarian”,”Pemrograman basic”,“Kecerdasan Buatan”. Judul buku yang terdapat di dalam database akan diubah menjadi string target atau judul buku yang diinputkan. 2. Melakukan modifikasi dan perhitungan jarak Levenshtein Operasi Levenshtein Distance terdiri dari 3 yaitu, operasi penyisipan, operasi penukaran dan operasi penghapusan. Sehingga proses modifikasi yang dapat dilakukan yaitu : a. Target = cerdas Sumber = Algoritma Pencarian 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 Target = c e r d a s - - - - - - - - - - - - - Sumber = A l g o r i t m a - P e n c a r i a n c e r d a s 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 Target = c e r d a s - - - - - - - - - - - - Sumber = A l g o r i t m a - G e n e t i k a c e r d a s Pada proses modifikasi dapat dilihat terdapat 13 operasi penghapusan, yang dimulai dengan menghapus karakter “t” pada indeks ke-7, kemudian menghapus karakter ‘m’ pada indeks ke- 8, ‘a’ pada indeks ke-9,’spasi’ pada indeks 10, ‘P’ pada indeks ke-11, ‘e’ pada indeks ke-12, ‘n’ pada indeks ke-13, ‘c’ pada indeks ke-14 dan ‘a’ pada indeks ke-15, ‘r’ pada indeks ke-16, ‘i’ pada indeks ke-17 ‘a’ pada indeks ke-18 dan ‘n’ pada indeks ke-19. Kemudian selanjutnya melakukan 6 operasi penukaran yaitu menukar karakter ‘A’ menjadi ‘c’ pada indeks ke-1, karakter ‘l’ menjadi ‘e’ pada indeks ke-2, karakter ‘g’ menjadi ‘r’ pada indeks ke-3, ‘o’ menjadi ‘d’ pada indeks ke-4, ‘r’ menjadi ‘a’ pada indeks ke-5 dan ‘i’ menjadi ‘s’ pada indeks ke-6. Selanjutnya melakukan perhitungan jarak levenshtein dengan rumus yaitu: Universitas Sumatera Utara = d s 1, t 1 + d s 2, t 2 + d s 3, t 3 + d s 4, t 4 + d s 5, t 5 + d s 6, t 6 + d s 7, t 7 + d s 8, t 8 + d s 9, t 9 + d s 10, t 10 + d s 11, t 11 + d s 12, t 12 + d s 13, t 13 + d s 14, t 14 + d s 15, t 15 + d s 16, t 16 + d s 17, t 17 + d s 18, t 18 +d s 18, t 18 = d A, c + d l, e + d g, r + d o, d + d r, a + d i, s + d t, - + d m, - + d a, - + d -, - + d P, - + d e,- +d n,- + d c,- + d a,- + dr,- + d i,- + d a,-+ d n,- = 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1+1 = 19 Dari perhitungan yang dilakukan diperoleh nilai modifikasi atau jarak Levenshtein yang diperoleh adalah 19. b. Target = cerdas Sumber = Pemrograman Basic 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 Target = c e r d a s - - - - - - - - - - - Sumber = P e m r o g r a m a n - B a s i c c r d a s Pada proses modifikasi dapat dilihat terdapat 9 operasi penghapusan, yang dimulai dengan menghapus karakter ‘r’ pada indeks ke-7, ‘a’ pada indeks ke- Universitas Sumatera Utara 8,’m’ pada indeks ke-9, ‘a’ pada indeks ke-10, ‘n’ pada indeks ke-11, ‘spasi’ pada indeks ke-12, ‘B’ pada indeks ke-13, ‘a’ pada indeks ke-14 ,‘s’ pada indeks ke-15, i’ pada indeks ke-16 dan c’ pada indeks ke-17. Kemudian terdapat 5 operasi penukaran yaitu ‘P’ menjadi ‘c’ pada indeks ke-1, ‘m’ menjadi ‘r’ pada indeks ke-3, ‘r’ menjadi ‘d’ pada indeks ke-4, ‘o’ menjadi ‘a’ pada indeks ke-5, dan ‘g’ menjadi ‘s’ pada indeks ke-6. Operasi penyisipan tidak perlu dilakukan, selanjutnya melakukan perhitungan jarak Levenshtein dengan rumus yaitu : = d s 1, t 1 + d s 2, t 2 + d s 3, t 3 + d s 4, t 4 + d s 5, t 5 + d s 6, t 6 + d s 7, t 7 + d s 8, t 8 + d s 9, t 9 + d s 10, t 10 + d s 11, t 11 + d s 12, t 12 + d s 13, t 13 + d s 14, t 14 + d s 15, t 15 = d P, c + d e, e + d m, r + d r, d + d o, a + d g, s + d r, - + d a, - + d m, - + d a, - + d n, - + d -,- + d C,- + d +,- + d +,- = 1 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 +1 +1 = 16 Dari perhitungan yang dilakukan diperoleh nilai modifikasi atau jarak Levenshtein yang dibutuhkan adalah 16. c. Target = cerdas Sumber = Kecerdasan Buatan 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 Target = - - c e r d a s - - - - - - - - - Sumber = K e c e r d a s a n - B u a t a n Universitas Sumatera Utara Pada proses modifikasi dapat dilihat terdapat 11 operasi penghapusan, yang dimulai dengan menghapus karakter ‘K’ pada indeks ke-1, ‘e’ pada indeks ke-2, ‘a’ pada indeks ke-9, ‘n’ pada indeks ke-10, ‘spasi’ pada indeks ke-11, ‘B’ pada indeks ke-12, ‘u’ pada indeks ke-13,’a’ pada indeks ke-14, ‘t’ pada indeks ke-15, ‘ a’ pada indeks ke-16 dan ‘n’ pada indeks ke-17. Sedangkan operasi penyisipan dan penukaran tidak perlu dilakukan, selanjutnya melakukan perhitungan jarak levenshtein dengan rumus yaitu: = d s 1, t 1 + d s 2, t 2 + d s 3, t 3 + d s 4, t 4 + d s 5, t 5 + d s 6, t 6 + d s 7, t 7 + d s 8, t 8 + d s 9, t 9 + d s 10, t 10 + d s 11, t 11 + d s 12, t 12 + d s 13, t 13 + d s 14, t 14 + d s 15, t 15 + d s 16, t 16 + d s 17, t 17 = d K, - + d e, - + d c, c + d e, e + d r, r + d d, d + d a, a + d s, s + d a, - + d n, - + d -,- + db,-+ d u,- + d a,- + d t,- + da,- + d n,- = 1 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 = 11 Dari perhitungan yang dilakukan diperoleh nilai modifikasi atau jarak Levenshtein yang dibutuhkan adalah 11. Universitas Sumatera Utara 3. Menampilkan autocorrect Dari perhitungan untuk mencari jarak levenshtein distance yang telah dilakukan maka diperoleh jarak levenshtein untuk string “Algoritma Genetika” menjadi “cerdas” adalah 18, untuk “Pemrograman C++” menjadi “cerdas” adalah 14 dan “Kecerdasan Buatan” menjadi “cerdas” adalah 11. Untuk dapat ditampilkan sebagai autocorrect maka diseleksi terlebih dahulu berdasarkan jarak levenshtein yang diperoleh, semakin kecil nilai jarak yang diperoleh maka kemungkinan untuk ditampilkan sebagai autocorrect akan semakin besar. Prinsip kerja algoritma levenshtein yaitu berdasarkan jaraknya, semakin kecil nilai jarak yang diperoleh maka dianggap semakin mendekati dengan string target. Urutan string berdasarkan nilai jarak terkecil yang diperoleh yaitu judul buku “Kecerdasan Buatan”, kemudian “Pemrograman C++” dan “Algoritma Genetika”. Berdasarkan hal tersebut maka yang dapat ditampilkan sebagai autocomplete adalah “Kecerdasan Buatan” karena dianggap yang paling mendekati.

3.6 Antarmuka Sistem