<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;Dk4DSXk7eip7ImA9WhRaE0U.&quot;"><id>tag:blogger.com,1999:blog-5650278523296983596</id><updated>2012-02-16T16:36:18.702+07:00</updated><category term="facebook" /><category term="zuckerberg" /><category term="mark" /><category term="facemash" /><category term="algorithm" /><category term="the social network" /><category term="algoritma" /><title>masgan!!</title><subtitle type="html">talk less, write more! let's write!</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://hotswaps.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://hotswaps.blogspot.com/" /><author><name>HOTSWAPS</name><uri>http://www.blogger.com/profile/04379498723671044534</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>3</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/Hotswaps" /><feedburner:info uri="hotswaps" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:emailServiceId>Hotswaps</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><entry gd:etag="W/&quot;CEMGQnozfSp7ImA9WhdWFkU.&quot;"><id>tag:blogger.com,1999:blog-5650278523296983596.post-3793131002889281366</id><published>2011-09-10T19:14:00.001+07:00</published><updated>2011-09-11T02:20:23.485+07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-11T02:20:23.485+07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="algoritma" /><category scheme="http://www.blogger.com/atom/ns#" term="zuckerberg" /><category scheme="http://www.blogger.com/atom/ns#" term="facebook" /><category scheme="http://www.blogger.com/atom/ns#" term="facemash" /><category scheme="http://www.blogger.com/atom/ns#" term="algorithm" /><category scheme="http://www.blogger.com/atom/ns#" term="the social network" /><category scheme="http://www.blogger.com/atom/ns#" term="mark" /><title>Algoritma Facemash (bagian 3)</title><content type="html">&lt;span class="Apple-style-span" style="color: red;"&gt;Warning: Sebelum membaca post ini, anda diharapkan mengerti terlebih dahulu tentang bahasa pemrograman PHP, MYSQL, dan HTML. Serta anda diharapkan mengerti cara mengkoneksikan website anda dengan server yang anda pakai.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Sesuai janji saya di bagian kedua, di bagian ketiga ini saya akan membahas tentang pembuatan website Facemash secara keseluruhan. Jika anda belum membaca &lt;a href="http://hotswaps.blogspot.com/2011/04/membuat-tiruan-facemash-bagian-1.html"&gt;bagian satu&lt;/a&gt; dan &lt;a href="http://hotswaps.blogspot.com/2011/04/membuat-tiruan-facemash-bagian-2.html"&gt;bagian dua&lt;/a&gt;&amp;nbsp;sebaiknya anda membaca terlebih dahulu, karena pada bagian ini saya akan membahas hal-hal yang menyangkut teknis saja. Segala penjelasan tentang teori dan hal-hal yang berkaitan dengan Elo Rating System telah dijelaskan di bagian pertama dan kedua.&lt;br /&gt;
&lt;br /&gt;
Baiklah saya akan sedikit berbaik hati, bagi anda yang malas membaca bagian satu dan dua, saya akan mereviewnya sedikit. Apa itu Facemash? Pernah menonton film The Social Network, disana Mark (Facebook founder) dalam ceritanya membuat website untuk memilih diantara dua gambar wanita, mana dari dua gambar wanita tersebut yang dirasa paling HOT. Ke-HOT-an tersebut kemudian diurutkan berdasarkan rating. Rating tersebut didapat dari dari banyaknya dia menang, kalah dan mungkin seri yang merupakan hasil dari pemilihan gambar sebelumnya. Di post bagian satu dan dua, saya telah menjelaskan bagaimana cara me-rating yang digunakan Mark yaitu menggunakan Elo Rating System beserta algoritmanya. Pada bagian ini, akan dijelaskan secara step-by-step pembuatan website Facemash tiruannya.&lt;br /&gt;
&lt;br /&gt;
Anda bisa melihat demo dari Facemash tiruan yang saya buat ini. &lt;a href="http://projectkomat.comxa.com/facemash"&gt;Lihat Demo.&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Pertama-tama yang anda perlukan adalah konfigurasi dengan server yang anda pakai, untuk itu anda memerlukan module yang mengkoneksikan website anda,&lt;br /&gt;
&lt;pre class="php" name="code"&gt;$dbhost="localhost";
$dbuser="DATABASE_USERNAME";
$dbpass="DATABASE_PASSWORD";
$dbname="DATABASE_PASSWORD";

$link = mysql_connect($dbhost, $dbuser, $dbpass); 
if (!$link) {
    die('Could not connect: ' . mysql_error());
}
mysql_select_db($dbname); 
&lt;/pre&gt;
Ubah nilai $dbhost, $dbuser, $dbpass. $dbname, sesuai dengan konfigurasi server anda. Kemudian save file tersebut dengan nama module-config.php.&lt;br /&gt;
&lt;br /&gt;
Setelah membuat modul konfigurasi, yang anda perlukan adalah mengikutsertakan modul tersebut ke file utama, dengan cara:&lt;br /&gt;
&lt;pre class="php" name="code"&gt;include("module-config.php");
include("elofunction.php");
&lt;/pre&gt;
dengan elofunction.php adalah modul yang telah kita buat di post bagian kedua.&lt;br /&gt;
&lt;br /&gt;
Karena dalam pembuatan website Facemash memerlukan foto, anggaplah kita memiliki foto-foto yang diperlukan yang disimpan dalam folder bernama img. Di dalam folder tersebut, misalkan kita isikan dengan tes1.jpg, tes2.jpg sampai tes8.jpg yang merupakan file foto yang berformat jpg (anda bisa memilih foto siapapun teman anda, kemudian me-rename nya menjadi tes1.jpg sampai tes8.jpg). Karena asumsi disini kita memiliki delapan foto, maka kita memiliki delapan korban yang bisa di vote. Untuk memunculkan foto tersebut secara random, kita buat fungsi di php yaitu:&lt;br /&gt;
&lt;pre class="php" name="code"&gt;$a=1;
$b=1;

