PERBANDINGAN ALGORITMA KNUTH-MORRIS-PRATT DAN APOSTOLICO-CROCHEMOE PADA APLIKASI KAMUS BAHASA INDONESIA - BELANDA SKRIPSI

Ukuran: px
Mulai penontonan dengan halaman:

Download "PERBANDINGAN ALGORITMA KNUTH-MORRIS-PRATT DAN APOSTOLICO-CROCHEMOE PADA APLIKASI KAMUS BAHASA INDONESIA - BELANDA SKRIPSI"

Transkripsi

1 i PERBANDINGAN ALGORITMA KNUTH-MORRIS-PRATT DAN APOSTOLICO-CROCHEMOE PADA APLIKASI KAMUS BAHASA INDONESIA - BELANDA SKRIPSI HUSNIL KHOTIMAH SIREGAR PROGRAM STUDI S1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA MEDAN 2017

2 i PERBANDINGAN ALGORITMA KNUTH-MORRIS-PRATT DAN APOSTOLICO-CROCHEMOE PADA APLIKASI KAMUS BAHASA INDONESIA - BELANDA SKRIPSI Diajukan untuk melengkapi tugas akhir dan memenuhi syarat memperoleh gelar Sarjana Komputer HUSNIL KHOTIMAH SIREGAR PROGRAM STUDI S1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA MEDAN 2017

3 ii PERSETUJUAN Judul :PERBNDINGAN ALGORITMA KNUTH-MORRIS- PRATT DAN APOSTOLICO-CROCHEMORE PADA APLIKASI KAMUS INDONESIA- BELANDA Kategori : SKRIPSI Nama : HUSNIL KHOTIMAH SIREGAR Nomor Induk Mahasiswa: Program Studi : SARJANA (S1) ILMU KOMPUTER Departemen Fakultas : ILMU KOMPUTER :ILMU KOMPUTER DAN TEKNOLOGI INFORMASIUNIVERSITAS SUMATERA UTARA Diluluskan di Medan, Oktober 2017 Komisi Pembimbing : Pembimbing 2 Pembimbing 1 M Andri Budiman, S.T., M.Comp.Sc., M.E.M. Dr.Syahril Efendi S.Si., M.IT, NIP NIP Diketahui/Disetujui oleh Program Studi S1 Ilmu Komputer Ketua, Dr. Poltak Sihombing, M.Kom NIP

4 iii PERNYATAAN PERBANDINGAN ALGORITMA KNUTH-MORRIS-PRATT DAN APOSTOLICO-CROCHEMORE PADA APLIKASI KAMUS BAHASA INDONESIA-BELANDA SKRIPSI Saya menyatakan bahwa skripsi ini adalah hasil karya saya sendiri dan dibantu oleh beberapa pihak, beberapa kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya. Medan, Oktober 2017 Husnil Khotimah Siregar

5 iv PENGHARGAAN Syukur Alhamdulillah selalu terucap kehadirat Allah SWT yang dengan rahmat dan hidayah-nya penulis dapat menyelesaikan menyusun skripsi ini, sebagai syarat untuk memperoleh gelar Sarjana Komputer, pada Program Studi S1 Ilmu Komputer Fakultas Ilmu Komputer dan Teknologi Informasi. Pada pengerjaan skripsi dengan judul Perbandingan Algoritma Knuth- Morris-Pratt dan Apostolico-Crochemore pada Aplikasi Kamus Bahasa Indonesia-Belanda, penulis menyadari bahwa banyak pihak yang turut membantu, baik dari pihak keluarga, sahabat dan orang-orang tercinta yang mendukung dalam pengerjaan skripsi ini. Dalam kesempatan ini, penulis mengucapkan terima kasih kepada: 1. Bapak Prof. Runtung Sitepu, SH, M.Hum selaku Rektor. 2. Bapak Prof. Dr. Opim Salim Sitompul, M.Sc selaku Dekan Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara. 3. Bapak Dr. Poltak Sihombing, M.Kom selaku Ketua Program Studi S1 Ilmu Komputer Fakultas Ilmu Komputer dan Teknologi Informasi. 4. Bapak Dr. Syahril Efendi, S.Si., M.IT selaku Dosen Pembimbing I yang telah memberikan arahan, kritik dan saran serta motivasi kepada penulis dalam pengerjaan skripsi ini. 5. Bapak M.Andri Budiman, S.T., M.Comp.Sc, M.E.M selaku Dosen Pembanding II yang telah banyak memberikan arahan, motivasi dan masukan yang sangat berharga kepada penulis. 6. Bapak Herriyance S.T., M.Kom selaku Sekretaris Program Studi S1 Ilmu Komputer.

6 v 7. Seluruh tenaga pengajar dan pegawai di Fakultas Ilmu Komputer dan Teknologi Informasi USU, terkhusus Ibu maya Silvia, Ibu dian Rachmawati, Ibu siti Dara Fadillla, Ibu Amalia, Bapak Amer syarif, Bapak Mohammad Andri Budiman, Bapak Handrizal Tanjung, Bapak Syurahbil Hadi yang selama ini sudah menjadi orang tua kedua bagi penulis. 8. Keluarga tercinta yang selalu mendoakan serta memberikan kasih sayang, semangat, serta dorongan kepada penulis dan memberi segalanya tanpa pamrih, ayahanda Abdul Rahim Siregar, Ibunda Dakhniar nasution, serta abang, kakak dan adik tercinta 9. Sahabat tercinta Siti Aisyah Guci dan Putri Alfiani yang selalu setia, memberi dukungan dan semangat bagi penulis. 10. Teman-teman yang selalu menghibur, memberi semangat dan membantu saat penulisan skripsi, Siti Hasna Hasibuan, Suwitri, Ika Ayu Lestari, Heri Firmansyah, Muhammad Ali Subada. 11. Teman-teman kuliah, Stambuk 2013 terkhusus KOM B temanteman seperjuangan saat menimba ilmu di S1 Ilmu Komputer. 12. Teman-teman stambuk 2013 dan para Senior yang telah banyak membagi ilmu dan membantu pengerjaan skripsi ini 13. Rekan-rekan UKMI-ALKHUARIZMI Fasilkom-TI dan Imilkom yang telah memberikan banyak pengalaman, tempat belajar serta berbagi ilmu. Medan, Oktober 2017 Penulis, Husnil Khotimah Siregar

7 vi ABSTRAK Penelitian ini membahas tentang bagaimana melakukan pencarian kata pada kamus bahasa asing dengan menggunakan Algoritma pencocokan kata. Penelitian ini bertujuan untuk mengetahui Algoritma yang lebih baik diantara Algoritma Knuth Morris Pratt dan Algoritma Apostolico- Crochemore untuk proses pencocokan kata. Pencocokan kata merupakan bagian penting dari sebuah proses pencarian kata dalam sebuah dokumen. Algoritma pencocokan kata yang digunakan dalam penelitian ini adalah Algoritma Knuth Morris Pratt dan Apostolico-Crochemore. Algoritma Knuth Morris Pratt melakukan perbandingan teks dan pattern dimulai dari kiri ke kanan pada indeks pertama, sedangkan Algoritma Apostolico- Crochemore melakukan perbandingan teks dan pattern dimulai dari kanan ke kiri pada indeks yang kedua, Hasil dari penelitian ini menunjukkan bahwa Algoritma Apostolico-Crochemore lebih cepat dibandingkan Algoritma Knuth-Morris-Pratt untuk proses pencarian kata. Hasil rata-rata running time Algoritma Apostolico-Crochemore adalah detik dan Algoritma Knuth-Morris-Pratt adalah detik. Algoritma Apostolico- Crochemore memiliki kompleksitas waktu lebih baik dibandingkan Algoritma Knuth-Morris-Pratt, Algoritma Apostolico-Crochemore memiliki kompleksitas waktu sebesar θ (n), sedangkan Algoritma Knuth- Morris-Pratt mempunyai kompleksitas waktu sebesar θ (n 2 ). Kata kunci : Kamus, String Matching, Algoritma Knuth-Morris-Pratt, Algoritma Apostolico-Crochemore

8 vii ABSTRACT This research discusses about how to perform word searching in foreign language dictionary using two exact string matching algorithms. This research is aimed to know which algorithm is better between Knuth- Morris-Pratt algorithm and Apostolico-Crochemore algorithm in string matching process. String matching is an important part of string searching processes in a document. String matching algorithm that is used in this research are Knuth-Morris-Pratt algorithm and Apostolico-Crochemore algorithm. Knuth-Morris-Pratt algorithm performs the comparisons of the text and the pattern from left to right in the first index. Whereas Apostolico-Crochemore algorithm performs the comparisons of the text and the pattern from left to right in the second index. The result of this research shows that Apostolico-Crochemore algorithm is faster than Knuth-Morris-Pratt algorithm in word searching process. The average running time of Apostolico-Crochemore algorithm is seconds, and Knuth-Morris-Pratt algorithm is seconds. The Apostolico- Crochemore algorithm has better time complexity than the Knuth-Morris- Pratt Algorithm, the Apostolico-Crochemore Algorithm has a time complexity of θ (n), while the Knuth-Morris-Pratt Algorithm has a time complexity of θ (n2). Keywords: Dictionary, String Matching, Knuth-Morris-Pratt Algorithm, Apostolico-Crochemore Algorithm

9 viii DAFTAR ISI Halaman Persetujuan Pernyataan Perhargaan Abstrak Abstract Daftar Isi Daftar Tabel Daftar Gambar DaftarLampiran ii iii iv vi vii viii x xi xiii Bab 1 Pendahuluan 1.1.LatarBelakang Rumusan Masalah Batasan Masalah Tujuan Penelitian Manfaat Penelitian Metode Penelitian Sistematika Penulisan 4 Bab 2 Landasan Teori 2.1. Kamus Algoritma Algoritma String Matching Klasifikasi Pencocokan String Algoritma Knuth-Morris-Pratt Fungsi Pinggiran Algoritma KMP Pencarian dengan Algoritma KMP Algoritma Apostolico-Crochemore Fase Preposesing Pencarian dengan Algoritma AC Kompleksitas Algoritma Penelitian yang relevan 17 Bab 3Analisis dan Perancangan 3.1. Analisis Sistem Analisis Masalah Pemodelan 20

10 ix Use Case Diagram Activity Diagram Pseudecode Algoritma Pseudecode KMP Pseudecode AC Flowchart Perancangan Sistem Rancangan Halaman Utama Rancangan Halaman About Rancangan Halaman Tentang Rancangan Halaman Bantuan Rancangan Halaman Keluar Rancangan Halaman Data Rancangan Halaman Pilihan Algoritma 38 Bab 4 Implementasi Dan Pengujian Sistem 4.1. Implementasi Sistem Halaman Utama Halaman About Halaman Tentang Halaman Bantuan Halaman Keluar Halaman Data Halaman Pilihan Algoritma Hasil Pencarian Algoritma KMP Hasil Pencarian Algoritma AC Hasil Pengujian Hasil Pengujian Algoritma KMP Hasil Pengujian Algoritma AC Kompleksitas Algoritma Kompleksitas Algoritma KMP Kompleksitas Algoritma AC. 60 Bab 5. Kesimpulan dan Saran 5.1. Kesimpulan Saran 63 DaftarPustaka 64 Listing Program A-1 Curiculum Vitae B-1

11 x DAFTAR TABEL Nomor Tabel Nama Tabel Fungsi Pinggiran Fungsi Pinggiran kmpnext pada Pattern x Proses Input kata dari Database Proses Input kata dari Sistem Use Case Proses Algoritma Knuth-Morris-Pratt Use Case Proses Algoritma ApostolicoCrochemore Hasil pengujian Algoritma Knuth-Morris-Pratt Hasil pengujian Algoritma Apostolico-Crochemo Kompleksitas Algoritma Knuth-Morris-Pratt Kompleksitas Algoritma Apostolico-Crochemore Halaman

12 xi DAFTAR GAMBAR Nomor Gambar Nama Gambar Diagaram Ishikawa Use Case Diagram Activity Diagram Squence Diagram Flowchart Gambaran Umum Sistem Flowchart Algoritma Knuth-Morris-Pratt Flowchart Algoritma Apostolico-Crochemore Rancangan Tampilan Halaman Utama Rancangan Tampilan Halaman File Rancangan Tampilan Halaman Tentang Rancangan Tampilan Halaman Bantuan Rancangan Tampilan Halaman Keluar Rancangan Tampilan Halaman Data Rancangan Tampilan Halaman Pilihan AlgoritmaHalaman Tampilan Halaman Utama Tampilan Halaman File Tampilan Halaman Tentang Tampilan Halaman Bantuan Tampilan Halaman Keluar Tampilan Halaman Data Tampilan Pilihan Algoritma Hasil Pencarian kata Pada Algoritma Knuth-Morris-Pratt Hasil Pencarian Kata Pada Algoritma Knuth-Morris-Pratt Hasil Pencarian kata Pada Algoritma Apostolico-Crochemore Hasil Pencarian kata Pada Algoritma Apostolico-Crochemore Perbandingan Hasil Running Time Knuth-Morris-Pratt dan Apostolico-Crochemore Halaman

13 xii DAFTAR LAMPIRAN Halaman Listing Program A-1 Curriculum Vitae B-1

14 1 BAB 1 PENDAHULUAN 1.1 Latar Belakang Bahasa adalah alat untuk menyampaikan sesuatu yang terlintas di dalam hati atau alat untuk berkomunikasi dan berinteraksi dalam arti untuk menyampaikan pikiran, gagasan, konsep atau perasaan. Seiring dengan perkembangan zaman, manusia semakin ingin mengetahui bahasa lebih dari satu bahasa diantaranya adalah Bahasa Belanda. Pentingnya mengetahhui bahasa Belanda agar generasi selanjutnya tidak melupakan sejarah Indonesia yang berkaitan dengan Negara penjajah yaitu Belanda, jadi untuk memperkenalkan bahasa Belanda kepada generasi yang akan datang maka diperlukan sebuah kamus berbasis elektronik. Kamus ini digunakan untuk mempermudah pengguna mendapatkan kosa kata, akan tetapi kamus bahasa belanda saat ini masih beredar dalam bentuk buku, sehingga di perlukan aplikasi yang praktis dan efektif. Aplikasi ini dibuat dengan memanfaatkan algoritma pencocokan string. Algoritma pencocokan string adalah algoritma yang digunakan untuk melakukan pencarian dan pencocokan sebuah pattern pada text. Jumlah Agoritma pencocokan string cukup banyak, salah satu diantaranya adalah algoritma Knuth-Morris-Pratt dan algoritma Apostolico- Corchemore. Algoritma Knuth-Morris-Pratt merupakan salah satu algoritma pencarian string, yang dikembangkan secara terpisah oleh Donald E. Knuth pada tahun 1967 dan James H.Morris bersama Vaughan R. Pratt pada tahun 1966, kemudian dipublikasikan secara bersamaan pada tahun Algoritma Knuth Morris Pratt melakukan perbandingan karakter teks dan karakter pada pola dari kiri ke kanan. Ide dari algoritma ini adalah Bagaimana memanfaatkan karakter-karakter pola yang sudah diketahui

15 2 ada di dalam teks sampai terjadinya ketidakcocokkan untuk melakukan pergeseran (Ervana, A. & Pertiwi, A. 2012). Menurut Bille, P. (2011) Algoritma Knuth Morris Pratt memecahkan masalah pencocokan string dalam waktu linear itu optimal karena kita dapat membaca satu karakter pada waktu yg bersamaan. Pada string kita dapat membaca beberapa karakter dalam waktu yang konstan (tidak berubah-ubah) dan karenanya berpotensi lebih baik untuk pencocokan string. Algoritma Apostolico-Crochemore terdiri dari dua fase, yaitu fase proses awal (preprocessing) dan fase pencarian string. Pada fase proses awal dilakukan fungsi pinggiran untuk menentukan jumlah langkah pergeseran pattern terbesar dengan menggunakan perbandingan sebelum pencarian string. Pada fase pencarian string dilakukan perbandingan pattern pada teks. Algoritma Apostolico-Crochemore mirip dengan algoritma Knuth-Morris-Pratt (KMP). Fungsi pinggiran (border function) yang digunakan mirip seperti fungsi pinggiran pada algoritma KMP dan proses pencariannya sama-sama dimulai dari kiri ke kanan. Akan tetapi, tahapan pencarian (proses urutan pembandingan) berbeda dengan algoritma KMP. (Charras, C. & Lecroq, T., 2004). Berdasarkan hal diatas penulis ingin membuat sebuah aplikasi kamus bahasa Indonesia Belanda yang mampu melakukan pencocokan dan pencarian kata dengan mengimplementasikan dan membandingkan antara Algoritma Knuth-Morris-Pratt dan Apostolico-Crochemore. 1.2 Rumusan Masalah Berdasarkan uraian dari latar belakang diatas, rumusan masalah yang akan dibahas adalah belum diketahuinya waktu pencarian yang dibutuhkan algoritma Knuth-Morris-Pratt dan algoritma Apostolico-Crochemore dalam melakukan pencarian kata berdasarkan kata kunci atau query yang diberikan oleh user. Dan bagaimana melakukan perbandingan antara algoritma Knuth-Morris-Pratt dan Apostolico-Crochemore untuk mengetahui algoritma yang lebih baik.

16 3 1.3 Batasan Masalah Berdasarkan latar belakang di atas maka ada beberapa hal yang dapat dijadikan batasan masalah yaitu : 1. Input dan hasil pencarian hanya berupa kata dan tidak berupa kalimat. 2. Aplikasi ini dirancang untuk menerjemahkan kata dari Bahasa Indonesia ke Bahasa Belanda dan sebaliknya. 3. Mengingat banyaknya kata di dalam kamus maka penulis membatasi kata yang dimasukkan yaitu 600 kosa kata. 4. Parameter yang digunakan dalam perbandingan Algoritma Knuth- Morris-Pratt dan Apostolico Crochemore adalah Running Time dan Kompleksitas Big θ. 5. Aplikasi ini menggunakan DBMS MYSQL untuk penyimpanan data kamus. 6. Aplikasi ini menggunakan bahasa pemrograman C# dan sebagai Compilernya adalah Sharpdevelop Tujuan Penelitian Tujuan penelitian ini adalah untuk menerapkan Algoritma Knuth-Morris- Pratt dan Algoritma Apostolico-Crochemore pada Aplikasi kamus Bahasa Indonesia-Belanda dan untuk mengetahui algoritma yang lebih baik di antara Algoritma Knuth-Morris-Pratt dan Algoritma Apostolico- Crochemore untuk proses pencocokan kata. 1.5 Manfaat Penelitian Penelitian ini diharapkan dapat memberikan manfaat sebagai berikut: 1. Untuk membantu user dalam mencari kata terjemahan dari Bahasa Indonesia ke Bahasa Belanda dan sebaliknya. 2. Sebagai bahan referensi bagi peneliti lain yang ingin membahas topik yang terkait dengan penelitian ini. 3. Menambah pengetahuan penulis tentang kinerja Algoritma Knuth- Morris-Pratt dan Algoritma Apotolisco-Crochemore.

