Memanfaatkan Fungsi Modulus (MOD) dan Division (DIV) Untuk Bulk SMS

Siang Semeton 😀

Ini untuk sharing aja, siapa tahu ada diantara temen-temen ada yang mempunyai pengalaman kecil serupa :D. Ini mulanya karena ada salah satu temen yang nge-fans banget sama salah satu acara talent show di salah satu TV swasta. Salah satu cara untuk mendukung jagoannya agar tetap bisa bertahan adalah dengan mengirimkan SMS ke nomor tujuan dengan format yang sudah ditentukan. Nah uniknya adalah satu nomor cellular bisa mengirimkan lebih dari 1 sms dalam 1 episode penayangan. Artinya kalau jagoan A mendapatkan 100 SMS dari 100 orang yang berbeda, tetep akan kalah sama jagoan B yang mendapatkan 200 SMS walaupun dikirim oleh 1 orang saja (1 nomor cellular). Ohh gitu ya?… baru ngerti juga hahaha…

Nah dia ini ni (tmen saya), tiap malem ngirim SMS-nya banyak sekali. Bahkan saking gilanya, beli pulsa XL 100 ribu cuma buat kirim SMS saja. Kemarin itu tanggal 01 Mei 2015, dia kirim pesan ke saya via BBM, katanya minta bantuan untuk dibuatkan satu modul aplikasi kecil-kecilan agar bisa kirim SMS dukungan jagoannya itu dengan sekali klik …….. SMS sudah terkirim sebanyak pulsa yang dimiliki…. kalau dipikir-pikir gila juga ya? =)).

Saya bilang, “OK cgt”. Ahahahaha….. Tadi pagi saya coba buatkan, nah jadi uraian abstrak dan inspirasinya gini:

  1. SMS dikirim ke nomor yang sama sebanyak-banyaknya.
  2. Isi SMS dalam sekali pengiriman sama.
  3. Ada 2 nomor untuk masing-masing operator dengan tarif per SMS yang sama.
  4. Sekali SMS dikirim, maka jumlah SMS yang dikirimkan akan terus di-looping sampai pulsa tidak mencukupi.

Dari uraian tersebut saya langsung berpikir sepertinya ini bisa diselesaikan oleh Fungsi perhitungan MOD (Modulus) dan DIV (Division). Kedua fungsi ini juga tersedia diberbagai macam bahasa pemrograman. Bagi temen-temen yang belum paham tentang kedua fungsi ini, bisa cari tahu ya…:D. Oh ya modul kecil yang saya buat ini adalah sejenis SMS gateway. Berikut ini alur algoritma program saya:

  1. Program akan mengecek jumlah pulsa yang tersedia menggunakan service SSID milik Gammu
  2. Program mengambil nilai tarif per SMS
  3. Program melakukan penghitungan mencari nilai modulus dan nilai division.
  4. Nilai division akan digunakan sebagai parameter perulangan pengiriman SMS.
  5. Nilai modulus digunakan untuk menampilkan informasi berapa sisa pulsa setelah pengiriman.

Semua fungsi perhitungan saya simpan di level database, disimpan pada prosedur tersimpan milik PostgreSQL 9.1. Berikut ini coding prosedur dan artinya.

1

 

2

Mari kita coba jalankan fungsi ini, maka akan muncul form parameter seperti gambar berikut ini sesuai dengan parameter-parameter yang sudah ditentukan sebelumnya

3

Maka akan didapatkan pesan sebagai berikut

4

Lalu bagaimana kita tahu, bahwa SMS sudah akan diproses?. Nah itu bisa langsung dicek pada table Outbox-nya milik Gammu. Mari kita lihat. Ketikan query ini pada SQL Editor “select * from public.outbox;”. Maka akan didapatkan hasil sebagai berikut.

56

Dengan sisa pulsa 100000 (seratus ribu) dan tarif per SMS adalah 2200 (dua ribu dua ratus), maka didapatkan jumlah SMS terbanyak yang bisa dikirim (45 SMS). Ini bisa digambarkan dengan rumus 100000/2200 = 45 sisa 1000.

Dengan demikian modul kecil ini sudah bisa digunakan sesuai kebutuhan. Proses selanjutnya tinggal diaplikasikan pada berbagai bahasa pemrograman. Bisa dengan Delphi, Java, PHP dll. Contoh modul yang saya buat dalam Delphi seperti gambar berikut

7

Demikian sharingnya, semoga bisa berguna, mohon maaf jika ada yang salah atau kurang. Silahkan dikomen ya kakak dan temen-temen :D. Terima kasih.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s