while($a==$b) {
	$a=rand(1,8);
	$b=rand(1,8);
}
&lt;/pre&gt;
yang berarti kita telah mendapatkan nilai $a dan $b secara acak namun nilainya tidak pernah sama.&lt;br /&gt;
&lt;br /&gt;
Apalagi variabel yang kita perlukan sebelum memunculkan website? Pastinya kita membutuhkan nama korban yang akan di vote. Kita akan ambil nama korban tersebut dari database MySQL (databse MySQL tersebut akan kita buat kemudian), dengan cara:&lt;br /&gt;
&lt;pre class="php" name="code"&gt;$query="SELECT * FROM victim_members ORDER BY id";
$perintah=mysql_query($query);
while($d=mysql_fetch_array($perintah)){
	if($d['id']==$a) {
		$namaPlayerA = $d['nama'];
	}
	if($d['id']==$b) {
		$namaPlayerB = $d['nama'];
	}
}
&lt;/pre&gt;
yang berarti kita telah mendapatkan nama korban dan disimpan ke dalam variabel $namaPlayerA dan $namaPlayerB.&lt;br /&gt;
&lt;br /&gt;
Dari penjelasan diatas, kita telah dapatkan 2 korban yang akan di vote. Tapi kita belum memiliki data apapun tentang dua korban tersebut. Data tentang dua korban tersebut kita ambil dari database MySQL (yang akan dijelaskan kemudian), data yang kita ambil meliputi nilai point korban A dan korban B, berapa kali A dan B ikut bertanding (di vote), berapa kali A dan B menang, seri dan kalah. Semua data tersebut kita ambl dengan cara:&lt;br /&gt;
&lt;pre class="php" name="code"&gt;if(isset($_POST['SKotak1']) or isset($_POST['SKotak2']) or isset($_POST['SKotak3'])) {
	$query="SELECT * FROM victim_members ORDER BY id";
	$perintah=mysql_query($query);
	while($d=mysql_fetch_array($perintah)){
		if($d['id']==$_POST['kotak1']) {
			$ELOplayerA = $d['EloPoint'];
			$P1 = $d['P'];
			$W1 = $d['W'];
			$D1 = $d['D'];
			$L1 = $d['L'];
		}
		if($d['id']==$_POST['kotak2']) {
			$ELOplayerB = $d['EloPoint'];
			$P2 = $d['P'];
			$W2 = $d['W'];
			$D2 = $d['D'];
			$L2 = $d['L'];
		}
	}
}	
&lt;/pre&gt;
dengan isset SKotak1 or SKotak2 or SKotak3 menandakan jika vote tengah berlangsung. Nilai point korban A disimpan dalam variabel $ELOplayerA, banyaknya pertandingan disimpan di variabel $P1, menang-kalah-seri berturut turut disimpan pada variabel $W1, $D1, dan $L1. Begitu juga dengan korban B.
&lt;br /&gt;
&lt;br /&gt;
Data tentang kedua korban sudah kita dapatkan, kemudian baru kita proses dengan cara:&lt;br /&gt;
&lt;pre class="php" name="code"&gt;if(isset($_POST['SKotak1'])) {
	$ekspektasiA = Ekspektasi($ELOplayerA, $ELOplayerB);
	$ekspektasiB = 1-$ekspektasiA;
	$ELOplayerA = $ELOplayerA + EloRating($ELOplayerA, 1, $ekspektasiA);
	$ELOplayerB = $ELOplayerB + EloRating($ELOplayerB, 0, $ekspektasiB);
	if($ELOplayerA &amp;lt; 0) { $ELOplayerA = 0; }
	if($ELOplayerB &amp;lt; 0) { $ELOplayerB = 0; }
	$P1++;$W1++;$P2++;$L2++;
	$kueri="UPDATE victim_members SET EloPoint='".$ELOplayerA."', 
	P='".$P1."', W='".$W1."' WHERE id='".$_POST['kotak1']."'";
	$kueri2="UPDATE victim_members SET EloPoint='".$ELOplayerB."', 
	P='".$P2."', L='".$L2."' WHERE id='".$_POST['kotak2']."'";
	$perintah=mysql_query($kueri);
	$perintah=mysql_query($kueri2);
}else if(isset($_POST['SKotak2'])) {
	$ekspektasiA = Ekspektasi($ELOplayerA, $ELOplayerB);
	$ekspektasiB = 1-$ekspektasiA;
	$ELOplayerA = $ELOplayerA + EloRating($ELOplayerA, 0, $ekspektasiA);
	$ELOplayerB = $ELOplayerB + EloRating($ELOplayerB, 1, $ekspektasiB);
	if($ELOplayerA &amp;lt; 0) { $ELOplayerA = 0; }
	if($ELOplayerB &amp;lt; 0) { $ELOplayerB = 0; }
	$P1++;$L1++;$P2++;$W2++;
	$kueri="UPDATE victim_members SET EloPoint='".$ELOplayerA."', 
	P='".$P1."', L='".$L1."' WHERE id='".$_POST['kotak1']."'";
	$kueri2="UPDATE victim_members SET EloPoint='".$ELOplayerB."', 
	P='".$P2."', W='".$W2."' WHERE id='".$_POST['kotak2']."'";
	$perintah=mysql_query($kueri);
	$perintah=mysql_query($kueri2);
}else if(isset($_POST['SKotak3'])) {
	$ekspektasiA = Ekspektasi($ELOplayerA, $ELOplayerB);
	$ekspektasiB = 1-$ekspektasiA;
	$ELOplayerA = $ELOplayerA + EloRating($ELOplayerA, 0.5, $ekspektasiA);
	$ELOplayerB = $ELOplayerB + EloRating($ELOplayerB, 0.5, $ekspektasiB);
	if($ELOplayerA &amp;lt; 0) { $ELOplayerA = 0; }
	if($ELOplayerB &amp;lt; 0) { $ELOplayerB = 0; }
	$P1++;$D1++;$P2++;$D2++;
	$kueri="UPDATE victim_members SET EloPoint='".$ELOplayerA."', 
	P='".$P1."', D='".$D1."' WHERE id='".$_POST['kotak1']."'";
	$kueri2="UPDATE victim_members SET EloPoint='".$ELOplayerB."', 
	P='".$P2."', D='".$D2."' WHERE id='".$_POST['kotak2']."'";
	$perintah=mysql_query($kueri);
	$perintah=mysql_query($kueri2);
}
&lt;/pre&gt;
isset SKotak1 menandakan bahwa si korban A dipilih / menang dalam vote tersebut kemudian diproses sebagaimana mestinya korban A menang, begitu pula dengan isset SKotak2 yang menandakan si korban B lah yang memenangkan vote tersebut. isset SKotak3 menyatakan bahwa kedua-duanya tidak dipilih dan mereka dinyatakan seri.&lt;br /&gt;
&lt;br /&gt;
Fungsi PHP sudah selesai, sekarang yang belum terbuat adalah form HTML untuk menampilkannya dalam browser, secara sederhana saya membuatnya seperti ini:&lt;br /&gt;
&lt;pre class="html" name="code"&gt;&lt;div class="utama"&gt;
&lt;div class="judul"&gt;
FACEMASH tiruan&lt;/div&gt;
&lt;div class="frontman"&gt;
Which one from this two pics suit you (almost your type)!&lt;br /&gt;
Choose by clicking the photo or click "They are not my type!" if not any of them.
    &lt;/div&gt;
