Thursday 10 September 2009

Membuat Aplikasi Facebook dalam 5 Menit

Bagaimana membuat aplikasi di Facebook ? Paling tidak ada 2 cara, yang pertama kita bisa menggunakan aplikasi yang sudah ada dan tinggal memodifikasinya sekehendak kita. Banyak sekali pilihan aplikasi yang dimaksud, tinggal kita pilih yang sesuai dengan aplikasi yang akan kita buat… dan ini tanpa coding sama sekali.

Bagaimana caranya?

  1. Login facebook
  2. Gunakan Application Builder untuk Facebook.
  3. Klik button yang bertulisan : “Start Creating a New Facebook Application”
  4. Pilih type aplikasi yang akan anda buat, misalnya pool application, Yes/No application atau yang lainnya.
  5. Selanjutnya anda tinggal mengisi form sesuai dengan aplikasi yang dipilih, ikuti perintahnya dan anda sudah membuat sebuah aplikasi facebook !

Tentu saja aplikasi yang dibuat hanya terbatas pada type yang sudah disiapkan. Bagaimana jika kita ingin membuat aplikasi yang lebih dari itu? Kita gunakan cara kedua …

Sulitkah ? Tidak sama sekali…
Untuk membuat aplikasi bebas sesuai kehendak kita, ada tambahan yang kita butuhkan, yaitu tempat hosting dimana kita akan menyimpan aplikasi kita. Sekarang banyak tempat hosting yang gratisan… silahkan googling dan daftar disana, salah satunya bisa anda gunakan 0fees.net.

Untuk mengetahui lebih lengkap bagaimana cara membuat aplikasi facebook, silahkan kunjungi : herrysujaini.blogspot.com.

Untuk sekedar mencoba membuat aplikasi facebook dalam 5 menit, anda dapat melakukan langkah-langkah berikut :

  1. Login facebook anda.
  2. Buat sebuah file dengan menggunakan text editor
  3. Ketik code dibawah ini di editor anda
  4. Simpan file anda dengan nama whatever.php (silahkan ganti whatever dengan nama apa saja)
  5. Buka alamat http://apps.facebook.com/inicumacontoh/
  6. Klik link “Kirimkan File” dan kirimkan file whatever.php
  7. Selamat … anda sudah membuat sebuah aplikasi facebook.

Untuk melihat hasil aplikasi anda, buka alamat http://apps.facebook.com/inicumacontoh/whatever.php (sesuaikan “whatever” dengan nama fle anda).

Selamat mencoba.

Wednesday 9 September 2009

Hati-hati, Serangan Mendekati Para Blogger

Menulis di blog, pada umunya diawali dengan niat mulia, berbagi pengalaman, pengetahuan dan lain-lain. Tujuan ngeblogpun bermacam-macam, mulai dari ingin menumpahkan pengalaman, ingin mencari teman baru, mencari peluang bisnis online di internet dan berbagai alasan lainnya.

Dengan niat dan tujuan yang mulia ini, rupanya sang pengganggu manusia tidak tinggal diam, dimulailah serangan-serangan mautnya kepada para blogger.

Serangan pertama dilakukan dengan senjata "sombong". Para blogger diberi bisikan-bisikan maut...
"Betapa hebatnya anda... coba lihat statistik pengunjung blog anda... berapa banyak yang membacanya... berapa banyak orang yang memberikan komentar salut dengan tulisan anda... Ayo tulislah bahwa anda itu hebat...". Blogger yang terkena rayuan ini serta merta akan memproklamirkan kehebatannya... dan jatuhlah dia kedalam jerat "sombong" dari "si hitam".

Berbekal tujuan yang baik, beberapa blogger dapat menangkis senjata pertama ini. Namun "si hitam" tak menyerah begitu saja, dilancarkannya kembali senjata keduanya, yaitu senjata "riya". Rayuan maut lewat bisikan-bisikannya kepada para blogger...
"Mmm... anda benar-benar mulia, anda tidak pernah menyombongkan kehebatan anda meskipun anda itu hebat... Banyak sekali pahala yang anda dapatkan dengan membagi pengalaman dan pengetahuan anda ke orang lain... Tunjukkanlah kepada orang lain bahwa anda sudah banyak memiliki amal-amal... ". Blogger yang terkena rayuan ini serta merta akan memproklamirkan amal-amalnya ... dan jatuhlah dia kedalam jerat "riya" dari "si hitam".

