Pembangunan Aplikasi Pertukaran Informasi Pada Jaringan Knowledge base LAPORAN TUGAS AKHIR Disusun sebagai syarat kelulusan tingkat sarjana oleh : Fajar Juang Ekaputra / 13503079 PROGRAM STUDI TEKNIK INFORMATIKA SEKOLAH TEKNIK ELEKTRO DAN INFORMATIKA INSTITUT TEKNOLOGI BANDUNG 2008 Lembar Pengesahan Program Studi Sarjana Teknik Informatika Pembangunan Aplikasi Pertukaran Informasi pada Jaringan Knowledge base Tugas Akhir Program Studi Sarjana Teknik Informatika ITB Oleh Fajar Juang Ekaputra / 13503079 Telah disetujui dan disahkan sebagai laporan Tugas Akhir di Bandung, pada tanggal Juni 2008 Pembimbing Tricya E. Widagdo, S.T, M.Sc. NIP 132164563 i ABSTRAK Knowledge base, sebagai salah satu bentuk implementasi dari perangkat lunak basis data, merupakan penggabungan dari informasi dan pengetahuan pada suatu bidang yang spesifik. Informasi sebagai bagian penting pada sebuah knowledge base merupakan sesuatu yang dinamis, sehingga knowledge base dituntut untuk selalu dapat mengikuti perkembangan informasi yang terjadi. Pada tugas akhir ini telah dikembangkan sebuah aplikasi yang menjadikan setiap knowledge base yang terdapat dalam suatu jaringan lojik knowledge base dapat saling mengirimkan informasi satu sama lain, dengan tujuan untuk memperbaharui informasi yang terdapat di dalamnya. Pelaksanaan tugas akhir ini mencakup dua hal, pendefinisian dan pengimplementasian knowledge base serta pengimplementasian aplikasi pertukaran informasi di atas knowledge base tersebut. Knowledge base yang digunakan di dalam tugas akhir ini merupakan sebuah knowledge base sederhana berbasis ontologi topic map dan diimplementasikan menggunakan basis data MySQL dan bahasa pemrograman PHP. Sedangkan aplikasi pertukaran informasi dibangun dengan menggunakan bahasa pemrograman PHP dan library NuSOAP untuk implementasi web service. Hasil dari tugas akhir ini adalah sebuah aplikasi pertukaran informasi yang terimplementasi di dalam jaringan web-based knowledge base, dimana setiap anggota knowledge base memiliki kemampuan untuk melakukan pertukaran informasi satu sama lain. Berdasarkan hasil pengujian yang dilakukan, aplikasi ini terbukti mampu melaksanakan pertukaran informasi dengan hasil yang memuaskan. Informasi yang didapatkan dengan menggunakan aplikasi ini memiliki kata kunci yang sesuai dengan kata kunci tertentu yang digunakan oleh penggunanya. Kata kunci : knowledge base, web service, jaringan, topic map ontology, pertukaran informasi ii KATA PENGANTAR Puji syukur ke hadirat Allah SWT. Dengan rahmat dan bimbingan-Nya, penulis dapat dengan baik menyelesaikan tugas akhir yang berjudul ”Pembangunan Aplikasi Pertukaran Informasi Pada Jaringan Knowledge base“. Pada kesempatan ini penulis ingin mengucapkan terima kasih yang sebesar-besarnya pada: 1. Ibu Tricya E. Widagdo, S.T, M.Sc. selaku pembimbing Tugas Akhir, atas segala pendidikan dan bimbingan yang sangat berharga selama Tugas Akhir. 2. Ibu Ir. Hira Laksmiwati Z., M.Sc. atas segala kritik, saran, dan penjelasan yang diberikan selaku penguji proposal, seminar, prasidang, dan sidang Tugas Akhir. 3. Ibu Fazat Nur Azizah, S.T., M.Sc. atas segala kritik dan saran, dan penjelasan yang diberikan selaku penguji sidang Tugas Akhir. 4. Ayah, Mama, Sisi, Milzam, Oza, Andung, Oma, (alm) Nenek dan (alm) Mbah, atas segala dukungan dan doanya, dari awal kuliah sampai saat terakhir kuliah di ITB. Kalian semua adalah orang-orang terpenting dalam hidup saya. 5. Fiona Verisqa, atas segala bentuk perhatian, dukungan, doa, dan kesabarannya menunggu selama masa kuliah dan pengerjaan Tugas Akhir. 6. Siaware dan orang-orang yang terlibat di dalamnya, Bu Nani, Pak Mustaf, Bu Devi, Bu Linda, Bu Esti, Mba Faiz, Hadi, Hayyu, Galih, Piti beserta rekan-rekan lainnya, atas inspirasi yang sangat besar bagi saya dalam menjalani hidup. 7. Teman-teman terdekat, Riza, Simon, Faqih, Bemby, Unggul, Okta dan Ika, atas segala bentuk dorongan, hinaan, pujian, serta bercandaannya di masa kuliah. 8. Cathy, Abi, Simon 04, Ratih, Dijey, Zakka, Ogy, Jalil, dan seluruh penghuni lab basis data lainnya, atas segala dukungan dan bantuannya dalam pengerjaan Tugas Akhir. 9. DSH’ers, baik yang di Sangkuriang maupun Sosiologi, atas segala kenangan pahit dan manis yang telah diberikan, serta dukungannya dalam pelaksanaan Tugas Akhir. 10. Rekan-rekan Sangkuriang Studio, atas pengertian dan dukungannya dalam pelaksanaan Tugas Akhir. iii 11. POSS-ITB, atas pengertian, dispensasi dan dukungannya dalam pelaksanaan Tugas Akhir. 12. Band SWGTB, untuk segala kenangan manis dan pahit yang telah diberikan, yang juga telah menginspirasi saya untuk sekali lagi menekuni bidang musik. 13. Budiono, atas dokumen tugas akhirnya yang menjadi referensi utama dalam pembuatan tugas akhir. 14. Rekan-rekan yang telah hadir pada proposal dan seminar Tugas Akhir saya, yang saya tidak dapat sebutkan satu-persatu. 15. Rekan-rekan PS-ITB, rekan-rekan HMIF-ITB, rekan-rekan IF 2003, rekan-rekan Magang’ers Hublu KM-ITB 2003, rekan-rekan LSS 2004, rekan-rekan panitia OSKM 2004, rekan-rekan anggota marketing HMIF 2005, rekan-rekan panitia seminar G-MOTION 2005, rekan-rekan panitia OHU 2005, dan rekan-rekan tim sepakbola olimpiade HMIF 2007 atas segala kenangan yang diberikan selama masa perkuliahan. 16. Semua staf akademik Program Studi Teknik Informatika yang telah memberikan banyak ilmu selama masa perkuliahan, juga semua staf non akademik. Semoga Tugas Akhir ini dapat memberikan manfaat bagi semua pihak yang membutuhkannya. Penulis menyadari bahwa Tugas Akhir ini masih memiliki banyak kekurangan. Oleh karena itu, saran dan kritik dari pembaca sangat penulis harapkan. Bandung, Juni 2008 Penulis iv DAFTAR ISI Lembar Pengesahan Program Studi Sarjana Teknik Informatika .................................................... i ABSTRAK ...................................................................................................................................... ii KATA PENGANTAR ................................................................................................................... iii DAFTAR ISI................................................................................................................................... v DAFTAR GAMBAR ...................................................................................................................... x DAFTAR TABEL ......................................................................................................................... xii BAB I PENDAHULUAN ............................................................................................................... 1 1.1 Latar Belakang....................................................................................................................... 1 1.2 Rumusan Masalah ............................................................................................................... I-2 1.3 Tujuan .................................................................................................................................. I-2 1.4 Batasan Masalah .................................................................................................................. I-3 1.5 Metodologi .......................................................................................................................... I-3 1.6 Sistematika Penulisan .......................................................................................................... I-4 BAB II LANDASAN TEORI ......................................................................................................... 1 2.1 Knowledge base ..................................................................................................................... 1 2.1.1 Struktur Knowledge base ................................................................................................ 1 2.1.2 Contoh Penerapan Knowledge base ............................................................................ II-3 2.1.2.1 Apple Support ................................................................................................... II-4 2.1.2.2 MozillaZine ....................................................................................................... II-4 2.1.2.3 UITS ................................................................................................................. II-5 2.2 Struktur Repositori Knowledge base ................................................................................. II-5 2.2.1 Controlled Vocabularies ............................................................................................. II-5 2.2.2 Taxonomy .................................................................................................................... II-6 v 2.2.3 Thesaurus .................................................................................................................... II-6 2.2.4 Faceted Classification ................................................................................................. II-8 2.2.5 Ontology ...................................................................................................................... II-9 2.2.5.1 Topic Map Ontology ....................................................................................... II-11 2.2.6 Penilaian Tingkat Kepercayaan Informasi Pada Struktur Knowledge base .............. II-13 2.2.6.1 Statistical Information Retrieval..................................................................... II-13 2.2.6.2 Vector Space ................................................................................................... II-13 2.2.6.3 Occurrences Embedded Definition ................................................................. II-14 2.3 Web services .................................................................................................................... II-14 2.3.1 Web Services Generasi Pertama [ERL04] ................................................................. II-14 2.3.1.1 Web Service Description Language (WSDL) ................................................. II-15 2.3.1.2 Simple Object Access Protocol (SOAP) ......................................................... II-16 2.3.1.3 Universal Description Discovery and Integration (UDDI) ............................ II-17 2.3.2 Web Service Generasi Kedua [ERL04] ..................................................................... II-18 2.3.3 Jenis-Jenis Penggunaan Web Service ........................................................................ II-18 2.3.3.1 SOAP Web service .......................................................................................... II-18 2.3.3.2 REST Web service .......................................................................................... II-19 BAB III ANALISIS ........................................................................................................................ 1 3.1 Analisis Umum Sistem .......................................................................................................... 1 3.2 Analisis Aliran Data ......................................................................................................... III-4 3.2.1 Analisis Aliran Data pada Fitur GetInfo .................................................................... III-4 3.2.2 Analisis Aliran Data pada Fitur BroadcastInfo .......................................................... III-5 3.2.3 Analisis Aliran Data pada Fitur ViewInfo ................................................................. III-6 3.2.4 Analisis Aliran Data pada Fitur ReviewInfo .............................................................. III-7 3.2.5 Analisis Aliran Data pada Fitur SearchInfo ............................................................... III-8 vi 3.2.6 Analisis Aliran Data pada Fitur InfoManager ............................................................ III-9 3.3 Analisis Struktur Repositori Knowledge base ................................................................ III-10 3.3.1 Analisis Kelayakan Klasifikasi Informasi Berbasis Ontologi Topic map ................ III-10 3.3.2 Analisis Struktur Repositori Knowledge base Berbasis Ontologi Topic Map ......... III-11 3.3.2.1 Entitas assoc_types ........................................................................................ III-12 3.3.2.2 Entitas topic ................................................................................................... III-12 3.3.2.3 Entitas info ..................................................................................................... III-12 3.3.2.4 Relasi assoc ................................................................................................... III-13 3.3.2.5 Relasi occurence ............................................................................................ III-13 3.4 Analisis Struktur Pertukaran Informasi .......................................................................... III-13 3.5 Analisis Protokol Komunikasi ........................................................................................ III-15 3.5.1 Analisis Kelayakan Web Services Sebagai Protokol Komunikasi ........................... III-15 3.5.2 Analisis Jenis Web Services Yang Digunakan ......................................................... III-15 3.6 Analisis Kebutuhan Aplikasi .......................................................................................... III-15 3.6.1 Model Use case ........................................................................................................ III-16 3.6.1.1 Diagram Use case .......................................................................................... III-16 3.6.1.2 Definisi Aktor ................................................................................................ III-17 3.6.1.3 Definisi Use case ........................................................................................... III-17 3.6.1.4 Skenario Use case .......................................................................................... III-18 3.6.2 Sequence Diagram ................................................................................................... III-22 3.6.2.1 Sequence Diagram Use case ViewInfo ......................................................... III-22 3.6.2.2 Sequence Diagram Use case GetInfo ............................................................ III-23 3.6.2.3 Sequence Diagram Use case BroadcastInfo .................................................. III-24 3.6.2.4 Sequence Diagram Use case ReviewInfo ...................................................... III-24 3.6.2.5 Sequence Diagram Use case SearchInfo ....................................................... III-25 vii 3.6.2.6 Sequence Diagram Use case InfoManager .................................................... III-26 3.6.2.7 Sequence Diagram Use case AdminLogin .................................................... III-27 3.6.3 Class Diagram Analisis ........................................................................................... III-28 BAB IV PERANCANGAN ............................................................................................................ 1 4.1 Perancangan Kelas ................................................................................................................. 1 4.2 Perancangan Antarmuka ................................................................................................... IV-3 4.3 Perancangan Basis Data ................................................................................................... IV-3 4.3.1 Konversi ..................................................................................................................... IV-4 4.3.1.1 Entitas assoc_types .......................................................................................... IV-4 4.3.1.2 Entitas topic ..................................................................................................... IV-4 4.3.1.3 Entitas info ....................................................................................................... IV-4 4.3.1.4 Relasi assoc ..................................................................................................... IV-5 4.3.1.5 Relasi occurence .............................................................................................. IV-5 4.3.1.6 Entitas TempData ............................................................................................ IV-5 4.3.2 Perancangan Basis Data Knowledge base .................................................................. IV-6 4.3.3 Perancangan Basis Data Temporary Data ................................................................. IV-6 BAB V IMPLEMENTASI DAN PENGUJIAN ............................................................................. 1 5.1 Lingkungan Implementasi ..................................................................................................... 1 5.1.1 Lingkungan Perangkat Keras .......................................................................................... 1 5.1.2 Lingkungan Perangkat Lunak ......................................................................................... 1 5.2 Batasan Implementasi ........................................................................................................ V-2 5.3 Implementasi Aplikasi ....................................................................................................... V-2 5.4 Implementasi Antarmuka .................................................................................................. V-3 5.5 Pengujian Perangkat Lunak ............................................................................................... V-4 5.5.1 Tujuan Pengujian ........................................................................................................ V-4 viii 5.5.2 Lingkungan Pengujian ................................................................................................ V-5 5.5.3 Batasan Pengujian ....................................................................................................... V-5 5.5.4 Skenario Pengujian...................................................................................................... V-5 5.5.5 Rancangan Kasus Uji .................................................................................................. V-6 5.5.6 Rekapitulasi Hasil Uji ................................................................................................. V-7 5.5.7 Analisis Hasil Uji ........................................................................................................ V-8 BAB VI KESIMPULAN DAN SARAN ........................................................................................ 1 6.1 Kesimpulan ............................................................................................................................... 1 6.2 Saran .................................................................................................................................... VI-2 DAFTAR REFERENSI .................................................................................................................. 1 ix DAFTAR GAMBAR Gambar II-1 Struktur knowledge base pada TUSK .............................................................. II-2 Gambar II-2 Contoh taxonomy ................................................................................................ II-6 Gambar II-3 Contoh thesaurus ................................................................................................ II-8 Gambar II-4 Contoh klasifikasi faset [ADK05] ..................................................................... II-9 Gambar II-5 Contoh ontology [NCSU03] ............................................................................. II-10 Gambar II-6 Contoh kumpulan topik .................................................................................. II-11 Gambar II-7 Contoh occurrences .......................................................................................... II-12 Gambar II-8 Contoh asosiasi ................................................................................................. II-12 Gambar II-9 Keterhubungan antar komponen dari web services [ERL04] ...................... II-15 Gambar III-1 Arsitektur sistem dan fitur-fitur yang tersedia ............................................ III-3 Gambar III-2 Aliran data pada fitur GetInfo ....................................................................... III-4 Gambar III-3 Aliran data pada fitur BroadcastInfo ............................................................ III-5 Gambar III-4 Aliran data pada fitur ViewInfo .................................................................... III-6 Gambar III-5 Aliran data pada fitur ReviewInfo................................................................. III-7 Gambar III-6 Aliran data pada fitur SearchInfo ................................................................. III-8 Gambar III-7 Aliran data pada fitur InfoManager ............................................................. III-9 Gambar III-8 ERD repositori knowledge base hasil adaptasi ontologi topic map ............ III-11 Gambar III-9 ERD entitas penyimpanan informasi sementara ........................................ III-14 Gambar III-10 Use case kebutuhan aplikasi ....................................................................... III-16 Gambar III-11 Diagram sekuens analisis dari use case ViewInfo .................................... III-22 Gambar III-12 Diagram sekuens analisis dari use case GetInfo ....................................... III-23 Gambar III-13 Diagram sekuens analisis dari use case BroadcastInfo ............................ III-24 Gambar III-14 Diagram sekuens analisis dari use case ReviewInfo................................. III-24 x Gambar III-15 Diagram sekuens analisis dari use case SearchInfo ................................. III-25 Gambar III-16 Diagram sekuens analisis dari use case InfoManager.............................. III-26 Gambar III-17 Diagram sekuens analisis untuk use case AdminLogin ........................... III-27 Gambar III-18 Diagram kelas analisis ................................................................................. III-28 Gambar IV-1 Diagram kelas perancangan ................................................................................ 1 Gambar IV-2 Desain antarmuka aplikasi secara umum ..................................................... IV-3 Gambar IV-3 Skema basis data knowledge base ................................................................... IV-6 Gambar IV-4 Skema basis data TempData........................................................................... IV-6 Gambar V-1 Antarmuka pengguna non-admin .................................................................... V-3 Gambar V-2 Antarmuka admin .............................................................................................. V-4 xi DAFTAR TABEL Tabel III-1 Struktur informasi untuk dipertukarkan ........................................................ III-14 Tabel III-2 Definisi aktor dalam use case aplikasi.............................................................. III-17 Tabel III-3 Definisi use case .................................................................................................. III-17 Tabel III-4 Skenario use case ViewInfo ............................................................................... III-18 Tabel III-5 Skenario use case SearchInfo ............................................................................ III-18 Tabel III-6 Skenario use case GetInfo ................................................................................. III-19 Tabel III-7 Skenario use case BroadcastInfo ...................................................................... III-20 Tabel III-8 Skenario use case ReviewInfo ........................................................................... III-21 Tabel III-9 Skenario use case InfoManager ........................................................................ III-21 Tabel IV-1 Tabel pemetaan kelas analisis pada kelas perancangan ................................... IV-2 Tabel V-1 File hasil implementasi kelas perancangan .......................................................... V-2 Tabel V-2 Tabel rancangan kasus uji aplikasi ....................................................................... V-6 Tabel V-3 Rekapitulasi hasil pengujian .................................................................................. V-7 xii