ANALISIS PENERAPAN STRING MATCHING DALAM KOMPARASI DATA KEPESERTAAN JAMINAN KESEHATAN MASYARAKAT (JAMKESMAS)

Ukuran: px
Mulai penontonan dengan halaman:

Download "ANALISIS PENERAPAN STRING MATCHING DALAM KOMPARASI DATA KEPESERTAAN JAMINAN KESEHATAN MASYARAKAT (JAMKESMAS)"

Transkripsi

1 ANALISIS PENERAPAN STRING MATCHING DALAM KOMPARASI DATA KEPESERTAAN JAMINAN KESEHATAN MASYARAKAT (JAMKESMAS) Skripsi Diajukan untuk Memenuhi Persyaratan Memperoleh Gelar Sarjana Komputer (S.Kom) Oleh: SRI WULAN NIM : PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH JAKARTA 2011 i

2 ANALISIS PENERAPAN STRING MATCHING DALAM KOMPARASI DATA KEPESERTAAN JAMINAN KESEHATAN MASYARAKAT (JAMKESMAS) Skripsi Sebagai Salah Satu Syarat untuk Memperoleh Gelar Sarjana Komputer Fakultas Sains dan Teknologi Universitas Islam Negeri Syarif Hidayatullah Jakarta Oleh : SRI WULAN NIM PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH JAKARTA 2011 ii

3 iii

4 iv

5 PERNYATAAN DENGAN INI SAYA MENYATAKAN BAHWA SKRIPSI INI BENAR- BENAR HASIL KARYA SENDIRI YANG BELUM PERNAH DIAJUKAN SEBAGAI SKRIPSI ATAU KARYA ILMIAH PADA PERGURUAN TINGGI ATAU LEMBAGA MANAPUN. Jakarta, Maret 2011 Sri Wulan L ( ) v

6 LEMBAR PERSEMBAHAN Tugas akhir (Skripsi) ini sengaja penulis persembahkan teruntuk : 1. Otak, pikiran, jiwa dan organ-organ yang ada dalam tubuh dan diri ini. Selamat atas kerja kerasnya. Ingatlah bahwa tak akan berhenti kita hingga kita melangkah ke jannah-nya karna hidup ini bukan untuk hidup, hidup juga bukan untuk mati, tapi hidup untuk yang Maha Hidup. 2. Kedua orang tua (Bapak dan Mama). Terima kasih atas kasih sayang, perhatian, kecemasan serta berbagai hal yang tak terhitung hingga yang tak pantas untuk dihitung. Hanya jannah-nya lah balasan yang layak untuk keduanya. Amieen. vi

7 KATA PENGANTAR Alhamdulillahirabbil alamin. Segala puji bagi Allah SWT atas segala rahmat dan karunia-nya dalam memberikan jalan dan kemudahan kepada penulis hingga tugas akhir ini dapat terselesaikan dengan baik. Shalawat dan salam memang pantas tercurah kepada Nabi Muhammad SAW, keluarga, serta para sahabatsahabatnya yang menjadi panutan dan inspirasi bagi penulis. Dalam hal ini, penulis mencoba untuk melakukan suatu penelitian dengan topik judul Analisis Penerapan String Matching dalam Komparasi Data Kepesertaan Jaminan Kesehatan (JAMKESMAS). Topik ini merupakan tugas akhir yang diambil penulis guna memenuhi syarat untuk memperoleh gelar Sarjana Komputer (S.Kom) Teknik Informatika Fakultas Sains dan Teknologi Universitas Islam Negeri Syarif Hidayatullah Jakarta. Adapun dalam penyelesaian tugas akhir ini, penulis ingin menyampaikan terima kasih sebesar-besarnya kepada pihak-pihak yang telah membantu dalam penyelesaian pembuatan aplikasi dan penyusunan tugas akhir, antara lain kepada yang terhormat : 1. Bapak DR. Syopiansyah Jaya Putra, M.Sis selaku Dekan Fakultas Sains dan Teknologi yang telah memberikan suatu komitmen, dorongan, dan program pendidikan sesuai kebutuhan mahasiswanya. 2. Bapak Yusuf Durachman, M.sc selaku Ketua Jurusan yang telah memberikan peran sesuai dengan fungsinya dalam membimbing serta memberikan ruang ilmu bagi penulis. vii

8 3. Ibu Fitri Mintarsih, M.Kom selaku Dosen Pembimbing 1 dan Ibu Khodijah Hulliyah, M.Si selaku Dosen Pembimbing 2 yang telah memberikan bimbingan dan dukungan baik secara moril maupun teknis. 4. Bapak Swasetyo Yulianto selaku Dosen Pembimbing Lapangan yang telah memberikan bimbingan, masukan, serta berbagi ilmu pengetahuan dalam penyusunan sehingga penulis dapat menyelesaikan tugas akhir ini. 5. Seluruh anggota keluarga tercinta yang senantiasa mendoakan dan memberikan dukungan selama menjalankan masa perkuliahan. 6. Rekan-rekan seperjuangan, teman teman Software Enginering dan seluruh kawan-kawan jurusan Teknik Informatika yang memberikan motivasi serta informasi kepada penulis. Mari kita sukses bersama. 7. Seluruh pihak yang telah membantu dan namanya tidak dapat disebutkan satu persatu. Terima kasih atas doa dan bimbingannya, Semoga Allah SWT membalas segala kebaikan yang telah diberikan kepada penulis. Akhir kata, penulis memohon maaf atas berbagai hal keliru yang diperbuat selama masa penyelesaian tugas akhir ini, kritik dan saran yang membangun sangat diharapkan demi menambah pengetahuan dalam kepenulisan dan semoga tugas akhir ini dapat bermanfaat bagi pengembangan selanjutnya. Amiin Jakarta, Maret 2011 Sri Wulan viii

9 ABSTRAK SRI WULAN. Analisis Penerapan String Matching dalam Komparasi Data Kepesertaan JAMKESMAS Dibimbing oleh : FITRI MINTARSIH, M.Kom dan KHODIJAH HULLIYAH, M.Si Dalam pencocokan string (string matching), penggunaan algoritma yang tepat dapat memberikan hasil penelusuran yang tepat pula dan sesuai keinginan pengguna. Dalam tugas akhir ini, penulis akan menganalisa penerapan algoritma string matching yang terdiri atas inexact string matching (fuzzy string macthing) menggunakan approximate string matching (dilihat dari segi penulisan) dan exact string matching menggunakan brute force string matching pada data nama orang (peserta) jamkesmas. Data yang digunakan dalam pencocokan string dalam menerapkan algoritma string matching merupakan data yang akan dikomparasikan untuk mendapatkan kecocokan data yang berasal dari dua database. Hasil analisa fuzzy string matching dalam komparasi data kepesertaan ini akan diaplikasikan menggunakan PHP dan MySQL, dengan menggunakan fase pengembangan sistem RAD (Rapid Application Deveplopment). Hasil penerapan string matching dalam tugas akhir ini menunjukkan bahwa penerapan fuzzy string matching mampu menangani bentuk nama orang (peserta) yang bervariasi bentuk penulisannya dan exact string matching tidak mampu mencocokan data nama yang variatif bentuk kepenulisannya. Pengujian fuzzy string matching dalam komparasi data kepesertaan ini menghasilkan persentasi kecocokan data peserta yang sama besar dengan exact string matching. Kata kunci : String Matching, Fuzzy String Matching (Approximate), Exact String Matching (Brute Force), komparasi data, dan RAD. ix

10 DAFTAR ISI Halaman HALAMAN LUAR... i HALAMAN DALAM... ii LEMBAR PENGESAHAN PEMBIMBING... iii LEMBAR PENGESAHAN UJIAN... iv LEMBAR PERNYATAAN... v LEMBAR PERSEMBAHAN... vi KATA PENGANTAR... vii ABSTRAK... viii DAFTAR ISI... ix DAFTAR GAMBAR... xiii DAFTAR TABEL... xv DAFTAR ISTILAH... xvi BAB I PENDAHULUAN 1.1 Latar Belakang Masalah Rumusan Masalah Batasan Masalah Metode Penelitian Tujuan dan Manfaat Penelitian Sistematika Penulisan... 7 x

11 BAB II LANDASAN TEORI 2.1 Konsep Algoritma Definisi Algoritma Ciri-ciri dan Sifat Algoritma Logika Fuzzy String Matching Definisi String Matching Kerangka Kerja String Matching Kerangka Pikir String Matching Macam Algoritma String Matching Exact String Matching Inexact String Matching (Fuzzy String Matching) Karakteristik Nama Normalisasi Nama Sistem Basis Data SQL MySQL Fungsi String MySQL Aplikasi Metode Pengembangan Sistem Definisi Pengembangan Sistem Macam-macam Metode Pengembangan Sistem Unit Testing xi

12 2.15 Studi Sejenis BAB III METODE PENELITIAN 3.1 Metode Pengumpulan Data Metode Komparatif Metode Pengembangan Sistem Alasan Penggunaan RAD Keunggulan dan Kelemahan RAD BAB IV PENGEMBANGAN SISTEM 4.1 Metode Komparatif Analisis String Matching Exact String Matching Normalisasi String Inexact String Matching Fase Perencanaan Syarat-syarat Tujuan Informasi Syarat Kebutuhan/Informasi Perancangan Sistem Perancangan Proses Algoritma Exact String Matching Proses Kecocokan Algoritma Inexact String Matching Proses Normalisasi (Fuzzy String Matching) xii

13 4.3.2 Perancangan Database Rancangan Interface Sistem Fase Konstruksi Implementasi Pengenalan Sistem Pengujian Sistem BAB IV PENUTUP 5.1 Kesimpulan Saran DAFTAR PUSTAKA. 107 LAMPIRAN xiii

14 DAFTAR GAMBAR Halaman Gambar 2.1 Model Sekuensial Linier Gambar 4.1 Proses Similarity Function Gambar 4.2 Flowchart Exact String Matching Gambar 4.3 Flowchart Kecocokan Gambar 4.4 Flowchart Fuzzy String Matching Gambar 4.5 Flowchart Normalisasi String Nama Gambar 4.6 Rancangan Tampilan Exact String Matching Gambar 4.7 Rancangan Tampilan Inexact String Matching Gambar 4.8 Form Masukan Exact Gambar 4.9 Form Masukan Inexact Gambar 4.10 Tampilan Output Kecocokan Gambar 4.11 Uji Gambar 4.12 Hasil Uji Gambar 4.13 Uji Gambar 4.14 Hasil Uji Gambar 4.15 Uji Gambar 4.16 Hasil Uji Gambar 4.17 Uji Gambar 4.18 Hasil Uji Gambar 4.19 Uji Gambar 4.20 Hasil Uji xiv

15 Gambar 4.21 Uji Gambar 4.22 Hasil Uji Gambar 4.23 Uji Gambar 4.24 Hasil Uji Gambar 4.25 Uji Gambar 4.26 Hasil Uji Gambar 4.27 Uji Gambar 4.28 Hasil Uji Gambar 4.29 Uji Gambar 4.30 Hasil Uji Gambar 4.31 Uji Gambar 4.32 Hasil Uji Gambar 4.33 Uji Gambar 4.34 Hasil Uji xv

16 DAFTAR TABEL Halaman Table 2.1 Simbol-simbol Flowchart Table 2.2 Damerau Variasi Nama Table 4.2 Contoh Variasi Penamaan Table 4.3 Translasi Q-gram Table 4.4 Struktur File BPS Table 4.5 Struktur File Translasi Db Table 4.6 Struktur File Normalisasi Db Table 4.7 Struktur File Peserta Askes Table 4.8 Struktur File Translasi Db Table 4.9 Struktur File Normalisasi Db Table 4.10 Kecocokan Field Kedua Database Table 4.11 Hasil Uji String Matching xvi

17 DAFTAR ISTILAH Istilah Arti String Pattern Database Suatu kumpulan karakter Sekumpulan string yang dicari pada teks. Suatu kumpulan data atau informasi yang kompleks dimana data tersebut disusun menjadi beberapa kelompok dengan tipe data yang sejenis, dimana setiap datanya saling berhubungan satu sama lain atau dapat berdiri sendiri, sehingga mudah diakses. Boolean Segala hal dapat diekspresikan dalam istilah binary (0 atau 1, hitam atau putih, ya atau tidak), Fuzzy Logic Pendekatan yang membantu dalam menjelaskan ketidakpastian batas antara satu kriteria dengan kriteria lainnya, yang disebabkan oleh adanya penilaian manusia terhadap sesuatu secara kumulatif. xvii

18 BAB I PENDAHULUAN 1.1. Latar Belakang Masalah Dewasa ini kemajuan yang sangat pesat di bidang teknologi, terutama teknologi informasi komputer, mendorong munculnya inovasi baru dalam penyajian informasi untuk memenuhi kebutuhan informasi. Penyajian data atau informasi baik berupa subjek maupun objek dalam suatu perusahaan atau lembaga memerlukan adanya suatu database. Database adalah suatu kumpulan data atau informasi yang kompleks dimana, data tersebut disusun menjadi beberapa kelompok dengan tipe data yang sejenis, dimana setiap datanya saling berhubungan satu sama lain atau dapat berdiri sendiri, sehingga mudah diakses. Penggunan database kini banyak dimanfaatkan oleh berbagai lembaga untuk berbagai kepentingan. Salah satunya yakni penggunaan dalam menangani database penduduk dalam penjaminan kesehatan bagi masyarakat miskin yang diselenggarakan sekretariat pengelola JAMKESMAS Kementrian Kesehatan. Adapun data yang dimiliki oleh pengelola JAMKESMAS kementrian kesehatan ini berasal dari database dua instansi hasil SK Bupati/Walikota berjumlah sekitar 72 juta record warga miskin dan data dari lembaga sensus penduduk (BPS) sekitar 68 juta record warga miskin. Data penduduk miskin dari ke dua instansi ini berasal dari pengambilan data penduduk pada wilayah yang sama namun memiliki masing-masing jumlah 1

19 2 data yang berbeda. Perbedaan ini tentunya didasarkan karena perbedaan metode, teknik, serta perbedaan waktu pengambilan data maupun berbagai masalah teknis dilapangan yang dihadapi oleh masing-masing instansi. Perbedaan jumlah data dari dua instansi ini merupakan permasalahan bagi pengelola jamkesmas dalam menggunakan database penduduk miskin untuk penjaminan kesehatan secara menyeluruh dikarenakan akan berdampak pada keakurasian data penduduk miskin dilapangan serta mengakibatkan adanya sejumlah warga miskin yang tidak terdata maupun terdata lebih dari satu. Maka dari itu diperlukan suatu metode pencocokan untuk mencari kecocokan data diantara kedua database tersebut, yang mana tiap penduduknya memiliki data identitas yang bervariatif, sehingga tujuan dari penjaminan kesehatan dapat memadai atau terpenuhi. Metode pencocokan string (string matching) yang merupakan bagian dalam proses pencarian string memegang peranan penting untuk mendapatkan dokumen yang sesuai dengan kebutuhan informasi. Pencocokan string (string matching) secara garis besar dapat dibedakan menjadi dua yaitu pencocokan string secara eksak/sama persis (exact string matching) dan pencocokan string berdasarkan kemiripan (inexact string matching/fuzzy string matching). Fuzzy string matching (inexact string matching) merupakan pencocokan string yang melakukan pencarian terhadap string yang sama dan juga string yang mendekati dengan string lain yang terkumpul dalam sebuah penampung atau kamus. Pencocokan string berdasarkan kemiripan masih dapat dibedakan menjadi dua yaitu berdasarkan kemiripan penulisan (approximate string

20 3 matching) dan berdasarkan kemiripan ucapan (phonetic string matching). Dalam permasalahan ini penulis menggunakan fuzzy string matching proses pendekatan secara kemiripan penulisan (approximate) serta brute force yang mewakili algoritma exact string matching. Adapun dalam pencocokan ini, penulis lebih berpusat terhadap analisa string nama peserta, dikarenakan nama orang (peserta) merupakan string yang memiliki aneka ragam bentuk penulisan dalam satu pengucapan nama orang dalam pemasukan data peserta. Misalnya dalam permasalahan ini suatu string nama orang memiliki suatu bentuk pola huruf penulisan yang variatif tapi memiliki cara pengucapan yang sama dalam satu nama orang, sehingga diperlukan suatu aturan serta analisa yang tepat untuk menganalisa permasalahan mengenai pencocokan data string nama orang. Berdasarkan uraian permasalahan tersebut, maka penulis mengambil suatu judul Analisis Penerapan String Matching dalam Komparasi Data Kepesertaan Jaminan Kesehatan Masyarakat (JAMKESMAS) pada tugas akhir (skripsi) ini Rumusan Masalah Berpijak dari uraian yang telah dikemukakan pada latar belakang masalah, dapat dirumuskan masalah yang akan diteliti dalam hal ini adalah : a. Bagaimana menyelesaikan permasalahan dalam mencocokan perbedaan database yang ada pada dua instansi.

21 4 b. Bagaimana penerapan inexact string matching dan exact string matching dalam pencocokan data nama orang (peserta). c. Bagaimana jumlah kesesuaian (kecocokan) data antar kedua database dalam penerapan string matching Batasan Masalah Adapun yang diteliti dalam hal tugas akhir ini mencakup : 1. Analisis dan penerapan algoritma string matching (Brute Force dan Approximate) dalam penyelesaian pencocokan database dalam komparasi data kepesertaan. 2. Menggunakan sample data BPS dan ASKES yang diambil pada wilayah Bangka Belitung. 3. Mengaplikasikan algoritma string matching menggunakan PHP sebagai bahasa pemrograman dan MySQL sebagai database server Metode Penelitian Untuk mendapat data dan fakta yang sebenarnya dalam menguraikan masalah pada penelitian ini, maka penulis merumuskan cara yang tepat dalam memecah permasalahan yang ada dengan : 1. Metode Pengumpulan data Untuk mendapatkan informasi serta kebutuhan guna menyelesaikan penerapan algoritma string matching dalam komparasi data kepesertaan ini, penulis melakukan salah satu metode pengumpulan data yaitu metode

