Popular Post

Popular Posts

Recent post

Archive for November 2017

Artificial Intelligence dalam Game

Salah satu unsur yang berperan penting dalam sebuah game adalah kecerdasan buatan. Dengan kecerdasan buatan, elemen-elemen dalam game dapat berperilaku sealami mungkin layaknya manusia.
Game AI adalah aplikasi untuk memodelkan karakter yang terlibat dalam permainan baik sebagai lawan, ataupun karakter pendukung yang merupakan bagian dari permainan tetapi tidak ikut bermain (NPC = Non Playable Character). Peranan kecerdasan buatan dalam hal interaksi pemain dengan permainan adalah pada penggunaan interaksi yang bersifat alami yaitu yang biasa digunakan menusia untuk berinteraksi dengan sesama manusia.

Contoh media interaksi
Penglihatan (vision)
Suara (voice), ucapan (speech)
Gerakan anggota badan ( gesture)

Untuk pembentukan Artificial Intelligence pada game ternyata digunakan pula algoritma, yaitu jenis pohon n-ary untuk suatu struktur. Implementasi pohon (tree) ini biasa disebut game tree. Berdasarkan game tree inilah sebuah game disusun algoritma kecerdasan buatannya. Artificial intellegence yang disematkan dalam sebuah game yang membentuk analisis game tree biasanya merepresentasikan kondisi atau posisi permainan dari game sebagai suatu node, dan merepresentasikan langkah yang mungkin dilakukan sebagai sisi berarah yang menghubungkan node kondisi tersebut ke anak (child) sebagaimana representasi suatu pohon (tree).
Namun, biasanya representasi langsung tersebut mempunyai kelemahan, yaitu representasi data pohon akan menjadi sangat lebar dan banyak. Mungkin bagi sebuah mesin komputer mampu melakukan kalkulasi sebanyak apapun masalah, namun game tree yang lebar dan besar memberikan beberapa masalah, antara lain konsumsi proses memori, kapasitas penyimpanan yang cukup besar dan kinerja yang kurang pada konsol game berspesifikasi rendah. Karena itu dibentuklah beberapa algoritma dan penyederhanaan bagi sebuah game tree.
Pada salah satu contoh game klasik, yaitu tic tac toe, penyederhanaan dapat dilakukan dengan berbagai metode. Salah satu diantaranya adalah minimax. Metode ini berhasil diterapkan dan memberikan nilai reduksi yang cukup signifikan. Dan tidak hanya bisa digunakan secara monoton, minimax juga bisa digunakan untuk game-game yang lebih rumit seperti catur, tentunya dengan algoritma dan representasi berbeda.
Minimax yang merupakan salah satu metode penerapan (implementasi) pohon n-ary pada suatu game, menandakan bahwa implementasi struktur (pohon khusunya) sangatlah diperlukan pada pembuatan dan penerapan Artificial Intelligence, dan tidak menutup kemungkinan ilmu dan metode baru yang lebih canggih akan ditemukan di masa depan.

Dalam game berbasis kecerdasan buatan, ada banyak teknik yang diadaptasi dari bidang kecerdasan buatan untuk diterapkan pada game. beberapa diantaranya, yaitu:

1. Mengejar dan Menghindar
Mengejar dan menghindar merupakan teknik dasar yang diterapkan pada banyak game berbasis kecerdasan buatan dari yang sederhana sampai yang kompleks. apakah itu space shooters, RPG, atau game strategi. metode paling umum pada teknik mengejar dan menghindar ini adalah melakukan pemutakhiran (update) koordinat terhadap objek yang menjadi sasaran. Posisi relatif dan kecepatan dapat dijadikan sebagai parameter pada algoritma mengejar dan menghindar. Metode Line-of-sight yang membutuhkan dasar rumus persamaan garis juga serngkali dijadikan basis metode mengejear dan menghindar.

2. Pola Pergerakan
Pola pergerakan merupakan cara yang sederhana untuk memberikan ilusi kecerdasan pada sebuah game. Game Galaga adalah contoh klasik penerapan pola pergerakan ini, dimana pesawat musuh dapat bergerak secara melingkat atau mengikuti pola garis lurus yang ditentukan. Contoh lain penerapan pola pergerakan adalah pada game first-person shooter yang menampilkan monster yang sedang berpatroli pada jalur tertentu, pada game simulasi pertempuran pesawat dimana pesawat musuh dapat melakukan manuver-manuver di udara yang menyulitkan kita mengejar, atau karakter-karakter non-player (figuran) seperti kambing yang sedang berjalan membutuhkan teknik pola pergerakan ini. Metode standar untuk menerapkan pola pergerakan adalah dengan cara menyimpan pola tersebut dalam suatu array. Array tersebut terdiri dari serangkaian koordinat atau perintah pergerakan dengan pola tertentu untuk mengontrol koordinat dari objek. Dengan metode ini, bisa didapatkan pola-pola pergerakan seperti melingkar, garis lurus, zig-zag atau bahkan kurva tak beraturan.

3. Pathfinding
Metode pathfinding paling mudahditemui pada game-game bertipe strategi dimana kita menunjuk satu tokoh untuk digerakkan ke lokasi tertentu dengan mengklik lokasi yang hendak dituju. Si tokoh akan segera bergerak ke arah yang ditentukan, dan secara “cerdas” dapat menemukan jalur terpendek ataupun menghindari dari rintangan-rintangan yang ada. Salah satu algoritma pathfindin yang cukup umum dan yang paling banyak digunakan utnuk mencari jarak terpendek secara efisien adalah algoritma A* (baca: A star). Secara umum, algoritma A* adalah mendefinisikan area pencarian menjadi sekumpulan node-node (tiles). Titik awal dan titik akhir ditentukan terlebih dulu untuk mulai penelusuran pada tiap-tiap node yang memungkinkan untuk ditelusuri. Dari sini, akan diperoleh skor yang menunjukkan besarnya biaya untuk menempuh jalur yang ditemukan, ditambah dengan nilai heuristik yang merupakan nilai biaya estimasi dari node yang ada menuju tujuan akhir. Iterasi akan dilakukan hingga akhirnya mencapai target yang dituju.

4. Jaringan saraf tiruan (neural network)
Neural network cukup baik ketika diterapkan pada kasus-kasus yang sifatnya non-linier atau mengambil keputusan yang tidak dapat dilakukan dengan metode tradisional. Penerapannya seringkali pada game-game yang memerlukan kemampuan adaptif atau belajar dari pengalaman. Sebagai contoh, jika suatau ketika terjadi pertempuran antar player dengan unit komputer, dan unit komputer mengalami kekalahan, maka pada kesempatan lain yang serupa, komputer akan memilih untuk tidak bertempur. Semakin banyak pengalaman yang dialami komputer, maka komputer menjadi semakin cerdas. Prinsip dasar dari jaringan saraf tiruan ini adalah perbaikan bobot secara terus menerus agar output yang dihasilkan menjadi semakin akurat (semakin cerdas). 5. Algoritma Genetis (genetic algorithm) Algoritma genetis sedikit banyak dipengaruhi oleh teori evolusi yang dicetuskan Darwin, yaitu bahwa spesies akan terus menerus beradaptasi dengan lingkungannya dan ciri khasnya yang terletak pada kromosom, akan diturunkan pada generasi berikutnya. Generasi turunan ini menerima gabungan kromosom dari kedua induknya, yang disebut dengan crossover. Pada algoritma genetis, akan diterapkan langkah ranking fitness untuk melakukan seleksi terhadap langkah ranking fitness untuk melakukan seleksi terhadap generasi turunan yang terbaik. Pada game berbasis algorima genetis, turunan terbaik inilah yang dilibatkan ke dalam game, dimana akan digunakan oleh komputer untuk merespons perubahan-perubahan tingkah laku user.   sebenarnya bukan hanya 5 teknik kecerdasan buatan di atas yang dapat digunakan dalam sebuah game berbasis kecerdasan buatan. Beberapa teknik lain yang umum digunakan antara lain: finite state machine, fuzzy logic, ruled-based AI, basic probability,  dan keputusan tak pasti (dengan menggunakan teknik Bayesian) Di masa-masa mendatang, dengan dukungan teknologi hardware yang semakin baik, teknik kecerdasan buatan pada game berbasis kecerdasan buatan akan semakin matang dengan ilusi kecerdasan yang semakin menyerupai manusia.   sumber : majalah pc mild 20/2009.

