Sanksi Pelanggaran Pasal 72 Undang-undang Nomor 19 Tahun 2002 Tentang Hak Cipta 1. Barangsiapa dengan sengaja melanggar dan tanpa hak melakukan perbuatan sebagaimana dimaksud dalam Pasal 2 Ayat (1) atau Pasal 49 Ayat (1) dan Ayat (2) dipidana dengan pidana penjara masing-masing paling singkat 1 (satu) bulan dan/atau denda paling sedikit Rp 1.000.000,00 (satu juta rupiah), atau pidana penjara paling lama 7 (tujuh) tahun dan/atau denda paling banyak Rp 5.000.000.000,00 (lima miliar rupiah). 2. Barangsiapa dengan sengaja menyiarkan, memamerkan, mengedarkan, atau menjual kepada umum suatu ciptaan atau barang hasil pelanggaran hak cipta atau hak terkait sebagai dimaksud Ayat (1) dipidana dengan pidana penjara paling lama 5 (lima) tahun dan/atau denda paling banyak Rp 500.000.000,00 (lima ratus juta rupiah).
Membangun SMS Gateway Berbasis Web dengan Codeigniter Daud Edison Tarigan www.bukulokomedia.com
MEMBANGUN SMS GATEWAY BERBASIS WEB DENGAN CODEIGNITER Perpustakaan Nasional : Katalog Dalam Terbitan (KDT) Penulis : Daud Edison Tarigan MEMBANGUN SMS GATEWAY BERBASIS WEB DENGAN CODEIGNITER - Cet. I. - Yogyakarta : Penerbit Lokomedia, 2012 130 hlm; 15 x 23 cm ISBN : 978-979-1758-81-9 Penerbit Lokomedia, Cetakan Pertama : Januari 2012 Editor : Lukmanul Hakim Cover : Subkhan Anshori Layout : Lukmanul Hakim Diterbitkan pertama kali oleh : Penerbit Lokomedia Jl. Jambon, Perum. Pesona Alam Hijau 2 Kav. B-4, Kricak Yogyakarta 55242. email : redaksi@bukulokomedia.com website : www.bukulokomedia.com Copyright Lokomedia, 2012 Hak Cipta dilindungi oleh Undang-Undang Dilarang memperbanyak, mencetak ataupun menerbitkan sebagian maupun seluruh isi buku ini tanpa izin tertulis dari penerbit. iv
Kata Pengantar Perkembangan dunia saat ini sangat dipengaruhi oleh perkambangan teknologi informasi. Teknologi informasi ini memungkinkan terjadinya perpindahan data informasi dengan sangat cepat. Perkembangan ini mau tidak mau juga harus diikuti oleh setiap individu maupun instansi yang tidak ingin ketinggalan dalam perkembangan dunia Teknologi Informasi. Saat ini sudah banyak sekali perusahaan maupun institusi yang memanfaatkan aplikasi dari Teknolgi Informasi ini, terutama aplikasi yang berbasis website. Dengan adanya aplikasi berbasis website ini memungkinkan suatu perusahaan yang memiliki banyak cabang bisa terkoneksi melalui aplikasi berbasis website tersebut. Aplikasi berbasis website ini sangat berkembang sekali saat ini. Ada banyak sekali aplikasi berbasis website yang bisa kita kembangkan sendiri sesuai dengan keinginan kita. Bahkan ada banyak sekali aplikasi tersebut yang dibangun dengan memanfaatkan aplikasi open source. Hal ini membuat aplikasi tersebut dapat kita kembangkan dengan legal tanpa harus membeli licence dari aplikasi tersebut. Diantara aplikasi opensource tersebut adalah CodeIgniter PHP Framework dan Gammu SMS Gateway. Kedua aplikasi ini dapat kita gabungkan menjadi satu aplikasi yang utuh menjadi SMS Gateway berbasis website. SMS Gateway ini memungkinkan kita untuk mengirimkan SMS ke banyak penerima sekaligus. Selain itu, kita juga bisa mengelola database phonebook dan juga database SMS. Mengingat bahwa aplikasi SMS Gateway ini berbasis website, maka setiap PC yang terhubung dengan aplikasi ini juga dapat mengirimkan SMS tanpa harus menginstall aplikasi tersebut, cukup mengakses aplikasi ini melalui browser. Buku ini disusun berdasarkan pengalaman penulis dalam mengembangkan aplikasi SMS Gateway berbasis website sejak tahin 2009 yang lalu. Pembuatan aplikasi ini dijelaskan dengan tuntas dalam buku ini sehingga diharapkan setiap pembaca buku ini dapat membangun aplikasi SMS Gateway sendiri. Selain itu, buku ini juga disertai dengan CD pendukung yang berisi semua file-file yang dibutuhkan dalam aplikasi ini. Akhir kata, jika pembaca memiliki masukan dan saran tentang buku ini, atau ingin menanyakan pertanyaan yang berkaitan dengan buku ini dapat menghubungi saya melalui email ke alamat daud7_aja@yahoo.co.id atau silahkan masuk ke website penulis yaitu http://aplikasiphp.com. Medan, Juni 2011 Penulis v
Halaman ini Sengaja Dikosongkan www.bukulokomedia.com vi
Daftar Isi BAB 1. Mengenal SMS Gateway... 1 1.1. Latar Belakang... 2 1.2. Manfaat SMS Gateway... 2 1.3. Cara Kerja SMS Gateway... 2 1.4. Perangkat yang Dibutuhkan... 3 BAB 2. Instalasi Paket XAMPP... 5 2.1. Mengenal XAMPP... 6 2.2. Instalasi XAMPP... 6 BAB 3. Mengenal dan Memulai CodeIgniter...13 3.1. Sejarah CodeIgniter...14 3.2. Keunggulan CodeIgniter...14 3.3. Memahami Konsep MVC pada CodeIgniter...15 3.4. Mendownload CodeIgniter...16 3.5. Instalasi CodeIgniter...16 3.6. Mengenal Struktur Folder pada CodeIgniter...18 BAB 4. Mengenal Gammu SMS Gateway...23 4.1. Apa itu Gammu?...24 4.2. Keunggulan Gammu...24 4.3. Manfaat Gammu SMS Gateway...24 4.4. Mendownload Gammu SMS Gateway...24 BAB 5. Mengenal DX_Auth: Authentication System...27 5.1. Pengenalan DX_Auth...28 5.2. Pengenalan Role...28 vii
5.3. Pengenalan User Permission... 28 5.4. Integrasi DX_Auth ke dalam CodeIgniter... 28 BAB 6. Persiapan Database SMS Gateway... 31 6.1. Persiapan dan Setting Database... 32 6.2. Instalasi Database Gammu... 33 6.3. Instalasi Database DX_Auth... 36 BAB 7. Membuat Halaman Utama (Home)... 37 7.1. Membuat Layout Website... 38 7.2. Membuat File Controller... 40 7.3. Membuat File Model... 41 7.4. Membuat File View... 42 7.5. Membuat Routing ke Halaman Utama... 43 7.6. Integrasi DX_Auth ke dalam Web SMS Gateway... 45 BAB 8. Membuat Halaman Phonebook Group... 49 8.1. Membuat File View Phonebook Group... 50 8.2. Membuat Function Phonebook Group pada Controller... 51 8.3. Membuat Function Phonebook Group pada Model... 53 8.4. Membuat Routing ke Halaman Phonebook Group... 55 8.5. Me-load Helper Form... 55 8.6. Input Data Phonebook Group... 56 8.7. Update dan Hapus Data Phonebook Group... 57 BAB 9. Membuat Halaman Phonebook... 61 9.1. Membuat File View Phonebook... 62 9.2. Membuat Function Phonebook pada Controller... 64 9.3. Membuat Function Phonebook pada Model... 65 9.4. Membuat Routing ke Halaman Phonebook... 67 viii
BAB 10. Membuat Halaman Inbox SMS... 71 10.1. Membuat File View Inbox SMS... 72 10.2. Membuat Function Inbox SMS pada Controller... 73 10.3. Membuat Function Inbox SMS pada Model... 75 10.4. Membuat Routing ke Halaman Inbox SMS... 76 BAB 11. Membuat Halaman Send SMS... 79 11.1. Membuat File View Send SMS... 80 11.2. Membuat Function Send SMS pada Controller... 81 11.3. Membuat Function Send SMS pada Model... 83 11.4. Membuat Routing ke Halaman Send SMS... 85 BAB 12. Membuat Halaman Outbox SMS... 89 12.1. Membuat File View Outbox SMS... 90 12.2. Membuat Function Outbox SMS pada Controller... 91 12.3. Membuat Function Outbox SMS pada Model... 92 12.4. Membuat Routing ke Halaman Outbox SMS... 93 BAB 13. Membuat Halaman Sent Items... 95 13.1. Membuat File View Sent Items... 96 13.2. Membuat Function Sent Items pada Controller... 97 13.3. Membuat Function Sent Items pada Model... 99 13.4. Membuat Routing ke Halaman Sent Items...100 BAB 13. Memadukan Web dengan Gammu...101 14.1. Instalasi dan Deteksi Modem...102 14.2. Setting Gammu SMS Gateway...104 14.3. Testing Setting Gammu... 106 14.4. Instalasi Service Gammu...108 14.5. Testing Kirim SMS Via Web...111 ix
BAB 15. Panduan Menggunakan SMS Gateway... 115 15.1. Mengaktifkan Service XAMPP dan Gammu... 116 15.2. Memulai Aplikasi SMS Gateway dalam Website... 117 15.3. Fitur-Fitur SMS Gateway... 120 15.4. Mengelola Menu SMS Gateway... 121 15.4.1. Menu Send SMS...122 15.4.2. Menu Sent Items...124 15.4.3. Menu Inbox SMS...124 15.4.4. Menu Change Password...124 15.4.5. Menu Logout...124 BAB 16. Pengembangan Aplikasi SMS Gateway... 127 Daftar Pustaka... 131 Profil Penuli... 133
BAB I Mengenal SMS Gateway
Bab 1 Mengenal SMS Gateway 1.1 Latar Belakang Perkembangan dunia saat ini sangat dipengaruhi oleh perkembangan teknologi informasi yang memungkinkan terjadinya perpindahan data informasi dengan sangat cepat. Hal ini menuntut setiap individu ataupun institusi untuk terus mengikuti perkembangan Teknologi Informasi. Salah satu teknologi informasi yang sangat berkembang saat ini adalah Web Programming. Web Programming bisa dikembangkan lagi menjadi berbagai aplikasi praktis yang bisa diterapkan dalam kehidupan kita, salah satunya adalah SMS Gateway. 1.2 Manfaat SMS Gateway SMS Gateway merupakan pintu gerbang bagi penyebaran informasi dengan menggunakan SMS. Anda dapat menyebarkan pesan ke banyak nomor secara otomatis dan cepat yang langsung terhubung dengan database nomor-nomor ponsel saja, tanpa harus mengetik ratusan nomor dan pesan di ponsel Anda, karena semua nomor akan diambil secara otomatis dari database tersebut. Selain itu, dengan adanya SMS Gateway, Anda dapat mengelola pesan-pesan yang ingin dikirim. Dengan menggunakan program tambahan yang dapat dibuat sendiri, pengirim pesan dapat lebih fleksibel dalam mengirim berita, karena biasanya pesan yang ingin dikirim berbeda-beda untuk masing-masing penerimanya. 1.3 Cara Kerja SMS Gateway Cara kerja SMS Gateway pada dasarnya hampir sama dengan mengirimkan SMS melalui handphone pada umumnya. Hanya saja, bedanya adalah perangkat pengirimnya bukan lagi handphone, tetapi Modem GSM. Nah, modem inilah yang dikendalikan oleh PC menggunakan aplikasi SMS Gateway yang akan kita buat. Adapun blok diagram sistem SMS Gateway dapat dilihat pada gambar 1.1. 2 SMS Gateway Berbasis Web dengan Codeigniter
Gambar 1.1 Blok Diagram SMS Gateway 1.4 Perangkat yang Dibutuhkan Dalam membangun aplikasi SMS Gateway diperlukan beberapa perangkat pendukung, diantaranya: 1. PC Server (Minimal : Pentium 3, 256 MB RAM, Harddisk 40 GB) 2. Modem GSM USB lengkap dengan SIM Card 3. Driver Modem GSM 4. Gammu for Windows 5. Apache + MySQL (paket XAMPP) Sebagai gambaran, tentunya Anda sudah tidak asing dengan perangkat keras (hardware) berupa PC, tapi mungkin ada yang belum pernah lihat bentuk dari perangkat Modem GSM USB, sebenarnya ada yang bentuknya sama persis dengan bentuk USB pada umumnya, tapi ada juga yang bentuknya lebih besar, intinya Modem tersebut bisa digunakan (support) untuk SMS Gateway. Salah satu contoh Modem GSM untuk SMS Gateway dapat dilihat pada gambar 1.2. Bab I. Mengenal SMS Gateway 3
Gambar 1.2 Modem GSM USB untuk SMS Gateway 4 SMS Gateway Berbasis Web dengan Codeigniter