Beli Modem Wavecom Untuk SMS Gateway. FREE E-book Gammu + FREE Ongkos kirim !!
Ingin Punya Script SMS Gateway dengan PHP + MySQL?

Dapatkan segera phpSMS V3.0, software SMS Gateway multi fungsi berbasis web buatan saya sendiri untuk keperluan Anda.
[Info Lengkap...]

Ide Membuat Advanced Paging dengan PHP


April 30th, 2009 | by rosihanari | Cetak Artikel Ini Cetak Artikel Ini

Paging merupakan teknik menampilkan data dengan cara membaginya ke beberapa halaman. Teknik ini diberikan untuk mengurangi scrolling window apabila data yang disajikan terlalu banyak, sehingga akan menimbulkan kejemuan orang yang melihat dan juga akan menghasilkan page load time yang besar karena ukuran filenya besar (apabila data disajikan dalam satu halaman saja).

Untuk keperluan navigasi data biasanya disajikan dengan link berupa nomor halaman atau kadang berbentuk Previous dan Next.

Pada tutorial ini akan dipaparkan bagaimana ide membuat advance paging ini dilakukan. Advance paging adalah paging yang navigasinya berbentuk

1 2 3 4 … 20 Next >>

Contoh tampilan di atas diasumsikan terdapat 20 halaman paging dan halaman yang sedang aktif adalah halaman 1. Bila yang aktif halaman 10, maka tampilan navigasinya adalah:

<< Prev 1 ... 7 8 9 10 11 12 13 … 20 Next >>

Sedangkan bila yang aktif adalah halaman terakhir (20) maka tampilan navigasinya adalah

<< Prev 1 .. 17 18 19 20

Dalam contoh ini kasus advance paging ini akan diterapkan pada data guestbook atau buku tamu. Istilah ‘advance paging’ ini adalah istilah saya saja sih :-)

Mau tau bagaimana ide dan cara membuatnya? simak baik-baik artikel ini. Artikel ini merupakan request dari mas Sadeli (salah satu member saya)

Pertama kita siapkan terlebih dahulu tabel untuk menyimpan datanya:

CREATE TABLE guestbook (
  id int(11) auto_increment,
  nama varchar(20),
  email varchar(20),
  tanggal date,
  komentar text,
  PRIMARY KEY  (id)
)

Selanjutnya kita buat skenario dari paging ini. Misalkan kita akan membuat paging dengan jumlah data yang ditampilkan per halaman adalah sejumlah 5 buah. Sehingga kita perlu membuat variabel untuk menyimpan jumlah data yang akan ditampilkan per halaman.

show.php

<?php

// koneksi ke mysql

mysql_connect('namahost', 'dbuser', 'dbpassword');
mysql_select_db(data);

// jumlah data yang akan ditampilkan per halaman

$dataPerPage = 5;
.
.
.
?>

Kita lanjutkan skenarionya. Untuk script paging ini, bila dibuka pertama kali dengan URL http://namaserver/show.php maka otomatis menuju ke halaman 1. Untuk menuju ke halaman 2, maka URL nya http://namaserver/show.php?page=2. Sedangkan untuk menuju ke halaman 3, URL nya http://namaserver/show.php?page=3, dan seterusnya.

Dari skenario di atas tampak bahwa bila parameter ?page=... belum diberikan pada URL maka secara otomatis menuju ke nomor halaman 1. Sedangkan bila terdapat parameter ?page=… maka nomor halamannya menyesuaikan nilai pada parameter ?page tersebut. Untuk mewujudkan hal ini, maka kita tambahkan perintah

<?php
mysql_connect('namahost', 'dbuser', 'dbpassword');
mysql_select_db('dbname');

// jumlah data yang akan ditampilkan per halaman

$dataPerPage = 5;

// apabila $_GET['page'] sudah didefinisikan, gunakan nomor halaman tersebut,
// sedangkan apabila belum, nomor halamannya 1.

if(isset($_GET['page']))
{
    $noPage = $_GET['page'];
}
else $noPage = 1;
.
.
?>

Selanjutnya, dalam teknik paging perlu adanya pengaturan posisi awal data atau lebih dikenal dengan istilah offset. Offset digunakan untuk mengatur posisi awal data yang akan ditampilkan perhalaman. Perlu Anda tahu, bahwa data dalam database memiliki urutan seperti halnya array. Data pada baris pertama hasil query SQL disebut data pada posisi ke-0, data pada baris kedua disebut data pada posisi ke-1, dst.

Trus.. apa kaitannya offset dengan paging? Sabar… perhatikan dulu contoh berikut ini

Sebagai contoh, misalkan terdapat 15 data dalam tabel guestbook dimana kita ingin menyajikan pada setiap halaman adalah 5 data. Dengan demikian total terdapat 3 halaman dalam pagingnya. Untuk halaman pertama, pastilah data yang ditampilkan adalah data ke – 0, 1, 2, 3 dan 4. Sedangkan halaman kedua, data yang ditampilkan adalah 5, 6, 7, 8, dan 9. Serta halaman ketiga, data ke 10, 11, 12, 13, 14.

Nah… perhatikan bahwa untuk halaman 1, data awal yang ditampilkan adalah data pada urutan ke-0, halaman 2 data awalnya adalah data pada urutan ke-5 dan halaman 3 data pada urutan ke 10.

Lantas apa gunanya offset tersebut? Offset nantinya akan digunakan pada query SQL untuk memunculkan data pada setiap halaman. Query SQL yang digunakan adalah

SELECT * FROM guestbook LIMIT offset, jumlahData;

Sehingga untuk memunculkan data guestbook pada halaman pertama, maka perintahnya

SELECT * FROM guestbook LIMIT 0, 5;

Untuk memunculkan data pada halaman kedua, perintahnya:

SELECT * FROM guestbook LIMIT 5, 5;

dan untuk memunculkan data pada halaman ketiga, perintahnya:

SELECT * FROM guestbook LIMIT 10, 5;

dan seterusnya.

OK.. deh.. dah paham, trus yang jadi masalah adalah bagaimana menentukan offset pada setiap halamannya? Bila kita lihat patternnya, maka hubungan antara offset, jumlah data yang ingin ditampilkan per halaman dan nomor halamannya adalah:

offset = (no halaman – 1) * jumlah data per halaman;