&lt;div class="kotak"&gt;
&lt;div class="kotak1"&gt;
&lt;form action="&amp;lt;?php echo $_SERVER['PHP_SELF']; ?&amp;gt;" method="post"&gt;
&lt;input name="kotak1" type="hidden" value="&amp;lt;?php echo $a; ?&amp;gt;" /&gt;
            	&lt;input name="kotak2" type="hidden" value="&amp;lt;?php echo $b; ?&amp;gt;" /&gt;
                &lt;input name="SKotak1" src="img/tes&amp;lt;?php echo $a; ?&amp;gt;.jpg" type="image" value="Submit" /&gt;
            &lt;/form&gt;
&lt;/div&gt;
&lt;div class="circleK"&gt;
or&lt;/div&gt;
&lt;div class="kotak2"&gt;
&lt;form action="&amp;lt;?php echo $_SERVER['PHP_SELF']; ?&amp;gt;" method="post"&gt;
&lt;input name="kotak1" type="hidden" value="&amp;lt;?php echo $a; ?&amp;gt;" /&gt;
            	&lt;input name="kotak2" type="hidden" value="&amp;lt;?php echo $b; ?&amp;gt;" /&gt;
                &lt;input name="SKotak2" src="img/tes&amp;lt;?php echo $b; ?&amp;gt;.jpg" type="image" value="Submit" /&gt;
            &lt;/form&gt;
&lt;/div&gt;
&lt;form action="&amp;lt;?php echo $_SERVER['PHP_SELF']; ?&amp;gt;" id="notmytype" method="post"&gt;
&lt;input name="kotak1" type="hidden" value="&amp;lt;?php echo $a; ?&amp;gt;" /&gt;
            	&lt;input name="kotak2" type="hidden" value="&amp;lt;?php echo $b; ?&amp;gt;" /&gt;
            	&lt;input name="SKotak3" type="hidden" value="Submit" /&gt;
                &lt;a href="javascript:document.forms['notmytype'].submit();"&gt;&lt;/a&gt;&lt;br /&gt;
&lt;div class="button orange"&gt;
&lt;a href="javascript:document.forms['notmytype'].submit();"&gt;They are not my type!&lt;/a&gt;&lt;/div&gt;
&lt;/form&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://www.blogger.com/result.php"&gt;&lt;/a&gt;&lt;br /&gt;
&lt;div class="button"&gt;
&lt;a href="http://www.blogger.com/result.php"&gt;see result&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/pre&gt;
&lt;br /&gt;
Untuk menampilkan hasil vote tersebut, anda hanya perlu membuat satu file php baru dan menuliskan codenya seperti berikut:&lt;br /&gt;
&lt;pre class="php" name="code"&gt;include("module-config.php");

