PageRank

**PageRank** (**PR**) adalah algoritma pencarian yang digunakan oleh Google Search untuk memberi peringkat halaman web, dalam mengukur seberapa pentingnya bagi pengguna di hasil mesin pencarian mereka. 

Menurut Google: 

Saat ini, PageRank bukan satu-satunya algoritma pencarian yang digunakan oleh Google untuk mengurutkan hasil penelusuran, tetapi merupakan algoritma pertama yang digunakan oleh perusahaan itu, dan merupakan algoritma yang paling terkenal. Mulai 24 September 2019, PageRank dan semua paten terkaitnya sudah kedaluwarsa, sehingga tak dipakai lagi.

## Konsep
Banyak cara digunakan *search engine* dalam menentukan kualitas/rangking sebuah halaman web, mulai dari penggunaan *META Tags*, isi dokumen, penekanan pada *content* dan masih banyak teknik lain atau gabungan teknik yang mungkin digunakan. *Link popularity*, sebuah teknologi yang dikembangkan untuk memperbaiki kekurangan dari teknologi lain (*Meta Keywords, Meta Description*) yang bisa dicurangi dengan halaman yang khusus di desain untuk search engine atau biasa disebut *doorway pages*. Dengan algoritma ‘*PageRank*’ ini, dalam setiap halaman akan diperhitungkan *inbound link* (link masuk) dan *outbound link* (link keuar) dari setiap halaman web.

*PageRank*, memiliki konsep dasar yang sama dengan *link popularity*, tetapi tidak hanya memperhitungkan “jumlah” *inbound* dan *outbound link*. Pendekatan yang digunakan adalah sebuah halaman akan diangap penting jika halaman lain memiliki link ke halaman tersebut. Sebuah halaman juga akan menjadi semakin penting jika halaman lain yang memiliki peringkat (PageRank) tinggi mengacu ke halaman tersebut.

Dengan pendekatan yang digunakan *PageRank*, proses terjadi secara rekursif di mana sebuah rangking akan ditentukan oleh rangking dari halaman web yang rangkingnya ditentukan oleh rangking halaman web lain yang memiliki link ke halaman tersebut. Proses ini berarti suatu proses yang berulang (rekursif). Di dunia maya, ada jutaan bahkan miliaran halaman web. Oleh karena itu sebuah rangking halaman web ditentukan dari struktur link dari keseluruhan halaman web yang ada di dunia maya. Sebuah proses yang sangat besar dan komplek.

## Algoritma

Dari pendekatan yang sudah dijelaskan pada artikel konsep *PageRank*, Lawrence Page and Sergey Brin membuat algoritma *PageRank* seperti di bawah:

Algoritma awal
:`PR(A) = (1-d) + d ( ( PR(T1) / C(T1) ) + … + ( PR(Tn) / C(Tn) ) )`

Salah satu algoritma lain yang dipublikasikan
:`PR(A) = (1-d) / N + d ( ( PR(T1) / C(T1) ) + … + ( PR(Tn) / C(Tn) ) )`

* `PR(A)` adalah PageRank halaman A
* `PR(T1)` adalah PageRank halaman T1 yang mengacu ke halaman A
* `C(T1)` adalah jumlah link keluar (*outbound link*) pada halaman T1
* `d` adalah damping factor yang bisa diberi antara 0 dan 1.
* `N` adalah jumlah keseluruhan halaman web (yang terindeks oleh Google)

Dari algoritma di atas dapat dilihat bahwa PageRank ditentukan untuk setiap halaman anda bukan keseluruhan situs web. PageRank sebuah halaman ditentukan dari PageRank halaman yang mengacu kepadanya yang juga menjalani proses penentuan PageRank dengan cara yang sama, jadi proses ini akan berulang sampai ditemukan hasil yang tepat.

Akan tetapi PageRank halaman A tidak langsung diberikan kepada halaman yang dituju, akan tetapi sebelumnya dibagi dengan jumlah link yang ada pada halaman T1 (outbound link), dan PageRank itu akan dibagi rata kepada setiap link yang ada pada halaman tersebut. Demikian juga dengan setiap halaman lain “Tn” yang mengacu ke halaman “A”.

Setelah semua PageRank yang didapat dari halaman-halaman lain yang mengacu ke halaman “A” dijumlahkan, nilai itu kemudian dikalikan dengan damping factor yang bernilai antara 0 sampai 1. Hal ini dilakukan agar tidak keseluruhan nilai PageRank halaman T didistribusikan ke halaman A.

## Random surfer model
Random surfer model merupakan pendekatan yang menggambarkan bagaimana sesungguhnya yang dilakukan seorang pengunjung di depan sebuah halaman web. Ini berarti peluang atau probabilitas seorang user mengklik sebuah link sebanding dengan jumlah link yang ada pada halaman tersebut. Pendekatan ini yang digunakan PageRank sehingga PageRank dari link masuk (inbound link) tidak langsung didistribusikan ke halaman yang dituju, melainkan dibagi dengan jumlah link keluar (outbound link) yang ada pada halaman tersebut. Rasanya semua juga menganggap ini adil. Karena bisa anda bayangkan apa jadinya jika sebuah halaman dengan rangking tinggi mengacu ke banyak halaman, mungkin teknologi pagerank tidak akan relevan digunakan.

Metode ini juga memiliki pendekatan bahwa seorang user tidak akan mengklik semua link yang ada pada sebuah halaman web. Oleh karena itu PageRank menggunakan damping factor untuk mereduksi nilai PageRank yang didistribusikan sebuah halaman ke halaman lain.
Probabilitas seorang user terus mengkilk semua link yang ada pada sebuah halaman ditentukan oleh nilai damping factor (d) yang bernilai antara 0 sampai 1. Nilai damping factor yang tinggi berarti seorang user akan lebih banyak mengklik sebuah halaman sampai dia berpindah ke halaman lain. Setelah user berpindah halaman maka probabilitas diimplemntasikan ke dalam algoritma pagerank sebagai konstanta (1-d) . Dengan mengeluarkan variable inbound link (link masuk), maka kemungkinan seorang user untuk berpindah ke halaman lain adalah (1-d), hal ini akan membuat pagerank selalu berada pada nilai minimum.

Dalam algoritma PageRank yang lain, terdapat nilai N yang merupakan jumlah keseluruhan halaman web, jadi seorang user memiliki probabilitas mengunjungi sebuah halaman dibagi dengan total jumlah halaman yang ada. Sebagai contoh, jika sebuah halaman memiliki pagerank 2 dan total halaman web 100 maka dalam seratus kali kunjungan dia mengunjungi halaman itu sebanyak 2 kali (catatan, ini adalah probabilitas).

## Alur waktu
* Awal 1996, pemikiran awal
* 7 September 1998 di ruang garasi rumah teman mereka di Menlo Park, California
* Februari 1999 perusahaan tersebut pindah ke kantor di 165 University Ave., Palo Alto, California
* Akhir 1999 sampai sekarang pindah ke "Googleplex"

## Referensi

## Pranala luar
* Google PageRank