33 BAB 3 PERANCANGAN SISTEM 3.1 Perancangan Sistem

advertisement
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.
Download