Tampilkan postingan dengan label HTML. Tampilkan semua postingan
Tampilkan postingan dengan label HTML. Tampilkan semua postingan

Rabu, 13 November 2013

Membuat "Backsound" Di Website


Kita sering menjumpai dalam sebuah website yang kita kunjungi, jika kita menggunakan audio output (speaker, red) yang aktif lamat – lamat terdengarlah alunan melodi atau sebuah lagu dari website tersebut. Nilai sebuah website akan lebih baik ketika konten yang dimuatnya beragam dan mendukung web tersebut tampil lebih baik.

Sebuah website tidak dinilai hanya dengan tampilan sekilas ataupun konten yang dimuat, website akan terlihat lebih “hidup” ketika dapat menggunakan beberapa kontak visual dengan pengunjungnya, seperti tampilan yang bagus, melodi pengiring yang sesuai (back sound), lebih – lebih menggunakan animasi yang atraktif dan mengajak pengunjung untuk berinteraksi dengan website tersebut. Hal ini akan membuat pengunjung sebuah website merasakan pengalaman yang berbeda dalam “berselancar” di internet.

Bagaimana untuk membuat sebuah website dengan interaksi yang baik?, mungkin satu tips ini dapat mendukung sebuah website menjadi lebih “hidup”. Backsound dalam sebuah website dapat kita buat dan kita gunakan (hasilnya) jika browser support HTML 5, ya benar, fitur audio ini adalah produk dari HTML 5. Karena setiap browser memiliki versi yang berbeda – beda, tidak semua browser dapat “menikmati” fasilitas HTML 5 ini. Contoh penggunaan :

backsound.html
<html>
<head>
    <title>Backsound</title>
</head>
<body>
Listen.... you hear that?
<audio src="Hoobastank_-_The_Reason.mp3" autoplay="autoplay" hidden="hidden"></audio>
</body>
</html>

Jika ingin menggunakan lagu pengiring yang lain tinggal diubah pada atribut (scr) ke alamat file audio yang diinginkan. Sedangkan output dari tag audio ini sendiri tidak akan ditampilkan di browser karena menggunakan atribut (hidden = “hidden”), jika ingin menampilkan tampilan audionya ya dihapus saja tag tersebut.

Kendala yang mungkin terjadi dalam penggunaan fitur audio dalam HTML 5 :
  1. Alamat file audio yang tidak sesuai akan menyebabkan “backsound” tidak berfungsi sebagaimana mestinya.
  2. Jika tag (hidden = “hidden”) telah dihapus namun juga tidak muncul output dari tag (<audio … ) kemungkinan ini adalah browser tidak mendukung HTML 5.
  3. Tag ( <audio… ) hanya bekerja dalam browser yang mendukung HTML 5.
Terima kasih telah membaca tips singkat ini. Tetap membaca, jangan takut belajar dan sebarkanlah ilmu yang kita miliki. "Sebaik - baik ilmu adalah yang membawa manfaat untuk sesama ", ikhwan anshori


Rabu, 09 Oktober 2013

PHP. AUTOCOMPLETE DENGAN AJAX

PHP.AJAX
AUTOCOMPLETE DENGAN AJAX
Ikhwan Anshori

Auto complete atau sering juga disebut Auto suggest adalah metode pemrograman untuk membuat praktis dalam melakukan sebuah pencarian. Dengan menggunakan auto complete kita tidak harus mengingat seluruh keyword yang akan kita cari. Dengan demikian proses pencarian akan lebih cepat dilakukan.


Untuk membuat sebuah auto complete bisa menggunakan beberapa bahasa pemrograman misalnya AJAX dan yang lainya. Nah kali ini yang akan digunakan adalah ajax auto complete. Beberapa kebutuhan yang akan digunakan dalam membuat autocomplete ini antara lain :
1.    Database (coba)

a.    Tabel (barang)
Struktur tabel barang sebagai berikut :


2.    File PHP meliputi :
a.    Search.html
b.    Search.php

3.    CSS file (style.css)
Kebutuhan dari pembuatan Ajax Auto Complete ini telah didapat, kemudian untuk pertama kita buat databasenya berikut tabel beserta recordnya dengan SQL berikut :
-- buat database dengan nama coba --
create DATABASE `coba`;

-- gunakan database coba --
use `coba`;

--
-- Table structure for table `barang`
--