Saat para blogger dapat mengelakkan serangan kedua ini... "si hitam" segera mengeluarkan serangan pemungkasnya, yaitu senjata "ujub". dihampirinya sang blogger seraya menembakkan senjata andalannya. "Anda benar-benar blogger sejati, tidak sombong dan tidak pernah ingin memperlihatkan amal-amal anda... Ketahuilah... aku mengakui kehebatan anda... tanamkanlah dihati anda... bahwa anda benar-benar hebat. Orang lain tidak perlu tahu anda itu hebat, tapi anda benar-benar harus meraasa lebih baik dari orang lain, bangga dan senang dengan diri anda, senang dengan yang anda ucapkan, yang anda perbuat hingga meremehkan orang lain.."

Mudah-mudahan kita semua,... terutama diri saya pribadi dapat selalu menangkis serangan-serangan ini. Amiiin ya Rab...

Tuesday 8 September 2009

Filsafat dan Kualitas Penelitian

Sebelum melihat sejauh mana hubungan antara filsafat dengan kualitas peneltian, tentu saja harus dilihat dulu tolok ukur untuk menentukan suatu penelitian dikatakan berkualitas atau tidak.

Beberapa hal yang menjadi tolok ukur kualitas suatu penelitian adalah :
1. Orisinalitas
Orisinalitas merupakan sesuatu yang mutlak dalam suatu penelitian. Setinggi apapun kualitas suatu penelitian tidak akan dapat diterima jika itu merupakan suatu karya penelitian yang sebenarnya dilakukan oleh orang lain.
Banyak yang mengatakan bahwa salah satu ciri dari hasil penelitian yang berkualitas adalah jika penelitian tersebut telah dipublikasikan di tingkat nasional maupun internasional, dalam hal ini pempublikasian tersebut sangat berkaitan erat untuk menguji originalitas hasil penelitian tersebut.

2. Bersifat universal
Hasil penelitian sebaiknya bersifat universal, walaupun dilakukan dalam skala yang khusus, tapi hasil penelitian sebaiknya dapat digunakan secara umum, tidak hanya memiliki kebenaran dalam kondisi-kondisi khusus saja. Hasil penelitian harus dapat dapat diuji kebenarannya dalam kondisi yang berbeda-beda.
Dengan demikian hasil penelitian harus bersifat Logis atau masuk akal, Obyektif atau sesuai dengan fakta, Sistematis yaitu adanya konsistensi dan keteraturan internal, Andal, Dirancang, dan Akumulatif.

3. Kebaharuan
Kebaharuan merupakan salah satu tolok ukur kualitas penelitian meskipun bersifat opsional karena tidak semua penelitian memerlukan adanya kebaharuan.


FILSAFAT
Kata falsafah atau filsafat dalam bahasa Indonesia merupakan kata serapan dari bahasa Arab yang juga diambil dari bahasa Yunani; philosophia. Dalam bahasa ini, kata ini merupakan kata majemuk dan berasal dari kata-kata (philia = persahabatan, cinta dsb.) dan (sophia = "kebijaksanaan"). Sehingga arti harafiahnya adalah seorang “pencinta kebijaksanaan”. Kata filosofi yang dipungut dari bahasa Belanda juga dikenal di Indonesia. Bentuk terakhir ini lebih mirip dengan aslinya. Dalam bahasa Indonesia seseorang yang mendalami bidang falsafah disebut "filsuf".
Definisi kata filsafat bisa dikatakan merupakan sebuah problem falsafi pula. Tetapi, paling tidak bisa dikatakan bahwa "filsafat" adalah studi yang mempelajari seluruh fenomena kehidupan dan pemikiran manusia secara kritis. Hal ini didalami tidak dengan melakukan eksperimen-eksperimen dan percobaan-percobaan, tetapi dengan mengutarakan problem secara persis, mencari solusi untuk itu, memberikan argumentasi dan alasan yang tepat untuk solusi tertentu, serta akhir dari proses-proses itu dimasukkan ke dalam sebuah proses dialektik. Dialektik ini secara singkat bisa dikatakan merupakan sebuah bentuk dialog. Untuk studi falsafi, mutlak diperlukan logika berpikir dan logika bahasa.
Filsafat adalah hasil pemikiran dan perenungan secara mendalam tentang sesuatu sampai keakar-akarnya. Sesuatu disini dapat berarti terbatas dan dapat pula berarti tidak terbatas. Bila berarti terbatas, filsafat membatasi diri akan hal tertentu saja. Bila berarti tidak terbatas, filsafat membahas segala sesuatu yang ada dialam ini yang sering dikatakan filsafat umum. Sementara itu filsafat yang terbatas adalah filsafat ilmu, filsafat pendidikan, filsafat seni dan lain-lainnya

