STUDI WORLD WIDE WEB SEBAGAI SEBUAH GRAF BERARAH Indah Kuntum Khairina – NIM : 13505088 Program Studi Teknik Informatika, Institut Teknologi Bandung Jl. Ganesha 10, Bandung E-mail :
[email protected]
Abstrak Makalah ini membahas tentang studi world wide web sebagai sebuah graf berarah. Di sini, sebuah halaman situs kita anggap sebagai simpul dan hyperlink adalah sisi yang menghubungkan simpul-simpul tersebut. Graf semacam ini dikenal dengan istilah web graph. Struktur dari web-graph sangat berguna untuk mengembangkan algoritma-algoritma pencarian web. Pada makalah ini, dibahas dua jenis algoritma pencarian, yaitu: algoritma HITS dan algoritma trawling. Pada proses pencarian web dengan memasukkan sebuah kata kunci/topik ke dalam search engine ditemukan sebuah fenomena bahwa situs-situs hasil pencarian dapat dibagi dalam dua jenis, yaitu (1) authorities (situs-situs yang isi/topiknya memang berkaitan dengan kata kunci), dan (2) hubs (situs-situs yang mengenumerasi/mengumpulkan authorities). Algoritma HITS sangat berguna untuk mencari authorities, sementara algoritma trawling dapat digunakan untuk mencari upagraf-upagraf terhubung dari web graph, yang nantinya dapat digunakan untuk mencari hub dari sebuah komunitas maya (yaitu, terdiri dari kumpulan situs-situs dengan topik yang serupa). Namun demikian, algoritma trawling memiliki banyak kelemahan yang disebabkan oleh tak-terhingganya besar ruang pencarian di dalam world wide web. Dalam makalah ini juga dibahas mengenai sifat-sifat struktural yang didapat melalui pengamatan dari proses pencarian web dalam search engine. Selain itu, makalah ini juga membahas mengenai model dari web graph. Kata kunci: graf berarah, web graph, pencarian web, search engine, algoritma HITS, trawling, enumerasi, graf lingkaran bipartit, random graph. 1. Pendahuluan Sejak beberapa tahun terakhir, teknologi informasi, khususnya internet (world wide web), tidak lagi hanya menjadi konsumsi orang-orang yang bekerja di bidang IT saja, tapi juga menjadi konsumsi hampir setiap orang. Hal ini terjadi karena world wide web memang menjanjikan penghematan waktu dan kemudahan dalam melakukan berbagai hal, seperti transaksi perbankan, belanja online, bertukar kabar serta informasi melalui e-mail, dan sebagainya. Oleh karena itu, berbagai perusahaan membuat situs resmi sebagai pelayanan penunjang untuk pelanggan mereka. Situs-situs komunitas dan pribadi juga banyak bermunculan, terutama sejak teknologi weblog menjadi populer. Setiap situs dapat mengacu/menunjuk halaman situs lain melalui sebuah hyperlink. Berdasarkan pengamatan, rata-rata sebuah situs memiliki tujuh hyperlinks. Dengan demikian, dapat dipastikan saat ini telah ada berjuta-juta situs
dengan bermiliar-miliar hyperlinks. Jumlah ini masih akan terus bertambah setiap tahun. Pembahasan dalam makalah ini difokuskan pada studi graf berarah yang dihasilkan oleh hyperlinks sebagai penghubung antar situs; dikenal dengan istilah web graph. Untuk tujuan tersebut, sebuah halaman situs kita anggap sebagai sebuah simpul dan hyperlink sebagai sisi penghubung situs-situs tersebut. Sebagai contoh, pada gambar graf berarah di bawah ini, himpunan simpul V = {x1,...,xN} adalah halamanhalaman situs dan xi xj jika xi mengandung sebuah hyperlink ke xj.
x2
x1
tentang hubungan antara hubs dan authorities. Dalam algoritma HITS, setiap simpul (situs) p diberi bobot hub (xp) dan bobot authority (yp) melalui operasi
x3
x4
x5
xp
=
∑
yq
q, q p
dan x6
yp
x7 Gambar 1 Web Graph sebagai Graf Berarah Studi mengenai web graph ini menjadi menarik karena beberapa hal berikut. Pertama, struktur dari web graph telah banyak digunakan untuk meningkatkan kualitas pencarian web (misalnya dalam search engine) dan juga digunakan untuk menemukan algoritma topic-classification yang lebih akurat. Kedua, banyak informasi menarik lain yang dapat kita temukan dalam sebuah web graph, misalnya informasi mengenai ukuran dari web graph itu sendiri (derajat sebuah situs, jarak antara dua situs, dan lain-lain) atau bahkan informasi mengenai situs apa saja yang paling diminati user saat ini. 2. Algoritma Algoritma yang dibahas dalam makalah ini adalah algoritma yang berhubungan dengan pencarian web. Berdasarkan pengamatan saat melakukan pencarian topik-topik tertentu dalam search engine, ditemukan bahwa untuk setiap topik yang dicari didapatkan dua jenis situs hasil pencarian, yaitu: 1. Authoritative pages (authorities) Situs-situs yang memang memiliki topik serupa dengan topik yang sedang kita cari. 2. Hub pages (hubs) Situs-situs yang berisi hyperlinks ke authoritative pages. Selanjutnya, hasil pengamatan tersebut memotivasi pengembangan dua jenis algoritma yang akan dibahas kemudian. Pertama, algoritma pencarian yang menyaring situs-situs yang memang berkaitan dengan topik yang dicari (authorities), dibahas dalam upabab 2.1. Kedua, algoritma untuk mengenumerasi topik-topik dari authorities untuk kemudian dikumpulkan dalam sebuah hub, dibahas dalam upabab 2.2. 2.1 Algoritma HITS Algoritma Hyperlink Induced Topic Search (HITS) Kleinberg memberikan gagasan baru
=
∑
xq
q, p q
yang dalam hal ini nilai xp diperoleh dari jumlah seluruh nilai yq di mana q adalah situs-situs yang menunjuk (mengandung hyperlink) ke situs p (notasi q p menunjukkan bahwa q menunjuk ke p). Sementara nilai yp diperoleh dari jumlah seluruh nilai xq. Dari operasi tersebut, dapat dilihat bahwa antara hubs dan authorities terdapat sebuah hubungan yang saling memperkuat satu sama lain, yaitu: sebuah hub yang bagus menunjuk ke banyak authorities yang juga bagus, sementara sebuah authority yang bagus ditunjuk oleh banyak hubs yang juga bagus. Untuk melakukan update secara berkala dari nilai-nilai tersebut, terdapat cara yang lebih singkat dibanding dengan melakukan perhitungan ulang dari rumus yang telah dibahas sebelumnya. Pertama-tama, nomori situs-situs hasil pencarian dengan angka {1,2,...,n} dan tentukan matriks ketetanggaan A yang berukuran n x n dari situs-situs tersebut. Lalu, himpun seluruh nilai x dalam sebuah vektor x = (x1,x2,...,xn) , lakukan hal yang serupa pada seluruh nilai y. Selanjutnya, update nilai x dan y dapat dilakukan melalui operasi x ATy ATAx = (ATA)x dan y ATx ATAy = (AAT)y Di bawah ini adalah gambaran keseluruhan dari algoritma HITS.
langkah 1: Kumpulkan sejumlah r situs hasil pencarian sebuah topik yang terletak paling atas (highest-ranked) dari sebuah search engine. Sejumlah r situs ini dikumpulkan dalam sebuah himpunan akar (root) R. langkah 2: Buatlah sebuah himpunan basis (base) S yang berukuran n, dengan cara memperbesar himpunan R (yaitu, menambah anggota himpunan dengan semua situs yang ditunjuk oleh situs-situs di R dan paling banyak sejumlah d situs tambahan tersebut menunjuk ke situs-situs di R). langkah 3: Buatlah graf G[S] yang dihasilkan oleh situs-situs pada himpunan S sebagai simpul. Terdapat dua jenis links dalam graf G[S] ini, yaitu: transverse links (links antara situs-situs yang alamat domainnya berbeda) dan intrinsic links (links antara situs-situs yang berdomain sama). Semua sisi yang terbentuk dari intrinsic links dihapus dari graf G[S], sehingga yang tersisa hanyalah sisi-sisi dari transverse links. langkah 4: Buat matriks ketetanggaan A yang berukuran n x n dan juga matriks transposnya AT. Normalisasikan vektor eigen ε1 dari ATA yang bersesuaian dengan nilai eigen λ1 terbesar. langkah 5: Temukan elemen-elemen dengan nilai absolut dari hasil normalisasi vektor eigen yang besar. Kemudian, definisikan elemen-elemen tersebut sebagain authorities.
Gambar 2 Algoritma HITS Pada akhirnya, algoritma HITS ini menghasilkan sebuah daftar singkat yang terdiri dari situs-situs dengan bobot hub terbesar serta situs-situs dengan bobot authority terbesar. Yang menarik dari algoritma HITS adalah: setelah memanfaatkan kata kunci (topik yang dicari) untuk membuat himpunan akar (root) R, algoritma ini selanjutnya sama sekali tidak mempedulikan isi tekstual dari situs-situs hasil pencarian tersebut. Dengan kata lain, HITS murni merupakan sebuah algoritma berbasis link setelah himpunan akar terbentuk. Walaupun demikian, secara mengejutkan HITS memberikan hasil pencarian yang baik untuk banyak kata kunci. Sebagai contoh, ketika dites dengan kata kunci ”search engine”, lima authorities terbaik yang dihasilkan oleh algoritma HITS adalah Yahoo!, Lycos, AltaVista, Magellan, dan Excite − padahal tidak satupun dari situs-situs tersebut mengandung kata ”search engine”.
2.2 Algoritma Trawling (Penjaringan) Pada upabab ini, kita beralih ke algoritma kedua yang digunakan dalam pencarian web. Berbeda dengan HITS, yang merupakan sebuah algoritma pencarian yang dirancang untuk menemukan situs-situs dengan topik tertentu, algoritma trawling mengenumerasi semua topik dan kemudian memproses keseluruhan web graph. Misalkan Ki,j adalah sebuah graf bipartit lengkap, yaitu setiap simpul pada himpunan i terhubung langsung dengan setiap simpul pada himpunan j. Kemudian, buatlah sebuah graf lingkaran bipartit Ci,j (yaitu, graf dengan himpunan simpul i + j yang mengandung paling sedikit sebuah Ki,j sebagai upagraf). Gambaran tersebut menjelaskan bahwa pada pencarian setiap topik dalam world wide web, akan dihasilkan sebuah graf lingkaran bipartit dalam web graph-nya. Gambar di bawah ini mengilustrasikan sebuah contoh graf C4,3 di mana keempat situs di sebelah kiri memiliki hyperlinks ke tiga situs perusahaan besar yang bergerak di bidang penerbangan (terletak di sebelah kanan).
www.boeing.com
www.airbus.com
www.embrair.com
Gambar 3 Graf Lingkaran Bipartit Upagraf K4,3 dari web graph di atas dapat disebut sebagai sebuah ”komunitas maya” yang terdiri dari perusahaan-perusahaan penerbangan komersial yang kemudian menghasilkan hubs, yaitu keempat situs di sisi kiri. Situs-situs ini menunjuk pada authorities yang terletak di sisi kanan. Katakanlah, sebuah komunitas maya muncul dalam ketika banyak hubs menunjuk ke banyak authorities yang sama. Dalam banyak kasus, hubs dari komunitas-komunitas tersebut tidak menunjuk ke semua authorities yang bersesuaian. Alamat dan jumlah authorities yang ditunjuk oleh hubs sangat mungkin berbeda satu sama lain. Dengan mengetahui fakta ini, dapat kita nyatakan sebuah hipotesis (yang lemah)
sebagai berikut: setiap komunitas maya akan mengandung sebuah graf lingkaran bipartit Ci,j dengan nilai-nilai i dan j yang non-trivial. Hipotesis ini juga berarti bahwa untuk setiap nilai i (jumlah hubs) terdapat banyak graf lingkaran bipartit Ci,j dengan nilai j (jumlah authorities) yang berbeda-beda; hal ini juga berlaku untuk setiap nilai j. Untuk menindaklanjuti hipotesis tersebut, kita dapat berusaha untuk menemukan sebuah komunitas maya yang lebih besar dengan cara menyatukan (melalui enumerasi) semua graf lingkaran bipartit tersebut; proses seperti ini disebut sebagai trawling. Berdasarkan percobaan mengenumerasi Ci,j untuk nilai i = 3, akan diperoleh rentang nilai j antara 3 sampai 20. Sementara, untuk nilai j = 3, akan diperoleh rentang nilai i antara 3 sampai 9. Hasil semacam ini memberi kesan bahwa (1) sebuah web graph memiliki ribuan graf lingkaran bipartit, dan (2) hanya sebagian kecil yang tepat − biasanya dicapai jika menggunakan kata kunci/topik yang sangat jelas dan fokus. Pada paragraf berikutnya, akan diberikan penjelasan singkat tentang percobaan ini, diikuti dengan beberapa penemuan penting dari percobaan tersebut. Dilihat dari sisi algoritmik, algoritma pencarian untuk mengenumerasi tersebut menyebabkan dua masalah yang fatal. Pertama, ukuran dari ruang pencarian menjadi sangat amat besar − dengan menggunakan algoritma ini untuk mengenumerasi semua graf lingkaran bipartit dari dua situs yang menunjuk ke tiga situs dibutuhkan pemeriksaan kira-kira 1040 graf dengan 108 simpul. Kedua, algoritma ini membutuhkan akses ke sisi-sisi pada web graph secara acak, yang menyebabkan banyak bagian dari graf harus diletakkan di memory utama untuk menghindari pencarian pada disk yang memakan waktu lama dan memory yang lebih banyak setiap kali sebuah sisi diakses. Dalam percobaan ini, digunakan sebuah paradigma elimination-generation. Algoritma yang menggunakan paradigma ini akan melewati sejumlah lintasan sekuensial pada web graph, yang kemudian disimpan sebagai relasi biner. Selama melewati tiap-tiap lintasan, algoritma tersebut menuliskan data-data pada web graph tersebut yang telah dimodifikasi/di-update ke dalam disk. Selain itu, algoritma tersebut juga menuliskan beberapa metadata yang terletak di memory utama yang berguna untuk melewati
lintasan selanjutnya. Proses melewati lintasanlintasan ini diselingi oleh operasi sort, yang berguna untuk mengubah urutan ketika data discan, dan merupakan bagian terbesar dari proses tersebut. Operasi sort ini dapat dipandang sebagai operasi pengurutan sisi-sisi berarah dari simpul asal ke simpul tujuan (atau sebaliknya) berdasarkan jumlah derajat masuk dan derajat keluar setiap simpul. Selama melewati tiap lintasan, juga dilakukan proses elimination filter dan generation filter, yang selanjutnya akan dibahas. Elimination Filter. Ada beberapa persyaratan sederhana yang harus dipenuhi oleh sebuah simpul agar dapat menjadi bagian dari upagraf yang bersesuaian. Bayangkan sebuah graf lingkaran bipartit C4,4. Semua simpul yang hanya memiliki derajat masuk kurang dari 4 tidak dapat menjadi bagian dari sisi sebelah kanan pada graf C4,4 tersebut. Dengan demikian, sisi-sisi yang mengarah ke simpul tersebut dapat dibuang dari graf. Sebaliknya, semua simpul dengan derajat keluar kurang dari 4 tidak dapat menjadi bagian dari sisi sebelah kiri. Generation Filter. Proses ini merupakan lanjutan dari elimination filter. Di sini, simpul-simpul yang diperoleh dari elimination filter (yaitu, simpul-simpul yang hampir memenuhi syarat untuk menjadi bagian dari upagraf yang bersesuaian) dapat ditentukan apakah bisa menjadi bagian dari upagraf tersebut atau tidak. Bayangkan kembali sebuah graf lingkaran bipartit C4,4. Anggap u adalah sebuah simpul yang memiliki derajat masuk tepat 4 (atau lebih sedikit dari 4). Selanjutnya, u dapat menjadi bagian dari C4,4 jika dan hanya jika keempat simpul yang menunjuk ke u memiliki tetangga paling sedikit 4. Generation filter merupakan sebuah prosedur untuk menentukan simpulsimpul yang memenuhi syarat, dan setiap simpul dapat menghasilkan sebuah graf lingkaran atau membuktikan bahwa sebuah graf lingkaran tertentu tidak eksis. Setelah proses elimination-generation selesai, akan tersisa simpul-simpul yang memiliki jumlah tetangga yang lebih sedikit. Kita dapat melanjutkan proses ini sampai tidak ada kemajuan berarti yang dapat dihasilkan lagi. Proses elimination-generation ini dapat menyebabkan terjadinya salah satu dari dua hal berikut: (1) simpul-simpul pada graf dibuang terus-menerus sampai tidak ada yang tersisa, atau (2) setelah melewati beberapa lintasan, simpul-
simpul yang dibuang pada setiap proses menjadi semakin dan semakin sedikit. Dari percobaan yang telah banyak dilakukan, fenomena kedua lebih sering terjadi. Dalam [8] dilaporkan sebuah hasil trawling dari sebuah web graph. Percobaan ini mengenumerasi graf lingkaran bipartit sebanyak 100,000 lebih. Perhatikan bahwa karena grafgraf tersebut adalah hasil dari enumerasi (bukan hasil dari mencocokkan kata kunci), hasil pencarian dengan algoritma trawling ternyata hanya mengandung sedikit sekali situs yang isi/topiknya bersesuaian dengan kata kunci. Satusatunya cara untuk menentukan apakah sebuah graf lingkaran yang dihasilkan itu benar atau cuma kebetulan adalah dengan melakukan pengecekan manual, yang lebih lengkapnya dijelaskan dalam [8]. 3. Struktur Sebuah web graph dapat mengandung beberapa struktur lokal. Salah satu contoh struktur lokal yang menarik dalam web graph dapat dilihat pada graf lingkaran bipartit yang telah dibahas pada bab sebelumnya. 3.1 Keterhubungan dari upagraf-upagraf lokal Dalam upabab ini akan dibahas mengenai hal-hal yang berkaitan dengan keterhubungan dari upagraf-upagraf lokal pada web graph. Sebelumnya, bentuklah sebuah himpunan upagraf-upagraf lokal (yaitu, himpunan basis S yang diperoleh dari algoritma HITS pada upabab 2.1). Kemudian, kita akan memandang G sebagai sebuah graf berarah, namun kita juga akan mendefinisikan sebuah graf tidak-berarah Gu yang diperoleh dari mengabaikan arah dari semua simpul pada graf berarah. Dari hasil percobaan dengan limapuluh contoh kata kunci, diperoleh bahwa graf-graf yang terbentuk dengan cara ini menunjukkan sejumlah sifat structural yang konsisten; beberapa dari sifat-sifat ini selanjutnya akan kita bahas dari segi kualitatif. Rentang keterhubungan. Dari hasil percobaan, dapat dilihat bahwa graf tidak-berarah Gu tidak terhubung. Komponen-komponen dari himpunan akar R biasanya hanya mengandung sedikit sekali sisi; dan sementara perbesaran dari himpunan akar R menjadi himpunan basis S dimaksudkan untuk menghubungan banyak simpul dalam himpunan tersebut, beberapa
simpul lainnya tetap terisolasi. Graf Gu seperti ini hanya mengandung sebuah komponen besar (yaitu, simpul-simpul terhubung yang merupakan bagian paling penting di antara semua simpul). Untuk memperoleh keterhubungan yang lebih kuat, gunakan prinsip keterhubungan-ganda. Katakanlah dua simpul u dan v terhubung-ganda. Graf tak-berarah seperti ini juga hanya mengandung sebuah komponen besar yang terhubung-ganda dengan beberapa komponen lain tetap terisolasi. Pada algoritma HITS, komponen-komponen terhubung-ganda ini biasanya merupakan hubs dan authorities terbaik. Keterhubungan Bolak-Balik. Keterhubunganganda menghasilkan sebuah komponen besar/utama; keterhubungan-kuat memecah sebuah graf menjadi komponen-komponen kecil. Keterhubungan bolak-balik adalah sebuah keterhubungan alami (bukan buatan) yang membutuhkan arah dari sisi-sisi penghubung antar simpul. Berikut ini akan dijelaskan mengenai keterhubungan bolak-balik, serta kesulitannya untuk menemukan komponen utama. Jika u dan v adalah simpul, dapat dikatakan bahwa himpunan sisi-sisi P dari graf berarah G adalah sebuah lintasan bolak-balik dari u ke v jika (1) P juga merupakan sebuah lintasan pada graf tak-berarah Gu yang titik akhirnya berada pada simpul u maupun v, dan (2) arah dari sisisisi dalam himpunan P pada graf G harus bolakbalik. Dengan demikian, untuk mencapai situs v dari situs u melalui sejumlah links (situs-situs lain) dapat digunakan lintasan maju atau lintasan mundur. Hal ini berkaitan erat dengan algoritma HITS. Ketepatan hubungan bolak-balik dari sisisisi dalam himpunan P berkaitan dengan bobot yang dimiliki oleh tiap-tiap simpul. Ketepatan hubungan bolak-balik ini yang kemudian dapat digunakan untuk menentukan kemiripan di antara situs-situs [9,10,11].
4. Model Pada bagian ini akan dibahas mengenai beberapa graf model yang diharapkan dapat membantu pemahaman mengenai studi struktural pada web graph. Terdapat beberapa alasan untuk memahami model-model tersebut: 1. Memudahkan kita untuk memodelkan berbagai struktur dari web graph.
2.
3.
4.
Memudahkan kita untuk memprediksi perilaku-perilaku dari algoritmaalgoritma yang dipakai dalam web graph. Memudahkan kita untuk mempelajari sifat-sifat struktural pada word wide web, sehingga selanjutnya kita dapat mengambil manfaat dari hal-hal tersebut. Memudahkan kita untuk memprediksi bentuk dari web graph di masa yang akan datang.
4.1 Model Random Graph Awalnya, web graph dianggap serupa dengan sebuah random graph. Model random graph ini digunakan untuk menunjukkan bahwa selalu ada lintasan terpendek di antara sepasang situs. Dalam memodelkan sebuah web graph, digunakan graf yang berbeda dari random graph biasa. Penjelasan mengenai random graph biasa dapat dilihat pada [12], sementara penjelasan mengenai random graph yang digunakan untuk memodelkan sebuah web graph dapat dilihat pada [1]. 5. Kesimpulan Kesimpulan yang dapat dimbil dari studi world wide web sebagai sebuah graf berarah ini adalah: 1. World wide web dapat dipandang sebagai sebuah graf berarah, di mana situs-situs adalah himpunan simpul dan hyperlinks adalah sisi-sisi penghubung simpul-simpul tersebut; disebut sebagai web graph. 2. Struktur web graph dapat digunakan untuk mengembangkan algoritmaalgoritma pencarian web, misalnya : algoritma HITS dan algoritma trawling. 3. Kesulitan dalam pengembangan algoritma-algoritma dalam web graph disebabkan oleh terlalu besarnya ruang pencarian web. 4. Pemahaman mengenai struktur web graph memberikan banyak informasi dan manfaat, misalnya dalam pembuatan situs agregator yang mengumpulkan situs-situs dengan topik yang relevan/serupa, prediksi mengenai situs-situs yang paling diminati oleh user, dan sebagainya.
DAFTAR PUSTAKA [1] Kleinberg, Jon M., Ravi Kumar, Prabhakar Raghavan, Sidhar Rajagopalan, & Andrew S. Tomkins. (2007). The Web as A Graph: Measurements, Models, and Methods. http://www.cs.cornell.edu/home/kleinber/w eb-graph.ps. Tanggal akses: 1 Januari 2007 pukul 16:00. [2] Yang, Rong. (2007). The Structure of The World Wide Web Graph. http://delivery.acm.org/10.1145/1190000/1 181930/p169-yang.pdf. Tanggal akses: 1 Januari 2007 pukul 16:00. [3] Nomura, Saeko, Satoshi Oyama, Tetsuo Hayamizu, & Toru Ishida. (2007). Analysis and Improvement of HITS Algorithm for Detecting Web Communities. http://www.kyoto-u.ac.jp. Tanggal akses: 3 Januari 2007 pukul 10:00. [4] Ding, Chris H.Q., Hongyuan Zha, Xiaofeng He, Parry Husbands, & Horst D. Simon. (2003). Link Analysis: Hubs and Authorities on The World Wide Web. http://. Tanggal akses: 3 Januari 2007 pukul 10:00. [5] Guillaume, Jean-Loup & Matthieu Latapy. (2007). The Web Graph: an Overview. http://hipercom.inria.fr/soleil/rapports/guill aume02algotel.ps. Tanggal akses: 1 Januari 2007 pukul 16:00. [6] Leighton, Tom & Ronitt Rubinfeld. (2006). Graph Theory III. http://theory.lcs.mit.edu/classes/6.042/fall06 /lec8.pdf. Tanggal akses: 1 Januari 2007 pukul 16:00. [7] Munir, Rinaldi. (2004). Bahan Kuliah IF2153 Matematika Diskrit. Departemen Teknik Informatika, Institut Teknologi Bandung. [8] S.R. Kumar, P.Raghavan, S. Rajagopalan, & A. Tomkins. (1999). Trawling Emerging Cyber-Communities Automatically. Proc. 8th WWW Conference. [9] S. Chakrabarti, B. Dom, P. Indyk. (1998). Enhanced Hypertext Classification Using Hyperlinks. Proc. ACM SIGMOD.
[10] Kleinberg, J. (1999). Authoritative Sources in A Hyperlinked Environment. Journal of ACM. [11] Larson, R. (1996). Bibliometrics of The World Wide Web: An Exploratory Analysis of The Intellectual Structure of Cyberspace. Annual Meeting of the American Society Info. Sci. [12] William Aiello, Fan Chung, & Linyuan Lu. (2007). A Random Graph Model for Power Law Graphs. http://. Tanggal akses: 1 Januari 2007 pukul 16:00. [13] Anton & Rorres. (2004). Aljabar Linear Elementer versi Aplikasi. Jakarta: Erlangga.