Top Banner
Catatan Kuliah SMS  Gateway dwi sakethi [email protected] http://www.dwijim.wordpress.com 0816-403-432 bni 46 no. 0070942813 25 Pebruari 2012
49

Sap Sms Gateway

Oct 12, 2015

Download

Documents

AdHe TEmbok

SAP SMS Gateway
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
  • Catatan KuliahSMS Gateway

    dwi [email protected]

    http://www.dwijim.wordpress.com0816-403-432

    bni 46 no. 0070942813

    25 Pebruari 2012

  • 2 Y m'

  • Daftar Isi

    1 Pendahuluan 71.1 Latar Belakang . . . . . . . . . . . . . . . . . . . . . . . . . . 7

    2 SMS Gateway 92.1 Pendahuluan . . . . . . . . . . . . . . . . . . . . . . . . . . . 92.2 Kebutuhan Peralatan . . . . . . . . . . . . . . . . . . . . . . . 92.3 Pesawat Handphone yang Sudah Dicoba . . . . . . . . . . . . 102.4 Instalasi Perangkat yang Dibutuhkan . . . . . . . . . . . . . . 11

    2.4.1 Instalasi XAMPP . . . . . . . . . . . . . . . . . . . . . 112.4.2 Pesawat Handphone . . . . . . . . . . . . . . . . . . . 132.4.3 Instalasi Gammu . . . . . . . . . . . . . . . . . . . . . 182.4.4 Instalasi Gammu di GNU Linux . . . . . . . . . . . . . 222.4.5 Menjalankan Contoh Sistem SMS Gateway . . . . . . . 23

    3 Membangun SMS Gateway 253.1 Basis Data Dasar SMS Gateway . . . . . . . . . . . . . . . . . 253.2 Mengirim SMS dengan SQL Langsung . . . . . . . . . . . . . 253.3 Mengirim SMS Pendek dengan PHP . . . . . . . . . . . . . . 273.4 Mengirim SMS Panjang dengan PHP . . . . . . . . . . . . . . 29

    4 PHP Maker 33

    5 Mengolah SMS Masuk 355.1 Menghitung Banyaknya SMS dengan Isi yang Sama . . . . . . 355.2 Menghitung Banyaknya SMS yang Masuk per Jam . . . . . . 375.3 SMS Center Nilai . . . . . . . . . . . . . . . . . . . . . . . . . 40

    6 Penutup 49

    3

  • 4 DAFTAR ISI

  • Daftar Gambar

    2.1 Ikom XAMPP . . . . . . . . . . . . . . . . . . . . . . . . . . . 122.2 XAMPP via Start . . . . . . . . . . . . . . . . . . . . . . . . . 122.3 Panel XAMPP . . . . . . . . . . . . . . . . . . . . . . . . . . 122.4 Perangkat Baru . . . . . . . . . . . . . . . . . . . . . . . . . . 142.5 Instal DKU-5 dari CD-ROM . . . . . . . . . . . . . . . . . . . 152.6 Teruskan Proses Instal DKU-5 . . . . . . . . . . . . . . . . . . 162.7 Port DKU-5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172.8 Tampilan SM@S@ . . . . . . . . . . . . . . . . . . . . . . . . 24

    3.1 Form Isian SMS . . . . . . . . . . . . . . . . . . . . . . . . . . 273.2 Form Isian SMS Panjang . . . . . . . . . . . . . . . . . . . . . 29

    5

  • 6 DAFTAR GAMBAR

  • Bab 1

    Pendahuluan

    1.1 Latar Belakang

    Pada masa sekarang ini, penggunaan pesawat telepon selular sudah sangatluas di kalangan masyarakat. Dari kelas pemulung, tukang bakso, tukangsiomay, pelajar, mahasiswa dan berbagai kalangan sudah terbiasa menggu-nakan pesawat telepon selular. Bahkan terkadang terlihat orang menggu-nakan telepon seluler ini dimana saja, sehingga terkesan orang lebih asyikdengan telepon selular dari pada memperhatikan lingkungan sekitarnya (berbincang-bincang dengan orang lain).

    Salah satu fungsi dasar yang ada pada pesawat telepon selular yaitu pen-giriman pesan singkat melalui sarana SMS. Lalu lintas SMS ini menjadi salahsatu sarana komunikasi yang dominan dalam kehidupan keseharian sekarang.Salah satu faktornya adalah biayanya yang sangat murah.

    SMS Gateway merupakan teknologi tepat guna yang bisa diterapkan se-cara mudah dalam kehidpan sehari-hari di masyarakat. Misalnya membuatSMS Gateway :

    1. Untuk penyebaran informasi kegiatan atau koordinasi antar pengurusdalam suatu organisasi.

    2. Informasi kegiatan sekolah, prestasi yang diperoleh suatu sekolah, jad-wal ujian dan sebagainya. Dengan demikian orang tua siswa dapatmengantisipasi kegiatan-kegiatan sekolah secara lebih dini.

    3. Melakukan polling atas suatu agenda yang sedang ramai diperbin-cangkan di masyarakat.

    4. SMS Center suatu lembaga atau organisasi, misalnya untuk mengecekpembayaran pajak kendaraan di kantor SAMSAT, jadwal dokter disuatu rumah sakit.

    7

  • 8 BAB 1. PENDAHULUAN

    5. Melakukan nasehat-nasehat, peringatan/ajakan kepada kebaikan.

    Penerapan SMS Gateway bisa dikaitkan dengan isu Go Green. Penggunaanmedia elektronis ini akan mengurangi penggunaan kertas, jadi sampah kertasakan berkurang dan penebangan pohon untuk bahan pembuatan kertas jugamenjadi berkurang.

  • Bab 2

    SMS Gateway

    2.1 Pendahuluan

    SMS Gateway merupakan suatu mekanisme yang menyediakan akses SMSdari dan ke pesawat selular.

    2.2 Kebutuhan Peralatan

    Selain jelas tentu saja SMS Gateway membutuhkan seperangkat komput-er dan ada beberapa perangkat tambahan yang diperlukan yaitu :

    1. Program Apache, PHP, dan MySQL yang sudah dipaket dalam bentukprogram XAMPP atau PHP Triad atau LAMP. Yang penting dalamsistem tersedia Apache, Mysql, dan PHP. Sedangkan dalam contohini, digunakan XAMPP. Jika menggunakan GNU Linux maka paket-paket tersebut sudah tersedia tinggal diinstal saja. Pada contoh di sinidigunakan Xampp Versi 1.6.8.

    2. Program Gammu. Gammu digunakan untuk mentransfer SMS darihandphone ke database dan sebaliknya. Program Gammu ini bisa diun-duh secara bebas dari internet. Alternatif bisa diunduh dari http://dwijim.staff.unila.ac.idpada bagian SMS Gateway. Gammu yang digunakan adalah GammuVersi 1.21.0 untuk Microsoft Windows dan 1.20.0 untuk GNU Linuxpada Ubuntu 9.04. Versi Gammu yang digunakan harus sesuai denganversi basis data Gammu. Jika ada ketidaksesuaian, maka Gammu tidakbisa dieksekusi.

    3. Perangkat handphone GSM yang dilengkapi kabel data atau koneksilain seperti bluetooth, infrared. Dalam contoh di sini digunakan kabel

    9

  • 10 BAB 2. SMS GATEWAY

    data DKU-5 dan handphone Nokia 3100. Kabel DKU-5 lebih spesifikadalah kabel DKU-5 merk i-Tech yang memiliki fasilitas charger. Adajenis kabel DKU-5 yang tidak bisa digunakan untuk koneksi. Sedan-gkan beberapa handphone yang sudah pernah digunakan adalah Nokia6020, Nokia 6070, Motorola E398, dan Mikto. Untuk koneksi dengankabel DKU-5 diperlukan driver yang biasanya disertakan ketika mem-beli kabel tersebut. Untuk pengguna, MS Windows, disarankan meng-gunakan SE. Sekarang ada alternatif lain seperti menggunakan USBmodel atau perangkat khusus untuk SMS Gateway. Bisa juga menggu-nakan USB modem yang didukung oleh Gammu atau perangkat khususuntuk SMS seperti modem WaveCom.

    4. Perangkat lunak PHP Maker.Perangkat ini digunakan untuk mempermudah pengembangan scriptPHP yang akan dilakukan.

    5. Nomor handphone GSM. Nomor GSM yang bisa digunakan bebas, bisakartu apa saja. Akan tetapi, pada akhirnya nanti, ada kartu yangbisa digunakan terus menerus dan ada kartu yang kemudian tidak bisalagi digunakan untuk mengirim SMS, meskipun bisa digunakan untukmenerima atau melakukan panggilan.

    6. Yang terakhir tentu saja program atau script PHP, program inilah yangmenjadi kajian dalam tulisan ini.

    Perbedaan versi memerlukan kreatifitas dalam instalasi dan menjalankanprogram yang terkadang sedikit menyita waktu untuk mencari cara yangbenar.

    2.3 Pesawat Handphone yang Sudah Dicoba

    Beberapa jenis pesawat handphone yang sudah dicoba dan berhasil digu-nakan sebagai SMS Gateway di antaranya :

    1. Nokia 3100 (Windows dan GNU Linux).

    2. Nokia 6020 (Windows dan GNU Linux).

    3. Nokia 6070 (RM-166) (Windows dan GNU Linux).

    4. Motorola E398 (Windows).

    5. LG KG-300 di Windows bisa menerima dan mengirim SMS, di GNULinux belum dicoba.

  • 2.4. INSTALASI PERANGKAT YANG DIBUTUHKAN 11

    6. Sony Ericsson W200i, K301i, K100 bisa menerima dan mengirim SMS.Umumnya Sony Erocsson dengan fasilitas koneksi kabel data, bisa di-gunakan untuk SMS Gateway.

    7. Sony Ericsson Z550 (Windows dan GNU Linux).

    Berfungsi sebagai SMS Gateway artinya bisa digunakan untuk mengirimdan menerima SMS serta memasukkan SMS tersebut ke basis data MySQL.Karena ada handphone yang dikenali akan tetapi tidak bisa mengirim SMSmeskipun SMS yang ada bisa dibaca. Merk-merk yang ditulis di sini ten-tu saja bukan pesan sponsor :-) tapi untuk mempermudah bagi yang inginmencoba.

    2.4 Instalasi Perangkat yang Dibutuhkan

    2.4.1 Instalasi XAMPP

    Program ApacheFriends XAMPP (Basispaket) version 1.6.8 merupakansuatu paket program yang berisi Apache+PHP+MySQL yang merupakanprogram-program yang dibutuhkan dalam sistem ini. Bisa juga menggunakanversi terbaru dari XAMPP. Selain itu, alternatif lain juga bisa menggunakanpaket program AppServ atau PHPTriad. Kedua program ini, mempunyaifungsi yang sama dengan XAMPP. Untuk melakukan instalasi pada contohini, carilah berkas bernama xampp-win32-1.6.8-installer kemudian diklikganda atau menekan tombol Enter . Untuk memudahkan proses, ikuti nilai-nilai bawaan (default) pada saat instalasi. Jika ada pertanyaan-pertanyaan,

    klik tombol Next atau Install , tidak perlu mengklik pilihan lain. Setelah

    proses selesai dan sukses, maka di layar akan ada keterangan Finish .Ada baiknya jika menggunakan Microsoft Windows, program Xampp

    ini dipasang di drive D, supaya ketika sistem operasinya dipasang ulang,maka data dan program PHP masih ada dan tidak perlu dipasang ulang.

    Pada layar Desktop terdapat ikon XAMPP seperti berikut :

    Jalankan program XAMPP dengan mengklik ganda ikon XAMPP tersebutsehingga keluar menu Control Panel dari XAMPP. Dengan cara lain, bisa ju-ga dengan mengklik Start-All Programs-Apache Friends-XAMPP dan seterus-nya seperti pada gambar berikut :

    Pada menu Control Panel dari XAMPP, kemudian aktifkan program Apachedan MySQL dengan mengklik tombol Start di samping kanan dari tulisanApache dan MySQL.

  • 12 BAB 2. SMS GATEWAY

    Gambar 2.1: Ikom XAMPP

    Gambar 2.2: XAMPP via Start

    Gambar 2.3: Panel XAMPP

  • 2.4. INSTALASI PERANGKAT YANG DIBUTUHKAN 13

    Untuk GNU Linux instalasi paket Apache+PHP+MySQL bisa dilakukandengan mudah menggunakan Synaptic Package Manager atau bagi yang ter-biasa dengan text based bisa menggunakan perintah apt-get-install.

    2.4.2 Pesawat Handphone

    Selama ini, penggunaan pesawat selular untuk sistem SMS Gateway padasistem operasi GNU Linux, tidak memerlukan driver secara khusus. Perangkat-perangkat yang digunakan, ketika disambungkan dengan sistem komputer,sudah langsung terdeteksi. Sedangkan pada sistem operasi lain, ada yangperlu driver khusus sesuai dengan jenis dan tipe pesawat selular yang digu-nakan.

    Sony Ericsson

    Untuk pesawat Sony Ericsson, bisa digunakan PC Suite Sony Ericsson.Karena PC Suite ini, umumnya sesuai dengan berbagai jenis pesawat SonyEricsson. Sedangkan jika menggunakan driver, harus digunakan driver yangsesuai.

    Nokia - Instalasi DKU-5

    Kabel DKU-5 digunakan sebagai media koneksi data. Meskipun tentusaja tidak harus menggunakan media kabel ini. Tidak semua kabel DKU-5 dapat digunakan untuk koneksi (meskipun sama-sama DKU-5). DKU-5yang digunakan di sini memiliki kemampuan charger dan di sebelah palingkiri pada bagian ujungnya mempunyai kaki tembaga. Perhatikan gambarberikut, dimana sebelah kanan adalah DKU-5 yang bisa, dan sebelah kiriadalah DKU-5 yang tidak bisa digunakan. Driver biasanya disertakan ketikamembeli kabel ini. Untuk instalasi kabel DKU-5, mula-mula masukkan kabelDKU-5 ini di komputer via USB dan ke handphone. Karena ini perangkatbaru, maka akan muncul dialog dari sistem seperti ini :

  • 14 BAB 2. SMS GATEWAY

    Gambar 2.4: Perangkat Baru

    Pilihlah Yes, this time only, kemudian pilihlah tombol Next. Padapilihan berikutnya, isilah dengan pilihan Install from a list or specificlocation.

  • 2.4. INSTALASI PERANGKAT YANG DIBUTUHKAN 15

    Gambar 2.5: Instal DKU-5 dari CD-ROM

    Kemudian pilihlah tombol Next. Selanjutnya jika belum ada tanda con-treng, berilah tanda contreng pada Search removable media. MasukkanCD-ROM driver kabel DKU-5 ke pemutar CD-ROM dan kemudian pilihlahtombol Next. Jika dalam prosesnya ada keterangan seperti berikut :

  • 16 BAB 2. SMS GATEWAY

    Gambar 2.6: Teruskan Proses Instal DKU-5

    Pilihlah Continue anyway ... Dan terakhir tentu saja Finish. Setelahkabel DKU-5 terinstal, penting untuk mengetahui pada port apa dan be-rapa kabel tersebut terpasang. Untuk itu, klik tombol Start, lantas padaposisi My Computer, lakukan klik kanan dan pilih Properties. Lantaspada pilihan yang ada, klik pada Device Manager dan pilihlah Ports(COM&LPT)

  • 2.4. INSTALASI PERANGKAT YANG DIBUTUHKAN 17

    Gambar 2.7: Port DKU-5

  • 18 BAB 2. SMS GATEWAY

    Di sini terlihat bahwa USB kabel DKU-5 berapa pada port COM6. Infor-masi ini penting karena akan digunakan pada saat instalasi program Gammu.Penting : perlu dicatat bahwa letak colokan kabel USB untuk DKU-5 ini

    sebaiknya tidak dipindah-pindah. Mengapa ? Jika dipindah maka pengatu-ran port-nya akan berubah-ubah lagi dan harus disesuaikan pada pengaturangammurc.

    Instalasi DKU-5 di GNU Linux

    Pada sistem operasi GNU Linux Ubuntu Versi 9.04 kabel DKU-5 sudahdidukung penuh. Tinggal masukkan kabel ke sistem maka akan terdeteksioleh GNU Linux. Untuk menceknya, dari terminal bisa diberikan perintahdmesg | grep ark.

    [ 5.356130] Marking TSC unstable due to TSC halts in idle

    [ 23.044201] usbserial: USB Serial support registered for ark3116

    [ 23.044253] ark3116 3-2:0.0: ark3116 converter detected

    [ 23.087852] usb 3-2: ark3116 converter now attached to ttyUSB0

    [ 23.087881] usbcore: registered new interface driver ark3116

    2.4.3 Instalasi Gammu

    Gammu merupakan sistem untuk mentransfer SMS dari handphone kedatabase dan sebaliknya. Salah satu model database yang didukung olehGammu adalah MySQL. Gammu ini dapat diunduh di internet. Gammuyang digunakan pada contoh ini adalah Gammu Versi 1.21.0. Untuk versiyang berbeda, boleh jadi perintah yang digunakan berbeda atau sama den-gan contoh yang ada di sini. Pada prinsipnya Gammu ini cukup disalin kedirektori tertentu kemudian tinggal memodifikasi berkas bernama gammurcdan smsdrc. Kedua berkas tersebut merupakan berkas yang berisi pengat-uran dari program Gammu. Untuk kemudahan, Gammu dapat diinstal apaadanya seperti pada petunjuk pada dokumen ini.

    Hal penting yang harus diperhatikan yaitu bahwa isi dari basis datauntuk sistem yang akan digunakan, versinya harus sesuai dengan versi dariGammu yang akan digunakan. Jika versi tidak sesuai, maka program Gammutidak akan bisa digunakan.

    1. Program Gammu ini cukup diekstrak saja dari masternya ke suatudirektori pada komputer yang akan digunakan.

    2. Untuk sistem operasi Windows, pada direktori bin di direktori gammutersebut, cari dan perbaikilah berkas gammurc. Untuk melakukan ini,

  • 2.4. INSTALASI PERANGKAT YANG DIBUTUHKAN 19

    program yang bisa digunakan adalah Notepad atau Wordpad, dan bisajuga dengan program edit.exe. Perbaikan berkas gammurc tergantungkepada jenis pesawat handphone yang digunakan, kabel data dan portdari kabel data atau media lainnya. Pada contoh ini digunakan kabelDKU-5 dan pesawat Nokia 3100 serta Nokia 6020. Perlu diketahuijuga, bahwa konfigurasi dalam berkas gammurc ini bisa dibuat dalambeberapa konfigurasi. Dengan demikian, tidak perlu selalu merubah-ubah konfigurasi jika pesawat handphone atau media komunikasi yangdigunakan berubah. Isi dari berkas gammurc cukup panjang, di sinihanya diambil bagian yang penting saja.

    [gammu1]

    # untuk nokia 6020, 29 juni 2009

    # nokia 6070

    port = com6:

    connection = at19200

    #synchronizetime = yes

    #logfile = gammulog

    #logformat = textall

    #use_locking = yes

    #gammuloc = locfile

    startinfo = yes

    #gammucoding = utf8

    #rsslevel = teststable

    #usephonedb = yes

    [gammu2]

    # dwi sakethi, ini untuk nokia 3100 kabel dku 5

    # catatan 7 juli 2009

    port = com6:

    connection = fbuspl2303

    #synchronizetime = yes

    #logfile = gammulog

    #logformat = textall

    #use_locking = yes

    #gammuloc = locfile

    #startinfo = yes

    #gammucoding = utf8

  • 20 BAB 2. SMS GATEWAY

    Perhatikan tanda [gammu1] dan [gammu2]. Ini menunjukkan kon-figurasi gammmu pertama dan kedua. Setelah dilakukan perubahanseperlunya, tentu saja jangan lupa untuk menyimpan berkas gam-murc tersebut. Perbaikan yang penting adalah di bagian port danconnection.

    3. Cek koneksi. Langkah ini merupakan langkah yang menentukan. Adadua hal, yaitu apakah konfigurasi sudah benar dan apakah pesawathandphone yang digunakan didukung oleh program Gammu. Kare-na proses dengan Gammu ini dijalankan dari Command Prompt, ma-ka terlebih dahulu klik Start-Run, kemudian isi dengan cmd danmenekan tombol Enter. Karena program Gammu disimpan di c :\xampp \ gammu maka berikan perintah untuk pindah direktori :cd \ xampp \ gammu \ bin seperti berikut :

    Microsoft Windows XP [Version 5.1.2600]

    (C) Copyright 1985-2001 Microsoft Corp.

    C:\Documents and Settings\dwijim>cd\xampp\gammu\bin

    C:\xampp\gammu\bin>

    Jika yang digunakan adalah pesawat Nokia 3100 yang berarti ada padakonfigurasi kedua, maka perintah yang digunakan adalahgammu 2 --identify . Jika segala sesuatunya sesuai dan benar maka

    hasilnya adalah :

    C:\xampp\gammu\bin>gammu 2 --identify

    Manufacturer : Nokia

    Model : 3100 (RH-19)

    Firmware : 06.11 V (17-05-05)

    Hardware : 3031

    IMEI : 355697005124346

    Original IMEI : 355697/00/512434/6

    Manufactured : 11/2005

    Product code : 0511825

    4. Cek baca SMS. Untuk mencek apakah program Gammu bisa membacaSMS yang ada, berikan perintah gammu 2 --getallsms

    209 SMS parts in 187 SMS sequences

  • 2.4. INSTALASI PERANGKAT YANG DIBUTUHKAN 21

    Seandainya ini sukses, maka ada kemungkinan pesawat handphone yangterpasang dapat digunakan. Mengapa ? Sebab ada pesawat hand-phone yang SMS-nya bisa dibaca tapi ternyata tidak bisa ditransfer kedatabase.

    5. Mengatur konfigurasi SMS daemon yang disimpan pada berkas berna-ma smsdrc. Contoh dari berkas smsdrc yang penting dapat dilihatseperti berikut ini :

    [smsd]

    PIN = 1234

    #logfile = smsdlog

    commtimeout = 1

    sendtimeout = 10

    receivefrequency = 0

    resetfrequency = 0

    deliveryreport = no

    phoneid = Nokia3100

    # -------------------- SETTINGS FOR --smsd MYSQL ----------------------

    user = root

    password =

    pc = localhost

    database = sms

    6. Jalankan Gammu sebagai daemon untuk SMS. Untuk bisa mempros-es SMS baik yang masuk atau keluar, maka Gammu harus dijalankansebagai daemon. Syarat yang harus dipenuhi di sini adalah bahwaMySQL harus sudah terinstal dan dijalankan. Oleh karena itu, se-belum menjalankan proses ini, MySQL harus sudah diaktifkan melaluiXAMPP Control Panel. Selanjutkan jalankan Gammu dengan perin-tah : gammu 2 --smsd MYSQL smsdrc . Jika masih ada masalah salahsatu contohnya tampak seperti berikut :

    gammu 2 --smsd MYSQL smsdrc

    Initialisation failed, stopping Gammu smsd (Unknown error.:27)

    Ini terjadi karena MySQL belum di-start di XAMPP Control Panel.Sedangkan jika sukses, maka di layar tidak ada tampilan apa-apa. Ke-mudian jika proses sudah selesai atau Gammu akan dimatikan, makapemakai tinggal menekan tombol Ctrl-C .

  • 22 BAB 2. SMS GATEWAY

    gammu 2 --smsd MYSQL smsdrc

    Press Ctrl+C to stop the program ...

    Dari 5 kali memasang program Gammu di Microsoft Windows, 2 kali Gammumenyebabkan crash Microsoft Windows dan akhirnya Gammu-nya tidak bisadijalankan. Bahkan satu kali di antaranya menyebabkan Microsoft Windowsmesti diinstal ulang.

    2.4.4 Instalasi Gammu di GNU Linux

    Beberapa hal yang harus diperhatikan di antaranya adalah bahwa namafile pengaturan Gammu adalah .gammurc yang disimpan di home directory.Sedangkan file smsdrc bisa memiliki nama yang sama dengan apa yang adadi Microsoft Windows. File smsdrc ini juga diletakkan di home directory.Kemudian contoh pengaturan koneksinya seperti berikut :

    port = /dev/ttyUSB0

    ; sewise suwe nggoleti akhire ketemu juga

    ; setting dku 5 nokia 3100 neng gnu linux

    ; dku 5 nokia 3100 di ubuntu

    ; dwi sakethi 5 januari 2010

    connection = dku5fbus-nopower

    Pengaturan konfigurasi seperti ini bisa juga digunakan untuk pesawat Nokia6070 (RM-166) di GNU Linux. Hasil pengetesan pesawat pada GNU Linux:

    gammu 1 --identify

    Manufacturer : Nokia

    Model : 6070 (RM-166)

    Firmware : 04.22 X (24-05-07)

    Hardware : 4063

    IMEI : 357698014289771

    Original IMEI : 357698/01/428977/1

    Manufactured : 11/2007

    Product code : 0546161

    UEM : 416

    Sistem operasi yang digunakan pada contoh ini adalah GNU Linux (Ubuntu9.04 dengan kernel 2.6.27-14.41-generic. Beberapa waktu sebelumnya, per-nah dicoba menggunakan GNU Linux Ubuntu 8.10 masih belum berhasildikoneksikan memakai kabel DKU-5.

  • 2.4. INSTALASI PERANGKAT YANG DIBUTUHKAN 23

    2.4.5 Menjalankan Contoh Sistem SMS Gateway

    Perlu diingatkan kembali bahwa untuk menjalankan program SMS Gate-way ini, membutuhkan program-program lain yang harus sudah dijalankan,yaitu :

    1. XAMPP melalui XAMPP Control Panel dan melakukan Starting padapilihan Apache dan MySQL.

    2. Program Gammu yang dijalankan sebagai daemon.

    3. Script SM@S@ yang tersimpan pada direktori SM@S@ serta basis datayang tersimpan pada direktori sms.

    Untuk GNU Linux, bisa dicek apakah layanan yang diperlukan sudah siapdigunakan. Jika ada paket nmap maka bisa digunakan :

    nmap localhost

    Starting Nmap 4.62 ( http://nmap.org ) at 2010-01-05 13:12 WIT

    mass_dns: warning: Unable to determine any DNS servers.

    Reverse DNS is disabled. Try using --system-dns or specify valid

    servers with --dns_servers

    Interesting ports on localhost (127.0.0.1):

    Not shown: 1710 closed ports

    PORT STATE SERVICE

    22/tcp open ssh

    80/tcp open http

    443/tcp open https

    631/tcp open ipp

    3306/tcp open mysql

    Nmap done: 1 IP address (1 host up) scanned in 0.199 seconds

    Menjalankan program SMS Gateway memerlukan perangkat browser. Pilih-lah browser kesukaan Anda seperti Mozilla, FireFox, Galeon, Opera, Internet

    Explorer. Pada bagian Addres isilah dengan perintah : http://localhost/xampp/smasa ,

    sehingga didapat tampilan seperti berikut :

  • 24 BAB 2. SMS GATEWAY

    Gambar 2.8: Tampilan SM@S@

    Untuk lebih mudah, maka sebaiknya SMS Gateway diletakkan pada posisidirektori seperti tersebut di atas. Meskipun pada dasarnya bisa diletakkandi tempat lain.

  • Bab 3

    Membangun SMS Gateway

    3.1 Basis Data Dasar SMS Gateway

    Dalam sistem SMS Gateway yang menggunakan Gammu, terdapat basisdata dasar yang terdiri dari tabel-tabel seperti berikut:

    +----------------------+

    | daemons |

    | gammu |

    | inbox |

    | outbox |

    | outbox_multipart |

    | pbk |

    | pbk_groups |

    | phones |

    | sentitems |

    +----------------------+

    Tabel-tabel ini dibuat menggunakan skrip pembuatan tabel yang sudah dise-diakan oleh Gammu sesuai dengan versi Gammu masing-masing.

    3.2 Mengirim SMS dengan SQL Langsung

    Untuk mengirim SMS, proses yang paling penting adalah mengisi datake dalam tabel outbox. Pada tabel outbox-pun tidak perlu semua item datadiisi. Item data yang tidak boleh dilewatkan adalah:

    1. DestinationNumber.Ini diisi dengan nomor tujuan dari pengiriman SMS ini.

    25

  • 26 BAB 3. MEMBANGUN SMS GATEWAY

    2. TextDecoded.Ini diisi dengan isi dari SMS yang akan dikirim.

    3. Class.Dalam hal ini, jenis SMS adalah SMS biasa, jadi Class diisi dengannilai -1.

    4. Coding.Untuk coding ini, nilai yang diberikan adalah Default No Compression.

    Nilai-nilai tadi bisa diisikan secara langsung menggunakan perintah SQL pa-da program MySQL (dalam masalah ini, digunakan perangkat Xampp yangdi dalamnya sudah tercakup program MySQL). Contoh :

    mysql> insert into outbox(DestinationNumber,TextDecoded,Coding,Class)

    -> values

    -> (0816403432,Kirim SMS menggunakan program Gammu,

    -> Default_No_Compression,-1);

    Query OK, 1 row affected, 1 warning (0.03 sec)

    Jika program Gammu belum dijalanak, maka jalankan program Gammu.Tentu saja Gammu sudah dikonfigurasi dengan benar. Beberapa contohmenjalankan program Gammu:

    1. Gammu 1.21.

    gammu 1 --mysql smsd smsdrc

    2. Gammu 1.30.

    gammu-smsd -c smsdrc -f 11

    Ini perlu menjadi perhatian juga, karena berbeda versi Gammu, terkadangberbeda pula cara menjalankannya.

  • 3.3. MENGIRIM SMS PENDEK DENGAN PHP 27

    3.3 Mengirim SMS Pendek dengan PHP

    Pada contoh kali ini, akan dibuat dua buah berkas .php. Berkas perta-ma merupakan program PHP untuk menampilkan form isian dari item-itemuntuk mengirim SMS yang meliputi nomor tujuan, banyaknya SMS yangakan dikirim (dalam hal ini dimungkinkan mengirim banyak SMS ke satunomor) dan terakhir isi SMS itu sendiri. Kemudian berkas kedua adalahuntuk memasukkan nilai-nilai tadi ke dalam tabel outbox.

    Gambar 3.1: Form Isian SMS

    Program untuk form tersebut :

    Modul Kirim SMS

    Modul Kirim SMS

  • 28 BAB 3. MEMBANGUN SMS GATEWAY

    echo "&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp

    ";

    echo "";

    echo "";

    ?>

    Sesuai dengan perintah action, maka skrip ini akan menjalankan berkasbernama xproses sms bomber.php.

    Setelah program Gammu juga dieksekusi dan proses sukses, maka data yangsebelumnya dimasukkan ke dalam tabel outbox, data ini kemudian oleh Gam-mu akan ditransfer ke dalam tabel sentitems. Dengan demikian, maknanyaadalah bahwa SMS tersebut sudah dikirim ke nomor yang dituju.

  • 3.4. MENGIRIM SMS PANJANG DENGAN PHP 29

    3.4 Mengirim SMS Panjang dengan PHP

    SMS panjang yang dimaksudkan di sini adalah SMS yang isinya lebihdari 160 karakter. Panjang 160 karakter ini merupakan standar panjangSMS. Jika isi SMS lebih dari 160 karakter, maka akan dihitung sebagai keli-patannya. Pengiriman SMS panjang melibatkan dua buah tabel dari Gam-mu yaitu outbox dan outbox multipart. Untuk SMS panjang ini, nilai yangharus diperhatikan dari tabel outbox adalah kolom yang bernama MultiPart.Jika MultiPart ini berisi nilai true, berarti SMS ini merupakan SMS pan-jang yang mempunyai sambungan dan sambungan ini disimpan pada tabeloutbox multipart. Kedua tabel ini dihubungkan dengan kolom bernama ID.Sebagai tambahan maka pada tabel outbox multipart terdapat SequencePosi-tion yang menunjukkan urutan dari SMS. Contoh program untuk mengirimSMS panjang.

    Gambar 3.2: Form Isian SMS Panjang

    \\

    Modul SMS Bomber/Kirim Satu atau Banyak SMS

    Modul SMS Bomber/Kirim Satu atau Banyak SMS

  • 30 BAB 3. MEMBANGUN SMS GATEWAY

    echo "Jumlah SMS :

    ";

    echo "Isi SMS";

    echo " dwi sakethi :

    ";

    echo "&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp

    ";

    echo "";

    echo "";

    echo "";

    ?>

    Kemudian untuk memasukkan ke dalam tabel outbox dan tabel outbox multipart :

  • 3.4. MENGIRIM SMS PANJANG DENGAN PHP 31

    // echo "$no_proses -";

    // echo "$no_proses

    // $nomor_target$nama_pengirim

    // $isi_sms ";

    /* sisipkan sms yang akan dikirim ke outbox */

    for ($ini=1;$ini

  • 32 BAB 3. MEMBANGUN SMS GATEWAY

  • Bab 4

    PHP Maker

    PHP Maker dalam pengembangan SMS Gateway ini bisa digunakan un-tuk mempermudah pemeliharaan data-data seperti SMS masuk, SMS keluardan sebagainya. Sedangkan untuk hal-hal yang sifatnya suatu proses, makaperlu dibuat skrip sendiri.

    33

  • 34 BAB 4. PHP MAKER

  • Bab 5

    Mengolah SMS Masuk

    SMS yang masuk ke dalam sistem tentu akan bisa diolah sebagaimanahalnya data pada umumnya. Bedanya adalah bahwa data ini dimasukkanmenggunakan sarana SMS. Sebelum bisa mengolah, harus sudah ditentukanformat SMS yang harus dikirim oleh pengguna sistem.

    5.1 Menghitung Banyaknya SMS dengan Isi

    yang Sama

    Salah satu tugas yang diberikan kepada mahasiswa adalah mengirimkan200 SMS dengan isi yang sama ke nomor yang sudah ditentukan. Untukmengecek hasil tugas ini, maka dibutuhkan program untuk menghitung be-rapa banyak SMS yang dikirim dengan ketentuan isi SMS harus sama dantidak lebih dari 145 karakter (SMS yang pendek saja). Contoh penyelesainuntuk masalah ini:

  • 36 BAB 5. MENGOLAH SMS MASUK

    +---------+-----------+------+-----+---------+-------+

    | isi_sms | char(160) | NO | PRI | NULL | |

    | jumlah | int(3) | YES | | NULL | |

    +---------+-----------+------+-----+---------+-------+

    ---------------------------------------------------------- */

    mysql_connect(localhost,root,);

    // koneksi ke server basis data

    mysql_select_db(bisnis_sms);

    // memilih basis data yang akan digunakan

    mysql_query("truncate table jumlah_sms");

    // menghapus isi tabek rekap supaya diawalai dari posisi netral

    $kueri = "select TextDecoded,SenderNumber from inbox

    where day(ReceivingDateTime)=23 or

    day(ReceivingDateTime)=24 ";

    // kueri untuk membaca isi sms pada tabel inbox

    // pada sms yang masuk tanggal 23 atau 24

    $hasil_kueri = mysql_query($kueri);

    // hasil kueri disimpan ke suatu variabel

    while ($isi_sms = mysql_fetch_row($hasil_kueri))

    // memotong-motong hasil kueri dan diloop

    // dari data pertama sampai data terakhir

    {

    // echo "$isi_sms[0] - $isi_sms[1] ";

    $ada = 0;

    // untuk penanda isi sms sudah ada atau belum

    $kueri_cari = "select isi_sms from jumlah_sms

    where isi_sms = $isi_sms[0]

    ";

    // mencari isi SMS yang sama

    $hasil_cari = mysql_query($kueri_cari);

    while ($cari = mysql_fetch_row($hasil_cari))

    { $ada = 1; }

  • 5.2. MENGHITUNG BANYAKNYA SMS YANG MASUK PER JAM 37

    // jika ada, masuk looping, $ada diganti nilainya

    if ($ada==0)

    {

    $kueri_simpan = "insert into jumlah_sms(isi_sms,jumlah)

    values ($isi_sms[0],1)";

    mysql_query($kueri_simpan);

    // dari baru maka insert into dan nilainya awal 1

    }

    else

    {

    $kueri_simpan = "update jumlah_sms set jumlah=jumlah+1

    where isi_sms =$isi_sms[0]";

    mysql_query($kueri_simpan);

    // data sudah ada maka jumlahnya ditambah dengan 1

    }

    }

    ?>

    5.2 Menghitung Banyaknya SMS yang Ma-

    suk per Jam

    Contoh ini sebenarnya untuk iseng-iseng saja karena ada pertanyaan den-gan masalah yang seperti itu. Jadi ingin diketahui berapa banyak SMS yangmasuk tiap jam. Kriteria ini bisa per hari dan per bulan, atau tiap tang-gal tanpa memperhatikan bulan dan sebagainya tergantung kriteria masalahyang diberikan. Untuk masalah seperti ini, berikut contoh penyelesaiannya:

  • 38 BAB 5. MENGOLAH SMS MASUK

    +---------+-----------+------+-----+---------+-------+

    | isi_sms | char(160) | NO | PRI | NULL | |

    | jumlah | int(3) | YES | | NULL | |

    +---------+-----------+------+-----+---------+-------+

    ---------------------------------------------------------- */

    mysql_connect(localhost,root,);

    // koneksi ke server basis data

    mysql_select_db(bisnis_sms);

    // memilih basis data yang akan digunakan

    mysql_query("truncate table jumlah_sms");

    // menghapus isi tabek rekap supaya diawalai dari posisi netral

    $kueri = "select ReceivingDateTime from inbox";

    // kueri untuk membaca isi sms pada tabel inbox

    $hasil_kueri = mysql_query($kueri);

    // hasil kueri disimpan ke suatu variabel

    while ($isi_sms = mysql_fetch_row($hasil_kueri))

    // memotong-motong hasil kueri dan diloop

    // dari data pertama sampai data terakhir

    {

    // echo "$isi_sms[0] - $isi_sms[1] ";

    /*

    format isi dari field ReceivingDateTime adalah :

    yyyy-mm-dd hh:mm:ss

    0123456789012345678

    */

    $bulan = substr($isi_sms[0],5,2);

    $hari = substr($isi_sms[0],8,2);

    $jam = substr($isi_sms[0],11,2);

    // mengambil nilai-nilai bulan, hari dan jam masuk SMS

    echo "$bulan - $hari - $jam - ";

    $ada = 0;

  • 5.2. MENGHITUNG BANYAKNYA SMS YANG MASUK PER JAM 39

    // untuk penanda isi sms sudah ada atau belum

    $kueri_cari = "select jumlah from jumlah_sms

    where bulan=$bulan and tanggal=$hari

    and jam=$jam

    ";

    // mencek jumlah sms pada suatu hari pada suatu bulan

    // dan jam tertentu

    $hasil_cari = mysql_query($kueri_cari);

    while ($cari = mysql_fetch_row($hasil_cari))

    { $ada = 1; }

    // jika ada, masuk looping, $ada diganti nilainya

    if ($ada==0)

    {

    $kueri_simpan = "insert into jumlah_sms(bulan,tanggal,jam,jumlah)

    values ($bulan,$hari,$jam,1)";

    mysql_query($kueri_simpan);

    // dari baru maka insert into dan nilainya awal 1

    }

    else

    {

    $kueri_simpan = "update jumlah set jumlah=jumlah+1

    where

    bulan = $bulan and

    tanggal = $hari and

    jam = $jam

    ";

    mysql_query($kueri_simpan);

    // data sudah ada maka jumlahnya ditambah dengan 1

    }

    }

    echo "Untuk melihat hasilnya silahkan lihat isi tabel jumlah_sms";

    ?>

  • 40 BAB 5. MENGOLAH SMS MASUK

    5.3 SMS Center Nilai

    Di negara Indonesia ini banyak terdapat perguruan tinggi negeri danswasta. Salah satu peluang yang bisa dimanfaatkan adalah mengembangkanSMS Center untuk informasi nilai mahasiswa. Sebagian besar perguruantinggi sudah memiliki sistem informasi untuk mengolah nilai mahasiswa.Dengan SMS Center ini, tinggal bagaimana mengelola data nilai ini un-tuk bisa dikirim menggunakan media SMS. Berikut ini contoh skrip untukmenerima SMS dan kemudian mengirim kembali balasan sesuai dengan per-mintaan terhadap nilai. Pada kesempatan ini, belum akan dibahas tentangformat SMS yang harus dikirim oleh mahasiswa.

  • 5.3. SMS CENTER NILAI 41

    if (curmin!=0)

    curtime=curmin+" menit dan "+cursec+" detik lagi untuk menyegarkan proses!"

    else

    curtime=cursec+" detik lagi untuk menyegarkan proses!"

    window.status=curtime

    setTimeout("beginrefresh()",360)

    // setTimeout("beginrefresh()",999999)

    //

    // ini yang untuk menentukan berapa lama waktu refresh otomatis ...

    // dwi sakethi

    }

    }

    window.onload=beginrefresh

    //-->

  • 42 BAB 5. MENGOLAH SMS MASUK

    /*

    jika format data tidak sesuai, maka sms tidak akan diproses

    berapa kali ketemu karakter titik .

    */

    $jumlah_item = substr_count($data_inbox[0],#);

    if ($jumlah_item!=$jumlah_potongan)

    { $data_inbox[0]=str_replace(.,#,$data_inbox[0]);}

    $data_inbox[0] = strtolower($data_inbox[0]);

    $potongan = explode(#,trim($data_inbox[0]));

    $stkip = $potongan[0];

    $npm = $potongan[1];

    $semester = $potongan[2];

    $tahun = $potongan[3];

    $nomor_hp = $data_inbox[1];

    $id = $data_inbox[3];

    $nilai_smt = round(strval($semester)/2);

    if (($nilai_smt*2)==strval($semester))

    {

    $semester=2;

    }

    else

    {

    $semester=1;

    }

    if (substr($data_inbox[0],0,5)!=stkip)

    { continue;}

    echo "potongan : $jumlah_item";

    // if ($jumlah_item

  • 5.3. SMS CENTER NILAI 43

    yang sudah ditransfer maka field Ditransfer diisi dengan Sudah

    kalo yang belum ditransfer tandanya berisi Belum

    ----------------------------------------------------------------------------- */

    $sudah_ditransfer = "

    insert into kumpulan_sms(TextDecoded,SenderNumber,ReceivingDateTime)

    values

    ($data_inbox[0],$data_inbox[1],$data_inbox[2])

    ";

    $hasil_rekam = mysql_query($sudah_ditransfer);

    $sudah_ditransfer = "

    delete from inbox

    where ID=$id

    ";

    $hasil_rekam = mysql_query($sudah_ditransfer);

    // if (!$hasil_rekam) { echo "gagal update Direkam dengan Sudah"; continue;}

    // echo "$mID kode inbox ";

    continue;

    }

    echo "$data_inbox[0] - $stkip - $npm - $semester - $tahun - $nomor_hp";

    if ( ($semester!=1) && ($semester!=2) )

    {

    $sms_salah = Semester diisi dengan 1 atau 2. Silahkan dicoba lagi! Sistem SMS dikembangkan oleh dwi sakethi 0816-403-432.;

    $rekam_sms = "insert into outbox (DestinationNumber,TextDecoded,CreatorID,Coding,Class) values

    ($nomor_hp,$sms_salah,dwijim,Default_No_Compression,$kelas)";

    mysql_query($rekam_sms);

    /* -----------------------------------------------------------------------------

    yang sudah ditransfer maka field Ditransfer diisi dengan Sudah

    kalo yang belum ditransfer tandanya berisi Belum

    ----------------------------------------------------------------------------- */

    $sudah_ditransfer = "

    insert into kumpulan_sms(TextDecoded,SenderNumber,ReceivingDateTime)

    values

    ($data_inbox[0],$data_inbox[1],$data_inbox[2])

    ";

    $hasil_rekam = mysql_query($sudah_ditransfer);

    $sudah_ditransfer = "

  • 44 BAB 5. MENGOLAH SMS MASUK

    delete from inbox

    where ID=$id

    ";

    $hasil_rekam = mysql_query($sudah_ditransfer);

    // if (!$hasil_rekam) { echo "gagal update Direkam dengan Sudah"; continue;}

    // echo "$mID kode inbox ";

    continue;

    }

    /* -----------------------------------------------------------------------------

    cari nama di data mahasiswaa

    ----------------------------------------------------------------------------- */

    $kueri_mhs = "select nama

    from mahasiswa

    where npm=$npm";

    $hasil_kueri_mhs = mysql_query($kueri_mhs);

    $ada_mhs = 0;

    while ($data_mhs=mysql_fetch_row($hasil_kueri_mhs))

    {

    $ada_mhs = 1;

    $nama = $data_mhs[0];

    }

    /* karena data mahasiswa tidak ada, mungkin karena npm salah */

    if ($ada_mhs==0)

    {

    $isi_sms =NPM : .$npm. tidak ada di dalam sistem. Silahkan dicek NPM-nya dan dikirim kembali ...;

    $kueri_sms_balasan = "

    insert into outbox(Textdecoded,DestinationNumber,Coding,Class) values

    ($isi_sms,$nomor_hp,

    Default_No_Compression,$kelas)

    ";

    mysql_query($kueri_sms_balasan);

    /* -----------------------------------------------------------------------------

    yang sudah ditransfer maka field Ditransfer diisi dengan Sudah

    kalo yang belum ditransfer tandanya berisi Belum

    ----------------------------------------------------------------------------- */

    $sudah_ditransfer = "

    insert into kumpulan_sms(TextDecoded,SenderNumber,ReceivingDateTime)

    values

    ($data_inbox[0],$data_inbox[1],$data_inbox[2])

  • 5.3. SMS CENTER NILAI 45

    ";

    $hasil_rekam = mysql_query($sudah_ditransfer);

    $sudah_ditransfer = "

    delete from inbox

    where ID=$id

    ";

    $hasil_rekam = mysql_query($sudah_ditransfer);

    // if (!$hasil_rekam) { echo "gagal update Direkam dengan Sudah"; continue;}

    // echo "$mID kode inbox ";

    continue;

    }

    else

    {

    $isi_sms =Nilai mahasiswa .$npm.-.rtrim($nama). Smt. .$semester./.$tahun. = ;

    /* cari data-data nilai mahasiswa */

    $kueri_nilai="select kode_mata_kuliah,nilai

    from nilai where npm=$npm and

    semester=$semester and

    tahun=$tahun";

    $hasil_kueri_nilai = mysql_query($kueri_nilai);

    $ada_nilai = 0;

    $jml_nilai = 0;

    $jml_sks = 0;

    while ($data_nilai=mysql_fetch_row($hasil_kueri_nilai))

    {

    $kredit = sks_mata_kuliah($data_nilai[0]);

    $isi_sms = $isi_sms.nama_mata_kuliah($data_nilai[0]).(.$kredit.): .$data_nilai[1]., ;

    if ($data_nilai[1]==A)

    {

    $jml_sks = $jml_sks + $kredit;

    $jml_nilai = $jml_nilai + (4*$kredit);

    }

    elseif ($data_nilai[1]==B)

    {

    $jml_sks = $jml_sks + $kredit;

    $jml_nilai = $jml_nilai + (3*$kredit);

    }

    elseif ($data_nilai[1]==C)

    {

  • 46 BAB 5. MENGOLAH SMS MASUK

    $jml_sks = $jml_sks + $kredit;

    $jml_nilai = $jml_nilai + (2*$kredit);

    }

    elseif ($data_nilai[1]==D)

    {

    $jml_sks = $jml_sks + $kredit;

    $jml_nilai = $jml_nilai + (1*$kredit);

    }

    elseif ($data_nilai[1]==E)

    {

    $jml_sks = $jml_sks + $kredit;

    $jml_nilai = $jml_nilai + 0;

    }

    $ada_nilai = 1;

    }

    if ($ada_nilai==0)

    { $isi_sms = $isi_sms. Nilai tidak ada di sistem! Mungkin semester atau tahun keliru!;}

    else

    {

    $ip = $jml_nilai/$jml_sks;

    $ipx = number_format($ip, 2, ., );

    $isi_sms = $isi_sms. --- IP = .$jml_nilai./.$jml_sks.=.$ipx;

    }

    echo "$isi_sms ";

    // batas mulai perintah pengiriman sms

    // memotong sms per 153 karakter

    $potongan_sms = str_split($isi_sms,153);

    // menghitung jumlah potongan per 153 karakter

    $jml_potongan_sms = ceil(strlen($isi_sms)/153);

    // proses untuk mendapatkan ID record yang akan disisipkan ke tabel OUTBOX

    $qry_outbox="show table status like outbox";

    $hasil = mysql_query($qry_outbox);

    $datane = mysql_fetch_array($hasil);

    $newID = $datane[Auto_increment];

    // echo "ID auto : $newID ";

    /* sisipkan sms yang akan dikirim ke outbox */

    for ($ini=1;$ini

  • 5.3. SMS CENTER NILAI 47

    $udh = "050003A7".sprintf("%02s", $jml_potongan_sms).sprintf("%02s",$ini);

    // $udh = "007003A7".sprintf("%02s", $jml_potongan_sms).sprintf("%02s",$ini);

    if ($ini==1) // sms awal

    {

    $rekam_sms = "insert into outbox (DestinationNumber,UDH,TextDecoded,ID,

    MultiPart,CreatorID,Coding,Class) values

    ($nomor_hp,$udh,$potongan_sms[0],$newID,

    true,dwijim,Default_No_Compression,$kelas)

    ";

    }

    else // sms berikutnya

    {

    $potongan_sekarang = $ini - 1;

    $rekam_sms = "insert into outbox_multipart(UDH,TextDecoded,ID,

    SequencePosition,Coding,Class) values

    ($udh,$potongan_sms[$potongan_sekarang],$newID,$ini,

    Default_No_Compression,$kelas)";

    }

    $hasil_rekam = mysql_query($rekam_sms);

    if (!$hasil_rekam)

    {

    // echo "Data gagal direkam ke outbox atau outbox_multipart ";

    }

    else

    {

    // echo "Data berhasil direkam ke outbox atau outbox_multipart ";

    }

    }

    /* -----------------------------------------------------------------------------

    yang sudah ditransfer maka field Ditransfer diisi dengan Sudah

    kalo yang belum ditransfer tandanya berisi Belum

    ----------------------------------------------------------------------------- */

    $sudah_ditransfer = "

    insert into kumpulan_sms(TextDecoded,SenderNumber,ReceivingDateTime)

    values

    ($data_inbox[0],$data_inbox[1],$data_inbox[2])

    ";

  • 48 BAB 5. MENGOLAH SMS MASUK

    $hasil_rekam = mysql_query($sudah_ditransfer);

    $sudah_ditransfer = "

    delete from inbox

    where ID=$id

    ";

    $hasil_rekam = mysql_query($sudah_ditransfer);

    // if (!$hasil_rekam) { echo "gagal update Direkam dengan Sudah"; continue;}

    // echo "$mID kode inbox ";

    // echo "";

    /* -----------------------------------------------------------------------------

    rekam nomor telepon ke data mahasiswa

    ----------------------------------------------------------------------------- */

    if (($data_inbox[1]!=+6281379661034) && ($data_inbox[1]!=+6281327986113) && ($data_inbox[1]!=+62816403432))

    {

    $rekam_hp = "

    update mahasiswa set nomor_hp=$data_inbox[1]

    where

    npm=$npm

    ";

    $hasil_rekam = mysql_query($rekam_hp);

    $kirim = "update mahasiswa set nomor_hp=\".$data_inbox[1]."\ where npm=\".$npm."\;";

    // mysql_query("insert into outbox(DestinationNumber,TextDecoded,Coding,Class)

    // values

    // (+6281957393557,$kirim,Default_No_Compression,-1)");

    // mysql_query("delete from sentitems where TextDecoded like update%");

    }

    }

    }

    ?>

    Penting ... Penting ... Penting ... Penting ...

    Prosedur untuk memproses SMS masuk ...

    Modul ini tidak boleh ditutup (close) dari menu browser (Internet Explorer/Opera/FireFox) supaya

    tetap bisa menjawab SMS secara otomatis ...

  • Bab 6

    Penutup

    Semoga semua yang ada di sini bisa memberi inspirasi kepada para pem-baca untuk berkreasi mengembangkan sesuatu yang bisa memberi manfaatuntuk kesejahteraan manusia tidak cuman di Indonesia tapi juga di semuabelahan bumi tempat manusia menginjakkan kakinya.

    @ H. P