22 5 dokumentasi. Metode dokumentasi adalah tehnik pengumpulan data yang dilakukan dengan membaca dan mempelajari buku, dokumen, jurnal serta literatur yang berkaitan dengan objek penelitian (Arikunto, 2006 : 231). Pengumpulan data ini penulis lakukan dengan cara mengunjungi perpustakaan maupun melalui artikel-artikel web online. 2. Metode Pengembangan Sistem Metodologi yang digunakan pada pengembangan sistem penerapan algoritma string matching dalam komparasi data penamaan ini adalah metodologi pengembangan sistem RAD (Rapid Aplication Development) Kendall & Kendall, yang meliputi: a. Fase perencanaan syarat-syarat : melakukan identifikasi terhadap kebutuhan informasi untuk memecahkan permasalahan dan menganalisa metode yang tepat guna memberikan solusi untuk mencapai tujuan dan syarat-syarat informasi. b. Fase design : merancang proses-proses yang terjadi pada sistem program, database, maupun antarmuka (interface) aplikasi yang hendak dibangun. c. Fase konstruksi : membangun aplikasi yang dibuat dengan cara pengkodean program. d. Fase implementasi : fase dimana aplikasi sistem yang dibangun pada fase sebelumnya diimplementasikan. Dalam fase ini juga diuji kehandalan penerapan metode string matching yang digunakan dalam sistem komparasi data kepesertaan.

23 Tujuan dan Manfaat Penelitian Tujuan dari penelitian ini yakni : a. Mendapatkan kecocokan data peserta antar kedua database. b. Menganalisis pencocokan string (string matching) nama orang dalam komparasi data kepesertaan. c. Agar dapat diaplikasikan dalam berbagai permasalahan pencocokan komparasi data nama orang (peserta). Penelitian ini diharapkan dapat bermanfaat : a. Bagi Pengguna : Menyelesaikan permasalahan perbedaan data rujukan kepesertaan jamkesmas yang akurat dengan lebih cepat, efisien, dan murah. b. Bagi Penulis : Memberikan pengetahuan tentang penerapan algoritma string matching dalam analisis bentuk penulisan nama orang (peserta) dan komparasi data peserta. c. Bagi Universitas : Sebagai wahana dalam mengembangkan kemampuan mahasiswa/i dalam penyusunan tugas akhir Sistematika Penulisan Secara garis besar, tugas akhir ini terbagi menjadi 5 bab, yaitu : BAB I : PENDAHULUAN Dalam bab ini penulis mencoba menerangkan tentang hal umum terhadap permasalahan dasar yang hendak diteliti yaitu mencakupi latar belakang masalah, perumusan

24 7 masalah, batasan masalah, tujuan, manfaat serta metodologi penelitian dan sistematika penulisan dalam tugas akhir ini. BAB II : LANDASAN TEORI Dalam bab ini penulis akan menjelaskan secara detail teoriteori relevan yang digunakan dan mendasari dalam analisa penelitian ini. Bab ini terdiri atas teori pendukung, pengertian serta penjabaran yang dapat dijadikan sebagai suatu landasan teori analisa dari penelitian terhadap penerapan string matching dalam komparasi data kepesertaan. BAB III : METODOLOGI PENELITIAN Dalam bab ini penulis mencoba memaparkan mengenai metodologi yang digunakan selama menganalisa tentang penerapan fuzzy string matching dan exact string matching, pengembangan sistem yang digunakan, langkah (fase) kerja pengembangan sistem. BAB IV : PENGEMBANGAN SISTEM Dalam bab ini penulis akan membahas mengenai hasil dari analisa metode algoritma string matching yang diterapkan dan metodologi penelitian terhadap penerapan algoritma string matching dalam komparasi data kepesertaan.

25 8 BAB V : PENUTUP Dalam bab ini penulis memberikan kesimpulan yang memaparkan mengenai hal-hal yang didapatkan dari hasil pengujian sistem dalam penerapan algoritma string matching komparasi data kepesertaan, yang kemudian berisi saran-saran perbaikan yang berhubungan dengan masalah yang dibahas untuk pengembangan selajutnya.

26 BAB II LANDASAN TEORI Dalam proses menyelesaikan penelitian ini penulis mendapatkan berbagai teori, konsep, serta berbagai uraian-uraian yang relevan terhadap objek penelitian dari berbagai referensi sehingga dapat dijadikan acuan pendukung penulis dalam pelaksanaan penelitian ini. Dalam bagian ini penulis mencoba menjelaskan teori-teori yang mendukung dalam menganalisa serta menerapkan algoritma string matching dalam penyelesaian kasus permasalahan komparasi data kepesertaan Konsep Algoritma Definisi Algoritma Menurut, Munir (2001:4) Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis, sedangkan menurut Kamus Besar Bahasa Indonesia (1976:30) algoritma adalah urutan logis pengambilan putusan untuk pemecahan masalah. Adapun definisi algoritma meliputi (Suarga, 2004 : 1) : 1. Teknik penyusunan langkah-langkah penyelesaian masalah dalam bentuk kalimat dengan jumlah kata terbatas, tetapi tersusun secara logis dan sistematis. 2. Suatu prosedur yang jelas untuk menyelesaikan suatu persoalan dengan menggunakan langkah-langkah tertentu dan terbatas jumlahnya 9

27 10 Kata algoritma sendiri diadaptasi dari nama ilmuwan muslim Abu Ja far Muhammad ibn Musa Al-Khawarizmi ( M) yang banyak menghasilkan karya dalam bidang matematika, disamping karya-karyanya dalam bidang lainnya seperti geografi dan musik (Wahid, 2004 : 1) Ciri ciri dan Sifat Algoritma Donald E. Knuth (1973), menyatakan bahwa ada beberapa ciri-ciri algoritma, yaitu : a. Algoritma mempunyai awal dan akhir. Suatu algoritma harus berhenti setelah mengerjakan serangkaian tugas atau dengan kata lain suatu algoritma harus memiliki langkah yang terbatas. b. Setiap langkah harus didefinisikan dengan tepat sehingga tidak memiliki arti ganda. c. Memiliki masukan atau kondisi awal. d. Memiliki keluaran atau kondisi akhir. e. Algoritma harus efektif; bila dikuti dengan benar-benar akan menyelesaikan persoalan. Berdasarkan ciri algoritma dapat disimpulkan sifat utama suatu algoritma, yaitu (Suarga, 2004 : 2):

28 11 a. Input : suatu algoritma memiliki input atau kondisi awal sebelum algoritma dilaksanakan dan bisa berupa nilai-nilai pengubah yang diambil dari himpunan khusus. b. Output : suatu algoritma akan menghasilkan output setelah dilaksanakan, atau algoritma akan mengubah kondisi awal menjadi kondisi akhir, dimana nilai output diperoleh dari nilai input yang telah diproses melalui algoritma. c. Definiteness : langkah-langkah yang dituliskan dalam algoritma terdefinisi dengan jelas sehingga mudah dilaksanakan oleh pengguna algoritma. d. Finiteness : suatu algoritma harus memberi kondisi akhir atau output setelah melakukan sejumlah langkah yang terbatas jumlahnya untuk setiap kondisi awal atau input yang diberikan. e. Effectiveness : setiap langkah dalam algoritma bisa dilaksanakan dalam suatu selang waktu tertentu sehingga pada akhirnya member solusi sesuai yang diharapkan. f. Generality : langkah-langkah algoritma berlaku untuk setiap himpunan input yang sesuai dengan persoalan yang akan diberikan, tidak hanya untuk himpunan tertentu. Algoritma sebagai langkah-langkah pemecahan masalah dapat dituliskan dengan berbagai cara, yaitu (Wahid, 2004 : 9) : 1. Uraian deskriptif

29 12 Penulisan algoritma dengan uraian deskriptif menggunakan bahasa yang biasa digunakan sehari-hari. 2. Algoritma pseudecode adalah algoritma yang dituliskan dalam kodekode yang disepakati dan mempunyai urutan-urutan tertentu. Kodekode ini dapat dikembangkan sendiri asalkan arti dari setiap kode disepakati bersama. 3. Bagan alir (flowchart) Flowchart (bagan alir dokumen) adalah penggambaran secara grafik dari langkah-langkah dan urutan-urutan prosedur dari suatu program ( Jogiyanto Hartono : 1989). Berikut ini adalah simbol-simbol yang digunakan dalam bagan alir dokumen menurut Marshall B. Romney ( 2004 ; 198 ) : Tabel 2.1 Simbol-simbol Flowchart Simbol Keterangan Dokumen atau laporan : dokumen tersebut dapat dipersiapkan dengan tulisan tangan, atau di cetak Dokumen dengan komputer. Fungsi input atau output apa pun di dalam bagan alir program. Juga dipergunakan untuk mewakili Input/output jurnal dan buku besar dalam bagan alir dokumen. Menghubungkan arus pemrosesan di satu halaman yang sama, penggunaan konektor ini

30 13 On-page connector akan menghindari garis-garis yang saling silang di satu halaman. Suatu penanda masuk dari, atau keluar ke, halaman lain. Off-page connector Pelaksanaan pemrosesan yang dilaksanakan secara manual. Proses manual Komentar deskriptif tambahan atau catatan penjelasan untuk klarifikasi. Anotasi File dokumen secara manual disimpan dan ditarik simbol kembali; huruf yang ditulis di dalam menunjukkan urutan pengaturan file File secara N = numeris, A = alfabetis, D = berdasar tanggal. Fungsi pemrosesan yang dilaksanakan dengan komputer, biasanya menghasilkan perubahan Pemrosesan atas data atau informasi. dengan Komputer

31 14 Langkah pengambilan keputusan; dipergunakan dalam sebuah program komputer bagan alir Keputusan untuk memperlihatkan pembuatan cabang ke Arus dokumen jalan alternative. Arah pemrosesan atau arus dokumen; arus yang normal berada dibawah dan mengarah ke kanan. atau proses Titik awal, akhir, atau pemberhentian dalam suatu proses atau program; juga dipergunakan Terminal untuk menunjukkan adanya pihak eksternal. Data disimpan secara permanen di dalam disk magnetis, dipergunakan untuk file utama ( Disk Magnetic master file ) dan database. Sumber : Mulyadi, Sistem Akuntansi, Logika Fuzzy Logika Fuzzy adalah peningkatan logika boolean yang berhadapan dengan konsep kebenaran sebagian. Di mana logika klasik menyatakan bahwa segala hal dapat diekspresikan dalam istilah binary (0 atau 1, hitam atau putih, ya atau tidak), logika fuzzy menggantikan kebenaran boolean dengan tingkat kebenaran (Kusumadewi, 2004). Metode fuzzy adalah salah satu perkembangan dari teori himpunan fuzzy dan logika fuzzy, dengan berbasiskan aturan yang menerapkan pemetaan non linear antara masukan dan keluarannya (Dadone, 2001). Menurut

32 15 Kusumadewi dan Purnomo (2004), pendekatan metode fuzzy dapat membantu dalam menjelaskan ketidakpastian batas antara satu kriteria dengan kriteria lainnya, yang disebabkan oleh adanya penilaian manusia terhadap sesuatu secara kumulatif. Teori ini dapat digunakan untuk membantu menyelesaikan permasalahan dalam ketidakpastian penulisan nama orang Pencocokan String (String Matching) Definisi String Matching Menurut Black (dalam Syaroni dan Munir, 2004:1) string adalah susunan dari karakter-karakter (angka, alphabet, atau karakter yang lain) dan biasanya direpresentasikan sebagai struktu data array. String dapat berupa kata, frase, atau kalimat. Sedangkan string matching menurut Black (dalam syaroni dan munir, 2004:1) diartikan sebagai sebuah permasalahan untuk menemukan pola susunan karakter string didalam string lain atau bagian dari isi teks. String matching dalam bahasa Indonesia dikenal dengan istilah pencocokan string (Munir dalam Hadiati, 2007:1). Pencarian string yang juga bisa disebut pencocokan string (String Matching) merupakan algoritma untuk melakukan pencarian semua kemunculan string pendek pattern [ 0.n-1] yang disebut pattern di string yang lebih panjang teks [0 m-1] yang disebut teks (Charras, 1997 : 11).

33 Kerangka Kerja String Matching Persoalan pencarian string dirumuskan sebagai berikut (Munir, 2004 : 1) Diberikan : 1. Sebuah teks (text), yaitu sebuah (long) stringyang panjangnya n karakter. 2. Pattern, yaitu sebuah string dengan panjang m. Dengan sebuah nilai karakter (m < n) yang akan dicari dalam teks. Dalam algoritma pencocokan string, teks diasumsikan berada di dalam memori, sehingga bila kita mencari string di dalam sebuah arsip, maka semua isi arsip perlu dibaca terlebih dahulu kemudian disimpan di dalam memori. Jika pattern muncul lebih dari sekali di dalam teks, maka pencarian hanya akan memberikan keluaran berupa lokasi pattern ditemukan pertama kali Kerangka Pikir String Matching Algoritma string matching dapat diklasifikasikan menjadi 3 bagian menurut arah pencariannya, yakni (Charras, 1997 : 12). 1. From left to right Dari arah yang paling alami, dari kiri ke kanan, yang merupakan arah untuk membaca. Algoritma yang termasuk kategori ini adalah algoritma brute force, algoritma knuth moris Pratt. 2. From right to left

34 17 Dari arah kanan ke kiri, arah yang bisanya menghasilkan hasil terbaik secara partikal. Algoritma yang termasuk kategori ini adalah algoritma boyer-moore. 3. In a specific order Dari arah yang ditentukan secara spesifik oleh algoritma tersebut, arah ini menghasilkan hasil terbaik secara teoritis. Algoritma yang termasuk kategori ini adalah algoritma colossi dan algoritma crochemore-perrin. Beberapa konsep string matching antara lain: 1. Approximate string matching, yaitu sebuah pencarian terhadap pola-pola string (mengandung beberapa proses yaitu mengitung jumlah karakter yang berbeda, penyisipan dan penghapusan karakter) sehingga mendekati pola atau pattern dari string yang dicari. Dari wikipedia didefinisikan sebagai sebuah teknik untuk mencari sebuah pola yang mendekati string dari sebuah kumpulan teks. 2. Algoritma pencarian string adalah sebuah proses pencarian tempat dari suatu atau beberapa string yang ditemukan dalam sebuah kumpulan string atau teks. Jalan paling sederhana adalah dengan cara membaca karakter satu persatu dan melakukan perhitungan kesalahan posisi yang ada dari string yang dicari.

35 Macam Algoritma String Matching Secara garis besar string matching dibedakan menjadi dua (Binstock & Rex dalam Syaroni & Munir, 2004 : 2), yaitu: 1. Exact string matching 2. Inexact string matching atau Fuzzy string matching Exact String Matching Exact string matching, merupakan pencocokan string secara tepat dengan susunan karakter dalam string yang dicocokkan memiliki jumlah maupun urutan karakter dalam string yang sama. Bagian algoritma ini bermanfaat jika pengguna ingin mencari string dalam dokumen yang sama persis dengan string masukan. Beberapa algoritma exact string matching yang mengemuka antara lain : 1. Brute Force Analisis dengan metoda Brute Force adalah membandingkan karakter per karakter sampai ditemukannya pola yang dicari dari awal string sampai dengan akhir string (Sagita, 2006 :1 ). Dengan asumsi bahwa teks berada di dalam array T[1..n] dan pattern berada di dalam arrayp[1..m], maka algoritma brute force pencocokan string adalah sebagai berikut: a. Mula-mula pattern P dicocokkan pada awal teks T. b. Dengan bergerak dari kiri ke kanan, bandingkan setiap karakter di dalam pattern P dengan karakter yang bersesuaian di dalam teks T

36 19 sampai:semua karakter yang dibandingkan cocok atau sama (pencarian berhasil), atau dijumpai sebuah ketidakcocokan karakter (pencarian belum berhasil). c. Bila pattern P belum ditemukan kecocokannya dan teks T belum habis, geser pattern P satu karakter ke kanan dan ulangi langkah 2. Kekuatan dan Kelemahan Metode Brute Force. (Munir, 2004:6) a. Kekuatan: 1) Metode brute force dapat digunakan untuk memecahkan hampir sebagian besar masalah (wide applicability). 2) Metode brute force sederhana dan mudah dimengerti. 3) Metode brute force menghasilkan algoritma yang layak untuk beberapa masalah penting seperti pencarian, pengurutan, pencocokan string, perkalian matriks. 4) Metode brute force menghasilkan algoritma baku (standard) untuk tugas-tugas komputasi seperti penjumlahan/perkalian n buah bilangan, menentukan elemen minimum atau maksimum di dalam tabel (list). b. Kelemahan: 1) Metode brute force jarang menghasilkan algoritma yang mangkus. 2) Beberapa algoritma brute force lambat sehingga tidak dapat diterima.

37 20 3) Tidak sekontruktif/sekreatif teknik pemecahan masalah lainnya. Berikut ini adalah pseudecode dari algoritma brute force : procedure PencocokanString(input P : string, T : string, n, m : integer,output idx : integer) { Masukan: pattern P yang panjangnya m dan teks T yang panjangnya n. Teks T direpresentasika sebagai string (array of character) Keluaran: lokasi awal kecocokan (idx) } Deklarasi i : integer ketemu : boolean Algoritma: i 0 ketemu false while (i n-m) and (not ketemu) do j 1 while (j m) and (Pj = Ti+j ) do j j+1 endwhile { j > m or Pj Ti+j } if j = m then{ kecocokan string ditemukan } ketemu true else i i+1 {geser pattern satu karakter ke kanan teks } endif endfor { i > n m or ketemu } if ketemu then idx i+1 else idx -1 endif 2. Knuth Morris Pratt Algoritma KMP dikembangkan oleh D. E. Knuth, bersama-sama dengan J. H. Morris dan V. R. Pratt. (Munir, 2004 : 8) Dengan algoritma KMP