Filsafat sangat menekankan pentingnya orisinalitas pemikiran manusia, jika dilihat dari sejarah filsuf-filsuf terkenal, buah pemikiran mereka adalah hasil pemikiran orisinil dari mereka sendiri. Selain itu hasil pemikiran tersebut selalu merupakan hal yang baru sesuai dengan jamannya.

Ciri berpikir filsafat sendiri terdiri atas :
  1. Radikal : berfikir sampai ke akar permasalahan
  2. Sistematik : berfikir yang logis, sesuai aturan, langkah demi langkah, berurutan, penuh kesadaran, dan penuh tanggung jawab
  3. Universal : berfikir secara menyeluruh tidak terbatas pada bagian tertentu tetapi mencakup seluruh aspek.
  4. Spekulatif : berfikir spekulatif terhadap kebenaran yang perlu pengujian untuk memberikan bukti kebenaran yang difikirkannya.

Dari ciri-ciri berpikir filsafat tersebut di atas, tampak jelas bahwa filsafat sangat berhubungan dengan kualitas suatu penelitian yang menuntut orisinalitas, universal, dan kebaharuan. Dengan kata lain kualitas penelitian akan semakin tinggi dengan menggunakan cara fikir filsafat.

Saturday 5 September 2009

Penerapan Minimax pada Tic Tac Toe

Tic Tac Toe
Tic Tac Toe merupakan permainan yang dimainkan oleh 2 pemain dengan menempatkan ‘buah’ yang berlainan untuk tiap pemain pada kotak 3 x 3. Penempatan ‘buah’ dilakukan secara bergantian sehingga salah satu pemain menjadi pemenang atau seluruh kotak terisi oleh ‘buah’.
Salah satu pemain dikatakan menang jika dapat menempatkan ‘buah’ berjajar sebanyak 3 buah baik secara horisontal, vertikal atau diagonal.

Penerapan Minimax
Dalam permainan ini kita harus berusaha untuk memaksimalkan kemungkinan untuk mencapai kemenangan pemain pertama dan meminimalkan kemungkinan kemenangan lawan (pemain kedua).

Komponen penelusuran dalam aplikasi minimax pada permainan Tic Tac Toe ini adalah :

- Initial State Initial state merupakan keadaan saat pencarian akan dilakukan, pada saat permainan mulai dilakukan (jika pemain pertama jalan pertama), initial statenya adalah :
Initial state selalu berubah saat giliran jalan pemain pertama.

- Operator (rule/ilegal moves)
Operator pada permainan ini adalah pemain dapat meletakkan ‘buah’ nya secara sembarang di kotak yang masih kosong.

- Terminal Test
Terminal Test adalah keadaan dimana komposisi terbaik yang dilakukan pemain pertama setelah diadakan penelusuran.


- Utility Function
Utility function pada permainan ini adalah mencari kemungkinan kemenangan bagi pemain pertama dikurangi dengan kemungkinan kemenangan dari pemain lawan. Pada saat permainan dimulai masing-masing kemungkinan kemenangan tiap pemain adalah 8 yaitu 3 horisontal + 3 vertikal + 2 diagonal.
Contoh pada komposisi :
Kemungkinan kemenangan pemain pertama adalah 6, sedangkan kemungkinan kemenangan pemain kedua adalah 5.
Jadi nilai untuk komposisi di atas adalah 6 – 5 = 1.

Dari keadaan permainan dimulai, graph minimax untuk Two-Ply Search dapat digambarkan sebagai berikut (X = pemain pertama, O = pemain kedua):
Nilai node E sampai P didapat dari utility function yang telah didefinisikan sebelumnya sehingga didapatkan :
E = 6 – 5 = 1
F = 5 – 5 = 0
G = 6 – 5 = 1
H = 5 – 5 = 0
I = 4 – 5 = -1
J = 5 – 4 = 1
K = 6 – 4 = 2
L = 5 – 6 = -1
M = 5 – 5 = 0
N = 5 – 6 = -1
O = 6 – 6 = 0
P = 4 – 6 = -2

Ada sembilan langkah yang mungkin dilakukan oleh pemain pertama karena kotak kosongnya berjumlah 9, tapi pada diagram diatas hanya diambil 3 kemungkinan (node B,C dan D), karena 6 kemungkinan lainnya setara dengan ke-3 komposisi di atas, misalnya :