CREATE TABLE IF NOT EXISTS `barang` (
  `id` int(5) NOT NULL AUTO_INCREMENT,
  `nama` varchar(20) NOT NULL,
  `stock` int(11) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=19 ;

--
-- Dumping data for table `barang`
--

INSERT INTO `barang` (`id`, `nama`, `stock`) VALUES
(1, 'Baju', 405),
(2, 'Celana', 1),
(3, 'Kemeja', 4),
(4, 'a', 1),
(5, 'b', 2),
(6, 'c', 3),
(7, 'd', 4),
(8, 'e', 5),
(9, 'f', 7),
(10, 'g', 8),
(11, 'h', 9),
(12, 'i', 10),
(13, 'j', 11),
(14, 'aaa', 21),
(15, 'aaaaa', 22),
(16, 'aasaas', 23),
(17, 'adasa', 24),
(18, 'asadasa', 25);

SQL diatas digunakan untuk membuat database dengan nama coba. Kemudian didalam database coba kita buat tabel dengan nama barang, lalu kita masukan record untuk percobaan seperti pada script diatas.
Jika SQL sudah dieksekusi maka tabel yang akan terlihat seperti berikut  (beserta record):

Kemudian untuk file – file proses :

1.   Search.html

<html>
<head>
<title>AJAX AUTO COMPLETE</title>
<link rel='stylesheet' type='text/css' href='style.css' />
<script language='JavaScript'>
var ajaxRequest;
function getAjax() //fungsi untuk mengecek AJAX pada browser
{
try
{
ajaxRequest = new XMLHttpRequest();
}
catch (e)
{
try
{
ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
try
{
ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e)
{
alert("Your browser broke!");
return false;
}
}
}
}
function autoComplete() //fungsi menangkap input search dan menampilkan hasil search
{
getAjax();
input = document.getElementById('inputan').value;

if (input == "")
{
document.getElementById("hasil").innerHTML = "";
}
else
{
ajaxRequest.open("GET","search.php?input="+input);
ajaxRequest.onreadystatechange = function()
{
document.getElementById("hasil").innerHTML = ajaxRequest.responseText;
}
ajaxRequest.send(null);
}
}

function autoInsert(nama) //fungsi mengisi input text dengan hasil pencarian yang dipilih
{
document.getElementById('inputan').value = nama;
document.getElementById('hasil').innerHTML = "";
}
</script>
</head>
<body>
<div id='outer'>
Nama Barang : <hr/><input type='text' onkeyup="autoComplete();" id='inputan' placeholder='cari disini'>
<div id='hasil'></div> <!– menampilkan hasil search –>
</div>
</body>
</html>
Penjelasan :
function getAjax() //fungsi untuk mengecek AJAX pada browser
{
try
{
ajaxRequest = new XMLHttpRequest();
}
catch (e)
{
try
{
ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
try
{
ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e)
{
alert("Your browser broke!");
return false;
}
}
}
}
Script diatas digunakan untuk cek AJAX pada browser. Sebab versi browser berbeda, cek ini penting dilakukan untuk memastikan ajax dapat bekerja di browser dengan baik.
function autoComplete() //fungsi menangkap input search dan menampilkan hasil search
{
getAjax();
input = document.getElementById('inputan').value;

if (input == "")
{
document.getElementById("hasil").innerHTML = "";
}
else
{
ajaxRequest.open("GET","search.php?input="+input);
ajaxRequest.onreadystatechange = function()
{
document.getElementById("hasil").innerHTML = ajaxRequest.responseText;
}
ajaxRequest.send(null);
}
}

Untuk script diatas secara ringkas maksudnya adalah ketika user menuliskan huruf pada input field, maka event onkeyup akan mendeteksi input tersebut dan secara stimulan mengirimkanya ke fungsi auto complete ini (function autoComplete). Di dalam fungsi ini masih terdapat beberapa filter, yakni ketika tidak ada satupun karakter ditulis namun kolom input dalam keadaan aktif maka ajax tidak akan melakukan request ke search.php, sebaliknya jika terdapat karakter yang dituliskan ke kolom input, fungsi ini akan melakukan request kepada file search.php dengan membawa parameter (keyword) yang diketik oleh user.

function autoInsert(nama) //fungsi mengisi input text dengan hasil pencarian yang dipilih
{
document.getElementById('inputan').value = nama;
document.getElementById('hasil').innerHTML = "";
}
Setelah pencarian selesai dilakukan maka record yang didapat dari keyword akan ditampilkan, ketika user memilih suggest yang diberikan oleh ajax maka fungsi ini yang akan menangani input tersebut. Ketika event klik pada list suggest dilakukan oleh user,maka secara otomatis fungsi ini membaca apa yang dipilih oleh user dan memasukannya ke kolom input.
input type='text' onkeyup="autoComplete();" id='inputan' placeholder='cari disini'>

Input diatas digunakan untuk memasukan keyword. Sementara atribut onkeyup digunakan untuk mendeteksi penulisan di dalam kolom input.

<div id='hasil'></div> <!– menampilkan hasil search –>

Setelah pencarian berhasil dilakukan kemudian data dikembalikan lagi ke file search.html dan hasil pencarian diletakan di tag div yang mempunyai identitas hasil.

2.       Search.php

<html>
<head>
    <link rel='stylesheet' type='text/css' href='style.css' />
</head>
<body>
<?php
mysql_connect("localhost","root",""); /* koneksi */
mysql_select_db("coba");     /* MySQL */
if (isset($_GET['input']))
{
$input = $_GET['input'];
$query = mysql_query("SELECT * FROM barang WHERE nama LIKE '%$input%'"); //query mencari hasil search
$hasil = mysql_num_rows($query);
if ($hasil !=0)
{
echo"<ul class='auto'>";
while ($data = mysql_fetch_array($query))
{
?>
<a href="javascript:autoInsert('<?php echo"$data[1]"; ?>');">
<li>
<?php echo"$data[0]. $data[1] stok $data[2]"; ?>
</li>
</a>
<?php
}
echo"</ul>";
}
else
{
echo "Data tidak ditemukan";
}
}

else if(isset($_GET['id']))
{
$id = $_GET['id'];
$query = mysql_query("SELECT * FROM barang WHERE id='$id'");
$info = mysql_fetch_row($query);
echo "ID : ".$info[0]."<BR>Nama : ".$info[1]."<BR>Stock : ".$info[2];
}
?>
</body>
</html>

Penjelasan :
mysql_connect("localhost","root",""); /* koneksi */
mysql_select_db("coba");     /* MySQL */

Script diatas digunakan untuk koneksi ke localhost MySQL.
$input = $_GET['input'];
$query = mysql_query("SELECT * FROM barang WHERE nama LIKE '%$input%'"); //query mencari hasil search

Setelah keyword didapatkan dari request ajax dengan menggunakan metode get kemudian diambil ($_GET[‘input’]) dan dilakukan query select untuk mencari record yang mempunyai kandungan keyword tersebut didalamnya.

$hasil = mysql_num_rows($query);
if ($hasil !=0)

Kemudian dilakukan penghitungan terhadap record yang didapat, jika ternyata record yang dihitung adalah nol (0) atau tidak ditemukan record berdasarkan keyword yang dicari maka akan mucul pesan

echo "Data tidak ditemukan";

Atau sebaliknya jika memang terdapat record yang dicari maka lakukan baris berikut :

else if(isset($_GET['id']))
{
$id = $_GET['id'];
$query = mysql_query("SELECT * FROM barang WHERE id='$id'");
$info = mysql_fetch_row($query);
echo "ID : ".$info[0]."<BR>Nama : ".$info[1]."<BR>Stock : ".$info[2];
}

Pada script diatas dapat ditebak bahwa yang akan ditampilkan adalah field 0,1,2 (id,nama,stock).

3.   Style.css

/*
style.css
digunakan untuk tampilan
*/
body,html{margin: 0px;font-family: tahoma,arial,helvetica;font-size: 11px;color: #191919;padding: 10px;}
#outer{width: 300px;height: auto;overflow: hidden;margin: 5px;border: 0.1em solid #edd897;padding: 5px;background: #f3efe5;
-moz-box-shadow: 0px 0px 4px 4px #555;-webkit-box-shadow: 0px 0px 4px 4px #555;-khtml-box-shadow: 0px 0px 4px 4px #555;box-shadow: 0px 0px 3px 2px #bbb;
}
input{width: 200px;height: 30px;border: 0.1em solid #edd897;-moz-border-radius: 5px;-khtml-border-radius: 5px;-webkit-border-radius: 5px;border-radius: 5px;}
ul.auto{width: 100%;height: auto;overflow: hidden;display: inline;margin: 0px;padding: 0px;}
ul.auto li{width: 100%;height: 22px;border-bottom: 0.1em solid #edd897;background: #f4f4f4;padding: 8px 0px 0px 5px;}
ul.auto li:hover{background: #e9e9e9;}
a{text-decoration: none;color: #2f8eee;}

CSS diatas digunakan untuk memperindah tampilan pencarian di halaman search.html yang telah dibuat tadi. Dan hasil pembuatan ajax auto complete sebagai berikut :


Demikian artikel yang dapat saya bagikan, jika sekiranya dibutuhkan silakan di-copy, jika ingin dibagikan silakan cantumkan alamat sumber. Terima kasih saran yang membangun sangat penulis harapkan demi perbaikan artikel ini ke depanya. Terima kasih.




Yogyakarta, 8 Oktober 2013


Ikhwan Anshori        

Cari sesuatu?

Teman

 
 
Copyright © 2013 goldenbooks - All Rights Reserved
Golden Books - Powered By Blogger