38 21 waktu pencarian dalam pencocokan pattern dan teks dapat berkurang dikarenakan algoritma ini melakukan sejumlah pergeseran lebih jauh sesuai dengan informasi ketidakcocokan string antara teks dan pattern. Dalam Algoritma Knuth-Morris-Pratt (KMP), untuk setiap karakter yang dibandingkan kita bisa memutuskan apakah berhasil atau gagal. Algoritma KMP membangun sebuah mesin automata yang status-statusnya adalah status dari string yang sedang kita cari dan setiap status memiliki fungsi berhasil dan gagal. Berhasil artinya status akan bergerak lebih mendekat ke status akhir dan gagal artinya status bisa jadi semakin jauh atau tetap terhadap status akhir. Kita akan mendapatkan sebuah karakter dari text saat kita berhasil dalam membandingkan dan akan me-reuse karakter bila kita gagal (Sagita : 3). Berikut ini adalah pseudecode dari algoritma brute force : procedure KMPsearch(input m, n : integer, input P : array[1..m] ofchar, input T : array[1..n] ofchar, output idx : integer) { Mencari kecocokan pattern P di dalam teks T dengan algoritma Knuth-Morris-Pratt. Jika ditemukan P di dalam T, lokasi awal kecocokan disimpan di dalam peubah idx. Masukan: pattern P yang panjangnya m dan teks T yang panjangnya n. Teks T direpresentasika sebagai string (array of character) Keluaran: posisi awal kecocokan (idx). Jika P tidak ditemukan, idx = -1. } Deklarasi i, j : integer ketemu : boolean b : array[1..m] ofinteger procedure HitungPinggiran(input m : integer, P : array[1..m] ofchar, output b : array[1..m] ofinteger) { Menghitung nilai b[1..m] untuk pattern P[1..m] }

39 22 Algoritma: HitungPinggiran(m, P, b) j 0 i 1 ketemu false while (i n and not ketemu) do while((j > 0) and (P[j+1] T[i])) do j b[j] endwhile if P[j+1]=T[i] then j j+1 endif if j = m then ketemu true else i i+1 endif endwhile if ketemu then idx i-m+1 { catatan: jika indeks array dimulai dari 0, maka idx i- m } else idx -1 endif 3. Algoritma Boyer Moore Algoritma boyer-moore adalah algoritma yang mempertimbangkan string matching dengan efisiensi tinggi dari aplikasi. Algoritma ini melakukan pencocokan karakter yang dimulai dari kanan ke kiri (Purwanto, 2008). Algoritma Boyer-Moore dipublikasikan oleh Robert S. Boyer, dan J. Strother Moore pada tahun Tidak seperti dua algoritma sebelumnya, algoritma Boyer-Moore memulai mencocokkan karakter dari sebelah kanan pattern. Ide dibalik algoritma ini adalah bahwa dengan memulai

40 23 pencocokan karakter dari kanan, dan bukan dari kiri, maka akan lebih banyak informasi yang didapat (Boyer). Jadi kita bisa melompati atau tidak melakukan perbandingan-perbandingan karakter yang diprediksikan akan gagal. Karakter paling kanan pada pola merupakan karakter pertama yang akan dicocokkan dengan teks. Sehingga prinsip dasar dari algoritma Boyer-Moore ini yakni : 1. Pembacaan karakter dari kanan ke kiri. 2. Preprocessing dimana terdapat kondisi bad karakter preprocessing dan good suffix preprocessing Inexact string matching (fuzzy String Matching) 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/penulisan (approximate string matching) atau kemiripan ucapan (phonetic string matching). Metoda fuzzy string matching diarahkan untuk mencari nilai dari beberapa string yang mendekati dan tidak hanya mengasilkan cocok atau tidak cocok (Syaroni dan Munir, 2004 : 2). Konsep Fuzzy String Matching. (Dewanto : 2007) 1. Fuzzy String Matching adalah salah satu metode pencarian string yang menggunakan proses pendekatan terhadap pola dari string yang dicari.

