Teknik Looping didalam Looping Disertai Studi Kasusnya

Dalam logika pemrograman, looping (perulangan) digunakan untuk mengulang suatu proses. Namun, dalam tutorial kali ini, saya tidak akan membahas dasar-dasar looping (perulangan), jadi saya langsung aja ke permasalahannya mengapa diperlukan looping didalam looping? Dalam kasus tertentu, looping saja tidaklah cukup, misalnya membuat rekap data yang kompleks dari beberapa tabel dan menampilkan masing-masing berita dalam suatu kategori. Dalam kedua kasus tersebut diperlukan looping didalam looping (while didalam while).


Agar tidak tambah bingung, saya akan berikan contohnya secara bertahap, biasanya dalam menampilkan data dalam suatu tabel kategori hanya diperlukan satu looping, contoh skripnya sebagai berikut:


<?php
include "koneksi.php";

echo "<h3>Daftar Kategori</h3>";

$kategori=mysql_query("select * from kategori");

while($k=mysql_fetch_array($kategori)){
echo "<li>$k[nama_kategori]</li>";
}
?>

Apabila dijalankan di browser, maka hasilnya dapat dilihat pada gambar berikut:



Selanjutnya, kita akan menampilkan beberapa berita didalam masing-masing kategori. Logikanya, setelah looping (while) untuk menampilkan kategori, maka perlu diselipkan satu looping lagi untuk menampilkan berita didalam looping kategori. Dan tentu saja, berita yang tampil haruslah berhubungan dengan kategorinya.


Untuk itu, coba perhatikan dulu relasi antara tabel kategori dengan tabel berita pada gambar berikut:


Kemudian baru kita bikin skripnya sebagai berikut:


<?php
include "koneksi.php";

$kategori=mysql_query("select * from kategori");