Dari node B seharusnya didapatkan node anak sebanyak 8 node, dengan mengabaikan node yang setara node anak dari B menjadi E, F, G, H dan I. Dengan cara yang sama didapatkan node anak dari C yaitu J dan K, sedangkan node anak dari D yaitu L, M, N, O dan P.
Karena hanya menggunakan Two-Ply Search, node-node anak dari B, C dan D dicari nilainya, kemudian dicari yang terkecil (min) masing-masing untuk dijadikan nilai B, C dan D. Selanjutnya dicari nilai terbesar (max) dari ketiga nilai tersebut untuk menentukan langkah pemain pertama.
Pada diagram yang digambarkan diatas, node anak dari B bernilai masing-masing E=1, F=0, G=1, H=0 dan I=-1 jadi nilai B diambil yang terkecil yaitu –1.
Node anak dari C bernilai masing-masing J=1 dan K=2 jadi nilai C diambil yang terkecil yaitu 1. Kemudian node anak dari D bernilai masing-masing L=-1, M=0, N=-1, O=0 dan P=-2 jadi nilai C diambil yang terkecil yaitu –2.
Selanjutnya dari nilai node B=-1, C=1, dan D=-2 diambil nilai terbesar yaitu C=1, yang berarti langkah terbaik yang harus dilakukan oleh pemain pertama adalah node C.
Setelah pemain kedua menempatkan buahnya, keadaan saat itu dijadikan initial state dan dilakukan kembali pelacakan dengan langkah yang telah dijelaskan di atas.
Contoh : Misalkan pemain kedua meletakkan buahnya seperti gambar berikut :
Dari keadaan ini, graph minimax untuk Two-Ply Search dapat digambarkan sebagai berikut (X = pemain pertama, O = pemain kedua):

Dari diagram diatas, langkah terbaik yang dapat dilakukan oleh pemain pertama terdapat dua pilihan yaitu B(1) dan D(1).
Demikian seterusnya sampai permainan selesai. Two-Ply Search dapat digunakan kecuali pada keadaan intial state kotak yang kosong tinggal sebuah sebab pemain kedua tidak dapat lagi meletakkan buahnya. Pada keadaan ini (kotak yang kosong tinggal sebuah), langkah pemain juga tidak punya pilihan lagi.

Friday 4 September 2009

Konversi Bilangan Bahasa Indonesia ke bentuk Numerik

Kita bersama tahu bahwa "Seribu Sembilan Ratus Empat Puluh Lima" dalam Bahasa Indonesia adalah 1945. Penyebutan bilangan ini sudah dipelajari sejak sekolah dasar sehingga anak-anak pun dapat menterjemahkan bilangan dalam Bahasa Indonesia ke bentuk numerik.

Bagaimana dengan komputer? tentu saja kita harus membuat sebuah algoritma untuk keperluan tersebut. Tentu saja beragam algoritma bisa diterapkan, salah satu yang saya gunakan adalah seperti penjelasan berikut :

Kata yang menunjukkan bilangan dalam Bahasa Indonesia cukup sistematis, tapi perlu lebih disistematiskan untuk mempermudah proses perubahan.

Untuk bilangan puluhan dalam Bahasa Indonesia kata pertama menunjukkan bilangan puluhan dan kata terakhir menunjukkan bilangan satuan, diantara kata tersebut terdapat kata “puluh”. Misalnya dua puluh sembilan, kata pertama adalah dua (2) dan kata terakhir adalah sembilan (9), dan diantara kata-kata tersebut terdapat kata puluh. Jika satuannya sama dengan nol (0) maka kata terakhir dihilangkan.

Aturan di atas berlaku untuk semua bilangan puluhan, kecuali pada bilangan dengan puluhan sama dengan satu. Pada kasus ini, untuk bilangan 10 didefinisikan dengan “sepuluh”, bilangan 11 didefinisikan dengan “sebelas”, sedangkan bilangan 12 sampai 19, kata pertama menunjukkan satuan dan kata kedua dituliskan dengan kata “belas”. Misalnya kata “tiga belas”, kata pertama adalah tiga (3) dan kata keduanya adalah belas (puluhan = 1), jadi bilangan yang dimaksud adalah 13.

Aturan dalam Bahasa Indonesia juga menunjukkan bahwa jika dalam suatu kata bilangan dua huruf pertamanya adalah “se”, maka hal itu berarti “satu”. Misalnya kata “seratus” berarti “satu ratus”, “sejuta” berarti “satu juta” dan lain sebagainya.