41 24 2. Melakukan pencarian terhadap string yang sama dan juga string yang mendekati dengan string lain yang terkumpul dalam sebuah penampung atau kamus. 3. Kunci dari konsep pencarian ini adalah bagaimana memutuskan bahwa sebuah string yang dicari memiliki kesamaan dengan string tertampung di kamus, meskipun tidak sama persis dalam susunan karakternya. Untuk memutuskan kesamaan ini dipergunakan sebuah fungsi yang diistilahkan sebagai similarity function. Fungsi ini akan bertugas memutuskan string hasil pencarian jika ditemukan string hasil pendekatan (aproksimasi). Inexact string matching masih dibagi menjadi dua yaitu : (Binstock & Rex dalam Syaroni & Munir, 2004 : 2) 1. Approximate string matching Approximate string matching adalah pencocokan string berdasarkan kemiripan penulisan (jumlah karakter,susunan karakter dalam 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 :c mpuler 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.

42 25 2. Phonetic String Matching Phonetic String Matching adalah 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. Dalam pembagiannya beberapa algoritma phonetic string matching antara lain : soundex, metaphone, caverphone, phonex, NYSIIS, Jaro-Winkler, dan lain-lain. (Syaroni dan Munir, 2004) Dalam penerapan kedua algoritma tersebut, sebenarnya phonetic string matching dapat dimanfaatkan untuk approximate string matching dengan batasan dua string yang dicocokkan masih memiliki kemiripan ucapan. Phonetic string matching sering juga dimanfaatkan untuk approximate string matching karena phonetic string matching lebih mudah diimplementasikan. Phonetic string matching banyak digunakan dalam bahasa Inggris karena dalam bahasa Inggris terdapat perbedaan antara penulisan dan pengucapan. Hal itupun terjadi pada bentuk penamaan Indonesia Karakteristik Nama Nama adalah sebutan atau label yang diberikan kepada benda, manusia, tempat, produk (misalnya merek produk) dan bahkan gagasan atau konsep, yang biasanya digunakan untuk membedakan satu sama lain. Nama dapat

43 26 dipakai untuk mengenali sekelompok atau hanya sebuah benda dalam konteks yang unik maupun yang diberikan. Nama manusia umumnya terbagi kepada nama depan dan nama keluarga (marga), contohnya Ali Wijaya, di mana Ali adalah nama depan sedangkan Wijaya adalah marganya. Meskipun begitu, ada pula budaya-budaya yang tidak mengenal konsep tersebut. Ada pula nama panggilan yang merupakan nama khusus yang digunakan dalam bersosialisasi. Ada banyak cara untuk menyusun suatu nama, tergantung dari budaya setempat dan bahasa setempat dan biasanya merupakan kombinasi dari 1. nama pemberian/nama depan (unik untuk setiap anak). 2. nama keluarga (unik untuk setiap keturunan dari garis laki-laki 3. nama tengah (untuk membedakan nama pemberian yang sama dari satu keluarga) 4. nama akhir (nama pemberian yang diletakkan setelah nama depan) 5. nama ayah 6. nama ibu 7. nama gadis (nama keluarga ibu sebelum menikah) 8. nama keluarga kakek dari ayah (=nama keluarga) 9. nama keluarga nenek dari ayah (=nama gadis nenek dari ayah) 10. nama keluarga kakek dari ibu (=nama gadis ibu) 11. nama keluarga nenek dari ibu (=nama gadis nenek dari ibu) 12. nama baptis 13. nama kota (biasanya di Eropa/Amerika)

44 nama pekerjaan (biasanya di Eropa/Amerika) 15. nama warna (biasanya di Eropa/Amerika) Daftar ini hanya sebagian kecil dari variasi yang mungkin terbentuk Normalisasi nama Sebuah nama dapat memiliki banyak variasi dalam berbagai bahasa, biasanya untuk membuat suatu nama menjadi unik, orang juga membuat variasi mereka sendiri terhadap suatu nama yang telah ada. Nama-nama yang umum dipakai biasanya diturunkan dari nama orang-orang terkenal pada zaman dahulu, atau nama yang memiliki makna khusus (kata-kata yang indah, profesi orangtua, nama bunga, dan lain-lain). Dengan demikian, Penulisan dan cara pengucapan nama sangat tergantung kepada bahasa yang digunakan. Damerau (1964 : ) menunjukkan setidaknya ada empat kejadian yang mengakibatkan variasi pada nama. Tabel 2.2 Damerau Variasi Nama Jenis Nama Dasar Variasi Insertion (Penyisipan) Fisher Fishcer Omission (Penghilangan) Johnston Johnson Subtitution (Penggantian) Chatherine Katherine Transpotition (Pertukaran) Hagler Halger

45 28 Variasi pada nama tersebut, secara umum juga terjadi pada penamaan Indonesia. Sehingga dapat disimpulkan bahwa sifat bentuk penulisan dan pengucapan penamaan orang, adalah: 1. Memiliki bentuk cara penulisan yang bervariasi dalam satu nama orang. 2. Tidak memiliki standar penulisan nama yang baku. 3. Ketidakpastian (kekaburan) dalam bentuk penulisan. 4. Beberapa nama yang penulisannya berbeda, memiliki cara pengucapan yang sama. Oleh karena itu, berdasarkan referensi studi yang dilakukan oleh Karhendana dalam studinya normalisasi string untuk optimasi phonetic string matching dalam menangani data nama orang didapatkan bahwa perlu adanya suatu langkah normalisasi sebelum dilakukan langkah pencocokan string dalam penamaan Bahasa Indonesia. Hal ini dilakukan untuk mendapatkan bentuk normal dari suatu bentuk penamaan Indonesia untuk meningkatkan akurasi algoritma pencocokan string dalam string nama orang. Adapun secara umum normalisasi bertujuan, yaitu : 1. Untuk menghilangkan kerangkapan data. 2. Untuk mengurangi kompleksitas. 3. Untuk mempermudah pemodifikasian data Proses normalisasi secara garis besar terbagi menjadi beberapa tahap, yaitu : (Karhendana : 2002) 1. Normalisasi Q-gram

46 29 2. Eliminasi duplikasi karakter Tahap yang paling penting dalam proses normalisasi adalah translasi Q- gram. Q-gram adalah susunan beberapa huruf yang berurutan. translasi q-gram dilakukan dengan mengubah susunan huruf tersebut menjadi q-gram lain yang lebih sederhana. Tahap eliminasi duplikasi karakter dilakukan dengan menghilangkan karakter-karakter berurutan yang sama. Kebanyakan duplikasi karakter ini muncul setelah langkah normalisasi Q-gram. (Karhendana : 2002) 2.8. Sistem Basis Data Database adalah kumpulan informasi yang disimpan di dalam komputer secara sistematik dan terstruktur sehingga dapat diperiksa menggunakan suatu program komputer untuk memperoleh informasi dari basis data tersebut. Menurut Fathansyah (1999 : 2), basis data dapat diartikan sebagai suatu himpunan kelompok data (arsip) yang saling berhubung, diorganisasi sedemikian rupa agar kelak dapat dimanfaatkan kembali dengan cepat dan mudah. A. Alasan Perlunya Database 1. Basis data merupakan salah satu komponen penting dalam system informasi, karena merupakan dasar dalam menyediakan informasi. 2. Basis data menentukan kualitas informasi : akurat, tepat pada waktunya dan relevan. Informasi dapat dikatakan bernilai bila manfaatnya lebih efektif dibandingkan dengan biaya mendapatkannya.

47 30 3. Basis data mengurangi duplikasi data (data redudancy). 4. Dengan mengaplikasikan basis data hubungan data dapat ditingkatkan. 5. Basis data dapat mengurangi pemborosan tempat simpanan luar. B. Bahasa Basis Data Bahasa basis data terdiri atas : 1. Data Definition Language (DDL), merujuk pada kumpulan perintah yang dapat digunakan untuk mendefinisikan objek objek basis data, seperti membuat sebuah tabel basis data atau indeks primer atau sekunder. 2. Data Manipulation Language (DML), mengacu pada kumpulan perintah yang dapat digunakan untuk melakukan manipulasi data, seperti penyimpanan data ke suatu tabel, kemudian mengubahnya dan menghapusnya atau hanya sekedar menampilkannya kembali. C. Manfaat Basis Data Secara lebih lengkap, pemanfaatan basis data dilakukan untuk memenuhi sejumlah tujuan (objektif) seperti berikut a. Kecepatan dan kemudahan (Speed) b. Efisiensi ruang penyimpanan (Space) c. Keakuratan (Accuracy) d. Ketersediaan (Avaibility)

48 31 e. Kelengkapan (Completeness) f. Keamanan (Security) g. Kebersamaan pemakaian (Share sability) 2.9. SQL (Structured Query Language) SQL adalah bahasa yang digunakan untuk berkomunikasi dengan database. Menurut ANSI (American National Standards Institute), bahasa ini merupakan standar untuk relational database management systems (RDBMS). Bahasa SQL memiliki struktur yang mudah dipahami karena perintah perintahnya pada dasarnya dibuat dari bahasa Inggris. Sehingga kita dapat melakukan perintah perintah SQL ke dalam database, yaitu : a. Memasukkan atau menambah record baru ke dalam database. b. Mengeksekusi query database c. Mengambil data dari database d. Mengubah record pada database e. Menghapus record pada database Perintah SQL dapat diketik dengan huruf besar atau kecil (non case sensitive). Setelah selesai mengetik perintah di MySQL harus diakhiri dengan tanda titik koma sebagai penanda akhir dari perintah MySQL. Hampir semua software database mengimplementasikan bahasa SQL sebagai komponen utama dari produknya, salah satunya MySQL.

49 MySQL MySQL adalah sebuah server database buatan T.c.X Data Konsultan AB SQL multiuser dan multi-threaded. Beberapa keistimewaan MySQL: 1. API Languange (Application Programming Interface). Aplikasi database MySQL dapat ditulis dengan bahasa pemrograman C, Perl, PHP, dan lain-lain. 2. Large Tabel. MySQL menyimpan masing-masing tabel dalam database seperti file, terpisah dalam directori database. 3. Speed and Durability. MySQL lebih cepat 3-4 kali dari database komersial lain. 4. MySQL mudah untuk dikendalikan dan tidak membutuhkan database administrator proffesional untuk menginstall MySql. 5. MySQL adalah database relasional yang bersifat open source dan gratis. 6. Tersedia dibanyak platform (tersedia berbagai versi untuk berbagai sistem operasi). 7. Memiliki sistem sekuriti yang cukup baik dengan verifikasi host. 8. Mendukung ODBC untuk sistem operasi Microsoft Windows. 9. Tidak membutuhkan ruang harddisk yang besar untuk aplikasinya, dan mudah digunakan pada database server. 10. Mendukung record yang memiliki kolom dengan panjang tetap atau panjang bervariasi.

50 Fungsi String MySQL Fungsi atau function adalah kata atau teks SQL yang mempunyai kegunaan khusus untuk mengolah suatu data, sedangkan string adalah rangkaian karakter, angka, dan symbol-simbol lainnya. Banyak fungsi string yang disediakan MySQL untuk memanipulasi data string sehingga memudahkan pengolahan data Aplikasi Menurut Daryanto (2004:347), aplikasi adalah Software atau perangkat lunak yang dibuatuntuk menyelesaikan masalah-masalah khusus. Sedangkan menurut Jogiyanto (2004 : 4), aplikasi merupakan program yang berisikan perintah-perintah untuk melakukan pengolahan data. Jadi aplikasi secara umum adalah suatu proses dari cara manual yang ditransformasikan ke komputer dengan membuat sistem atau program agar data diolah lebih berdaya guna secara optimal, sedangkan menurut Kristanto (2004 : 1), software adalah instruksi (program komputer) yang ketika dijalankan menyediakan fungsi dan tampilan yang diinginkan, struktur data yang memberikan kesempatan program untuk memanipulasi informasi dan dokumen yang mendeskripsikan operasi dan pengaturan program. Sehingga dapat disimpulkan aplikasi adalah perangkat lunak yang berisi perintah-perintah untuk menyelesaikan masalah-masalah pengolahan data.

51 34 Didalam sebuah program aplikasi terbagi menjadi 2 bagian: ( Santosa, 2004) 1. Bagian Antarmuka > Berupa tampilan untuk pemasukan data (input) dan untuk keluaran data (Output) 2. Bagian Aplikasi > bagian yang berfungsi untuk menghasilkan informasi berdasar olahan data yang sudah dimasukkan oleh pengguna lewat algoritma yang diisyaratkan oleh aplikasi tersebut. Adapun dalam analisa penerapan fuzzy string matching ini aplikasi yang dibuat termasuk kedalam kategori bagian aplikasi Metode Pengembangan Sistem Definisi Pengembangan Sistem Menurut Govindaraju (2006:2) pengembangan sistem adalah aktifitas untuk menghasilkan sistem informasi berbasis komputer untuk menyelesaikan persoalan organisasi untuk memanfaatkan kesempatan yang timbul, sehingga sesuai dengan kasus permasalahan Macam-macam Metode Pengembangan Sistem 1. Model Siklus Kehidupan Klasik Model Sekuensial Linier merupakan paradigma rekayasa perangkat lunak yang paling tua dan paling banyak dipakai. Model ini mengusulkan sebuah pendekatan perkembangan perangkat lunak yang sistematik dan sekuensial dimulai pada tingkat dan kemajuan sistem pada seluruh analisis, desain, kode,

52 35 pengujian, dan pemeliharaan (Pressman : 1977). Model ini juga sering disebut dengan model air terjun. Tahapan-tahapan Model Sekuensial Linier : 1. Rekayasa dan Pemodelan Sistem/Informasi Karena perangkat lunak merupakan bagian dari suatu sistem maka langkah pertama dimulai dengan membangun syarat semua elemen sistem dan mengalokasikan ke perangkat lunak dengan memperhatikan hubungannya dengan manusia, perangkat keras dan database. 2. Analisis Kebutuhan Perangkat Lunak Proses menganalisis dan pengumpulan kebutuhan sistem yang sesuai dengan domain informasi tingkah laku, unjuk kerja, dan antar muka (interface) yang diperlukan. 3. Desain Proses desain akan menerjemahkan syarat kebutuhan ke sebuah perancangan perangkat lunak yang dapat diperkirakan sebelum dibuat coding. 4. Pengkodean (Coding) Pengkodean merupakan proses menerjemahkan desain ke dalam suatu bahasa yang bisa dimengerti oleh komputer. 5. Pengujian Proses pengujian dilakukan pada logika internal untuk memastikan semua pernyataan sudah diuji. Pengujian eksternal fungsional untuk menemukan kesalahan-kesalahan dan memastikan bahwa input akan memberikan hasil yang aktual sesuai yang dibutuhkan.

53 36 6. Pemeliharaan Perangkat lunak yang sudah disampaikan kepada pelanggan pasti akan mengalami perubahan. Gambar 2.1 Model Sekuensial Linier 2. Prototyping. Prototyping adalah proses iterative dalam pengembangan sistem dimana requirement diubah ke dalam sistem yang bekerja (working system). (Al-Fatta, 2007 : 37). Secara ideal prototipe (dalam Pressman, 2002 : 39) berfungsi sebagai sebuah mekanisme untuk mengidentifikasi kebutuhan software. Tahapan-tahapan dalam Prototyping adalah sebagai berikut: 1. Pengumpulan kebutuhan Pelanggan dan pengembang bersama-sama mendefinisikan format seluruh perangkat lunak, mengidentifikasikan semua kebutuhan, dan garis besar sistem yang akan dibuat. 2. Membangun prototyping Membangun prototyping dengan membuat perancangan sementara (misalnya dengan membuat input dan format output).

54 37 3. Evaluasi protoptyping Evaluasi ini dilakukan oleh pelanggan apakah prototyping yang sudah dibangun sudah sesuai dengan keinginann pelanggan. Jika sudah sesuai maka langkah 4 akan diambil. Jika tidak prototyping direvisi dengan mengulangi langkah 1, 2, dan Mengkodekan sistem Dalam tahap ini prototyping yang sudah di sepakati diterjemahkan ke dalam bahasa pemrograman yang sesuai 5. Menguji sistem Pengujian ini dilakukan dengan White Box, Black Box, Basis Path, pengujian arsitektur dan lain-lain 6. Evaluasi Sistem Pelanggan mengevaluasi apakah sistem yang sudah jadi sudah sesuai dengan yang diharapkan.juka ya, langkah 7 dilakukan; jika tidak, ulangi langkah 4 dan Menggunakan sistem Perangkat lunak yang telah diuji dan diterima pelanggan siap untuk digunakan. 3. Rapid Application Development (RAD). Menurut Martin (dalam Pressman, 2002 : 42) Rapid application development (RAD) adalah sebuah model proses pengembangan perangkat lunak sekuensial linier yang menekankan pada siklus perkembangan cepat dengan

55 38 menggunakan pendekatan konstruksi berbasis komponen. Sehingga apabila kebutuhan dipahami dengan baik, maka system fungsional yang utuh dapat diselesaikan dalam waktu kira-kira hari. Menurut Martin (dalam Kendall & Kendall, 2007 ; 237) Pendekatan RAD meliputi fase-fase: 1. Fase Perencanaan Kebutuhan (Requirement Planning). Fase dimana pengguna tingkat tinggi memutuskan fungsi apa saja yang harus difiturkan oleh aplikasi tersebut. 2. Desain (Design Workshop) Fase dimana pengguna diminta membahas aspek-aspek desain non teknis dari sistem, dengan bimbingan penganalisis.karena tingginya sifat interaktif, fase ini sering digabungkan dengan fase konstruksi pada workshop desain RAD. 3. Fase Konstruksi Pada fase ini setiap desain yang diciptakan dalam fase sebelumnya selanjutnya ditingkatkan untuk dilakukan pengkodean system.kemudian setelah tahap ini selesai dilakukan uji kemampuan untuk mendapatkan komentar, dan revisi dari pengguna tingkat tinggi. 4. Fase Implementasi Tahap terakhir adalah dimana aplikasi baru diuji coba dan pengenalan terhadap aplikasi.

56 39 4. Object Oriented Analysis Design (OOAD) OOAD adalah metode pengembangan sistem yang lebih menekankan pada objek dibandingkan dengan data atau proses. Ada beberapa ciri khas dari pendekatan ini yaitu object, Inheritance dan object class. Objek adalah abstraksi dari benda nyata dimana data dan proses diletakkan bersama untuk memodelkan struktur dan perilaku dari objek dunia nyata. Objek class adalah sekumpulan objek yang berbagi struktur yang sama dan perilaku yang sama. Inheritance adalah properti yang muncul ketika tipe entitas atau objek class disusun secara hirarki dan setiap tipe entitas atau objek class menerima atau mewarisi atribut dan metode dari pendahulunya (Al Fatta, 2007: 38) Unit Testing Pengujian sistem perangkat lunak atau (software testing) adalah bagian dari suatu siklus yang melibatkan verifikasi apakah suatu unit yang dikembangkan telah memenuhi kebutuhan sistem (syarat-syarat informasi) yang didefinisikan pada tahapan sebelumnya. Unit testing terdiri dari : 1. Pengujian Black Box Black box testing adalah pengujian fungsional yang merupakan pendekatan pengujian yang ujinya diturunkan dari spesifikasi program atau komponen. Sistem merupakan kotak hitam yang perilakunya hanya dapat ditentukan dengan mempelajari input dan output yang berkaitan. Pada black box testing, cara pengujian hanya dilakukan dengan menjalankan atau mengeksekusi unit atau modul, kemudian diamati pakah

57 40 hasil dari unit itu sesuai dengan proses bisnis yang diinginkan. Jika ada unit yang tidak sesuai outputnya maka untuk meneyelesaikannya, diteruskan pada pengujian white box (Al Fatta, 2007 : 172). 2. Pengujian White Box Pengujian white box (structural testing) merupakan pengujian yang diturunkan dari pengetahuan struktur dan implementasi perangkat lunak. Pengujian structural biasanya diterapkan untuk unit program yang relative kecil seperti subrutin atau operasi yang terkait dengan suatu objek. Sebagaimana ditunjukan oleh namanya, penguji dapat menganalisis kode dan menggunakan pengetahuan mengenai struktur komponen untuk menurunkan data uji. Pengetahuan mengenai algoritma yang digunakan untuk implementasi beberapa fungsi dapat dipakai untuk mengidentifikasi partisi ekuivalensi lebih lanjut (Sommerville, 2003: 91) Studi Sejenis Untuk penelitian skripsi yang dilakukan, berikut ini adalah referensi tinjauan penelitian algoritma string matching dari dua buah skripsi dan jurnaljurnal yang digunakan sebagai studi literature penulis diantaranya adalah : Supardi (2009). Analisis penerapan string matching pada aplikasi pencarian berkas di komputer. Tujuan penelitian yang dibahas dalam skripsi ini merupakan penerapan algoritma exact string matching pada aplikasi pencarian berkas di komputer dengan menggunakan framework.net dan bahasa C# melalui tahap model pengembangan sistem RAD. Hasil yang

58 41 didapatkan pada penelitian ini yakni algoritma boyer-moore memerlukan waktu yang lebih cepat dalam pencocokan dibandingkan knuth morris-pratt dan brute force tetapi boyer- moore tidak dapat melakukan pencocokan string untuk karakter ASCII data yang ada pada berkas komputer. Endang Hastriana (2010). Perbandingan algoritma string matching knuth morris-pratt dengan boyer moore horspool pada simulasi pengenalan sidik jari. Teknik Informatika Fakultas Sains dan Teknologi Universitas Islam Negeri Syarif Hidayatullah, Jakarta. Tujuan penelitian yang dibahas dalam tugas akhir ini merupakan penelitian yang dilakukan terhadap perbandingan algoritma knuth morris-pratt dan boyer moore pada suatu simulasi pengenalan sidik jari dengan menggunakan Borland Delphi melalui tahap model pengembangan sistem RAD. Hasil dari penelitian ini didapatkan bahwa boyer moore-horspool menghasilkan pencocokan yang lebih cepat dibanding knuth morris-pratt karena boyer moore horspool melakukan pergeseran yang lebih jauh daripada knuth morris-pratt. Mokhamad Syaroni dan Rinaldi Munir (2004). Pencocokan string berdasarkan kemiripan ucapan (phonetic string matching) dalam Bahasa Inggris. Tujuan penelitian yang dibahas dalam topik penelitian ini merupakan pembahasan dan analisis kemampuan tiga algoritma phonetic string matching yaitu algoritma soundex, metaphone, dan caverphone dari segi fonetik Bahasa Inggris. Hasil analasis kemampuan phonetic string matching algoritma soundex, metaphone, dan caverphone, menunjukkan bahwa kemampuan phonetic string matching yang baik ditunjukkan oleh algoritma caverphone.

59 42 Bernardino Madaharsa Dito Adiwidya (2009). Algoritma levensthein dalam pendekatan approximate string matching. Tujuan penelitian yang dibahas dalam topik penelitian ini merupakan pencarian jumlah operasi string dalam approximate string matching yang diperlukan untuk mentransformasikan suatu string menjadi string lain menggunakan pendekatan algoritma levenshtein. Hasil yang didapatkan pada penelitian ini disimpulkan bahwa levenshtein merupakan algoritma yang diperlukan untuk mencari perbedaan- perbedaan string yang ada pada operasi approximate dengan kompleksitas O(n2). Anggy Sagita., dkk (2006). Analisa algoritma pencocokan string. Tujuan penelitian yang dibahas dalam topik penelitian ini merupakan suatu analisis algoritma staightforward matching dengan menggunakan brute force, knuthmorris-pratt, dan boyer-moore pada pencarian string dalam sekumpulan teks. Hasil yang didapatkan yakni bahwa algoritma yang dianalisis pada penelitian ini hanya dapat menangani permasalahan string yang bersifat exact. Dewanto R.A Aradea (2007). Aplikasi SMS Gateway dengan koreksi kesalahan menggunakan fuzzy string matching. Teknik Informatika Fakultas Teknik Universitas Siliwangi Tasikmalaya. Tujuan penelitian yang dibahas dalam topik penelitian ini adalah menggunakan konsep fuzzy string matching untuk mengoreksi kesalahan yang ada pada pengelolaan informasi via sms yang bernama SMS Gateway menggunakan logika Fuzzy dan Clusterring. Hasil yang didapatkan pada penelitian ini yakni Fuzzy String Matching (FSM) mampu menekan kesalahan kode yang masuk ke SMS Gateway. Namun

60 43 beberapa kekurangan masih muncul jika data yang dikirimkan bukan kode yang ada pada kamus sistem. Berdasarkan penelitian yang dijabarkan diatas, maka penulis menjadikan penelitian-penelitian sebelumnya sebagai referensi studi sejenis untuk proses penelitian pada tugas akhir ini. Adapun penelitian-penelitian sebelumnya belumlah melakukan suatu penelitian analisis penerapan string matching menggunakan inexact string matching secara approximate string matching dan exact string matching secara brute force string matching pada suatu pencocokan string data nama orang yang dikomparasi. Penelitian yang penulis lakukan merupakan suatu analisis penerapan string matching dalam suatu komparasi data kepesertaan JAMKESMAS menggunakan PHP sebagai bahasa pemrograman dan MySQL sebagai database server untuk mendapatkan kecocokan data string antara dua database.

61 BAB III METODOLOGI PENELITIAN Untuk mendapat data dan fakta yang sebenarnya dalam menguraikan masalah pada komparasi data untuk mendapatkan kecocokan data ini, maka penulis merumuskan cara yang tepat dalam memecahkan permasalahan yang terangkum dalam suatu rangkaian metodologi penelitian mengacu pada penelitian sebelumnya maupun referensi teori yang mendasari Metode Pengumpulan Data Berkaitan dengan hal tersebut, penulis melakukan metode pengumpulan data. Pengumpulan data adalah prosedur yang sistematis dan standar untuk perolehan data yang diperlukan. Data yang dikumpulkan merupakan teoriteori yang telah berkembang dalam bidang ilmu yang berhubungan, dan teknik-teknik yang digunakan oleh peneliti sebelumnya. Metode pengumpulan data yang digunakan dalam hal ini adalah : 1. Metode Dokumentasi Metode Dokumentasi adalah teknik pengumpulan data yang dilakukan dengan membaca dan mempelajari buku, dokumen, jurnal serta literatur yang berkaitan dengan objek penelitian. Pengumpulan data ini penulis lakukan dengan cara mengunjungi perpustakaan maupun memanfaatkan media internet. 44

62 45 2. Wawancara Wawancara adalah teknik pengumpulan data yang dilakukan dengan Bapak Swasetyo Yulianto pada Desember 2010 di Badan Pengkajian dan Penelitian Teknologi guna mendapatkan informasi permasalahan yang dihadapi dalam pengelolaan data kepesertaan JAMKESMAS Metode Komparatif Studi kausal-komparatif merupakan informasi yang sangat berguna mengenai sifat-sifat gejala yang dipersoalkan dalam kondisi, perurutan dan cara yang dilakukan dalam mengkomparasi. Untuk mendapatkan gambaran mengenai algoritma string matching dalam menguraikan masalah pada komparasi data ini, maka penulis merumuskan cara dalam memecahkan permasalahan yang terangkum dalam suatu rangkaian analisis algoritma pada penerapan string matching komparasi data kepesertaan. Adapun dalam hal ini penulis menggunakan dua macam algoritma string matching yakni pendekatan algoritma brute-force yang mewakili jenis algoritma exact string matching serta algoritma approximate string matching yang mewakili algoritma fuzzy string matching. Penggunaan algoritma exact string matching dalam komparasi data penamaan ini sengaja penulis lakukan guna menjadikan parameter ukuran serta memperkuat alasan penulis untuk menggunakan fuzzy string matching sebagai solusi dalam permasalahan ini.

63 Metode Pengembangan Sistem Dalam pengembangan sistem yang dilaksanakan pada penerapan algoritma string matching dalam komparasi data kepesertaan ini penulis menggunakan model pengembangan RAD yang meliputi : (Kendall & Kendall, 2007:237) 1. Fase Perencanaan Syarat-syarat. Dalam tahapan ini penulis merencanakan tujuan dan berbagai syarat-syarat dalam memenuhi kebutuhan sistem (aplikasi) dalam penyelesaian permasalahan kecocokan data kepesertaan ini. Menetukan syarat-syarat informasi salah satunya adalah menetukan data-data yang diperlukan dan menganalisa metode yang tepat guna memberikan solusi untuk mencapai tujuan, yakni dengan cara : a. Mendefinisikan Masalah, adalah tahap untuk menentukan masalah apa yang harus diselesaikan dengan menggunakan sistem aplikasi yang akan dibangun. Hal ini dilakukan guna menentukan syarat-syarat informasi. b. Menentukan kebutuhan syarat informasi untuk memecahkan permasalahan dan menganalisa metode yang tepat. Dalam menyelesaikan permasalahan komparasi data untuk mendapatkan kecocokan string data kepesertaan ini, penulis melakukan penyelesaian dengan menggunakan dua macam algoritma string matching yakni : 1. Exact String Matching Dalam hal ini penulis menggunakan algoritma brute force sebagai salah satu algoritma yang mewakili exact string matching untuk

64 47 membuktikan dan menguji kehandalan algoritma ini dalam menyelesaikan permasalahan yang ada. 2. Fuzzy String Matching Dalam hal ini penulis menggunakan algoritma approximate string matching untuk membuktikan serta menguji kehandalan algoritma ini dalam meyelesaikan permasalahan yang ada. Analisis algoritma string matching dalam komparasi data penamaan ini akan dijelaskan pada sub bab. 2. Fase Perancangan. Dalam fase ini penulis melakukan perancangan terhadap pengaplikasian metode exact string matching dan fuzzy string matching, serta merancang aplikasi yang hendak dibuat atau dibangun guna menguji keefektifan metode algoritma dalam menyelesaikan permasalahan yang ada. Kegiatan yang dilakukan dalam tahap perancangan atau desain ini meliputi (Ladjamudin, 2005: 39): a. Desain proses, meliputi desain tentang proses-proses apa saja yang dibutuhkan oleh sistem. b. Desain basis data, merupakan desain tabel-tabel yang dibutuhkan dalam pengolahan data. Table-tabel ini akan diimplementasikan kedalam bentuk database, yang menggunakan program MySQL. c. Desain antarmuka, merupakan desain untuk menentukan masukan dan keluaran yang akan digunakan untuk mengoperasikan sistem.

65 48 3. Fase Konstruksi. Dalam fase ini penulis melakukan konstruksi aplikasi setelah melakukan fase perancangan aplikasi dengan cara pengkodean. Tools program yang digunakan dalam sistem penerapan algoritma string matching ini menggunakan PHP sebagai bahasa pemrograman dan MySQL sebagai database server. 4. Fase Implementasi. Dalam fase ini penulis melakukan implementasi terhadap aplikasi yang dibangun guna menguji seberapa besar kemampuan metode fuzzy string matching dan exact string matching yang digunakan dalam menyelesaikan permasalahan yang ada. Pengujian ini berguna agar penulis dapat mengetahui secara keseluruhan mengenai kesesuaian, efektifitas dan efisiensi penerapan algoritma string matching terhadap tujuan yang ingin dicapai, yang mana hal ini sangat berguna sebagai bahan kesimpulan dalam menilai akurasi kecocokan dalam menyelesaikan permasalahan pencocokan string komprasi data kepesertaan. Metode pengujian yang digunakan dalam pengujian sistem adalah metode pengujian white box pada pengujian sistem aplikasi yang dibangun Alasan Penggunaan RAD Adapun dalam penelitian ini penulis memilih menggunakan metode pengembangan sistem Rapid Aplication Development dengan berbagai alasan berikut :

66 49 1. Prinsip model pengembangan RAD yang waktunya cepat dan singkat dalam tiap langkah metode pengerjaannya. 2. Memudahkan dalam tiap-tiap langkah kerja karena adanya modularisasi pengerjaan. 3. Aplikasi yang dirancang dan dibangun hanya dipergunakan untuk mengimplementasikan metode algoritma yang dipilih guna menguji keefektifan algoritma dalam menyelesaikan permasalahan yang ada ssehingga tidak memerlukan tahap pemeliharaan. 4. Sangat cocok diterapkan pada aplikasi berskala kecil. Hal ini sesuai dengan aplikasi yang dibuat dalam penerapan metode algoritma string matching Keunggulan dan Kelemahan RAD a. Keunggulan: 1. Waktu pengembangan yang lebih singkat dan cepat jika kebutuhan dan batasan proyek diketahui. 2. Biaya yang relatif lebih murah atau rendah. b. Kelemahan: 1. Tidak cocok untuk proyek skala besar. 2. Hanya baik digunakan pada proyek penelitian yang dapat dimodularisasi. 3. Membutuhkan suatu tim yang cukup untuk mengerjakan bagianbagian yang dimodularisasi.

67 BAB IV ANALISIS DAN PEMBAHASAN Dalam melaksanakan penerapan string matching dalam komparasi data kepesertaan, penulis telah melalui berbagai tahap-tahapan metode penelitian hingga mencapai hasil dari tujuan yang hendak dicapai. Dalam bab ini penulis menjabarkan hal-hal yang dilakukan penulis selama penyelesaian penelitian ini, sesuai dengan metodologi penelitian yang dirujuk penulis Metode Komparatif Dalam tahap komparatif ini penulis melakukan suatu proses analisis dalam penerapan string matching untuk komparasi data kepesertaan JAMKESMAS yang dilakukan dalam membandingkan dua data yang terdapat pada dua instansi yakni BPS dan ASKES. Data yang dibandingkan dalam komparasi data untuk mendapatkan kecocokan data ini merupakan data yang berasal dari wilayah Propinsi Bangka Belitung Analisis Algoritma String Matching Analisis penerapan fuzzy string matching dalam komparasi data kepesertaan merupakan analisis terhadap penerapan algoritma fuzzy string matching dalam membandingkan kecocokan data string nama sebagai tolak ukur kesamaan data yang terdapat pada dua database. Pemilihan nama sebagai informasi peserta yang patut dianalisa dalam algoritma fuzzy string matching komparasi data ini didasari karena data string nama orang merupakan data string yang tidak memiliki bentuk penulisan baku dan bermacam-macam 50

68 51 bentuk penulisan dalam satu nama orang, hal ini menunjukan bahwa string nama orang adalah hal yang bersifat kabur atau samar yang mana sesuai dengan prinsip logika fuzzy. Untuk menguatkan alasan dan sebagai parameter (ukuran) dalam pemilihan algoritma tersebut maka penulis kemudian juga menggunakan algoritma exact string matching Exact String Matching Berdasarkan studi literatur yang dilakukan maka penulis memilih menggunakan algoritma brute force untuk diterapkan dalam komparasi data kepesertaan. Exact string matching merupakan algoritma yang digunakan penulis untuk menjadikan parameter (ukuran) dalam penggunaan algoritma inexact string matching. Teknik Pencocokan pada Algoritma brute force : 1. Menyamakan teks dengan menghitung jumlah karakter teks pada masingmasing database. Setiap string yang memiliki jumlah karakter yang sama maka string tersebut akan dikumpulkan dan kemudian akan dibandingkan untuk dicocokan.

69 Database A 1 6 Database B 1 6 R A H M A T E F E N D Y R I Y A D I J U N I A R E F E N D I H A R T I N R A T I N A H U S N A H S U M I N A R E N A T A Y U N I A R

70 53 2. Mencocokan kesamaan teks dengan membaca karakter sebelah kiri string yang berindeks-1 pada masing-masing database. 1 6 R A H M A T R E N I T A T U M I N I R I Y A D I S U M I N A 1 6 T U M I N I J U N I A R H A R T I N H U S N A H R E L I T A Y U N I A R a. Bila karakter pada record masing-masing database memiliki kesamaan, maka pencocokan string akan berpindah kearah kanan karakter string selanjutnya, hingga akhir dari string tersebut. b. Sedangkan bila karakter yang dicocokan tidak memiliki kesamaan antar karakter pada masing-masing database maka string tersebut tidak kembali dicocokan (dinyatakan tidak cocok).

71 R E N I T A E F E N D Y E F E N D I R E L I T A 1 E F E N D I 1 6 E F E N D Y 1 6 E F E N D I 1 6 E F E N D Y 1 6 E F E N D I 1 6 E F E N D Y

72 55 Karena tidak adanya karakter yang sama saat pembacaan pada karakter ke 5 antara kedua string pada masing-masing database maka pencocokan pada kedua database tidak dilanjutkan (berhenti) atau dinyatakan kedua database Dengan contoh perumpamaan diatas dapat disimpulkan bahwa menggunakan algoritma brute force string matching (Exact String Matching) dalam pencocokan string data nama orang merupakan metode pencocokan string yang hanya mengambil string nama yang sama persis dengan string masukan atau string yang dibandingkan. Sehingga algoritma ini belum mampu untuk menangani, seperti: 1. Adanya kemungkinan perbedaan ejaan dalam input data nama. 2. Bentuk penaaman orang (peserta) yang variatif Normalisasi String Sebelum melangkah kedalam algoritma string matching diperlukan suatu proses normalisasi string nama untuk mencapai keakuratan fuzzy string matching. Normalisasi string dalam data nama peserta adalah suatu proses untuk mendapatkan similarty function pada algoritma fuzzy string matching. Similarity function adalah suatu fungsi yang menentukan kesamaan data string yang dicocokan. Similarity function didapatkan dari normalisasi string penamaan sesuai dengan aturan translasi Q-gram maupun eliminasi duplikasi karakter setelah dilakukannya translasi Q-gram. Proses normalisasi ini dilakukan guna membentuk suatu nama orang (peserta) yang memiliki keteraturan bentuk penamaan sehingga dapat mengurangi variasi bentuk penamaan.

73 56 Proses normalisasi secara garis besar terbagi menjadi beberapa tahap, yaitu: 1. Translasi q-gram. 2. Eliminasi duplikasi karakter Dalam menormalisasikan string, penulis melakukan translasi q-gram yang bertujuan untuk mendapatkan aturan tetap dari bentuk suatu karakter yang ada dalam data nama orang. Oleh karena itu dalam melakukan translasi q-gram, penulis melakukan pengambilan sampel data nama peserta untuk mendapatkan sebaran nama yang tetap terhadap bentuk karakter penamaan orang dan melakukan pendekatan statistic untuk memperkecil ambiguitas dari pemakaian bentuk string penamaan orang agar mangetahui translasi karakter yang sering muncul. Adapun aturan yang didapatkan dalam translasi q-gram ini : Tabel 4.1 Translasi Q-gram Awal CQ,CK DJ DZ IE KH KS OE PH Translasi Q-Gram KK JJ ZZ II HH XX UU FF

74 57 V SJ SY TJ DY F SY SS CC DI BH,CH,DH,GH,JH,SH,TH,ZH BB,CC,DD,GG,JJ,SS,TT,ZZ AA,BB, CC, DD, EE, FF, GG, HH, II, JJ, KK, LL, MM, NN, OO, PP, QQ, RR, SS, TT, UU, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, T, U, V, W, X, Y, Z VV, WW, XX, YY, ZZ Pengambilan q-gram (urutan karakter) pada aturan translasi ini ditetapkan dengan asumsi keunikan dan tingginya tingkat kemunculan q-gram pada suatu string nama orang. Berdasarkan hal diatas, melangkah pada tahap selanjutnya yakni melakukan eliminasi duplikasi karakter. Hal ini dilakukan terhadap suatu karakter yang berulang pada translasi q-gram. Sehingga didapatkan bentuk normal dari suatu karakter penamaan dalam data string nama orang. Dalam penerapan normalisasi untuk mendapatkan similarity function maka dilakukan suatu penghitungan perbedaan jumlah karakter dari data string pada masing-masing database dengan cara melakukan operasi-operasi seperti operasi penghapusan, penyisipan, maupun penggantian pada data string

75 58 hingga didapatkan kecocokan string yang sama, ataupun mendekati kesamaan sesuai dengan similarity function. Gambar 4.1 Proses Similarity Function 1. Operasi penghapusan Operasi penghapusan dilakukan bila suatu string yang akan dicocokan memiliki q-gram yang harus mengikuti aturan translasi q-gram. Contoh : E F E N D H I Karena DH merupakan q-gram (urutan karakter) yang terdapat pada aturan tranlasi q-gram maka dilakukan suatu operasi penghapusan pada karakter H sesuai dengan aturan translasi Q-gram yang mana string tersebut menjadi :

76 E F E N D D I Setelah melalui proses translasi q-gram maka karakter yang berdekatan dan mengalami pengulangan pada suatu string akan dieliminasi (eliminasi duplikasi karakter) sehingga string menjadi : E F E N D I Sehingga dapat disimpulkan bahwa nama string normal dari nama EFENDHI dadalah EFENDI atau EFENDHI = EFENDI 2. Operasi penggantian Operasi penggantian dilakukan bila suatu string yang akan dicocokan memiliki q-gram yang harus mengikuti aturan translasi q-gram. Contoh : E F E N D Y Maka pada data string diatas akan dilakukan suatu operasi penggantian pada karakter Y sesuai dengan aturan translasi Q-gram yang mana string tersebut akan menjadi :

77 E F E N D I Setelah data sesuai dengan aturan translasi Q-gram maka akan dilakukan eliminasi duplikasi karakter pada suatu karakter yang berulang, karena pada data string tidak memiliki pengulangan karakter yang berdekatan maka string tersebut tidak melakukan eliminasi duplikasi karakter sehingga dapat disimpulkan bahwa bentuk normal dari nama EFENDY adalah EFENDI atau EFENDY = EFENDI 3. Operasi Penyisipan Operasi penggantian dilakukan bila suatu string yang akan dicocokan memiliki q-gram yang harus mengikuti aturan translasi q-gram R A M A T Dalam hal ini maka akan dilakukan operasi penyisipan pada string diatas sehingga dapat sesuai dengan bentuk normal dari string tersebut R A H M A T

78 61 Bentuk string diatas merupakan bentuk string normal dari nama tersebut sesuai dengan similarity function. Sehingga dapat disimpulkan bahwa bentuk normal penulisan RAMAT adalah RAHMAT atau RAMAT = RAHMAT. Dengan demikian dari proses normalisasi q-gram data nama inilah yang kemudian menjadi suatu acuan dalam pembentukan suatu nama yang baku atau normal. Adapun langkah-langkah penerapan proses normalisasi string pada data nama orang (peserta) yaitu : 1. Mengambil data nama orang (peserta). 2. Membaca karakter data nama orang (peserta) yang dimulai dari sebelah kiri string. 3. Untuk 2 urutan karakter (q-gram) yang dibaca. a. Jika q-gram 2 karakter sama dengan q-gram pada tabel q-gram maka translasikan (ubah) 2 karakter yang dibaca sesuai dengan translasi q- gram pada tabel q-gram. b. Jika q-gram 2 karakter tidak sama dengan q-gram pada table q-gram maka urutan karakter (q-gram) yang dibaca tidak berubah. 4. Lakukan pembacaan urutan karakter selanjutnya hingga karakter terakhir pada data string nama orang.

79 Inexact String Matching (Fuzzy String Matching) Metode inexact string matching atau fuzzy string matching adalah metode pencocokan yang digunakan untuk mencari string yang memiliki kesamaan dengan string tertampung di kamus, meskipun tidak sama persis dalam susunan karakternya. Untuk mendapatkan kesamaan ini dibutuhkan suatu fungsi yang sering disebut dengan similarity function, similarty function adalah Fungsi yang akan bertugas memutuskan string hasil pencarian jika ditemukan string hasil pendekatan (aproksimasi). Similarity function pada data string nama orang didahului dengan normalisasi string penamaan sesuai dengan aturan translasi Q-gram maupun eliminasi duplikasi karakter setelah dilakukannya translasi Q-gram. Q-gram adalah susunan beberapa huruf yang berurutan. Sedangkan eliminasi duplikasi karakter adalah menghilangkan karakter yang memiliki pengulangan pada suatu string. Algoritma (langkah-langkah) Fuzzy String Matching dalam Komparasi data kepesertaan : 1. Menormalisasikan karakter suatu data string nama peserta yang dibaca pada masing-masing database. a. Bila karakter yang dibaca pada string yang dibandingkan memiliki q- gram (urutan karakter) yang ada pada suatu tabel aturan q-gram maka q-gram pada string tersebut akan ditranslasikan kedalam bentuk normal karakter tersebut, proses translasi q-gram ini akan dilakukan pada suatu data string yang dibaca selama ditemui adanya suatu urutan karakter yang terdapat pada tabel aturan q-gram, bila kemudian

80 63 terdapat karakter berdekatan yang berulang maka salah satu karakter tersebut akan dieliminasi E F E N D H Y E F F E N D Y E F E N D D Y E F E N D Y E F E N D Y E F E N D I E F E N D I b. Bila karakter yang dibaca pada string yang dibandingkan memiliki q- gram (urutan karakter) yang tidak terdapat pada suatu tabel aturan q- gram maka dapat disimpulkan string tersebut telah memiliki bentuk normal urutan karakter yang tidak perlu ditranslasikan W U L A N

81 64 Dikarenakan WU-UL-LA-AN merupakan uruten karakter yang tidak terdapat pada tabel q-gram maka urutan-urutan karakter yang terdapat pada string tersebut tidak perlu ditranslasikan. 2. Penghitungan jumlah karakter dari data string yang dicocokan pada masing-masing database S T R I N G S T R I N G Database A Database B 3. Bila bentuk suatu string yang dibaca telah memiliki bentuk normal dari string tersebut maka proses membandingkan kecocokan data string dapat dilakukan dengan memeriksa kecocokan tiap-tiap karakter pada data string yang dibandingkan. a. Bila karakter yang dibandingkan memiliki kecocokan atau persamaan karakter maka proses pemeriksaan kecocokan karakter akan berlanjut hingga pada karakter terakhir jumlah string tersebut. b. Bila kemudian ditemui ketidakcocokan karakter pada string yang dibandingkan maka dapat disimpulkan kedua string yang dibandingkan tidak memiliki kecocokan sehingga proses pencocokan pun tidak berlanjut (dinyatakan string yang dibandingkan tidak cocok).

82 65 Database A 1 7 J A M I L A H S U P R I A N Y U L I A N A Database B 1 7 S A M P R I N J A M I L A H H A R T I N M I R N A T I S A M P R I N 4. Mencocokan kesamaan teks dengan membaca karakter sebelah kiri string yang berindeks-1 pada masing-masing database. 1 7 J A M I L A H S U P R I A N 1 7 S A M P R I N J A M I L A H S A M P R I N

83 66 a. Bila karakter pada record masing-masing database memiliki kesamaan, maka pencocokan string akan berpindah kearah kanan karakter string selanjutnya, hingga akhir dari string tersebut. b. Sedangkan bila karakter yang dicocokan tidak memiliki kesamaan antar karakter pada masing-masing database maka string tersebut tidak kembali dicocokan (dinyatakan tidak cocok) J A M I L A H J A M I L A H S A M P R I N J A M I L A H J A M I L A H J A M I L A H

84 J A M I L A H J A M I L A H J A M I L A H J A M I L A H J A M I L A H J A M I L A H J A M I L A H J A M I L A H

85 68 Karena adanya karakter yang sama hingga pembacaan pada karakter terakhir antara kedua string pada masing-masing database maka dapat disimpulkan data yang dibandingkan memiliki kecocokan. Dengan demikian hasil dari analisis penerapan string matching dalam komparasi data nama peserta inilah yang kemudian menjadi tahapan-tahapan metode (algoritma) yang digunakan dalam mencocokan data antar kedua database sebagai gambaran dalam menangani data nama peserta maupun data string peserta lainnya Fase Perencanaan Syarat-syarat Dalam tahap perencanaan penerapan string matching komparasi data kepesertaan, terdapat berbagai cara yang dilakukan untuk memenuhi syaratsyarat yang dibutuhkan dalam pembuatan sistem, diantaranya: Tujuan Informasi Analisis dan penerapan algoritma string matching dalam komparasi data kepesertaan JAMKESMAS ini bertujuan untuk mencari suatu kecocokan data antara kedua database instansi yang menjadi rujukan data kepesertaan jamkemas. Hal ini diperlukan guna memecahkan permasalahan perbedaan data yang terdapat pada kedua instansi yang mengambil data pada wilayah yang sama namun memiliki jumlah data yang berbeda. Sehingga dari perbedaan tersebut diperlukan suatu perbandingan data untuk mencari kecocokan atau kesamaan yang terdapat antar kedua database. Untuk mendapatkan kecocokan data antar kedua database maka diperlukan

86 69 suatu metode pencocokan string, yang akan digunakan untuk mencari kecocokan string antar kedua database. Algoritma string matching yang digunakan dalam komparasi data untuk mendapatkan kecocokan string ini yakni algoritma brute force yang mewakili algoritma exact string matching, serta approximate string matching yang mewakili algoritma fuzzy string matching Syarat Kebutuhan/Informasi Tahapan ini merupakan tahapan untuk menetukan syarat-syarat informasi apa saja yang digunakan. Diantara perangkat-perangkat yang ada untuk menentukan syarat-syarat infromasi salah satunya adalah menentukan datadata yang diperlukan dan metode yang akan dipakai. Adapun dalam mengaplikasikan string matching komparasi data kepesertaan ini penulis menggunakan perangkat keras dan perangkat lunak sebagai berikut: 1. RAM 2 GB. 2. Pentium IV. 3. Windows XP SP3. 4. Telah terinstall Web Browser, Apache web server, PHP, dan MySQL.

87 Perancangan Sistem Perancangan Proses Algoritma Exact String Matching Start Ambil Nama Tb. Peserta 1 Db Utama Db1 [Nama]; Memeriksa kecocokan Apakah cocok Tidak Ya Tampilkan kecocokan data Akhir Gambar 4.2 Flowchart Exact String Matching

88 Proses Kecocokan Memeriksa kecocokan Ambil Nama Tb. Peserta 2 Db 2 Db1[nama]; Db2[nama]; If (Db1[nama]= Db2[nama]) Keluar Gambar 4.3 Flowchart Proses Kecocokan

89 Algoritma Inexact String Matching (Fuzzy String Matching) Start Normalisasi nama Tb. Normalisasi Ambil nama Db1[nama]; Memeriksa kecocokan Apakah Cocok Tidak Ya Tampilkan kecocokan Akhir Gambar 4.4 Flowchart Fuzzy String Matching

90 Proses Normalisasi (Fuzzy String Matching) Mulai Ambil Nama Tb. Peserta 1&2 For ( i=0;i<stringnama ;i++) Replace (substr, pengganti, Stringnama) Ambil 2 karakter String Nama Substr(nama, i, 2) Ya Translasi Ambil karakter translasi (Select karakter from Transalasi) If substr(karakter= karakter translasi) Tidak Selesai Gambar 4.5 Flowchart Normalisasi String Nama

91 Perancangan Database Spesifikasi file table database pada sistem penerapan algoritma string matching memiliki rancangan sebagai berikut: 1. Rancangan Database BPS a. Pada rancangan table berikut merupakan data file (field field) yang berasal langsung dari database asli badan pengkajian statistik (BPS). Nama File : peserta 1 Akronim : db1 Tabel 4.2 Struktur File BPS No. Nama Field Tipe Data Panjang Keterangan 1. ID Varchar 11 Nomor identitas 2. Kdprop Varchar 2 Kode propinsi 3. Nmprop Varchar 50 Nama propinsi 4. Kdkabu Varchar 2 Kode kabupaten 5. Nmkabu Varchar 50 Nama kabupaten 6. Kdkeca Varchar 3 Kode kecamatan 7. Nmkeca Varchar 50 Nama kecamatan 8. Kdkelr Varchar 3 Kode kelurahan 9. Nmkelr Varchar 50 Nama desa 10. Alamat Varchar 50 Alamat 11. Noart Varchar 2 Nomor anggota rumah tangga 12. Nokip2 Varchar 2 Nomor urut

92 Namaart Varchar 50 Nama anggota rumah tangga 14. Jnskel Varchar 1 Jenis kelamin 15. Umur Varchar 2 Umur 16. Blnlahir Varchar 2 Bulan lahir 17. Thnlahir Varchar 2 Tahun lahir 18. Jmlkel Double Jumlah keluarga 19. Jmlart Double Jumlah anggota keluarga b. File translasi merupakan table file yang akan digunakan dalam fungsi normalisasi nama. File translasi berasal dari suatu proses transalsi Q- gram maupun eliminasi duplikasi karakter yang merupakan lingkup dari proses nomalisasi string nama. Nama File Akronim : Translasi : Translasi Tabel 4.3 Struktur File Translasi Db 1 No. Nama Field Tipe Data Panjang Keterangan Karakter Varchar 2 Urutan Karakter Perubahan Varchar 2 Hasil Translasi Q-gram c. Tabel normalisasi merupakan tabel rancangan yang didapatkan dari pembentukan fungsi nama yang telah dinormalisasi pada proses normalisasi string. Tabel ini akan berfungsi dalam penerapan algoritma

93 76 fuzzy string matching (Inexact String Matching) pada komparasi data untuk mendapatkan kecocokan data kepesertaan. Nama File : tabel normalisasi 1 Akronim : dbs_norm Tabel 4.4 Struktur File Normalisasi Db1 No. Nama Field Tipe Data Panjang Keterangan 1. ID Varchar 11 Nomor identitas 2. Kdprop Varchar 2 Kode propinsi 3. Nmprop Varchar 50 Nama propinsi 4. Kdkabu Varchar 2 Kode kabupaten 5. Nmkabu Varchar 50 Nama kabupaten 6. Kdkeca Varchar 3 Kode kecamatan 7. Nmkeca Varchar 50 Nama kecamatan 8. Kdkelr Varchar 3 Kode kelurahan 9. Nmkelr Varchar 50 Nama desa 10. Alamat Varchar 50 Alamat 11. Noart Varchar 2 Nomor anggota rumah tangga 12. Nokip2 Varchar 2 Nomor urut 13. Namaart Varchar 50 Nama anggota rumah tangga 14. Jnskel Varchar 1 Jenis kelamin 15. Umur Varchar 2 Umur

94 Blnlahir Varchar 2 Bulan lahir 17. Thnlahir Varchar 2 Tahun lahir 18. Jmlkel Double Jumlah keluarga 19. Jmlart Double Jumlah anggota keluarga 2. Rancangan Database ASKES a. Pada rancangan tabel berikut merupakan data file (field field) yang berasal langsung dari database asli Asuransi Kesehatan (ASKES). Nama File : peserta 2 Akronim : db2 Tabel 4.5 Struktur File Peserta Askes No. Nama Field Tipe Data Panjang Keterangan 1. Dpsnoka Varchar 13 Nomor kartu data peserta 2. Nokk Varchar 30 Nomor kartu keluarga 3. Nopen Varchar 25 Nomor kependudukan 4. Nosin Varchar 25 Nomor induk peserta 5. Pendaftar Varchar 30 Nomor surat keluar 6. Kdjnskpst Varchar 2 Kode jenis kepesertaan 7. Kdjnsnip Varchar 1 Kode jenis nomor induk 8. Kddesa Varchar 5 Kode desa 9. Kdkc Varchar 4 Kode kecamatan 10. Kdkantor Varchar 12 Kode kantor 11. Dpskddati2 Varchar 4 Kode dati 2 peserta

95 Dpskdkec Varchar 4 Kode kecamatan peserta Dpsnm Varchar 50 Nama peserta Umur Varchar 50 Tempat lahir peserta Dpstlglhr Varchar 1 Tanggal lahir peserta Dpsjk Varchar 12 Jenis kelamin peserta Dpsstskwn Varchar 3 Status kawin Dpsgol Varchar 9 Golongan peserta Dpsgaji Varchar 9 Gaji peserta Dpsiuran Double 50 Iuran peserta Dpsjln Double 7 Alamat peserta Dpskdpos Varchar 5 Kode pos alamat peserta Dpsnotlp Varchar 12 Nomor telepon peserta Dpsjmlis Varchar 1 Jumlah istri peserta Dpsjmla Varchar 1 Jumlah anak peserta Dpskdmut Varchar 2 Tanggal mutasi peserta Dpsstskrm Bit 1 Status kirim peserta Dpstglctk Datetime Tanggal cetak kartu Dpstglver Datetime Tangal verifikasi peserta Dpsveroleh Varchar 50 Nama verifikator Dpsnipveroleh Varchar 11 Nomor induk verifikator Dpsentryoleh Varchar 50 Nama petugas entry data Dpsmsblaku Datetime Masa berlaku kepesertaan Dpstgltrm Datetime Tanggal terima peserta Dpsstatus Varchar 1 Status peserta Dpsgolis Varchar 3 Golongan istri peserta Dpsaktif Bit 1 Keaktifan peserta

96 Kdtangungan Varchar 3 Kode tangungan Sws_id Integer 11 Nomor id urut b. File translasi merupakan table file yang akan digunakan dalam fungsi normalisasi nama. File transalasi berasal dari suatu proses transalsi Q- gram maupun eliminasi duplikasi karakter yang merupakan lingkup dari proses nomalisasi string nama. Nama File Akronim : Translasi : Translasi Tabel 4.6 Struktur File Translasi Db2 No. Nama Field Tipe Data Panjang Keterangan Karakter Varchar 2 Urutan Karakter Perubahan Varchar 2 Hasil Translasi Q-gram c. Tabel normalisasi merupakan tabel rancangan yang didapatkan dari pembentukan fungsi nama yang telah dinormalisasi pada proses normalisasi string. Tabel ini akan berfungsi dalam penerapan algoritma fuzzy string matching (Inexact String Matching) pada komparasi data untuk mendapatkan kecocokan data kepesertaan. Nama File : table normalisasi 2 Akronim : db2_norm

97 80 Tabel 4.7 Struktur File Normalisasi Db2 No. Nama Field Tipe Data Panjang Keterangan Dpsnoka Varchar 13 Nomor kartu data peserta Nokk Varchar 30 Nomor kartu keluarga Nopen Varchar 25 Nomor kependudukan Nosin Varchar 25 Nomor induk peserta Pendaftar Varchar 30 Nomor surat keluar Kdjnskpst Varchar 2 Kode jenis kepesertaan Kdjnsnip Varchar 1 Kode jenis nomor induk Kddesa Varchar 5 Kode desa Kdkc Varchar 4 Kode kecamatan Kdkantor Varchar 12 Kode kantor Dpskddati2 Varchar 4 Kode dati 2 peserta Dpskdkec Varchar 4 Kode kecamatan peserta Dpsnm Varchar 50 Nama peserta Umur Varchar 50 Tempat lahir peserta Dpstlglhr Varchar 1 Tanggal lahir peserta Dpsjk Varchar 12 Jenis kelamin peserta Dpsstskwn Varchar 3 Status kawin Dpsgol Varchar 9 Golongan peserta Dpsgaji Varchar 9 Gaji peserta Dpsiuran Double 50 Iuran peserta Dpsjln Double 7 Alamat peserta Dpskdpos Varchar 5 Kode pos alamat peserta Dpsnotlp Varchar 12 Nomor telepon peserta

98 Dpsjmlis Varchar 1 Jumlah istri peserta Dpsjmla Varchar 1 Jumlah anak peserta Dpskdmut Varchar 2 Tanggal mutasi peserta Dpsstskrm Bit 1 Status kirim peserta Dpstglctk Datetime Tanggal cetak kartu Dpstglver Datetime Tangal verifikasi peserta Dpsveroleh Varchar 50 Nama verifikator Dpsnipveroleh Varchar 11 Nomor induk verifikator Dpsentryoleh Varchar 50 Nama petugas entry data Dpsmsblaku Datetime Masa berlaku kepesertaan Dpstgltrm Datetime Tanggal terima peserta Dpsstatus Varchar 1 Status peserta Dpsgolis Varchar 3 Golongan istri peserta Dpsaktif Bit 1 Keaktifan peserta Kdtangungan Varchar 3 Kode tangungan Sws_id Integer 11 Nomor id urut Dari gambaran struktur data antar kedua database diatas maka dapat dibandingkan bahwa kedua database tersebut memiliki suatu struktur data nama field dan jumlah isi field yang berbeda. Sehingga diperlukan suatu ketetapan untuk menentukan kesamaan isi field dengan melihat kesamaan arti field pada nama field yang berbeda yang dimiliki kedua database sehingga memudahkan dalam pencarian kecocokan string antar kedua database.

99 82 Kecocokan isi field antar kedua database : Table 4.8 Kecocokan Field Kedua Database Pernyataan Definisi Database BPS Database Askes Nama Nama Peserta Nama Peserta Jenis Kelamin 1. Laki-laki (1) 2. Perempuan (2) L = laki-laki P = Perempuan Umur Umur Umur Alamat Nama kecamatan Alamat Kabupaten Bangka,Bangka tengah,bangka Barat, dan Belitung 0108 (Bangka, Bangka tengah, Bangka barat) dan 0109 (Belitung) Kecocokan isi field database inipun yang kemudian dapat dimanfaatkan sebagai suatu field-field yang menyatukan kesamaan pencarian untuk mendapatkan kecocokan data antar kedua database. Dengan adanya nama sebagai salah satu field yang memiliki kecocokan pada masing-masing database, maka kemudian nama peserta dijadikan hal yang utama dalam

100 83 analisis dan penerapan pencocokan string dalam komparasi data kepesertaan ini. Hal ini dikarenakan field nama sebagai suatu identitas peserta merupakan field yang perlu dianalisa tingkat variasinya Rancangan Interface Sistem Berikut merupakan rancangan antarmuka dari system penarapan algoritma string matching dalam komparasi data kepesertaan. Database Utama Database 1 Jenis Kelamin Umur Alamat Kabupaten Exact Gambar 4.6 Rancangan Tampilan Exact String Matching

101 84 Database Utama Database 1 Jenis Kelamin Umur Alamat Kabupaten Fuzzy Gambar 4.7 Rancangan Tampilan Inexact String Matching 4.4. Fase Konstruksi Hal yang dilakukan dalam fase konstruksi ini yakni membangun suatu aplikasi yang mampu menyelesaikan permasalahan sesuai dengan metode string matching yang diacu maupun sesuai dengan rancangan yang telah disusun dalam fase sebelumnya dengan cara pengkodean. Adapun dalam mengontruksi aplikasi yang hendak dibuat penulis manggunakan integrasi antara bahasa pemrograman PHP dan MySQL (database program). Sesuai dengan rancangan tampilan form terdapat item objek yang digunakan dalam sistem penerapan algoritma string matching:

102 85 1. Checkbox Kotak cek merupakan item komponen form yang berguna untuk melakukan pemilihan pada satu atau lebih pernyataan dari beberapa pernyataan yang disediakan. Pernyataan-pernyataan yang disediakan pada sistem ini merupakan field-field table pada masing-masing database yang teridentifikasi dapat dijadikan sebagai suatu acuan atau parameter tambahan untuk mendapatkan kecocokan dalam komparasi data kepesertaan (Table 4.7 Kecocokan Field Kedua Database). 2. Combo box Kotak kombo (drop-down) atau daftar pilihan merupakan objek form yang dimanfaatkan untuk menampilkan daftar pilihan. Pilihan (combo box) pada sistem ini merupakan pilihan yang disediakan untuk memilih item database yang digunakan untuk memilih database utama sebagai referensi pencocokan, yang mana terdapat pilihan database 1 sebagai database yang berasal dari BPS dan Database 2 sebagai database yang berasal dari ASKES. 3. Submit Button Tombol submit merupakan tombol yang berguna untuk mengirimkan semua variable data pada komponen-komponen form yang ada. Variablevariabel data pada komponen form yang dikirimkan merupakan variable yang didapatkan dari nilai komponen-komponen combo box maupun check box.

103 86 Hal awal yang dilakukan dalam mengonstruksi system guna menerapkan algoritma fuzzy string matching ini yakni membuat suatu table hasil normalisasi pada masing-masing database dari bentuk string data nama orang sesuai dengan fungsi normalisasi berikut : function normalisasi (Stringnama){ $anama_asli= Stringnama; for($i =0; $i < panjangstringnama-1; $i++) {bagian = substr(stringnama,$i,2); bagian= addslashes(bagian); dum = mysql_query("mengambil bagian database yang sesuai dengan urutan karakter pada table translasi'"); if ( dum!= 0) { Char = ArrayChar; Stringnama =str_replace(bagian,char,stringnama); } bagian= stripslashes(bagian); } return strtoupper(stringnama); } Hasil dari fungsi normalisasi inilah yang kemudian akan menjadi suatu tabel nama yang telah memiliki bentuk normal dari suatu nama orang dan

104 87 digunakan sebagai acuan data nama untuk perbandingan data guna mencari kecocokan data antar kedua database dalam fuzzy string matching Implementasi Pengenalan System 1. Tampilan Form Exact Gambar 4.8 Form Masukan Exact 2. Tampilan Form Inexact (Fuzzy) Gambar 4.9 Form Masukan Inexact

105 88 3. Tampilan Output Hasil Kecocokan Gambar 4.10 Tampilan Output Kecocokan Pengujian Sistem Pengujian sistem merupakan proses mengesekusi sistem perangkat lunak untuk menentukan apakah sistem perangkat lunak tersebut cocok dengan spesifikasi sistem dan berjalan sesuai dengan lingkungan yang diinginkan. Dalam menguji sistem penerapan algoritma string matching ini penulis mengunakan metode pengujian black box untuk menguji seberapa jauh sistem ini telah memenuhi berbagai hal yang telah dilalui dalam proses tahap pengembangan sistem sebelumnya. Pengujian yang dilakukan dalam sistem penerapan algoritma string matching komparasi data kepesertaan merupakan pengujian terhadap database 1 (database BPS) yang memiliki jumlah record sebesar data peserta dan database 2 (database ASKES) yang memiliki jumlah record sebesar data peserta.

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

APLIKASI ALGORITMA PENCOCOKAN STRING KNUTH-MORRIS-PRATT (KPM) DALAM PENGENALAN SIDIK JARI

APLIKASI ALGORITMA PENCOCOKAN STRING KNUTH-MORRIS-PRATT (KPM) DALAM PENGENALAN SIDIK JARI APLIKASI ALGORITMA PENCOCOKAN STRING KNUTH-MORRIS-PRATT (KPM) DALAM PENGENALAN SIDIK JARI Winda Winanti Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika, Institut Teknologi Bandung

Lebih terperinci

BAB II TINJAUAN PUSTAKA

BAB II TINJAUAN PUSTAKA BAB II TINJAUAN PUSTAKA 2.1 Arsip Dalam Undang-Undang No.43 Tahun 2009 menjelaskan bahwa arsip adalah rekaman kegiatan atau peristiwa dalam bentuk dan media sesuai dengan perkembangan teknologi informasi

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

Algoritma Pencarian String Knuth-Morris-Pratt Dalam Pengenalan Tulisan Tangan

Algoritma Pencarian String Knuth-Morris-Pratt Dalam Pengenalan Tulisan Tangan Algoritma Pencarian String Knuth-Morris-Pratt Dalam Pengenalan Tulisan Tangan Andri Rizki Aminulloh Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika, Institut Teknologi Bandung Jalan

Lebih terperinci

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI BAB 2 LANDASAN TEORI 2.1. Pengertian Aplikasi Berbasis Web Aplikasi merupakan program yang berisikan perintah-perintah untuk melakukan pengolahan data. Secara umum, aplikasi adalah suatu proses dari cara

Lebih terperinci

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI BAB 2 LANDASAN TEORI 2.1. Definisi Algoritma 2.1.1. Algoritma Istilah algoritma (algorithm) berasal dari kata algoris dan ritmis, yang pertama kali diungkapkan oleh Abu Ja far Mohammed Ibn Musa al Khowarizmi

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

Penerapan Algoritma Pencocokan String Knuth-Morris-Pratt Sebagai Algoritma Pencocokan DNA

Penerapan Algoritma Pencocokan String Knuth-Morris-Pratt Sebagai Algoritma Pencocokan DNA Penerapan Algoritma Pencocokan String Knuth-Morris-Pratt Sebagai Algoritma Pencocokan DNA Kukuh Nasrul Wicaksono Departemen Teknik Informatika Institut Teknologi Bandung Jalan Ganesha No 10 Bandung Indonesia

Lebih terperinci

BAB 2 TINJAUAN PUSTAKA

BAB 2 TINJAUAN PUSTAKA BAB 2 TINJAUAN PUSTAKA 2.1 Karakter ASCII ASCII (American Standard Code for Information Interchange) merupakan suatu standar internasional dalam kode huruf dan simbol seperti Hex dan Unicode. Kode ASCII

Lebih terperinci

Algoritma String Matching pada Mesin Pencarian

Algoritma String Matching pada Mesin Pencarian Algoritma String Matching pada Mesin Pencarian Harry Octavianus Purba 13514050 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Bandung, Indonesia 13514050@stei.itb.ac.id Proses

Lebih terperinci

Algoritma Brute Force (lanjutan)

Algoritma Brute Force (lanjutan) Algoritma Brute Force (lanjutan) Contoh-contoh lain 1. Pencocokan String (String Matching) Persoalan: Diberikan a. teks (text), yaitu (long) string yang panjangnya n karakter b. pattern, yaitu string dengan

Lebih terperinci

Pengaplikasian Algoritma Knuth-Morris-Pratt dalam Teknik Kompresi Data

Pengaplikasian Algoritma Knuth-Morris-Pratt dalam Teknik Kompresi Data Pengaplikasian Algoritma Knuth-Morris-Pratt dalam Teknik Kompresi Data I Nyoman Prama Pradnyana - 13509032 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung,

Lebih terperinci

IMPLEMENTASI ALGORITMA BRUTE FORCE DALAM PENCARIAN DATA KATALOG BUKU PERPUSTAKAAN

IMPLEMENTASI ALGORITMA BRUTE FORCE DALAM PENCARIAN DATA KATALOG BUKU PERPUSTAKAAN IMPLEMENTASI ALGORITMA BRUTE FORCE DALAM PENCARIAN DATA KATALOG BUKU PERPUSTAKAAN Mesran Dosen Tetap Program Studi Teknik Informatika STMIK Budi Darma Medan Jl. Sisingamangaraja No.338 Simpang Limun Medan

Lebih terperinci

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI BAB 2 LANDASAN TEORI 2.1 Kamus Menurut Lauder (2005:223), Kamus adalah sebuah karya yang berfungsi sebagai referensi. Kamus pada umumnya berupa senarai kata yang disusun secara alfabetis. Selain itu, disertakan

Lebih terperinci

Aplikasi Algoritma Pencarian String Dalam Sistem Pembayaran Parkir

Aplikasi Algoritma Pencarian String Dalam Sistem Pembayaran Parkir Aplikasi Algoritma Pencarian String Dalam Sistem Pembayaran Parkir Andi Kurniawan Dwi P - 13508028 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl.

Lebih terperinci

Penggunaan Algoritma Knuth-Morris-Pratt untuk Pengecekan Ejaan

Penggunaan Algoritma Knuth-Morris-Pratt untuk Pengecekan Ejaan Penggunaan Algoritma Knuth-Morris-Pratt untuk Pengecekan Ejaan Andreas Dwi Nugroho - 13511051 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha

Lebih terperinci

Algoritma Pencarian String dalam Pemilihan Anggota Sebuah Organisasi

Algoritma Pencarian String dalam Pemilihan Anggota Sebuah Organisasi Algoritma Pencarian String dalam Pemilihan Anggota Sebuah Organisasi Kevin Alfianto Jangtjik / 13510043 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung,

Lebih terperinci

Algoritma Brute Force

Algoritma Brute Force Algoritma Brute Force Deskripsi Materi ini membahas tentang algoritma brute force dengan berbagai studi kasus Definisi Brute Force Straighforward (lempeng) Sederhana dan jelas Lebih mempertimbangkan solusi

Lebih terperinci

BAB 3 ANALISIS DAN PERANCANGAN SISTEM

BAB 3 ANALISIS DAN PERANCANGAN SISTEM BAB 3 ANALISIS DAN PERANCANGAN SISTEM 3.1. Analisis Sistem Analisis sistem dapat didefinisikan sebagai penguraian dari suatu sistem informasi yang utuh ke dalam bagian-bagian komponennya dengan maksud

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

Algoritma Brute Force(lanjutan) Lecture 6 CS3024

Algoritma Brute Force(lanjutan) Lecture 6 CS3024 Algoritma Brute Force(lanjutan) Lecture 6 CS3024 String Matching Persoalan: Diberikan a. teks (text), yaitu (long) stringyang panjangnya n karakter b. pattern, yaitu string dengan panjang m karakter (m

Lebih terperinci

Penggunaan Algoritma Pencocokkan Pola pada Sistem Barcode

Penggunaan Algoritma Pencocokkan Pola pada Sistem Barcode Penggunaan Algoritma Pencocokkan Pola pada Sistem Barcode Hishshah Ghassani - 13514056 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, JL. Ganesha 10

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

Algoritma Brute Force dalam Pattern Matching pada Aplikasi Pendeteksian Potongan Citra

Algoritma Brute Force dalam Pattern Matching pada Aplikasi Pendeteksian Potongan Citra Algoritma Brute Force dalam Pattern Matching pada Aplikasi Pendeteksian Potongan Citra Ananta Pandu Wicaksana 13510077 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi

Lebih terperinci

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI BAB 2 LANDASAN TEORI 2.1 Algoritma Algoritma berasal dari nama ilmuwan muslim dari Uzbekistan, Abu Ja far Muhammad bin Musa Al-Khuwarizmi (780-846M). Pada awalnya kata algoritma adalah istilah yang merujuk

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

Praktikum Algoritma dan Pemrograman. By Faizah, S.Kom. Lab. Komputasi Dasar Prodi Ilmu Komputer UGM

Praktikum Algoritma dan Pemrograman. By Faizah, S.Kom. Lab. Komputasi Dasar Prodi Ilmu Komputer UGM Praktikum Algoritma dan Pemrograman By Faizah, S.Kom Lab. Komputasi Dasar Prodi Ilmu Komputer UGM Materi Pengantar Algoritma Konsep Bahasa Pemrograman Tipe Data, Keywords, Konstanta, Variabel Struktur

Lebih terperinci

BAB I PENDAHULUAN 1.1 Latar Belakang

BAB I PENDAHULUAN 1.1 Latar Belakang BAB I PENDAHULUAN 1.1 Latar Belakang Di dalam kecerdasan buatan, agen cerdas (IA) adalah sebuah entitas otonom yang mengamati dan bertindak atas suatu lingkungan dan mengarahkan aktivitasnya tersebut untuk

Lebih terperinci

Aplikasi Algoritma Pencocokan String pada Mesin Pencari Berita

Aplikasi Algoritma Pencocokan String pada Mesin Pencari Berita Aplikasi Pencocokan String pada Mesin Pencari Berita Patrick Nugroho Hadiwinoto / 13515040 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha

Lebih terperinci

BAB II LANDASAN TEORI

BAB II LANDASAN TEORI BAB II LANDASAN TEORI 2.1 Penelitian Sebelumnya Wardani (2013) melakukan penelitian tentang sistem informasi pengolahan data nilai siswa dilakukan oleh guru dengan berbasis web. Pada Sekolah Menengah Atas

Lebih terperinci

BAB I PENDAHULUAN. sebagai sumber pertama dan utama yang banyak memuat ajaran-ajaran yang

BAB I PENDAHULUAN. sebagai sumber pertama dan utama yang banyak memuat ajaran-ajaran yang BAB I PENDAHULUAN 1.1 Latar Belakang Al-qur an dan hadits sebagai sumber pedoman hidup, sumber hukum dan ajaran dalam islam antara satu dengan yang lain tidak dapat dipisahkan. Al qur an sebagai sumber

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

Algoritma Brute Force (Bagian 2) Oleh: Rinaldi Munir Bahan Kuliah IF2251 Strategi Algoritmik

Algoritma Brute Force (Bagian 2) Oleh: Rinaldi Munir Bahan Kuliah IF2251 Strategi Algoritmik Algoritma Brute Force (Bagian 2) Oleh: Rinaldi Munir Bahan Kuliah IF2251 Strategi Algoritmik 1 Contoh-contoh lain 1. Pencocokan String (String Matching) Persoalan: Diberikan a. teks (text), yaitu (long)

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

Algoritme Pencocokan String (String Matching) Menurut Black (2016), string adalah susunan dari karakter-karakter (angka, alfabet, atau karakte

Algoritme Pencocokan String (String Matching) Menurut Black (2016), string adalah susunan dari karakter-karakter (angka, alfabet, atau karakte II KAJIAN PUSTAKA 2! KAJIAN PUSTAKA 2.1! Ejaan Bahasa Indonesia Ejaan menurut Kamus Besar Bahasa Indonesia (2016) adalah kaidah cara menggambarkan bunyi-bunyi (kata, kalimat, dan sebagainya) dalam tulisan

Lebih terperinci

BAB I PENDAHULUAN I-1

BAB I PENDAHULUAN I-1 BAB I PENDAHULUAN Pada bab ini akan menjelaskan mengenai dasar awal pada pembuatan laporan tugas akhir. Dasar awal tersebut terdiri dari latar belakang masalah, rumusan masalah, maksud dan tujuan dilakukan

Lebih terperinci

Mencari Pola dalam Gambar dengan Algoritma Pattern Matching

Mencari Pola dalam Gambar dengan Algoritma Pattern Matching Mencari Pola dalam Gambar dengan Algoritma Pattern Matching Muhammad Farhan Majid (13514029) Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha

Lebih terperinci

BAB III TINJAUAN PUSTAKA

BAB III TINJAUAN PUSTAKA BAB III TINJAUAN PUSTAKA Pada bab ini akan dijelaskan dasar teori yang berhubungan dengan permasalahan yang dibahas dan juga menjelaskan aplikasi yang digunakan pada kerja praktek ini. 1.1 Restoran Menurut

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

# ONE PENGANTAR ALGORITMA PEMROGRAMAN

# ONE PENGANTAR ALGORITMA PEMROGRAMAN HANDOUT ALGORITMA PEMROGRAMAN DAN STRUKTUR DATA 1 PRODI SISTEM INFORMASI UKDW # ONE PENGANTAR ALGORITMA PEMROGRAMAN Definisi Program/Pemrograman - Adalah kumpulan instruksi-instruksi tersendiri yang biasanya

Lebih terperinci

Definisi Basis Data (1)

Definisi Basis Data (1) Chapter 1 Definisi Basis Data (1) BASIS + DATA Representasi dari fakta dunia yang mewakili suatu obyek yang direkam dalam bentuk angka, huruf, simbol, teks, gambar, bunyi atau kombinasinya. Markas / tempat

Lebih terperinci

BAB I PENDAHULUAN 1.1. Latar Belakang

BAB I PENDAHULUAN 1.1. Latar Belakang BAB I PENDAHULUAN 1.1. Latar Belakang Kebutuhan akan pengelolaan data pada saat ini sangatlah penting, dimana data akan berada pada media-media yang berlainan platform dan perlu dikelola ketika data memiliki

Lebih terperinci

BAB 1 PENDAHULUAN. 1.1.Latar Belakang

BAB 1 PENDAHULUAN. 1.1.Latar Belakang 7 BAB 1 PENDAHULUAN 1.1.Latar Belakang Saat ini informasi sangat mudah didapatkan terutama melalui media internet. Dengan banyaknya informasi yang terkumpul atau tersimpan dalam jumlah yang banyak, user

Lebih terperinci

BAB I PENDAHULUAN. internet yang kini menjadi peranan penting. Kebutuhan user yang semakin

BAB I PENDAHULUAN. internet yang kini menjadi peranan penting. Kebutuhan user yang semakin BAB I PENDAHULUAN 1.1 Latar Belakang Masalah Teknologi Informasi telah mengalami perkembangan pesat khususnya internet yang kini menjadi peranan penting. Kebutuhan user yang semakin beragam dalam Teknologi

Lebih terperinci

markas / tempat berkumpul / tempat bersarang / gudang

markas / tempat berkumpul / tempat bersarang / gudang Definisi Basis Data (1) BASIS DATA representasi dari fakta dunia yang mewakili suatu obyek yang direkam dalam bentuk angka, huruf, simbol, teks, gambar, bunyi atau kombinasinya. markas / tempat berkumpul

Lebih terperinci

BAB I PENDAHULUAN. hal proses pengolahan data, baik itu data siswa, guru, administrasi sekolah maupun data

BAB I PENDAHULUAN. hal proses pengolahan data, baik itu data siswa, guru, administrasi sekolah maupun data BAB I PENDAHULUAN 1.1. Latar Belakang Dalam dunia pendidikan, teknologi informasi sangat banyak membantu seperti dalam hal proses pengolahan data, baik itu data siswa, guru, administrasi sekolah maupun

Lebih terperinci

BAB I Pendahuluan Latar Belakang

BAB I Pendahuluan Latar Belakang BAB I Pendahuluan 1. 1 Latar Belakang Pusat Survei Geologi merupakan salah satu unit teknis di bawah Badan Geologi Kementerian Energi dan Sumber Daya Mineral. Pusat Survei Geologi memiliki tugas yaitu

Lebih terperinci

Evolusi Vol. I No.1 September 2013

Evolusi Vol. I No.1 September 2013 PERANCANGAN APLIKASI SEARCH ENGINE NAMA-NAMA BAYI ISLAM MENGGUNAKAN METODE FUZZY STRING MATCHING BERBASIS WEB Chanifatul Chairiyah Akademik Manajemen Informatika dan Komputer Bina Sarana Informatika (AMIK

Lebih terperinci

BAB 2 LANDASAN TEORI. utama yaitu komponen, ketergantungan dan tujuan. Artinya, setiap sistem akan selalu

BAB 2 LANDASAN TEORI. utama yaitu komponen, ketergantungan dan tujuan. Artinya, setiap sistem akan selalu 6 BAB 2 LANDASAN TEORI 2.1 Sistem, data dan informasi 2.1.1 Sistem Menurut Fathansyah (2004, p2), kata sistem selalu berkonotasi pada 3 hal utama yaitu komponen, ketergantungan dan tujuan. Artinya, setiap

Lebih terperinci

Perbandingan Algoritma Brute Force dan Backtracking dalam Permainan Word Search Puzzle

Perbandingan Algoritma Brute Force dan Backtracking dalam Permainan Word Search Puzzle Perbandingan Algoritma Brute Force dan Backtracking dalam Permainan Word Search Puzzle Veren Iliana Kurniadi 13515078 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi

Lebih terperinci

PERANCANGAN APLIKASI KAMUS BAHASA GAYO DENGAN MENGGUNAKAN METODE BOYER-MOORE

PERANCANGAN APLIKASI KAMUS BAHASA GAYO DENGAN MENGGUNAKAN METODE BOYER-MOORE PERANCANGAN APLIKASI KAMUS BAHASA GAYO DENGAN MENGGUNAKAN METODE BOYER-MOORE Ramadhansyah (12110817) Mahasiswa Program Studi Teknik Informatika, STMIK Budidarma Medan Jl. Sisimangaraja No.338 Simpang Limun

Lebih terperinci

BAB III LANDASAN TEORI. organisasi yang pada saat dilaksanakan akan memberikan informasi bagi pengambil

BAB III LANDASAN TEORI. organisasi yang pada saat dilaksanakan akan memberikan informasi bagi pengambil 11 BAB III LANDASAN TEORI 3.1 Sistem Informasi Menurut (Ladjamudin, 2005), Sistem informasi adalah sekumpulan prosedur organisasi yang pada saat dilaksanakan akan memberikan informasi bagi pengambil keputusan

Lebih terperinci

Penilaian Ujian Tertulis Menggunakan Algoritma Pattern Matching IF3051 Strategi Algoritma

Penilaian Ujian Tertulis Menggunakan Algoritma Pattern Matching IF3051 Strategi Algoritma Penilaian Ujian Tertulis Menggunakan Algoritma Pattern Matching IF3051 Strategi Algoritma Muhammad Maulana ABdullah 13508053 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut

Lebih terperinci

HALAMAN MOTTO. Tak ada yang tak mungkin bila kita yakin. (Junaedi Sutanto)

HALAMAN MOTTO. Tak ada yang tak mungkin bila kita yakin. (Junaedi Sutanto) HALAMAN MOTTO Tak ada yang tak mungkin bila kita yakin (Junaedi Sutanto) vi HALAMAN PERSEMBAHAN Kupersembahkan Skripsiku ini untuk kedua orang tua ku Alm.Papa teladan ku..mama ku tercinta..terima kasih

Lebih terperinci

BAB II LANDASAN TEORI. untuk menyelesaikan suatu sasaran yang tertentu (Jogiyanto, 2005:1).

BAB II LANDASAN TEORI. untuk menyelesaikan suatu sasaran yang tertentu (Jogiyanto, 2005:1). BAB II LANDASAN TEORI 2.1 Sistem Informasi Sistem adalah suatu jaringan kerja dari prosedur-prosedur yang saling berhubungan, berkumpul bersama-sama untuk melakukan suatu kegiatan atau untuk menyelesaikan

Lebih terperinci

PERTEMUAN 2 ALGORITMA & PEMROGRAMAN

PERTEMUAN 2 ALGORITMA & PEMROGRAMAN PERTEMUAN 2 ALGORITMA & PEMROGRAMAN POKOK BAHASAN 1. Pendahuluan 2. Tahapan Pembangunan Program 3. Pengenalan Algoritma 4. Cara Menyajikan Algoritma 5. Data Program 6. Elemen-Elemen Program PENDAHULUAN

Lebih terperinci

BAB III LANDASAN TEORI. Secara umum pengertian inventori adalah stock barang yang harus dimiliki

BAB III LANDASAN TEORI. Secara umum pengertian inventori adalah stock barang yang harus dimiliki BAB III LANDASAN TEORI 1.1. Inventori Secara umum pengertian inventori adalah stock barang yang harus dimiliki oleh prusahaan baik bahan baku, barang yang sudah diproses, dan barang jadi. (Ballou, 2004)

Lebih terperinci

BAB 1 PENDAHULUAN. 1.1 Latar Belakang Masalah

BAB 1 PENDAHULUAN. 1.1 Latar Belakang Masalah BAB 1 PENDAHULUAN 1.1 Latar Belakang Masalah Seiring dengan perkembangan zaman dan kompleksnya kehidupan, maka manusia menginginkan tersedianya informasi yang tepat dan akurat dalam mengambil keputusan.

Lebih terperinci

Hanif Fakhrurroja, MT

Hanif Fakhrurroja, MT Pertemuan 3 Sistem Informasi Manajemen Komputer: Pengertian Analisis dan Perancangan Sistem Hanif Fakhrurroja, MT PIKSI GANESHA, 2013 Hanif Fakhrurroja @hanifoza hanifoza@gmail.com Latar Belakang Latar

Lebih terperinci

BAB II LANDASAN TEORI

BAB II LANDASAN TEORI BAB II LANDASAN TEORI 2.1. Algoritma Istilah algoritma (algorithm) berasal dari kata algoris dan ritmis, yang pertama kali diungkapkan oleh Abu Ja far Mohammed Ibn Musa al Khowarizmi (825 M) dalam buku

Lebih terperinci

BAB 2 LANDASAN TEORI. Era perkembangan teknologi yang semakin pesat dewasa ini membuat. dan penjualan produk lewat media elektronik seperti internet.

BAB 2 LANDASAN TEORI. Era perkembangan teknologi yang semakin pesat dewasa ini membuat. dan penjualan produk lewat media elektronik seperti internet. BAB 2 LANDASAN TEORI 2.1 Penjualan Online Era perkembangan teknologi yang semakin pesat dewasa ini membuat persaingan bisnis dalam bidang apapun menjadi lebih variatif. Banyak metode bisnis yang dilakukan

Lebih terperinci

BAB III LANDASAN TEORI

BAB III LANDASAN TEORI BAB III LANDASAN TEORI Dalam bab ini akan dijelaskan landasan teori yang digunakan untuk mendukung penyusunan laporan kerja praktek ini. Landasan teori yang akan dibahas meliputi permasalahan-permasalahan

Lebih terperinci

BAB II LANDASAN TEORI. saling terkait dan tergantung satu sama lain, bekerja bersama-sama untuk. komputer. Contoh lainnya adalah sebuah organisasi.

BAB II LANDASAN TEORI. saling terkait dan tergantung satu sama lain, bekerja bersama-sama untuk. komputer. Contoh lainnya adalah sebuah organisasi. BAB II LANDASAN TEORI 2.1 Sistem Menurut Kendall (2003), sistem merupakan serangkaian subsistem yang saling terkait dan tergantung satu sama lain, bekerja bersama-sama untuk mencapai tujuan dan sasaran

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

Penerapan Algoritma Knuth-Morris-Pratt dalam Music Identification (Musipedia)

Penerapan Algoritma Knuth-Morris-Pratt dalam Music Identification (Musipedia) Penerapan Algoritma Knuth-Morris-Pratt dalam Music Identification Musipedia Adi Nugraha Setiadi 13508062 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung,

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

BAB 1 PENDAHULUAN. 1.4 Latar Belakang. Dalam kondisi administrasi Dinas Komunikasi dan Informatika sekarang sangat

BAB 1 PENDAHULUAN. 1.4 Latar Belakang. Dalam kondisi administrasi Dinas Komunikasi dan Informatika sekarang sangat 1 BAB 1 PENDAHULUAN 1.4 Latar Belakang Dalam kondisi administrasi Dinas Komunikasi dan Informatika sekarang sangat kurang maksimal dalam pencarian data seorang pegawai. Sulitnya mencari data pegawai dikarenakan

Lebih terperinci

Perbandingan Penggunaan Algoritma BM dan Algoritma Horspool pada Pencarian String dalam Bahasa Medis

Perbandingan Penggunaan Algoritma BM dan Algoritma Horspool pada Pencarian String dalam Bahasa Medis Perbandingan Penggunaan BM dan Horspool pada Pencarian String dalam Bahasa Medis Evlyn Dwi Tambun / 13509084 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung,

Lebih terperinci

BAB III LANDASAN TEORI

BAB III LANDASAN TEORI BAB III LANDASAN TEORI 3.1 Konsep Dasar Aplikasi Aplikasi berasal dari kata application yang artinya penerapan; lamaran; penggunaan. Secara istilah aplikasi adalah program siap pakai yang direka untuk

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

Materi 2 PERANCANGAN BASIS DATA (PBD) 3 SKS Semester 5 S1 Sistem Informasi UNIKOM 2014 Nizar Rabbi Radliya

Materi 2 PERANCANGAN BASIS DATA (PBD) 3 SKS Semester 5 S1 Sistem Informasi UNIKOM 2014 Nizar Rabbi Radliya Materi 2 PERANCANGAN BASIS DATA (PBD) 3 SKS Semester 5 S1 Sistem Informasi UNIKOM 2014 Nizar Rabbi Radliya nizar.radliya@yahoo.com Nama Mahasiswa NIM Kelas Kompetensi Dasar Memahami sistem basis data dan

Lebih terperinci

Strategi Algoritma Penyelesaian Puzzle Hanjie

Strategi Algoritma Penyelesaian Puzzle Hanjie Strategi Algoritma Penyelesaian Puzzle Hanjie Whilda Chaq 13511601 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung 40132, Indonesia

Lebih terperinci

Perbandingan Algoritma String Matching yang Digunakan dalam Pencarian pada Search Engine

Perbandingan Algoritma String Matching yang Digunakan dalam Pencarian pada Search Engine Perbandingan Algoritma String Matching yang Digunakan dalam Pencarian pada Search Engine Eldwin Christian / 13512002 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi

Lebih terperinci

II. DASAR TEORI I. PENDAHULUAN

II. DASAR TEORI I. PENDAHULUAN Pencocokan Poligon Menggunakan Algoritma Pencocokan String Wiwit Rifa i 13513073 1 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung

Lebih terperinci

BAB II LANDASAN TEORI. Data adalah deskripsi tentang benda, kejadian, aktifitas, dan transaksi, yang

BAB II LANDASAN TEORI. Data adalah deskripsi tentang benda, kejadian, aktifitas, dan transaksi, yang 9 BAB II LANDASAN TEORI 2.1.1 Pengertian Data Pengertian data adalah : Data adalah deskripsi tentang benda, kejadian, aktifitas, dan transaksi, yang tidak mempunyai makna atau tidak berpengaruh langsung

Lebih terperinci

BAB 3 METODOLOGI PENELITIAN

BAB 3 METODOLOGI PENELITIAN BAB 3 METODOLOGI PENELITIAN 3.1 Desain Penelitian Menentukan Kebutuhan Data Yang Digunakan Mengumpulkan Data Yang Akan Digunakan Mempersiapkan Alat Dan Bahan Wawancara Studi Literatur Desain Penelitian

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

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

APLIKASI ANALISIS DAN UJI PERBANDINGAN ALGORITHMA KNUT MORRIS PRATT ( KMP ) DAN BOOYER MOORE ( BM ) UNTUK PENCARIAN POLA KATA DALAM FILE TEKS SKRIPSI

APLIKASI ANALISIS DAN UJI PERBANDINGAN ALGORITHMA KNUT MORRIS PRATT ( KMP ) DAN BOOYER MOORE ( BM ) UNTUK PENCARIAN POLA KATA DALAM FILE TEKS SKRIPSI APLIKASI ANALISIS DAN UJI PERBANDINGAN ALGORITHMA KNUT MORRIS PRATT ( KMP ) DAN BOOYER MOORE ( BM ) UNTUK PENCARIAN POLA KATA DALAM FILE TEKS SKRIPSI Oleh : ARFIN SAKA ADIENATA PUTRA 0734010128 PROGRAM

Lebih terperinci

PSEUDOCODE TIPE DATA, VARIABEL, DAN OPERATOR

PSEUDOCODE TIPE DATA, VARIABEL, DAN OPERATOR 1 PSEUDOCODE TIPE DATA, VARIABEL, DAN OPERATOR Siti Mukaromah, S.Kom TEKNIK PENYAJIAN ALGORITMA Teknik Tulisan Structure English Pseudocode Teknik Gambar Structure Chart HIPO Flowchart 2 PSEUDOCODE Kode

Lebih terperinci

BAB III LANDASAN TEORI. aktifitas-aktifitas proyek untuk memenuhi kebutuhan-kebutuhan proyek.

BAB III LANDASAN TEORI. aktifitas-aktifitas proyek untuk memenuhi kebutuhan-kebutuhan proyek. 13 BAB III LANDASAN TEORI 3.1 Manajemen Proyek Menurut PMBOK (Project Management Body of Knowledge) dalam buku Budi Santoso (2009:3) manajemen proyek adalah aplikasi pengetahuan (knowledges), keterampilan

Lebih terperinci

MATERI KULIAH ALGORITMA DAN PEMROGRAMAN I (2 SKS)

MATERI KULIAH ALGORITMA DAN PEMROGRAMAN I (2 SKS) MATERI KULIAH ALGORITMA DAN PEMROGRAMAN I (2 SKS) DOSEN PENGAMPU: TATI HARIHAYATI M.,M.T. JURUSAN TEKNIK INFORMATIKA UNIKOM PERTEMUAN 1 PENGANTAR ALGORITMA Algoritma dan Pemrograman I Teknik Informatika

Lebih terperinci

BAB 1 PENDAHULUAN. masyarakat dengan Kuliah Kerja Nyata (KKN) merupakan suatu bentuk kegiatan

BAB 1 PENDAHULUAN. masyarakat dengan Kuliah Kerja Nyata (KKN) merupakan suatu bentuk kegiatan BAB 1 PENDAHULUAN 1.1 Latar Belakang Kuliah Pengabdian Masyarakat (KPM) atau yang biasa dikenal masyarakat dengan Kuliah Kerja Nyata (KKN) merupakan suatu bentuk kegiatan pengabdian kepada masyarakat oleh

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

APLIKASI PENENTUAN JENIS PART OF SPEECH MENGGUNAKAN METODE N-GRAM DAN STRING MATCHING

APLIKASI PENENTUAN JENIS PART OF SPEECH MENGGUNAKAN METODE N-GRAM DAN STRING MATCHING APLIKASI PENENTUAN JENIS PART OF SPEECH MENGGUNAKAN METODE N-GRAM DAN STRING MATCHING 1 Nurzaenab dan 2 Purnawansyah 1 nurzaenab16@yahoo.co.id, 2 purnawansyah@gmail.com 12 Teknik Informatika, Fakultas

Lebih terperinci

PENGEMBANGAN SISTEM INFORMASI PENJADWALAN JURUSAN TEKNIK INFORMATIKA UNIKOM ABSTRAK

PENGEMBANGAN SISTEM INFORMASI PENJADWALAN JURUSAN TEKNIK INFORMATIKA UNIKOM ABSTRAK PENGEMBANGAN SISTEM INFORMASI PENJADWALAN JURUSAN TEKNIK INFORMATIKA UNIKOM Nama : Dewi Mustari Pembimbing 1 : Mira Kania Sabariah, S.t, M.T Pembimbing 2 : Andri Heryandi, S.T ABSTRAK Sistem penjadwalan

Lebih terperinci

BAB III 3 LANDASAN TEORI

BAB III 3 LANDASAN TEORI BAB III 3 LANDASAN TEORI 3.1 Sistem Informasi Menurut Jogiyanto HM (2003), sistem Informasi merupakan suatu sistem yang tujuannya menghasilkan informasi sebagai suatu sistem, untuk dapat memahami sistem

Lebih terperinci

BAB 1 PENDAHULUAN. satu hal yang sangat dominan dan terjadi dengan sangat pesat. Informasi

BAB 1 PENDAHULUAN. satu hal yang sangat dominan dan terjadi dengan sangat pesat. Informasi BAB 1 PENDAHULUAN 1.1 Latar Belakang Di era globalisasi ini, perkembangan teknologi informasi sudah merupakan satu hal yang sangat dominan dan terjadi dengan sangat pesat. Informasi merupakan suatu kebutuhan

Lebih terperinci

BAB II LANDASAN TEORI. Dalam pembangunan suatu sistem informasi, terdapat dua kelompok

BAB II LANDASAN TEORI. Dalam pembangunan suatu sistem informasi, terdapat dua kelompok 10 BAB II LANDASAN TEORI 2.1 Konsep Dasar Sistem Dalam pembangunan suatu sistem informasi, terdapat dua kelompok dalam pendekatan mendefinisikan system, yaitu yang menekankan pada prosedurnya dan yang

Lebih terperinci

BAB I PENDAHULUAN 1.1 Latar Belakang

BAB I PENDAHULUAN 1.1 Latar Belakang BAB I PENDAHULUAN 1.1 Latar Belakang Dalam Era yang telah berkembang saat ini, banyak perkembangan perangkat lunak, adapun salah satu yang kita kenal adalah text editor. Seiring dengan perkembangan zaman

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 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 1 PENDAHULUAN. Universitas Sumatera Utara

BAB 1 PENDAHULUAN. Universitas Sumatera Utara BAB 1 PENDAHULUAN 1.1. Latar Belakang Kemajuan teknologi dan penguasaan bahasa tiap negara, sangat berkembang pesat dan berperan penting dalam kehidupan masyarakat. Setiap orang dituntut untuk menguasai

Lebih terperinci

PEMROGRAMAN DASAR ( PASCAL ) PERTEMUAN I

PEMROGRAMAN DASAR ( PASCAL ) PERTEMUAN I PEMROGRAMAN DASAR ( PASCAL ) PERTEMUAN I I. Pengertian Algoritma Algorithm sebenarnya berasal dari kata algorism yang berarti proses menghitung dengan angka Arab. Perencanaan dan perancangan program komputer

Lebih terperinci

BAB III OBJEK DAN METODE PENELITIAN. suatu penelitian, yang dijadikan objek atau fokus dalam penelitian ini adalah

BAB III OBJEK DAN METODE PENELITIAN. suatu penelitian, yang dijadikan objek atau fokus dalam penelitian ini adalah 22 BAB III OBJEK DAN METODE PENELITIAN 3. 1 Objek Penelitian Objek penelitian merupakan suatu yang dijadikan fokus dalam melakukan suatu penelitian, yang dijadikan objek atau fokus dalam penelitian ini

Lebih terperinci

Database. Pertemuan ke-1

Database. Pertemuan ke-1 Database Pertemuan ke-1 Definisi Basis Data (1) BASIS DATA?? Definisi Basis Data (1) DATA?? Informasi?? BECA NINA 769819 Nina dengan NPM 769819 Tertabrak BECA Informasi BECA 769819 NINA Data Definisi Basis

Lebih terperinci

BAB II LANDASAN TEORI. konsep dasar dan definisi-definisi yang berkaitan dengan perangkat lunak yang

BAB II LANDASAN TEORI. konsep dasar dan definisi-definisi yang berkaitan dengan perangkat lunak yang BAB II LANDASAN TEORI Pada landasan teori ini diuraikan sejumlah teori untuk membantu dan memecahkan permasalahan yang ada. Beberapa landasan teori tersebut meliputi konsep dasar dan definisi-definisi

Lebih terperinci

BAB III OBJEK DAN METODE PENELITIAN. untuk mendapatkan data-data yang berkaitan dengan objek penelitian tersebut.

BAB III OBJEK DAN METODE PENELITIAN. untuk mendapatkan data-data yang berkaitan dengan objek penelitian tersebut. BAB III OBJEK DAN METODE PENELITIAN 3.1 Objek Penelitian Objek penelitian merupakan suatu permasalahan yang dijadikan sebagai topik penulisan dalam rangka menyusun suatu laporan penelitian ini dilakukan

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