Jul
19th

Aplikasi Pencarian Data Buku (Sederhana)

Files under Application | Posted by aajimmy

Artikel ini akan membahas aplikasi pencarian data buku sederhana. Aplikasi ini menggunakan Flex sebagai user interface, database MySQL dan PHP untuk meng-generate XML data hasil pencarian.

Aplikasi ini memiliki satu buah text input, dua buah tombol (Cari dan Kosongkan) serta satu buah datagrid. Pengguna memasukkan kata kunci yang dicari, kemudian menekan tombol Cari untuk memproses permintaan dan menampilkan hasil pencarian pada datagrid.

Aplikasi akan mencari data buku berdasarkan kata kunci yang diberikan. Jika terdapat lebih dari satu kata kunci, pencarian akan dilakukan dengan menggunakan tiap-tiap kata. Data buku yang pada kolom judul, pengarang, atau penerbit mengandung minimal satu kata kunci, akan ditampilkan ke dalam hasil pencarian.

Berikut adalah struktur dan data buku yang digunakan.

– Database: `pustaka`

CREATE TABLE IF NOT EXISTS `tbldatabuku` (

`IDbuku` varchar(30) default NULL,

`Judul` varchar(50) NOT NULL default ”,

`Pengarang` varchar(40) NOT NULL default ”,

`Penerbit` varchar(30) NOT NULL default ”,

UNIQUE KEY `IDbuku` (`IDbuku`)

) ENGINE=MyISAM DEFAULT CHARSET=latin1;

INSERT INTO `tbldatabuku` (`IDbuku`, `Judul`, `Pengarang`, `Penerbit`) VALUES

(’9797560001′, ‘Biografi Aa” Jimmy’, ‘Aa” Jimmy’, ‘Erlangga’),

(’9797560002′, ‘Pemrograman Pascal Untuk Pemula’, ‘Indra Azimi’, ‘Elex Media’),

(’9797580002′, ‘PBO dengan Java’, ‘AH Sutopo & Fajar Masya’, ‘Graha Ilmu’),

(’9797570001′, ‘Pemrograman Web untuk Pemula’, ‘Indra Azimi’, ‘Erlangga’),

(’9797570002′, ‘Tutorial Flex 3′, ‘Aa” Jimmy’, ‘Erlangga’),

(’9797560003′, ‘Pemrograman Java Untuk Pemula’, ‘Indra Azimi’, ‘Elex Media’),

(’9797580001′, ‘Hacking Tingkat Menengah’, ‘Indra Azimi’, ‘Elex Media’);

PHP bertugas meng-generate XML data hasil pencarian. Pada kode PHP (pencarian.php) berikut ini, dapat dilihat bahwa pertama, dibuat syarat kueri yang akan dilakukan. Kata kunci dipecah dan dipisah berdasarkan spasi. Kemudian dilakukan perulangan pada tiap-tiap kata kunci yang telah dipecah untuk ditambahkan ke syarat kueri.

Kemudian dilakukan koneksi ke MySQL, dilakukan kueri, dan data hasil kueri ditulis ke dalam bentuk XML.

<?php

$dicari = $_POST[’cari’];

$kata = explode(” “, $dicari);

$ygcari = $kata[0];

$syarat = “`IDbuku` LIKE ‘%$ygcari%’ OR `Judul` LIKE ‘%$ygcari%’ OR `Pengarang` LIKE ‘%$ygcari%’ OR `Penerbit` LIKE ‘%$ygcari%’”;

$jmlh = count($kata);

for ($i = 1; $i < $jmlh; $i++) {

$ygcari = $kata[$i];

$syarat .= ” OR `IDbuku` LIKE ‘%$ygcari%’ OR `Judul` LIKE ‘%$ygcari%’ OR `Pengarang` LIKE ‘%$ygcari%’ OR `Penerbit` LIKE ‘%$ygcari%’”;

}

$host=”localhost”;

$username=”root”;

$password=”root”;

$databasename=”pustaka”;

$link=mysql_connect($host,$username,$password) or die(”database tidak dapat ditampilkan”);

mysql_select_db($databasename,$link);

$sqlstr = “SELECT `IDbuku`, `Judul`, `Pengarang`, `Penerbit`

FROM `tbldatabuku`

WHERE $syarat”;

$result = mysql_query($sqlstr) or die(”kesalahan pada perintah sql”);

$i = 1;

$return = “”;