Langkah pertama metode pengubahan kalimat yang menunjukkan bilangan dalam Bahasa Indonesia ke dalam bentuk numerik adalah merestruktur kembali kata-kata yang terdapat dalam kalimat tersebut dengan 2 tahap seperti di bawah ini.
  1. Mengubah kata yang mengandung suku kata “se” diawalnya menjadi “satu” ditambah dengan suku-suku kata selanjutnya kecuali kata “sembilan”. Misalnya kata “seratus” menjadi “satu ratus”.
  2. Merestruktur kata “belas” dengan mengubahnya menjadi kata “satu”, kemudian menukar posisi kata “satu” tersebut dengan kata yang berada di depan kata “belas”, selanjutnya diantara dua kata tersebut ditambahkan kata “puluh”. Misalnya kata “dua belas” menjadi “satu puluh dua”.
Jika metode di atas dilakukan, maka kalimat yang menunjukkan bilangan dalam Bahasa Indonesia akan menjadi seperti Tabel berikut :









BilanganBahasa IndonesiaTahap 1Tahap 2
10SepuluhSatu Puluh-
11SebelasSatu BelasSatu Puluh Satu
12Dua Belas-Satu Puluh Dua
19Sembilan Belas-Satu Puluh Sembilan
100SeratusSatu Ratus-
1000SeribuSatu Ribu-
dst...dst...dst...dst...



Setelah kalimat direstruktur, kemudian dilanjutkan pada langkah berikutnya yaitu pengubahan kebentuk numerik.

- Satuan
Untuk mencari bilangan satuan dalam suatu kalimat yang telah direstruktur, cukup dilihat pada kata terakhir. Jika kata terakhir menunjukkan kata bilangan dari “satu” sampai “sembilan”, maka bilangan satuannya adalah bilangan yang ditunjukkan kata tersebut, jika tidak, maka satuannya adalah 0 (nol).
Misalnya kalimat “empat belas ribu dua ratus tiga belas” (14213), setelah direstruktur menjadi “satu puluh empat ribu dua ratus satu puluh tiga”. Kata terakhirnya adalah “tiga”, jadi satuannya adalah 3, sedangkan kalimatnya tinggal menjadi “satu puluh empat ribu dua ratus satu puluh”.

- Puluhan
Kalimat dari hasil yang telah didapatkan dari langkah “satuan” dilihat kata terakhirnya, jika kata tersebut “puluh” maka puluhannya adalah kata didepan kata “puluh” tersebut, jika tidak, maka puluhannya adalah 0 (nol).
Seperti pada contoh kalimat di atas, kata terakhirnya adalah “puluh”, maka puluhannya adalah kata didepan kata “puluh” yaitu “satu”. Jadi puluhannya adalah 1, sedangkan kalimatnya tinggal menjadi “satu puluh empat ribu dua ratus”.

- Ratusan
Kalimat dari hasil yang telah didapatkan dari langkah “puluhan” dilihat kata terakhirnya, jika kata tersebut “ratus” maka ratusannya adalah kata di depan kata “ratus” tersebut, jika tidak, maka ratusannya adalah 0 (nol).
Seperti pada contoh kalimat di atas, kata terakhirnya adalah “ratus”, maka ratusannya adalah kata didepan kata “ratus” yaitu “dua”. Jadi ratusannya adalah 2, sedangkan kalimatnya tinggal menjadi “satu puluh empat ribu”.

- Ribuan
Kalimat dari hasil yang telah didapatkan dari langkah “ratusan” dilihat kata terakhirnya, jika kata tersebut “ribu” maka ribuannya adalah kata di depan kata “ribu” tersebut, jika tidak, maka ribuannya adalah 0 (nol).
Seperti pada contoh kalimat di atas, kata terakhirnya adalah “ribu”, maka ribuannya adalah kata didepan kata “ribu” yaitu “empat”. Jadi ribuannya adalah 4, sedangkan kalimatnya tinggal menjadi “satu puluh ribu”.

Tahap-tahap tersebut di atas dapat dilanjutkan sampai pada batasan yang diperlukan dengan cara yang sama. Hasil akhir dari tahap ini didapatkan dengan menjumlahkan hasil semua tahap yang dilakukan. Seperti contoh di atas, hasil akhirnya adalah :
1 x 104 + 4 x 103 + 2 x 102 + 1 x 101 + 3 x 100 = 14213.

Thursday 3 September 2009

Membuat Aplikasi Facebook