$i=1;
$query="SELECT * FROM victim_members ORDER BY EloPoint DESC";
$perintah=mysql_query($query);
while($d=mysql_fetch_array($perintah)){

echo '&lt;div class="kotakpoto"&gt;
';
echo $i++.'. &lt;img alt="'.$d['nama'].'" src="img/tes'.$d['id'].'.jpg" /&gt;';
echo $d['nama'];
echo ', &lt;span style="color: #cccccc;"&gt;Point: '.$d['EloPoint'].'&lt;/span&gt;';
echo '&lt;/div&gt;
';
} 
&lt;/pre&gt;
&lt;br /&gt;
Untuk database MySQL yang saya gunakan, memiliki struktur seperti dibawah ini:&lt;br /&gt;
&lt;pre class="sql" name="code"&gt;CREATE TABLE `victim_members` (
	`id` int(11) auto_increment,
	`nama` varchar(100) NOT NULL,
	`URLfoto` longtext NOT NULL,
	`EloPoint` float NOT NULL,
	`P` int(11) NOT NULL,
	`W` int(11) NOT NULL,
	`D` int(11) NOT NULL,
	`L` int(11) NOT NULL,
	PRIMARY KEY (`id`)
) TYPE=MyISAM;
&lt;/pre&gt;
&lt;br /&gt;
Mungkin segitu aja penjelasan saya tentang bagaimana membuat website Facemash tiruan ini. Jika ada pertanyaan, tuliskan di kolom komentar di bawah. Anda bisa melihat demo dari website Facemash tiruan ini &lt;a href="http://projectkomat.comxa.com/facemash"&gt;DISINI&lt;/a&gt;, dengan source program &lt;a href="http://adf.ly/2evJd"&gt;DISINI&lt;/a&gt;&amp;nbsp;(pass: hotswaps.blogspot.com).&amp;nbsp;Sekian dari saya, terima kasih telah membaca tulisan ini hingga bagian 3.&lt;br /&gt;
&lt;br /&gt;
PS: diperbolehkan mengcopy-paste tulisan ini, namun hargai penulis dengan menyertakan sumbernya: &lt;a href="http://hotswaps.blogspot.com/"&gt;http://hotswaps.blogspot.com&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Wass.&lt;br /&gt;
&lt;br /&gt;
Referensi:&lt;br /&gt;
http://en.wikipedia.org/wiki/Elo_rating_system&lt;br /&gt;
http://www.glicko.net/&lt;br /&gt;
Paper "Elo-rating as a tool in the sequential estimation of dominance strengths" oleh PAUL C. H. ALBERS &amp;amp; HAN DE VRIES, Utrecht University&lt;br /&gt;
Paper "Rating The Chess Rating System" oleh Mark E. Glickman &amp;amp; Albyn C. Jones, Boston University&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5650278523296983596-3793131002889281366?l=hotswaps.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Y_YlIC4M6Ae9Au5W7UEvDsEgSug/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Y_YlIC4M6Ae9Au5W7UEvDsEgSug/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Y_YlIC4M6Ae9Au5W7UEvDsEgSug/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Y_YlIC4M6Ae9Au5W7UEvDsEgSug/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Hotswaps/~4/eEAgGFyd0R8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://hotswaps.blogspot.com/feeds/3793131002889281366/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5650278523296983596&amp;postID=3793131002889281366" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5650278523296983596/posts/default/3793131002889281366?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5650278523296983596/posts/default/3793131002889281366?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Hotswaps/~3/eEAgGFyd0R8/membuat-tiruan-facemash-bagian-3.html" title="Algoritma Facemash (bagian 3)" /><author><name>HOTSWAPS</name><uri>http://www.blogger.com/profile/04379498723671044534</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://hotswaps.blogspot.com/2011/09/membuat-tiruan-facemash-bagian-3.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEMAQH8_eCp7ImA9WhdWFkU.&quot;"><id>tag:blogger.com,1999:blog-5650278523296983596.post-5429385056949121473</id><published>2011-04-30T19:11:00.000+07:00</published><updated>2011-09-11T02:20:41.140+07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-11T02:20:41.140+07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="algoritma" /><category scheme="http://www.blogger.com/atom/ns#" term="zuckerberg" /><category scheme="http://www.blogger.com/atom/ns#" term="facebook" /><category scheme="http://www.blogger.com/atom/ns#" term="facemash" /><category scheme="http://www.blogger.com/atom/ns#" term="algorithm" /><category scheme="http://www.blogger.com/atom/ns#" term="the social network" /><category scheme="http://www.blogger.com/atom/ns#" term="mark" /><title>Algoritma Facemash (bagian 2)</title><content type="html">Oke kawan-kawan pembaca, melanjutkan dari bagian pertama, sekarang udah pada tau kan gimana Elo Rating System itu? Kalo yang masih belum tau, baca di postingan sebelumnya di &lt;a href="http://hotswaps.blogspot.com/2011/04/membuat-tiruan-facemash-bagian-1.html"&gt;bagian 1&lt;/a&gt;. Nah sekarang gimana cara menggunakan Elo Rating itu? Ini sedikit ilustrasinya,&lt;br /&gt;
&lt;blockquote&gt;
Misal si pemain A yang punya poin 1900 tanding lawan pemain B yang poinnya baru 1700. Tentunya dugaan awal kita adalah si A lebih jago karena punya poin lebih tinggi. Nah, dugaan awal itulah yang nantinya menjadi harapan/ekspektasi dari si A terhadap si B. Nilai ekspektasi itu dihitung berdasarkan rumus sebelumnya dengan Ra = 1900 dan Rb = 1700, didapat:&lt;br /&gt;
&lt;br /&gt;
Qa = 56234.132&lt;br /&gt;
Qb = 17782.794&lt;br /&gt;
maka,&lt;br /&gt;
Ea = Qa/(Qa + Qb) = 0.76&lt;br /&gt;
Eb = 1-Ea = 0.24&lt;br /&gt;
&lt;br /&gt;
Untuk nilai faktor-K, asumsikan kita menggunakan aturan USCF. Karena poin si A maunpun B di bawah 2100, faktor K yang digunakan adalah K = 32, sehingga:&lt;br /&gt;
&lt;br /&gt;
Ra' = 1900 + K(Sa - Ea)&lt;br /&gt;
Ra' = 1900 + 32(Sa - 0.76)&lt;br /&gt;
&lt;br /&gt;
Nilai Ra' adalah nilai poin yang baru setelah melakukan permainan. Nilai Sa bergantung dari pemain A, apakah menang, kalah atau seri. Sekarang kita tinjau kedalam tiga kasus, kasus pertama seandainya si A menang dan si B kalah, kasus kedua seandainya si A kalah dan si B menang, kasus ketiga seandainya si A dan si B seri.&lt;br /&gt;
&lt;br /&gt;
Kasus pertama: Si A menang dan Si B kalah (Sa = 1 dan Sb = 0)&lt;br /&gt;
&lt;blockquote&gt;
Ra' = 1900 + 32(1-0.76)&lt;br /&gt;
Ra' = 1907.68&lt;br /&gt;
&lt;br /&gt;
Rb' = 1700 + 32(0-0.24)&lt;br /&gt;
Rb' = 1692.32&lt;br /&gt;
&lt;br /&gt;
yang kemudian nilai Ra' menjadi nilai poin Ra dan Rb' menjadi nilai poin Rb. Terlihat pemain A mencuri poin milik pemain B sebesar 7.68 karena pemain A telah memenangkan permainan.&lt;/blockquote&gt;
Kasus kedua: Si A kalah dan Si B menang (Sa = 0 dan Sb = 1)&lt;br /&gt;
&lt;blockquote&gt;
Ra' = 1900 + 32(0-0.76)&lt;br /&gt;
Ra' = 1875.68&lt;br /&gt;
&lt;br /&gt;
Rb' = 1700 + 32(1-0.24)&lt;br /&gt;
Rb' = 1724.32&lt;br /&gt;
&lt;br /&gt;
Terlihat pemain B mencuri poin yang lebih besar jika memenangkan pertandingan melawan pemain A yaitu 24.32 karena faktor dugaan awal atau ekpektasi A lebih dijagokan untuk menang dan ternyata pemain A kalah.&lt;/blockquote&gt;
Kasus ketiga: Si A dan Si B seri (Sa = Sb = 0.5)&lt;br /&gt;
&lt;blockquote&gt;
Ra' = 1900 + 32(0.5-0.76)&lt;br /&gt;
Ra' = 1891.68&lt;br /&gt;
&lt;br /&gt;
Rb' = 1700 + 32(0.5-0.24)&lt;br /&gt;
Rb' = 1708.32&lt;br /&gt;
&lt;br /&gt;
Terlihat pemain B tetap berhasil mencuri poin dari Pemain A walaupun hasil permainan berakhir seri. Hal ini dikarenakan perbandingan poin yang relatif jauh antara pemain A dan pemain B.&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;br /&gt;
Algoritma sudah, lalu gimana cara nulisnya ke bahasa pemrograman? Ok saya akan kasih contoh penulisannya dalam bahasa pemrograman PHP. Penulisannya akan saya jadikan sebagai fungsi, jadi akan lebih mudah digunakan di program. Saya menggunakan versi USCF seperti contoh ilustrasi diatas. Here we are:&lt;br /&gt;
&lt;pre class="php" name="code"&gt;// Elo rating system engine based on USCF K-Factor
// Created by Ganjar Santoso