while($hasil = mysql_fetch_array($result)) {

$return .= “<buku><no>$i</no><idbuku>$hasil[0]</idbuku><judul>$hasil[1]</judul>”;

$return .= “<pengarang>$hasil[2]</pengarang><penerbit>$hasil[3]</penerbit></buku>” . “\n”;

$i++; }

echo “<databuku>\n$return</databuku>”;

mysql_free_result($result);

mysql_close($link);

?>

Berikut adalah kode di Flex.

<?xml version=”1.0″?>

<mx:Application xmlns:mx=”http://www.adobe.com/2006/mxml” verticalAlign=”middle” backgroundColor=”#CCFFCC>

<mx:Script><![CDATA[

import mx.controls.Alert;

private function AmbilTeks():void {

reqCari.send();

}

private function CariData():void {

if (txtCari.text!=“”) {

reqCari.send();

}

else {

Alert.show(“Isilah kata kunci yang dicari.”,“POST”,Alert.OK);

}

}

private function KosongkanTeks():void {

txtCari.text = “”;

txtCari.setFocus();

}

]]></mx:Script>

<mx:HTTPService id=”reqCari” showBusyCursor=”true” url=”http://localhost/pustaka/pencarian.php” useProxy=”false” method=”POST>

<mx:request xmlns=”">

<cari>{txtCari.text}</cari>

</mx:request>

</mx:HTTPService>

<mx:Canvas width=”780” height=”580” backgroundColor=”#95ABB6>

<mx:Panel width=”250” height=”141” layout=”absolute” x=”10” y=”10” title=”Pencarian>

<mx:Label x=”10” y=”10” text=”Masukkan kata kunci yang Anda cari/>

<mx:TextInput x=”10” y=”36” width=”210” id=”txtCari/>

<mx:Button x=”10” y=”66” label=”Cari” id=”cmdCari” width=”100” click=”CariData()”/>

<mx:Button x=”118” y=”66” label=”Kosongkan” id=”cmdKosong” width=”100” click=”KosongkanTeks()”/>

</mx:Panel>

<mx:DataGrid x=”10” y=”159” width=”760” height=”411” fontWeight=”normal” dataProvider=”{reqCari.lastResult.databuku.buku}>

<mx:columns>

<mx:DataGridColumn headerText=”No.” dataField=”no/>

<mx:DataGridColumn headerText=”ID Buku” dataField=”idbuku/>

<mx:DataGridColumn headerText=”Judul” dataField=”judul/>

<mx:DataGridColumn headerText=”Pengarang” dataField=”pengarang/>

<mx:DataGridColumn headerText=”Penerbit” dataField=”penerbit/>

</mx:columns>

</mx:DataGrid>

</mx:Canvas>

</mx:Application>

Aplikasi Pencarian Data Buku sederhana ini dapat dikembangkan lebih lanjut, antara lain dengan menambahkan fungsi mengurutkan data hasil pencarian berdasarkan tingkat relevansi. Selain itu, kata kunci yang mengandung banyak kata akan menyebabkan syarat kueri menjadi panjang. Hal ini tentu perlu di-efisien-kan dengan algoritma yang lebih baik.

Diharapkan ada artikel lain yang membahas pengembangan aplikasi pencarian data buku ini. Semoga..

Komunitas Flex Indonesia These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Google
  • del.icio.us
  • Technorati
  • bodytext
  • Facebook
  • Sphinn
  • description
  • Mixx
  • Reddit


5 Responses to “Aplikasi Pencarian Data Buku (Sederhana)”

  1. By vanudin on Sep 15, 2008 | Reply

    Bravo untuk flex-id.org

    oh ya, skedar saran. untuk sample aplikasi yang sudah dibuat, alangkah baiknya juga ada link ke demo atau download scriptnya.

    thx,

    vanudin

    http://www.patromax.com

  2. By nn on Sep 23, 2008 | Reply

    monggo mampir mas http://www.smkn26jakarta.sch.id/student

  3. By greenscience on Sep 23, 2008 | Reply

    saya sedang coba bikin aplikasi e-learning http://www.smkn26jakarta.sch.id/student

    masih banyak bug, mohon masukannya dari rekan2

    trims

  4. By galung on Dec 16, 2008 | Reply

    waduh tolong donk mas2 yang hebat.. saya lagi ngebet banget ama flex ini.. sample programnya donk tq.. n tutorial dasar2nya donk.. banyak yg ga ngerti saya tentang tuto yang laennya.. bodohnya saya T_T

  5. By viorin on Dec 31, 2008 | Reply

    ada contoh scripnya ga?
    url http://www.smkn26jakarta.sch.id/student

    mau dong kirim ke emailku

Post a Comment