Bagaimana membuat aplikasi di Facebook ? Paling tidak ada 2 cara, yang pertama kita bisa menggunakan aplikasi yang sudah ada dan tinggal memodifikasinya sekehendak kita. Banyak sekali pilihan aplikasi yang dimaksud, tinggal kita pilih yang sesuai dengan aplikasi yang akan kita buat... dan ini tanpa coding sama sekali.

Bagaimana caranya?
  1. Login facebook
  2. Gunakan Application Builder untuk Facebook.
  3. Klik button yang bertulisan : "Start Creating a New Facebook Application"
  4. Pilih type aplikasi yang akan anda buat, misalnya pool application, Yes/No application atau yang lainnya.
  5. Selanjutnya anda tinggal mengisi form sesuai dengan aplikasi yang dipilih, ikuti perintahnya dan anda sudah membuat sebuah aplikasi facebook !
Tentu saja aplikasi yang dibuat hanya terbatas pada type yang sudah disiapkan. Bagaimana jika kita ingin membuat aplikasi yang lebih dari itu? Kita gunakan cara kedua ...

Sulitkah ? Tidak sama sekali...
Untuk membuat aplikasi bebas sesuai kehendak kita, ada tambahan yang kita butuhkan, yaitu tempat hosting dimana kita akan menyimpan aplikasi kita. Sekarang banyak tempat hosting yang gratisan... silahkan googling dan daftar disana, salah satunya bisa anda gunakan 0fees.net.

