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
Nama Field client_id client_name phone_number active_status group_id Created created_user modified modified_user
Tabel: clients Tipe Data Keterangan int(11) id dari setiap record varchar(64) nama dari setiap record varchar(32) nomor dari setiap record tinyint(1) status aktif int(11) id dari setiap record client_groups datetime waktu dibuat int(11) id user pembuat datetime waktu record mengalami perubahan int(11) id user yang merubah record
Tabel: client_groups Nama Field Tipe Data group_id int(11) group_name varchar(64) active_status tinyint(1) Created datetime created_user int(11) modified datetime modified_user int(11)
Keterangan id dari setiap record nama dari setiap record status aktif waktu dibuat id user pembuat waktu record mengalami perubahan id user yang merubah record
Tabel: modem Nama Field modem_id modem_name
Tipe Data int(11) varchar(50)
Keterangan id dari setiap record nama dari setiap record
Tabel: setmodem Nama Field modem_id provider_id
Tipe Data int(11) int(11)
Keterangan id modem dari setiap record id provider dari setiap record
Tabel: prefix Nama Field prefix provider_name
Tipe Data varchar(7) int(11)
Keterangan awalan dari nomor provider nama provider
37 Tabel: provider Nama Field provider_id provider_name
Tipe Data int(11) varchar(50)
Keterangan id dari setiap record nama dari setiap record
Tabel: outbox Nama Field out_seq out_starttime out_hpnumber out_message out_issent modem
Tipe Data int(11) datetime varchar(30) varchar160) int(11) int(11)
Keterangan sequence pengiriman sms waktu pengiriman sms nomor tujuan pengiriman sms pesan flag pengiriman sms modem yang digunakan
Tabel: user Nama Field user_id password username
Tipe Data int(11) varchar(32) varchar(20)
Keterangan id dari setiap record password 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. modemnya.
Setelah itu baru dijalankan
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 ke-
berapa 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 Page LOGIN
Group Page Administrasi
Group Page SMS
Group Page ACTION
Group Page DATABASE
Page ADD / EDIT USER
Page OUTBOX
Page SMS BROADCAST
Page VIEW DATABASE
Page PREFIX Modem
Page Cek SMS
Page SMS BOMBING
Page INSRET NEW GROUP
Page SMS MANUAL
Page INSERT NEW DATABASE
Page Sinkronisasi MODEM
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= “ ”?
Pesan Error
F
Username exist ?
Pesan Error
T
Password correct?
T FINISH
Gambar 3.8 Diagram Alir Login Page
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.
48 Dapat dilihat dari diagram alir diatas, data yang diperlukan hanyalah Nomor HP, Pesan dan jumlah SMS yang akan dikirimkan.
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.