laurenreadsya
Untitled
3 posts
Don't wanna be here? Send us removal request.
laurenreadsya · 1 month ago
Text
Script PHP Menampilkan Artikel Terkait
Apakah Anda sedang belajar membuat script CMS sendiri? Jika ya, rasanya belum lengkap deh tanpa fitur yang menampilkan daftar artikel yang terkait dengan sebuah artikel yang sedang dibaca oleh pengunjung blog. Dengan adanya fitur ini, pengunjung akan diarahkan ke artikel lain yang masih berhubungan dengan artikel yang sedang dibacanya sehingga bisa menambah wawasan lebih bagi mereka. Sedangkan efek positif bagi Anda sebagai pemilik situs adalah meningkatnya impression atau page view situs Anda, dan juga membuat visitor lebih tahan berlama-lama untuk menjelajahi situs Anda.
Apabila Anda menggunakan WordPress atau blogging software yang lain, maka fitur untuk menampilkian artikel terkait ini bisa langsung ditanam menggunakan plugin yang disediakan, misalnya YARPP. Namun, bagi Anda yang membuat CMS sendiri tentunya hal ini menjadi tantangan tersendiri. Oleh karena itu dalam artikel ini, saya akan mencoba memaparkan ide untuk membuat modul script yang menampilkan artikel terkait dengan PHP.
Misalkan kita mempunyai CMS dengan struktur tabel database untuk menyimpan data artikel seperti di bawah ini: CREATE TABLE `artikel` ( `id` int(11) AUTO_INCREMENT, `judul` varchar(100), `konten` text, `tanggal` date, PRIMARY KEY (`id`) );
dan andaikan kita sudah memiliki data artikel sbb:
https://web.archive.org/web/20231123143542im_/https://lh3-testonly.googleusercontent.com/blogger_img_proxy/ALY8t1uolFM_KTcIGadsDyfVT-Nqk4sIFcgxrKAWlFjJAsqyxHvnRZEH9_7zfRXNMZIURmoa4lYOX-1sQTswBeoovTbv66XA-vkv45YM8cUXycUJYm21npmQAl7QNlrbJLYcrdAm4R4NvPblf5GcXRg=s0-d
Selanjutnya, kita buat script untuk menampilkan detail isi artikelnya berdasarkan id artikel nya. artikel.php <?php // koneksi ke database mysql_connect('localhost', 'username', 'password'); mysql_select_db('database'); // membaca id artikel $idartikel = abs((int) $_GET['id']); // membaca data detail artikel berdasarkan id artikel $query = "SELECT * FROM artikel WHERE id = '$idartikel'"; $hasil = mysql_query($query); $data = mysql_fetch_array($hasil); ?> <html> <head> <title><?php echo $data['judul']?></title> </head> <body> <h1><?php echo $data['judul']?></h1> <small><em>Tanggal publikasi: <?php echo $data['tanggal']?></em></small> <div> <?php echo $data['konten']?> </div> <div> <h3>Artikel Terkait</h3> <?php include "function.php"; artikelTerkait($idartikel); ?> </div> </body> </html>
Script di atas digunakan untuk menampilkan konten dari sebuah artikel berdasarkan id artikelnya, dimana untuk menampilkan konten suatu artikel menggunakan URL http://namahost/artikel.php?id=… Perhatikan perintah $idartikel = abs((int) $_GET['id']);
perintah tersebut digunakan untuk mencegah SQL injection melalui GET method sebagaimana yang dulu pernah saya tulis artikelnya.
Jika kita perhatikan dari script di atas, maka di bawah isi artikelnya ada bagian sbb:<div> <h3>Artikel Terkait</h3> <?php include "function.php"; artikelTerkait($idartikel); ?> </div>
Selanjutnya kita tinjau apa isi dari function artikelTerkait(). Dalam contoh ini, keterkaitan artikel yang dimaksud di sini ditinjau dari kemiripan judul artikelnya. Adapun idenya adalah, kita baca semua judul
artikel yang ada dalam database kecuali artikel yang menjadi acuan (artikel ber ID $idartikel). Selanjutnya untuk semua judul artikel ini, kita lihat kemiripannya dengan judul dari artikel yang ber ID $idartikel ini. Kita bisa melihat kemiripan dari judul artikel ini menggunakan function similar_text() yang pernah saya bahas di artikel lain tentang uji kemiripan teks.
Kemudian, karena hasil dari penggunakan similar_text() ini berupa angka dalam bentuk prosentase kemiripan, maka sebaiknya kita membuat semacam batas minimal prosentase atau threshold, yang nantinya digunakan untuk memberi batas minimal kemiripannya. Sebagai contoh misalkan daftar artikel terkait yang ditampilkan hanya artikel yang memiliki tingkat kemiripan 50% ke atas. Hal ini berfungsi untuk memfilter mana artikel yang benar-benar mirip atau tidak. Artikel yang jauh dari mirip, akan memiliki prosentase kemiripan kecil. Tapi besar kecilnya threshold ini sepenuhnya terserah Anda, karena Andalah yang menentukan.
Hal yang menjadi pemikiran berikutnya adalah, bagaimana jika jumlah artikel yang terkait itu ada banyak, misalkan ada 100 buah? tentunya tidak mungkin kita tampilkan semua karena halaman page artikelnya bisa jadi penuh dengan judul-judul artikel sehingga tidak menarik bagi pengunjung. Oleh karena itu kita sebaiknya batasi jumlah artikel terkaitnya. Untuk mengimplementasikan hal ini, setiap judul artikel yang kemiripannya di atas threshold, maka kita simpan ke dalam sebuah array. Selama jumlah artikel dalam array tersebut belum memenuhi batas maksimum jumlah artikel nya, maka judul-judul terkait itu bisa ditambahkan dalam array. Setelah proses ini selesai, barulah kita tampilkan list judul artikel terkaitnya yang ada dalam array tersebut.
Nah… dari ide di atas, kita bisa membuat scriptnya sbb:
function.php <?php // koneksi ke database mysql_connect('localhost', 'username', 'password'); mysql_select_db('database'); function artikelTerkait($id) { // batas threshold 40% $threshold = 40; // jumlah maksimum artikel terkait yg ditampilkan 3 buah $maksArtikel = 3; // array yang nantinya diisi judul artikel terkait $listArtikel = Array(); // membaca judul artikel dari ID tertentu (ID artikel acuan) // judul ini nanti akan dicek kemiripannya dengan artikel yang lain $query = "SELECT judul FROM artikel WHERE id = '$id'"; $hasil = mysql_query($query); $data = mysql_fetch_array($hasil); $judul = $data['judul']; // membaca semua data artikel selain ID artikel acuan $query = "SELECT id, judul FROM artikel WHERE id <> '$id'"; $hasil = mysql_query($query); while ($data = mysql_fetch_array($hasil)) { // cek similaritas judul artikel acuan dengan judul artikel lainnya similar_text($judul, $data['judul'], $percent); if ($percent >= $threshold) { // jika prosentase kemiripan judul di atas threshold if (count($listArtikel) <= $maksArtikel) { // jika jumlah artikel belum sampai batas maksimum, tambahkan ke dalam array $listArtikel[] = "<li><a href='artikel.php?id=".$data['id']."'>".$data['judul']."</a></li>"; } } } // jika array listartikel tidak kosong, tampilkan listnya // jika kosong, maka tampilkan 'tidak ada artikel terkait' if (count($listArtikel) > 0) { echo "<ul>"; for ($i=0; $i<=count($listArtikel)-1; $i++) { echo $listArtikel[$i]; } echo "</ul>"; } else echo "<p>Tidak ada artikel terkait</p>"; } ?>
Mudah bukan membuatnya?
Nah… selanjutnya Anda bisa kembangkan sendiri script di atas, misalnya jika di dalam CMS Anda ada semacam kata kunci atau tag, maka artikel terkait bisa berdasarkan tag tersebut atau kategori artikel. Bisa juga, list artikel terkait yang muncul disorting dahulu dengan tingkat kemiripan paling tinggi terletak di urutan paling atas misalnya.
Selamat mencoba…
0 notes
laurenreadsya · 1 month ago
Text
Script PHP Untuk Membuat Web Thumbnail / Screen Shot
Apakah Anda ingin membuat webthumbnail? Apa itu ya ‘Web  Thumbnail’? Web thumbnail adalah semacam gambar screen shot atau hasil capture dari tampilan sebuah situs web tertentu. Web thumbnail ini sebenarnya dapat dibuat manual tapi sangat ribet karena anda harus membuka situs web yang mau dicapture tampilannya, kemudian dengan software image tertentu Anda harus capture tampilannya, lalu menyimpan hasil capture menjadi sebuah file image. Ribet kan? Namun kini Anda tidak perlu ribet lagi, karena sudah ada script PHP untuk memudahkan proses pembuatan web thumbnail ini.
Untuk membuat web thumbnail dengan script PHP, Anda tidak perlu bersusah payah membuatnya karena telah tersedia sebuah class yang bisa Anda gunakan secara free alias gratis. Berterima kasihlah kepada Lukasz Cepowski, yang telah membuat class PHP untuk web thumbnail ini. Silakan Anda mendownload script webthumnail.php di www.phpclasses.org
Script Class webthumbnail yang dibuat oleh Lukasz Cepowski ini memanfaatkan API dari layanan webthumbnail.org sebuah situs yang memungkinkan mengenerate screen shot suatu situs web.
Setelah file webthumbnail.php selesai diunduh, selanjutnya bagaimana cara
penggunaannya?
Berikut ini contoh script untuk membuat web thumbnail atau mengcapture tampilan website lalu menyimpan file hasil capturenya ke dalam sebuah direktori.
<?php require 'webthumbnail.php'; // path file hasil capture $path = 'd:/images/thumb.jpg'; $thumb = new Webthumbnail("http://blog.rosihanari.net"); $thumb ->setWidth(512) ->setHeight(512) ->captureToFile($path); echo "Thumbnail sudah disimpan di ".$path; ?>
Contoh script di atas apabila dijalankan akan mengcapture tampilan dari situs http://blog.rosihanari.net lalu menyimpan file capturenya di d:/images/thumb.jpg. Adapun ukuran image hasil capture adalah 512 x 512 pixel. Oya, pastikan script webthumbnail.php nya terletak dalam satu folder yang sama dengan capture1.php.
atau Anda juga bisa menampilkan image hasil capturenya langsung ke dalam browsernya, hanya dengan membuat script sbb:
<?php require 'webthumbnail.php'; $thumb = new Webthumbnail("http://blog.rosihanari.net"); $thumb ->setWidth(512) ->setHeight(512) ->captureToBrowser(); ?>
Jenis image yang dihasilkan dari script di atas adalah PNG image.OK, mudah bukan? selamat mencoba ya…
0 notes
laurenreadsya · 1 month ago
Text
Wikimedia Commons Indonesia, Yuk Kenali Lebih Dalam
Wikimedia Commons, atau Wikicommons merupakan tempat penyimpanan gambar-gambar serta berkas-berkas multimedia yang berlisensi bebas. Platform ini merupakan salah satu proyek dari Yayasan Wikimedia yang dapat digunakan seperti halnya berkas-berkas yang dimuat pada masing-masing proyek.
Tumblr media
Platform ini diusulkan pada bulan Maret 2004 dan resmi launching pada 7 September 2004. Tujuan utama dari proyek ini adalah untuk menghilangkan duplikasi berkas pada proyek-proyek Wikimedia sebelum adanya Commons dan menjadi repositori gambar terbesar yang bebas digunakan oleh seluruh situs-situs Wikimedia maupun situs MediaWiki lainnya yang terhubung ke Commons.
Fitur untuk dapat menggunakan berkas-berkas dari Commons dari semua proyek Wikimedia diimplementasikan pada Oktober 2004.
Wikimedia Commons tidak memperbolehkan pemuatan berkas-berkas yang tak bebas. Lisensinya besifat GNU Free Documentation License, lisensi Creative Commons dengan tanpa batasan penggunaan dan domain umum.
Berikut ini adalah salah satu file gambar yang diupload ke Wikimedia Commons Indonesia
Tumblr media
1 note · View note