Sekarang kita coba mebuat aplikasi sederhana :
  1. Login facebook
  2. Gunakan Facebook Developer
  3. Klik button bertuliskan "Set up New Application"
  4. Isi nama aplikasi, agree, Save changes
  5. Klik "Canvas"
  6. Isi canvas page URL, Canvas callback URL, pilih FBML, save changes.
  7. Jika sudah keluar halaman seperti ini, berarti 90% pekerjaan anda sudah selesai
  8. Scroll sedikit ke bawah, akan anda temukan tulisan "example code", klik tulisan itu
  9. Setelah di klik, akan keluar code program untuk digunakan sebagai contoh aplikasi anda
  10. Pilih semua text yang ada, buat sebuah file index.php (dalam contoh ini di http://inicumacontoh.0fees.net/index.php) dan paste kan ke dalam file tersebut.
  11. OK.. 95% pekerjaan telah selesai.
  12. Agar dapat bekerja, kita memerlukan beberapa file untuk disipan dalam direktori aplikasi kita. Download filenya dan extract di komputer anda.
  13. Cari file-file facebook.php, facebook_dekstop.php, dan facebookapi_php5_restlib.php kemudian upload ke direktori aplikasi anda.
  14. Jalankan aplikasi anda lewat facebook, pada contoh ini alamatnya : http://apps.facebook.com/inicumacontoh/
  15. Selamat... anda telah berhasil membuat sebuah aplikasi facebook.

Wednesday 2 September 2009

Algoritma Run-Length untuk Kompresi File

Dua orang mahasiswa mendapatkan tugas untuk melakukan penelitian mengenai warna baju yang digunakan oleh orang-orang yang lewat di suatu jalan tertentu. Tugasnya mudah saja, jika ada orang lewat dengan baju berwarna merah, mereka cukup menulis “merah” pada buku pencatat, begitu juga dengan warna lain.
Pada suatu saat lewat pada jalan tersebut serombongan tentara yang berjumlah 40 orang, semuanya memakai seragam berwarna hijau. Mahasiswa pertama menulis pada buku pencatat “hijau, hijau, hijau …. “ sampai 40 kali, tapi mahasiswa kedua ternyata lebih cerdik, dia hanya menulis pada buku pencatat “hijau 40 x”.
Setelah selesai melaksanakan tugas mereka, ternyata mahasiswa pertama menghabiskan 10 lembar catatan, sedangkan mahasiswa kedua hanya menghabiskan 5 lembar catatan, sedangkan hasil mereka tidak ada bedanya.
Cara yang digunakan oleh mahasiswa kedua tersebut dapat digunakan pada pemampatan file, dan dikenal dengan algoritma Run-Length.
Algoritma Run-length digunakan untuk memampatkan data yang berisi karakter-karakter berulang. Saat karakter yang sama diterima secara berderet empat kali atau lebih (lebih dari tiga), algoritma ini mengkompres data dalam suatu tiga karakter berderetan. Algoritma Run-Length paling efektif pada file-file grafis, dimana biasanya berisi deretan panjang karakter yang sama.
Metode yang digunakan pada algoritma ini adalah dengan mencari karakter yang berulang lebih dari 3 kali pada suatu file untuk kemudian diubah menjadi sebuah bit penanda (marker bit) diikuti oleh sebuah bit yang memberikan informasi jumlah karakter yang berulang dan kemudian ditutup dengan karakter yang dikompres, yang dimaksud dengan bit penanda disini adalah deretan 8 bit yang membentuk suatu karakter ASCII. Jadi jika suatu file mengandung karakter yang berulang, misalnya AAAAAAAA atau dalam biner 01000001 sebanyak 8 kali, maka data tersebut dikompres menjadi 11111110 00001000 01000001. Dengan demikian kita dapat menghemat sebanyak 5 bytes. Agar lebih jelas algoritma Run-Length dapat digambarkan sebagai berikut :
Deretan data sebelah kiri merupakan deretan data pada file asli, sedangkan deretan data sebelah kanan merupakan deretan data hasil pemampatan dengan algoritma Run-Length. Langkah-langkah yang dilakukan adalah :

  1. Lihat apakah terdapat deretan karakter yang sama secara berurutan lebih dari tiga karakter, jika memenuhi lakukan pemampatan. Pada contoh di atas deretan karakter yang sama secara berurutan sebanyak 8 karakter, jadi lebih dari tiga dan dapat dilakukan pemampatan.
  2. Berikan bit penanda pada file pemampatan, bit penanda disini berupa 8 deretan bit yang boleh dipilih sembarang asalkan digunakan secara konsisten pada seluruh bit penanda pemampatan. Bit penanda ini berfungsi untuk menandai bahwa karakter selanjutnya adalah karakter pemampatan sehingga tidak membingungkan pada saat mengembalikan file yang sudah dimampatkan ke file aslinya. Pada contoh di atas bit penanda ini dipilih 11111110.
  3. Tambahkan deretan bit untuk menyatakan jumlah karakter yang sama berurutan, pada contoh diatas karakter yang sama berturutan sebanyak delapan kali, jadi diberikan deretan bit 00001000 (8 desimal).
  4. Tambahkan deretan bit yang menyatakan karakter yang berulang, pada contoh diatas karakter yang berulang adalah 01000001 atau karakter A pada karakter ASCII.
Untuk melakukan proses pengembalian ke data asli (decompression), dilakukan langkah-langkah berikut ini :
  1. Lihat karakter pada hasil pemampatan satu-persatu dari awal sampai akhir, jika ditemukan bit penanda, lakukan proses pengembalian.
  2. Lihat karakter setelah bit penanda, konversikan ke bilangan desimal untuk menentukan jumlah karakter yang berurutan.
  3. Lihat karakter berikutnya, kemudian lakukan penulisan karakter tersebut sebanyak bilangan yang telah diperoleh pada karakter sebelumnya (point 2).
Sebagai contoh lain jika sebuah file berisi karakter berturut-turut
00001111
11110000
11110000
11110000
11110000
11110000
11110000
10101010
10101010
10101010

Jika dimampatkan dengan metoda Run-Length, hasilnya akan menjadi
00001111
11111110
00000110
10101010
10101010
10101010

Dengan langkah-langkah pengembalian yang telah dijelaskan di atas, akan didapatkan hasil yang sama seperti file aslinya.

Best-First Search VS A* (Arad-Bucharest)

Best-First Search VS A* (Arad-Bucharest)

Tidak seperti Depth-First Search (DFS) atau Breadth-First Search BFS), Best-First Search adalah algoritma pencarian dengan menggunakan heuristic. Berikut adalah contoh penggunaan metode BFS untuk permasalahan Arad-Bucharest.

Berikut ini adalah peta Romania dengan jarak jalan-jalan yang menghubungkan kota-kota dalam km.

Adapun jarak kota-kota terhadap kota Bucharest jika ditarik garis lurus adalah sebagai berikut :
Arad 366
Bucharest 0
Craiova 160
Dobreta 242
Eforie 161
Fagaras 178
Giurgiu 77
Hirsova 151
Iasi 226
Lugoj 244
Mehadia 241
Neamt 234
Oradea 380
Pitesti 98
Rimnicu Vilcea 193
Sibiu 253
Timisoara 329
Urziceni 80
Vaslui 199
Zerind 374

Permasalahannya adalah untuk mencari jalan terdekat dari kota Arad menuju kota Bucharest dengan menggunakan metoda Best First Search dan A*.

Best First Search

Heuristik yang digunakan adalah jarak kota-kota terhadap kota Bucharest jika ditarik garis lurus yang jaraknya seperti yang tertera di atas dengan asumsi kota terhubung yang letaknya paling dekat dengan kota Bucharest adalah jalan yang paling optimal.