Teknik Pembangunan Game AI

Pengertian Kecerdasan Buatan

Kecerdasan buatan (Artificial Intelligence) adalah kecerdasan yang ditunjukkan oleh suatu entitas buatan. Sistem seperti ini umumnya dianggap komputer. Kecerdasan diciptakan dan dimasukkan ke dalam suatu mesin (komputer) agar dapat melakukan pekerjaan seperti yang dapat dilakukan manusia. Beberapa macam bidang yang menggunakan kecerdasan buatan antara lain sistem pakar, permainan komputer (games), logika fuzzy, jaringan syaraf tiruan dan robotika.
Penelitian dalam AI menyangkut pembuatan mesin untuk mengotomatisasikan tugas-tugas yang membutuhkan perilaku cerdas. Termasuk contohnya adalah pengendalian, perencanaan dan penjadwalan, kemampuan untuk menjawab diagnosa dan pertanyaan pelanggan, serta pengenalan tulisan tangan, suara dan wajah. Hal-hal seperti itu telah menjadi disiplin ilmu tersendiri, yang memusatkan perhatian pada penyediaan solusi masalah kehidupan yang nyata. Sistem AI sekarang ini sering digunakan dalam bidang ekonomi, obat-obatan, teknik dan militer, seperti yang telah dibangun dalam beberapa aplikasi perangkat lunak komputer rumah dan video game.
Definisi ini tampaknya kurang begitu membantu, karena beberapa ahli berpendapat :

•         H.A Simon (1987):
o   “kecerdasan buatan merupakan kawasan penelitian, aplikasi dan instruksi yang terkait dengan pemrograman computer untuk melakukan sesuatu hal yang dalam pandangan manusia adalah cerdas”.

•         Rich and Knight (1991):
o   “sebuah studi tentang bagaimana membuat komputer melakukan hal-hal yang pada saat ini dapat dilakukan dengan lebih baik oleh manusia”.

•         Encyclopedia Britannica:
o   “merupakan cabang dari ilmu computer yang dalam merepresentasi pengetahuan lebih banyak menggunakan bentuk symbol-simbol dari bilangan, dan memproses informasi berdasarkan metode heuristic atau berdasarkan sejumlah aturan”

Tujuan dari kecerdasan buatan menurut Winston dan Prendergast (1984):
1.      Membuat mesin menjadi lebih pintar (tujuan utama)
2.      Memahami apa itu kecerdasan (tujuan ilmiah)
3.      Membuat mesin menjadi lebih bermanfaat (tujuan entrepreneurial)
Didefinisikan sebagai kecerdasan yang ditunjukan oleh suatu entitas buatan. Sistem seperti ini umumnya dianggap computer. Kecerdasan diciptakan dan dimasukkan dalam suatu mesin atau computer agar dapat melakukan pekerjaan seperti yang dapat dilakukan manusia. Beberapa bidang yang menggunakan kecerdasan buatan anatara lain system pakar, permaianan computer, fuzzy logic, jaringan syaraf tiruan dan robotika.

Pengertian Game

Game adalah permainan komputer yang dibuat dengan teknik dan metode animasi. Permainan game merupakan bidang AI yang sangat populer berupa permainan antara manusia melawan mesin yang mempunyai intelektual untuk berpikir. Komputer dapat bereaksi dan menjawab tindakan-tindakan yang diberikan oleh lawan mainnya.
Salah satu komputer yang ditanamkan AI untuk game bernama Deep Blue. Deep Blue adalah sebuah komputer catur buatan IBM pertama yang memenangkan sebuah permainan catur melawan seorang juara dunia (Garry Kasparov) dalam waktu standar sebuah turnamen catur. Kemenangan pertamanya (dalam pertandingan atau babak pertama) terjadi pada 10 Februari 1996, dan merupakan permainan yang sangat terkenal.

Kini telah banyak berkembang game AI yang semakin menarik, interaktif, dan dengan grafis yang sangat bagus. Ditambah dengan kemajuan teknologi jaringan komputer yang semakin cepat, sudah banyak terdapat game-game AI yang berbasiskan online. Tidak sedikit orang yang tertarik dengan game saat ini. Mereka memainkan game untuk mengisi kekosongan waktu mereka atau pun melatih skill mereka dalam berpikir.

Sejarah Artificial Intelligence dalam Game

Mulai sekitar abad 18 sebagaimana mesin telah menjadi lebih kompleks, usaha yang keras telah dicoba untuk menciptakan manusia imitasi. Pada tahun 1736 seorang penemu dari perancis, Jacques de Vaucanson (1709-1782) membuat suatu mesin pemain seruling berukuran seperti seorang manusia yang dapat memainkan 12 melodi nada. Tidak hanya ini saja, mekanik tersebut dapat memindahkan bibir dan lidahnya secara nyata untuk mengontrol arus dari angin ke dalam seruling.
Pada tahun 1774 seorang penemu dari perancis, Pierre Jacques Drotz mencengangkan masyarakat Eropa dengan suatu automation berukuran sekitar seorang anak laki-laki yang dapat duduk dan menulis suatu buku catatan. Penemuan ini kemudian dilanjutkan dengan yang lainnya, yaitu automation yang berupa seorang gadis manis yang dapat memainkan harpsichord. Semuanya itu masih merupakan proses mekanik yang melakukan gerak dengan telah ditentukan terlebih dahulu.
Manusia masih berusaha untuk menciptakan mesin yang lainnya. Pada tahun 1769, dataran Eropa dikejutkan dengan suatu permainan catur yang dapat menjawab langkah-langkah permainan catur yang belum ditentukan terlebih dahulu. Mesin ini disebut dengan Maelzel Chess Automation dan dibuat oleh Wolfgang Von Kempelan (1734-1804) dari Hungaria. Akan tetapi mesin ini akhirnya terbakar pada tahun 1854 di Philadelphia Amerika Serikat.banyak orang tidak percaya akan kemampuan mesin tersebut. Dan seorang penulis dari Amerika Serikat, Edgar Allan Poe (1809-1849) menulis sanggahan terhadap mesin tersebut, dia dan kawan-kawannya ternyata benar, bahwa mesin tersebut adalah tipuan, dan kenyataannya bukanlah aoutomation, tetapi merupakan konstruksi yang sangat baik yang dikontrol oleh seorang pemain catur handal yang bersembunyi di dalamnya.
Usaha untuk membuat konstruksi mesin permainan terus dilanjutkan pada tahun 1914, dan mesin yang pertama kali didemonstrasikan adalah mesin permainan catur. Penemu mesin ini adalah Leonardo Torres Y Quevedo, direktur dari Laboratorio de Automatica di Madrid, Spanyol. Beberapa tahun kemudian, ide permainan catur dikembangkan dan diterapkan di komputer oleh Arthur L. Samuel dari IBM dan dikembangkan lebih lanjut oleh Claude Shannon.
Pada abad ke 20, Automation sudah banyak dikembangkan dan diterapkan terutama pada Angkatan bersenjata Amerika Serikat, berupa program-program simulasi peperangan. Sekarang ini, perkembangan AI sudah mencapai pada tahap yang dapat dikatakan fantastis, terutama di bidang-bidang berikut:
-          Game Playing
-          General Problem Solving
-          Natural Language Recognition
-          Speech Recognition
-          Visual Recognition
-          Robotics dan system pakar

Artificial Intelligence dalam Game

Salah satu unsur yang berperan penting dalam sebuah game adalah kecerdasan buatan. Dengan kecerdasan buatan, elemen-elemen dalam game dapat berperilaku sealami mungkin layaknya manusia.
Game AI adalah aplikasi untuk memodelkan karakter yang terlibat dalam permainan baik sebagai lawan, ataupun karakter pendukung yang merupakan bagian dari permainan tetapi tidak ikut bermain (NPC = Non Playable Character). Peranan kecerdasan buatan dalam hal interaksi pemain dengan permainan adalah pada penggunaan interaksi yang bersifat alami yaitu yang biasa digunakan menusia untuk berinteraksi dengan sesama manusia.

