IMPLEMENTASI WEB SERVICE PADA CONTENT MANAGEMENT SYSTEM
LAPORAN TUGAS AKHIR
Disusun sebagai syarat kelulusan tingkat sarjana
oleh : Imam Ahmadi / 13502036
PROGRAM STUDI TEKNIK INFORMATIKA SEKOLAH TEKNIK ELEKTRO DAN INFORMATIKA INSTITUT TEKNOLOGI BANDUNG 2007
Lembar Pengesahan Program Studi Sarjana Informatika IMPLEMENTASI WEB SERVICE PADA CONTENT MANAGEMENT SYSTEM
Tugas Akhir Program Studi Teknik Informatika ITB
Oleh Imam Ahmadi / 13502036
Telah disetujui dan disahkan sebagai laporan tugas akhir di Bandung, pada tanggal 1 Oktober 2007
Pembimbing
Yani Widyani, S.T., M.T. NIP:132164562
ii
ABSTRAKSI Pada Tugas Akhir ini dilakukan pengembangan suatu aplikasi CMS (Content Management System), yaitu aplikasi yang dapat mempermudah pengguna dalam melakukan pengelolaan website. Pengelolaan website yang dilakukan antara lain pengelolaan content, kategori, dan user. Selain itu, aplikasi juga dapat menampilkan content yang telah dibuat ke dalam halaman web. Aplikasi menyediakan web service untuk beberapa fitur yang dimilikinya sebagai alat untuk berinteraksi dengan aplikasi lain. Web service tersebut dapat digunakan oleh aplikasi lain untuk mendapatkan dan menambah content, mengelola dan mendapatkan kategori, serta untuk mengelola user pada aplikasi penyedia web service. Aplikasi yang dikembangkan dalam Tugas Akhir ini dibangun dengan menggunakan bahasa PHP dan DBMS (Database Management System) MySQL. Pembangunan web service pada PHP menggunakan library SOAP Extension yang memiliki kelebihan dalam hal kecepatan jika dibandingkan dengan library yang lain. Dokumen WSDL (Web Service Definition Language) digunakan untuk mendeskripsikan layanan yang disediakan oleh aplikasi. Aplikasi dapat diinstal pada komputer yang berfungsi sebagai web server. Pengguna dapat menggunakan web browser untuk dapat mengakses aplikasi ini. Sedangkan aplikasi lain yang akan memanfaatkan layanan aplikasi menggunakan protokol SOAP (Simple Object Access Protocol) untuk berkomunikasi dengan server. Pengujian yang dilakukan terhadap fungsionalitas aplikasi menunjukkan bahwa aplikasi yang dibangun dalam Tugas Akhir ini dapat berjalan sesuai dengan spesifikasi yang telah ditetapkan. Selain itu, pengujian kebutuhan non fungsional aplikasi memberikan hasil bahwa aplikasi tetap dapat berjalan dengan baik di lingkungan eksekusi yang berbeda-beda. Hal ini menunjukkan aplikasi yang dibangun memiliki operabilitas yang tinggi. Jika dibandingkan dengan aplikasi CMS sejenis yang banyak ditemukan di internet, aplikasi yang dibangun memiliki beberapa kelebihan dan kekurangan. Secara umum aplikasi yang dibangun dalam Tugas Akhir ini memiliki fitur yang cukup merepresentasikan kebutuhan aplikasi CMS dan memiliki kelebihan dalam hal penyediaan web service yang memungkinkan terjadinya interaksi dengan aplikasi lain. Kata kunci: CMS, web services, PHP, SOAP Extension, WSDL, SOAP.
iii
KATA PENGANTAR Alhamdulillah, segala puji bagi Allah atas limpahan rahmat dan karunia-Nya sehingga Penulis dapat menyelesaikan Tugas Akhir yang berjudul Implementasi Web Service pada Content Management System. Tugas Akhir ini disusun sebagai salah satu syarat kelulusan tingkat sarjana di Program Studi Teknik Informatika Institut Teknologi Bandung.
Pada kesempatan ini, Penulis ingin mengucapkan terimakasih kepada semua pihak yang secara langsung maupun tidak langsung turut memberikan bantuan kepada Penulis selama pelaksanaan Tugas Akhir ini, yaitu: 1. Ibu dan Bapak, atas segalanya yang tidak akan mungkin dapat Penulis balas dengan apapun dan sampai kapanpun. 2. Ibu Yani Widyani, S.T., M.T. selaku pembimbing Tugas Akhir sekaligus dosen wali yang telah memberikan bimbingan dan pengarahan selama pelaksanaan Tugas Akhir dan selama Penulis menempuh studi. 3. Ibu Dra. Christine Suryadi, M.T. selaku penguji presentasi proposal Tugas Akhir. 4. Ibu Nur Ulfa Maulidevi, S.T., M.Sc. selaku penguji seminar Tugas Akhir. 5. Ibu Tricya E. Widagdo, S.T., M.Sc. selaku penguji pada Pra Sidang dan Sidang Tugas Akhir. 6. Bapak Ahmad Imam Kristijantoro, Ph.D. selaku penguji Sidang Tugas Akhir. 7. Mas Yusuf, Mbak Siti, Mbak Zulaikah, dan Dik Roni, dan seluruh keluarga Penulis, yang telah memberikan dukungan baik secara material, moral maupun spiritual. Juga untuk keponakanku, Muhammad Rafi Habibi, semoga bisa jadi kebanggaan bagi kedua orang tuanya. 8. Keluarga Bangbayang 97A, Taufik, Bayu “Thukul”, Yudha “Jerman”, Mamat “Pati”, Udin “Rembang”, Mas Ettim, Mas Pri, Mas Douby, Mas Andri, dan Mas Fadhil, serta pemilik kos, Pak Nanang sekeluarga. 9. Cikapayang 5 PES Club, Fani, Pepeng, Aron, Akbar, dan Udin, serta rekan-rekan Informatika angkatan 2002 yang lain. 10. Keluarga besar Warayang (Paguyuban Pemuda dan Mahasiswa Nganjuk di Bandung), atas kekeluargaan dan suasana kampung halaman yang tercipta ketika berkumpul dengan kalian. 11. Seluruh dosen dan karyawan di Program Studi Teknik Informatika ITB. 12. Hendi MS’02, Pak Eko, dan Rowi atas pinjaman komputernya. 13. Feris, Tantri, Muna, Anna, Sari, dan “Kyai” Slamet, atas dukungan moral dan spiritualnya.
iv
14. Rekan-rekan asisten Laboratorium Rekayasa Perangkat Lunak. 15. Tukang upload rileks (http://rileks.comlabs.itb.ac.id) atas film-film gratisnya. 16. Keluarga Bangbayang Regol, Mas Blank, Mas Boy, Bang Pa’i, Mas Syam, Om Dika, Om Joko, Om Sugeng, Om Ilham, Pak Omar, Pak Eko, Hanif, dan lainnya, atas semua ajaran sesatnya. 17. Penyiar / DJ alias Dangdut Jockey Dahlia 101,5 FM (Uli Gothic, Mia, Teh Wince, dll), Rama 104,7 FM (Aris “Rama” Syahwandi, Sandra, dll), Zora 90,1 FM (Ziwan Pradipta, Dinar, dll), Sinta 97,2 FM (Kang Komeng, Mona Ratunapsu, dll), Cosmo 101,9 FM (Christin, Yudha, dll), dan Garuda 105,5 FM (Nonon, Ucan, dll) yang menemani hari-hari Penulis dengan musik-musik penyejuk hati dan otak. 18. Seseorang yang masih dirahasiakan oleh Sang Maha Mengetahui. 19. Pihak-pihak lain yang tidak dapat penulis sebutkan satu per satu.
Penulis menyadari bahwa dalam penulisan Tugas Akhir ini masih banyak kekurangan yang harus disempurnakan. Untuk itu Penulis mengharapkan kritik dan saran berkaitan dengan Tugas Akhir ini. Akhir kata Penulis mengharapkan semoga Tugas Akhir ini dapat bermanfaat bagi siapapun.
Bandung, Oktober 2007
Penulis
v
DAFTAR ISI ABSTRAKSI .............................................................................................................. iii KATA PENGANTAR ................................................................................................. iv DAFTAR ISI................................................................................................................ vi DAFTAR GAMBAR ................................................................................................ viii DAFTAR TABEL ....................................................................................................... ix DAFTAR ISTILAH ..................................................................................................... x BAB I PENDAHULUAN .......................................................................................... I-1 1.1 1.2 1.3 1.4 1.5 1.6
Latar Belakang....................................................................................................................... I-1 Rumusan Masalah ................................................................................................................. I-2 Tujuan .................................................................................................................................... I-2 Batasan Masalah .................................................................................................................... I-2 Metodologi ............................................................................................................................ I-3 Sistematika Pembahasan........................................................................................................ I-4
BAB II KAJIAN PUSTAKA .................................................................................. II-1 2.1 XML ..................................................................................................................................... II-1 2.1.1 Skema XML ....................................................................................................................... II-2 2.1.2 Parser XML ........................................................................................................................ II-3 2.2 Web Service .......................................................................................................................... II-4 2.2.1 Pengertian Web Service ..................................................................................................... II-4 2.2.2 Model Web Service ............................................................................................................ II-4 2.2.3 Arsitektur Web Service ...................................................................................................... II-6 2.2.4 SOAP ................................................................................................................................. II-8 2.2.5 WSDL .............................................................................................................................. II-10 2.2.6 UDDI ............................................................................................................................... II-11 2.3 Web Service di PHP ............................................................................................................ II-12 2.4 Content Management System ............................................................................................. II-14 2.4.1 Anatomi CMS .................................................................................................................. II-15 2.4.2 Fitur CMS ........................................................................................................................ II-16
BAB III ANALISIS DAN PERANCANGAN ...................................................... III-1 3.1 Metodologi ..........................................................................................................................III-1 3.2 Analisis ................................................................................................................................III-2 3.2.1 Analisis Fitur Aplikasi CMS ............................................................................................III-2 3.2.2 Identifikasi dan Implementasi Web Service pada Modul CMS ........................................III-4 3.2.3 Deskripsi Perangkat Lunak ...............................................................................................III-7 3.2.4 Spesifikasi Kebutuhan Perangkat Lunak ..........................................................................III-7 3.2.5 Karakteristik Pengguna.....................................................................................................III-9 3.2.6 Pemodelan Perangkat Lunak ............................................................................................III-9 3.3 Perancangan .......................................................................................................................III-15 3.3.1 Batasan Perancangan .......................................................................................................III-15 3.3.2 Perancangan Konfigurasi Jaringan ..................................................................................III-15 3.3.3 Perancangan Rinci Struktur Kelas ...................................................................................III-16 3.3.4 Representasi Persisten Kelas Perancangan ......................................................................III-19 3.3.5 Perancangan Antarmuka ..................................................................................................III-20
BAB IV IMPLEMENTASI DAN PENGUJIAN ................................................. IV-1 4.1 Implementasi ...................................................................................................................... IV-1 4.1.1 Lingkungan Implementasi ............................................................................................... IV-1 4.1.2 Batasan Implementasi ...................................................................................................... IV-2 4.1.3 Tahapan Implementasi ..................................................................................................... IV-2 4.1.4 Status Implementasi ......................................................................................................... IV-3 4.2 Pengujian ............................................................................................................................ IV-4 4.2.1 Lingkungan Pengujian ..................................................................................................... IV-4 4.2.2 Rencana Pengujian ........................................................................................................... IV-4 4.2.3 Hasil Pengujian ................................................................................................................. IV-6
vi
BAB V PENUTUP....................................................................................................V-1 5.1 5.2
Kesimpulan ........................................................................................................................... V-1 Saran ..................................................................................................................................... V-1
DAFTAR REFERENSI .............................................................................................. xi DAFTAR PUSTAKA ............................................................................................... xiii
vii
DAFTAR GAMBAR Gambar II-1 Contoh XML Schema [SOR02] ....................................................................................... II-2 Gambar II-2 Komponen, Operasi, dan Artifak Web Service [KRE01] ................................................. II-5 Gambar II-3 Konsep Arsitektur Web Service [KRE01]........................................................................ II-7 Gambar II-4 Contoh Pesan SOAP Request .......................................................................................... II-9 Gambar II-5 Contoh Pesan SOAP Response ........................................................................................ II-9 Gambar II-6 Sintaks Penciptaan Instance untuk SOAP Server........................................................... II-13 Gambar II-7 Sintaks Registrasi Fungsi ke dalam SOAP Server ......................................................... II-13 Gambar II-8 Sintaks untuk Mengatur Listener ................................................................................... II-13 Gambar II-9 Sintaks untuk Membangun SOAP Client ...................................................................... II-14 Gambar II-10 Anatomi CMS [ROB03] .............................................................................................. II-15 Gambar III-1 Hubungan antara Pengguna dan Aplikasi ......................................................................III-7 Gambar III-2 Diagram Use Case .......................................................................................................III-10 Gambar III-3 Diagram sequence untuk use case manage content, sub skenario Add Content ..........III-13 Gambar III-4 Diagram Kelas Analisis ...............................................................................................III-14 Gambar III-5 Konfigurasi Jaringan XCMS .......................................................................................III-16 Gambar III-6 Diagram Kelas Perancangan........................................................................................III-17 Gambar III-7 Rancangan Persistensi Kelas Perancangan ..................................................................III-19 Gambar III-8 Rancangan Halaman Utama Pengunjung Situs ...........................................................III-20
viii
DAFTAR TABEL Tabel III-1 Fase dan Deliverables UP dalam Tugas Akhir..................................................................III-1 Tabel III-2 Fitur Joomla ......................................................................................................................III-2 Tabel III-3 Fitur Drupal .......................................................................................................................III-3 Tabel III-4 Identifikasi Web Service ....................................................................................................III-5 Tabel III-5 Deskripsi Use Case .........................................................................................................III-11 Tabel III-6 Deskripsi Aktor ...............................................................................................................III-12 Tabel III-7 Skenario Normal Use Case Manage Content, Sub Skenario Add Content .....................III-13 Tabel III-8 Hasil Identifikasi Awal Kelas-Kelas yang Terdapat dalam Aplikasi ..............................III-14 Tabel III-9 Deskripsi Kelas Hasil Perancangan .................................................................................III-18 Tabel IV-1 Implementasi Kelas ke Dalam File PHP .......................................................................... IV-3 Tabel IV-2 Implementasi Antarmuka pada File PHP ......................................................................... IV-3 Tabel IV-3 Rencana Pengujian Fungsionalitas Aplikasi .................................................................... IV-5 Tabel IV-4 Resume Hasil Pengujian Fungsionalitas Aplikasi ............................................................ IV-7
ix
DAFTAR ISTILAH Istilah
Keterangan
Content
Unit informasi digital yang terdapat pada halaman web.
CMS
Content Management System, alat bantu yang digunakan untuk mengelola website.
Service provider
Pihak yang menyediakan layanan
Service registry
Pihak yang menjadi tempat untuk mempublikasikan dan mencari layanan
Service requestor
Pihak yang membutuhkan layanan
SOAP
Simple Object Access Protocol, merupakan protokol berbasis XML yang digunakan untuk mempertukarkan pesan dalam web service
SOAP extension
Library PHP yang menyediakan fasilitas untuk membangun aplikasi berbasis SOAP.
UDDI
Universal Description Discovery and Integration, merupakan komponen yang digunakan untuk mempublikasikan dan mencari web service.
Web service
Komponen aplikasi yang tersedia dan dapat diakses melalui internet dan menggunakan XML sebagai standar pengiriman pesan
Well-formed
Salah satu kriteria yang dipakai agar suatu dokumen dapat disebut sebagai dokumen XML
WSDL
Web Service Definition Language, merupakan dokumen XML yang digunakan untuk mendeskripsikan web service
XML
Extensible Markup Language, merupakan bahasa markup standar yang dapat diperluas, dioperasikan dan diproses di web.
x