Mungkin Anda akan bertanya ada apa dengan MySQL, PHP, XML dan J2ME (hehehe)….. Ini berkaitan dengan cara untuk melakukan parsing data-data pada database MySQL pada perangkat bergerak dengan menggunakan J2ME. Nah bagi yang blom tau dan ingin tau baca tulisan ini sampe abis yah…..
“Extensible Markup Language (XML) adalah bahasa markup serbaguna yang direkomendasikan W3C untuk mendeskripsikan berbagai macam data. XML menggunakan markup tags seperti halnya HTML namun penggunaannya tidak terbatas pada tampilan halaman web saja.” (wikipedia)
Langkah-langkahnya
buat database dahulu dengan perintah sebagai berikut
01 | CREATE DATABASE `tugas_akhir` DEFAULT CHARACTER SET latin1 COLLATE latin1_general_ci; |
05 | `nama` varchar (30) collate latin1_general_ci NOT NULL , |
06 | `nis` varchar (10) collate latin1_general_ci NOT NULL , |
07 | `judul` varchar (150) collate latin1_general_ci NOT NULL , |
08 | `pembimbing` varchar (30) collate latin1_general_ci NOT NULL , |
10 | ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE =latin1_general_ci; |
12 | INSERT INTO `siswa` VALUES ( 'Feri I' , 'TI. 101025' , 'Aplikasi untuk Perangkat Bergerak dengan J2ME' , 'Iskandar, MT' ); |
13 | INSERT INTO `siswa` VALUES ( 'Bejo' , 'TI.0254154' , 'Sistem Informasi PT.XXX Berbasis Web dengan PHP dan MySQL' , 'Suak, S.ST' ); |
Buat sintak PHP yang nantinya akan digunakan untuk men-generate data-data dalam database mysql di atas menjadi file XML. Perintahnya seperti ini..
convert.php
03 | header( "Content-Type: text/xml; charset=ISO-8859-1" ); |
08 | $conn =mysql_connect( "localhost" , "root" , "" ) or die ( "Koneksi Error" ); |
09 | mysql_select_db( "tugas_akhir" , $conn ); |
11 | $sql = "select * from siswa" ; |
12 | $query = mysql_query( $sql ); |
14 | while ( $row =mysql_fetch_array( $query )){ |
15 | $data .= "" . $row [ "nama" ] . " |
"
.
"
.
17 | "" . $row [ "judul" ] . " |
"
.
19 |
" . $row[" pembimbing "] . "
|
";
"
;
22 | return $bantuan . $data ; |
Nah.. kalo udah coba jalankan dan lihat hasilnya, kalo berhasil akan muncul tampilan seperti pada gambar berikut.
XML udah terbentuk kemudian selanjutnya adalah memparser data XML tersebut ke J2ME. Dalam melakukan parser kita membutuhkan sebuah parser yaitu kXML walaupun bisa menggunakan parser lain seperti NanoXML atau TinyXML. kXML dapat didownload di http://kxml.sourceforge.net . Kemudian dengan menggunakan Sun Java Wireless Toolkit buat proyek baru dengan nama ParsingXML dan tulis sintak Java seperti ini.
ParsingXML.java
001 | import javax.microedition.midlet.*; |
002 | import javax.microedition.lcdui.*; |
003 | import javax.microedition.io.*; |
005 | import org.kxml2.io.*; |
006 | import org.xmlpull.v1.*; |
008 | public class ParsingXML extends MIDlet implements CommandListener { |
009 | private Display display; |
010 | private Form frmUtama; |
011 | private StringItem nama[]; |
012 | private StringItem nis[]; |
013 | private StringItem judul[]; |
014 | private StringItem pembimbing[]; |
015 | private Command cmdExit; |
016 | private KXmlParser parser; |
017 | private int jumlah = 0; |
019 | public ParsingXML() { |
020 | display = Display.getDisplay( this ); |
021 | frmUtama = new Form( "Data Tugas Akhir" ); |
022 | nama = new StringItem[10]; |
023 | nis = new StringItem[10]; |
024 | judul = new StringItem[10]; |
025 | pembimbing = new StringItem[10]; |
026 | cmdExit = new Command( "Exit" , Command.EXIT, 0); |
029 | public void startApp() { |
031 | frmUtama.addCommand(cmdExit); |
032 | frmUtama.setCommandListener( this ); |
033 | display.setCurrent(frmUtama); |
036 | public void pauseApp() { |
039 | public void destroyApp(boolean unconditional) { |
042 | public void commandAction(Command c, Displayable d) { |
049 | public void parseXML() { |
052 | DataOutputStream dos; |
055 | conn.setRequestMethod(HttpConnection.GET); |
056 | conn.setRequestProperty( "Content-Type" , "text/xml" ); |
057 | dos = new DataOutputStream(conn.openDataOutputStream()); |
059 | dis = new DataInputStream(conn.openDataInputStream()); |
060 | if (conn.getResponseCode() == HttpConnection.HTTP_OK) { |
064 | for (int i = 0; i < jumlah; i++) { |
065 | frmUtama.append(nama[i]); |
066 | frmUtama.append(nis[i]); |
067 | frmUtama.append(judul[i]); |
068 | frmUtama.append(pembimbing[i]); |
069 | frmUtama.append( "\n" ); |
070 | frmUtama.append( "------------" ); |
074 | frmUtama.append( "Koneksi Error" ); |
077 | } catch (Exception e) { |
078 | frmUtama.append( "Error: " + e); |
082 | public void doParse(InputStream isxml) { |
083 | parser = new KXmlParser(); |
085 | parser.setInput( new InputStreamReader(isxml)); |
088 | parser.require(XmlPullParser.START_TAG, null , "ta" ); |
090 | while (parser.nextTag() != XmlPullParser.END_TAG) { |
091 | parser.require(XmlPullParser.START_TAG, null , "nama" ); |
092 | nama[jumlah] = new StringItem( "Nama : " ,parser.nextText()); |
093 | parser.require(XmlPullParser.END_TAG, null , "nama" ); |
096 | parser.require(XmlPullParser.START_TAG, null , "nis" ); |
097 | nis[jumlah] = new StringItem( "NIS : " ,parser.nextText()); |
098 | parser.require(XmlPullParser.END_TAG, null , "nis" ); |
101 | parser.require(XmlPullParser.START_TAG, null , "judul" ); |
102 | judul[jumlah] = new StringItem( "Judul : " ,parser.nextText()); |
103 | parser.require(XmlPullParser.END_TAG, null , "judul" ); |
106 | parser.require(XmlPullParser.START_TAG, null , "pembimbing" ); |
107 | pembimbing[jumlah] = new StringItem( "Pembimbing : " ,parser.nextText()); |
108 | parser.require(XmlPullParser.END_TAG, null , "pembimbing" ); |
112 | parser.require(XmlPullParser.END_TAG, null , "ta" ); |
113 | } catch (Exception e) { |
Nah… kalo udah klik build dan kemudian di run dan hasilnya …….. seperti pada gambar berikut.
Nah…. Dah dulu ya , selamat mencoba dan semoga berhasil ….semoga tulisan ini dapat bermanfaat…
Tidak ada komentar
Posting Komentar
arabsaiudi