Contoh media interaksi
Penglihatan (vision)
Suara (voice), ucapan (speech)
Gerakan anggota badan ( gesture)

Untuk pembentukan Artificial Intelligence pada game ternyata digunakan pula algoritma, yaitu jenis pohon n-ary untuk suatu struktur. Implementasi pohon (tree) ini biasa disebut game tree. Berdasarkan game tree inilah sebuah game disusun algoritma kecerdasan buatannya. Artificial intellegence yang disematkan dalam sebuah game yang membentuk analisis game tree biasanya merepresentasikan kondisi atau posisi permainan dari game sebagai suatu node, dan merepresentasikan langkah yang mungkin dilakukan sebagai sisi berarah yang menghubungkan node kondisi tersebut ke anak (child) sebagaimana representasi suatu pohon (tree).
Namun, biasanya representasi langsung tersebut mempunyai kelemahan, yaitu representasi data pohon akan menjadi sangat lebar dan banyak. Mungkin bagi sebuah mesin komputer mampu melakukan kalkulasi sebanyak apapun masalah, namun game tree yang lebar dan besar memberikan beberapa masalah, antara lain konsumsi proses memori, kapasitas penyimpanan yang cukup besar dan kinerja yang kurang pada konsol game berspesifikasi rendah. Karena itu dibentuklah beberapa algoritma dan penyederhanaan bagi sebuah game tree.
Pada salah satu contoh game klasik, yaitu tic tac toe, penyederhanaan dapat dilakukan dengan berbagai metode. Salah satu diantaranya adalah minimax. Metode ini berhasil diterapkan dan memberikan nilai reduksi yang cukup signifikan. Dan tidak hanya bisa digunakan secara monoton, minimax juga bisa digunakan untuk game-game yang lebih rumit seperti catur, tentunya dengan algoritma dan representasi berbeda.
Minimax yang merupakan salah satu metode penerapan (implementasi) pohon n-ary pada suatu game, menandakan bahwa implementasi struktur (pohon khusunya) sangatlah diperlukan pada pembuatan dan penerapan Artificial Intelligence, dan tidak menutup kemungkinan ilmu dan metode baru yang lebih canggih akan ditemukan di masa depan.

Dalam game berbasis kecerdasan buatan, ada banyak teknik yang diadaptasi dari bidang kecerdasan buatan untuk diterapkan pada game. beberapa diantaranya, yaitu:

1. Mengejar dan Menghindar
Mengejar dan menghindar merupakan teknik dasar yang diterapkan pada banyak game berbasis kecerdasan buatan dari yang sederhana sampai yang kompleks. apakah itu space shooters, RPG, atau game strategi. metode paling umum pada teknik mengejar dan menghindar ini adalah melakukan pemutakhiran (update) koordinat terhadap objek yang menjadi sasaran. Posisi relatif dan kecepatan dapat dijadikan sebagai parameter pada algoritma mengejar dan menghindar. Metode Line-of-sight yang membutuhkan dasar rumus persamaan garis juga serngkali dijadikan basis metode mengejear dan menghindar.

2. Pola Pergerakan
Pola pergerakan merupakan cara yang sederhana untuk memberikan ilusi kecerdasan pada sebuah game. Game Galaga adalah contoh klasik penerapan pola pergerakan ini, dimana pesawat musuh dapat bergerak secara melingkat atau mengikuti pola garis lurus yang ditentukan. Contoh lain penerapan pola pergerakan adalah pada game first-person shooter yang menampilkan monster yang sedang berpatroli pada jalur tertentu, pada game simulasi pertempuran pesawat dimana pesawat musuh dapat melakukan manuver-manuver di udara yang menyulitkan kita mengejar, atau karakter-karakter non-player (figuran) seperti kambing yang sedang berjalan membutuhkan teknik pola pergerakan ini. Metode standar untuk menerapkan pola pergerakan adalah dengan cara menyimpan pola tersebut dalam suatu array. Array tersebut terdiri dari serangkaian koordinat atau perintah pergerakan dengan pola tertentu untuk mengontrol koordinat dari objek. Dengan metode ini, bisa didapatkan pola-pola pergerakan seperti melingkar, garis lurus, zig-zag atau bahkan kurva tak beraturan.

3. Pathfinding
Metode pathfinding paling mudahditemui pada game-game bertipe strategi dimana kita menunjuk satu tokoh untuk digerakkan ke lokasi tertentu dengan mengklik lokasi yang hendak dituju. Si tokoh akan segera bergerak ke arah yang ditentukan, dan secara “cerdas” dapat menemukan jalur terpendek ataupun menghindari dari rintangan-rintangan yang ada. Salah satu algoritma pathfindin yang cukup umum dan yang paling banyak digunakan utnuk mencari jarak terpendek secara efisien adalah algoritma A* (baca: A star). Secara umum, algoritma A* adalah mendefinisikan area pencarian menjadi sekumpulan node-node (tiles). Titik awal dan titik akhir ditentukan terlebih dulu untuk mulai penelusuran pada tiap-tiap node yang memungkinkan untuk ditelusuri. Dari sini, akan diperoleh skor yang menunjukkan besarnya biaya untuk menempuh jalur yang ditemukan, ditambah dengan nilai heuristik yang merupakan nilai biaya estimasi dari node yang ada menuju tujuan akhir. Iterasi akan dilakukan hingga akhirnya mencapai target yang dituju.

4. Jaringan saraf tiruan (neural network)
Neural network cukup baik ketika diterapkan pada kasus-kasus yang sifatnya non-linier atau mengambil keputusan yang tidak dapat dilakukan dengan metode tradisional. Penerapannya seringkali pada game-game yang memerlukan kemampuan adaptif atau belajar dari pengalaman. Sebagai contoh, jika suatau ketika terjadi pertempuran antar player dengan unit komputer, dan unit komputer mengalami kekalahan, maka pada kesempatan lain yang serupa, komputer akan memilih untuk tidak bertempur. Semakin banyak pengalaman yang dialami komputer, maka komputer menjadi semakin cerdas. Prinsip dasar dari jaringan saraf tiruan ini adalah perbaikan bobot secara terus menerus agar output yang dihasilkan menjadi semakin akurat (semakin cerdas). 5. Algoritma Genetis (genetic algorithm) Algoritma genetis sedikit banyak dipengaruhi oleh teori evolusi yang dicetuskan Darwin, yaitu bahwa spesies akan terus menerus beradaptasi dengan lingkungannya dan ciri khasnya yang terletak pada kromosom, akan diturunkan pada generasi berikutnya. Generasi turunan ini menerima gabungan kromosom dari kedua induknya, yang disebut dengan crossover. Pada algoritma genetis, akan diterapkan langkah ranking fitness untuk melakukan seleksi terhadap langkah ranking fitness untuk melakukan seleksi terhadap generasi turunan yang terbaik. Pada game berbasis algorima genetis, turunan terbaik inilah yang dilibatkan ke dalam game, dimana akan digunakan oleh komputer untuk merespons perubahan-perubahan tingkah laku user.   sebenarnya bukan hanya 5 teknik kecerdasan buatan di atas yang dapat digunakan dalam sebuah game berbasis kecerdasan buatan. Beberapa teknik lain yang umum digunakan antara lain: finite state machine, fuzzy logic, ruled-based AI, basic probability,  dan keputusan tak pasti (dengan menggunakan teknik Bayesian) Di masa-masa mendatang, dengan dukungan teknologi hardware yang semakin baik, teknik kecerdasan buatan pada game berbasis kecerdasan buatan akan semakin matang dengan ilusi kecerdasan yang semakin menyerupai manusia.   sumber : majalah pc mild 20/2009.

Contoh Game yang menerapkan AI

