Friday, July 20, 2012

Sintaks Query untuk mengambil Database MySQL Secara Acak

Tutorial kali ini saya akan membahas bagaimana cara mengambil data secara acak dari database MySQL. Sebenarnya mengambil database secara acak sebenarnya sangatlah mudah sekali, tetapi beberapa waktu yang lalu saya sedikit mengalami kesulitan sewaktu mau menampilkan artikel terkait yang berada dikategori sama dengan artikel yang sedang di tampilkan. Artikel terkait yang ingin saya tampilkan adalah artikel yang dipilih berdasarkan random (acak).


Sebenarnya teknik seperti ini sudah lama sekali saya ketahui, namun ketika saya memerlukannya, saya benar-benar lupa bagaimana caranya. Padahal ini sangat mudah dan simple. Akhirnya dengan bantuan Om Google saya menemukan solusinya. Rasanya lucu juga, saya yang sudah terjun didunia Web Programming sejak Tahun 2004 (waktu itu masih kuliah) sampai dengan sekarang, tetapi untuk masalah sangat sederhana seperti ini bisa lupa. Mungkin karena faktor U (umur) kali ya… hehhe


Nah, untuk menghindari saya lupa lagi akhirnya saya menuliskan tutorial kategori ‘sangat ringan’ ini. Selain mengingatkan saya, mungkin ada juga rekan-rekan yang mengalami masalah yang sama dengan sama, bisa terbantu dengan article ini. Misalkankanlah kita memiliki database MySQL dengan struktur seperti kode dibawah ini dan didalamnya kita sudah input beberapa data :

  1.  
  2. CREATE TABLE IF NOT EXISTS `artikel` (
  3. `artikelID` int(10) NOT NULL AUTO_INCREMENT,
  4. `judulArtikel` varchar(100) NOT NULL,
  5. `isiArtikel` text NOT NULL,
  6. `diskripsiArtikel` text NOT NULL,
  7. `penulis` varchar(50) NOT NULL,
  8. PRIMARY KEY (`artikelID`)
  9. ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
  10.  


Dari database diatas kita bisa melakukan banyak sekali operasi database, misalnya Membuat View (virtual database) dengan menggabungkannya dengan table lain. Selain itu ada banyak lagi yang kita lakukan, tetapi disini kita akan membahas bagaiamana cara mengambil data dan menampilkannya dengan kriteria yang kita buat.


1. Menampilkan Data yang diurutkan berdasarkan ID secara ASCENDING



Data ditampilkan secara Ascending maksudnya data ditampilkan berdasarkan ID dimana data artikel yang ditampilkan adalah artikel dengan ID paling kecil, yang artinya artikel paling lama berada didatabase. Sintaks MySQL untuk menampilkannya adalah seperti dibawah ini :

  1.  
  2. SELECT * FROM `artikel` ORDER BY `artikelID` LIMIT 10
  3.  

Perhatikan bahwa tidak ada keterangan ASCENDING (ASC) pada sintaks diatas, namun ini tidak masalah, karena secara default, MySQL akan mengurutkan data secara Ascending jika tidak disetting urutannya.


2. Menampilkan Data yang diurutkan berdasarkan ID secara DESCENDING



Menampilkan data secara Descending maksudnya adalah menampilkan data yang memiliki ID paling besar yang berate menampilkan data artikel terbaru yang di inputkan kedalam database. Sintaks MySQL untuk menampilkannya adalah seperti dibawah ini :

  1.  
  2. SELECT * FROM `artikel` ORDER BY `artikelID` DESC LIMIT 10
  3.  

Perhatikan bahwa ada keterangan DESCENDING (DESC) pada sintaks diatas yang akan memerintahkan MySQL untuk mengambil data yang memiliki ID paling besar terlebih dahulu, sehingga data yang dihasilkan adalah data paling baru ke data paling lama.



3. Menampilkan Data yang dipilih secara ACAK (RANDOM)


Nah di poin ketiga inilah sebenarnya inti dari tutorial kita kali ini. Namun memang sengaja saya menempatkannya di point terakhir, supaya anda bisa melihat perbedaan antara mengambil database secara Ascending, Descending dan Random (Acak). Pada pengambilan kali ini database akan diambil sebanyak yang kita tentukan dan diambil secara acak. Acak artinya data yang diambil akan berubah-ubah setiap sintaks di eksekusi. Trik ini kita perlukan didalam banyak aplikasi, diantaranya pada website AplikasiPHP.com saya memerlukannya untuk membuat list artikel acak yang berkaitan dengan suatu artikel. Sintaks MySQL yang dapat kita gunakan adalah seperti di bawah ini :

  1.  
  2. SELECT * FROM `artikel` ORDER BY RAND() LIMIT 10
  3.  


Perhatikan bahwa pada query diatas data artikel di order secara random (ORDER BY RAND()) yang akan memerintahkan MySQL untuk mengambil data sebanyak yang kita tentukan namun bukan diurutkan berdasarkan ID, tetapi diambil secara acak. Sehingga data yang dihasilkan akan berbeda setiap query ini kita eksekusi. Dengan kode diatas, kita sudah bisa memecahkan masalah untuk mendapatkan data acak. Mudah buka?? Ya, seperti yang sudah saya jelaskan sebelumnya bahwa trik ini sangatlah mudah, namun sering kali hal yang mudah pun kita bisa lupa ketika kita membutuhkannya.



Sampai disini dulu artikel saya ini, mudah-mudahan bermanfaat bagi anda. Dan jika anda tidak keberatan, silahkan di share artikel ini ke teman-teman Facebook atan Twitter anda, mana tau ada teman lain yang memerlukan artikel ini. Untuk men-share-kan artikel ini cukup mudah, anda cukup komentari artikel ini dengan ID Facebook anda atau tekan Tombol Like atau SHARE facebook di bawah ini.

Sumber : http://aplikasiphp.com
 



Anda ingin mencari refrensi dan contoh program lengkap ? Kami ada. Sekarang Anda bisa mencari Download PHP Script di situs ini : http://www.bunafitkomputer.com. Koleksi program lengkap di sana, proyek PHP dan MySQL, juga jQuery dan Framework. Bukunya juga ada.

No comments:

Post a Comment