Lho kok bisa? he.. 3x kita cek saja. Untuk halaman 1, maka nilai offset = (1 – 1) * 5 = 0. Untuk halaman 2, nilai $offset = (2 – 1) * 5 = 5 dan halaman ketiga $offset = (3 – 1) * 5 = 10. Bener kan? :-)

OK.. deh, dah paham tentang offset, so.. kita bisa tambahkan scriptnya untuk mencari offset dan query SQL nya.

<?php
mysql_connect('namahost', 'dbuser', 'dbpassword');
mysql_select_db('dbname');

// jumlah data yang akan ditampilkan per halaman

$dataPerPage = 5;

// apabila $_GET['page'] sudah didefinisikan, gunakan nomor halaman tersebut,
// sedangkan apabila belum, nomor halamannya 1.

if(isset($_GET['page']))
{
    $noPage = $_GET['page'];
}
else $noPage = 1;

// perhitungan offset

$offset = ($noPage - 1) * $dataPerPage;

// query SQL untuk menampilkan data perhalaman sesuai offset

$query = "SELECT * FROM guestbook LIMIT $offset, $dataPerPage";

$result = mysql_query($query) or die('Error');

// menampilkan data 

echo "<table border='1'>";
echo "<tr><td>Nama</td><td>Email</td><td>Tanggal</td><td>Komentar</td></tr>";
while($data = mysql_fetch_array($result))
{
   echo "<tr><td>".$data['nama']."</td><td>".$data['email']."</td><td>".$data['tanggal']."</td><td>".$data['komentar']."</td></tr>";
}

echo "</table>";

.
.

?>

Nah… masalah berikutnya adalah bagaimana menentukan total jumlah halamannya? Hal ini penting karena nantinya akan ditampilkan sebagai link navigasi pagingnya. Untuk menghitung total jumlah halaman, kita cari patternnya terlebih dahulu. Misalkan terdapat 15 data, dan kita ingin menyajikan data sejumlah 5 per halaman, maka total ada berapa halaman yang dibutuhkan? OK.. benar ada 3. Trus… kalo ada 31 data dan kita ingin menyajikan data sejumlah 5 per halaman, total ada berapa halaman? OK.. benar ada 7 (untuk halaman ke-7 hanya tampil 1 buah data). Sehingga dari pattern tersebut formula untuk menghitung jumlah halaman adalah

jumlah halaman = ceil(jumlah data / data per halaman);

ceil() adalah function yang digunakan untuk membulatkan ke atas suatu bilangan. Misal ceil(3.2) = 4, ceil(3.7) = 4.

Trus… yang jadi masalah adalah bagaimana mendapatkan jumlah datanya? Nah… untuk mendapatkan jumlah data keseluruhan yang ada kita gunakan query SQL.

SELECT COUNT(*) FROM guestbook;

OK… I know, dan sekarang kita bisa tambahkan proses menghitung jumlah data dan jumlah halaman pada scriptnya.

<?php
mysql_connect('namahost', 'dbuser', 'dbpassword');
mysql_select_db('dbname');

// jumlah data yang akan ditampilkan per halaman

$dataPerPage = 5;

// apabila $_GET['page'] sudah didefinisikan, gunakan nomor halaman tersebut,
// sedangkan apabila belum, nomor halamannya 1.

if(isset($_GET['page']))
{
    $noPage = $_GET['page'];
}
else $noPage = 1;

// perhitungan offset

$offset = ($noPage - 1) * $dataPerPage;

// query SQL untuk menampilkan data perhalaman sesuai offset

$query = "SELECT * FROM guestbook LIMIT $offset, $dataPerPage";

$result = mysql_query($query);

// menampilkan data 

echo "<table border='1'>";
echo "<tr><td>Nama</td><td>Email</td><td>Tanggal</td><td>Komentar</td></tr>";
while($data = mysql_fetch_array($result))
{
   echo "<tr><td>".$data['nama']."</td><td>".$data['email']."</td><td>".$data['tanggal']."</td><td>".$data['komentar']."</td></tr>";
}

echo "</table>";

// mencari jumlah semua data dalam tabel guestbook

$query  = "SELECT COUNT(*) AS jumData FROM guestbook";
$hasil  = mysql_query($query);
$data  = mysql_fetch_array($hasil);

$jumData = $data['jumData'];

// menentukan jumlah halaman yang muncul berdasarkan jumlah semua data

$jumPage = ceil($jumData/$dataPerPage);
.
.

?>

Nah… sekarang tinggal bagaimana cara memunculkan link berisi nomor halaman yang menuju ke setiap halamannya. Untuk memunculkan nomor halamannya, caranya mudah. Kita hanya menggunakan looping saja.

Tapi eit.. tunggu dulu pada desain advance paging di atas, sebelum memunculkan link nomor halaman, terdapat link << prev. Kapan link ini akan muncul? ya... tepat sekali yaitu ketika nomor halaman yang sedang aktif (sedang dibuka) setelah halaman pertama atau $noPage > 1. Trus.. menuju ke nomor halaman berapakah link tersebut? yap.. benar yaitu menuju ke nomor halaman sebelumnya ($noPage – 1).

Dengan demikian kita bisa tambahkan perintah berikut ini pada script

if ($noPage > 1) echo  "<a href='".$_SERVER['PHP_SELF']."?page=".($noPage-1)."'>&lt;&lt; Prev</a>";

sehingga menjadi

<?php
mysql_connect('namahost', 'dbuser', 'dbpassword');
mysql_select_db('dbname');

// jumlah data yang akan ditampilkan per halaman

$dataPerPage = 5;

// apabila $_GET['page'] sudah didefinisikan, gunakan nomor halaman tersebut,
// sedangkan apabila belum, nomor halamannya 1.

if(isset($_GET['page']))
{
    $noPage = $_GET['page'];
}
else $noPage = 1;

// perhitungan offset

$offset = ($noPage - 1) * $dataPerPage;

// query SQL untuk menampilkan data perhalaman sesuai offset

$query = "SELECT * FROM guestbook LIMIT $offset, $dataPerPage";

$result = mysql_query($query) or die('Error');

// menampilkan data 

echo "<table border='1'>";
echo "<tr><td>Nama</td><td>Email</td><td>Tanggal</td><td>Komentar</td></tr>";
while($data = mysql_fetch_array($result))
{
   echo "<tr><td>".$data['nama']."</td><td>".$data['email']."</td><td>".$data['tanggal']."</td><td>".$data['komentar']."</td></tr>";
}

echo "</table>";

// mencari jumlah semua data dalam tabel guestbook