1. Game PacMan
Pemanfaatan AI dalam game ini digunakan untuk mencari jalur terpendek untuk menentukan targetnya. Pada game ini dapat kita lihat bahwa hantu-hantu (komputer) yang menjadi musuh Pacman dapat mempertimbangkan dan memilih jalan yang tercepat untuk menangkap dan mengepung sang Pacman (pemain). Bahkan ketika sang Pacman memakan bola yang bisa membuat si hantu menjadi lemah maka sang hantu akan langsung segera menghindari sang Pacman secepatnya. Tindakan seperti itu memang terlihat mudah namun pada kenyataannya pembuatan hal tersebut cukup sulit dilakukan. Pembuatan hal tersebut membutuhkan algoritma yang mungkin sedikit rumit terutama bagi orang awam.

 2.  Game Tic Tac Toe 
Merupakan game yang bertujuan untuk melatih otak dan untuk hiburan semata. Game TicTacToe lebih dikenal di Indonesia sebagai Game Catur Jawa karena prinsip permainan game Tic Tac Toe sama dengan Game Catur Jawa. Cara memainkan game tersebut dengan memberikan Nilai X atau O pada tiap pemain. Pada game TicTacToe terdiri dari 9 kolom yang berfungsi untuk meletakan nilai tersebut. Yang mana untuk memenangkan game tersebut pemain harus dapat membentuk nilai X atau O berbentuk vertikal, horizontal atau diagonal pada kolom tersebut. Letak AI dalam game ini adalah kesulitan yang diberikan kepada pemain pertama, yaitu kita, dalam arti user untuk memenangkan game ini oleh komputer yang berperan sebagai pemain kedua, dimana pemain kedua ini diciptakan sebagai AI.


Jadi keberadaan AI dalam teknologi game sangat lah membantu. Yang pertama AI dapat menjadi lawan bermain yang cukup tangguh. Lalu yang kedua AI dapat melatih otak kita untuk berpikir keras lagi dalam menyelesaikan game yang kita mainkan. Dengan adanya AI kita juga tidak perlu repot untuk mencari lawan bermain jika memang kita sedang tidak ada lawan bermain. Sebagai contoh kita dapat bermain Counter Strike dimana yang menjadi musuh kita merupakan Bot (komputer) yang memiliki kecerdasan yang cukup tinggi. Dia dapat menemukan pemain lalu menyerangnya. Selain itu game-game lain seperti The Sims, dimana pemain (user) dapat berinteraksi dengan objek lain yang disediakan dalam permainan tersebut.
Bermula dari pembicaraan dengan teman-teman saya beberapa waktu yang lalu, motivasi dari post ini adalah untuk memberikan penjelasan mengenai apa itu Machine Learning.
Machine Learning — dialihbahasakan bebas menjadi pembelajaran mesin, atau disingkat menjadi ML — adalah ilmu cabang dari kecerdasan buatan yang mempelajari bagaimana caranya belajar dari data. Istilah Machine Learning sendiri cukup membingungkan atau misleading karena hampir tidak berhubungan dengan mesin apapun (kecuali diimplementasikan di robot). Mesin disini merujuk kepada algoritma atau program yang berjalan di komputer. Istilah lain yang biasa dipakai adalah Data Mining, Pattern Recognition, atau Knowledge Discovery.
Contoh aplikasinya bermacam-macam, sebagai contoh:
1. Bidang kedokteran: bagaimana mendeteksi penyakit seseorang dari gejala-gejala yang ada, atau deteksi apakah seseorang mengidap penyakit jantung dari rekaman elektrokardiogram, dan mencari tahu gen yang terlibat pada penyakit kanker.
2. Bidang computer vision: menemukan dan memberi label muka orang pada foto (seperti di facebook) atau face recognition, pengenalan tulisan tangan menjadi teks pada komputer atau handwriting recognition.
3. Bidang teks atau information retrieval: menerjemahkan bahasa menggunakan mesin atau machine translation, mengubah suara menjadi teks atau speech recognition, atau memisahkan email antara yang spam dan yang non-spam.
Untuk bisa lebih mengenal mengenai maka kita harus tahu terlebih dahulu bahasa atau istilah-istilah yang sering dipakai dalam bidang tersebut.
Untuk bisa mengaplikasikan teknik-teknik machine learning maka hal yang pertama harus ada adalah data. Tanpa data maka algoritma machine learning tidak dapat bekerja. Data yang dimiliki biasanya dibagi menjadi 2, yaitu data training dan data testing. Data training digunakan untuk melatih algoritma, sedangkan data testing dipakai untuk mengetahui performa algoritma yang sudah dilatih sebelumnya ketika menemukan data baru yang belum pernah dilihat sebelumnya. Ini biasanya disebut dengan generalisasi. Hasil dari pelatihan tersebut bisa disebut dengan model.
Dari model tersebut kita bisa melakukan prediksi yang biasanya dibedakan menjadi dua tergantung tipe keluarannya. Jika hasil prediksinya bersifat diskrit, maka proses itu disebut klasifikasi. Contohnya klasifikasi. Jika keluarannya bersifat kontinyu, maka itu disebut dengan regresi. Contohnya prediksi cuaca besok berdasarkan data cuaca 3 bulan terakhir. Performa dari sebuah algoritma machine learning itu sendiri bisa dihitung dari akurasi  atau seberapa banyak prediksi yang dibuat yang sesuai dengan kenyataan.

Skema machine learning secara garis besar
Skema machine learning secara garis besar

Lebih lanjut lagi, algoritma pembelajaran machine learning bisa dibagi menjadi 2, supervised learning dan unsupervised learning. Pada supervised learning, data yang dimiliki dilengkapi dengan label/kelas yang menunjukkan kepada kelompok mana data tersebut seharusnya berada. Misalkan untuk kasus deteksi spam, maka kita harus tahu apakah email ini termasuk spam atau tidak. Pada kasus unsupervised learning, data yang kita miliki tidak memiliki label sehingga yang ingin kita ketahui adalah terdiri dari berapa kelompok kira-kira data yang kita punya berdasarkan kemiripannya. Algoritma yang dipakai disini biasanya adalah algoritma clustering.
Pada post berikutnya saya akan membahas algoritma-algoritma populer yang sering dipakai dalam Machine Learning.

[ML] Apa itu Machine Learning

