BAB IV
IMPLEMENTASI DAN PENGUJIAN
Pada bab ini akan dijabarkan implementasi dan pengujian perangkat lunak berdasarkan hasil analisis dan perancangan di 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 aplikasi Easy SMS, SMS dan MMS
gateway/daemon, serta native client untuk query ke NoteBOX adalah sebagai berikut:
1. Prosesor Genuine Intel(R) CPU T2300 @ 1.66GHz (2CPU) 2. RAM 512 MB
3. Harddisk 80 GB
4. Kartu grafis ATI Mobility Radeon X1600 5. Modem GPRS (ponsel Sony Ericsson K750i)
6. Modem GSM dengan dukungan AT Command untuk SMS
Lingkungan perangkat keras yang digunakan tersebut bukan merupakan spesifikasi minimum yang diperlukan. Aplikasi dapat berjalan pada lingkungan perangkat lunak yang lebih kecil dengan syarat menggunakan modem GPRS dan modem GSM yang mendukung AT Command untuk SMS.
Spesfikasi lingkungan perangkat lunak yang digunakan dalam implementasi Easy SMS, SMS dan MMS gateway/daemon, serta native client untuk query ke NoteBOX adalah sebagai berikut:
1. Sistem operasi Microsoft Windows XP Home Edition. 2. Apache 2.2.2 sebagai web server.
3. PHP 5.1.4 sebagai bahasa pengembangan untuk subsistem user interface berbasis web.
4. MySQL 5.0.21 sebagai sistem basis data. 5. Web browser Mozilla Firefox versi 2.0.0.3.
6. J2SDK, Standard Edition 1.5.0 untuk subsistem SMS daemon dan MMS daemon. 7. mobileUtil.jar, dikembangkan oleh Jonee Ryan Ty, Simon Vogl, sebagai pustaka
dalam pengembangan MMS daemon, terutama dalam enkapsulasi MMS ke dalam MMS PDU.
8. comm.jar, Java Communication API dari Sun yang digunakan untuk komunikasi dengan GSM Modem menggunakan serial port.
9. jWAP 1.2, implementasi WAP berbasis java, dari jwap.sourceforge.net, digunakan untuk koneksi internet via GPRS dengan protokol WSP (Wireless Session Protocol) dan WTP (Wireless Transaction Protocol).
10. mysql-connector-java versi 3.0.9 stable, untuk koneksi ke basis data. 11. Netbeans 5.0 dan Eclipse 3.1 sebagai IDE untuk editor aplikasi.
12. Sony Ericsson PC Suite versi 1.30.55 untuk melakukan koneksi ke ponsel Sony Ericsson K750i.
4.1.2 Batasan Implementasi
Implementasi perangkat lunak pada tugas akhir ini memiliki batasan sebagai berikut: 1. Aplikasi hanya dapat berjalan pada PHP versi 5 ke atas.
2. Pada aplikasi Easy SMS , user interface yang menangani pengelolaan MMS Sender hanya berupa pembuatan MMS yang terdiri dari maksimal 4 slide. Oleh karena itu, content-type untuk MMS Sender adalah application/vnd.wap.multipart.related yang mampu mengirimkan lebih dari 1 slide. Pembatasan ini dilakukan karena ukuran MMS terbatas, tegantung dari provider MMS dan juga ponsel/modem pengirim dan penerima. Selain itu, pembatasan jumlah slide dilakukan untuk mempermudah pengembangan aplikasi. Dengan membatasi banyaknya slide berjumlah 4, pengembangan antarmuka administrasi berbasis web akan lebih sederhana karena semua slide dapat ditampilkan dilayar. Namun, antarmuka tersebut tidak menampilkan simulasi tampilan MMS ketika diterima di perangkat penerima.
3. Integrasi aplikasi ke dalam sistem NoteBOX hanya pustaka yang digunakan oleh SMS daemon dan MMS daemon. Pustaka ini nantinya akan membentuk SMS
gateway dan MMS gateway. MMS gateway bersifat satu arah, yaitu hanya untuk
mengirim, sedangkan SMS gateway bersifat dua arah, mengirim dan menerima. Karena NoteBOX masih dalam fase prototipe dan menggunakan plain text untuk setiap pesan yang dikirim, content-type MMS adalah application/vnd.
4.1.3 File Implementasi
Subbab ini menjelaskan kode sumber implementasi baik kode PHP maupun kode java.
4.1.3.1 Kode PHP
Struktur implementasi kode PHP penyusun Easy SMS diperlihatkan pada Gambar IV-1. Daftar implementasi kelas-kelas ke dalam bahasa pemrograman PHP dapat dilihat pada Tabel IV-1.
Direktori assets berisi file gambar untuk desain halaman web dan style css. Direktori config berisi konfigurasi basis data dan path untuk menyimpan file MMS. Direktori images berisi gambar-gambar pada galeri, sedangkan direktori img berisi gambar untuk navigasi paging, dan direktori js berisi kode javascript. Direktori tmp berisi file gambar yang terlalu besar untuk diperkecil dimensinya. Setelah itu, file tersebut akan dipindahkan ke direktori images.
Gambar IV-1 Struktur Kode PHP Penyusun Easy SMS
Tabel IV-1 Implementasi Kelas ke dalam File PHP No Nama Kelas
Implementasi File PHP Direktori src Direktori
Include
Direktori
libraries Direktori lain
1. Page page.class.php
2. Mysql mysql.class.php
3. Util util.class.php
4. Login login.php login.php
5. SMSComposer compose.php compose.php edcompose.php fwdcompose.php reply.php
6. MMSComposer composemms.php composemms.php
7. GalleryManager gallery.php addimage.php
gallery.php addimage.php
No Nama Kelas
Implementasi File PHP Direktori src Direktori
Include
Direktori
libraries Direktori lain
8. ResponseManager response.php listresponse.php edresponse.php delresponse.php addresponse.php detresponse.php
9. GroupManager groups.php groups.php addmember.php addgroup.php detgroup.php delgroup.php edgroup.php
10. SMSInboxManager inbox.php inbox.php indetail.php indel.php
11. ContactManager contacts.php contacts.php addcontact.php editcontact.php delcontact.php
12. SMSOutboxManager outbox.php outbox.php
outdetail.php outdel.php 13 MMSOutboxManager listmms.php schmms.php listmms.php schmms.php 14. Scheduler js/datetimepicker.js
Hasil implementasi antarmuka dapat dilihat pada lampiran F.
Adapun kode PHP penyusun native client untuk NoteBOX diperlihatkan pada Gambar IV-2. Pada gambar tersebut, file halaman utama adalah index.php, dan login.php yang merupakan halaman login. Direktori config menyimpan file konfigurasi yang berisi parameter lokasi email gateway dan search engine pada NoteBOX. Selain itu, file ini juga berisi konfigurasi basis data meliputi host, username, password, dan nama basis data.
Direktori img berisi file gambar yang diperlukan untuk menyusun antarmuka. Direktori js berisi kode javascript. Direktori src berisi file-file utama yang berfungsi sebagai pemroses (controller). Direktori classes berisi file class, sedangkan direktori style berisi kode CSS.
Gambar IV-2 Struktur Kode PHP Penyusun Native Client
4.1.3.1 Kode Java
Implementasi kode Java penyusun SMS daemon terdiri dari package berikut: 1. smsgateway, merupakan package utama dari SMS daemon, terdiri dari:
a. Daemon.java, merupakan kelas utama untuk menjalankan SMS daemon.
2. com.lib.sms, merupakan package yang bertugas menangani masalah yang berkaitan dengan SMS dan komunikasi dengan modem. Package ini terdiri dari:
a. SmsTerminal.java, berfungsi untuk melakukan koneksi dan komunikasi dengan modem GSM, terutama berkaitan dengan AT Command.
b. SmsPduCodec.java, berfungsi untuk melakukan encoding dan decoding SMS. c. OutgoingMessage.java, berfungsi untuk mengubah plain-text menjadi pesan
SMS yang siap dikirim menggunaka modem.
d. IncomingMessage.java, berfungsi untuk mengubah pesan SMS menjadi
plain-text sehingga dapat dibaca oleh pengguna.
e. InboxTemp.java, berfungsi untuk menampung sementara pesan SMS yang ukurannya lebih dari 140 byte ke dalam basis data.
f. InboxCleaner.java, berfungsi untuk membersihkan pesan SMS (concatenated
SMS) dari basis data karena telah kadaluarsa atau telah utuh (potongan pesan
sudah lengkap).
3. com.lib.sql, merupakan package yang bertugas menangani masalah yang berkaitan dengan basis data. Package ini terdiri dari:
a. SqlConnection.java, berfungsi untuk melakukan koneksi dengan basis data MySQL.
4. com.lib.util, merupakan package utilitas pembacaan file properti dan XML untuk keperluan konfigurasi. Dalam package ini terdapat 2 file berikut:
a. Property.java, digunakan untuk membaca file properti.
b. SaxLister.java, digunakan untuk membaca file XML yang berisi perintah AT
Pada SMS daemon, konfigurasi awal dilakukan dengan membaca file theProperties.prop dan atcmdset.xml. File theProperties.prop digunakan untuk inisiasi modem dan basis data, sedangkan atcmdset.xml merupakan perintah AT Command awal yang harus diberikan kepada modem. Dengan melakukan konfigurasi pada 2 file tersebut, SMS daemon dimungkinkan untuk menggunakan berbagai modem yang mendukung AT Command standar yang mendukung SMS.
Implementasi kode Java penyusun MMS daemon hanya 1 package terdiri dari file-file berikut:
1. Mms.java
2. MmsCreator.java 3. SQLConnection.java 4. Sender.java
Pada aplikasi MMS daemon terdapat file properti yaitu mmsproperties.properties yang dibaca untuk melakukan konfigurasi awal, meliputi path untuk menyimpan file MMS, URI MMSC, WAP gateway, dan konfigurasi basis data.
4.1.3.1 Integrasi SMS dan MMS Gateway ke NoteBOX
Integrasi SMS daemon ke dalam sistem NoteBOX dilakukan dengan mengintegrasikan beberapa file ke dalam package com.lib.sms dan com.lib.sql. Namun, tidak semua file dimasukkan ke dalam package tersebut. Dalam package com.lib.sms terdapat file berikut:
1. InboxCleaner.java, 2. InboxTemp.java, 3. IncomingMessage.java, 4. OutgoingMessage.java, 5. SAXLister.java, 6. SMSTerminal.java, dan 7. SmsPduCodec.java.
Sedangkan dalam package com.lib.sql terdapat 1 file yaitu SQLConnection.java. Adapun file utama terdapat pada package org.notebox.sms, yaitu SMSGateway.java. di samping itu, pada package ini terdapat file SMSTransceiver.java untuk menangani pengiriman dan penerimaan SMS.
Adapun integrasi MMS daemon menjadi MMS gateway pada sistem NoteBOX tidak memiliki perbedaan yang mencolok pada SMS gateway. Integrasi pustaka terletak pada
utama adalah org.notebox.mms berisi file MmsGateway.java (file utama) dan
MmsTransceiver.java.
4.1.3 File Konfigurasi
Sebelum menjalankan aplikasi Easy SMS dan sistem NoteBOX, diperlukan pengaturan konfigurasi aplikasi, terutama pada SMS dan MMS gateway. Terdapat beberapa file konfigurasi yang harus diperhatikan pada aplikasi Easy SMS, yaitu sebagai berikut:
1. config.php, yang terdapat pada direktori /config. File ini berisi host basis data,
username dan password pada basis data MySQL dan direktori penyimpanan file
MMS.
2. theProperties.prop, yang berisi konfigurasi modem serta host, username, dan
password basis data MySQL.
3. atcmd.xml, merupakan file XML yang berisi perintah AT Command awal yang akan dipanggil sebagai inisiasi modem. Dengan mengubah AT Command yang terdapat pada file ini, aplikasi ini dapat digunakan pada berbagai jenis modem standar untuk SMS.
4. mmsproperties.properties, yang berisi konfigurasi pada subsistem MMS. File ini berisi konfigurasi MMSC, WAP Gateway, host, username, dan password basis data MySQL, path direktori untuk menyimpan file MMS, dan nomor SIM Card yang digunakan pada modem GPRS. Path direktori penyimpanan file MMS harus sama dengan yang terdapat pada file config.php.
Adapun file konfigurasi yang terdapat pada subsistem SMS dan MMS gateway pada sistem NoteBOX adalah sebagai berikut:
1. notebox.properties, yang berisi IP dari SMS dan MMS gateway, port yang digunakan, serta beberapa hal yang terdapat pada file theProperties.prop (pada SMS
gateway) untuk mengkonfigurasi modem. Sedangkan pada MMS gateway, terdapat
beberapa hal yang berbeda dengan konfigurasi pada SMS gateway, yaitu terdapat konfigurasi MMSC, WAP gateway, dan nomor SIM Card pada modem GPRS.
2. atcmd.xml, yang terdapat pada SMS gateway dan memiliki fungsi yang sama dengan yang terdapat pada Easy SMS.
4.2 Pengujian
Subbab ini berisi penjelasan tentang pengujian yang dilakukan terhadap aplikasi yang dibangun. Pengujian dilakukan untuk memastikan bahwa aplikasi Easy SMS telah bekerja dengan baik, begitu juga dengan integrasi SMS dan MMS gateway dalam sistem NoteBOX. Pembahasan pada subbab ini meliputi lingkungan pengujian, rencana pengujian, dan hasil pengujian.
4.2.1 Lingkungan
Pengujian
Pengujian aplikasi dilakukan dengan menggunakan lingkungan sebagai berikut: 1. Processor Intel XEON 2.80 GHz (2 CPU).
2. RAM 1280 MB 3. Harddisk 40 GB
4. Monitor HP 7500
5. Windows XP Server Edition 2003
4.2.2 Rencana
Pengujian
Pengujian dilakukan terhadap 3 hal, yaitu pengujian fungsionalitas Easy SMS dan integrasi SMS dan MMS gateway pada NoteBOX, serta fungsionalitas native client. Pengujian fungsionalitas dilakukan terhadap setiap use case yang terdapat pada perancangan perangkat lunak seperti telah dijelaskan pada subbab 3.1.6.1. Tidak semua skenario pada tiap use case akan diuji, tetapi hanya beberapa kasus tertentu yang membutuhkan perhatian khusus.
Pengujian kedua dilakukan untuk melihat apakah integrasi SMS dan MMS gateway ke sistem NoteBOX berhasil. Untuk melakukan pengujian integrasi, terlebih dahulu NoteBOX dijalankan. Untuk menjalankan NoteBOX, ada beberapa langkah yang harus dilakukan, yaitu sebagai berikut:
1. Core Server dijalankan.
2. Email gateway dijalankan, dikenali oleh Core Server sebagai emailgateway@notebox.if.itb.ac.id. Email gateway diatur agar tersambung dengan mail server dengan domain notebox.if.itb.ac.id.
3. SMS gateway dijalankan, selanjutnya akan dikenali oleh Core Server sebagai
smsgateway@notebox.if.itb.ac.id.
4. MMS Gateway dijalankan, selanjutnya akan dikenali oleh Core Server sebagai
Ada beberapa kasus uji untuk menguji integrasi SMS dan MMS gateway yang masing-masing memiliki format pesan tertentu. Kasus-kasus uji tersebut adalah sebagai berikut:
1. Mengirim pesan SMS yang ditujukan ke alamat email. Tujuan: <no sms gateway>.
Format pesan: <alamat email tujuan> <pesan>.
2. Mengirim pesan dari SMS kemudian diubah menjadi MMS untuk dikirimkan ke pengguna.
Tujuan: <no sms gateway>.
Format pesan: mmsgateway@notebox.if.itb.ac.id <no ponsel tujuan> <pesan>. 3. Mengirim pesan email ke ponsel sebagai SMS.
Tujuan: emailgateway@notebox.if.itb.ac.id. Format pesan: <+62xxxxxxx@null> <pesan>.
4. Mengirim pesan email ke ponsel sebagai MMS. Tujuan: emailgateway@notebox.if.itb.ac.id.
Format pesan: mmsgateway@notebox.if.itb.ac.id <no ponsel tujuan> <pesan>. 5. Mengirim query ke NoteBOX tanpa redirect dari SMS.
Tujuan: <no sms gateway>.
Format pesan: searchServer@notebox.if.itb.ac.id null <query>
6. Mengirim query ke NoteBOX dengan redirect dari SMS. Tujuan: <no sms gateway>.
Format pesan: searchServer@notebox.if.itb.ac.id <redirect_address> <query>
7. Mengirim query ke NoteBOX tanpa redirect dari email. Tujuan: emailgateway@notebox.if.itb.ac.id
Subject: <query>
Format pesan: searchServer@notebox.if.itb.ac.id
8. Mengirim query ke NoteBOX dengan redirect dari email. Tujuan: emailgateway@notebox.if.itb.ac.id
Subject: <query>
Format pesan: searchServer@notebox.if.itb.ac.id <redirect_address>
Adapun kasus uji native client dilakukan sesuai dengan use case seperti yang telah dijelaskan pada subbab 3.1.6.1.
4.2.3 Hasil
Pengujian
Hasil pengujian fungsionalitas Easy SMS ditunjukkan pada Tabel IV-2. Pada tabel tersebut, masing-masing use case diuji pada skenario normal, kecuali pada beberapa kasus, pengujian dilakukan juga terhadap skenario alternatif.
Tabel IV-2 Hasil Pengujian
No Use Case Status
1 Login
skenario normal skenario alternatif 1
sukses sukses 2 View Incoming SMS Messages sukses 3 View Incoming SMS Message Detail sukses 4 View Outgoing SMS Messages sukses 5 View Outgoing SMS Message Detail sukses 6 Compose SMS Message skenario normal skenario alternatif 1 sukses sukses 7 Reply SMS sukses 8 Forward SMS sukses
9 Edit Outgoing SMS sukses
10 Delete SMS Message sukses
11 Schedule Message sukses
12 Add Contact sukses
13 View Contacts sukses
14 Edit Contact sukses
15 Delete Contact sukses
16 Create Group
skenario normal skenario alternatif 1
sukses sukses
17 View Groups sukses
18 View Group’s Members sukses 19 Delete Group’s Member sukses 20 Add Groups’s Member sukses
21 Edit Group Name sukses
22 Delete Group sukses
23 Choose Group sukses
24 Choose Contact sukses
25 Compose MMS
skenario normal skenario alternatif 1
sukses sukses
26 View MMS Outbox sukses
27 Choose Image sukses
28 View MMS Images Gallery sukses 29 Add Image to Images Gallery sukses 30 Delete Image in Images Gallery sukses 31 View Auto Response sukses
32 Add Response sukses
33 Delete Response sukses
34 Send SMS sukses
Kriteria sukses dalam skenario ini dibatasi hanya jika pesan dapat dikirimkan ke SMSC tanpa mengalami kesalahan encoding.
35 Send MMS Message sukses
Kriteria sukses dalam skenario ini adalah pesan terkirim ke MMS Server dan daemon/gateway menerima respon dari MMS Server dengan content
type: application/vnd.wap.mms-message
Hasil pengujian integrasi SMS dan MMS gateway ke dalam NoteBOX diperlihatkan pada
Tabel
IV-3
. Adapun hasil pengujian terhadap native client diperlihatkan padaTabel
IV-4
.Tabel IV-3 Hasil Pengujian Integrasi SMS dan MMS gateway
No Kasus Uji Status
1. Mengirimkan SMS ke alamat email sukses 2. Mengirimkan SMS ke nomor ponsel sebagai MMS sukses 3. Mengirimkan email ke nomor ponsel sebagai SMS sukses 4. Mengirimkan email ke nomor ponsel sebagai MMS sukses 5. Mengirim query ke NoteBOX tanpa redirect dari SMS. sukses 6. Mengirim query ke NoteBOX dengan redirect dari SMS. sukses 7. Mengirim query ke NoteBOX tanpa redirect dari email. sukses 8. Mengirim query ke NoteBOX dengan redirect dari email. sukses
Hasil pengujian menunjukkan bahwa aplikasi Easy SMS dan integarasi SMS dan MMS
gateway ke dalam sistem NoteBOX telah berhasil dengan baik. Begitu juga dengan Native Client untuk NoteBOX.
Tabel IV-4 Hasil Pengujian Native Client
No Kasus Uji Status
1. verify email sukses
2. send query sukses
3. get response sukses