BAB III ANALISIS DAN PERANCANGAN Bab ini akan membahas analisis dan perancangan perangkat lunak yang akan dikembangkan pada tugas akhir ini. Dalam bagian analisis akan diidentifikasi hal-hal yang diperlukan dalam pengembangan perangkat lunak meliputi deskripsi global, karakteristik aktor, spesifikasi kebutuhan perangkat lunak, dan pemodelan perangkat lunak. Sedangkan pada bagian perancangan akan membahas representasi aplikasi yang akan diimplementasikan berdasarkan pada kegiatan analisis.
3.1
Analisis
Subab ini akan membahas deskripsi global perangkat lunak, spesifikasi kebutuhan perangkat lunak, dan batasan perangkat lunak.
3.1.1 Analisis Sistem Terkait Subbab ini akan membahas aplikasi yang menjadi dasar pengembangan perangkat lunak dalam tugas akhir ini. Aplikasi tersebut adalah SINALIP (Sistem Notifikasi dan Layanan Informasi Perkantoran Berbasis SMS) yang dikembangkan oleh Yudi Purwanto, mahasiswa Teknik Informatika ITB angkatan 1998. Pembahasan akan dikhususkan pada subsistem yang berfungsi untuk menerima dan mengirimkan SMS atau SMS daemon.
Terdapat perbedaan mencolok antara SMS daemon pada SINALIP dengan SMS daemon yang dikembangkan pada tugas akhir ini, terutama pada mekanisme pembacaan pesan SMS masuk. Pada SINALIP, pembacaan pesan masuk dilakukan dengan metode polling. Pesan masuk disimpan pada memori TA/TE. Daemon akan melakukan looping dengan selang waktu tetentu untuk membaca pesan pada memori TA/TE. Adapun pada tugas akhir ini, mekanisme pembacaan pesan dilakukan dengan berbasis event. Jika ada pesan masuk, modem akan membangkitkan event pada daemon, kemudian pesan tersebut dibaca.
Pada tugas akhir ini, mekanisme pengiriman SMS pada dasarnya sama dengan SMS daemon pada SINALIP. Daemon akan membaca pesan pada basis data kemudian diubah ke SMS PDU lalu dikirimkan ke penerima melalui modem GSM.
Selain itu, pada tugas akhir ini dikembangkan juga kemampuan untuk menerima dan mengirim concatenated short message. Mekanisme pengiriman dan penerimaan concatenated short message akan dijelaskan pada subbab 3.1.5.
III-1
III-2 3.1.2 Deskripsi Global Pada tugas akhir ini, akan dikembangkan 4 macam infrastruktur komunikasi berbasis messaging yang dapat digunakan dalam sistem NoteBOX, yaitu:
1. Easy SMS 2. Subsistem SMS gateway 3. Subsistem MMS gateway 4. Antarmuka berbasis web (native client) untuk melakukan query ke sistem
NoteBOX Easy SMS merupakan perangkat lunak yang digunakan untuk mengirimkan informasi ke penerima dalam bentuk SMS. Perangkat lunak ini nantinya dapat digunakan sebagai infrastruktur komunikasi berbasis SMS yang dapat digabungkan dalam suatu sistem yang lebih besar, misalnya layanan content SMS. Perangkat lunak ini dapat mengirimkan pesan singkat/SMS (push SMS) secara terjadwal, baik secara individu maupun secara broadcast. Selain itu, perangkat lunak ini menangani pengiriman SMS yang diminta oleh user (pull SMS). Misalnya, user mengirimkan SMS dengan menggunakan kata kunci tertentu, lalu sistem akan mengirimkan reply dengan isi yang sesuai dengan kata kunci tersebut.
Perangkat lunak Easy SMS menggunakan perangkat keras modem GSM sebagai media untuk mengirimkan dan menerima SMS. Modem GSM yang digunakan dapat berupa modem yang terintegrasi dengan ponsel atau modem GSM biasa.
Selain untuk kebutuhan mengirim dan menerima SMS, perangkat lunak yang dikembangkan juga memiliki fitur tambahan, yaitu mampu mengirim MMS (MMS Sender). Sebagaimana halnya SMS, MMS dapat dikirimkan ke banyak penerima dan terjadwal. Untuk keperluan pengiriman MMS, perangkat lunak ini memerlukan daemon yang terpisah dengan SMS dan juga modem GPRS.
Perangkat lunak ini terdiri dari 3 bagian utama yaitu SMS daemon yang berperan sebagai pengirim dan penerima SMS, MMS daemon untuk mengirim MMS dan antarmuka berbasis web. Antarmuka berbasis web digunakan oleh administrator untuk melakukan kegiatan administrasi aplikasi seperti penjadwalan, reply secara manual, dan sebagainya. Untuk melakukan kegiatan administrasi, seorang administrator harus melakukan proses login terlebih dahulu. Sebagai tambahan, pada antarmuka disediakan pengelolaan contact, group, images gallery untuk memudahkan pembuatan MMS, dan pengelolaan respon untuk autoreply SMS.
III-3 Gambaran umum Easy SMS ditunjukkan pada Gambar III-1:
Gambar III-1 Arsitektur Global Easy SMS
Selain mengembangkan Easy SMS, dalam tugas akhir ini dikembangkan juga subsistem untuk Mobile Unified Messaging NoteBOX. Subsistem ini terletak pada user layer dan merupakan gateway yang berfungsi untuk menjembatani komunikasi antara NoteBOX dengan SMS dan MMS. Dengan subsistem ini, para pengguna dapat mengirimkan SMS/MMS untuk selanjutnya diteruskan ke alamat email oleh NoteBOX, atau sebaliknya. Gambar II-15 menunjukkan posisi SMS dan MMS gateway pada sistem NoteBOX. SMS dan MMS gateway merupakan hasil integrasi dari SMS dan MMS daemon yang terdapat pada Easy SMS dengan beberapa penyesuaian.
Selanjutnya, pada tugas akhir ini juga dikembangkan native client (aplikasi yang secara khusus digunakan untuk mengakses layanan NoteBOX) berbasis web untuk melakukan query ke mesin pencari yang terdapat pada NoteBOX.
3.1.3 Karakteristik Aktor Masing-masing subsistem yang akan dibangun memiliki aktor yang berbeda. Subsistem Easy SMS memiliki satu jenis aktor yaitu administrator yang bertugas mengelola penjadwalan, grouping, manajemen contact, dan sebagainya. Subsistem SMS dan MMS daemon memiliki dua jenis aktor, yaitu antarmuka Easy SMS (berbasis web) dan user (penerima dan/atau pengirim SMS, serta penerima MMS). Adapun subsistem SMS dan MMS gateway pada NoteBOX memiliki aktor yang hampir sama dengan SMS dan MMS daemon pada Easy SMS, yaitu core server NoteBOX dan user (penerima dan/atau pengirim SMS, serta penerima MMS). Hal ini diperlihatkan pada Gambar III-4.
III-4 3.1.4 Spesifikasi Kebutuhan Spesifikasi kebutuhan Easy SMS dibagi menjadi dua bagian yaitu spesifikasi kebutuhan fungsional dan pelengkap. Spesifikasi kebutuhan fungsional Easy SMS adalah sebagai berikut: 1. Aplikasi mampu mengirimkan SMS secara terjadwal. 2. Aplikasi mampu mengirimkan SMS ke penerima tunggal dan/atau banyak penerima dalam waktu relatif bersamaan. 3. Aplikasi dapat melakukan reply secara manual maupun otomatis (diminta oleh pengguna melalui SMS dengan kata kunci tertentu). 4. Aplikasi mampu mengirimkan MMS secara terjadwal. 5. Aplikasi mampu menyimpan pesan yang akan dikirim dan pesan masuk. 6. Aplikasi menyediakan fasilitas address book dan grouping address, manajemen (menambah, mengurangi, dan mengedit) kontak dalam address book, penambahan dan penghapusan member group, penambahan dan penghapusan group, serta pengubahan nama group dan contact.
Adapun spesifikasi kebutuhan pelengkap Easy SMS adalah sebagai berikut: 1. Fungsi penanganan pengiriman dan penerimaan SMS oleh aplikasi daemon. 2. Aplikasi SMS daemon dapat berjalan di semua jenis modem GSM. 3. Pustaka Easy SMS dapat diintegrasikan pustaka ke dalam sistem NoteBOX. 4. Antarmuka dapat memperlihatkan status pesan terkirim, gagal, dan belum terkirim. 5. Administrator melakukan login sebelum melakukan adminstrasi.
Spesifikasi kebutuhan subsistem SMS gateway untuk NoteBOX: 1. Mampu menerima SMS dan meneruskannya ke sistem NoteBOX 2. Mampu menerima pesan dari NoteBOX dan meneruskan pesan tersebut ke ponsel penerima dalam bentuk SMS.
Spesifikasi kebutuhan subsistem MMS gateway untuk NoteBOX: 1. Mampu menerima pesan dari NoteBOX dan meneruskannya ke ponsel penerima dalam bentuk MMS.
Spesifikasi kebutuhan native client berbasis web untuk melakukan query ke mesin pencari pada NoteBOX: 1. Mampu melakukan query ke mesin pencari NoteBOX dan menampilkan hasil query tersebut pada browser.
III-5 2. Mampu melakukan query ke mesin pencari NoteBOX dan me-redirect hasil query ke alamat email atau ke ponsel dalam bentuk SMS.
3.1.5 Analisis Penanganan Concatenated Short Message Pada kasus pengiriman concatenated short message, pesan yang panjangnya melebihi 160 karakter akan dipecah menjadi beberapa pesan dengan panjang maksimal 153 karakter (bukan 160 karakter karena 7 karakter digunakan untuk User Data Header). Kemudian masingmasing potongan pesan tersebut diubah menjadi SMS PDU dan dikirimkan ke tujuan.
Mekanisme penerimaan concatenated short message berbeda dengan penerimaan SMS biasa (kurang dari atau sama dengan 160 karakter). Setiap pesan yang datang akan dicek apakah termasuk SMS biasa atau concatenated short message dengan melihat ada tidaknya User Data Header. Jika pesan masuk merupakan concatenated short message, pesan tersebut akan diambil nomor referensi (reference number), panjang sekuen dan nomor sekuennya kemudian pesan tersebut disimpan dalam basis data untuk sementara. Setelah mendapatkan semua potongan pesan, thread untuk menyusun pesan utuh dari potongan pesan yang telah disimpan di basis data akan dijalankan. Setelah terbentuk pesan utuh, potongan pesan penyusunnya akan dihapus kemudian pesan yang utuh akan diproses lebih lanjut (disimpan ke basis data untuk Easy SMS atau diteruskan ke core server pada NoteBOX) dan thread penyusun pesan dimatikan.
Jika potongan pesan tidak utuh, potongan pesan yang terdapat pada basis data temporal akan diproses, dan pesan tersebut dihapus dari basis data temporal. Setiap potongan pesan memiliki time to live untuk menandai apakah pesan tersebut sudah kadaluarsa atau tidak.
3.1.6 Pemodelan Perangkat Lunak Pemodelan perangkat lunak meliputi perancangan use case dan skenarionya, pemodelan interaksi elemen dengan diagram sequence, serta perancangan kelas.
3.1.6.1 Pemodelan Kebutuhan Sistem Pemodelan kebutuhan sistem Easy SMS dibuat dalam bentuk diagram use case yang dapat dilihat pada Gambar III-2, sampai dengan Gambar III-5. Pemodelan kebutuhan pada subsistem SMS dan MMS gateway menyerupai use case pada Gambar III-4 dengan salah satu aktor adalah sistem NoteBOX.
III-6
Gambar III-2 Use Case Message Management
III-7
Gambar III-3 Use Case Manajemen Contact dan Group
Gambar III-4 Use Case Subsistem SMS dan MMS Gateway
Gambar III-5 Use Case Native Client Berbasis Web
III-8
3.1.6.2 Pemodelan Skenario Kejadian Subbab ini berisi penjelasan skenario kejadian dari diagram use case yang telah dibuat. Skenario login diperlihatkan pada Tabel III-1. Skenario kejadian selengkapnya dapat dilihat pada lampiran B.
Aktor Tujuan Pre-kondisi Post-kondisi
Tabel III-1 Skenario Login Administrator melakukan autentikasi administrator sebelum masuk ke sistem [normal] Administrator dapat mengakses menu utama [alternatif 1] Sistem menampilkan pesan kesalahan
Urutan aksi normal No Pelaku Aksi 1 Administrator Mengakses sistem 2 Sistem Menampilkan halaman login 3 Adminisrator Mengisi username dan password 4 Sistem Melakukan verifikasi username dan password 5 Sistem Menampilkan halaman inbox SMS Urutan aksi alternatif (username dan password salah) 5 Sistem Menampilkan halaman login dan pesan kesalahan login
3.1.6.3 Pemodelan Interaksi Elemen Pada subbab ini akan ditampilkan diagram sequence yang menggambarkan model interaksi elemen-elemen dalam aplikasi. Diagram sequence ini akan dibuat untuk use case yang diprioritaskan, antara lain: 1. Diagram sequence untuk use case send sms, ditunjukkan pada Gambar III-6. 2. Diagram sequence untuk use case send mms, ditunjukkan pada Gambar III-7. 3. Diagram sequence untuk use case receive sms, ditunjukkan pada Gambar III-8. Diagram sequence selebihnya dapat dilihat pada Lampiran C.
Pada Gambar III-6, pengiriman SMS dilakukan oleh objek Daemon. Objek ini mengecek ketersediaan pesan pada basis data secara terus-menerus. Jika terdapat pesan yang akan dikirimkan, sekuen dari nomor 2 sampai selesai akan dijalankan.
Pada Gambar III-7, pengiriman MMS dilakukan oleh objek Daemon. Proses pengiriman memiliki kemiripan dengan diagram sequence send sms. Objek Daemon terus-menerus mengecek ketersediaan pesan. Jika pesan ada, proses nomor 2 sampai selesai akan dijalankan.
III-9 Pada Gambar III-8, objek ModemConnector terus-menerus memantau event untuk mengecek adanya SMS masuk. Jika terdapat pesan masuk, objek ini akan membaca respon yang diterima oleh modem, lalu memanggil objek IncomingMessage untuk menterjemahkan pesan yang diterima. Setelah itu objek ModemConnector akan memanggil objek DBConnector untuk menyimpan pesan ke basis data.
Gambar III-6 Diagram Sequence Send SMS
Gambar III-7 Diagram Sequence Send MMS
III-10
Gambar III-8 Diagram Sequence Receive SMS
3.1.6.4 Pemodelan Kelas Subbab ini berisi pembahasan tentang pemodelan kelas yang terdapat dalam sistem. Pemodelan kelas akan digambarkan dengan diagram kelas. Kelas-kelas yang terdapat dalam diagram kelas merupakan hasil identifikasi awal, sesuai dengan objek-objek yang terdapat dalam diagram sequence. Hasil identifikasi kelas dapat dilihat pada Tabel III-2 hingga Tabel III-5. Diagram kelas analisis untuk Easy SMS dapat dilihat pada Gambar III-9. Adapun diagram kelas analisis untuk subsistem lain dapat dilihat pada lampiran D. Tabel III-2 Hasil Identifikasi Awal Kelas-Kelas untuk Easy SMS Nama Kelas Tipe Kelas Deskripsi Boundary Kelas ini berfungsi untuk menjembatani interaksi antara pengguna dan aplikasi.
No 1.
Page
2.
Login
Control
Kelas ini bertanggung jawab dalam menangani autentikasi dan autorisasi pengguna
3.
MessageComposer
Control
MessageComposer berfungsi untuk menyusun pesan. Kelas ini merupakan parent class untuk kelas SMSComposer dan MMSComposer.
4.
GalleryManager
Control
Kelas ini berfungsi untuk mengelola galeri gambar yang dipergunakan untuk penyusunan pesan MMS. Kelas ini memiliki tanggung jawab menambah, menghapus, dan mengedit nama gambar pada galeri.
III-11 No 5.
Nama Kelas ContactManager
Tipe Kelas Control
Deskripsi Kelas ini berfungsi untuk mengelola contact, meliputi penambahan, perubahan nama, dan penghapusan contact.
6.
GroupManager
Control
Kelas ini bertanggung jawab dalam pengelolaan group, meliputi penambahan group baru, perubahan nama group, penambahan dan penghapusan anggota group.
7.
SMSInboxManager
Control
Kelas ini berfungsi untuk memberikan data SMS yang masuk dan untuk menghapus SMS tersebut.
8.
ResponseManager
Control
Kelas ini berfungsi untuk menambah dan menghapus pesan dan kata kunci yang digunakan dalam fasilitas auto reply.
9.
OutboxManager
Control
Kelas ini berfungsi untuk mengelola pesan yang berlum dan sudah terkirim, meliputi penghapusan dan pengubahan pesan. Kelas ini merupakan parent class untuk kelas SMSOutboxManager dan MMSOutboxManager.
10.
DBConnector
Control
Kelas ini berfungsi untuk berkomunikasi dengan basis data.
11.
Helper
Control
Kelas ini merupakan kelas pembantu untuk tugas-tugas seperti konversi tanggal, dan pemformatan string-string lain dari masukan user atau untuk ditampilkan ke antarmuka.
12.
SMSComposer
Control
Kelas ini merupakan kelas turunan dari kelas MessageComposer yang berfungsi khusus untuk menyusun pesan SMS.
13.
MMSComposer
Control
Kelas ini merupakan kelas turunan dari kelas MessageComposer yang berfungsi khusus untuk menyusun pesan MMS.
14.
SMSOutboxManager
Control
Kelas ini merupakan turunan dari kelas OutboxManager, bertanggung jawab dalam mengelola pesan SMS yang akan dikirim, meliputi pengeditan dan penghapusan, serta perubahan status pesan dari status pending (belum terkirim) menjadi success (terkirim).
15.
MMSOutboxManager
Control
Kelas ini merupakan turunan dari kelas OutboxManager, bertanggung jawab dalam mengelola pesan MMS yang akan dikirim, meliputi pengeditan dan penghapusan, serta perubahan status pesan dari status pending (belum terkirim) menjadi success (terkirim).
16.
Scheduler
Control
Kelas ini bertanggung jawab dalam melakukan penjadwalan pengiriman pesan, baik SMS maupun MMS.
III-12
No 1.
Tabel III-3 Hasil Identifikasi Awal Kelas-Kelas Penyusun SMS Gateway Nama Kelas Tipe Kelas Deskripsi Daemon Control Kelas ini berfungsi untuk melakukan tugas pengiriman pesan. Kelas ini akan terus menerus mengecek ketersediaan pesan untuk dikirim.
2.
ModemConnector
Control
Kelas ini bertugas untuk melakukan komunikasi dengan modem GSM, mengirimkan AT Command dan mendngarkan respon yang diberikan oleh modem. Kelas ini pula yang bertugas mendengarkan event pada modem terutama adanya pesan masuk.
3.
Utility
Control
Kelas ini berfungsi untuk membaca properti yang diperlukan oleh SMS gateway, yaitu properti modem dan perintah-perintah AT command yang diperlukan ketika inisialisasi modem.
4.
DBCleaner
Control
Kelas ini berfungsi untuk membersihkan basis data dari concatenated message yang telah kadaluarsa.
5.
DBConnector
Control
Kelas ini bertanggung jawab dalam melakukan koneksi dengan basis data.
6.
OutgoingMessage
Entity
Kelas ini merepresentasikan pesan SMS yang siap dikirim, yaitu SMS PDU. Pesan dalam format plain text diubah menjadi SMS PDU yang siap dikirim melalui modem setelah ditambah dengan header yang diperlukan.
7.
IncomingMessage
Entity
Kelas ini berfungsi untuk merepresentasikan pesan SMS masuk, dan mengubahnya dari format SMS PDU menjadi plain text serta menerjemahkan header pada pesan tersebut sehingga bisadibaca manusia.
8.
Codec
Control
Kelas ini berfungsi untuk mengubah plain text ke SMS PDU dan sebaliknya untuk bagian user data pada SMS.
9.
ConcatenatedMessage
Control
Kelas ini berfungsi untuk membantu memonitor SMS masuk yang panjangnya lebih dari 140 byte untuk kemudian disatukan.
No 1.
Tabel III-4 Hasil Identifikasi Awal Kelas-Kelas Penyusun MMS Gateway Nama Kelas Tipe Kelas Deskripsi Daemon Control Kelas ini berfungsi untuk melakukan tugas pengiriman pesan. Kelas ini akan terus menerus mengecek ketersediaan pesan untuk dikirim.
2.
Sender
Control
Kelas ini berfungsi untuk mengirimkan MMS melalui koneksi GPRS.
3.
Composer
Control
Kelas ini berfungsi untuk membentuk MMS PDU yang siap dikirim oleh kelas Sender.
III-13 No 4.
Nama Kelas MMSMessage
Tipe Kelas Entity
Deskripsi Kelas ini merepresentasikan MMS PDU yang siap untuk dikirim.
5.
DBConnector
Control
Kelas ini bertanggung jawab dalam melakukan koneksi dengan basis data.
6.
WAPConnector
Control
Kelas ini berfungsi untuk melakukan koneksi ke GPRS dengan protokol WAP.
No 1.
Tabel III-5 Hasil Identifikasi Awal Kelas-Kelas Penyusun Native Client NoteBOX Nama Kelas Tipe Kelas Deskripsi UI Boundary Kelas ini berfungsi untuk menjembatani interaksi antara pengguna dengan aplikasi.
2.
EmailValidator
Control
Kelas ini berfungsi untuk melakukan validasi alamat email.
3.
ResponseGetter
Control
Kelas ini berfungsi untuk mengambil dan membaca respon dari query yang dikirmkan ke NoteBOX.
4.
QuerySender
Control
Kelas ini berfungsi untuk mengirimkan query ke NoteBOX.
5.
DBConnector
Control
Kelas ini bertanggung jawab dalam melakukan koneksi dengan basis data.
III-14
Gambar III-9 Diagram Kelas Analisis Easy SMS
3.2
Perancangan
Subbab ini akan menjelaskan perancangan yang didapatkan dari analisis meliputi perancangan arsitektural sistem, perancangan kelas, perancangan basis data, dan perancangan antarmuka.
3.2.1 Batasan Perancangan Batasan perancangan tugas akhir adalah sebagai berikut: 1. Easy SMS melakukan pengiriman dan penerimaan SMS dengan menggunakan modem GSM. 2. Pengiriman MMS dengan modem GPRS, terpisah dengan modem GSM. 3. Pengembangan antarmuka berbasis web menggunakan bahasa pemrograman PHP. 4. Pengembangan subsistem SMS dan MMS daemon/gateway menggunakan bahasa pemrograman Java.
III-15 3.2.2 Perancangan Arsitektural Sistem Perancangan arsitektural sistem Easy SMS ditunjukkan pada Gambar III-10. Antarmuka merupakan subsistem yang sebenarnya terpisah dengan aplikasi daemon. Kedua subsistem berhubungan secara tidak langsung dengan perantara basis data yang merupakan media penyimpanan pesan masuk dan keluar. Terdapat dua daemon, yaitu SMS daemon dan MMS daemon. SMS daemon mengirimkan dan menerima SMS dengan menggunakan perangkat modem GSM, sedangkan MMS daemon digunakan untuk mengirim MMS.
Gambar III-10 Arsitektur EasySMS dengan SMS dan MMS Gateway
Gambar III-11 menunjukkan rancangan arsitektur integrasi antara SMS, MMS gateway, native client dengan NoteBOX. Pada gambar tersebut, SMS dan MMS gateway memiliki peran yang sama dengan SMS dan MMS daemon seperti yang ditunjukkan pada Gambar III-10. Dengan demikian, SMS dan MMS daemon pada Gambar III-10 dapat diimplementasikan sebagai subsistem SMS dan MMS gateway seperti ditunjukkan pada Gambar III-11 dengan sedikit penyesuaian.
Gambar III-11 Arsitektur NoteBOX dengan SMS dan MMS Gateway serta Native Client
III-16 3.2.3 Perancangan Rinci Struktur Kelas Berdasarkan diagram kelas analisis yang telah diperoleh pada subbab 3.1.6.4, selanjutnya akan dilakukan perancangan detil tentang kelas-kelas yang terdapat dalam sistem. Diagram kelas perancangan yang digunakan dalam sistem dapat dilihat pada Gambar III-8. Dari use case dan skenario kejadian tersebut di atas, diperoleh perancangan kelas yang ditunjukkan pada Gambar III-12 hingga Gambar III-15.
Gambar III-12 Diagram Kelas Perancangan SMS Gateway
Gambar III-13 Diagram Kelas Perancangan MMS Gateway
III-17
Gambar III-14 Diagram Kelas Perancangan Native Client NoteBOX
Gambar III-15 Diagram Kelas Perancangan Easy SMS
III-18 Daftar kelas yang dihasilkan pada tahap perancangan dapat dilihat pada Tabel III-6 hingga Tabel III-9. No 1.
Tabel III-6 Deskripsi Hasil Perancangan Kelas Easy SMS Nama Kelas Kelas Analisis Terkait Deskripsi Page Page Kelas ini bertanggung jawab untuk menjembatani interaksi antara pengguna dengan aplikasi.
2.
Mysql
DBConnector
Kelas ini berfungsi untuk berkomunikasi dengan basis data Mysql.
3.
Util
Helper
Kelas ini merupakan kelas pembantu untuk tugas-tugas seperti konversi tanggal, dan pemformatan string-string lain dari masukan user atau untuk ditampilkan ke antarmuka.
4.
Login
Login
Kelas ini bertanggung jawab dalam menangani autentikasi dan autorisasi pengguna sebelum masuk ke home page.
5.
SMSComposer
SMSComposer
Kelas ini berfungsi khusus untuk menyusun pesan SMS.
6.
MMSComposer
MMSComposer
Kelas ini berfungsi khusus untuk menyusun pesan MMS.
7.
GalleryManager
GalleryManager
Kelas ini berfungsi untuk mengelola galeri gambar yang dipergunakan untuk penyusunan pesan MMS. Kelas ini memiliki tanggung jawab menambah, menghapus, dan mengedit nama gambar pada galeri.
8.
ResponseManager
ResponseManager
Kelas ini berfungsi untuk menambah dan menghapus pesan dan kata kunci yang digunakan dalam fasilitas auto reply.
9.
GroupManager
GroupManager
Kelas ini bertanggung jawab dalam pengelolaan group, meliputi penambahan group baru, perubahan nama group, penambahan dan penghapusan anggota group.
10.
SMSInboxManager
SMSInboxManager
Kelas ini berfungsi untuk memberikan data SMS yang masuk dan untuk menghapus SMS tersebut.
11.
ContactManager
ContactManager
Kelas ini berfungsi untuk mengelola contact, meliputi penambahan, perubahan nama, dan penghapusan contact.
III-19 No 12.
Nama Kelas SMSOutboxManager
Kelas Analisis Terkait SMSOutboxManager
Deskripsi Kelas ini bertanggung jawab dalam mengelola pesan SMS yang akan dikirim, meliputi pengeditan dan penghapusan, serta perubahan status pesan dari status pending (belum terkirim) menjadi success (terkirim).
13.
MMSOutboxManager
MMSOutboxManager
Kelas ini bertanggung jawab dalam mengelola pesan MMS yang akan dikirim, meliputi pengeditan dan penghapusan, serta perubahan status pesan dari status pending (belum terkirim) menjadi success (terkirim).
14.
Scheduler
Scheduler
Kelas ini bertanggung jawab dalam melakukan penjadwalan pengiriman pesan, baik SMS maupun MMS.
Pada Tabel III-6 tidak terdapat kelas analisis MessageComposer dan OutboxManager karena penggunaan kelas turunannya sudah mencukupi.
No 1.
Tabel III-7 Deskripsi Hasil Perancangan Kelas SMS Gateway Nama Kelas Kelas Analisis Terkait Deskripsi Daemon Daemon Kelas ini berfungsi untuk melakukan tugas pengiriman pesan. Kelas ini akan terus menerus mengecek ketersediaan pesan untuk dikirim.
2.
SmsTerminal
ModemConnector
Kelas ini bertugas untuk melakukan komunikasi dengan modem GSM, mengirimkan AT Command dan mendengarkan respon yang diberikan oleh modem. Kelas ini pula yang bertugas mendengarkan event pada modem terutama adanya pesan masuk.
3.
Property
Utility
Kelas ini berfungsi untuk membaca properti yang diperlukan oleh SMS gateway, yaitu properti modem dan perintah-perintah AT command yang diperlukan ketika inisialisasi modem. Properti ini berupa inisialisasi modem selain AT Command.
4.
SAXLister
Utility
Kelas ini berfungsi untuk membaca jenisjenis AT Command dari file konfigurasi yang berupa file XML yang dikirimkan ke modem saat pertama aplikasi dijalankan.
5.
InboxCleaner
DBCleaner
Kelas ini berfungsi untuk membersihkan basis data dari concatenated message yang telah kadaluarsa.
III-20 No 6.
Nama Kelas SQLConnection
Kelas Analisis Terkait DBConnector
Deskripsi Kelas ini bertanggung jawab dalam melakukan koneksi dengan basis data.
7.
OutgoingMessage
OutgoingMessage
Kelas ini merepresentasikan pesan SMS yang siap dikirim, yaitu SMS PDU. Pesan dalam format plain text diubah menjadi SMS PDU yang siap dikirim melalui modem setelah ditambah dengan header yang diperlukan.
8.
IncomingMessage
IncomingMessage
Kelas ini berfungsi untuk merepresentasikan pesan SMS masuk, dan mengubahnya dari format SMS PDU menjadi plain text serta menerjemahkan header pada pesan tersebut sehingga bisadibaca manusia.
9.
SmsPduCodec
Codec
Kelas ini berfungsi untuk mengubah plain text ke SMS PDU dan sebaliknya untuk bagian user data pada SMS.
10.
InboxTemp
ConcatenatedMessage
Kelas ini berfungsi untuk membantu memonitor SMS masuk yang panjangnya lebih dari 140 byte untuk kemudian disatukan.
No 1.
Tabel III-8 Deskripsi Hasil Perancangan Kelas MMS Gateway Nama Kelas Kelas Analisis Terkait Deskripsi Mms Daemon Kelas ini berfungsi untuk melakukan tugas pengiriman pesan. Kelas ini akan terus menerus mengecek ketersediaan pesan untuk dikirim.
2.
Sender
Sender
Kelas ini berfungsi untuk mengirimkan MMS melalui koneksi GPRS.
3.
MmsCreator
Composer
Kelas ini berfungsi untuk membentuk MMS PDU yang siap dikirim oleh kelas Sender.
4.
m_send_req
MMSMessage
Kelas ini merepresentasikan MMS PDU yang siap untuk dikirim. Kelas ini merupakan kelas yang diambil dari pustaka eksternal.
5.
SQLConnection
DBConnector
Kelas ini bertanggung jawab dalam melakukan koneksi dengan basis data.
6.
IWSPUpperLayer
WAPConnector
Kelas ini berfungsi untuk melakukan koneksi ke GPRS dengan protokol WAP. Kelas ini merupakan kelas yang diambil dari pustaka eksternal.
III-21 Tabel III-9 Deskripsi Hasil Perancangan Kelas Native Client NoteBOX Nama Kelas Kelas Analisis Terkait Deskripsi UI Kelas ini berfungsi untuk menjembatani interaksi antara pengguna dengan aplikasi.
No 1.
UI
2.
EmailValidator
EmailValidator
Kelas ini berfungsi untuk melakukan validasi alamat email.
3.
ResponseGetter
ResponseGetter
Kelas ini berfungsi untuk mengambil dan membaca respon dari query yang dikirmkan ke NoteBOX.
4.
QuerySender
QuerySender
Kelas ini berfungsi untuk mengirimkan query ke NoteBOX.
5.
Mysql
DBConnector
Kelas ini bertanggung jawab dalam melakukan koneksi dengan basis data.
3.2.4 Perancangan Basis Data Rancangan basis data ditunjukkan pada Gambar III-16. Dari gambar tersebut terlihat terdapat 7 tabel utama. Tabel inbox digunakan untuk menampung pesan SMS masuk. Tabel send_sms digunakan untuk menampung pesan SMS keluar. Tabel mms digunakan untuk menampung pesan MMS keluar. Tabel groups dan contacts masing-masing digunakan untuk menampung group dan contact. Tabel inboxtemp digunakan untuk menampung short message penyusun concatenated short message. Data di dalamnya akan dihapus jika concatenated short message sudah utuh atau telah melewati jangka waktu tertentu. Tabel response digunakan untuk menampung pesan yang digunakan untuk fungsi auto-reply.
Jika subsistem SMS dan MMS Gateway dihubungkan dengan NoteBOX, tabel yang diperlukan hanyalah tabel inboxtemp untuk digunakan oleh kelas InboxTemp dan InboxCleaner. Sedangkan pada Native Client NoteBOX, hanya dibutuhkan satu tabel yaitu tabel query seperti ditunjukkan pada Gambar III-17.
III-22 `inboxtemp`
Serial (11) <M> `id` `message` Variable characters (500) `sender` Variable characters (15) `date_time` Date & Time <M>
Variable characters (15) `address` `message` Variable characters (160) `date_time` Date & Time `mr` Integer `partslen` Integer `sekuen` Integer
Key_1
Key_1
`inbox`
`mms` <M> <M> <M> <M> <M>
`id` Integer <M> `schedule` Date & Time <M> `status` Variable characters (1) Key_1
`send_sms`
`response`
Serial (11) <M> `id` `message` Variable characters (500) `address` Variable characters (15) `date_time` Date & Time <M> `status` Variable characters (10)
`key` Variable characters (10) <M> `message` Variable characters (500) Key_1
Key_1 `contacts`
`groups` `IDGroup` Serial (11) <M> `group_name` Variable characters (30)
has members
member of
`group_member`
Key_1 `group_name`
`phone` Variable characters (15) <M> `name` Variable characters (60) Key_1
Gambar III-16 Rancangan Basis Data pada Easy SMS, SMS dan MMS Gateway
Gambar III-17 Rancangan Basis Data pada Native Client NoteBOX
3.2.5 Perancangan Antarmuka Pada Gambar III-18, terlihat rancangan halaman login untuk Easy SMS. Pada halaman ini, administrator mengisikan username dan password. Jika terjadi kesalahan, akan ditampilkan pesan kesalahan pada halaman ini. Ketika administrator melakukan logout, halaman inilah yang akan ditampilkan ditambah dengan pesan bahwa administrator telah logout. Rancangan antarmuka selengkapnya dapat dilihat pada lampiran E.
Gambar III-18 Halaman Login