Ketidakpastian
Jika sistem kecerdasan buatan yang dikembangkan memiliki pengetahuan yang
lengkap tentang permasalahan yang akan ditanganinya, maka sistem tersebut dapat dengan
mudah memberikan solusi dengan menggunakan pendekatan logika. Akan tetapi, sistem
hampir tidak pernah dapat mengakses seluruh fakta yang ada dalam lingkungan permasalahan
yang akan ditanganinya, sehingga sistem harus bekerja dalam ketidakpastian dan kesamaran.
Untuk itu, sistem harus menggunakan teknik-teknik khusus yang dapat menangani
ketidakpastian dan kesamaran dalam menyelesaikan permasalahan yang ditanganinya.
Untuk mengawali pembahasan ini, diberikan sebuah kasus mengenai diagnosa media.
Potongan pengetahuan berikut yang direpresentasikan dalam aturan produksi menggambarkan
gejala-gejala dari suatu penyakit [1].
Rule 1:
IF Has_fever (Patient) AND
Has_rash (Patient) AND
Has_high_body_ache(Patient)
THEN Bears-Typhoid (Patient)
Berdasarkan aturan diatas, terlihat bahwa jika seorang pasien mengalami ketiga gejala
yang disebutkan dalam aturan, maka sistem akan mendiagnosa pasien tersebut menderita tifus
(typhoid). Aturan ini akan diterapkan pada seluruh pasien yang mengalami ketiga gejala
tersebut. Jika sistem ini diterapkan dalam kasus nyata, apakah gejala-gejala yang disebutkan
telah mewakili seluruh gejala dari penyakit tifus? Bagaimana jika ada penyakit lain yang
memiliki gejala yang sama dengan ketiga gejala tersebut? Bagaimana jika derajat gejala yang
dialami seorang pasien dengan pasien yang lainnya berbeda? Pertanyaan-pertanyaan ini tidak
dapat ditangani oleh aturan tersebut karena jawaban dari pasien sebagai pengguna tidak hanya
“ya” atau “tidak”, sehingga muncul ketidakpastian dan kesamaran pengetahuan dalam
permasalahan ini.
Ada tiga teknik yang dapat digunakan untuk menangani ketidakpastian dan kesamaran
pengetahuan, yaitu:
a. Teknik Probabilitas, yang dikembangkan dengan memanfaatkan teorema Bayes yang
menyajikan hubungan sebab akibat yang terjadi diantara evidence-evidence yang ada.
Pendekatan alternatif lainnya yang dapat digunakan adalah teori Dempster-Shafer.
LONTAR KOMPUTER VOL. 2 NO.1 JUNI 2011 ISSN: 2088-1541
www.it.unud.ac.id
Metode Ketidakpastian dan Kesamaran... (Putu Manik Prihatini) 31
b. Faktor Kepastian, merupakan teknik penalaran tertua, yang digunakan pada sistem
MYCIN. Teknik ini bersifat semi probabilitas, karena tidak sepenuhnya menggunakan
notasi probabilitas.
c. Logika Fuzzy, merupakan teknik baru yang diperkenalkan oleh Zadeh. Setiap variabel
dalam teknik ini memiliki rentang nilai tertentu, yang akan digunakan untuk menghitung
nilai fungsi keanggotaannya.
2.2. Teknik Probabilitas
2.2.1. Teorema Bayes
Thomas Bayes menemukan pendekatan penalaran statistik yang jauh lebih maju
dibandingkan dengan pola pikir matematis tradisional pada saat itu. Fokus matematika pada
saat itu adalah pada tingkah laku sampel dari populasi yang diketahui. Akan tetapi, Bayes
mengemukakan ide untuk menentukan properti dari populasi berdasarkan sampel tersebut.
Dalam “An Essay Towards the Solving a Problem in the Doctrines of Chance”, dia menyajikan
tentang “Proposition 9”, yang akhirnya dikenal dengan “Teorema Bayes”. Selanjutnya, teorema
ini menjadi dasar dalam pengambilan keputusan modern.
Teorema Bayes diperoleh dari aturan produksi konjungsi dengan notasi sebagai berikut
[5]:
Atau dapat juga ditulis sebagai berikut:
2.2.2. Teori Dempster-Shaffer
Secara umum teori Dempster-Shafer dapat ditulis dalam suatu interval [5]:
[Belief, Plausability]
Belief (Bel) adalah ukuran kekuatan evidence dalam mendukung suatu himpunan proposisi.
Jika bernilai 0 maka mengindikasikan bahwa tidak ada evidence, dan jika bernilai 1 maka
menunjukkan adanya kepastian. Plausability (Pl) dinotasikan sebagai :
Pl(s) = 1 – Bel(¬s)
Plausability juga bernilai antara 0 dan 1. Jika kita yakin terhadap ¬s, maka dapat dikatakan
bahwa Bel(¬s) = 1 dan Pl(s) = 0. Pada teori ini dikenal juga adanya frame of discernment yang
dinotasikan dengan q, merupakan semesta pembicaraan dari sekumpulan hipotesis. Tidak
semua evidence secara langsung mendukung tiap-tiap elemen. Untuk itu diperlukan adanya
probabilitas fungsi densitas (m). Nilai m tidak hanya mendefinisikan elemen-elemen  saja,
namun juga semua subset-nya, sehingga jika q berisi n elemen, maka m mendefinisikan 2
n
elemen. Jumlah semua m dalam subset q sama dengan 1. Andaikan tidak ada informasi
apapun untuk memilih keempat hipotesis tersebut, maka m{q} = 1,0. Andaikan diketahui X
adalah subset dari q, dengan m1 sebagai fungsi densitasnya, dan Y juga merupakan subset
dari q dengan m2 sebagai fungsi densitasnya, maka dapat dibentuk fungsi kombinasi m1 dan
m2 sebagai m3, yaitu :
2.3. Faktor Kepastian
P(Y | X) =
P(X | Y) . P(Y)
P(X)
P(Y | X, e) =
P(X | Y, e) . P(Y |e)
P(X | e)
LONTAR KOMPUTER VOL. 2 NO.1 JUNI 2011 ISSN: 2088-1541
www.it.unud.ac.id
Metode Ketidakpastian dan Kesamaran... (Putu Manik Prihatini) 32
Faktor kepastian (Certainty Factor-CF) diperkenalkan oleh Shortliffe Buchanan dalam
pembuatan MYCIN. Faktor kepastian merupakan nilai parameter klinis yang diberikan MYCIN
untuk menunjukkan besarnya kepercayaan [3].
Ada dua macam faktor kepastian yang dapat digunakan, yaitu faktor kepastian yang
diisikan oleh pakar bersama aturan dan faktor kepastian yang diberikan oleh pengguna. Faktor
kepastian yang diisikan oleh pakar menggambarkan kepercayaan pakar terhadap hubungan
antara antecedent dan consequent pada aturan kaidah produksi. Faktor kepastian dari
pengguna menunjukkan besarnya kepercayaan terhadap keberadaan masing-masing elemen
dalam antecedent.
Faktor kepastian didefinisikan sebagai berikut [3].
CF(H,E) = MB(H,E) – MD(H,E)
dimana:
CF(H,E) faktor kepastian dari hipotesis H yang dipengaruhi oleh premis (evidence) E.
MB(H,E) ukuran kepercayaan terhadap hipotesis H yang dipengaruhi oleh premis (evidence)
E
MD(H,E) ukuran ketidakpercayaan terhadap hipotesis H yang dipengaruhi oleh premis
(evidence) E.
Pengguna akan memberikan faktor kepastian terhadap setiap premis yang ada dalam
aturan. Untuk menentukan faktor kepastian dari suatu aturan yang didalamnya terdapat
beberapa premis dengan faktor kepastiannya masing-masing, maka perlu dilakukan
perhitungan CF paralel.
CF paralel merupakan CF yang diperoleh dari beberapa premis pada sebuah aturan.
Besarnya CF paralel dipengaruhi oleh CF pengguna untuk masing-masing premis dan operator
dari premis. Rumus untuk masing-masing operator diberikan sebagai berikut[3].
CF(x and y) = Min(CF(x), CF(y))
CF(y or y) = Max(CF(x), CF(y))
CF(not x) = - CF(x)
Suatu aturan akan memiliki nilai faktor kepastian dari seorang pakar, sementara aturan
tersebut juga memiliki faktor kepastian yang diperoleh dari premis-premis yang ada didalamnya
(CF paralel), sehingga perlu dilakukan perhitungan nilai faktor kepastian untuk suatu aturan
berdasarkan CF paralel dan CF yang diberikan oleh pengguna, yang disebut dengan CF
sekuensial.
CF sekuensial diperoleh dari hasil perhitungan CF paralel dari semua premis dalam
satu aturan dengan CF aturan yang diberikan oleh pakar. Rumus untuk menghitung CF
sekuensial adalah sebagai berikut [3].
CF(x,y) = CF(x) * CF(y)
dimana:
CF(x,y) CF sekuensial
CF(x) CF paralel
CF(y) CF pakar
Suatu hipotesis pada kenyataannya bisa dihasilkan dari beberapa aturan yang berbeda,
dimana setiap aturan memiliki faktor kepastian masing-masing, sehingga perlu dilakukan
perhitungan CF gabungan dari seluruh aturan yang ada untuk suatu hipotesis.
CF gabungan merupakan CF akhir dari sebuah calon kesimpulan. CF ini dipengaruhi
oleh semua CF sekuensial dari aturan yang menghasilkan kesimpulan tersebut. Rumus untuk
melakukan perhitungan CF gabungan adalah sebagai berikut [3].
Jika CF(x) > 0 dan CF(y) > 0, maka:
CF(x,y) = CF(x) + CF(y) – (CF(x)*CF(y))
LONTAR KOMPUTER VOL. 2 NO.1 JUNI 2011 ISSN: 2088-1541
www.it.unud.ac.id
Metode Ketidakpastian dan Kesamaran... (Putu Manik Prihatini) 33
Jika salah satu, CF(x) atau CF(y) < 0, maka:
Jika CF(x) < 0 dan CF(y) < 0, maka:
CF(x,y) = CF(x) + (CF(y) * (1+ CF(x)))
2.4. Logika Fuzzy
Logika fuzzy pertama kali diperkenalkan oleh Prof. Lotfi A. Zadeh pada tahun 1965.
Dasar logika fuzzy adalah teori himpunan fuzzy. Pada teori himpunan fuzzy, peranan derajat
keanggotaan/nilai keanggotaan sebagai penentu keberadaan elemen dalam suatu himpunan
sangatlah penting [4].
Logika fuzzy digunakan sebagai suatu cara untuk memetakan permasalahan dari input
menuju ke output yang diharapkan. Pada himpunan fuzzy, nilai keanggotaan terletak pada
rentang 0 sampai 1. Himpunan fuzzy merupakan suatu grup yang mewakili suatu kondisi atau
keadaan tertentu dalam suatu variabel fuzzy. Variabel fuzzy merupakan variabel yang hendak
dibahas dalam suatu sistem fuzzy, misalnya umur, temperature, dan lain-lain.
Fungsi keanggotaan (membership function) adalah suatu kurva yang menunjukkan
pemetaan titik-titik input data ke dalam nilai keanggotaannya yang memiliki interval antara 0
sampai 1. Ada beberapa fungsi keanggotaan yang dapat digunakan dalam logika fuzzy, tetapi
fungsi yang paling sering digunakan dalam pembangunan system pakar adalah representasi
kurva trapesium.
Kurva trapezium memiliki bentuk dasar seperti kurva segitiga, tetapi memiliki beberapa
titik yang mempunyai nilai keanggotaan 1 seperti yang terlihat pada gambar 1.
Gambar 1 Representasi Kurva Trapesium
Fungsi keanggotaannya adalah:
µ(x) =
0; x a atau x d
(x–a)/(b–a); a x b
1; b x c
(d–x)/(d–c) x d
Suatu himpunan fuzzy dapat dikombinasikan dengan himpunan fuzzy lainnya dengan
menggunakan operator. Ada tiga operator dasar yang diciptakan oleh Zadeh, yaitu:
a. Operator AND
Hasil operasi dengan operator AND diperoleh dengan mengambil nilai keanggotaan
terkecil antar elemen pada himpunan-himpunan yang bersangkutan
µ
AB
= min(µ
A
(x), µ
B
(y))
CF(x,y) =
CF(x) + CF(y)
(1 – (Min(|CF(x)|,|CF(y)|)))
LONTAR KOMPUTER VOL. 2 NO.1 JUNI 2011 ISSN: 2088-1541
www.it.unud.ac.id
Metode Ketidakpastian dan Kesamaran... (Putu Manik Prihatini) 34
b. Operator OR
Hasil operasi dengan operator OR diperoleh dengan mengambil nilai keanggotaan
terbesar antar elemen pada himpunan-himpunan yang bersangkutan
µ
AB
= max(µ
A
(x), µ
B
(y))
c. Operator NOT
Hasil operasi dengan operator NOT diperoleh dengan mengurangkan nilai keanggotaan
elemen pada himpunan yang bersangkutan dengan 1
µ
A’
= 1 - µ
A
(x)
Tiap-tiap aturan pada basis pengetahuan fuzzy akan berhubungan dengan suatu relasi
fuzzy. Bentuk umum dari aturan yang digunakan dalam fungsi implikasi adalah:
IF x is A THEN y is B
dengan x dan y adalah skalar, sedangkan A dan B adalah himpunan fuzzy. Secara umum, ada
dua fungsi implikasi yang dapat digunakan, yaitu:
a. Min (minimum), akan memotong output himpunan fuzzy
b. Dot (product), akan menskala output himpunan fuzzy
Metode penalaran fuzzy ada tiga, yaitu metode Tsukamoto, metode Mamdani dan
metode Sugeno.
Pada metode Tsukamoto, setiap konsekuen pada aturan yang berbentuk IF-THEN
harus direpresentasikan dengan suatu himpunan fuzzy dengan fungsi keanggotaan monoton.
Sebagai hasilnya, output hasil inferensi dari tiap-tiap aturan diberikan secara tegas berdasarkan
α-predikat. Hasil akhirnya diperoleh dengan menggunakan rata-rata terbobot.
Metode Mamdani sering dikenal dengan metode Max-Min, diperkenalkan oleh Ebrahim
Mamdani pada tahun 1975. Untuk mendapatkan output diperlukan empat tahapan, yaitu
pembentukan himpunan fuzzy, aplikasi fungsi implikasi, komposisi dan defuzzifikasi.
Metode Sugeno memiliki penalaran yang hampir sama dengan penalaran Mamdani,
tetapi output yang dihasilkan tidak berupa himpunan fuzzy, melainkan berupa konstanta atau
persamaan linear. Metode ini diperkenalkan oleh Takagi-Sugeno Kang pada tahun 1985, terdiri
dari dua jenis, yaitu metode Fuzzy Sugeno Orde-Nol dan metode Fuzzy Sugeno Orde-Satu.
3. Kombinasi CF dan Logika Fuzzy
Dalam kasus nyata, seringkali permasalahan yang dihadapi tidak bisa diselesaikan
hanya dengan menggunakan satu metode saja, melainkan solusi bisa diperoleh dengan
menggabungkan beberapa metode, misalnya metode faktor kepastian (CF) dan logika fuzzy.
Ada beberapa model bentuk aturan IF-THEN yang mungkin bisa dijadikan
pertimbangan dalam permasalahan yang akan diselesaikan dengan metode kombinasi CF dan
logika fuzzy, yaitu:
a. Bentuk Aturan 1
Pada bentuk aturan yang pertama, seluruh premis dalam antecedent dan consequent
berupa himpunan fuzzy, tetapi consequent memiliki nilai berupa faktor kepastian.
IF (a is A) and (b is B) THEN c is C, CF
Pada bentuk ini, nilai kepastian dari aturan tersebut akan diperoleh dengan menggunakan
aturan perhitungan metode faktor kepastian. CF paralel diperoleh dengan mengambil nilai
minimum dari derajat keanggotaan a is A dan b is B sebagai berikut.
CF(x) = min(µ
A
[a], µ
B
[b])
Sedangkan, CF sekuensial dihitung sesuai dengan rumus pada metode faktor kepastian.
LONTAR KOMPUTER VOL. 2 NO.1 JUNI 2011 ISSN: 2088-1541
www.it.unud.ac.id
Metode Ketidakpastian dan Kesamaran... (Putu Manik Prihatini) 35
b. Bentuk Aturan 2
Pada bentuk aturan yang kedua, premis-premis dalam antecedent merupakan
gabungan antara himpunan fuzzy dan faktor kepastian, sedangkan consequent tidak berupa
himpunan fuzzy.
IF (a is A) and B THEN C, CF
Pada bentuk ini, nilai kepastian dari aturan tersebut akan diperoleh dengan menggunakan
aturan perhitungan metode CF. CF paralel diperoleh dengan mengambil nilai minimum dari
derajat keanggotaan a is A dan faktor kepastian dari premis B sebagai berikut.
CF(x) = min(µ
A
[a], CF(b))
Sedangkan, CF sekuensial dihitung sesuai dengan rumus pada metode faktor kepastian.
c. Bentuk Aturan 3
Pada bentuk aturan yang ketiga, premis-premis dalam antecedent dan consequent
bukan merupakan himpunan fuzzy, tetapi CF pada consequent berupa himpunan fuzzy.
IF A and B THEN C, CF(y) is CF
Pada bentuk ini, nilai kepastian dari aturan tersebut akan diperoleh dengan menggunakan
aturan perhitungan metode CF. CF paralel diperoleh dengan mengambil nilai minimum dari
faktor kepastian premis A dan premis B sebagai berikut.
CF(x) = min(CF(a), CF(b))
CF sekuensial dihitung sesuai dengan rumus pada metode faktor kepastian, dimana nilai CF(y)
diperoleh dengan menentukan derajat keanggotaan dari CF(y) dalam himpunan fuzzy CF.
d. Bentuk Aturan 4
Pada bentuk aturan yang keempat, premis-premis dalam antecedent dan consequent
merupakan himpunan fuzzy, dan CF pada consequent juga berupa himpunan fuzzy.
IF a is A and b is B THEN c is C, CF(y) is CF
Pada bentuk ini, nilai kepastian dari aturan tersebut akan diperoleh dengan menggunakan
aturan perhitungan metode CF. CF paralel diperoleh dengan mengambil nilai minimum dari
derajat keanggotaan a is A dan b is B sebagai berikut.
CF(x) = min(
A
[a], 
B
[b])
CF sekuensial dihitung sesuai dengan rumus pada metode faktor kepastian, dimana nilai CF(y)
diperoleh dengan menentukan derajat keanggotaan dari CF(y) dalam himpunan fuzzy CF.
4. Contoh Kasus
4.1. Teorema Bayes
Asumsikan bahwa ruang hipotesis dan ruang evidence untuk masalah diagnosa medis
seperti pada gambar 2 berikut[1].
Gambar 2. Ruang Hipotesis dan Ruang Evidence
LONTAR KOMPUTER VOL. 2 NO.1 JUNI 2011 ISSN: 2088-1541
www.it.unud.ac.id
Metode Ketidakpastian dan Kesamaran... (Putu Manik Prihatini) 36
Aturan yang diberikan menyajikan tentang hubungan sebab akibat diantara ruang
evidence dan ruang hipotesis dengan beberapa probabilitas kondisi.
Rule 1: IF symptoms are
F(P(F/T) = 0.9),
HBA (P(HBA/T) = 0.6)
THEN the Patient hopefully bears T
Rule 2: IF symptoms are
F(P(F/GM) = 0.8),
R(P(R/GM) = 0.7),
HBA (P(HBA/GM) = 0.8)
THEN the Patient hopefully bears GM
Rule 3: IF symptoms are
F(P(F/CP) = 0.9),
R(P(R/CP) = 0.9),
HBA (P(HBA/CP) = 0.6)
THEN the Patient hopefully bears CP
Tentukan probabilitas penyakit yang diderita oleh seorang pasien, jika penyakit yang
diderita ditentukan dari probabilitas tertinggi!
Solusi:
Langkah 1 :
Menghitung probabilitas seorang pasien menderita penyakit T
P(T|F,HBA) = P(T) * P(F|T) * P(HBA|T)
= 0.2 * 0.9 * 0.6
= 0.108
Langkah 2 :
Menghitung probabilitas seorang pasien menderita penyakit GM
P(GM|F,R,HBA) = P(GM) * P(F|GM) *
P(R|GM) * P(HBA|GM)
= 0.3 * 0.8 * 0.7 * 0.8
= 0.1344
Langkah 3 :
Menghitung probabilitas seorang pasien menderita penyakit CP
P(CP|F,R,HBA) = P(CP) * P(F|CP) *
P(R|CP) * P(HBA|CP)
= 0.5 * 0.9 * 0.9 * 0.6
= 0.243
Dari langkah 1 sampai 3 dengan menghitung probabilitas penyakit T, GM dan CP terhadap
gejala F, R dan GM diperoleh probabilitas tertinggi 0.243 yaitu penyakit CP (Chicken Pox),
sehingga sistem akan memberikan informasi kepada pasien (pengguna) bahwa pasien
menderita penyakit Chicken Pox dengan probabilitas 0.243.
4.2. Teori Dempster-Shaffer
Untuk contoh kasus dengan teori Dempster-Shaffer, akan digunakan asumsi untuk
ruang hipotesis dan ruang evidence seperti pada gambar 2. Ada tiga penyakit yang mungkin
diderita oleh seorang pasien berdasarkan gejala F, yaitu penyakit T, GM dan CP.
Asumsikan diketahui nilai kepercayaan F sebagai gejala dari penyakit T, GM dan CP
adalah:
m1{T,GM,CP} = 0.7
m1{θ} = 1 – 0.7 = 0.3
LONTAR KOMPUTER VOL. 2 NO.1 JUNI 2011 ISSN: 2088-1541
www.it.unud.ac.id
Metode Ketidakpastian dan Kesamaran... (Putu Manik Prihatini) 37
Kemudian, muncul gejala baru yaitu High Body Ache (HBA) yang merupakan gejala dari
penyakit F (Flu), T dan GM, dengan nilai kepercayaan yaitu:
m2{F,GM,CP} = 0.8
m2{θ} = 1 – 0.8 = 0.2
Maka, tentukanlah penyakit apa yang diderita si pasien berdasarkan gejala F dan HBA tersebut!
Solusi:
Munculnya gejala HBA mengharuskan untuk menghitung densitas baru (m3) untuk beberapa
kombinasi m1 dan m2.
Langkah 1 :
Membuat tabel aturan kombinasi untuk m3
{F,GM,CP} (0.8) (0.2
)
{T,GM,CP
}
(0.7) {GM,CP} (0.56) {T,GM,CP} (0.1
4)
 (0.3) {F,GM,CP} (0.24) (0.0
6)
Langkah 2 :
Menghitung nilai untuk m3
m3{GM,CP } = 0.56/(1–0) = 0.56/1 = 0.56
m3{F,GM,CP}= 0.24/(1-0) = 0.24/1 = 0.24
m3{T,GM,CP}= 0.14/(1-0) = 0.14/1 = 0.14
m3{θ} = 0.06/(1-0) = 0.06/1 = 0.06
Dari hasil perhitungan diatas, terlihat bahwa, pada mulanya dengan hanya adanya gejala F,
m{T,GM,CP) bernilai 0.7; namun setelah adanya gejala baru yaitu HBA, maka nilai m{T,GM,CP}
menjadi 0.14. Demikian juga halnya dengan hanya adanya gejala HBA, m{F,GM,CP} bernilai
0.8; namun setelah ada gejala yaitu F, maka nilai {F,GM,CP} menjadi 0.24. Dengan adanya dua
gejala yaitu F dan HBA, nilai densitas yang paling kuat adalah m{GM,CP} yaitu sebesar 0.56,
sehingga sistem akan memberikan informasi kepada pasien (pengguna) bahwa pasien
menderita penyakit GM dan CP dengan nilai densitas 0.56.
4.3. Faktor Kepastian
Untuk contoh kasus dengan faktor kepastian, akan digunakan asumsi untuk ruang
hipotesis dan ruang evidence seperti pada gambar 2, tetapi dengan aturan sebagai berikut.
Rule 1:
IF symptoms are F, CF: 0.9
and HBA, CF: 0.6
THEN
the Patient hopefully bears T, CF: 0.8
Rule 2:
IF the Patient bears T
and R, CF: 0.7
THEN
the Patient hopefully bears CP, CF:0.6
Rule 3:
IF the Patient bears T
and R, CF: 0.9
THEN
the Patient hopefully bears CP, CF: 0.8
LONTAR KOMPUTER VOL. 2 NO.1 JUNI 2011 ISSN: 2088-1541
www.it.unud.ac.id
Metode Ketidakpastian dan Kesamaran... (Putu Manik Prihatini) 38
Tentukan nilai kemungkinan seorang pasien menderita penyakit CP!
Solusi:
Langkah 1 :
Menghitung CF Paralel dan CF Sekuensial Rule 1
CF Paralel = Min(CF(F), CF(HBA))
= Min(0.9; 0.6)
= 0.6
CF Sekuensial = CF Paralel * CF Pakar
= 0.6 * 0.8
= 0.48
CF Sekuensial ini menunjukkan besarnya derajat kepercayaan terhadap kesimpulan seorang
pasien menderita penyakit T.
Langkah 2 :
Menghitung CF Paralel dan CF Sekuensial Rule 2
CF Paralel = Min(CF(T), CF(R))
= Min(0.48; 0.7)
= 0.336
CF Sekuensial = CF Paralel * CF Pakar
= 0.336 * 0.6
= 0.2016
CF Sekuensial ini menunjukkan besarnya derajat kepercayaan terhadap kesimpulan seorang
pasien menderita penyakit CP.
Langkah 3 :
Menghitung CF Paralel dan CF Sekuensial Rule 3
CF Paralel = Min(CF(T), CF(R))
= Min(0.48; 0.9)
= 0.432
CF Sekuensial = CF Paralel * CF Pakar
= 0.432 * 0.8
= 0.3456
CF Sekuensial ini menunjukkan besarnya derajat kepercayaan terhadap kesimpulan seorang
pasien menderita penyakit CP.
Langkah 4 :
Berdasarkan aturan yang ada, ada dua aturan yang menghasilkan kesimpulan bahwa seorang
pasien menderita penyakit CP, sehingga harus dicari nilai CF Gabungan dari kedua aturan
tersebut.
Karena CF(Rule 1) > 0 dan CF(Rule 2) > 0, maka:
CF(x,y) = CF(x) + CF(y) – (CF(x)*CF(y))
= 0.2016 + 0.3456 – (0.2016*0.3456)
= 0.2016 + 0.3456 – 0.069673
= 0.2016 + 0.275927
= 0.477527  0.48
Berdasarkan nilai CF Gabungan yang diperoleh pada langkah 4 maka sistem akan memberikan
informasi kepada pasien (user) bahwa pasien menderita penyakit Chicken Pox dengan derajat
kepercayaan sebesar 0.48 atau 48%.
LONTAR KOMPUTER VOL. 2 NO.1 JUNI 2011 ISSN: 2088-1541
www.it.unud.ac.id
Metode Ketidakpastian dan Kesamaran... (Putu Manik Prihatini) 39
4.4. Logika Fuzzy
Untuk contoh kasus dengan logika fuzzy, akan digunakan asumsi untuk ruang hipotesis
dan ruang evidence seperti pada gambar 2, tetapi dengan aturan sebagai berikut.
Rule 1:
IF symptoms are F is high
and R is high
and HBA is high
THEN
the Patient hopefully bears CP is high
Rule 2:
IF symptoms are F is high
and R is very high
and HBA is high
THEN
the Patient hopefully bears CP is very high
Tentukan nilai kemungkinan seorang pasien menderita penyakit CP jika pasien memberikan
nilai untuk gejala yang dirasakannya sebagai berikut:
Gejala F : 60
Gejala R : 70
Gejala HBA : 55
Solusi:
Langkah 1 :
Pemodelan Variabel dan Himpunan Fuzzy
Asumsikan metode penalaran yang digunakan adalah metode Mamdani. Ada empat variabel
fuzzy yang akan dimodelkan yaitu gejala F, gejala R, gejala HBA dan penyakit CP, dengan tiga
himpunan fuzzy, yaitu:
Low (L) : 0 - 50
High (H) : 25 - 75
Very High (VH) : 50 - 100
Representasi kurva dari variabel fuzzy tersebut dapat dilihat pada gambar 3 berikut.
Gambar 3. Representasi Kurva Himpunan Fuzzy
Fungsi keanggotaannya adalah:
µ(L) =
1; x < 25
(50–x)/25; 25 x 50
µ(H) =
(x–25)/50; 25 x 50
1; 50
(75–x)/25; 50 x 75
µ(VH) =
(x–50)/25; 50 x 75
1;
x 75
LONTAR KOMPUTER VOL. 2 NO.1 JUNI 2011 ISSN: 2088-1541
www.it.unud.ac.id
Metode Ketidakpastian dan Kesamaran... (Putu Manik Prihatini) 40
Langkah 2 :
Perhitungan nilai fungsi keanggotaan untuk gejala F pada himpunan High dan Very High
µ
FH
[60] = (75–x) / 25
= (75–60)/25
= 15/25 = 0.6
µ
FVH
[60] = (x–50) / 25
= (60–50)/25
= 10/25 = 0.4
Perhitungan nilai fungsi keanggotaan untuk gejala R pada himpunan High dan Very High
µ
RH
[70] = (75–x) / 25
= (75–70)/25
= 5/25 = 0.2
µ
RVH
[70] = (x–50) / 25
= (70–50)/25
= 20/25 = 0.8
Perhitungan nilai fungsi keanggotaan untuk gejala HBA pada himpunan High dan Very High
µ
HBAH
[55] = (75–x) / 25
= (75–55)/25
= 20/25 = 0.8
µ
HBAVH
[55] = (x–50) / 25
= (55–50)/25
= 5/25 = 0.2
Langkah 3 :
Perhitungan fungsi implikasi untuk setiap aturan dengan fungsi MIN
α-predikat1 = min(µ
FH
[60], µ
RH
[70], µ
HBAH
[55]
= min(0.6; 0.2; 0.8)
= 0.2
α-predikat2 = min(µ
FH
[60], µ
RVH
[70], µ
HBAH
[55]
= min(0.6; 0.8; 0.8)
= 0.6
Langkah 4 :
Berdasarkan hasil perhitungan fungsi implikasi dari tiap aturan, maka dilakukan komposisi
aturan dengan metode MAX sehingga hasilnya seperti pada gambar 4.
Gambar 4 Hasil Komposisi Aturan
Pada gambar terlihat bahwa daerah hasil terbagi menjadi tiga yaitu A1, A2, dan A3.
Selanjutnya, titik a1 dan a2 dicari dengan cara berikut.
LONTAR KOMPUTER VOL. 2 NO.1 JUNI 2011 ISSN: 2088-1541
www.it.unud.ac.id
Metode Ketidakpastian dan Kesamaran... (Putu Manik Prihatini) 41
(a1–25)/50 = 0.2  a1 = 35
(a2–25)/50 = 0.6  a2 = 55
Dengan demikian, fungsi keanggotaan untuk hasil komposisi ini adalah:
µ(z) =
0.2 z < 35
(z–25)/50; 35 z 55
0.6 z > 55
Langkah 5 :
Metode penegasan yang digunakan adalah metode centroid.
35 35
M1= (0.2)z dz = 0.1z
2
= 122.5
0 0
55
M2= (z-25)/50 z dz
35
55
= (0.02z
2
-0.5z) dz
35
55
= 0.0067z
3
-0.25z
2
= 377.45
35
55 55
M3= (0.6)z dz = 0.3z
2
= 780
75 75
Kemudian, luas setiap daerah dihitung.
A1 = 35*0.2 = 7
A2 = (0.2+0.6)*(55-35)/2 = 8
A3 = (75-55)*0.6 = 12
Selanjutnya, titik pusat dapat diperoleh dari:
122.5 + 377.45 + 780
z = = 47.4
7 + 8 + 12
Berdasarkan nilai titik pusat yang diperoleh pada langkah 5 maka sistem akan memberikan
informasi kepada pasien (pengguna) bahwa pasien menderita penyakit Chicken Pox dengan
derajat kepercayaan sebesar 47.4%.
5. Kesimpulan
Permasalahan yang dihadapi dalam kehidupan sehari-hari seringkali melibatkan
pengetahuan yang tidak lengkap, sehingga untuk memperoleh solusi bagi permasalahan
tersebut tidak dapat dilakukan dengan menggunakan aturan yang bersifat pasti. Kecerdasan
buatan sebagai ilmu dasar bagi pengembangan sistem cerdas diharapkan dapat memberikan
solusi tentang cara menangani masalah ketidakpastian dan kesamaran yang terjadi dalam
kehidupan sehari-hari.
Beberapa metode yang sering digunakan untuk menangani masalah ini adalah dengan
menggunakan teknik probabilitas, faktor kepastian dan logika fuzzy. Teorema Bayes dan Teori
Dempster-Shafer merupakan bagian dari teknik probabilitas yang mampu menangani masalah
ketidakpastian yang terjadi dalam kehidupan sehari-hari, dengan menekankan pada konsep
probabilitas hipotesis dan evidence pada teorema Bayes, dan konsep beliefe dan plausability

Ketidakpastian (Uncertainity) dan Penalaran Probabilitas

- Copyright © ADITYA - Devil Survivor 2 - Powered by Blogger - Designed by Johanes Djogan -