Diagram pohon langkah-langkah penelusuran dengan metode Best First Search adalah sebagai berikut :

Langkah 1

Langkah 2

Langkah 3

Langkah 4

Dari Langkah-langkah di atas, dengan metode Best First Search didapatkan kota-kota yang harus dilalui untuk mendapatkan jalan yang paling dekat jaraknya dari Arad ke Bucharest adalah : Arad – Sibiu – Fagaras – Bucharest. Dari peta di atas, panjang jalan yang dilalui adalah 140+99+211 = 450 km.

A* Algorthm
A* Algorithm menggunakan dua fungsi cost sebagai acuan penelusuran yaitu jarak yang telah dilalui dari kota asal Arad ke kota tersebut ditambah dengan heuristik jarak kota-kota terhadap kota Bucharest jika ditarik garis lurus seperti yang digunakan pada Best First Search, jadi fungsi cost f(n) = g(n) + h(n).

Diagram pohon langkah-langkah penelusuran dengan metode A* adalah sebagai berikut :
Langkah 1
Langkah 2
Langkah 3
Langkah 4
Langkah 5

Dari Langkah-langkah di atas, dengan metode A* didapatkan kota-kota yang harus dilalui untuk mendapatkan rute jalan yang paling dekat jaraknya dari Arad ke Bucharest adalah : Arad – Sibiu – Rimnicu – Pitesti – Bucharest. Dari peta di atas, panjang jalan yang dilalui adalah 140+80+97+101 = 418 km.

Jika dibandingkan dengan hasil metode Best First Search, penelusuran dengan metode A* untuk mencapai goal lebih besar kedalamannya (BFS=4 langkah, A* = 5 langkah). Begitu juga Node yang dieksplore, metode A* lebih banyak daripada Best First Search (BFS=10 node, A*=14 node). Akan tetapi, rute yang dihasilkan dengan metode A* lebih baik dari Best First Search (BFS=450 km, A*= 418 km).

Jelas bahwa jika masalah yang dihadapi diprioritaskan kepada cost yang optimum, metode A* lebih baik digunakan, sedangkan jika kecepatan mencapai goal lebih diprioritaskan maka metode Best First Search lebih baik digunakan.

Webometrics

Jika ingin mengetahui rangking web universitas (baca: perguruan tinggi) di seluruh dunia, webometric adalah tempatnya.

Awalnya merupakan sebuah lembaga survey untuk merangking universitas-universitas di seluruh dunia, kemudian terus berkembang seiring melajunya teknologi telekomunikasi dan informasi sehingga sekarang perangkingan tidak lagi dilakukan secara manual, tapi secara otomatis dilakukan oleh sistem.

Karena dilakukan oleh sistem, akibatnya perangkingan hanya bersifat kuantitatif, tidak bersifat kualitatif. Meskipun demikian metode yg digunakan oleh webometric telah diakui oleh dunia sehingga sampai sekarang menjadi standar perangkingan web universitas.

Mengapa saat ini perguruan tinggi berlomba-lomba menampilkan dirinya di situs jaringan sosial seperti facebook, twitter dll ? Salah satu tujuannya adalah untuk menambah visibility web nya. Di situs jaringan sosial kesempatan menambah visibility lebih terbuka yang selanjutnya akan menambah point dalam meningkatkan rangking di webometric.

Webometric sendiri sebenarnya tidak melihat langsung ke web PT, hanya berinteraksi dengan beberapa search engine (SE) yaitu 7 (Google, Yahoo Search, Live (MSN) Search, Exalead, Ask (Teoma), Gigablast dan Alexa) ditambah2 specialised scientific databases (Google Scholar dan Live Academic).

Hasil akhir perangkingan memadukan 4 kategori yaitu visibility (50%), size (20%), rich file (15%) dan scholar (15%). Bisa dilihat bobot terbesar adalah visibility yaitu 50%, maksud visibility disini adalah seberapa banyak link web PT yang dinilai berada di web-web lain tidak peduli apakah itu web pendidikan, pemerintah, bisnis, jaringan sosial atau web "xxx" sekalipun.

Hasil perangkingan Januari 2009 menunjukkan ada 33 PT Indonesia masuk ke 6000 (enam ribu) rangking dunia. UGM bertengger di puncak diikuti oleh ITB dan UI. Lengkapnya seperti tabel berikut:

WORLD RANK UNIVERSITY SIZE VISIBILITY RICH FILES SCHOLAR