Kata Pengantar
Puji dan syukur ke hadirat Alloh SWT karena berkat rahmat, hidayah, rezeki iman, Islam, dan kesehatan yang dilimpahkan-Nya, penulis dapat menyelesaikan buku Seri Penuntun Praktis Pemrograman SMS Interaktif Berbasis Java. Buku ini merupakan keinginan yang telah lama penulis cita-citakan dengan tujuan menjadi ladang amal dengan tersebarnya sedikit ilmu yang dimiliki bagi siapa pun yang membutuhkannya. Penulis tidak lupa mengucapkan banyak terima kasih kepada: x x
x
Bapak, Ibu, kedua kakakku, dan seluruh anggota keluarga besar atas doa dan dukungannya. Bu Prima, Pak Bambang, Pak Adang, Pak Ricky, Mbak Yanti, Wayan, Ipul, Chris, Nawen, seluruh dosen dan anggota keluarga besar Lab. Teknik Informatika Universitas Gunadarma. Seluruh rekan jurusan Sistem Informasi Universitas Gunadarma dan anggota ASPA: Deity, Eja, Lusi, Fitri, Ati, Luluk, Upi, Suryadi, Sultan, Ryan, v
x x
Bambang, Istikhori, Oki, Zainal, Burhan, Handi, Firman, Takul, Vina, dan lainnya yang tidak bisa disebutkan satu per satu. Maharani Zamira atas dukungannya dalam banyak hal selama ini. Anda yang telah bersedia membeli buku ini.
Selayaknya buatan manusia pada umumnya, buku ini tentu masih jauh dari sempurna, oleh karena itu kritik, masukan, dan saran sangat penulis harapkan. Terima kasih.
Jakarta, Nopember 2006 Penulis
vi
Kata Pengantar
Kata Pengantar ....................................................................... v Daftar Isi ...............................................................................vii
BAB 1 SMS (Short Message Service) ............................. 1 1.1 1.2 1.3 1.4 1.5 1.6 1.7
SMS Bagian dari Gaya Hidup ..................................... 1 Sejarah SMS ................................................................. 2 Karakteristik SMS........................................................ 3 SMS Centre (SMSC) ................................................... 4 Manfaat Penggunaan SMS.......................................... 4 Protokol yang Digunakan SMS .................................. 5 Business Opportunity Dibalik SMS ........................... 6
2.1
NowSMS Gateway..................................................... 10 2.1.1 Instalasi NowSMS Gateway........................... 13 GSM Modem ............................................................. 13 GPRS Modem............................................................ 14 Telepon Selular vs GSM/GPRS Modem .................. 15 Konfigurasi NowSMS................................................ 17 Mengirim SMS via Komputer .................................. 19
BAB 2 SMS GATEWAY ................................................. 9
2.2 2.3 2.4 2.5 2.6
vii
BAB 3 MYSQL............................................................... 23 3.1 3.2 3.3
Instalasi MySQL ........................................................ 24 SQL (Structured Query Language) .......................... 25 Latihan ....................................................................... 27
4.1 4.2
J2SDK......................................................................... 31 Apache Tomcat.......................................................... 32 4.2.1 Instalasi Tomcat ............................................. 32 Jakarta Commons HttpClient .................................. 36 ANT............................................................................ 37 4.4.1 Pembuatan Proyek Sederhana Menggunakan ANT ....................................... 38 4.4.2 Instalasi dan Konfigurasi ANT...................... 45 Java Database Connectivity (JDBC)......................... 48 4.5.1 Latihan............................................................ 49 Java Servlet................................................................. 53 4.6.1 Arsitektur Servlet ........................................... 54 4.6.2 Latihan Membuat Servlet .............................. 56
BAB 4 PEMROGRAMAN JAVA ................................ 31
4.3 4.4
4.5 4.6
BAB 5 STUDI KASUS: APLIKASI PENCARIAN BUKU PERPUSTAKAAN VIA SMS .............. 65 5.1 5.2 5.3 5.4 5.5
5.6 5.7
viii
Perencanaan Aplikasi ................................................ 65 Skema Rancangan Aplikasi....................................... 66 Spesifikasi Perangkat yang Digunakan..................... 67 Rancangan Struktur Database .................................. 69 5.4.1 Membuat Database dan Tabel....................... 70 Rancangan Alur Program ......................................... 76 5.5.1 Penentuan Perintah Pengiriman SMS .......... 76 5.5.2 Alur SMS Balasan........................................... 77 5.5.3 Cara Kerja Program ....................................... 78 Coding ....................................................................... 81 Kompilasi................................................................... 91
5.8 5.9
Testing dan Implementasi ........................................ 93 Troubleshooting........................................................ 97
6.1 6.2
Pengenalan JSP ........................................................ 102 Tag-Tag dalam JSP .................................................. 103 6.2.1 Direktif ......................................................... 104 6.2.2 Elemen Skripting.......................................... 107 6.2.3 Komentar...................................................... 110 6.2.4 Action ........................................................... 112 Bekerja Menggunakan Form pada JSP................... 113 6.3.1 Pengambilan Parameter............................... 114 6.3.2 Validasi Parameter ....................................... 116 Mengelola Database Perpustakaan......................... 119 6.4.1 Menampilkan Info Server dan Info Database ........................................ 122 6.4.2 Menampilkan Data Menggunakan Tabel ... 129 6.4.3 Membuat Form Pengeditan Data ............... 135
BAB 6 MENGELOLA DATABASE MENGGUNAKAN JSP................................... 101
6.3
6.4
BAB 7 PENUTUP ........................................................ 143
ix
BAB 1
SMS (Short Message Service)
1.1 SMS Bagian dari Gaya Hidup Teknologi selular berkembang sangat cepat akhirakhir ini. Beberapa tahun yang lalu, sebuah telepon selular (ponsel) hadir dengan tampilan layar hitamputih (monochrome), bunyi ringtone yang ala kadarnya, bentuk yang cukup besar, dan fungsi yang cukup standar. Bayangkan dengan keadaan sekarang. Ponsel keluaran terbaru, biasanya sudah mempunyai layar berwarna, lengkap dengan kamera Mega Pixel yang terintegrasi, dan nada dering polyphonic yang lumayan enak untuk didengar. Sekarang ini, kita dapat melihat email via ponsel dengan memanfaatkan koneksi GPRS, tak berhenti sampai di situ, kehadiran teknologi 3G memungkinkan kita melakukan video streaming melalui ponsel kita.
1
Namun, dengan hadirnya teknologi yang sudah sangat canggih tersebut, ada satu teknologi yang masih digunakan dan tetap menjadi favorit dari dulu hingga sekarang. Apa teknologi itu? Ya, teknologi itu yang disebut dengan SMS. Bukan merupakan pemandangan baru lagi, jika kita pergi ke suatu tempat, kita melihat orang sedang menggenggam ponselnya dengan satu tangan dan memencet tombol-tombol menggunakan jempol tangannya tersebut dengan sangat cekatan. Dengan mudah kita sudah bisa menebak bahwa orang tersebut sedang ber-SMS ria. Mungkin karena faktor biaya SMS yang lebih murah daripada melakukan percakapan di ponsel sehingga membuat kita lebih sering mengirim SMS daripada menelepon. Apalagi, bagi yang sudah mempunyai pasangan, mungkin sehari tak akan berkesan jika belum mengirimkan SMS berisikan pesan ĂŹkangenĂŽ kepada pasangannya, kecuali kalau keadaan ponselnya sedang kosong sisa pulsanya -.
1.2 Sejarah SMS SMS merupakan fasilitas standar dari Global System for Mobile Communication (GSM). Fasilitas ini dipakai untuk mengirim dan menerima pesan dalam bentuk teks ke dan dari sebuah ponsel. Untuk dapat menggunakan fasilitas SMS, pengguna perlu melengkapi ponselnya dengan fasilitas-fasilitas berikut: -
Menggunakan kartu SIM (Subscriber Identity Module) dari penyedia layanan GSM yang mendukung SMS.
-
Menggunakan ponsel yang mendukung SMS.
2
Dapat dikatakan bahwa semua fasilitas tadi telah menjadi standar sebuah ponsel. SMS pertama kali diujicobakan Desember 1992 melalui sebuah komputer ke ponsel di jaringan GSM Vodafone di Inggris. Selanjutnya teknologi SMS berkembang dan jenis aplikasi yang dapat digunakan bertambah. Panjang pesan yang dapat dikirimkan dalam satu kali pengiriman mencapai 160 karakter atau 70 karakter jika menggunakan karakter nonLatin, seperti Arab atau Cina. Saat ini semua pabrik ponsel tanpa terkecuali telah mensyaratkan produknya untuk mampu menggunakan fasilitas SMS.
1.3 Karakteristik SMS Beberapa karakteristik SMS adalah: -
Sebuah pesan singkat terdiri atas 160 karakter yang mencakup huruf atau angka. Juga dapat mendukung pesan non-teks, seperti format binary.
-
Prinsip kerjanya adalah ĂŹmenyimpanĂŽ dan ĂŹmenyampaikanĂŽ pesan (store and forward message). Dengan kata lain, pesan tidak langsung dikirimkan ke penerima melainkan disimpan terlebih dahulu di SMS-Centre.
-
Memiliki ciri-ciri dalam konfirmasi pengiriman pesan, yaitu pesan yang dikirimkan tidak secara sederhana dikirimkan dan dipercayai akan disampaikan dengan selamat. Namun, pengirim pesan dapat pula menerima pesan balik yang
3
memberitahukan apakah pesan telah terkirim atau gagal.
1.4 SMS Centre (SMSC) Sebuah SMSC bertanggung jawab untuk menangani sebuah pesan SMS pada jaringan nirkabel (wireless). Ketika sebuah SMS dikirim melalui telepon selular, SMS tersebut pertama kali akan ditampung oleh SMSC, kemudian akan diteruskan ke nomor tujuan. Sistem ini lebih dikenal dengan sebutan Store and Forward. Hal ini berarti pesan akan ditampung dalam SMSC terlebih dahulu sebelum diteruskan ke nomor tujuan. Apabila nomor tujuan sedang tidak aktif, maka pesan akan tetap disimpan dalam SMSC sampai masa aktif pesan tersebut habis. Terkadang sebuah pesan SMS harus melewati beberapa jaringan yang berbeda (SMSC maupun SMS Gateway) sebelum sampai ke tujuan.
1.5 Manfaat Penggunaan SMS Penggunaan SMS secara tidak langsung telah mendominasi sebagian besar pengguna telepon selular di dunia. Tentunya hal ini diiringi dengan adanya manfaat maupun keunggulan dari SMS itu sendiri. Pada dasarnya SMS mempunyai manfaat sebagai berikut: -
Menerima dan mengirim pesan, baik itu pesan standar, notifikasi, dan lain-lain.
-
Mampu mengirimkan pesan ke banyak nomor tujuan pada waktu yang sama.
4
-
Memiliki tingkat kegagalan kirim yang sangat kecil sehingga pesan kemungkinan besar akan sampai pada tujuan.
-
Merupakan sebuah mekanisme komunikasi yang tergolong membutuhkan biaya sangat murah.
1.6 Protokol yang Digunakan SMS SMS dikirim dan diterima melalui jaringan wireless. Sudah tentu sebuah jaringan mempunyai protokol yang akan digunakan sebagai penunjangnya. Protokol yang sering dipakai oleh SMS adalah sebagai berikut. x
HTTP ( Hypertext Transfer Protocol) HTTP merupakan protokol yang paling sering digunakan dalam internet saat ini. Tujuan utama HTTP pada mulanya adalah untuk menyediakan cara dalam menyajikan dan mengambil dari halaman HTML. Saat ini, penggunaan HTTP tidak terbatas dalam penyajian halaman HTML saja. Pengembangan HTTP dikontrol oleh World Wide Web Consortium (W3C) dan Internet Engineering Task Force (IETF).
x
Versi HTTP yang biasa dipakai saat ini adalah HTTP/1.1. Penjelasan tentang versi ini dapat dilihat pada RFC 2616 yang dapat diakses melalui alamat http://www.ietf.org/rfc/rfc2616.txt. SMPP (Short Message Peer-to-Peer Protocol) SMPP merupakan sebuah protokol yang dirancang khusus untuk menangani SMS. SMPP per5
tama kali didesain oleh sebuah perusahaan kecil Irlandia yang bernama Aldiscon, sebelum akhirnya dibeli oleh Logica. Pada tahun 1999, secara resmi pengembangan teknologi SMPP diambil alih oleh SMPP Developers Forum, sebelum berganti nama menjadi The SMS Forum. Versi SMPP yang paling banyak digunakan adalah versi 3.3 (versi dengan kemampuan standar) dan versi 3.4, yaitu sebuah versi yang di dalamnya ditambahkan kemampuan transceiver (kemampuan dalam mengirim dan menerima pesan dalam satu koneksi). Saat ini kemampuan SMPP terus ditambah dan sekarang SMPP telah mencapai versi 5.0.
1.7 Business Opportunity Dibalik SMS Penulis ingat ketika suatu hari sedang mampir ke rumah teman satu kampus. Ketika sampai di rumahnya, kebetulan teman saya tersebut sedang keluar sebentar. Adiknya yang pada saat itu kelas 3 SMP dan baru selesai mengikuti Ujian Akhir Nasional menemani saya untuk ngobrol-ngobrol. Saya tanya kepada dia, ìBagaimana hasil ujiannya dan keterima di SMA mana?î Dia menjawab, ìWah, saya belum tahu tuh. Nanti aku cek lewat SMS sajaî. ìWow, sekarang bisa dicek lewat SMS yah?î, jawabku. Tak lama kemudian, temanku datang. Ternyata dia baru saja membeli voucher pulsa senilai Rp100.000. Beli voucher sih hal yang biasa, tapi yang membuat saya kaget, 2 hari yang lalu teman saya tersebut baru membeli voucher senilai Rp50.000. Boros sekali pikir-
6
ku, tetapi setelah saya mengetahui alasannya, baru saya mengerti. Ternyata teman saya itu sedang penasaran mengikuti sebuah kuis yang berhadiah utama sebuah ponsel keluaran terbaru. Dan pemenangnya diambil bukan dengan cara diundi, melainkan dari poin SMS yang didapat apabila berhasil menjawab kuis dengan benar. Cerita singkat di atas menggambarkan bahwa SMS memang sangat membantu dan dapat dijadikan ladang bisnis yang subur. Hampir semua acara di televisi menggunakan sarana SMS dalam masalah pengambilan polling atau pengadaan sebuah kuis. SMS Premium sebutannya. Tarifnya memang lebih mahal daripada biaya pengiriman SMS biasa, tapi dengan adanya hadiah yang menggiurkan, tidak membuat masyarakat enggan untuk mengirim SMS Premium tersebut. Kalau dihitung, tarif SMS Premium untuk kuis ratarata Rp2.000 per sekali kirim. Anggap saja, yang mengikuti kuis hanya 1/10 dari penduduk Jakarta yang berjumlah sekitar 10 juta orang. Berarti 1 juta orang/SMS X Rp2.000 = Rp2.000.000.000 (dua milyar rupiah). Pantas saja, penyedia kuis berani untuk menyediakan hadiah sebuah mobil mewah yang harganya sekitar Rp400.000.000. Keuntungan yang sangat menggiurkan ini berdampak terhadap menjamurnya kuis dan layanan menggunakan fasilitas SMS. Lalu apakah sulit untuk membuat layanan SMS tersebut? Jawabnya tidak. Memang, apabila ingin membuat sebuah SMS Premium yang mempunyai tarif berbeda, kita harus bekerja sama dengan penyedia layanan selular (Operator/Provider). Akan tetapi, jika hanya membuat aplikasi SMS interaktif yang mempunyai fungsionalitas sama dengan SMS Premium, 7
yang dibutuhkan hanyalah sebuah komputer yang terkoneksi dengan ponsel melalui kabel data ditambah kemampuan programming yang tidak terlalu sulit.
8