Mengakses Database MySQL Melalui Short Message Service (SMS

advertisement
Mengakses Database MySQL Melalui Short Message
Service (SMS) Menggunakan Pemrograman Java
Suharnawi
Abstract: An application made to produce an information usually require a database as data storage.
Various databases can be used for the data container. One of the database that widely used is MySQL.
Various data access can be execute to get information. The good information is it can be accessed easily
and has a value of information such as what to expect. Computer technology, both software and
hardware developed to make process easier . At the time this information also can be accessed via
mobile phone. Many services that are often used with the use of this service. Whether the need for
pooling, quizzes, and any consulting services can be accessed by mobile phone to get information
processed by computer. There is a shift in the use of information presented through the Web switch to
the information that can be accessed simply by using mobile SMS service. By the various considerations
that many people use mobile phones more often than using the computer. With the proximity of this
facility on mobile sms is one of the alternatives to access data processed by computer
Keyword : connection, mysql, sms, database
PENDAHULUAN
Sekarang ini adalah suatu era dimana informasi merupakan suatu kebutuhan untuk dapat bertahan dan
berkembang dalam berbagai bidang usaha. Pada era pendahulunya yaitu era industrialisasi dimana pada saat itu
siapa yang dapat mengusai industri dan memproduksi suatu produk dapat memenangkan pasar, maka pada saat ini
informasi mempunyai peran yang sangat menentukan produk tersebut dapat diterima oleh konsumen.
Informasi yang dibutuhkan tentunya dalam penyajiannya tidak dapat lepas dari database.. Database dapat
diartikan sekumpulan data yang terdiri dari satu table atau lebih yang saling berkaitan antara table yang satu
dengan yang lainnya dalam menyajikan suatu informasi yang dibutuhkan oleh pengguna atau pengolah data
tersebut.. Ada berbagai macam database yang bisa digunakan untuk menyimpan data. Ada yang yang harus
membayar dan ada yang sifatnya gratis untuk digunakan. Salah satu database yang mempunyai sifat gratis
diantaranya adalah MySQL. Tidak ada salahnya data yang digunakan untuk melakukan pengolahan data dibuat
dengan menggunakan MySQL.
Database Mysql mempunyai interface ( antarmuka ) dengan berbagai macam bahasa pemrograman yang
berorientasi object. Bahasa Pemrograman yang mendukung Mysql antara lain adalah PHP,Visual Basic, Perl,
Java, Python, C, C++ , dan lain-lain.
Suharnawi adalah Dosen Fakultas Ilmu Komputer UDINUS Semarang
53
54
Techno.Com, Vol. 8 No. 1, Mei 2009
Database dalam pemrograman merupakan tempat penyimpanan data. Jika data tersebut tidak disimpan maka
informasi yang pernah dimunculkan pada kesempatan lain tidak dapat dimunculkan kembali.
Untuk mendapatkan informasi, sekarang ini banyak alat yang dapat digunakan. Salah satu alat yang banyak
dimiliki adalah handphone. Hanphone mempunyai sifat sering dibawa kemana-mana karena bentuknya yang kecil
dan mudah dioperasikan. Walaupun bentuknya kecil akan tetapi kemampuannya dapat dimaksimalakan untk
mengakses informasi yang tidak kalah pentingnya informasi-informasi yang lain.
Karena kemudahan mengoperasikan handphone, banyak suatu aplikasi yang dibuat untuk menyediakan informasi
yang dapat diakses lewat handphone. Contoh aplikasi yang sering kita jumpai misalkan untuk kuis, pooling, dan
banyak lagi acara menarik lainnya yang menggunakan handphone untuk berkomunilasi.
PEMBAHASAN
Database MySql yang digunakan pada Java tidak dapat secara langsung dihubungkan. Untuk menghubungkan
antara database MySQL dengan Java dibutuhkan adanya JDBC. Dengan JDBC ini maka database yang tersimpan
pada MySQL dapat dibaca atau dimodifikasi untuk proses pengolahan data..
Penggunaan MySQL dalam pemrograman tentunya akan memanfaatkan adanya suatu database. Database dapat
diartikan sebagai sekumpulan data yang terdiri dapat lebih dari satu table yang saling berkaitan antara table yang
satu dengan yang lainnya untuk mewujudkan suatu informasi yang dibutuhkan oleh pengguna atau pengolah data
tersebut.
Mysql merupakan sebuah proyek open source database dibawah lisensi GNU GPL (General Public License).
Software
Mysql
dapat
didapatkan
secara
gratis
dengan
cara
mendownload
pada
http://dev.mysql.com/downloads/.. Database Mysql mempunyai interface ( antarmuka ) dengan berbagai macam
bahasa pemrograman yang ada pada saat ini , Bahasa Pemrograman yang mendukung Mysql antara lain adalah
PHP,Visual Basic, Perl, Java, Python, C, C++ , dan lain-lain.
Ada beberapa cara yang dapat digunakan untuk membuat koneksi antara MySQL dengan Java. Masing-masing
tentunya mempunyai bentuk atau urutan langkah yang berbeda walaupun hubungan yang terbentuk pada
dasaranya sama. Berikut adalah bentuk koneksi yang dapat dilakukan :
public LibraryManager()
{
try
{
Class.forName(“com.mysql.jdbc.Driver”);
con = DriverManager.getConnection(
“jdbc:mysql://localhost/perpustakaan”,”root”,”nawi”);
System.out.println(“Koneksi database sukses”);
}
catch(ClassNotFoundException e)
{
e.printStackTrace();
Mengakses Database MySQL Melalui Short Message Service (SMS) (Suharnawii)
55
}
catch(SQLException e)
{
e.printStackTrace();
}
}
Aplikasi yang dibuat pada tulisan ini adalah SMS Gateway dengan menggunakan java untuk mengakses database
MySql. Beberapa persiapan untuk membuat aplikasi adalah penyusunan / pendefinisian struktur folder yang
benar. Untuk membuatnya dapat dilakukan dengan memperhatikan susunan folder sebagai berikut :
 Kode program disimpan pada folder /perpusok/src
 Hasil kompilasi disimpan pada /perpusok/WEB-INF/classes
 Library file / file .jar disimpan pada folder /perpusok/WEB-INF/lib
Gambar 1. Struktur Folder
Kompilasi Program
Setelah semua kode program telah dituliskan berikutnya lakukan kompilasi dengan menggunakan Apache ant.
Perintah untuk melakukan kompilasi adalah sebagai berikut :
prompt> ant deploy
Dengan perintah tersebut maka proses kompilasi akan dimulai dengan mencari file built.xml dan sesuai isinya
akan dilakukan proses kompilasi serta pengkopian file-file yang diperlukan kedalam folder webapps dari apachetomcate berada.
Proses kompilasi yang berhasil akan ditunjukkan dengan adanya keterangan BUILD SUCCESSFUL
Techno.Com, Vol. 8 No. 1, Mei 2009
56
Gambar 2. Tampilan kompilasi menggunakan apache ant
Menjalakan Hasil Kompilasi Program
Cobalah jalankan program yang telah dibuat dengan menggunakan browser dengan perintah sebagai berikut :
http://127.0.0.1:8800/perpusok/Handler
perlu diperhatikan bahwa hasil kompilasi yang telah ada akan disimpan juga ke dalam folder apache/webapps, dan
dapat dicek dengan melihat daftar aplikasi yang sudah aktif dengan menggunakan tomcat manager, seperti
tampilan berikut :
Mengakses Database MySQL Melalui Short Message Service (SMS) (Suharnawii)
57
Gambar 3. Tampilan apache tomcat manager
Hasil Eksekusi Program
Hasil program SMS Interaktif dapat dilihat sebagai berikut :
Gambar 4. Tampilan browser menjalankan aplikasi
Techno.Com, Vol. 8 No. 1, Mei 2009
58
Persiapan Aplikasi Untuk diakses ke Handphone
Setting Modem Hand Phone
Agar aplikasi dapat berjalan perlu dilakukan pengaturan peralatan. Aplikasi SMS Gateway ini membutukan
modem. Pada ujicoba aplikasi ini menggunakan modem Hp Nokia 6100. Langkah pengaturan yang dapat
dilakukan adalah sebagai berikut :
 Dari Control Panel Pilih Phone and modem Option
 Pilih Tab Modem
 Pilih Add
 Pilihlah modem sesuai dengan modem yang akan digunakan
 Jika sudah selesai pilih OK
Gambar 5. Tampilan Control Panel
Mengakses Database MySQL Melalui Short Message Service (SMS) (Suharnawii)
59
Lakukan pengecekan Modem
Untuk memastikan bahwa handphone yang dijadikan sebagai modem sudah benar-benar terpasang dengan baik,
maka perlu dilakukan pengecekan modem dari Control Phanel, Modem, dan perhatikan bahwa modem yang
dimaksud sudah benar-benar telah ditemukan. Perhatikan Gambar 6 berikut ini untuk proses pengecekan modem.
Gambar 6. Jendela Phone and Modem Option
Mengecek Port
Port yang digunkan dapat dicek seperti tampak pada Gambar 7 sebagai berikut :
60
Techno.Com, Vol. 8 No. 1, Mei 2009
Gambar 7. Jendela Properties Modem
Setting Software Now SMS
Aplikasi SMS Gateway yang dibahas disini menggunakan software bantu Now SMS. Dengan beberapa
pengaturan sebagai berikut :
 Jalankan Software Now SMS
 Tentukan Modem yang digunakan dengan memilih tab SMSC
 Pilih Add Modem agar tertampil pada SMSC Connections
 Cobalah Coneksinya dengan memilih pilihan Test
 Jika berhasil akan dimunculkan jendela yang menginformasikan Modem successfully tested !
Mengakses Database MySQL Melalui Short Message Service (SMS) (Suharnawii)
61
Gambar 8. Jendela Pengaturan Modem Koneksi
Gambar 9. Jendela Modem tested
Techno.Com, Vol. 8 No. 1, Mei 2009
62
Gambar 10. Jendela pengaturan alamat koneksi
Aktifkan service SMS Gateway
Untuk mengaktifkan layanan perlu dilakukan pengaturan pada pilihan SMS Gateway Service. Berilah tanda cek
pada isian Rus as a service seperti tampak pada Gamabar 11 berikut ini :
Mengakses Database MySQL Melalui Short Message Service (SMS) (Suharnawii)
63
Gambar 11. Pengaturan Service SMS Gateway
Mencoba NOWSMS
Perintah yang digunakan adalah http://127.0.0.1:8800 atau http://localhost:8800
64
Techno.Com, Vol. 8 No. 1, Mei 2009
Gambar 12. Jendela Layana Now SMS
Databases
Databases perlu disiapkan dengan nama perpustakaan, dan tabel yang perlu dibuat adalah katalog dengan atribut
seperti tampilan berikut ini :
Gambar 13. Jendela MySql
Mengakses Database MySQL Melalui Short Message Service (SMS) (Suharnawii)
65
Jalankan Apache Tomcat
Aplikasi yang sudah berhasil melakukan koneksi dengan database dapat dilihat keterangan yang dimunculkan
pada consol Tomcat seperti baris paling bawah tampilan berikut :
Gambar 14. Jendela aktifasi Server Apache Tomcat
Kode Program SMS Interaktif
Kode program sms interaktif menggunakan java terdiri dari beberapa file program sebagai berikut :
 HandlerServlet.java
 LibraryManager.java
 Sender.java
 ContentBean.java
 web.xml
Berikut ini adalah rincian kode program dari masing-masing program tersebut di atas :
1. Program HandlerServlet.java
Kode Program HandlerServlet.java adalah sebagai berikut :
package sms.perpustakaan.http;
import java.io.*;
Techno.Com, Vol. 8 No. 1, Mei 2009
66
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
import sms.perpustakaan.service.*;
public class HandlerServlet extends HttpServlet
{
Sender sender;
LibraryManager lib;
public void init()
{
try
{
lib = new LibraryManager();
sender = new Sender("http://127.0.0.1:8800/");
}
catch(Exception e)
{
e.printStackTrace();
}
}
public void doGet(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException
{
String sms = req.getParameter("sms");
String msisdn = req.getParameter("msisdn");
if (sms == null || msisdn == null)
{
res.getWriter().println("Aplikasi sudah OK");
}
else
{
lib.smsParses(msisdn,sms);
Properties prop = new Properties();
prop.setProperty("Text",lib.getResult());
prop.setProperty("PhoneNumber",msisdn);
sender.send(prop);
}
}
public void doPost(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException
{
doGet(req, res);
}
}
2. Program LibraryManager.java
Kode Program LibraryManager.java adalah sebagai berikut :
package sms.perpustakaan.service;
Mengakses Database MySQL Melalui Short Message Service (SMS) (Suharnawii)
67
import java.sql.*;
public class LibraryManager
{
public Connection con;
private ContentBean cb = new ContentBean();
private static final String KODE_SALAH =
"Kode yang Anda masukkan salah, ketik Buku<spasi>NO_ISBN";
private static final String BUKU_TIDAK_TERSEDIA =
"Maaf, buku yang Anda maksud tidak terdapat dalam database kami";
//jika buku ditemukan………………………………………………………………
private String BUKU_TERSEDIA(String judul, String pengarang,
String penerbit, String status)
{
return "Judul : " + judul + " Pengarang : " + pengarang +
" Penerbit : " + penerbit + " Status : " + status;
}
public LibraryManager()
{
try
{
Class.forName("com.mysql.jdbc.Driver");
con = DriverManager.getConnection(
"jdbc:mysql://localhost/perpustakaan","root","nawi");
System.out.println("Koneksi database sukses");
}
catch(ClassNotFoundException e)
{
e.printStackTrace();
}
catch(SQLException e)
{
e.printStackTrace();
}
}
public void smsParses(String msisdn, String sms)
{
sms.trim();
String[] str = sms.split(" ");
if(str[0].toUpperCase().startsWith("BUKU") == false)
cb.setResult(KODE_SALAH);
else
cb.setResult(BUKU_TIDAK_TERSEDIA);
System.out.println(getResult());
}
private String findBook(String isbn)
{
try
{
Statement st = con.createStatement();
String sql = "SELECT * FROM katalog
Techno.Com, Vol. 8 No. 1, Mei 2009
68
WHERE isbn = '"+isbn+"'";
String status = "TErsedia";
ResultSet rs = st.executeQuery(sql);
if (rs.next())
{
if (rs.getInt(5) != 1)
status = "Dipinjam";
return BUKU_TERSEDIA(rs.getString(2),
rs.getString(3),rs.getString(4), status);
}
}
catch(SQLException e)
{
e.printStackTrace();
}
return BUKU_TIDAK_TERSEDIA;
}
public String getResult()
{
return cb.getResult();
}
}
3. Program Sender.java
Kode Program Sender.java adalah sebagai berikut :
package sms.perpustakaan.service;
import java.io.*;
import java.util.*;
import org.apache.commons.httpclient.*;
import org.apache.commons.httpclient.methods.*;
public class Sender
{
private final HttpClient gatewayClient = new HttpClient();
private String url;
public Sender(String url)
{
this.url = url;
method = new GetMethod(url);
}
HttpMethod method = null;
public String send(Properties params)
{
int size = params.size();
NameValuePair[] param = new NameValuePair[size];
Enumeration keys = params.keys();
Mengakses Database MySQL Melalui Short Message Service (SMS) (Suharnawii)
69
int i = 0;
while (keys.hasMoreElements())
{
String key = keys.nextElement().toString();
String value = params.getProperty(key);
param[i++] = new NameValuePair(key, value);
}
method.setQueryString(param);
//Execute the methode..............
int statusCode = -1;
//we will retry up to 3 times..........
for (int attempt = 0; statusCode == -1 && attempt < 3; attempt++)
{
try
{
statusCode = gatewayClient.executeMethod(method);
System.out.println("\nSmsSender URL : " + url +
"?" + method.getQueryString());
}
catch(HttpRecoverableException e)
{
System.err.println(" a recoverable exception occured,
retrying." + e.getMessage());
}
catch(IOException e)
{
System.err.println("Failed to download file.");
}
}
if (statusCode == -1)
{
System.err.println("Failed to recover from exception.");
}
byte[] responseBody = method.getResponseBody();
method.recycle();
String response = null;
if (responseBody == null || responseBody.length == 0)
{
response = "";
}
else
{
response = new String(responseBody);
}
return response;
}
}
4. Program ContentBean.java
Techno.Com, Vol. 8 No. 1, Mei 2009
70
Kode Program ContentBean.java adalah sebagai berikut :
package sms.perpustakaan.service;
public class ContentBean
{
private String result;
public String getResult()
{
return result;
}
public void setResult(String result)
{
this.result = result; }
}
5. Program web.xml
Kode Program web.xml adalah sebagai berikut :
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app>
<display-name>
.:. My Fist SMS Servlet .:.
</display-name>
<description>
.:. SMS Servletku .:.
</description>
<servlet>
<servlet-name>SmsServlet</servlet-name>
<servlet-class>sms.perpustakaan.http.HandlerServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>SmsServlet</servlet-name>
<url-pattern>/Handler</url-pattern>
</servlet-mapping>
</web-app>
KESIMPULAN
Dari uraian di atas dapat ditarik beberapa kesimpulan sebagai berikut :
1. Informasi sangat dibutuhkan untuk pengambilan keputusan, tentunya informasi tersebut harus dapat diakses
dengan menggunakan perangkat yang mudah digunakan.
2. Handphone dapat mengirimkan data ke aplikasi sebagai request, yang selanjutkan diproses (response)
informasi akan diberikan sesuai dengan permintaan dari pengirim.
3. Banyaknya pemakai handphone yang sering membawa handphonenya kemana pemakai berada tentunya
menjadikan informasi yang dibutuhkan akan mudah didapatkan dan dapat dilakukan dimana pemakai berada..
Mengakses Database MySQL Melalui Short Message Service (SMS) (Suharnawii)
71
4. Informasi yang dikirimkan melalui handphone juga sama validnya jika dibandingkan dengan informasi yang
disampaikan lewat media yang lain.
DAFTAR PUSTAKA
1. Rangsang Purnama, Tuntunan Pemrograman Java, Prestasi Pustaka, Jakarta, 2007
2. Supardi Yuniar, Sistem Informasi Penjualan dengan Java, PT. ElexMedia Komputindo, Jakarta, 2008
3. Utdirartatmo Firrar, Kiat Jitu Memberdayakan, mengamankan & Trobleshooting MySql, Ardana media,
Yogyakarta, 2006
Download