17 4 1.6 Metodologi Penelitian 1. Studi Literatur Pada tahap ini dilakukan pengumpulan referensi yang diperlukan dalam penelitian. Hal ini dilakukan untuk memperoleh informasi dan data yang diperlukan untuk penulisan skripsi ini. Referensi yang digunakan dapat berupa buku,jurnal, artikel, maupun situs internet yang berkaitan dengan algoritma exact string matching, Apostolico Crochemore dan Knuth- Morris-Pratt. 2. Analisis dan Perancangan Dengan adanya rumusan dan batasan masalah, kebutuhan perancangan dianalisis, disertai pembuatan Ishikawa Diagram, Unified Modeling Language (UML) Diagram, flowchart, dan design interface system. 3. Implementasi Pada tahap ini pembuatan sistem telah selesai dilaksanakan dengan mengimplementasikan algoritma Apostolico-Crochemore dan Smith ke dalam sistem. 4. Pengujian Aplikasi diuji untuk mengetahui hasil perbandingan efisiensi kedua algoritma. 5. Dokumentasi Sistem Melakukan pembuatan dokumentasi sistem mulai dari tahap awal hingga pengujian sistem, untuk selanjutnya dibuat dalam bentuk laporan penelitian (skripsi). 1.7 Sistematika Penulisan Sistematika penulisan skripsi ini terdiri dari beberapa bagian utama, yaitu: Bab ini menjelaskan latar belakang judul skripsi Perbandingan Algoritma Knuth-Morris-Pratt dan Algoritma Apostolico Crochmore Dalam Kamus Bahasa Indonesia-Belanda, rumusan masalah, batasan masalah, tujuan

18 5 penelitian, manfaat penelitian, metode penelitian dan sistematika penulisan. BAB 2 LANDASAN TEORI Bab ini berisi tentang penjelasan singkat mengenai Kamus, algoritma, algoritma Sting Matching, algoritma Knuth-Morris-Pratt, algoritma Apostolico- Crochemore, kompleksitas, dan penelitian yang relavan. BAB 3 ANALISIS DAN PERANCANGAN SISTEM Bab ini berisi uraian dari analisis sistem, analisis kebutuhan, analisis proses, Ishikawa Diagram, Unified Modeling Language (UML) Diagram, flowchart, dan design interface system. BAB 4 IMPLEMENTASI DAN PENGUJIAN Bab ini berisi tentang pembuatan sistem dan coding sesuai dengan analisis dan perancangan, kemudian melakukan pengujian system. BAB 5 KESIMPULAN DAN SARAN Bab terakhir akan memuat kesimpulan isi dari keseluruhan uraian dari bab-bab sebelumnya dan saran-saran dari hasil yang diperoleh yang diharapkan dapat bermanfaat dalam pengembangan selanjutnya.

19 6 BAB 2 LANDASAN TEORI 2.1 Kamus Kamus adalah sejenis buku rujukan yang menerangkan makna kata-kata. Kamu 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 suatu perkataan, dan untuk memperjelas kadang kala terdapat juga ilustrasi didalam kamus (Susanto, 2014). 2.2 Algoritma Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis (Munir& Syahroni, 2005). Algoritma adalah urutan logis pengambilan keputusan untuk pemecahan masalah (Kamus Besar Bahasa Indonesia). Dari pengertian di atas maka dapat disimpulkan bahwa algoritma adalah ilmu yang mempelajari cara penyelesaian suatu masalah berdasarkan urutan langkah-langkah terbatas yang disusun secara sistematis dan menggunakan bahasa yang logis dengan tujuan tertentu (Zarlis & Handrizal, 2008). 2.3 Algoritma String Matching Pengertian string menurut Dictionary ofalgorithms and Data Structures, National Instituteof Standards and Technology (NIST) adalah susunan dari karakter-karakter (angka, alfabet atau karakteryang lain) dan biasanya direpresentasikan sebagai struktur data array. String dapat berupa kata atau kalimat. Pencocokan string (string matching) menurut Dictionary of Algorithms and Data Structures, National Institute of Standards and Technology (NIST),diartikan sebagai sebuah permasalahan untuk menemukan pola susunan karakter string di dalam string lain atau bagian

20 7 dari isi teks. Algoritma pencarian string (String Matching) salah satu bagian terpenting dalam berbagai proses yang berkaitan dengan data dengan tipe teks (Munir & Syahroni, 2005). Berbagai perangkat lunak yang digunakan saat ini dengan sejumlah sistem operasi berbeda, menggunakan algoritma pencarian string sebagai dasar implementasi. Meskipun terdapat berbagai metode dan bentuk penyimpanan data yang telah dikembangkan hingga saat ini, tetapi tipe data teks masih merupakan bentuk utama pada proses transfer data. Fakta tersebut mendorong perkembangan berbagai algoritma pencarian string yang memberikan hasil akurat dengan waktu singkat. Hingga saat ini terdapat puluhan algoritma pencarian string yang dapat dikelompokkan berdasarkan jenis pola dan metode pencocokan string yang digunakan Klasifikasi Pencocokan String Pencocokan string (string matching) secara garis besar dapat dibedakan menjadi dua yaitu : 1. Exact string matching, merupakan pencocokan string secara tepat dengan susunan karakter dalam string yang dicocokkan memiliki jumlah maupun urutan karakter dalam string yang sama. Contoh: kata step akan menunjukkan kecocokan hanya dengan kata step. 2. Inexact string matching atau Fuzzy string matching, merupakan pencocokan string secara samar, maksudnya pencocokan string dimana string yang dicocokkan memiliki kemiripan dimana keduanya memiliki susunan karakter yang berbeda (mungkin jumlah atau urutannya)tetapi string-string tersebut memiliki kemiripan baik kemiripan tekstual maupun penulisan (approximate string matching) atau kemiripan ucapan (phonetic string matching). Inexact string matching masih dapat dibagi lagi menjadi dua yaitu: a. Pencocokan string berdasarkan kemiripan penulisan (approximate string matching) merupakan pencocokan string dengan dasar kemiripan dari segi penulisannya (jumlah karakter, susunan karakter dalam

21 8 dokumen). Tingkat kemiripan ditentukan dengan jauh tidaknya beda penulisan dua buah string yang dibandingkan tersebut dan nilai tingkat kemiripan ini ditentukan oleh pemrogram (programmer). Contoh: cimpuler dengan compiler, memiliki jumlah karakter yang sama tetapi ada dua karakter yang berbeda. Jika perbedaan dua karakter ini dapat ditoleransi sebagai sebuah kesalahan penulisan maka dua string tersebut dikatakan cocok. b. Pencocokan string berdasarkan kemiripan ucapan (phonetic string matching) merupakan pencocokan string dengan dasar kemiripan dari segi pengucapannya meskipun ada perbedaan penulisan dua string yang dibandingkan tersebut. Contoh step dengan steb dari tulisan berbeda tetapi dalam pengucapannya mirip sehingga dua string tersebut dianggap cocok. Contoh yang lain adalah step, dengan steppe, sttep, stepp, stepe. Exact string matching bermanfaat jika pengguna ingin mencari string dalam dokumen yang sama persis dengan string masukan. Tetapi jika pengguna menginginkan pencarian string yang mendekati dengan string masukan atau terjadi kesalahan penulisan string masukan maupun dokumen objek pencarian, Beberapa algoritma exact string matching antara lain: algoritma Knuth- Morris-Pratt, Bayer-Moore,Algoritma Raita, dll (Charras, C. & Lecroq, T., 2004) 2.4 Algoritma Knuth-Morris-Pratt Algoritma Knuth-Morris-Pratt (KMP) mencari kehadiran sebuah kata w dalam teks s dengan melakukan observasi awal (preprocessing) yaitu ketika muncul ketidaksamaan kata ini mempunyai informasi mengenai kapan kesamaan selanjutnya bermula,dengan cara mengecek ulang kata sebelumnya. Algoritma ini dibuat oleh Knuth dan Pratt dan sendiri oleh J. H. Morris pada tahun 1977, namun ketiganya mengumumkannya bersamaan. Algoritma Knuth-Morris-Pratt (KMP) merupakan algoritma yang digunakan untuk melakukan proses pencocokan string. Algoritma ini merupakan jenis Exact String matching Algorithm yang merupakan pencocokan string secara tepat dengan susunan karakter dalam string yang sama Contoh : kata algoritmik akan menunjukkan kecocokan hanya

22 9 dengan kata algoritmik. Pada algoritma Knuth-Morris-Pratt (KMP), disimpan informasi yang digunakan untuk melakukan pergeseran lebih jauh, tidak hanya satu karakter seperti algoritma Brute Force. Algoritma ini melakukan pencocokan dari kiri ke kanan (Fadillah, 2008) Fungsi Pinggiran Pada Algoritma Knuth-Morris-Pratt Fungsi pinggiran Prefix(i) didefinisikan sebagai ukuran awalan terpanjang dari Pattern yang merupakan akhiran dari Pattern [1 i]. Sebagai contoh, tinjau Pattern(i) = ununil. Nilai untuk setiap karakter di dalam Pattern dapat dilihat pada Tabel 2.1 (Wibowo, 2012). Tabel 2.1. Fungsi Pinggiran Knuth-Morris-Pratt I Pattern(i) U N U N I L Prefix(i) Pencarian Dengan Algoritma Knuth-Morris-Pratt Secara sistematis, langkah-langkah yang dilakukan algoritma Knuth- Morris- Pratt pada saat mencocokkan string. 1. Algoritma Knuth-Morris-Pratt mulai mencocokkan pattern pada awal teks. 2. Dari kiri ke kanan, algoritma ini akan mencocokkan karakter per karakter pattern dengan karakter di teks yang bersesuaian, sampai salah satu kondisi berikut dipenuhi: a) Karakter di pattern dan di teks yang dibandingkan tidak cocok (missmatch). b) Semua karakter di pattern cocok, kemudian algoritma akan memberitahukan penemuan posisi ini. c) Algoritma kemudian menggeser pattern berdasarkan tabel prefix, lalu mengulangi langkah b sampai pattern berada di ujung teks.untuk menggambarkan rincian algoritma, akan diberikan, contoh kasus, dimana kata P = UNUNIL dan kalimat T = UHUSUNUNIL.

23 10 1. m yang menunjukkan posisi dalam T yang merupakan awal dari perbandingan prospektif untuk P. 2. i indeks di P yang menunjukkan karakter saat ini sedang dipertimbangkan Tahap 1 M T U H U S U N U N I L P U N U N I L I Keterangan : Pada T[1] = H dan P[1] = N tidak ada kecocokan oleh karena itu dilakukan pergeseran berdasarkan karakter yang cocok sebelumnya P[0] = U yang mempunyai nilai pinggiran 1. Tahap 2 M T U H U S U N U N I L P U N U N I L I Keterangan : Karena T[1] = H dan P = [0] = U tidak cocok maka dilakukan pergeseran 1 langkah ke kanan. Tahap 3 M T U H U S U N U N I L P U N U N I L I