function Ekspektasi($Ra, $Rb) {
 $Qa = exp(($Ra/400)*log(10));
 $Qb = exp(($Rb/400)*log(10));
 $Eksp = $Qa/($Qa+$Qb);
 return $Eksp;
}

function EloRating($Ra, $Sa, $Ea) {
 if($Ra &amp;gt; 2400) {
  $elorate = $Ra + 16*($Sa - $Ea);
 }else if(($Ra &amp;lt;= 2400) and ($Ra &amp;gt;= 2100)) {
  $elorate = $Ra + 24*($Sa - $Ea);
 }else{
  $elorate = $Ra + 32*($Sa - $Ea);
 }
 return $elorate;
}
&lt;/pre&gt;
Gimana cara menampilkannya di PHP, gampang aja. Kita ambil contoh kasus yang pertama dari ilustrasi yang udah dijelasin, yaitu pemain A menang dan pemain B kalah. Misal fungsi-fungsi diatas disave dengan nama file "elofunction.php".&lt;br /&gt;
&lt;pre class="php" name="code"&gt;include("elofunction.php");

// Menghitung ekspektasi Ea dan Eb
$Ea = Ekspektasi(1900, 1700);
$Eb = 1-Ea;

// Menghitung Elo Poin
$EloPoinA = EloRating(1900, 1, $Ea);
$EloPoinB = EloRating(1700, 0, $Eb);

