BAB 3 PERANCANGAN SISTEM 3.1 Perancangan Sistem Secara Umum Perancangan sistem ini secara umum terbagi menjadi 4 modul yaitu modul aplikasi SMS Blast, modul database (MySQL), modul SMS Gateway dan modul GSM modem. Gambar 3.1 Gambar Blok Diagram system secara umum. 3.1.1 Aplikasi SMS Blast Modul ini menggunakan media web server berfungsi sebagai antarmuka yang akan digunakan oleh user / pengguna dari sistem ini. Web server ini menggunakan perangkat lunak yang bernama Apache. Di dalamnya terdapat fungsi-fungsi yang berguna untuk memasukkan data ke dalam database. Semua file di dalam modul ini disimpan di dalam format.php. 33
34 3.1.2 Database Modul database ini merupakan modul yang menyimpan seluruh data, baik untuk dikirim ke modul SMS gateway ataupun untuk keperluan aplikasi. Modul ini menggunakan MySQL sebagai database systemnya. 3.1.3 SMS Gateway Modul SMS Gateway ini merupakan modul yang berhubungan langsung dengan modem GSM dan juga database. Modul ini hanya membaca tabel outbox pada database. Jika pada tabel tersebut terdapat data yang belum dieksekusi oleh modem maka data terserbut akan diambil oleh modul SMS Gateway kemudian dilakukan pengiriman SMS. Modul ini menggunakan aplikasi Visual Basic dalam pembuatannya. 3.1.4 GSM Modem Modul GSM modem yang memanfaatkan standar AT Command sebagai perintah dalam melakukan pengiriman SMS. Modul ini berhubungan langsung dengan modul SMS gateway yang terdapat di dalam PC. 3.2 Perancangan Perangkat Lunak Sistem yang terdiri dari beberapa modul tersebut akan berjalan selama 24 jam tanpa henti. Aplikasi SMS Blast hanya menunggu perintah yang diberikan oleh user / pengguna yang kemudian diproses dan mengirim data data yang diperlukan ke dalam
35 modul database. Modul SMS Gateway akan memeriksa tabel outbox pada modul database secara berkala setiap 3 detik. Jika terdapat data yang belum dieksekusi maka modul ini akan mengirimkan perintah berupa AT Command kepada GSM modem untuk mengeksekusi data tersebut. Gambar 3.2 Gambar Perancangan Perangkat Lunak. 3.2.1 Perancangan Database Dalam merancang database digunakan perangkat lunak MySQL. Alasan untuk penggunaan perangkat lunak ini dikarenakan perangkat lunak ini dapat digunakan secara gratis. Adapun dalam pengaturan database, digunakan phpmyadmin. PhpMyAdmin adalah suatu aplikasi yang dibuat dengan bahasa pemrograman PHP yang ditujukan untuk pengelolaan basis data MySQL melalui Internet. Adapun juga database yang telah dibuat adalah sebagai berikut:
36 Tabel: clients Nama Field Tipe Data Keterangan client_id int(11) id dari setiap record client_name varchar(64) nama dari setiap record phone_number varchar(32) nomor dari setiap record active_status tinyint(1) status aktif group_id int(11) id dari setiap record client_groups Created datetime waktu dibuat created_user int(11) id user pembuat modified datetime waktu record mengalami perubahan modified_user int(11) id user yang merubah record Tabel: client_groups Nama Field Tipe Data Keterangan group_id int(11) id dari setiap record group_name varchar(64) nama dari setiap record active_status tinyint(1) status aktif Created datetime waktu dibuat created_user int(11) id user pembuat modified datetime waktu record mengalami perubahan modified_user int(11) id user yang merubah record Tabel: modem Nama Field Tipe Data Keterangan modem_id int(11) id dari setiap record modem_name varchar(50) nama dari setiap record Tabel: setmodem Nama Field Tipe Data Keterangan modem_id int(11) id modem dari setiap record provider_id int(11) id provider dari setiap record Tabel: prefix Nama Field Tipe Data Keterangan prefix varchar(7) awalan dari nomor provider provider_name int(11) nama provider
37 Tabel: provider Nama Field Tipe Data Keterangan provider_id int(11) id dari setiap record provider_name varchar(50) nama dari setiap record Tabel: outbox Nama Field Tipe Data Keterangan out_seq int(11) sequence pengiriman sms out_starttime datetime waktu pengiriman sms out_hpnumber varchar(30) nomor tujuan pengiriman sms out_message varchar160) pesan out_issent int(11) flag pengiriman sms modem int(11) modem yang digunakan Tabel: user Nama Field Tipe Data Keterangan user_id int(11) id dari setiap record password varchar(32) password username varchar(20) username Tabel 3.1 Tabel Perancangan Basis Data. Gambar 3.3 Entity Relationship Diagram
38 3.2.2 Perancangan SMS Gateway Dalam merancang SMS Gateway ini ada dua hal yang sangat penting yaitu komunikasi antara aplikasi dengan modem GSM dan juga database dengan aplikasi ini. Komunikasi antara aplikasi SMS Gateway dengan modem GSM ini menggunakan standard AT-Command. Gambar 3.4 Gambar Diagram alir Perancangan SMS Gateway.
39 Dari diagram alir di atas dapat dapat dilihat alur jalannya proses SMS gateway. Untuk pengaturan awal, perlu menghubungkan aplikasi SMS Gateway ini dengan database. Parameter yang diperlukan adalah alamat dari server, nama database, port database, username dan password untuk mengakses database tersebut. Setelah aplikasi sukses terhubung dengan database maka akan ada Message Box Data Connected. Setelah itu akan masuk ke dalam pengaturan serial COM port. Untuk pengaturan serial COM port ini terdapat parameter parameter yang perlu diperhatikan yaitu baud, data bits, parity, dan stop bits. Setelah semua pengaturan sudah cocok dan port komunikasi pun sudah cocok maka akan ada Message Box Connected. Setelah itu aplikasi akan mengirimkan perintah berupa standar AT Command untuk mengidentifikasi modem yang digunakan seperti, nomor IMEI, Pembuat modem, nomor model modem dan juga SMS center dari kartu SIM yang terdapat di dalam GSM modem tersebut. Setelah semua sudah teridentifikasi, selanjutnya adalah untuk pengaturan routing prefix dengan menentukan modem berapa yang akan digunakan untuk dijalankan oleh aplikasi. Setelah itu baru dijalankan modemnya. Tombol Start Modem tersebut berfungsi untuk mengaktifkan timer. Timer ini berfungsi untuk menjalankan perintah pengiriman SMS. Jika pengiriman SMS gagal, maka akan diulang perintah untuk mengirimkan SMS tersebut sampai sepuluh kali. Jika pengiriman SMS tetap gagal maka aplikasi tersebut akan memberikan tanda kepada database berupa mengganti field out_issent dari 0 menjadi 2 pada tabel outbox. Jika SMS berhasil dikirimkan maka aplikasi tersebut akan memberikan tanda kepada database berupa mengganti field out_issent dari 0 menjadi 1. Selama timer berjalan, akan
40 dilakukan pengecekan terus menerus pada table outbox di database. Hanya data yang memiliki field out_issent bernilai 0 dan pengaturan modem yang sama akan diambil oleh aplikasi SMS Gateway ini. 3.2.2.1 Perancangan Form Server Gambar 3.5 Gambar Perancangan Form Server. Pada tampilan di atas dapat dilihat terdapat empat textbox yang perlu diisi sesuai dengan tujuan yang akan dihubungkan dengan aplikasi. Tombol Simpan diatas berfungsi untuk menyimpan isi pengaturan yang telah dimasukkan ke dalam textbox tersebut untuk terakhir kalinya. Tombol LOG IN berfungsi untuk menghubungkan parameter yang telah dimasukkan di dalam textbox tersebut.
41 3.2.2.2 Perancangan Form Send SMS Gambar 3.6 Gambar Perancangan Form Send SMS. Pada tampilan di atas dapat dilihat terdapat dua combo box. Combo box pertama berfungsi sebagai pilihan serial COM Port yang akan digunakan. Combo box kedua berfungsi sebagai pilihan modem berapa yang akan digunakan oleh aplikasi ini. Tombol Connect COM diatas berfungsi untuk menghubungkan aplikasi dengan GSM Modem. Pengaturan yang perlu diperhatikan adalah baud, data bits, parity, dan stop bits. Tombol Simpan berfungsi untuk menyimpan modem keberapa yang sudah diatur untuk mulai di aplikasikan oleh aplikasi ini. Start Modem berfungsi untuk mengaktifkan timer. Tombol Stop
42 Modem berfungsi untuk menghentikan timer. Lalu terdapat Listview yang berfungsi untuk menampilkan data yang diambil dari database. Listbox berfungsi untuk menampilkan hasil eksekusi yang dilakukan oleh modem. Listbox ini akan menampilkan data hasil identifikasi modem dan status SMS berhasil dan gagal dikirim. Lalu tombol Exit berfungsi untuk menutup aplikasi SMS Gateway tersebut. 3.2.3 Perancangan Aplikasi SMS Blast Aplikasi ini dirancang menggunakan basis web dengan bahasa pemrograman php. Sebelum aplikasi ini dapat digunakan, diperlukan aplikasi web-server terlebih dahulu. Adapun aplikasi web-server yang digunakan adalah Apache. Peta lokasi dari aplikasi ini adalah sebagai berikut:
43 LOGIN Group Administrasi Group SMS Group ACTION Group DATABASE ADD / EDIT USER OUTBOX SMS BROADCAST VIEW DATABASE PREFIX Modem Cek SMS SMS BOMBING INSRET NEW GROUP Sinkronisasi MODEM SMS MANUAL INSERT NEW DATABASE Gambar 3.7 Site Map Aplikasi. Dari sitemap di atas langkah awal untuk menggunakan aplikasi tersebut adalah melewati halaman login dengan memasukkan username dan password terlebih dahulu. Setelah melewati halaman login barulah dapat mengakses halaman halaman lainnya yang terdapat pada sitemap diatas. Pada bagian administrasi terdapat tiga halaman yaitu add/edit user yang berfungsi untuk menambah atau merubah user yang diijinkan untuk mengakses aplikasi ini. Halaman prefix modem berfungsi untuk membuat daftar prefix
44 sesuai dengan nama operator seluler yang ada. Halaman Sinkronisasi Modem berfungsi untuk mengatur operator seluler yang telah didaftarkan prefixnya pada halaman prefix modem untuk dieksekusi oleh modem sesuai dengan hasil pengaturan. Pada bagian SMS terdapat halaman outbox. Halaman ini berfungsi untuk melihat SMS yang dikirimkan ke tabel outbox untuk di lakukan pengiriman SMS. Data yang ditampilkan pada halaman ini adalah waktu pengiriman SMS, nomor tujuan, pesan SMS, modem ke-berapa, flag yang menandakan data sudah dieksekusi oleh modem dan flag yang menandakan SMS berhasil dikirim atau tidak. Halaman cek SMS hanya berfungsi sebagai fungsi pencarian SMS. Pencarian SMS dapat berupa nomor HP, pesan, atau laporan SMS yang terkirim atau tidak terkirim. Pada bagian Database terdapat tiga halaman yaitu View database yang berfungsi untuk melihat semua data yang telah dimasukkan ke dalam basis data. Insert new group adalah halaman untuk menambah kelompok data. Halaman insert new database berfungsi untuk menambahkan data secara manual (satu satu). Halaman import new database berfungsi untuk memasukan sejumlah data ke dalam basis data menggunakan fungsi import file yang berbentuk csv. Pada bagian Action terdapat tiga bagian utama. Tiga bagian utama inilah yang menjadi bagian inti dari aplikasi ini. Yang pertama adalah SMS Broadcast. Halaman ini berfungsi untuk mengirimkan suatu pesan SMS ke daftar kelompok data yang telah dimasukan sebelumnya. Seluruh data yang ada, yaitu nomor HP dan pesan SMS dikirimkan ke dalam tabel outbox. Halaman SMS bomber berfungsi untuk mengirimkan suatu pesan ke nomor tertentu sebanyak jumlah
45 yang diinginkan oleh user. Halaman SMS Manual hanya berfungsi untuk mengirimkan suatu pesan SMS ke nomor tertentu. Sifatnya adalah satuan. Semua data data tersebut sebelum dimasukan kedalam tabel outbox, terlebih dahulu nomor nomor HP yang sudah terdaftar dipisahkan berdasarkan modem yang telah diatur sebelumnya. 3.2.3.1 Algoritma Login Berikut adalah diagram alir dari halaman login. START Input username Input password Enkripsi password Pesan Error Username=? F Pesan Error Username exist? T Pesan Error Password correct? T FINISH Gambar 3.8 Diagram Alir Login
46 Diagram alir diatas merupakan algoritma dari proses verifikasi username dan password. Alasan penggunaan algoritma seperti ini adalah untuk masalah keamanan. 3.2.3.2 Algoritma SMS Broadcast Berikut adalah diagram alir dari SMS broadcast. START F Record Exist? Insert New record T Insert Text untuk SMS SEND Prefix Routing Insert into table outbox FINISH Gambar 3.9 Diagram Alir SMS Broadcast.
47 Dari diagram alir diatas, terdapat beberapa data yang diperlukan sebelum dapat mengeksekusi pesan, yaitu ketersediaan record dan juga pesan SMS. Jika semuanya sudah terpenuhi makan ketika tombol Send di-klik maka aplikasi akan melakukan pengaturan modem sesuai dengan yang telah diatur sebelumnya lalu setelah itu baru dimasukkan ke dalam tabel outbox. 3.2.3.3 Algoritma SMS Bomber Berikut adalah diagram alir dari SMS bomber START Insert Number + Text + Quantity SEND Prefix Routing Insert into table outbox FINISH Gambar 3.10 Diagram Alir SMS Bomber.
Dapat dilihat dari diagram alir diatas, data yang diperlukan hanyalah Nomor HP, Pesan dan jumlah SMS yang akan dikirimkan. 48 3.2.3.4 Algoritma SMS Manual Berikut adalah diagram alir dari SMS manual. START Insert Number + Text SEND Prefix Routing Insert into table outbox FINISH Gambar 3.11 Diagram Alir SMS Manual. Dari diagram alir diatas dapat dilihat perbedaannya dari SMS Bomber. SMS manual ini hanyalah mengirimkan satu kali saja.
49 3.2.3.5 Algoritma Routing Prefix Berikut adalah diagram alir dari routing prefix. START Cek Prefix Define Operator Cek jumlah modem > 1? T Count Client Data F Average Distribution Send to table outbox FINISH Gambar 3.12 Diagram Alir routing prefix. Diagram alir diatas menjelaskan algoritma dari routing prefix yang dilakukan oleh aplikasi SMS Blast. Perhitungan hanya dilakukan pada saat terdapat provider yang menggunakan lebih dari satu modem supaya dalam distribusi data dapat dilakukan secara merata.