24 11 Keterangan : Pada pencarian ini masih gagal karena terjadi ketidakcocokan di T[3] (P[1] sehingga kita melakukan pergeseran ke karakter berikutnya. Tahap 4 M T U H U S U N U N I L P U N U N I L I Keterangan : Kali ini kita dapat menyelesaikan seluruh pencocokan, dan karakter yang pertama adalah T[4]. 2.5 Algoritma Apostolico-Crochemore a. Algoritma Apostolico-Crochemore dicetuskan oleh Alberto Apostolico dan Maxime Crochemore pada tahun Algoritma Apostolico- Crochemore adalah algoritma sederhana yang melakukan perbandingan karakter pada teks 3 2 n sebanyak pada kasus terburuknya. Algoritma Apostolico-Crochemore terdiri dari dua fase, yaitu fase preprocessing dan fase pencarian string. Pada fase preprocessing dilakukan fungsi pinggiran untuk menentukan jumlah langkah pergeseran pattern terbesar dengan menggunakan perbandingan sebelum pencarian string. Fungsi pinggiran ini bergantung pada karakter-karakter yang terdapat dalam pattern, bukan dalam teks. Algoritma ini mirip dengan algoritma Knuth-Morris-Pratt karena menggunakan tabel pergeseran kmpnext pada fase preprocessingnya. Algoritma Knuth-Morris-Pratt dicetuskan pada tahun 1977 untuk mempercepat prosedur exact pattern matching dengan meningkatkan panjang pergeseran. Perbandingan karakter dilakukan dengan mencocokkan pattern ke dalam teks yang dicari dari kiri ke kanan (Charras, C. & Lecroq, T., 2004)

25 Fase Preprocessing Pada fase preprocessing dilakukan perhitungan jumlah langkah pergeseran pattern terbesar yang mungkin terjadi dengan menggunakan perbandingan yang dibentuk sebelum fase pencarian string. Fase ini menggunakan tabel pergeseran kmpnext.untuk mendapatkan nilai pergeseran, kmpnext[i] untuk indeks 0 diberi nilai -1 sebagai inisialisasi. Selanjutnya, bandingkan karakter pada indeks 0 dengan karakter pada indeks 1. Jika karakternya sama, maka kmpnext[1] bernilai -1 Namun apabila karakternya berbeda, maka kmpnext[1] bernilai Contoh Pencarian String dengan Algoritma Apostolico- Crochemore Berikut ini adalah contoh cara kerja algoritma Apostolico-Crochemore: Teks y : H U S N I L K H O T I M A H S I R E G A R Pattern x : K H O T I M A Dengan algoritma Apostolico-Crochemore, carilah pattern x pada teks y tersebut. Fase Proses Awal Untuk menyelesaikan permasalahan tersebut dengan algoritma Apostolico- Crochemore, ada dua fase yang harus diselesaikan. Fase pertama yaitu fase proses awal (preprocessing). Pada fase ini dihitung fungsi pinggiran pada pattern x dengan menggunakan algoritma untuk menghitung fungsi pinggiran. Hasilnya diperoleh tabel kmpnext berikut. Tabel 2.2 Fungsi pinggiran kmpnext pada pattern x = KHOTIMA I x[i] K H O T I M A kmpnext[i] l = 1

26 13 Fase Pencarian String Pada fase ini, saat terjadi ketidakcocokan maka dilakukan pergeseran ke arah kanan sebanyak (i-kmpnext[i]) karakter. Tahapan-tahapan pencarian string dapat dilihat sebagai berikut: Tahap 1: Perbandingan dimulai dari indeks yang ke-1 H U S N I L K H O T I M A H S I R E G A R 1 K H O T I M A Digeser sebanyak : 1 - kmpnext[1] = 1-0 = 1 karakter Tahap 2 : H U S N I L K H O T I M A H S I R E G A R 1 K H O T I M A Digeser sebanyak : 1 - kmpnext[1] = 1-0 = 1 karakter Tahap 3 : H U S N I L K H O T I M A H S I R E G A R 1 K H O T I M A Digeser sebanyak : 1 - kmpnext[1] = 1-0 = 1 karakter

27 14 Tahap 4 : H U S N I L K H O T I M A H S I R E G A R 1 K H T I M A Digeser sebanyak : 1 - kmpnext[1] = 1-0 = 1 karakter Tahap 5 : H U S N I L K H O T I M A H S I R E G A R 1 K H O T I M A Digeser sebanyak : 1 - kmpnext[1] = 1-0 = 1 karakter Tahap 6 : H U S N I L K H O T I M A H S I R E G A R 1 K H O T I M A Digeser sebanyak : 1 - kmpnext[1] = 1-0 = 1 karakter Tahap 7 : H U S N I L K H O T I M A H S I R E G A R K H O T I M A Pada tahap ke-7, pattern x sudah ditemukan didalam teks y. Jumlah perbandingan yang dilakukan untuk mencari pattern x dilakukan sebanyak

28 15 14 kali. Jika pencarian string terus dilakukan sampai teks habis maka pattern digeser sebanyak : 7-KmpNext [7] = 7-0 = 7 karakter. Tahap 8 : H U S N I L K H O T I M A H S I R E G A R 1 K H O T I M A Digeser sebanyak : 1 - kmpnext[1] = 1-0 = 1 karakter Tahap 9 : H U S N I L K H O T I M A H S I R E G A R 1 K H O T I M A Pada tahap ke-9 seluruh teks telah habis dicari maka total perbandingan yang dilakukan seluruhnya sampai teks habis adalah 16 kali. 2.6 Kompleksitas Algoritma Kebenaran suatu algoritma harus diuji dengan jumlah masukan tertentu untuk melihat kinerja algoritma berupa waktu yang diperlukan untuk menjalankan algoritmanya dan ruang memori yang diperlukan untuk struktur datanya. Algoritma yang bagus adalah algoritma yang mangkus (efisien). Kemangkusan algoritma diukur dari jumlah waktudan ruang memori yang dibutuhkan untuk menjalankan algoritma tersebut. Algoritma yang mangkus adalah algoritma yang meminimumkan kebutuhan waktu dan ruang. Aplikasi sebuah algoritma dapat dikatakan baik atau efisien adalah memerlukan kriteria formal yang digunakan untuk menilai algoritma tersebut yaitu kemangkusan algoritma dengan kompleksitasnya. Besaran yang dipakai untuk menerangkan model

29 16 penilaian waktu atau ruang algoritma adalah dengan menggunakan kompleksitas algoritma. Ada dua macam kompleksitas algoritma, yaitu kompleksitas waktu dan kompleksitas ruang. Kompleksitas waktu dari algoritma adalah mengukur jumlah perhitungan (komputasi) yang dikerjakan oleh komputer ketika menyelesaikan suatu masalah dengan menggunakan algoritma. Ukuran yang dimaksud mengacu ke jumlah langkah-langkah perhitungan dan waktu tempuh pemrosesan. Kompleksitas waktu merupakan hal penting untuk mengukur efisiensi suatu algoritma. Kompleksitas waktu dari suatu algoritma yang terukur sebagai suatu fungsi ukuran masalah. Kompleksitas waktu dari algoritma berisi ekspresi bilangan dan jumlah langkah yang dibutuhkan sebagai fungsi dari ukuran permasalahan. Kompleksitas ruang berkaitan dengan sistem memori yang dibutuhkan dalam eksekusi program.untuk mengukur kebutuhan waktu sebuah algoritma yaitu denganmengeksekusi langsung algoritma tersebut pada sebuah komputer, lalu dihitung berapa lama durasi waktu yang dibutuhkan untuk menyelesaikan sebuah persoalan dengan nyang berbedabeda. Kemudian dibandingkan hasil komputasi algoritma tersebut dengan notasi kompleksitas waktunya untuk mengetahui efisiensi algoritmanya (Nugraha,D.W, 2012). Kompleksitas algoritma diukur berdasarkan kinerjanya dengan menghitung waktu eksekusi suatu algoritma. Menurut Cormen et al. (2009) waktu eksekusialgoritma dapat diklasifikasikan menjadi tiga kelompok besar, yaitu best-case (kasus terbaik), average-case (kasus ratarata) dan worst-case (kasus terjelek). Pada pemrograman yang dimaksud dengan kasus terbaik, kasus terjelek dan kasus rata-rata suatu algoritma adalah besar kecilnya atau banyak sedikitnya sumber-sumber yang digunakan oleh suatu algoritma. Makin sedikit makin baik, makin banyak makin jelek (Subandijo, 2011).

30 Penelitian yang Relavan 1. Ryan Dhika Priyatna (2015) dalam penelitian yang berjudul ImplementasiA lgoritma Levenshtein Distance dan Knuth Morris Pratt dalam fitur wordcompletion pada search engine Menyatakan bahwa penerapan algoritma Knuth Morris Pratt dapat digunakan dengan baik karena dapat menemukan kata.dengan karakter per karakter sampai karakter dinyatakan cocok (Priyatna, R.D.2015). 2. Adli Abdillah Pada Proses Pencarian String Di Dalam Teks Nababan (2015) dalam skripsi yang berjudul Implementasi Algoritma Brute Force dan Algoritma Knuth-Morris-Pratt menyimpan sebuah informasi yang digunakan untuk melakukan jumlah pergeseran, sehingga algoritma ini melakukan pergeseran yang lebih baik. Dengan menggunakan Algoritma Knuth-Morris-Pratt pencarian dapat mempersingkat waktu (Nababan, A.A. 2015). 3. Pada penelitian terdahulu yang dilakukan oleh Ratri, Sindy Gita (2007) tentang Penggunaan Algoritma Apostolico-Crochemore, disimpulkan bahwa Algoritma Apostolico-Crochemore memiliki kompleksitas waktu untuk fase prosesawal sebesar O(m) dan fase pencarian string sebesar O(n). Pada kasus terburuk, perbandingan karakter yang dilakukan sebanyak kali. Algoritma ini merupakan perbaikan dari algoritma KMP karena algoritma ini memiliki kompleksitas waktu yang lebih baik dari algoritma KMP. 4. Menurut Linhart, C. & Shamir, R. (2009) banyak sekali algoritma yang efisien dikembangkan selama beberapa tahun terakhir, tetapi algoritma tercepat untuk menyelesaikan masalah dalam waktu linear, yaitu seperti Algoritma Knuth-Morris-Pratt dan Algoritma Boyer Moore 5. Menurut Singla, N. & Garg, D. (2012) ada dua teknik utama dalam algoritma string matching yaitu exact matching dimana hasil pencocokannya mengandung string yang sama persis dengan string yang di-input, contohnya pada algoritma NeedlemanWunsch, algoritma Smith

31 18 Waterman, algoritma Knuth-Morris-Pratt, algoritma Boyer-Moore- Horspool dan approximate matching dimana hasil pencocokannya mengandung string yang tidak harus persis dengan string yang di-input, contohnya pada algoritma Fuzzy String Searching, algoritma Rabin Karp, algoritma Brute Force.

32 19 BAB 3 ANALISIS DAN PERANCANGAN 3.1 Analisis Sistem Tahapan ini dilakukan untuk memaparkan pemahaman tentang sistem yang dibuat secara keseluruhan. Baik kinerja sistem maupun proses perancangan aplikasi pada sistem. pemahaman yang menyeluruh terhadap kebutuhan sistem sehingga diperoleh tugas-tugas yang akan di kerjakan sistem. Tahapan ini dilakukan agar pada saat proses perancangan aplikasi tidak terjadi kesalahan Analisis Masalah Analisis masalah merupakan proses identifikasi sebab dan akibat dibangunnya sebuah sistem agar sistem yang dibangun tersebut dapat berjalan sebagaimana mestinya sesuai dengan tujuan sistem itu. Selama ini jika seseorang ingin belajar bahasa asing media yang digunakan untuk memperlancar kosa katanya adalah kamus. Aplikasi kamus di dalam desktop tidak mencari kata secara manual, dengan adanya aplikasi kamus tersebut mempermudah user untuk mendapatkan kata yang ingin dicarinya. Dengan memanfaatkan salah satu dari algoritma string matching. Seperti algoritma Knuth-Morris-Pratt dan Apostolico- Crochemore, maka mempermudah dan mempercepat pencarian kata dalam kamus. Untuk mengidentifikasi masalah tersebut digunakan diagram Ishikawa (fishbone diagram). Diagram Ishikawa adalah sebuah alat grafis yang digunakan untuk menampilkan pendapat tentang komponen inti suatu kondisi di dalam sistem. Diagram ini juga dapat menyusuri sumbersumber penyebab atas suatu masalah, diagram Ishikawa pada sistem ini dapat dilihat pada gambar 3.1.

33 20 METODE USER Metode dilakukan manual Belum ada aplikasi berbasis desktop yang mengkombinasikan dua algoritma string maching yang User membutuhkan media yang praktis Untuk mencari kata Masih berbentu k buku cetak User masih sulit untuk melakukan pencarian kata di kamus dengan waktu yang cepat Sistem pencarian dengan menggunakan algoritma Knuth-Morris-Pratt dan Apostolico-Crochemore Pencarian kata belum dapat dilakukan MACHINE MATERIAL Gambar 3.1 Diagram Ishikawa 3.2 Pemodelan Pemodelan sistem merupakan gambaran cara kerja sistem yang dibuat juga tentang interaksi objek yang ada pada sistem, serta hal apa saja yang harus dilakukan oleh sebuah sistem sehingga sistem dapat berfungsi dengan baik sesuai dengan kegunaannya. Pada penelitian ini digunakan UML (Unified Modeling Language) sebagai bahasa pemodelan untuk mendesain dan merancang aplikasi contact manager dalam mencari data contact. Model UML yang digunakan antara lain Use case diagram, Activity diagram, dan Sequence diagram.

34 Use Case Diagram Use Case Diagram adalah sebuah diagram yang dapat merepresentasikan interaksi yang terjadi antara user dengan sistem. Use Case Diagram mendeskripsikan interaksi antara user dengan sistem itu sendiri. Use Case Diagram dari sistem yang akan dibangun dapat ditunjukkan pada Gambar 3.2 Gambar 3.2 Use Case Diagram Sistem Didalam use case diagram dapat di gambarkan bahwa terdapat 2(dua) orang aktor yang akan berperan yaitu user dan admin. Untuk memperoleh kata terjemahan maka user harus menentukan tipe terjemahan terlebih dahulu, seperti bahasa Indonesia-Belanda atau bahasa Belanda- Indonesia. Selanjutnya user harus memasukkan berupa kata yang ingin di terjemahkan ke dalam search box. Selanjutnya user memilih Algoritma

35 22 yang ingin digunakan antara Algoritma Knuth-Morris-Pratt dan Algoritma Apostolico-Crochemore. Setelah Algoritma di pilih lalu sistem akan melakukan pencarian dan menampilkan hasil terjemahan. Pada Proses Menentukan tipe terjemahan dapat dinyatakan dalam Tabel 3.1 Tabel 3.1 Use Case Proses menentukan tipe terjemahan Name Actors Description Basic Flow Alternate Flow Pre Condition Post Condition Menentukan tipe terjemahan User dan Admin Use Case ini mendeskripsikan proses menentukan tipe terjemahan, seperti bahasa Indonesia-Belanda atau bahasa Belanda-Indonesia User menentukan tipe terjemahan User dapat memilih bahasa Indonesia-Belanda atau bahasa Belanda- Indonesia User ingin menentukan tipe terjemahan User telah menetapkan tipe terjemahan Pada Proses Input kata, dapat dinyatakan dalam Tabel 3.2. Tabel 3.2 Use Case Proses Input kata Name Actors Description Basic Flow Input kata User Use Case ini mendeskripsikan proses penginputan kata yang ingin dicari User menginput kata Alternate Flow - Pre Condition Admin ingin menginput kata Post Condition User mendapatkan hasil pencarian kata

36 23 Pada Proses Input Kata dari Sistem dapat dinyatakan dalam Tabel 3.3. Tabel 3.3 Use Case Proses Input sistem Name Actors Description Basic Flow Input kata dari system User dan Admin Use Case ini mendeskripsikan proses penginputan kata yang ingin dicari User menginput kata Alternate Flow - Pre Condition User ingin menginput kata Post Condition User mendapatkan hasil pencarian kata Pada Proses Hasil Algoritma Knuth-Morris-Pratt, dapat dinyatakan dalam Tabel 3.4. Tabel 3.4 Use Case Proses Algoritma Knuth-Morris-Pratt Name Actors Description Basic Flow Alternate Flow Pre Condition Post Condition Algoritma Knuth-Morris-Pratt User Use Case ini mendeskripsikan proses pencarian kata kamus menggunakan Algoritma Knuth-Morris-Pratt User memilih Algoritma Knuth-Morris-Pratt User memilih Algoritma Apostolico-Crochemore User ingin mencari kata User mendapatkan hasil pencarian kata Pada Proses Hasil Algoritma Apostolico-Crochemore, dapat dinyatakan dalam Tabel 3.5. Tabel 3.5 Use Case Proses Algoritma Apostolico-Crochemore Name Actors Algoritma Apostolico-Crochemore User

37 24 Description Basic Flow Alternate Flow Pre Condition Post Condition Use Case ini mendeskripsikan proses pencarian kata kamus menggunakan Algoritma Apostolico-Crochemore User memilih Algoritma Apostolico-Crochemore User memilih Algoritma Knuth-Morris-Pratt User ingin mencari kata User mendapatkan hasil pencarian kata Activity Diagram Activity Diagram adalah teknik untuk menggambarkan logika procedural, jalur kerja sistem. Diagram ini menggambarkan berbagai alur kerja dalam sistem yang sedang dirancang, bagaimana masing-masing alur kerja berawal decision yang mungkin terjadi, dan bagaimana mereka aktifitas atau alur kerja berakhir. Proses Pencarian dengan Algoritma Knuth- Morris-Pratt dan Apostolico-Crochemore, Activity Diagram dapat di lihat pada Gambar 3.3 berikut. Gambar 3.3 Activity Diagram Didalam Activity diagram dapat dijelaskan bahwa user harus menentukan tipe terjemahan terlebih dahulu, seperti bahasa Indonesia-Belanda atau

38 25 bahasa Belanda-Indonesia. Lalu sistem menetapkan tipe terjemahan yang telah dipilih. Selanjutnya user menginput kata yang ingin dicari. Lalu user memilih Algoritma untuk melakukan pencarian kata. Maka sistem melakukan pemanggilan fungsi pada Algoritma yang telah dipilih. Lalu sistem akan menampilkan hasil pencarian sesuai dengan Algoritma yang telah dipilih Sequence Diagram Sequence diagram adalah diagram UML yang memodelkan logika sebuah use-case dengan cara menggambarkan interaksi pesan di antara objek objek dalam rangkaian waktu (Whitten, 2004). pada Gambar 3.4 berikut: Gambar 3.4 Squence Diagram Gambar ini menunjukkan, yang dilakukan user adalah menentukan tipe terjemahan terlebih dahulu, seperti bahasa Indonesia-Belanda atau bahasa Belanda-Indonesia di tampilan menu. lalu tampilan menu menetapkan tipe terjemahan yang telah dipilih.selanjutnya yang dilakukan user adalah menginput kata yang ingin di cari dan memilih algoritma untuk melakukan

39 26 pencarian, lalu akan memanggil fungsi Algoritma yang telah dipilih. Kemudian menampilkan hasil pencarian kata kepada user. 3.3 Pseudocode Algoritma Pseudecode Algoritma Knuth-Morris-Pratt i= 0 j= kmpnext[0] = -1 while ( i < m) while ( j > -1 && x[i]!= x [j] ) j = kmpnext [j] i++ j++ if (x[i] == x[j] ) kmpnext [i] = kmpnext [j] Else kmpnext [i] = j Pseudecode Algoritma Apostolico-Crochemore for ( ell = 1; x[ell 1 ] == x[ell]; ell++ ) if ( ell == m )

40 27 ell = 0 i = ell j = k = 0 while ( j < = n - m ) while ( i < m && x [i] == y[i + j] ) i Flowchart Flowchart atau diagram alir merupakan gambar atau bagan yang memperlihatkan urutan dan hubungan antar proses dengan pernanyataannya ( Zarlis & Handrizal, 2008). Flowchart yang akan dibangun dapat di tunjukkan pada Gambar 3.5, 3.6, dan 3.7

41 28 Mulai Pilih Tipe Terjemahan Masukkan Kata Yang dicari Pilih Algoritma pencarian Hasil pencarian kata Sesuai Algoritma Selesai Gambar 3.5 Flowchart Gambaran Umum Sistem

42 29 Mulai Masukkan pattern Pencocokan karakter dari kiri ke kanan Bandingkan karakter per karakter Apakah karakter cocok? Tidak Geser pola berdasarkan tabel prefix[i] Ya Hasil Pencarian Kata Selesai Gambar 3.6 Flowchart Algoritma Knuth-Morris-Pratt Menggambarkan alur proses pada pencarian Algoritma Knuth-Morris- Pratt, dimana proses awal yang di lakukan yaitu memasukkan pola di dalam yang tersedia. Proses pencarian dimulai dari karakter paling kiri ke kanan Pattern. Setiap karakter akan dibandingkan satu per satu. jika terjadi ketidakcocokan, maka akan di cek nilai prefix[i] dan bergeser sesuai nilai prefix[i], dan jika terjadi kecocokan maka mengularkan hasil.

43 30 Mulai Masukkan pattern dan teks Pencocokan pattern dari kiri ke kanan dan dimulai dari karakter kedua pattern sampai karakter terakhir kemudian kembali ke karakter pertama Bandingkan karakter pattern dengan karakter pada teks Apakah karakter cocok? Ya Tidak Geser patern sebanyak nilai dari hasil pengurangan indeks pattern dengan nilai pinggiran karakter pattern (i-kmpnext[i]) Geser ke karakter berikutnya Apakah semua karakter cocok? Tidak Pattern tidak ditemukan pada teks Ya Pattern ditemukan pada teks Selesai Gambar 3.7 Flowchart Algoritma Apostolico-Crochemore

44 31 Menggambarkan alur proses pada pencarian Algoritma Apostolico- Crochemore, dimana proses awal yang dilakukan yaitu memasukkan pattern dan teks. Pencocokan pattern dilakukan dari kiri kekanan. Proses pencocokan teks dimulai dari karakter kedua pattern sampai karakter terakhir dan kembali ke karakter pertama. Jika terjadi kecocokan maka geser ke karakter berikutnya. Jika terjadi ketidakcocokan, maka dilakukan pergeseran sesuai dengan hasil pengurangan indeks pattern dengan nilai pinggiran dari karakter. jika semua semua karakter pattern sudah cocok maka pattern ditemukan pada teks. 3.5 Perancangan Sistem ( Interface ) Proses perancangan antarmuka (interface) sebuah sistem adalah proses yang cukup penting dalam perancangan sebuah sistem. Merancang antarmuka merupakan bagian yang paling penting dari merancang sebuah sistem. Sebuah antarmuka harus dirancang dengan memperhatikan faktor pengguna sehingga sistem yang dibangun dapat memberikan kenyamanan dan kemudahan untuk digunakan oleh pengguna Rancangan Halaman Utama Halaman Utama merupakan halaman yang pertama kali muncul pada saat sistem dibuka. Rancangan Tampilan Utama dapat dilihat pada Gambar 3.8

45 32 Kamus Indonesia Belanda 1 ABOUT DATA RELOAD PILIH ALGORITMA 2 Indonesia Belanda 3 Cari 4 Gambar 3.8 Rancangan Tampilan Halaman Utama Keterangan Gambar : 1. Bagian atas form yang berisi nama aplikasi yang akan dibuat. 2. Menu Strip, membuat tab file, data, reload, dan pilih algoritma. 3. Button Indonesia dan Belanda merupakan tombol yang memicu untuk memilih bahasa yang diinginkan. 4. Button Cari merupakan tombol yang memicu untuk mencari kata yang diinginkan Rancangan Halaman About Halaman About merupakan halaman yang berisikan tentang, bantuan dan keluar. dapat dilihat pada Gambar 3.9

46 33 ABOUT Tentang Bantuan 1 Keluar Keterangan Gambar : Gambar 3.9 Rancangan Tampilan Halaman About 1. Bagian atas merupakan menu strip About yang terdiri dari beberapa sub menu yaitu tentang, bantuan, dan keluar Rancangan Halaman Tentang Halaman Tentang ini berisikan mengenai informasi rancangan yang akan dibuat. dapat dilihat pada Gambar 3.1

47 34 Kamus Indonesia Belanda Tentang 1 2 Informasi mengenai aplikasi Logo 3 Gambar 3.10 Rancangan Tampilan Halaman Tentang Keterangan Gambar : 1. Bagian atas merupakan menu form yang berisikan halaman tentang. 2. TextBox, memuat informasi mengenai penulis sebagai pembuat aplikasi. 3. PictureBox, merupakan tempat untuk memasukkan logo Rancangan Halaman Bantuan Halaman Bantuan ini berisikan mengenai informasi cara menggunakan aplikasi tersebut. dapat dilihat pada Gambar 3.11

48 35 Form_Bantuan 1 CARA MENGGUNAKAN KAMUS 2 Keterangan Gambar : Gambar 3.11 Rancangan Tampilan Halaman Bantuan 1. Bagian atas merupakan form bantuan mengenai aplikasi tersebut. 2. TextBox, merupakan tempat untuk memberitahukan bagaimana cara menggunakan kamus tersebut Rancangan Halaman Keluar Halaman Keluar ini berisikan mengenai informasi tata cara keluar setelah selesai menggunakan aplikasi tersebut. dapat dilihat pada Gambar 3.12

49 36 Kamus Indonesia Belanda Keluar 1 Konfirmasi 2 Yes No Tutup Aplikasi? 3 Gambar 3.12 Rancangan Tampilan Halaman Keluar Keterangan Gambar: 1. Bagian atas merupakan form Keluar dari aplikasi tersebut 2. TextBox, merupakan tempat untuk mengkonfirmasi jika ingin meninggalkan aplikasi tersebut 3. Button Yes dan No tombol yang memicu untuk memilih antara ingin menutup aplikasi tersebut atau sebaliknya Rancangan Halaman Data Halaman Data ini berisikan mengenai untuk menambahkan data yang baru ke aplikasi tersebut. dapat dilihat pada Gambar 3.13

50 37 Kamus Indonesia-Belanda Data Input 1 indonesia Belanda 2 Data 4 C Hapus Simpan 3 Indonesia Belanda Gambar 3.13 Rancangan Tampilan Halaman Data Keterangan Gambar: 1. Bagian atas merupakan menu form mengenai data aplikasi tersebut. 2. Textview, merupakan tempat untuk menginput kata bahasa yang diinginkan. 3. Button C, Hapus dan Simpan, tombol ini memicu untuk menghapus data dan menyimpan data yang telah diinputkan. 4. TextBox, merupakan tempat data yang baru diinputkan.

51 Rancangan Halaman Pilihan Algoritma Halaman Pilihan Algoritma ini berisikan mengenai untuk memilih algoritma yang diinginkan. dapat dilihat pada Gambar 3.14 Kamus Indonesia Belanda 1 Indonesia Belanda PILIH ALGORITMA Knuth-Morris-Pratt 4 2 Apostolico-Crochemore Cari 3 5 Indonesia Belanda Pesan Pencarian selesai OK 6 Jumlah Data : Waktu Pencarian : 7 Gambar 3.14 Rancangan Tampilan Halaman Pilihan Algoritma Keterangan Gambar : 1. Bagian diatas merupakan menu form nama aplikasi tersebut. 2. Button Indonesia dan Belanda berfungsi untuk mrmilih bahasa yang di inginkan. 3. TextView, untuk memasukkan kata yang ingin dicari. 4. Menu Strip, untuk memilih pilihan algoritma yang di inginkan.

52 39 5. Button Cari, tombol ini memicu untuk pencarian kata yang di inginkan. 6. ToolStrip, ini untuk menampilkan pesan tampilan pencarian. 7. TextBox, untuk menampilkan hasil jumlah kata dan waktu pencarian kata.

53 40 BAB 4 IMPLEMENTASI DAN PENGUJIAN 4.1 Implementasi Implementasi sistem merupakan tahapan lanjutan dari analisis dan perancangan sistem. Sistem ini dibangun dengan menggunakan bahasa pemrograman C#, software compiler sharpdevelope 4.3, dan database sietem ini di buat dengan perangkat lunak XAMPP v3.2.2 dengan tipe server MYSQL version Pada sistem ini terdapat 7 tampilan halaman, yaitu Tampilan Halaman Utama, Halaman About, Halaman Tentang, Halaman Bantuan, Halaman Keluar, Halaman Data dan Halaman Pilih Algoritma Halaman Utama Halaman Utama merupakan halaman yang pertama kali muncul pada saat sistem dibuka. Tampilan halaman utama ini berisi tentang menu About, data, reload, dan pilihan algoritma. Di mana pada button Indonesia dan Belanda user bisa memilih bahasa yang diinginkan dan mencari kata yang dicari pada button cari dicaripada button cari. Tampilan utama dapat dilihat pada Gambar 4.1

54 Halaman About Gambar 4.1 Tampilan Halaman Utama Di dalam Halaman About ini terdapat ada 3 sub menu yaitu Tentang, Bantuan, dan Keluar.Tampilan tersebut dapat dilihat pada Gambar 4.2 Gambar 4.2 Tampilan Halaman About

55 Halaman Tentang Di dalam Halaman Tentang ini berisikan mengenai informasi kepada user mengenai aplikasi yang akan dibuat dan informasi mengenai pembuat aplikasi, yaitu penulis sendiri beserta dengan judul dari penelitian ini. tampilan tentang dapat dilihat pada Gambar 4.2 Gambar 4.3 Tampilan Halaman Tentang

56 Halaman Bantuan Di dalam Halaman Bantuan ini berisikan mengenai informasi kepada user mengenai cara menggunakan aplikasi tersebut. Tampilan bantuan dapat dilihat pada Gambar 4.4 Gambar 4.4 Tampilan Halaman Bantuan

57 Halaman Keluar Di dalam Halaman Keluar ini berisikan mengenai informasi kepada user apabila telah selesai menggunakan aplikasi tersebut, kita mengkonfirmasi dengan mengklik pilihan Yes atau No. Tampilan keluar dapat dilihat pada Gambar 4.5 Gambar 4.5 Tampilan Halaman Keluar Halaman Data Halaman Data ini berisikan mengenai informasi untuk menambahkan data yang baru ke aplikasi tersebut. yaitu dengan menginputkan kata ke menu

58 45 indonesia dan belanda, setelah itu kita klik button simpan kemudian kita klik menu reload untuk mengkonfirmasi kata tersebut agar masuk ke database dan jumlah kata tersebut akan bertambah, jika ingin menghapus Kata tersebut yang terdapat di dalam data tersebut kita tinggal mengklik button Hapus. Adapun tampilan data tersebut dapat dilihat pada Gambar 4.6 Gambar 4.6 Tampilan Halaman Data

59 Halaman Pilihan Algoritma Halaman Pilihan Algoritma ini berisikan mengenai informasi untuk memilih algoritma yang diinginkan. Seperti di dalam menu pilihan algoritma tersebut, ada 2 algoritma yaitu algoritma Knuth-Morris-Pratt dan Apostolico Crochemore. Dengan algoritma tersebut kita bisa mencari kata yang diinginkan dengan memasukkan kata ke dalam button indonesia atau belanda selanjutnya kita mengklik menu pilihan algoritma, kita memilih algoritma yang kita inginkan setelah itu kata yang dicari akan muncul dengan kecepatan waktu dari algoritma tersebut. MTampilan Pilihan algoritma tersebut dapat dilihat pada Gambar 4.7 Gambar 4.7 Tampilan Halaman Pilihan Algoritma

60 Hasil Pencarian Algoritma Knuth-Morris-Pratt Tampilan teks dan pattern yaitu cocok, Apabila teks dan pattern tersebut cocok. Pada Gambar 4.8 dapat dilihat hasil pencarian kata pada kamus Bahasa Indonesia-Belanda dengan menggunakan Algoritma Knuth- Morris-Pratt. Gambar 4.8 Hasil Pencarian Kata Algoritma Knuth-Morris-Pratt Gambar ini menunjukkan bahwa user memasukkan teks yaitu Apa ke aplikasi. Algoritma yang digunakan adalah algoritma Knuth-Morris-Pratt. aplikasi melakukan pencocokan string dan menampilkan semua teks yang cocok dengan database. Terdapat 6 kata apa dalam database. dan running time yang diperlukan untuk mencari kata apa adalah 0.22 detik. Tampilan teks dan pattern yaitu tidak cocok, apabila pattern dan teks tidak cocok. Pada Gambar 4.9 dapat dilihat hasil pencarian kata pada kamus bahasa Indonesia-Belanda dengan menggunakan Algoritma Knuth-Morris- Pratt.

61 48 Gambar 4.9 Hasil Pencarian Kata Algoritma Knuth-Morris-Pratt Gambar ini menunjukkan bahwa user memasukkan teks yaitu Karena ke aplikasi. Algoritma yang digunakan adalah algoritma Knuth-Morris-Pratt. Aplikasi melakukan pencocokan string dan menampilkan semua teks yang cocok dengan database. Tidak terdapat kata karena dalam database. dan running time yang diperlukan untuk mencari kata karena adalah 0.02 detik. 4.3 Hasil Pencarian Algoritma Apostolico-Crochemore Tampilan teks dan pattern yaitu cocok, Apabila teks dan pattern tersebut cocok. Pada Gambar 4.10 dapat dilihat hasil pencarian kata pada kamus Bahasa Indonesia-Belanda dengan menggunakan Algoritma Apostolico- Crochemore.

62 49 Gambar 4.10 Hasil Pencarian Kata Algoritma Apostolico-Crochemore Gambar ini menunjukkan bahwa user memasukkan teks yaitu Apa ke aplikasi. Algoritma yang digunakan adalah algoritma Apostolico- Crochemore. aplikasi melakukan pencocokan string dan menampilkan semua teks yang cocok dengan database. Terdapat 6 kata apa dalam database. dan running time yang diperlukan untuk mencari kata apa adalah 0.17 detik. Tampilan teks dan pattern yaitu tidak cocok, apabila pattern dan teks tidak cocok. Pada Gambar 4.11 dapat dilihat hasil pencarian kata pada kamus bahasa Indonesia-Belanda dengan menggunakan Algoritma Apostolico- Crochemore.

63 50 Gambar 4.11 Hasil Pencarian Kata Algoritma Apostolico-Crochemore Gambar ini menunjukkan bahwa user memasukkan teks yaitu Karena ke aplikasi. Algoritma yang digunakan adalah algoritma Apostolico- Crochemore. Aplikasi melakukan pencocokan string dan menampilkan semua teks yang cocok dengan database. Tidak terdapat kata karena dalam database. dan running time yang diperlukan untuk mencari kata Karena adalah 0.02 detik.

64 Hasil Pengujian Hasil pengujian dari penelitian ini adalah Running time dari pencarian kata dan jumlah kata yang ditemukan pada Algoritma Knuth-Morris-Pratt dan Algoritma Apostolico-Crochemore yang dilakukan terhadap string yang berbeda. Adapun hasil pengujian dari kedua Algoritma yang digunakan akan dijelaskan pada Tabel 4.5 dan Tabel 4.6. Tabel 4.5 Hasil Pengujian Algoritma Knuth-Morris-Pratt No Pattern Running time (detik) Jumlah kata yang ditemukan Kejadian 1 A Kata ditemukan 2 IK Kata ditemukan 3 Ach Kata ditemukan 4 Deeg Kata ditemukan 5 Acara Kata ditemukan 6 Begrip Kata ditemukan 7 Bangkai Kata ditemukan 8 Otmoeten Kata ditemukan 9 Bendahara Kata ditemukan 10 Onzedelijk Kata ditemukan TOTAL 1.99 RATA RATA Tabel ini menunjukkan terdapat 10 pattern pengujian pada Algoritma Knuth-Morris-Pratt Pada masing-masing pattern terdapat running time dalam detik yang menunjukkan waktu pencarian kata. Dalam pengujian 10 pattern hasil rata-rata running time untuk algoritma Knuth-Morris-Pratt adalah detik.

65 52 Tabel 4.6 Hasil Pengujian Algoritma Apostolico-Crochemore No Pattern Running time (detik) Jumlah kata yang ditemukan Kejadian 1 A Kata ditemukan 2 IK Kata ditemukan 3 Ach Kata ditemukan 4 Deeg Kata ditemukan 5 Acara Kata ditemukan 6 Begrip Kata ditemukan 7 Bangkai Kata ditemukan 8 Otmoeten Kata ditemukan 9 Bendahara Kata tditemukan 10 Onzedelijk Kata ditemukan TOTAL 1.96 RATA RATA Tabel ini menunjukkan terdapat 10 pattern pengujian pada Algoritma. Apostolico-Crochemore Pada masing-masing pattern terdapat running time dalam detik yang menunjukkan waktu pencarian kata. Dalam pengujian 10 pattern, hasil rata-rata running time untuk algoritma Apostolico-Crochemore adalah detik. Dengan diketahui kompleksitas waktu suatu algoritma maka efisiensi program berdasarkan waktu dapat dibedakan menurut running time-nya. runnng time dari suatu algoritma adalah ukuran waktu untuk melaksanakan suatu program sehinga menghasilkan output pada satu compiler dan mesin eksekusi tertentu. Running time sebuah program tergantung beberapa faktor : 1) Input Program. 2) Jumlah kata dalam suatu program.

