<?xml version='1.0' encoding='UTF-8'?><rss xmlns:atom='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0' version='2.0'><channel><atom:id>tag:blogger.com,1999:blog-7350022283544621464</atom:id><lastBuildDate>Tue, 25 Jun 2013 09:06:00 +0000</lastBuildDate><category>Template</category><category>jQuery</category><category>Tips Trik</category><category>SEO</category><category>Layout</category><category>CSS</category><category>Bloghack</category><category>Bisnis</category><category>(X)HTML</category><category>Responsif</category><category>Tools</category><category>Premium</category><category>Widget</category><category>Facebook</category><category>Blog</category><category>Basic</category><category>Semantic</category><category>Blogging</category><title>Blogger Tune-Up</title><description>Web Design, Tutorial, Sumber Daya dan Inspirasi</description><link>http://modification-blog.blogspot.com/</link><managingEditor>noreply@blogger.com (Hendriono Dede)</managingEditor><generator>Blogger</generator><openSearch:totalResults>281</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-7350022283544621464.post-7391545789091210894</guid><pubDate>Thu, 23 May 2013 00:10:00 +0000</pubDate><atom:updated>2013-05-23T07:27:17.538+07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>jQuery</category><title>Blok Ads Block dengan jQuery</title><description>&lt;div style="text-align: justify;"&gt;Bismillah. Alhamdulillah. Lama sudah blog ini tidak diisi dengan artikel baru, dan hari ini mudah-mudahan bisa konsisten untuk menulis artikel tip trik baru seputar dunia blog dan jQuery. Tanpa basa basi dan panjang lebar mengenai kevakuman penulis dalam menulis artikel diblog ini, kita langsung saja ke materi sesuai dengan judul artikel diatas. Sebenarnya, artikel ini merupakan versi lain dari &lt;a href="http://modification-blog.blogspot.com/2011/09/jquery-anti-adblock-versi-200.html" target="_blank" title="jQuery Anti Adblock Versi 2.00"&gt;jQuery Anti Ads Block&lt;/a&gt; yang pernah ditulis sebelumnya. Script yang digunakan pada artikel kali ini merupakan asli buatan &lt;a href="http://tutorialzine.com/" rel="nofollow" target="_blank" title="TutorialZine"&gt;Martin Angelov&lt;/a&gt;, dan penulis hanya melakukan perubahan kecil sebagai adaptasi dan sebagai penyempurnaan saja pada beberapa baris script yang ada dialamnya. jQuery Block Ads Block kali ini sangat sederhana dalam penggunaannya pada blog, berbeda dengan versi sebelumnya yang termasuk agak sulit untuk diterapkan, bahkan beberapa pengelola blog yang tidak hati-hati justru mengalami kegagalan 100% tanpa discount.&lt;/div&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;div class="separator"&gt;&lt;img alt="Blok Ads Block dengan jQuery" class="frame" src="http://3.bp.blogspot.com/-MGSetU8Of3M/UZ1d6hkyJbI/AAAAAAAAH6E/H9l9AOx6IAo/s1600/block-ads-block.jpg" /&gt;&lt;/div&gt;&lt;div id="infozr"&gt;&lt;a class="icon demo" href="http://jsfiddle.net/hendriono/k3BNr/2/show/" target="_blank" rel="nofollow"&gt;&lt;span&gt;Blok Ads Block dengan jQuery&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;div id="infozr"&gt;&lt;a class="icon unduh" href="https://github.com/btuneup/jQuery.AdsBlock/archive/master.zip" target="_blank" rel="nofollow"&gt;&lt;span&gt;Blok Ads Block dengan jQuery&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;h3&gt;Deskripsi&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;jQuery Block Ads Block Plugin sebenarnya bernama jQuery blockBlock Plugin, dengan menggunakan script utama dari &lt;a href="http://modification-blog.blogspot.com/2012/05/jquery-confirm-plugin.html" target="_blank" title="jQuery Confirm Plugin"&gt;jQuery Confirm Plugin&lt;/a&gt; yang pernah dibahas diartikel pendahulunya. Hanya kemudian ditambahkan beberapa script untuk memancing tingkat laku perangkat lunak pemblok iklan yang biasanya lebih mengandalkan kata kunci tertentu untuk memblok atau menonaktifkan iklan pada suatu halaman situs. Kita tahu bahwa iklan yang ada dihalam situs merupakan pembiayaan tidak langsung atas keberadaan suatu situs walau kadang ada pengelola yang terlalu overdosis dalam menempatkan iklan. Iklan dapat digunakan sebagai pendapatan atau income bagi sang pengelola blog, namun sayang banyak sekali pengunjung yang justru tidak menginginkan tampilan dari iklan tersebut, entah itu karena terasa tergantung atau memang tidak suka jika ada blog yang mampu meraih untung cukup besar dari pendapatan iklan. Terlepas dari tingkah laku pengunjung yang suka menonaktifkan iklan, pengelola blog pun punya cara untuk memaksa pengunjung agar menonaktifkan perangkat lunak pemblok iklan dan atau memasukan situs kita kedalam daftar putih di perangkat ads block yang dimiliki pengunjung. Nah, disini jQuery blockBlock memanfaatkan kekuatan yang sekaligus sebagai titik kelemahan perangkat lunak Ads Block menjadi jalan untuk memaksa pengunjung mematikan fungsi ads block, yaitu dengan memancingnya menggunakan fake advertisement. Fake Advertisement atau iklan palsu ini sebenarnya tidak berisi iklan tapi justru berisi pemicu agar halaman yang sedang dilihat atau dibaca oleh pengunjung yang mengaktifkan Ads Block ditutup dengan sebuah layar yang berisi peringatan atau informasi bagi pengunjung, sehingga mau tidak mau pengunjung dipaksa untuk mematikan fungsi Ads Block-nya.&lt;/div&gt;&lt;br /&gt;&lt;h3&gt;Skenario Penggunaan&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Dalam penerapannya kedalam blog, tidaklah terlalu rumit. Silahkan unduh dulu file yang tersedia pada link unduhan diatas dan perhatikan langkah penerapan pada template blog seperti dibawah ini:&lt;/div&gt;Sisipkan framework jQuery dibawah ini:&lt;br /&gt;&lt;pre&gt;&amp;lt;script src='http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js'&amp;gt;&amp;lt;/script&amp;gt;&lt;/pre&gt;Jika sebelumnya blog anda pernah disisipkan framework jQuery maka script diatas tidak perlu lagi dimasukkan.&lt;br /&gt;Sisipkan script utama jQuery Block Ads Block seperti dibawah ini:&lt;br /&gt;&lt;pre class="brush: html; wrap-lines: false;"&gt;&amp;lt;link rel='stylesheet' type='text/css' href='URL_ANDA/jquery.adsBlock.css' /&amp;gt;&lt;br /&gt;&amp;lt;script src='URL_ANDA/jquery.adsBlock.js'&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&amp;lt;script src='URL_ANDA/advertisement.js'&amp;gt;&amp;lt;/script&amp;gt;&lt;/pre&gt;&lt;br /&gt;&lt;b&gt;Keterangan:&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;&lt;li style="text-align: justify;"&gt;Silahkan ganti URL_ANDA sesuai dengan alamat hosting file tempat anda menyimpan file tersebut. File-file diatas bisa anda dapatkan pada unduhan yang terdapat pada link unduhan diatas atau dibawah.&lt;/li&gt;&lt;li&gt;&lt;span style="text-align: justify;"&gt;Jika diperhatikan script diatas, ada satu script yang disebut dengan Fake Advertisement atau Iklan Palsu yaitu advertisement.js. Script ini akan dideteksi oleh perangkat lunak pemblok iklan (Misal; Ads Block Plus), ketika perangkat lunak ads block memblok advertisement.js maka script tidak mampu diload atau dipanggil, dan jika advertisement.js tidak bisa diload maka jQuery akan terpicu untuk mengaktifkan layar penutup halaman yang berisi himbauan atau peringatan.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="text-align: justify;"&gt;Untuk kode CSS (jquery.adsBlock.css), anda bisa menyisipkannya secara langsung didalam template, dan atau silahkan modifikasi untuk membuat tampilan yang sesuai dengan keinginan anda.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;h3&gt;Script Loader - Modifikasi Isi Himbauan/Peringatan&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Script dibawah ini harus diletakan pada template blog anda, dan silahkan modifikasi kalimat himbauan/peringatannya sesuai dengan keinginan anda.&lt;/div&gt;&lt;pre class="brush: js; wrap-lines: false;"&gt;$(function () {&lt;br /&gt;  if ($.adblock) {&lt;br /&gt;    $.confirm({&lt;br /&gt;      'title': 'You Are Using AdBlock or some other advert blocking software!',&lt;br /&gt;      'message': 'modification-blog.blogspot.com relies on advertising for revenue. Any small support from you would help us a lot to making this site lives longer and works better.&lt;br /&gt;         Please add modification-blog.blogspot.com to your ad blocking whitelist or disable ad blocking or use another browser without any adblocker when you visit modification-blog.blogspot.com&lt;br /&gt;         Thanks &amp;amp; Enjoy',&lt;br /&gt;      'buttons': {&lt;br /&gt;        'Yes, I Agree': {&lt;br /&gt;          'class': 'flat',&lt;br /&gt;          'action': function () {&lt;br /&gt;            // window.location = 'http://google.com/';&lt;br /&gt;            // window.open('http://google.com/','_blank');&lt;br /&gt;            window.location.reload(true);&lt;br /&gt;          }&lt;br /&gt;        }&lt;br /&gt;      }&lt;br /&gt;    });&lt;br /&gt;  }&lt;br /&gt;});&lt;/pre&gt;&lt;br /&gt;&lt;b&gt;Keterangan:&lt;/b&gt;&lt;br /&gt;Perhatikan penjelasan dibawah ini jika anda ingin memodifikasi kalimat yang akan ditampilkan pada layar peringatan atau himbauan&lt;br /&gt;&lt;pre&gt;'title': 'You Are Using AdBlock or some other advert blocking software!',&lt;/pre&gt;title merupakan judul dari himbauan atau peringatan. Silahkan sesuaikan dengan kebutuhan.&lt;br /&gt;&lt;pre&gt;'message': 'modification-blog.blogspot.com relies on advertising... dst&lt;/pre&gt;message adalan isi pesan sebagai himbauan atau peringatan kepada pengunjung. Silahkan sesuaikan dengan kebutuhan.&lt;br /&gt;&lt;pre&gt;'Yes, I Agree': {&lt;/pre&gt;Merupakan nama atau keterangan tombol. Silahkan sesuaikan dengan kebutuhan.&lt;br /&gt;Pilih salah satu fungsi dibawah ini:&lt;br /&gt;&lt;pre&gt;window.location = 'http://google.com/';&lt;/pre&gt;Ketika pengunjung mengklik tombbol maka akan diarahkan kehalam yang ditentukan, namun halaman blog akan digantikan dengan halaman yang dituju&lt;br /&gt;&lt;pre&gt;window.open('http://google.com/','_blank');&lt;/pre&gt;Sama dengan yang diatas hanya saja halaman blog tetap ditampilkan dengan keadaan terbuka tanpa layar penutup, dan halaman yang dituju akan dibuka pada jendela baru&lt;br /&gt;&lt;pre&gt;window.location.reload(true);&lt;/pre&gt;Halaman yang sedang dibuka akan direload, dan layar penutup akan hilang jika perengkat lunak pemblok iklan dimatikan, namun jika masih diaktifkan maka layar penutup akan tetap menutupi halaman.&lt;br /&gt;&lt;div id="infozr"&gt;&lt;a class="icon demo" href="http://jsfiddle.net/hendriono/k3BNr/2/show/" target="_blank" rel="nofollow"&gt;&lt;span&gt;Blok Ads Block dengan jQuery&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;div id="infozr"&gt;&lt;a class="icon unduh" href="https://github.com/btuneup/jQuery.AdsBlock/archive/master.zip" target="_blank" rel="nofollow"&gt;&lt;span&gt;Blok Ads Block dengan jQuery&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;h3&gt;Kesimpulan&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Plugin jQuery ini tetap tidak akan mampu bekerja secara sempurna, karena masih banyak celah untuk mematikan fungsi ini, namun pengunjung akan menghabiskan cukup banyak waktu (bagi pemula) jika ingin mematikan fungsi layar penutup halaman ini. Semua kembali kepada pengelola blog, apakah akan menggunakan jQuery Block Ads Block atau halaman terbuka tanpa ada peringatan atau himbauan. Selamat mencoba, semoga berhasil, dan happy blogging :)&lt;/div&gt;</description><link>http://modification-blog.blogspot.com/2013/05/blok-ads-block-dengan-jquery.html</link><author>noreply@blogger.com (Hendriono Dede)</author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-MGSetU8Of3M/UZ1d6hkyJbI/AAAAAAAAH6E/H9l9AOx6IAo/s72-c/block-ads-block.jpg' height='72' width='72'/><thr:total>14</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-7350022283544621464.post-9179872203768961359</guid><pubDate>Fri, 16 Nov 2012 21:51:00 +0000</pubDate><atom:updated>2012-11-18T01:00:02.884+07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>Tips Trik</category><category domain='http://www.blogger.com/atom/ns#'>Blog</category><title>Verifikasi Blog ke Akun Pinterest</title><description>&lt;div style="text-align: justify;"&gt;Bismillah. Alhamdulillah. Pada tanggal 24 Oktober 2012, pihak Pinterest mengumumkan penambahan fasilitas terbarunya yaitu verifikasi website yang ditulis pada halaman &lt;a href="https://support.pinterest.com/entries/22261988-what-is-a-verified-website" rel="nofollow" target="_blank" title="What is a verified website?"&gt;support.pinterest.com&lt;/a&gt;. Jika diterjemahkan secara bebas pengumuman itu berbunyi "Akun dengan situs terverifikasi berarti telah mengkonfirmasi kepemilikan situs web mereka menggunakan proses verifikasi otomatis yang kami sediakan. Situs terverifikasi menetapkan hubungan antara situs web dengan akun di Pinterest. Akun dengan situs terverifikasi ditandai dengan tanda centang yang ditampilkan disamping alamat situs web di halaman profil mereka dan di bawah nama mereka dalam hasil pencarian."&lt;/div&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;div class="separator"&gt;&lt;img alt="Verifikasi Blogger ke Akun Pinterest" class="frame" src="http://3.bp.blogspot.com/-igETPBACt1k/UKaye5sPwKI/AAAAAAAAHRY/wsXoppgbDF8/s800/cover.jpg" /&gt;&lt;/div&gt;&lt;h3&gt;Kesulitan Verfikasi Pengguna Blogger&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Bagi para pengguna hosting berbayar, proses verifikasi blog atau situs ke akun Pinterest tidaklah terlalu sulit. Namun bagi para pengguna blog gratisan terutama pengguna Blogger (a.k.a Blog*spot) hal ini cukuplah rumit. Karena ada beberapa kesulitan dan persyaratan untuk melakukan verifikasi blog ke akun Pinterest, diantaranya:&lt;/div&gt;&lt;ul&gt;&lt;li style="text-align: justify;"&gt;Pinterest tidak menyediakan teknik verifikasi melalui meta tag tetapi menggunakan file tersendiri yang disediakan pihak Pinterest.&lt;/li&gt;&lt;li style="text-align: justify;"&gt;File verfikasi harus diupload pada root dan bukan pada subfolder (subdirectory) di halaman blog atau situs yang anda kelola.&lt;/li&gt;&lt;li style="text-align: justify;"&gt;Link atau URL halaman verifikasi dari pihak Pinterest yang telah diupload pada blog harus dapat diakses dengan lokasi seperti ini "http://www.contoh.com/pinterest-45776.html" dan tidak boleh dalam lokasi lain, misal "http://www.contoh.com/p/pinterest-45776.html" atau "http://www.contoh.com/blog/pinterest-45776.html"&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt;Namun bukan berarti tidak ada jalan untuk melakukan proses verifikasi blog ke akun Pinterest, seperti pepatah "Banyak jalan menuju ke Roma". Sedankan bagi para pengguna hosting berbayar, silahkan mengikuti petunjuk yang telah disediakan pihak Pinterest pada artikel mereka berjudul "&lt;a href="https://support.pinterest.com/entries/22217383" rel="nofollow" target="_blank" title="How do I verify my website?"&gt;How do I verify my website?&lt;/a&gt;".&lt;/div&gt;&lt;br /&gt;&lt;h3&gt;Verifikasi Pinterest untuk Pengguna Blogger&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Kenapa pihak Pinterest menggunakan satu metode saja dalam melakukan verifikasi blog? Dan kenapa tidak menggunakan metode sisipan Meta Tag seperti halnya pihak-pihak lain? Entahlah, itu semua kebijakan mereka. Kita hanya pengguna yang cukup senang dengan layanan gratis Pinterest. Bagi para pengguna blog gratisan terutama pengguna Blogger, silahkan ikuti langkah dibawah ini dalam melakukan proses verifikasi blog ke akun Pinterest.&lt;/div&gt;&lt;b&gt;Langkah 1&lt;/b&gt;&lt;br /&gt;Login ke &lt;a href="http://pinterest.com/" rel="nofollow" target="_blank" title="Home Pinterest"&gt;Pinterest&lt;/a&gt;&lt;br /&gt;&lt;b&gt;Langkah 2&lt;/b&gt;&lt;br /&gt;Masuk ke menu &lt;a href="https://pinterest.com/settings/" title="Setting Profile" rel="nofollow" target="_blank"&gt;Setting Profile&lt;/a&gt;&lt;br /&gt;&lt;div class="separator"&gt;&lt;img alt="Verifikasi Blogger ke Akun Pinterest" class="frame" src="http://2.bp.blogspot.com/-TFj1dTSPElw/UKfQabfHKLI/AAAAAAAAHUg/u0E51Ljzd_8/s800/Langkah-02.jpg" /&gt;&lt;/div&gt;&lt;b&gt;Langkah 3&lt;/b&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Scroll halaman sampai ditemukan lokasi Website. Isi dengan alamat blog anda, kemudian klik tombol "Verify Website"&lt;/div&gt;&lt;div class="separator"&gt;&lt;img alt="Verifikasi Blogger ke Akun Pinterest" class="frame" src="http://1.bp.blogspot.com/-acpMhaO2OgY/UKayfQk3D0I/AAAAAAAAHRk/Ty74mDkk8QI/s800/Langkah-03.jpg" /&gt;&lt;/div&gt;&lt;b&gt;Langkah 4&lt;/b&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Sebuah halaman proses verifikasi terbuka, kemudian cari link pada bagian "Can I verify?" kemudian klik link pada kalimat "click here for instructions"&lt;/div&gt;&lt;div class="separator"&gt;&lt;img alt="Verifikasi Blogger ke Akun Pinterest" class="frame" src="http://3.bp.blogspot.com/-WqkjQ--pAEg/UKaygBDCR1I/AAAAAAAAHRw/PhdW6qjCbd4/s800/Langkah-04.jpg" /&gt;&lt;/div&gt;&lt;b&gt;Langkah 5&lt;/b&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Sebuah informasi langkah verfikasi terbuka, yang terdiri dari 3 langkah. Klik link "Download the HTML verification file" kemudian simpan file tersebut pada komputer anda&lt;/div&gt;&lt;div class="separator"&gt;&lt;img alt="Verifikasi Blogger ke Akun Pinterest" class="frame" src="http://1.bp.blogspot.com/-guCyxKSmodw/UKayhHNstUI/AAAAAAAAHR8/L2_QPJoZIrA/s800/Langkah-05-19.jpg" /&gt;&lt;/div&gt;&lt;b&gt;Langkah 6&lt;/b&gt;&lt;br /&gt;Buka file hasil unduhan (misal; pinterest-45776.html) menggunakan native text editor (misal; notepad)&lt;br /&gt;&lt;b&gt;Langkah 7&lt;/b&gt;&lt;br /&gt;Login ke &lt;a href="http://www.blogger.com/" rel="nofollow" target="_blank" title="Home Blogger"&gt;Blogger&lt;/a&gt;&lt;br /&gt;&lt;b&gt;Langkah 8&lt;/b&gt;&lt;br /&gt;Masuk ke dasbor blog dan pilih menu "Laman"&lt;br /&gt;&lt;b&gt;Langkah 9&lt;/b&gt;&lt;br /&gt;Klik menu "Laman Baru" dan klik "Laman kosong" untuk membuat sebuah halaman baru pada blog&lt;br /&gt;&lt;div class="separator"&gt;&lt;img alt="Verifikasi Blogger ke Akun Pinterest" class="frame" src="http://4.bp.blogspot.com/-HSOc5_PMSN8/UKayh7xoSuI/AAAAAAAAHSI/VuzrW1K-9I8/s800/Langkah-09.jpg" /&gt;&lt;/div&gt;&lt;b&gt;Langkah 10&lt;/b&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Teks Editor Blogger terbuka. Isi judul halaman sesuai dengan nama file hasil unduhan dari Pinterest (misal; pinterest-45776). Hati-hati! Jangan disertakan ekstensi file-nya, misal; jangan diberi judul "pinterest-45776.html", cukup "pinterest-45776". (Nama file berbeda-beda sesuai dengan pemberian dari pihak Pinterest)&lt;/div&gt;&lt;div class="separator"&gt;&lt;img alt="Verifikasi Blogger ke Akun Pinterest" class="frame" src="http://4.bp.blogspot.com/-bQ9nUOMRkyA/UKayu-4QHDI/AAAAAAAAHSU/6z4v8bJN89Q/s800/Langkah-10.jpg" /&gt;&lt;/div&gt;&lt;b&gt;Langkah 11&lt;/b&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Pindahkah mode teks editor blog ke mode HTML, jangan di mode Compose. Copy file unduhan yang telah dibuka menggunakan notepad tadi, dan paste pada isi halaman di teks editor blog.&lt;/div&gt;&lt;b&gt;Langkah 12&lt;/b&gt;&lt;br /&gt;Klik tombol "Publikasikan"&lt;br /&gt;&lt;b&gt;Langkah 13&lt;/b&gt;&lt;br /&gt;Buka blog anda pada tab baru dan pastikan halaman yang baru saja diterbitkan tersedia. misal;&lt;br /&gt;&lt;pre&gt;http://contoh.blogspot.com/p/pinterest-45776.html&lt;/pre&gt;&lt;b&gt;Langkah 14&lt;/b&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Jika halaman yang baru saja diterbitkan sudah tersedia, kembali ke dasbor blog. Pilih menu "Setelan" dan pilih submenu "Preferensi penelusuran"&lt;/div&gt;&lt;b&gt;Langkah 15&lt;/b&gt;&lt;br /&gt;Masuk ke bagian "Kesalahan dan Pengalihan" kemudian klik link "Edit" pada bagian "Pengalihan Khusus"&lt;br /&gt;&lt;div class="separator"&gt;&lt;img alt="Verifikasi Blogger ke Akun Pinterest" class="frame" src="http://4.bp.blogspot.com/-PNgZSn6_fKE/UKayvUemQVI/AAAAAAAAHSg/7AlGw-Ek800/s800/Langkah-13.jpg" /&gt;&lt;/div&gt;&lt;b&gt;Langkah 16&lt;/b&gt;&lt;br /&gt;Tambahkah link pengalihan. Misal:&lt;br /&gt;&lt;pre&gt;Dari: /pinterest-45776.html&lt;/pre&gt;&lt;pre&gt;Kepada: /p/pinterest-45776.html&lt;/pre&gt;&lt;div style="text-align: justify;"&gt;Proses pengalihan ini ditujukan agar Pinterest tidak menuju kehalaman yang salah. Jika halaman tidak dialihkan, maka Pinterest akan menampilkan "error 404" yang berarti halaman tidak ditemukan. &lt;/div&gt;&lt;b&gt;Langkah 17&lt;/b&gt;&lt;br /&gt;Klik link "Simpan" dan klik tombol "Simpan perubahan"&lt;br /&gt;&lt;b&gt;Langkah 18&lt;/b&gt;&lt;br /&gt;Buka halaman baru pada blog anda dengan menuliskan alamat URL sesuai dengan pengalihan, misal;&lt;br /&gt;&lt;pre&gt;http://contoh.blogspot.com/pinterest-45776.html&lt;/pre&gt;Maka halaman harus dialihkan menuju ke:&lt;br /&gt;&lt;pre&gt;http://contoh.blogspot.com/p/pinterest-45776.html&lt;/pre&gt;&lt;b&gt;Langkah 19&lt;/b&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Jika halaman verifikasi tersebut sudah terbuka pada blog anda, scroll halaman hingga ditemukan tombol merah "Go To Pinterest" dan kemudian klik tombol tersebut&lt;/div&gt;&lt;div class="separator"&gt;&lt;img alt="Verifikasi Blogger ke Akun Pinterest" class="frame" src="http://1.bp.blogspot.com/-_23zdVohYVs/UKaywLhU-dI/AAAAAAAAHSs/-XN8G6zqXhk/s800/Langkah-18.jpg" /&gt;&lt;/div&gt;&lt;b&gt;Langkah 20&lt;/b&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Halaman verifikasi seperti sebelumnya akan terbuka kembali, kemudian klik link "Click here to complete the process"&lt;/div&gt;&lt;div class="separator"&gt;&lt;img alt="Verifikasi Blogger ke Akun Pinterest" class="frame" src="http://1.bp.blogspot.com/-guCyxKSmodw/UKayhHNstUI/AAAAAAAAHR8/L2_QPJoZIrA/s800/Langkah-05-19.jpg" /&gt;&lt;/div&gt;&lt;b&gt;Langkah 21&lt;/b&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Tunggu sebentar karena Pinterest sedang melakukan proses verifikasi pada blog kita. Jika proses verifikasi berhasil maka akan muncul keterangan "We successfully verified your website!". Hal ini berarti proses verifikasi blogger pada ke akun Pinterest berhasil.&lt;/div&gt;&lt;div class="separator"&gt;&lt;img alt="Verifikasi Blogger ke Akun Pinterest" class="frame" src="http://1.bp.blogspot.com/-NvA4hfgltFQ/UKayxSU_H6I/AAAAAAAAHS4/W1SumM0nYEo/s800/Langkah-20.jpg" /&gt;&lt;/div&gt;&lt;b&gt;Langkah 22&lt;/b&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Klik link "Go to your profile" untuk memastikan bahwa tanda centang (checklist) telah tampil disamping URL blog pada halaman profile Pinterest anda.&lt;/div&gt;&lt;div class="separator"&gt;&lt;img alt="Verifikasi Blogger ke Akun Pinterest" class="frame" src="http://3.bp.blogspot.com/-1YX0--sSM4A/UKayyK0eMBI/AAAAAAAAHTE/XXMKvUmZc3E/s800/Langkah-21.jpg" /&gt;&lt;/div&gt;&lt;b&gt;Langkah 23&lt;/b&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Pastikan lagi bahwa tanda cheklist tampil disamping URL blog anda dibawah photo profile dengan melakukan pencarian dengan kata kunci nama anda pada halaman Pinterest&lt;/div&gt;&lt;div class="separator"&gt;&lt;img alt="Verifikasi Blogger ke Akun Pinterest" class="frame" src="http://1.bp.blogspot.com/-Z_OFFtLKBzs/UKay4lduHeI/AAAAAAAAHTQ/PEnJVhMXwqI/s800/Langkah-22.jpg" /&gt;&lt;/div&gt;&lt;b&gt;Langkah 24&lt;/b&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Jika tampil berarti anda telah berhasil. Waktunya untuk ngopi sinambi leyeh-leyeh ngrungokno ladrang jowo...&lt;/div&gt;&lt;br /&gt;&lt;h3&gt;Kesimpulan&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Proses verifikasi blog ke akun Pinterest telah berhasil dan mudah-mudahan berhasil. Jika sudah berhasil waktunya kita memikirkan "Untuk apa proses verifikasi ini? Apakah berpengaruh terhadap posisi blog kita dimata mesin pencari?" Entahlah... Kita hanya menikmati dan menjalani proses sebagai seorang penulis dan pengelola blog, mengenai manfaat jelas ada namun mungkin belum kita rasakan...&lt;/div&gt;Selamat mencoba dan semoga berhasil. Happy blogging :)</description><link>http://modification-blog.blogspot.com/2012/11/verifikasi-blog-ke-akun-pinterest.html</link><author>noreply@blogger.com (Hendriono Dede)</author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-igETPBACt1k/UKaye5sPwKI/AAAAAAAAHRY/wsXoppgbDF8/s72-c/cover.jpg' height='72' width='72'/><thr:total>23</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-7350022283544621464.post-8338726337536713547</guid><pubDate>Tue, 16 Oct 2012 05:53:00 +0000</pubDate><atom:updated>2012-10-16T12:53:50.138+07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>CSS</category><category domain='http://www.blogger.com/atom/ns#'>Basic</category><title>Pengantar LESS - Dynamic Preprocessor Stylesheet</title><description>&lt;div style="text-align: justify;"&gt;Bismillah. Alhamdulillah. Cukup lumayan lama pernulis bermain-main dengan kosakata dalam bahasa CSS sehingga memunculkan berbagai keinginan, baik keinginan dalam mengikuti perkembangan bahasa CSS untuk mengenalinya lebih jauh, maupun keinginan cara penulisan kosakata CSS yang lebih mudah dan cepat. Kemudian penulis melakukan penelusuran untuk mencari alat atau perangkat lunak yang bisa digunakan dalam menulis kosakata bahasa CSS dengan lebih cepat dari pada cara primitif, awal pencarian ditemukanlah bahasa SASS (Syntactically Awesome Stylesheets) yang merupakan cikal bakal dari pengembangan bahasa-bahasa Preprocessor Dynamic Stylesheet, namun SASS ternyata kurang bersahabat bagi mereka-mereka yang belum terbiasa dengan &lt;a href="http://www.ruby-lang.org/en/" rel="nofollow" target="_blank" title="A dynamic open source programming language"&gt;Ruby&lt;/a&gt; atau &lt;a href="http://compass-style.org/" rel="nofollow" target="_blank" title="CSS Authoring Framework"&gt;Compass&lt;/a&gt;. &lt;a href="http://sass-lang.com/" rel="nofollow" target="_blank" title="Sassy CSS"&gt;SASS&lt;/a&gt; dikembangkan oleh &lt;a href="http://hamptoncatlin.com/" rel="nofollow" target="_blank" title="Hampton Catlin - Haml SASS Developer"&gt;Hampton Catlin&lt;/a&gt; yang terinspirasi dari bahasa Haml (HTML abstraction markup language) yang juga dikembangkan oleh pengembang SASS. Penelusuran dilanjutkan dan bertemulah dengan &lt;a href="http://lesscss.org/" rel="nofollow" target="_blank" title="The dynamic stylesheet language"&gt;LESS&lt;/a&gt; yang dibuat dan dikembangkan oleh &lt;a href="http://cloudhead.io/" rel="nofollow" target="_blank" title="Cloudhead Blog"&gt;Alexis Sellier&lt;/a&gt; atau lebih dikenal dengan cloudhead. Ternyata selain LESS ada juga bahasa Preprocessor CSS lainnya yaitu &lt;a href="http://learnboost.github.com/stylus/" rel="nofollow" target="_blank" title="Halaman Resmi Stylus"&gt;Stylus&lt;/a&gt;.&lt;/div&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;div class="separator"&gt;&lt;img class="frame" src="http://3.bp.blogspot.com/-BwcJr4DyKXM/UHzw_mcyZVI/AAAAAAAAHOk/7rLbJVbDmxM/s800/LESS-Blogger.jpg" /&gt;&lt;/div&gt;&lt;div id="infozr"&gt;&lt;a class="icon unduh" href="https://www.box.com/s/w6a0x14qfdghbq940p79" target="_blank" rel="nofollow"&gt;&lt;span&gt;Unduh Contoh Penggunaan LESS&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;h3&gt;Apa Preprocessor LESS?&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;LESS sebenarnya merupakan salah satu pengembangan bahasa CSS, namun bukan pada sisi penambahan fungsi, property maupun value, LESS lebih ke kemudahan dan kecepatan penulisan bahasa CSS yang telah ada. Boleh dikatakan, bahwa LESS hanyalah sebuah cara penulisan CSS pra pengolahan (seperti halnya bahasa side server; php, asp) yang digunakan sebagai jembatan antara CSS dengan browser. Awalnya penulis beranggapan bahwa LESS merupakan saingan bahasa CSS, namun ternyata anggapan tersebut keliru. Kemudian anggapan ini berubah menjadi, bahwa LESS merupakan bahasa penyempurnaan dari beberapa kelemahan bahasa CSS, dan jelas itu juga keliru. Lalu apa LESS?&lt;/div&gt;&lt;div style="text-align: justify;"&gt;LESS adalah preprocessor (pra pengolahan) yang merupakan cara lain dalam menuliskan kosakata CSS, penulisan menggunakan bahasa preproccesed (pra olah/mentah) dan kemudian dikonversi (compile) ke dalam bahasa CSS murni baik dengan cara dikonversi langsung kedalam bahasa CSS murni maupun tanpa dikonversi dengan menambahkan mesin side server LESS agar browser mampu mengkonversinya. Jika kita biasanya menulis bahasa CSS secara manual, LESS selangkah lebih maju dan lebih modern dari cara penulisan kosakata bahasa CSS yang primitif. Namun bukan berarti LESS merupakan tool layaknya teks editor, justru LESS dapat dituliskan pada hampir semua teks editor murni (Native Text Editor). LESS merupakan tata cara atau aturan penulisan cepat kosakata bahasa CSS dan kemudian dikonversi serta disusun ulang menjadi bahasa CSS murni sesuai dengan aturan baku bahasa CSS yang bisa dirender oleh browser. LESS lebih fleksibel dan dinamis, karena kita bisa menggunakan bahasa sendiri dalam penulisannya sebagai variabel, interpolasi, nesting, mixin, operasi dan fungsi, namun demikian property dan value harus tetap sesuai aturan bahasa CSS. (Masih bingung?)&lt;/div&gt;&lt;br /&gt;&lt;h3&gt;Kenapa Menggunakan Preprocessor CSS?&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Karena ini bukan CSS, maka tidak terikat dengan aturan baku dan keterbatasan CSS. LESS membuat cara menulis CSS menjadi sangat mudah dan sederhana. CSS sebenarnya sudah bagus dan hebat, tetapi CSS tidak memberikan kita kebebasan berekspresi dalam penulisannya. Misal, banyak para developer dan desainer menginginkan abstraksi lebih bebas dari pada CSS default. Salah satu tujuan dari CSS adalah untuk memberikan kemudahan dan kesederhanaan sehingga siapapun dapat dengan cepat menangkap bahasa yang digunakan dan mempelajarinya. Namun fokus tersebut justru membatasi apa yang lebih dapat dilakukan pengembang CSS, dan pada umumnya kita tidak menyukai keterbatasan. Kita membutuhkan variabel yang lebih luas, dan jika CSS tidak mampu memberikan variabel tersebut, kita akan mencari cara untuk membuat varibel yang lebih mendekati kebutuhan kita. Preprocessor menawarkan lebih dari sekedar variabel yang tersedia, sehingga kita bisa bebas berkarya selama file CSS yang dihasilkan tetap sebagai karya CSS biasa. Anda tidak harus menggunakan preprocessor dalam menuliskan CSS, namun suatu hari akan banyak orang yang kemudian belajar menggunakannya sehingga menjadi terbiasa dengan preprocessor karena mereka menemukan kemudahan dan kesederhanaan dalam menulis CSS dari pada tanpa preprocessor. Dan banyak yang kemudian enggan untuk kembali menulis CSS dengan cara biasa lagi. (Masih bingung?)&lt;/div&gt;&lt;br /&gt;&lt;h3&gt;Kemungkinan Masalah Preprocessor CSS&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Pada artikelnya yang berjudul "&lt;a href="http://www.amberweinberg.com/januarys-12412-researching-less-sass/" rel="nofollow" target="_blank" title="Researching LESS - SASS"&gt;January’s 12412: Researching LESS &amp;amp; SASS&lt;/a&gt;", Amber Weinberg mengangkat tema mengenai kemungkinan masalah yang muncul dalam penggunaan preprocessor. Dari beberapa komentar yang ditinggalkan sepertinya telah banyak pengguna LESS yang telah jatuh hati dan merasa lebih nyaman menggunakan bahasa preprocessor. Namun kemungkinan masalah penggunaan preprocessor CSS memang perlu untuk diangkat sebagai sebuah perbandingan sebelum anda mengambil kesimpulan untuk menggunakannya.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Masalah yang mungkin timbul dari penggunaan preprocessor CSS menurut Amber antara lain:&lt;/div&gt;&lt;ul&gt;&lt;li style="text-align: justify;"&gt;Apa yang terjadi jika pengembang lain perlu mengedit CSS dan tidak tahu atau menyadari penggunaan preprocessor pada situ yang dikelolanya?&lt;/li&gt;&lt;li style="text-align: justify;"&gt;Ketika menulis CSS dalam sebuah tim, bagaimana Anda mengontrol struktur dan pengorganisasian dari kode?&lt;/li&gt;&lt;li style="text-align: justify;"&gt;Apa yang terjadi jika JavaScript dinon-aktifkan?&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt;Isu dari masalah diatas adalah kesulitan mengkomunikasikan antara satu pengembang dengan pengembang lain terutama bagi mereka yang bekerja dalam sebuah tim. Ketika anda menggunakan bahasa fleksibel sesuai keinginan anda sendiri, belum tentu anggota tim lain akan mampu memahaminya dengan cepat, justru hal ini akan menjadi kendala ketika pekerjaan kita merupakan pesanan klien. Sedangkan klien yang membeli karya kita mempekerjakan orang lain dalam pemeliharaannya. Namun, masalah ini hanya muncul apabila kita menggunakan metode side server (menggunakan file JavaScript LESS sebagai compiler) dalam mengkonversi LESS. Toh, ini tidak akan menjadi kendala apabila LESS dikonversi terlebih dahulu secara lokal (pada komputer kita) menjadi file CSS biasa dan baru kita menyerahkan file CSS biasa tersebut kepada klien atau anggota tim lain. Dan atau untuk menghindari kesulitan komunikasi antara anggota tim, dibuat kesepakatan bersama mengenai penggunaan bahasa LESS dalam kerja tim kita. Namun, isu masalah ini akan tetap menjadi kendala ketika kita harus merubah suatu kebiasaan dan ketika anggota tim lain tidak bersedia untuk beralih menggunakan preprocessor LESS.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Jadi, semua ini kembali pada diri kita sendiri. Tetap menuliskan CSS seperti biasa, atau mulai menggunakan preprocessor LESS agar lebih cepat dan sederhana dalam penulisannya?&lt;/div&gt;&lt;br /&gt;&lt;h3&gt;Compiler Preprocessor LESS&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Sebagai permulaan untuk memahami LESS, kita akan belajar menuliskan LESS dan mengkonversinya menjadi file CSS biasa secara lokal saja. Jika anda menelusuri situs resmi LESS, maka akan ditemukan dua metode konversi file LESS, yaitu:&lt;/div&gt;&lt;ul&gt;&lt;li style="text-align: justify;"&gt;&lt;i&gt;Penggunaan Client-Side&lt;/i&gt;; Dengan memasang file less.js pada dokumen HTML. Less.js digunakan sebagai compiler agar browser mampu membaca file LESS, kemudian Less.js akan melakukan permintaan fungsi Ajax untuk memanggil file LESS anda. Hal ini sangat tidak efisien dalam hal kinerja dan harus dihindari dalam penggunaan hasil produksi. Apalagi jika JavaScript dinon-aktifkan, maka halaman anda akan hancur berantakan. Tetapi jika anda ingin menggunakan sebagai prototype dengan menggunakan LESS dengan cepat, hal ini syah-syah saja. &lt;/li&gt;&lt;li style="text-align: justify;"&gt;&lt;i&gt;Penggunaan Server-Side&lt;/i&gt;; dengan cara meng-install &lt;a href="http://nodejs.org/" rel="nofollow" target="_blank" title="NodeJS"&gt;NPM&lt;/a&gt; (Node Package Manager) atau Ruby pada komputer sebagai compiler. Namun jika anda tidak terbiasa dengan penggunaan perintah command-line, maka hindari juga menggunakan cara ini. Walaupun sebernarnya cara ini sangat efisien bagi yang terbiasa dengan perintah command-line.&lt;/li&gt;&lt;li style="text-align: justify;"&gt;&lt;i&gt;Aplikasi GUI Compiler LESS&lt;/i&gt;; Selain dengan dua metode diatas, kita ternyata bisa menulis LESS secara lokal (komputer sendiri) dan kemudian mengkonversinya menjadi CSS standar dengan bantuan aplikasi compiler LESS. Aplikasi-aplikasi Compiler LESS bisa dilihat dan dipilih pada bagian berikutnya.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;h3&gt;Aplikasi GUI Compiler LESS&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Beberapa aplikasi yang disebutkan, digunakan sebagai Compiler LESS, sehingga kita bisa langsung mengkonversi file LESS menjadi file CSS standar. Bahkan contoh yang disertakan bisa langsung dirender melalui browser, atau bisa di-compile menggunakan aplikasi dibawah ini:&lt;/div&gt;&lt;ul&gt;&lt;li style="text-align: justify;"&gt;&lt;a href="http://crunchapp.net/" rel="nofollow" target="_blank" title="The LESS editor and compiler"&gt;Crunch&lt;/a&gt;; Merupakan rekomendasi penulis, karena; tampilannya yang sederhana, berjalan disemua sistem operasi, menggunakan framework &lt;a href="http://get.adobe.com/air/" rel="nofollow" target="_blank" title="AdobeAIR"&gt;AdobeAIR&lt;/a&gt;, dapat langsung digunakan sebagai teks editor.&lt;/li&gt;&lt;li style="text-align: justify;"&gt;&lt;a href="http://wearekiss.com/simpless" rel="nofollow" target="_blank" title="SimpLESS Compiler"&gt;SimpLESS&lt;/a&gt;; Aplikasi GUI ini hampir mirip dengan Crunch hanya saja tidak bisa digunakan sebagai teks editor. SimpLESS hanyalah compiler, namun mampu berjalan pada semua sistem operasi.&lt;/li&gt;&lt;li style="text-align: justify;"&gt;&lt;a href="http://winless.org/" rel="nofollow" target="_blank" title="WinLess is a Windows GUI LESS compiler"&gt;WinLESS&lt;/a&gt;; Aplikasi ini juga hanya compiler saja, tanpa kemampuan Text Editor, hanya berjalan pada Sistem Operasi Microsoft Windows, namun dapat diintegrasikan dengan Teks Editor.&lt;/li&gt;&lt;li style="text-align: justify;"&gt;&lt;a href="http://compass-style.org/" rel="nofollow" target="_blank" title="GUI Compiler for SASS LESS"&gt;Compass&lt;/a&gt;; Aplikasi ini banyak digunakan para pengembang profesional, hanya untuk preprocessor SASS, berjalan pada semua sistem operasi, namun tidak gratis alias berbayar.&lt;/li&gt;&lt;li style="text-align: justify;"&gt;&lt;a href="http://incident57.com/codekit/" rel="nofollow" target="_blank" title="The Mac App For Web Developers"&gt;Codekit&lt;/a&gt;; aplikasi GUI Compiler Preprocessor khusus untuk pengguna Mac dan rekomendasi para pengembang preprocessor karena kemampuannya dalam menulis dan mengkonversi hampir semua preprocessor (SASS, LESS, Stylus).&lt;/li&gt;&lt;li style="text-align: justify;"&gt;&lt;a href="http://mhs.github.com/scout-app/" rel="nofollow" target="_blank" title="Compass and Sass without all the hassle"&gt;Scout&lt;/a&gt;; aplikasi ini berjalan disemua sistem operasi, open-source, namun saya belum mencobanya (silahkan dicoba).&lt;/li&gt;&lt;li style="text-align: justify;"&gt;&lt;a href="http://livereload.com/" rel="nofollow" target="_blank" title="The Web Developer Wonderland"&gt;LiveReload&lt;/a&gt;; aplikasi GUI Compiler Preprocessor ini banyak diceritakan dan digunakan para pengembang, berjalan pada sistem operasi Mac dan Windows, dan belum tersedia untuk pengguna sistem operasi Linux.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;h3&gt;Dasar Penulisan Preprocessor LESS&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Bagaimana dengan persiapan awal sebelum belajar menulis LESS? Jika sudah siap, dibawah ini tidak akan diberikan contoh yang panjang lebar hingga memusingkan, namun kita akan mencoba memahami dasar-dasar dari LESS. Contoh dibawah ini lebih baik anda coba tulis sendiri sehingga terlihat hasilnya. Kemudian pahami dengan baik, agar kita mampu merasakan manfaat dan perbedaannya antara menulis CSS biasa dengan menulis LESS.&lt;/div&gt;&lt;br /&gt;&lt;h3&gt;Integrasi Compiler Side-Client&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Contoh penggunaan LESS akan dibahas secara terstruktur hingga menghasilkan suatu objek tertentu dan contoh yang akan dibahas menggunakan metode kompilasi Side-Client (Unduh file contoh terlebih dahulu sebagai pembanding). Ini berarti file LESS tidak perlu di-compile menggunakan aplikasi yang disebutkan diatas, karena kita akan menggunakan less.js sebagai compiler dengan proses konversi secara langsung pada browser (gunakan browser Firefox untuk melihat hasilnya, karena browser lain kurang bahkan tidak mendukung metode side-client untuk LESS).&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Sisipkan link file .less pada dokumen HTML anda dengan setting rel dengan stylesheet/less&lt;/div&gt;&lt;pre&gt;&amp;lt;link rel="stylesheet/less" type="text/css" href="style.less"&amp;gt;&lt;/pre&gt;&lt;div style="text-align: justify;"&gt;Unduh file &lt;a href="http://lesscss.googlecode.com/files/less-1.3.0.min.js" rel="nofollow" target="_blank" title="less.js"&gt;less.js&lt;/a&gt; dan masukan pada dokumen HTML anda&lt;/div&gt;&lt;pre&gt;&amp;lt;script src="less-1.3.0.min.js" type="text/javascript"&amp;gt;&amp;lt;/script&amp;gt;&lt;/pre&gt;&lt;div style="text-align: justify;"&gt;Pastikan bahwa file stylesheet ditempatkan sebelum script, sehingga persiapan awal dokumen kurang lebih menjadi seperti dibawah ini:&lt;/div&gt;&lt;pre&gt;&amp;lt;!DOCTYPE html&amp;gt;&lt;br /&gt;&amp;lt;html&amp;gt;&lt;br /&gt;&amp;lt;head&amp;gt;&lt;br /&gt;	&amp;lt;link rel="stylesheet/less" type="text/css" href="style.less"&amp;gt;&lt;br /&gt;	&amp;lt;script src="less-1.3.0.min.js" type="text/javascript"&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&amp;lt;/head&amp;gt;&lt;br /&gt;&amp;lt;body&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/body&amp;gt;&lt;br /&gt;&amp;lt;/html&amp;gt;&lt;/pre&gt;&lt;div style="text-align: justify;"&gt;style.less merupakan file yang akan kita kembangkan sebagai contoh pada langkah berikutnya. Ini berarti anda harus mempersiapkan Text Editor untuk menulis file HTML dan LESS.&lt;/div&gt;&lt;br /&gt;&lt;h3&gt;Skenario HTML&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Jika compiler side-client sudah tersedia pada tag &amp;lt;head&amp;gt;, mari kita lanjutkan untuk mempersiapkan elemen objek HTML, seperti dibawah ini:&lt;/div&gt;&lt;pre&gt;&amp;lt;div id="WadahObjek"&amp;gt;&lt;br /&gt;	&amp;lt;div class="objek" id="objekSatu"&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;	&amp;lt;div class="objek" id="objekDua"&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;	&amp;lt;div class="objek" id="objekTiga"&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&amp;lt;/div&amp;gt;&lt;/pre&gt;&lt;br /&gt;&lt;h3&gt;Skenario LESS&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Setelah dokumen HTML dibuat seperti diatas, sekarang bukalah text editor anda dan buatlah file style.less. Kemudian berikan sentuhan style untuk objek yang telah dibuat pada HTML. Kita tuliskan CSS Standar dulu seperti dibawah ini:&lt;/div&gt;&lt;pre&gt;body {&lt;br /&gt;	background:#262626;&lt;br /&gt;}&lt;br /&gt;#WadahObjek {&lt;br /&gt;	margin:0 auto;&lt;br /&gt;	width:650px;&lt;br /&gt;}&lt;br /&gt;.objek {&lt;br /&gt;	display:inline-block;&lt;br /&gt;	width:150px;&lt;br /&gt;	height:150px;&lt;br /&gt;	background:#191919;&lt;br /&gt;	margin:25px;&lt;br /&gt;}&lt;/pre&gt;&lt;div style="text-align: justify;"&gt;Browser akan menampilkan objek dengan bentuk kurang lebih seperti dibawah ini:&lt;/div&gt;&lt;div class="separator"&gt;&lt;img class="frame" src="http://1.bp.blogspot.com/-cOYRPNv2UBk/UHzw_183LAI/AAAAAAAAHOw/Wz2iojRUfVE/s800/gambar-1.jpg" /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Hmmm... Tidak ada yang spesial dari contoh kode CSS diatas, karena itu masih CSS standar walau sudah ditulis sebagai file LESS. Coba anda bayangkan, jika kita suka dengan warna #191919 untuk digunakan pada beberapa tempat yang tersebar disepanjang stylesheet dengan jumlah baris hampir 1000? Melelahkan sekali bukan? Lalu, setelah semua baris itu beres ditulis secara manual, tiba-tiba kita ingin mengubah warna tersebut dengan warna lain atau mengganti warna dengan sebuah perpaduan warna. Sungguh sangat melelahkan!&lt;/div&gt;&lt;br /&gt;&lt;h3&gt;Variable&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Variabel memungkinkan anda untuk menentukan suatu nilai yang dituliskan dalam satu tempat, dan kemudian menggunakannya disepanjang stylesheet, membuat perubahan global semudah mengubah satu baris kode.&lt;/div&gt;Perhatikan kode LESS dibawah ini:&lt;br /&gt;&lt;pre&gt;@WarnaDasar: #262626;&lt;br /&gt;@WarnaSatu: #191919;&lt;br /&gt;@TinggiLebar: 150px;&lt;br /&gt;&lt;br /&gt;body {&lt;br /&gt;    background: @WarnaDasar;&lt;br /&gt;}&lt;br /&gt;#WadahObjek {&lt;br /&gt;    margin: 0 auto;&lt;br /&gt;    width: 650px;&lt;br /&gt;}&lt;br /&gt;.objek {&lt;br /&gt;	display: inline-block;&lt;br /&gt;	width: @TinggiLebar;&lt;br /&gt;	height: @TinggiLebar;&lt;br /&gt;	background: @WarnaSatu;&lt;br /&gt;	margin: 25px;&lt;br /&gt;}&lt;/pre&gt;&lt;div style="text-align: justify;"&gt;Perhatikan bahwa kita hanya perlu sekali menuliskan variable @WarnaDasar dengan nilai #262626. Ketika kita ingin melakukan perubahan warna maka hanya cukup merubah nilai pada variable @WarnaDasar saja. Lebih mudah dan cepat bukan?&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Variabel LESS biasa dideklarasikan dengan simbol "@". Kita bisa memberikan nama variabel sesuai dengan keinginan kita dan atau dengan alasan kemudahan untuk mengingat, kemudian kita berikan nilainya. Setelah itu kita dapat merujuk nama variabel yang telah dibuat untuk ditempatkan dimana saja. Keren bukan?!&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Ketika anda compile menggunakan Aplikasi GUI Compiler LESS (misal; Crunch) maka akan dihasilkan kode CSS standar seperti dibawah ini:&lt;/div&gt;&lt;pre&gt;body{&lt;br /&gt;	background:#262626;&lt;br /&gt;}&lt;br /&gt;#WadahObjek{&lt;br /&gt;	margin:0 auto;&lt;br /&gt;	width:650px;&lt;br /&gt;}&lt;br /&gt;.objek{&lt;br /&gt;	display:inline-block;&lt;br /&gt;	width:150px;&lt;br /&gt;	height:150px;&lt;br /&gt;	background:#191919;&lt;br /&gt;	margin:25px;&lt;br /&gt;}&lt;/pre&gt;Jika anda ganteng pasti anda paham...&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Mixin&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Mixin memungkinkan kita untuk menanamkan sifat-sifat kelas ke dalam kelas lain dengan hanya memasukan salah satu nama kelas. Hampir sama seperti halnya variabel, tetapi keseluruhan sifat kelas akan mempengaruhi kelas lainnya. Mixin juga dapat berperilaku seperti fungsi, dan mengambil argumen. Masih bingung? Lanjut...!&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Anda tahu bagaimana cara membuat lingkaran untuk objekSatu? Cukup dengan mengeset radius border sebesar-besarnya seperti contoh dibawah ini:&lt;/div&gt;&lt;pre&gt;#objekSatu{&lt;br /&gt;	border-radius:9999px;&lt;br /&gt;}&lt;/pre&gt;&lt;div style="text-align: justify;"&gt;Maka browser akan menampilkan objek dengan bentuk kurang lebih seperti dibawah ini:&lt;/div&gt;&lt;div class="separator"&gt;&lt;img class="frame" src="http://2.bp.blogspot.com/-l7aRj_gFSlU/UHzxAv252WI/AAAAAAAAHO8/eYzC1poON5s/s800/gambar-2.jpg" /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Namun harus diingat sejak penggunaan CSS3, jika ingin objek tersebut dapat ditampilkan sempurna pada semua browser maka kita harus menambahkan vendor prefix -webkit- dan -moz- sebagai cara terbaik. Maka kurang lebih kita bisa menuliskannya seperti dibawah ini:&lt;/div&gt;&lt;pre&gt;#objekSatu{&lt;br /&gt;	-webkit-border-radius:9999px;&lt;br /&gt;	   -moz-border-radius:9999px;&lt;br /&gt;	        border-radius:9999px;&lt;br /&gt;}&lt;/pre&gt;&lt;div style="text-align: justify;"&gt;Hmmm... Bagaimana jika ada objek lingkaran lain yang jumlahnya banyak dan harus diberi sifat serta vendor prefix sama seperti itu? Misal 20 objek lingkaran... Huh!!! Sangat melelahkan...&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Tenang... LESS membuat pendefinisian mixin menjadi lebih sederhana dan mudah. Pendefinisian mixin pada LESS sebenarnya hampir sama dengan bahasa pemrograman lainnya. Penulisan mixin LESS hampir sama dengan CSS standar terutama dalam penggunaan grup CSS. Hampir sama dengan penulisan variabel, hanya saja kita menggunakan simbol "." (titik) untuk mendeklarasikan mixin, seperti contoh dibawah ini:&lt;/div&gt;&lt;pre&gt;@bulatan: 9999px;&lt;br /&gt;&lt;br /&gt;.SudutBulat {&lt;br /&gt;    -webkit-border-radius: @bulatan;&lt;br /&gt;       -moz-border-radius: @bulatan;&lt;br /&gt;            border-radius: @bulatan;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;#objekSatu {&lt;br /&gt;	.SudutBulat;&lt;br /&gt;}&lt;/pre&gt;&lt;div style="text-align: justify;"&gt;Dan sekarang, kita hanya cukup memasangkan .SudutBulat pada semua objek yang akan dibuat lingkaran tanpa perlu menambahkan sifat-sifatnya (border-radius dan vendor prefix) lagi. Jika suatu hari kita ingin mengubah nilai bulatan, cukup ganti nilai pada variabel @bulatan maka semua objek yang memiliki sifat sama akan ikut berubah tanpa harus diubah satu persatu. Kereeeeennn!!! Namun hati-hati jangan sampai terjadi bentrok dengan class milik CSS. Memang cukup sulit untuk membedakannya, namun saya yakin anda paham maksud penggunaan mixin pada LESS.&lt;/div&gt;&lt;br /&gt;&lt;h3&gt;Parametric Mixin&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Penambahan parametric mixin membuat penulisan sifat-sifat kelas menjadi lebih fleksibel. Parametric mixin merupakan cara penyisipan dan atau penambahan sifat baru dari sifat mixin yang telah ada tanpa mempengaruhi mixin asal. Bingung lagi ya???&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Ayo kita lanjutkan lagi... objekSatu telah diberi sifat lingkaran, dan kita ingin membuat sudut rounded dengan radius baru pada objekDua, namun dengan tetap memanfaatkan sifat-sifat yang sudah tersedia pada mixin objekSatu, sehingga kita tidak perlu membuat mixin baru. Bagaimanakah caranya? Perhatikan deklarasi parameter dibawah ini:&lt;/div&gt;&lt;pre&gt;@bulatan: 9999px;&lt;br /&gt;&lt;br /&gt;.SudutBulat (@radius: @bulatan){&lt;br /&gt;    -webkit-border-radius: @radius;&lt;br /&gt;       -moz-border-radius: @radius;&lt;br /&gt;            border-radius: @radius;&lt;br /&gt;}&lt;/pre&gt;&lt;div style="text-align: justify;"&gt;Pendeklarasian parametrik mixin yaitu dengan menambahkan tanda kurung "( )" setelah nama mixin. Didalam tanda kurung tersebut kemudian ditambahkan variabel. Variabel pada contoh diatas menggunakan nama variabel @radius yang memiliki nilai sama dengan variabel @bulatan yaitu 9999px. Kemudian nilai-nilai pada mixin diubah dengan variabel @radius, ini berarti nilai default dari variabel @radius adalah 9999px, namun ini bersifat default yang bisa saja nilai variabel @radius tersebut diganti sesuai kebutuhan. Tambah bingung ya? Perhatikan penggunaan mixin dibawah ini:&lt;/div&gt;&lt;pre&gt;#objekSatu {&lt;br /&gt;    .SudutBulat;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;#objekDua {&lt;br /&gt;    .SudutBulat(30px);&lt;br /&gt;}&lt;/pre&gt;&lt;div style="text-align: justify;"&gt;Perhatikan dengan seksama, bahwa objekSatu menggunakan variabel @radius dengan nilai default yaitu 9999px. Hal ini karena nilainya tidak diubah. Sedangkan pada objekDua nilai untuk variabel @radius diubah menjadi 30px. Sehingga nilai default untuk variabel @radius akan diubah menjadi 30px dan diberlakukan hanya untuk objekDua. Sehingga objekDua jika ditampilkan pada browser akan tampak seperti dibawah ini:&lt;/div&gt;&lt;div class="separator"&gt;&lt;img class="frame" src="http://1.bp.blogspot.com/-t8CwXB_oBA4/UHzxB-dft6I/AAAAAAAAHPI/6aNBHTMFK3E/s800/gambar-3.jpg" /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Mudah-mudahan paham maksud dari Parametric Mixin, jika anda paham maka tambah ganteng...&lt;/div&gt;&lt;br /&gt;&lt;h3&gt;Operasi&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Salah satu fitur hebat LESS lainnya adalah kemampuan untuk menggunakan operasi matematika didalam stylesheet. Mungkin kedengarannya sangat membosankan jika sudah berhubungan dengan matematika, namun hal ini sangatlah bagus untuk LESS. Operasi memberikan keleluasaan menambah, mengurangi, membagi dan mengalikan nilai properti dan warna, memberikan Anda kekuatan untuk menciptakan hubungan yang kompleks antar sifat. Bagaimana operasi matematika digunakan pada LESS?&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Pada contoh terdapat 3 objek yang sudah kita berikan gaya tertentu, namun belum ditambahkan garis bingkai (border) dan warna garis bingkai (border color) pada objek tersebut. Misal; &lt;/div&gt;&lt;br /&gt;&lt;ul&gt;&lt;li style="text-align: justify;"&gt;Kita ingin menentukan tebal garis bingkai sebesar 5% dari tinggi atau lebar objek,&lt;/li&gt;&lt;li style="text-align: justify;"&gt;Kita ingin menentukan warna garis bingkai&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Maka kita tuliskan operasi matematiknya kedalam stylesheet, seperti dibawah ini:&lt;br /&gt;&lt;pre&gt;@TebalGaris: @GarisTepi * 0.05;&lt;/pre&gt;Kemudian warna garis diambil dari perkalian variabel @WarnaTiga dengan 3, seperti dibawah ini:&lt;br /&gt;&lt;pre&gt;@WarnaTiga: #111;&lt;br /&gt;@WarnaGaris: @WarnaTiga * 3;&lt;/pre&gt;atau&lt;br /&gt;&lt;pre&gt;@WarnaGaris: @WarnaTiga * #222;&lt;/pre&gt;&lt;div style="text-align: justify;"&gt;Awalnya memang cukup membingungkan, namun saya yakin anda akan memahami setelah melakukan beberapa kali uji coba. Harus diingat bahwa; menambahkan atau mengurangi dengan #000 tidak akan memberikan efek, dan penggunaan #fff merupakan efek masimal.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Setelah kita menentukan variabel untuk garis bingkai maka kita bisa menerapkannya pada garis bingkai seperti dibawah ini:&lt;/div&gt;&lt;pre&gt;border: @TebalGaris solid @WarnaGaris;&lt;/pre&gt;Sehingga objek akan menjadi seperti gambar dibawah ini:&lt;br /&gt;&lt;div class="separator"&gt;&lt;img class="frame" src="http://4.bp.blogspot.com/-lrIpTDUUpJk/UHzxCsbrJ4I/AAAAAAAAHPU/2Aco5UoZp5U/s800/gambar-4.jpg" /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Mudah bukan? Khusus untuk warna, kita bisa menggunakan fungsi saturasi yang lumayan cukup rumit dan kompleks.&lt;/div&gt;&lt;br /&gt;&lt;h3&gt;Fungsi Warna&lt;/h3&gt;LESS menyediakan beberapa fungsi warna berikut ini:&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li style="text-align: justify;"&gt;darken() dan lighten(), digunakan untuk menambahkan warna hitam dan putih (lebih gelap dan lebih terang)&lt;/li&gt;&lt;li style="text-align: justify;"&gt;saturate() dan desaturate(), untuk menentukan sebuah warna lebih "berwarna" atau "grayscale"&lt;/li&gt;&lt;li style="text-align: justify;"&gt;fadein() dan fadeout(), untuk menambah atau mengurangi transparansi&lt;/li&gt;&lt;li style="text-align: justify;"&gt;spin(), digunakan untuk memodifikasi rona (hue) warna&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Jika, misal, kita ingin membuat warna garis pinggir (border color) menjadi desaturasi untuk mendapatkan warna yang mendekati grayscale, maka kita bisa menggunakan desaturate seperti dibawah ini:&lt;/div&gt;&lt;pre&gt;@WarnaGaris: desaturate(@WarnaTiga, 100%);&lt;/pre&gt;&lt;div style="text-align: justify;"&gt;Bahkan kita bisa memanfaatkan output dari hasil operasi suatu warna kedalam operasi warna lainnya, seperti dibawah ini:&lt;/div&gt;&lt;pre&gt;@WarnaGaris: darken(desaturate(@WarnaTiga, 100%),20%;&lt;/pre&gt;&lt;div style="text-align: justify;"&gt;Semua operasi warna bisa menggunakan warna (Hex) atau persentase sebagai parameternya, kecuali spin. spin menggunakan bilangan bulat (integer) antara 0 sampai dengan 255 dan tidak menggunakan persentase untuk memodifikasi rona (hue) warna, misal:&lt;/div&gt;&lt;pre&gt;@WarnaGaris: spin(@WarnaTiga, 100);&lt;/pre&gt;&lt;br /&gt;&lt;h3&gt;Nested Rule&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Ketika kita merancang suatu halaman web yang kompleks menggunakan CSS, kadang kita akan dihadapkan pada seleksi berantai (atau ada yang menyebutnya parent child, ada yang menyebutnya pewarisan) untuk elemen tertentu dalam DOM. Nested Rule didalam LESS digunakan untuk menyederhanakan penulisan nama selektor yang panjang menjadi lebih sederhana dan mudah. Didalam LESS kita bisa menempatkan suatu selektor didalam selektor lainnya. Hal ini membuat pewarisan (nest) menjadi lebih jelas dan lebih pendek. Dibawah ini contoh pewarisan atau pengelompokan CSS standar:&lt;/div&gt;&lt;pre&gt;#header {&lt;br /&gt;	border-width: 1px&lt;br /&gt;}&lt;br /&gt;#header h1 {&lt;br /&gt;	font-size: 20px;&lt;br /&gt;	font-weight: bold;&lt;br /&gt;	color: #ddd&lt;br /&gt;}&lt;br /&gt;#header h1 a {&lt;br /&gt;	text-decoration: none;&lt;br /&gt;}&lt;br /&gt;#header h1 a:hover {&lt;br /&gt;	color: #dfe&lt;br /&gt;	border-width: 2px&lt;br /&gt;}&lt;/pre&gt;&lt;div style="text-align: justify;"&gt;Perhatikan contoh kode penulisan CSS standar diatas. Sebenarnya ketika kita menuliskan turunan selektor yang hanya satu atau dua turunan, hal ini masih dipahami dan mengerti dengan baik. Namun ketika jumlah selektor turunan dari selektor utama sudah mencapai 4 sampai 5 selektor, masalah sudah mulai bermunculan, dari mulai penulisan yang lebih panjang, dan visualisasi penyusunan hirarki yang tidak nyaman dilihat alias berantakan. Dengan LESS kita dengan mudah menuliskan pengelompokan utama dan kemudian menuliskan turunannya didalam kelompok utama. Misal, kode contoh diatas kita modifikasi menjadi aturan pewarisan LESS dengan meniru struktur DOM, sehingga menjadi seperti dibawah ini;&lt;/div&gt;&lt;pre&gt;#header {&lt;br /&gt;	border-width: 1px;&lt;br /&gt;	h1 {&lt;br /&gt;		font-size: 20px;&lt;br /&gt;		font-weight: bold;&lt;br /&gt;		color: #ddd;&lt;br /&gt;		a {&lt;br /&gt;			text-decoration: none;&lt;br /&gt;			&amp;amp;:hover {&lt;br /&gt;				color: #dfe;&lt;br /&gt;			}&lt;br /&gt;		}&lt;br /&gt;	}&lt;br /&gt;}&lt;/pre&gt;&lt;div style="text-align: justify;"&gt;Jika kita perhatikan contoh kode aturan pengelompokan LESS diatas, ada satu bagian yang berbeda dalam penulisan pseudo-class. Untuk penulisan pseudo-class kita menggunakan simbol "&amp;amp;" yang bisa berarti "ini" atau "dan".&lt;/div&gt;&lt;div class="separator"&gt;&lt;img class="frame" src="http://3.bp.blogspot.com/-FJvgmzDqiQg/UHzxRCsAn-I/AAAAAAAAHPg/-L_DlhKebwM/s800/gambar-5.jpg" /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Namun, Nested Rule untuk preprocessor LESS berefek pada kenyamanan penulisan sintak didalam teks editor. Ketika saya mulai menuliskan sintak-sintak CSS dengan prepocessor LESS, hampir semua teks editor yang digunakan tidak mampu menampilkan visualisasi syntax-highlighter yang nyaman untuk diperhatikan, terutama dari sisi pewarnaan sintak, saya bahkan merasa pewarna sintak LESS sangat kacau ketika menggunakan pseudo-class. Ini menjadi perkerjaan rumah para pengembang plugin teks editor untuk menciptakan syntax-highlighter khusus preprocessor LESS.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Crunch sepertinya memang diciptakan khusus untuk Teks Editor LESS dan Compiler LESS, dan untuk hari ini bagi anda yang ingin belajar menulis preprocessor LESS, saya merekomendasikan aplikasi GUI LESS yang satu ini. Nyaman, ringan, mengenal syntax LESS dengan baik, compiler terintegrasi, dan terintegrasi debug untuk mengetahui kesalahan penulisan.&lt;/div&gt;&lt;div class="separator"&gt;&lt;img class="frame" src="http://4.bp.blogspot.com/-6QCevPC6MbA/UHzxRXtsA_I/AAAAAAAAHPs/ARLIJd5WKjc/s800/crunch.jpg" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;h3&gt;Mengimpor File LESS&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Akhirnya, ini biasanya dilakukan sebagai langkah terakhir yaitu dengan mengimpor file LESS. Membagi file-file LESS sesuai dengan penggolongan tertentu adalah cara terbaik dari pada Anda harus menuliskannya hingga 5000 baris dalam satu file.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Mengimpor satu file ke file lainnya didalam LESS sangatlah sederhana, yaitu:&lt;/div&gt;&lt;pre&gt;@import "warna.less";&lt;/pre&gt;&lt;div style="text-align: justify;"&gt;Bahkan kita dapat menghilangkan ekstensi LESS dengan hanya menuliskan:&lt;/div&gt;&lt;pre&gt;@import "warna";&lt;/pre&gt;&lt;div style="text-align: justify;"&gt;Kita dapat membagi-bagi file LESS sesuai relevansinya menjadi beberapa file terpisah. Mungkin kita bisa saja menggolongkan file-file LESS itu menjadi seperti dibawah ini:&lt;/div&gt;&lt;ul&gt;&lt;li&gt;CSS Reset atau Normalize&lt;/li&gt;&lt;li&gt;Warna&lt;/li&gt;&lt;li&gt;Huruf dan tipografi&lt;/li&gt;&lt;li&gt;Elemen-elemen UI&lt;/li&gt;&lt;li&gt;Style utama halaman&lt;/li&gt;&lt;li&gt;...dan pengelompokan lain secara relevan sesuai aturan yang tergantung pada proyek Anda&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt;Sebagai contoh, anda dapat melihat bagaimana developer &lt;a href="http://twitter.github.com/bootstrap/" rel="nofollow" target="_blank" title="Powerful front-end framework"&gt;Twitter Bootstrap&lt;/a&gt; membagi-bagi file LESS kedalam beberapa file sesuai kelompoknya. Hal seperti ini akan terlihat lebih profesional dan lebih mudah dalam pengelolaan.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Anda mungkin berfikir bahwa menggunakan metode impor justru akan meningkatkan HTTP Request yang tidak perlu sehingga akan memperlambat waktu load halaman anda, dan itu betul! Namun kita harus ingat bahwa yang akan kita gunakan adalah file LESS sebagai bahan mentah yang kemudian dikonversi sehingga menjadi file CSS biasa. Jika kita memahami dengan baik, maka tidak peduli lagi, akan seberapa banyak file-file LESS itu digolongkan dan dipisahkan, karena pada akhirnya, semua bagian-bagian file LESS tersebut akan digabungkan menjadi satu file CSS baru melalui impor. Jadi, jangan takut melakukan impor. Karena hal ini akan sangat membantu kita dalam penyusunan struktur kode pada proyek yang sedang kita kerjakan. &lt;/div&gt;&lt;br /&gt;&lt;h3&gt;Kesimpulan&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Begitulah kurang lebih tentang Preprocessor LESS dan penulis secara pribadi berharap bahwa setelah menulis dan atau membaca artikel yang panjang lebar ini, kemudian berkembang minat para pengembang CSS di Indonesia untuk mulai menggunakan bahasa LESS. Saya merasa bahwa LESS telah melakukan perubahan cukup besar dalam tata cara penulisan bahasa Stylesheet.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Jika anda merasa tidak puas dengan artikel diatas, silahkan kunjungi dokumen resmi LESS untuk memeriksa kemungkinan terjadi perubahan yang lebih menarik. Selain itu, karena LESS dikembangkan sebagai Open Source anda bisa bergabung dan terlibat didalamnya. Anda bisa melaporkan masalah yang ditemukan (bug), pencabangan (fork), atau sekedar memantau (watch) perkembangan terbarunya melalui &lt;a href="https://github.com/cloudhead/less.js" rel="nofollow" target="_blank" title="LESS pada GitHub"&gt;GitHub&lt;/a&gt;.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Terima kasih atas waktu dan kesempatannya untuk membaca artikel ini (yang ditulis hampir 1 minggu), semoga ada manfaat yang bisa diambil. Selamat belajar dan Happy Blogging :)&lt;/div&gt;</description><link>http://modification-blog.blogspot.com/2012/10/pengantar-less-dynamic-preprocessor.html</link><author>noreply@blogger.com (Hendriono Dede)</author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-BwcJr4DyKXM/UHzw_mcyZVI/AAAAAAAAHOk/7rLbJVbDmxM/s72-c/LESS-Blogger.jpg' height='72' width='72'/><thr:total>16</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-7350022283544621464.post-8625659253654002189</guid><pubDate>Sat, 06 Oct 2012 15:17:00 +0000</pubDate><atom:updated>2012-10-06T22:19:38.118+07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>(X)HTML</category><category domain='http://www.blogger.com/atom/ns#'>Semantic</category><title>Rich Snippets - Blogger Metadata Twitter Cards</title><description>&lt;div style="text-align: justify;"&gt;Bismillah. Alhamdulillah. Blogger Tune-Up kembali bisa menulis walau masih kaku setelah hampir satu bulan lamanya tidak menulis. Artikel kali ini merupakan lanjutan penjelasan dari artikel sebelumnya tentang &lt;a href="http://modification-blog.blogspot.com/2012/06/open-graph-metadata-untuk-blogger.html" rel="nofollow" target="_blank"&gt;Open Graph Metadata Untuk Blogger&lt;/a&gt;, namun lebih spesifik membahas tentang Twitter Cards. Twitter Cards adalah fasilitas yang diberikan oleh jejaring sosial Twitter untuk para blogger agar konten yang dibagikan melalui jejaring Twitter lebih menarik dan mudah dipahami oleh pengikut kita. Mereka para pengikut (follower) jejaring Twitter yang kita kelola akan lebih mudah untuk memahami dengan cepat mengenai materi utama dari artikel yang kita bagikan dari blog kita, karena sisipan konten artikel yang tampil pada Twitter berisi informasi tentang judul artikel, ringkasan (meta description) artikel, gambar thumbnail, info penulis (nama dan alamat Twitter), info blog (favicon, nama blog dan alamat Twitter) serta beberapa informasi penting lainnya.&lt;/div&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;div class="separator"&gt;&lt;img class="frame" alt="Blogger Twitter Cards" src="http://4.bp.blogspot.com/-4p1jxDNixNI/UHBJjGoVndI/AAAAAAAAHMA/AOcodRibsyg/s800/Blogger-Twitter-Cards.jpg" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;h3&gt;Deskripsi&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Twitter Cards atau Kartu Twitter memungkinkan kita untuk melampirkan berbagai informasi media untuk pengguna Twitter (Tweets) yang memiliki pranala ke konten blog yang kita kelola. Kita hanya cukup menambahkan beberapa baris kode HTML (metadata) kedalam halaman web yang kita kelola maka dengan otomatis pengguna yang membagikan link konten blog kita pada tweet mereka akan memiliki "kartu" informasi yang akan terlihat pada semua pengikutnya. Namun fasilitas ini belum 100% untuk semua pengguna. &lt;a href="https://dev.twitter.com/docs/cards" rel="nofollow" target="_blank"&gt;Twitter pada blognya&lt;/a&gt; yang ditulis (update) pada hari Rabu, 12-09-2012 (13:56) menjelaskan bahwa mereka masih dalam proses secara bertahap untuk menggelar teknologi tersebut hingga 100% bisa digunakan untuk semua pengguna. Ini berarti untuk sementara waktu, tidak semua pengguna akan memperoleh fasilitas ini.&lt;/div&gt;Sebagai pengembang, Twitter Card (Kartu Twitter) berguna untuk:&lt;br /&gt;&lt;ul&gt;&lt;li style="text-align: justify;"&gt;Memberi Anda kendali tentang bagaimana konten Anda ditampilkan pada Tweet&lt;/li&gt;&lt;li style="text-align: justify;"&gt;Mengarahkan lalu lintas ke situs Anda&lt;/li&gt;&lt;li style="text-align: justify;"&gt;Meningkatkan jumlah orang yang mengikuti akun Twitter Anda melalui atribusi konten&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;h3&gt;Integrasi Metadata Twitter Cards&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Pada artikel &lt;a href="http://modification-blog.blogspot.com/2012/06/open-graph-metadata-untuk-blogger.html" target="_blank"&gt;Open Graph Metadata Untuk Blogger&lt;/a&gt; sebenarnya sudah dibahas lengkap. Silahkan mengikuti tata cara pemasangan metada seperti yang dijelaskan pada artikel tersebut.&lt;/div&gt;&lt;b&gt;Langkah 1&lt;/b&gt;&lt;br /&gt;Login ke Blogger&lt;br /&gt;&lt;b&gt;Langkah 2&lt;/b&gt;&lt;br /&gt;Masuk ke "Dasbor - Template - Edit HTML - Lanjutkan"&lt;br /&gt;&lt;b&gt;Langkah 3&lt;/b&gt;&lt;br /&gt;Pastikan kode dibawah ini tersedia:&lt;br /&gt;&lt;pre&gt;&amp;lt;!-- Metadata Twitter --&amp;gt;&lt;br /&gt;&amp;lt;meta name='twitter:card' content='summary'/&amp;gt;&lt;br /&gt;&amp;lt;meta name='twitter:site' content='@situsAnda'/&amp;gt;&lt;br /&gt;&amp;lt;meta name='twitter:creator' content='@userName'/&amp;gt;&lt;br /&gt;&amp;lt;meta name='twitter:url' expr:content='data:blog.canonicalUrl'/&amp;gt;&lt;br /&gt;&amp;lt;meta name='twitter:title' expr:content='data:blog.pageTitle'/&amp;gt;&lt;br /&gt;&amp;lt;meta name='twitter:description' expr:content='data:blog.metaDescription'/&amp;gt;&lt;br /&gt;&amp;lt;meta name='twitter:image' expr:content='data:blog.postImageThumbnailUrl'/&amp;gt;&lt;/pre&gt;Perhatian! Kode metadata Twitter Cards diatas hanya sepenggal, wajib metadata tersebut lengkap dengan metadata open graph&lt;br /&gt;&lt;b&gt;Langkah 4&lt;/b&gt;&lt;br /&gt;Simpan template jika yakin kode tersebut tersedia&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Pemeriksaan Metadata Twitter Cards&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Setelah yakin bahwa metadata Twitter Cards terpasang dengan baik pada template, lakukan pemeriksaan dengan langkah sebagai berikut:&lt;/div&gt;&lt;b&gt;Langkah 1&lt;/b&gt;&lt;br /&gt;Buka halaman &lt;a href="https://dev.twitter.com/docs/cards/preview" rel="nofollow" target="_blank"&gt;Preview your Twitter Card&lt;/a&gt;&lt;br /&gt;&lt;b&gt;Langkah 2&lt;/b&gt;&lt;br /&gt;Masukan alamat artikel yang akan diperiksa pada kotak "Media URL"&lt;br /&gt;&lt;div class="separator"&gt;&lt;img class="frame" alt="Preview Tool Twitter Cards" src="http://1.bp.blogspot.com/-Y7PlfmzceX0/UHBJkbTdECI/AAAAAAAAHMY/1bWyDxAHMUk/s800/preview-twitter-cards.jpg" /&gt;&lt;/div&gt;&lt;b&gt;Langkah 3&lt;/b&gt;&lt;br /&gt;Klik tombol "Preview Card" dan tunggu hingga kartu twitter ditampilkan seperti dibawah ini:&lt;br /&gt;&lt;div class="separator"&gt;&lt;img class="frame" alt="Hasil Preview Twitter Cards" src="http://4.bp.blogspot.com/-q5TAJlqAL5Q/UHBJkj07rHI/AAAAAAAAHMk/YPMI3BjgALw/s800/result-twitter-cards.jpg" /&gt;&lt;/div&gt;&lt;b&gt;Langkah 4&lt;/b&gt;&lt;br /&gt;Berarti integrasi metadata Twitter Cards berhasil...&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Berpartisipasi pada Twitter Cards&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Agar Kartu Twitter dapat ditampilkan dengan baik maka sebaiknya anda berpartisipasi dalam pengembangan Twitter Cards dengan mengikuti ketentuan sebagai berikut:&lt;/div&gt;&lt;ul&gt;&lt;li style="text-align: justify;"&gt;Baca &lt;a href="https://dev.twitter.com/docs/cards" rel="nofollow" target="_blank"&gt;dokumentasi&lt;/a&gt; dan cara menambahkan markup yang tepat untuk Blog Anda.&lt;/li&gt;&lt;li style="text-align: justify;"&gt;Uji markup Anda dengan alat pratinjau yang disediakan (Lolos Pemeriksaan Metadata Twitter Cards). Kiriman Anda akan ditolak secara otomatis jika Anda memiliki markup tidak lengkap atau cacat.&lt;/li&gt;&lt;li style="text-align: justify;"&gt;Setelah markup diimplementasikan, &lt;a href="https://dev.twitter.com/form/participate-twitter-cards" rel="nofollow" target="_blank"&gt;mengisi formulir&lt;/a&gt; dan menyertakan link ke halaman yang berisi perwakilan markup.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Hal yang harus diperhatikan dalam pengisian formulir:&lt;br /&gt;&lt;ul&gt;&lt;li style="text-align: justify;"&gt;Pada bagian "Twitter Username" isi dengan nama akun twitter anda.&lt;/li&gt;&lt;li style="text-align: justify;"&gt;Pada bagian "Twitter Username associated with that domain" isi dengan nama akun twitter yang khusus dibuat untuk pengikut blog anda.&lt;/li&gt;&lt;li style="text-align: justify;"&gt;Yang diberi tanda bintang merah adalah bagian yang tidak boleh dikosongkan, namun sebaiknya semua bagian diisi dengan baik.&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt;Setelah formulir diisi dengan baik, tunggu beberapa saat (bisa satu minggu hingga satu bulan) email konfirmasi dari tim Kartu Twitter.&lt;/div&gt;&lt;br /&gt;&lt;h3&gt;Twitter Cards Pengguna Non Blog*Spot&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Ma'af sekali, Blogger Tune-Up tidak akan membahas bagaimana mengintegrasikan Twitter Cards untuk platform blog selain Blog*Spot. Bagi para pengguna CMS non Blog*Spot seperti Wordpress, Drupal dan lain sebagainya terutama yang berbasis PHP silahkan merujuk pada artikel Niall Kennedy berjudul "&lt;a href="https://github.com/niallkennedy/twitter-cards-php" rel="nofollow" target="_blank"&gt;Twitter Cards PHP&lt;/a&gt;" yang ditulis lengkap beserta source code-nya pada GitHub.&lt;/div&gt;&lt;br /&gt;&lt;h3&gt;Kesimpulan&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Dibawah ini adalah screenshoot blog yang sudah terintegrasi Twitter Card dan yang belum dipasang Twitter Card pada saat di-tweet.&lt;/div&gt;&lt;div class="separator"&gt;&lt;img class="frame" alt="Dengan Twitter Cards" src="http://2.bp.blogspot.com/-Dhi3DYLZ1gM/UHBJlUJqZZI/AAAAAAAAHMw/5mrS4xdKqYk/s800/with-twitter-cards.jpg" /&gt;&lt;/div&gt;&lt;div class="separator"&gt;&lt;img class="frame" alt="Tanpa Twitter Cards" src="http://3.bp.blogspot.com/-3GvkgQXkQe4/UHBJjnb6y0I/AAAAAAAAHMM/VOSlJ2sHa9o/s800/non-twitter-cards.jpg" /&gt;&lt;/div&gt;Selamat mencoba dan semoga berhasil. Happy Blogging :)</description><link>http://modification-blog.blogspot.com/2012/10/rich-snippets-blogger-metadata-twitter.html</link><author>noreply@blogger.com (Hendriono Dede)</author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-4p1jxDNixNI/UHBJjGoVndI/AAAAAAAAHMA/AOcodRibsyg/s72-c/Blogger-Twitter-Cards.jpg' height='72' width='72'/><thr:total>13</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-7350022283544621464.post-3402287010672281110</guid><pubDate>Fri, 10 Aug 2012 13:35:00 +0000</pubDate><atom:updated>2012-08-10T21:50:55.714+07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>(X)HTML</category><category domain='http://www.blogger.com/atom/ns#'>CSS</category><title>Memahami CSS Selector - Bagian 3</title><description>&lt;div style="text-align: justify;"&gt;Bismillah. Alhamdulillah. Dua artikel yang khusus membahas CSS Selector telah ditulis dengan harapan kita bersama bisa mempelajarinya dengan baik. Dan mudah-mudahan dapat memberikan gambaran serta memecahkan permasalahan-permasalahan yang berhubungan dengan CSS selama ini. Saya menulis artikel tentang CSS Selector bukan bermaksud menggurui sahabat blogger, tapi pada mulanya dimaksudkan sebagai catatan pribadi, untuk mengingatkan diri sendiri disaat lupa. Maklum saya juga bukanlah blogger profesional yang setiap hari selalu berkutat dengan kode-kode CSS. Semakin jarang bertemu dengan CSS semakin besar kemungkinan lupa.&lt;/div&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;div class="separator"&gt;&lt;img alt="CSS Selector" class="frame" src="http://2.bp.blogspot.com/-8fP08biHgyM/UBqLL3FiVqI/AAAAAAAAHGQ/LAvY5JzJ_eM/s800/css-selector.jpg" /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Artikel kali ini masih sambungan dari dua artikel sebelumnya yang membahas CSS Selector. CSS Selector yang akan dibahas kali ini cukup lumayan sulit dan rumit, bahkan beberapa kode masih jarang yang menggunakannya namun tidak ada salahnya tetap dibagikan sebagai bahan diskusi. Mari kita pelajari CSS Selector berikutnya, jika anda merasa pusing dan bingung berarti saya pun demikian adanya... (hehehehe...)&lt;/div&gt;&lt;div id="infozr"&gt;&lt;a class="icon unduh" href="https://www.box.com/s/600eef19e757936c7a8b" target="_blank" rel="nofollow"&gt;&lt;span&gt;Unduh CSS Selector Bagian 3&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Agar pemahaman tentang artikel CSS Selector kali ini menjadi lebih mudah, sebaiknya anda unduh terlebih dahulu contoh study case pada link unduhan diatas, kemudian baca artikel dengan memahami langsung dari contoh yang tersedia. Jangan lupa ekstrak file hasil unduhan dengan perangkat lunak archive extractor (misal; 7ZIP, WinZIP, atau WinRAR).&lt;/div&gt;&lt;br /&gt;&lt;h3&gt;(21) X::pseudoElement&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Kita dapat menggunakan Pseudo Element untuk memberikan style pada bagian-bagian dari suatu elemen, seperti misal; style untuk baris pertama pada sebuah paragrap atau huruf pertama dari sebuah paragrap. Pseudo Element tersusun dari dua titik-dua "::" (two colon).&lt;/div&gt;&lt;br /&gt;&lt;b&gt;Pseudo Elemen dengan Target Huruf Pertama Paragrap&lt;/b&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Dibawah ini contoh kode CSS yang digunakan untuk memberikan style pada huruf pertama pada sebuah paragrap:&lt;/div&gt;&lt;pre class="brush: css; wrap-lines: false;"&gt;p::first-letter {&lt;br /&gt; float: left;&lt;br /&gt; font-size: 2em;&lt;br /&gt; font-weight: bold;&lt;br /&gt; font-family: cursive;&lt;br /&gt; padding-right: 2px;&lt;br /&gt;}&lt;/pre&gt;&lt;div style="text-align: justify;"&gt;Pseudo Elemen pada kode CSS diatas memberikan style pada semua huruf pertama dari setiap paragrap yang terdapat pada halaman yang sedang dibuka. Cara ini biasanya digunakan pada style sebuah halaman koran (newspaper).&lt;/div&gt;&lt;br /&gt;&lt;b&gt;Pseudo Elemen dengan Target Baris Pertama Paragrap&lt;/b&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Dibawah ini contoh kode CSS yang digunakan untuk memberikan style pada baris pertama pada sebuah paragrap:&lt;/div&gt;&lt;pre class="brush: css; wrap-lines: false;"&gt;p::first-line {&lt;br /&gt; font-weight: bold;&lt;br /&gt; font-size: 1.2em;&lt;br /&gt;}&lt;/pre&gt;&lt;div style="text-align: justify;"&gt;Hampir sama dengan fungsi kode Pseudo Elemen CSS sebelumnya, hanya saja target style ditujukan pada semua baris pertama dari setiap paragrap halaman yang sedang dibuka. &lt;/div&gt;Mengutip dari &lt;a href="http://www.w3.org/TR/css3-selectors/" rel="nofollow" target="_blank"&gt;www.w3.org&lt;/a&gt; bahwa:&lt;br /&gt;&lt;div style="text-align: justify;"&gt;"&lt;i&gt;Untuk kesesuaian dengan style sheet yang ada, maka semua user agent harus bisa menerima notasi satu titik-dua (one-colon) sebelumnya untuk pseudo elemen yang dimasukan pada CSS level 1 dan level 2 (yaitu, :first-line, :first-letter, :before dan :after). Kompatibilitas ini tidak berlaku untuk pseudo element baru yang diperkenalkan pada spesifikasi ini.&lt;/i&gt;"&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Kenyataannya, user agent pada browser versi terbaru mampu membaca dengan baik notasi satu titik-dua pada pseudo element yang terdapat didalam kode CSS dan dengan otomatis mengubahnya menjadi notasi dua titik-dua (two-colon). Terserah anda, apakah akan menggunakan pseudo element dengan notasi two-colon atau one-colon.&lt;/div&gt;&lt;br /&gt;Selector ini bekerja pada browser: IE6+ - Firefox - Chrome - Safari - Opera&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;(22) X:nth-child(n)&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Pseudo Element ini digunakan untuk memberikan style pada anak (child) dari sebuah deret item. Pseudo Element ini sederhananya untuk menyeleksi suatu deret item yang tersedia didalam sebuah susunan daftar dengan penghitungan item dimulai dari atas.&lt;/div&gt;&lt;pre class="brush: css; wrap-lines: false;"&gt;li:nth-child(2) {&lt;br /&gt; color: red;&lt;br /&gt;}&lt;/pre&gt;&lt;div style="text-align: justify;"&gt;Perhatikan kode CSS diatas. Pseudo Element nth-child(2) digunakan untuk memberikan style pada setiap list item (li) yang berada pada susunan (baris) ke-dua dalam setiap kumpulan list item. Pseudo Element ini juga dapat digunakan untuk menyeleksi atau memberikan style list item dengan cara penentuan kelipatannya. Misal; nth-child(2n), maka item 2, 4, 6, 8, dan seterusnya yang merupakan kelipatan dua akan dipengaruhi oleh style pseudo element. nth-chlid mampu menyeleksi item hingga urutan ke-397 [li:nth-child(397)].&lt;/div&gt;&lt;br /&gt;Selector ini bekerja pada browser: IE9+ - Firefox 3.5+ - Chrome - Safari - Opera&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;(23) X:nth-last-child(n)&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Pseudo Element ini hampir sama dengan nth-chlid, hanya berbeda cara seleksinya saja. Jika nth-child melakukan seleksi dengan cara mengitung list item dari atas, sedangkan nth-last-child adalah kebalikannya, yaitu melakukan penghitungan list item dari item yang terakhir.&lt;/div&gt;&lt;pre class="brush: css; wrap-lines: false;"&gt;li:nth-last-child(2) {&lt;br /&gt; color: red;&lt;br /&gt;}&lt;/pre&gt;&lt;div style="text-align: justify;"&gt;Perhatikan kode CSS diatas. Pseudo Element nth-last-child(2) digunakan untuk memberikan style pada setiap list item (li) yang berada pada susunan (baris) ke-dua dari bawah (dari item terakhir) dalam setiap kumpulan list item. Misal; list item terdiri dari 8 baris, maka target pseudo elemen ini adalah list item pada baris ke-7 (jika dihitung dari atas) atau baris ke-2 (jika dihitung dari bawah).&lt;/div&gt;&lt;br /&gt;Selector ini bekerja pada browser: IE9+ - Firefox 3.5+ - Chrome - Safari - Opera&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;(24) X:nth-of-type(n)&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Pseudo Element ini hampir sama dengan :nth-child hanya saja terdapat perbedaan dalam menentukan targetnya. Jika :nth-child akan mencari target berupa child, jika :nth-of-type akan mencari target berupa type elemen.&lt;/div&gt;&lt;pre class="brush: css; wrap-lines: false;"&gt;ul:nth-of-type(2) {&lt;br /&gt; border: 1px solid black;&lt;br /&gt;}&lt;/pre&gt;&lt;div style="text-align: justify;"&gt;Perhatikan kode CSS diatas. Anggaplah kita memiliki 5 kumpulan unordered list (ul) yang setiap ul terdiri dari 5 list item (li). Kemudian kita ingin memberikan style berupa garis kotak hanya pada ul ke-dua, dan ul ke-dua ini tidak memiliki ID unik yang terkait antara elemen dengan CSS. Maka kita menggunakan pseudo elemen nth-of-type(2), dan hasilnya hanya ul urutan ke-dua dari ataslah yang akan diberi garis kotak hitam. &lt;/div&gt;&lt;br /&gt;Selector ini bekerja pada browser: IE9+ - Firefox 3.5+ - Chrome - Safari - Opera&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;(25) X:nth-last-of-type(n)&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Pseudo Element ini hampir sama dengan :nth-of-type hanya berbeda cara menentukan target type-nya saja. Jika nth-of-type menentukan target elemen dengan cara mengitungnya dari atas, sedangkan nth-last-of-type adalah kebalikannya, yaitu melakukan penghitungan target elemen dari elemen yang terakhir.&lt;/div&gt;&lt;pre class="brush: css; wrap-lines: false;"&gt;ul:nth-last-of-type(2) {&lt;br /&gt; border: 1px solid black;&lt;br /&gt;}&lt;/pre&gt;&lt;div style="text-align: justify;"&gt;Perhatikan kode CSS diatas. Anggaplah kita memiliki 5 kumpulan unordered list (ul) yang setiap ul terdiri dari 5 list item (li). Kemudian kita ingin memberikan style berupa garis kotak hanya pada ul ke-dua (dari bawah) atau ul ke-empat jika dihitung dari atas. Maka kita menggunakan pseudo elemen nth-last-of-type(2), dan hasilnya hanya ul urutan ke-dua (dari bawah) atau ke-empat (dari atas) yang akan diberi garis kotak hitam.&lt;/div&gt;&lt;br /&gt;Selector ini bekerja pada browser: IE9+ - Firefox 3.5+ - Chrome - Safari - Opera&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;(26) X:first-child&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Pseudo Element ini cukup banyak digunakan oleh para web desainer. Struktur pseudo class ini digunakan untuk menentukan style dengan target child (anak) pertama dari elemen utama (parent).&lt;/div&gt;&lt;pre class="brush: css; wrap-lines: false;"&gt;ul li:first-child {&lt;br /&gt; border-top: none;&lt;br /&gt;}&lt;/pre&gt;&lt;div style="text-align: justify;"&gt;Perhatikan kode CSS diatas. Anggaplah kita memiliki sekumpulan list item (li) dari sebuah unordered list (ul). Kemudian diberikan style garis pada bagian-atas (border-top) dari masing-masing list item. Namun kita ingin membuang garis-atas (border-top) hanya pada list item urutan ke-satu, maka gunakan :first-child untuk menyeleksinya, kemudian buang garis-atasnya (border-top: none;).&lt;/div&gt;&lt;br /&gt;Selector ini bekerja pada browser: IE7+ - Firefox - Chrome - Safari - Opera&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;(27) X:last-child&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Pseudo class ini hampir sama dengan :first-child namun berbeda target. Struktur pseudo class ini digunakan untuk menentukan style dengan target child (anak) terakhir dari elemen utama (parent).&lt;/div&gt;&lt;pre class="brush: css; wrap-lines: false;"&gt;li:last-child {&lt;br /&gt; border-bottom: none;&lt;br /&gt;}&lt;/pre&gt;&lt;div style="text-align: justify;"&gt;Perhatikan kode CSS diatas. Anggaplah kita memiliki sekumpulan list item (li) dari sebuah unordered list (ul). Kemudian diberikan style garis pada bagian-bawah (border-bottom) dari masing-masing list item. Namun kita ingin membuang garis-bawah (border-bottom) hanya pada list item urutan terakhir, maka gunakan :last-child untuk menyeleksinya, kemudian buang garis-bawahnya (border-bottom: none;).&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Hati-hati, IE8 mendukung pseudo element :first-child tetapi tidak mendukung pseudo element :last-child.&lt;/div&gt;&lt;br /&gt;Selector ini bekerja pada browser: IE9+ - Firefox - Chrome - Safari - Opera&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;(28) X:only-child&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Pseudo class :first-child dan :last-child sudah kita pelajari dan pahami, lalu untuk apa pseudo class :only-child?&lt;/div&gt;&lt;pre class="brush: css; wrap-lines: false;"&gt;div p:only-child {&lt;br /&gt; color: red;&lt;br /&gt;}&lt;/pre&gt;&lt;div style="text-align: justify;"&gt;Perhatikan kode CSS diatas. Mungkin diantara kita ada yang pernah menemukan masalah ini. Misal; kita ingin memberikan style HANYA pada paragraph pertama yang merupakan child (anak) dari SEBUAH div. Namun, paragrap lainnya dari div lain tidak ingin kita beri style. Jika menggunakan pseudo class :first-child maka setiap paragrap pertama dari setiap div akan diberi style. Sedangkan kita hanya mentargetkan paragrap pertama dari sebuah div. Ini berarti style hanya akan diberlakukan pada paragrap pertama yang merupakan child sebuah div (dari sebuah div hanya terdapat sebuah paragraph), sedangkah div lain yang memiliki paragrap lebih dari satu tidak akan diberi style. Kondisi seperti ini sangat sulit diselesaikan dengan menggunakan pseudo class lain, maka gunakanlah pseudo class :only-child untuk menyelesaikannya.&lt;/div&gt;&lt;br /&gt;Selector ini bekerja pada browser: IE9+ - Firefox - Chrome - Safari - Opera&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;(29) X:only-of-type&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Pseudo class ini hampir sama dengan :only-child dan :nth-of-type(n) hanya saja berbeda target. Mungkin bisa dikatakan sebagai perpaduan dari :only-child dan :nth-of-type(n).&lt;/div&gt;&lt;pre class="brush: css; wrap-lines: false;"&gt;li:only-of-type {&lt;br /&gt; font-weight: bold;&lt;br /&gt;}&lt;/pre&gt;&lt;div style="text-align: justify;"&gt;Perhatikan kode CSS diatas. Sebenarnya sama saja dengan :only-child hanya saja berbeda target. Jika :only-child menentukan target yang merupakan child dari sebuah elemen, sedangkan :only-of-type menentukan target berdasar type. Misal; Kita memiliki dua unordered list (ul), ul pertama hanya terdiri dari satu li (list item) sedangkan ul kedua terdiri dari lima li. Jika anda menggunakan li:only-of-type maka style hanya akan berpengaruh pada target li tunggal dari sebuah ul.&lt;/div&gt;&lt;br /&gt;Selector ini bekerja pada browser: IE9+ - Firefox 3.5+ - Chrome - Safari - Opera&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;(30) X:first-of-type&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Pseudo element ini mungkin boleh dikatakan sebagai perpaduan dari :first-child dengan :nth-of-type(n). Karena pseudo element ini memiliki target style untuk elemen pertama yang terdekat pada tipenya (jenisnya).&lt;/div&gt;Untuk memahami fungsi pseudo element :first-of-type maka perhatikan skenario HTML dibawah ini:&lt;br /&gt;&lt;pre class="brush: html; wrap-lines: false;"&gt;&amp;lt;div&amp;gt;&lt;br /&gt;    &amp;lt;p&amp;gt;Solusi Pseudo Element :first-of-type&amp;lt;/p&amp;gt;&lt;br /&gt;    &amp;lt;ul&amp;gt;&lt;br /&gt;        &amp;lt;li&amp;gt;List Item 1&amp;lt;/li&amp;gt;&lt;br /&gt;        &amp;lt;li&amp;gt;List Item 2&amp;lt;/li&amp;gt;&lt;br /&gt;    &amp;lt;/ul&amp;gt;&lt;br /&gt;&lt;br /&gt;    &amp;lt;ul&amp;gt;&lt;br /&gt;        &amp;lt;li&amp;gt;List Item 3&amp;lt;/li&amp;gt;&lt;br /&gt;        &amp;lt;li&amp;gt;List Item 4&amp;lt;/li&amp;gt;&lt;br /&gt;    &amp;lt;/ul&amp;gt;&lt;br /&gt;&amp;lt;/div&amp;gt;&lt;/pre&gt;&lt;div style="text-align: justify;"&gt;Kita memiliki 2 Unordered List (ul) yang setiap ul terdiri dari 2 list item (li). Dan kita ingin memberikan style pada "List Item 2", maka beberapa solusi pseudo element yang bisa kita gunakan adalah sebagai berikut:&lt;/div&gt;&lt;br /&gt;&lt;b&gt;Solusi 1&lt;/b&gt;&lt;br /&gt;&lt;pre class="brush: css; wrap-lines: false;"&gt;ul:first-of-type &amp;gt; li:nth-child(2) {&lt;br /&gt;    font-weight: bold;&lt;br /&gt;}&lt;/pre&gt;Keterangan:&lt;br /&gt;&lt;ul&gt;&lt;li style="text-align: justify;"&gt;ul:first-of-type digunakan untuk menyeleksi ul pertama sesuai dengan tipenya&lt;/li&gt;&lt;li style="text-align: justify;"&gt;Notasi &amp;gt; digunakan untuk memilih langsung turunan dari ul:first-of-type (lihat &lt;a href="http://modification-blog.blogspot.com/2012/08/memahami-css-selector-bagian-1.html"&gt;direct selector&lt;/a&gt;)&lt;/li&gt;&lt;li style="text-align: justify;"&gt;li:nth-child(2) digunakan untuk menyeleksi child li ke-dua dihitung dari atas&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Solusi 2&lt;/b&gt;&lt;br /&gt;&lt;pre class="brush: css; wrap-lines: false;"&gt;p + ul li:last-child {&lt;br /&gt;    font-weight: bold;&lt;br /&gt;}&lt;/pre&gt;Keterangan:&lt;br /&gt;&lt;ul&gt;&lt;li style="text-align: justify;"&gt;p + ul digunakan untuk menyeleksi ul yang posisinya tepat dibawah p (lihat &lt;a href="http://modification-blog.blogspot.com/2012/08/memahami-css-selector-bagian-1.html"&gt;adjacent selector&lt;/a&gt;)&lt;/li&gt;&lt;li style="text-align: justify;"&gt;li:last-child digunakan untuk menyeleksi li child terakhir&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Solusi 3&lt;/b&gt;&lt;br /&gt;&lt;pre class="brush: css; wrap-lines: false;"&gt;ul:first-of-type li:nth-last-child(1) {&lt;br /&gt;    font-weight: bold;   &lt;br /&gt;}&lt;/pre&gt;Keterangan:&lt;br /&gt;&lt;ul&gt;&lt;li style="text-align: justify;"&gt;ul:first-of-type digunakan untuk menyeleksi ul pertama sesuai dengan tipe-nya (jenisnya atau kelompoknya)&lt;/li&gt;&lt;li style="text-align: justify;"&gt;li:nth-last-child(1) digunakan untuk menyeleksi ul terakhir diurutan pertama yang dihitung dari bawah&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Selector ini bekerja pada browser: IE9+ - Firefox 3.5+ - Chrome - Safari - Opera&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Kesimpulan&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Jika terpaksa harus menggunakan dan memperhatikan browser versi lama seperti Internet Explorer Versi 6, maka kita harus berhati-hati dalam menggunakan selector versi baru. Namun jangan sampai hal ini justru menghalangi keinginan anda untuk belajar. Jangan sampai versi browser menurunkan semangat belajar dan membuat kita harus diam, karena hal ini sangat merugikan diri kita sendiri. Untuk memperkecil kesalahan penggunaan selector selalu rujuklah &lt;a href="http://www.quirksmode.org/css/contents.html" rel="nofollow" target="_blank"&gt;daftar kompatibilitas-browser&lt;/a&gt;. Atau, Anda dapat menggunakan &lt;a href="http://code.google.com/p/ie7-js/" rel="nofollow" target="_blank"&gt;script IE9.js buatan Dean Edward&lt;/a&gt; agar browser versi lama mampu mendukung selector baru. Dan atau, gunakan framework tertentu agar browser lama mampu me-render CSS Selector baru dengan baik, misal; Modernizr.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Ketika kita harus menuliskan kode berdampingan dengan framework populer, semisal jQuery, usahakan kita menuliskan kode selector CSS3 asli pada sekumpulan kode-kode custom perpustakaan. Hal ini akan membuat susunan kode-kode menjadi lebih cepat untuk diakses (dirender) oleh browser, jika memungkinkan. Usahakan menggunakan parsing asli browser daripada menggunakan parsing buatan sendiri, hal ini akan meningkatkan kinerja kode saat dirender. &lt;/div&gt;&lt;div style="text-align: justify;"&gt;Akhirnya, saya secara pribadi berharap, 3 artikel yang membahas tentang CSS Selector ini dapat membantu mempercepat pemahaman anda tentang fungsi dari masing-masing kode tersebut. Sehingga, suatu hari saya bisa bertanya tentang pengalaman anda dalam penggunaan CSS Selector. Jika anda menemukan kasus dari CSS Selector diatas, atau menemukan CSS selector lain dan ingin dibahas pada artikel Blogger Tune-Up, jangan sungkan untuk mengirimkan kritik, saran dan pengetahuan baru kepada penulis. Selamat mencoba, selamat belajar dan semoga berhasil. Happy Blogging :)&lt;/div&gt;&lt;br /&gt;&lt;b&gt;Pranala Luar:&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://net.tutsplus.com/" rel="nofollow" target="_blank"&gt;The 30 CSS Selectors you Must Memorize - NetTuts+&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.w3.org/TR/CSS2/selector.html" rel="nofollow" target="_blank"&gt;CSS Selector - W3&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.w3schools.com/cssref/css_selectors.asp" rel="nofollow" target="_blank"&gt;CSS Selector - W3Schools&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;</description><link>http://modification-blog.blogspot.com/2012/08/memahami-css-selector-bagian-3.html</link><author>noreply@blogger.com (Hendriono Dede)</author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-8fP08biHgyM/UBqLL3FiVqI/AAAAAAAAHGQ/LAvY5JzJ_eM/s72-c/css-selector.jpg' height='72' width='72'/><thr:total>9</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-7350022283544621464.post-8011920651704689756</guid><pubDate>Sat, 04 Aug 2012 17:08:00 +0000</pubDate><atom:updated>2012-08-05T00:08:09.810+07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>(X)HTML</category><category domain='http://www.blogger.com/atom/ns#'>CSS</category><title>Memahami CSS Selector - Bagian 2</title><description>&lt;div style="text-align: justify;"&gt;Bismillah. Alhamdulillah. Membahas tentang CSS terkadang sangatlah membingungkan. Karena jika diibaratkan, bahasa CSS adalah make-up untuk mempercantik penampilan suatu elemen. Sederhananya, CSS itu berpengaruh terhadap suatu elemen, namun tidak mampu membuat atau menciptakan elemen. CSS hanya akan tampak menarik jika bersatu dengan suatu elemen, namun tidak mampu berdiri sendiri. Pemahaman, pengetahuan dan pengalaman yang kurang dalam menggunakan CSS kadang berakibat cukup fatal dengan tidak tampilnya suatu elemen, bergesernya posisi elemen, tertutupnya elemen satu oleh elemen lainnya, posisi yang tidak rata dan seimbang dan lain sebagainya, dan kita sering kesulitan untuk mencari solusinya ketika ratusan bahkan ribuan baris CSS telah dituliskan.&lt;/div&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;div class="separator"&gt;&lt;img alt="CSS Selector" class="frame" src="http://2.bp.blogspot.com/-8fP08biHgyM/UBqLL3FiVqI/AAAAAAAAHGQ/LAvY5JzJ_eM/s800/css-selector.jpg" /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Pada artikel sebelumnya telah dibahas tentang CSS Selector Bagian 1, mudahan-mudahan artikel tersebut telah dipahami dengan baik dan sudah dilakukan trial and error untuk menemukan letak perbedaan dan kehebatan masing-masing fungsinya. Jika belum memahaminya dengan baik, ada baiknya terus dilakukan percobaan dan penelaahan sampai kita benar-benar memahaminya. Pemahaman yang baik akan melahirkan keyakinan yang kuat, dan ini tentunya modal dasar seorang web desainer. Yakin anda sudah paham dengan CSS Selector bagian 1? Jika merasa yakin, mari kita lanjutkan ke pembahasan CSS Selector bagian 2...&lt;/div&gt;&lt;div id="infozr"&gt;&lt;a class="icon unduh" href="https://www.box.com/s/ce29237daec9e0fa5e80" target="_blank" rel="nofollow"&gt;&lt;span&gt;Unduh CSS Selector Bagian 2&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;h3&gt;(11) X[href="foo"]&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Selector ini lebih cocok jika disebut sebagai url filter selector. Karena sisipan yang dimasukan didalam tanda kutip merupakan target yang akan mengarah hanya kepada link yang memiliki url sama.&lt;/div&gt;&lt;pre class="brush: css; wrap-lines: false;"&gt;a[href="http://modification-blog.blogspot.com"] {&lt;br /&gt; color: red;&lt;br /&gt;}&lt;/pre&gt;&lt;div style="text-align: justify;"&gt;Perhatikan contoh CSS diatas. Selector diatas hanya akan berpengaruh pada target tag anchor yang memiliki url http://modification-blog.blogspot.com, sedangkan tag anchor lainnya (yang tidak memiliki url sama) tidak akan dipengaruhi sama sekali.&lt;/div&gt;&lt;br /&gt;Selector ini bekerja pada browser: IE7+ - Firefox - Chrome - Safari - Opera&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;(12) X[href*="modif"]&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Selector ini hampir mirip dengan selector X[href="foo"], namun selector X[href*="modif"] memiliki target yang lebih luas dan tidak terlalu spesifik.&lt;/div&gt;&lt;pre class="brush: css; wrap-lines: false;"&gt;a[href*="modif"] {&lt;br /&gt; color: red;&lt;br /&gt;}&lt;/pre&gt;&lt;div style="text-align: justify;"&gt;Perhatikan contoh CSS diatas. Selector ini digunakan untuk memberikan style pada tag anchor yang url-nya mengandung kata "modif", misal; blog.modif.com, modif.blog.com, modifblog.com dan atau modification-blog.blogspot.com. Sedangkan tag anchor yang url-nya tidak mengandung kata "modif" tidak akan dipengaruhi sama sekali. Penggunaan simbol bintang didalamnyalah yang membuat selector bersifat lebih luas. Tanpa simbol bintang maka target sangat sempit, bahkan kata "modif" tidak akang mengenai tag anchor apapun.&lt;/div&gt;&lt;br /&gt;Selector ini bekerja pada browser: IE7+ - Firefox - Chrome - Safari - Opera&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;(13) X[href^="http"]&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Selector ini digunakan untuk memberikan style dengan menggunakan regular expression untuk menentukan kata kunci awal.&lt;/div&gt;&lt;pre class="brush: css; wrap-lines: false;"&gt;a[href^="http"] {&lt;br /&gt; background: url(external/icon.png) no-repeat;&lt;br /&gt; padding-left: 10px;&lt;br /&gt;}&lt;/pre&gt;&lt;div style="text-align: justify;"&gt;Perhatikan contoh CSS diatas. Ini biasanya digunakan untuk menambahkan icon kecil pada tag anchor yang menandakan bahwa url tersebut mengarah keluar (eksternal) dari halaman yang sedang dibuka. Disini kode CSS menggunakan bantuan simbol carat (^) yang biasanya digunakan sebagai regular expression untuk menentukan string awal. String awal yang akan dideteksi dari kode contoh diatas adalah href yang url-nya diawali dengan "http" karena biasanya url halaman internal dari suatu situs tidak disertai "http" sedangkan untuk halaman eksternal harus lengkap dengan penambahan "http" diawal url-nya. &lt;/div&gt;&lt;br /&gt;Selector ini bekerja pada browser: IE7+ - Firefox - Chrome - Safari - Opera&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;(14) X[href$=".jpg"]&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Selector ini hampir mirip dengan selector X[href^="http"], perbedaannya hanya pada regular expression untuk menentukan string. &lt;/div&gt;&lt;pre class="brush: css; wrap-lines: false;"&gt;a[href$=".jpg"] {&lt;br /&gt; color: red;&lt;br /&gt;}&lt;/pre&gt;&lt;div style="text-align: justify;"&gt;Perhatikan contoh CSS diatas. Kode CSS menggunakan simbol dollar ($), yang merupakan regular expression untuk menentukan string akhir. Maka kode CSS pada contoh diatas hanya akan mempengaruhi tag anchor href yang url-nya mengandung string .jpg pada akhir url-nya. Sedangkan url yang akhiran stringnya bukan .jpg maka tidak akan dipengaruhi sama sekali. &lt;/div&gt;&lt;br /&gt;Selector ini bekerja pada browser: IE7+ - Firefox - Chrome - Safari - Opera&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;(15) X[data-*="foo"]&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Selector ini merupakan cara lain untuk menentukan type suatu file yang akan dipengaruhi oleh CSS.&lt;/div&gt;&lt;pre class="brush: css; wrap-lines: false;"&gt;a[data-filetype="image"] {&lt;br /&gt; color: red;&lt;br /&gt;}&lt;/pre&gt;&lt;div style="text-align: justify;"&gt;Selector pada nomor 14 biasanya digunakan untuk membuat style berdasarkan type file, misal; untuk memberikan style pada file-file dengan type png, jpg, jpeg, gif maka kita menggunakan multiple selector pada kode CSS seperti dibawah ini:&lt;/div&gt;&lt;pre class="brush: css; wrap-lines: false;"&gt;a[href$=".jpg"],&lt;br /&gt;a[href$=".jpeg"],&lt;br /&gt;a[href$=".png"],&lt;br /&gt;a[href$=".gif"] {&lt;br /&gt; color: red;&lt;br /&gt;}&lt;/pre&gt;&lt;div style="text-align: justify;"&gt;Jika menggunakan multiple selector seperti diatas ini tentunya berpengaruh pada setiap tag anchor dengan string akhir sama, lalu bagaimana jika ada diantaranya tag anchor yang tidak ingin dipengaruhi CSS? Solusinya dengan menggunakan custom attribute. Kita dapat menambahkan sendiri atribut data-filetype pada masing-masing tag anchor yang mengandung link sebuah gambar, seperti dibawah ini:&lt;/div&gt;&lt;pre class="brush: html; wrap-lines: false;"&gt;&amp;lt;a href="path/image.jpg" data-filetype="image"&amp;gt;Image Link&amp;lt;/a&amp;gt;&lt;br /&gt;&amp;lt;a href="path/image.png" data-filetype="image"&amp;gt;Image Link&amp;lt;/a&amp;gt;&lt;/pre&gt;&lt;div style="text-align: justify;"&gt;Setelah pengaitnya (custom attribute) diletakan pada tag anchor, kita dapat dengan mudah menuliskan atribut tersebut pada CSS agar target menjadi spesifik yang mengarah pada tag anchor tertentu, seperti dibawah ini:&lt;/div&gt;&lt;pre class="brush: css; wrap-lines: false;"&gt;a[data-filetype="image"] {&lt;br /&gt; color: red;&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Selector ini bekerja pada browser: IE7+ - Firefox - Chrome - Safari - Opera&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;(16) X[foo~="bar"]&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Selector ini menggunakan penambahan simbol tilda (~) yang digunakan untuk mentargetkan style pada atribut elemen yang memiliki spasi (space) value (nilai). &lt;/div&gt;&lt;pre class="brush: css; wrap-lines: false;"&gt;a[data-info~="external"] {&lt;br /&gt; color: red;&lt;br /&gt;}&lt;br /&gt;a[data-info~="image"] {&lt;br /&gt; border: 1px solid black;&lt;br /&gt;}&lt;/pre&gt;&lt;div style="text-align: justify;"&gt;Perhatikan contoh CSS diatas. Kita telah mendeklarasikan 2 selector dengan nilai berbeda, yaitu external dan image. Misal elemen yang dipengaruhi CSS tersebut seperti dibawah ini:&lt;/div&gt;&lt;pre class="brush: html; wrap-lines: false;"&gt;&amp;lt;a href="path/to/image.jpg" data-info="external image"&amp;gt;Gambar Eksternal&amp;lt;/a&amp;gt;&lt;/pre&gt;&lt;div style="text-align: justify;"&gt;Pada contoh elemen diatas, kita telah membuat atribut data-info dengan 2 nilai, yaitu external dan image. Dua nilai atribut ini memberikan keleluasaan bagi kita untuk menentukan style yang tepat dan lebih fleksibel dari pada hanya dengan satu nilai. Dua nilai pada atribut ini hanya dipisahkan dengan spasi kosong seperti halnya penggunaan selector class.&lt;/div&gt;&lt;br /&gt;Selector ini bekerja pada browser: IE7+ - Firefox - Chrome - Safari - Opera&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;(17) X:checked&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Pseudo class ini digunakan untuk memberikan style input yang terpilih (checked) seperti tombol radio atau checkbox.&lt;/div&gt;&lt;pre class="brush: css; wrap-lines: false;"&gt;input[type=radio]:checked {&lt;br /&gt; border: 1px solid black;&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;Selector ini bekerja pada browser: IE9+ - Firefox - Chrome - Safari - Opera&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;(18) X:hover&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Selector ini mungkin sangat familiar bagi anda, karena memang selector yang sering digunakan, namun pada mulanya hanya digunakan pada tag anchor saja. Sekarang :hover bisa digunakan pada berbagai elemen. Istilah resmi untuk selector ini adalah user action pseudo class.&lt;/div&gt;&lt;pre class="brush: css; wrap-lines: false;"&gt;div:hover {&lt;br /&gt; background: #e3e3e3;&lt;br /&gt;}&lt;/pre&gt;&lt;div style="text-align: justify;"&gt;Perhatikan kode CSS diatas. Selector :hover tidak digunakan pada tag anchor tetapi digunakan pada sebuah elemen div. Hati-hati menggunakan selector :hover karena Internet Explorer versi lama tidak akan memberikan perubahan apapun dalam penggunaan :hover pseudo class ini dan hanya berlaku pada tag anchor saja. Contoh dibawah ini adalah :hover pseudo class pada tag anchor yang akan memberikan style garis bawah dengan warna hijau (green) pada saat pointer mouse berada diatas tag anchor.&lt;/div&gt;&lt;pre class="brush: css; wrap-lines: false;"&gt;a:hover {&lt;br /&gt; border-bottom: 1px solid green;&lt;br /&gt;}&lt;/pre&gt;&lt;div style="text-align: justify;"&gt;Para web desainer menyarankan penggunaan border-bottom: 1px solid #000; untuk garis bawah sebuah tag anchor dari pada menggunakan text-decoration: underline;&lt;/div&gt;&lt;br /&gt;Selector ini bekerja pada browser: IE6+ (tapi hanya pada elemen tag anchor) - Firefox - Chrome - Safari - Opera&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;(19) X:after&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Selector :before dan :after pseudo class sangat berguna sekali dan sering digunakan. Setiap hari, banyak para web desainer kreatif melakukan percobaan untuk menemukan cara baru yang lebih efektif. Salah satu teknik :after pseudo class yang sangat terkenal adalah clear-fix hack seperti kode dibawah ini:&lt;/div&gt;&lt;pre class="brush: css; wrap-lines: false;"&gt;.clearfix:after {&lt;br /&gt; content: "";&lt;br /&gt; display: block;&lt;br /&gt; clear: both;&lt;br /&gt; visibility: hidden;&lt;br /&gt; font-size: 0;&lt;br /&gt; height: 0;&lt;br /&gt;}&lt;br /&gt;.clearfix {&lt;br /&gt; *display: inline-block;&lt;br /&gt; _height: 1%;&lt;br /&gt;}&lt;/pre&gt;&lt;div style="text-align: justify;"&gt;Penggunaan hack :after pseudo class ini untuk menyisipkan sebuah spasi (ruang kosong) setelah elemen sebelumnya.&lt;/div&gt;&lt;br /&gt;Selector ini bekerja pada browser: IE8+ - Firefox - Chrome - Safari - Opera&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;(20) X:not(selector)&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Selector ini disebut negation pseudo class yang digunakan sebagai pengingkaran (negation) terhadap suatu kondisi. &lt;/div&gt;&lt;pre class="brush: css; wrap-lines: false;"&gt;div:not(#container) {&lt;br /&gt; color: blue;&lt;br /&gt;}&lt;/pre&gt;&lt;div style="text-align: justify;"&gt;Perhatikan kode CSS diatas. Jika kita baca maka kurang lebih berbunyi; jika elemen div bukan (atau tidak memiliki) id container maka huruf akan diberi warna biru (blue).&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Atau kita ingin memilih setiap elemen namun bukan paragraph dengan huruf diberi warna hijau (green) maka kode CSS ditulis seperti dibawah ini:  &lt;/div&gt;&lt;pre class="brush: css; wrap-lines: false;"&gt;*:not(p) {&lt;br /&gt; color: green;&lt;br /&gt;}&lt;/pre&gt;&lt;div style="text-align: justify;"&gt;Jika dibaca kurang lebih berbunyi; semua elemen (*) huruf akan diberi warna hijau (green) kecuali huruf yang berada didalam paragrap (tag p).&lt;/div&gt;&lt;br /&gt;Selector ini bekerja pada browser: IE9+ - Firefox - Chrome - Safari - Opera&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Kesimpulan&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Bertambah 10 selector dalam memori kita dan selector-nya pun semakin lumayan rumit untuk dipahami dan dihapal. Namun jika kita terus melakukan trial and error, perlahan tapi pasti selector diatas akan mampu diingat dan dipahami dengan baik. Penggunaan kode-kode CSS terutama selector tidak hanya cukup untuk dibaca, kita harus benar-benar mencobanya sendiri agar paham perubahan demi perubahan yang terjadi pada elemen-elemen HTML yang kita tulis. Lakukan eksplorasi lebih jauh dengan mengikuti imajinasi kita agar muncul permasalahan-permasalahan yang harus dipecahkan, semakin sering menemukan masalah semakin paham fungsi dari masing-masing selector diatas. Lakukan pula pengkombinasian selector hingga terjadi bentrok disana-sini, maka ketika kita mampu melakukan perbaikan bentrok, semakin baik pula pemahaman kita.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Ingat! Mengerti belum tentu memahami, karena mengerti saja belum cukup untuk menyelesaikan permasalahan-permasalahan yang timbul. Tulis dan terus tulis kode demi kode hingga kita benar-benar memahaminya.&lt;/div&gt;&lt;pre class="brush: css; wrap-lines: false;"&gt;know:not(#understand){&lt;br /&gt; error: rewrite;&lt;br /&gt; often: successful;&lt;br /&gt;}&lt;/pre&gt;&lt;div style="text-align: justify;"&gt;Sampai ketemu dipembahasan berikutnya. Selamat belajar dan selamat mencoba. Happy Blogging :)&lt;/div&gt;&lt;br /&gt;Pranala Luar:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://net.tutsplus.com/" rel="nofollow" target="_blank"&gt;The 30 CSS Selectors you Must Memorize - NetTuts+&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.w3.org/TR/CSS2/selector.html" rel="nofollow" target="_blank"&gt;CSS Selector - W3&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.w3schools.com/cssref/css_selectors.asp" rel="nofollow" target="_blank"&gt;CSS Selector - W3Schools&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;</description><link>http://modification-blog.blogspot.com/2012/08/memahami-css-selector-bagian-2.html</link><author>noreply@blogger.com (Hendriono Dede)</author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-8fP08biHgyM/UBqLL3FiVqI/AAAAAAAAHGQ/LAvY5JzJ_eM/s72-c/css-selector.jpg' height='72' width='72'/><thr:total>5</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-7350022283544621464.post-3376897879441825884</guid><pubDate>Thu, 02 Aug 2012 14:16:00 +0000</pubDate><atom:updated>2012-08-03T20:50:24.414+07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>(X)HTML</category><category domain='http://www.blogger.com/atom/ns#'>CSS</category><title>Memahami CSS Selector - Bagian 1</title><description>&lt;div style="text-align: justify;"&gt;Bismillah. Alhamdulillah. Perkembangan bahasa markup Cascading Style Sheet (CSS) cukuplah pesat dan ini membuat tampilan situs menjadi semakin dinamis. Pada awal perkembangannya, bahasa CSS masih termasuk kaku, namun kini para web desainer mampu menciptakan efek-efek yang mengesankan hanya dengan CSS. Ini tentunya seiring dengan ide-ide yang terus berkembang, kebutuhan akan situs yang sederhana namun tetap menarik dan banyak lagi faktor lain yang membuat bahasa markup CSS semakin hebat. Para developer browser pun dipaksa untuk mengikuti perkembangan bahasa markup ini, atau bahkan para developer browser-lah yang memancing perkembangan bahasa markup yang satu ini. Ini tentunya berimbas pada pertambahan kosakata yang digunakan pada bahasa markup CSS, dan bagi para pecinta desain layout situs tentunya juga harus menyediakan memori ekstra untuk menghafal lebih banyak kosakata.&lt;/div&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;div class="separator"&gt;&lt;img class="frame" src="http://2.bp.blogspot.com/-8fP08biHgyM/UBqLL3FiVqI/AAAAAAAAHGQ/LAvY5JzJ_eM/s800/css-selector.jpg" alt="CSS Selector"/&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Salah satu dari sekian banyak pertambahan kosakata bahasa markup CSS adalah fungsi selector (pemilih). Mungkin dulu kita hanya mengenal selektor id, class dan descendant (turunan), namun hari ini, ketika CSS memasuki versi 3 (atau sering dikenal CSS3) semakin bertambah pula fungsi-fungsi selektor yang digunakan dalam mendesain situs. Dalam penggunaannya pun, para desainer web dituntut berhati-hati karena penggunaan versi terbaru bahasa markup harus pula diikuti dengan penggunaan browser versi baru, hal ini karena penggunaan fungsi baru bisa saja tidak mampu bekerja baik pada browser lama terutama browser IE :( Sebuah konsekwensi dari perkembangan dan perubahan...&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Dibawah ini akan dibahas selektor yang paling banyak digunakan dan harus diingat dengan baik oleh para desainer web. Untuk memahami dengan baik fungsi dari masing-masing selector, lebih baik anda unduh terlebih dahulu contoh penggunaannya pada link dibawah ini, ekstrak dengan perangkat lunak ekstraktor (misal; 7ZIP, WinZIP atau WinRAR) kemudian buka masing-masing contoh pada browser.&lt;/div&gt;&lt;div id="infozr"&gt;&lt;a class="icon unduh" href="https://www.box.com/s/9de7b93ef459a23f8773" target="_blank" rel="nofollow"&gt;&lt;span&gt;Unduh CSS Selector Bagian 1&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;h3&gt;(1) *&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Sebelum membahas jenis selector lainnya maka selector yang satu ini harus dipahami dengan baik terutama bagi anda yang baru memulai belajar tentang bahasa CSS. Selector dengan simbol bintang (atau sering disebut asterik) akan mengarahkan target pada semua elemen tunggal didalam halaman. &lt;/div&gt;&lt;pre class="brush: css; wrap-lines: false;"&gt;* {&lt;br /&gt; margin: 0;&lt;br /&gt; padding: 0;&lt;br /&gt;}&lt;/pre&gt;&lt;div style="text-align: justify;"&gt;Para web desainer biasanya menggunakan selector ini untuk me-reset atau mengkosongkan margin dan padding. Selector ini sangat bermanfaat untuk menyamakan posisi margin dan padding pada berbagai penampilan browser. Namun hati-hati dalam penggunaannya, karena terlalu sering menggunakan selector ini akan menambah beban load halaman pada browser.&lt;/div&gt;Selector * juga bisa digunakan pada child (anak) dari selector lain, misal:&lt;br /&gt;&lt;pre class="brush: css; wrap-lines: false;"&gt;#container * {&lt;br /&gt; border: 1px solid black;&lt;br /&gt;}&lt;/pre&gt;&lt;div style="text-align: justify;"&gt;Maka selector ini akan mengarah pada target elemen tunggal dari semua child div #container. Namun ingat juga, jangan terlalu sering menggunakannya.&lt;/div&gt;&lt;br /&gt;Selector ini bekerja pada browser: IE6+ - Firefox - Chrome - Safari - Opera&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;(2) #X&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Simbol # (id) sering disebut hash. Selector dengan prefix hash digunakan untuk pentargetan sesuai dengan ID pada halaman. Dalam penggunaannya sangatlah sederhana, karena kita hanya perlu menentukan target sesuai dengan ID yang digunakan pada halaman.&lt;/div&gt;&lt;pre class="brush: css; wrap-lines: false;"&gt;#container {&lt;br /&gt; width: 960px;&lt;br /&gt; margin: auto;&lt;br /&gt; border: 1px solid #212121;&lt;br /&gt; background-color: #CCCCCC;&lt;br /&gt;}&lt;/pre&gt;&lt;div style="text-align: justify;"&gt;Selector # bersifat tetap atau kaku karena hanya boleh digunakan pada satu target ID dan tidak boleh digunakan lagi.&lt;/div&gt;&lt;br /&gt;Selector ini bekerja pada browser: IE6+ - Firefox - Chrome - Safari - Opera&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;(3) .X&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Simbol . sering disebut class. Dalam penggunaannya hampir sama dengan selector id, namun selector class diperbolehkan untuk digunakan secara berulang pada berbagai elemen halaman dan dapat digunakan secara bersamaan (multiple) dengan selector class lainnya.&lt;/div&gt;&lt;pre class="brush: css; wrap-lines: false;"&gt;.error {&lt;br /&gt; color: red;&lt;br /&gt;}&lt;br /&gt;.warning {&lt;br /&gt; border: 1px solid #212121;&lt;br /&gt;}&lt;/pre&gt;&lt;div style="text-align: justify;"&gt;Dalam penerapannya, kita bisa menggabungkannya dengan selector id untuk pentargetan yang lebih spesifik, bahkan bisa saja memiliki class yang sama namun digunakan dalam style yang lebih spesifik.&lt;/div&gt;Contoh penggambungan selector id dengan selector class:&lt;br /&gt;&lt;pre class="brush: css; wrap-lines: false;"&gt;#container .error {&lt;br /&gt; color: red;&lt;br /&gt;}&lt;br /&gt;#container .warning {&lt;br /&gt; border: 1px solid #212121;&lt;br /&gt;}&lt;/pre&gt;&lt;div style="text-align: justify;"&gt;Penggabungan dua selector diatas hanya akan memberikan style pada target elemen yang lebih spesifik.&lt;/div&gt;&lt;br /&gt;Selector ini bekerja pada browser: IE6+ - Firefox - Chrome - Safari - Opera&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;(4) X Y&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Selector ini sering disebut selector descendant (turunan). Selector ini digunakan untuk menentukan style target yang lebih spesifik.&lt;/div&gt;&lt;pre class="brush: css; wrap-lines: false;"&gt;li a {&lt;br /&gt; text-decoration: none;&lt;br /&gt;}&lt;/pre&gt;&lt;div style="text-align: justify;"&gt;Perhatikan CSS diatas. Selector diatas digunakan untuk memberikan style pada semua tag anchor yang berada didalam unordered list (daftar urutan yang biasanya menggunakan tag li). Sedangkan tag anchor yang berada diluar unordered list tidak akan dipengaruhi sama sekali.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Bagaimana jika kita menuliskannya X Y Z A B.error? maka penulisan seperti ini adalah salah. Hindari penggunaan metode seperti ini, kita akan lebih baik dengan menentukan selector descendant atau turunan yang paling dekat.&lt;/div&gt;&lt;br /&gt;Selector ini bekerja pada browser: IE6+ - Firefox - Chrome - Safari - Opera&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;(5) X&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Selector tunggal umum yang digunakan untuk memberikan style pada target elemen dengan type tertentu tanpa penggunaan id atau class. &lt;/div&gt;&lt;pre class="brush: css; wrap-lines: false;"&gt;a {&lt;br /&gt; color: red;&lt;br /&gt;}&lt;br /&gt;ul {&lt;br /&gt; margin-left: 0;&lt;br /&gt;}&lt;/pre&gt;&lt;div style="text-align: justify;"&gt;Contoh CSS diatas akan memberikan target style pada semua tag anchor dan unordered list. Namun, jika ada style lain yang ditulis lebih spesifik maka kesamaan property yang ada pada style diatas akan dinonaktifkan.&lt;/div&gt;&lt;pre class="brush: css; wrap-lines: false;"&gt;a {&lt;br /&gt; color: red;&lt;br /&gt;}&lt;br /&gt;li a {&lt;br /&gt; color: blue;&lt;br /&gt;}&lt;/pre&gt;&lt;div style="text-align: justify;"&gt;Style CSS diatas akan menghasilkan warna tag anchor blue untuk tag anchor yang berada didalam unordered list, dan akan menghasilkan warna tag anchor red pada semua tag anchor yang berada diluar unordered list.&lt;/div&gt;&lt;br /&gt;Selector ini bekerja pada browser: IE6+ - Firefox - Chrome - Safari - Opera&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;(6) X:visited dan X:link&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Selector ini sudah termasuk ke dalam pseudo-class, yang merupakan salah satu perkembangan bahasa CSS. Sehingga pada browser lawas, penggunaan pseudo-class tidak akan berpengaruh apa-apa terutama pada browser lawas IE6+ :(.&lt;/div&gt;&lt;pre class="brush: css; wrap-lines: false;"&gt;a:link {&lt;br /&gt; color: red;&lt;br /&gt;}  &lt;br /&gt;a:visited {&lt;br /&gt; color: blue;&lt;br /&gt;}&lt;/pre&gt;&lt;div style="text-align: justify;"&gt;Pengguaan selector pseudo-class :link akan memberikan style pada semua tag anchor yang bisa diklik (memiliki target URL). Sedangkan penggunaan selector pseudo-class :visited hanya akan memberikan style pada tag anchor yang pernah di klik dan atau pernah dikunjungi (visited).&lt;/div&gt;&lt;br /&gt;Selector ini bekerja pada browser: IE7+ - Firefox - Chrome - Safari - Opera&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;(7) X + Y&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Selector ini biasa disebut adjacent selector, yang digunakan untuk memberikan style pada elemen yang terdekat atau berdekatan.&lt;/div&gt;&lt;pre class="brush: css; wrap-lines: false;"&gt;ul + p {&lt;br /&gt; color: red;&lt;br /&gt;}&lt;/pre&gt;&lt;div style="text-align: justify;"&gt;Pada contoh CSS diatas, style hanya akan diterapkan hanya pada paragrap pertama yang ditempatkan setelah ul namun p bukanlah child dari ul. Sedangkan paragrap kedua dan seterus tidak akan terpengaruhi style ini.&lt;/div&gt;&lt;br /&gt;Selector ini bekerja pada browser: IE7+ - Firefox - Chrome - Safari - Opera&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;(8) X &amp;gt; Y&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Selector ini biasa disebut direct selector, yang digunakan untuk memberikan style pada elemen yang ditargetkan langsung.&lt;/div&gt;&lt;pre class="brush: css; wrap-lines: false;"&gt;#container &amp;gt; ul {&lt;br /&gt; border: 1px solid black;&lt;br /&gt;}&lt;/pre&gt;&lt;div style="text-align: justify;"&gt;Pada contoh CSS diatas, style hanya akan diterapkan pada ul yang merupakan child langsung (atau child pertama) yang ditempatkan setelah div #container. Sedangkan ul lain (child kedua, ketiga dan seterusnya) tidak akan dipengaruhi walaupun masih berada didalam div #container. Selector X &amp;gt; Y hampir mirip dengan selector X Y, perbedaan hanya pada target. Jika selector X Y akan berpengaruh pada semua target elemen yang ada didalamnya, sedangkan selector X &amp;gt; Y hanya berpengaruh pada child pertama saja.&lt;/div&gt;&lt;br /&gt;Selector ini bekerja pada browser: IE7+ - Firefox - Chrome - Safari - Opera&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;(9) X ~ Y&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Selector ini sering disebut sibling combinator yang hampir mirip dengan selector X + Y. Perbedaannya ada pada target, jika X + Y hanya memiliki target pada elemen pertama yang ditempatkan setelahnya, sedangkan X ~ Y akan berpengaruh pada semua target elemen yang ditempatkan setelahnya.&lt;/div&gt;&lt;pre class="brush: css; wrap-lines: false;"&gt;ul ~ p {&lt;br /&gt; color: red;&lt;br /&gt;}&lt;/pre&gt;&lt;div style="text-align: justify;"&gt;Pada contoh CSS diatas, style akan diterapkan pada semua paragrap yang ditempatkan setelah elemen ul, namun p bukanlah child dari ul. p berada tepat dibawah elemen ul. &lt;/div&gt;&lt;br /&gt;Selector ini bekerja pada browser: IE7+ - Firefox - Chrome - Safari - Opera&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;(10) X[title]&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Selector ini disebut attributes selector yang digunakan untuk memberikan style pada elemen yang memiliki attribut title saja. &lt;/div&gt;&lt;pre class="brush: css; wrap-lines: false;"&gt;a[title] {&lt;br /&gt; color: green;&lt;br /&gt;}&lt;/pre&gt;&lt;div style="text-align: justify;"&gt;Pada contoh CSS diatas, style hanya akan mempengaruhi tag achor yang memiliki atribut title saja, sedangkan tag anchor yang tidak memiliki atribut title tidak akan dipengaruhi.&lt;/div&gt;&lt;br /&gt;Selector ini bekerja pada browser: IE7+ - Firefox - Chrome - Safari - Opera&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Kesimpulan&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Selector yang dibahas diatas adalah selector dasar yang harus diingat dengan baik, karena kita akan sering bertemu dengan selector ini. Disini diperlukan kemampuan eksplorasi dan imajinasi untuk bisa mengkombinasikan dan menggunakan berbagai selector yang sudah dibahas diatas. Sangat membingungkan jika kita baru saja berkenalan dengan selector ini, namun jangan lelah untuk melalukan trial and error agar kita dapat menemukan fungsi spesifik dari masing-masing selector. Semua kembali pada kemampuan kita untuk bisa membedakan fungsi dari masing-masing selector. Janganlah lelah untuk mencoba...&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Sampai ketemu dipembahasan berikutnya. Selamat belajar dan selamat mencoba. Happy Blogging :)&lt;/div&gt;&lt;br /&gt;Pranala Luar:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://net.tutsplus.com/" rel="nofollow" target="_blank"&gt;The 30 CSS Selectors you Must Memorize - NetTuts+&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.w3.org/TR/CSS2/selector.html" rel="nofollow" target="_blank"&gt;CSS Selector - W3&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.w3schools.com/cssref/css_selectors.asp" rel="nofollow" target="_blank"&gt;CSS Selector - W3Schools&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;</description><link>http://modification-blog.blogspot.com/2012/08/memahami-css-selector-bagian-1.html</link><author>noreply@blogger.com (Hendriono Dede)</author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-8fP08biHgyM/UBqLL3FiVqI/AAAAAAAAHGQ/LAvY5JzJ_eM/s72-c/css-selector.jpg' height='72' width='72'/><thr:total>9</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-7350022283544621464.post-9112948498196384717</guid><pubDate>Thu, 26 Jul 2012 11:27:00 +0000</pubDate><atom:updated>2012-07-26T18:40:07.519+07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>(X)HTML</category><category domain='http://www.blogger.com/atom/ns#'>Semantic</category><title>Rich Snippets - Blogger Authorship</title><description>&lt;div style="text-align: justify;"&gt;Bismillah. Alhamdulillah. Walau menggunakan Netbook tapi Blogger Tune-Up masih bisa menulis artikel-artikel tentang blog walau bersifat sederhana, setelah beberapa minggu yang lalu, Laptop kesayangan penulis mengalami kerusakan total dan tak bisa lagi diperbaiki (100% mati). Bahkan beberapa proyek yang masih dalam tahap pengembangan, ikut menghilang. Namun bukan berarti ngeblog berhenti total, karena berbagai cara dilakukan agar kegiatan ngeblog tetap aktif dengan konsekwensi frekuensi penerbitan artikel menjadi sangat lambat dan beberapa percobaan yang bersifat online juga menjadi tersendat. &lt;/div&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;div class="separator"&gt;&lt;img alt="Rich Snippets Blogger Authorship" class="frame" src="http://1.bp.blogspot.com/-cAIdXaj_7SI/UBEmq2Ci7vI/AAAAAAAAHDg/8gQzz3I2X20/s800/01-Blogger-Authorship.jpg" /&gt;&lt;/div&gt;&lt;h3&gt;Deskripsi&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Artikel kali ini masih membahas tentang Rich Snippets yaitu penambahan sisipan konten tentang kepemilikan blog pada hasil pencarian search engine, atau pihak Google menyebutnya dengan Authorship. Ketika kita melakukan pencarian dengan kata kunci tertentu pada mesin pencari, kadang kita menemukan beberapa deret situs pada hasil pencarian yang mampu menampilkan photo profile, nama penulis dan jumlah teman dalam lingkaran (circle) Google Plus. Hal ini sangat membantu keakuratan blog yang kita tuju, karena sisipan ini sangat membantu kita dalam pencarian. Authorship atau kepemilikan blog memiliki nilai tambah pada hasil pencarian karena para pengunjung biasanya jika sudah mengenal seseorang dengan baik maka tanpa pikir panjang mereka percaya dengan artikel yang disusun oleh penulis tersebut. Misal kita mencari suatu artikel dengan kata kunci "New 30 day challenge" dan hasil pencarian Google menampilkan sederet hasil pencarian seperti dibawah ini:&lt;/div&gt;&lt;div class="separator"&gt;&lt;img alt="Description Authorship" class="frame" src="http://2.bp.blogspot.com/-azXYvflSwWw/UBEmrSwdDmI/AAAAAAAAHDs/WlRqDBDLkFw/s800/02-Deskripsi-Authorship.jpg" /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Dari sederet artikel tersebut anggaplah kita mengenal salah satu penulisnya dengan baik. Misal; Matt Cutts. Maka saya tidak akan lagi mengklik situs lain dalam sederetan hasil pencarian tersebut, karena saya tahu betul bagaimana seorang Matt Cutts menuliskan artikel. Paham betul loyalitas Matt Cutts pada dunia internet dan lain sebagainya. Sisipan kaya atau Rich Snippet ini tentunya memberikan nilai tambah atas kualitas sebuah blog. Atau justru sebaliknya; Kita paham betul karakter seorang penulis artikel yang hobi-nya copy paste atau hanya menulis ulang artikel orang lain, maka kita enggan untuk mengklik link tersebut. Rinch Snippet Authorship walau hanya terdiri dari beberapa baris informasi, namun memiliki manfaat hebat untuk memberikan nilai lebih pada suatu blog.&lt;/div&gt;&lt;br /&gt;&lt;h3&gt;Konsep Authorship&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Google telah memberikan referensi cukup jelas mengenai Authorship, anda bisa menemukan artikel-artikel yang berhubungan dengan Authorship pada bagian akhir artikel ini (Pranala Luar). Bagaimana konsep Authorship tersebut? Perhatikan gambar dibawah ini:&lt;/div&gt;&lt;div class="separator"&gt;&lt;img alt="Konsep Authorship" class="frame" src="http://4.bp.blogspot.com/-OYgf63okl-g/UBEmrmOicrI/AAAAAAAAHD4/7SYLl0sinHU/s800/03-Konsep-Authorship.jpg" /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Konsep Authorship ini menggunakan Rich Snippet dengan standar Microformats, yaitu menggunakan tag rel (relationship) dalam implementasinya. Mesin pencari Google akan mengumpulkan informasi dari halaman blog dan kemudian menguraikannya untuk memeriksa link-link eksternal yang secara sengaja dikaitkan dengan halaman lain diluar blog tersebut. Dalam kasus authorsip, mesin pencari Google hanya mengenali relationship dengan Google Plus untuk Rich Snippets hasil pencarian. Ketika mesin pencari melakukan crawler (merayapi) halaman-halaman blog, robots spider akan mencari link-link yang memiliki hubungan (relation) dengan halaman-halaman terkait terutama halaman Google Plus. Suatu halaman eksternal yang dikaitkan secara sengaja (dalam kasus ini Google Plus) dengan halaman blog akan dirayapi ulang untuk melihat keterkaitannya dengan blog yang sebelumnya telah dirayapi.&lt;/div&gt;&lt;br /&gt;&lt;h3&gt;Memahami Tag Rel&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Dari konsep diatas dapat kita ambil kesimpulan bahwa robots spider mesin pencari pada mulanya melakukan crawling (perayapan) pada halaman blog, kemudian robots ini menemukan suatu link yang dikaitkan keluar yaitu link yang disisipi tag rel="auhor". Misal seperti contoh dibawah ini:&lt;/div&gt;&lt;pre&gt;&amp;lt;a href="https://plus.google.com/12345" rel="author"&amp;gt;Hendriono&amp;lt;/a&amp;gt;&lt;/pre&gt;&lt;div style="text-align: justify;"&gt;Maka kemudian robot spider akan melakukan perayapan terhadap halaman yang dituju (dalam contoh; https://plus.google.com/12345) hingga ditemukan suatu link pada halaman tersebut yang memiliki keterkaitan yaitu link yang memiliki tag rel="me". Misal seperti contoh dibawah ini:&lt;/div&gt;&lt;pre&gt;&amp;lt;a href="http://modification-blog.blogspot.com/" rel="me"&amp;gt;Blogger Tune-Up&amp;lt;/a&amp;gt;&lt;/pre&gt;&lt;br /&gt;&lt;h3&gt;Ketentuan Authorship&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Dari penjelasan diatas berarti ada ketentuan yang harus dipenuhi jika kita ingin Rich Snippets Authorship mampu menampilkan; Photo Profile, Nama Penulis dan Jumlah teman dalam lingkaran (circle) pada deret halaman hasil pencarian Google, yaitu:&lt;/div&gt;&lt;ul&gt;&lt;li style="text-align: justify;"&gt;Halaman blog harus memiliki link tautan menuju halaman Google Plus dengan menyisipkan tag rel="author" pada link tautan tersebut&lt;/li&gt;&lt;li style="text-align: justify;"&gt;Halaman Google Plus harus memiliki link tautan menuju halaman blog dengan menyisipkan tag rel="me" pada link tautan tersebut&lt;/li&gt;&lt;li style="text-align: justify;"&gt;Halaman blog dan halaman Google Plus harus melewati proses otentikasi dengan alamat email yang valid untuk mencegah klaim kepemilikan oleh pihak lain.&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt;Jika tiga ketentuan tersebut dipenuhi, dalam beberapa hari Rich Snippet Authorship akan ditampilkan pada halaman hasil pencarian. Lalu bagaimana proses integrasinya?&lt;/div&gt;&lt;br /&gt;&lt;h3&gt;Integrasi Tag rel="author" pada Blog&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Untuk menyisipkan link tautan eksternal yang menuju ke halaman Google Plus, ikuti langkah dibawah ini:&lt;/div&gt;&lt;b&gt;Langkah 1&lt;/b&gt;&lt;br /&gt;Login ke Blogger&lt;br /&gt;&lt;b&gt;Langkah 2&lt;/b&gt;&lt;br /&gt;Masuk ke "Dasbor - Template - Edit HTML - Lanjutkan"&lt;br /&gt;&lt;b&gt;Langkah 3&lt;/b&gt;&lt;br /&gt;Cari kode dibawah ini:&lt;br /&gt;&lt;pre&gt;&amp;lt;head&amp;gt;&lt;br /&gt;...&lt;br /&gt;&amp;lt;/head&amp;gt;&lt;/pre&gt;&lt;b&gt;Langkah 4&lt;/b&gt;&lt;br /&gt;Sisipkan (copy paste) kode dibawah ini diantara tag/kode pada langkah 3:&lt;br /&gt;&lt;pre&gt;&amp;lt;link href="https://plus.google.com/ID_Profile" rel="author"/&amp;gt;&lt;/pre&gt;&lt;div style="text-align: justify;"&gt;Ganti ID_Profile dengan ID Profile Google Plus anda (klik disini) yang bisa dilihat pada address bar, seperti contoh dibawah ini:&lt;/div&gt;&lt;div class="separator"&gt;&lt;img alt="ID Profile Google Plus" class="frame" src="http://4.bp.blogspot.com/-cpckvkOi1_s/UBEmr-9B7wI/AAAAAAAAHEE/wE-wWH5MCF8/s800/04-Profile-Google-Plus.jpg" /&gt;&lt;/div&gt;&lt;b&gt;Langkah 5&lt;/b&gt;&lt;br /&gt;Simpan template&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Integrasi Tag rel="me" pada Google Plus&lt;/h3&gt;&lt;b&gt;Langkah 1&lt;/b&gt;&lt;br /&gt;Buka halaman &lt;a href="http://plus.google.com/me" rel="nofollow" target="_blank"&gt;Profile Google+&lt;/a&gt; Anda&lt;br /&gt;&lt;b&gt;Langkah 2&lt;/b&gt;&lt;br /&gt;Klik tombol "Edit Profile" atau &lt;a href="http://plus.google.com/me/about/edit/co" rel="nofollow" target="_blank"&gt;klik link ini&lt;/a&gt;&lt;br /&gt;&lt;b&gt;Langkah 3&lt;/b&gt;&lt;br /&gt;Pilih bagian "Contibute to" atau "Kontributor pada", kemudian isi dengan Link URL Blog&lt;br /&gt;&lt;div class="separator"&gt;&lt;img alt="Edit Contribute to" class="frame" src="http://2.bp.blogspot.com/-aiX-Ju9M7TU/UBEmsCUS0FI/AAAAAAAAHEQ/ptJudaqQbbQ/s800/05-Contibute-to.jpg" /&gt;&lt;/div&gt;&lt;div class="separator"&gt;&lt;img alt="Contribute to" class="frame" src="http://1.bp.blogspot.com/-oIYmT1w8G74/UBEm7a5w3xI/AAAAAAAAHEc/F-VBE9ODpno/s800/06-Contibute-to.jpg" /&gt;&lt;/div&gt;&lt;b&gt;Langkah 6&lt;/b&gt;&lt;br /&gt;Klik tombol "Done Editing"&lt;br /&gt;Keterangan: Tag rel="me" secara otomatis ditambahkan tanpa harus dimasukan secara manual. Ketika kita menambahkan suatu link pada bagian "Contribute to" maka didalamnya sudah mengandung tag rel="me".&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Verifikasi Email Author&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Setelah proses integrasi tag rel pada link tautan Blog dan Google Plus, lakukan proses otentikasi authorship seperti langkah dibawah ini:&lt;/div&gt;&lt;b&gt;Langkah 1&lt;/b&gt;&lt;br /&gt;Buka link &lt;a href="https://plus.google.com/authorship" rel="nofollow" target="_blank"&gt;Google Plus Authorship&lt;/a&gt;&lt;br /&gt;&lt;b&gt;Langkah 2&lt;/b&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Masukan alamat email valid sesuai dengan email yang digunakan untuk login pada Blog, GMail, dan Google Plus&lt;/div&gt;&lt;div class="separator"&gt;&lt;img alt="" class="frame" src="http://3.bp.blogspot.com/-73-MtMScUSI/UBEm8sm5P8I/AAAAAAAAHEo/patSZMc1IaM/s800/07-Verifikasi-Email.jpg" /&gt;&lt;/div&gt;&lt;b&gt;Langkah 3&lt;/b&gt;&lt;br /&gt;Klik tombol "Signup for Authorship"&lt;br /&gt;&lt;b&gt;Langkah 4&lt;/b&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Tunggu proses verifikasi, kemudian buka profile Google Plus anda. Pada bagian "Work email" harus ada tanpa cheklist yang berarti bahwa author telah terverifikasi.&lt;/div&gt;&lt;div class="separator"&gt;&lt;img alt="Email Verify Authorship" class="frame" src="http://1.bp.blogspot.com/-8M4T0zilfd0/UBEm82lOgXI/AAAAAAAAHE4/uAnGFwLwoxw/s800/08-Email-Verified.jpg" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;h3&gt;Pemeriksaan Rich Snippets Authorship&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Setelah tiga ketentuan diatas selesai dilakukan maka lakukan pengecekan, bahwa Rich Snippets Authorship telah berhasil. Ikuti langkah dibawah ini:&lt;/div&gt;&lt;b&gt;Langkah 1&lt;/b&gt;&lt;br /&gt;Buka halaman &lt;a href="http://www.google.com/webmasters/tools/richsnippets" rel="nofollow" target="_blank"&gt;Rich Snippets Testing Tools&lt;/a&gt;&lt;br /&gt;&lt;b&gt;Langkah 2&lt;/b&gt;&lt;br /&gt;Masukan (copy paste) URL halaman blog anda pada kotak yang tersedia&lt;br /&gt;&lt;b&gt;Langkah 3&lt;/b&gt;&lt;br /&gt;Klik tombol "Preview" dan tunggu proses...&lt;br /&gt;&lt;b&gt;Langkah 4&lt;/b&gt;&lt;br /&gt;Perhatikan preview yang dihasilkan oleh Rinch Snippet Webmaster Tools seperti contoh dibawah ini:&lt;br /&gt;&lt;div class="separator"&gt;&lt;img alt="Snippet Testing Authorship" class="frame" src="http://1.bp.blogspot.com/-0dvWIFTVAaY/UBEm9FZJ03I/AAAAAAAAHFA/yRhgDNads-8/s800/09-Snippets-Testing.jpg" /&gt;&lt;/div&gt;Hal yang harus diperhatikan adalah:&lt;br /&gt;&lt;ul&gt;&lt;li style="text-align: justify;"&gt;Photo Profile yang tampil sama dengan yang digunakan pada profile Google Plus yang disertai nama author&lt;/li&gt;&lt;li style="text-align: justify;"&gt;Verified: Authorship markup is verified for this page. Yang berarti bahwa author telah terverifikasi dengan baik&lt;/li&gt;&lt;/ul&gt;&lt;b&gt;Langkah 5&lt;/b&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Sabar menunggu, hingga mesin pencari Google melakukan Re-Index pada halaman blog anda atau lakukan proses Re-Index blog melalui Google Web Master Tools milik anda. Dalam beberapa hari atau minggu maka Rich Snippets Author ditampilkan pada hasil pencarian mesin pencari.&lt;/div&gt;&lt;br /&gt;&lt;h3&gt;Kesimpulan&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Para webmaster menyebutkan "embrace authorsip" atau rangkul dan klaim kepemilikan blog dengan mengikuti ketentuan dari pemilik mesin pencari, karena sampai hari ini Google adalah penguasa mesin pencari. Dan lagi pula, ketentuan diatas sesuai dengan standar Rich Snippets yang disepakati bersama, yaitu standar microformats sehingga ada kemungkinan mesin pencari lain akan mengikuti metode yang sama. Matt Cutts bercanda pada videonya "sampai hari ini, saya tidak tahu apakah ada mesin pencari lain?". Lalu apakah artikel ini termasuk teknik SEO? Lagi-lagi Blogger Tune Up menegaskan, bahwa kami menulis artikel ini bukan bertujuan untuk SEO, kami hanya menulis artikel sesuai dengan ketentuan semantic web sebagai cara pendekatan pada mesin pencari. Mengenai "apakah berpengaruh pada rangking pencarian?" Blogger Tune Up tidak menjamin dan tidak tahu. Tanpa SEO adalah SEO sebenarnya yang murni tanpa intimidasi. Sampai ketemu dipembahasan berikutnya. Happy Blogging :)&lt;/div&gt;&lt;br /&gt;&lt;b&gt;Pranala Luar:&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://microformats.org/wiki/rel-author" rel="nofollow" target="_blank"&gt;Microformats rel author&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://support.google.com/webmasters/bin/answer.py?hl=en&amp;amp;answer=1408986" rel="nofollow" target="_blank"&gt;Author information in search results&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;</description><link>http://modification-blog.blogspot.com/2012/07/rich-snippets-blogger-authorship.html</link><author>noreply@blogger.com (Hendriono Dede)</author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-cAIdXaj_7SI/UBEmq2Ci7vI/AAAAAAAAHDg/8gQzz3I2X20/s72-c/01-Blogger-Authorship.jpg' height='72' width='72'/><thr:total>38</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-7350022283544621464.post-2322329738937876239</guid><pubDate>Wed, 25 Jul 2012 11:29:00 +0000</pubDate><atom:updated>2012-07-25T18:39:17.153+07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>jQuery</category><title>jQuery CDN Failover</title><description>&lt;div style="text-align: justify;"&gt;Bismillah. Alhamdulillah. CDN atau &lt;i&gt;Content Distribution Network&lt;/i&gt; (atau ada juga yang menyebutnya &lt;a href="http://en.wikipedia.org/wiki/Content_delivery_network" rel="nofollow" target="_blank" title="Content Distribution Network"&gt;Content Delivery Network&lt;/a&gt;) seperti pernah dibahas pada &lt;a href="http://modification-blog.blogspot.com/2011/04/perpustakaan-jquery-pada-blogger.html" title="Perpustakaan jQuery pada Blogger"&gt;artikel&lt;/a&gt; &lt;a href="http://modification-blog.blogspot.com/2011/07/maksimalkan-kerja-jquery-dengan-google.html" title="Maksimalkan Kerja jQuery dengan Google API Loader"&gt;sebelumnya&lt;/a&gt;, bahwa jQuery sebagai salah satu framework javascript yang paling populer dan banyak digunakan membuat beberapa situs besar merasa perlu untuk menyediakan salinan file utamanya. Salinan ini sama persis dengan file asli yang tersimpan pada file server jQuery. Hal ini memberikan kemudahan kepada para penggunanya untuk memanfaatkan salinan-salinan tersebut, sehingga kita tidak perlu untuk menyimpannya pada file server milik sendiri. Terutama memberikan keuntungan besar bagi para pengguna hosting berbayar yang memiliki limit bandwidth akses.&lt;/div&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;h3&gt;Deskripsi&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;&lt;i&gt;CDN Failover&lt;/i&gt; adalah metode pengalihan lokasi framework jQuery dari satu host menuju ke host alternatif (cadangan). Metode failover sangat bermanfaat ketika host utama mengalami kendala akses baik itu karena limit bandwidth atau karena memang benar-benar mengalami masalah. Jika kita tidak menggunakan metode pengalihan (failover) ketika host utama mengalami kendala maka hal tersebut akan mempengaruhi kondisi situs yang kita kelola, apalagi jika situs tersebut menggunakan jQuery Ajax, jelas situs akan down total atau tidak bisa diakses. Hal ini sangat merugikan dan akan mempengaruhi kenyamanan pengunjung situs, ujung-ujungnya para pengunjung enggan kembali lagi untuk menulusuri situs. Mencegah hal tersebut maka kita perlu menyediakan cadangan framework agar masalah down host utama bisa teratasi. CDN Failover adalah cara terbaik untuk mengatasi masalah diatas.&lt;/div&gt;&lt;br /&gt;&lt;h3&gt;Lokasi CDN jQuery&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Untuk menggunakan metode CDN Failover berarti kita membutuhkan dua lokasi penyimpanan framework. Satu lokasi (link) digunakan sebagai link utama dan satu lokasi digunakan sebagai cadangan ketika host utama mengalami masalah. Bagi para pengguna hosting berbayar maka bisa menggunakan skenario; lokasi framework utama diambil dari situs penyedia CDN dan lokasi framework cadangan ditempatkan pada filehosting milik sendiri. Keuntungan skenario tersebut akan mampu mengirit trafik bandwidth ke filehosting sendiri, namun ketika CDN utama mengalami masalah (down) barulah lokasi cadangan (filehost milik sendiri) diakses. Dibawah ini beberapa situs besar penyedia CDN jQuery yang bisa anda manfaatkan. Beberapa situs dibawah ini merupakan rekomendasi para desainer web, diantaranya:&lt;/div&gt;[1] Google (Sangat Baik)&lt;br /&gt;&lt;pre&gt;https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js&lt;br /&gt;https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.js&lt;/pre&gt;[2] Microsoft (Baik)&lt;br /&gt;&lt;pre&gt;http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.7.2.js&lt;br /&gt;http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.7.2.min.js&lt;/pre&gt;[3] CDNJS (Sedang)&lt;br /&gt;&lt;pre&gt;http://cdnjs.cloudflare.com/ajax/libs/jquery/1.7.2/jquery.min.js&lt;/pre&gt;[4] jQuery (Kurang)&lt;br /&gt;&lt;pre&gt;http://code.jquery.com/jquery.min.js&lt;br /&gt;http://code.jquery.com/jquery.js&lt;/pre&gt;[5] Yandex (Sangat Kurang)&lt;br /&gt;&lt;pre&gt;http://yandex.st/jquery/1.7.2/jquery.js&lt;br /&gt;http://yandex.st/jquery/1.7.2/jquery.min.js&lt;/pre&gt;&lt;div style="text-align: justify;"&gt;CDN jQuery diatas merupakan alternatif untuk metode failover. Blogger Tune Up pun melakukan tes sendiri terhadap kecepatan akses (load) dari masing-masing lokasi CDN tersebut dengan hasil akhir tes sebagai berikut:&lt;/div&gt;&lt;ul&gt;&lt;li&gt;CDN Google rata-rata waktu load 228ms&lt;/li&gt;&lt;li&gt;CDN jQuery rata-rata waktu load 439ms&lt;/li&gt;&lt;li&gt;CDN-JS rata-rata waktu load 340ms&lt;/li&gt;&lt;li&gt;CDN Yandex rata-rata waktu load 575ms&lt;/li&gt;&lt;li&gt;CDN Microsoft rata-rata waktu load 334ms&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt;Namun, kemungkinan akan berbeda hasil akhir jika anda melakukan test load dari wilayah lain, hal ini karena dipengaruhi banyak faktor. Ada kemungkinan untuk wilayah Indonesia, CDN Yandex memiliki kecepatan akses sangat jelek, namun besar kemungkinan menjadi lebih baik jika diakses dari wilayah diluar Indonesia. (Mungkin perlu dilakukan pooling internasional)&lt;/div&gt;&lt;br /&gt;&lt;h3&gt;Integrasi jQuery CDN Failover&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Dibawah ini akan dijelaskan beberapa alternatif penggunaan metode CDN Failover. Silahkan anda memilih salah satunya yang dianggap paling mudah untuk diterapkan pada situs yang anda kelola. Secara garis besar ada dua cara metode CDN Failover, yaitu:&lt;/div&gt;&lt;br /&gt;&lt;h3&gt;Direct CDN Failover (CDN Failover Langsung)&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Direct CDN Failover adalah metode penulisan script load failover (pengalihan) lokasi framework secara langsung pada situs. Biasanya menggunakan statement javascript if else untuk failover-nya. Ketika halaman diload maka script akan melakukan pemeriksaan keadaan, "apakah framework jQuery dari CDN utama berhasil diload? Jika ternyata framework CDN utama tidak berhasil diload, maka link lokasi utama dialihkan ke link lokasi cadangan". Dibawah ini beberapa metode direct CDN failover:&lt;/div&gt;&lt;br /&gt;&lt;b&gt;&lt;u&gt;CDN Failover Metode 1&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Script dibawah ini merupakan yang metode failover yang paling sederhana. Script akan melakukan pemeriksaan ketersediaan framework, jika ternyata framework tidak berhasil di-load, maka lokasi framework dialihkan.&lt;/div&gt;&lt;pre class="brush: js; wrap-lines: false;"&gt;&amp;lt;script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&amp;lt;script type="text/javascript"&amp;gt; &lt;br /&gt;if (jQuery) {  &lt;br /&gt; // jika jQuery berhasil di-load maka fungsi disini akan dijalankan...&lt;br /&gt;} else {&lt;br /&gt; // jika jQuery gagal di-load, maka framework akan dialihkan ke lokal...&lt;br /&gt; document.write('script type="text/javascript" src="/local/jquery-1.7.2.min.js"&amp;gt;&amp;lt;\/script&amp;gt;');&lt;br /&gt;}&lt;br /&gt;&amp;lt;/script&amp;gt;&lt;/pre&gt;&lt;br /&gt;&lt;b&gt;&lt;u&gt;CDN Failover Metode 2&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Metode ke-2 ini hampir mirip dengan metode ke-1, perbedaannya hanya pada statement pemeriksaan keadaan. Script hanya akan melakukan pengalihan jika keadaan halaman tidak mampu me-load framework, jika berhasil maka script tidak akan menjalankan perintah pengalihan lokasi framework.&lt;/div&gt;&lt;pre class="brush: js; wrap-lines: false;"&gt;&amp;lt;script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&amp;lt;script type="text/javascript"&amp;gt; &lt;br /&gt;if (typeof jQuery == 'undefined') {  &lt;br /&gt;    // jika jQuery gagal di-load, maka framework akan dialihkan ke lokal...&lt;br /&gt; document.write('script type="text/javascript" src="/local/jquery-1.7.2.min.js"&amp;gt;&amp;lt;\/script&amp;gt;'); &lt;br /&gt;} else {&lt;br /&gt;    // jika jQuery berhasil di-load maka fungsi disini akan dijalankan...&lt;br /&gt;}&lt;br /&gt;&amp;lt;/script&amp;gt;&lt;/pre&gt;&lt;br /&gt;&lt;b&gt;&lt;u&gt;CDN Failover Metode 3&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Metode ke-3 ini merupakan metode yang banyak digunakan oleh situs-situs jejaring sosial media dalam memanggil framework-nya. Metode ini sebenarnya merupakan pengembangan dari CDN Failover metode ke-2.&lt;/div&gt;&lt;pre class="brush: js; wrap-lines: false;"&gt;&amp;lt;script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&amp;lt;script type="text/javascript"&amp;gt;  &lt;br /&gt; if (typeof jQuery === 'undefined') {  &lt;br /&gt;    var e = document.createElement('script');  &lt;br /&gt;    e.src = '/local/jquery-1.7.2.min.js';  &lt;br /&gt;    e.type='text/javascript';  &lt;br /&gt;    document.getElementsByTagName("head")[0].appendChild(e);  &lt;br /&gt; }&lt;br /&gt;&amp;lt;/script&amp;gt;&lt;/pre&gt;&lt;br /&gt;&lt;h3&gt;Indirect CDN Failover (CDN Failover Tidak Langsung)&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Indirect CDN Failover adalah metode pengalihan CDN framework jQuery dengan memanfaatkan framework lain dalam pemeriksaan kondisinya. Berarti halaman membutuhkan framework lain untuk memeriksa keadaan framework jQuery. Metode seperti ini banyak dimanfaatkan dan digabungkan dengan DOM Event Listener atau sering disebut juga Lazy Load framework. (&lt;i&gt;Hiks... Mulai membingungkan... Saran penulis, baca artikelnya malam hari jadi bisa sambil ngopi...&lt;/i&gt;)&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Menggunakan framework lain untuk memeriksa kondisi framework jQuery sangat bermanfaat dalam meningkatkan waktu respon halaman. Metode Direct CDN Failover mempunyai kelemahan dalam hal waktu respon. Maksudnya, ketika CDN utama mengalami delay yang cukup lama dalam penyediaan perpustakaan jQuery maka halaman juga akan menunggu hingga perpustakaan berhasil dimuat dengan sempurna. Jika load CDN memiliki respon yang sangat lama, maka waktu load halaman situs juga akan relatif lebih lama. Lazy Load framework digunakan untuk mengatasi masalah delay respon.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Framework lain (anggaplah framework A) digunakan selain untuk CDN failover (pengalihan) juga digunakan untuk Lazy Load (pemeriksaan delay respon) framework. Ketika CDN jQuery tersedia namun ternyata memiliki respon yang sangat lambat, maka framework A akan mengalihkan framework jQuery tersebut pada CDN cadangan yang telah disiapkan. Sebuah metode yang tidak bisa dilakukan oleh Direct CDN Failover.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Dibawah ini beberapa framework lain yang dapat digunakan sebagai CDN Failover dan Lazy Load Framework, diantaranya:&lt;/div&gt;&lt;br /&gt;&lt;b&gt;&lt;u&gt;Modernizr&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;a href="http://modernizr.com/" rel="nofollow" target="_blank" title="Modernizr"&gt;Modernizr&lt;/a&gt; merupakan framework yang sedang hangat-hangatnya dibicarakan karena kemampuannya dalam menyederhanakan fungsi CSS3 dan HTML5. Baru-baru ini para developer Modernizr memasukan fungsi &lt;a href="http://yepnopejs.com/" rel="nofollow" target="_blank" title="YepNope.js"&gt;YepNope&lt;/a&gt; pada perpustakaan Modernizr. (Dibahas lengkap pada artikel terpisah)&lt;/div&gt;&lt;pre class="brush: js; wrap-lines: false;"&gt;&amp;lt;script type="text/javascript" src="http://cdnjs.cloudflare.com/ajax/libs/modernizr/2.5.3/modernizr.min.js"&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&amp;lt;script type="text/javascript"&amp;gt;&lt;br /&gt;Modernizr.load([&lt;br /&gt; {&lt;br /&gt;  load: 'https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js',&lt;br /&gt;  complete: function () {&lt;br /&gt;   if (!window.jQuery) {&lt;br /&gt;    Modernizr.load('/local/jquery-1.7.2.min.js');&lt;br /&gt;   }&lt;br /&gt;  }&lt;br /&gt; }&lt;br /&gt;]);&lt;br /&gt;&amp;lt;/script&amp;gt;&lt;/pre&gt;&lt;br /&gt;&lt;b&gt;&lt;u&gt;LABjs&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Framework &lt;a href="http://labjs.com/" rel="nofollow" target="_blank" title="LABjs"&gt;LABjs&lt;/a&gt; merupakan script loader cikal bakal dari berbagai framework lain dalam menangani dan memanajemen CDN Failover maupun Lazy Load Framework, bahkan YepNope diciptakan karena inspirasi dari LABjs. (Dibahas lengkap pada artikel terpisah)&lt;/div&gt;&lt;pre class="brush: js; wrap-lines: false;"&gt;&amp;lt;script type="text/javascript" src="http://cdnjs.cloudflare.com/ajax/libs/modernizr/2.5.3/modernizr.min.js"&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&amp;lt;script type="text/javascript"&amp;gt;&lt;br /&gt;$LAB.script("http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js").wait(function () {&lt;br /&gt;    if (typeof window.jQuery === "undefined") {&lt;br /&gt;        $LAB.script("/local/jquery-1.7.2.min.js");&lt;br /&gt;    }&lt;br /&gt;});&lt;br /&gt;&amp;lt;/script&amp;gt;&lt;/pre&gt;&lt;br /&gt;&lt;h3&gt;Kesimpulan&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Dari beberapa metode jQuery CDN Failover diatas, kita bisa memilah salah satu metode yang dianggap cocok dengan karakter situs yang kita kelola. Sedangkan untuk CDN Failover dengan metode Indirect CDN Failover akan dibahas secara rinci pada artikel terpisah. Metode diatas hanya gambaran sepintas saja walau sebenarnya bisa digunakan, namun mungkin belum maksimal dalam penggunaannya dan fungsinya. Atau bisa juga digunakan sebagai pancingan bagi anda yang ingin mengembangkan lebih rinci sesuai dengan pemahaman anda. Sampai ketemu dipembahasan artikel berikutnya, dan Happy Blogging :)&lt;/div&gt;</description><link>http://modification-blog.blogspot.com/2012/07/jquery-cdn-failover.html</link><author>noreply@blogger.com (Hendriono Dede)</author><thr:total>8</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-7350022283544621464.post-3863288824579710971</guid><pubDate>Wed, 11 Jul 2012 10:54:00 +0000</pubDate><atom:updated>2012-07-11T17:54:42.977+07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>Widget</category><category domain='http://www.blogger.com/atom/ns#'>jQuery</category><title>jQuery .submit() &amp; Google Custom Search Engine</title><description>&lt;div style="text-align: justify;"&gt;Bismillah. Alhamdulillah. Bagaimana dengan artikel sebelumnya tentang '&lt;a href="http://modification-blog.blogspot.com/2012/07/membuat-dan-memasang-google-custom.html" target="_blank" title="Membuat dan Memasang Google Custom Search Engine"&gt;Membuat dan Memasang Google Custom Search Engine&lt;/a&gt;'? Mudah-mudahan telah berhasil dipasang pada blog anda. Kelemahan dari cara tersebut adalah ketika kita mengganti kata kunci (keyword) pada form input maka halaman hasil pencarian akan di-load (di panggil) ulang, dan reload halaman ini terjadi setiap mengganti kata kunci. Hal ini tentunya memperlambat proses pencarian dan kadang membuat kesal saat seseorang telah mencapai lelah untuk mencari sesuatu di internet. Bagaimana caranya agar halaman tidak di reload saat kita mengganti kata kunci lainnya, namun hasil pencarian tetap ditampilkan pada halaman tersebut? Disinilah kita membutuhkan bantuan script jQuery. jQuery .submit() yang akan mengambil alih event handler saat seseorang meng-klik tombol submit.&lt;/div&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;div class="separator"&gt;&lt;img class="frame" src="http://4.bp.blogspot.com/-gU_LsPGG0r8/T_1abvPWdiI/AAAAAAAAG88/QRNTM6D539s/s800/jquery-google-cse.png" alt="jQuery Blogger Custom Search Engine"/&gt;&lt;/div&gt;&lt;div id="infozr"&gt;&lt;a class="icon demo" href="http://dehagoblog.blogspot.com/p/pencarian.html?q=Windows+XP&amp;sa.x=0&amp;sa.y=0" target="_blank" rel="nofollow"&gt;&lt;span&gt;Demo jQuery Blogger Custom Searchn Engine&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;h3&gt;Deskripsi&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Pada artikel sebelumnya, kita telah membahas tentang integrasi Google Custom Search Engine pada Blogger, namun bahasan materinya terlalu praktis bahkan nyaris tidak ada pemahaman materi yang lebih luas. Artikel tersebut justru hanya akan menjadi materi (copy paste) yang sangat sulit untuk dikembangkan lebih lanjut. Saya hanya berharap, dari setiap artikel yang diterbitkan, janganlah hanya tips trik yang instan tanpa mampu dipahami dengan baik namun lebih jauh anda mengembangkan sendiri sesuai imajinasi atau mungkin lebih sempurna. Mari kita sama-sama pelajari dan pahami.&lt;/div&gt;&lt;br /&gt;&lt;h3&gt;jQuery .submit()&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;&lt;a href="http://api.jquery.com/submit/" rel="nofollow" target="_blank" title="jQuery Submit"&gt;.submit()&lt;/a&gt; adalah metode lain atau metode yang lebih praktis untuk .bind('submit', handler) dalam variasi pertama, dan .trigger('submit') dalam variasi ketiga. Event submit akan dikirimkan ke sebuah elemen ketika pengguna mencoba untuk mengirimkan (submit) formulir (form). Form akan berhasil dikirimkan dengan meng-klik eksplisit &amp;lt;input type="submit"&amp;gt;, &amp;lt;input type="image"&amp;gt;, atau &amp;lt;button type="submit"&amp;gt;, atau dengan menekan tombol Enter jika elemen form memiliki focus.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Harus diperhatikan pula bahwa event pengiriman formulir juga tergantung pada browser. Beberapa browser ada yang mampu mengirimkan formulir hanya dengan menekan tombol Enter jika input formulir berisi satu kolom teks, atau formulir bisa terkirim jika menekan tombol submit. Interface tidaklah harus bergantung pada perilaku tertentu, kecuali hal ini memang memaksa harus dengan mengamati event penekanan tombol untuk tombol Enter.&lt;/div&gt;Sebagai contoh, perhatikan kode HTML dibawah ini:&lt;br /&gt;&lt;pre&gt;&amp;lt;form id="target" action="tujuan.html"&amp;gt;&lt;br /&gt; &amp;lt;input type="text" value="Ini hanya percobaan"/&amp;gt;&lt;br /&gt; &amp;lt;input type="submit" value="Kirim"/&amp;gt;&lt;br /&gt;&amp;lt;/form&amp;gt;&lt;br /&gt;&amp;lt;div id="lain"&amp;gt;&lt;br /&gt; Pemicu Lain&lt;br /&gt;&amp;lt;/div&amp;gt;&lt;/pre&gt;Event handler dibawah terlibat ke dalam form:&lt;br /&gt;&lt;pre&gt;$('#target').submit(function() {&lt;br /&gt; alert('Handler untuk .submit() terpanggil');&lt;br /&gt; return false;&lt;br /&gt;});&lt;/pre&gt;&lt;div style="text-align: justify;"&gt;Ketika form (formulir) dikirimkan (submit), pesan akan tampil dengan isi "Handler untuk .submit() terpanggil". Hal ini terjadi sebelum pengiriman form yang sebenarnya, maksudnya seperti ini (sambil dibuka &lt;a href="http://jsfiddle.net/hendriono/TUTn2/show/" rel="nofollow" target="_blank"&gt;demonya disini&lt;/a&gt;):&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Ketika kita klik tombol submit (&amp;lt;input type="submit" value="Kirim"/&amp;gt;) untuk mengirimkan input text (&amp;lt;input type="text" value="Ini hanya percobaan"/&amp;gt;) dari form dengan id #target ke halaman tujuan (action="tujuan.html") maka input text tidak akan dikirimkan ke URL tujuan tetapi langsung diambil alih (handle) oleh jQuery .submit() dengan memanfaatkan fungsi .preventDefault(). Atau jika terjadi kesalahan fungsi maka akan dikembalikan pada handle sebelumnya (return false;). Fungsi .preventDefault() sering digunakan untuk menghentikan (pada kasus tertentu dapat mengambil alih) sebuah event agar tidak langsung disampaikan pada tujuan. Contoh penggunaan fungsi .preventDefault() ada pada artikel sebelumnya. &lt;a href="http://modification-blog.blogspot.com/2012/05/konfirmasi-klik-link-dengan-jquery.html" target="_blank" title="Konfirmasi Klik Link dengan jQuery "&gt;[1]&lt;/a&gt;, &lt;a href="http://modification-blog.blogspot.com/2010/04/non-aktifkan-klik-kanan-artikel-dengan.html" target="_blank" title="Non Aktifkan Klik Kanan Artikel dengan jQuery"&gt;[2]&lt;/a&gt;, &lt;a href="http://modification-blog.blogspot.com/2012/05/jquery-confirm-plugin.html" target="_blank" title="jQuery Confirm Plugin"&gt;[3]&lt;/a&gt;. Jika kita menggunakan fungsi event .submit() maka event .preventDefault() sudah termasuk didalamnya tanpa harus dituliskan pada kode. (&lt;i&gt;Lumayan membingungkan... Ngopi dulu...&lt;/i&gt;)&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Atau, kita juga dapat memanfaatkan pemicu event secara manual ketika elemen lain diklik, contoh script jQuery-nya seperti dibawah ini:&lt;/div&gt;&lt;pre&gt;$('#lain').click(function() {&lt;br /&gt;  $('#target').submit();&lt;br /&gt;});&lt;/pre&gt;&lt;div style="text-align: justify;"&gt;Setelah code diatas dieksekusi, kemudian kita klik pada "Pemicu Lain", hal ini juga akan menampilkan pesan yang sama, yaitu "Handler untuk .submit() terpanggil". Lihat &lt;a href="http://jsfiddle.net/hendriono/k6sfn/1/show/" rel="nofollow" target="_blank"&gt;demonya disini&lt;/a&gt;. Ingat! Jika tanpa kode jQuery diatas, maka ketika kita klik tombol submit (&amp;lt;input type="submit" value="Kirim"/&amp;gt;) maka browser akan menuju dan membuka halaman URL tujuan (action="tujuan.html"). (&lt;i&gt;Mudah-mudahan ada lampu listrik menyala diatas kepala... Cling...&lt;/i&gt;)&lt;/div&gt;&lt;br /&gt;&lt;h3&gt;Mekanisme Kerja Google Custom Search Engine&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Setelah memahami fungsi dari event jQuery .submit(), sekarang kita akan mencoba memahami bagaimana Google Custom Search Engine bekerja. Perhatikan gambar dibawah ini:&lt;/div&gt;&lt;div class="separator"&gt;&lt;img class="frame" src="http://3.bp.blogspot.com/--QgcMSNR_uk/T_1acGSnM-I/AAAAAAAAG9I/W7t4woVaz0s/s800/mekanisme-cse.png" alt="Mekanisme Kerja Google Custom Search Engine"/&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Ketika kita membuat sebuah mesin telusur sendiri menggunakan fasilitas Google Custom Search Engine, maka proses index halaman demi halaman blog kita akan segera dimulai. Google Custom Search Engine akan melakukan pengumpulan data pada blog kita secara bertahap dan sesuai edisi yang digunakan. (Untuk Edisi gratis, jumlah index halaman terbatas). Ketika seseorang memasukan sebuah kata kunci (keyword) pada Input Form kemudian mengirimkannya (submit) pada Google API CSE, maka Google API CSE akan mengambil data dari index server Google CSE. Setelah ditemukan kecocokan dengan kata kunci yang dimasukan pada Input Form, Google API CSE akan mengambilnya dari server Google CSE dan kemudian mengirimkan hasil pengambilan data tersebut ke Halaman Hasil Pencarian.&lt;/div&gt;&lt;br /&gt;&lt;h3&gt;jQuery Google Custom Search Engine&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;jQuery .submit() sudah dipahami, dan mekanisme kerja Google Custom Search Engine juga sudah dipahami, waktunya kita memodifikasi script bawaan Google Custom Search Engine. Pada artikel sebelumnya kita sudah mengetahui bahwa script dari Form Input dan Google Custom Search Engine seperti dibawah ini:&lt;/div&gt;&lt;br /&gt;&lt;u&gt;&lt;b&gt;Kode Form Input&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;&lt;pre class="brush: html; wrap-lines: false;"&gt;&amp;lt;form id="searchform" action="/p/pencarian.html"&amp;gt;&lt;br /&gt; &amp;lt;input id="searchq" name="q" type="search" placeholder="Cari..."/&amp;gt;&lt;br /&gt; &amp;lt;input class="searchbutton" name="sa" type="submit" value="Go" /&amp;gt;&lt;br /&gt;&amp;lt;/form&amp;gt;&lt;/pre&gt;&lt;br /&gt;&lt;u&gt;&lt;b&gt;Kode Google API Custom Search Engine&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;&lt;pre class="brush: js; wrap-lines: false;"&gt;google.load("search", "1", {&lt;br /&gt; language: "id",&lt;br /&gt; style : google.loader.themes.V2_DEFAULT&lt;br /&gt;});&lt;br /&gt;google.setOnLoadCallback(function () {&lt;br /&gt;    var c = new google.search.CustomSearchControl("012345678901234567890:mdrcctmncrt", {});&lt;br /&gt;    c.setResultSetSize(google.search.Search.FILTERED_CSE_RESULTSET);&lt;br /&gt;    var a = new google.search.DrawOptions;&lt;br /&gt;    a.enableSearchResultsOnly();&lt;br /&gt;    c.draw("cse", a);&lt;br /&gt;    for (var a = {}, e = window.location.search.substr(1).split("&amp;amp;"), d = 0; d &amp;lt; e.length; d++) {&lt;br /&gt;        var b = e[d].split("="),&lt;br /&gt;            f = decodeURIComponent(b[0]);&lt;br /&gt;        a[f] = b[1] ? decodeURIComponent(b[1].replace(/\+/g, " ")) : b[1]&lt;br /&gt;    }&lt;br /&gt;    a.q &amp;amp;&amp;amp; c.execute(a.q, null, {&lt;br /&gt;        oq: a.oq,&lt;br /&gt;        aq: a.aq,&lt;br /&gt;        aqi: a.aqi,&lt;br /&gt;        aql: a.aql,&lt;br /&gt;        gs_sm: a.gs_sm,&lt;br /&gt;        gs_upl: a.gs_upl&lt;br /&gt;    })&lt;br /&gt;}, !0);&lt;/pre&gt;&lt;br /&gt;&lt;h3&gt;Hasil Perpaduan&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Dibawah ini kode hasil perpaduan antara Google API CSE dengan jQuery .submit(). Saya tidak akan lagi menjelaskan secara detail, silahkan dipelajari untuk dipahami. Berikut hasil perpaduan kodenya:&lt;/div&gt;&lt;pre class="brush: js; wrap-lines: false;"&gt;$(function () {&lt;br /&gt;    $("#searchform").submit(function () {&lt;br /&gt;        var b = new google.search.CustomSearchControl("012345678901234567890:mdrcctmncrt", {});&lt;br /&gt;        b.setResultSetSize(google.search.Search.FILTERED_CSE_RESULTSET);&lt;br /&gt;        var a = new google.search.DrawOptions;&lt;br /&gt;        a.enableSearchResultsOnly();&lt;br /&gt;        b.draw("cse", a);&lt;br /&gt;        (a = $("#searchq").val()) &amp;amp;&amp;amp; b.execute(a);&lt;br /&gt;        return !1&lt;br /&gt;    })&lt;br /&gt;});&lt;/pre&gt;&lt;b&gt;Keterangan:&lt;/b&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Pada dasarnya kita hanya mengalihkan proses load dan mengganti proses eksekusi kode Google API CSE. Pada mulanya load dilakukan dengan:&lt;/div&gt;&lt;pre&gt;google.setOnLoadCallback&lt;/pre&gt;kemudian di ganti dengan:&lt;br /&gt;&lt;pre&gt;$("#searchform").submit&lt;/pre&gt;&lt;div style="text-align: justify;"&gt;ID #searchform diambil dari ID form (Jika memahami penjelasan sebelumnya, pasti paham fungsi event ini)&lt;/div&gt;Kemudian mengganti eksekusi yang pada mulanya seperti dibawah ini:&lt;br /&gt;&lt;pre&gt;for (var a = {}, e = window.location.search.substr(1).split("&amp;amp;"), d = 0; d &amp;lt; e.length; d++) {&lt;br /&gt; var b = e[d].split("="),&lt;br /&gt;  f = decodeURIComponent(b[0]);&lt;br /&gt; a[f] = b[1] ? decodeURIComponent(b[1].replace(/\+/g, " ")) : b[1]&lt;br /&gt;}&lt;br /&gt;a.q &amp;amp;&amp;amp; c.execute(a.q, null, {&lt;br /&gt; oq: a.oq,&lt;br /&gt; aq: a.aq,&lt;br /&gt; aqi: a.aqi,&lt;br /&gt; aql: a.aql,&lt;br /&gt; gs_sm: a.gs_sm,&lt;br /&gt; gs_upl: a.gs_upl&lt;br /&gt;})&lt;/pre&gt;menjadi seperti dibawah ini:&lt;br /&gt;&lt;pre&gt;(a = $("#searchq").val()) &amp;amp;&amp;amp; b.execute(a);&lt;br /&gt;return !1&lt;/pre&gt;&lt;div style="text-align: justify;"&gt;Namun hati-hati, saya telah melakukan perubahan nama variabel, dengan tujuan untuk membedakan, mana script Google API CSE yang asli, dan mana script Google API CSE hasil perpaduan dengan jQuery. Script hasil perpaduan ini memang harus diperhatikan dan dibandingkan dengan hati-hati.&lt;/div&gt;&lt;br /&gt;&lt;h3&gt;Conditional Tag&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Sudah dibahas diatas bahwa ketika kita menggunakan jQuery .submit() maka URL tujuan tidak akan dibuka oleh browser karena fungsi submit form diambil alih oleh jQuery. Ini akan memunculkan masalah ketika halaman hasil pencarian sedang tidak dibuka, maka keyword apapun yang kita masukan pada input form itu tidak akan menghasilkan apa-apa. Google API CSE tidak akan pernah memproses perintah apapun dari form jika halaman hasil pencarian sedang tidak dibuka. Jika demikian berarti kita membutuhkan suatu kondisi.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Kondisi ini akan mengatur kapan jQuery .submit() harus diload atau dieksekusi. Pada saat halaman yang sedang dibuka bukanlah halaman hasil pencarian maka input form masih menggunakan script Google API CSE aslinya, namun ketika halaman hasil pencarian sedang dibuka, maka jQuery .submit() juga telah dieksekusi dan siap untuk digunakan.&lt;/div&gt;Solusi dari masalah ini adalah dengan menggunakan conditional tag, seperti contoh dibawah ini:&lt;br /&gt;&lt;pre&gt;&amp;lt;b:if cond='data:blog.url == &amp;amp;quot;/p/pencarian.html&amp;amp;quot;'&amp;gt;&lt;br /&gt;... Script jQuery Google API CSE ...&lt;br /&gt;&amp;lt;/b:if&amp;gt;&lt;/pre&gt;Bagaimana conditional tag ini bekerja? Silahkan baca &lt;a href="http://modification-blog.blogspot.com/2010/09/memahami-conditional-tag.html" target="_blank" title="Memahami Conditional Tag"&gt;disini&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Integrasi Pada Blog&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Masih bingung? Mungkin harus mencoba dulu baru memahaminya. Kode jQuery Google API CSE dibawah ini silahkan digunakan pada blog anda. Ikuti langkahnya:&lt;/div&gt;&lt;b&gt;Langkah 1&lt;/b&gt;&lt;br /&gt;Buka template blog anda&lt;br /&gt;&lt;b&gt;Langkah 2&lt;/b&gt;&lt;br /&gt;Cari kode dibawah ini:&lt;br /&gt;&lt;pre&gt;&amp;lt;/body&amp;gt;&lt;/pre&gt;&lt;b&gt;Langkah 3&lt;/b&gt;&lt;br /&gt;Masukan (copy paste) kode dibawah ini diatas kode pada langkah 2:&lt;br /&gt;&lt;pre class="brush: js; wrap-lines: false;"&gt;&amp;lt;b:if cond='data:blog.url == &amp;amp;quot;/p/pencarian.html&amp;amp;quot;'&amp;gt;&lt;br /&gt;&amp;lt;script type='text/javascript'&amp;gt;&lt;br /&gt;//&amp;lt;![CDATA[&lt;br /&gt;&amp;lt;script src='https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js' type='text/javascript'/&amp;gt;&lt;br /&gt;$(function () {&lt;br /&gt;    $("#searchform").submit(function () {&lt;br /&gt;        var b = new google.search.CustomSearchControl("012345678901234567890:mdrcctmncrt", {});&lt;br /&gt;        b.setResultSetSize(google.search.Search.FILTERED_CSE_RESULTSET);&lt;br /&gt;        var a = new google.search.DrawOptions;&lt;br /&gt;        a.enableSearchResultsOnly();&lt;br /&gt;        b.draw("cse", a);&lt;br /&gt;        (a = $("#searchq").val()) &amp;amp;&amp;amp; b.execute(a);&lt;br /&gt;        return !1&lt;br /&gt;    })&lt;br /&gt;});&lt;br /&gt;//]]&amp;gt;&lt;br /&gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&amp;lt;/b:if&amp;gt;&lt;/pre&gt;&lt;b&gt;Langkah 4&lt;/b&gt;&lt;br /&gt;Simpan Template&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Keterangan:&lt;/b&gt;&lt;br /&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;Kode Google API CSE yang telah dimasukan sebelumnya jangan dibuang, karena kita membutuhkan loadernya.&lt;/li&gt;&lt;li&gt;Ganti URL /p/pencarian.html sesuai dengan URL halaman hasil pencarian anda.&lt;/li&gt;&lt;li&gt;Buang framwork jQuery jika blog anda telah memasang framework jQuery.&lt;/li&gt;&lt;li&gt;Samakan atau ubah ID #searchform pada jQuery sesuai dengan ID Form Input anda (misal ID form input; &amp;lt;form id="searchform").&lt;/li&gt;&lt;li&gt;Jangan lupa untuk mengganti 012345678901234567890:mdrcctmncrt sesuai dengan kode yang anda peroleh dari Google CSE.&lt;/li&gt;&lt;li&gt;Samakan atau ubah ID #searchq pada jQuery sesuai dengan ID Input anda (misal ID Input; &amp;lt;input id="searchq" name="q")&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;h3&gt;Kesimpulan&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Mudah bukan? Dari pembahasan diatas mudah-mudahan anda memahami bagaimana cara kerja jQuery .submit() dan Google API CSE dengan baik, sehingga kedepannya anda bisa melakukan modifikasi dan perbaikan yang lebih baik lagi dari pada apa yang sudah dibahas di atas. Sampai ketemu dipembahasan berikutnya (&lt;i&gt;Rencananya membuat Blogger Search Ajax API&lt;/i&gt;). Happy Blogging :)&lt;/div&gt;</description><link>http://modification-blog.blogspot.com/2012/07/jquery-submit-google-custom-search.html</link><author>noreply@blogger.com (Hendriono Dede)</author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-gU_LsPGG0r8/T_1abvPWdiI/AAAAAAAAG88/QRNTM6D539s/s72-c/jquery-google-cse.png' height='72' width='72'/><thr:total>17</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-7350022283544621464.post-168303397847119970</guid><pubDate>Mon, 09 Jul 2012 13:01:00 +0000</pubDate><atom:updated>2012-07-09T20:37:39.170+07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>Tools</category><category domain='http://www.blogger.com/atom/ns#'>Widget</category><title>Membuat dan Memasang Google Custom Search Engine</title><description>&lt;div style="text-align: justify;"&gt;Bismillah. Alhamdulillah. Google memberikan keleluasaan kepada para penggunanya untuk melakukan berbagai modifikasi script, fungsi dan fasilitas yang tersedia secara gratis. Salah satu fasilitas yang cukup bagus adalah Google Custom Search Engine. Fasilitas ini disediakan bagi mereka yang ingin membuat sendiri mesin pencari sesuai dengan keinginan penggunanya. Kita bisa membuat mesin pencari layaknya Google Search untuk meng-index artikel atau informasi dari situs yang bisa kita tentukan sendiri atau dari kumpulan situs favorit kita. Bagi para blogger, banyak pula yang menggunakan Google Custom Search Engine ini sebagai mesin pencari blog sendiri yang khusus meng-index artikel pada blog yang dikelolanya. Bagaimana caranya?&lt;/div&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;div class="separator"&gt;&lt;img alt="Blogger Custom Search Engine" class="frame" src="http://3.bp.blogspot.com/-qOVDGP5jkec/T_rVl54LoKI/AAAAAAAAG7g/iVvKXMRQPLo/s800/01-blogger-custom-search.jpg" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;h3&gt;Membuat Akun Google Custom Search Engine&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Untuk membuat Google Custom Search Engine, maka syarat utamanya kita harus memiliki akun Google atau GMail. Jika sudah memiliki akun, ikuti langkah dibawah ini:&lt;/div&gt;&lt;b&gt;Langkah 1&lt;/b&gt;&lt;br /&gt;Login ke Google dan masuk ke Halaman "&lt;a href="http://www.google.com/cse" rel="nofollow" target="_blank"&gt;Google Penelusuran Khusus&lt;/a&gt;"&lt;br /&gt;&lt;b&gt;Langkah 2&lt;/b&gt;&lt;br /&gt;Jika anda sudah Login maka akan dihadapkan pada formulir dibawah ini:&lt;br /&gt;&lt;div class="separator"&gt;&lt;img alt="Konfigurasi Google Custom Search Engine" class="frame" src="http://4.bp.blogspot.com/-a1UbCxCpDdk/T_rVmLpXQ0I/AAAAAAAAG7s/xLKgnmK0HB0/s1600/02-konfigurasi-mesin-telusur.jpg" /&gt;&lt;/div&gt;&lt;u&gt;Keterangan Gambar&lt;/u&gt;&lt;br /&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;Nama: Isilah dengan dengan Google Custom Search Engine (rekomendasi; sesuaikan dengan nama blog anda)&lt;/li&gt;&lt;li&gt;Deskripsi: Isi deskripsi mengenai fungsi mesin telusur yang anda buat, karena mesin telusur ini bersifat publik yang siapapun bisa menggunakannnya&lt;/li&gt;&lt;li&gt;Bahasa: Pilihlah bahasa yang sesuai dengan kemampuan anda (sayangnya tidak ada bahasa Jawa. #LOL)&lt;/li&gt;&lt;li&gt;Situs yang akan ditelusuri: Masukan alamat URL (tanpa http://) yang akan ditelusuri pada hasil pencarian. Jika khusus untuk blog pribadi, masukan satu URL alamat blog anda saja.&lt;/li&gt;&lt;li&gt;Edisi: Jika punya uang, beli saja yang $100 per tahun. Kalau seperti saya, tidak ada pilihan lain kecuali Edisi Standar GRATIS!. Perbedaannya antara limited dan unlimited konfigurasi. Silahkan temukan sendiri perbedaannya.&lt;/li&gt;&lt;li&gt;Jangan lupa checklist "Saya telah membaca dan menyetujui Persyaratan Layanan"&lt;/li&gt;&lt;/ul&gt;&lt;b&gt;Langkah 3&lt;/b&gt;&lt;br /&gt;Klik tombol "Lanjut"&lt;br /&gt;&lt;b&gt;Langkah 4&lt;/b&gt;&lt;br /&gt;Lewati langkah ke 2 ini dengan klik tombol "Lanjut"&lt;br /&gt;&lt;b&gt;Langkah 5&lt;/b&gt;&lt;br /&gt;Catat kode mesin telusur anda&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Integrasi Google Custom Search Engine pada Blogger&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Ada dua bagian untuk mengintegrasikan Google Custom Search Engine pada Blogger, yaitu:&lt;/div&gt;&lt;br /&gt;&lt;u&gt;&lt;b&gt;A. Halaman Hasil Pencarian&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Buatlah sebuah halaman sebagai tempat untuk menampilkan hasil pencarian. Bisa berupa halaman artikel atau halaman statis (pada contoh artikel ini menggunakan halaman statis).&lt;/div&gt;&lt;b&gt;Langkah 1&lt;/b&gt;&lt;br /&gt;Pindahkan mode editor pada mode HTML (Jangan pada mode Compose!). Jangan lupa beri judul halaman.&lt;br /&gt;&lt;b&gt;Langkah 2&lt;/b&gt;&lt;br /&gt;Masukan (copy paste) kode dibawah ini pada area artikel:&lt;br /&gt;&lt;pre&gt;&amp;lt;div id="cse" style="width: 100%;"&amp;gt;Tunggu Sebentar...&amp;lt;/div&amp;gt;&lt;br /&gt;&amp;lt;script src="http://www.google.com/jsapi" type="text/javascript"&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&amp;lt;script type="text/javascript"&amp;gt;//&amp;lt;![CDATA[&lt;br /&gt;google.load("search", "1", {&lt;br /&gt; language: "id",&lt;br /&gt; style : google.loader.themes.V2_DEFAULT&lt;br /&gt;});&lt;br /&gt;google.setOnLoadCallback(function () {&lt;br /&gt;    var c = new google.search.CustomSearchControl("012345678901234567890:mdrcctmncrt", {});&lt;br /&gt;    c.setResultSetSize(google.search.Search.FILTERED_CSE_RESULTSET);&lt;br /&gt;    var a = new google.search.DrawOptions;&lt;br /&gt;    a.enableSearchResultsOnly();&lt;br /&gt;    c.draw("cse", a);&lt;br /&gt;    for (var a = {}, e = window.location.search.substr(1).split("&amp;amp;"), d = 0; d &amp;lt; e.length; d++) {&lt;br /&gt;        var b = e[d].split("="),&lt;br /&gt;            f = decodeURIComponent(b[0]);&lt;br /&gt;        a[f] = b[1] ? decodeURIComponent(b[1].replace(/\+/g, " ")) : b[1]&lt;br /&gt;    }&lt;br /&gt;    a.q &amp;amp;&amp;amp; c.execute(a.q, null, {&lt;br /&gt;        oq: a.oq,&lt;br /&gt;        aq: a.aq,&lt;br /&gt;        aqi: a.aqi,&lt;br /&gt;        aql: a.aql,&lt;br /&gt;        gs_sm: a.gs_sm,&lt;br /&gt;        gs_upl: a.gs_upl&lt;br /&gt;    })&lt;br /&gt;}, !0);&lt;br /&gt;//]]&amp;gt;&amp;lt;/script&amp;gt;&lt;/pre&gt;Perhatian!&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Kode diatas adalah kode yang sudah disesuaikan dengan karakter Blogger, namun anda bisa saja menggunakan kode bawaan Google Custom Search Engine.&lt;/div&gt;Jangan lupa ganti kode dibawah ini:&lt;br /&gt;&lt;pre&gt;012345678901234567890:mdrcctmncrt&lt;/pre&gt;dengan kode mesin telusur yang sudah anda peroleh.&lt;br /&gt;&lt;b&gt;Langkah 3&lt;/b&gt;&lt;br /&gt;Terbitkan artikel atau halaman dan catat URL artikel atau halaman ini. Lanjutkan ke langkah berikutnya...&lt;br /&gt;&lt;u&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;&lt;u&gt;&lt;b&gt;B. Form Input Keyword (Kata Kunci)&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;Jika pada blog anda sudah tersedia form pencarian, biasanya memiliki kode mirip seperti dibawah ini:&lt;br /&gt;&lt;pre&gt;&amp;lt;form id="searchform" action="/p/pencarian.html"&amp;gt;&lt;br /&gt; &amp;lt;input id="searchq" name="q" type="search" placeholder="Cari..."/&amp;gt;&lt;br /&gt; &amp;lt;input class="searchbutton" name="sa" type="submit" value="Go" /&amp;gt;&lt;br /&gt;&amp;lt;/form&amp;gt;&lt;/pre&gt;Carilah kode diatas pada widget atau template dan hal yang harus diperhatikan adalah sebagai berikut:&lt;br /&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;action="/p/pencarian.html": ganti /p/pencarian.html dengan URL halaman yang sudah anda buat tadi (lihat A. Halaman Hasil Pencarian)&lt;/li&gt;&lt;li&gt;name="q": ini tidak bisa di tawar, karena mesin pencari akan menggunakan karakter unik "q" (query) untuk mengeksekusi kata kunci yang dimasukan pada input&lt;/li&gt;&lt;li&gt;type="submit": ini juga tidak bisa di tawar (bagi yang belum paham form) karena berfungsi untuk mengirimkan kata kunci input pada halaman yang ada pada action&lt;/li&gt;&lt;li&gt;Sedangkan untuk atribut lainnya silahkan sesuaikan&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Proses pencarian ini dilakukan kurang lebih seperti dibawah ini:&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Jika seseorang memasukan kata kunci pada form input name="q", kemudian meng-klik tombol type="submit" maka kata kunci akan dikirim pada halaman action="/p/pencarian.html" untuk diproses. Dan halaman /p/pencarian.html akan memproses kata kunci tersebut untuk menampilkan hasil yang relevan dengan menggunakan Google Custom Search Engine.&lt;/div&gt;&lt;br /&gt;&lt;h3&gt;Template CSS Google Custom Search Engine&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Jika anda kurang suka dengan perpaduan warna bawaan Google Custom Search Engine, silahkan lakukan modifikasi pada kode CSS-nya. Namun sebelum melakukan modifikasi pada kode CSS, buanglah kode dibawah ini:&lt;/div&gt;&lt;pre&gt;style : google.loader.themes.V2_DEFAULT&lt;/pre&gt;&lt;div style="text-align: justify;"&gt;dari kode Google Custom Search Engine (lihat A. Halaman Hasil Pencarian), kemudian tambahkan dan lakukan modifikasi pada kode CSS dibawah ini:&lt;/div&gt;&lt;pre class="brush: css; wrap-lines: false;"&gt;.gsc-control-cse {&lt;br /&gt; font-family: Arial, sans-serif;&lt;br /&gt; border-color: #FFFFFF;&lt;br /&gt; background-color: #FFFFFF;&lt;br /&gt;}&lt;br /&gt;.gsc-control-cse .gsc-table-result {&lt;br /&gt; font-family: Arial, sans-serif;&lt;br /&gt;}&lt;br /&gt;input.gsc-input, .gsc-input-box, .gsc-input-box-hover, .gsc-input-box-focus {&lt;br /&gt; border-color: #D9D9D9;&lt;br /&gt;}&lt;br /&gt;input.gsc-search-button, input.gsc-search-button:hover, input.gsc-search-button:focus {&lt;br /&gt; border-color: #802020;&lt;br /&gt; background-color: #660000;&lt;br /&gt; background-image: none;&lt;br /&gt;}&lt;br /&gt;.gsc-tabHeader.gsc-tabhInactive {&lt;br /&gt; border-color: #CCCCCC;&lt;br /&gt; background-color: #FFFFFF;&lt;br /&gt;}&lt;br /&gt;.gsc-tabHeader.gsc-tabhActive {&lt;br /&gt; border-color: #CCCCCC;&lt;br /&gt; border-bottom-color: #FFFFFF;&lt;br /&gt; background-color: #FFFFFF;&lt;br /&gt;}&lt;br /&gt;.gsc-tabsArea {&lt;br /&gt; border-color: #CCCCCC;&lt;br /&gt;}&lt;br /&gt;.gsc-webResult.gsc-result,&lt;br /&gt;.gsc-results .gsc-imageResult {&lt;br /&gt; border-color: #FFFFFF;&lt;br /&gt; background-color: #FFFFFF;&lt;br /&gt;}&lt;br /&gt;.gsc-webResult.gsc-result:hover,&lt;br /&gt;.gsc-imageResult:hover {&lt;br /&gt; border-color: #EEEEEE;&lt;br /&gt; background-color: #F9F9F9;&lt;br /&gt;}&lt;br /&gt;.gs-webResult.gs-result a.gs-title:link,&lt;br /&gt;.gs-webResult.gs-result a.gs-title:link b,&lt;br /&gt;.gs-imageResult a.gs-title:link,&lt;br /&gt;.gs-imageResult a.gs-title:link b {&lt;br /&gt; color: #802020;&lt;br /&gt;}&lt;br /&gt;.gs-webResult.gs-result a.gs-title:visited,&lt;br /&gt;.gs-webResult.gs-result a.gs-title:visited b,&lt;br /&gt;.gs-imageResult a.gs-title:visited,&lt;br /&gt;.gs-imageResult a.gs-title:visited b {&lt;br /&gt; color: #802020;&lt;br /&gt;}&lt;br /&gt;.gs-webResult.gs-result a.gs-title:hover,&lt;br /&gt;.gs-webResult.gs-result a.gs-title:hover b,&lt;br /&gt;.gs-imageResult a.gs-title:hover,&lt;br /&gt;.gs-imageResult a.gs-title:hover b {&lt;br /&gt; color: #802020;&lt;br /&gt;}&lt;br /&gt;.gs-webResult.gs-result a.gs-title:active,&lt;br /&gt;.gs-webResult.gs-result a.gs-title:active b,&lt;br /&gt;.gs-imageResult a.gs-title:active,&lt;br /&gt;.gs-imageResult a.gs-title:active b {&lt;br /&gt; color: #802020;&lt;br /&gt;}&lt;br /&gt;.gsc-cursor-page {&lt;br /&gt; color: #802020;&lt;br /&gt;}&lt;br /&gt;a.gsc-trailing-more-results:link {&lt;br /&gt; color: #802020;&lt;br /&gt;}&lt;br /&gt;.gs-webResult .gs-snippet,&lt;br /&gt;.gs-imageResult .gs-snippet,&lt;br /&gt;.gs-fileFormatType {&lt;br /&gt; color: #000000;&lt;br /&gt;}&lt;br /&gt;.gs-webResult div.gs-visibleUrl,&lt;br /&gt;.gs-imageResult div.gs-visibleUrl {&lt;br /&gt; color: #666666;&lt;br /&gt;}&lt;br /&gt;.gs-webResult div.gs-visibleUrl-short {&lt;br /&gt; color: #666666;&lt;br /&gt;}&lt;br /&gt;.gs-webResult div.gs-visibleUrl-short {&lt;br /&gt; display: none;&lt;br /&gt;}&lt;br /&gt;.gs-webResult div.gs-visibleUrl-long {&lt;br /&gt; display: block;&lt;br /&gt;}&lt;br /&gt;.gs-promotion div.gs-visibleUrl-short {&lt;br /&gt; display: block;&lt;br /&gt;}&lt;br /&gt;.gs-promotion div.gs-visibleUrl-long {&lt;br /&gt; display: none;&lt;br /&gt;}&lt;br /&gt;.gsc-cursor-box {&lt;br /&gt; border-color: #FFFFFF;&lt;br /&gt;}&lt;br /&gt;.gsc-webResult.gsc-result.gsc-promotion {&lt;br /&gt; border-color: #F6F6F6;&lt;br /&gt; background-color: #F6F6F6;&lt;br /&gt;}&lt;br /&gt;.gsc-completion-title {&lt;br /&gt; color: #802020;&lt;br /&gt;}&lt;br /&gt;.gsc-completion-snippet {&lt;br /&gt; color: #000000;&lt;br /&gt;}&lt;br /&gt;.gs-promotion a.gs-title:link,&lt;br /&gt;.gs-promotion a.gs-title:link *,&lt;br /&gt;.gs-promotion .gs-snippet a:link {&lt;br /&gt; color: #1155CC;&lt;br /&gt;}&lt;br /&gt;.gs-promotion a.gs-title:visited,&lt;br /&gt;.gs-promotion a.gs-title:visited *,&lt;br /&gt;.gs-promotion .gs-snippet a:visited {&lt;br /&gt; color: #1155CC;&lt;br /&gt;}&lt;br /&gt;.gs-promotion a.gs-title:hover,&lt;br /&gt;.gs-promotion a.gs-title:hover *,&lt;br /&gt;.gs-promotion .gs-snippet a:hover {&lt;br /&gt; color: #1155CC;&lt;br /&gt;}&lt;br /&gt;.gs-promotion a.gs-title:active,&lt;br /&gt;.gs-promotion a.gs-title:active *,&lt;br /&gt;.gs-promotion .gs-snippet a:active {&lt;br /&gt; color: #1155CC;&lt;br /&gt;}&lt;br /&gt;.gs-promotion .gs-snippet,&lt;br /&gt;.gs-promotion .gs-title .gs-promotion-title-right,&lt;br /&gt;.gs-promotion .gs-title .gs-promotion-title-right *  {&lt;br /&gt; color: #666666;&lt;br /&gt;}&lt;br /&gt;.gs-promotion .gs-visibleUrl,&lt;br /&gt;.gs-promotion .gs-visibleUrl-short {&lt;br /&gt; color: #009933;&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;&lt;h3&gt;Kesimpulan&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Google Custom Search Engine ini bisa diintegrasikan dengan Google Adsense jika anda memiliki akunnya. Integrasi dengan Google Adsense dilakukan pada konfigurasi Mesin Telusur bukan pada kode yang telah dibahas diatas. Kelemahan menggunakan mesin telusur ini adalah halaman yang selalu di-reload jika kita mengubah kata kunci pencarian. Bagaimana jika ingin halaman ini tidak di-reload apabila kita mengganti kata kunci? Nantikan pada pembahasan berikutnya. Silahkan anda bereksperimen dan memodifikasinya sendiri sesuai keinginan dan imajinasi. "Bagaimana jika kita membuat sendiri mesin pencari dengan memanfaatkan Blogger JSON API?" In Progress Trial and Error...&lt;/div&gt;Selamat mencoba dan semoga berhasil. Happy Blogging :)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Pranala Luar:&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.google.com/cse/tools/create_onthefly" target="_blank" rel="nofollow"&gt;Membuat Mesin Penelusuran Khusus&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://support.google.com/customsearch/?hl=en" rel="nofollow" target="_blank"&gt;Custom Search Help&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.google.com/cse/docs/" rel="nofollow" target="_blank"&gt;Dokumentasi pengembang&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://googlecustomsearch.blogspot.com/" rel="nofollow" target="_blank"&gt;Google Custom Search Engine Blog&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.google.com/cse/docs/tos.html" rel="nofollow" target="_blank"&gt;Google Custom Search Engine TOS&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.youtube.com/watch?v=Qd9z48Bo8ZA" rel="nofollow" target="_blank"&gt;Video Introduction to Google Custom Search&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;</description><link>http://modification-blog.blogspot.com/2012/07/membuat-dan-memasang-google-custom.html</link><author>noreply@blogger.com (Hendriono Dede)</author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-qOVDGP5jkec/T_rVl54LoKI/AAAAAAAAG7g/iVvKXMRQPLo/s72-c/01-blogger-custom-search.jpg' height='72' width='72'/><thr:total>11</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-7350022283544621464.post-2985205913937362937</guid><pubDate>Sat, 07 Jul 2012 10:38:00 +0000</pubDate><atom:updated>2012-07-09T20:54:57.900+07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>(X)HTML</category><category domain='http://www.blogger.com/atom/ns#'>Semantic</category><title>Blogger Meta Description</title><description>&lt;div style="text-align: justify;"&gt;Bismillah. Alhamdulillah. Bagian ini sering terlupakan atau bahkan tidak mendapat perhatian dari para pengguna Blogger. Mereka seakan menganggap meta description sebagai sebuah hal yang biasa saja tanpa pengaruh yang besar. Meta description adalah bagian vital blog yang berisi informasi tentang blog dan artikel-artikel yang ditulis. Meta description tidak akan ditampilkan oleh browser namun diperlukan oleh machine-readable metadata untuk mengurai isi situs. Tanpa meta description maka blog akan sangat sulit dirayapi oleh mesin pencari. Pada bahasan sebelumnya tentang &lt;a href="http://modification-blog.blogspot.com/2012/06/open-graph-metadata-untuk-blogger.html" target="_blank"&gt;Metadata Open Graph&lt;/a&gt; sudah banyak diulas tentang keberadaan dan posisi meta description bagi mesin pencari dan situs lain. Salah satunya bahwa, situs lain akan menampilkan situs blog kita pada situs mereka dengan mengambil informasinya dari meta description.&lt;/div&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;div class="separator"&gt;&lt;img class="frame" src="http://1.bp.blogspot.com/-zNYvJ6MjOAo/T_gQqoIg3uI/AAAAAAAAG2w/7g0TleYos_s/s800/meta-description.jpg" alt="Blogger Meta Description"/&gt;&lt;/div&gt;&lt;br /&gt;&lt;h3&gt;Deskripsi&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Sesuai dengan perubahan kebijakan mesin pencari dalam merayapi suatu situs, maka blogger menyediakan fasilitas meta description agar para pengguna blogger tidak tersisihkan dimata mesin pencari. Bahkan fasilitas ini dikeluarkan ketika Google belum mengeluarkan kebijakan penghapusan meta keyword dari index mesin pencarinya. Matt Cutts sebagai seorang senior engineer di mesin pencari Google menyebutkan bahwa "kami mengabaikan dan tidak lagi menggunakan meta keyword untuk mengindex suatu situs namun kami menggunakan meta description untuk merayapi suatu situs" hal ini menjadi penegasan bahwa mereka (mesin pencari) tidak perlu dan tidak menganggap keberadaan meta keyword namun mereka sangat memperhatikan meta description. Dalam video yang diunggah pada Youtube, Matt Cutts menyebutkan "jangan habiskan waktu anda untuk mengumpulkan berbagai keyword karena kami telah mengabaikan meta keyword, sekarang konsentrasi-lah untuk membuat meta description yang menarik bagi pengunjung".&lt;/div&gt;Perhatikan screenshoot dibawah ini:&lt;br /&gt;&lt;div class="separator"&gt;&lt;img class="frame" src="http://2.bp.blogspot.com/-Ar4G9KKAbKE/T_gQrkWV3eI/AAAAAAAAG3U/cPX64BeFzH0/s800/meta-description-share.jpg" alt="Meta Description on Share"/&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Facebook dan Goole Plus menampilkan meta description Blogger Tune-Up. Apa yang ditampilkan pada Facebook dan Google Plus bukanlah paragraph awal atau isi artikel namun itu adalah meta description. Meta description berisi informasi yang unik pada setiap halaman artikel. Ini berarti meta description bersifat dinamis dan berbeda disetiap halaman artikel. Seorang Blogger harus menuliskan meta description pada masing-masing artikel.&lt;/div&gt;&lt;br /&gt;&lt;h3&gt;Mengaktifkan Meta Description&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Jika anda menggunakan template bawaan blogger sudah tentu meta description terintegrasi didalamnya, namun tidak demikian bagi para pengguna custom template. Meta description biasanya harus dimasukan secara manual atau mungkin sebenarnya sudah tersedia namun terkadang tidak tahu maksudnya. Mari kita aktifkan meta description.&lt;/div&gt;&lt;b&gt;Langkah 1&lt;/b&gt;&lt;br /&gt;Login ke Blogger&lt;br /&gt;&lt;b&gt;Langkah 2&lt;/b&gt;&lt;br /&gt;Masuk ke "Setelan - Preferensi Penelusuran - Tag Meta"&lt;br /&gt;&lt;div class="separator"&gt;&lt;img class="frame" src="http://4.bp.blogspot.com/-Apwb2jQhlDg/T_gQqfZEJPI/AAAAAAAAG2k/eZ8Vq9-z6EI/s800/aktifkan-meta-description.jpg" alt="Mengaktifkan Meta Description"/&gt;&lt;/div&gt;&lt;b&gt;Langkah 3&lt;/b&gt;&lt;br /&gt;Klik "Edit" pilih "Ya" pada "Aktifkan deskripsi penelusuran?"&lt;br /&gt;&lt;div class="separator"&gt;&lt;img class="frame" src="http://2.bp.blogspot.com/-4gIpCxWaCq8/T_gQrSFWrqI/AAAAAAAAG3I/SAFoEV_dbi8/s800/meta-description-beranda.jpg" alt="Index Meta Description"/&gt;&lt;/div&gt;&lt;b&gt;Langkah 4&lt;/b&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Isi meta description dengan karakter maksimum 150 karakter. Setelah di isi klik tombol "Simpan perubahan"&lt;/div&gt;Keterangan: Meta description ini akan digunakan hanya pada halaman utama (halaman index atau halaman beranda) sedangkan untuk masing-masing artikel, kita harus menuliskannya lagi.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Memeriksa Ketersediaan Meta Description&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Untuk meyakinkan bahwa meta description telah terintegrasi pada blog kita, lakukan pemeriksaan pada dua lokasi berikut, yaitu:&lt;/div&gt;&lt;u&gt;&lt;b&gt;Pada Editor Entri&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;&lt;b&gt;Langkah 1&lt;/b&gt;&lt;br /&gt;Buat sebuah artikel&lt;br /&gt;&lt;b&gt;Langkah 2&lt;/b&gt;&lt;br /&gt;Perhatikan pada sidebar editor, harus sudah bertambah satu widget "Deskripsi Penelusuran"&lt;br /&gt;&lt;div class="separator"&gt;&lt;img class="frame" src="http://1.bp.blogspot.com/-XFtsPEXywR0/T_gQrEV-nOI/AAAAAAAAG28/FAdDjVSqQQw/s800/meta-description-artikel.jpg" alt="Meta Deskripsi Penelusuran Pada Artikel"/&gt;&lt;/div&gt;&lt;b&gt;Langkah 3&lt;/b&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Klik "Deskripsi Penelusuran" dan masukan deskripsi artikel pada kotak dibawahnya, setelah itu klik tombol "Selesai"&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Keterangan: Deskripsi Penelusuran ini akan menggantikan deskripsi global, dan deskripsi ini akan digunakan mesin pencari untuk mengurai isi artikel anda. Meta Description ibarat ringkasan dari artikel yang anda tulis, makanya, buatlah deskripsi yang menarik. Deskripsi artikel tidak akan ditampilkan pada browser namun akan diambil oleh mesin pencari (machine-readable metadata) dan situs lain (misal Facebook dan Google Plus).&lt;/div&gt;&lt;br /&gt;&lt;u&gt;&lt;b&gt;Pada Template&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;&lt;b&gt;Langkah 1&lt;/b&gt;&lt;br /&gt;Masuk ke "Template - Edit HTML - Lanjutkan"&lt;br /&gt;&lt;b&gt;Langkah 2&lt;/b&gt;&lt;br /&gt;Scroll hingga di temukan kode dibawah ini:&lt;br /&gt;&lt;pre&gt;&amp;lt;meta expr:content='data:blog.metaDescription' name='description'/&amp;gt;&lt;/pre&gt;&lt;div style="text-align: justify;"&gt;Jika tidak ditemukan berarti blog anda belum menggunakan meta description walau sudah diaktifkan, ikuti langkah penyisipan kode berikutnya.&lt;/div&gt;&lt;b&gt;Langkah 3&lt;/b&gt;&lt;br /&gt;Jika template belum menerapkan meta description, cari kode dibawah ini:&lt;br /&gt;&lt;pre&gt;&amp;lt;b:include data='blog' name='all-head-content'/&amp;gt;&lt;/pre&gt;&lt;b&gt;Langkah 4&lt;/b&gt;&lt;br /&gt;Masukan (copy paste) kode dibawah ini tepat dibawah kode pada langkah 3:&lt;br /&gt;&lt;pre&gt;&amp;lt;b:if cond='data:blog.metaDescription != &amp;amp;quot;&amp;amp;quot;'&amp;gt;&lt;br /&gt; &amp;lt;meta expr:content='data:blog.metaDescription' name='description'/&amp;gt;&lt;br /&gt;&amp;lt;/b:if&amp;gt;&lt;/pre&gt;Keterangan: Mengenai conditional tag silahkan baca &lt;a href="http://modification-blog.blogspot.com/2010/09/memahami-conditional-tag.html" target="_blank" title="Memahami Condional Tag"&gt;disini&lt;/a&gt;&lt;br /&gt;&lt;b&gt;Langkah 6&lt;/b&gt;&lt;br /&gt;Simpan template&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Memeriksa Meta Description&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Setelah meta description diaktifkan, dan artikel yang disertai meta descriptioan diterbitkan maka lakukan pengecekan untuk memastikan bahwa meta description sudah aktif pada blog anda. Lakukan langkah berikut:&lt;/div&gt;&lt;b&gt;Langkah 1&lt;/b&gt;&lt;br /&gt;Lihat artikel yang sudah disertai meta description&lt;br /&gt;&lt;b&gt;Langkah 2&lt;/b&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Gunakan kombinasi tombol keyboard CTRL + U (pengguna Firefox dan Chrome) atau klik kanan pada area artikel dan pilih "View source" (pengguna Safari) untuk melihat source code blog anda, dan perhatikan meta deskripsi yang baru saja anda buat. Atau gunakan kata kunci "name='description'" menggunakan pencarian browser. Jika sudah tampil seperti apa yang anda tuliskan pada artikel berarti meta description pada blog anda sudah aktif, lakukan share pada Facebook atau Google Plus, maka yang akan ditampilkan adalah meta description, bukan penggalan artikel.&lt;/div&gt;&lt;br /&gt;&lt;h3&gt;Video Penggunaan Meta Description&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Dibawah ini adalah video yang dijelaskan oleh Matt Cutts tentang penggunaan meta description dan pengabaian meta keyword.&lt;/div&gt;&lt;div class="video-container"&gt;&lt;iframe allowfullscreen="" frameborder="0" height="354" src="http://www.youtube.com/embed/jK7IPbnmvVU?rel=0" width="630"&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="video-container"&gt;&lt;iframe allowfullscreen="" frameborder="0" height="354" src="http://www.youtube.com/embed/RBTBEfd7z_Y?rel=0" width="630"&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;br /&gt;&lt;h3&gt;Kesimpulan&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Penambahan meta description berarti menambah daftar pekerjaan anda, karena artikel-artikel sebelumnya mungkin tidak disertai meta description. Ini berarti sekarang anda harus memasukannya satu persatu. Huh!!! Sangat melelahkan, bayangkan jika artikel sudah mencapai 500 halaman? Namun itulah sebuah konsekwensi dari sebuah kebijakan. Google memiliki kebijakan maka blogger mau tidak mau harus mengikuti, kecuali jika kita tidak peduli dengan semua perubahan itu.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Apakah meta description adalah salah satu teknik SEO? Ma'af saya bukan ahli SEO dan tidak tahu tentang SEO. Blogger Tune-Up hanya menuliskan artikel sesuai dengan standar yang belaku dan tidak dimaksudkan untuk bermain SEO. Semantic Web adalah pendekatan situs terhadap mesin pencari, dan meta description adalah bagian dari semantic web. Jadi, SEO atau bukan tidaklah menjadi tujuan, tetap menulis untuk konsumsi manusia itu lebih baik dari pada menulis untuk konsumsi mesin.&lt;/div&gt;&lt;br /&gt;&lt;b&gt;Pranala Luar:&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://googlewebmastercentral.blogspot.com/2009/09/google-does-not-use-keywords-meta-tag.html" rel="nofollow" target="_blank"&gt;Google Does Not Use Keywords Meta Tag in Web Ranking&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://searchengineland.com/meta-keywords-tag-101-how-to-legally-hide-words-on-your-pages-for-search-engines-12099" rel="nofollow" target="_blank"&gt;How To "Legally" Hide Words On Your Pages For Search Engines&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="https://developers.google.com/search-appliance/documentation/50/help_gsa/serve_filters?hl=id" rel="nofollow" target="_blank"&gt;Serving Filters&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://support.google.com/webmasters/bin/answer.py?hl=en&amp;amp;answer=79812" rel="nofollow" target="_blank"&gt;Meta Tags&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;</description><link>http://modification-blog.blogspot.com/2012/07/blogger-meta-description.html</link><author>noreply@blogger.com (Hendriono Dede)</author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-zNYvJ6MjOAo/T_gQqoIg3uI/AAAAAAAAG2w/7g0TleYos_s/s72-c/meta-description.jpg' height='72' width='72'/><thr:total>14</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-7350022283544621464.post-8950600946572916748</guid><pubDate>Sat, 07 Jul 2012 07:36:00 +0000</pubDate><atom:updated>2012-07-07T14:49:18.689+07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>Widget</category><title>Blogger Widget - Cumulus Label Cloud</title><description>&lt;div style="text-align: justify;"&gt;Bismillah. Alhamdulillah. Rehat dari bahasan berat, kali ini membahas yang ringan dan praktis saja, yaitu memasang widget cumulus label cloud di Blog. Widget cumulus label cloud ini ternyata masih terus dikembangkan setelah pada mulanya dibuat oleh &lt;a href="http://www.roytanck.com/2008/03/15/wp-cumulus-released/" target="_blank" title="WP Cumulus"&gt;Roy Tanck&lt;/a&gt; khusus untuk pengguna Wordpress dengan nama WP Cumulus Tag Cloud. &lt;a href="http://blogcoding.ru/archives/b-cumulus-3-0-animirovannoe-oblako-tegov-dlya-blogger/" target="_blank" title="B-Cumulus"&gt;Minimus&lt;/a&gt; kemudian mengembangkannya untuk versi Blogger karena pada Blogger tidak ada fasilitas tag jadi mungkin lebih tepatnya diberi nama Blogger Cumulus Label Cloud. Masih tetap menggunakan flash seperti pendahulunya, hanya ditambahkan beberapa fasilitas untuk mempercantik tampilan, seperti; penambahan angka sesuai dengan jumlah artikel pada label tersebut, penambahan kotak label ketika mouse hover, pengaturan warna untuk label, dan semakin mudah dalam penerapannya. Mau mencoba?&lt;/div&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;div class="separator"&gt;&lt;img class="frame" src="http://1.bp.blogspot.com/-2jV6CkmxWV4/T_flzWXin1I/AAAAAAAAG1Q/z2Gkrj0Fq1A/s800/00-Blogger-Cumulus.jpg" alt="Blogger Cumulus Label Cloud"/&gt;&lt;/div&gt;&lt;div id="infozr"&gt;&lt;a class="icon demo" href="http://esingkatan.blogspot.com/" target="_blank" rel="nofollow"&gt;&lt;span&gt;Demo Blogger Widget Cumulus Label Cloud&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;h3&gt;Integrasi Widget Cumulus pada Blogger&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Tidak seperti sebelumnya, Cumulus ini cukup mudah dalam pemasangannya, ikuti langkah dibawah ini:&lt;/div&gt;&lt;b&gt;Langkah 1&lt;/b&gt;&lt;br /&gt;Login ke Blogger&lt;br /&gt;&lt;b&gt;Langkah 2&lt;/b&gt;&lt;br /&gt;Masuk ke Tata Letak&lt;br /&gt;&lt;b&gt;Langkah 3&lt;/b&gt;&lt;br /&gt;Tambahkan sebuah Gadget&lt;br /&gt;&lt;div class="separator"&gt;&lt;img class="frame" src="http://1.bp.blogspot.com/-A32dgAn-xdQ/T_flzVM-k9I/AAAAAAAAG1c/OGn5Ab7BRVE/s800/01-Tambah-Gadget.jpg" alt="Menambahkan Gadget"/&gt;&lt;/div&gt;&lt;b&gt;Langkah 4&lt;/b&gt;&lt;br /&gt;Pilih "Tambahkan Milik Anda"&lt;br /&gt;&lt;div class="separator"&gt;&lt;img class="frame" src="http://3.bp.blogspot.com/-E5uZirm70kE/T_flz2BKPDI/AAAAAAAAG1k/SnOmFtdGmog/s800/02-Gadget-Cumulus.jpg" alt="Menambahkan Cumulus Label Cloud"/&gt;&lt;/div&gt;&lt;b&gt;Langkah 5&lt;/b&gt;&lt;br /&gt;Masukan (copy paste) link dibawah ini pada bagian URL kemudian klik "Tambah URL":&lt;br /&gt;&lt;pre&gt;http://henscripts.googlecode.com/svn/trunk/tag/cumulus.xml&lt;/pre&gt;&lt;b&gt;Langkah 7&lt;/b&gt;&lt;br /&gt;Atur konfigurasi dengan menyesuaikan pada Template yang anda gunakan&lt;br /&gt;&lt;div class="separator"&gt;&lt;img class="frame" src="http://1.bp.blogspot.com/-WI86ixxJ6Eg/T_flz-iMS1I/AAAAAAAAG10/Zena3iM6cpM/s1600/03-Konfigurasi-Cumulus.jpg" alt="Konfigurasi Cumulus Label Cloud"/&gt;&lt;/div&gt;&lt;b&gt;Langkah 8&lt;/b&gt;&lt;br /&gt;Simpan widget dan preview blog anda...&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Pengaturan&lt;/h3&gt;Dibawah ini pengaturan untuk Cumulus Label Cloud. Ubahlah sesuai dengan keinginan anda.&lt;br /&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;Judul Label - Ubah sesuai dengan Judul Gadget.&lt;/li&gt;&lt;li&gt;Tinggi - Ubahlah sesuai tinggi gadget.&lt;/li&gt;&lt;li&gt;Tinggi Cloud - Ubah tinggi dalam satuan pixel, harus diperhatikan pula tinggi widget yang anda gunakan.&lt;/li&gt;&lt;li&gt;Lebar Cloud - Ubah lebar dalam satuan pixel, harus diperhatikan pula lebar widget yang anda gunakan.&lt;/li&gt;&lt;li&gt;Ukuran Huruf Min - Atur ukuran minimum font dari label, ini akan tampil sebagai label cloud terkecil pada widget.&lt;/li&gt;&lt;li&gt;Ukuran Huruf Maks - Atur ukuran maksimum font dari label, ini akan tampil sebagai label cloud terbesar pada widget.&lt;/li&gt;&lt;li&gt;Warna Label Min - Aturlah warna label ukuran terkecil. Warna ini akan mempengaruhi warna huruf terkecil saat rotasi pada widget.&lt;/li&gt;&lt;li&gt;Warna Label Maks - Aturlah warna label ukuran terbesar. Warna ini akan mempengaruhi warna huruf terbesar saat rotasi pada widget.&lt;/li&gt;&lt;li&gt;Warna Hover - Aturlah warna yang akan muncul saat mouse hover, warna ini mempengaruhi kotak, huruf dan angka label.&lt;/li&gt;&lt;li&gt;Kecepatan Rotasi - Mengatur kecepatan perputaran awan.&lt;/li&gt;&lt;li&gt;Warna Latar - Untuk mengatur warna latar belakang (background) label cloud.&lt;/li&gt;&lt;li&gt;Mode Transparan - Menetapkan warna latara belakang label cloud yang transparan.&lt;/li&gt;&lt;li&gt;Tampilkan Penanda - Menunjukkan jumlah label ketika Anda menggeser kursor mouse di atas label. &lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;h3&gt;Kesimpulan&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Disediakannya Blogger API memang mempermudah konektifitas antara satu aplikasi dengan aplikasi lainnya, lebih cepat dan lebih ringan, dan salah satunya adalah Blogger Cumulus Label Cloud ini. Beberapa masa yang lalu, untuk memasang cumulus label cloud ini sangatlah ribet dan rumit, namun sekarang pengguna awam pun bisa dengan mudah menggunakannya. Widget ini bersifat opsional atau tambahan. Selamat mencoba dan semoga berhasil. Happy Blogging :)&lt;/div&gt;</description><link>http://modification-blog.blogspot.com/2012/07/blogger-widget-cumulus-label-cloud.html</link><author>noreply@blogger.com (Hendriono Dede)</author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-2jV6CkmxWV4/T_flzWXin1I/AAAAAAAAG1Q/z2Gkrj0Fq1A/s72-c/00-Blogger-Cumulus.jpg' height='72' width='72'/><thr:total>5</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-7350022283544621464.post-8740780203292779585</guid><pubDate>Thu, 05 Jul 2012 14:27:00 +0000</pubDate><atom:updated>2012-10-06T22:21:17.770+07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>(X)HTML</category><category domain='http://www.blogger.com/atom/ns#'>Semantic</category><title>Rich Snippets - Microformat &amp; Microdata</title><description>&lt;div style="text-align: justify;"&gt;Bismillah. Alhamdulillah. Berawal dari rasa penasaran dengan perkembangan standar bahasa HTML dan tingkah laku mesin pencari, juga rasa penasaran dengan gencarnya para Blogger membahas "cara menampilkan bintang pada hasil penelusuran Google" yang secara garis besar para Blogger baik lokal maupun global hanya membahas cara-caranya saja tanpa detail maksud dan tujuan hingga memperoleh bintang pada hasil penelusuran. Muncul berbagai pertanyaan dalam benak saya secara pribadi. Untuk apakah jika kita memperoleh bintang? Berpengaruhkan hal tersebut terhadap blog kita dihadapan mesin pencari? dan lain sebagainya. Hingga terjadilah pertemuan dengan istilah Rich Snippet yang sedang hangat dibahas, terutama Google yang gencar memperkenalkan Rich Snippet pada para webmaster. Masih hangat beberapa saat yang lalu, Blogger Tune-Up membahas tentang metadata dengan standar Open Graph, sekarang akan dibahas yang mirip-mirip namanya tetapi berbeda fungsinya yaitu microdata dan microformat. Apa perbedaan microdata dan microformat? Dan apa hubungannya dengan Rich Snippet? Atau justru masih bertanya, apa Rich Snippet? Mari sama-sama menyimak artikel ini.&lt;/div&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;div class="separator"&gt;&lt;img class="frame" src="http://2.bp.blogspot.com/-jr3PC7u-gUE/T_Wj4xJrnRI/AAAAAAAAG0I/gwQFAG-UKdg/s800/blog-rich-snippets.jpg" alt="Blogger Rich Snippets"/&gt;&lt;/div&gt;&lt;br /&gt;&lt;h3&gt;Apa dan Untuk Apa Rich Snippet?&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Jika diterjemahkan perkata mungkin akan menghasilkan persepsi yang berbeda. Rich Snippet dalam bahasa Indonesia berarti sama dengan Sisipan Kaya. Sesuai dengan namanya maka Rich Snippet digunakan untuk memperjelas atau memberikan deskripsi tambahan dari suatu situs agar pengunjung dengan mudah menemukan target yang dicarinya. Silahkan anda perhatikan mesin pencari dalam menampilkan suatu kata kunci, semakin sedikit situs spam yang menggunakan black hat SEO ter-index pada mesin pencari hal ini salah satunya dipengaruhi oleh Rich Snippet. Jika suatu situs menambahkan Rich Snippet sama persis seperti situs resminya maka situs tersebut dianggap sebagai situs sampah. Sisipan Kaya berfungsi untuk menambahkan atau melengkapi informasi yang penting untuk diketahui oleh pengguna internet. Misal; Kita akan mencari suatu aplikasi dengan nama "Tune Up Utilities" namun lupa nama lengkap aplikasi tersebut, yang kita ingat hanya kata "Tune Up". Ketika kita mencari aplikasi tersebut dengan kata kunci "Tune Up" pada mesin pencari maka akan disuguhkan sederet situs yang beragam, beberapa kemungkinan yang bisa saja muncul pada mesin pencari adalah sebagai berikut:&lt;/div&gt;&lt;ul&gt;&lt;li&gt;Tune-Up yang berhubungan dengan blog ini&lt;/li&gt;&lt;li&gt;Tune-Up yang berhubungan dengan mesin&lt;/li&gt;&lt;li&gt;Tune-Up yang berhubungan dengan aplikasi&lt;/li&gt;&lt;/ul&gt;Perhatikan screenshoot hasil pencarian dengan kata kunci "Tune Up" dibawah ini:&lt;br /&gt;&lt;div class="separator"&gt;&lt;img class="frame" src="http://2.bp.blogspot.com/-jka3nnLsIPE/T_Wj5f01azI/AAAAAAAAG0U/rYdBjeqT3i4/s800/rich-snippets.jpg" alt="Rich Snippets"/&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Situs mana yang akan diklik? Dapat dipastikan pengguna internet akan meng-klik "Tune Up Utilities 2012 - CNET Download.com" sesuai tujuannya untuk memperoleh informasi lengkap tentang aplikasi tersebut. Nomor 1 itulah yang kemudian dikenal dengan Rich Snippet yang berisi informasi sisipan tentang:&lt;/div&gt;&lt;ul&gt;&lt;li&gt;Rating&lt;/li&gt;&lt;li&gt;Penulis Ulasan&lt;/li&gt;&lt;li&gt;Harga&lt;/li&gt;&lt;li&gt;Sistem Operasi&lt;/li&gt;&lt;li&gt;Kategori Aplikasi&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt;Dan kecil kemungkinan pengguna nyasar ke situs "Blogger Tune Up". Disinilah fungsi Rich Snippet yang membuat mesin pencari lebih mudah untuk digunakan oleh pengguna yang awam sekalipun. Index mesin pencari pun semakin mendekati sasaran yang benar-benar dibutuhkan oleh pengguna internet. Rich Snippet akan memberikan informasi yang sangat berguna bagi pengguna.&lt;/div&gt;Sedangkan Nomor 2 pada gambar biasanya diambil dari &lt;a href="http://modification-blog.blogspot.com/2012/06/open-graph-metadata-untuk-blogger.html"&gt;meta description&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Manusia Pertama, Mesin Kedua&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Human First, Machines Second adalah kalimat yang selalu ditekankan oleh para webmaster. Intinya, ketika kita membuat sebuah situs maka hal yang pertama harus diperhatikan adalah para pengunjung baik itu dari sisi usability dan accessibility. Sedangkan mesin adalah prioritas kedua dalam membangun sebuah situs. Tim Berners - Lee menyebutkan:&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;i&gt;... berbagai informasi penting dalam desain web digunakan untuk konsumsi manusia, dan ... stuktur data tidak ditujukan untuk robot web browsing. ... Semantic Web disusun dalam membantu pendekatan bahasa untuk mengekspresikan informasi kedalam sebuah mesin pemrosesan formulir.&lt;/i&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;i&gt;&lt;a href="http://www.w3.org/DesignIssues/Semantic.html" target="_blank"&gt;Tim Berners - Lee&lt;/a&gt;&lt;/i&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Dari penjelasan diatas dapat diambil kesimpulan bahwa pada dasarnya desain web itu mengutamakan manusia namun ketika kita menyusun web dengan aturan semantic berarti kita juga melakukan pendekatan pada mesin. Semantic berada diantara web desainer dan mesin yang digunakan sebagai media untuk saling berkomunikasi dan Rich Snippet harus disusun sesuai dengan Semantic Web.&lt;/div&gt;&lt;br /&gt;&lt;h3&gt;Kenapa Harus Menambahkan Rich Snippet?&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Kebanyakan para webmaster sangat familiar dengan tag HTML dalam menyusun halam web. Dan biasanya tag HTML ditulis untuk memberitahu browser bagaimana menampilkan informasi yang ada didalam tag. Sebagai contoh; &amp;lt;h1&amp;gt;Tune Up&amp;lt;/h1&amp;gt;. Tag ini berarti memberitahu browser untuk menampilkan string teks "Tune Up" dalam format heading 1 (Judul 1). Namun, tag HTML ini tidak memberikan informasi apa-apa tentang arti string teks tersebut. Apakah string teks "Tune Up" tersebut merupakan sebuah aplikasi, sebuah blog, atau tentang mesin? Sehingga hal ini menjadi sangat sulit bagi mesin pencari untuk menampilkan informasi yang relevan kepada pengguna internet. Dimulai dari permasalah inilah kemudian mesin pencari (Google, Yahoo!, Microsoft dan Yandex) memperkenalkan Rich Snippet agar hasil pencarian mereka menjadi lebih relevan sesuai dengan apa yang dicari pengguna internet.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Seperti dijelaskan diatas bahwa untuk menyusun Rich Snippet, kita harus mengikuti aturan main semantic agar web yang kita susun mampu dengan mudah dibaca oleh mesin pencari. Dalam menyusun Rich Snippet para webmaster menyarankan dua format yaitu microdata dan microformat. Format microdata dan microformat sebenarnya merupakan pengembangan dari bahasa mark up, sehingga dalam penggunaannya pun terintegrasi didalam tag-tag HTML yang sudah ada. Namun tidak menutup kemungkinan untuk menyusun Rich Snippet didalam tag HTML secara terpisah.&lt;/div&gt;&lt;br /&gt;&lt;h3&gt;Apa Microformat dan Microdata?&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Microdata hampir sama dengan microformat, karena keduanya merupakan perkembangan bahasa markup yang masih termasuk kedalam machine-readable metadata (mesin pembaca metadata) untuk menguraikan konten web. Tag HTML, Microdata dan Microformat adalah bahasa markup unik yang saling melengkapi satu sama lain dan ketiganya sangat membantu mesin pencari dalam merayapi halaman-halaman web. Diantara ketiganya, microdata merupakan perkembangan bahasa markup terbaru yang keberadaannya memberikan persaingan selaras terhadap microformat yang menggunakan standar RDFa. Dalam penggunaannya, sebenarnya para webmaster bebas untuk menentukan format markup-nya, boleh menggunakan microformat saja, microdata saja atau menggunakan keduanya. Namun webmaster terutama Google menyarankan penggunaan kedua format tersebut.&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Microformat didesain untuk berbagai jenis konten web secara umum. Mereka terintegrasi didalam markup dan atribut yang sebenarnya mudah untuk dipahami dan digunakan. Dan mereka sangatlah sederhana karena menggunakan kosakata pre-defined, misal; fn, author, rel, vcard, updated, dan sebagainya. Microformat menggunakan format standar yang didefinisikan oleh &lt;a href="http://microformats.org/" target="_blank"&gt;microformat.org&lt;/a&gt;.&lt;/div&gt;Contoh penggunaan microformat:&lt;br /&gt;&lt;pre class="brush: html; wrap-lines: false;"&gt;&amp;lt;dl class="vcard"&amp;gt;&lt;br /&gt; &amp;lt;dt class="fn"&amp;gt;&amp;lt;a href="http://modification-blog.blogspot.com" class="url"&amp;gt;Hendriono&amp;lt;/a&amp;gt;&amp;lt;/dt&amp;gt;&lt;br /&gt; &amp;lt;dd class="title"&amp;gt;Web Desain&amp;lt;/dd&amp;gt;&lt;br /&gt; &amp;lt;dd class="adr"&amp;gt;&amp;lt;span class="locality"&amp;gt;Ciamis&amp;lt;/span&amp;gt;, &amp;lt;abbr title="Jawa Barat" class="region"&amp;gt;JABAR&amp;lt;/abbr&amp;gt; &amp;lt;span class="postal-code"&amp;gt;46383&amp;lt;/span&amp;gt;&amp;lt;/dd&amp;gt;&lt;br /&gt;&amp;lt;/dl&amp;gt;&lt;/pre&gt;&lt;div style="text-align: justify;"&gt;Perhatikan nilai dari atribut class (vcard, fn, url, title, adr, locality, region, postal-code). Dari contoh diatas dapat diambil kesimpulan bahwa microformat bisa diintegrasikan didalam atribut class, dan dapat digunakan bersama dengan CSS. (Insya Allah artikel berikutnya akan membahas tentang Microformat secara detail)&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Microdata adalah bagian dari spesifikasi HTML5. Namun juga tergantung pada perubahan kosakata dan atribut baru dalam penerapan metadata. Dan itu tidak dibatasi untuk setiap jenis tertentu dari konten web, untuk dapat menjelaskan konten unik yang tidak mampu ditangani oleh Microformat. Selanjutnya, microdata dapat menggunakan notasi DOM, yang dapat membuat parsing metadata lebih mudah.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Ada dua standar kosakata microdata yang digunakan saat ini yaitu kosakata dari &lt;a href="http://data-vocabulary.org/" rel="nofollow" target="_blank"&gt;data-vocabulary.org&lt;/a&gt; dan kosakata dari &lt;a href="http://schema.org/" rel="nofollow" target="_blank"&gt;schema.org&lt;/a&gt;. Namun dari keduanya, beberapa webmaster terutama Google menyarankan penggunaan kosakata dari schema.org, dengan alasan kosakata schema.org lebih banyak dan lebih fleksibel dari pada kosakata data-vocabulary. Walau contoh yang diberikan oleh Google masih menggunakan data-vocabulary namun disarankan pada webmaster untuk menggunakan Schema yang lebih banyak kosakatanya dan kemungkinan kedepannya, data-vocabulary tidak lagi digunakan.&lt;/div&gt;Contoh penggunaan microdata:&lt;br /&gt;&lt;pre class="brush: html; wrap-lines: false;"&gt;&amp;lt;dl itemscope itemtype="http://schema.org/Person"&amp;gt;&lt;br /&gt; &amp;lt;dt itemprop="name"&amp;gt;&amp;lt;a href="http://modification-blog.blogspot.com" itemprop="url"&amp;gt;Hendriono&amp;lt;/a&amp;gt;&amp;lt;/dt&amp;gt;&lt;br /&gt; &amp;lt;dd itemprop="title"&amp;gt;Web Desain&amp;lt;/dd&amp;gt;&lt;br /&gt; &amp;lt;dd itemprop="address" itemscope itemtype="http://schema.org/Address"&amp;gt;&lt;br /&gt;  &amp;lt;span itemprop="locality"&amp;gt;Ciamis&amp;lt;/span&amp;gt;, &amp;lt;abbr title="Jawa Barat" itemprop="region"&amp;gt;JABAR&amp;lt;/abbr&amp;gt; &amp;lt;span itemprop="postal-code"&amp;gt;46383&amp;lt;/span&amp;gt;&lt;br /&gt; &amp;lt;/dd&amp;gt;&lt;br /&gt;&amp;lt;/dl&amp;gt;&lt;/pre&gt;&lt;div style="text-align: justify;"&gt;Nah, sekarang kita bisa membedakan, mana syntaks microformat dan mana syntaks microdata. Keduanya jelas memiliki perbedaan syntaks, microdata menggunakan itemscope untuk sinkronisasi dengan kosakata dan itemtype untuk deklarasi spesifik kosakata yang akan digunakan. Sedangkan itemprop adalah deklarasi masing-masing item yang harus sesuai dengan jenis kosakata (itemtype) yang digunakan.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Misal contoh diatas jika saya baca sebagai mesin; Tujuannya adalah memperkenalkan siapa Hendriono, maka syntaks wajibnya adalah itemscope. Kemudian menentukan jenis kosakata yang akan digunakan dalam memperkenalkan diri, maka syntaks itemtype spesifik mengarah pada perpustakaan http://schema.org/Person. Sedangkan itemprop adalah deklarasi masing-masing item; name, title dan address. Disana ada lagi penambahan kosakata lain yaitu http://schema.org/Address karena alamat memiliki begitu banyak item lainnya (dalam contoh; locality, region, postal-code). Apakah susunannya harus selalu seperti itu? Tidak...&lt;/div&gt;Contoh diatas hanya menggunakan logika sederhana;&lt;br /&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;Siapa namanya? Hendriono&lt;/li&gt;&lt;li&gt;Apa hobinya? Web Desain&lt;/li&gt;&lt;li&gt;Dimana alamatnya? (Nah, pada pertanyaan ini, kita akan membutuhkan banyak sekali item jawaban, misal; Kabupaten, Propinsi, Kode POS, Nomor Telephone dan lain sebagainya, maka dibutuhkan sebuah kosakata lagi)&lt;/li&gt;&lt;/ul&gt;Jika masih bingung, Insya Allah kedepan tentang microdata ini akan dibahas lebih detail.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Walaupun memiliki perbedaan syntaks dan perbedaan standar namun microdata dan microformat bisa di-integrasikan secara bersama-sama. Dibawah ini contoh perpaduan Microformat dan Microdata:&lt;/div&gt;&lt;pre class="brush: html; wrap-lines: false;"&gt;&amp;lt;dl class="vcard" itemscope itemtype="http://data-vocabulary.org/Person"&amp;gt;&lt;br /&gt; &amp;lt;dt class="fn" itemprop="name"&amp;gt;&amp;lt;a href="http://modification-blog.blogspot.com" itemprop="url"&amp;gt;Hendriono&amp;lt;/a&amp;gt;&amp;lt;/dt&amp;gt;&lt;br /&gt; &amp;lt;dd class="title" itemprop="title"&amp;gt;Web Desainer&amp;lt;/dd&amp;gt;&lt;br /&gt; &amp;lt;dd class="adr" itemprop="address" itemscope itemtype="http://data-vocabulary.org/Address"&amp;gt;&lt;br /&gt;  &amp;lt;span class="locality" itemprop="locality"&amp;gt;Ciamis&amp;lt;/span&amp;gt;, &amp;lt;abbr title="Jawa Barat" class="region" itemprop="region"&amp;gt;JABAR&amp;lt;/abbr&amp;gt; &amp;lt;span class="postal-code" itemprop="postal-code"&amp;gt;46383&amp;lt;/span&amp;gt;&lt;br /&gt; &amp;lt;/dd&amp;gt;&lt;br /&gt;&amp;lt;/dl&amp;gt;&lt;/pre&gt;&lt;br /&gt;&lt;h3&gt;Warning Microformat Google Webmaster Rich Snippets&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Saya secara pribadi sempat bingung dengan beberapa warning yang ditampilkan saat melakukan pemeriksaan Rich Snippet. Namun warning default yang ditampilkan Tool Rich Snippet biasanya terdiri dari tiga jenis (tidak menutup kemungkinan lebih banyak lagi) warning dan semua itu kesalahan secara default dari microformat blogger (bukan dari microdata):&lt;/div&gt;&lt;br /&gt;&lt;b&gt;Warning: Missing required hCard "author"&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;&amp;lt;span class='post-author vcard'&amp;gt;&lt;br /&gt; &amp;lt;a class='url fn' expr:href='data:post.authorProfileUrl' rel='author' title='author profile'&amp;gt;&amp;lt;data:post.author/&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;&amp;lt;/span&amp;gt;&lt;/pre&gt;&lt;div style="text-align: justify;"&gt;Warning ini diatasi dengan menambahkan kode class='url fn'. url menunjukan link url author dan fn menunjukan nama lengkap (full name)&lt;/div&gt;&lt;br /&gt;&lt;b&gt;Warning: Missing required field "updated"&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;&amp;lt;abbr class='updated published' expr:title='data:post.timestampISO8601'&amp;gt;&amp;lt;data:post.timestamp/&amp;gt;&amp;lt;/abbr&amp;gt;&lt;/pre&gt;&lt;div style="text-align: justify;"&gt;Warning ini diatas dengan menambahkan kode class='updated published' yang menunjukan waktu diterbitkan dan waktu diupdatenya artikel.&lt;/div&gt;&lt;br /&gt;&lt;b&gt;Warning: Missing required field "entry-title"&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;&amp;lt;h2 class='post-title entry-title'&amp;gt;&lt;/pre&gt;&lt;div style="text-align: justify;"&gt;Warning diatas diatasi dengan menambahkan entry-title pada class, untuk menunjukan judul artikel.&lt;/div&gt;&lt;br /&gt;Situs wiki microformats.org menuliskan beberapa &lt;a href="http://microformats.org/wiki/blog-post-formats" target="_blank"&gt;issue&lt;/a&gt; untuk para pengguna blogger, diantaranya:&lt;br /&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;Template baru menggunakan "main" untuk identifikasi global semua artikel (entri)&lt;/li&gt;&lt;li&gt;Template baru menggunakan "post" untuk identifikasi masing-masing artikel blog&lt;/li&gt;&lt;li&gt;Template baru menggunakn "post-title" untuk identifikasi judul artikel&lt;/li&gt;&lt;/ul&gt;Untuk mengetahui issue baru silahkan kunjungi secara teratur situs wiki &lt;a href="http://microformats.org/" rel="nofollow" target="_blank"&gt;microformats.org&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Video Rich Snippet dari Google Webmaster&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Video dibawah ini dibahas oleh tim Google Webmaster khusus tentang Rich Snippet. Video-video terbaru akan ditambahkan kemudian.&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;b&gt;Introduction to Rich Snippets&lt;/b&gt;&lt;/div&gt;&lt;div class="video-container"&gt;&lt;iframe allowfullscreen="" frameborder="0" height="360" src="http://www.youtube.com/embed/A-kX0Aut-18?rel=0" width="640"&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;b&gt;Types of Rich Snippets&lt;/b&gt;&lt;/div&gt;&lt;div class="video-container"&gt;&lt;iframe allowfullscreen="" frameborder="0" height="360" src="http://www.youtube.com/embed/4W8Ah394bH8?rel=0" width="640"&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;b&gt;Rich Snippets - Product Search&lt;/b&gt;&lt;/div&gt;&lt;div class="video-container"&gt;&lt;iframe allowfullscreen="" frameborder="0" height="360" src="http://www.youtube.com/embed/_-rRxKSm2ic?rel=0" width="640"&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;b&gt;Rich Snippets - Reviews&lt;/b&gt;&lt;/div&gt;&lt;div class="video-container"&gt;&lt;iframe allowfullscreen="" frameborder="0" height="360" src="http://www.youtube.com/embed/n0SF6PLCx4I?rel=0" width="640"&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;b&gt;Rich Snippets - Recipe markup&lt;/b&gt;&lt;/div&gt;&lt;div class="video-container"&gt;&lt;iframe allowfullscreen="" frameborder="0" height="360" src="http://www.youtube.com/embed/EFAW-glY8aw?rel=0" width="640"&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;b&gt;Rich Snippets - Events&lt;/b&gt;&lt;/div&gt;&lt;div class="video-container"&gt;&lt;iframe allowfullscreen="" frameborder="0" height="360" src="http://www.youtube.com/embed/tyKYIyx19EA?rel=0" width="640"&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;b&gt;Rich Snippets - Breadcrumbs&lt;/b&gt;&lt;/div&gt;&lt;div class="video-container"&gt;&lt;iframe allowfullscreen="" frameborder="0" height="360" src="http://www.youtube.com/embed/cJ3SRrAnHpM?rel=0" width="640"&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;b&gt;Rich Snippets - Apps &lt;/b&gt;&lt;/div&gt;&lt;div class="video-container"&gt;&lt;iframe allowfullscreen="" frameborder="0" height="360" src="http://www.youtube.com/embed/Yc8CQoWrsE0?rel=0" width="640"&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;b&gt;Rich Snippets - Notifying Google&lt;/b&gt;&lt;/div&gt;&lt;div class="video-container"&gt;&lt;iframe allowfullscreen="" frameborder="0" height="360" src="http://www.youtube.com/embed/r_TUax_nPmE?rel=0" width="640"&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;b&gt;Rich Snippets - Troubleshooting&lt;/b&gt;&lt;/div&gt;&lt;div class="video-container"&gt;&lt;iframe allowfullscreen="" frameborder="0" height="360" src="http://www.youtube.com/embed/hoDz3LSFHHM?rel=0" width="640"&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;b&gt;When will Rich Snippets become widely available?&lt;/b&gt;&lt;/div&gt;&lt;div class="video-container"&gt;&lt;iframe width="640" height="360" src="http://www.youtube.com/embed/tXGwVKq-PLE?rel=0" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;br /&gt;&lt;h3&gt;Kesimpulan&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Artikel diatas mungkin belum memenuhi harapan akan keingintahuan tentang semantic microformat dan microdata. Artikel ini hanya pancingan agar kita jangan telalu cepat menggunakan trik-trik yang dibahas luas oleh pada blogger tanpa tahu tujuannya dan efeknya untuk blog kita. Hati-hati dalam menerapkan kode, script atau tutorial sepintas tanpa penjelasan, karena ketidaktahuan fungsi bisa membuat kita masuk dalam kotak sebagai bagian dari Blogger yang menerapkan Black Hat SEO. Dan Black Hat SEO membuat blog kita dianggap sampah oleh mesin pencari.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Lalu apakah microformat dan microdata adalah bagian dari teknik SEO. Ma'af saya bukan ahli SEO dan tidak tahu tentang SEO, saya menulis artikel ini hanya mengikuti aturan main dan standar yang ada. Blogger Tune-Up masih tetap berkomitmen "Tanpa SEO adalah SEO sebenarnya yang murni tanpa intimidasi". Sampai ketemu pada pembahasan berikutnya. Happy Blogging :)&lt;/div&gt;</description><link>http://modification-blog.blogspot.com/2012/07/rich-snippet-microformat-microdata.html</link><author>noreply@blogger.com (Hendriono Dede)</author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-jr3PC7u-gUE/T_Wj4xJrnRI/AAAAAAAAG0I/gwQFAG-UKdg/s72-c/blog-rich-snippets.jpg' height='72' width='72'/><thr:total>17</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-7350022283544621464.post-2790313393363294491</guid><pubDate>Sat, 30 Jun 2012 13:47:00 +0000</pubDate><atom:updated>2012-07-07T17:57:13.448+07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>Facebook</category><category domain='http://www.blogger.com/atom/ns#'>Semantic</category><title>Open Graph Metadata Untuk Blogger</title><description>&lt;div style="text-align: justify;"&gt;Bismillah. Alhamdulillah. Bingung dengan judul artikel ini? Saya juga bingung menentukan judul artikel kali ini, namun bahasan materinya tidaklah terlalu rumit dengan catatan bahwa pembaca artikel ini pernah menggunakan Facebook dan Blogger. Kenapa tidak menggunakan judul "Memperbaiki Snippet Deskripsi Blogger pada Facebook"? Atau "Menampilkan Deskripsi dan Gambar Artikel Blog pada Facebook?" dan lain sebagainya. Judul tersebut sepertinya terlalu praktis untuk digunakan dan mesin pencari sudah terlalu bingung dengan artikel-artikel tersebut. Artikel kali ini masih terkait dengan dua artikel sebelumnya yang membahas Integrasi Blogger Facebook. Fokus materi kali ini adalah Open Graph Protocol. Apa Open Graph? Apa hubungan Open Graph dengan Blogger, Facebook, Twitter dan situs jejaring sosial lainnya? Mari kita diskusikan...&lt;/div&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;div class="separator"&gt;&lt;img class="frame" src="http://3.bp.blogspot.com/-zFotRfxIRX0/T-8CKpkzu0I/AAAAAAAAGxI/VBcJHCxhPBE/s800/01-OG-Metadata.jpg" alt="Open Graph Metadata Untuk Blogger"/&gt;&lt;/div&gt;&lt;br /&gt;&lt;h3&gt;Deskripsi&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Blog adalah sebuah objek dihadapan jejaring sosial dan jejaring sosial mau tidak mau harus diakui sudah menjadi subjek bagi para pengguna internet didunia maya. Ketika seseorang membuka jejaring sosial maka mereka berharap dapat bertemu dengan teman-teman lama dan teman baru, menemukan ide-ide baru atau menemukan berbagai ilmu baru, untuk itulah saya menempatkan jejaring sosial menjadi sebuah subjek. Artikel yang kita buat pada blog dapat menjadi sebuah objek yang dapat digunakan untuk memperkaya konten jejaring sosial. Blog-blog dengan artikel-artikel menarik seringkali dibagikan via jejaring sosial, dan trafik pengunjung juga cukup signifikan berasal dari para pengguna jejaring sosial. Lalu bagaimana agar sebuah blog dapat terhubung dengan jejaring sosial dan mampu memperkaya konten jejaring sosial? Sederhananya, bagaimana agar blog kita bisa menjadi salah satu objek pada jejaring sosial?&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Open Graph Protocol atau Protokol Grafik Terbuka menjadi sebuah standar yang disepakati bersama antar para pengembang jejaring sosial dan digunakan untuk menghubungkan sebuah objek (blog dan lain sebagainya) dengan subjek (jejaring sosial). Open Graph Protocol memungkinkan halaman web untuk menjadi sebuah objek pada Grafik Sosial (Social Graph). Salah satu situs jejaring sosial yang menggunakan Standar Open Graph Protocol adalah Facebook selain Twitter dan Google. Dengan standar Open Graph ini memungkin halaman-halaman blog kita memiliki fungsi dan posisi sama seperti halnya objek-objek lain pada Facebook.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Blog merupakan situs yang berdiri sendiri, Facebook juga demikian merupakan situs yang berdiri sendiri dan Open Graph berada diantara keduanya agar saling berhubungan dan saling berkomunikasi satu sama lain. Open Graph digunakan sebagai protokol standar untuk mengkombinasikan satu sama lain agar menjadi satu bagian, hal ini karena teknologi dan skema yang berbeda diantara para pengembang teknologi. Tidak ada satu teknologi yang menyediakan informasi sangat melimpah dan beragam yang mampu menandingi konsep Sosial Graph dan Open Graph Protocol dikembangkan &lt;a href="http://www.scribd.com/doc/30715288/The-Open-Graph-Protocol-Design-Decisions" rel="nofollow" target="_blank"&gt;berdasar pada teknologi&lt;/a&gt; Social Graph. Lalu dimana posisi API (Javascript SDK) yang sudah kita buat sesuai dua artikel sebelumnya? Sederhananya; API adalah kendaraan dan Open Graph Protocol adalah jalan penghubung.&lt;/div&gt;&lt;br /&gt;&lt;h3&gt;Dasar Metadata&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Setiap objek digital seharusnya memiliki metadata, bahkan sebuah photo yang kita sebar memalui internet itu memiliki metadata. Metadata berisi informasi tentang objek tersebut. Misal; sebuah photo memiliki informasi tentang; luas area photo, kepadatan pixel, tipe kamera, model kamera, waktu memotret, versi software, posisi objek tersebut diambil dan lain sebagainya. Informasi-informasi yang ada pada photo tersimpan pada metadata.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Untuk mengaktifkan halaman-halaman blog agar menjadi objek grafik (Graph Object) maka kita harus menambahkan metadata dasar pada halaman blog. Open Graph telah menyiapkan metadata yang berdasarkan pada &lt;a href="http://en.wikipedia.org/wiki/RDFa" rel="nofollow" target="_blank"&gt;standar protokol RDFa&lt;/a&gt;. Untuk menambahkan metadata pada halaman blog, berarti kita harus memasukan tag &amp;lt;meta&amp;gt; pada bagian &amp;lt;head&amp;gt;. Didalam metadata inilah tersimpan informasi tentang blog dan metadata tidak akan ditampilkan pada browser karena metadata layaknya sebuah informasi yang akan diambil dan ditampilkan apabila diakses oleh situs lain.&lt;/div&gt;&lt;br /&gt;&lt;h3&gt;Proses Pengambilan Metadata&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Dibawah ini gambaran proses sederhana ketika Facebook mengambil informasi metadata dari Blog.&lt;/div&gt;&lt;div class="separator"&gt;&lt;img class="frame" src="http://3.bp.blogspot.com/-YU4kMVmHMG4/T-8CKrrXymI/AAAAAAAAGxU/qNjDCyA3mVE/s800/02-meta-get-action.jpg" alt="Proses Pengambilan Metadata"/&gt;&lt;/div&gt;Dari gambar diatas dapat diambil kesimpulan sebagai berikut:&lt;br /&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;Ketika pengunjung membuka halaman blog anda dan kemudian melakukan aksi (misal; suka, rekomendasi, berbagi dan lain-lain) melalui aplikasi yang sudah terintegrasi pada blog, maka...&lt;/li&gt;&lt;li&gt;Aplikasi akan mengirimkan aksi tersebut ke Facebook melalui otentikasi akun pengguna, jika pengguna belum melakukan login pada Facebook, maka aplikasi akan memintanya untuk login (dibahas pada artikel sebelumnya).&lt;/li&gt;&lt;li&gt;Facebook kemudian mengambil informasi halaman yang dikirim oleh pengguna melalui metadata yang disediakan pada halaman blog tersebut.&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt;Beberapa saat yang lalu banyak beredar tutorial blog membahas tentang cara memperbaiki deskripsi blog yang tidak muncul pada Facebook, salah satunya membahas dengan cara menambahkan tag &amp;lt;p&amp;gt; pada awal artikel blog. Cara ini jelas bukan cara terbaik dan merupakan metode yang tidak sesuai dengan Social Graph Protocol, walaupun memang berhasil namun hal tersebut tidak sesuai standar dasar metadata.&lt;/div&gt;&lt;br /&gt;&lt;h3&gt;Standar Metadata Open Graph&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Sifat dasar metadata untuk halaman-halaman situs harus sesuai dengan protokol Social Graph. Sudah menjadi kesepakatan bersama bahwa protokol yang digunakan sebagian besar pengembang jaringan sosial adalah standar protokol Open Graph. Dibawah ini empat sifat Metadata Open Graph yang diperlukan untuk setiap halaman, yaitu:&lt;/div&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;og:title - Judul objek yang akan ditampilkan dalam grafik (misal; "Tampilkan Deskripsi Blog pada Facebook").&lt;/li&gt;&lt;li&gt;og:type - Ini jenis obyek halaman blog Anda (misal; "article"). Ini tergantung pada jenis yang Anda tentukan, properti lainnya silahkan baca pada halaman dokumentasi &lt;a href="http://www.ogp.me/" rel="nofollow" target="_blank"&gt;Open Graph&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;og:image - Sebuah URL gambar yang mewakili objek dalam grafik. URL ini diambil dari halaman blog anda.&lt;/li&gt;&lt;li&gt;og:url - URL Canonical dari objek yang akan digunakan sebagai ID tetap dalam grafik (misal; "http://modification-blog.blogspot.com/metadata-tag.html").&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;h3&gt;Contoh Metadata Open Graph&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Dibawah ini adalah contoh metadata standar Open Graph yang harus ada pada halaman situs, yaitu:&lt;/div&gt;&lt;pre class="brush: html; wrap-lines: false;"&gt;&amp;lt;html prefix='og: http://ogp.me/ns#'&amp;gt;&lt;br /&gt;&amp;lt;head&amp;gt;&lt;br /&gt;&amp;lt;title&amp;gt;Tampilkan Deskripsi Blog pada Facebook&amp;lt;/title&amp;gt;&lt;br /&gt;&amp;lt;meta property='og:title' content='Tampilkan Deskripsi Blog pada Facebook'/&amp;gt;&lt;br /&gt;&amp;lt;meta property='og:type' content='article'/&amp;gt;&lt;br /&gt;&amp;lt;meta property='og:url' content='http://modification-blog.blogspot.com/artikel/metadata-tag.html'/&amp;gt;&lt;br /&gt;&amp;lt;meta property='og:image' content='http://modification-blog.blogspot.com/gambar/metadata-tag.jpg'/&amp;gt;&lt;br /&gt;...&lt;br /&gt;&amp;lt;/head&amp;gt;&lt;br /&gt;...&lt;br /&gt;&amp;lt;/html&amp;gt;&lt;/pre&gt;&lt;div style="text-align: justify;"&gt;Metadata ini diambil dari standar Open Graph yang secara global berlaku pada semua pengembang jejaring sosial baik itu Facebook, Twitter maupun Google Plus. Empat sifat dasar diatas adalah standar kesepakatan bersama, sedangkan properti lain adalah bersifat tambahan. Untuk properti lain dari Metadata Open Graph silahkan merujuk kesitus &lt;a href="http://www.ogp.me/" rel="nofollow" target="_blank"&gt;Open Graph&lt;/a&gt;.&lt;/div&gt;&lt;br /&gt;&lt;h3&gt;Metadata Facebook&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Setiap situs pasti punya kebijakan sendiri tentang pengunaan metadata, begitu pula dengan Facebook. Situs jejaring sosial ini menambahkan beberapa sifat dasar metadata sebagai hal wajib jika ingin terkoneksi dengan baik. Berikut sifat dasar Metadata Facebook, yaitu:&lt;/div&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;fb:app_id - Ini berisi ID Aplikasi atau API Key yang sudah kita buat pada artikel sebelumnya (masih ingatkan?).&lt;/li&gt;&lt;li&gt;fb:admins - Berisi ID User atau pengguna. Setiap membuat akun Facebook pasti kita diberikan ID User unik, masukan pada bagian ini.&lt;/li&gt;&lt;li&gt;og:site_name - Nama dari situs yang anda kelola.&lt;/li&gt;&lt;li&gt;og:description - Berisi deskripsi dari halaman situs blog anda.&lt;/li&gt;&lt;/ul&gt;Dibawah ini adalah contoh metadata standar Facebook yang harus ada pada halaman situs, yaitu:&lt;br /&gt;&lt;pre class="brush: html; wrap-lines: false;"&gt;&amp;lt;html xmls:fb='http://ogp.me/ns/fb#'&amp;gt;&lt;br /&gt;&amp;lt;head&amp;gt;&lt;br /&gt;&amp;lt;title&amp;gt;Tampilkan Deskripsi Blog pada Facebook&amp;lt;/title&amp;gt;&lt;br /&gt;&amp;lt;meta property='fb:app_id' content='1234567890'/&amp;gt;&lt;br /&gt;&amp;lt;meta property='fb:admins' content='0987654321'/&amp;gt;&lt;br /&gt;&amp;lt;meta property='og:site_name' content='Blogger Tune-Up'/&amp;gt;&lt;br /&gt;&amp;lt;meta property='og:description' content='Rahasia memperbaiki deskripsi blog yang tidak tampil pada Facebook.'/&amp;gt;&lt;br /&gt;...&lt;br /&gt;&amp;lt;/head&amp;gt;&lt;br /&gt;...&lt;br /&gt;&amp;lt;/html&amp;gt;&lt;/pre&gt;&lt;div style="text-align: justify;"&gt;Metadata diatas adalah rekomendasi Facebook, hal ini berarti tidak bisa ditawar jika blog anda ingin terintegrasi dengan Facebook. Mengenai properti lain silahkan merujuk pada dokumen &lt;a href="https://developers.facebook.com/docs/share/" rel="nofollow" target="_blank"&gt;Pengembang Facebook&lt;/a&gt;.&lt;/div&gt;&lt;br /&gt;&lt;h3&gt;Metadata Twitter&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Twitter sebagai salah satu jejaring sosial besar juga tidak mau ketinggalan dengan menyediakan property metadata sendiri, seperti dibawah ini:&lt;/div&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;name='twitter:card' - Ini berisi informasi tentang situs dan pemilik situs.&lt;/li&gt;&lt;li&gt;name='twitter:site' - Anda harus membuat dulu akun Twitter khusus untuk blog anda (misal; @bloggertuneup), ketika seseorang membagikan melalui jejaring twitter maka properti ini akan otomatis dimasukan.&lt;/li&gt;&lt;li&gt;name='twitter:creator' - Ini berisi informasi alamat akun Twitter author blog (misal; @dedehendriono). Jadi anda harus memiliki akun twitter pribadi dan ketika seseorang membagikan halaman situs maka otomatis properti ini akan dimasukan.&lt;/li&gt;&lt;li&gt;Sedangkah Metadata selanjutnya hampir sama dengan Metadata Open Graph.&lt;/li&gt;&lt;/ul&gt;Dibawah ini adalah contoh metadata standar Twitter yang harus ada pada halaman situs, yaitu:&lt;br /&gt;&lt;pre class="brush: html; wrap-lines: false;"&gt;&amp;lt;html prefix='og: http://ogp.me/ns#'&amp;gt;&lt;br /&gt;&amp;lt;head&amp;gt;&lt;br /&gt;&amp;lt;title&amp;gt;Tampilkan Deskripsi Blog pada Facebook&amp;lt;/title&amp;gt;&lt;br /&gt;&amp;lt;meta name='twitter:card' content='summary'/&amp;gt;&lt;br /&gt;&amp;lt;meta name='twitter:site' content='@situsAnda'/&amp;gt;&lt;br /&gt;&amp;lt;meta name='twitter:creator' content='@userName'/&amp;gt;&lt;br /&gt;&amp;lt;meta name='twitter:url' content='http://modification-blog.blogspot.com/artikel/metadata-tag.html'/&amp;gt;&lt;br /&gt;&amp;lt;meta name='twitter:title' content='Tampilkan Deskripsi Blog pada Facebook'/&amp;gt;&lt;br /&gt;&amp;lt;meta name='twitter:description' content='Rahasia memperbaiki deskripsi blog yang tidak tampil pada Facebook.'/&amp;gt;&lt;br /&gt;&amp;lt;meta name='twitter:image' content='http://modification-blog.blogspot.com/gambar/metadata-tag.jpg'/&amp;gt;&lt;br /&gt;...&lt;br /&gt;&amp;lt;/head&amp;gt;&lt;br /&gt;...&lt;br /&gt;&amp;lt;/html&amp;gt;&lt;/pre&gt;&lt;div style="text-align: justify;"&gt;Metadata diatas adalah rekomendasi Twitter, hal ini berarti tidak bisa ditawar jika blog anda ingin terintegrasi dengan Twitter. Mengenai properti lain silahkan merujuk pada dokumen &lt;a href="https://dev.twitter.com/docs/cards" rel="nofollow" target="_blank"&gt;Pengembang Twitter&lt;/a&gt;.&lt;/div&gt;&lt;br /&gt;&lt;h3&gt;Integrasi Metadata Pada Blogger&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Sudah panjang lebar bahasan mengenai metadata, waktunya kita mengintegrasikan metadata pada Blog kita. Bagaimana cara mengintegrasikan metadata pada Blogger? Apakah semua harus dimasukan kedalam metadata Blog? Dibawah ini adalah contoh metadata secara keseluruhan hasil dari penggabungan Open Graph, Facebook dan Twitter yang dimulai dari Twitter dulu, yaitu:&lt;/div&gt;&lt;pre class="brush: html; wrap-lines: false;"&gt;&amp;lt;html prefix='og: http://ogp.me/ns#' xmls:fb='http://ogp.me/ns/fb#'&amp;gt;&lt;br /&gt;&amp;lt;head&amp;gt;&lt;br /&gt;&amp;lt;title&amp;gt;Tampilkan Deskripsi Blog pada Facebook&amp;lt;/title&amp;gt;&lt;br /&gt;&amp;lt;!-- Metadata Twitter --&amp;gt;&lt;br /&gt;&amp;lt;meta name='twitter:card' content='summary'/&amp;gt;&lt;br /&gt;&amp;lt;meta name='twitter:site' content='@situsAnda'/&amp;gt;&lt;br /&gt;&amp;lt;meta name='twitter:creator' content='@userName'/&amp;gt;&lt;br /&gt;&amp;lt;meta name='twitter:url' content='http://modification-blog.blogspot.com/artikel/metadata-tag.html'/&amp;gt;&lt;br /&gt;&amp;lt;meta name='twitter:title' content='Tampilkan Deskripsi Blog pada Facebook'/&amp;gt;&lt;br /&gt;&amp;lt;meta name='twitter:description' content='Rahasia memperbaiki deskripsi blog yang tidak tampil pada Facebook.'/&amp;gt;&lt;br /&gt;&amp;lt;meta name='twitter:image' content='http://modification-blog.blogspot.com/gambar/metadata-tag.jpg'/&amp;gt;&lt;br /&gt;&amp;lt;!-- Metadata Facebook --&amp;gt;&lt;br /&gt;&amp;lt;meta property='fb:app_id' content='1234567890'/&amp;gt;&lt;br /&gt;&amp;lt;meta property='fb:admins' content='0987654321'/&amp;gt;&lt;br /&gt;&amp;lt;meta property='og:site_name' content='Blogger Tune-Up'/&amp;gt;&lt;br /&gt;&amp;lt;meta property='og:description' content='Rahasia memperbaiki deskripsi blog yang tidak tampil pada Facebook.'/&amp;gt;&lt;br /&gt;&amp;lt;!-- Metadata Open Graph --&amp;gt;&lt;br /&gt;&amp;lt;meta property='og:title' content='Tampilkan Deskripsi Blog pada Facebook'/&amp;gt;&lt;br /&gt;&amp;lt;meta property='og:type' content='article'/&amp;gt;&lt;br /&gt;&amp;lt;meta property='og:url' content='http://modification-blog.blogspot.com/artikel/metadata-tag.html'/&amp;gt;&lt;br /&gt;&amp;lt;meta property='og:image' content='http://modification-blog.blogspot.com/gambar/metadata-tag.jpg'/&amp;gt;&lt;br /&gt;...&lt;br /&gt;&amp;lt;/head&amp;gt;&lt;br /&gt;...&lt;br /&gt;&amp;lt;/html&amp;gt;&lt;/pre&gt;&lt;div style="text-align: justify;"&gt;Metadata diatas jika langsung dipasang pada blog akan menampilkan metadata yang kacau balau. Metadata diatas hanyalah contoh.&lt;/div&gt;&lt;br /&gt;&lt;h3&gt;Metadata Twitter, Facebook dan Open Graph Untuk Blogger&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Dibawah ini metadata yang sudah disesuaikan dengan karakter Blogger. Ingat! Metadata ini khusus untuk pengguna Blogspot sedangkan pengguna platform blog yang lain, silahkan sesuai dengan metadata yang sudah dijabarkan diatas.&lt;/div&gt;Sisipkan Document Conformance dibawah ini (seperti sudah dijelaskan pada &lt;a href="http://modification-blog.blogspot.com/2012/06/javascript-sdk-integrasi-facebook.html"&gt;artikel sebelumnya&lt;/a&gt;) pada tag &amp;lt;html&amp;gt;:&lt;br /&gt;&lt;pre&gt;prefix='og: http://ogp.me/ns#' xmls:fb='http://ogp.me/ns/fb#'&lt;/pre&gt;Masukan metadata dibawah ini pada tag &amp;lt;head&amp;gt;:&lt;br /&gt;&lt;pre class="brush: html; wrap-lines: false;"&gt;&amp;lt;!-- Metadata Twitter --&amp;gt;&lt;br /&gt;&amp;lt;meta name='twitter:card' content='summary'/&amp;gt;&lt;br /&gt;&amp;lt;meta name='twitter:site' content='@situsAnda'/&amp;gt;&lt;br /&gt;&amp;lt;meta name='twitter:creator' content='@userName'/&amp;gt;&lt;br /&gt;&amp;lt;meta name='twitter:url' expr:content='data:blog.canonicalUrl'/&amp;gt;&lt;br /&gt;&amp;lt;meta name='twitter:title' expr:content='data:blog.pageTitle'/&amp;gt;&lt;br /&gt;&amp;lt;meta name='twitter:description' expr:content='data:blog.metaDescription'/&amp;gt;&lt;br /&gt;&amp;lt;meta name='twitter:image' expr:content='data:blog.postImageThumbnailUrl'/&amp;gt;&lt;br /&gt;&amp;lt;!-- Metadata Facebook --&amp;gt;&lt;br /&gt;&amp;lt;meta property='fb:app_id' content='1234567890'/&amp;gt;&lt;br /&gt;&amp;lt;meta property='fb:admins' content='0987654321'/&amp;gt;&lt;br /&gt;&amp;lt;meta property='og:site_name' expr:content='data:blog.title'/&amp;gt;&lt;br /&gt;&amp;lt;meta property='og:description' expr:content='data:blog.metaDescription'/&amp;gt;&lt;br /&gt;&amp;lt;!-- Metadata Open Graph --&amp;gt;&lt;br /&gt;&amp;lt;meta property='og:title' expr:content='data:blog.pageTitle'/&amp;gt;&lt;br /&gt;&amp;lt;meta property='og:type' content='article'/&amp;gt;&lt;br /&gt;&amp;lt;meta property='og:url' expr:content='data:blog.canonicalUrl'/&amp;gt;&lt;br /&gt;&amp;lt;meta property='og:image' expr:content='data:blog.postImageThumbnailUrl'/&amp;gt;&lt;/pre&gt;Lakukan penyesuaian metadata pada bagian dibawah ini:&lt;br /&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;content='@situsAnda' - ganti dengan akun situs di jejaring sosial twitter.&lt;/li&gt;&lt;li&gt;content='@userName' - ganti dengan akun anda di jejaring sosial twitter.&lt;/li&gt;&lt;li&gt;content='1234567890' - ganti dengan API Key atau Aplication ID situs anda di jejaring sosial Facebook (&lt;a href="http://modification-blog.blogspot.com/2012/06/membuat-aplikasi-facebook-untuk-blog.html"&gt;API Key&lt;/a&gt; sudah dibahas sebelumnya).&lt;/li&gt;&lt;li&gt;content='0987654321' - ganti dengan ID User anda di jejaring sosial Facebook.&lt;/li&gt;&lt;li&gt;content='article' - ganti dengan jenis blog anda, apakah berjenis artikel, photo, video dan lain sebagainya.&lt;/li&gt;&lt;li&gt;Anda bisa menambahkan &lt;a href="http://modification-blog.blogspot.com/2010/09/memahami-conditional-tag.html"&gt;conditional tag&lt;/a&gt; pada metadata sesuai dengan kebutuhan.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;h3&gt;Memeriksa Metadata&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Jika metadata sudah terintegrasi pada blog anda, lakukan permeriksaan metadata dengan &lt;a href="https://developers.facebook.com/tools/debug" rel="nofollow" target="_blank"&gt;alat Debugger Facebook&lt;/a&gt; atau &lt;a href="https://id.foursquare.com/business/brands/offerings/savetofoursquare/tester" rel="nofollow" target="_blank"&gt;foursquare&lt;/a&gt;.&lt;/div&gt;Berikut contoh screenshoot pada Facebook:&lt;br /&gt;&lt;div class="separator"&gt;&lt;img class="frame" src="http://1.bp.blogspot.com/-24kgTdZWGNs/T-8CK9FkO4I/AAAAAAAAGxg/KWRXy8TEBco/s800/03-hasil-metadata.jpg" alt="Memeriksa Metadata"/&gt;&lt;/div&gt;&lt;br /&gt;&lt;h3&gt;Masalah Metadata Deskripsi dan Gambar&lt;/h3&gt;Beberapa blog bisa saja bermasalah saat diuji metadata. Masalah yang sering ditemukan adalah:&lt;br /&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;Deskripsi Blog tidak tampil - Ini bukan masalah pada metadata diatas, namun pada meta deskripsi Blogger yang belum terintegrasi pada Blog anda. Ini akan dibahas pada &lt;a href="http://modification-blog.blogspot.com/2012/07/blogger-meta-description.html"&gt;artikel berikutnya&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;Gambar muncul namun ada peringatan - Ini masalah internal pada Blogger yang hanya memberikan gambar thumbnail yang ter-crop pada ukuran 72x72 pixel, sedangkah Facebook memiliki standar ukuran minimal gambar yaitu 200x200 pixel. Mungkin ada yang bisa memecahkan?&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;h3&gt;Mencari ID Facebook User&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Tadinya saya mengira semua sudah tahu ID Facebooknya masing-masing, ternyata ada juga yang kesulitan. Untuk yang kesulitan menemukan ID Facebook-nya, silahkan gunakan tools yang sudah saya buat. Cukup mudah, misal; saya mempunyai URL Facebook https://www.facebook.com/dede.hendriono, ambil namanya saja yaitu dede.hendriono kemudian masukan kedalam form input dan klik Submit. Halaman baru akan terbuka yang berisi informasi cukup lengkap tentang anda.&lt;/div&gt;&lt;div id="infozr"&gt;&lt;a class="icon info" href="http://jsfiddle.net/hendriono/mMMfE/show/" target="_blank" rel="nofollow"&gt;&lt;span&gt;Facebook ID Finder&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;h3&gt;Kesimpulan&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Akhirnya selesai juga menulis tentang Metadata. Lalu bagaimana dengan Google Plus? Kita tidak usah bingung dengan Google Plus karena Blogger merupakan bagian dari Perusahaan Google sudah jelas hal ini pasti diperhatikan tanpa perlu penambahan kode secara manual. Lalu apakah ini bagian dari teknik SEO? dan Apakah ini mempengaruhi SERP? Saya bukan ahli SEO, jadi tidak tahu perkara demikian. Saya menulis tentang artikel diatas hanya untuk mengikuti standar-standar yang disepakati bersama, dan tidak ada hubungan dengan pembahasan SEO. Sampai hari ini Blogger Tune-Up masih memegang prinsip "Tanpa SEO adalah SEO sebenarnya yang murni tanpa intimidasi" Sampai ketemu pada pembahasan berikutnya. Selamat mencoba dan semoga berhasil. Happy Blogging :)&lt;/div&gt;</description><link>http://modification-blog.blogspot.com/2012/06/open-graph-metadata-untuk-blogger.html</link><author>noreply@blogger.com (Hendriono Dede)</author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-zFotRfxIRX0/T-8CKpkzu0I/AAAAAAAAGxI/VBcJHCxhPBE/s72-c/01-OG-Metadata.jpg' height='72' width='72'/><thr:total>20</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-7350022283544621464.post-8838043380670697494</guid><pubDate>Fri, 29 Jun 2012 13:49:00 +0000</pubDate><atom:updated>2012-06-29T21:36:57.540+07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>jQuery</category><title>Plugin jQuery Image Maps</title><description>&lt;div style="text-align: justify;"&gt;Bismillah. Alhamdulillah. Berhenti sejenak dalam mempelajari Facebook API dan kembali ke dunia jQuery. Beberapa saat yang lalu Blogger Tune-Up pernah membahas tentang penggunaan tag HTML Maps Area Coords. Pada artikel kali ini Blogger Tune-Up mencoba menyederhanakan fungsi tag HTML Maps Area Coords dengan menulis sebuah plugin jQuery. Plugin ini memudahkan kita dalam memasukan koordinat XY kedalam peta. Ditambahkan beberapa tambahan mark (penanda) dan tooltip agar tampilan menjadi lebih bagus dan menarik. Bagaimana menggunakannya? Lanjutkan...&lt;/div&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;div class="separator"&gt;&lt;img class="frame" src="http://4.bp.blogspot.com/-tcB3-ENJpBI/T-2xZpQy6mI/AAAAAAAAGwY/BZ3MdBzY_Aw/s800/jQuery-Image-Maps.jpg" /&gt;&lt;/div&gt;&lt;div id="infozr"&gt;&lt;a class="icon info" href="https://github.com/hendriono/jQuery-Image-Maps" target="_blank" rel="nofollow"&gt;&lt;span&gt;Fork Plugin jQuery Image Maps&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;div id="infozr"&gt;&lt;a class="icon demo" href="http://jsfiddle.net/hendriono/vwwEE/show/" target="_blank" rel="nofollow"&gt;&lt;span&gt;Demo Plugin jQuery Image Maps&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;div id="infozr"&gt;&lt;a class="icon unduh" href="https://github.com/hendriono/jQuery-Image-Maps/zipball/master" target="_blank" rel="nofollow"&gt;&lt;span&gt;Unduh Plugin jQuery Image Maps&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;h3&gt;Deksripsi&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;jQuery Image Maps digunakan sebagai metode lain dalam mengganti fungsi-fungsi tag HTML Maps Area Coords. Kode jQuery utama yang digunakan dalam membuat plugin Image Maps adalah &lt;a href="http://api.jquery.com/jQuery.data/" rel="nofollow" target="_blank"&gt;jQuery.data()&lt;/a&gt;. jQuery.data() akan melakukan pemeriksaan data pada koordinat XY yang dimasukan kedalam peta. Sehingga memudahkan kita dalam menentukan titik koordinat XY. Berbeda halnya dengan tag Coords yang mengharuskan kita menentukan titik koordinat XY lebih dari satu untuk sebuah area, dengan jQuery Image Maps kita cukup memasukan satu titik koordinat XY. Pada saat halaman diload sebuah markah atau penanda ditambahkan pada area peta dengan bentuk yang bisa disesuaikan, kita bisa menggunakan border atau icon sebagai penunjuk lokasi pada map, satu hal yang tidak bisa diterapkan pada tag HTML Maps Area Coords. Pada saat mouse hover atau berada diatas markah, sebuah tooltip yang berisi informasi keluar diatas atau dibawah markah. Posisi dan efek tooltips bisa kita atur sesuai dengan keinginan. Luas area maps atau peta secara otomatis akan menyesuaikan dengan luas (panjang dan lebar) gambar sehingga kita tidak perlu menentukan luas area map.&lt;/div&gt;&lt;br /&gt;&lt;h3&gt;Kekurangan dan Kelebihan&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Plugin jQuery Image Maps ini jelaslah masih mengandung banyak kekurangan, anda bisa saja kemudian memodifikasi dan menambahkan fungsi-fungsi baru untuk menghasilkan tampilan yang lebih sempurna. Beberapa kekurangannya adalah:&lt;/div&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;Tidak menggunakan tag HTML Maps Area Coords sesuai standar W3C, sehingga ada kemungkinan tidak lolos validasi (silahkan periksa sendiri).&lt;/li&gt;&lt;li&gt;Untuk membuat area polygon masih rumit, karena masih mengandalkan kode CSS3.&lt;/li&gt;&lt;li&gt;Baru diperiksa menggunakan framework jQuery versi 1.7.2 sehingga ada kemungkinan tidak bekerja normal pada versi sebelumnya (silahkan periksa sendiri).&lt;/li&gt;&lt;li&gt;Pada IE 8 tampilan tooltips tidak sempurna namun itu karena IE 8 belum mampu merender CSS3 dengan sempurna. Bukan kesalahan pada plugin.&lt;/li&gt;&lt;li&gt;Jika menemukan kelemahan, bug atau perbaikan lain silahkan tinggalkan pada komentar.&lt;/li&gt;&lt;/ul&gt;Sedangkan beberapa kelebihannya diantaranya:&lt;br /&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;Cukup satu titik koordinat XY untuk menentukan suatu area pada peta dengan luas yang bisa kita atur dengan mudah pada kode CSS.&lt;/li&gt;&lt;li&gt;Integrasi antara gambar dengan peta dilakukan secara otomatis oleh Plugin.&lt;/li&gt;&lt;li&gt;Area koordinat dalam peta bisa diberi mark atau penanda sesuai dengan yang kita inginkan. Bisa menggunakan rectangle, circle, rounded, polygon atau pun image (icon).&lt;/li&gt;&lt;li&gt;Dilengkapi tooltip yang akan keluar ketika mouse hover pada markah atau penanda.&lt;/li&gt;&lt;li&gt;Ukuran file plugin sangat kecil hanya 950 byte (versi minified).&lt;/li&gt;&lt;li&gt;Silahkan temukan sendiri kelebihan lainnya.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;h3&gt;Skenario HTML&lt;/h3&gt;Dibawah ini adalah kode HTML yang digunakan sebagai area peta:&lt;br /&gt;&lt;pre class="brush: html; wrap-lines: false;"&gt;&amp;lt;div id="peta"&amp;gt;&lt;br /&gt;&lt;br /&gt; &amp;lt;img width="620" height="346" src="peta.jpg" alt="Peta"/&amp;gt;&lt;br /&gt; &lt;br /&gt; &amp;lt;!-- Awal Area Satu --&amp;gt;&lt;br /&gt; &amp;lt;div class="penanda atas" data-posx="255" data-posy="70"&amp;gt;&lt;br /&gt;  &amp;lt;!-- Awal Isi Tooltips --&amp;gt;&lt;br /&gt;  &amp;lt;h2&amp;gt;iMac&amp;lt;/h2&amp;gt;   &lt;br /&gt;  &amp;lt;ul&amp;gt;&lt;br /&gt;   &amp;lt;li&amp;gt;&amp;lt;b&amp;gt;Harga:&amp;lt;/b&amp;gt; Rp 24.000.000&amp;lt;/li&amp;gt;&lt;br /&gt;   &amp;lt;li&amp;gt;&amp;lt;b&amp;gt;Tahun Produksi:&amp;lt;/b&amp;gt; 2020&amp;lt;/li&amp;gt;&lt;br /&gt;  &amp;lt;/ul&amp;gt;&lt;br /&gt;  &amp;lt;!-- Akhir Isi Tooltips --&amp;gt;&lt;br /&gt; &amp;lt;/div&amp;gt;&lt;br /&gt; &amp;lt;!-- Akhir Area Satu --&amp;gt;&lt;br /&gt; &lt;br /&gt; &amp;lt;!-- Area Dua dan seterusnya --&amp;gt;&lt;br /&gt; &lt;br /&gt;&amp;lt;/div&amp;gt;&lt;/pre&gt;Hal yang harus diperhatikan pada skenario HTML ini adalah:&lt;br /&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;src pada tag img digunakan sebagai peta.&lt;/li&gt;&lt;li&gt;Ukuran gambar akan lebih baik ditentukan dengan width dan height, tetapi tidak menggunakan properti juga tidak apa-apa.&lt;/li&gt;&lt;li&gt;Tag alt pada gambar tidak berpengaruh pada plugin.&lt;/li&gt;&lt;li&gt;class="penanda": hukumnya wajib, karena class ini akan diakses oleh plugin. Sedangkan class=" atas" digunakan untuk menentukan posisi tooltip, jika dikosongkan (misal; class="penanda") maka tooltip akan muncul dibawah mark atau penanda. Jika ditambahkan class "atas" (misal; class="penanda atas") maka tooltip akan muncul pada bagian atas penanda.&lt;/li&gt;&lt;li&gt;data-posx="255": ganti nilai 255 sesuai dengan koordinat X pada gambar yang akan digunakan sebagai area.&lt;/li&gt;&lt;li&gt;data-posy="70": ganti nilai 70 sesuai dengan koordinat Y pada gambar yang akan digunakan sebagai area peta.&lt;/li&gt;&lt;li&gt;data-posx dan data-posy tidak boleh diganti, karena plugin akan mengambil nilai koordinat XY dari sini.&lt;/li&gt;&lt;li&gt;Untuk menentukan titik koordinat XY peta silahkan merujuk pada artikel sebelumnya tentang &lt;a href="http://modification-blog.blogspot.com/2012/06/image-maps-map-area-coords.html"&gt;HTML Maps Area Coords&lt;/a&gt;, hanya saja cukup mengambil satu titik koordinat XY untuk setiap areanya.&lt;/li&gt;&lt;li&gt;Sedangkan tag yang berada didalam &amp;lt;div class="penanda" data-posx="" data-posy=""&amp;gt; adalah informasi yang akan muncul pada bagian tooltips. Anda bisa saja mengisinya dengan informasi yang sesuai dengan area pada peta.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;h3&gt;Skenario CSS&lt;/h3&gt;Dibawah ini adalah skenario CSS yang digunakan untuk menentukan area penanda dan tooltips:&lt;br /&gt;&lt;pre class="brush: css; wrap-lines: false;"&gt;#peta {&lt;br /&gt; position: relative;&lt;br /&gt; margin: 20px auto;&lt;br /&gt; border: 1px solid #ccc;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;.penanda {&lt;br /&gt; display: none;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;.area {&lt;br /&gt; width: 32px;&lt;br /&gt; height: 32px;&lt;br /&gt; position: absolute;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;.buble-up, .buble-down {&lt;br /&gt; background: url(../img/mark.png) no-repeat 0 0;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;.buble-down {&lt;br /&gt; background-position: 0 -32px;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;.buble {&lt;br /&gt; display: none;&lt;br /&gt; width: 200px;&lt;br /&gt; cursor: pointer;&lt;br /&gt; text-shadow: 0 1px 0 #fff;&lt;br /&gt; position: absolute;&lt;br /&gt; top: 10px;&lt;br /&gt; left: 50%;&lt;br /&gt; z-index: 999;&lt;br /&gt; margin-left: -115px;&lt;br /&gt; padding:15px;&lt;br /&gt; color: #222;&lt;br /&gt; -moz-border-radius: 5px;&lt;br /&gt; -webkit-border-radius: 5px;&lt;br /&gt; border-radius: 5px;&lt;br /&gt; background-color: #dce9f9;&lt;br /&gt; background-image: -webkit-gradient(linear, left top, left bottom, from(#ebf3fc), to(#dce9f9));&lt;br /&gt; background-image: -webkit-linear-gradient(top, #ebf3fc, #dce9f9);&lt;br /&gt; background-image:    -moz-linear-gradient(top, #ebf3fc, #dce9f9);&lt;br /&gt; background-image:     -ms-linear-gradient(top, #ebf3fc, #dce9f9);&lt;br /&gt; background-image:      -o-linear-gradient(top, #ebf3fc, #dce9f9);&lt;br /&gt; background-image:         linear-gradient(top, #ebf3fc, #dce9f9);&lt;br /&gt; -webkit-box-shadow: 0 1px 0 rgba(255,255,255,.8) inset; &lt;br /&gt; -moz-box-shadow:0 1px 0 rgba(255,255,255,.8) inset;  &lt;br /&gt; box-shadow: 0 1px 0 rgba(255,255,255,.8) inset;        &lt;br /&gt; border: 1px solid #ccc;&lt;br /&gt; text-shadow: 0 1px 0 rgba(255,255,255,.5);  &lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;.buble::after {&lt;br /&gt; content: '';&lt;br /&gt; position: absolute;&lt;br /&gt; top: -10px;&lt;br /&gt; left: 50%;&lt;br /&gt; margin-left: -10px;&lt;br /&gt; border-bottom: 10px solid #ebf3fc;&lt;br /&gt; border-left: 10px solid transparent;&lt;br /&gt; border-right :10px solid transparent;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;.buble-down .buble {&lt;br /&gt; bottom: 12px;&lt;br /&gt; top: auto;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;.buble-down .buble::after {&lt;br /&gt; bottom: -10px;&lt;br /&gt; top: auto;&lt;br /&gt; border-bottom: 0;&lt;br /&gt; border-top: 10px solid #dce9f9;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;.buble h2 {&lt;br /&gt; font: bold 1.3em 'Trebuchet MS', Tahoma, Arial;&lt;br /&gt; margin: 0 0 10px;&lt;br /&gt; text-align: center;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;.buble ul {&lt;br /&gt; margin: 0;&lt;br /&gt; padding: 0;&lt;br /&gt; list-style: none;&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;div style="text-align: justify;"&gt;Kode diatas tidak akan dijelaskan mendetail, jadi silahkan dipelajari sendiri. Namun ada bagian yang bisa anda modifikasi untuk menentukan bentuk atau jenis penanda, yaitu:&lt;/div&gt;&lt;pre&gt;.area {&lt;br /&gt; width: 32px;&lt;br /&gt; height: 32px;&lt;br /&gt; position: absolute;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;.buble-up, .buble-down {&lt;br /&gt; background: url(../img/mark.png) no-repeat 0 0;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;.buble-down {&lt;br /&gt; background-position: 0 -32px;&lt;br /&gt;}&lt;/pre&gt;Silahkan kode diatas dimodifikasi sesuai dengan kebutuhan.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Skenario jQuery&lt;/h3&gt;Secara default skenario jQuery ditulis seperti dibawah ini:&lt;br /&gt;&lt;pre&gt;$('#peta').imgMaps();&lt;/pre&gt;&lt;div style="text-align: justify;"&gt;#peta diambil dari area yang akan digunakan sebagai peta. Perhatikan skenario HTML yang menggunakan id="peta". Anda bisa saja mengganti #peta sesuai dengan keinginan namun perhatikan bahwa id tersebut digunakan sebagai id area peta.&lt;/div&gt;Secara lengkap kode jQuery ditulis seperti dibawah ini:&lt;br /&gt;&lt;pre class="brush: js; wrap-lines: false;"&gt;&amp;lt;script src='https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js'/&amp;gt;&lt;br /&gt;&amp;lt;script type='text/javascript' src='URL/jquery.imgmaps.min.js'/&amp;gt;&lt;br /&gt;&amp;lt;script&amp;gt;&lt;br /&gt;$(document).ready(function(){&lt;br /&gt; $('#peta').imgMaps();&lt;br /&gt;});&lt;br /&gt;&amp;lt;/script&amp;gt;&lt;/pre&gt;&lt;div style="text-align: justify;"&gt;Silahkan letakan kode diatas pada bagian atas tag &amp;lt;/head&amp;gt; atau tag &amp;lt;/body&amp;gt; pada halaman situs anda. Sedangkan untuk konfirgurasi tambahan anda bisa melakukan modifikasi kode jQuery menjadi seperti ini:&lt;/div&gt;&lt;pre&gt;$('#peta').imgMaps({&lt;br /&gt; speed: 250,&lt;br /&gt; titik: 'penanda'&lt;br /&gt;});&lt;/pre&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;speed digunakan untuk menentukan kecepatan tampil tooltips, semakin kecil nilainya semakin cepat tampilannya. Efek yang digunakan adalah efek fade.&lt;/li&gt;&lt;li&gt;titik digunakan untuk menentukan class penanda, perhatikan class="penanda" pada skenario HTML diatas.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;h3&gt;Kesimpulan&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Plugin jQuery Image Maps bermanfaat bagi anda yang biasanya membuat situs sebagai sarana jual beli online. Anda akan dengan mudah untuk menentukan titik lokasi agen atau area dealer dari toko anda. Jika merasa tidak puas dengan fungsi plugin jQuery ini, silahkan lakukan modifikasi agar plugin ini bekerja sesuai dengan keinginan anda. Jika anda tidak keberatan, silahkan kirim informasi kepada author apabila ditemukan bug, perbaikan atau pengembangan pada plugin ini. Selamat mencoba dan semoga berhasil. Happy Blogging :)&lt;/div&gt;</description><link>http://modification-blog.blogspot.com/2012/06/plugin-jquery-image-maps.html</link><author>noreply@blogger.com (Hendriono Dede)</author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-tcB3-ENJpBI/T-2xZpQy6mI/AAAAAAAAGwY/BZ3MdBzY_Aw/s72-c/jQuery-Image-Maps.jpg' height='72' width='72'/><thr:total>5</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-7350022283544621464.post-1496372529206524716</guid><pubDate>Wed, 27 Jun 2012 15:54:00 +0000</pubDate><atom:updated>2012-06-28T19:28:24.572+07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>Facebook</category><category domain='http://www.blogger.com/atom/ns#'>Widget</category><title>JavaScript SDK - Integrasi Facebook dengan Blog</title><description>&lt;div style="text-align: justify;"&gt;Bismillah. Alhamdulillah. Setelah kemarin kita belajar &lt;a href="http://modification-blog.blogspot.com/2012/06/membuat-aplikasi-facebook-untuk-blog.html"&gt;membuat aplikasi Facebook untuk Blogger&lt;/a&gt;, artikel kali ini adalah lanjutan dari pembahasan tentang Facebook untuk Blog. Application ID atau API Key adalah kunci yang akan kita gunakan pada artikel kali ini. Setelah aplikasi kita buat, sebenarnya banyak plugin dan fungsi yang bisa kita gunakan dari Facebook, namun bagaimana semua ini bisa terjadi? Dan bagaimana mana pula sebuah blog mampu mengambil data dari Facebook? Mari kita pelajari...&lt;/div&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;div class="separator"&gt;&lt;img alt=" Integrasi Facebook dengan Blog" src="http://2.bp.blogspot.com/-1u_tyFaLMic/T-m9Vdj5vHI/AAAAAAAAGtc/zaej5ucQxJY/s800/00-aplikasi-fblog.jpg" class="frame"&gt;&lt;/div&gt;&lt;br /&gt;&lt;h3&gt;Apa SDK?&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;SDK atau Software Development Kit (atau sering disebut "devkit") adalah seperangkat alat pengembangan perangkat lunak yang digunakan dalam pembuatan aplikasi software, framework software, platform hardware, sistem komputer, konsol video game, sistem operasi, atau platform yang serupa. Ini membuat proses pembuatan suatu aplikasi menjadi sangat sederhana seperti halnya sebuah Application Programming Interface (API) yang terbentuk dari beberapa file yang merupakan bagian dari sebuah bahasa pemrograman atau termasuk membuat komunikasi perangkat keras canggih dengan sistem yang sudah tersedia didalamnya. Peralatan ini umumnya menyediakan alat debugging atau utilitas lain yang sering dilampirkan pada Integrated Development Environment (IDE).&lt;/div&gt;&lt;br /&gt;&lt;h3&gt;Facebook Javascript SDK&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Seperti telah dijelaskan diatas mengenai peranan SDK dalam pengembangan perangkat lunak, begitu pula peranan JavaScript SDK yang disediakan oleh Facebook. Javascript SDK Facebook menyediakan beragam pengaturan fungsi client-side (sisi pengguna atau sisi browser) untuk mengakses Facebook melalui pemanggilan server-side API (sisi server Facebook). Termasuk fungsi-fungsi API REST, API Graph, dan Dialog-dialog. Kedepannya, kita dapat melengkapi berbagai mekanisme rendering versi XFBML untuk Social Plugin, dan membuka saluran untuk halaman Canvas sehingga mampu berkomunikasi dengan Facebook.&lt;/div&gt;&lt;br /&gt;&lt;h3&gt;Proses Otentikasi Facebook&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Dibawah ini sedikit gambaran bagaimana ketika user (pengguna Facebook) berkunjung ke halaman website anda dan kemudian melakukan suatu tindakan (berbagi konten atau suka).&lt;/div&gt;&lt;div class="separator"&gt;&lt;img class="frame" src="http://3.bp.blogspot.com/-KRe6eoYVUuc/T-sr-AoF0oI/AAAAAAAAGvg/aGJrt3AiTYU/s800/Proses-Otentikasi.jpg" alt="Facebook Authentication Process"/&gt;&lt;/div&gt;&lt;br /&gt;&lt;h3&gt;Penggunaan dan Integrasi Javascript SDK&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Setelah cukup panjang membahas Facebook Javascript SDK, sekarang waktunya kita mengintegrasikan fungsi Javascript SDK ini agar mampu memanggil fungsi-fungsi API sehingga blog kita bisa berkomunikasi lancar dengan sisi server (server-side) Facebook. Sebenarnya ada beberapa metode lain yang bisa digunakan namun diantara cara yang disediakan Facebook, Javascript SDK-lah yang cocok untuk pengguna Blogger. Untuk lebih lengkapnya silahkan pelajari jenis-jenis SDK yang disediakan Facebook pada halaman &lt;a href="https://developers.facebook.com/docs/sdks" rel="nofollow" target="_blank"&gt;Dokumentasi Developer&lt;/a&gt;.&lt;/div&gt;&lt;br /&gt;&lt;b&gt;[1] Penyesuaian Dokumen (Document Conformance)&lt;/b&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Mungkin sebagian pembaca artikel ini ada yang bertanya-tanya, kenapa membutuhkan penyesuaian dokumen? Pihak Facebook menjelaskan bahwa &lt;a href="http://www.w3.org/TR/xhtml1/normative.html" rel="nofollow" target="_blank"&gt;Document Conformance&lt;/a&gt; ini digunakan agar plugin XFBML dapat bekerja dengan baik dan fitur-fitur tambahan lainnya dapat pula bekerja daripada menggunakan metode iframe. Dengan Document Conformance ini berarti diasumsikan bahwa fungsi API benar-benar terintegrasi dari pada metode numpang (iframe). Selain itu, terutama bagi para pengguna browser Internet Explore, Document Conformance digunakan agar XFBML (eXtensible Facebook Markup Language) dapat dirender (ditampilkan) dengan sempurna. Tanpa Document Conformance ini, Internet Explorer tidak akan mampu merender fungsi-fungsi API dengan sempurna.&lt;/div&gt;Sisipkan Document Conformance XFBML dibawah ini pada tag &amp;lt;html&amp;gt;:&lt;br /&gt;&lt;pre&gt;xmlns:fb='http://ogp.me/ns/fb#'&lt;/pre&gt;Sehingga menjadi seperti dibawah ini (contoh dibawah untuk Blogger yang masih menggunakan HTML 4.0)&lt;br /&gt;&lt;pre&gt;&amp;lt;html xmlns='http://www.w3.org/1999/xhtml' xmlns:b='http://www.google.com/2005/gml/b' xmlns:data='http://www.google.com/2005/gml/data' xmlns:expr='http://www.google.com/2005/gml/expr' xmlns:fb='http://ogp.me/ns/fb#'&amp;gt;&lt;/pre&gt;&lt;br /&gt;&lt;b&gt;[2] Integrasi Javascript SDK Facebook&lt;/b&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Setelah penyesuaian dokumen selanjutnya adalah integrasi Javascript SDK pada template blog. Javascript dibawah ini sudah disesuai dengan &lt;a href="http://tools.ietf.org/html/draft-ietf-oauth-v2-15" rel="nofollow" target="_blank"&gt;OAuth 2.0 (Open Standard Co-Authored)&lt;/a&gt; seperti dijelaskan oleh &lt;a href="https://developers.facebook.com/blog/post/525/" rel="nofollow" target="_blank"&gt;Jerry Cain&lt;/a&gt; pada blog Facebook dan juga telah dialihbahasakan sesuai dengan standar &lt;a href="https://www.facebook.com/translations/FacebookLocales.xml" rel="nofollow" target="_blank"&gt;Facebook Localization&lt;/a&gt;.&lt;/div&gt;Masukan (copy paste) kode Javascript SDK Facebook dibawah ini diatas tag &amp;lt;/body&amp;gt; :&lt;br /&gt;&lt;pre class="brush: js; wrap-lines: false;"&gt;&amp;lt;div id='fb-root'/&amp;gt;&lt;br /&gt;&amp;lt;script type='text/javascript'&amp;gt;&lt;br /&gt;// &amp;lt;![CDATA[&lt;br /&gt;window.fbAsyncInit = function() {&lt;br /&gt;FB.init({&lt;br /&gt; appId: 'API_KEY',&lt;br /&gt; status: true,&lt;br /&gt; cookie: true,&lt;br /&gt; xfbml: true,&lt;br /&gt; oauth: true&lt;br /&gt; });   &lt;br /&gt;};&lt;br /&gt;(function() {&lt;br /&gt; var e = document.createElement('script');&lt;br /&gt; e.async = true;&lt;br /&gt; e.src = document.location.protocol &lt;br /&gt;   + '//connect.facebook.net/id_ID/all.js';&lt;br /&gt; document.getElementById('fb-root').appendChild(e);&lt;br /&gt; }());&lt;br /&gt;// ]]&amp;gt;&lt;br /&gt;&amp;lt;/script&amp;gt;&lt;/pre&gt;&lt;div style="text-align: justify;"&gt;Jangan lupa ganti API_KEY dengan ID Aplikasi yang telah anda buat sebelumnya. Kemudian simpan template anda...&lt;/div&gt;&lt;br /&gt;Bersambung...</description><link>http://modification-blog.blogspot.com/2012/06/javascript-sdk-integrasi-facebook.html</link><author>noreply@blogger.com (Hendriono Dede)</author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-1u_tyFaLMic/T-m9Vdj5vHI/AAAAAAAAGtc/zaej5ucQxJY/s72-c/00-aplikasi-fblog.jpg' height='72' width='72'/><thr:total>10</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-7350022283544621464.post-9188649478653311319</guid><pubDate>Tue, 26 Jun 2012 13:54:00 +0000</pubDate><atom:updated>2012-06-28T19:32:57.979+07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>Facebook</category><category domain='http://www.blogger.com/atom/ns#'>Widget</category><title>Membuat Aplikasi Facebook Untuk Blog</title><description>&lt;div style="text-align: justify;"&gt;Bismillah. Alhamdulillah. Facebook sebagai salah satu jejaring sosial sudah tidak diragukan lagi manfaatnya oleh para Blogger. Banyak yang kemudian memanfaatkan Facebook sebagai sarana untuk berbagai artikel yang tentunya dapat mendatangkan trafik yang lebih banyak lagi. Telah banyak blogger membahas tentang integrasi Facebook pada blog dari mulai menambangkan tombol "SUKA" sampai dengan integrasi komentar Facebook dengan Blog. Mungkin Blogger Tune-Up baru kali ini membahas tentang Facebook dibandingkan blogger lainnya dan boleh dikatakan tertinggal informasi. Namun tidak ada salahnya Blogger Tune-Up membahas hal ini sebagai tambahan referensi.&lt;/div&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;div class="separator"&gt;&lt;img class="frame" src="http://2.bp.blogspot.com/-1u_tyFaLMic/T-m9Vdj5vHI/AAAAAAAAGtc/zaej5ucQxJY/s800/00-aplikasi-fblog.jpg" alt="Membuat Aplikasi Facebook" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;h3&gt;Deskripsi&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Pada artikel kali ini kita akan membahas cara membuat aplikasi Facebook dengan mengintegrasikan blog didalamnya. Facebook telah memberikan kesempatan untuk memanfaatkan API (Application Programming Interface) yang banyak digunakan sebagai saluran integrasi antara satu aplikasi dengan aplikasi lain. Disini kita akan mengintegrasikan blog dengan Facebook. Manfaatnya cukup banyak, salah satunya adalah blog yang telah terintegrasi menggunakan API Facebook bisa memanfaatkan hampir semua widget yang disediakan oleh Facebook dengan mudah. Blog yang terintegrasi melalui API Facebook mempermudah pengunjung untuk berbagai konten, baik itu berupa rekomendasi artikel, menandai artikel yang disukai, membagi artikel pada jejaring pengunjung dan lain sebagainya. API sekarang sudah menjadi bagian dari situs-situs besar dengan tujuan untuk mempermudah para pembaca menjangkau artikel-artikel atau informasi yang dibuat oleh suatu situs. Penasaran dengan &lt;a href="http://en.wikipedia.org/wiki/Application_programming_interface" rel="nofollow" target="_blank"&gt;API&lt;/a&gt;? (sama... hehehehe...)&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Tutorial kali ini mungkin belum membahas secara teknis tentang fungsi aplikasi Facebook yang telah kita buat. Pada artikel berikutnya baru akan membahas lebih mendalam tentang pemanfaatan aplikasi Facebook ini. Tujuan utama dari pembuatan aplikasi Facebook untuk Blog ini sebenarnya sederhana yaitu mengambil "KUNCI" API agar proses integrasi antara Facebook dengan Blog kita semakin mudah. Tanpa kunci maka sulit untuk saling berkomunikasi satu sama lain.&lt;/div&gt;&lt;br /&gt;&lt;h3&gt;Proses Pembuatan Aplikasi&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Mudah-mudahan penjelasan diatas memberikan sedikit gambaran tentang fungsi API Key yang akan kita ambil dari Facebook. Untuk membuat aplikasi pada Facebook ikuti langkah dibawah ini:&lt;/div&gt;&lt;b&gt;Langkah 1&lt;/b&gt;&lt;br /&gt;Pastikan anda dalam keadaan login pada situs Facebook dan Blog dengan akun yang telah anda buat (direkomendasikan akun anda telah terverifikasi)&lt;br /&gt;&lt;b&gt;Langkah 2&lt;/b&gt;&lt;br /&gt;Masuklah ke &lt;a href="https://developers.facebook.com/" rel="nofollow" target="_blank"&gt;Pengembang Facebook&lt;/a&gt; (Facebook Developers)&lt;br /&gt;&lt;b&gt;Langkah 3&lt;/b&gt;&lt;br /&gt;Klik menu Aplikasi&lt;br /&gt;&lt;div class="separator"&gt;&lt;img class="frame" src="http://1.bp.blogspot.com/-FnutuuPUJqY/T-m9Vrrn2lI/AAAAAAAAGto/y87sYZdBOZU/s800/01-aplikasi-facebook.jpg" alt="Membuat Aplikasi Facebook" /&gt;&lt;/div&gt;&lt;b&gt;Langkah 4&lt;/b&gt;&lt;br /&gt;Klik tombol "+ Create New App"&lt;br /&gt;&lt;div class="separator"&gt;&lt;img class="frame" src="http://4.bp.blogspot.com/-738CRD9bq6c/T-m9VyaVOlI/AAAAAAAAGt0/VGoQJm_BVDI/s800/02-membuat-aplikasi.jpg" alt="Membuat Aplikasi Facebook" /&gt;&lt;/div&gt;&lt;b&gt;Langkah 5&lt;/b&gt;&lt;br /&gt;Kotak Dialog "Create New App" terbuka, isilah data yang diperlukan kemudian klik tombol "Lanjutkan"&lt;br /&gt;&lt;div class="separator"&gt;&lt;img class="frame" src="http://4.bp.blogspot.com/-gtRv39XIM8g/T-m9WG7gxdI/AAAAAAAAGuA/FVemmCF_CBU/s800/03-mengisi-form.jpg" alt="Mengisi Form Aplikasi Facebook" /&gt;&lt;/div&gt;&lt;b&gt;Langkah 6&lt;/b&gt;&lt;br /&gt;Isilah kotak "Pemeriksaan Keamanan" sesuai dengan gambar yang tampil kemudian klik tombol "Kirim"&lt;br /&gt;&lt;div class="separator"&gt;&lt;img class="frame" src="http://2.bp.blogspot.com/-valm6CC2oFI/T-m9XING9QI/AAAAAAAAGuM/l0GttsBKli8/s800/04-verifikasi-form.jpg" alt="Verifikasi Form Aplikasi Facebook" /&gt;&lt;/div&gt;&lt;b&gt;Langkah 7&lt;/b&gt;&lt;br /&gt;Halaman Aplikas terbuka seperti gambar dibawah ini.&lt;br /&gt;&lt;div class="separator"&gt;&lt;img class="frame" src="http://1.bp.blogspot.com/-E3mRD-d-WgA/T-m9ld-Ep3I/AAAAAAAAGuY/zauQmIZTxwg/s800/05-halaman-setting.jpg" alt="Halaman Setting Aplikasi Facebook" /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Anda bisa saja menyesuaikan bagian ini sesuai keperluan anda, misal mengganti icon (harus 16x16, tipe file JPG, PNG atau GIF) atau mengganti logo (harus maksimal berukuran 75x75, tipe file JPG, PNG atau GIF). Namun bagian yang terpenting adalah pengisian "App Domains" isilah dengan blogspot.com dan "Site URL" pada "Website with Facebook Login", isilah sesuai dengan URL blog anda. Bagian lain abaikan saja jika masih bingung dalam penggunaannya. Kemudian klik tombol "Simpan Perubahan"&lt;/div&gt;&lt;b&gt;Langkah 8&lt;/b&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Nah... Sekarang kita sudah memiliki API Key atau Application ID yang terdapat pada bagian atas. Biasanya tertulis seperti dibawah ini:&lt;/div&gt;&lt;pre&gt;Nama Aplikasi&lt;br /&gt;App ID: 12345678901234 (biasanya terdiri dari 15 angka)&lt;br /&gt;App Secret: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx (bagian rahasia)&lt;/pre&gt;&lt;b&gt;Langkah 9&lt;/b&gt;&lt;br /&gt;Bersabarlah untuk menunggu artikel berikutnya... (hehehehe...)&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Membuat Status via Aplikasi Anda&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Ini anggaplah sebagai bonus saja dari pada tidak ada kegiatan setelah membuat aplikasi Facebook. Anda bisa menerbitkan status dari Aplikasi Facebook anda seperti gambar screenshoot dibawah ini:&lt;/div&gt;&lt;div class="separator"&gt;&lt;img class="frame" src="http://1.bp.blogspot.com/-ARCCS0LMarY/T-m9lrmbd6I/AAAAAAAAGuk/K8B0LrMY3j0/s800/06-update-ah.jpg" alt="Update Status dari Aplikasi Facebook" /&gt;&lt;/div&gt;&lt;b&gt;Caranya bagaimana?&lt;/b&gt;&lt;br /&gt;1. Siapkan notepad atau yang sejenis kemudian copy paste URL dibawah ini:&lt;br /&gt;&lt;pre&gt;https://www.facebook.com/dialog/feed?app_id=&amp;lt;APP_ID&amp;gt;&amp;amp;redirect_uri=http://modification-blog.blogspot.com&lt;/pre&gt;2. Ganti &amp;lt;APP_ID&amp;gt; sesuai dengan API Key/App ID (yang terdiri dari 15 angka) seperti terlihat pada langkah 8&lt;br /&gt;3. Ganti URL http://modification-blog.blogspot.com sesuai dengan URL blog yang anda gunakan saat membuat aplikasi&lt;br /&gt;4. Paste URL yang sudah dimodifikasi tersebut pada Adress Bar browser kemudian buka, maka halaman update status akan terbuka seperti dibawah ini:&lt;br /&gt;&lt;div class="separator"&gt;&lt;img class="frame" src="http://1.bp.blogspot.com/-XOfgj-nfCM0/T-m9lxRmqxI/AAAAAAAAGuw/Ju9GLZ6FcOQ/s800/07-update-status.jpg" alt="Update Status dari Aplikasi Facebook" /&gt;&lt;/div&gt;5. Kemudian "BAGIKAN!!!"... Berhasil!!!&lt;br /&gt;&lt;br /&gt;Selamat mencoba dan semoga berhasil. Happy Blogging :)</description><link>http://modification-blog.blogspot.com/2012/06/membuat-aplikasi-facebook-untuk-blog.html</link><author>noreply@blogger.com (Hendriono Dede)</author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-1u_tyFaLMic/T-m9Vdj5vHI/AAAAAAAAGtc/zaej5ucQxJY/s72-c/00-aplikasi-fblog.jpg' height='72' width='72'/><thr:total>20</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-7350022283544621464.post-5410876796593783296</guid><pubDate>Fri, 22 Jun 2012 11:16:00 +0000</pubDate><atom:updated>2012-06-28T19:51:28.775+07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>jQuery</category><title>jQuery Modal Popup - Form Newsletter</title><description>&lt;div style="text-align: justify;"&gt;Bismillah. Alhamdulillah. Pada saat kita berkunjung pada suatu situs, sering kita dihadapkan dengan kotak popup yang meminta kita untuk berlangganan Newsletter (berita terbaru yang dikirim via email), dengan memasukan alamat email dan kemudian kita diberi sebuah panduan berupa eBooks sebagai ucapan terima kasih karena telah berlangganan. &lt;i&gt;Nah&lt;/i&gt;, pada artikel kali ini kita akan membahas tentang pembuatan Popup Form Signup Newsletter tersebut.&lt;/div&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;div class="separator"&gt;&lt;img class="frame" src="http://1.bp.blogspot.com/-c5x106WKSEQ/T-RWU5r_taI/AAAAAAAAGqg/YNXT4J-t6j0/s800/Form-Newsletter.jpg" alt="jQuery Modal Popup - Form Newsletter"/&gt;&lt;/div&gt;&lt;div id="infozr"&gt;&lt;a class="icon demo" href="http://jsfiddle.net/hendriono/Jg8rd/show/" target="_blank" rel="nofollow"&gt;&lt;span&gt;Demo jQuery Modal Popup - Form Newsletter&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;div id="infozr"&gt;&lt;a class="icon unduh" href="https://www.box.com/s/a8b77d5f3806798e9937" target="_blank" rel="nofollow"&gt;&lt;span&gt;Download jQuery Modal Popup - Form Newsletter&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;h3&gt;Deskripsi&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Pada saat pengunjung membuka halaman kita maka cookie akan memeriksa, apakah browser yang membuka halaman situs kita sudah menyimpan cookie? Jika belum maka Form Newsletter akan ditampilkan, namun jika browser telah menyimpan cookie yang artinya telah pernah berlangganan maka Form Newsletter tidak ditampilkan. Pada saat Form Newsletter ditampilkan maka semua halaman situs akan ditutup overlay sampai pengunjung melakukan aksi "Close" atau "Submit" pada Form. Jika pengunjung hanya melakukan aksi "Close" maka cookie tidak akan menyimpan data apapun, sehingga saat pengunjung tersebut membuka situs kita lagi dilain waktu maka Form Newsletter akan ditampilkan lagi.&lt;/div&gt;Untuk membuat Form Newsletter ini kita membutuhkan 3 buah plugin jQuery, yaitu:&lt;br /&gt;&lt;ol style="text-align: justify;"&gt;&lt;li&gt;&lt;a href="http://fuelyourcoding.com/scripts/infield.html" rel="nofollow" target="_blank"&gt;In-Field Label jQuery Plugin&lt;/a&gt; yang dibuat oleh Doug Neiner. Plugin ini digunakan untuk mengatur label pada input, agar ketika cursor aktif maka label akan disembunyikan. (plugin tambahan dan tidak terlalu penting)&lt;/li&gt;&lt;li&gt;&lt;a href="http://dinbror.dk/bpopup" rel="nofollow" target="_blank"&gt;jQuery Modal Popup Plugin&lt;/a&gt; yang dibuat oleh Bjoern Klinggaard. Ini plugin yang digunakan untuk menampilkan dan mengatur popup. Plugin ini diberi nama jQuery bPopup dan kita akan menggunakan Versi 0.4.1. Untuk versi terbaru silahkan kunjungi situs pembuatnya.&lt;/li&gt;&lt;li&gt;&lt;a href="http://stilbuero.de/" rel="nofollow" target="_blank"&gt;jQuery Cookie&lt;/a&gt; yang dibuat oleh Klaus Hartl. Plugin ini yang mengatur penulisan, pengecekan dan penghapusan cookie pada browser pengunjung.&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;h3&gt;Skenario HTML&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Seperti biasa, untuk membuat sebuah elemen maka kita memerlukan sebuah kontener yang disimpan pada halaman HTML. Dibawah ini adalah kode HTML yang digunakan untuk membuat tampilan dari Popup Form Newsletter&lt;/div&gt;&lt;pre class="brush: html; wrap-lines: false;"&gt;&amp;lt;div id="jq-popup" style="display:none; background-color: #2C7BB3;"&amp;gt; &lt;br /&gt;&amp;lt;div class="pClose exit-button"&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&amp;lt;p&amp;gt;&lt;br /&gt; &amp;lt;h1&amp;gt;Berita Gembira: Dapatkan Panduan 10 langkah untuk menjadi jutawan Internet!&amp;lt;/h1&amp;gt;&lt;br /&gt; &amp;lt;p&amp;gt;Jangan lewatkan untuk berlangganan informasi dari Blogger Tune-Up!&amp;lt;/p&amp;gt;&lt;br /&gt; &amp;lt;form method="post" id="newsletter-signup-form" action="URL Proses"&amp;gt;&lt;br /&gt;  &amp;lt;fieldset&amp;gt;&lt;br /&gt;   &amp;lt;div id="newsletter" class="clear"&amp;gt;&lt;br /&gt;    &amp;lt;p class="inline-label"&amp;gt;&lt;br /&gt;     &amp;lt;label class="pInline inline-label" onclick='if (this.value == "Sign up now") { this.value = ""; }' for="email-address"&amp;gt;Masukan Alamat Email Anda&amp;lt;/label&amp;gt;&lt;br /&gt;     &amp;lt;input type="text" id="email-address" name="email" value="" /&amp;gt;&lt;br /&gt;    &amp;lt;/p&amp;gt;&lt;br /&gt;    &amp;lt;input type="submit" id="newsletter-submit" class="go-signup" value="Dapatkan Panduan Gratis"/&amp;gt;&lt;br /&gt;   &amp;lt;/div&amp;gt;&lt;br /&gt;  &amp;lt;/fieldset&amp;gt;&lt;br /&gt; &amp;lt;/form&amp;gt;&lt;br /&gt; &amp;lt;p class="not-ready"&amp;gt;Mungkin lain waktu? Baiklah, Kenapa tidak berlangganan &amp;lt;a href="http://feeds.feedburner.com/BloggerTune-up"&amp;gt;RSS Feed&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;&amp;lt;/p&amp;gt;&lt;br /&gt;&amp;lt;/div&amp;gt;&lt;/pre&gt;Bagian terpenting dari Form Newsletter diatas adalah sebagai berikut:&lt;br /&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;id="jq-popup" : Ini bagian yang akan kita registrasikan pada plugin. Jika anda menggantinya maka ganti pula pada skenario jQuery-nya. (Sebaiknya jangan diubah jika belum memahaminya)&lt;/li&gt;&lt;li&gt;class="pClose exit-button" : Bagian pClose sebaiknya jangan diganti karena bagian ini akan diakses oleh Plugin jQuery bPopup.&lt;/li&gt;&lt;li&gt;id="newsletter-signup-form" : Bagian ini yang akan diregistrasikan pada jQuery Cookie.&lt;/li&gt;&lt;li&gt;action="URL Proses" : Gantilan URL Proses dengan alamat URL yang telah anda siapkan untuk memproses data input dari form.&lt;/li&gt;&lt;li&gt;class="pInline inline-label" : Bagian ini juga akan diakses oleh plugin jQuery bPopup dan jQuery In-Field Label,jadi biarkan seperti itu.&lt;/li&gt;&lt;li&gt;Sedangkan bagian-bagian lain silahkan sesuaikan dengan imajinasi dan kebutuhan anda.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;h3&gt;Skenario CSS&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Skenario CSS dibawah ini digunakan untuk memberikan sentuhan menarik pada form newsletter. Jika anda mengerti tentang bahasa CSS, silahkan manipulasi sesuai dengan imajinasi anda. (&lt;i&gt;Ma'af tidak bisa menjelaskan baris perbaris...&lt;/i&gt;)&lt;/div&gt;&lt;pre class="brush: css; wrap-lines: false;"&gt;#jq-popup h1 {&lt;br /&gt; font-family: Arial,Helvetica,sans-serif;&lt;br /&gt; font-size: 1.75em;&lt;br /&gt; line-height: 1.375em;&lt;br /&gt; margin: 0 0 0.5em;&lt;br /&gt; font-weight: 700;&lt;br /&gt; color: #FEFEFE;&lt;br /&gt;}&lt;br /&gt;#jq-popup .hidden {&lt;br /&gt; display: none;&lt;br /&gt; visibility: hidden;&lt;br /&gt;}&lt;br /&gt;#jq-popup input[type="button"], #jq-popup input[type="submit"], #jq-popup button {&lt;br /&gt; cursor: auto;&lt;br /&gt;}&lt;br /&gt;#jq-popup select, #jq-popup input, #jq-popup textarea, #jq-popup button {&lt;br /&gt; font: 99% sans-serif;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;#jq-popup p.inline-label {&lt;br /&gt; position:relative; color:#000000;&lt;br /&gt;}&lt;br /&gt;#jq-popup label.inline-label {&lt;br /&gt; position:absolute; &lt;br /&gt; top:22px; &lt;br /&gt; left:15px; &lt;br /&gt; text-shadow: none;&lt;br /&gt;}&lt;br /&gt;#jq-popup {&lt;br /&gt; width: 500px;&lt;br /&gt; padding:20px;&lt;br /&gt; background: #2c7bb3;&lt;br /&gt; border: 5px solid #fafafa;&lt;br /&gt; color: #fefefe;&lt;br /&gt; font-family: Helvetica,Arial,sans-serif;&lt;br /&gt; font-size: 14px;&lt;br /&gt; line-height: 1.5em;&lt;br /&gt; text-shadow: 0 1px 1px #444;&lt;br /&gt; box-shadow: 0 0 10px #000, 0 1px 4px rgba(0, 0, 0, 0.27), 0 0 40px rgba(0, 0, 0, 0.06) inset, 0 0 1px rgba(0, 0, 0, 0.4), 0px 16px 14px -10px rgba(0, 0, 0, 0.5);;&lt;br /&gt; -webkit-box-shadow: 0 0 10px #000, 0 1px 4px rgba(0, 0, 0, 0.27), 0 0 40px rgba(0, 0, 0, 0.06) inset, 0 0 1px rgba(0, 0, 0, 0.4), 0px 16px 14px -10px rgba(0, 0, 0, 0.5);;&lt;br /&gt; -moz-box-shadow: 0 0 10px #000, 0 1px 4px rgba(0, 0, 0, 0.27), 0 0 40px rgba(0, 0, 0, 0.06) inset, 0 0 1px rgba(0, 0, 0, 0.4), 0px 16px 14px -10px rgba(0, 0, 0, 0.5);&lt;br /&gt; border-radius: 4px;&lt;br /&gt; -moz-border-radius: 4px;&lt;br /&gt; -webkit-border-radius: 4px;&lt;br /&gt;}&lt;br /&gt;#jq-popup form fieldset {&lt;br /&gt; border: none;&lt;br /&gt;}&lt;br /&gt;#jq-popup p {&lt;br /&gt; margin: 0px;&lt;br /&gt;}&lt;br /&gt;#jq-popup a, #jq-popup a:visited {&lt;br /&gt; color: #fff;&lt;br /&gt;}&lt;br /&gt;#jq-popup #email-address {&lt;br /&gt; font-size: 16px;&lt;br /&gt; width: 474px;&lt;br /&gt; border: 3px solid #cecece;&lt;br /&gt; padding: 10px;&lt;br /&gt; margin: 10px 0;&lt;br /&gt; border-radius: 4px;&lt;br /&gt; -moz-border-radius: 4px;&lt;br /&gt; -webkit-border-radius: 4px;&lt;br /&gt;} &lt;br /&gt;#jq-popup #newsletter-submit {&lt;br /&gt; float: right;&lt;br /&gt; display: block;&lt;br /&gt; color: #fff;&lt;br /&gt; text-shadow: 0 1px 1px rgba(0,0,0,0.45);&lt;br /&gt; font-weight: 700;&lt;br /&gt; background: #d08032 url(img/button-gradient.png) 0 50% repeat-x;&lt;br /&gt; border: 1px solid #d08032;&lt;br /&gt; padding: 7px;&lt;br /&gt; text-align: center;&lt;br /&gt; margin-bottom: 10px;&lt;br /&gt; border-radius: 4px;&lt;br /&gt; -moz-border-radius: 4px;&lt;br /&gt; -webkit-border-radius: 4px;&lt;br /&gt;}&lt;br /&gt;#jq-popup #newsletter-submit:hover {&lt;br /&gt; background: #d05032 url(button-gradient.png) 0 50% repeat-x;&lt;br /&gt; border-color: #d05032;&lt;br /&gt;}&lt;br /&gt;#jq-popup .exit-button {&lt;br /&gt; display: block;&lt;br /&gt; position: absolute;&lt;br /&gt; top: -15px;&lt;br /&gt; right: -15px;&lt;br /&gt; width: 25px;&lt;br /&gt; height: 25px;&lt;br /&gt; background: url(http://lh6.ggpht.com/_xcD4JK_dIjU/TEfN4VrRQPI/AAAAAAAAESY/so-0qObS1BM/s800/jquery.imageZoom.png) no-repeat;&lt;br /&gt;}&lt;br /&gt;#jq-popup .exit-button:hover { &lt;br /&gt; cursor:pointer;&lt;br /&gt;}&lt;br /&gt;#jq-popup .exit-phrase {&lt;br /&gt; margin: 15px 0 0 0;&lt;br /&gt; float: right;&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;&lt;h3&gt;Skenario jQuery&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Perhatikan skenario jQuery dibawah ini agar kita mampu melakukan modifikasi fungsi sesuai kebutuhan dan imajinasi.&lt;/div&gt;&lt;pre class="brush: js; wrap-lines: false;"&gt;jQuery(document).ready(function () {&lt;br /&gt; // Menghubungkan Cookie dengan aksi tombol submit&lt;br /&gt; jQuery("#newsletter-signup-form").submit(function () {&lt;br /&gt;  jQuery.cookie("popup_seen_", '1', {&lt;br /&gt;   expires: 30,&lt;br /&gt;   path: "/"&lt;br /&gt;  });&lt;br /&gt; });&lt;br /&gt; // Membuat Popup&lt;br /&gt; if (jQuery.cookie('popup_seen_') != 1)&lt;br /&gt; jQuery('#jq-popup').bPopup({&lt;br /&gt;  cookieClose: true,&lt;br /&gt;  cookieExpire: 30,&lt;br /&gt;  modalColor: "#000",&lt;br /&gt;  modalClose: false,&lt;br /&gt;  vStart: 100,&lt;br /&gt;  closeClass: "pClose",&lt;br /&gt;  delay: 1000,&lt;br /&gt;  follow: false,&lt;br /&gt;  inlineClass: "pInline",&lt;br /&gt;  inlineLabel: true,&lt;br /&gt;  escClose: true&lt;br /&gt; });&lt;br /&gt;});&lt;/pre&gt;Skenario jQuery diatas dibagi menjadi 2 blok, yaitu:&lt;br /&gt;&lt;b&gt;Penulisan Cookie&lt;/b&gt;&lt;br /&gt;&lt;pre class="brush: js; wrap-lines: false;"&gt;jQuery("#newsletter-signup-form").submit(function () {&lt;br /&gt; jQuery.cookie("popup_seen_", '1', {&lt;br /&gt;  expires: 30,&lt;br /&gt;  path: "/"&lt;br /&gt; });&lt;br /&gt;});&lt;/pre&gt;&lt;div style="text-align: justify;"&gt;Jika pengunjung melakukan submit dengan identitas tombol #newsletter-signup-form maka jQuery Plugin akan menuliskan cookie dengan nama popup_seen_ dengan nilai (value) 1. Cookie ini akan berakhir pada 30 hari kedepan (expires: 30) dan cookie ini berlaku pada semua halaman situs (path: "/").&lt;/div&gt;&lt;br /&gt;&lt;b&gt;Pengecekan Cookie dan Pembuatan Form Newsletter&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;if (jQuery.cookie('popup_seen_') != 1)&lt;/pre&gt;Pemeriksaan cookie. Jika cookie bernama popup_seen_ tidak sama dengan 1 maka...&lt;br /&gt;&lt;pre&gt;jQuery('#jq-popup').bPopup({&lt;/pre&gt;Form Newsletter dengan identitas #jq-popup akan dibuat&lt;br /&gt;&lt;pre&gt;cookieClose: true,&lt;/pre&gt;Jika bernilai true maka cookie akan ditulis ketika tombol Close diklik. Jika bernilai false maka cookie tidak akan ditulis ketika tombol close diklik.&lt;br /&gt;&lt;pre&gt;cookieExpire: 30,&lt;/pre&gt;Cookie akan berlaku selama 30 hari kedepan&lt;br /&gt;&lt;pre&gt;modalColor: "#000",&lt;/pre&gt;Untuk menentukan warna Overlay atau warna latar dari form&lt;br /&gt;&lt;pre&gt;modalClose: false,&lt;/pre&gt;Jika bernilai false maka ketika overlay/latar di klik maka form tidak akan ditutup. Jika bernilai true maka form akan ditutup ketika overlay/latar diklik.&lt;br /&gt;&lt;pre&gt;vStart: 100,&lt;/pre&gt;Vertical Start atau jarak form dari atas. Ubah nilai untuk menentukan posisi form saat diload secara vertikal.&lt;br /&gt;&lt;pre&gt;closeClass: "pClose",&lt;/pre&gt;Ketika tombol dengan class pClose diklik, maka form akan ditutup.&lt;br /&gt;&lt;pre&gt;delay: 1000,&lt;/pre&gt;Jeda waktu tampil form dimulai saat halaman diload. Idealnya 5000 milidetik.&lt;br /&gt;&lt;pre&gt;follow: false,&lt;/pre&gt;Jika bernilai false maka form tidak akan mengikuti pergerakan halaman ketika discroll. Jika bernilai true maka form akan selalu berada ditengah halaman ketika pengujung melakukan scroll halaman.&lt;br /&gt;&lt;pre&gt;inlineClass: "pInline",&lt;/pre&gt;Class pInline digunakan untuk menampilkan label yang akan diakses juga oleh plugin jQuery In-Field Label&lt;br /&gt;&lt;pre&gt;inlineLabel: true,&lt;/pre&gt;Jika bernilai true maka label akan ditampilkan. Jika bernilai false maka label (Masukan Alamat Email Anda) tidak akan ditampilkan.&lt;br /&gt;&lt;pre&gt;escClose: true&lt;/pre&gt;Jika bernilai true maka ketika pengunjung menekan tombol Esc maka form akan ditutup. Jika benilai false maka tombol Esc tidak berpengaruh pada form.&lt;br /&gt;&lt;pre&gt;});&lt;/pre&gt;Fungsi pembuatan Popup ditutup&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Total Skenario&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Lalu bagaimana integrasi pada Blogger? Pastikan anda berada pada Template - Edit HTML kemudian tempat bagian-bagian dibawah ini.&lt;/div&gt;[1] Tempatkan kode dibawah ini diatas tag &amp;lt;/head&amp;gt;:&lt;br /&gt;&lt;pre class="brush: js; wrap-lines: false;"&gt;&amp;lt;script src='https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js'/&amp;gt;&lt;br /&gt;&amp;lt;script src='https://raw.github.com/hendriono/Blogger-Plugins/master/js/jquery.infieldlabel.js'/&amp;gt;&lt;br /&gt;&amp;lt;script src='https://raw.github.com/hendriono/Blogger-Plugins/master/js/jquery.bpopup.js'/&amp;gt;&lt;br /&gt;&amp;lt;script src='http://yandex.st/jquery/cookie/1.0/jquery.cookie.min.js'/&amp;gt;&lt;br /&gt;&amp;lt;script type="text/javascript"&amp;gt;//&amp;lt;![CDATA[&lt;br /&gt;jQuery(document).ready(function () {&lt;br /&gt; // Menghubungkan Cookie dengan aksi tombol submit&lt;br /&gt; jQuery("#newsletter-signup-form").submit(function () {&lt;br /&gt;  jQuery.cookie("popup_seen_", '1', {&lt;br /&gt;   expires: 30,&lt;br /&gt;   path: "/"&lt;br /&gt;  });&lt;br /&gt; });&lt;br /&gt; // Membuat Popup&lt;br /&gt; if (jQuery.cookie('popup_seen_') != 1)&lt;br /&gt; jQuery('#jq-popup').bPopup({&lt;br /&gt;  cookieClose: true,&lt;br /&gt;  cookieExpire: 30,&lt;br /&gt;  modalColor: "#000",&lt;br /&gt;  modalClose: false,&lt;br /&gt;  vStart: 100,&lt;br /&gt;  closeClass: "pClose",&lt;br /&gt;  delay: 1000,&lt;br /&gt;  follow: false,&lt;br /&gt;  inlineClass: "pInline",&lt;br /&gt;  inlineLabel: true,&lt;br /&gt;  escClose: true&lt;br /&gt; });&lt;br /&gt;});&lt;br /&gt;//]]&amp;gt;&amp;lt;/script&amp;gt;&lt;/pre&gt;[2] Tempatkan kode CSS (Skenario CSS) diatas kode ]]&amp;gt;&amp;lt;/b:skin&amp;gt;&lt;br /&gt;[3] Tempatkan kode HTML (Skenario HTML) diatas kode &amp;lt;/body&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Kesimpulan&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Kode diatas hanya dijelaskan secara praktis dan sederhana. Jika anda merasa tidak puas dengan penjelasan diatas silahkan lakukan ekplorasi pada situs pembuat dari plugin-plugin yang sudah disebutkan diatas. Semua kembali kepada imajinasi anda. Selamat mencoba dan semoga berhasil. Happy Blogging :)&lt;/div&gt;</description><link>http://modification-blog.blogspot.com/2012/06/jquery-modal-popup-form-newsletter.html</link><author>noreply@blogger.com (Hendriono Dede)</author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-c5x106WKSEQ/T-RWU5r_taI/AAAAAAAAGqg/YNXT4J-t6j0/s72-c/Form-Newsletter.jpg' height='72' width='72'/><thr:total>13</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-7350022283544621464.post-904296391680396577</guid><pubDate>Mon, 18 Jun 2012 08:09:00 +0000</pubDate><atom:updated>2012-06-28T19:53:21.402+07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>Basic</category><category domain='http://www.blogger.com/atom/ns#'>Blog</category><title>Kreatifitas Blogger yang Kebablasan</title><description>&lt;div style="text-align: justify;"&gt;Bismillah. Sungguh sangat disayangkan dengan tingkah laku Blogger Cloning jika kemudian hasil cloning-nya tersebut diperjualbelikan. Saya secara pribadi sebagai seorang penulis tutorial blog juga tidak bisa memungkirinya, kadang atau bahkan sering melakukan CTRL-U untuk melihat source code yang digunakan, dipelajari bagaimana cara kerjanya dan kemudian direkayasa sesuai imajinasi yang kita miliki. Namun "TIDAK PERNAH MENJUALNYA" karena hal itu merugikan pelaku cloning.&lt;/div&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;div class="separator"&gt;&lt;img class="frame" src="http://2.bp.blogspot.com/-ft1dY2vpYec/T97h7XZwiMI/AAAAAAAAGpw/7aN7HDMJo8c/s800/cloning-plagiat.jpg" alt="Cloning sama dengan Plagiat"/&gt;&lt;/div&gt;&lt;br /&gt;&lt;h3&gt;Kerugian Pelaku Cloning&lt;/h3&gt;&lt;b&gt;[1] Hilang Kehormatan&lt;/b&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Berapa yang sudah anda peroleh dari jual beli hasil cloning? Itu tidak sebanding dengan hilangnya rasa hormat blogger lain. Bukankah blogger yang hebat itu adalah blogger yang dihormati sepanjang hari, bulan, tahun, bahkan bertahun-tahun? Apa yang kamu lakukan hari ini bisa saja mengakhiri semua mimpimu dimasa datang.&lt;/div&gt;&lt;br /&gt;&lt;b&gt;[2] Mematikan Kreatifitas&lt;/b&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Bukankah dengan cloning anda tidak perlu bersusah payah mengumpulkan ide dan kemudian mengaplikasikannya? Hal termahal dari seorang blogger adalah "IDE". Dan ide itu bukanlah hal yang tiba-tiba datang menghampiri, perlu ilmu pengetahuan yang cukup, perlu sejumlah sahabat, perlu kemampuan dan masih banyak faktor lain untuk menumbuhkan ide dalam diri. Cukupkah semuanya hanya sampai ke ide? Tidak... Ide harus direalisasikan kedalam bentuk real agar orang lain bisa menikmati bahkan mengagumi hasil ide kita. Untuk merealisasikan ide maka kita membutuhkan disiplin ilmu tertentu dan itu berarti menuntut kita untuk belajar tentang ilmu yang bersangkutan dengan ide yang akan direalisasikan. Ketika ide mampu terealisasikan maka itulah kreatifitas.&lt;/div&gt;&lt;br /&gt;&lt;b&gt;[3] Terjebak&lt;/b&gt;&lt;br /&gt;Seorang blogger yang sudah menikmati tindakan cloning akan terjebak didalamnya. Ia akan sulit keluar dari lingkaran cloning dan itu sama dengan mematikan kreatifitas dalam diri. Seorang blogger yang terkungkung dalam jebakan cloning akan diam menunggu mangsa atau justru haus untuk mencari target, ketika menemukan target ia tidak akan peduli lagi dengan sekitarnya. Seperti itulah yang kemudian terjadi dalam dirinya, terulang dan berulang-ulang. Bukankah yang demikian sama dengan terjebak? Diam, mencari namun tetap tidak bisa keluar. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;[4] Stagnan&lt;/b&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Blogger cloning akan merasakan stagnan dalam dirinya disaat ia sudah merasa lelah untuk melakukan cloning. Stagnan atau tidak ada perubahan justru akan membentuk blogger paling ego dan paling sombong karena tidak bisa merasakan orang lain atau bahkan tidak mampu menghargai kreatifitas orang lain. Harus diingat bahwa banyak blogger selain diri kita bisa melakukan cloning namun mereka tidak mengambil keuntungan dari cloning tersebut, karena mereka sadar, cloning tidak akan membuat dirinya berkembang dan dihormati.&lt;/div&gt;&lt;br /&gt;&lt;b&gt;[5] Keras Hati&lt;/b&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Bukankah Cloning itu tidak ada Undang-Undangnya? Itulah yang akan sering digunakan sebagai alasan. Blogger syarat dengan blogosphere yaitu semangat untuk saling menghargai satu sama lain. Jangankan total mencuri (cloning) satu bagian saja kita mesti meminta ijin sang pemilik, karena blogger sebenarnya tahu bahwa mengambil secara keseluruhan sama dengan merampoknya. Satu bagian saja itu terkadang sang pemilik dengan berat hati memberikan ijin walau pemilik tahu mereka sudah mengambilnya. Disinilah terjadi interaksi yang membentuk peraturan-peraturan tidak tertulis, dan interaksi inilah yang akan memperat tali persahabatan antar blogger. Saling mempercayai dan menghormati merupakan kekuatan blogosphere yang tak ternilai harganya. Berlaku sebaliknya untuk para pelaku cloning, mereka sudah tidak peduli lagi apa yang terjadi yang penting diri sendiri sudah berhasil melakukan cloning, bukankah yang demikian adalah sebaliknya? Itu sama dengan menciptakan permusuhan. Dan permusuhan adalah hal yang tidak akan pernah selesai sampai kapanpun. Pepatah menyebutkan "Musuh satu terlalu banyak namun kawan seribu terlalu sedikit"&lt;/div&gt;&lt;br /&gt;&lt;h3&gt;Benarkan Harga Desain Blogku Rp. 20.000?&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Heran... Itulah yang terpikirkan olehku. Ada apa dengan Blogger Indonesia? Jika memang mampu melakukan cloning maka hindari blog lokal karena itu jelas sangat merugikan keberadaan blogger lokal. Itu sama dengan saling menjatuhkan sesama teman. Kapan kita akan dihormati dan disegani blogger Internasional kalau ternyata didalamnya kita saling menjatuhkan? Blogger Tune-Up terbuka dan memperbolehkan untuk diambil source codenya, baik itu berupa tutorial atau plugin dan diperbolehkan untuk diperjual belikan dengan atau tanpa backlink seperti tertuang dalam halaman &lt;a href="http://modification-blog.blogspot.com/p/persyaratan.html" target="_blank"&gt;Perizinan &amp;amp; Syarat Penggunaan&lt;/a&gt;. Namun bukan berarti diperbolehkan diambil secara total dengan brangkas-brangkasnya. Kalau misal bermunculan tampilan seperti Blogger Tune-Up itu justru akan membingungkan para pengunjung. Kejadian yang lalu bisa terulang lagi ketika seorang pembeli template marah-marah di email saya dengan tuduhan saya melakukan cloning atas blognya. Dilain kejadian ada blogger meminta pertanggungjawaban karena blognya tidak berjalan dengan baik. Saya belum pernah menjual template tapi kenapa saya yang kena getahnya? Rugi 2 kali, rugi karena di cloning, dan rugi dimarahi orang lain. Saya hanya berharap pengertiannya dari para blogger Indonesia, sampai hari ini saya tidak melakukan tindakan apa-apa karena saya masih berfikir jauh dan masih merasa kita sama-sama dari Indonesia, entahlah jika cloning dilakukan oleh blogger negara lain, mungkin saya juga tidak akan berdiam diri.&lt;/div&gt;</description><link>http://modification-blog.blogspot.com/2012/06/kreatifitas-blogger-yang-kebablasan.html</link><author>noreply@blogger.com (Hendriono Dede)</author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-ft1dY2vpYec/T97h7XZwiMI/AAAAAAAAGpw/7aN7HDMJo8c/s72-c/cloning-plagiat.jpg' height='72' width='72'/><thr:total>56</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-7350022283544621464.post-8599378427302374096</guid><pubDate>Sat, 16 Jun 2012 09:13:00 +0000</pubDate><atom:updated>2012-06-28T19:55:19.759+07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>(X)HTML</category><title>Image Maps (Map Area Coords)</title><description>&lt;div style="text-align: justify;"&gt;Bismillah. Alhamdulillah. Pernahkah kita berkunjung pada suatu situs yang didalamnya menggunakan peta? Kemudian ketika kita arahkan mouse dan klik suatu area maka kita diarahkan pada suatu target URL? Jika pernah maka kemungkinan terbesar situs tersebut menggunakan Image Maps (Pemetaan Gambar). Fungsi ini sangat bermanfaat dan mampu menyederhanakan peranan tag-tag lain, namun tag map ini sangat jarang digunakan. Entah karena kerumitannya atau karena ketidaktahuan? Mari kita pelajari bagaiman Image Maps ini bekerja dan semoga apa yang dijabarkan mampu membantu menyederhanakan hal yang terlihat rumit menjadi mudah, sederhana dan dipahami dengan baik.&lt;/div&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;div class="separator"&gt;&lt;img class="frame" src="http://1.bp.blogspot.com/-mgDgsc47_5s/T9xMWKnWUtI/AAAAAAAAGn4/d2HzNi2656w/s800/00-image-maps.jpg" alt="Image Maps - Map Area Coords" /&gt;&lt;/div&gt;&lt;div id="infozr"&gt;&lt;a class="icon demo" href="http://jsfiddle.net/hendriono/85mn9/1/show/" target="_blank" rel="nofollow"&gt;&lt;span&gt;Demo Image Maps (Map Area Coords)&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;div id="infozr"&gt;&lt;a class="icon unduh" href="https://www.box.com/s/4ca1d1fa9d83748d6de4" target="_blank" rel="nofollow"&gt;&lt;span&gt;Download Image Maps (Map Area Coords)&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;h3&gt;Deksripsi&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Image Map atau Pemetaan Gambar memungkinkan author (penulis) untuk menentukan daerah (area) dari suatu gambar (img) atau objek (object) dan menetapkan tindakan tertentu untuk masing-masing daerah (area) (misal; mengambil dokumen, menjalankan program, mengarahkan URL dan lain-lain). Ketika daerah (area) tersebut di eksekusi atau diaktifkan oleh user maka aksi akan dijalankan. Fungsi tag ini sebenarnya sangat bermanfaat ketika kita ingin memetakan suatu gambar dan menyisipkan aksi-aksi didalamnya, hal yang mungkin menjadi sangat sulit jika diterapkan dengan metode (tag) lain.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Kita akan membahas 2 tag dan 3 attibut untuk menggunakaan fungsi pemetaan ini, yaitu:&lt;/div&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;Tag &amp;lt;map&amp;gt; digunakan untuk mendefinisikan sisi klien peta gambar (image-map). Peta gambar adalah gambar dengan area yang dapat dieksekusi atau di klik. Elemen name pada tag &amp;lt;map&amp;gt; diperlukan/wajib dan hal ini terkait dengan attribut usemap pada tag &amp;lt;img&amp;gt; yang berfungsi untuk menciptakan hubungan antara gambar dan peta. Identitas yang ada pada attibut name (tag &amp;lt;map&amp;gt;) terkait erat dengan identitas yang ada pada attribut usemap (tag &amp;lt;img&amp;gt;). Identitas ini harus sama agar gambar dan peta mampu berhubungan. Unsur &amp;lt;map&amp;gt; berisi sejumlah elemen &amp;lt;area&amp;gt; dengan fungsi untuk mendefinisikan daerah yang dapat diklik/dieksekusi dalam peta gambar.&lt;/li&gt;&lt;li&gt;Tag &amp;lt;area&amp;gt; digunakan untuk mendefinisikan area atau daerah didalam peta gambar. Area merupakan tag spesifik untuk membagi-bagi daerah dalam peta gambar dan daerah tersebut adalah area yang dapat dieksekusi/diklik. Tag &amp;lt;area&amp;gt; selalu dan wajib berada didalam tag &amp;lt;map&amp;gt;.&lt;/li&gt;&lt;li&gt;Attribut usemap dan attribut name adalah attribut penyatuan anatara 2 elemen, yaitu elemen gambar dengan elemen peta. Attribut usemap pada tag &amp;lt;img&amp;gt; dikaitkan langsung dengan attribut name pada tag &amp;lt;map&amp;gt; dan menciptakan hubungan antara gambar dengan peta. Pada mulanya antara gambar (&amp;lt;img&amp;gt;) dengan peta (&amp;lt;map&amp;gt;) adalah 2 elemen yang terpisah satu sama lain. Gambar hanya berisi objek dan peta hanya berisi area pemetaan, kemudian keduanya menjadi satu karena satu sama lain dikaitkan. Pengkaitan ini menggunakan 2 attribut yaitu attribut usemap pada tag &amp;lt;img&amp;gt; dan attribut name pada tag &amp;lt;map&amp;gt;. Kedua attribut itu harus memiliki identitas sama.&lt;/li&gt;&lt;li&gt;Attribut coords digunakan untuk menspesifikasi titik koordinat X dan Y dari suatu wilayah pada peta gambar. Attribut coords (harus) digunakan bersama-sama dengan attribut shape untuk menentukan ukuran, bentuk dan penepatan suatu area (daerah). Titik koordinat X dan Y dimulai dari pojok kiri atas sebagai titik 0,0.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;h3&gt;Syntax&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Secara default kode Image Maps (Pemetaan Gambar) ditulis seperti dibawah ini:&lt;/div&gt;&lt;pre class="brush: html; wrap-lines: false;"&gt;&amp;lt;img src ="peta.jpg" alt="Nama Gambar Peta" usemap="#petaku" /&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;map name="petaku"&amp;gt;&lt;br /&gt;  &amp;lt;area shape="rect" coords="x1,y1,x2,y2" href="URL" alt="Nama Area" /&amp;gt;&lt;br /&gt;  &amp;lt;area shape="circle" coords="x,y,r" href="URL" alt="Nama Area" /&amp;gt;&lt;br /&gt;  &amp;lt;area shape="poly" coords="x1,y1,x2,y2,...,xn,yn" href="URL" alt="Nama Area" /&amp;gt;&lt;br /&gt;&amp;lt;/map&amp;gt;&lt;/pre&gt;Perhatikan gambar dibawah ini:&lt;br /&gt;&lt;div class="separator"&gt;&lt;img class="frame" src="http://4.bp.blogspot.com/-mT5r0Z5_xYo/T9xMWZwcsZI/AAAAAAAAGoE/CR-LodpFmGk/s800/01-area-coords-a.jpg" alt="Image Maps - Map Area Coords" /&gt;&lt;/div&gt;&lt;div class="separator"&gt;&lt;img class="frame" src="http://3.bp.blogspot.com/-4jrcNDw3d38/T9xMW3QlZuI/AAAAAAAAGoQ/3twmx34-ysA/s800/02-area-coords-b.jpg" alt="Image Maps - Map Area Coords" /&gt;&lt;/div&gt;&lt;div class="separator"&gt;&lt;img class="frame" src="http://2.bp.blogspot.com/-vQ-cB3a8JV0/T9xMXSOeSZI/AAAAAAAAGoc/N_LvBshm1FE/s800/03-area-coords-c.jpg" alt="Image Maps - Map Area Coords" /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Pada mulanya terdapat dua buah elemen yaitu elemen tag &amp;lt;img&amp;gt; dan elemen tag &amp;lt;map&amp;gt;. Keduanya merupakan elemen yang berdiri sendiri dengan fungsi masing-masing. Tag &amp;lt;img&amp;gt; adalah elemen yang berisi gambar, sedangkan tag &amp;lt;map&amp;gt; adalah elemen yang berisi pemetaan area. Kemudian keduanya disatukan/dikaitkan seakan-akan menjadi satu elemen dengan bantuan attribut usemap pada tag &amp;lt;img&amp;gt; dan attribut name pada tag &amp;lt;map&amp;gt;. Perhatikan contoh; attribut usemap diberi identitas #petaku dan attribut name diberi identitas yang sama yaitu petaku namun tanpa simbol hash (#). Tanda hash dapat diartikan sebagai pengalamatan. Maka usemap="#petaku" dan name="petaku" adalah cara untuk mengkaitkan atau menyatukan antara elemen gambar dan elemen peta.&lt;/div&gt;&lt;br /&gt;&lt;h3&gt;Shape dan Coords&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Didalam tag &amp;lt;area&amp;gt; terdapat 2 buah attribut penting yaitu shape dan coords. Attribut shape digunakan untuk menentukan bentuk, ukuran dan penetapan suatu area, sedangkan attribut coords untuk menentukan titik sumbu koordinatnya.&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;[A] Attribut Shape&lt;/b&gt;&amp;nbsp; &lt;/div&gt;Attibut shape terdiri dari 4 jenis value atau identitas, yaitu:&lt;br /&gt;&lt;ol style="text-align: justify;"&gt;&lt;li&gt;rect atau rectangle atau segi empat, ini digunakan untuk menentukan area yang bisa diklik dengan bentuk segi empat&lt;/li&gt;&lt;li&gt;circle atau lingkaran, ini digunakan untuk menentukan area yang bisa diklik dengan bentuk lingkaran.&lt;/li&gt;&lt;li&gt;poly atau polygon atau segi tidak beraturan, ini digunakan untuk menentukan area yang bisa diklik dengan bentuk segi tidak beraturan.&lt;/li&gt;&lt;li&gt;default, ini adalah bentuk dasar untuk menentukan semua area sebagai peta.&lt;/li&gt;&lt;/ol&gt;Syntax Shape ditulis sebagai berikut:&lt;br /&gt;&lt;pre&gt;&amp;lt;area shape="default|rect|circle|poly" /&amp;gt;&lt;/pre&gt;Perhatikan gambar dibawah ini:&lt;br /&gt;&lt;div class="separator"&gt;&lt;img class="frame" src="http://2.bp.blogspot.com/-XaDd5EsbvXk/T9xMXjURS6I/AAAAAAAAGoo/jvtJRV-Ph80/s800/04-image-maps-shape.jpg" alt="Image Maps - Map Area Coords" /&gt;&lt;/div&gt;Nomor 1 : Area berbentuk rectangle (Segi Empat)&lt;br /&gt;Nomor 2 : Area berbentuk circle (Lingkaran)&lt;br /&gt;Nomor 3 : Area berbentuk polygon (tidak beraturan)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;[B] Attribut Coords&lt;/b&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Attibut coords sebenarnya merupakan penjabaran dari attribut shape, sehingga nilai (value) yang digunakan mengikuti aturan shape. Sedangkan shape memiliki 3 value penting yang harus dideklarasikan titik sumbun X dan Y-ya (default tidak perlu dijabarkan) agar bentuknya sesuai aturan shape. Attribut coord mengikuti aturan shape, sebagai berikut:&lt;/div&gt;Jika shape bernilai rect maka syntax coords harus ditulis seperti dibawah ini:&lt;br /&gt;&lt;pre&gt;&amp;lt;area shape="rect" coords="x1,y1,x2,y2" /&amp;gt;&lt;/pre&gt;Kita cukup menentukan 2 titik sumbu koordinat, yaitu x1,y1 dan x2,y2&lt;br /&gt;Jika shape bernilai circle maka syntax coords harus ditulis seperti dibawah ini:&lt;br /&gt;&lt;pre&gt;&amp;lt;area shape="circle" coords="x,y,r" /&amp;gt;&lt;/pre&gt;Kita harus menentukan satu titik sumbu koordinat x,y sebagai titik pusat lingkaran dan panjang jari-jari (r=radius) dari lingkaran&lt;br /&gt;Jika shape bernilai poly maka syntax coords harus ditulis seperti dibawah ini:&lt;br /&gt;&lt;pre&gt;&amp;lt;area shape="poly" coords="x1,y1,x2,y2,...,xn,yn" /&amp;gt;&lt;/pre&gt;&lt;div style="text-align: justify;"&gt;Ini mungkin merupakan bentuk yang paling komplek, kita harus menentukan titik-titik sumbu x,y pada setiap sudut area. Jika area poly tersebut terdiri dari 10 sudut, maka kita harus menulis 10 titik sumbu x dan 10 titik sumbu y.&lt;/div&gt;Perhatikan gambar dibawah ini:&lt;br /&gt;&lt;div class="separator"&gt;&lt;img class="frame" src="http://3.bp.blogspot.com/-0rsfga3YAew/T9xMlZoHWeI/AAAAAAAAGo0/DBxEI9mNOXk/s800/05-image-maps-coords.jpg" alt="Image Maps - Map Area Coords" /&gt;&lt;/div&gt;&lt;h3&gt;Cara Menentukan Nilai Coords (Titik Sumbu Koordinat XY)&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Setelah memahami dengan baik konsep Image Maps diatas, sekarang kita belajar menentukan titik sumbu koordinat xy. Sebenarnya banyak cara, namun diantara cara yang ada penulis lebih mudah menggunakan metode dibawah ini.&lt;/div&gt;Perhatikan gambar dibawah ini:&lt;br /&gt;&lt;div class="separator"&gt;&lt;img class="frame" src="http://4.bp.blogspot.com/-rjZ8OTMUiZg/T9xMloyHZ1I/AAAAAAAAGpA/uPpi9kJcJpA/s800/06-image-maps-coords-value.jpg" alt="Image Maps - Map Area Coords" /&gt;&lt;/div&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;Gunakan perangkat lunak pengolah citra gambar (GIMP atau Adobe Photoshop). Bagi pengguna GIMP, telah tersedia plugin khusus untuk menentukan titik sumbu koordinat XY dengan mudah. Silahkan &lt;a href="http://docs.gimp.org/en/plug-in-imagemap.html" rel="nofollow" target="_blank"&gt;baca-baca disini&lt;/a&gt; cara menggunakan GIMP untuk menentukan nilai coords.&lt;/li&gt;&lt;li&gt;Buka gambar yang akan digunakan sebagai peta dengan Adobe Photoshop.&lt;/li&gt;&lt;li&gt;Tentukan bentuk dari shape pada objek gambar (anda bisa menggunakan Rectangle Tool, Ellipse Tool, atau Polygon Tools)&lt;/li&gt;&lt;li&gt;Arahkan pointer mouse pada titik sumbu koordinat yang akan diambil dan baca hasilnya pada Panel Info (Tekan F8) kemudian tulis sumbu X dan sumbu Y pada attribut coords.&lt;/li&gt;&lt;li&gt;Pindahkan pointer mouse pada titik sumbu koordinat lainnya untuk menentukan titik sumbu X dan titik sumbu Y berikutnya.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;h3&gt;Kesimpulan&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Penggunaan Image Maps sebenarnya bebas untuk berbagai keperluan. Silahkan anda bereksperimen dengan Image Maps dan temukan keindahan koding. Mudah bukan? Selamat mencoba dan semoga berhasil. Happy Blogging :)&lt;/div&gt;&lt;br /&gt;Sumber dan Pranala Luar:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.w3schools.com/tags/att_area_coords.asp" rel="nofollow" target="_blank"&gt;HTML &amp;lt;area&amp;gt; coords Attribute&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.w3schools.com/tags/att_area_shape.asp" rel="nofollow" target="_blank"&gt;HTML &amp;lt;area&amp;gt; shape Attribute&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.w3schools.com/tags/tag_area.asp" rel="nofollow" target="_blank"&gt;HTML &amp;lt;area&amp;gt; Tag&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.w3schools.com/tags/tag_map.asp" rel="nofollow" target="_blank"&gt;HTML &amp;lt;map&amp;gt; Tag&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.w3.org/TR/html4/struct/objects.html#h-13.6" rel="nofollow" target="_blank"&gt;Image maps&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://docs.gimp.org/en/plug-in-imagemap.html" rel="nofollow" target="_blank"&gt;Image Map Plugin for GIMP&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://en.wikipedia.org/wiki/Number_sign" rel="nofollow" target="_blank"&gt;Number Sign&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;</description><link>http://modification-blog.blogspot.com/2012/06/image-maps-map-area-coords.html</link><author>noreply@blogger.com (Hendriono Dede)</author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-mgDgsc47_5s/T9xMWKnWUtI/AAAAAAAAGn4/d2HzNi2656w/s72-c/00-image-maps.jpg' height='72' width='72'/><thr:total>9</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-7350022283544621464.post-1273534195681505585</guid><pubDate>Fri, 08 Jun 2012 17:47:00 +0000</pubDate><atom:updated>2012-06-28T19:58:48.318+07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>jQuery</category><title>Plugin jQuery Menu Klik Kanan</title><description>&lt;div style="text-align: justify;"&gt;Bismillah. Alhamdulillah. Satu plugin jQuery selesai ditulis walau dalam kondisi masih banyak sekali kekurangan. Plugin jQuery ini digunakan untuk mengubah menu browser saat melakukan klik kanan mouse pada suatu halaman. Pada mulanya fungsi ini digunakan untuk men-non-aktikan klik kanan dengan tujuan meminimalisir tindakan Copy Paste artikel. Namun sepertinya sangat disayangkan kalau hanya sebuah alert (peringatan) yang muncul pada saat klik kanan di area halaman. Lalu munculah ide untuk mengganti alert tersebut dengan menu. Script ini merupakan comotan dari berbagai script jQuery yang ada, &lt;i&gt;yah&lt;/i&gt; maklumlah, saya hanya blogger bodoh yang tidak lebih pintar dari pembacanya.&lt;/div&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;div class="separator"&gt;&lt;img class="frame" src="http://3.bp.blogspot.com/-dQcrWeMm2pQ/T9I6GIf-GGI/AAAAAAAAGmY/n8KMrtfHcsY/s800/jQuery-Klik-Kanan.jpg" alt="Plugin jQuery Menu Klik Kanan"/&gt;&lt;/div&gt;&lt;div id="infozr"&gt;&lt;a class="icon info" href="https://github.com/hendriono/jQuery-Klikanan" target="_blank" rel="nofollow"&gt;&lt;span&gt;Fork Plugin jQuery Right-Click&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;div id="infozr"&gt;&lt;a class="icon demo" href="http://jsfiddle.net/hendriono/n5PLv/1/show/" target="_blank" rel="nofollow"&gt;&lt;span&gt;Demo Plugin jQuery Right-Click&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;div id="infozr"&gt;&lt;a class="icon unduh" href="https://github.com/hendriono/jQuery-Klikanan/zipball/master" target="_blank" rel="nofollow"&gt;&lt;span&gt;Download Plugin jQuery Right-Click&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;h3&gt;Deskripsi&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;Plugin jQuery Right-Click Menu&lt;/b&gt; atau &lt;b&gt;Plugin jQuery Menu Klik Kanan&lt;/b&gt; berfungsi untuk mengganti menu bawaan browser dengan menu baru yang bisa kita tentukan. Menu ini akan muncul ketika kita klik kanan pada mouse disuatu area halaman web tertentu yang sudah kita tentukan. Jadi kita bisa menentukan area-area tertentu untuk menampilkan menu buatan sendiri, sedangkan diarea yang tidak kita tentukan, ketika dilakukan klik kanan mouse maka menu default browser-lah yang akan ditampilkan. Plugin ini ditulis mengikuti kaidah &lt;a href="http://modification-blog.blogspot.com/2012/03/menggunakan-jquery-on-dan-off.html" title="Perubahan Kode jQuery"&gt;framework jQuery versi 1.7&lt;/a&gt;, ini berarti pula bahwa plugin jQuery Right-Clik Menu tidak akan bekerja jika kita memasang framework jQuery dibawah versi 1.7 pada halaman situs. Script Plugin jQuery ini tidak lagi menggunakan .bind() tapi sudah menggunakan .on() sebagai penggantinya sesuai dengan perubahan yang dilakukan sejak jQuery versi 1.7. Memanfaatkan "contextmenu" untuk mengganti menu default bawaan browser.&lt;/div&gt;&lt;b&gt;Ingatlah!&lt;/b&gt; Plugin jQuery Right-Click tidak bekerja pada framework jQuery dibawah versi 1.7&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Skenario HTML&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Pada dasarnya menu yang ditampilkan ditempatkan dalam posisi bebas saja. Anda mau menempatkan pada widget, atau ditempatkan diatas tag &amp;lt;/body&amp;gt; atau dibawah tag &amp;lt;body&amp;gt; menu tersebut akan tetap bisa di tampilkan. Jadi tidak ada lokasi khusus untuk menempatkan menu tersebut. Perhatikan kode HTML dibawah ini:&lt;/div&gt;&lt;br /&gt;&lt;u&gt;&lt;b&gt;Kode HTML untuk Area Klik Kanan&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Dibawah ini hanyalah kode penjelasan tentang area yang akan di-set sebagai area yang menampilkan menu saat di-klik kanan.&lt;/div&gt;&lt;pre class="brush: html; wrap-lines: false;"&gt;&amp;lt;div id="areaKlik" class="item"&amp;gt;&lt;br /&gt; &amp;lt;p&amp;gt;Area widget, artikel atau apalah disini...&amp;lt;p/&amp;gt;&lt;br /&gt;&amp;lt;/div&amp;gt;&lt;/pre&gt;&lt;div style="text-align: justify;"&gt;Kode diatas tidak usah dimasukan kedalam blog anda. Kode HTML ini berhubungan dengan penentuan area pada Skenario jQuery. Lebih baik baca dulu hingga tuntas artikel ini.&lt;/div&gt;&lt;br /&gt;&lt;u&gt;&lt;b&gt;Kode HTML untuk Menu Klik Kanan&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Dibawah ini adalah kode yang digunakan untuk membuat menu yang akan ditampilkan.&lt;/div&gt;&lt;pre class="brush: html; wrap-lines: false;"&gt;&amp;lt;div id="menuKanan"&amp;gt;&lt;br /&gt; &amp;lt;ul&amp;gt;&lt;br /&gt;  &amp;lt;li&amp;gt;&amp;lt;a class="facebook" href="#"&amp;gt;Share on Facebook&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;  &amp;lt;li&amp;gt;&amp;lt;a class="twitter" href="#"&amp;gt;Share on Twitter&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;  &amp;lt;li&amp;gt;&amp;lt;a class="delicious" href="#"&amp;gt;Share on Delicious&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;  &amp;lt;li&amp;gt;&amp;lt;a class="stumble" href="#"&amp;gt;Share on StumbleUpon&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;  &amp;lt;li&amp;gt;&amp;lt;a class="reddit" href="#"&amp;gt;Share on ReddIt&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;  &amp;lt;li&amp;gt;&amp;lt;a class="digg" href="#"&amp;gt;Share on Digg&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt; &amp;lt;/ul&amp;gt;&lt;br /&gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&amp;lt;div id="latarMenu"&amp;gt;&amp;lt;/div&amp;gt;&lt;/pre&gt;&lt;div style="text-align: justify;"&gt;Area ini adalah area wajib yang harus dimasukan kedalam halaman blog anda (baik didalam template maupun didalam widget). Perhatikan dengan baik kode diatas yang terdiri dari 2 id, yaitu:&lt;/div&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;&amp;lt;div id="menuKanan"&amp;gt;...&amp;lt;/div&amp;gt; : Ini adalah area menu yang akan ditampilkan ketika melakukan klik kanan pada area yang sudah ditentukan. Silahkan ubah dan atur-atur sesuai kebutuhan namun jangan membuang id-nya, karena id="menuKanan" merupakan yang diintegrasikan kedalam plugin jQuery. ID ini hilang maka hilang pula menu klik kanan.&lt;/li&gt;&lt;li&gt;&amp;lt;div id="latarMenu"&amp;gt;&amp;lt;/div&amp;gt; : Ini adalah area latar, area yang bisa kita set untuk ditampilkan atau dibuat transparan saja. id="latarMenu" tidak boleh dibuang karena area ini digunakan untuk menutup menu saat mouse kiri di klik pada area diluar menu. Saat menu aktif maka area diluar menu adalah area id="latarMenu".&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;h3&gt;Skenario CSS&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Kode CSS dibawah ini tidak akan dijelaskan secara detail, silahkan unduh file yang telah sediakan kemudian modifikasi file CSS ini sesuai dengan kebutuhan dan imajinasi anda. Namun yang terpenting pada kode CSS dibawah ini adalah properti #latarMenu dan #menuKanan (lebih baik tidak diubah jika belum paham tentang CSS).&lt;/div&gt;&lt;pre class="brush: css; wrap-lines: false;"&gt;#latarMenu {&lt;br /&gt; position:absolute;&lt;br /&gt; left:0;&lt;br /&gt; top:0;&lt;br /&gt; z-index:9000;&lt;br /&gt; display:block;&lt;br /&gt; background-color:#000000; /* Warna Latar Dibelakang Menu */&lt;br /&gt; opacity:0;&lt;br /&gt;}&lt;br /&gt;#menuKanan {&lt;br /&gt; position:absolute;&lt;br /&gt; display:none;&lt;br /&gt; z-index:9999;&lt;br /&gt; background:#212121; /* Warna Latar Menu */&lt;br /&gt; border:1px solid #302F2F;&lt;br /&gt; width:220px; /* Lebar Menu */&lt;br /&gt; height:215px; /* Tinggi Menu */&lt;br /&gt; -moz-border-radius:5px;&lt;br /&gt; -webkit-border-radius:5px;&lt;br /&gt; -o-border-radius:5px;&lt;br /&gt; border-radius:5px;&lt;br /&gt; -moz-box-shadow:0 0 2px #000;&lt;br /&gt; -webkit-box-shadow:0 0 2px #000;&lt;br /&gt; -o-box-shadow:0 0 2px #000;&lt;br /&gt; border-box-shadow:0 0 2px #000;&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;&lt;h3&gt;Skenario jQuery&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Kode dibawah ini untuk mengaktifkan fungsi Plugin jQuery Right-Click. Untuk menggunakan plugin ini, pastikan website anda (periksa diantara tag head) menggunakan framework jQuery versi 1.7 keatas seperti dibawah ini:&lt;/div&gt;&lt;pre&gt;&amp;lt;script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"&amp;gt;&amp;lt;/script&amp;gt;&lt;/pre&gt;&lt;div style="text-align: justify;"&gt;Masukan plugin Plugin jQuery Right-Click dibawah framework jQuery, misal seperti dibawah ini: &lt;/div&gt;&lt;pre&gt;&amp;lt;script src=".../jquery.klikanan.min.js"&amp;gt;&amp;lt;/script&amp;gt;&lt;/pre&gt;&lt;div style="text-align: justify;"&gt;Sampai disini plugin masih belum aktif, kita perlu melakukan beberapa settingan. Silahkan teruskan membaca...&lt;/div&gt;&lt;br /&gt;&lt;h3&gt;Setting jQuery Right-Click&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Untuk mengaktifkan plugin jQuery Klik Kanan, secara default settingan ditulis seperti dibawah ini:&lt;/div&gt;&lt;pre&gt;$('#areaKlik').klikanan();&lt;/pre&gt;Atau lebih detailnya:&lt;br /&gt;&lt;pre class="brush: js; wrap-lines: false;"&gt;&amp;lt;script type="text/javascript"&amp;gt;&lt;br /&gt;$(function () {&lt;br /&gt; $('#areaKlik').klikanan();&lt;br /&gt;});&lt;br /&gt;&amp;lt;/script&amp;gt;&lt;/pre&gt;&lt;div style="text-align: justify;"&gt;Berikut fungsi yang bisa kita gunakan untuk mengeset jQuery Menu Klik Kanan, yaitu:&lt;/div&gt;&lt;pre class="brush: js; wrap-lines: false;"&gt;$('#areaKlik').klikanan({&lt;br /&gt; speed: 400,&lt;br /&gt; overlay: false&lt;br /&gt;});&lt;/pre&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;speed: 400 = speed digunakan untuk menentukan seberapa cepat menu klik kanan ditampilkan. Secara default bernilai 400.&lt;/li&gt;&lt;li&gt;overlay: false = overlay digunakan untuk menentukan latar dari menu, jika bernilai "false" maka latar (overlay) tidak diaktifkan. Secara default bernilai "true" berarti overlay diaktifkan.&lt;/li&gt;&lt;li&gt;#areaKlik = ini adalah id dari area yang akan digunakan untuk menampilkan menu saat halaman di klik kanan. Sangat berhubungan erat dengan Skenario HTML (Lihat Skenario HTML). #areaKlik merupakan id yang menunjuk langsung kepada id="areaKlik", itu berarti anda diperbolehkan mengubah target area menu klik kanan.&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt;Misal; Blogger secara default memiliki area artikel dengan class entry-content (silahkan cek pada template blogger dan cari kode class='post-body entry-content'). Jika anda ingin area artikel tersebut merupakan area menu klik kanan maka tulislah fungsi plugin-nya seperti dibawah ini:&lt;/div&gt;&lt;pre class="brush: js; wrap-lines: false;"&gt;$('.entry-content').klikanan({&lt;br /&gt; speed: 400,&lt;br /&gt; overlay: false&lt;br /&gt;});&lt;/pre&gt;atau lebih lengkapnya:&lt;br /&gt;&lt;pre class="brush: js; wrap-lines: false;"&gt;&amp;lt;script type="text/javascript"&amp;gt;&lt;br /&gt;$(function () {&lt;br /&gt; $('.entry-content').klikanan({&lt;br /&gt;  speed: 400,&lt;br /&gt;  overlay: false&lt;br /&gt; });&lt;br /&gt;});&lt;br /&gt;&amp;lt;/script&amp;gt;&lt;/pre&gt;&lt;br /&gt;&lt;h3&gt;Kesimpulan&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Plugin jQuery Right-Click Menu mungkin saja mengandung bug karena kesalahan fungsi atau kesalahan penulisan, maka dari itu kontribusi, kritik, dan saran anda setelah penggunaan plugin ini sangat diharapkan untuk perbaikan lebih lanjut. Plugin ini baru dites pada browser Firefox 12 (Win), Chrome 19.0.1084.52 m (Win), dan Safari 5.1.4 (Win). Plugin ini bersifat bebas untuk digunakan, dimodifikasi dan dikembangkan baik untuk kepentingan eksperimen atau untuk digunakan pada situs komersil.&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Selamat mencoba, berkarya dan semoga berhasil. Happy Blogging :)&lt;/div&gt;</description><link>http://modification-blog.blogspot.com/2012/06/plugin-jquery-menu-klik-kanan.html</link><author>noreply@blogger.com (Hendriono Dede)</author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-dQcrWeMm2pQ/T9I6GIf-GGI/AAAAAAAAGmY/n8KMrtfHcsY/s72-c/jQuery-Klik-Kanan.jpg' height='72' width='72'/><thr:total>18</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-7350022283544621464.post-3467807345626477219</guid><pubDate>Wed, 06 Jun 2012 20:07:00 +0000</pubDate><atom:updated>2012-06-28T20:11:53.930+07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>(X)HTML</category><category domain='http://www.blogger.com/atom/ns#'>jQuery</category><title>Ubah Nama Navigasi Halaman Artikel</title><description>&lt;div style="text-align: justify;"&gt;Bismillah. Alhamdulillah. Navigasi halaman per artikel biasanya ditampilkan dengan keterangan "Posting Lebih Baru" untuk berpindah halaman pada artikel yang terbaru, dan "Posting Lama" untuk berpindah halaman pada artikel yang lebih lama. Beberapa blogger kemudian menggantinya dengan gambar panah atau gambar lainnya yang mewakili navigasi halaman per artikel. Sedangkan jika kita perhatikan pada platform CMS (misal; Wordpress) navigasi halaman per artikel biasanya berisi judul artikel. Bisakah pengguna Blogger mengubah "Posting Lebih Baru" dan "Posting Lama" dengan judul artikel?&lt;/div&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;div class="separator"&gt;&lt;img class="frame" src="http://1.bp.blogspot.com/-75ceGUpYDJw/T8-3tRfGtHI/AAAAAAAAGlo/HKJpDSss1Tk/s800/navigasi-artikel.jpg" alt="Ubah Nama Navigasi Halaman Artikel"/&gt;&lt;/div&gt;&lt;div id="infozr"&gt;&lt;a class="icon demo" href="http://esingkatan.blogspot.com/2011/05/wysiwg.html" target="_blank" rel="nofollow"&gt;&lt;span&gt;Demo jQuery Navigation Item&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;h3&gt;Skenario (X)HTML Navigasi Halaman Per Artikel&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Dibawah ini adalah kode (X)HTML dari Blogger, namun tidak akan dijelaskan baris perbaris. Kita hanya akan mengambil bagian pentingnya saja yang punya peranan pada navigasi halaman artikel. Perhatikan kode (X)HTML dibawah ini:&lt;/div&gt;&lt;pre class="brush: html; wrap-lines: false;"&gt;&amp;lt;b:includable id='nextprev'&amp;gt;&lt;br /&gt; &amp;lt;div class='blog-pager' id='blog-pager'&amp;gt;&lt;br /&gt;  &lt;br /&gt;  &amp;lt;b:if cond='data:newerPageUrl'&amp;gt;&lt;br /&gt;   &amp;lt;span id='blog-pager-newer-link'&amp;gt;&lt;br /&gt;    &amp;lt;a class='blog-pager-newer-link' expr:href='data:newerPageUrl' expr:id='data:widget.instanceId + &amp;amp;quot;_blog-pager-newer-link&amp;amp;quot;' expr:title='data:newerPageTitle'&amp;gt;&lt;br /&gt;     &amp;lt;data:newerPageTitle/&amp;gt;&lt;br /&gt;    &amp;lt;/a&amp;gt;&lt;br /&gt;   &amp;lt;/span&amp;gt;&lt;br /&gt;  &amp;lt;/b:if&amp;gt;&lt;br /&gt;&lt;br /&gt;  &amp;lt;b:if cond='data:olderPageUrl'&amp;gt;&lt;br /&gt;   &amp;lt;span id='blog-pager-older-link'&amp;gt;&lt;br /&gt;    &amp;lt;a class='blog-pager-older-link' expr:href='data:olderPageUrl' expr:id='data:widget.instanceId + &amp;amp;quot;_blog-pager-older-link&amp;amp;quot;' expr:title='data:olderPageTitle'&amp;gt;&lt;br /&gt;     &amp;lt;data:olderPageTitle/&amp;gt;&lt;br /&gt;    &amp;lt;/a&amp;gt;&lt;br /&gt;   &amp;lt;/span&amp;gt;&lt;br /&gt;  &amp;lt;/b:if&amp;gt;&lt;br /&gt;&lt;br /&gt;  &amp;lt;a class='home-link' expr:href='data:blog.homepageUrl'&amp;gt;&amp;lt;data:homeMsg/&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;&lt;br /&gt;  &amp;lt;b:if cond='data:mobileLinkUrl'&amp;gt;&lt;br /&gt;   &amp;lt;div class='blog-mobile-link'&amp;gt;&lt;br /&gt;    &amp;lt;a expr:href='data:mobileLinkUrl'&amp;gt;&amp;lt;data:mobileLinkMsg/&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;   &amp;lt;/div&amp;gt;&lt;br /&gt;  &amp;lt;/b:if&amp;gt;&lt;br /&gt;  &lt;br /&gt; &amp;lt;/div&amp;gt;&lt;br /&gt; &amp;lt;div class='clear'/&amp;gt;&lt;br /&gt;&amp;lt;/b:includable&amp;gt;&lt;/pre&gt;&lt;div style="text-align: justify;"&gt;Diantara sekumpulan kode (X)HTML navigasi halaman artikel diatas kita hanya akan mengambil 2 kode yang kemudian dimanipulasi agar mampu menampilkan judul artikel, yaitu:&lt;/div&gt;&lt;pre&gt;&amp;lt;a class='blog-pager-newer-link' expr:href='data:newerPageUrl' ...&amp;gt;&amp;lt;data:newerPageTitle/&amp;gt;&amp;lt;/a&amp;gt;&lt;/pre&gt;Kode diatas terdiri dari fungsi:&lt;br /&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;class='blog-pager-newer-link' : ini merupakan style CSS yang digunakan untuk mengatur link 'Posting Lebih Baru' baik berupa pengaturan warna, tombol atau gambar background.&lt;/li&gt;&lt;li&gt;expr:href='data:newerPageUrl' : ini berisi URL 'Posting Lebih Baru' yang kemudian nanti akan diambil URL-nya melalui feed dan dimanfaatkan sebagai tag Anchor Link Judul Artikel pengganti 'Posting Lebih Baru'.&lt;/li&gt;&lt;li&gt;data:newerPageTitle : kode inilah yang menampilkan kalimat 'Posting Lebih Baru' dan kode ini pula nanti yang akan diganti dengan judul artikel.&lt;/li&gt;&lt;/ul&gt;&lt;pre&gt;&amp;lt;a class='blog-pager-older-link' expr:href='data:olderPageUrl' ...&amp;gt;&amp;lt;data:olderPageTitle/&amp;gt;&amp;lt;/a&amp;gt;&lt;/pre&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;class='blog-pager-older-link' : ini merupakan style CSS yang digunakan untuk mengatur link 'Posting Lama' baik berupa pengaturan warna, tombol atau gambar background.&lt;/li&gt;&lt;li&gt;expr:href='data:olderPageUrl' : ini berisi URL 'Posting Lama' yang kemudian nanti akan diambil URL-nya melalui feed dan dimanfaatkan sebagai tag Anchor Link Judul Artikel pengganti 'Posting Lama'.&lt;/li&gt;&lt;li&gt;data:olderPageTitle : kode inilah yang menampilkan kalimat 'Posting Lama' dan kode ini pula nanti yang akan diganti dengan judul artikel. (Beberapa blogger kemudian mengganti kode ini dengan gambar misal &amp;lt;img src="img/navbaru.png"/&amp;gt;)&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;h3&gt;Skenario JSON dan jQuery&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Dibawah ini adalah script JSON dan jQuery yang digunakan untuk memanipulasi navigasi halaman artikel/item. Namun tidak dijelaskan secara detail, silahkan anda jelaskan dan tulis sendiri pada artikel anda, dan saya akan mencantumkannya sebagai referensi. Jangan lupa tinggalkan informasi ketika anda selesai menerbitkan artikel tentang penjelasan script JSON dan jQuery dibawah ini.&lt;/div&gt;&lt;pre class="brush: js; wrap-lines: false;"&gt;/*!&lt;br /&gt; * jQuery Blogger Item Navigation 1.0&lt;br /&gt; * http://modification-blog.blogspot.com/&lt;br /&gt; * Copyleft 2012, Blogger Tune-Up&lt;br /&gt; * Dual licensed under the MIT or GPL Version 2 licenses.&lt;br /&gt; * Date: Mon May 28 14:54:29 2012 -0500&lt;br /&gt; */&lt;br /&gt;var JudNav = {};&lt;br /&gt;//Fungsi pengambilan judul artikel melalui feed&lt;br /&gt;function ambilJudNav(json) {&lt;br /&gt;    for (var i = 0; i &amp;lt; json.feed.entry.length; i++) {&lt;br /&gt;        var judul = json.feed.entry[i];&lt;br /&gt;        var data = "";&lt;br /&gt;        for (var k = 0; k &amp;lt; judul.link.length; k++) {&lt;br /&gt;            if (judul.link[k].rel == 'alternate') {&lt;br /&gt;                data = judul.link[k].href;&lt;br /&gt;                break&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;        if (data != "") JudNav[data] = judul.title.$t&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;//Fungsi penulisan sekumpulan judul feed dengan mengambilnya dari fungsi sebelumnya 'ambilJudNav'&lt;br /&gt;document.write('&amp;lt;script type="text/javascript" src="http://' + window.location.hostname + '/feeds/posts/summary?redirect=false&amp;amp;max-results=500&amp;amp;alt=json-in-script&amp;amp;callback=ambilJudNav"&amp;gt;&amp;lt;/' + 'script&amp;gt;');&lt;br /&gt;//Fungsi Pengambilan Anchor, Pengecekan URL dan Penggantian beberapa simbol&lt;br /&gt;function JudulURL(anchor) {&lt;br /&gt;    var linkurl = anchor.match(/\/([^\/_]+)(_.*)?\.html/);&lt;br /&gt;    if (linkurl) {&lt;br /&gt;        linkurl = linkurl[1].replace(/-/g, " ");&lt;br /&gt;        linkurl = linkurl[0].toUpperCase() + linkurl.slice(1);&lt;br /&gt;        if (linkurl.length &amp;gt; 28) linkurl = linkurl.replace(/ [^ ]+$/, "...")&lt;br /&gt;    }&lt;br /&gt;    return linkurl&lt;br /&gt;}&lt;br /&gt;//Mengganti 'Posting Lama' dan 'Posting Lebih Baru' dengan fungsi jQuery saat halaman di-load&lt;br /&gt;$(window).load(function () {&lt;br /&gt;    window.setTimeout(function () {&lt;br /&gt;        var anchor = $("a.blog-pager-newer-link").attr("href");&lt;br /&gt;        if (anchor) {&lt;br /&gt;            var judul = JudNav[anchor];&lt;br /&gt;            if (!judul) judul = JudulURL(anchor);&lt;br /&gt;            if (judul) $("a.blog-pager-newer-link").html(judul)&lt;br /&gt;        }&lt;br /&gt;  anchor = $("a.blog-pager-older-link").attr("href");&lt;br /&gt;        if (anchor) {&lt;br /&gt;            var judul = JudNav[anchor];&lt;br /&gt;            if (!judul) judul = JudulURL(anchor);&lt;br /&gt;            if (judul) $("a.blog-pager-older-link").html(judul)&lt;br /&gt;        }&lt;br /&gt;    }, 500)&lt;br /&gt;});&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;h3&gt;Integrasi Pada Blog&lt;/h3&gt;Dibawah ini integrasi script JSON jQuery pada template Blogger.&lt;br /&gt;&lt;b&gt;Langkah 1&lt;/b&gt;&lt;br /&gt;Login ke Blogger&lt;br /&gt;&lt;b&gt;Langkah 2&lt;/b&gt;&lt;br /&gt;Masuk ke "Template - Edit HTML - Lanjutkan"&lt;br /&gt;&lt;b&gt;Langkah 3&lt;/b&gt;&lt;br /&gt;Cari kode dibawah ini:&lt;br /&gt;&lt;pre&gt;&amp;lt;/head&amp;gt;&lt;/pre&gt;&lt;b&gt;Langkah 4&lt;/b&gt;&lt;br /&gt;Masukan (Copy Paste) kode dibawah ini tepat diatas kode pada langkah 4:&lt;br /&gt;&lt;pre&gt;&amp;lt;script src='http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js' type='text/javascript'/&amp;gt;&lt;br /&gt;&amp;lt;script src='https://raw.github.com/hendriono/Blogger-Plugins/master/js/jquery.navitem.min.js'/&amp;gt;&lt;/pre&gt;&lt;u&gt;Perhatian: &lt;/u&gt;Jika sudah pernah memasang framework jQuery maka kode baris pertama tidak perlu dimasukan.&lt;br /&gt;&lt;b&gt;Langkah 5&lt;/b&gt;&lt;br /&gt;Klik tombol "Simpan Template" dan preview blog anda&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Update Script jQuery tanpa Script JSON&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;&lt;a href="http://hompimpaalaihumgambreng.blogspot.com/" target="_blank" rel="follow" title="Taufik Nurrohman"&gt;Taufik Nurrohman&lt;/a&gt; menjelaskan bahwa script diatas cukup membebani load halaman blog dengan analisis pemanggilan feed sebanyak 500 artikel. Dan terima kasih untuk &lt;a href="http://blogcenti.blogspot.com/" target="_blank" rel="follow" title="Mas Ireng"&gt;Mas Ireng&lt;/a&gt; yang kemudian memberikan solusi terbaiknya dengan membuang script JSON dan hanya menggunakan script jQuery untuk meload URL dan judul artikel. Script dibawah ini adalah solusi atas masalah kelemahan load feed JSON. Pada bagian "Integrasi Pada Blog" langkah 4 silahkan ganti kode menjadi seperti dibawah ini:&lt;/div&gt;&lt;pre class="brush: js; wrap-lines: false;"&gt;&amp;lt;script src='http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js' type='text/javascript'/&amp;gt;&lt;br /&gt;&amp;lt;script type='text/javascript'&amp;gt;&lt;br /&gt;//&amp;lt;![CDATA[&lt;br /&gt;$(document).ready(function () {&lt;br /&gt;    var newerLink = $('a.blog-pager-newer-link').attr('href');&lt;br /&gt; $('a.blog-pager-newer-link').load(newerLink + ' .post-title:first', function () {&lt;br /&gt;        var newerLinkTitle = $('a.blog-pager-newer-link').text();&lt;br /&gt;  $('a.blog-pager-newer-link').text('← ' + newerLinkTitle);&lt;br /&gt;    });&lt;br /&gt;    var olderLink = $('a.blog-pager-older-link').attr('href');&lt;br /&gt; $('a.blog-pager-older-link').load(olderLink + ' .post-title:first', function () {&lt;br /&gt;        var olderLinkTitle = $('a.blog-pager-older-link').text();&lt;br /&gt;  $('a.blog-pager-older-link').text(olderLinkTitle + ' →');&lt;br /&gt;    });&lt;br /&gt;});&lt;br /&gt;//]]&amp;gt;&lt;br /&gt;&amp;lt;/script&amp;gt;&lt;/pre&gt;&lt;br /&gt;&lt;h3&gt;Kesimpulan&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Script ini tidaklah begitu penting untuk digunakan, namun jika ingin tampil beda, tidak ada salahnya diterapkan. Kode yang ditulis tidaklah terlalu banyak sehingga tidak terlalu membebani load halaman blog. Jika dalam penerapan terjadi kegagalan ada kemungkinan terjadi bentrok script pada blog anda. Periksa dengan hati-hati... Dan silahkan modifikasi script diatas sesuai dengan kebutuhan atau mungkin ingin mengembangkannya lebih bagus lagi sesuai karakter diri. Jika merasa lebih nyaman dengan menggunakan hosting file sendiri, silahkan unduh script-nya pada link dibawah ini dan upload pada web hosting miliki sendiri.&lt;/div&gt;&lt;div id="infozr"&gt;&lt;a class="icon unduh" href="https://raw.github.com/hendriono/Blogger-Plugins/master/js/jquery.navitem.js" target="_blank" rel="nofollow"&gt;&lt;span&gt;jQuery Blogger Item Navigation&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;div id="infozr"&gt;&lt;a class="icon unduh" href="https://raw.github.com/hendriono/Blogger-Plugins/master/js/jquery.navitem.min.js" target="_blank" rel="nofollow"&gt;&lt;span&gt;jQuery Blogger Item Navigation Minified&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Selamat mencoba, berkarya dan semoga berhasil. Happy Blogging :)</description><link>http://modification-blog.blogspot.com/2012/06/ubah-nama-navigasi-halaman-artikel.html</link><author>noreply@blogger.com (Hendriono Dede)</author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-75ceGUpYDJw/T8-3tRfGtHI/AAAAAAAAGlo/HKJpDSss1Tk/s72-c/navigasi-artikel.jpg' height='72' width='72'/><thr:total>13</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-7350022283544621464.post-6547657678187736123</guid><pubDate>Mon, 04 Jun 2012 05:52:00 +0000</pubDate><atom:updated>2012-06-28T20:13:47.975+07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>jQuery</category><title>jQuery Overlay Sederhana</title><description>&lt;div style="text-align: justify;"&gt;Bismillah. Disela-sela kesibukan dunia teknik, Alhamdulillah masih sempat menulis artikel sederhana ini. Artikel kali ini akan membahas cara membuat efek overlay sederhana dengan jQuery. Namun tidak akan dijelaskan secara detail karena sepertinya terlalu panjang jika harus ditulis detail. Pada script yang disertakan diberikan penjelasan-penjelasan penting walau tidak detail, jadi silahkan dianalisis sendiri. Fungsi script overlay ini sebenarnya hanya secuil kode yang tersedia pada efek-efek overlay hebat (misal; colorbox, nivozoom, prettyPhoto, dll). Maka dari itu jangan membandingkan dengan plugin-plugin tersebut.&lt;/div&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;div class="separator"&gt;&lt;img class="frame" src="http://1.bp.blogspot.com/-6I0_sdgT2sE/T8xMjjFk4uI/AAAAAAAAGko/1ict9X9NkWI/s800/jquery-simple-overlay.jpg" /&gt;&lt;/div&gt;&lt;div id="infozr"&gt;&lt;a class="icon demo" href="https://www.box.com/s/75fdebb36f34c330ba42" target="_blank" rel="nofollow"&gt;&lt;span&gt;Demo dan Unduh jQuery Simple Overlay&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;h3&gt;Deskripsi&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Ketika kita klik pada salah satu gambar yang memiliki keterangan tombol perbesar (icon +) maka gambar akan ditampilkan dengan efek luntur (fade) dalam ukuran besar beserta keterangan, sedangkan seluruh halaman ditutup dengan latar hitam transparan. Ketika tombol tutup (icon X) di klik dan atau latar hitam transparan diklik dan atau tombol ESC pada keyboard di tekan maka gambar disembunyikan dengan efek luntur (fade). Latar hitam transparan berfungsi untuk memfokus gambar dan artikel yang di tampilkan pada layar. Layar hitam transparan yang menutupi seluruh halaman sering disebut overlay. Untuk memahami bahasan berikutnya sebaiknya anda unduh terlebih dahulu file demo.&lt;/div&gt;&lt;br /&gt;&lt;h3&gt;Skenario HTML&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Skenario HTML dibawah ini terdiri dari 1 kontener, kontener ini berisi 3 area utama. Perhatikan kode HTML dibawah ini:&lt;/div&gt;&lt;pre class="brush: html; wrap-lines: false;"&gt;&amp;lt;div class="feat-overlay"&amp;gt;&lt;br /&gt;&lt;br /&gt; &amp;lt;!-- Area Item 1--&amp;gt;&lt;br /&gt; &amp;lt;div class="item"&amp;gt;&lt;br /&gt;  &amp;lt;a class="bingkai" rel="overlay-1" href="#"&amp;gt;&amp;lt;span class="perbesar"&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;  &amp;lt;div class="thumb"&amp;gt;&lt;br /&gt;   &amp;lt;img height="147" border="0" width="217" alt="" src="gbr/banjarsari-s.jpg"&amp;gt;&lt;br /&gt;  &amp;lt;/div&amp;gt;&lt;br /&gt;  &amp;lt;h4&amp;gt;Judul Item&amp;lt;/h4&amp;gt;&lt;br /&gt;  &amp;lt;p&amp;gt;Keterangan Gambar Pendek&amp;lt;/p&amp;gt;&lt;br /&gt; &amp;lt;/div&amp;gt;&lt;br /&gt; &lt;br /&gt; &amp;lt;!-- Area Overlay Tersembunyi 1--&amp;gt;&lt;br /&gt; &amp;lt;div style="display: none;" id="overlay-1"&amp;gt;&lt;br /&gt;  &amp;lt;img height="383" border="0" width="585" alt="" alt="" src="gbr/banjarsari.jpg"&amp;gt;&lt;br /&gt;  &amp;lt;h5&amp;gt;Judul Overlay&amp;lt;/h5&amp;gt;&lt;br /&gt;  &amp;lt;p&amp;gt;Keterangan Gambar Panjang&amp;lt;/p&amp;gt;&lt;br /&gt; &amp;lt;/div&amp;gt;&lt;br /&gt; &lt;br /&gt; &amp;lt;!-- Area Item 2, 3, 4, dst --&amp;gt;&lt;br /&gt; &amp;lt;!-- Area Overlay Tersembunyi 2, 3, 4, dst --&amp;gt;&lt;br /&gt; &lt;br /&gt; &amp;lt;!-- Area Untuk Menampilkan Overlay Tersembunyi --&amp;gt;&lt;br /&gt; &amp;lt;a href="#" id="latar"&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt; &amp;lt;div class="info-overlay"&amp;gt;&lt;br /&gt;  &amp;lt;a href="#" class="tutup"&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;  &amp;lt;div class="txt"&amp;gt;&lt;br /&gt;   &amp;lt;h5&amp;gt;loading...&amp;lt;/h5&amp;gt;&lt;br /&gt;  &amp;lt;/div&amp;gt;&lt;br /&gt; &amp;lt;/div&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/div&amp;gt;&lt;/pre&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;feat-overlay adalah kontener dari seluruh overlay yang akan dibuat.&lt;/li&gt;&lt;li&gt;item merupakan wadah yang berisi gambar thumbnail dan penggalan keterangan. Jumlah wadah item ini tidak terbatas, anda bisa membuatnya sebanyak mungkin, namun hal yang terpenting adalah tag rel. Tag rel tidak boleh sama, harus unik. Misal disana tertulis overlay-1 maka berikutnya anda bisa menggunakan overlay-2, overlay-3 dan seterusnya.&lt;/li&gt;&lt;li&gt;overlay-1 adalah wadah dari area informasi lengkap overlay yang disembunyikan pada saat halaman di-load. Didalamnya berisi gambar dalam ukuran besar dan informasi secara lengkap. Tag id overlay-1 juga harus unik, karena ini terkait langsung dengan tag rel item. Misal, pada item tertulis rel="overlay-1" maka informasi lengkapnya tersedia pada id="overlay-1", maka yang berikutnya ditulis; rel="overlay-2" (pada item) dan id="overlay=2" (pada area informasi lengkap) dan seterusnya.&lt;/li&gt;&lt;li&gt;Informasi lengkap yang tersimpan pada id="overlay-1" dan seterusnya, akan ditampilkan saat gambar di klik pada satu area saja, yaitu area info-overlay. Area info-overlay adalah lokasi untuk menampilkan semua informasi lengkap (gambar besar dan keterengan lengkap) overlay-1, overlay-2 dan seterusnya. Namun wadah ini hanya cuku ditulis satu kali saja.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;h3&gt;Skenario CSS&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Kode CSS dibawah ini hanya terdiri dari 2 bagian utama, yaitu bagian list item dan bagian overlay. List item berfungsi untuk mengatur bagian-bagian item (gambar thumbnail, judul, teks pendek dan tombol perbesar), informasi lengkap (frame, gambar besar, judul dan teks lengkap). Sedangkan bagian overlay berisi tentang pengaturan latar (warna, area dan opacity), informasi lengkap (frame, teks lengkap, gambar besar dan tombol tutup). Secara detail silahkan dipelajari sendiri (ma'af kepanjangan jika dijabarkan).&lt;/div&gt;&lt;pre class="brush: css; wrap-lines: false;"&gt;/* List Item */&lt;br /&gt;.feat-overlay {&lt;br /&gt; width: 725px;&lt;br /&gt; margin: 0 auto;&lt;br /&gt;}&lt;br /&gt;.feat-overlay .item {&lt;br /&gt; position: relative;&lt;br /&gt; float: left;&lt;br /&gt; width: 249px;&lt;br /&gt; padding-bottom: 15px;&lt;br /&gt;}&lt;br /&gt;.feat-overlay .item.last {&lt;br /&gt; width: 225px;&lt;br /&gt;}&lt;br /&gt;.feat-overlay span.perbesar {&lt;br /&gt; background: transparent url(../img/enlarge.png) no-repeat top left;&lt;br /&gt; position: absolute;&lt;br /&gt; z-index: 3;&lt;br /&gt; top: 133px;&lt;br /&gt; left: 201px;&lt;br /&gt; width: 22px;&lt;br /&gt; height: 22px;&lt;br /&gt; z-index: 8;&lt;br /&gt;}&lt;br /&gt;.feat-overlay a.perbesar {&lt;br /&gt; background: transparent url(../img/enlarge.png) no-repeat top left;&lt;br /&gt; position: absolute;&lt;br /&gt; z-index: 3;&lt;br /&gt; top: 133px;&lt;br /&gt; left: 201px;&lt;br /&gt; width: 22px;&lt;br /&gt; height: 22px;&lt;br /&gt; z-index: 8;&lt;br /&gt;}&lt;br /&gt;.feat-overlay a:hover span.perbesar, .feat-overlay a.perbesar:hover {&lt;br /&gt; background-position: 0 -26px;&lt;br /&gt;}&lt;br /&gt;.feat-overlay .item .thumb {&lt;br /&gt; width: 217px;&lt;br /&gt; height: 147px;&lt;br /&gt; overflow: hidden;&lt;br /&gt; margin-bottom: 9px;&lt;br /&gt; position: relative;&lt;br /&gt;}&lt;br /&gt;.feat-overlay .item .bingkai {&lt;br /&gt; background: transparent url(../img/bg-item.png) no-repeat top left;&lt;br /&gt; position: absolute;&lt;br /&gt; z-index: 2;&lt;br /&gt; top: 0;&lt;br /&gt; left: 0;&lt;br /&gt; width: 217px;&lt;br /&gt; height: 147px;&lt;br /&gt;}&lt;br /&gt;.feat-overlay .item h4 {&lt;br /&gt; width: 213px;&lt;br /&gt; font-size: 14px;&lt;br /&gt; line-height: 16px;&lt;br /&gt; font-weight: bold;&lt;br /&gt; padding: 0 2px 4px 0;&lt;br /&gt;}&lt;br /&gt;.feat-overlay .item p {&lt;br /&gt; line-height: 16px;&lt;br /&gt; width: 213px;&lt;br /&gt; padding-left: 2px;&lt;br /&gt;}&lt;br /&gt;.clear {&lt;br /&gt; clear: both;&lt;br /&gt; font-size: 1px;&lt;br /&gt; line-height: 0;&lt;br /&gt; margin: 0;&lt;br /&gt; padding: 0;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/* Overlay */&lt;br /&gt;#latar {&lt;br /&gt; position: fixed;&lt;br /&gt; z-index: 15;&lt;br /&gt; top: 0;&lt;br /&gt; left: 0;&lt;br /&gt; width: 100%;&lt;br /&gt; height: 100%;&lt;br /&gt; background-color: black;&lt;br /&gt; opacity: 0;&lt;br /&gt; visibility: hidden;&lt;br /&gt;}&lt;br /&gt;.info-overlay {&lt;br /&gt; background: transparent url(../img/bg-overlay.png) no-repeat top left;&lt;br /&gt; z-index: 20;&lt;br /&gt; position: fixed;&lt;br /&gt; margin: auto;&lt;br /&gt; left: 0;&lt;br /&gt; right: 0;&lt;br /&gt; bottom: 0;&lt;br /&gt; top: 0;&lt;br /&gt; width: 872px;&lt;br /&gt; height: 435px;&lt;br /&gt; opacity: 0;&lt;br /&gt; visibility: hidden;&lt;br /&gt; *position: absolute;&lt;br /&gt; *zoom: 1;&lt;br /&gt; *visibility: visible;&lt;br /&gt; *display: none;&lt;br /&gt;}&lt;br /&gt;.info-overlay .overlay-img {&lt;br /&gt; float: left;&lt;br /&gt; width: 585px;&lt;br /&gt; height: 383px;&lt;br /&gt; margin: 26px 20px 0 26px;&lt;br /&gt; *display: inline;&lt;br /&gt; *zoom: 1;&lt;br /&gt; *position: relative;&lt;br /&gt;}&lt;br /&gt;.info-overlay .txt {&lt;br /&gt; position: relative;&lt;br /&gt; z-index: 1;&lt;br /&gt;}&lt;br /&gt;.info-overlay .txt img {&lt;br /&gt; float: left;&lt;br /&gt; width: 585px;&lt;br /&gt; height: 383px;&lt;br /&gt; margin: 26px 20px 0 26px;&lt;br /&gt; *display: inline;&lt;br /&gt; *zoom: 1;&lt;br /&gt; *position: relative;&lt;br /&gt;}&lt;br /&gt;.info-overlay .txt h5 {&lt;br /&gt; font: 14px/16px Helvetica, Arial, sans-serif;&lt;br /&gt; color: #404040;&lt;br /&gt; width: 210px;&lt;br /&gt; margin: 34px 0 6px 0;&lt;br /&gt; font-weight: bold;&lt;br /&gt; float: left;&lt;br /&gt;}&lt;br /&gt;.info-overlay .txt p {&lt;br /&gt; width: 210px;&lt;br /&gt; line-height: 16px;&lt;br /&gt; float: left;&lt;br /&gt;}&lt;br /&gt;.info-overlay a.tutup {&lt;br /&gt; background: transparent url(../img/close.png) no-repeat top left;&lt;br /&gt; position: absolute;&lt;br /&gt; z-index: 1;&lt;br /&gt; top: 1px;&lt;br /&gt; right: 0px;&lt;br /&gt; width: 29px;&lt;br /&gt; height: 30px;&lt;br /&gt; z-index: 2;&lt;br /&gt;}&lt;br /&gt;.info-overlay a.tutup:hover {&lt;br /&gt; background-position: 0 -32px;&lt;br /&gt;}&lt;br /&gt;* html #latar {&lt;br /&gt; position: absolute;&lt;br /&gt; height: expression(document.body.offsetHeight);&lt;br /&gt; filter: alpha(opacity=0);&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;&lt;h3&gt;Skenario jQuery&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Script dibawah ini digunakan untuk mengatur fungsi overlay. Ketika gambar di klik $(.item a).click maka overlay diaktifkan dan informasi lengkap juga ditampilkan. Ketika #latar, tombol tutup di klik dan atau tombol ESC di tekan maka overlay disembunyikan. Begitulah garis besar fungsi script jQuerynya. Mengenai secara lengkap, silahkan jabarkan sendiri... (&lt;i&gt;ge males...&lt;/i&gt;)&lt;/div&gt;&lt;pre class="brush: js; wrap-lines: false;"&gt;$(document).ready(function(){&lt;br /&gt; &lt;br /&gt; var bukaOverlay = false;&lt;br /&gt; &lt;br /&gt; // tampilkan overlay&lt;br /&gt; $('.item a').each(function(){&lt;br /&gt;  $(this).click(function(){&lt;br /&gt;   bukaOverlay = true;&lt;br /&gt;   &lt;br /&gt;   if ($.browser.msie) {&lt;br /&gt;    // menampilkan overlay dengan efek luntur (fade)&lt;br /&gt;    var posisi = $('.feat-overlay').offset();&lt;br /&gt;    $('.info-overlay').css('left', (posisi.left+44) + 'px');&lt;br /&gt;    $('.info-overlay').css('top', (posisi.top-10) + 'px');&lt;br /&gt;    $('#latar').css('visibility', 'visible');&lt;br /&gt;    $('#latar').animate({ opacity:"0.8" }, 200, function() { &lt;br /&gt;     $('.info-overlay').css('display', 'block');&lt;br /&gt;    });&lt;br /&gt;   } else {&lt;br /&gt;    $('#latar').css('visibility', 'visible');&lt;br /&gt;    $('.info-overlay').css('visibility', 'visible');&lt;br /&gt;    $('#latar').animate({ opacity:"0.8" }, 100, function() { &lt;br /&gt;     $('.info-overlay').animate( { opacity:"1" }, { queue:false, duration:200 } )&lt;br /&gt;    });&lt;br /&gt;   }&lt;br /&gt;   &lt;br /&gt;   // ubah isi overlay jika tersedia&lt;br /&gt;   if($( '#' + $(this).attr('rel') ) != null){&lt;br /&gt;    $('.txt').html( $( '#' + $(this).attr('rel') ).html() );&lt;br /&gt;   }&lt;br /&gt;   return false;&lt;br /&gt;  });&lt;br /&gt; });&lt;br /&gt; &lt;br /&gt; // tutup overlay dengan event klik dan tombol ESC&lt;br /&gt; $('#latar').click(function(e) {&lt;br /&gt;  e.preventDefault();&lt;br /&gt;  tutupOverlay();&lt;br /&gt; });&lt;br /&gt; &lt;br /&gt; $('.info-overlay .tutup').click(function(e) {&lt;br /&gt;  e.preventDefault();&lt;br /&gt;  tutupOverlay();&lt;br /&gt; });&lt;br /&gt; &lt;br /&gt; $(document).keyup(function(event) {&lt;br /&gt;  if ((event.keyCode == 27) &amp;amp;&amp;amp; (bukaOverlay)) {&lt;br /&gt;   tutupOverlay();&lt;br /&gt;  }&lt;br /&gt; });&lt;br /&gt; &lt;br /&gt;});&lt;br /&gt;&lt;br /&gt;// membuat fungsi tutup overlay&lt;br /&gt;function tutupOverlay() {&lt;br /&gt; bukaOverlay = false;&lt;br /&gt; if ($.browser.msie) {&lt;br /&gt;  $('.info-overlay').css('display', 'none');&lt;br /&gt;  $('#latar').animate({ opacity:"0" }, 200, function() { &lt;br /&gt;   $('#latar').css('visibility', 'hidden');&lt;br /&gt;  });&lt;br /&gt; } else {&lt;br /&gt;  $('.info-overlay').animate({ opacity:"0" }, 200, function() { &lt;br /&gt;   $('#latar').animate({ opacity:"0" }, 100, function() { &lt;br /&gt;    $('#latar').css('visibility', 'hidden');&lt;br /&gt;    $('.info-overlay').css('visibility', 'hidden');&lt;br /&gt;   });&lt;br /&gt;  });&lt;br /&gt; }&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;&lt;h3&gt;Kesimpulan&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;jQuery overlay sederhana (jQuery Simple Overlay) ini memang sangat sederhana, karena bukanlah sebuah plugin yang kompleks. Dan anda bisa saja kemudian menyusun ulang script diatas untuk dibuat plugin yang lebih sederhana. Mengenai fungsi-fungsinya mari kita diskusikan pada kotak komentar atau pada fan page Blogger Tune-Up. Penggunaan overlay diatas bisa disesuaikan dengan keperluan anda, bisa untuk halaman depan blog atau halaman portofolio. Selanjutnya silahkan berkreasi dengan script diatas, anda bebas memodifikasinya sesuai dengan kebutuhan. Selamat mencoba, belajar dan obrak-abrik script. Semoga berhasil. Akhirnya kata Happy Blogging :)&lt;/div&gt;</description><link>http://modification-blog.blogspot.com/2012/06/jquery-overlay-sederhana.html</link><author>noreply@blogger.com (Hendriono Dede)</author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-6I0_sdgT2sE/T8xMjjFk4uI/AAAAAAAAGko/1ict9X9NkWI/s72-c/jquery-simple-overlay.jpg' height='72' width='72'/><thr:total>5</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-7350022283544621464.post-4716172736808618521</guid><pubDate>Sun, 27 May 2012 10:41:00 +0000</pubDate><atom:updated>2012-06-28T20:15:11.771+07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>(X)HTML</category><category domain='http://www.blogger.com/atom/ns#'>CSS</category><title>Menyembunyikan Teks Diatas Gambar (Font Crush)</title><description>&lt;div style="text-align: justify;"&gt;Bismillah. Alhamdulillah. Untuk menampilkan gambar logo sebuah website, kita biasanya mengganti nama anchor link pada bagian header H1 dengan gambar logo, padahal H1 secara semantic digunakan sebagai identitas pada situs tersebut, sehingga ada pula yang menggunakan metode CSS untuk menempatkan gambar logo. Gambar Logo diletakan pada kode CSS sebagai background, pada saat halaman di-load, gambar logo dianggap background oleh header H1. Jika title atau judul header H1 tidak diset indentasinya, maka title akan menimpah gambar logo karena title berada diatas gambar logo (lihat ilustrasi gambar).&lt;/div&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;div class="separator"&gt;&lt;img class="frame" src="http://3.bp.blogspot.com/-SoALsAGv04c/T8IEibVp7wI/AAAAAAAAGjo/B1reYWXR0xw/s800/Font-Crush.jpg" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;h3&gt;Skenario HTML CSS&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Dibawah ini termasuk cara lama yang masih tetap banyak digunakan dan sampai saat ini masih dianggap cara yang terbaik. Kode HTML untuk menampilkan Judul situs dibagian header pada umumnya ditulis seperti ini:&lt;/div&gt;&lt;pre&gt;&amp;lt;header&amp;gt;&amp;lt;h1 class="sembunyikan"&amp;gt;Judul Website&amp;lt;/h1&amp;gt;&amp;lt;/header&amp;gt;&lt;/pre&gt;Kemudian agar gambar logo bisa muncul biasanya kode CSS ditulis seperti ini:&lt;br /&gt;&lt;pre&gt;.sembunyikan {&lt;br /&gt;background: url(./gambar/logo.png) no-repeat 0 0;&lt;br /&gt;}&lt;/pre&gt;&lt;div style="text-align: justify;"&gt;Jika kode CSS ditulis seperti diatas maka gambar logo akan tertutup Judul Website, untuk mengakalinya biasanya ditambahkan kode indentasi teks seperti dibawah ini:&lt;/div&gt;&lt;pre&gt;text-indent: -9999px;&lt;/pre&gt;sehingga apabila kode CSS digabungkan menjadi seperti dibawah ini:&lt;br /&gt;&lt;pre&gt;.sembunyikan {&lt;br /&gt;background: url(./gambar/logo.png) no-repeat 0 0;&lt;br /&gt;text-indent: -9999px;&lt;br /&gt;}&lt;/pre&gt;&lt;div style="text-align: justify;"&gt;text-indent atau indentasi teks digunakan untuk menggeser Judul Website sejauh mungkin dari area halaman atau sebesar -9999px (indentasi bisa bernilai positif atau negatif). Metode seperti diatas sampai hari ini masih dapat digunakan dan browser masih mampu me-render dengan sempurna, namun &lt;i&gt;ada kemungkinan&lt;/i&gt; ketika HTML5 sudah menjadi standar bahasa HTML menggantikan HTML4 secara total, &lt;i&gt;ditakutkan&lt;/i&gt; metode tersebut sudah tidak layak digunakan. Kemungkinan terbesar adalah browser tetap menampilkan teks walau indentasinya digeser sejauh mungkin, semakin jauh indentasi teks maka semakin lebar halaman situs, padahal yang ditampilkan hanya sebuah Judul Website. Hal ini juga didiskusikan pada &lt;a href="https://github.com/h5bp/html5-boilerplate/commit/aa0396eae757c9e03dda4e463fb0d4db5a5f82d7" rel="nofollow" target="_blank"&gt;HTML5 Boilerplate&lt;/a&gt; sebagai salah satu pengembang HTML5.&lt;/div&gt;&lt;br /&gt;&lt;h3&gt;Metode "Font Crush"&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Metode dibawah ini merupakan metode lain yang digunakan untuk menyembunyikan Judul Website dan memuncul gambar logo tanpa menggunakan indentasi teks atau text-indent. text-indent digantikan kode-kode seperti dibawah ini:&lt;/div&gt;&lt;pre&gt;font: 0/0 a;&lt;br /&gt;text-shadow: none;&lt;br /&gt;color: transparent;&lt;br /&gt;background-color: transparent;&lt;br /&gt;&lt;/pre&gt;sehingga jika di gabungkan menjadi seperti dibawah ini:&lt;br /&gt;&lt;pre&gt;.sembunyikan {&lt;br /&gt;background: url(./gambar/logo.png) no-repeat 0 0;&lt;br /&gt;font: 0/0 a;&lt;br /&gt;text-shadow: none;&lt;br /&gt;color: transparent;&lt;br /&gt;background-color: transparent;&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;&lt;h3&gt;Apa yang Dilakukan Deklarasi Ini?&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Jika kita perhatikan, mungkin ada kejanggalan dan tidak lazim dari kode CSS yang digunakan. Namun mari kita telusuri, apa yang bisa dilakukan oleh deklarasi kode CSS tersebut.&lt;/div&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;font: 0/0 a; ini adalah shorthand property untuk mengkosongkan ukuran huruf (font-size) dan spasi antar baris (line-height). Sedangkah nilai a adalah font-family terpendek (idenya diambil dari &lt;a href="https://github.com/bem/bem-bl/blob/master/blocks-desktop/b-icon/b-icon.css" rel="nofollow" target="_blank"&gt;BEM implementation of this method&lt;/a&gt;). CSS Validator jelas akan menolak penggunaan 0/0 pada shorthand property font namun browser akan tetap menampilkannya tentunya dengan pemberitahuan error validasi. Makanya kemudian shorthand property ditambahkan nilai a sehingga menjadi font: 0/0 a; untuk melewati atau meloloskan kode CSS agar tetap dianggap valid oleh validator dan ternyata dengan penambahan value a halaman dianggap valid.&lt;/li&gt;&lt;li&gt;text-shadow: none; ini untuk memastikan bahwa tidak terdapat inherit text-shadow pada property CSS lain yang mempengaruhi class tersebut dan jika ternyata ada maka deklarasi ini akan mengkosongkannya atau menghilangkannya. &lt;/li&gt;&lt;li&gt;color: transparent; ini dibutuhkan apabila browser tidak mampu me-render deklarasi sebelumnya dengan baik. Karena pada beberapa browser, properti-properti yang tidak lazim tidak akan digunakan atau di-render sehingga properti yang paling dekatlah yang kemudian digunakan. Properti color: transparent; inilah yang kemudian akan membuat huruf atau judul seakan hilang atau transparan sehingga tidak tampak pada browser.&lt;/li&gt;&lt;li&gt;background-color: transparent; ini berfungsi untuk menyembunyikan/membuang warna latar yang (kemungkinan) dipengaruhi oleh style lain.&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt;Pada HTML5 Boilerplate juga ditambahkan border: 0; pada properti elemen. Hal ini memudahkan penggunaan class pada elemen seperti halnya tombol (button) atau link yang menggunakan background sebagai pengganti teks.&lt;/div&gt;&lt;br /&gt;&lt;h3&gt;Keuntungan Metode "Font Crush"&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Metode diatas mampu menyelesaikan berbagai masalah yang muncul dengan metode text-indent, termasuk yang pernah diusulkan oleh &lt;a href="http://www.zeldman.com/2012/03/01/replacing-the-9999px-hack-new-image-replacement/" rel="nofollow" target="_blank"&gt;Scott Kellum&lt;/a&gt; untuk menghindari masalah kinerja pada iPad 1 mengenai indentasi teks negatif (negatif text-indent).&lt;/div&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;Bekerja dengan sempurna pada IE6 dan IE7 pada elemen dengan properti inline-block. Sedangkan metode indentasi teks (text-indent) tidak mampu menampilkannya dengan sempurna bahkan cenderung hancur, seperti yang ditunjukan &lt;a href="http://jsfiddle.net/hendriono/reKpb/1/show/" rel="nofollow" target="_blank"&gt;pada uji kasus ini&lt;/a&gt; (silahkan buka dengan IE6/IE7).&lt;/li&gt;&lt;li&gt;Tidak menampilkan kotak offscreen (kotak rahasia). Metode text-indent menampilkan sebuah kotak lain yang dibuat didalamnya (kadang-kadang offscreen) untuk setiap teks dengan properti text-indent positif atau negatif. Dan kadang-kadang menimbulkan masalah performa.&lt;/li&gt;&lt;li&gt;Tidak perlu menentukan spesifikasi text-alignment dan overflow: hidden; karena font (huruf) dihancurkan (crush) sehingga tidak memiliki ruang.&lt;/li&gt;&lt;li&gt;Tidak perlu menyembunyikan tag br (line break) atau membereskan tag HTML dengan display: inline; karena masalah yang ditimbulkan oleh text-indent.&lt;/li&gt;&lt;li&gt;Hanya diperlukan sedikit perbaikan pada style akibat penggunaan metode ini.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;h3&gt;Kesimpulan&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Metode ini hanya salah satu cara dari sekian banyak cara untuk menyembunyikan huruf/karakter diatas background/gambar, dan metode ini masih terus didiskusikan. Anda bisa meninggalkan komentar penting tentang kegagalan metode diatas pada &lt;a href="https://github.com/h5bp/html5-boilerplate/issues" rel="nofollow" target="_blank"&gt;HTML5 Boilerplate GitHub issue tracker&lt;/a&gt;.&lt;/div&gt;&lt;br /&gt;Special thanks to &lt;a href="http://nicolasgallagher.com/" rel="nofollow" target="_blank"&gt;Nicolas Gallagher&lt;/a&gt; dan &lt;a href="https://github.com/h5bp/html5-boilerplate" rel="nofollow" target="_blank"&gt;HTML5 Boilerplate&lt;/a&gt; for Font Crush Methode. Happy Blogging :)</description><link>http://modification-blog.blogspot.com/2012/05/menyembunyikan-teks-diatas-gambar-font.html</link><author>noreply@blogger.com (Hendriono Dede)</author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-SoALsAGv04c/T8IEibVp7wI/AAAAAAAAGjo/B1reYWXR0xw/s72-c/Font-Crush.jpg' height='72' width='72'/><thr:total>4</thr:total></item></channel></rss>