<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>canggih.web.id &#187; IT</title>
	<atom:link href="http://canggih.web.id/category/it/feed/" rel="self" type="application/rss+xml" />
	<link>http://canggih.web.id</link>
	<description></description>
	<lastBuildDate>Thu, 05 Jan 2012 12:39:53 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Penyebab baterai laptop drop</title>
		<link>http://canggih.web.id/penyebab-baterai-laptop-drop/</link>
		<comments>http://canggih.web.id/penyebab-baterai-laptop-drop/#comments</comments>
		<pubDate>Thu, 05 Jan 2012 12:39:53 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Berbagi]]></category>
		<category><![CDATA[IT]]></category>
		<category><![CDATA[baterai drop]]></category>
		<category><![CDATA[laptop]]></category>

		<guid isPermaLink="false">http://canggih.web.id/?p=334</guid>
		<description><![CDATA[Apakah baterai laptop anda telah drop? Baru dipakai kurang dari satu jam tapi sudah minta charge? Atau malah lebih parah lagi? Disini saya mencoba meluruskan anggapan SALAH yang terlanjur beredar di masyarakat tentang baterai serta informasi-informasi sangat penting terkait hal tersebut. Baterai yang digunakan pada laptop kita berjenis Li-ion (Lithium-ion, tidak saya bahas detailnya karena [...]]]></description>
			<content:encoded><![CDATA[<p>Apakah baterai laptop anda telah drop? Baru dipakai kurang dari satu jam tapi sudah minta charge? Atau malah lebih parah lagi?<br />
Disini saya mencoba meluruskan anggapan SALAH yang terlanjur beredar di masyarakat tentang baterai serta informasi-informasi sangat penting terkait hal tersebut.</p>
<p><span id="more-334"></span><br />
Baterai yang digunakan pada laptop kita berjenis Li-ion (Lithium-ion, tidak saya bahas detailnya karena tulisan ini tidak fokus pada hal tersebut) yang bekerja karena adanya pergerakan ion. Idealnya, mekanisme yang digunakan memungkinkan baterai untuk dapat digunakan selamanya, tapi jelas itu tidak mungkin. Suatu ketika baterai pasti mengalami apa yang kita sebut sebagai baterai drop atau ada juga yang menyebut battery aging (selanjutnya saya sebut penuaan). Setidaknya ada 4 faktor yang MEMPERCEPAT proses penuaan tersebut. Disini saya tidak akan membahas detail teknis, tetapi hanya sekedar overview saja.</p>
<p><strong>1. Cycle count limit (battery life cycle)</strong></p>
<p>Faktor ini merupakan faktor alamiah yang dimiliki tiap baterai. Jadi, kita tidak mungkin menambah batasan cycle count yang dimiliki baterai. Lalu, apakah cycle count itu? Ketika kita menggunakan laptop dari full charge sampai nyaris habis, kemudian kita charge sampai full lagi, itu dihitung sebagai 1 cycle. Dengan kata lain 1 cycle = 1 charge + 1 discharge. Perhitungan tersebut tidak selalu dalam satu waktu, jadi misal hari ini 1 charge kemudian beberapa hari kemudian baru 1 discharge, itu baru dihitung 1 cycle.</p>
<p>Nah, ada spa dengan cycle count ini? Semua baterai Li-ion memiliki batasan maksimal cycle count sebelum baterai akan mulai menua (berkurang kapasitasnya), sekali lagi hal ini alami. Batasan cycle count tiap baterai berbeda-beda, tergantung pabrik pembuatnya dan jenis baterainya. Setahu saya, rata-rata cycle count baterai laptop adalah berkisar antara 300-500, meskipun Apple mengklaim bahwa mac book pro buatannya memiliki cycle count sampai 1000. Kira-kira sudah paham kan arah tulisan saya? Intinya adalah jika kita sering charge-discharge laptop kita, secara otomatis akan mempercepat penuaan baterai laptop. Ketika cycle count mencapai batasan yang ditetapkan pabrik, maka kapasitas baterai akan turun hingga 80% dan berangsur-angsur akan terus turun. Untuk mengetahui cycle count baterai laptop anda saat ini, bisa menggunakan software (cari di internet ya).</p>
<p>Oleh karena itu, saya tekankan, jika kita charge laptop sampai penuh, kemudian kita cabut powernya kemudian kita gunakan sampai habis, kemudian charge lagi, itu sama saja tindakan &#8220;mempercepat penuaan&#8221;, tindakan yang cukup konyol tapi sering orang lakukan. Kita asumsikan batasannya 300 dan misalnya kita melakukan 1 cycle tiap hari, maka hitungan kasarnya setelah 1 tahun baterai akan &#8220;habis&#8221;. Masuk akal kan? Sehingga akan lebih aman jika sebisa mungkin kita charge laptop dan tidak perlu dilepas powernya ketika telah full. Banyak orang takut alasannya karena akan terjadi overcharge, tapi hal itu sudah bukan masalah pada laptop jaman sekarang. Jadi, keep charging!</p>
<p><strong>2. DoC (Depth of Charge)</strong></p>
<p>Hal lain yang juga berpengaruh adalah DoC atau kedalaman charge. Dalam jumlah cycle count yang sama, jika kita charge laptop ketika baterai tinggal 10% dibandingkan dengan ketika baterai tinggal 50% misalnya, hasilnya akan berbeda, dan itu berpengaruh terhadap daya tahan baterai. Sebuah riset menunjukkan bahwa semakin banyak sisa power baterai ketika mulai charge, maka akan semakin baik untuk usia baterai. Jadi charging ketika sisa tinggal 90% akan jauh lebih baik dibanding charging ketika sisanya tinggal 10%. Yup, sekali lagi memang lebih baik charging setiap saat.</p>
<p><strong>3. SoC (State of Charge)</strong></p>
<p>Ketika laptop tidak digunakan dalam waktu yang lama, sekitar 1 bulan, maka dianjurkan untuk kondisikan baterai pada state of charge sekitar 40%, atau setidaknya 50%. State of charge adalah istilah untuk sisa power yang ada dalam baterai. Akan cukup riskan bagi baterai jika disimpan dalam waktu lama dalam kondisi full charged, yang akan berakibat pada berkurangnya usia baterai secara signifikan. Hal ini terlepas dari apakah baterai dilepas dari laptop maupun tidak.</p>
<p><strong>4. Temperature</strong></p>
<p>Hampir semua peralatan elektronik pasti memiliki batas maksimal temperatur, begitu juga dengan baterai. Panas yang berlebihan memang tidak berpengaruh pada cycle count, tapi dapat merusak baterai secara langsung. Sebisa mungkin jangan sampai panas baterai melebihi 30 derajat celcius. Oleh karena itu, harap diperhatikan pemakaian laptop anda, apakah sirkulasi udaranya bagus atau tidak, dan juga jangan meletakkan laptop pada tempat dengan suhu tinggi. Saya yakin poin ini semua orang pasti sudah tahu.</p>
<p><strong>5. Voltage </strong></p>
<p>Setiap baterai laptop memiliki stander voltase yang berbeda-beda. Terkait dengan hal tersebut, yang saya tekankan adalah selalu gunakan charger yang benar-benar sesuai. Beda charger (beda pabrik pembuat) sangat dimungkinkan memiliki voltase yang berbeda meskipun diklaim untuk laptop yang sama. Jika voltase charger yang digunakan dibawah standar baterai pada laptop kita, itu relatif aman, tetapi jika lebih tinggi akan berbahaya untuk baterai, dapat mengakibatkan kerusakan. Jadi, gunakan selalu charger yang original bawaan dari laptop.</p>
<p>Sekedar berbagi informasi, semoga bermanfaat. Jika ada yang mau didiskusikan, silakan.</p>
<p><strong>Referensi :</strong><br />
<strong><a href="http://batteryuniversity.com/">http://batteryuniversity.com</a></strong></p>
]]></content:encoded>
			<wfw:commentRss>http://canggih.web.id/penyebab-baterai-laptop-drop/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Cek Status Batere Laptop di Gnome-Shell</title>
		<link>http://canggih.web.id/cek-status-batere-laptop-di-gnome-shell/</link>
		<comments>http://canggih.web.id/cek-status-batere-laptop-di-gnome-shell/#comments</comments>
		<pubDate>Sat, 21 May 2011 04:57:02 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[IT]]></category>
		<category><![CDATA[batere status]]></category>
		<category><![CDATA[gnome-shell]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://canggih.web.id/?p=301</guid>
		<description><![CDATA[Pertama mencoba gnome-shell, terasa ada yang kurang pada tampilan aplet. Ternyata tidak ada batere indikator. Belum tahu apa sebabnya. Mungkin karena gnome-shell menggunakan sistem notifikasi baru, tapi hal ini tetap tidak nyaman. Meskipun ketika batere tinggal 10%, akan ada notifikasi batere, tetapi kita tidak bisa secara langsung mengetahui tinggal berapa persenkah status batere sekarang, karena [...]]]></description>
			<content:encoded><![CDATA[<p>Pertama mencoba gnome-shell, terasa ada yang kurang pada tampilan aplet. Ternyata tidak ada batere indikator. Belum tahu apa sebabnya. Mungkin karena gnome-shell menggunakan sistem notifikasi baru, tapi hal ini tetap tidak nyaman. Meskipun ketika batere tinggal 10%, akan ada notifikasi batere, tetapi kita tidak bisa secara langsung mengetahui tinggal berapa persenkah status batere sekarang, karena hal itu dapat sangat berguna untuk memperkirakan penggunaan laptop.</p>
<p><span id="more-301"></span></p>
<p>Status dari batere yang digunakan, beserta informasi lain, sebenarnya telah disediakan oleh ubuntu di file :</p>
<p><strong>/proc/acpi/battery/BAT0/info</strong> dan <strong>/proc/acpi/battery/BAT0/state</strong></p>
<p>Dalam file-file tersebut terdapat informasi batere secara detail, termasuk status batere saat digunakan. Untuk mempermudah pembacaan, terutama status batere, saya buat program sederhana menggunakan python.</p>
<blockquote><p>#!/usr/bin/python<br />
fmax = open(&#8216;/proc/acpi/battery/BAT0/info&#8217;,'r&#8217;)<br />
fstate = open(&#8216;/proc/acpi/battery/BAT0/state&#8217;,'r&#8217;)<br />
tmax = fmax.read()<br />
tstate = fstate.read()<br />
tmax = tmax.replace(&#8216; &#8216;,&#8221;)<br />
tstate = tstate.replace(&#8216; &#8216;,&#8221;)</p>
<p>tmaxA = tmax.find(&#8216;y:&#8217;)<br />
tmaxB = tmax.find(&#8216;mA&#8217;)<br />
maxvalue = int(tmax[+tmaxA+2:+tmaxB])</p>
<p>tstateA = tstate.find(&#8216;y:&#8217;)<br />
tstateB = tstate.find(&#8216;mAh&#8217;)<br />
curvalue = int(tstate[+tstateA+2:+tstateB])</p>
<p>fmax.close()<br />
fstate.close()</p>
<p>print &#8220;&#8212;Battery State&#8212;&#8221;<br />
print &#8220;Max value:&#8221;,maxvalue<br />
print &#8220;Current value:&#8221;,curvalue<br />
print &#8220;Percentage:&#8221;,curvalue*100/maxvalue,&#8221;%&#8221;<br />
print &#8220;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-&#8221;</p></blockquote>
<p>Copy-Paste script diatas lalu simpan dalam file berekstensi .py kemudian eksekusi melalui terminal dengan super user mode :</p>
<blockquote><p>sudo python &lt;namafile&gt;.py</p></blockquote>
<p>Hasilnya semacam ini :</p>
<p><img src="http://canggih.web.id/wp-content/uploads/2011/05/Screenshot.png" alt="" /></p>
<p>Semoga bermanfaat.</p>
<p><strong>Referensi : Pengalaman penulis</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://canggih.web.id/cek-status-batere-laptop-di-gnome-shell/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Protobuf : base128 varints encoding</title>
		<link>http://canggih.web.id/protobuf-base128-varints-encoding/</link>
		<comments>http://canggih.web.id/protobuf-base128-varints-encoding/#comments</comments>
		<pubDate>Thu, 10 Feb 2011 16:25:20 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[IT]]></category>
		<category><![CDATA[base128]]></category>
		<category><![CDATA[encoding]]></category>
		<category><![CDATA[protobuf]]></category>
		<category><![CDATA[varints]]></category>

		<guid isPermaLink="false">http://canggih.web.id/protobuf-base64-varints-encoding/</guid>
		<description><![CDATA[Encoding merupakan cara untuk mengubah suatu data ke bentuk lain agar sesuai standar yang telah ditentukan. Berbeda dengan Enkripsi, pada encoding, keamanan data tidak begitu diperhatikan, yang penting sudah sesuai standar saja. Sedangkan pada enkripsi, data dibuat sedemikian rupa agar memiliki tingkat keamanan yang tinggi. Teknik yang diterapkan dalam encoding pun tidak menjadi rahasia. Dalam [...]]]></description>
			<content:encoded><![CDATA[<p>Encoding merupakan cara untuk mengubah suatu data ke bentuk lain agar sesuai standar yang telah ditentukan. Berbeda dengan Enkripsi, pada encoding, keamanan data tidak begitu diperhatikan, yang penting sudah sesuai standar saja. Sedangkan pada enkripsi, data dibuat sedemikian rupa agar memiliki tingkat keamanan yang tinggi. Teknik yang diterapkan dalam encoding pun tidak menjadi rahasia. Dalam lingkup komunikasi data, encoding digunakan agar data dapat ditransmisikan sesuai format dan standar yang dimiliki pada media. Jenis encoding yang cukup dikenal antara lain base32, base64, dan base128.</p>
<p><span id="more-267"></span>Protobuf, sudah saya jelaskan pada artikel sebelumnya, juga tidak lepas dari encoding karena data yang ditransmisikan harus berformat textual data sedangkan data asli bisa bermacam-macam, baik integer, maupun format data non-text lain. Disini, protobuf menggunakan base128 varints encoding untuk integer. Sedangkan untuk format lain, akan saya bahas lain kali. &nbsp;</p>
<p><strong>Base128 Encoding</strong></p>
<p>Pada dasarnya, penggunaan base128 encoding adalah dari 1 byte data (8bit), yang digunakan hanyalah 7 bit saja. Sehingga dari 7 bit tersebut maksimal memiliki kombinasi nilai 128 buah, dari 0 sampai 127 atau 0000000 sampai 1111111.&nbsp;</p>
<p>Contoh :</p>
<p>canggih diubah ke biner menjadi&nbsp;01100011 01100001 01101110 01100111 01100111 01101001 01101000. Untuk meng-encodenya kedalam base128, maka biner diatas dipisah per 7 bit :&nbsp;0110001 1011000 0101101 1100110 0111011 0011101 1010010 1101000, jika diubah ke desimal menjadi&nbsp;49 88 45 102 59 29 82 104.</p>
<p><strong>Varints encoding</strong></p>
<p>Varints adalah variabel integers, dengan kata lain integer dengan panjang byte yang berbeda-beda. Protobuf menggunakan varints sebagai format integer dalam transmisi. Varints encoding berarti metode untuk meng-encode varints. Penerapan varints encoding ini tidak terlepas dari base128 encoding diatas. Seperti yang sudah saya jelaskan diatas, pada encoding base128, dalam 1 byte yang digunakan hanya 7 bit, dengan kata lain ada 1 bit yang tidak terpakai. 1 bit tersebut digunakan sebagai penanda apakah ada byte selanjutnya atau tidak pada varints. Bit yang tidak terpakai tersebut adalah MSB dari tiap byte. Jika akan ada byte selanjutnya pada varints, maka MSB akan diset 1, jika tidak maka diset 0. Contohnya sebagai berikut ;</p>
<p>Misal, bilangan 1 pada base128 varints akan menjadi <span style="color: #ff0000;">0</span>000 0001. Tetapi bilangan 300 akan menjadi <span style="color: #ff0000;">1</span>010 1100 <span style="color: #ff0000;">0</span>000 0010.</p>
<p>Bilangan 1 hanya berupa 1 byte, tidak ada byte selanjutnya&nbsp;sehingga&nbsp;MSB-nya diset 0. Sekarang kita lihat pada bilangan 300. Byte pertamanya memiliki MSB 1 karena masih ada byte kedua yang mengikuti, tetapi pada byte kedua, MSB 0 karena sudah tidak ada lagi byte selanjutnya.</p>
<p>Kemudian untuk pembacaan, jika byte lebih dari satu, maka kita membaca mulai byte belakang, karena varints menyimpannya dari least significant group dahulu. Pada contoh bilangan 300, setelah dihilangkan MSB-nya (karena hanya sebagai penanda), akan menjadi : 010 1100 000 0010. Kita ubah urutannya menjadi</p>
<p>0000010 0101100 yang berarti : 256 + 32 + 8 + 4 = 300&nbsp;</p>
<p>&#8212;&#8212;&#8212;-</p>
<p>Semoga bermanfaat.&nbsp;</p>
<p>Referensi :&nbsp;</p>
<p><a href="http://code.google.com/apis/protocolbuffers/docs/encoding.html">http://code.google.com/apis/protocolbuffers/docs/encoding.html</a></p>
<p><a href="http://forums.digitalpoint.com/showthread.php?t=1040961">http://forums.digitalpoint.com/showthread.php?t=1040961</a></p>
<p><a href="http://en.wikipedia.org/wiki/Base64">http://en.wikipedia.org/wiki/Base64</a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://canggih.web.id/protobuf-base128-varints-encoding/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Akankah Protobuf menggantikan XML?</title>
		<link>http://canggih.web.id/akankah-protobuf-menggantikan-xml/</link>
		<comments>http://canggih.web.id/akankah-protobuf-menggantikan-xml/#comments</comments>
		<pubDate>Tue, 08 Feb 2011 08:41:46 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[IT]]></category>
		<category><![CDATA[data]]></category>
		<category><![CDATA[protobuf]]></category>
		<category><![CDATA[xml]]></category>

		<guid isPermaLink="false">http://canggih.web.id/?p=260</guid>
		<description><![CDATA[Suatu terobosan baru dilakukan Google di tahun 2008 lalu dengan merilis Protocol Buffers (Protobuf), sebuah format data yang digunakan dalam protokol komunikasi maupun data storage. Google dengan kepercayaan diri yang cukup tinggi, berani membandingkan dengan format setipe yang sudah menjadi standard di dunia, yaitu XML. Bahkan dengan sangat jelas, Google mengklaim protobuf lebih baik dibanding [...]]]></description>
			<content:encoded><![CDATA[<div id="_mcePaste">Suatu terobosan baru dilakukan Google di tahun 2008 lalu dengan merilis Protocol Buffers (Protobuf), sebuah format data yang digunakan dalam protokol komunikasi maupun data storage. Google dengan kepercayaan diri yang cukup tinggi, berani membandingkan dengan format setipe yang sudah menjadi standard di dunia, yaitu XML.</div>
<div><span id="more-260"></span></div>
<p></p>
<div>Bahkan dengan sangat jelas, Google mengklaim protobuf lebih baik dibanding XML, dalam sisi kecepatan, kemudahan, dan ukuran. Satu pertanyaan besar muncul, akankah Protobuf menggantikan XML?</div>
<p></p>
<div>Pertanyaan senada dapat kita amati pada saat spesifikasi HTML5 digembor-gemborkan di dunia internet, yang kemudian diisukan bakal mengancam eksistensi dari Flash (terutama), Silverlight, dan bahkan JavaFX. Terlalu dini bagi kita untuk bisa menjawab pertanyaan diatas, dan bahkan mungkin untuk beberapa tahun kedepan. Kita ambil contoh HTML5 yang mulai booming tahun 2010 lalu, sebenarnya dipersiapkan untuk teknologi web di masa mendatang, setidaknya tidak dalam kurun waktu 2-3 tahun kedepan. Dengan kata lain, kita tidak bisa mengatakan bahwa Flash telah tamat segera setelah HTML5 keluar, karena memang untuk menjadi standar web, HTML5 masih butuh banyak penyesuaian yang tidak bisa dilakukan dalam waktu dekat.</div>
<p></p>
<div id="_mcePaste">Kembali ke masalah Protobuf dan XML. Banyak kalangan yang pro dan kontra tentang keberadaan Protobuf, mengapa Google perlu membuat format data baru tersebut. Bagi yang pro, tentu ini adalah sebuah inovasi dalam protokol komunikasi, karena tidak dapat dipungkiri dalam hal kecepatan, Protobuf jauh mengungguli XML (karena Protobuf menggunakan binary) dan beberapa kelebihan lain yang menjadikannya begitu powerful. Tapi, bagi pihak kontra, hal itu tidak perlu. Jika alasannya adalah kecepatan dan kemudahan, mengapa tidak menggunakan JSON atau ASN.1, atau sekalian saja menggunakan Thrift milik Facebook dan dikelola dalam Apache Incubator, yang sangat mirip dengan Protobuf. Dari benchmarking yang pernah dilakukan, Protobuf dan Thrift memiliki performa yang setara. Jika menggunakan optimize speed di Protobuf, dia hanya unggul sedikit dibanding Thrift.</div>
<p></p>
<div id="_mcePaste">Untuk lebih jelasnya mengenai perbandingan Protobuf dan XML, kita lihat dibawah ini.</div>
<p></p>
<div id="_mcePaste">Jika ingin membuat sebuah model person dengan nama dan email, maka dalam XML akan tertulis semacam ini :</div>
<p></p>
<blockquote>
<div id="_mcePaste"><strong>&lt;person&gt;</strong></div>
<div id="_mcePaste"><strong>&lt;nama&gt;Fulan&lt;/nama&gt;</strong></div>
<div id="_mcePaste"><strong>&lt;email&gt;fulan@sample.com&lt;/email&gt;</strong></div>
<div id="_mcePaste"><strong>&lt;/person&gt;</strong></div>
</blockquote>
<p></p>
<div id="_mcePaste">Dalam XML, nilai secara eksplisit diletakkan pada file XML tersebut. Berbeda dengan Protobuf yang menggunakan semacam skema untuk merancang message type yang akan digunakan. Kemudian inisiasi nilai akan dilakukan setelah skema tersebut di-compile dan tergantung dengan bahasa yang digunakan (untuk lebih jelasnya akan saya bahas di artikel lain, klo sempat..hehe). Skema message type untuk model diatas adalah :</div>
<p></p>
<blockquote>
<div id="_mcePaste" style="text-align: left;"><strong>message Person {</strong></div>
<div id="_mcePaste" style="text-align: left;"><strong>required string nama = 1;</strong></div>
<div id="_mcePaste" style="text-align: left;"><strong>required string email = 2;</strong></div>
<div id="_mcePaste" style="text-align: left;"><strong>}</strong></div>
</blockquote>
<p></p>
<div id="_mcePaste">Skema tersebut hanyalah contoh sederhana untuk menggambarkan sedikit perbedaan diantara keduanya, karena banyak sekali perbedaan yang ada. Secara garis besar, plus-minus penggunakan protobuf dan xml dalam komunikasi data, dapat kita lihat berikut ini.</div>
<p></p>
<div id="_mcePaste"><strong>Protobuf :</strong></div>
<div id="_mcePaste">- 3 sampai 10 kali lebih kecil dibanding XML</div>
<div id="_mcePaste">- 20 sampai 100 kali lebih cepat</div>
<div id="_mcePaste">- memiliki class yang digenerate, lebih mudah digunakan dalam pemrograman</div>
<p></p>
<div id="_mcePaste"><strong>XML :</strong></div>
<div id="_mcePaste">- human-readable, dapat dengan mudah kita edit. Sedangkan protobuf karena binary, tidak mungkin dibaca secara langsung.</div>
<div id="_mcePaste">- telah menjadi standard sejak lama.</div>
<p></p>
<div id="_mcePaste">dan masih banyak perbedaan lain. Dalam hal komunikasi data, kecepatan dan ukuran merupakan parameter yang sangat vital, oleh karena itu Protobuf jauh unggul dalam hal ini. Tetapi jika kita menggunakannya sebagai storage, tentu sangat merepotkan menggunakan Protobuf dibanding XML, terkait dengan human-readable nya. Mungkin di masa yang akan datang Protobuf dan XML bisa hidup berdampingan dengan fokus yang berbeda.</div>
<p></p>
<p>Referensi :</p>
<p><a href="http://code.google.com/p/protobuf/">http://code.google.com/p/protobuf/</a></p>
<p><a href="http://en.wikipedia.org/wiki/Comparison_of_data_serialization_formats">http://en.wikipedia.org/wiki/Comparison_of_data_serialization_formats</a></p>
<p><a href="http://www.eishay.com/2008/11/protobuf-with-option-optimize-for-speed.html">http://www.eishay.com/2008/11/protobuf-with-option-optimize-for-speed.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://canggih.web.id/akankah-protobuf-menggantikan-xml/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mengenal Subversion (SVN)</title>
		<link>http://canggih.web.id/mengenal-subversion-svn/</link>
		<comments>http://canggih.web.id/mengenal-subversion-svn/#comments</comments>
		<pubDate>Mon, 27 Dec 2010 20:33:38 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[IT]]></category>
		<category><![CDATA[svn]]></category>
		<category><![CDATA[version]]></category>

		<guid isPermaLink="false">http://canggih.web.id/mengenal-subversion-svn/</guid>
		<description><![CDATA[Subversion (SVN) adalah sebuah software opensource yang berguna sebagai version control. Version control sendiri merupakan sebuah manajemen perubahan pada direktori maupun file. Jadi pada dasarnya SVN melakukan manajemen file dan direktori, mencatat perubahan yang terjadi padanya. Hal itu memungkinkan SVN untuk mengembalikan data pada waktu tertentu, sesuai dengan history yang tercatat. Dengan SVN kita dapat [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft" src="http://canggih.web.id/wp-content/uploads/2010/12/subversion_logo-384x332.png" alt="" width="150" height="150" />Subversion (SVN) adalah sebuah software opensource yang berguna sebagai version control. Version control sendiri merupakan sebuah manajemen perubahan pada direktori maupun file. Jadi pada dasarnya SVN melakukan manajemen file dan direktori, mencatat perubahan yang terjadi padanya. Hal itu memungkinkan SVN untuk mengembalikan data pada waktu tertentu, sesuai dengan history yang tercatat. Dengan SVN kita dapat juga mengetahui perubahan-perubahan yang terjadi pada data serta kapan perubahan itu terjadi. Penggunaan SVN ini bisa sangat vital bila kita bekerja dalam sebuah tim, karena kita dapat bekerja paralel tanpa menggangu pekerjaan anggota tim lain.</p>
<p><span id="more-253"></span></p>
<p>Untuk lebih jelas tentang seperti apa SVN itu, dapat kita lihat pada arsitekturnya berikut.</p>
<p><img src="http://canggih.web.id/wp-content/uploads/2010/12/ch01dia1.png" alt="" /></p>
<p>Pada dasarnya, ada 2 bagian penting dalam SVN, yaitu SVN Client dan SVN Repository. SVN Client merupakan software yang digunakan user untuk mengakses repository, sedangkan SVN repository sendiri merupakan server yang berisi data-data yang dimanage. Segala perubahan terhadap data di repository dicatat oleh SVN. Dalam menggunakan SVN ini, data dalam repository dapat dicopy ke client agar user dapat mengolah data tersebut secara lokal, biasanya disebut &#8220;Checkout&#8221;. Kemudian data di lokal tersebut, setelah diolah, dapat dikirim kembali ke repository untuk keperluan version control, dan agar dapat diakses rekan kita, biasanya disebut &#8220;Commit&#8221;.</p>
<p>Mengenai SVN Repository, di internet ada banyak sekali yang menyediakan layanan tersebut, baik yang berbayar maupun yang tidak, tentu dengan fasilitas yang berbeda. Dengan menggunakan layanan tersebut, maka kita tinggal meletakkan data/file yang akan kita buat versioning-nya di repository, kemudian dapat kita akses melalui SVN client di PC kita. Beberapa SVN Hosting yang menyediakan layanan tersebut diantaranya :</p>
<ul>
<li><a href="http://code.google.com/hosting/">Google</a></li>
<li><a href="http://sourceforge.net/">SourceForge</a></li>
<li><a href="http://gna.org/">Gna</a></li>
<li><a href="http://www.projectlocker.com/">ProjectLocker</a></li>
<li><a href="http://www.sliksvn.com/">Slik SVN</a></li>
<li><a href="http://www.myversioncontrol.com/">My Version Control</a></li>
<li><a href="http://codesion.com/">Codesion</a></li>
<li>dll</li>
</ul>
<p>Kemudian untuk SVN Client yang kita install di PC, dapat kita gunakan :</p>
<ul>
<li><a href="http://rapidsvn.tigris.org/">RapidSVN</a></li>
<li><a href="http://tortoisesvn.tigris.org//">TortoiseSVN</a></li>
<li><a href="http://www.websvn.info/">WebSVN</a></li>
<li><a href="http://kdesvn.alwins-world.de/">kdeSVN</a></li>
<li>dll</li>
</ul>
<p>Dari beberapa daftar diatas, yang saya gunakan adalah ProjectLocker untuk SVN Hostingnya, kemudian untuk client menggunakan TortoiseSVN (untuk windows) dan kdeSVN (untuk linux).</p>
<p><strong>Referensi :</strong></p>
<p><a href="http://svnbook.red-bean.com/en/1.5/index.html"><strong>http://svnbook.red-bean.com/en/1.5/index.html</strong></a></p>
<p><a href="http://www.svnhostingcomparison.com/"><strong>http://www.svnhostingcomparison.com/</strong></a></p>
<p><a href="http://en.wikipedia.org/wiki/Comparison_of_Subversion_clients"><strong>http://en.wikipedia.org/wiki/Comparison_of_Subversion_clients</strong></a></p>
]]></content:encoded>
			<wfw:commentRss>http://canggih.web.id/mengenal-subversion-svn/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Install driver TL WN422G di ubuntu</title>
		<link>http://canggih.web.id/install-driver-tl-wn422g-di-ubuntu/</link>
		<comments>http://canggih.web.id/install-driver-tl-wn422g-di-ubuntu/#comments</comments>
		<pubDate>Sun, 19 Dec 2010 19:18:34 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[IT]]></category>
		<category><![CDATA[driver]]></category>
		<category><![CDATA[tl wn422g]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://canggih.web.id/install-driver-tl-wn422g-di-ubuntu/</guid>
		<description><![CDATA[Koneksi internet yang saya gunakan di rumah awalnya menggunakan bantuan TL WN321G yang sudah disupport secara otomatis mulai Ubuntu 10.04 dengan driver rt73. Kemudian karena suatu masalah akhirnya diganti menjadi TL WN422G, dimana merupakan versi yang lebih baru. Yang menjadi masalah, ternyata versi 422 ini belum bisa otomatis terdeteksi pada Ubuntu 10.10 yang saya gunakan [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft" src="http://canggih.web.id/wp-content/uploads/2010/12/wireless.jpg" alt="" width="150" height="150" />Koneksi internet yang saya gunakan di rumah awalnya menggunakan bantuan TL WN321G yang sudah disupport secara otomatis mulai Ubuntu 10.04 dengan driver <strong>rt73</strong>. Kemudian karena suatu masalah akhirnya diganti menjadi <strong>TL WN422G</strong>, dimana merupakan versi yang lebih baru. Yang menjadi masalah, ternyata versi 422 ini belum bisa otomatis terdeteksi pada Ubuntu 10.10 yang saya gunakan saat ini. Setelah beberapa saat menimba ilmu dari mbah Google, akhirnya kutemukan caranya.</p>
<p><span id="more-247"></span></p>
<p>Cara yang digunakan saat ini berbeda dari cara instal TL WN321G secara manual, sebelum Ubuntu 10.04. Jika dahulu saya menginstal driver rt73, tapi untuk sekarang, saya memanfaatkan driver milik windows XP untuk diinstal menggunakan <strong>ndiswrapper</strong> di linux.</p>
<p>Untuk dapat melakukannya, instal dahulu ndiswrapper melalui repo. Disini saya gunakan versi GUI dari ndiswrapper, yaitu <strong>ndisgtk</strong>, biar lebih nyaman dilihat saja..hehe..</p>
<blockquote><p><strong>sudo apt-get install ndisgtk</strong></p></blockquote>
<p>Kemudian jalankan aplikasi ndisgtk tersebut dan instal driver milik XP, yaitu <strong>netathuw.inf. </strong>Pada awalnya, akan terlihat pemberitahuan <strong>Hardware Present : No, </strong>dengan kata lain wireless belum bisa digunakan karena kita belum melakukan pengubahan pada modulnya (modprobe). Oleh karena itu, selanjutnya kita melakukan penulisan pada modprobe serta modul-modul lainnya.</p>
<blockquote><p><strong>sudo ndiswrapper -a 0cf3:1006 netathuw</strong></p></blockquote>
<blockquote><p><strong>sudo ndiswrapper -m</strong></p></blockquote>
<blockquote><p><strong>sudo ndiswrapper -ma</strong></p></blockquote>
<blockquote><p><strong>sudo ndiswrapper -mi</strong></p></blockquote>
<p>Kode 0cf3:1006 merupakan produk ID dari device yang kita gunakan (TL WN422G) dengan chipset <strong>Atheros AR9271</strong>, hal ini dapat kita lihat dengan mengetik perintah :</p>
<blockquote><p><strong>sudo lsusb</strong></p></blockquote>
<p>Setelah itu, pada ndisgtk, kata <strong>No</strong> akan berganti menjadi <strong>Yes. </strong>TL WN422G akan bisa digunakan setelah ubuntu direstart.</p>
<p style="text-align: center;"><img class="aligncenter" src="http://canggih.web.id/wp-content/uploads/2010/12/snapshot1.png" alt="" /></p>
<p><strong>Referensi :</strong></p>
<p><strong>help.ubuntu.com</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://canggih.web.id/install-driver-tl-wn422g-di-ubuntu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Zoundry Raven, desktop blogging client pilihanku</title>
		<link>http://canggih.web.id/zoundry-raven-desktop-blogging-client-pilihanku/</link>
		<comments>http://canggih.web.id/zoundry-raven-desktop-blogging-client-pilihanku/#comments</comments>
		<pubDate>Sun, 28 Nov 2010 14:07:10 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[IT]]></category>
		<category><![CDATA[blog]]></category>
		<category><![CDATA[client]]></category>
		<category><![CDATA[zoundry raven]]></category>

		<guid isPermaLink="false">http://canggih.web.id/zoundry-raven-desktop-blogging-client-pilihanku/</guid>
		<description><![CDATA[Beberapa waktu terakhir ini, semakin tertarik untuk mencoba blogging client, yaitu semacam aplikasi blog editor yang bisa dijalankan online maupun offline. Biasanya menulis langsung online atau bila sedang offline, notepad/gedit pun jadi sasaran. Baru akhir-akhir ini tertarik untuk menggunakannya karena beberapa hal. Banyak rekan yang menyarankan menggunakan Window Live Writer, katanya bagus dan mudah serta [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;"><img style="width: 150px; display: inline; float: left; height: 117px;" src="http://canggih.web.id/wp-content/uploads/2010/11/Zoundry_Raven.png" alt="Zoundry-Raven.png" width="150" height="117" /></p>
<p style="text-align: justify;">Beberapa waktu terakhir ini, semakin tertarik untuk mencoba blogging client, yaitu semacam aplikasi blog editor yang bisa dijalankan online maupun offline. Biasanya menulis langsung online atau bila sedang offline, notepad/gedit pun jadi sasaran. Baru akhir-akhir ini tertarik untuk menggunakannya karena beberapa hal.</p>
<p style="text-align: left;">
<p><span id="more-234"></span></p>
<p style="text-align: justify;">Banyak rekan yang menyarankan menggunakan <strong>Window Live Writer</strong>, katanya bagus dan mudah serta banyak fitur yang bisa digunakan. Tetapi, kok saya merasa gak `srek` memakai itu. Akhirnya saya cari-cari yang lain, dan sempat berganti-ganti aplikasi pula.</p>
<p style="text-align: justify;">Pertama, kucoba menggunakan <strong>Thingamablog</strong>, suatu blogging client cross-platform yang bisa digunakan baik di windows, linux, maupun mac. Ternyata setelah dicoba, rumit (atau gak bisa pake ya..hehe). Yang jelas tidak sesuai dengan selera saya. Googling lagi, dan pilihan selanjutnya adalah <strong>Xpostulate</strong>. Setelah install, baru sadar jika ternyata Xpostulate jalan diatas TCL (Tool Command Language), jadi harus menginstalnya terlebih dahulu untuk bisa menjalankan Xpostulate. Wah, tentu ini lebih merepotkan lagi. Kembali googling dan menemukan <strong>ScribeFire</strong>, yaitu blogging client yang awalnya merupakan plugin dari Firefox yang sekarang dapat digunakan juga di Chrome dan Safari. Sebenarnya sudah pas sesuai selera dalam menggunakan ScribeFire ini, tetapi ada dua hal yang mengganjal, yaitu masalah WYSIWYG dan ketika penggunaan image yang tidak sesuai selera. Padahal penggunaanya sangat mudah, ringan, dan nyaman.</p>
<p style="text-align: justify;">Akhirnya pilihan pun jatuh ke <strong>Zoundry Raven.</strong> Aplikasi ini berbasis desktop, tidak seperti ScribeFire, dengan penggunaan yang tidak kalah mudah dan fitur yang lebih lengkap. Fitur-fitur Zoundry Raven diantaranya :</p>
<ul>
<li>
<div style="text-align: justify;"><strong>WYSIWYG Editing</strong> yang memberi kemudahan dalam penulisan blog</div>
</li>
<li>
<div style="text-align: justify;"><strong>Improved content management.</strong> ZR memiliki built-in indexer yang memungkinkan kita melihat post berdasar blogs, links, tags, dan images</div>
</li>
<li>
<div style="text-align: justify;"><strong>Manage multiple media storage services.</strong> Dapat menggunakan media services yang berbeda-beda, seperti Picasa, Image Shack, Ripway, dll.</div>
</li>
<li>
<div style="text-align: justify;"><strong>Manage multiple blogs offline.</strong> ZR mampu me-manage banyak blog serta publish post yang sama ke banyak blog tersebut</div>
</li>
<li>
<div style="text-align: justify;"><strong>Raven2Go: Portable Application support.</strong> Ketika melakukan instalasi, kita bisa memilih akan menginstal versi Portable atau bukan. Versi portable menjadikan aplikasi dapat dijalankan melalui FD tanpa instalasi lagi</div>
</li>
<li>
<div style="text-align: justify;"><strong>Page &amp; Tag support.</strong> ZR dapat juga digunakan untuk mengatur page dan tag pada blog.</div>
</li>
</ul>
<p style="text-align: justify;"><img style="text-align: center; width: 300px; display: block; height: 208px; margin-left: auto; margin-right: auto;" src="http://canggih.web.id/wp-content/uploads/2010/11/Untitled1.png" alt="Untitled.png" width="300" height="208" /></p>
<p style="text-align: center;"><strong>Tampilan view post</strong></p>
<p style="text-align: center;"><img style="width: 300px; display: inline; height: 232px;" title="Penulisan artikel" src="http://canggih.web.id/wp-content/uploads/2010/11/Untitled2.png" alt="Untitled2.png" width="300" height="232" /></p>
<p style="text-align: center;"><strong>Tampilan saat menulis artikel</strong></p>
<p style="text-align: left;">Sebenarnya masih banyak kelebihan-kelebihan lain, hal diatas hanya saya kutip dari web resminya di <a href="http://www.zoundryraven.com">http://www.zoundryraven.com</a>. Tulisan ini saya tulis menggunakan Zoundry Raven. Sayang, ternyata Zoundry Raven cuma bisa digunakan di windows, meskipun dia open source :(</p>
<p style="text-align: justify;"><strong>Referensi :</strong></p>
<p style="text-align: justify;"><strong>Pengalaman Penulis</strong></p>
<p style="text-align: justify;"><a href="http://www.zoundryraven.com/"><strong>http://www.zoundryraven.com</strong></a></p>
<p class="zoundry_raven_tags"><!-- Tag links generated by Zoundry Raven. Do not manually edit. http://www.zoundryraven.com --> <span class="ztags"><span class="ztagspace">Technorati</span> : <a class="ztag" rel="tag" href="http://www.technorati.com/tag/blog">blog</a>, <a class="ztag" rel="tag" href="http://www.technorati.com/tag/client">client</a>, <a class="ztag" rel="tag" href="http://www.technorati.com/tag/zoundry+raven">zoundry raven</a></span><br />
<span class="ztags"><span class="ztagspace">Del.icio.us</span> : <a class="ztag" rel="tag" href="http://del.icio.us/tag/blog">blog</a>, <a class="ztag" rel="tag" href="http://del.icio.us/tag/client">client</a>, <a class="ztag" rel="tag" href="http://del.icio.us/tag/zoundry%20raven">zoundry raven</a></span><br />
<span class="ztags"><span class="ztagspace">Zooomr</span> : <a class="ztag" rel="tag" href="http://www.zooomr.com/search/photos/?q=blog">blog</a>, <a class="ztag" rel="tag" href="http://www.zooomr.com/search/photos/?q=client">client</a>, <a class="ztag" rel="tag" href="http://www.zooomr.com/search/photos/?q=zoundry%20raven">zoundry raven</a></span><br />
<span class="ztags"><span class="ztagspace">Flickr</span> : <a class="ztag" rel="tag" href="http://www.flickr.com/photos/tags/blog">blog</a>, <a class="ztag" rel="tag" href="http://www.flickr.com/photos/tags/client">client</a>, <a class="ztag" rel="tag" href="http://www.flickr.com/photos/tags/zoundry%20raven">zoundry raven</a></span></p>
]]></content:encoded>
			<wfw:commentRss>http://canggih.web.id/zoundry-raven-desktop-blogging-client-pilihanku/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>jQuery vs MooTools, pilih mana?</title>
		<link>http://canggih.web.id/jquery-vs-mootools-pilih-mana/</link>
		<comments>http://canggih.web.id/jquery-vs-mootools-pilih-mana/#comments</comments>
		<pubDate>Sat, 30 Oct 2010 14:29:36 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[IT]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[mootools]]></category>

		<guid isPermaLink="false">http://canggih.web.id/?p=206</guid>
		<description><![CDATA[Bagi para pengembang website, terutama yang fokus pada sisi desain, tentu tidak asing lagi dengan jQuery dan MooTools, javascript library yang memberi kemudahan dan kecepatan dalam menggunakan javascript. Dengan memanfaatkan library tersebut, kita dapat membuat website dengan tampilan yang memukau dengan code yang relatif sedikit. Tentu menjadi sangat menarik untuk diterapkan. Kalau kita perhatikan, banyak [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;"><img class="size-thumbnail wp-image-207 alignleft" title="images (1)" src="http://canggih.web.id/wp-content/uploads/2010/10/images-1-150x150.jpg" alt="" width="150" height="150" /></p>
<p>Bagi para pengembang website, terutama yang fokus pada sisi desain, tentu tidak asing lagi dengan jQuery dan MooTools, javascript library yang memberi kemudahan dan kecepatan dalam menggunakan javascript. Dengan memanfaatkan library tersebut, kita dapat membuat website dengan tampilan yang memukau dengan code yang relatif sedikit. Tentu menjadi sangat menarik untuk diterapkan.</p>
<p><span id="more-206"></span></p>
<p>Kalau kita perhatikan, banyak sekali perdebatan antara para pengguna tentang mana yang lebih baik, apakah jQuery atau MooTools, dengan alasan masing-masing. Untuk memulai perbandingan ini, saya ambil kalimat kunci dari masing-masing library.</p>
<p>jQuery dalam websitenya menampilkan kalimat :</p>
<blockquote><p><em>jQuery is a fast and concise JavaScript Library that simplifies HTML document traversing, event handling, animating, and Ajax interactions for rapid web development. jQuery is designed to change the way that you write JavaScript.</em></p></blockquote>
<p>Sedangkan MooTools menggunakan kalimat :</p>
<blockquote><p><em>MooTools is a compact, modular, Object-Oriented JavaScript framework designed for the intermediate to advanced JavaScript developer. It allows you to write powerful, flexible, and cross-browser code with its elegant, well documented,</em></p></blockquote>
<p>Sebenernya dari kalimat yang ditampilkan di masing-masing website nya, dapat kita ambil kesimpulan, bahwa pada dasarnya kedua library dibuat untuk tujuan yang berbeda. Pada jQuery, dapat kita garis bawahi bahwa jQuery adalah suatu library javascript yang menyederhanakan penggunaaan dokumen HTML. JQuery dibuat sebagai library untuk menyederhanakan, itulah inti yang sebenarnya. Sedangkan pada MooTools, ternyata cukup berbeda dari jQuery, yaitu bahwa MooTools adalah suatu obyek oriented javascript framework yang didesain untuk developer. MooTools bukan hanya sebuah library, tapi sudah berupa framework.</p>
<p>Perbedaan konsep diatas jelas mempengaruhi kemampuan dari masing-masing tools diatas.Aaron Newton dalam webnya di <a href="http://jqueryvsmootools.com/">http://jqueryvsmootools.com/</a> menjelaskan secara panjang lebar tentang perbedaan diantara keduanya yang bisa dibilang sangat mencolok. Satu hal yang menarik bagi saya dari penjelasan beliau adalah bahwa</p>
<blockquote><p>jQuery Makes the DOM More Fun</p>
<p>MooTools Makes JavaScript Itself More Fun</p></blockquote>
<p>Jadi memang jQuery hanya fokus pada bagaimana membuat DOM (Document Object Model) lebih menyenangkan dan mudah digunakan. Dengan sintax yang sederhana, kita dapat dengan mudah membuat website kita semakin cantik dengan jQuery.</p>
<p>Kemudian MooTools, tidak fokus pada DOM tetapi ke Javascript itu sendiri. Hal ini sangat cocok digunakan oleh para developer yang memang menggunakan javascript. Mungkin jika dibandingkan dengan jQuery, maka sintax dari MooTools akan terlihat lebih rumit dan tidak efisien, tetapi hal itulah  konsep dari MooTools adalah mempermudah penggunaan javascript, bukan hanya DOM nya saja. Bagi pengguna yang terbiasa hal simpel dan mudah, maka jQuery adalah jawabannya. Tetapi bagi para pengguna yang memang ingin terjun di dunia coding javascript, tentu akan lebih baik menggunakan mootools.</p>
<p>Satu hal yang jelas adalah pada dasarnya baik jQuery dan MooTools memiliki fokus yang agak berbeda, jadi agak sulit untuk dibandingkan secara umum. Kalau kita bahas tentang masalah kecepatan, maka hal itu akan menyinggung selector engine yang digunakan, JQuery menggunakan SizzleJS sedangkan MooTools menggunakan Slick. Menurut benchmarking yang saya dapat, antara kedua selector engine tersebut kemampuannya hampir sama, jadi dari sisi kecepatan, memang jQuery dan MooTools bisa dianggap setara.</p>
<p>Mau pilih mana? Terserah selera Anda&#8230;</p>
<p>Referensi :</p>
<p><a href="http://jqueryvsmootools.com/">http://jqueryvsmootools.com/</a></p>
<p><a href="http://blog.frontendforce.com/2010/05/jquery-vs-mootools-nightly-benchmark/">http://blog.frontendforce.com/2010/05/jquery-vs-mootools-nightly-benchmark/</a></p>
<p><a href="http://mootools.net/">http://mootools.net/</a></p>
<p><a href="http://jquery.com/">http://jquery.com/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://canggih.web.id/jquery-vs-mootools-pilih-mana/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Tes Fitur HTML 5 dan CSS 3 di browser Anda</title>
		<link>http://canggih.web.id/tes-fitur-html-5-dan-css-3-di-browser-anda/</link>
		<comments>http://canggih.web.id/tes-fitur-html-5-dan-css-3-di-browser-anda/#comments</comments>
		<pubDate>Fri, 15 Oct 2010 02:37:22 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[IT]]></category>
		<category><![CDATA[css3]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[tes]]></category>

		<guid isPermaLink="false">http://canggih.web.id/?p=176</guid>
		<description><![CDATA[Dibawah ini adalah tes fitur-fitur yang ada pada teknologi web terbaru (HTML5 dan CSS3) pada browser yang Anda gunakan. Tes ini menggunakan bantuan Modernizr. Untuk penjelasan dari masing-masing fitur bisa dicari sendiri..hehe&#8230;mungkin akan saya bahas pada artikel-artikel selanjutnya. Browser yang Anda gunakan : Hasil test Fitur-fitur Didukung browser Anda Canvas Canvas Text Video Ogg Video [...]]]></description>
			<content:encoded><![CDATA[<p><script src="http://canggih.web.id/teshtml5/modernizr-1.5.js"></script> <script src="http://canggih.web.id/teshtml5/browserdetect.js"></script><br />
<script src="http://canggih.web.id/teshtml5/tesfeat.js"></script><a href="http://canggih.web.id/wp-content/uploads/2010/10/images21.jpg"><img class="size-thumbnail wp-image-180 alignleft" title="images2" src="http://canggih.web.id/wp-content/uploads/2010/10/images21-150x150.jpg" alt="" width="150" height="150" /></a>Dibawah ini adalah tes fitur-fitur yang ada pada teknologi web terbaru (HTML5 dan CSS3) pada browser yang Anda gunakan. Tes ini menggunakan bantuan <strong>Modernizr</strong>. Untuk penjelasan dari masing-masing fitur bisa dicari sendiri..hehe&#8230;mungkin akan saya bahas pada artikel-artikel selanjutnya.</p>
<h5><strong>Browser yang Anda gunakan : <script type="text/javascript">// <![CDATA[
       document.write(browserName + ' ' +fullVersion);
// ]]&gt;</script></strong></h5>
<p><span id="more-176"></span></p>
<h5><strong>Hasil test</strong></h5>
<table border="1">
<tbody>
<tr bgcolor="#ffffff">
<td>
<h4><strong>Fitur-fitur</strong></h4>
</td>
<td>
<h4><strong>Didukung browser Anda</strong></h4>
</td>
</tr>
<tr>
<td>Canvas</td>
<td><script type="text/javascript">// <![CDATA[
       document.write(test("canvas"));
// ]]&gt;</script></td>
</tr>
<tr>
<td>Canvas Text</td>
<td><script type="text/javascript">// <![CDATA[
       document.write(test("canvastext"));
// ]]&gt;</script></td>
</tr>
<tr>
<td>Video Ogg</td>
<td><script type="text/javascript">// <![CDATA[
       document.write(test("videoogg"));
// ]]&gt;</script></td>
</tr>
<tr>
<td>Video h264</td>
<td><script type="text/javascript">// <![CDATA[
       document.write(test("videoh264"));
// ]]&gt;</script></td>
</tr>
<tr>
<td>Local Storage</td>
<td><script type="text/javascript">// <![CDATA[
       document.write(test("localstorage"));
// ]]&gt;</script></td>
</tr>
<tr>
<td>Session Storage</td>
<td><script type="text/javascript">// <![CDATA[
       document.write(test("sessionstorage"));
// ]]&gt;</script></td>
</tr>
<tr>
<td>Cross Window Messaging</td>
<td><script type="text/javascript">// <![CDATA[
       document.write(test("crosswindowmessaging"));
// ]]&gt;</script></td>
</tr>
<tr>
<td>Web Sql Database</td>
<td><script type="text/javascript">// <![CDATA[
       document.write(test("websqldatabase"));
// ]]&gt;</script></td>
</tr>
<tr>
<td>Indexed DB</td>
<td><script type="text/javascript">// <![CDATA[
       document.write(test("indexedDB"));
// ]]&gt;</script></td>
</tr>
<tr>
<td>Hash Change</td>
<td><script type="text/javascript">// <![CDATA[
       document.write(test("hashchange"));
// ]]&gt;</script></td>
</tr>
<tr>
<td>History Management</td>
<td><script type="text/javascript">// <![CDATA[
       document.write(test("historymanagement"));
// ]]&gt;</script></td>
</tr>
<tr>
<td>Drag and Drop</td>
<td><script type="text/javascript">// <![CDATA[
       document.write(test("draganddrop"));
// ]]&gt;</script></td>
</tr>
<tr>
<td>Websockets</td>
<td><script type="text/javascript">// <![CDATA[
       document.write(test("websockets"));
// ]]&gt;</script></td>
</tr>
<tr>
<td>RGBA</td>
<td><script type="text/javascript">// <![CDATA[
       document.write(test("rgba"));
// ]]&gt;</script></td>
</tr>
<tr>
<td>HSLA</td>
<td><script type="text/javascript">// <![CDATA[
       document.write(test("hsla"));
// ]]&gt;</script></td>
</tr>
<tr>
<td>Multiplebgs</td>
<td><script type="text/javascript">// <![CDATA[
       document.write(test("multiplebgs"));
// ]]&gt;</script></td>
</tr>
<tr>
<td>Backgroundsize</td>
<td><script type="text/javascript">// <![CDATA[
       document.write(test("backgroundsize"));
// ]]&gt;</script></td>
</tr>
<tr>
<td>Borderradius</td>
<td><script type="text/javascript">// <![CDATA[
       document.write(test("borderradius"));
// ]]&gt;</script></td>
</tr>
<tr>
<td>Boxshadow</td>
<td><script type="text/javascript">// <![CDATA[
       document.write(test("boxshadow"));
// ]]&gt;</script></td>
</tr>
<tr>
<td>Opacity</td>
<td><script type="text/javascript">// <![CDATA[
       document.write(test("opacity"));
// ]]&gt;</script></td>
</tr>
<tr>
<td>CSSanimations</td>
<td><script type="text/javascript">// <![CDATA[
       document.write(test("cssanimations"));
// ]]&gt;</script></td>
</tr>
<tr>
<td>CSScolumns</td>
<td><script type="text/javascript">// <![CDATA[
       document.write(test("csscolumns"));
// ]]&gt;</script></td>
</tr>
<tr>
<td>CSSgradients</td>
<td><script type="text/javascript">// <![CDATA[
       document.write(test("cssgradients"));
// ]]&gt;</script></td>
</tr>
<tr>
<td>CSSreflections</td>
<td><script type="text/javascript">// <![CDATA[
       document.write(test("cssreflections"));
// ]]&gt;</script></td>
</tr>
<tr>
<td>CSStransforms</td>
<td><script type="text/javascript">// <![CDATA[
       document.write(test("csstransforms"));
// ]]&gt;</script></td>
</tr>
<tr>
<td>CSStransforms3d</td>
<td><script type="text/javascript">// <![CDATA[
       document.write(test("csstransforms3d"));
// ]]&gt;</script></td>
</tr>
<tr>
<td>CSStransitions</td>
<td><script type="text/javascript">// <![CDATA[
       document.write(test("csstransitions"));
// ]]&gt;</script></td>
</tr>
<tr>
<td>Fontface</td>
<td><script type="text/javascript">// <![CDATA[
       document.write(test("fontface"));
// ]]&gt;</script></td>
</tr>
<tr>
<td>SVG</td>
<td><script type="text/javascript">// <![CDATA[
       document.write(test("svg"));
// ]]&gt;</script></td>
</tr>
<tr>
<td>SMIL</td>
<td><script type="text/javascript">// <![CDATA[
       document.write(test("smil"));
// ]]&gt;</script></td>
</tr>
<tr>
<td>SVGclippaths</td>
<td><script type="text/javascript">// <![CDATA[
       document.write(test("svgclippaths"));
// ]]&gt;</script></td>
</tr>
<tr>
<td>Webworkers</td>
<td><script type="text/javascript">// <![CDATA[
       document.write(test("webworkers"));
// ]]&gt;</script></td>
</tr>
<tr>
<td>Application Cache</td>
<td><script type="text/javascript">// <![CDATA[
       document.write(test("applicationcache"));
// ]]&gt;</script></td>
</tr>
<tr>
<td>Geolocation</td>
<td><script type="text/javascript">// <![CDATA[
       document.write(test("geolocation"));
// ]]&gt;</script></td>
</tr>
<tr>
<td>Inputtypes Search</td>
<td><script type="text/javascript">// <![CDATA[
       document.write(test("inputtypes.search"));
// ]]&gt;</script></td>
</tr>
<tr>
<td>Inputtypes Number</td>
<td><script type="text/javascript">// <![CDATA[
       document.write(test("inputtypes.number"));
// ]]&gt;</script></td>
</tr>
<tr>
<td>Inputtypes Range</td>
<td><script type="text/javascript">// <![CDATA[
       document.write(test("inputtypes.range"));
// ]]&gt;</script></td>
</tr>
<tr>
<td>Inputtypes Color</td>
<td><script type="text/javascript">// <![CDATA[
       document.write(test("inputtypes.color"));
// ]]&gt;</script></td>
</tr>
<tr>
<td>Inputtypes Tel</td>
<td><script type="text/javascript">// <![CDATA[
       document.write(test("inputtypes.tel"));
// ]]&gt;</script></td>
</tr>
<tr>
<td>Inputtypes URL</td>
<td><script type="text/javascript">// <![CDATA[
       document.write(test("inputtypes.url"));
// ]]&gt;</script></td>
</tr>
<tr>
<td>Inputtypes Email</td>
<td><script type="text/javascript">// <![CDATA[
       document.write(test("inputtypes.email"));
// ]]&gt;</script></td>
</tr>
<tr>
<td>Inputtypes Date</td>
<td><script type="text/javascript">// <![CDATA[
       document.write(test("inputtypes.date"));
// ]]&gt;</script></td>
</tr>
<tr>
<td>Inputtypes Month</td>
<td><script type="text/javascript">// <![CDATA[
       document.write(test("inputtypes.month"));
// ]]&gt;</script></td>
</tr>
<tr>
<td>Inputtypes Week</td>
<td><script type="text/javascript">// <![CDATA[
       document.write(test("inputtypes.week"));
// ]]&gt;</script></td>
</tr>
<tr>
<td>Inputtypes Time</td>
<td><script type="text/javascript">// <![CDATA[
       document.write(test("inputtypes.time"));
// ]]&gt;</script></td>
</tr>
<tr>
<td>Inputtypes Datetime</td>
<td><script type="text/javascript">// <![CDATA[
       document.write(test("inputtypes.datetime"));
// ]]&gt;</script></td>
</tr>
<tr>
<td>Inputtypes Datetime-local</td>
<td><script type="text/javascript">// <![CDATA[
       document.write(test("inputtypes.datetime-local"));
// ]]&gt;</script></td>
</tr>
<tr>
<td>Input Placeholder</td>
<td><script type="text/javascript">// <![CDATA[
       document.write(test("input.placeholder"));
// ]]&gt;</script></td>
</tr>
<tr>
<td>Input Autofocus</td>
<td><script type="text/javascript">// <![CDATA[
       document.write(test("input.autofocus"));
// ]]&gt;</script></td>
</tr>
<tr>
<td>Microdata</td>
<td><script type="text/javascript">// <![CDATA[
       document.getItems();
// ]]&gt;</script></td>
</tr>
</tbody>
</table>
<p><strong>Referensi :</strong><br />
<a href="http://www.modernizr.com/">http://www.modernizr.com/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://canggih.web.id/tes-fitur-html-5-dan-css-3-di-browser-anda/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Perbedaan Chromium dan Google Chrome</title>
		<link>http://canggih.web.id/perbedaan-chromium-dan-google-chrome/</link>
		<comments>http://canggih.web.id/perbedaan-chromium-dan-google-chrome/#comments</comments>
		<pubDate>Thu, 14 Oct 2010 14:54:38 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Berbagi]]></category>
		<category><![CDATA[IT]]></category>
		<category><![CDATA[chromium]]></category>
		<category><![CDATA[google chrome]]></category>
		<category><![CDATA[web browser]]></category>

		<guid isPermaLink="false">http://canggih.web.id/?p=170</guid>
		<description><![CDATA[Mungkin banyak dari kita yang belum tahu perbedaan sebenarnya dari kedua browser yang mulai mewabah beberapa tahun terakhir ini tersebut. Banyak yang mengira bahwa keduanya sama, hanya namanya saja yang berbeda (lho..berarti juga beda dong..). Ternyata Chromium dan Google Chrome itu serupa tapi tak sama. Perbedaan diantara keduanya cukup banyak walaupun dari sisi user interface [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://canggih.web.id/wp-content/uploads/2010/10/images.jpg"><img class="size-thumbnail wp-image-171 alignleft" title="images" src="http://canggih.web.id/wp-content/uploads/2010/10/images-150x150.jpg" alt="" width="150" height="150" /></a>Mungkin banyak dari kita yang belum tahu perbedaan sebenarnya dari kedua browser yang mulai mewabah beberapa tahun terakhir ini tersebut. Banyak yang mengira bahwa keduanya sama, hanya namanya saja yang berbeda (lho..berarti juga beda dong..). <strong>Ternyata Chromium dan Google Chrome itu serupa tapi tak sama</strong>. Perbedaan diantara keduanya cukup banyak walaupun dari sisi user interface nyaris tidak bisa dibedakan (selain logonya).</p>
<p><span id="more-170"></span></p>
<p>Pada awalnya sebuah proyek pembuatan web browser opensource bernama <strong>Chromium</strong> didirikan untuk membuat browser yang opensource. Kemudian Google mengambil sourcecode Chromium proyek tersebut untuk membuat browser baru dengan menambah beberapa fitur tambahan, seperti tambahan nama, yang kemudian menjadi <strong>Google Chrome</strong>. Singkat kata, Google Chrome merupakan Chromium yang dipaket dan didistribusikan oleh Google dengan menambah beberapa fitur. Proyek Chromium sendiri masih terus berjalan dan masih juga digunakan Google untuk meng-update Google Chrome.</p>
<p>Setidaknya ada 11 perbedaan antara Chromium dan Google Chrome, yang ditambahkan oleh Google, yaitu :</p>
<ul>
<li><strong>LOGO</strong></li>
</ul>
<p>Logo dari Google Chrome berwarna-warni kombinasi merah-kuning-hijau-biru sedangkan logo Chromium berwarna biru saja.</p>
<ul>
<li><strong>Crash reporting</strong></li>
</ul>
<p>Pada Google Chrome, pengguna dapat mengirim crash report ke Google sedangkan pada Chromium tidak ada fitur ini.</p>
<ul>
<li><strong>User metrics</strong></li>
<li><strong>Video and audio tags</strong></li>
</ul>
<p>Google Chrome mendukung format H.264, AAC, MP3, Vorbis dan  Theora sedangkan Chromium hanya mendukung Vorbis dan Theora.</p>
<ul>
<li><strong>Adobe Flash</strong></li>
</ul>
<p>Secara default, Google Chrome telah terintegrasi dengan Flash Player.</p>
<ul>
<li><strong>PDF support</strong></li>
</ul>
<p>Google Chrome juga telah memiliki plugin PDF secara default.</p>
<ul>
<li><strong>Code</strong></li>
</ul>
<p>Code dari Google Chrome dites oleh developer sedangkan Chromium dimodifikasi oleh para distributor (termasuk Google itu sendiri..hehe)</p>
<ul>
<li><strong>Sandbox</strong></li>
</ul>
<p>Sandbox (semacam mekanisme keamanan) selalu ON pada Google Chrome, sedangkan pada Chromium kadang di-disable tergantung pada distributor.</p>
<ul>
<li><strong>Package</strong></li>
</ul>
<p>Google Chrome memiliki paket single deb/rpm/exe sedangkan Chromium tergantung distributor dan bisa terpisah dalam beberapa bagian.</p>
<ul>
<li><strong>Profile dan Cache</strong></li>
</ul>
<p>Sudah jelas letak profile dan cache dari kedua browser tersebut berbeda, meskipun cuma nama directory nya saja yaitu google-chrome dan chromium.</p>
<ul>
<li><strong>Quality Assurance</strong></li>
</ul>
<p>Ini yang cukup penting. Pada Google Chrome, segala perubahan/update dites terlebih dahulu oleh para developer sebelum dikirim ke user dalam bentuk rilis. Sedangkan pada Chromium, karena memang berupa proyek development, maka segala perubahan akan langsung dikirim ke user (mungkin biar user yang ngetes..hehe). Sehingga Chromium lebih rentan crash dan bug, tetapi lebih up to date dibanding Google Chrome. Jadi, sangat mungkin bila kita melihat satu fitur dari Chromium yang baru diimplementasikan pada Google Chrome beberapa waktu yang akan datang. Jangan kaget pula bila memang<strong> Chromium tidak punya Stable Released</strong>, karena memang selalu dalam tahap pengembangan.</p>
<p>Saya pribadi menginstall baik Google Chrome dan juga Chromium, karena saya rasa lebih baik dibanding browser lain..hehe&#8230;</p>
<p><strong>Referensi :</strong></p>
<p><a href="http://code.google.com/p/chromium/wiki/ChromiumBrowserVsGoogleChrome">http://code.google.com/p/chromium/wiki/ChromiumBrowserVsGoogleChrome</a></p>
<p><a href="http://en.wikipedia.org/wiki/Chromium_(web_browser)">http://en.wikipedia.org/wiki/Chromium_(web_browser)</a></p>
<p><a href="http://en.wikipedia.org/wiki/Google_Chrome">http://en.wikipedia.org/wiki/Google_Chrome</a></p>
]]></content:encoded>
			<wfw:commentRss>http://canggih.web.id/perbedaan-chromium-dan-google-chrome/feed/</wfw:commentRss>
		<slash:comments>20</slash:comments>
		</item>
	</channel>
</rss>