66 53 3) Kualitas dari compiler yang digunakan untuk kompilasi pada program. 4) kemampuan dan kecepatan mesin yang digunakan untuk eksekusi program 5) kompleksitas algoritma Setelah mendapatkan Hasil Pengujian dari Tabel 4.5 dantabel 4.6 maka dibuat grafik perbandingan hasil pengujian dari kedua Algoritma tersebut. Grafik dapat dilihat pada Gambar ,2 1 0,8 0,6 0,4 0,2 0 Running Time Knuth-Morris-Pratt Apostolico-Crochemore Gambar 4.12 Perbandingan Hasil Running Time Knuth-Morris-Pratt dan Apostolico-Crochemore Dari grafik diatas hasil running time tiap-tiap kata berbeda dalam suatu algoritma hal ini dikarenakan inputan program dan kemampuan ataupun kecepatan pada mesin yang digunakan untuk eksekusi program mempengaruhi kecepatan running time. Dari grafik diatas dapat dijelaskan bahwa Kelemahan Algoritma Apostolico-Crochemore dalam penelitian ini adalah lebih lambat dibandingkan Algoritma Knuth-Morris-Pratt dalam pencarian kata yang pendek karena semakin sedikit jumlah kata yg dicari maka akan semakin lama waktu yg dibutuhkan untuk pencarian kata. Pergeseran yg terjadi hanya sebanyak jumlah kata yg dicari. Hal ini menimbulkan proses pengecekan yang lebih banyak sehingga menambah waktu proses pencarian. Kelebihan Algoritma Apostolico-Crochemore dalam penelitian ini adalah lebih cepat dibandingkan Algoritma Knuth- Morris-Pratt dalam pecarian kata yang panjang karena semakin panjang

67 54 kata yang dicari maka semakin sedikit teks yang mengandung kata yang dicari sehingga pergeseran kata yang terjadi semakin besar. Hal ini menimbulkan proses pengecekan kata yang lebih sedikit sehingga mengurangi waktu proses pencarian. hasil rata-rata running time Algoritma Apostolico-Crochemore untuk pencarian kata adalah detik. Kelebihan Algoritma Knuth-Morris-Pratt dalam penelitian ini adalah lebih cepat dibandingkan Algoritma Apostolico-Crochemore dalam pencarian kata yang pendek karena Algoritma Knuth-Morris-Pratt memaksimalkan nilai pergeseran sehingga kata yang dicari semakin cepat ditemukan. Kelemahan Algoritma Knuth-Morris-Pratt dalam penelitian ini adalah lebih lambat dibandingkan Algoritma Apostolico-Crochemore dalam pencarian kata yang panjang karena semakin panjang kata yang dicari maka semakin panjang pengecekan nilai untuk pergeseran setiap fungsi pencarian dipanggil dan hal ini dilakukan dalam setiap pencarian per baris. Rata-rata hasil running time Algoritma Knuth-Morris-Pratt untuk pencarian kata adalah detik Pengujian Algoritma Knuth-Morris-Pratt Algoritma Knuth-Morris-Pratt (KMP) mencari kehadiran sebuah kata w dalam teks s dengan melakukan observasi awal (preprocessing) yaitu ketika muncul ketidaksamaan kata ini mempunyai informasi mengenai kapan kesamaan selanjutnya bermula,dengan cara mengecek ulang kata sebelumnya. Algoritma Knuth-Morris-Pratt sudah dipaparkan sebelumnya pada bab kedua. Tabel pergeseran untuk pattern cacao dapat dilihat pada tabel 4.7 berikut ini. Tabel 4.7 Nilai Pergeseran untuk pattern cacao I Pattern(i) C A C A O Prefix(i)

68 55 Tahap 1 M T C H A T C A C A O P C A C A O I Keterangan : Pada T[1] = H dan P[1] = A tidak ada kecocokan oleh karena itu dilakukan pergeseran berdasarkan karakter yang cocok sebelumnya P[0] = C yang mempunyai nilai pinggiran -1 Tahap 2 M T C H A T C A C A O P C A C A O I Keterangan : Karena T[1] = H dan P[0] = C tidak cocok maka dilakukan pergeseran 1 langkah ke kanan. Tahap 3 M T C H A T C A C A O P C A C A O I Keterangan : Pada pencarian ini masih gagal karena terjadi ketidakcocokan di T[2] dan P[0] sehingga kita melakukan pergeseran ke karakter berikutnya. Tahap 4 M T C H A T C A C A O P C A C A O I Keterangan : Karena T[3] = T dan P[0] = C tidak cocok maka dilakukan pergeseran 1 langkah ke kanan. M T C H A T C A C A O P C A C A O I

69 56 Keterangan : Kali ini kita dapat menyelesaikan seluruh pencocokan, dan karakter yang pertama adalah T[4] Pengujian Algoritma Apostolico-Cochemore Sebelum melakukan proses pencocokan, algoritma Apostolico- Crochemore memiliki tahap preprocessing untuk menentukan nilai pergeseran. Tahapan untuk membuat tabel nilai pergeseran KmpNext pada fase preprocessing algoritma Apostolico-Crochemore sudah dipaparkan sebelumnya pada bab kedua. Tabel pergeseran untuk pattern woorden dapat dilihat pada Tabel 4.8. berikut ini. Tabel 4.8 Fungsi pinggiran kmpnext pada pattern x = WOORDEN I x[i] W O O R D E N kmpnext[i] l = 1 Tahap 1 I K K O P E N W O O R D E N B O E K 1 W O O R D E N Digeser sebanyak : 1 - kmpnext[1] = 1-0 = 1 karakter Tahap 2 I K K O P E N W O O R D E N B O E K 1 W O O R D E N Digeser sebanyak : 1 - kmpnext[1] = 1-0 = 1 karakter

70 57 Tahap 3 I K K O P E N W O O R D E N B O E K 1 1 W O O R D E N Digeser sebanyak : 1 - kmpnext[1] = 1-0 = 1 karakter Tahap 4 I K K O P E N W O O R D E N B O E K 1 W O O R D E N Digeser sebanyak : 1 - kmpnext[1] = 1-0 = 1 karakter Tahap 5 I K K O P E N W O O R D E N B O E K 1 W O O R D E N Digeser sebanyak : 1 - kmpnext[1] = 1-0 = 1 karakter Tahap 6 I K K O P E N W O O R D E N B O E K 1 W O O R D E N Digeser sebanyak : 1 - kmpnext[1] = 1-0 = 1 karakter Tahap 7 I K K O P E N W O O R D E N B O E K

71 W O O R D E N Pada tahap ke-7, pattern x sudah ditemukan didalam teks y. Jumlah perbandingan yang dilakukan untuk mencari pattern x dilakukan sebanyak 14 kali. Jika pencarian string terus dilakukan sampai teks habis maka pattern digeser sebanyak : 7-KmpNext [7] = 7-0 = 7 karakter. Tahap 8 I K K O P E N W O O R D E N B O E K 1 W O O R D Pada tahap ke-8 seluruh teks telah habis dicari maka total perbandingan yang dilakukan seluruhnya sampai teks habis adalah 14 kali. 4.5 Kompleksitas Algoritma Kompleksitas Algoritma Knuth-Morris-Pratt Tabel 4.9 Kompleksitas Algoritma Knuth-Morris-Pratt Code C # C.# int m = x.length -1; C1 n C1n int i = 0; C2 n C2n int j = kmpnext[0] = -1; C3 n C3n while ( i < m ) While ( ( j > -1 ) && ( x [j]! = x [j] ) ) j = kmpnext [j] ; C4 n C4n C5 n 2 C5n 2 C6 n 2 C6n 2

72 59 i++; C7 n 2 C7n 2 j++; C8 n 2 C8n 2 if (x [i] = = x [j] ) C9 n 2 C9n 2 kmpnext [i] = kmpnext [j] ; C10 n 2 C10n 2 else C11 n 2 C11n 2 kmpnext [i] = j ; C12 n 2 C12n 2 T (n) = n i=1 Ci# i = ( C1+ C2 + C3 + C4 ) n + (C5 + C6 + C7 + C8 + C9 + C10 + C11 + C12) n 2 = θ (n 2 ) Kompleksitas Algoritma Apostolico-Crochemore Tabel 4.10 Kompleksitas Algoritma Apostolico-Crochemore Code C # C.# for ( ell = 1; x (ell 1) = = x [ell]; ell ++) C1 n C1n If (ell = = m) C2 n C2n ell = 0; C3 n C3n int i = ell; C4 n C4n int k ; C5 n C5n int j = k = 0; C6 n C6n

73 60 While ( j < = n-m) While ( ( I < m ) && (x[i] = = y (i + j)])) i++; C7 n C7n C8 n 2 C8n 2 C9 n 2 C9n 2 T (n) = n i=1 Ci# i = ( C1+ C2 + C3 + C4 + C5 + C6 + C7 ) n + (C8 + C69) n 2 = θ (n)

74 61 BAB 5 KESIMPULAN DAN SARAN 5.1 Kesimpulan Berdasarkan analisis, perancangan dan pengujian pada aplikasi kamus bahasa Indonesia-Belanda dengan menggunakan algoritma Knuth-Morris-Prattdan Apostolico-Crochemore, maka diperoleh beberapa kesimpulan : 1. Kelemahan Algoritma Apostolico-Crochemore dalam penelitian ini adalah lebih lambat dibandingkan Algoritma Knuth-Morris-Pratt dalam pencarian kata yang pendek karena semakin sedikit jumlah kata yg dicari maka akan semakin lama waktu yg dibutuhkan untuk pencarian kata. Pergeseran yg terjadi hanya sebanyak jumlah kata yg dicari, Hal ini menimbulkan proses pengecekan yang lebih banyak sehingga menambah waktu proses pencarian. Kelebihan Algoritma Apostolico-Crochemore dalam penelitian ini adalah lebih cepat dibandingkan Algoritma Knuth-Morris-Pratt dalam pecarian kata yang panjang karena semakin panjang kata yang dicari maka semakin sedikit teks yang mengandung kata yang dicari sehingga pergeseran kata yang terjadi semakin besar. Hal ini menimbulkan proses pengecekan kata yang lebih sedikit sehingga mengurangi waktu proses pencarian. hasil rata-rata running time Algoritma Apostolico- Crochemore untuk pencarian kata adalah detik. Kelebihan Algoritma Knuth-Morris-Pratt dalam penelitian ini adalah lebih cepat dibandingkan Algoritma Apostolico-Crochemore dalam pencarian kata yang pendek karena Algoritma Knuth-Morris-Pratt memaksimalkan nilai pergeseran sehingga kata yang dicari semakin cepat ditemukan. Kelemahan Algoritma Knuth-Morris-Pratt dalam penelitian ini adalah lebih lambat dibandingkan Algoritma Apostolico-Crochemore dalam

