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.