// looping untuk menampilkan nama kategori
while($k=mysql_fetch_array($kategori)){
echo "<h3>$k[nama_kategori]</h3>";

$berita=mysql_query("select * from kategori, berita
where kategori.id_kategori=berita.id_kategori
and berita.id_kategori='$k[id_kategori]'");

// looping untuk menampilkan judul berita
// yang berhubungan dengan kategori masing-masing
while($b=mysql_fetch_array($berita)){
echo "<li>$b[judul]</li>";
} // end while looping berita
} // end while looping kategori
?>

Sekarang coba jalankan di browser, maka hasilnya dapat dilihat pada gambar berikut:



Saya juga telah mengimplementasikan teknik looping didalam looping di CMS Lokomedia pada templates eL jQuery ala Yahoo, silahkan buka file kiri.php pada folder templates/eljquery-yahoo. Hasilnya dapat dilihat pada gambar berikut:



Oke,demikianlah sekilas kegunaan teknik looping dalam looping. Untuk mendownload skrip dan database latihannya, silahkan Klik Disini.

Baca Juga

43 Komentar

  • pertamax | 11 April 2012 - 06:45:05 WIB

    pertamax : sangat membatu nih

  • chelsea | 11 April 2012 - 07:56:12 WIB

    Mantap mas lukman...sambil menunggu buku baru, ada baiknya mas lukman membuat artikel-artikel seperti ini, supaya menambah pengetahuan buat kita smua ...

    smoga sukses slalu buat mas lukman and team

  • ifliandry | 11 April 2012 - 07:57:55 WIB

    keduax(maksa ..hehehe) ..

    terima kasih artikelnya ..
    sering-sering mas kasih artikel ..
    mungkin ada gap ilmu antara buku terbitan lokomedia dengan kami pembaca setia(taelaahhh...) .. bisa tertutupi dengan artikel-artikel seperti ini...

    btw kapan nih ngeluarin buku baru lagi ?

  • ifliandry | 11 April 2012 - 08:00:59 WIB

    dikalimat

    "Untuk itu, coba perhatikan dulu relasi antara tabel kategori dengan tabel berita pada gambar berikut: "

    gambarnya kok gak ada ya ?

  • download Tugas akhir + skripsi | 11 April 2012 - 08:54:00 WIB

    semangat.... terus berkaraya...

    ______________________________
    cont oh-ta.blogspot.com

  • lukman | 11 April 2012 - 09:36:00 WIB

    @ifliandry: terimakasih atas kejeliannya, gambar relasi tabelnya sudah saya posting kembali .. tul juga tuh untuk meminimalisir gapnya, saya akan coba secara berkala bikin tutorial di website ini.

  • Firmansyah Wahyu | 11 April 2012 - 10:15:16 WIB

    terimakasih mas lukman..saya tunggu dan semoga bisa terupdate terus tutorial yang lain...

  • nurhasim | 11 April 2012 - 11:11:03 WIB

    tetap setia menanti buku OOP buatan mas lukman, soalnya cara penyampaiannya mudah dimengerti. mudah2an di next buku oopnya juga. amiin

  • flocking distro | 11 April 2012 - 12:31:00 WIB

    mas lukman saya mau tanya misal : ditabel produk fieldnya : s,m,l,xl nah kl di tampilkan di combobox hasilnya sebaris weh : s,m,l,xl sy ingin menampilkannya tuh ke bawah gmn palukman seperti ini
    s
    m
    l
    x
    l
    terima kasih

  • merdeka | 11 April 2012 - 13:15:55 WIB

    pugin tinymcpuk untuk insert text code pake apa ya mas?

  • nanda | 11 April 2012 - 17:30:27 WIB

    wow, mantep tutorialnya mas..
    sukses selalu yaa...

  • chelsea | 12 April 2012 - 00:27:20 WIB

    @flocking distro , kalau tidak salah saya pernah lihat problem seperti itu pernah di bahas di blognya pak rosihan ari
    http://blog.rosihanari.net/

    coba deh di cek.. :p

  • rhio | 12 April 2012 - 11:54:52 WIB

    klu gak salah dalam pemrograman looping didalam looping kurang dianjurkan dalam pemrograman karna membutuhkan waktu proses yang cukup lama.
    bener apa tidak pak??apakah ada cara lain untuk kasus seperti ini??

  • kolam | 13 April 2012 - 15:06:56 WIB

    Wah lokomedia bisa aktif lagi nih. Kenapa kemarin error ya???

  • lukman | 13 April 2012 - 22:17:48 WIB

    @kolam: mungkin aksesnya ke alamat sebelumnya yaitu bukulokomedia.com/home, sekarang cukup bukulokomedia.com

    @rhio: yup betul, namun tergantung dengan data yang diproses, kalau ribuan ya lama, tapi kalau cuman puluhan data seperti masing-masing kategori hanya menampilkan 5 data (limit 5), maka proses looping didalam loopingnya paling hanya dibutuhkan waktu beberapa detik.

    @merdeka: untuk insert coding dalam posting artikel/berita, saya menggunakan plugin SyntaxHL yang terdapat di editor TinyMCE (bukan tinymcpuk), nanti pada update CMS Lokomedia 1.5.8 sudah menggunakan editor TinyMCE.

  • ronla | 14 April 2012 - 07:00:53 WIB

    om lukman kpn keluar update cms lokomedia 158..oia om kpn ngeluarin buku lg nie

  • tia | 14 April 2012 - 10:05:00 WIB

    om website om lukman ini knapa masih ad bugnya
    http://bukulokomedia.com/rss.html
    http://toko hp.bukulokomedia.com/rss.html
    http://forum.bukulokomed ia.com/rss.html
    http://cms.bukulokomedia.com/rss.html r

    ini jenis bug apa om.....masil pemula nie...

  • chelsea | 14 April 2012 - 10:08:44 WIB

    pak lukman kayanya kena hack yah...
    http://bukulokomedia.com/rss.html

  • Ujang | 14 April 2012 - 10:35:02 WIB

    iya kena hack ya...duh kenapa ya.

  • ucok | 14 April 2012 - 10:57:35 WIB

    wah .LOKOMEDIA KENA HACK...............GIMANA NI MASIH ADA BUG PAK LUKMAN ...MARI KITA BAHAS BERSAMA

  • Semoga | 14 April 2012 - 12:20:15 WIB

    semoga saja bisa segera diatas dan pak lukman bisa menemukan celah dan menutupnya.

  • luki m | 15 April 2012 - 01:56:52 WIB

    gmn cra memperbaiki error seperti ini

    : The requested URL /home was not found on this server.

    Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.

  • lukman | 15 April 2012 - 09:22:11 WIB

    @ronla: untuk update CMS Lokomedia seperti biasa akan saya posting tiap akhir bulan, termasuk versi 1.5.8 tunggu akhir April ini. Saat ini saya belum nulis buku lagi, rencananya pertengahan tahun ini baru aktif nulis lagi.

    @luki m: kayaknya masalah mod_rewrite, coba baca solusinya di http://bukulokomedia.com/artikel-132-solusi-kasus-error-no t-found.html

  • lukman | 15 April 2012 - 09:37:28 WIB

    @tia: iya dulu website ini pernah di-hack, tapi pesan hackingnya sengaja tidak saya hapus, karena file rss.html memang tidak merusak, karena kan yang dipanggil untuk RSS adalah rss.xml.

    Hackernya berinisial Teardrop (salah satu member komunitas devilc0de) tidak bermaksud untuk merusak website ini, hanya mencoba security-nya saja, yang menurut dia agak susah payah juga menembusnya, silahkan baca pengalamannya (register dulu di forumnya) di

    http://devilzc0de.org/forum/thread-12773.html

  • lukman | 15 April 2012 - 09:40:28 WIB

    lanjutan:

    beberapa celahnya sudah coba saya tutup berdasarkan tips yang diberikan oleh wenkhairu (admin komunitas devilc0de) yang telah saya share di CMS Lokomedia 1.5.7.

  • luki m | 15 April 2012 - 11:51:38 WIB

    Mas Lukman webny sdh sy onlinekan..pa yang hrs sy rubah atau setting di hostingnya..?

  • luki m | 15 April 2012 - 13:20:03 WIB

    Mas lukaman...sy perhatiin di hostingnya ada file-file asing...wah kynya webny di hack...ini alamat web ma software yang dia pake...http://postinganane.wordpress.com/2011/07/09/ngedit -backdoor-b374k-jumping-edition/

  • agung | 18 April 2012 - 05:00:03 WIB

    @pak lukman, mau tanya saya newbie ini.. di cms toko lokomedia 1.2 yang saya punya tidak ada rss.xml apakah ini berpengaruh terhadap terindexnya google? soalnya sudah satu minggu ini web saya buat tapi blum juga terindex google sama sekali..
    mohon pencerahannya..

  • isi survey dapet duit | 23 April 2012 - 22:54:06 WIB

    Terima Kasih Pak Lukman : tambah lg dunk tutorialnya

  • Dede | 01 Mei 2012 - 15:59:07 WIB

    Thanks's....

  • vintage film posters | 05 Mei 2012 - 13:50:59 WIB

    I am really impressed with your writing skills as well as with the layout on your weblog. Is this a paid theme or did you customize it yourself? Either way keep up the nice quality writing, it’s rare to see a great blog like this one nowadays..

  • hendra | 08 Mei 2012 - 05:38:08 WIB

    all pkabar semua?? akhirnya bisa berkunjung lgi..

    di cms kita ini apa aja bisa loh..cek aq baru saja update komentar ada gravatarnya, didesaign mirip dengan forum kita punya

    nih satu contoh link nya : http://tokoaslionline.com/berita-71-daemon-tools-pro-advan ced-4410314-full-patch.html

    ---------------tokoasl ionline.com--------

  • System Projector | 14 Mei 2012 - 15:00:53 WIB

    Nice information, salam kenal ya gan :)

  • bobita | 17 Mei 2012 - 11:50:21 WIB

    kalo melakukan looping di Codeigniter gimana ya?
    Query dilakukan murni melalui Model,View,Control.
    Kemarin2 nyoba looping di viewnya aja, tapi kan jadi ilang konsep MVCnya.

  • edi | 18 Mei 2012 - 14:50:14 WIB

    komentarnya aktif di sini

  • angga-fian | 21 Mei 2012 - 18:54:09 WIB

    keren mas ....
    ane udh nyoba yang ini .....
    alhamdulillh berhasil .......

  • Menghilangkan Bekas Jerawat | 18 Juli 2012 - 09:30:52 WIB

    Informasi yang menarik, semoga bermanfaat bagi kita semua , amiinn!!

  • Aenur | 20 September 2012 - 16:25:29 WIB

    Makasih atas tutorialnya, maju terus buat lokomedia

  • marbun | 30 Oktober 2012 - 18:11:28 WIB

    terima kasih pak lukman ats semua tutorialnya semoga dihari akan datang ttp semangat berbagi pd pemula ini

  • peluang bisnis | 19 Desember 2012 - 20:48:56 WIB

    tambah lg donk tutorialnya. kl bisa dari dasar banget

  • Iyan | 24 Juli 2013 - 19:24:55 WIB

    Mas kalau loopingnya 3x bisa gk?
    misalnya dalam kategori Olahraga ada Cristiano Ronaldo pemain terbaik 2008, nah kalau di kasih sub lagi bisa apa tidak? jadi masih ada pembahasan lagi di dalam Cristiano Ronaldo?

    Contoh :
    -Olahraga
    -Cristiano Ronaldo
    -Pemain asal Portugal tersukses

    Tolong bantuannya mas, saya lagi ngerjain skripsi. :)

  • susilo | 26 Juli 2013 - 04:11:28 WIB

    mantab bos...ijin nyimak bos...
    http://sbu-tech.com

  • Buah Penurun Kolesterol | 27 September 2013 - 21:13:27 WIB

    terimakasih telah mau membagi pengetahuannya dan informasinya ..
    semoga menjadi berkah dan amal ibadah
    http://goo.gl/DFucBH