75 62 pencarian kata yang panjang karena semakin panjang kata yang dicari maka semakin panjang pengecekan nilai untuk pergeseran setiap fungsi pencarian dipanggil dan hal ini dilakukan dalam setiap pencarian per baris. Rata-rata hasil running time Algoritma Knuth- Morris-Pratt untuk pencarian kata adalah detik. 2. Hasil kompleksitas untuk algoritmaapostolico-crochemore adalah Big θ(n) dan kompleksitas untuk algoritma Knuth-Morris-Pratt adalah Big θ(n) Saran Adapun saran-saran yang dapat dipertimbangkan untuk tahap pengembangan penelitian ini antara lain : 1. Sistem ini sebaiknya ditambahkan menu baru yang dapat mendengar bacaan bahasa belandanya agar user mengetahui cara bacanya dengan benar. 2. Sistem ini sebaiknya dibandingkan dengan beberapa algoritma String Matching lainnya, kemudian dibandingkan dengan algoritma sebelumnya yang telah dahulu dibandingkan.

76 63 DAFTAR PUSTAKA Bille, P Fast searching in packed strings. Journal of Discrete Algorithm 9: Charras, C & Lecroq. T Handbook of Exact String Matching Algorithms Cormen, T.H, Leiserson, C.E, Rivest, R.L. & Stein, C Introduction to Algorithms. 3th Edition. The MIT Press:England Ervana, A. & Pertiwi, A Implementasi Algoritma Pencocokan String pada Aplikasi Pengarsipan Berbasis Web. Jurnal Informatika 3(2): 3-4. Fadillah, A.R Pengenalan Pola Sidik Jari Menggunakan Algoritma Knuth- Morris-Pratt(KMP). Skripsi. Bandung. Universitas Komputer Indonesia Knuth D.E., Morris (Jr) J.H. & Pratt V.R Fast pattern matching in strings. Linhart, C. & Shamir, R Faster pattern matching with character classes using prime number encoding. Journal of Computer and System Sciences 75: Munir,R & Syahroni Pencocokan string berdasarkan kemiripan ucapan String matching dalam bahasa inggris. Bandung:Institut Teknologi Bandung. Nababan, A.A Implementasi Algoritma Brute Force Dan Algoritma Knuth-Morris-Pratt (KMP) Dalam Pencarian Word Suggestion.Skripsi. Nugraha, D.W Penerapan kompleksitas waktu Algoritma Prim untuk menghitung kemampuan komputer dalam melaksanakan perintah. Jurnal Ilmiah Foristek 2(2): Priyatna, R.D Implementasi Algoritma Levenshtein Distance dan Knuth Morris Pratt dalam Fitur Word Completion Pada Search Engine. Skripsi.. Ratri, S.G Penggunaan Algoritma Apostolico-Crochemore Pada Proses Pencarian String di dalam Teks. Bandung: Institut Teknologi Bandung. Singla, N. & Garg, D String matching algorithms and their applicability in various applications. International Journal of Soft Computing and Engineering 1(6): Subandijo Efisiensi Algoritma dan Notasi O-besar. Jurnal ComTech 2(2):

77 64 Susanto, Perancangan Aplikasi Kamus Istilah Latin Hewan dan Tumbuhan dengan Menerapkan Algoritma Boyer-Moore Berbasis Mobile. Jurnal Informasi dan Teknologi Ilmiah (INTI) 4(3): Whitten, J.L., Bentley, L.D. & Dittman, K.C Metode Desain & Analisis Sistem. Terjemahan. TIM Penerjemah ANDI,: Yogyakarta. Wibowo,T Pembuatan Aplikasi Untuk Mendeteksi Kebenaran Perintah SQL Query Menggunakan Metode Knuth-Morris-Pratt. Jurnal Teknik Informatika 1: 1-9Wulan, S Analisis Penerapan String Matching Dalam Komparasi Data Kepesertaan Windy,N. & Albert, Kamus Praktis Belanda-Indonesia. Kashiko Publisher: Surabaya Yan, T Kamus Lengkap Belanda - Indonesia. Penerbit Apollo : Surabaya Zarlis, M. & Handrizal Algoritma dan Pemrograman: Teori dan Praktik dalam Pascal.USU Press : Medan.