$query   = "SELECT COUNT(*) AS jumData FROM guestbook";
$hasil  = mysql_query($query);
$data     = mysql_fetch_array($hasil);

$jumData = $data['jumData'];

// menentukan jumlah halaman yang muncul berdasarkan jumlah semua data

$jumPage = ceil($jumData/$dataPerPage);

// menampilkan link previous

if ($noPage > 1) echo  "<a href='".$_SERVER['PHP_SELF']."?page=".($noPage-1)."'>&lt;&lt; Prev</a>";
.
.

?>

Berikutnya kita akan tampilkan link nomor-nomor halamannya menggunakan looping. Adapun perintah-perintahnya adalah seperti di bawah ini.

for($page = 1; $page <= $jumPage; $page++)
{
         if ((($page >= $noPage - 3) && ($page <= $noPage + 3)) || ($page == 1) || ($page == $jumPage))
         {
            if (($showPage == 1) && ($page != 2))  echo "...";
            if (($showPage != ($jumPage - 1)) && ($page == $jumPage))  echo "...";
            if ($page == $noPage) echo " <b>".$page."</b> ";
            else echo " <a href='".$_SERVER['PHP_SELF']."?page=".$page."'>".$page."</a> ";
            $showPage = $page;
         }
}

Konsep loopingnya sederhana, yaitu menuliskan link nomor halaman mulai dari 1 s/d jumlah halamannya. Namun harap dicatat di sini bahwa karena tidak semua nomor halaman ditampilkan sesuai desain sebelumnya maka kita perlu berikan syarat.

Maksud dari syarat

if ((($page >= $noPage - 3) && ($page <= $noPage + 3)) || ($page == 1) || ($page == $jumPage))
{
   .
   .
}

adalah hanya memunculkan link nomor halaman 1 dan juga halaman terakhir, sekaligus pula nomor-nomor halaman dalam rentang 3 halaman sebelum dan sesudah nomor halaman yang aktif. Contoh jika halaman yang aktif adalah halaman 7 dari 15 halaman, maka nanti diharapkan nomor halaman yang muncul adalah

1 4 5 6 7 8 9 10 15

Anda dapat mengubah rentang halaman sesuai yang diinginkan.

Perintah

if (($showPage == 1) && ($page != 2))  echo "...";

Digunakan untuk memunculkan tanda ‘…’ di antara halaman nomor 1 dengan halaman berikutnya yang tampil. Tapi perlu diingat bahwa tanda ini akan muncul bila nomor halaman yang muncul setelah 1 ialah bukan 2. Apabila setelah 1 ini muncul 2, maka tanda ini tidak muncul.

Demikian pula untuk perintah

if (($showPage != ($jumPage - 1)) && ($page == $jumPage))  echo "...";

Perintah di atas digunakan untuk memunculkan tanda ‘…’ sebelum nomor halaman terakhir bila halaman sebelumnya yang muncul bukan ‘nomor halaman terakhir – 1′.

Sehingga dari kedua perintah di atas diharapkan akan menampilkan nomor halaman seperti di bawah ini

1 … 4 5 6 7 8 9 10 … 15 (bila yang aktif adalah halaman 7)
1 2 3 4 5 6… 15 (bila yang aktif adalah halaman 2)
1 … 10 11 12 13 14 15 (bila yang aktif adalah halaman 13)

Sedangkan perintah

if ($page == $noPage) echo " <b>".$page."</b> ";
    else echo " <a href='".$_SERVER['PHP_SELF']."?page=".$page."'>".$page."</a> ";

digunakan untuk menampilkan link nomor halaman. Namun link dari nomor halaman ini ditampilkan hanya pada nomor halaman yang sedang tidak aktif. Sedangkan pada nomor halaman yang sedang aktif nomor halaman hanya dicetak tebal saja untuk menunjukkan bahwa halaman yang sedang aktif adalah halaman tersebut.

Terakhir.. kita perlu link untuk memunculkan next >>. OK kapan link ini muncul? ya benar… yaitu ketika halaman yang sedang aktif bukanlah pada halaman terakhir atau sebelum halaman terakhir. Sehingga kita bisa tambahkan perintah

if ($noPage < $jumPage) echo "<a href='".$_SERVER['PHP_SELF']."?page=".($noPage+1)."'>Next &gt;&gt;</a>";

pada script, sehingga scriptnya menjadi

<?php
mysql_connect('namahost', 'dbuser', 'dbpassword');
mysql_select_db('dbname');

// jumlah data yang akan ditampilkan per halaman

$dataPerPage = 5;

// apabila $_GET['page'] sudah didefinisikan, gunakan nomor halaman tersebut,
// sedangkan apabila belum, nomor halamannya 1.

if(isset($_GET['page']))
{
    $noPage = $_GET['page'];
}
else $noPage = 1;

// perhitungan offset

$offset = ($noPage - 1) * $dataPerPage;

// query SQL untuk menampilkan data perhalaman sesuai offset

$query = "SELECT * FROM guestbook LIMIT $offset, $dataPerPage";

$result = mysql_query($query) or die('Error');

// menampilkan data 

echo "<table border='1'>";
echo "<tr><td>Nama</td><td>Email</td><td>Tanggal</td><td>Komentar</td></tr>";
while($data = mysql_fetch_array($result))
{
   echo "<tr><td>".$data['nama']."</td><td>".$data['email']."</td><td>".$data['tanggal']."</td><td>".$data['komentar']."</td></tr>";
}

echo "</table>";

// mencari jumlah semua data dalam tabel guestbook

$query   = "SELECT COUNT(*) AS jumData FROM guestbook";
$hasil  = mysql_query($query);
$data     = mysql_fetch_array($hasil);

$jumData = $data['jumData'];

// menentukan jumlah halaman yang muncul berdasarkan jumlah semua data

$jumPage = ceil($jumData/$dataPerPage);

// menampilkan link previous

if ($noPage > 1) echo  "<a href='".$_SERVER['PHP_SELF']."?page=".($noPage-1)."'>&lt;&lt; Prev</a>";

// memunculkan nomor halaman dan linknya

for($page = 1; $page <= $jumPage; $page++)
{
         if ((($page >= $noPage - 3) && ($page <= $noPage + 3)) || ($page == 1) || ($page == $jumPage))
         {
            if (($showPage == 1) && ($page != 2))  echo "...";
            if (($showPage != ($jumPage - 1)) && ($page == $jumPage))  echo "...";
            if ($page == $noPage) echo " <b>".$page."</b> ";
            else echo " <a href='".$_SERVER['PHP_SELF']."?page=".$page."'>".$page."</a> ";
            $showPage = $page;
         }
}

