BAB IV IMPLEMENTASI DAN PENGUJIAN Pada bab ini akan dijelaskan implementasi dan pengujian perangkat lunak berdasarkan hasil analisis dan perancangan pada bab III.
4.1
Implementasi
Bagian ini berisi penjelasan tentang lingkungan implementasi, batasan implementasi, tahapan implementasi, serta status implementasi perangkat lunak.
4.1.1 Lingkungan Implementasi Lingkungan implementasi meliputi lingkungan perangkat keras dan perangkat lunak. Lingkungan perangkat keras yang digunakan dalam implementasi aplikasi XCMS adalah: 1.
Processor Intel Pentium 4 1,6 GHz.
2.
RAM 512 MB
3.
Harddisk 80 GB
4.
Monitor 15”
Lingkungan perangkat keras yang digunakan tersebut bukan merupakan spesifikasi minimum yang diperlukan untuk dapat menjalankan aplikasi XCMS. Aplikasi XCMS masih dapat berjalan dalam lingkungan yang memiliki spesifikasi perangkat keras lebih rendah.
Spesifikasi lingkungan perangkat lunak yang digunakan dalam implementasi adalah sebagai berikut: 1.
Sistem Operasi Microsoft Windows XP Profesional Service Pack 2.
2.
Xampp versi 1.61 yang terdiri dari: a. Apache 2.0 sebagai web server versi 2.2.4 b. PHP 5.2.1 dengan library SOAP extension sebagai bahasa pemrograman pengembangan aplikasi. c. MySQL versi 5.0.37 sebagai database server. d. phpMyAdmin versi 2.10.0.2 sebagai alat bantu administrasi database. e. FileZilla versi 0.9.23 beta sebagai FTP Server.
3.
Microsoft Internet Explorer 6.0 sebagai web browser
IV-1
IV-2
4.1.2 Batasan Implementasi Dalam pelaksanaan Tugas Akhir ini, implementasi perangkat lunak memiliki beberapa batasan sebagai berikut: 1. Aplikasi hanya dapat berjalan dalam lingkungan PHP versi 5 ke atas yang menyediakan library SOAP extension, dan DBMS MySQL versi 5 ke atas. 2. Aplikasi tidak melakukan validasi terhadap input yang dimasukkan pengguna pada form masukan. 3. Web browser yang digunakan harus mengaktifkan fitur untuk menjalankan javascript. 4. Pengubahan konfigurasi koneksi pada basis data, pengubahan dokumen WSDL, dan pengubahan konfigurasi lokasi untuk upload dan download file tidak ditangani aplikasi, tetapi dilakukan secara manual dengan cara mengubah isi file yang bersangkutan.
4.1.3 Tahapan Implementasi Aktivitas implementasi perangkat lunak dilakukan dalam beberapa tahap sebagai berikut: 1. Implementasi aplikasi CMS. Implementasi aplikasi CMS dilakukan dengan mengimplementasikan fitur-fitur CMS yang telah dispesifikasikan pada tahap analisis dan perancangan, meliputi pengelolaan content, kategori, dan user. Selain itu juga diimplementasikan antarmuka aplikasi yang terdiri dari 2 jenis, yaitu antarmuka yang dapat diakses oleh semua pengguna dan antarmuka yang hanya dapat diakses oleh administator atau webmaster. Antarmuka yang hanya dapat diakses oleh administrator dan webmaster merupakan bagian CMS untuk melakukan pengelolaan website. Sedangkan antarmuka yang dapat diakses oleh semua orang merupakan bagian CMS untuk menampilkan content yang telah dibuat. 2. Implementasi web services pada modul CMS. Aplikasi CMS yang diimplementasikan terdiri dari beberapa modul, yaitu modul pengelolaan content, pengelolaan kategori, pengelolaan user, dan penampilan content pada halaman web. Identifikasi web service yang telah ditentukan pada tahap analisis kemudian diimplemetasikan pada modul-modul CMS tersebut. Service Get Content, dan Add Content diimplementasikan pada modul pengelolaan content. Service Get Category, Get Sub Category, Add Category, Add Sub Category, Edit Category, Edit Sub Category, Delete Category, Delete Sub Category diimplementasikan pada modul pengelolaan kategori. Service Validate User, Add User, Edit User, dan Delete User diimplementasikan pada modul pengelolaan user. Selain itu juga dibuat dokumen WSDL untuk mendeskripsikan layanan yang dimiliki. Dokumen WSDL tersebut dibuat dengan
IV-3 menggunakan alat bantu untuk membangkitkan dokumen WSDL. Alat bantu yang digunakan
berupa
kelas
pustaka
yang
didapatkan
dari
internet,
bernama
Services_Webservice. Cara kerja alat bantu tersebut yaitu dengan mem-parsing kelas yang akan dijadikan web service untuk mendapatkan nama method, parameter masukan, dan parameter keluaran method tersebut. Dokumen WSDL dibangkitkan oleh alat bantu tersebut berdasarkan properti yang didapat dari kelas masukan. Dokumen WSDL yang telah dibangkitakan tersebut diubah dengan menambahkan elemen tipe data bentukan, dan pengubahan endpoint atau lokasi service.
4.1.4 Status Implementasi Saat ini, seluruh fungsionalitas yang terdapat dalam pemodelan kebutuhan sistem di Subbab 3.2.5.1 telah berhasil diimplementasikan. Daftar implementasi kelas-kelas ke dalam bahasa pemrograman PHP dapat dilihat pada Tabel IV-1, dan daftar implementasi antarmuka pada file PHP dapat dilihat pada Tabel IV-2. Tabel IV-1 Implementasi Kelas ke Dalam File PHP No Nama Kelas Folder : <xcms>/src/ 1. UI_class 2. Content 3. Category 4. User 5. DBConn 6. WSHandler 7. WSConsumer 8. WSResultProcessor 9. HTML_Template_IT
Implementasi File PHP UI_class.php Content.php Category.php User.php DBConn.php WSHandler.php WSConsumer.php WSResultProcessor.php it.php PEAR.php
Tabel IV-2 Implementasi Antarmuka pada File PHP No Keterangan Antarmuka Folder : <xcms>/admin/ 1. Antarmuka login administasi web 2. Antarmuka list kategori dan sub kategori 3. Antarmuka penambahan dan pengubahan kategori 4. Antarmuka penambahan dan pengubahan sub kategori 5. Antarmuka list content 6. Antarmuka penambahan dan pengubahan content 7. Antarmuka list user 8. Antarmuka penambahan dan pengubahan user 9. Antarmuka hasil pencarian 10. Antarmuka consume web service, menampilkan hasilnya, dan menyimpan hasil ke basis data 11.
Antarmuka untuk menampilkan pesan error jika pengguna tidak memiliki hak akses terhadap halaman web Folder : <xcms>/src/ 12. Antarmuka utama halaman web untuk pengunjung situs
Implementasi File PHP index.php catMan.php addCat.php addSubCat.php contMan.php addContent.php userMan.php addUser.php Search.php consWS.php viewFull.php procWSResult.php restricted.php
index.php
IV-4 13. 14. 15. 16. 17.
Antarmuka untuk menampilkan list content berdasarkan kategori atau sub kategori Antarmuka untuk menampilkan content secara utuh Antarmuka untuk menampilkan hasil pencarian Antarmuka untuk menampilkan informasi web service yang dimiliki aplikasi Antarmuka registrasi client web service
viewContByCat.php viewContent.php csearch.php aboutWS.php reg.php
Hasil implementasi antarmuka perangkat lunak dapat dilihat pada Acuan Teknis subbab 5.2, sedangkan dokumen WSDL yang dibuat untuk mendeskripsikan layanan yang dimiliki aplikasi XCMS dapat dilihat pada Acuan Teknis subbab 5.1.
4.2
Pengujian
Subbab ini berisi penjelasan tentang pengujian yang dilakukan terhadap aplikasi yang dibangun. Pengujian dilakukan untuk menguji bahwa aplikasi sudah mengimplementasikan seluruh kebutuhan perangkat lunak. Pembahasan pada Subbab ini meliputi lingkungan pengujian, rencana pengujian, dan hasil pengujian.
4.2.1 Lingkungan Pengujian Pengujian aplikasi dilakukan pada dua komputer yang terhubung melalui LAN (Local Area Network) dengan spesifikasi masing-masing sebagai berikut: 1.
Processor AMD Sempron 2800 dan AMD Sempron 2600
2.
RAM masing-masing 512 MB
3.
Harddisk masing-masing 80 GB
4.
Monitor 17” dan 15”
Lingkungan pengujian tersebut memiliki spesifikasi perangkat lunak masing-masing sebagai berikut: 1. Sistem Operasi Microsoft Windows Professional Edition SP2 2. XAMPP versi 1.6.1, yang terdiri dari: a. Apache web server versi 2.2.4 b. PHP 5.2.1. c. MySQL versi 5.0.37. d. FileZilla versi 0.9.23 beta. 3. Internet Explorer 6.
4.2.2 Rencana Pengujian Pengujian dilakukan terhadap aplikasi yang telah diimplementasikan untuk mengetahui fungsionalitas aplikasi. Pengujian dilakukan sebagai verifikasi bahwa aplikasi dapat
IV-5 memenuhi spesifikasi kebutuhan dan berjalan sesuai skenario yang telah didefinisikan. Pengujian dilakukan untuk setiap skenario yang terdefinisi pada skenario use case. Informasi terkait rencana pengujian dapat dilihat pada Tabel IV-3.
Pengujian dilakukan dengan pendekatan black box testing, yaitu pengujian fungsional yang tidak memperhatikan jalannya eksekusi program, melainkan untuk melihat bagaimana masukan dan hasil keluaran setiap fungsi. Hal ini disebabkan tidak terdapat banyak percabangan pada kode program sehingga tidak diperlukan pengujian untuk menguji seluruh kombinasi dari percabangan yang ada. Kasus uji secara detil terdapat pada Acuan Teknis subbab 6.2. Tabel IV-3 Rencana Pengujian Fungsionalitas Aplikasi No 1.
Manage Content
Use Case
Jenis Pengujian Black box
View Content
Pengujian Skenario normal Skenario alternatif Skenario normal Skenario alternatif Skenario normal Skenario alternatif Skenario normal
2.
Manage Category
3.
Manage User
4. 5.
Search Content
Skenario normal
Black box
6.
Register
Skenario normal
Black box
7.
Invoke Other XCMS Web Service
Black box
8.
Get Other XCMS Content
Skenario normal Skenario alternatif Skenario normal
9.
Add Other XCMS Content
Skenario normal
Black box
10.
Get Other XCMS Category
Skenario normal
Black box
11.
Manage Other XCMS Category
Skenario normal
Black box
12.
Manage Other XCMS User
Skenario normal
Black box
13.
Get Content via Web Service
Skenario normal
Black box
14.
Add Content via Web Service
Skenario normal
Black box
15.
Get Category via Web Service
Skenario normal
Black box
16.
Manage Category via Web Service
Skenario normal
Black box
17.
Manage User via Web Service
Skenario normal
Black box
Black box Black box Black box
Black box
Sesuai dengan tahapan implementasi, pengujian pertama dilakukan untuk menguji fitur-fitur CMS yang telah diimplementasikan. Sebelum melakukan pengujian, dilakukan proses konfigurasi server, instalasi aplikasi, dan pembuatan basis data. Selain itu juga dilakukan
IV-6 konfigurasi terhadap dokumen WSDL, lokasi upload atau download file, dan koneksi ke basis data. Dalam melakukan pengujian, digunakan web browser sebagai antarmuka aplikasi, dan text editor untuk mengubah dokumen WSDL.
Pengujian terhadap use case Get Content via Web Service, Add Content via Web Service, Get Category via Web Service, Manage Category via Web Service, dan Manage User via Web Service memerlukan aktor client application, yaitu aplikasi lain yang akan menggunakan layanan dari web service yang dimiliki aplikasi XCMS. Dalam pengujian, aktor client application yang digunakan adalah aplikasi XCMS, yang diinstal pada komputer yang berbeda dan bertindak sebagai client web service. Hal ini dilakukan karena aplikasi XCMS yang dibangun memiliki fitur untuk menggunakan web service yang disediakan aplikasi XCMS yang lain. Dalam hal ini, aplikasi XCMS yang diuji berperan sebagai server web service atau service provider.
Pengujian terhadap use case Invoke Other XCMS Web Service, Get Other XCMS Content, Add Other XCMS Content, Get Other XCMS Category, Manage Other XCMS Category, dan Manage Other XCMS User memerlukan aktor Other XCMS, yaitu aktor yang berupa aplikasi XCMS lain sebagai penyedia layanan yang diinstal pada komputer yang berbeda. Pengujian use case tersebut serupa dengan pengujian use case Get Content via Web Service, Add Content via Web Service, Get Category via Web Service, Manage Category via Web Service, dan Manage User via Web Service. Perbedaannya terletak pada status aplikasi XCMS yang diuji, yaitu berperan sebagai client web service atau service requestor.
4.2.3 Hasil Pengujian Hasil pengujian dibuat berdasarkan hasil eksekusi fungsi-fungsi yang terdapat pada aplikasi. Secara umum, hasil pengujian terhadap fungsionalitas aplikasi menunjukkan bahwa fungsifungsi tersebut dapat berjalan sesuai dengan spesifikasi yang telah ditetapkan. Tabel IV-4 berisi penjelasan singkat mengenai hasil pengujian yang dilakukan terhadap fungsionalitas aplikasi. Hasil pengujian aplikasi yang lebih lengkap dapat dilihat pada Acuan Teknis subbab 6.2.
Selain itu juga dilakukan pengujian terhadap kebutuhan non fungsional aplikasi sebagaimana terdefinisi pada spesifikasi kebutuhan perangkat lunak. Berdasarkan hasil pengujian kebutuhan non fungsional, aplikasi telah memenuhi spesifikasi yang ditetapkan. Hasil pengujian kebutuhan non fungsional secara lengkap dapat dilihat pada Acuan Teknis subbab 6.2.
IV-7 Tabel IV-4 Resume Hasil Pengujian Fungsionalitas Aplikasi No 1.
Pengujian Pengujian skenario normal dan alternatif use case Manage Content
Status Uji Sukses
2.
Pengujian skenario normal dan alternatif use case Manage Category
Sukses
3.
Pengujian skenario normal dan alternatif use case Manage User
Sukses
4.
Pengujian skenario normal use case View Content
Sukses
5.
Pengujian skenario normal use case Search Content
Sukses
6. 7.
Sukses Sukses
8.
Pengujian skenario normal use case Register Pengujian skenario normal dan alternatif use case Invoke Other XCMS Web Service Pengujian skenario normal use case Get Other XCMS Content
9.
Pengujian skenario normal use case Add Other XCMS Content
Sukses
10.
Pengujian skenario normal use case Get Other XCMS Category
Sukses
11.
Pengujian skenario normal use case Manage Other XCMS Category
Sukses
12.
Pengujian skenario normal use case Manage Other XCMS User
Sukses
13.
Pengujian skenario normal use case Get Content via Web Service
Sukses
14.
Pengujian skenario normal use case Add Content via Web Service
Sukses
15.
Pengujian skenario normal use case Get Category via Web Service
Sukses
16.
Pengujian skenario normal use case Manage Category via Web Service
Sukses
17.
Pengujian skenario normal use case Manage User via Web Service
Sukses
Sukses