DAN NAÏVE BAYES CLASSIFIER
SKRIPSI
Diajukan Untuk Memenuhi Sebagai Prasyaratan Dalam Mmeperoleh Gelar Sarjana Komputer
Pr ogram Studi Teknik Infor matika
Oleh :
REFFI PRIMA WINANJ AYA ABADI
NPM : 0734010070
J URUSAN TEKNIK INFORMATIKA
FAKULTAS TEKNOLOGI INDUSTRI
UNIVERSITAS PEMBANGUNAN NASIONAL “VETERAN”
J AWA TIMUR
MENGGUNAKAN KOMBINASI ALGORITHMA BOYER MOORE DAN NAÏVE BAYES CLASSIFIER
Diajukan Kepada Fakultas Tekhnik Informatika Universitas Pembangunan Nasional “Veteran” Jawa Timur
Untuk Menyusun Skripsi S-1 Program Studi Tekhnik Informatika
Oleh :
Reffi Prima Winanjaya Abadi 0734010070/FTI/TF
UNIVERSITAS PEMBANGUNAN NASIONAL “VETERAN”
JAWA TIMUR
APLIKASI PENCARIAN DAN PENGKLASIFIKASIAN
PROPOSAL TUGAS AKHIR MENGGUNAKAN KOMBINASI
ALGORITMA BOYER MOORE DAN NAÏVE BAYES
CLASSIFIER
Disusun Oleh :
REFFI PRIMA WINANJ AYA ABADI
NPM : 0734010070
Telah disetujui mengikuti Ujian Negar a Lisan
Gelombang Oktober Tahun Akademik 2012/2013
Menyetujui,
Pembimbing Utama
I Gede Susr ama Mas Diyasa, ST, MT
NIP/NPT. 270 060 640 210
Pembimbing Pendamping
Dr . Ir. Ni Ketut Sar i, MT.
NIP. 19650731 199203 2 001
Mengetahui,
Kepala Pr ogr am Studi Teknik Infor matika
Fakultas Teknologi Industr i
Univer sitas Pembangunan Nasional “Veter an” J awa Timur
APLIKASI PENCARIAN DAN PENGKLASIFIKASIAN
PROPOSAL TUGAS AKHIR MENGGUNAKAN
KOMBINASI ALGORITMA BOYER MOORE DAN NAÏVE
BAYES CLASSIFIER
DisusunOleh :
REFFI PRIMA WINANJ AYA ABADI NPM : 0734010070
Telah dipertahankan dihadapan dan diterima oleh Tim Penguji Skripsi Program Studi Teknik Infor matika, Fakultas Teknologi Industri
Univer sitas Pembangunan Nasional “Veteran” J awaTimur Pada tanggal 25 Oktober 2012
PEMBIMBING :
1.
I Gede Susrama Mas Diyasa, ST, MT NIP/NPT. 270 060 640 210
2.
Dr. Ir. Ni Ketut Sari, MT
NIP/NPT. 19650731 199203 2 001
TIM PENGUJ I :
1.
Ir. Mu’tasim Billah, MS
NIP/NPT. 1960 0504 1987 03 1001
2.
Intan Yuniar Purbasari. S.kom, MSc NIP/NPT. 3 8006 04 0198 1
3.
Dr. Ir. Ni Ketut Sari, MT
NIP/NPT. 19650731 199203 2 001
Mengetahui
Dekan Fakultas Teknologi Industr i
Dengan nama Allah SWT Yang Maha Pengasih dan Maha Penyayang Segala puji
dan syukur bagi Allah SWT karena atas rahmat dan hidayahNya-lah penulis dapat
menyelesaikan tugas akhir yang berjudul “Aplikasi Pencarian Dan
Pengklasifikasian Pr oposal Tugas Akhir Menggunakan Kombinasi
Algoritma Boyer Moore Dan Naive Bayes Classifier” . Sholawat dan Salam
atas junjungan kita Nabi Besar Muhammad SAW. Beserta keluarga dan para
sahabat sekalian.
Skripsi ini disusun dengan tujuan memenuhi syarat untuk memperoleh
gelar Sarjana di Universitas Pembangunan Nasional “Veteran” JATIM.
Pengarahan, bimbingan dan dukungan dari semua pihak merupakan faktor
yang sangat membantu dalam menyelesaikan karya ini, maka dari itu dalam
kesempatan ini penulis ingin mengucapkan terima kasih kepada :
1. Bapak Ir Sutiyono, MT, selaku Dekan FTI, UPN “Veteran” Jawa Timur.
2. Ibu Dr.Ir.Ni Ketut Sari, MT selaku ketua jurusan dan Dosen pembimbing 2
Teknik Informatika, FTI, UPN “Veteran” Jawa Timur.
3. Bapak I Gede Susrama, ST . M.Kom selaku Dosen pembimbing 1.
4. Kedua Orang Tua penulis ( Bpk. Dr s Bambang Sudjanarko. MAP dan Ir.
Wiwik Nurhayati ) beserta Adik ku yang tercinta ( Metalia Puspitasari dan
Oktario Firman Saputra ) yang telah memberikan doa, serta bantuan dan
dorongan semangat baik secara moril maupun materil yang tidak ternilai
Yoppy (TF), Bayu (TF), Helmy (TF), Rased (TF), Almon (TF), Taufik (TF),
Bingkar (SI), Sandy (TF), Tammy (SI), Terima kasih atas doa dan semua
dukungannya.
6. Teman-teman Seperumahan yang memberikan semangat, motifasi dan doa.
7. Dan semua pihak yang telah membantu dalam penyusunan tugas akhir ini,
penyusun tidak dapat menyebutkan satu persatu.
Akhir kata menyadari bahwa Skripsi ini masih jauh dari sempurna, oleh
karena itu sangat mengharapkan kritik dan saran yang bersifat membangun.
Namun, penulis tetap berharap agar karya ini dapat bermanfaat bagi para pembaca
khususnya bagi rekan - rekan mahasiswa.
Surabaya, Oktober 2012
LEMBAR PENGESAHAN
ABSTRAK ... i
KATA PENGANTAR ... ii
DAFTAR ISI ... iv
DAFTAR GAMBAR ... v
DAFTAR TABEL ... vii
BAB I PENDAHULUAN ………. 1
1.1latar Belakang ………. 1
1.2Perumusan Masalah ………. 2
1.3Batasan Masalah ………. 3
1.4Tujuan ………. 3
1.5Manfaat ………. 4
1.6Metode Penelitian ………. 4
1.7Sistematika Penulisan ………. 4
BAB II TINJAUAN PUSTAKA ……….. 6
2.1.2 Informasi ……….. 6
2.1.3 Kualitas Informasi ……….. 6
2.1.4 Nilai Informasi ………... 7
2.1.5 Siklus Informasi ………... 7
2.2 Konsep Dasar Sistem Informasi ………. 8
2.2.1 Komponen Sistem Informasi ………. 8
2.2.2 Tujuan Sistem Informasi ……….. 9
2.3 Aplikasi Temu Kembali Informasi ………... 9
2.4 Text Mining ……….. 13
2.5 Proses Pengklasifikasian ………... 14
2.6 Tata Bahasa Indonesia ………... 15
2.7 Stemming ………... 19
2.8 Flow Map ……….. 21
2.9 Naïve Bayes Classifier ………... 22
2.10 Algorithma Booyer More ………... 26
2.11 Unified Modelling Language ……….. 29
3.2 Bahan Dan Alat Penelitian ………... 43
3.3 Struktured Chart Sistem Pencarian Dan Klasifiksi Proposal Tugas Akhir ………... 44
3.4 Diagram Work Flow ……….. 45
3.5 Analisa Proses Pencarian Menggunakan Booyer Moore …….. 46
3.6 Analisa Proses Klaisifikasi Menggunakan Naïve Bayes …….. 48
3.7 Rancangan Algoritma Booyer Moore ………... 49
3.8 Rancangan Algorithma Naïve Bayes ………... 51
BAB IV IMPLEMENTASI DAN PENGUJIAN ………... 59
4.1 Spesifikasi Perangkat ………... 59
4.2 Implementasi Antar Muka ………... 59
4.2.1 Form Awal ………... 59
4.2.2 Form Input ………... 60
4.2.3 Form Training ………... 60
4.3 Implementasi Algorithma Booyer More ………... 62
4.4 Implementasi Algorithma Naïve Bayes Classifer ………... 63
4.5.2.1 Pengujian Katagori CIS ………... 73
4.5.2.2 Pengujian Katagori ITNS ………... 80
4.5.2.3 Pengujian Katagori SENG ………... 87
BAB V KESIMPULAN DAN SARAN ……….. 94
5.1 Kesimpulan ……….. 94
5.2 Saran ……….. 94
No Halaman
2.1 Pencocokan String Pertama ……….. 26
2.2 Pencocokan String Kedua ………. 27
4.1 Daftar Judul Tugas Akhir Sebagai Data Pengujian Katagori CIS ………... 70
4.2 Daftar Judul Tugas Akhir Sebagai Data Pengujian Katagori ITNS ……….. 71
4.3 Daftar Judul Tugas Akhir Sebagai Data Pengujian Katagori SENG ……….. 72
4.4 Hasil Pengujian Bidang CIS ………. 79
4.5 Hasil Pengujian Bidang ITNS ……….. 86
No Halaman
2.1 Siklus Akuntansi ……….. 8
2.2 Desain dari Porter stemmer for Bahasa Indonesia …….. 21
2.3 Metodologi Dalam UML ………... 31
2.4 Notasi Actor ………... 34
2.5 Notasi Use Case ………... 35
2.6 Notasi Class ………... 36
2.7 Notasi Interface ………... 36
2.8 Notasi Interaction ………... 37
2.9 Notasi Note ………... 37
2.10 Notasi Dependency ……….. 37
2.11 Notasi Asociation ………... 38
2.12 Notasi Generalization ………... 38
2.13 Notasi Realization ……….. 39
2.14 Tampilan Awal Delphi ……… 41
3.1 Skema Desain Penelitian ………. 42
3.5 Blok Diagram Klasifikasi Bayesian ……….. 48
3.6 Diagram Alir Sistem Boyer Moore ……….. 50
3.7 Diagram Alir Sistem Naïve Bayes Classifier ……… 57
4.1 Tampilan Form Awal ………... 60
4.2 Tampilan Form Input ………... 60
4.3 Tampilan Form Trainning ………... 61
4.4 Tampilan Awal Aplikasi (from input) ……….. 72
4.5 Form Proses Pelatihan………... 73
4.6 Tampilan Proses Pelatihan Telah selesai Di Lakukan ………... 73
4.7 Hasil Pengujian CIS Pertama Katagori CIS ………. 74
4.8 Form Dialog Konvirmasi Penerimaan Proposal Tugas Akhir ………... 74
4.9 Hasil Pengujian CIS Yang Kedua Katagori CIS …….. 75
4.10 Hasil Pengujian CIS Yang Ketiga Katagori CIS ……... 75
4.11 Hasil Pengujian CIS Yang Keempat Katagori CIS ……... 76
4.15 Hasil Pengujian CIS Yang Kedelapan Katagori CIS …….. 78
4.16 Hasil Pengujian CIS Yang Kesembilan Katagori CIS…….. 78
4.17 Hasil Pengujian CIS Yang Kesepuluh Katagori CIS …….. 79
4.18 Hasil Pengujian Pertama Katagori ITNS ………... 81
4.19 Hasil Pengujian Kedua Katagori ITNS ………... 81
4.20 Hasil Pengujian Ketiga Katagori ITNS ………. 82
4.21 Hasil Pengujian Keempat Katagori ITNS ………... 82
4.22 Hasil Pengujian Kelima Katagori ITNS ………... 83
4.23 Hasil Pengujian Keenam Katagori ITNS ………... 83
4.24 Hasil Pengujian Ketujuh Katagori ITNS ………... 84
4.25 Hasil Pengujian Kedelapan Katagori ITNS ………... 84
4.26 Hasil Pengujian Kesembilan Katagori ITNS ………... 85
4.27 Hasil Pengujian Kesepuluh Katagori ITNS ………... 85
4.28 Hasil Pengujian Pertama Katagori SENG ………... 87
4.29 Hasil Pengujian Kedua Katagori SENG ………... 88
4.30 Hasil Pengujian Ketiga Katagori SENG ……….. 88
4.34 Hasil Pengujian Ketujuh Katagori SENG ……….. 90
4.35 Hasil Pengujian Kedelapan Katagori SENG ………... 91
4.36 Hasil Pengujian Kesembilan Katagori SENG……... 91
Pem bimbing II :Dr.Ir. Ni Ketut Sari, M T Penyusun :Reffi Prima Winanjaya A
ABSTRAK
Keberadaan data sebagai hasil dari tumbuh dan berkembangnya teknologi, khususnya sistem informasi menjadi sangat mudah diperoleh. Apalagi perkembangan teknologi hardware dan software yang semakin pesat dan semakin murah, membuat proses dokumentasi menjadi semakin mudah. Faktor-faktor ini akhirnya menyebabkan terjadinya “ledakan data” di berbagai bidang.
UPN Veteran Jawa Timur, khususnya jurusan Teknik Informatika dalam suatu gelombang prosedur pengajuan proposal tugas akhir, akan ada banyak sekali mahasiswa yang melakukannya. Hal ini akan mengakibatkan penumpukan data yang meyebabkan waktu antrian proses menjadi lama agar proposal tugas akhir mahasiswa tersebut disetujui. Berdasarkan latar belakang tersebut diatas, memberikan ide pembuatan aplikasi yang dapat melakukan pelacakan kesamaan topik tugas akhir berdasarkan judul dan sekaligus melakukan klasifikasinya berdasarkan judul dalam proposal tugas akhir mahasiswa. Jenis klasifikasi tugas akhir mengacu pada ketetapan program studi teknik informatika UPN Veteran Jawa Timur, yaitu : CIS (Computer and Intelligent System), ITNS (Network and Secuirty Goverment) dan SENG (Software Engineering). Hasil penelitian menunjukkan bahwa penggunaan metode Booyer Moore dan Naive Bates sudah cukup baik dengan tingkat akurasi mencapai 80 % dalam melakukan pencarian dan pengklasifikasian tugas akhir.
1.1. Latar Belakang
Pada masa sekarang, aplikasi sistem informasi telah berkembang pesat
penggunaannya,pada saat ini sudah sedemikian pesat dan merambah ke berbagai
sisi kehidupan manusia. Perkembangan yang demikian tersebut didukung oleh
tersedianya perangkat keras maupun perangkat lunak yang semakin hari semakin
hebat kemampuannya. (Bimo Sunarfrihantono, 2002). sehingga dapat dikatakan
keberadaannya sangat melekat pada kehidupan sehari-hari, baik itu pekerjaan,
hiburan, maupun sesuatu yang pribadi. Tidak hanya di kota besar, kini aplikasi
sistem informasi mulai menyebar hingga ke desa. Dan tidak hanya secara
konvensional menggunakan Personal Computer (PC) dengan modem, sistem
informasikini juga bisa diakses menggunakan notebook melalui hotspot.
Teknologi informasi merupakan teknologi yang digunakan untuk
mengolah data,termasuk memproses, mendapatkan, menyusun, menyimpan,
memanipulasi data dalam berbagai cara untuk menghasilkan informasi yang
berkualitas, yaitu informasi yang relevan, akurat dan tepat waktu (Wardiana,
2002). Keberadaan data sebagai hasil dari tumbuh dan berkembangnya teknologi,
khususnya sistem informasi menjadi sangat mudah diperoleh. Apalagi
perkembangan teknologi hardware dan software yang semakin pesat dan semakin
murah, membuat proses dokumentasi menjadi semakin mudah. Faktor-faktor ini
Seperti halnya dalam bidang pendidikan yang secara khusus menyoroti
masalah mahasiswa dan proposal tugas akhirnya. Bagi perguruan tinggi yang
sudah menerapkan basis IT (Information of Technology), adalah sebuah keharusan
dan kebiasaan untuk seorang mahasiswanya untuk mendokumentasikan proposal
tugas akhirnya ke dalam bentuk hardcopy maupun softcopy agar bisa menjadi
bukti fisik dalam bentuk dokumen akan keeksistensian jurusan tersebut di
universitas maupun perguruan tinggi. Selain itu, pendokumentasian bisa juga
untuk mencegah timbulnya proposal tugas akhir ganda dan mempercepat proses
penerimaan proposal tersebut.
UPN Veteran Jawa Timur, khususnya jurusan Teknik Informatika dalam
suatu gelombang prosedur pengajuan proposal tugas akhir, akan ada banyak sekali
mahasiswa yang melakukannya. Hal ini akan mengakibatkan penumpukan data
yang meyebabkan waktu antrian proses menjadi lama agar proposal tugas akhir
mahasiswa tersebut disetujui.
Berdasarkan latar belakang tersebut diatas, memberikan ide pembuatan
aplikasi yang dapat melakukan pelacakan kesamaan topik tugas akhir berdasarkan
judul dan sekaligus melakukan klasifikasinya berdasarkan judul dalam proposal
tugas akhir mahasiswa.
1.2. Perumusan Masalah
Rumusan masalah yang digunakan dalam tugas akhir ini adalah :
1. Bagaimana menerapkan algorithma Boyer Moore (BM) untuk mencari
kesamaan proposal tugas akhir berdasarkan judul yang pernah
2. Bagaimana menerapkan algorithma Naïve Bayes Classifier (NBC)
untuk menentukan klasifikasi proposal tugas akhir berdasarkan judul
yang diajukan ?
3. Bagaimana membuat aplikasi untuk menerapkan kedua algorithma
tersebut diatas ?
1.3. Batasan Masalah
Batasan masalah yang digunakan dalam tugas akhir ini yaitu :
1. Data yang dipergunakan sebagai input adalah nama, npm, dan Judul proposal
tugas akhir mahasiswa.
2. Jenis klasifikasi tugas akhir mengacu pada ketetapan program studi teknik
informatika UPN Veteran Jawa Timur, yaitu : CIS (Computer and Intelligent
System), ITNS (Network and Secuirty Goverment) dan SENG (Software
Engineering)
3. Aplikasi dapat berjalan pada sistem operasi Microsoft Windows Vista atau
Windows Seven.
1.4. Tujuan
Tujuan yang ingin dicapai pada pengerjaan tugas akhir ini adalah:
1. Mengimplementasikan algorithma Boyer Moore (BM) untuk mencari kesamaan proposal tugas akhir berdasarkan judulnya.
2. Mengimplementasikan algorithma Naïve Bayes Classifier (NBC) untuk melakukan klasifikasi proposal tugas akhir berdasarkan judulnya.
1.5. Manfaat
Adapun manfaat yang ingin diperoleh dari pengerjaan tugas akhir ini adalah
dapat membuat perangkat lunak untuk mempermudah petugas koordinator
(dalam hal ini PIA) dan mahasiswa mengetahui sebuah proposal tugas akhir
pernah diajukan sebelumnya sekaligus melakukan klasifikasinya.
1.6. Metode Penelitian
Adapun metode penelitian yang dipergunakan dalam pengerjaan tugas
akhir ini adalah :
1. Studi Literatur
Mencari referensi dan bahan pustaka tentang teori-teori yang berhubungan
dengan permasalahan yang akan dikerjakan dalam tugas akhir ini.
2. Studi Kasus
Mencari contoh-contoh kasus serupa yang berhubungan dengan permasalahan
dalam tugas akhir ini.
1.7. Sistematika Penulisan
Sistematika penulisan tugas akhir ini disusun untuk memberikan gambaran
umum tentang penelitian yang dijalankan. Sistematika penulisan tugas akhir ini
adalah sebagai berikut :
BAB I PENDAHULUAN
Bab ini berisi latar belakang masalah, identifikasi masalah, maksud
dan tujuan yang ingin dicapai, batasan masalah, metodologi
penelitian yang diterapkan dalam memperoleh dan mengumpulkan
BAB II TINJ AUAN PUSTAKA
Membahas berbagai konsep dasar dan teori-teori yang berkaitan
dengan topik masalah yang diambil dan hal-hal yang berguna
dalam proses analisis permasalahan.
BAB III ANALISIS DAN PERANCANGAN
Menganalisis masalah dari model penelitian untuk memperlihatkan
keterkaitan antar variabel yang diteliti serta model matematis untuk
analisisnya.
BAB IV IMPLEMENTASI DAN PENGUJ IAN
Membahas mengenai pengimplementasian aplikasi yang telah
dibuat ke perangkat yang akan digunakan serta melakukan
pengujian terhadap aplikasi yang telah diimplementasikan tersebut.
BAB V KESIMPULAN DAN SARAN
Berisi kesimpulan dan saran yang sudah diperoleh dari hasil
2.1. Definisi Data Dan Konsep Dasar Infor masi
Konsep Informasi tidak akan lepas dari keterhubungan dengan data.
Untuk mendapatkan Informasi yang valid maka dibutuhkan data-data yang
berhubungan antara satu dengan yang lain agar output sesuai dengan yang
diharapkan.
2.1.1. Data
Data adalah kumpulan dari fakta-fakta, kejadian-kejadian yang dapat
berupa simbol, angka, huruf, dan lain-lain yang berguna bagi suatu pengolahan
data (proses) atau sebagai masukan (input) bagi suatu proses. Data merupakan
deskripsi dari sesuatu dan kejadian yang kita hadapi.
2.1.2. Infor masi
Informasi adalah “hasil dari pengolahan data menjadi bentuk yang lebih
berguna bagi yang menerimanya, yang menggambarkan suatu kejadian nyata dan
dapat digunakan sebagai alat bantu dalam pengambilan suatu keputusan”
(Jogiyanto, 2005). Dalam hal ini data bisa dianggap sebagai obyek yang masih
mentah yang belum dapat memberikan arti banyak bagi pemakai sehingga perlu
diolah lebih lanjut untuk menghasilkan suatu informasi yang dibutuhkan,
sedangkan informasi adalah suatu subyek yang bermanfaat bagi penerimanya.
Dengan katalain informasi adalah hasil dari pengolahan atau pemrosesan data.
2.1.3. Kualitas Infor masi
a. Akurat ( accurate )
Informasi harus bebas dari kesalahan-kesalahan dan tidak menyesatkan,
dalam hal ini informasi harus jelas mencerminkan maksudnya.
b. Tepat waktu ( time lines )
Informasi yang datang pada penerima tidak boleh terlambat. Informasi yang
sudah usang tidak akan mempunyai nilai lagi karena informasi merupakan
suatu landasan dalam mengambil sebuah keputusan dimana bila pengambilan
keputusan terlambat maka akan berakibat fatal untuk organisasi.
c. Relevan ( relevance )
Informasi harus mempunyai manfaat untuk pemakainya, dimana relevansi
informasi untuk tiap-tiap individu berbeda tergantung pada keperluan.
2.1.4. Nilai Infor masi
Nilai dari Informasi (value of information) ditentukan dari dua hal, yaitu
manfaat dan biaya mendapatkannya. Suatu Informasi dikatakan bernilai bila
manfaatnya lebih efektif dibandingkan dengan biaya mendapatkannya. Kegunaan
Informasi adalah untuk mengurangi hal ketidakpastian di dalam proses
pengambilan keputusan tentang suatu keadaan.
2.1.5. Siklus Infor masi
Data agar menjadi lebih berarti dan berguna dalam bentuk informasi,
maka perlu diolah melalui suatu model tertentu. Data yang telah diolah tersebut
kemudian diterima oleh penerima, lalu penerima membuat suatu keputusan dan
melakukan tindakan, yang berarti menghasilkan suatu tindakan yang lain yang
akan membuat sejumlah data kembali. Data tersebut akan ditangkap sebagai input,
suatu siklus. Siklus ini disebut dengan siklus Informasi (information cycle) atau
disebut pula siklus pengolahan data (processing cycles).
Gambar 2.1. Siklus Informasi
2.3. Konsep Dasar Sistem Infor masi
Sistem Informasi adalah “suatu jaringan dari beberapa elemen-elemen
yang saling berhubungan serta membentuk satu kesatuan untuk menyediakan
informasi yang dibutuhkan oleh organisasi untuk beroperasi dengan cara yang
sukses, serta memberi sinyal kepada manajemen dan yang lain terhadap kejadian
internal dan eksternal yang penting dan menyediakan suatu dasar informasi untuk
pengambilan keputusan” (Wahyono,2004)
2.3.1. Komponen Sistem Informasi
Membangun suatu sistem Informasi diperlukan penggabungan
elemen-elemen pendukung tersebut antara lain :
a. Software, merupakan suatu program komputer, struktur data, dan
dokumen-dokumen yang saling berhubungan yang digunakan dalam metode logika dan
b. Hardware, merupakan perangkat elektronik yang memiliki kemampuan untuk
melakukan proses komputerisasi.
c. Brainware, adalah pengguna dan operator perangkat keras atau perangkat
lunak.
d. Data, berupa salinan-salinan manual dan deskripsi informasi yang
menggambarkan operasi sistem.
2.3.2. Tujuan Sistem Infor masi
Sistem Informasi memiliki beberapa tujuan, yaitu:
1. Integrasi sistem
a. Menghubungkan sistem individu/kelompok
b. Pengkolektifan data dan penyambungan secara otomatis
c. Peningkatan koordinasi dan pencapaian sinergi
2. Efisiensi pengelolaan
a. Penggunaan basis data dalam upaya kesamaan pengadministrasian data
b. Pengelolaan data berkaitan dengan karakteristik Informasi
c. Penggunaan dan pengambilan Informasi
3. Dukungan keputusan untuk manajemen
a. Melengkapi Informasi guna kebutuhan proses pengambilan kebutuhan
b. Akuisisi Informasi eksternal melalui jaringan komunikasi
c. Ekstraksi dari Informasi internal yang terpadu.
2.2. Aplikasi Temu Kembali Informasi
Temu kembali informasi (information retrieval) adalah ilmu pencarian
metadata yang menjelaskan dokumen, atau mencari di dalam database, baik relasi
database yang stand-alone atau hipertext database yang terdapat pada network
seperti internet atau World Wide Web atau intranet, untuk teks, suara, gambar,
atau data. Information retrieval (IR) adalah ilmu yang lahir dari berbagai disiplin
ilmu, baik ilmu komputer, matematika, ilmu kepustakaan, ilmu informasi,
psikologi kognitif, linguistik, statistik, maupun fisika.
Secara prinsip, penyimpanan informasi dan penemuan kembali informasi
adalah hal yang sederhana. Misalkan terdapat tempat penyimpanan
dokumen-dokumen dan seseorang (user) merumuskan suatu pertanyaan (request atau query)
yang jawabannya adalah himpunan dokumen yang mengandung informasi yang
diperlukan yang diekspresikan melalui pertanyaan user. User bisa saja
memperoleh dokumen-dokumen yang diperlukannya dengan membaca semua
dokumen dalam tempat penyimpanan, menyimpan dokumen-dokumen yang
relevan dan membuang dokumen lainnya. Hal ini merupakan perfect retrieval,
tetapi solusi ini tidak praktis. Karena user tidak memiliki waktu atau tidak ingin
menghabiskan waktunya untuk membaca seluruh koleksi dokumen, terlepas dari
kenyataan bahwa secara fisik user tidak mungkin dapat melakukannya. Oleh
karena itu, diperlukan suatu sistem temu kembali informasi (information retrieval
system) untuk membantu user menemukan dokumen yang diperlukannya.
Sistem temu-kembali informasi pada prinsipnya adalah suatu sistem yang
sederhana. Misalkan ada sebuah kumpulan dokumen dan seorang user
yangmemformulasikan sebuah pertanyaan (request atau query). Jawaban dari
pertanyaan tersebut adalah sekumpulan dokumen yang relevan dan membuang
Sistem temu-kembali informasi pada dasarnya dibagi dalam dua
komponen utama yaitu sistem pengindeksan (indexing) yang menghasilkan basis
data sistem dan temu-kembali yang merupakan gabungan dari user interface dan
look-uptable. Pada bagian selanjutnya akan dijelaskan berbagai macam sistem
pengindeksan dan teknik-teknik temu-kembali informasi yang telah
dikembangkan.
Hiperteks dan temu-kembali informasi merupakan bidang penelitian yang
berbeda satu dengan yang lain. Hiperteks berkisar pada masalah
user-disorientation, strategi pengembangan dokumen hiperteks, dan mekanisme
konversi dokumen tekstual menjadi bentuk hiperteks (Ellist,1996). Sedangkan
temu-kembali informasi bergerak pada topik manipulasi kueri, konsep basis data
tekstual, dan relevansi dokumen terhadap kueri (Bodhitama,1997). Penggabungan
kedua bidang ini dapat memecahkan masalah-masalah dalam bidang temu
kembali informasi. Misalnya, sistem temu-kembali informasi yang didasarkan
pada penggunaan operator Boolean, mengandalkan kemampuan pemakai dalam
memformulasikan kueri. Hal ini sering mempersulit pengguna. Dengan adanya
sistem hiperteks, hal ini dapat di permudah dengan penyediaan antar muka yang
memakai pencarian dengan metode browsing.
Smeaton(1991) di dalam Ellist(1996) juga menyatakan bahwa hiperteks
dan temu-kembali informasi itu saling berkomplemen satu sama lain. Hiperteks
membutuhkan lebih banyak searching sedangkan temu-kembali informasi
membutuhkan lebih banyak browsing. Hal yang dimaksud adalah hiperteks akan
semakin baik jika disertai dengan fasilitas search, dan temu-kembali informasi
maksud dari searching adalah berusaha mendapatkan atau mencapai tujuan
spesifik sedangkan browsing adalah mengikuti suatu path sampai mencapai suatu
tujuan. Menurut Brown(1988) didalam Agosti(1993), browsing itu bisa
diibaratkan dengan From Where to What. Maksudnya adalah kita tahu dimana
posisi kita dalam database dan kita ingin tahu apa yang ada disana (database).
Searching bisa diibaratkan dengan From What to Where. Maksudnya adalah kita
tahu apa yang kita inginkan dan kita ingin menemukan dimana dia didalam
database.
Penggabungan sistem temu-kembali lebih dikenal dengan nama search
engine, Sistem ini dapat dibagi kedalam dua kategori berdasarkan sumber
informasinya yaitu:
1. Worldwide Search Engine
Worldwide Search Engine adalah suatu sistem temu-kembali informasi
yang mengambil data-data dari berbagai server di seluruh penjuru dunia.
Data-data tersebut diambil melalui program yang disebut dengan “robot” atau “bot”.
Program inilah yang melakukan pencarian data pada setiap server, yang kemudian
dikirim ke server pusat pada selang waktu tertentu.
2. Local Search Engine
Local search engine adalah suatu sistem temu-kembali informasi yang
mengambil data-data dari server tertentu saja. Kata “local”, yang berarti lokal atau
setempat, memberi penekanan akan lokasi sumber data yang akan digunakan.
Local search engine tidak dirancang untuk mengarungi belantara internet seperti
untuk pencarian pada objek spesifik dan lebih kecil lingkupnya dibandingkan
internet sendiri.
Mengenai pemilihan penerapan sistem temu-kembali berbentuk local
search engine atau worlwide search engine tergantung kepada masalah atau jenis
informasi yang akan kita sediakan. Penerapan kedua kategori ini hanya akan
mempengaruhi cara sistem pengindeksan dari temu-kembali. Sedangkan teknik
retrieval dan rancangan penerapan teknik pada hiperteks akan sama saja, baik
pengindeksannya secara local search engine ataupun worldwide search engine.
Sistem temu-kembali yang dibangun terdiri dari berbagai macam teknik
retrieval seperti teknik Boolean biasa dan Boolean berperingkat serta teknik
Extended Boolean berdasarkan p-norm model. Sedangkan teknik
pengindeksannya juga terdiri dari beberapa macam antara lain teknik berdasarkan
frekuensi kemunculan istilah dan teknik pengindeksan yang dinormalisasi
berdasarkan aturan Savoy(1993). Pada sistem ini, teknik retrieval, basis data
indeks dan kumpulan dokumen berada dalam sebuah komputer server yang sama
(local).
2.3. Text Mining
Text mining adalah salah satu bidang khusus dari data mining. Sesuai
dengan buku The Text Mining Handbook, text mining dapat didefinisikan sebagai
suatu proses menggali informasi dimana seorang user berinteraksi dengan
sekumpulan dokumen menggunakan tools analisis yang merupakan
Tujuan dari text mining adalah untuk mendapatkan informasi yang
berguna dari sekumpulan dokumen. Jadi, sumber data yang digunakan pada text
mining adalah kumpulan teks yang memiliki format yang tidak terstruktur atau
minimal semi terstruktur. Adapun tugas khusus dari text mining antara lain yaitu
pengkategorisasian teks (text categorization) dan pengelompokan teks (text
clustering). Text Mining tidak jauh berbeda dengan Data Mining. Yang
membedakannya adalah pada sumber datanya, dimana Text Mining bersumber
dari kumpulan dokumen atau text. Pada Text Mining, informasi yang akan digali
biasanya berisi informasi-informasi yang tidak terstruktur, tujuannya adalah
mencari kata-kata yang dapat mewakili isi dari dokumen sehingga dapat
dilakukan analisa keterhubungan antardokumen. Tahapan yang dilakukan secara
umum dalam Text Mining adalah: tokenizing, filtering, stemming, tagging dan
analyzing.
2.4. Proses Pengklasifikasian
Classification adalah proses untuk menemukan model atau kelas data,
dengan tujuan untuk dapat memperkirakan kelas dari suatu objek yang labelnya
tidak diketahui. Model itu sendiri bisa berupa aturan jika-maka berbentuk pohon
pengambilan keputusan (Decision Tree), formula matematis seperti Bayesian dan
Support Vector Machine atau bisa juga berupa jaringan seperti neural network.
Ada lima ukuran yang dapat digunakan untuk mengevaluasi setiap
metode :
1. Predictive accuracy yang mengukur tingkat akurasi dalam mengklasifikasikan
2. Kecepatan. Biaya komputasi untuk menghasilkan classifier dan saat
menggunakan classifier pada proses klasifikasi.
3. Robustness. Kemampuan menangani noise dan nilai hilang.
4. Scalability. Kemampuan menangani data dalam jumlah besar.
5. Interpretability. Mengukur sejauh mana model dapat diinterpretasi.
Pada skripsi kali ini, hanya predictive accuracy yang akan digunakan
untuk pengklasifikasian artikel teks berdasarkan judulnya.
2.5. Tata Bahasa Bahasa Indonesia
Bahasa Indonesia, sebuah kata dikatakan memiliki morfologi yang dapat
membuat kata tersebut berperan sebagai kata benda, kata keterangan atau kata
kerja.
Ada banyak ragam pembentukan kata dalam Bahasa Indonesia. Sebagian
besar kata dibentuk dengan cara menggabungkan beberapa komponen yang
berbeda. Untuk memahami cara pembentukan kata-kata tersebut kita sebaiknya
mengetahui lebih dahulu beberapa konsep dasar dan istilah seperti yang dijelaskan
berikut ini :
Kata dasar (akar kata), yaitu kata yang paling sederhana yang belum
memiliki imbuhan, juga dapat dikelompokkan sebagai bentuk asal (tunggal) dan
bentuk dasar (kompleks), tetapi perbedaan kedua bentuk ini tidak dibahas di sini.
Afiks (imbuhan), yaitu satuan terikat (seperangkat huruf tertentu) yang
apabila ditambahkan pada kata dasar akan mengubah makna dan membentuk kata
baru. Afiks tidak dapat berdiri sendiri dan harus melekat pada satuan lain seperti
Prefiks (awalan), yaitu afiks (imbuhan) yang melekat di depan kata dasar
untuk membentuk kata baru dengan arti yang berbeda. Sufiks (akhiran), yaitu
afiks (imbuhan) yang melekat di belakang kata dasar untuk membentuk kata baru
dengan arti yang berbeda. Konfiks (sirkumfiks atau simulfiks) yang secara
simultan (bersamaan), yaitu satu afiks melekat di depan kata dasar dan satu afiks
melekat di belakang kata dasar yang bersama-sama mendukung satu fungsi. Kata
turunan (kata jadian), yaitu kata baru yang diturunkan dari kata dasar yang
mendapat imbuhan.
Keluarga kata dasar, yaitu kelompok kata turunan yang semuanya
berasal dari satu kata dasar dan memiliki afiks yang berbeda. Imbuhan adalah
suatu unsur struktural yang diikatkan pada sebuah kata dasar. Imbuhan terbagi
atas : Awalan (Prefiks), Sisipan (Infiks), Akhiran (Sufiks), Imbuhan Terbelah
(Konfiks).
Imbuhan yang terdapat di awal suatu kata, seperti : “me-, ber-, per-,
meng-, di-, ter-, ke- dan se-“. Untuk awalan me- mempunyai aturan khusus, yaitu:
1. tetap, jika huruf pertama kata dasar adalah l, m, n, q, r, atau w.
Contoh: me- + luluh → meluluh, me- + makan → memakan.
2. me- → mem-, jika huruf pertama kata dasar adalah b, f, p*, atau v.
Contoh: me- + baca → membaca, me- + pukul → memukul*, me- + vonis →
memvonis, me- + fasilitas + i → memfasilitasi.
3. me- → men-, jika huruf pertama kata dasar adalah c, d, j, atau t*.
Contoh : me- + datang → mendatang, me- + tiup → meniup*.
4. me- → meng-, jika huruf pertama kata dasar adalah huruf vokal, k*, g, h.
hias → menghias.
5. me- → menge-, jika kata dasar hanya satu suku kata.
Contoh: me- + bom → mengebom, me- + tik → mengetik, me- + klik →
mengeklik.
6. me- → meny-, jika huruf pertama adalah s*.
Contoh: me- + sapu → menyapu*.
Huruf dengan tanda * memiliki sifat-sifat khusus :
1. Dilebur jika huruf kedua kata dasar adalah huruf vokal.
Contoh : me- + tipu → menipu, me- + sapu → menyapu, me- + kira →
mengira.
2. Tidak dilebur jika huruf kedua kata dasar adalah huruf konsonan.
Contoh : me- + klarifikasi → mengklarifikasi.
3. Tidak dilebur jika kata dasar merupakan kata asing yang belum diserap secara
sempurna.
Contoh: me- + konversi → mengkonversi.
Bahasa Indonesia, terdapat empat sisipan (infiks), yaitu : -el-, -em-, -er-
dan –in-. Sedangkan imbuhan di akhir kata (sufiks) terdapat delapan, yaitu : i,
-kan, -an, -man, -wan , -wati, -wi (-wiah) dan –nya. Selain itu juga terdapat sufiks
yang berasal dari bahasa asing yaitu: -wan, -wati, -in, -at, - isme, -(is)asi, -logi
dan –tas. Juga terdapat akhiran lain yang disebut partikel (P), yaitu: lah, kah, tah,
pun. Sufiks juga dapat diberikan untuk menggantikan kata ganti kepunyaan (KK),
misalnya: -ku, -mu, dan –nya.
Dalam perkembangannya, morfologi bahasa Indonesia terdapat
1. Konfiks (imbuhan terbelah), yaitu gabungan dari infiks dan sufiks tetapi
menjadi satu kesatuan yang tidak dapat dipisahkan. Konfiks ini harus
mengapit kata dasar. Terdapat beberapa konfiks yaitu: ke - an, ber - an, peng -
an, per - an, se - nya.
2. Simulfiks (imbuhan gabungan), yaitu gabungan lebih dari satu awalan atau
akhiran, contoh: member – kan untuk memberlakukan dan memberdayakan.
Metode stemming pada tugas akhir ini mengacu yang dibuat oleh Nazief
dan Adriani yang berbasiskan pada morfologi bahasa Indonesia dengan definisi
sebagai berikut :
kata = stem | kata berimbuhan infleksional | kata berimbuhan derivasional | tidak
dikenal kata berimbuhan infleksional = stem Sinf | kata berimbuhan derivasional
| tidak dikenal
kata berimbuhan derivasional = stem-Sdr | Pder-stem | Pder- kata berimbuhan
derivasional | tidak dikenal
dimana :
Sder = Suffix atau akhiran derivasional
Sinf = Suffix atau akhiran infleksional
Pder = Prefix atau awalan derivasional
Setiap Sder, Sinf, Pder memiliki aturan sendiri. Metode ini menggunakan
kamus untuk menentukan hasil stem. Kata yang hendak di-stem awalnya dicari
dalam kamus, apabila tidak ditemukan maka selanjutnya kata tersebut diduga
memiliki imbuhan infleksional. Untuk mendapatkan imbuhan infleksional
digunakan struktur morfologi kedua. Dalam prosesnya struktur morfologi ketiga
Apabila kata dasar masih juga belum ditemukan maka kata ini selanjutnya diduga
memiliki imbuhan derivasional. Untuk mencari kata dasar dari kata dengan
imbuhan derivasional digunakan struktur aturan morfologi ketiga. Apabila kata
dasar belum juga ditemukan, maka kata yang hendak di-stem yang akan
dikembalikan.
2.6. Stemming
Stemming adalah proses penghilangan prefiks dan sufiks dari kueri dan
istilah-istilah dokumen (Grossman, 2002). Stemming dilakukan atas dasar asumsi
bahwa kata-kata yang memiliki stem yang sama memiliki makna yang serupa
sehingga pengguna tidak keberatan untuk memperoleh dokumen-dokumen yang
di dalamnya terdapat kata-kata dengan stem yang sama dengan kuerinya.
Teknik-teknik stemming dapat dikategorikan menjadi:
1. Berdasarkan aturan sesuai bahasa tertentu
2. Berdasarkan kamus
3. Berdasarkan kemunculan bersama.
Proses ini memiliki dua tujuan. Dalam hal efisiensi, stemming
mengurangi jumlah kata-kata unik dalam indeks sehingga mengurangi kebutuhan
ruang penyimpanan untuk indeks dan mempercepat proses pencarian. Dalam hal
keefektifan, stemming meningkatkan recall dengan mengurangi bentuk-bentuk
kata ke bentuk dasarnya atau stem-nya. Sehingga dokumen-dokumen yang
menyertakan suatu kata dalam berbagai bentuknya memiliki kecenderungan yang
sama untuk ditemukembalikan. Hal tersebut tidak akan diperoleh jika tiap bentuk
menurunkan tingkat precision jika setiap bentuk suatu stem diperoleh, sedangkan
yang relevan hanyalah bentuk yang sama dengan yang digunakan dalam kueri
(Liddy, 2001).
Parsing dan stemming dalam suatu IRS tergantung pada bahasa yang
digunakan dalam dokumen yang akan dicari. IRS untuk Bahasa Inggris kurang
optimal untuk menangani dokumen dalam Bahasa Indonesia. Bahasa Indonesia
memiliki daftar kata buang (stoplist) serta sistem pembentukan kata yang sangat
berbeda dengan bahasa Inggris, sehingga diperlukan IRS yang khusus untuk
PorterStemmer Bahasa Indonesia
Stemming untuk Bahasa Indonesia telah dikembangkan antara lain yang
menggunakan aturan berdasarkan algoritme Porter (1980) oleh Akhmadi (2002)
yang hanya melakukan pemotongan prefiks dan oleh Ridha (2002) yang
melakukan pemotongan prefiks dan sufiks. Stemming berdasarkan kamus untuk
Bahasa Indonesia juga telah dikembangkan oleh Nazief (1996) (Nazief, 2000).
Stemming adalah proses penghilangan atau pemotongan imbuhan yang
terdapat pada sebuah kata yang mempunyai imbuhan menjadi bentuk kata
dasarnya saja, untuk Bahasa Indonesia imbuhan mempunyai peran penting dalam
suatu kalimat, karena suatu kata dapat mempunyai arti yang berbeda apabila
diberi suatu imbuhan. Yang mengakibatkan setiap kata berimbuhan mempunyai
arti yang berbeda dan pembentukan kata baru. Contohnya : kata “diadaptasikan”
atau “beradaptasi” menjadi bentuk kata dasar “adaptasi” sebagai istilah. Algoritma
ini didahului dengan pembacaan tiap kata dari file sampel. Sehingga input dari
kemungkinan bentuk kata. Setiap kata diasumsikan memiliki 2 Awalan (Prefiks)
dan 3 Akhiran (Sufiks). Sehingga bentuknya menjadi :
Prefiks 1 + Pr efiks 2 + Kata Dasar + Akhiran 1 + Akhiran 2 + Akhiran 3.
Implementasi Porter Stemmer for Bahasa Indonesia berdasarkan English Porter
Stemmer yang dikembangkan oleh W.B. Frakes pada tahun 1992. Karena bahasa
Inggris datang dari kelas yang berbeda, beberapa modifikasi telah dilakukan untuk
membuat Algoritma Porter dapat digunakan sesuai dengan bahasa Indonesia.
Desain dari Porter Stemmer for Bahasa Indonesia dapat dilihat pada gambar 2.2
dibawah ini :
Gambar 2.2. Desain dari Porter Stemmer for Bahasa Indonesia
2.7. Flow Map
Flow Map adalah diagram yang menunjukan aliran data berupa
merupakan penggabungan notasi flow chart program. Hal-hal yang harus
diperhatikan dalam menggambarkan flow map adalah sebagai berikut:
1. Penggambaran flow map dimulai dari atas halaman ke bagian bawah,
kemudian dari kiri kebagian kanan
2. Penggambaran flow map dilakukan berdasarkan pembagian atau sub
sistem
3. Dalam flow map harus jelas dimana awal suatu status informasi,
kemudian dimana akhir silkus
4. Semua bagian siklus informasi harus jelas Menggunakan kertas kerja
yang jelas sesuai dengan yang akan dilakukan dalam sistem
5. Semua sub sistem yang digambarkan, harus mengalami siklus informasi
6. Jika penggambaran suatu siklus informasi terpotong, maka gunakan
penghubung antar bagian.
2.8. Naive Bayes Classifier ( NBC )
Naive Bayes Klasifikasi merupakan metoe terbaru yang digunakan untuk
memprediksi probabilitas. Algoritma ini memanfaatkan teori probabilitas yang di
kemukakan oleh ilmiwan Inggris Thomas Bayes, yaitu memprediksi probabilitas
di masa depan berdasarkan pengalaman di masa sebelimnya. Dua kelompok
peneliti, satu oleh Pantel dan Lin, dan yang lain oleh Microsoft Research
memperkenalkan metode statistik Bayesian. Tetapi yang membuat naive bayesian
ini popular adalah pendekatan yang dilakukan oleh Paul Graham.
Banyak aplikasi menghubungkan antara atribut set dan variable kelas yang
dengan peristiwa tertentu meski atribut set identik dengan beberapa contoh
training. Situasi ini makin meningkat karena noisy data atau kehadiran factor
confounding tertentu yang mempengaruhi klasifikasi tetapi tidak termasuk
didalam analisis.
Naive Bayes Klasifikasi adalah metode yang berdasarkan probabilitas dan
Teorema Bayesian dengan asumsi bahwa setiap variable bersifat bebas
(independence) dan mengasumsikan bahwa keberadaan sebuah fitur (variable)
tidak ada kaitannya dengan beradaan fitur (variable) yang lain. Naive Bayes
adalah model penyederhanaan dari metode bayes. Naive Bayes inilah yang
digunakan di dalam macine learning sebagai metode untuk mendapatkan hipotesis
untuk suatu keputusan.
The Naive Bayes classifiers juga biasa dikenal dengan algoritma
klasifikasi simple Bayesian [DAI97]. Algoritma ini banyak digunakan karena
terbukti efektif untuk kategorisasi teks, sederhana, cepat dan akurasi tinggi.
Metode ini menghitung probabilitas P(Ci | Dj), yaitu dokumen yang
direpresentasikan oleh vektor yang telah dibahas sebelumnya (bagian 2,
representasi dokumen). Perhitungan probabilitas menggunakan teorema bayes,
yaitu :
• ( Ci | D ) adalah peluang dokumen D pada ka• P ( Ci | D ) adalah peluang
dokumen D pada kategori Ci.
• P ( D | Ci ) adalah peluang pada kategori Ci, kata pada dokumen D muncul
• P ( Ci ) adalah peluang dari kategori yang diberikan, dibandingkan dengan
kategori-kategori lainnya yang dianalisa.
• P ( D ) adalah peluang dari dokumen tersebut secara spesifik. Pada
pengembangannya, P ( D ) dapat dihilangkan karena nilainya tetap,
sehingga saat dibandingkan dengan tiap kategori, nilai ini dapat dihapus.
P(Dj) merepresentasikan probabilitas sebuah dokumen yang diambil
secara acak memiliki vektor Dj sebagai representasinya dan P(Ci) adalah
probabilitas bahwa dokumen yang dipilih secara acak akan mempunyai kategori
Ci. P(Dj | Ci) memiliki jumlah kemungkinan vektor dj terlalu banyak.
Naive Bayes Classifier umumnya memiliki karakteristik sebagai berikut :
• Kokoh untuh titik noise yang diisolasi seperti titik yang dirata-ratakan ketika
mengestimasi peluang bersyarat data. Naive bayes classifier dapat menangani
missing value dengan mengabaikan contoh selama pembuatan model dan
klasifikasi.
• Kokoh untuk atribut tidak relevan, jika Xi adalah atribut yang tidak relevan,
maka P
( )
XiY menjadi hampir didistribusikan seragam. Peluang kelasbersyarat untuk Xi tidak berdampak pada keseluruhan perhitungan peluang
posterior.
• Atribut yang dihubungkan dapat menurunkan performance Naive bayes
classifier karena asumsi independen bersyarat tidak lagi menangani atribut
tersebut.
P(A = 0|Y = 0) = 0.4, P(A = 1|Y = 0) = 0.6,
P(A = 0|Y = 1) = 0.6, P(A = 1|Y = 1) = 0.4,
dengan A adalah atribut biner dan Y adalah variabel kelas biner. Jika ada
atribut biner lain yaitu B yang secara tepat dihubungkan dengan A ketika Y
= 0, tetapi independen dengan A ketika Y = 1. Sederhanaya, diasumsikan
bahwa peluang kelas bersyarat untuk B sama seperti A. diberikan record
dengan atribut A = 0, B = 0, dapat dihitung peluang posterior sebagai berikut.
(
) (
0 0(
) (
0, 0 0)
0)
(
0)
0 , 0 0 = = = = = = = = = = = B A P Y P Y B P Y A P B A Y P(
)
(
0, 0)
0 16 . 0 = = = = B A P Y xP .
(
) (
0(
1) (
0, 0 0)
1)
(
1)
0 , 0 1 = = = = = = = = = = = B A P Y P Y B P Y A P B A Y P(
)
(
0, 0)
1 36 . 0 = = = = B A P Y xP
Jika P
(
Y =0) (
=PY =1)
, maka naive bayes classifier akan menugaskan recordke kelas 1. Bagaimanapun, yang benar adalah :
(
A=0,B−0Y =0) (
=P A=0Y =0)
=0.4P
karena A dan B dihubungkan secara tepat ketika Y = 0. Sebagai hasil,
peluang posterior untuk Y = 0 adalah :
(
) (
0 0(
) (
0)
0)
(
0)
0 , 0 0 = = = = = = = = = =
= A B P A Y P B Y PY
(
)
(
0, 0)
0 4 . 0 = = = = B A P Y xP .
yang lebih besar dibanding untuk Y = 1. Record diklasifikasikan sebagai
kelas 0.
2.9. Algorithma Booyer More ( BM )
Algoritma Boyer-Moore adalah salah satu algoritma pencarian string,
dipublikasikan oleh Robert S. Boyer, dan J. Strother Moore pada tahun 1977.
Algoritma ini dianggap sebagai algoritma yang paling efisien pada aplikasi
umum. Tidak seperti algoritma pencarian string yang ditemukan sebelumnya,
algoritma Boyer-Moore mulai mencocokkan karakter dari sebelah kanan pattern.
Ide dibalik algoritma ini adalah bahwa dengan memulai pencocokkan karakter
dari kanan, dan bukan dari kiri, maka akan lebih banyak informasi yang didapat.
ditunjukan dalam contoh berikut :
Tabel 2.1. Pencocokan String Pertama.
pada contoh diatas, dengan melakukan pembandingan dari posisi paling
akhir string dapat dilihat bahwa karakter “n” pada string “kanan” tidak cocok
dengan karakter “o” pada string “radio” yang dicari, dan karakter “n” tidak pernah
ada dalam string “radio” yang dicari sehingga string “radio” dapat digeser
Tabel 2.2. Pencocokan String Kedua.
Pada cont oh diat as t erlihat bahw a algorit ma Boyer-M oore memiliki
loncat an karakt er yang besar sehingga mempercepat pencarian st ring karena
dengan hanya memeriksa sedikit karakt er, dapat langsung diket ahui bahw a
st ring yang dicari t idak dit emukan dan dapat digeser ke posisi berikut nya.
Misalnya ada sebuah usaha pencocokan yang terjadi pada teks[i..i + n −
1], dan anggap ketidakcocokan pertama terjadi di antara teks[i + j] dan pattern[j],
dengan 0 < j < n. Berarti, teks[i + j + 1..i + n − 1] = pattern[j + 1..n −
2.10. Unified Modelling Language
Unified Modelling Language (UML) adalah sebuah "bahasa" yang telah
menjadi standar dalam industri untuk menentukan, visualisasi, merancang dan
mendokumentasikan artifact dari sistem software, untuk memodelkan bisnis dan
sistem non software lainnya. UML merupakan suatu kumpulan teknik terbaik
yang telah terbukti sukses dalam memodelkan sistem yang besar dan kompleks.
Dengan menggunakan UML kita dapat membuat model untuk semua
jenis aplikasi piranti lunak, dimana aplikasi tersebut dapat berjalan pada piranti
keras, sistem operasi dan jaringan apapun, serta ditulis dalam bahasa
pemrograman apapun. Tetapi karena UML juga menggunakan class dan operation
dalam konsep dasarnya, maka ia lebih cocok untuk penulisan piranti lunak dalam
bahasa-bahasa berorientasi objek seperti C++, Java, VB.NET. Walaupun
demikian, UML tetap dapat digunakan untuk modeling aplikasi prosedural dalam
VB atau C.
Seperti bahasa-bahasa lainnya, UML mendefinisikan notasi dan
syntax/semantik. Notasi UML merupakan sekumpulan bentuk khusus untuk
menggambarkan berbagai diagram piranti lunak. Setiap bentuk memiliki makna
tertentu, dan UML syntax mendefinisikan bagaimana bentuk-bentuk tersebut
dapat dikombinasikan. Notasi UML terutama diturunkan dari 3 notasi yang telah
ada sebelumnya: Grady Booch OOD (Object-Oriented Design), Jim Rumbaugh
OMT (Object Modeling Technique), dan Ivar Jacobson OOSE (Object-Oriented
Sejarah UML sendiri cukup panjang. Sampai era tahun 1990 seperti kita
ketahui puluhan metodologi pemodelan berorientasi objek telah bermunculan di
dunia. Diantaranya adalah: metodologi Booch, metodologi Coad , metodologi
OOSE, metodologi OMT, metodologi Shlaer-Mellor, metodologi Wirfs-Brock,
dan sebagainya. Masa itu terkenal dengan masa perang metodologi (method war)
dalam pendesainan berorientasi objek. Masing-masing metodologi membawa
notasi sendiri-sendiri, yang mengakibatkan timbul masalah baru apabila kita
bekerja sama dengan group/perusahaan lain yang menggunakan metodologi yang
berlainan.
Dimulai pada bulan Oktober 1994 Booch, Rumbaugh dan Jacobson, yang
merupakan tiga tokoh yang boleh dikatakan metodologinya banyak digunakan
mempelopori usaha untuk penyatuan metodologi pendesainan berorientasi objek.
Pada tahun 1995 direlease draft pertama dari UML (versi 0.8). Sejak tahun 1996
pengembangan tersebut dikoordinasikan oleh Object Management Group (OMG –
http://www.omg.org). Tahun 1997 UML versi 1.1 muncul, dan saat ini versi
terbaru adalah versi 1.5 yang dirilis bulan Maret 2003. Booch, Rumbaugh dan
Jacobson menyusun tiga buku serial tentang UML pada tahun 1999. Sejak saat
itulah UML telah menjelma menjadi standar bahasa pemodelan untuk aplikasi
berorientasi objek.
Object Management Group, Inc. (OMG) adalah sebuah organisasi
international yang dibentuk pada 1989, didukung lebih dari 800 anggota, terdiri
dari perusahaan sistem informasi, software developer, dan pada user sistem
komputer. organisasi ini salah satunya bertugas membuat spesifikasi “manajemen
Gambar 2.3. Metodologi dalam UML
Sasaran OMG adalah membantu perkembangan object-oriented
technology dan mengarahkannya dengan mendirikan Object Management
Architecture (OMA). OMA menentukan infrastruktur konseptual yang didasarkan
pada seluruh spesifikasi yang dikeluarkan OMG.
OMG kemudian mengeluarkan UML, dimana dengan adanya UML ini
diharapkan dapat mengurangi kekacauan dalam bahasa pemodelan yang selama
ini terjadi dalam lingkungan industri. UML diharapkan juga dapat menjawab
masalah penotasian dan mekanisme tukar menukar model yang terjadi selama ini.
Saat ini piranti lunak semakin luas dan besar lingkupnya, sehingga tidak
bisa lagi dibuat asal-asalan. Piranti lunak saat ini seharusnya dirancang dengan
memperhatikan hal-hal seperti scalability, security, dan eksekusi yang robust
walaupun dalam kondisi yang sulit. Selain itu arsitekturnya harus didefinisikan
dengan jelas, agar bug mudah ditemukan dan diperbaiki, bahkan oleh orang lain
matang adalah dimungkinkannya penggunaan kembali modul atau komponen
untuk aplikasi piranti lunak lain yang membutuhkan fungsionalitas yang sama.
Pemodelan (modeling) adalah proses merancang piranti lunak sebelum
melakukan pengkodean (coding). Model piranti lunak dapat dianalogikan seperti
pembuatan blueprint pada pembangunan gedung. Membuat model dari sebuah
sistem yang kompleks sangatlah penting karena kita tidak dapat memahami sistem
semacam itu secara menyeluruh. Semakin komplek sebuah sistem, semakin
penting pula penggunaan teknik pemodelan yang baik.
Dengan menggunakan model, diharapkan pengembangan piranti lunak
dapat memenuhi semua kebutuhan pengguna dengan lengkap dan tepat, termasuk
faktor-faktor seperti scalability, robustness, security, dan sebagainya. Kesuksesan
suatu pemodelan piranti lunak ditentukan oleh tiga unsur, yang kemudian terkenal
dengan sebutan segitiga sukses (the triangle for success). Ketiga unsur tersebut
adalah metode pemodelan (notation), proses (process) dan tool yang digunakan.
Memahami notasi pemodelan tanpa mengetahui cara pemakaian yang sebenarnya
(proses) akan membuat proyek gagal. Dan pemahaman terhadap metode
pemodelan dan proses disempurnakan dengan penggunaan tool yang tepat.
UML menyediakan beberapa notasi dan artifact standar yang bisa
digunakan sebagai alat komunikasi bagi para pelaku dalam proses analisis dan
desain. Artifact didalam UML didefinisikan sebagai informasi dalam bentuk yang
digunakan atau dihasilkan dalam proses pengembangan perangkat. Contohnya
Yang harus diperhatikan untuk menjaga konsistensi antar artifact selama
proses analisis dan desain adalah bahwa setiap perubahan yang terjadi pada satu
artifact harus juga dilakukan pada atifact sebelumnya.
Untuk membuat suatu model, UML memiliki diagram grafis sebagai
berikut
• use case diagram
• class diagram
• behavior diagram
• statechart diagram
• activity diagram
• interaction diagram
o sequence diagram
o collaboration diagram
• implementation diagram
• component diagram
• deployment diagram
Diagram-diagram tersebut diberi nama berdasarkan sudut pandang yang
berbeda-beda terhadap sistem dalam proses analisis atau rekayasa.
Dibuatnya berbagai jenis diagram diatas karena :
1. Setiap sistem yang kompleks selalu paling baik jika didekati melalui
himpunan berbagai sudut pandang yang kecil yang satu sama lain hampir
saling bebas (independent). Sudut pandang tunggal senantiasa tidak
2. Diagram yang berbeda-beda tersebut dapat menyatakan tingkatan yang
berbeda-beda dalam proses rekayasa.
3. Diagram-diagram tersebut dibuat agar model yang dibuat semakin mendekati
realitas.
UML tidak mencakup :
1. Bahasa Pemrograman
UML adalah bahasa pemodelan visual, bukan dimaksudkan untuk menjadi suatu
bahasa pemrograman visual, tetapi UML memberikan arah untuk bergerak kearah
kode.
2. Tool (software aplikasi) pemodelan
Membuat standar sebuah bahasa diperlukan oleh tool-tool dan proses. UML
mendefinisikan semantik dan notasi, bukan sebuah tool. Contoh tool yang
menggunakan UML sebagai bahasanya adalah Rational Rose dan Enterprise
Architect.
3. Proses rekayasa
UML digunakan sebagai bahasa dalam proyek dengan proses yang berbeda-beda.
UML bebas dari proses dan mendefinisikan sebuah proses standar bukan tujuan
UML atau RFP dari OMG. Dalam pembahasan ini kita akan menggunakan sebuah
proses yang dikeluarkan Rational Software, yaitu Rational Unified Process
(RUP). Berikut ini adalah notasi dalam UML :
Actor
Actor menggambarkan segala pengguna software aplikasi (user). Actor
memberikan suatu gambaran jelas tentang apa yang harus dikerjakan software
aplikasi. Sebagai contoh sebuah actor dapat memberikan input kedalam dan
menerima informasi dari software aplikasi, perlu dicatat bahwa sebuah actor
berinteraksi dengan use case, tetapi tidak memiliki kontrol atas use case. Sebuah
actor mungkin seorang manusia, satu device, hardware atau sistem informasi
lainnya.
Use Case
Gambar 2.5. Notasi Use Case
Use case menjelaskan urutan kegiatan yang dilakukan actor dan sistem
untuk mencapai suatu tujuan tertentu. Walaupun menjelaskan kegiatan, namun
use case hanya menjelaskan apa yang dilakukan oleh actor dan sistem bukan
bagaimana actor dan sistem melakukan kegiatan tersebut.
Use-case Konkret adalah use case yang dibuat langsung karena keperluan
actor. Actor dapat melihat dan berinisiatif terhadapnya
Use-case Abstrak adalah use case yang tidak pernah berdiri sendiri. Use
case abstrak senantiasa termasuk didalam (include), diperluas dari (extend) atau
memperumum (generalize) use case lainnya. Untuk menggambarkannya dalam
use case model biasanya digunakan association relationship yang memiliki
stereotype include, extend atau generalization relationship. Hubungan include
menggambarkan bahwa suatu use case seluruhnya meliputi fungsionalitas dari use
merupakan tambahan fungsionalitas dari use case yang lain jika kondisi atau
syarat tertentu terpenuhi.
Class
Gambar 2.6. Notasi Class
Class merupakan pembentuk utama dari sistem berorientasi obyek,
karena class menunjukkan kumpulan obyek yang memiliki atribut dan operasi
yang sama. Class digunakan untuk mengimplementasikan interface.
Class digunakan untuk mengabstraksikan elemen-elemen dari sistem yang sedang
dibangun. Class bisa merepresentasikan baik perangkat lunak maupun perangkat
keras, baik konsep maupun benda nyata.
Notasi class berbentuk persegi panjang berisi 3 bagian: persegi panjang
paling atas untuk nama class, persegi panjang paling bawah untuk operasi, dan
persegi panjang ditengah untuk atribut.
Atribut digunakan untuk menyimpan informasi. Nama atribut
menggunakan kata benda yang bisa dengan jelas merepresentasikan informasi
yang tersimpan didalamnya. Operasi menunjukkan sesuatu yang bisa dilakukan
oleh obyek dan menggunakan kata kerja.
Inter face
Interface merupakan kumpulan operasi tanpa implementasi dari suatu
class. Implementasi operasi dalam interface dijabarkan oleh operasi didalam class.
Oleh karena itu keberadaan interface selalu disertai oleh class yang
mengimplementasikan operasinya. Interface ini merupakan salah satu cara
mewujudkan prinsip enkapsulasi dalam obyek.
Interaction
Gambar 2.8. Notasi Interaction
Interaction digunakan untuk menunjukkan baik aliran pesan atau informasi antar
obyek maupun hubungan antar obyek. Biasanya interaction ini dilengkapi juga
dengan teks bernama operation signature yang tersusun dari nama operasi,
parameter yang dikirim dan tipe parameter yang dikembalikan.
Note
Gambar 2.9. Notasi Note
Note digunakan untuk memberikan keterangan atau komentar tambahan
dari suatu elemen sehingga bisa langsung terlampir dalam model. Note ini bisa
disertakan ke semua elemen notasi yang lain.
Dependency
Gambar 2.10. Notasi Dependency
Dependency merupakan relasi yang menunjukan bahwa perubahan pada
bagian tanda panah adalah elemen yang tergantung pada elemen yang ada
dibagian tanpa tanda panah.
Terdapat 2 stereotype dari dependency, yaitu include dan extend. Include
menunjukkan bahwa suatu bagian dari elemen (yang ada digaris tanpa panah)
memicu eksekusi bagian dari elemen lain (yang ada di garis dengan panah).
Extend menunjukkan bahwa suatu bagian dari elemen di garis tanpa
panah bisa disisipkan kedalam elemen yang ada di garis dengan panah.
Association
Gambar 2.11. Notasi Asociation
Association menggambarkan navigasi antar class (navigation), berapa
banyak obyek lain yang bisa berhubungan dengan satu obyek (multiplicity antar
class) dan apakah suatu class menjadi bagian dari class lainnya (aggregation).
Navigation dilambangkan dengan penambahan tanda panah di akhir
garis. Bidirectional navigation menunjukkan bahwa dengan mengetahui salah satu
class bisa didapatkan informasi dari class lainnya. Sementara UniDirectional
navigation hanya dengan mengetahui class diujung garis association tanpa panah
kita bisa mendapatkan informasi dari class di ujung dengan panah, tetapi tidak
sebaliknya. Aggregation mengacu pada hubungan “has-a”, yaitu bahwa suatu
class memiliki class lain, misalnya Rumah memiliki class Kamar.
Generalization
Generalization menunjukkan hubungan antara elemen yang lebih umum
ke elemen yang lebih spesifik. Dengan generalization, class yang lebih spesifik
(subclass) akan menurunkan atribut dan operasi dari class yang lebih umum
(superclass) atau “subclass is superclass”. Dengan menggunakan notasi
generalization ini, konsep inheritance dari prinsip hirarki dapat dimodelkan.
Realization
Gambar 2.13. Notasi Realization
Realization menunjukkan hubungan bahwa elemen yang ada di bagian tanpa
panah akan merealisasikan apa yang dinyatakan oleh elemen yang ada di bagian
dengan panah. Misalnya class merealisasikan package, component merealisasikan
class atau interface.
2.19. Embarcadero Delphi 2010
Delphi merupakan alat bantu pengembangan aplikasi yang berbasis
visual. Perangkat ini merupakan hasil pengembangan dari bahasa pemrograman
pascal yang diciptakan oleh Niklaus Wirth. Pada masa itu, Wirth bermaksud
membuat bahasa pemrograman tingkat tinggi sebagai alat bantu mengajar logika
pemrograman komputer kepada para mahasiswanya.
Bahasa pemrograman pascal ini kemudian dikembangkan oleh Borland
yang merupakan salah satu perusahaan software menjadi sebuah tools dengan
Seiring dengan ditemukannya metode pemrograman berorientasi obyek,
bahasa pemrograman pascal berevolusi menjadi object pascal dan dikembangkan
oleh Borland dengan nama Borland Delphi.
Keberhasilan Borland dalam mengembangkan Delphi menjadikan salah
satu bahasa yang populer dan disukai oleh banyak programmer, disamping Visual
Basic yang dikeluar Microsoft di kemudian hari.
Lingkungan pengembangan Delphi yang mudah, intuitif dan
memudahkan pemakai, berhasil melampaui popularitas rivalnya, yaitu Visual
Basic, sehingga pernah menyandang predikat “VB-Killer”.
Karena tuntutan perkembangan teknologi, Borland berganti nama
menjadi Code Gear, tetapi tetap mempergunakan nama Delphi untuk tools yang
berbasis object pascal ini. Tidak lama kemudian Code Gear diakuisisi oleh
Embarcadero dan namanya pun berubah menjadi Embarcadero RAD Studio
dengan tetap mempertahankan Delphi sebagai salah satu tools-nya.
Beberapa kelebihan yang dimiliki oleh Embarcadero Delphi 2010 ini
antara lain :
1. Delphi dibangun dengan menggunakan arsitektur native compiler, sehingga
proses kompilasi instruksi menjadi bahasa mesin menjadi lebih cepat.
2. Semua file yang disertakan saat proses kompilasi, digabungkan menjadi satu
sesuai dengan arsitektur native compiler, sehingga mengurangi
ketergantungan terhadap library ataupun file-file pendukung lainya, sesuai
dengan prinsip build once, runs everywhere
3. Delphi mempunyai kemampuan selective object linking, sehingga apabila
dalam library tersebut yang dipergunakan dalam system, maka secara
otomatis, kompiler tidak akan menyertakan library tersebut dalam proses
kompilasinya. Hal ini berbe