// Menampilkan Elo Poin
echo "Poin pemain A : ".$EloPoinA."&amp;lt;/br&amp;gt;";
echo "Poin pemain B : ".$EloPoinB;
&lt;/pre&gt;
Hasilnya kira-kira akan seperti ini:&lt;br /&gt;
&lt;blockquote&gt;
Poin pemain A : 1907.68&lt;br /&gt;
Poin pemain B : 1692.32&lt;/blockquote&gt;
Oke, algoritma dan code udah, yang belum apa? yang belum adalah silahkan dicoba! Apalagi ditambah database MySQL, jadilah Facemash beneran (bukan tiruan lagi! haha). Mungkin ini untuk yang hobi aja kali ya.&lt;br /&gt;
&lt;br /&gt;
Overall, segitu dulu aja. Selamat mencoba kawan-kawan! Kalo ada waktu, rencananya mau buat bagian 3 untuk membahas codenya menggunakan MySQL, jadi fokus ngebahas websitenya secara keseluruhan, bukan teori-teori lagi yang cuma bikin pusing, haha.&lt;br /&gt;
&lt;br /&gt;
PS: diperbolehkan mengcopy-paste tulisan ini, namun hargai penulis dengan menyertakan sumbernya: &lt;a href="http://hotswaps.blogspot.com/"&gt;http://hotswaps.blogspot.com&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Wass.&lt;br /&gt;
&lt;br /&gt;
Referensi:&lt;br /&gt;
http://en.wikipedia.org/wiki/Elo_rating_system&lt;br /&gt;
http://www.glicko.net/&lt;br /&gt;
Paper "Elo-rating as a tool in the sequential estimation of dominance strengths" oleh PAUL C. H. ALBERS &amp;amp; HAN DE VRIES, Utrecht University&lt;br /&gt;
Paper "Rating The Chess Rating System" oleh Mark E. Glickman &amp;amp; Albyn C. Jones, Boston University&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5650278523296983596-5429385056949121473?l=hotswaps.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/kCRHwf_OHeOl8ojCZ9RZeSzE-N0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/kCRHwf_OHeOl8ojCZ9RZeSzE-N0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/kCRHwf_OHeOl8ojCZ9RZeSzE-N0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/kCRHwf_OHeOl8ojCZ9RZeSzE-N0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Hotswaps/~4/LKerk1jfxoY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://hotswaps.blogspot.com/feeds/5429385056949121473/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5650278523296983596&amp;postID=5429385056949121473" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5650278523296983596/posts/default/5429385056949121473?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5650278523296983596/posts/default/5429385056949121473?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Hotswaps/~3/LKerk1jfxoY/membuat-tiruan-facemash-bagian-2.html" title="Algoritma Facemash (bagian 2)" /><author><name>HOTSWAPS</name><uri>http://www.blogger.com/profile/04379498723671044534</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>3</thr:total><feedburner:origLink>http://hotswaps.blogspot.com/2011/04/membuat-tiruan-facemash-bagian-2.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEMBSXg4eip7ImA9WhdWFkU.&quot;"><id>tag:blogger.com,1999:blog-5650278523296983596.post-7394427728828671329</id><published>2011-04-28T04:41:00.004+07:00</published><updated>2011-09-11T02:20:58.632+07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-11T02:20:58.632+07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="algoritma" /><category scheme="http://www.blogger.com/atom/ns#" term="zuckerberg" /><category scheme="http://www.blogger.com/atom/ns#" term="facebook" /><category scheme="http://www.blogger.com/atom/ns#" term="facemash" /><category scheme="http://www.blogger.com/atom/ns#" term="algorithm" /><category scheme="http://www.blogger.com/atom/ns#" term="the social network" /><category scheme="http://www.blogger.com/atom/ns#" term="mark" /><title>Algoritma Facemash (bagian 1)</title><content type="html">Udah pada nonton film keren yang judulnya "The Social Network" belom kawan? Kalo belom, wajib nonton deh! Saya recomended nih film. Film ini bercerita tentang gimana si bossnya Facebook memulai ide dan karirnya. Di film ini nyeritain juga sejarah pembuatan facebook, tapi inti dari film ini menceritakan tentang masalah kalo ternyata ide Facebook bukan asli dari si Mark Zuckerberg, tapi dari 3 temennya di Harvard University, dan dari situ copyright Facebook dipermasalahkan. Yah, inti ceritanya begitulah sedikit aja soalnya postingan kali ini ga ngebahas tentang review film The Social Network, kalo mau lebih lengkap tonton aja filmnya ya!&lt;br /&gt;
&lt;br /&gt;
&lt;iframe align="left" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=masga-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=bpl&amp;amp;asins=B0034G4P7G&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=4EA995&amp;amp;f=ifr" style="align: left; height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"&gt;&lt;/iframe&gt;Di awal film itu, ada suatu scene dimana Mark Zuckerberg (boss Facebook) diputusin sama cewenya dan karena perasaan marahnya dia ke mantannya itu, dia berfikir untuk membuat sebuah website yang membanding-bandingkan ke-"hot"-an para wanita-wanita di kampusnya (hebat banget sampe bisa punya ide begitu). Website tersebut kemudian diberi nama Facemash. Nah, pas nonton film itu, yang kepikiran di kepala saya adalah bagaimana membuat algoritma facemash itu. Di film itu sempat juga dibahas sedikit rumus facemash yang dijelasin temennya Mark yaitu Eduardo. Pas saya liat rumus-rumus yang ditulis di jendela rumahnya, kok kayaknya rumit banget, pake rumus Ekspektasi X terhadap Y gitu deh. Yang ada di kepala saya bikin algoritma kaya gitu aja kayaknya mudah deh, ga perlu pake Ekspektasi X terhadap Y segala, kenapa gak pake algoritma sepakbola aja yang kalo dia menang dapet 3 poin, kalah 0 poin dan seri 1 poin, kan lebih mudah.&lt;br /&gt;
&lt;br /&gt;
Ok, saya coba bikin facemesh tiruan itu pake algoritma sepakbola tadi, menang dia langsung dapet 3 poin tambahan berarti:&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-size: large;"&gt;SiA = SiA + 3&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-size: large;"&gt;SiB = SiB + 0&lt;/span&gt;&lt;br /&gt;
kalo SiA menang dan SiB kalah (berlaku sebaliknya)...&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-size: large;"&gt;SiA = SiA + 1&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-size: large;"&gt;SiB = SiB + 1&lt;/span&gt;&lt;br /&gt;
buat SiA dan SiB seri...&lt;br /&gt;
&lt;br /&gt;
Begitu ajah? Nah, sama gw juga mikirnya "masa begitu aja!". Kemudian muncul seribu pertanyaan di kepala (#lebay seribu), nih sedikit ilustrasi yang muncul dikepala td:&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;
Misal si A punya poin tinggi, kasih deh 2400, dibandingin sama si B yang punya poin masih rendah, kasih deh 400. Selisihnya kan jadi 2000 poin, nah harusnya kalo si A menang lawan si B itu wajar-wajar aja, tapi kalo si B yang menang? harusnya kan bisa mendongkrak poinnya si B karena ngalahin si A yang poinnya jauh lebih besar. Iya nggak?&lt;/blockquote&gt;
&lt;br /&gt;
Ok, saya stuck cukup lama untuk pikirin ini. Kebetulan saya kuliah di jurusan matematika, saya coba cari teori-teori yang berkaitan dengan itu and I'VE GOT NOTHING BUT TROUBLE!! haha.. Setelah itu, TADAAAA, 3 bulan kemudian secara ga sengaja saya menemukan algoritma namanya Elo Rating System, yaitu algoritma yang dipakai untuk me-rating para grandmaster catur yang gue rasa cocok untuk membuat facemash tiruan ini.&lt;br /&gt;
&lt;br /&gt;
Gimana algoritma Elo Rating bekerja?&lt;br /&gt;
Jadi begini, di Elo Rating ini ada Ekspektasi dari si A terhadap si B yang dirumuskan begini:&lt;br /&gt;
&lt;img src="http://upload.wikimedia.org/math/b/0/3/b0366725c224ee55eab6e2371dc6a0ef.png" /&gt;&lt;br /&gt;
juga Ekspektasi si B terhadap si A yang dirumuskan:&lt;br /&gt;
&lt;img src="http://upload.wikimedia.org/math/9/6/a/96a818972fe2bc94e9b3e0e6115ba232.png" /&gt;&lt;br /&gt;
&lt;br /&gt;
Atau ekspektasi bisa juga dirumusin seperti ini (yang saya pelajari di kuliah):&lt;br /&gt;
Ekspektasi si A dengan syarat si B:&lt;br /&gt;
&lt;img src="http://upload.wikimedia.org/math/c/2/e/c2eecfeb247543d45ced6cc8871cfd97.png" /&gt;&lt;br /&gt;
Ekspektasi si B dengan syarat si A:&lt;br /&gt;
&lt;img src="http://upload.wikimedia.org/math/2/2/2/2222eecc1f0a611e7a3f158a6ffa9139.png" /&gt;&lt;br /&gt;
dimana &lt;img src="http://upload.wikimedia.org/math/d/c/9/dc9a6f0ad70b86ed17cfd64cfa37b922.png" /&gt; dan &lt;img src="http://upload.wikimedia.org/math/c/5/e/c5e734efd10fa149568386835828074c.png" /&gt;.&lt;br /&gt;
&lt;br /&gt;
dengan&lt;br /&gt;
Ea = ekspektasi A terhadap B&lt;br /&gt;
Eb = ekspektasi B terhadap A&lt;br /&gt;
Ra = rating/poin A&lt;br /&gt;
Rb = rating/poin B&lt;br /&gt;
&lt;br /&gt;
Apa sih gunanya Ekspektasi? Jadi Ekspektasi itu adalah nilai yang diharapkan sebelumnya (benerin kalo salah). Nilai Ekspektasi diantara 0 sampai 1, bergantung poin A dan poin B yang dibandingkan. Makin besar perbandingan nilai antara A dan B, nilai ekspektasi akan semakin menuju 0 atau 1. Jika nilai yang dibandingkan hampir sama, maka nilai ekspektasi akan mendekati 0,5. Juga perlu dicatat bahwa Ea + Eb = 1.&lt;br /&gt;
&lt;br /&gt;
Nilai untuk menang, kalah dan seri juga ada di sini tapi pastinya nggak sama dengan sepakbola. Di Elo Rating System ini, kalo si A menang dikasih nilai 1, kalah 0 dan seri 0,5. Selanjutnya nilai ini gue kasih nama Sa, yaitu nilai hasil pertandingan.&lt;br /&gt;
&lt;br /&gt;
Selain nilai hasil pertandingan dan nilai ekspektasi, terdapat sebuah nilai penting di Elo Rating System. Nilai ini berada pada selang kondisi tertentu, yaitu jika poin dari A masih sedikit, pastinya A membutuhkan lebih banyak poin untuk menaikkan level poin yang dimilikinya. Namun jika A telah memiliki poin yang tinggi, dikondisikan A tidak terlalu membutuhkan banyak poin untuk bersaing di level yang ia miliki. Nilai ini biasa disebut faktor-K (K-factor). Tidak ada standar yang tetap untuk nilai K ini. Masing-masing organisasi mempunyai nilai K yang berbeda-beda. Berikut nilai K yang digunakan beberapa federasi catur internasional, antara lain:&lt;br /&gt;
&lt;br /&gt;
FIDE (World Chess Federation)&lt;br /&gt;
- K = 25 untuk pemain yang telah bermain minimal 30 pertandingan&lt;br /&gt;
- K = 15 untuk pemain dengan poin di bawah 2400&lt;br /&gt;
- K = 10 untuk pemain dengan poin di atas 2400&lt;br /&gt;
&lt;br /&gt;
USCF (United States Chess Federation)&lt;br /&gt;
- K = 32 untuk pemain dengan poin di bawah 2100&lt;br /&gt;
- K = 24 untuk pemain dengan poin antara 2100 sampai 2400&lt;br /&gt;
- K = 16 untuk pemain dengan poin di atas 2400&lt;br /&gt;
&lt;br /&gt;
Misalkan data telah terkumpul, dengan Ekspektasi A adalah Ea, nilai hasil pertandingan A adalah Sa, maka perhitungan Elo Rating System adalah:&lt;br /&gt;
&lt;img src="http://upload.wikimedia.org/math/2/3/f/23fbcb658ac1e2565003c2190f28a21e.png" /&gt;&lt;br /&gt;
dengan Ra' adalah poin A setelah melakukan pertandingan.&lt;br /&gt;
&lt;br /&gt;
Oke kia-kira begitu penjelasan algoritma Elo Rating Systemnya, untuk lebih jelasnya mengenai Elo Rating System, serach aja &lt;a href="http://www.google.com/search?q=elo+rating+system"&gt;google&lt;/a&gt;, &lt;a href="http://en.wikipedia.org/wiki/Elo_rating_system"&gt;wikipedia&lt;/a&gt; atau bisa mendownload paper dari Dr. Mark Glickman di &lt;a href="http://www.glicko.net/"&gt;websitenya&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Dan 1 hal yang cukup mengejutkan saya adalah, ternyata algoritma Elo Rating inilah yang ditulis oleh Eduardo di kaca jendela rumah tinggalnya di film The Social Network. Yang ditulis di kaca jendela tersebut adalah perhitungan ekspektasi menggunakan cara pertama (wow.. ternyata pemikiran saya bisa sama, setidaknya sama sutradara filmnya, karena gak tau algoritma asli buatan Mark Zuckerbergnya apakah pake Elo juga atau tidak).&lt;br /&gt;
&lt;br /&gt;
Mungkin bagian 1 cukup sampai disini dulu (udah pusinggg!). Di bagian dua akan dijelaskan penggunaan Elo Rating System dan penulisan algoritma Elo ke bahasa pemrograman PHP.&lt;br /&gt;
&lt;br /&gt;
PS: diperbolehkan mengcopy-paste tulisan ini, namun hargai penulis dengan menyertakan sumbernya: &lt;a href="http://hotswaps.blogspot.com/"&gt;http://hotswaps.blogspot.com&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Wass.&lt;br /&gt;
&lt;br /&gt;
Referensi:&lt;br /&gt;
http://en.wikipedia.org/wiki/Elo_rating_system&lt;br /&gt;
http://www.glicko.net/&lt;br /&gt;
Paper "Elo-rating as a tool in the sequential estimation of dominance strengths" oleh PAUL C. H. ALBERS &amp;amp; HAN DE VRIES, Utrecht University&lt;br /&gt;
Paper "Rating The Chess Rating System" oleh Mark E. Glickman &amp;amp; Albyn C. Jones, Boston University&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5650278523296983596-7394427728828671329?l=hotswaps.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/OaxDkrNbjZPv_qV8-BlRuVGTHjQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/OaxDkrNbjZPv_qV8-BlRuVGTHjQ/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/OaxDkrNbjZPv_qV8-BlRuVGTHjQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/OaxDkrNbjZPv_qV8-BlRuVGTHjQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Hotswaps/~4/ntGcPSxSbfE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://hotswaps.blogspot.com/feeds/7394427728828671329/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5650278523296983596&amp;postID=7394427728828671329" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5650278523296983596/posts/default/7394427728828671329?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5650278523296983596/posts/default/7394427728828671329?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Hotswaps/~3/ntGcPSxSbfE/membuat-tiruan-facemash-bagian-1.html" title="Algoritma Facemash (bagian 1)" /><author><name>HOTSWAPS</name><uri>http://www.blogger.com/profile/04379498723671044534</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>2</thr:total><feedburner:origLink>http://hotswaps.blogspot.com/2011/04/membuat-tiruan-facemash-bagian-1.html</feedburner:origLink></entry></feed>