78 A-1 1 LISTING PROGRAM 1. MainForm.cs public partial class MainForm : Form Konfigurasi k = new Konfigurasi(); List<String> Data_ID = new List<string>(); List<String> Data_BD = new List<string>(); Stopwatch Waktu; public MainForm() InitializeComponent(); this.closing += this.keluar; List(); void MainFormLoad(object sender, EventArgs e) Ambil_Data_ID(); Ambil_Data_BD(); Ambil_Data_Ke_ CB_ALGO.Text = CB_ALGO.Items[0].ToString(); void Keluar(object sender, System.ComponentModel.Can celeventargs e) if (MessageBox.Show("TutupAplikasi?", "Konfirmas i", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) Application.ExitThread(); else e.cancel = true; void KeluarToolStripMenuItemClick(object sender, Eve ntargs e) Close(); public void Ambil_Data_ID() k.koneksi(); k.da = new MySqlDataAdapter("Select Indonesia,

79 A-2 2 Belanda From data Order By Indonesia Asc", k.conn); k.ds = new DataSet("data"); k.ds.clear(); k.da.fill(k.ds, "data"); DGV_ID.DataSource = k.ds; DGV_ID.DataMember = "data"; DGV_ID.Refresh(); LBL_JD.Text = DGV_ID.Rows.Count.ToString(); public void Ambil_Data_BD() k.koneksi(); k.da = new MySqlDataAdapter("Select Belanda, Indonesia From data Order By Belanda Asc", k.conn); k.ds = new DataSet("data"); k.ds.clear(); k.da.fill(k.ds, "data"); DGV_BD.DataSource = k.ds; DGV_BD.DataMember = "data"; DGV_BD.Refresh(); void Ambil_Data_Ke_List() Data_ID.Clear(); Data_BD.Clear(); for (int i=0; i<dgv_id.rows.count; i++) Data_ID.Add(DGV_ID.Rows[i].Cells[0].Value.To String().ToUpper()); Data_BD.Add(DGV_ID.Rows[i].Cells[1].Value.To String().ToUpper()); Args e) void DATAToolStripMenuItemClick(object sender, Event Form_Data FD = new Form_Data(); FD.ShowDialog(); void RELOADToolStripMenuItemClick(object sender, Eve ntargs e) DGV_ID.Columns.Clear(); DGV_BD.Columns.Clear(); Ambil_Data_ID(); Ambil_Data_BD(); Ambil_Data_Ke_ List(); TXT_ID.Clear(); TXT_BD.Clear(); void BTN_IDClick(object sender, EventArgs e)

80 A-3 3 if (TXT_ID.Text == "") TXT_ID.Focus(); else if (CB_ALGO.SelectedIndex == 0) MessageBox.Show("Pilih Algoritma Pencarian", "Pesan", MessageBoxButtons.OK, MessageBoxIcon.In formation); CB_ALGO.Focus(); else Cursor = Cursors.WaitCursor; Waktu = Stopwatch.StartNew(); if (CB_ALGO.SelectedIndex == 1) Cari_KMP_ID(); else if (CB_ALGO.SelectedIndex == 2) Cari_AC_ID(); Waktu.Stop(); LBL_WP.Text = (Waktu.ElapsedMilliseconds * 0.001).ToString("0.00") + " Detik"; LBL_JD.Text = DGV_ID.Rows.Count.ToString(); Cursor = Cursors.Default; MessageBox.Show("Pencarian Selesai", "Pesan", MessageBoxButtons.OK, MessageBoxIcon.Info rmation); void BTN_BDClick(object sender, EventArgs e) if (TXT_BD.Text == "") TXT_BD.Focus(); else if (CB_ALGO.SelectedIndex == 0) MessageBox.Show("Pilih Algoritma Pencarian", "Pesan", MessageBoxButtons.OK, MessageBoxIcon.In formation); CB_ALGO.Focus(); else Cursor = Cursors.WaitCursor; Waktu = Stopwatch.StartNew(); if (CB_ALGO.SelectedIndex == 1) Cari_KMP_BD(); else if (CB_ALGO.SelectedIndex == 2) Cari_AC_BD(); Waktu.Stop(); LBL_WP.Text = (Waktu.ElapsedMilliseconds * 0.001).ToString("0.00") + " Detik"; LBL_JD.Text = DGV_BD.Rows.Count.ToString(); Cursor = Cursors.Default; MessageBox.Show("Pencarian

81 A-4 4 Selesai", "Pesan", MessageBoxButtons.OK, MessageBoxIcon.Info rmation); void TentangToolStripMenuItemClick(object sender, Ev entargs e) Form_Tentang FT = new Form_Tentang(); FT.ShowDialog(); s e) void CB_ALGOKeyPress(object sender, KeyPressEventArg e.handled = true; void Cari_KMP_ID() int Index = 0; DGV_ID.DataSource = null; DGV_ID.Columns.Clear(); DGV_ID.Columns.Add("ID", "Indonesia"); DGV_ID.Columns.Add("BD", "Belanda"); for (int i=0; i<data_id.count; i++) Knuth_Morris_Pratt KMP = new Knuth_Morris_Pratt(); int Hasil = KMP.findAll(TXT_ID.Text.ToUpper(), Data_ID[i]).Count; if (Hasil > 0) DGV_ID.Rows.Add(); DGV_ID.Rows[Index].Cells[0].Value = Data_ID[i]; DGV_ID.Rows[Index].Cells[1].Value = Data_BD[i]; Index++; Application.DoEvents(); void Cari_AC_ID() int Index = 0; DGV_ID.DataSource = null; DGV_ID.Columns.Clear(); DGV_ID.Columns.Add("ID", "Indonesia"); DGV_ID.Columns.Add("BD", "Belanda"); for (int i=0; i<data_id.count; i++) Apotolisco_Crochmore AC = new Apotolisco_Crochmore(); int Hasil =

82 A-5 5 AC.findAll(TXT_ID.Text.ToUpper(), Data_ID[i]).Count; if (Hasil > 0) DGV_ID.Rows.Add(); DGV_ID.Rows[Index].Cells[0].Value = Data_ID[i]; DGV_ID.Rows[Index].Cells[1].Value = Data_BD[i]; Index++; Application.DoEvents(); void Cari_KMP_BD() int Index = 0; DGV_BD.DataSource = null; DGV_BD.Columns.Clear(); DGV_BD.Columns.Add("BD", "Belanda"); DGV_BD.Columns.Add("ID", "Indonesia"); for (int i=0; i<data_bd.count; i++) Knuth_Morris_Pratt KMP = new Knuth_Morris_Pratt(); int Hasil = KMP.findAll(TXT_BD.Text.ToUpper(), Data_BD[i]).Count; if (Hasil > 0) DGV_BD.Rows.Add(); DGV_BD.Rows[Index].Cells[0].Value = Data_BD[i]; DGV_BD.Rows[Index].Cells[1].Value = Data_ID[i]; Index++; Application.DoEvents(); void Cari_AC_BD() int Index = 0; DGV_BD.DataSource = null; DGV_BD.Columns.Clear(); DGV_BD.Columns.Add("BD", "Belanda"); DGV_BD.Columns.Add("ID", "Indonesia"); for (int i=0; i<data_bd.count; i++) Apotolisco_Crochmore AC = new Apotolisco_Crochmore(); int Hasil = AC.findAll(TXT_BD.Text.ToUpper(), Data_BD[i]).Count; if (Hasil > 0) DGV_BD.Rows.Add(); DGV_BD.Rows[Index].Cells[0].Value = Data_BD[i];

83 A-6 6 Data_ID[i]; DGV_BD.Rows[Index].Cells[1].Value = Index++; Application.DoEvents(); void TXT_IDTextChanged(object sender, EventArgs e) void BantuanToolStripMenuItemClick(object sender, Ev entargse) Form_Bantuan fr = new Form_Bantuan(); fr.show(); //this.hide(); void GroupBox2Enter(object sender, EventArgs e) void TabPage2Click(object sender, EventArgs e) void DGV_BDCellContentClick(object sender, DataGridV iewcelleventargs e) void DGV_IDCellContentClick(object sender, DataGridV iewcelleventargs e) void CB_ALGOClick(object sender, EventArgs e)

84 A-7 7 Args e) void FILEToolStripMenuItemClick(object sender, Event 2. Konfigurasi.cs public class Konfigurasi public MySqlConnection CONN = new MySqlConnection(); public MySqlDataAdapter DA = new MySqlDataAdapter(); public DataSet DS = new DataSet(); public MySqlCommand CMD = new MySqlCommand(); public MySqlDataReader DR; public void Koneksi() try CONN.Close(); CONN.ConnectionString = "server='localhost'; UserID='root'; password=''; database='kamus'"; CONN.Open(); catch (Exception) MessageBox.Show("Koneksi Database Bermasalah", "Pesan", MessageBoxButtons.OK, MessageBoxIcon.W arning); 3. Knuth-Morris-Pratt public class Knuth_Morris_Pratt char[] x; int m; int[] kmpnext; void prekmp(char[] x, int[] kmpnext) int m=x.length - 1; int i= 0; int j=kmpnext[0] = -1; while (i < m)

85 A-8 8 while ((j > -1) && (x[i]!=x[j])) j=kmpnext[j]; i++; j++; if (x[i] ==x[j]) kmpnext[i] =kmpnext[j]; else kmpnext[i] = j; public List<int> findall(string pattern, String source) char[] ptrn=pattern.tochararray(); char[] y= source.tochararray(); char[] x= new char[ptrn.length + 1]; Array.Copy(ptrn, 0, x, 0, ptrn.length); int m=ptrn.length; int n=y.length; List<int> result= new List<int>(); int[] kmpnext= new int[x.length]; prekmp(x, kmpnext); int j; int i=j= 0; while (j < n) while ((i > -1) && (x[i]!=y[j])) i=kmpnext[i]; i++; j++; if (i >=m) result.add(j - i); i=kmpnext[i]; return result;

86 9 A-9 4. Apostolico-Crochemore public class Apotolisco_Crochmore int m; int ell; char[] x; int[] kmpnext; void prekmp(char[] x, int[] kmpnext) int m=x.length - 1; int i= 0; int j=kmpnext[0] = -1; while (i < m) while ((j > -1) && (x[i]!=x[j])) j=kmpnext[j]; i++; j++; if (x[i] ==x[j]) kmpnext[i] =kmpnext[j]; else kmpnext[i] =j; public List<int> findall(string pattern, String source) char[] ptrn=pattern.tochararray(); char[] y= source.tochararray(); char[] x= new char[ptrn.length + 1]; Array.Copy(ptrn, 0, x, 0, ptrn.length); int m=ptrn.length; int n=y.length; List<int> result= new List<int>(); int[] kmpnext= new int[x.length]; int ell; prekmp(x, kmpnext); for (ell= 1; x[(ell - 1)] ==x[ell]; ell++) if (ell==m) ell= 0; int i=ell; int k; int j=k= 0; while (j <=n - m)

87 A-10 )])) while ((i < m) && (x[i] ==y[(i + j)])) i++; if (i >=m) while ((k < ell) && (x[k] ==y[(j + k k++; if (k >=ell) result.add(j); j +=i - kmpnext[i]; if (i==ell) k=math.max(0, k - 1); else if (kmpnext[i] <=ell) k=math.max(0, kmpnext[i]); i=ell; else k=ell; i=kmpnext[i]; return result;

88 B-1 1 CURRICULUM VITAE Data Pribadi Nama : Husnil Khotimah Siregar Tempat/Tanggal Lahir : Pematangsiantar/ 10 Desember 1994 Tinggi/Berat Badan : 150 cm / 50 kg Agama : Islam Kewarganegaraan : Indonesia Alamat Sekarang : Jl. Jamin Ginting Gg.HArif No.37 Alamat Orang Tua : Jl. Sriwijaya Pematangsiantar Telp/ Hp : husnilsiregar95@gmail.com Riwayat Pendidikan [ ] : S1 Ilmu Komputer, Medan [ ] : MAN Pematangsiantar [ ] : MTSN Pematangsiantar [ ] : MIS SDPI Pematangsiantar

PERBANDINGAN ALGORITMA KNUTH MORRIS PRATT DAN BOYER MOORE PADA APLIKASI KAMUS BAHASA INDONESIA-KOREA BERBASIS ANDROID SKRIPSI

PERBANDINGAN ALGORITMA KNUTH MORRIS PRATT DAN BOYER MOORE PADA APLIKASI KAMUS BAHASA INDONESIA-KOREA BERBASIS ANDROID SKRIPSI PERBANDINGAN ALGORITMA KNUTH MORRIS PRATT DAN BOYER MOORE PADA APLIKASI KAMUS BAHASA INDONESIA-KOREA BERBASIS ANDROID SKRIPSI VICI INDAH YANA 121401062 PROGRAM STUDI S1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER

Lebih terperinci

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI BAB 2 LANDASAN TEORI 2.1 Definisi Kamus Kamus adalah sejenis buku rujukan yang menerangkan makna kata-kata. Kamus berfungsi untuk membantu seseorang mengenal perkataan baru. Selain menerangkan maksud kata

Lebih terperinci

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB 1 PENDAHULUAN. 1.1 Latar Belakang BAB 1 PENDAHULUAN 1.1 Latar Belakang Berkomunikasi satu sama lain merupakan salah satu sifat dasar manusia. Komunikasi berfungsi sebagai sarana untuk saling berinteraksi satu sama lain. Manusia terkadang

Lebih terperinci

IMPLEMENTASI ALGORITMA BRUTE FORCE DAN ALGRITMA KNUTH-MORRIS-PRATT (KMP) DALAM PENCARIAN WORD SUGGESTION SKRIPSI ADLI ABDILLAH NABABAN

IMPLEMENTASI ALGORITMA BRUTE FORCE DAN ALGRITMA KNUTH-MORRIS-PRATT (KMP) DALAM PENCARIAN WORD SUGGESTION SKRIPSI ADLI ABDILLAH NABABAN IMPLEMENTASI ALGORITMA BRUTE FORCE DAN ALGRITMA KNUTH-MORRIS-PRATT (KMP) DALAM PENCARIAN WORD SUGGESTION SKRIPSI ADLI ABDILLAH NABABAN 131421065 PROGRAM STUDI EKSTENSI S1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER

Lebih terperinci

BAB I PENDAHULUAN Latar Belakang

BAB I PENDAHULUAN Latar Belakang 1 BAB I PENDAHULUAN 1.1. Latar Belakang Perkembangan dunia IT (Information Technology) dengan hadirnya mesin pencarian (Search Engine) di dalam sistem komputer yang merupakan salah satu fasilitas internet

Lebih terperinci

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI BAB 2 LANDASAN TEORI 2.1. Algoritma Algoritma adalah urutan langkah-langkah penyelesaian masalah yang disusun secara matematis dan logis. Tanpa kita sadari, kebanyakan dari kegiatan yang kita lakukan setiap

Lebih terperinci

ANALISIS ASIMTOTIK DAN REAL TIME MENGGUNAKAN ALGORITMA L-DEQUE DALAM MENENTUKAN JARAK TERPENDEK ANTAR KANTOR CABANG BANK MANDIRI DI KOTA MEDAN SKRIPSI

ANALISIS ASIMTOTIK DAN REAL TIME MENGGUNAKAN ALGORITMA L-DEQUE DALAM MENENTUKAN JARAK TERPENDEK ANTAR KANTOR CABANG BANK MANDIRI DI KOTA MEDAN SKRIPSI 1 ANALISIS ASIMTOTIK DAN REAL TIME MENGGUNAKAN ALGORITMA L-DEQUE DALAM MENENTUKAN JARAK TERPENDEK ANTAR KANTOR CABANG BANK MANDIRI DI KOTA MEDAN SKRIPSI FACHROZI FAHMI 141421117 PROGRAM STUDI EKSTENSI

Lebih terperinci

IMPLEMENTASI ALGORITMA KNUTH-MORRIS-PRATH STRING MATCHING UNTUK MENCARI KATA ATAU ISTILAH PADA KAMUS KOMPUTER BERBASIS ANDROID.

IMPLEMENTASI ALGORITMA KNUTH-MORRIS-PRATH STRING MATCHING UNTUK MENCARI KATA ATAU ISTILAH PADA KAMUS KOMPUTER BERBASIS ANDROID. IMPLEMENTASI ALGORITMA KNUTH-MORRIS-PRATH STRING MATCHING UNTUK MENCARI KATA ATAU ISTILAH PADA KAMUS KOMPUTER BERBASIS ANDROID. SKRIPSI INDAH MUSTIKA TANJUNG 121421004 PROGRAM STUDI EKSTENSI S1 ILMU KOMPUTER

Lebih terperinci

PERBANDINGAN ALGORITMA STRING MATCHING NOT SO NAIVE DAN SKIP SEARCH PADA PLATFORM ANDROID SKRIPSI RICKY WIJAYA

PERBANDINGAN ALGORITMA STRING MATCHING NOT SO NAIVE DAN SKIP SEARCH PADA PLATFORM ANDROID SKRIPSI RICKY WIJAYA PERBANDINGAN ALGORITMA STRING MATCHING NOT SO NAIVE DAN SKIP SEARCH PADA PLATFORM ANDROID SKRIPSI RICKY WIJAYA 121401081 PROGRAM STUDI S-1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS

Lebih terperinci

PERBANDINGAN ALGORITMA TERNARY COMMA CODE (TCC) DAN LEVENSTEIN CODE DALAM KOMPRESI FILE TEXT SKRIPSI ZULAIHA YULANDARI

PERBANDINGAN ALGORITMA TERNARY COMMA CODE (TCC) DAN LEVENSTEIN CODE DALAM KOMPRESI FILE TEXT SKRIPSI ZULAIHA YULANDARI PERBANDINGAN ALGORITMA TERNARY COMMA CODE (TCC) DAN LEVENSTEIN CODE DALAM KOMPRESI FILE TEXT SKRIPSI ZULAIHA YULANDARI 121401140 PROGRAM STUDI S-1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

Lebih terperinci

PERBANDINGAN ALGORITMA BOYER-MOORE DAN ALGORITMA RABIN- KARP PADA PENCARIAN TEKS DALAM UNDANG- UNDANG PERLINDUNGAN ANAK SKRIPSI

PERBANDINGAN ALGORITMA BOYER-MOORE DAN ALGORITMA RABIN- KARP PADA PENCARIAN TEKS DALAM UNDANG- UNDANG PERLINDUNGAN ANAK SKRIPSI PERBANDINGAN ALGORITMA BOYER-MOORE DAN ALGORITMA RABIN- KARP PADA PENCARIAN TEKS DALAM UNDANG- UNDANG PERLINDUNGAN ANAK SKRIPSI PRADITA OKTAVIANI 121401041 PROGRAM STUDI S1 ILMU KOMPUTER FAKULTAS ILMU

Lebih terperinci

BAB I PENDAHULUAN. 1.1Latar Belakang

BAB I PENDAHULUAN. 1.1Latar Belakang BAB I PENDAHULUAN 1.1Latar Belakang Pencocokan string merupakan masalah mendasar yang terjadi dalam berbagai aplikasi praktis. (Mitani & Ino, 2016).Pencocokan string adalah proses menemukan jumlah kejadian

Lebih terperinci

BAB I PENDAHULUAN 1.1 Latar Belakang Perpustakaan merupakan faktor penting di dalam penunjang transformasi antara sumber ilmu (koleksi) dengan pencari ilmu (pengunjung). Perpustakaan juga sering disebut

Lebih terperinci

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI 6 BAB 2 LANDASAN TEORI 2. Information Retrieval Information Retrieval atau sering disebut temu kembali infromasi adalah suatu sistem yang mampu melakukan penyimpanan, pencarian, dan pemeliharaan informasi.

Lebih terperinci

APLIKASI PENERJEMAH KALIMAT BAHASA INDONESIA KE BAHASA SIMALUNGUN DENGAN ALGORITMA BERRY - RAVINDRAN

APLIKASI PENERJEMAH KALIMAT BAHASA INDONESIA KE BAHASA SIMALUNGUN DENGAN ALGORITMA BERRY - RAVINDRAN APLIKASI PENERJEMAH KALIMAT BAHASA INDONESIA KE BAHASA SIMALUNGUN DENGAN ALGORITMA BERRY - RAVINDRAN Saut Dohot Siregar 1*, Mawaddah Harahap 2, Yohana Marbun 3 1,2,3 Program Studi Teknik Informatika, Fakultas

Lebih terperinci

PENGGUNAAN ALGORITMA APOSTOLICO-CROCHEMORE PADA PROSES PENCARIAN STRING DI DALAM TEKS

PENGGUNAAN ALGORITMA APOSTOLICO-CROCHEMORE PADA PROSES PENCARIAN STRING DI DALAM TEKS PENGGUNAAN ALGORITMA APOSTOLICO-CROCHEMORE PADA PROSES PENCARIAN STRING DI DALAM TEKS Sindy Gita Ratri Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung

Lebih terperinci

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI BAB 2 LANDASAN TEORI 2.1. Pengertian Hadits Menurut pendapat muhaddihin muta akhirin, di antaranya dikemukakan oleh ibn Salah (w. 643 H/1245 M) dalam muqaddimah-nya. Hadits shahih adalah hadits yang bersambung

Lebih terperinci

IMPLEMENTASI ALGORITMA PENCOCOKAN STRING BOYER-MOORE DALAM PEMBUATAN CONTACT MANAGER PADA PLATFORM ANDROID SKRIPSI MEGO SUNTORO

IMPLEMENTASI ALGORITMA PENCOCOKAN STRING BOYER-MOORE DALAM PEMBUATAN CONTACT MANAGER PADA PLATFORM ANDROID SKRIPSI MEGO SUNTORO IMPLEMENTASI ALGORITMA PENCOCOKAN STRING BOYER-MOORE DALAM PEMBUATAN CONTACT MANAGER PADA PLATFORM ANDROID SKRIPSI MEGO SUNTORO 101401004 PROGRAM STUDI S1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI

Lebih terperinci

SKRIPSI SURI SYAHFITRI

SKRIPSI SURI SYAHFITRI ANALISIS PERBANDINGAN METODE LOW BIT CODING DAN LEAST SIGNIFICANT BIT UNTUK DIGITAL WATERMARKING PADA FILE WMA SKRIPSI SURI SYAHFITRI 091401013 PROGRAM STUDI S1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN

Lebih terperinci

ANALISIS PERBANDINGAN ALGORITMA QUICKSORT, 3 WAY QUICKSORT, DAN RADIXSORT SKRIPSI PLOREN PERONICA PASARIBU

ANALISIS PERBANDINGAN ALGORITMA QUICKSORT, 3 WAY QUICKSORT, DAN RADIXSORT SKRIPSI PLOREN PERONICA PASARIBU ANALISIS PERBANDINGAN ALGORITMA QUICKSORT, 3 WAY QUICKSORT, DAN RADIXSORT SKRIPSI PLOREN PERONICA PASARIBU 131421038 PROGRAM STUDI EKSTENSI S1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

Lebih terperinci

IMPLEMENTASI ALGORTIMA PENCOCOKAN STRING COLUSSI PADA APLIKASI KAMUS BIOLOGI BERBASIS ANDROID SKRIPSI DIAN SARTINI

IMPLEMENTASI ALGORTIMA PENCOCOKAN STRING COLUSSI PADA APLIKASI KAMUS BIOLOGI BERBASIS ANDROID SKRIPSI DIAN SARTINI IMPLEMENTASI ALGORTIMA PENCOCOKAN STRING COLUSSI PADA APLIKASI KAMUS BIOLOGI BERBASIS ANDROID SKRIPSI DIAN SARTINI 121401053 PROGRAM STUDI S1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

Lebih terperinci

IMPLEMENTASI METODE STRING MATCHING UNTUK APLIKASI PENGARSIPAN DOKUMEN (STUDI KASUS : SMPN 3 SUMBER KAB. CIREBON)

IMPLEMENTASI METODE STRING MATCHING UNTUK APLIKASI PENGARSIPAN DOKUMEN (STUDI KASUS : SMPN 3 SUMBER KAB. CIREBON) JURNAL DIGIT, Vol. 7 No.1 Mei 2017, pp. 50~61 50 IMPLEMENTASI METODE STRING MATCHING UNTUK APLIKASI PENGARSIPAN DOKUMEN (STUDI KASUS : SMPN 3 SUMBER KAB. CIREBON) Ida Mulyawati 1, Ridho Taufiq Subagio

Lebih terperinci

IMPLEMENTASI ALGORITMA HORSPOOL DALAM PEMBUATAN KAMUS ISTILAH PSIKOLOGI PADA PLATFORM ANDROID SKRIPSI ADE MUTIARA KARTIKA DEWI NASUTION

IMPLEMENTASI ALGORITMA HORSPOOL DALAM PEMBUATAN KAMUS ISTILAH PSIKOLOGI PADA PLATFORM ANDROID SKRIPSI ADE MUTIARA KARTIKA DEWI NASUTION IMPLEMENTASI ALGORITMA HORSPOOL DALAM PEMBUATAN KAMUS ISTILAH PSIKOLOGI PADA PLATFORM ANDROID SKRIPSI ADE MUTIARA KARTIKA DEWI NASUTION 121401059 PROGRAM STUDI S1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN

Lebih terperinci

ANALISIS DAN PERBANDINGAN ALGORITMAL-DEQUE DANALGORITMA BELLMAN-FORD DALAM MENCARI JARAK TERPENDEK SKRIPSI

ANALISIS DAN PERBANDINGAN ALGORITMAL-DEQUE DANALGORITMA BELLMAN-FORD DALAM MENCARI JARAK TERPENDEK SKRIPSI ANALISIS DAN PERBANDINGAN ALGORITMAL-DEQUE DANALGORITMA BELLMAN-FORD DALAM MENCARI JARAK TERPENDEK SKRIPSI NATASHA MAHARANI SIREGAR 121401099 PROGRAM STUDI S-1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN

Lebih terperinci

IMPLEMENTASI ALGORITMA KRIPTOGRAFI HILL CIPHER DAN KOMPRESI DATA MENGGUNAKAN ALGORITMA LEVENSTEIN DALAM PENGAMANAN FILE TEKS SKRIPSI

IMPLEMENTASI ALGORITMA KRIPTOGRAFI HILL CIPHER DAN KOMPRESI DATA MENGGUNAKAN ALGORITMA LEVENSTEIN DALAM PENGAMANAN FILE TEKS SKRIPSI 0 IMPLEMENTASI ALGORITMA KRIPTOGRAFI HILL CIPHER DAN KOMPRESI DATA MENGGUNAKAN ALGORITMA LEVENSTEIN DALAM PENGAMANAN FILE TEKS SKRIPSI WINDI SAPUTRI SIMAMORA 131401085 PROGRAM STUDI S-1 ILMU KOMPUTER FAKULTAS

Lebih terperinci

IMPLEMENTASI ALGORITMA BLOWFISH PADA APLIKASI ENKRIPSI DAN DEKRIPSI CITRA BERBASIS WINDOWS SKRIPSI AHDA ANDI KURNIA

IMPLEMENTASI ALGORITMA BLOWFISH PADA APLIKASI ENKRIPSI DAN DEKRIPSI CITRA BERBASIS WINDOWS SKRIPSI AHDA ANDI KURNIA IMPLEMENTASI ALGORITMA BLOWFISH PADA APLIKASI ENKRIPSI DAN DEKRIPSI CITRA BERBASIS WINDOWS SKRIPSI AHDA ANDI KURNIA 111401104 PROGRAM STUDI S-1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

Lebih terperinci

PERBANDINGAN ALGORITMA EVEN-RODEH CODE DAN ALGORITMA VARIABLE LENGTH BINARY ENCODING (VLBE) PADA KOMPRESI FILE TEKS SKRIPSI

PERBANDINGAN ALGORITMA EVEN-RODEH CODE DAN ALGORITMA VARIABLE LENGTH BINARY ENCODING (VLBE) PADA KOMPRESI FILE TEKS SKRIPSI PERBANDINGAN ALGORITMA EVEN-RODEH CODE DAN ALGORITMA VARIABLE LENGTH BINARY ENCODING (VLBE) PADA KOMPRESI FILE TEKS SKRIPSI ADE RANI ABDULLAH 121401012 PROGRAM STUDI S1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER

Lebih terperinci

ANALISIS PERBANDINGAN HASIL ALGORITMA HOMOGENEITY DAN ALGORITMA PREWITT UNTUK DETEKSI TEPI PADA CITRA BMP SKRIPSI ZULFADHLI HARAHAP

ANALISIS PERBANDINGAN HASIL ALGORITMA HOMOGENEITY DAN ALGORITMA PREWITT UNTUK DETEKSI TEPI PADA CITRA BMP SKRIPSI ZULFADHLI HARAHAP ANALISIS PERBANDINGAN HASIL ALGORITMA HOMOGENEITY DAN ALGORITMA PREWITT UNTUK DETEKSI TEPI PADA CITRA BMP SKRIPSI ZULFADHLI HARAHAP 111421055 PROGRAM STUDI EKSTENSI S1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER

Lebih terperinci

PERANCANGAN SISTEM PENGAMANAN DAN KOMPRESI DATA TEKS DENGAN FIBONACCI ENCODING DAN ALGORITMA SHANNON-FANO SERTA ALGORITMA DEFLATE SKRIPSI

PERANCANGAN SISTEM PENGAMANAN DAN KOMPRESI DATA TEKS DENGAN FIBONACCI ENCODING DAN ALGORITMA SHANNON-FANO SERTA ALGORITMA DEFLATE SKRIPSI PERANCANGAN SISTEM PENGAMANAN DAN KOMPRESI DATA TEKS DENGAN FIBONACCI ENCODING DAN ALGORITMA SHANNON-FANO SERTA ALGORITMA DEFLATE SKRIPSI MUHAMMAD SOLIHIN 111421078 PROGRAM STUDI EKSTENSI S1 ILMU KOMPUTER

Lebih terperinci

IMPLEMENTASI ALGORITMA PENCOCOKAN STRING KNUTH-MORRIS- PRATT DALAM PEMBUATAN KAMUS KEDOKTERAN PADA PLATFORM ANDROID SKRIPSI

IMPLEMENTASI ALGORITMA PENCOCOKAN STRING KNUTH-MORRIS- PRATT DALAM PEMBUATAN KAMUS KEDOKTERAN PADA PLATFORM ANDROID SKRIPSI IMPLEMENTASI ALGORITMA PENCOCOKAN STRING KNUTH-MORRIS- PRATT DALAM PEMBUATAN KAMUS KEDOKTERAN PADA PLATFORM ANDROID SKRIPSI ARIEF TRY HIDAYAT 101401080 PROGRAM STUDI S1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER

Lebih terperinci

Universitas Sumatera Utara

Universitas Sumatera Utara PERSETUJUAN Judul : PERBANDINGAN ALGORITMA STEGANOGRAFI ECHO DATA HIDING DAN LOW BIT ENCODING DALAM PENGAMANAN FILE Kategori : SKRIPSI Nama : MELLY Nomor Induk Mahasiswa : 131401136 Program Studi : SARJANA(S1)

Lebih terperinci

OTOMATISASI INDEKS EBOOK ALGORITHMS DENGAN MENGGUNAKAN ALGORITMA KNUTH-MORRIS- PRATT DAN ALGORITMA QUICKSORT SKRIPSI MUHAMMAD TP FAZIL

OTOMATISASI INDEKS EBOOK ALGORITHMS DENGAN MENGGUNAKAN ALGORITMA KNUTH-MORRIS- PRATT DAN ALGORITMA QUICKSORT SKRIPSI MUHAMMAD TP FAZIL OTOMATISASI INDEKS EBOOK ALGORITHMS DENGAN MENGGUNAKAN ALGORITMA KNUTH-MORRIS- PRATT DAN ALGORITMA QUICKSORT SKRIPSI MUHAMMAD TP FAZIL 141421045 PROGRAM STUDI EKSTENSI S1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER

Lebih terperinci

BAB 1 PENDAHULUAN. Universitas Sumatera Utara

BAB 1 PENDAHULUAN. Universitas Sumatera Utara BAB 1 PENDAHULUAN 1.1 Latar Belakang Dunia pendidikan dan ilmu pengetahuan pada saat ini semakin berkembang dengan pesat yang disertai dengan semakin banyaknya arus informasi dan ilmu pengetahuan ilmiah

Lebih terperinci

PERBANDINGAN KINERJA ALGORITMA FIXED LENGTH BINARY ENCODING (FLBE) DENGAN VARIABLE LENGTH BINARY ENCODING (VLBE) DALAM KOMPRESI TEXT FILE SKRIPSI

PERBANDINGAN KINERJA ALGORITMA FIXED LENGTH BINARY ENCODING (FLBE) DENGAN VARIABLE LENGTH BINARY ENCODING (VLBE) DALAM KOMPRESI TEXT FILE SKRIPSI PERBANDINGAN KINERJA ALGORITMA FIXED LENGTH BINARY ENCODING (FLBE) DENGAN VARIABLE LENGTH BINARY ENCODING (VLBE) DALAM KOMPRESI TEXT FILE SKRIPSI DEBORA VILIANA 121421016 PROGRAM STUDI EKSTENSI S1 ILMU

Lebih terperinci

IMPLEMENTASI STEGANOGRAPHY NATURE OF WHITESPACE (SNOW) BERBASIS WEB MENGGUNAKAN METODE WHITESPACE SKRIPSI POPPY TANIA

IMPLEMENTASI STEGANOGRAPHY NATURE OF WHITESPACE (SNOW) BERBASIS WEB MENGGUNAKAN METODE WHITESPACE SKRIPSI POPPY TANIA 1 IMPLEMENTASI STEGANOGRAPHY NATURE OF WHITESPACE (SNOW) BERBASIS WEB MENGGUNAKAN METODE WHITESPACE SKRIPSI POPPY TANIA 101401018 PROGRAM STUDI S1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

Lebih terperinci

IMPLEMENTASI METODE GENERATE AND TEST DALAM PENYELESAIAN PUZZLE 2048 BERBASIS MOBILE SKRIPSI

IMPLEMENTASI METODE GENERATE AND TEST DALAM PENYELESAIAN PUZZLE 2048 BERBASIS MOBILE SKRIPSI IMPLEMENTASI METODE GENERATE AND TEST DALAM PENYELESAIAN PUZZLE 2048 BERBASIS MOBILE SKRIPSI DEVINA PRATIWI HALIM 101401094 PROGRAM STUDI S1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

Lebih terperinci

SISTEM PENDUKUNG KEPUTUSAN PENENTUAN KELAYAKAN CALON ASISTEN LABORATORIUM BERBASIS ANDROID MENGGUNAKAN ALGORITMA ITERATIVE DICHOTOMISER 3 (ID3)

SISTEM PENDUKUNG KEPUTUSAN PENENTUAN KELAYAKAN CALON ASISTEN LABORATORIUM BERBASIS ANDROID MENGGUNAKAN ALGORITMA ITERATIVE DICHOTOMISER 3 (ID3) iii SISTEM PENDUKUNG KEPUTUSAN PENENTUAN KELAYAKAN CALON ASISTEN LABORATORIUM BERBASIS ANDROID MENGGUNAKAN ALGORITMA ITERATIVE DICHOTOMISER 3 (ID3) SKRIPSI VITO ERPINDO 101401027 PROGRAM STUDI S1 ILMU

Lebih terperinci

IMPLEMENTASI STEGANOGRAFI HOPPING SPREAD SPECTRUM KE DALAM FILE VIDEO SKRIPSI

IMPLEMENTASI STEGANOGRAFI HOPPING SPREAD SPECTRUM KE DALAM FILE VIDEO SKRIPSI IMPLEMENTASI STEGANOGRAFI HOPPING SPREAD SPECTRUM KE DALAM FILE VIDEO SKRIPSI RICKY STEVEN 111401052 PROGRAM STUDI S1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA

Lebih terperinci

PROGRAM STUDI S1 ILMU KOMPUTER

PROGRAM STUDI S1 ILMU KOMPUTER IMPLEMENTASI SISTEM PENDUKUNG KEPUTUSAN (SPK) DENGAN METODE FUZZY LOGIC DAN PROFILE MATCHING DALAM SELEKSI PEMAIN FUTSAL (STUDI KASUS:PRA PON FUTSAL SUMATERA UTARA) SKRIPSI M IQBAL LUBIS 111401082 PROGRAM

Lebih terperinci

PERBANDINGAN STRING MATCHING ALGORITMA QUICK SEARCH DENGAN ALGORITMA BERRY RAVINDRAN PADA APLIKASI KAMUS BAHASA INDONESIA PERANCIS BERBASIS WEB

PERBANDINGAN STRING MATCHING ALGORITMA QUICK SEARCH DENGAN ALGORITMA BERRY RAVINDRAN PADA APLIKASI KAMUS BAHASA INDONESIA PERANCIS BERBASIS WEB PERBANDINGAN STRING MATCHING ALGORITMA QUICK SEARCH DENGAN ALGORITMA BERRY RAVINDRAN PADA APLIKASI KAMUS BAHASA INDONESIA PERANCIS BERBASIS WEB SKRIPSI NADHIRA DWI SABRINA 121401084 PROGRAM STUDI S1 ILMU

Lebih terperinci

Analisis Algoritma Knuth Morris Pratt dan Algoritma Boyer Moore dalam Proses Pencarian String

Analisis Algoritma Knuth Morris Pratt dan Algoritma Boyer Moore dalam Proses Pencarian String Analisis Algoritma Knuth Morris Pratt dan Algoritma Boyer Moore dalam Proses Pencarian String Rama Aulia Program Studi Teknik Informatika, Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung

Lebih terperinci

BAB I PENDAHULUAN I.1. Latar Belakang [1] [2] [3] [4] [5]

BAB I PENDAHULUAN I.1. Latar Belakang [1] [2] [3] [4] [5] BAB I PENDAHULUAN I.1. Latar Belakang Algoritma adalah prosedur komputasi yang terdefinisi dengan baik yang menggunakan beberapa nilai sebagai masukan dan menghasilkan beberapa nilai yang disebut keluaran.

Lebih terperinci

BAB I PENDAHULUAN 1.1. Latar Belakang

BAB I PENDAHULUAN 1.1. Latar Belakang BAB I PENDAHULUAN 1.1. Latar Belakang Perkembangan teknologi sudah dirasakan penting oleh manusia dalam era globalisasi saat ini. Hal itu terjadi karena kemajuan teknologi yang ada tidak dapat dipisahkan

Lebih terperinci

Analisis Perbandingan Performansi Algoritma Zhu-Takaoka dan Algoritma Karp-Rabin Pada Pencarian Kata Di Rumah Baca Buku Sunda

Analisis Perbandingan Performansi Algoritma Zhu-Takaoka dan Algoritma Karp-Rabin Pada Pencarian Kata Di Rumah Baca Buku Sunda Analisis Perbandingan Performansi Algoritma Zhu-Takaoka dan Algoritma Karp-Rabin Pada Pencarian Kata Di Rumah Baca Buku Sunda LATAR BELAKANG RUMAH BACA BUKU SUNDA BANYAKNYA Buku Banyaknya Algoritma 35

Lebih terperinci

PROGRAM STUDI EKSTENSI S1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA MEDAN 2014

PROGRAM STUDI EKSTENSI S1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA MEDAN 2014 IMPLEMENTASI PERBANDINGAN METODE PROFILE MATCHING DAN SIMPLE ADDITIVE WEIGHTING (SAW) DALAM PENILAIAN KINERJA KARYAWAN (STUDI KASUS DINAS KEBUDAYAAN DAN PARIWISATA PROVINSI SUMATERA UTARA) SKRIPSI IBRAHIM

Lebih terperinci

BAB III ANALISIS DAN PERANCANGAN SISTEM

BAB III ANALISIS DAN PERANCANGAN SISTEM BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1. Analisis Sistem Analisis sistem adalah suatu bentuk penguraian suatu sistem informasi yang yang lengkap ke dalam bagian-bagian komponennya dengan tujuan mengindentifikasi

Lebih terperinci

BAB I PENDAHULUAN Latar Belakang

BAB I PENDAHULUAN Latar Belakang BAB I PENDAHULUAN 1.1. Latar Belakang Teknologi telekomunikasi memiliki peranan penting bagi pembangunan Nasional, karena telekomunikasi dapat menyalurkan dan menyediakan informasi secara cepat bagi manusia

Lebih terperinci

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI BAB 2 LANDASAN TEORI 2.1. Information Retrieval System 2.1.1. Pengertian Information Retrieval System Information retrieval system merupakan bagian dari bidang ilmu komputer yang bertujuan untuk pengambilan

Lebih terperinci

SISTEM INFORMASI GEOGRAFIS BERBASIS WEB UNTUK MENENTUKAN JARAK TERPENDEK MENGGUNAKAN ALGORITMA DIJKSTRA (Studi Kasus : Plaza / Mall Dikota Medan)

SISTEM INFORMASI GEOGRAFIS BERBASIS WEB UNTUK MENENTUKAN JARAK TERPENDEK MENGGUNAKAN ALGORITMA DIJKSTRA (Studi Kasus : Plaza / Mall Dikota Medan) SISTEM INFORMASI GEOGRAFIS BERBASIS WEB UNTUK MENENTUKAN JARAK TERPENDEK MENGGUNAKAN ALGORITMA DIJKSTRA (Studi Kasus : Plaza / Mall Dikota Medan) SKRIPSI ADLY AZHARY 101421060 PROGRAM STUDI S1 EKSTENSI

Lebih terperinci

ANALISIS KINERJA DAN IMPLEMENTASI ALGORITMA KOMPRESI ARITHMETIC CODING PADA FILE TEKS DAN CITRA DIGITAL SKRIPSI SARIFAH

ANALISIS KINERJA DAN IMPLEMENTASI ALGORITMA KOMPRESI ARITHMETIC CODING PADA FILE TEKS DAN CITRA DIGITAL SKRIPSI SARIFAH ANALISIS KINERJA DAN IMPLEMENTASI ALGORITMA KOMPRESI ARITHMETIC CODING PADA FILE TEKS DAN CITRA DIGITAL SKRIPSI SARIFAH 061401090 PROGRAM STUDI S1 ILMU KOMPUTER DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA

Lebih terperinci

BAB 1 PENDAHULUAN Latar Belakang

BAB 1 PENDAHULUAN Latar Belakang BAB 1 PENDAHULUAN 1.1. Latar Belakang Dalam ilmu kesehatan banyak terdapat istilah medis yang berasal dari bahasa Yunani atau Latin. Secara umum, istilah yang berkaitan dengan diagnosis dan operasi memiliki

Lebih terperinci

PERBANDINGAN ALGORITMA TURBO BOYER MOORE DAN STRING MATCHING ON ORDERED ALPHABETS UNTUK APLIKASI KAMUS FISIKA BERBASIS ANDROID SKRIPSI

PERBANDINGAN ALGORITMA TURBO BOYER MOORE DAN STRING MATCHING ON ORDERED ALPHABETS UNTUK APLIKASI KAMUS FISIKA BERBASIS ANDROID SKRIPSI PERBANDINGAN ALGORITMA TURBO BOYER MOORE DAN STRING MATCHING ON ORDERED ALPHABETS UNTUK APLIKASI KAMUS FISIKA BERBASIS ANDROID SKRIPSI NURMARDIAH SIREGAR 121401071 PROGRAM STUDI S1 ILMU KOMPUTER FAKULTAS

Lebih terperinci

BAB 1 PENDAHULUAN Latar Belakang

BAB 1 PENDAHULUAN Latar Belakang BAB 1 PENDAHULUAN 1.1. Latar Belakang Lahirnya teknologi informasi komputer dan fasilitas pendukungnya seperti layanan internet saat ini membuat perkembangan yang sangat luas. Segala informasi-informasi

Lebih terperinci

PERBANDINGAN ALGORITMA BOYER MOORE DAN ALGORITMA BRUTE FORCE DALAM PEMBUATAN KAMUS BAHASA MANDARIN INDONESIA INGGRIS PLATFORM ANDROID SKRIPSI

PERBANDINGAN ALGORITMA BOYER MOORE DAN ALGORITMA BRUTE FORCE DALAM PEMBUATAN KAMUS BAHASA MANDARIN INDONESIA INGGRIS PLATFORM ANDROID SKRIPSI PERBANDINGAN ALGORITMA BOYER MOORE DAN ALGORITMA BRUTE FORCE DALAM PEMBUATAN KAMUS BAHASA MANDARIN INDONESIA INGGRIS PLATFORM ANDROID SKRIPSI IVAN GRACE HALIM 101401086 PROGRAM S1 ILMU KOMPUTER FAKULTAS

Lebih terperinci

SKRIPSI SHERLY MELISA SEMBIRING

SKRIPSI SHERLY MELISA SEMBIRING SISTEM PENDUKUNG KEPUTUSAN PENENTUAN KELAYAKAN CALON TENAGA KERJA INDONESIA (TKI) KE LUAR NEGERI MENGGUNAKAN METODE SIMPLE ADDITIVE WEIGHTING (SAW) DAN SIMPLE MULTI - ATTRIBUTE RATING TECHNIQUE (SMART)

Lebih terperinci

PERANCANGAN APLIKASI TEXT EDITOR DENGAN MENERAPKAN ALGORITMA KNUTH-MORRIS-PRATT

PERANCANGAN APLIKASI TEXT EDITOR DENGAN MENERAPKAN ALGORITMA KNUTH-MORRIS-PRATT Jurnal Riset Komputer (JURIKOM), Vol. No., Agustus ISSN -X (Media Cetak) Hal : - PERANCANGAN APLIKASI TEXT EDITOR DENGAN MENERAPKAN ALGORITMA KNUTH-MORRIS-PRATT Firman Matondang, Nelly Astuti Hasibuan,

Lebih terperinci

ANALISIS DUPLICATE FILE FINDER MENGGUNAKAN METODE MD5 HASH SKRIPSI WAHYUNI FARAH JUWITA

ANALISIS DUPLICATE FILE FINDER MENGGUNAKAN METODE MD5 HASH SKRIPSI WAHYUNI FARAH JUWITA ANALISIS DUPLICATE FILE FINDER MENGGUNAKAN METODE MD5 HASH SKRIPSI WAHYUNI FARAH JUWITA 111421081 PROGRAM STUDI EKSTENSI S1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA

Lebih terperinci

SKRIPSI BILQIS

SKRIPSI BILQIS ANALISIS DAN PERANCANGAN APLIKASI PESAN RAHASIA MENGGUNAKAN ALGORITMA ONE TIME PAD (OTP) DENGAN PEMBANGKIT BILANGAN ACAK LINEAR CONGRUENTIAL GENERATOR (LCG) SKRIPSI BILQIS 081401072 PROGRAM STUDI S1 ILMU

Lebih terperinci

IMPLEMENTASI KOMBINASI ALGORITMA BEAUFORT DAN ALGORITMA SPRITZ DALAM SKEMA SUPER ENKRIPSI UNTUK PENGAMANAN TEKS SKRIPSI TIA RAHMADIANTI

IMPLEMENTASI KOMBINASI ALGORITMA BEAUFORT DAN ALGORITMA SPRITZ DALAM SKEMA SUPER ENKRIPSI UNTUK PENGAMANAN TEKS SKRIPSI TIA RAHMADIANTI IMPLEMENTASI KOMBINASI ALGORITMA BEAUFORT DAN ALGORITMA SPRITZ DALAM SKEMA SUPER ENKRIPSI UNTUK PENGAMANAN TEKS SKRIPSI TIA RAHMADIANTI 131401026 PROGRAM STUDI S-1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER

Lebih terperinci

PERANCANGAN APLIKASI PAILLIER CRYPTOSYSTEM UNTUK MENGAMANKAN DATA FILE SKRIPSI NOVY

PERANCANGAN APLIKASI PAILLIER CRYPTOSYSTEM UNTUK MENGAMANKAN DATA FILE SKRIPSI NOVY PERANCANGAN APLIKASI PAILLIER CRYPTOSYSTEM UNTUK MENGAMANKAN DATA FILE SKRIPSI NOVY 071401034 PROGRAM STUDI S1 ILMU KOMPUTER DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS

Lebih terperinci

ANALISIS DAN PERBANDINGAN ALGORITMA L-QUEUE DAN ALGORITMA FLOYD DALAM PENENTUAN LINTASAN TERPENDEK PADA GRAPH SKRIPSI

ANALISIS DAN PERBANDINGAN ALGORITMA L-QUEUE DAN ALGORITMA FLOYD DALAM PENENTUAN LINTASAN TERPENDEK PADA GRAPH SKRIPSI ANALISIS DAN PERBANDINGAN ALGORITMA L-QUEUE DAN ALGORITMA FLOYD DALAM PENENTUAN LINTASAN TERPENDEK PADA GRAPH SKRIPSI DHIKA HANDAYANI RANGKUTI 121401110 PROGRAM STUDI S-1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER

Lebih terperinci

ANALISIS PERBANDINGAN KOMPRESI CITRA MENGGUNAKAN METODE JOINT PHOTOGRAPHIC EXPERTS GROUP (JPEG) DAN BURROWS-WHEELER TRANSFORM (BWT) SKRIPSI

ANALISIS PERBANDINGAN KOMPRESI CITRA MENGGUNAKAN METODE JOINT PHOTOGRAPHIC EXPERTS GROUP (JPEG) DAN BURROWS-WHEELER TRANSFORM (BWT) SKRIPSI ANALISIS PERBANDINGAN KOMPRESI CITRA MENGGUNAKAN METODE JOINT PHOTOGRAPHIC EXPERTS GROUP (JPEG) DAN BURROWS-WHEELER TRANSFORM (BWT) SKRIPSI YUDHA PRAYOGIE S 101401006 PROGRAM STUDI S1 ILMU KOMPUTER FAKULTAS

Lebih terperinci

PERANCANGAN PERANGKAT LUNAK PENENTUAN JALUR KRITIS DARI SUATU JARINGAN KERJA PROYEK SKRIPSI AYU NURIANA SEBAYANG

PERANCANGAN PERANGKAT LUNAK PENENTUAN JALUR KRITIS DARI SUATU JARINGAN KERJA PROYEK SKRIPSI AYU NURIANA SEBAYANG PERANCANGAN PERANGKAT LUNAK PENENTUAN JALUR KRITIS DARI SUATU JARINGAN KERJA PROYEK SKRIPSI AYU NURIANA SEBAYANG 041401047 PROGRAM STUDI S1 ILMU KOMPUTER DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN

Lebih terperinci

ANALISIS STRING MATCHING PADA JUDUL SKRIPSI DENGAN ALGORITMA KNUTH-MORRIS PRATT (KMP)

ANALISIS STRING MATCHING PADA JUDUL SKRIPSI DENGAN ALGORITMA KNUTH-MORRIS PRATT (KMP) ANALISIS STRING MATCHING PADA JUDUL SKRIPSI DENGAN ALGORITMA KNUTH-MORRIS PRATT (KMP) Wistiani Astuti whistieruslank@gmail.com Teknik Informatika, Universitas Muslim Indonesia Abstrak Skripsi adalah suatu

Lebih terperinci

TECHNICAL REPORT PENGGUNAAN ALGORITMA PENCOCOKAN STRING BOYER-MOORE DALAM MENDETEKSI PENGAKSESAN SITUS INTERNET TERLARANG

TECHNICAL REPORT PENGGUNAAN ALGORITMA PENCOCOKAN STRING BOYER-MOORE DALAM MENDETEKSI PENGAKSESAN SITUS INTERNET TERLARANG TECHNICAL REPORT PENGGUNAAN ALGORITMA PENCOCOKAN STRING BOYER-MOORE DALAM MENDETEKSI PENGAKSESAN SITUS INTERNET TERLARANG Ario Yudo Husodo Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung

Lebih terperinci

IMPLEMENTASI DAN ANALISIS ALGORITMA DYNAMIC MARKOV COMPRESSION (DMC) PADA FILE TEXT

IMPLEMENTASI DAN ANALISIS ALGORITMA DYNAMIC MARKOV COMPRESSION (DMC) PADA FILE TEXT IMPLEMENTASI DAN ANALISIS ALGORITMA DYNAMIC MARKOV COMPRESSION (DMC) PADA FILE TEXT SKRIPSI FIKTARUDDIN 091401075 PROGRAM STUDI S1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS

Lebih terperinci

METODE HYBRID (BAYES DAN MULTIFACTOR EVALUATION PROCESS) DALAM SISTEM PENDUKUNG KEPUTUSAN SKRIPSI KHAIRUN NISA

METODE HYBRID (BAYES DAN MULTIFACTOR EVALUATION PROCESS) DALAM SISTEM PENDUKUNG KEPUTUSAN SKRIPSI KHAIRUN NISA METODE HYBRID (BAYES DAN MULTIFACTOR EVALUATION PROCESS) DALAM SISTEM PENDUKUNG KEPUTUSAN SKRIPSI KHAIRUN NISA 111401024 PROGRAM STUDI S1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS

Lebih terperinci

Penerapan Pencocokan String pada Aplikasi Kamusku Indonesia

Penerapan Pencocokan String pada Aplikasi Kamusku Indonesia Penerapan Pencocokan String pada Aplikasi Kamusku Indonesia Reno Rasyad - 13511045 1 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung

Lebih terperinci

SKRIPSI TEUKU IGHFAR HAJAR

SKRIPSI TEUKU IGHFAR HAJAR IMPLEMENTASI ALGORITMA LEVENSHTEIN DISTANCE DAN BOYER MOORE UNTUK FITUR AUTOCOMPLETE DAN AUTOCORRECT PADA APLIKASI KATALOG PERPUSTAKAAN DAERAH ACEH TIMUR SKRIPSI TEUKU IGHFAR HAJAR 131421063 PROGRAM STUDI

Lebih terperinci

PROGRAM STUDI S1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA MEDAN 2017

PROGRAM STUDI S1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA MEDAN 2017 PERBANDINGAN ALGORITMA BITAP DAN NOT SO NAΪVE PADA APLIKASI KAMUS ISTILAH AGAMA ISLAM SKRIPSI M. ILYAS DALIMAR 131401126 PROGRAM STUDI S1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS

Lebih terperinci

PENGENALAN POLA PIN BARCODE MENGGUNAKAN METODE BACKPROPAGATION DAN METODE PERCEPTRON SKRIPSI ARDI HASIHOLAN

PENGENALAN POLA PIN BARCODE MENGGUNAKAN METODE BACKPROPAGATION DAN METODE PERCEPTRON SKRIPSI ARDI HASIHOLAN PENGENALAN POLA PIN BARCODE MENGGUNAKAN METODE BACKPROPAGATION DAN METODE PERCEPTRON SKRIPSI ARDI HASIHOLAN 091401072 PROGRAM STUDI S1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS

Lebih terperinci

BAB III ANALISIS DAN PERANCANGAN

BAB III ANALISIS DAN PERANCANGAN 17 BAB III ANALISIS DAN PERANCANGAN 3.1 Analisis Sistem Analisis sistem adalah tahapan untuk memahami sistem dan komponen-komponen bagian dalam sistem dengan maksud mengidentifikasi dan mengevaluasi permasalahan

Lebih terperinci

ANALISIS PERBANDINGAN ALGORITMA HUFFMAN DAN RUN LENGTH ENCODING PADA KOMPRESI FILE AUDIO SKRIPSI HELBERT SINAGA

ANALISIS PERBANDINGAN ALGORITMA HUFFMAN DAN RUN LENGTH ENCODING PADA KOMPRESI FILE AUDIO SKRIPSI HELBERT SINAGA ANALISIS PERBANDINGAN ALGORITMA HUFFMAN DAN RUN LENGTH ENCODING PADA KOMPRESI FILE AUDIO SKRIPSI HELBERT SINAGA 131421097 PROGRAM STUDI S1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS

Lebih terperinci

IMPLEMENTASI DETEKSI TEPI CITRA MANUSKRIP KUNO DENGAN METODE KOMBINASI GRADIEN PREWIT DAN SOBEL SKRIPSI MUHAMMAD TEGUH AMANDA

IMPLEMENTASI DETEKSI TEPI CITRA MANUSKRIP KUNO DENGAN METODE KOMBINASI GRADIEN PREWIT DAN SOBEL SKRIPSI MUHAMMAD TEGUH AMANDA IMPLEMENTASI DETEKSI TEPI CITRA MANUSKRIP KUNO DENGAN METODE KOMBINASI GRADIEN PREWIT DAN SOBEL SKRIPSI MUHAMMAD TEGUH AMANDA 111401009 PROGRAM STUDI S-1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI

Lebih terperinci

PERANCANGAN FITUR AUTOCOMPLETE PADA APLIKASI KAMUS ISTILAH TEKNOLOGI INFORMASI MENGGUNAKAN ALGORITMA BOYER-MOORE SKRIPSI SITI MORIZA TANIA

PERANCANGAN FITUR AUTOCOMPLETE PADA APLIKASI KAMUS ISTILAH TEKNOLOGI INFORMASI MENGGUNAKAN ALGORITMA BOYER-MOORE SKRIPSI SITI MORIZA TANIA PERANCANGAN FITUR AUTOCOMPLETE PADA APLIKASI KAMUS ISTILAH TEKNOLOGI INFORMASI MENGGUNAKAN ALGORITMA BOYER-MOORE SKRIPSI SITI MORIZA TANIA 101402076 PROGRAM STUDI S1 TEKNOLOGI INFORMASI FAKULTAS ILMU KOMPUTER

Lebih terperinci

BAB II LANDASAN TEORI

BAB II LANDASAN TEORI BAB II LANDASAN TEORI 2.1. Algoritma Algoritma adalah logika, metode dan tahapan (urutan) sistematis yang digunakan untuk memecahkan suatu permasalahan (Utami, 2005).Algoritma adalah urutan langkah-langkah

Lebih terperinci

Aplikasi String Matching Pada Fitur Auto-Correct dan Word-Suggestion

Aplikasi String Matching Pada Fitur Auto-Correct dan Word-Suggestion Aplikasi String Matching Pada Fitur Auto-Correct dan Word-Suggestion Johan - 13514206 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10

Lebih terperinci

ANALISIS DAN PERANCANGAN APLIKASI PENERIMAAN SISWA BARU MENGGUNAKAN METODE SAW DAN METODE PROMETHEE (STUDI KASUS : SMAN 1 TEBING TINGGI) SKRIPSI

ANALISIS DAN PERANCANGAN APLIKASI PENERIMAAN SISWA BARU MENGGUNAKAN METODE SAW DAN METODE PROMETHEE (STUDI KASUS : SMAN 1 TEBING TINGGI) SKRIPSI i ANALISIS DAN PERANCANGAN APLIKASI PENERIMAAN SISWA BARU MENGGUNAKAN METODE SAW DAN METODE PROMETHEE (STUDI KASUS : SMAN 1 TEBING TINGGI) SKRIPSI FIRDHA SEPTIA 111421073 PROGRAM STUDI EKSTENSI S1 ILMU

Lebih terperinci

PERANCANGAN SISTEM PENDUKUNG KEPUTUSAN PENENTUAN JUMLAH PRODUKSI DENGAN METODE TSUKAMOTO (Studi Kasus pada PT Tanindo Subur Prima) SKRIPSI

PERANCANGAN SISTEM PENDUKUNG KEPUTUSAN PENENTUAN JUMLAH PRODUKSI DENGAN METODE TSUKAMOTO (Studi Kasus pada PT Tanindo Subur Prima) SKRIPSI PERANCANGAN SISTEM PENDUKUNG KEPUTUSAN PENENTUAN JUMLAH PRODUKSI DENGAN METODE TSUKAMOTO (Studi Kasus pada PT Tanindo Subur Prima) SKRIPSI LUNAWATI 071401045 PROGRAM STUDI S1 ILMU KOMPUTER DEPARTEMEN ILMU

Lebih terperinci

ANALISIS DAN PERANCANGAN SISTEM PAKAR UNTUK MENDIAGNOSIS PENYAKIT TANAMAN KARET MENGGUNAKAN METODE FAKTOR KEPASTIAN (CERTAINTY FACTOR) PADA SMARTPHONE

ANALISIS DAN PERANCANGAN SISTEM PAKAR UNTUK MENDIAGNOSIS PENYAKIT TANAMAN KARET MENGGUNAKAN METODE FAKTOR KEPASTIAN (CERTAINTY FACTOR) PADA SMARTPHONE i ANALISIS DAN PERANCANGAN SISTEM PAKAR UNTUK MENDIAGNOSIS PENYAKIT TANAMAN KARET MENGGUNAKAN METODE FAKTOR KEPASTIAN (CERTAINTY FACTOR) PADA SMARTPHONE SKRIPSI Diajukan untuk melengkapi tugas dan memenuhi

Lebih terperinci

IMPLEMENTASI KOMBINASI ALGORITMA COLUMNAR TRANSPOSITION CIPHER DAN DATA ENCRYPTION STANDARD PADA APLIKASI ENKRIPSI DAN DEKRIPSI TEKS BERBASIS ANDROID

IMPLEMENTASI KOMBINASI ALGORITMA COLUMNAR TRANSPOSITION CIPHER DAN DATA ENCRYPTION STANDARD PADA APLIKASI ENKRIPSI DAN DEKRIPSI TEKS BERBASIS ANDROID IMPLEMENTASI KOMBINASI ALGORITMA COLUMNAR TRANSPOSITION CIPHER DAN DATA ENCRYPTION STANDARD PADA APLIKASI ENKRIPSI DAN DEKRIPSI TEKS BERBASIS ANDROID SKRIPSI SAMUEL PANJAITAN 111401111 PROGRAM STUDI S1

Lebih terperinci

ANALISIS PERBANDINGAN GEOMETRIC MEAN FILTER DENGAN OPERATOR SOBEL, OPERATOR PREWITT DAN OPERATOR ROBERT PADA CITRA BITMAP SKRIPSI

ANALISIS PERBANDINGAN GEOMETRIC MEAN FILTER DENGAN OPERATOR SOBEL, OPERATOR PREWITT DAN OPERATOR ROBERT PADA CITRA BITMAP SKRIPSI ANALISIS PERBANDINGAN GEOMETRIC MEAN FILTER DENGAN OPERATOR SOBEL, OPERATOR PREWITT DAN OPERATOR ROBERT PADA CITRA BITMAP SKRIPSI MAGDALENA SIREGAR 111401109 PROGRAM STUDI S1 ILMU KOMPUTER FAKULTAS ILMU

Lebih terperinci

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI BAB 2 LANDASAN TEORI 2.1 Definisi Kamus Kamus menurut KBBI (Kamus Besar Bahasa Indonesia) merupakan buku acuan yang memuat kata dan ungkapan, biasanya disusun menurut abjad berikut keterangan dan makna,

Lebih terperinci

PERBANDINGAN KUALITAS CITRA HASIL KOMPRESI METODE RUN LENGTH ENCODING DENGAN TRANSFORMASI WAVELET DAUBECHIES PADA CITRA DIGITAL SKRIPSI

PERBANDINGAN KUALITAS CITRA HASIL KOMPRESI METODE RUN LENGTH ENCODING DENGAN TRANSFORMASI WAVELET DAUBECHIES PADA CITRA DIGITAL SKRIPSI PERBANDINGAN KUALITAS CITRA HASIL KOMPRESI METODE RUN LENGTH ENCODING DENGAN TRANSFORMASI WAVELET DAUBECHIES PADA CITRA DIGITAL SKRIPSI TEGUH ARIF FEBIANTO 101401063 PROGRAM STUDI S1 ILMU KOMPUTER FAKULTAS

Lebih terperinci

ANALISIS DAN PERANCANGAN APLIKASI STEGANALISIS PADA MEDIA CITRA BMP DENGAN METODE ENHANCED LEAST SIGNIFICANT BIT SKRIPSI DESMAWATI

ANALISIS DAN PERANCANGAN APLIKASI STEGANALISIS PADA MEDIA CITRA BMP DENGAN METODE ENHANCED LEAST SIGNIFICANT BIT SKRIPSI DESMAWATI ANALISIS DAN PERANCANGAN APLIKASI STEGANALISIS PADA MEDIA CITRA BMP DENGAN METODE ENHANCED LEAST SIGNIFICANT BIT SKRIPSI DESMAWATI 091421063 PROGRAM STUDI S1 ILMU KOMPUTER DEPARTEMEN ILMU KOMPUTER FAKULTAS

Lebih terperinci

LAPORAN SKRIPSI RANCANG BANGUN SISTEM ADMINISTRASI BEASISWA PADA KOPERASI PURA GROUP

LAPORAN SKRIPSI RANCANG BANGUN SISTEM ADMINISTRASI BEASISWA PADA KOPERASI PURA GROUP LAPORAN SKRIPSI RANCANG BANGUN SISTEM ADMINISTRASI BEASISWA PADA KOPERASI PURA GROUP Laporan ini disusun guna memenuhi salah satu syarat untuk menyelesaikan program studi Sistem Informasi S-1 pada Fakultas

Lebih terperinci

IMPLEMENTASI ALGORITMA WINNOWING DAN PORTER STEMMER MENDETEKSI KEMIRIPAN DUA DOKUMEN BERBASIS WEB SKRIPSI LIDIA ARTA FERARI

IMPLEMENTASI ALGORITMA WINNOWING DAN PORTER STEMMER MENDETEKSI KEMIRIPAN DUA DOKUMEN BERBASIS WEB SKRIPSI LIDIA ARTA FERARI IMPLEMENTASI ALGORITMA WINNOWING DAN PORTER STEMMER MENDETEKSI KEMIRIPAN DUA DOKUMEN BERBASIS WEB SKRIPSI LIDIA ARTA FERARI 081401077 PROGRAM STUDI S1 ILMU KOMPUTER DEPARTEMEN ILMU KOMPUTER FAKULTAS ILMU

Lebih terperinci

PERANCANGAN APLIKASI DOWNLOAD MANAGER MENGGUNAKAN JAVA2SE DENGAN EDITOR NETBEANS IDE 6.8

PERANCANGAN APLIKASI DOWNLOAD MANAGER MENGGUNAKAN JAVA2SE DENGAN EDITOR NETBEANS IDE 6.8 PERANCANGAN APLIKASI DOWNLOAD MANAGER MENGGUNAKAN JAVA2SE DENGAN EDITOR NETBEANS IDE 6.8 TUGAS AKHIR RAJO PANANGIAN HARAHAP 082406197 DEPARTEMEN MATEMATIKA FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

Lebih terperinci

Penerapan Pencocokan String dalam Aplikasi Duolingo

Penerapan Pencocokan String dalam Aplikasi Duolingo Penerapan Pencocokan String dalam Aplikasi Duolingo Reno Rasyad 13511045 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung 40132,

Lebih terperinci

ANALISIS PERBANDINGAN ALGORITMA HUFFMAN DAN ALGORITMA SEQUITUR DALAM KOMPRESI DATA TEXT SKRIPSI ELSYA SABRINA ASMTA SIMORANGKIR

ANALISIS PERBANDINGAN ALGORITMA HUFFMAN DAN ALGORITMA SEQUITUR DALAM KOMPRESI DATA TEXT SKRIPSI ELSYA SABRINA ASMTA SIMORANGKIR ANALISIS PERBANDINGAN ALGORITMA HUFFMAN DAN ALGORITMA SEQUITUR DALAM KOMPRESI DATA TEXT SKRIPSI ELSYA SABRINA ASMTA SIMORANGKIR 131421029 PROGRAM STUDI S1 EKSTENSI ILMU KOMPUTER FAKULTAS ILMU KOMPUTER

Lebih terperinci

IMPLEMENTASI PERBANDINGAN ALGORITMA ANALYTIC HIERARCHY PROCESS (AHP) DENGAN ALGORITMA SIMPLE ADDITIVE WEIGHTING (SAW) DALAM PEMILIHAN WEBSITE HOSTING

IMPLEMENTASI PERBANDINGAN ALGORITMA ANALYTIC HIERARCHY PROCESS (AHP) DENGAN ALGORITMA SIMPLE ADDITIVE WEIGHTING (SAW) DALAM PEMILIHAN WEBSITE HOSTING IMPLEMENTASI PERBANDINGAN ALGORITMA ANALYTIC HIERARCHY PROCESS (AHP) DENGAN ALGORITMA SIMPLE ADDITIVE WEIGHTING (SAW) DALAM PEMILIHAN WEBSITE HOSTING SKRIPSI PUSPITA TRI UTAMI 121421101 PROGRAM STUDI EKSTENSI

Lebih terperinci

IMPLEMENTASI METODE EXHAUSTIVE SEARCH UNTUK MENENTUKAN SHORTEST PATH ANTAR PUSAT PERBELANJAAN DI KOTA MEDAN SKRIPSI SILVIA NINGSIH PRATIWI

IMPLEMENTASI METODE EXHAUSTIVE SEARCH UNTUK MENENTUKAN SHORTEST PATH ANTAR PUSAT PERBELANJAAN DI KOTA MEDAN SKRIPSI SILVIA NINGSIH PRATIWI IMPLEMENTASI METODE EXHAUSTIVE SEARCH UNTUK MENENTUKAN SHORTEST PATH ANTAR PUSAT PERBELANJAAN DI KOTA MEDAN SKRIPSI SILVIA NINGSIH PRATIWI 121421082 PROGRAM STUDI EKSTENSI S1 ILMU KOMPUTER FAKULTAS ILMU

Lebih terperinci

PERANCANGAN PERMAINAN MENCARI KATA BERBASIS ANDROID MENGGUNAKAN ALGORITMA BRUTE FORCE SKRIPSI ROBET ARIS DWI PUTRA

PERANCANGAN PERMAINAN MENCARI KATA BERBASIS ANDROID MENGGUNAKAN ALGORITMA BRUTE FORCE SKRIPSI ROBET ARIS DWI PUTRA PERANCANGAN PERMAINAN MENCARI KATA BERBASIS ANDROID MENGGUNAKAN ALGORITMA BRUTE FORCE SKRIPSI ROBET ARIS DWI PUTRA 091402109 PROGRAM STUDI TEKNOLOGI INFORMASI FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

Lebih terperinci

SKRIPSI ANANDA PUTRI RITONGA

SKRIPSI ANANDA PUTRI RITONGA PERBANDINGAN SISTEM PENDUKUNG KEPUTUSAN PEMILIHAN CALON KETUA OSIS PADA SMK SWASTA NUSA PENIDA MEDAN DENGAN METODESIMPLE ADDITIVE WEIGHTING&WEIGHTED SUMMODEL BERBASIS ANDROID SKRIPSI ANANDA PUTRI RITONGA

Lebih terperinci

Artikel Ilmiah. Peneliti: Ditya Geraldy ( ) Prof. Dr. Ir. Eko Sediyono, M.Kom. Yos Richard Beeh., S.T., M.Cs.

Artikel Ilmiah. Peneliti: Ditya Geraldy ( ) Prof. Dr. Ir. Eko Sediyono, M.Kom. Yos Richard Beeh., S.T., M.Cs. Studi Perbandingan Algoritma Brute Force, Algoritma Knuth- Morris-Pratt, Algoritma Boyer-Moore untuk Identifikasi Kesalahan Penulisan Teks berbasis Android Artikel Ilmiah Peneliti: Ditya Geraldy (672011064)

Lebih terperinci

BAB 2 TINJAUAN PUSTAKA

BAB 2 TINJAUAN PUSTAKA BAB 2 TINJAUAN PUSTAKA 2.1. Algoritma String Matching Algoritma string matching merupakan komponen dasar dalam pengimplementasian berbagai perangkat lunak praktis yang sudah ada. String matching digunakan

Lebih terperinci

Bab 3 Metoda dan Perancangan Sistem

Bab 3 Metoda dan Perancangan Sistem Bab 3 Metoda dan Perancangan Sistem Pada bab ini akan dibahas mengenai metode perancangan yang digunakan dalam membuat perancangan sistem aplikasi pendeteksian kata beserta rancangan design interface yang

Lebih terperinci

IMPLEMENTASI ALGORITMA BRANCH AND BOUND PADA PENENTUAN MENU MAKANAN PENDERITA ASAM URAT SKRIPSI HEDI HERMAWAN HARAHAP

IMPLEMENTASI ALGORITMA BRANCH AND BOUND PADA PENENTUAN MENU MAKANAN PENDERITA ASAM URAT SKRIPSI HEDI HERMAWAN HARAHAP IMPLEMENTASI ALGORITMA BRANCH AND BOUND PADA PENENTUAN MENU MAKANAN PENDERITA ASAM URAT SKRIPSI HEDI HERMAWAN HARAHAP 111421069 PROGRAM STUDI EKSTENSI S1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI

Lebih terperinci

SISTEM INFORMASI BERBASIS WEB PADA KELURAHAN TAMIANG MENGGUNAKAN PHP DAN MySQL TUGAS AKHIR ADAM MAHMUD

SISTEM INFORMASI BERBASIS WEB PADA KELURAHAN TAMIANG MENGGUNAKAN PHP DAN MySQL TUGAS AKHIR ADAM MAHMUD SISTEM INFORMASI BERBASIS WEB PADA KELURAHAN TAMIANG MENGGUNAKAN PHP DAN MySQL TUGAS AKHIR ADAM MAHMUD 092406032 PROGRAM STUDI D3 TEKNIK INFORMATIKA FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS

Lebih terperinci