// menampilkan link next

if ($noPage < $jumPage) echo "<a href='".$_SERVER['PHP_SELF']."?page=".($noPage+1)."'>Next &gt;&gt;</a>";

?>

Wah panjang juga ya artikelnya.. tapi gak papa deh, mudah-mudahan ada manfaatnya bagi Anda. Selamat mencoba dan berpaging ria :-) Jika Anda ingin mendownload scriptnya, silakan download di bawah ini

[ Download Script ]

Jangan lupa terus stay tune di blog ini karena pasti akan ada artikel-artikel menarik yang lain daripada yang lain seputar programming.

VN:F [1.9.3_1094]
Rating: 10.0/10 (4 votes cast)
Ide Membuat Advanced Paging dengan PHP, 10.0 out of 10 based on 4 ratings
Anda ingin mendownload beberapa tool programming 100% gratis?
Silakan download di FREE PROGRAMMING TOOLS.
atau ingin berdonasi untuk pengembangan blog ini cukup dengan $1 via Paypal?



Beberapa artikel terkait


Share this article on:

Kata kunci: paging - PHP - script -


Ada 133 komentar dalam artikel ini.

  1. mashardi says:

    pusing liat code banyak ….

  2. rosihanari says:

    to mashardi: :-) that’s for persons who love programming…

  3. muchlisun husein says:

    NICE ARTICLE

  4. rais says:

    waduh jadi keduax neh…

    penjelasan yang sangat mudah di pahami

    pak guru…kapan neh mau buat atikel tentang shop shopan nya..di tunggu lhoh…

    bingung saya…untuk pertanyaan kemaren sudah dak eror lagi…yang member…

    sebab kalau pak guru buat tentang cart..wuih di jamin….

  5. Sadli says:

    Makasih Pak Ari untuk tutorial pagingnya, penjelasannya sangat mudah dipahami untuk saya yang masih beginner banget untuk masalah PHP ini. Alhamdulillah, website saya jadi lebih mudah dimodifikasi sesuai dengan kebutuhan user, dengan adanya bantuan tutorial2 Pak Ari. Salam sukses selalu.

    http://www.namaislami.com

  6. rosihanari says:

    to sadli: OK sama-sama mas… terimakasih juga telah menjadi member saya.

  7. bahtiyar says:

    wah maksih bnyak pak tas tutorialnya,,,,
    lumayan bantu buat ngejain tugas kuliah :)

  8. iin says:

    thanks buat tutorial2 nya..
    banyak membantu tugas2 ku, :)
    btw, kalo mau ekstrak zip menggunakan php bagaimana ya..??

  9. wiz says:

    pak, mau tanya..
    kenapa ketika di next yang muncul cuma 5 dataseperti di page 1..
    g bisa untuk data yang selanjutnya..
    makasih

  10. wiz says:

    ups…
    ternyata kurang teliti aja.. :)
    nuhun ya pak, scriptnya sangat membantu..

  11. Bismillah1
    pk mau nanya kalo membatasi jumlah karakter yang tampil pada halaman web menggunakan php gimana ya pak? ana tunggu replay nya via email ya pak, penting banget buat ana…
    jazakalloh

  12. rosihanari says:

    to indonesia_manusia: kriteria membatasinya dari karakter bagaimana? apakah n karakter dihitung mulai dari karakter paling depan? Untuk melakukan hal ini, anda bisa pakai substr(), misal $karakterTampil = substr($karakterAsli, 0, n);

  13. zymanq says:

    Kalo dioracle??

  14. rosihanari says:

    to zymanq: konsepnya hampir sama mas. Paling yang beda hanya perintah2 untuk koneksi, menjalankan querynya dan membaca data hasil query. Kalau logikanya sama persis.

  15. Ericky Bobby Ferdinanda DS says:

    Huuuuaaaaa. . . . thanx banget . . .. ^_^
    sangat sangat sangat menbantu. . ..
    bahasa yang diberikan pun sangat mudah dimegerti. . . jadi bersa lagi diajarin ma guru private. ..
    tugas saya terbantu,, makasi ya.,…

    artikel yang lain, juga sangat membantu tugas saya. . .. thanx… . =)

  16. anes says:

    maaf pak, setelah saya coba muncul error pada baris: $data = mysql_fetch_array($hasil);

    pada potongan code berikut ini :

    $query = “SELECT COUNT(*) AS jumData FROM guestbook”;
    $hasil = mysql_query($query);
    $data = mysql_fetch_array($hasil);

    pesan yang muncul pada browsernya :

    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in …….

  17. rosihanari says:

    to anes: coba cek lagi dengan nama tabel yang Anda gunakan. Sama nggak penulisannya dengan ‘guestbook’, karena script di atas menggunakan nama tabel tsb.

  18. antho says:

    saya coba page 1-2-3 punya mas tapi setiap pindah halaman larinya selalu ke index.php

  19. rosihanari says:

    to antho: coba cek lagi scriptnya mas, mungkin ada yang salah. Setiap script yang ada di situ pasti dijamin bisa jalan.

  20. antho says:

    scriptx mau jalan mas! tapi klo saya klik page 2 atau 3, scriptx jalan tapi data di page 2 atau 3 buka halaman baru lagi, tidak tetap di dalam tabel yang kita sudah desain sebelumnya

  21. awanxp says:

    waw…sangat2 membantu tutorial.nya… thax banget ka Ari.. eits,, ka apa Om nie..hohoho

    terimakasih buanyakk.. :)

  22. rosihanari says:

    to awaxp: OM aja deh wkwkwkwk…. :-)

  23. die says:

    muantaaab … setelah mencari – cari sekian lama akhirnya dapet juga scriptnya … kikikiki …

    btw … thx bgt oom … ntar kalo ada kendala lagi saya pasti cari solusi disini lagi dech …

  24. pewok says:

    ak boleh minta tolong g???

    saya mau membuat guestbook tapi dengan tampilan lain
    contohnya seperti ini

    [nama dari baris 1-40][nama dari baris 41-80][nama dari baris 81-120][nama dari baris 121-160]

    trus dibawahnya ada page 1 2 3 4 5

    kira2 membuat seperti itu gimana ya

  25. Rizky Nugroho says:

    Mas ,saya masih bingung dengan script diatas yang $_GET['page'];. terutama pada ‘page’ nya di dalam fungsi GET tersebut. itu ‘page’ itu diambil dari mana yah ?

  26. rosihanari says:

    to rizky nugroho: parameter ‘page’ itu diambil dari parameter link yang ada di dalam nomor halaman yang mau dituju. Link ini terletak di bagian bawah halaman paging. Misal kalo ingin menuju ke halaman 2 itu kan ada link http://.../script.php?page=2 dst..

  27. nez says:

    ok banget tutorialnya…makasi yah..:)

  28. Aung says:

    halo pak saya seorang pemula yang ingin belajar pemrograman php and dengan adanya tutorial ini saya sangat terbantu … tapi saya masihbelum bisa membuat halaman komentar atau kotak ngoceh ato shoutbox cara nya gimana pak … makasih maturnuwun

  29. abiehf says:

    advance paging…
    rasanya ini yang aq cari. matur nuwun pak. sugeng siyam.

  30. Hendra says:

    Paging…..
    Mungkin inilah yang saya cari2. Terima kasih Pak.

  31. Ichan says:

    mintak tolong lagi ni mas..
    gw punya query seperti ini

    dan pada halaman reportnya (report.php) ada link seperti ini
    Juni | Juli | Agustus | September | Oktober | Nopember | Desember

    gw maunya begitu klik link “Juni” maka di query pada bagian between “$agustus” berubah jadi “$juni” dan begitu juga bila diklik bulan2 yang lain..

    tapi actionnya semua pada file tersebut (report.php)
    ngerti kan gan maksudnya…

    gimana mas caranya..
    nggak ngarti ni gw…

    makasih ya mas bantuannya

  32. Ichan says:

    $juni = “(’2009-05-21′) and (’2009-06-20′)”;
    $juli = “(’2009-06-21′) and (’2009-07-20′)”;
    $agustus = “(’2009-07-21′) and (’2009-08-20′)”;
    $september = “(’2009-08-21′) and (’2009-09-20′)”;
    $oktober = “(’2009-09-21′) and (’2009-10-20′)”;
    $nopember = “(’2009-10-21′) and (’2009-11-20′)”;
    $desember = “(’2009-11-21′) and (’2009-12-20′)”;
    $sql = “select tgl as tgl,
    afd1 as afd1,
    afd2 as afd2,
    afd3 as afd3,
    afd4 as afd4,
    afd5 as afd5,
    afd1+afd2+afd3+afd4+afd5 as total,
    user as pengirim
    from produksi_bungara
    where tgl between $agustus
    group by tgl order by tgl asc”;

    dan pada halaman reportnya (report.php) ada link seperti ini
    Juni | Juli | Agustus | September | Oktober | Nopember | Desember

    gw maunya begitu klik link “Juni” maka di query pada bagian between “$agustus” berubah jadi “$juni” dan begitu juga bila diklik bulan2 yang lain..

    tapi actionnya semua pada file tersebut (report.php)
    ngerti kan gan maksudnya…

    gimana mas caranya..
    nggak ngarti ni gw…

    makasih ya mas bantuannya

  33. rosihanari says:

    to ichsan: ya mudah saja kan mas… caranya di masing-masing link bulan dikasih parameter misal untuk link JUNI linknya: report.php?bln=juni, dst… Lalu di scriptnya, nilai parameter ‘bln’ nya dibaca pake perintah $bulan = $_GET['bln']; Kemudian gunakan IF

    if ($bulan == “juni”) $tanggal = “(’2009-05-21′) and (’2009-06-20′)”;
    else if ($bulan == “juli”) $tanggal = “(’2009-06-21′) and (’2009-07-20′)”;
    .
    .
    dst

    Kemudian di bagian WHERE pada querynya menjadi “WHERE tgl BETWEEN $tanggal”. Beres dah…

  34. toshi says:

    mas saya mw coba koneksi pake oracle..

    * muncul error :
    Fatal error: Call to undefined function fetcharray() in C:\xampp\htdocs\ta\show.php on line 31

    klo d oracle fetcharray apa ya mas ??
    thanks.

  35. rosihanari says:

    to toshi: anda bisa pake oci_fetch_array() contohnya ada di http://us3.php.net/manual/en/function.oci-fetch-array.php

  36. Agus says:

    Thanks ya Om buat tutorialnya.. Suskes selalu

  37. Agus says:

    kalau mau bikin paging seperti indeed.com gimana ya caranya?

  38. piere says:

    bagus banget tutorial-nya. plese keep posting update info more like this. n …else… great web

  39. nez says:

    mas mau nanya dounk jadi kan saya punya database artikel gitu,nah paging yang buat semua data itu bisa tapi kalo paging yang buat searchnya gag bisa.. jadi misalnya saya mau search artikel yang depannya semuanya A.nah keluar ada 1 sampai 3 tapi ketika saya klik next atau 1,2 maka nanti akan keluar semua page yang ada(1-5)ini kenapa yah mas? kan saya pake yang buat search saia ubah jadi:

    $news=mysql_query(“SELECT * FROM artikel WHERE title LIKE ‘%$search%’ LIMIT $offset2, $dataPerPage2″) or die (“cant get em”);

    lalu saya di bagian bawahnya
    $query2 = “SELECT COUNT(*) AS jumData2 FROM artikel WHERE title LIKE ‘%$search%’”;

    itu saja yang saya ubah..yang laen sama kayak di artikel ini.bagaimana caranya yah mas?saia mase baru di php neh..jadi banyak yang bingung..makasih ya mas>:)

  40. rosihanari says:

    to nez: mestinya keyword yang telah dimasukkan tadi juga harus terbaca ketika menuju halaman navigasinya. Silakan baca artikel saya yang lain tentang “Menampilkan Hasil Pencarian Multikategori dengan Advanced Paging“.

  41. Chevryu says:

    Thanks bgt neh… berguna sekali…

  42. mazna says:

    Artikel-2 nya semua berbanfaat nech..Saya Menggunakan WP 2.8.4 dengan Themes atahualpa 4.4.4 dan saya coba aplikasikan ternyata Page 1 dst malah membaca Post page 1 dst…. Kebetulan Page yang saya edit saat ini adalah 546 bagaimana solsui nya kalau diterapkan pada WP.
    Tks

  43. rosihanari says:

    to mazna: wah kalo script di atas, tidak serta merta bisa langsung diimplementasikan ke WP mas, karena di WP itu semua dalam bentuk modul-modul.

  44. Toeplz says:

    Sudah jalan pak, tapi saya mau tanya bila pada saat menampilkan data ingin ditambahkan link untuk menampilkan file.php lain bagaimana bentuk coding menampilkan data nya pak?
    Sebelumnya terima kasih pak,

  45. rosihanari says:

    to toeplz: link menampilkan file lain gimana maksudnya ya?

  46. andika says:

    thanx bgt y om buat pencerahannya……..uda lama stack gr2 bgnian……

    stay rockin the world w/ PHP mas…

  47. kuma says:

    permisi pak. scriptnya jalan tp saya bingung waktu mao klik halaman kedua, datanya tdk muncul. cuma muncul 5 data pertama saja di halaman pertama. bisa tolong dibantu pak? terima kasih sebelumnya :”>

  48. rosihanari says:

    @kuma: itu pasti ada yang kurang mas, bisa jadi parameter nya hilang… coba cek lagi scriptnya.

  49. andri says:

    terimakasih yah mas rosihanari…
    artikelnya bermanfaat banget buat saya yang kebetulan lagi garap skripsi..
    heheuuuu…
    mohon doanya yak!!!
    sukses buat semuanya!!!
    :D

  50. Rius says:

    bagus artikelnya
    tp gimana mas buatnya biar berupa class
    biar ga report buat paging tiap halaman

    thanks

  51. robert wijaya says:

    terima kasih artikelnya sangat membantu saya yang awam ttg php
    terus berkarya mas, biar indonesia semakin maju.

  52. rosihanari says:

    @robert wijaya: siap.. laksanakan mas Robert :-) thanks untuk motivasinya.

  53. robert wijaya says:

    maaf mas, mau tanya..
    saya kan coba2 bkn web yg pake ajax n ada pagingnya, saya pake source code yang ada di atas bwt paging nampilkan barang2. nah masalah muncul pas gabungin file paging itu ke index, pas aku klik nomer2 hal paging itu index nya ikut berubah, semuanya menuju ke halaman paging. jadi index nya ga tampil, kan aneh klo ada website pas kita ngeklik paging, halaman utamanya hilang n ke paging semuanya… sory ngrepoti mas. tlg y klo bisa dibantu… :) thanks b4…

  54. rosihanari says:

    @robert wijaya: kalau begitu jadikan script di atas sebagai bagian dari halaman index mas. ada tinggal include kan desain template dari halaman webnya ke dalam script tsb.

  55. robert wijaya says:

    iy mas uda bisa, sory sy masi cupu bgt ttg php, ini saya lg bikin skripsi tp toko elektronik online, tp blajar php mulai dari nol, cari2 dr google terus di edit2.he5.. thanks bgt mas. semoga websitenya semakin maju.

  56. rosihanari says:

    @robert wijaya: OK deh mas… thanks do’anya.

  57. ary says:

    kalo data basenya db2 gmana bos..

  58. robert wijaya says:

    mas sory baru nyadar, klo pke include kan brarti ajaxnya ga jalan. sy pake ajax dari http://www.dhimasronggobramantyo.com/artikel/Belajar_Ajax,_pelajari_segala_sesuatu_tentang_Ajax_dari_mulai_dari_dasar_hingga_contoh_aplikasi_Ajax#bookmark sedangkan pagingnya sy pake pny mas.. tolong pencerahannya gimana cara gabunginnya supaya pas di next halaman utamanya masih tetep ada.. thanks

  59. azwar says:

    asslmkm.. mas, caranya paging kalo dengan database Oracle bagaimana? setahuku tidak bisa pake limit kyk di mysql. saya sudah hampir putus asa nih nyari di google.. ga ngerti2..
    oya, kalo ada sekalian dengan contoh scriptnya.

    tolong ya mas.. trimakasih sebelumnya..

  60. azwar says:

    asslmkm mas.. aq mo nanya dong.. gimana caranya paging apabila menggunakan database ORACLE. setahuku di ORACLE tidak mengenal limit. kalo ada sekalian contoh skrip nya ya.. trimakasih sebelumnya..

  61. rosihanari says:

    @azwar: gunakan ‘rownum’ mas, misalnya:

    SELECT * FROM tabel WHERE rownum <= 20;

  62. azwar says:

    makasih mas atas infonya..

    bisa nggak rownum di ORACLE tsb diterapkan pada advanced paging diatas. kalo berkenan sekalian dengan contohnya skripnya.. ^_^

    Maturnuwun..

  63. rosihanari says:

    @azwar: bisa saja mas diterapkan.

  64. edhy says:

    Terimakasih tutorialnya Mas, sangat membantu bagi saya, sukses selalu buat Mas, Amin.

  65. Jadul says:

    Thank buuuuuuaaanget mas, seneng bisa lihat orang yg berbagi ilmu dengan iklas, semoga tambah turus ilmu nya…. dan yg pasti saya kebagian juga, he he he…

  66. rosihanari says:

    @jadul: amin.. thanks atas harapannya.. :-)

  67. azwar says:

    makasih mas.. aq udah berhasil terapkan paging ini untuk database oracle.

    tapi ada yg mo saya tanyakan mas, apakah benar link nomor2 halaman itu letaknya diatas tabel?

    bagaimana memindahkan ke bawah tabel?

    trimakasih sebelumnya..

  68. rosihanari says:

    @azwar: letaknya di bawah tuh mas… coba pindahkan saja smua perintah mulai dari menampilkan link previous sampai dengan terakhir.

  69. Keren mass cara paggingnya,.

    pagging yang di gabungin dengan JS gmn yag??

  70. keren-keren infonya, mendetail banget,.,.

    klo pagging yang digabungin dg JS gmn caranya ya??

  71. rusti says:

    Pak ari, saya sdh punya website yg terdiri dari bbrp menu, spt menu home, berita,buku tamu. Tapi menu buku tamu, menu berita blm dipaging halamannya. Saya sdh coba memodifikasi kode program paging tapi blm bisa, msh eror. Bgm memodifikasi kode paging tsb di index.php?

  72. dhedy husada says:

    aaaarrrrgghhh……….
    makasih,very very very very helpfull……….
    makasih mas,masnya keren dan pintar,jadi pengen kayak masnya……
    makasih mas……

  73. huda says:

    kalo mau di tambahkan penomoran gimana?
    misal:

    No ———->Penomoran
    Nama
    Email
    Tanggal
    Komentar

  74. kafa says:

    kenapa scriptnya gak jalan? malah muncul error seperti ini:

    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘-20, 20′ at line 1

    tabel dan fieldnya padahal sudah saya ganti, termasuk koneksi databasenya.

    mohon pencerahannya…

  75. aprianto says:

    wew..terimakasih tutorialnya…sangat2 membantu saya..hehehe.

    salam hangat IGT PHP TEAM buat mas rosihanari.

  76. Andi says:

    Salam kenal Pak Ari.Pak memberikan CSS pada paging bagaimana..selalu nomor yang aktif tidak terkena style.pemberian id saya kasih di tag body (misal ; .mohon bantuannya pak kalo berkenan. :D dan maturnuwun banget pak .

  77. kang fauz says:

    tutorialnya mantep pak, terimakasih banyak

  78. jooke says:

    keren daaah ini dari tadi yang saya cari makasih mas, sukses…

  79. kafa says:

    saya sudah mencoba, dan hasilnya bagus, bisa jalan. akan tetapi, ketika saya tambahkan aksi (hapus,edit) tidak bisa jalan. Kenapa ya pak?

  80. rosihanari says:

    @kafa: mungkin ada yang salah di query update dan hapusnya mas. Coba dicek lagi

  81. El Hilal says:

    Mas, kalo buat paging tapi ada sessionnya bisa ga y? Dan pada tabel tersebut lalu saya kasih pencarian data gitu.

  82. kafa says:

    huhuhu…. saya bukan mas pak…

    saya ini cewek masih single lagi. huhu…

    ya coba saya cek lagi. makasih ya pak..

  83. Jawa says:

    Masih akfif kan blognya pak? Mau minta pencerahannya hehe..

    Saya pake textfield yg di input tanggal(java script).. maksudnya, saya pengen nampilin berdasarkan inputan tanggal itu.. Pada data pertama muncul, waktu di next ilang (pdhal masih ada data) dan di prev juga data yg muncul pertama juga ilang..

    Mohon pencerahanny pak.. Terimakasih..

  84. NAnya donk. kalo misalnya di tabel tersebut ada kolom nomor, yang bila di page 1 berarti nomornya 1-5, page 2 nomornya 6-10, dst bagaimana caranya? ada ide? looping di dalam looping itu bagaimana ya? thx,

  85. rosihanari says:

    @heri setiawan: itu bisa diperoleh dengan increment mas, tapi nilai awalnya menyesuaikan nomor halamannya. Coba kaitkan nilai awal nomo urutrnya dengan nomor halamannya, jika untuk setiap halaman isinya ada 5 data. Misal jumlah data per halaman adalah n, yaitu n = 5. Misal nomor halaman adalah p, maka nomor awal urutannya kan -> 5 (p-1) + 1. Coba kita cek, untuk halaman ke-1, maka nomor awal urutnya adalah: 5 (1-1) + 1 = 1. Bener kan? Untuk halaman ke-2, maka nomor awal urutnya adalah: 5(2-1) + 1 = 6. Bener kan? Nah.. setelah ketemu nomor awal urutnya, tinggal anda berikan increment saja.

  86. rosihanari says:

    @kafa: maaf mbak… soalnya id nya gak jelas co or ce, so.. saya pilih co aja :-)

  87. rosihanari says:

    @jawa: coba tanggal nya disimpan di session saja mas. Coba baca artikel ttg session dan contoh cara penggunaannya di http://blog.rosihanari.net/apa-sih-gunanya-session-di-php

  88. rosihanari says:

    @el hilal: tentu saja bisa mas…

  89. erik says:

    Mas, untuk paging halamannya sudah ga mslh.
    tp utk nampilin data yang berurut ke bawah gmn?
    cth:
    data=100; perpage=20;
    page1=100-81; page2=80-61; page3=60-41 dst..
    saya msh bingung ngatur Ofset-nya…
    mohon bntuannya
    terima kasih…

  90. yan says:

    Pak saya ada usul, gimana kalau paging komentar diblog ini dibuat advanced pagingnya, biar navigasi komentarnya lebih enak…

  91. rosihanari says:

    @yan: makasih usulannya mas. Namun.. di blog ini saya pagingnya pake plugin, jadi kalo mo ngubah scriptnya harus utak-atik script pluginnya.

  92. andro says:

    sangat membantu sekali gan artikelnya!!

  93. boim says:

    sebelum lam knal ya bang….
    bang itu kan contohnya guestbok,,ada contoh yang menampilkan postingan artikel ngga,dmana artikel yg ditampilkan hanya cuplikannya saja(readmore)+paging

  94. rosihanari says:

    @boim: tunggu ya bang… sabar… :-)

  95. boim says:

    ok deh bang….ta tunggu :)

  96. gedelumbung says:

    kalo menampilkan paging pada searching caranya gimana pak?
    Pas udah di halaman 2, pagingnya gak mau jalan…
    Terima kasih…

  97. Jika ada yang nanya sama saya, blog mana yang paling bagus, berkualitas, dan baik hati mau share ilmunya, maka saya akan katakan rosihanari.net!

    Trims dah bagi2 ilmu, semoga tuhan mbls amal ibadah ini

  98. rosihanari says:

    @yanno dwi ananda: amin… mas masih banyak kok blog2 yang lebih keren dan bermutu dari yang ini.

  99. jampang says:

    pak, mau tanya… bagaimana caranya membuat halaman berdasarkan tanggal, tidak memandang jumlah data per halaman yang penting satu halaman muncul data untuk satu tanggal. di dalam tabel sudah ada kolom tanggal. terima kasih.

  100. hendri says:

    Mas mhn bantuannya, url data sudah berupa ?page=bttampil, gmn ya cara membuat paging krn sudah sy coba tp tidak bisa muncul

  101. hendri says:

    Mas sy mau minta tlg cek kode php saya tp saya tidak bs kirim, gmn cara saya mengirimnya ?

  102. Aziz says:

    pak Ari, tutorialnya bagus sekali dan sangat membantu.. :)

  103. Terima kasih banyak pak atas tutorialnya. Saya mengikuti semua step pada tutorial di atas dan scriptnya berjalan dengan sangat baik.

  104. m arif hidayat says:

    pak ari ,setelah saya coba kok, kok ada tulisannya undefined variable $showPage, mohon penjelasannya…

  105. chaeruddin says:

    salam kenal…
    saya baru kenal namanya PHP, n ini karya pertama saya, tolong ajarkan saya dong tentang paging, saya membuat sebuah toko buku online, setiap saya klik kategori buku,semua buku tampil dalam satu halaman, saya ingin per halaman cuma 5 buku..

    ni source bukukoleksinya…
    http://www.ziddu.com/download/9938979/bukukoleksi.rar.html

    terimakasih

  106. yoeda says:

    thanks banget infonya kebetulann lgi butuh,,,

  107. irma says:

    pa masih lum ngerti nih tutorialnya,,,
    tapi banyak membantu… makasih…

  108. ismail says:

    mas punya ku muncul pesan ini :
    Notice: Undefined variable: showPage in C:\Program Files\EasyPHP-5.3.2i\www\show.php on line 62

    Notice: Undefined variable: showPage in C:\Program Files\EasyPHP-5.3.2i\www\show.php on line 63

    tolong solusinya ya…terimakasih…

  109. Dedy M says:

    Saya Sangat Menyukai Artikel Ini…Terima kasih Jazakallah

  110. Terima kasih mas artikelya. Ini sudah langsung saya coba dan berhasil. Makasih artikelnya… ^^

  111. rosihanari says:

    @ismail: coba Anda ganti pakai AppServ mas, itu hanya pengaruh di konfigurasi php.ini nya saja.

  112. iksan says:

    thanks tutor nya bang rosihan, cuma mau nanya, kan kalo link nya di klik, gimana cara munculin datanya dari database? mohon bantuannya bang… =.=”

  113. rosihanari says:

    @iksan: kan datanya sudah otomatis muncul dari database??

  114. Dedy M says:

    Assalamu Alaikum

    Mas saya Punya Kendala Seperti ini:

    Saya ingin membuat Paging..

    Misal yang ingin ditampilkan 5 halaman dengan 5 data:

    Tapi Yang Pertama muncul seperti ini
    1 2 3 4 5 next

    ketika 1 sampai 5 diklik, dia hanya menuju ke masing2 halaman, ketika “next” di klik maka yang tampil:

    prev 6 7 8 9 10 next

    jadi “next” adalah batas akhir halaman yang muncul + 1,

    Sedangkan “Prev” adalah batas awal dari halaman sebelumnya, nah ketika “prev” di klik maka yang tampil adalah:

    1 2 3 4 5 next

    Mohon Pencerahannya mas..terima kasih..jazakallah khairan katsira..

  115. Steve says:

    pak,mau nanya ne,…klo penggunaan fungsi “LIMIT x,y” di microsoft access,kira gmana y?

    mohon bantuannya pak y,soalnya lagi ngerjain skripsi sy ne…:)

  116. adhe hidayat says:

    thank’s idenya….tambhan pnting untuk tugas…

  117. Ika says:

    Saya sudah mencoba skrip yg di atas, tapi ko malah muncul pesan “error” di browsernya ketika saya panggil file yg paging itu di browser. Itu kenapa ya????

  118. rosihanari says:

    @ika: ya… coba dicek pada nomor baris yang salah itu mbak, dan perbaiki. pasti ada yang salah tuh… Good luck!!

  119. Idian Purnama says:

    Pak ari saya mau tanya bagaimana ya jika saya membuat web di komputer saya dan database mysqlnya di komputer lain. Koneksinya gimana pak

  120. rosihanari says:

    @idian purnama: syaratnya antar komputer tsb harus terkoneksi LAN ya mas. Trus… arahkan saja koneksi mysql di script PHP nya ke nomor IP pc yang ada mysql nya. Contoh: mysql_connect(“192.168.1.2″, “user”, “password”);

  121. Idian Purnama says:

    udah pak terimakasih. saya mau tanya lagi. gimana cara membuka blokiran dari nawala ? dan
    saya pengen bikin program pake php untuk menyimpan file ke server modelnya seperti filezilla gitu pak ?? segala jenis file

  122. rosihanari says:

    @idian: nawala itu apa mas?

  123. belly says:

    pak, saya kok kluarnya kek gini yah

    Notice: Undefined variable: showPage in C:\wamp\www\TA\teman.php on line 119

    Notice: Undefined variable: showPage in C:\wamp\www\TA\teman.php on line 120

    itu variable showPage klo bole tau dr mana ya?
    trus katanya setting php.ini, setting dmn yah?

  124. rosihanari says:

    @belly: coba masuk ke php.ini, dan cari baris ini

    error_reporting = …

    Ubahlah isi titik-titiknya dengan E_ALL & ~E_NOTICE

    sehingga menjadi

    error_reporting = E_ALL & ~E_NOTICE

    Simpan dan restart kembali apachenya.

  125. Andhini says:

    wah. makasih banyak ya.. sangat membantu buat tugas akhir saya. tks.

  126. Sol says:

    Oya, satu lagi ane hampir lupa. Ane akan naro’ url “Ide Membuat Advance Paging” ini di web ane secara permanen kalo masalah ane ini bisa dibantu pemecahannya utk paging.

  127. Sol says:

    Karena saya blum bisa bikin paging utk list url di web saya, jadi saya akalin aj dengan bikin list per 20 url, 100, url, 500 url n 1000 url.

  128. zony says:

    asalamualikum…

    pa ari … MANTAP SANGAT tutorialnya, sangat membantu, terimakasih pa.. :D

    tapi pak klo DBMS nya kita menggunaka SQL Server, querynya gimana ya pa??

    mohon bantuan..
    terimakasih sebelumnya.

  129. rosihanari says:

    @zony: konsepnya sama saja mas, paling yang beda cuman cara koneksi dari php ke sql server saja, dan cara menjalankan query nya.

  130. makasih banyak mas……sangat sangat membantu

  131. gina says:

    sip… mantab…

    .ada script slide shownya ga..hehe



Tolong beri komentar donk!

Komentar Anda akan berguna untuk kemajuan blog ini.


Mohon maaf, komentar yang menggunakan email palsu atau komentar bernada negatif atau cemooh secara otomatis akan terhapus karena dianggap spam dan tidak akan tampil dalam daftar komentar.

Dimohon jangan pula memasukkan code program dalam bentuk apapun ke dalam komentar karena akan dianggap spam.

*
To prove you're a person (not a spam script), type the security word shown in the picture. Click on the picture to hear an audio file of the word.
Click to hear an audio file of the anti-spam word