Kamis, 23 November 2017

Teknik Pembangunan Game AI

Di dunia akademis, bidang kecerdasan buatan dipelajari secara serius untuk meningkatkan kualitas hidup manusia. Para peneliti dan mahasiswa (ilmu komputer atau teknik informatika) terus menerus mengembangkan teknik-teknik pada bidang ini untuk menghasilkan mesin yang semakin mengerti, dan memahami kebutuhan manusia. Dalam game berbasis kecerdasan buatan, ada banyak teknik yang diadaptasi dari bidang kecerdasan buatan untuk diterapkan pada game. beberapa diantaranya, yaitu:
Decision Making


Decision Making adalah serangkaian algoritma yang dirancang dengan memasukan beberapa kemungkinan langkah yang bisa diambil oleh suatu aplikasi, Pada game ini decision making memberikan kemampuan suatu karakter untuk menentukan langkah apa yang akan diambil. Decision making dilakukan dengan cara menentukan satu pilihan dari list yang sudah dibuat pada algoritma yang dirancang. Algoritma decision making kerap digunakan dalam aplikasi game, akan tetapi algoritma decision making dapat diimplementasikan pada banyak aplikasi lain.
Decision Making terbagi menjadi 3 yaitu : Decision Tree, State Machine dan Rule System

1. Decision Tree

Pohon Keputusan (Decision Tree) merupakan metode klasifikasi dan prediksi yang sangat kuat dan terkenal. Metode pohon keputusan mengubah fakta yang sangat besar menjadi pohon keputusan yang merepresentasikan aturan. Aturan dapat dengan mudah dipahami dengan bahasa alami. Aturan ini juga dapat diekspresikan dalam bentuk bahasa basis data seperti SQL untuk mencari record pada kategori tertentu. Pohon keputusan juga berguna untuk mengeksplorasi data, menemukan hubungan tersembunyi antara sejumlah calon variabel input dengan sebuah variabel target. Karena pohon keputusan memadukan antara eksplorasi data dan pemodelan, pohon keputusan ini sangat bagus sebagai langkah awal dalam proses pemodelan bahkan ketika dijadikan sebagai model akhir dari beberapa teknik lain(J R Quinlan, 1993).

Dalam situasi lain kemampuan untuk menjelaskan alasan pengambilan keputusan adalah sesuatu yang sangat penting. Misalnya pada perusahaan asuransi ada larangan resmi untuk mendeskriminasi berdasarkan variabel-variabel tertentu. Perusahaan asuransi dapat mencari sendiri keadaan yang mencerminkan bahwa mereka tidak menggunakan deskriminasi yang ilegal dalam memutuskan seseorang diterima atau ditolak. Sebuah pohon keputusan adalah sebuah struktur yang dapat digunakan untuk membagi kumpulan data yang besar menjadi himpunan-himpunan record yang lebih kecil dengan menerapkan serangkaian aturan keputusan. Anggota himpunan hasil menjadi mirip satu dengan yang lain dengan masing-masing rangkaian pembagian. Sebuah model pohon keputusan terdiri dari sekumpulan aturan untuk membagi sejumlah populasi yang heterogen menjadi lebih kecil, lebih homogen dengan memperhatikan pada variabel tujuannya. Sebuah pohon keputusan mungkin dibangun dengan seksama secara manual, atau dapat tumbuh secara otomatis dengan menerapkan salah satu atau beberapa algoritma pohon keputusan untuk memodelkan himpunan data yang belum terklasifikasi (Tan dkk, 2004).

Variabel tujuan biasanya dikelompokkan dengan pasti dan model pohon keputusan lebih mengarah pada perhitungan probabilitas dari masing-masing record terhadap kategori-kategori tersebut, atau untuk mengklasifikasi record dengan mengelompokkannya dalam satu kelas. Pohon keputusan juga dapat digunakan untuk mengestimasi nilai dari variabel kontinyu, meskipun ada beberapa teknik yang lebih sesuai untuk kasus ini.

Kelebihan dari metode pohon keputusan adalah:


Daerah pengambilan keputusan yang sebelumnya kompleks dan sangat global, dapat diubah menjadi lebih simpel dan spesifik
Eliminasi perhitungan-perhitungan yang tidak diperlukan, karena ketika menggunakan metode pohon keputusan maka sampel diuji hanya berdasarkan kriteria atau kelas tertentu
Fleksibel untuk memilih fitur dari node internal yang berbeda, fitur yang terpilih akan membedakan suatu kriteria dibandingkan kriteria yang lain dalam node yang sama. Kefleksibelan metode pohon keputusan ini meningkatkan kualitas keputusan yang dihasilkan jika dibandingkan ketika menggunakan metode penghitungan satu tahap yang lebih konvensional
Dalam analisis multivarian, dengan kriteria dan kelas yang jumlahnya sangat banyak, seorang penguji biasanya perlu mengestimasikan baik itu distribusi dimensi tinggi ataupun parameter tertentu dari distribusi kelas tersebut. Metode pohon keputusan dapat menghindari munculnya permasalahan ini dengan menggunakan kriteria yang jumlahnya lebih sedikit pada setiap node internal tanpa banyak mengurangi kualitas keputusan yang dihasilkan.


Kekurangan pada pohon keputusan adalah:


Terjadi overlapping terutama ketika kelas-kelas dan kriteria yang digunakan jumlahnya sangat banyak. Hal tersebut juga dapat menyebabkan meningkatnya waktu pengambilan keputusan dan jumlah memori yang diperlukan
Pengakumulasian jumlah kesalahan dari setiap tingkat dalam sebuah pohon keputusan yang besar
Kesulitan dalam mendesain pohon keputusan yang optimal
Hasil kualitas keputusan yang didapatkan dari metode pohon keputusan sangat tergantung pada bagaimana pohon tersebut didesain.



Pohon keputusan adalah model prediksi menggunakan struktur pohon atau struktur berhirarki. Setiap percabangan menyatakan kondisi yang harus dipenuhi dan tiap ujung pohon menyatakan kelas data. Contoh pada Gambar diatas adalah identifikasi pembeli komputer. Dari pohon keputusan tersebut diketahui bahwa salah satu kelompok yang potensial membeli komputer adalah orang yang berusia di bawah 30 tahun dan juga pelajar. Setelah sebuah pohon keputusan dibangun maka dapat digunakan untuk mengklasifikasikan record yang belum ada kelasnya. Dimulai dari node root, menggunakan tes terhadap atribut dari record yang belum ada kelasnya ini lalu mengikuti cabang yang sesuai dengan hasil dari tes tersebut, yang akan membawa kepada internal node (node yang memiliki satu cabang masuk dan dua atau lebih cabang yang keluar), dengan cara harus melakukan tes lagi terhadap atribut atau node leaf. Record yang kelasnya tidak diketahui kemudian diberikan kelas yang sesuai dengan kelas yang ada pada node leaf. Pada pohon keputusan setiap simpul leaf menandai label kelas. Proses dalam pohon keputusan yaitu mengubah bentuk data (tabel) menjadi model pohon (tree) kemudian mengubah model pohon tersebut menjadi aturan (rule) (J R Quinlan, 1993).

Salah satu algoritma induksi pohon keputusan yaitu ID3 (Iterative Dichotomiser 3). ID3 dikembangkan oleh J. Ross Quinlan. Dalam prosedur algoritma ID3, input berupa sampel training, label training dan atribut. Algoritma Decision Tree C4.5 merupakan pengembangan dari ID3. Sedangkan pada perangkat lunak open source WEKA mempunyai versi sendiri dari C4.5 yang dikenal sebagai J48.

2. State Machine

Finite State Machines (FSM) adalah sebuah metodologi perancangan sistem kontrol yang menggambarkan tingkah laku atau prinsip kerja sistem dengan menggunakan tiga hal berikut: State (Keadaan), Event (kejadian) dan action (aksi). Pada satu saat dalam periode waktu yang cukup signifikan, sistem akan berada pada salah satu state yang aktif. Sistem dapat beralih atau bertransisi menuju state lain jika mendapatkan masukan atau event tertentu, baik yang berasal dari perangkat luar atau komponen dalam sistemnya itu sendiri (misal interupsi timer). Transisi keadaan ini umumnya juga disertai oleh aksi yang dilakukan oleh sistem ketika menanggapi masukan yang terjadi. Aksi yang dilakukan tersebut dapat berupa aksi yang sederhana atau melibatkan rangkaian proses yang relative kompleks.

Berdasarkan sifatnya, metode FSM ini sangat cocok digunakan sebagai basis perancangan perangkat lunak pengendalian yang bersifat reaktif dan real time. Salah satu keutungan nyata penggunaan FSM adalah kemampuannya dalam mendekomposisi aplikasi yang relative besar dengan hanya menggunakan sejumlah kecil item state. Selain untuk bidang kontrol, Penggunaan metode ini pada kenyataannya juga umum digunakan sebagai basis untuk perancangan protokol-protokol komunikasi, perancangan perangkat lunak game, aplikasi WEB dan sebagainya.

Dalam bahasa pemrograman prosedural seperti bahasa C, FSM ini umumnya direalisasikan dengan menggunakan statemen kontrol switch case atau/dan if..then. Dengan menggunakan statemen-statemen kontrol ini, aliran program secara praktis akan mudah dipahami dan dilacak jika terjadi kesalahan logika.

3. Rule Systems

Rule Based System merupakan metode pengambilan keputusan berdasarkan pada aturan-aturan tertentu yang telah ditetapkan. RBS dapat diterapkan pada agen virtual dalam bentuk kecerdasan buatan sehingga dapat melakukan tindakan tertentu. Tindakan tersebut direpresentasikan oleh set aturan yaitu penyebab tindakan itu terjadi, proses tindakan dan hasil dari tindakan tersebut.

Rule Base Systems (RBS) sistem yang baik untuk mendapat jawaban dari pertanyaan mengenai What (apa), How (bagaimana) dan Why (mengapa) dari Rule Base (RB) selama proses inferensia. Jawaban dan penjelasannya dapat disediakan dengan baik. Masalah yang ada dengan SBP adalah ia tak dapat secara mudah menjalankan proses akuisisi knowledge (pengetahuan) dan ia tak dapat mengupdate rule (aturan) secara otomatis. Hanya pakar yang dapat mengupdate Knowledge Base (KB) secara manual dengan dukungan dari knowledge engineer (insinyur pengetahuan). Lebih jauh kebanyakan peneliti dalam SBA lebih memperhatikan masalah optimasi pada rule yang sudah ada daripada pembangkitan rule baru dari rule yang sudah ada. Namun demikian, optimasi rule tak dapat mengubah hasil dari inferensia secara signifikan, yaitu dalam hal cakupan pengetahuan.

Ripple Down Rule (RDR) datang untuk mengatasi permasalahan utama dari sistem pakar: pakar tak perlu lagi selalu mengkomunikasikan pengetahuan dalam konteks yang spesifik. RDR membolehkan akuisisi yang cepat dan sederhana secara ekstrim tanpa bantuan dari knowledge engineer. Pengguna tak perlu menguji RB dalam rangka mendefinisikan rule baru: pengguna hanya perlu untuk mampu mendefinisikan rule baru yang secara benar mengklasifikasikan contoh yang diberikan, dan sistem dapat menentukan dimana suatu rule harus ditempatkan dalam hirarki rulenya. Keterbatasan dari RDR adalah kekurangan dalam hal inferensia yang berdayaguna. Tak seperti SBA yang dilengkapi dengan inferensia melalui forward dan backward chaining, RDR kelihatannya menggunakan Depth First Search (DFS) yang memiliki kekurangan dalam hal fleksibelitas dalam hal penjawaban pertanyaan dan penjelasan yang tumbuh dari inferensia yang berdayaguna.

Variable-Centered Intelligent Rule System (VCIRS) merupakan perkawinan dari SBA dan RDR. Arsitektur sistem diadaptasi dari SBA dan ia mengambil keuntungan-keuntungan yang ada dari RDR. Sistem ini mengorganisasi RB dalam struktur spesial sehingga pembangunan pengetahuan, inferensia pengetahuan yang berdayaguna dan peningkatan evolusional dari kinerja sistem dapat didapatkan pada waktu yang sama. Istilah “Intelligent” dalam VCIRS menekankan pada keadaan sistem ini yang dapat “belajar” untuk meningkatkan kinerja sistem dari pengguna sistem selama pembangunan pengetahuan (melalui analisis nilai) dan penghalusan pengetahuan (dengan pembangkitan rule).


Path Finding


Metode Path Finding seringkali dijumpai pada game yang bergenre strategi, dimana kita sebagai user menunjuk satu karakter untuk digerakkan ke lokasi tertentu dengan cara mengklik lokasi yang akan dituju. Maka, si karakter tersebut akan bergerak ke arah yang telah ditentukan, dan secara “cerdas” dapat menemukan jaur terpendek ataupun menghindari rintangan yang ada.
Metode pada Path Finding terbagi menjadi 4 bagian yaitu:

1. Waypoints

Merupakan titik acuan/kumpulan koordinat yang digunakan untuk keperluan navigasi. Maksud dari keperluan navigasi disini adalah mengidentifikasi sebuah titik dipeta. Disetiap koordinat biasanya menyertakan longitude, latitude, dan terkadang altitude untuk keperluan navigasi di udara.

2. A* Searching

Algoritma A* merupakan yang sering digunakan pada game yang menggunakan metode pathfinding. Algoritma ini dipilih karena A* sangat mudah untuk diimplementasikan dan sangat efisien. Dengan menggunakan algoritma A* kita dapat menentukan jalur terpendek. Pada algotitma ini akan menyeleksi dengan cara membuang langkah yang tidak perlu dengan mempertimbangkan bahwa langkah yang dibuang dipastikan tidak mencapai solusi yang diinginkan.

Prinsip dari algoritma ini yaitu dengan cara mencari jalur terpendek dari sebuah simpul awal (Starting Point) menuju ke simpul tujuan dengan memperhatikan harga (F) terkecil. Algoritma A* akan memperhitungkan cost dari current state ke tujuan dengan fungsi heuristic, selain itu algoritma ini juga mempertimbangkan cost yang telah ditempuh selama ini dari initial state ke current state. Jadi maksudnya jika jalan yang telah ditempuh terlalu panjang dan ada jalan lain yang cost nya lebih kecil tetapi memberikan posisi yang sama jika dilihat dari goal, maka jalan yang lebih pendeklah yang akan dipilih.

3. Dijkstra

Algoritma Dijkstra yang dinamai penemunya yakni seorang ilmuwan komputer, Edsger Dijkstra merupakan sebuah algoritma yang rakus atau biasa dikenal dengan algoritma greedy. Algoritma ini biasa dipakai dalam memecahkan permasalahan jarak terpendek (shortest path problem) untuk sebuah graf berarah (directed graph) dengan bobot-bobot sisi (edge weights) yang bernlai positif.

4. Tactical Pathfinding

Tactical Pathfinding merupakan algoritma pencarian jalur yang bisa melakukan pencarian jalur terpendek dengan menghitung bobot ancaman. Implementasi algoritma ini dapat memberikan gerakan taktis pada non-player character. Algoritma ini dilakukan berdasarkan algoritma pencarian jalur A* yang ditambah dengan perhitungan bobot.


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.


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.


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).


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.






SUMBER :


https://laskyargiovane.wordpress.com/2016/04/25/artificial-intelligence-kecerdasan-buatan-pada-game/


https://septianbudiuntoro.wordpress.com/2016/04/19/artificial-intelligence/


https://aswendy.wordpress.com/2015/04/23/artificial-intelligent-pada-game-decision-making/

http://cldyxtp.blogspot.co.id/

Kamis, 16 November 2017

Kecerdasan buatan dan permainan

Kecerdasan Buatan dan Permainan (AI and Games)

9.1. Kecerdasan Buatan vs. Game AI

Kecerdasan Buatan atau kecerdasan yang ditambahkan kepada suatu sistem yang bisa diatur dalam konteks ilmiah atau Intelegensi Artifisial (bahasa Inggris: Artificial Intelligence atau hanya disingkat AI) didefinisikan sebagai kecerdasan entitas ilmiah. 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.

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.


9.2. Mode Game AI
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 ialah:
·         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.

9.3. Algoritma, Struktur Data dan Representasi

9.4. Kompleksitas Kesalahan
9.5. Jenis Game AI
Jenis-Jenis Game

1.         Fun Games :

            Permainannya seperti skate board, bilyard, catur, puzzle, tetris, golf, Windows Entertainment Pack Games dan semua permainan yang animasinya sedikit dan pembuatannya relatif mudah. Permainan semacam ini terlihat mudah dari segi grafiknya tetapi biasanya sulit dalam algoritma.

2.         Arcade Games :

            Semua permainan yang mudah dimengerti, menyenangkan dan grafiknya bagus walau biasanya sederhana. Pengertian mudah dimengerti dan menyenangkan dikarenakan permainan ini hanyalah berkisar pada hal-hal yang disenangi umum seperti pukul memukul, tembak menembak, tusuk menusuk, kejar mengejar dan semua yang mudah dan menyenangkan.

            Yang termasuk kedalam permainan jenis ini adalah Prince of Persia, Street Fighter, Golden Axe, Grand Prix, Robocop.

3.         Strategic Games :

            Biasanya permainan strategi perang atau bisa juga permainan lain tetapi tetap saja memerlukan strategi untuk memenangkannya seperti startegi bisnis dan strategi politik.

4.         Adventure Games :

            Terbagi atas tiga macam yaitu petualangan biasa (Multi Layered Adventur), Dungeon-Underworld Adventure (3D Adventure) dan Roll Playing Game Adventure. Grafik jenis permainan ini benar-benar sulit. Contoh beberapa permainan jenis ini adalah Space Quest IV, Labyrinth of Word, War II dan Diablo.

5.         Simulation Games :

            Dari semua jenis permainan yang ada, masing-masing memiliki tingkat kesulitan dan kemudahannya, jika bukan algoritmanya maka akan mudah dalam hal animasinya, akan tetapi games simulasi bisa disebut sebagai jenis permainan yang paling sulit, baik algoritma pembuatannya maupun animasinya. Permainan jenis ini juga yang paling membuat pusing dibandingkan dengan permainan jenis lainnya.

            Algoritmanya sangat sulit sebab harus memperhitungkan semua kejadian dalam kondisi sebenarnya. Berbagai efek animasi yang dibuat tidak cukup bermodalkan ahli grafik dan algoritma saja, tetapi sedikitnya harus mengerti persoalan matematika, teknik dan fisika. Contoh permainan jenis ini adalah Stellar7, F-15 Strike Eagle, Flight Simulator 98, F-14 Tomcat, F-16 Falcon, Jet Fighter.

9.6. Kecepatan dan Memori
9.7. AI Engine

Daftar pusataka


Kamis, 09 November 2017

Pembelajaran/Learning

8.1 Pembelajaran dan pengamatan
Pembelajaran adalah proses interaksi peserta didik dengan pendidik dan sumber belajar pada suatu lingkungan belajar yang meliputi guru dan siswa yang saling bertukar informasi.
Pengamatan atau observasi adalah aktivitas terhadap suatu proses atau objek dengan maksud merasakan dan kemudian memahami pengetahuan dari sebuah fenomena berdasarkan pengetahuan dan gagasan yang sudah diketahui sebelumnya, untuk mendapatkan informasi-informasi yang dibutuhkan untuk melanjutkan suatu penelitian. 
8.2 Bentuk pembelajaran
a.       Menumbuhkan motivasi belajar anak
Motivasi berkaitan erat dengan emosi, minat, dan kebutuhan anak didik. Upaya menumbuhkan motivasi intrinsik yang dilakukan guru adalah mendorong rasa ingin tahu, keinginan mencoba, dan sikap mandiri anak didik. Sedangkan bentuk motivasi ekstrinsik adalah dengan memberikan rangsangan berupa pemberian nilai tinggi atau hadiah bagi siswa berprestasi dan sebaliknya.
b.      Mengajak anak didik beraktivitas
Adalah proses interaksi edukaktif melibatkan intelek-emosional anak didik untuk meningkatkan aktivitas sehingga motivasi akan meningkat. Bentuk pelaksanaanya adalah mengajak anak didik melakukan aktivitas atau bekerja di laboratorium, di kebun/lapangan sebagai bagian dari eksplorasi pengalaman, atau mengalami pengalaman yang sam sekali baru.
c.       Mengajar dengan memperhatikan perbedaan individual
Proses kegiatan belajar mengajar dilakukan dengan memahami kondisi masing-masing anak didik. Tidak tepat jika guru menyamakan semua anak didik karena setiap anak didik mempunyai bakat berlainan dan mempunyai kecepatan belajar yang bervariasi. Seorang anak didik yang hasil belajarnya jelek dikatakan bodoh. Kemudian menyimpulkan semua anak didik yang hasil belajarnya jelek dikatakan bodoh. Kondisi demikian tidak dapat dijadikan ukuran, karena terdapat beberapa faktor penyebab anak memiliki hasil belajar buruk, antara lain; faktor kesehatan, kesempatan belajar dirumah tidak ada, sarana belajar kurang, dan sebagainya.
d.     Mengajar dengan umpan balik
Bentuknya antara lain; umpan balik kemampuan prilaku anak didik (perubahan tigkah laku yang dapat dilihat anak didik lainnya, pendidik atau anak didik itu sendiri), umpan balik tentang daya serap sebagai pelajaran untuk diterapkan secara aktif. Pola prilaku yang kuat diperoleh melalui partisipasi dalam memainkan peran (role play).
e.      Mengajar dengan pengalihan
Pengajaran yang mengalihkan (transfer) hasil belajar kedalam situasi-situasi nyata. Guru memilih metode simulasi (mengajak anak didik untuk melihat proses kegiatan seperti cara berwudlu dan sholat) dan metode proyek (memberikan kesempatan anak untuk menggunakan alam sekitar dan atau kegiatan sehari-hari untuk bertukar pikiran baik sesama kawan maupun guru)  untuk pengalihan pengajaran yang bukan hanya bersifat ceramah atau diskusi, tetapi mengedepankan situasi nyata.
f.      Penyusunan pemahaman yang logis dan psikologis
Pengajaran dilakukan dengan memilih metode yang proporsional. Dalam kondisi tertentu guru tidak dapat meninggalkan metode ceramah maupun metode pemberian tugas kepada anak didik. Hal ini dilakukan sesuai dengan kondisi materi pelajaran.

8.3 Pembelajaran induktif
Pembelajaran induktif adalah sebuah pembelajaran yang bersifat langsung tapi sangat efektif untuk membantu siswa mengembangkan keterampilan berpikir tingkat tinggi dan keterampilan berpikir kritis. Model pembelajaran induktif adalah sebuah pembelajaran yang bersifat langsung tapi sangat efektif untuk membantu siswa mengembangkan keterampilan berpikir tingkat tinggi dan keterampilan berpikir kritis. Pada model pembelajaran induktif guru langsung memberikan presentasi informasi-informasi yang akan memberikan ilustrasi-ilustrasi tentang topik yang akan dipelajari siswa, selanjutnya guru membimbing siswa untuk menemukan pola-pola tertentu dari ilustrasi-ilustrasi yang diberikan. Model pembelajaran induktif dirancang berlandaskan teori konstruktivisme dalam belajar. Model ini membutuhkan guru yang terampil dalam bertanya (questioning) dalam penerapannya. Melalui pertanyaan-pertanyaan inilah guru akan membimbing siswa membangun pemahaman terhadap materi pelajaran dengan cara berpikir dan membangun ide. Tingkat keefektifan model pembelajaran induktif ini, jadinya-sangat tergantung pada keterampilan guru dalam bertanya dan mengarahkan pembelajaran, dimana guru harus menjadi pembimbing yang akan untuk membuat siswa berpikir.
Struktur sosial dalam pembelajaran menjadi ciri lingkungan kelas yang sangat dibutuhkan untuk belajar melalui model pembelajaran induktif. Model pembelajaran induktif mensyaratkan sebuah lingkungan belajar yang mana di dalamnya siswa merasa bebas dan terlepas dari resiko takut dan malu saat memberikan pendapat, bertanya, membuat konklusi dan jawaban. Mereka harus bebas dari kritik tajam yang dapat menjatuhkan semangat belajar.
Model ini dikembangkan atas dasar beberapa postulat sebagai berikut:

1. Kemampuan berpikir dapat diajarkan
2. Berpikir merupakan suatu transaksi aktif antara individu dengan data. Artinya, dalam seting kelas,
bahan-bahan ajar merupakan sarana bagi siswa untuk mengembangkan operasi kognitif tertentu.
Dalam seting tersebut, dimana siswa belajar mengorganisasikan fakta ke dalam suatu sistem konsep,yaitu:
Saling menghubung-hubungkan data yang diperoleh satu sama lain serta membuat kesimpulan berdasarkan hubungan-hubungan tersebut 
Menarik kesimpulan berdasarkan fakta-fakta yang telah diketahuinya dalam rangka membangun hipotesis,dan 
Memprediksi dan menjelaskan suatu fenomena tertentu. Guru, dalam hal ini, dapat membantu proses internalisasi dan konseptualisasi berdasarkan informasi tersebut 

3. Proses berpikir merupakan suatu urutan tahapan yang beraturan (lawful). Artinya, agar dapat menguasai keterampilan berpikir tertentu, prasyarat tertentu harus dikuasai terlebih dahulu, dan urutan tahapan ini tidak bisa dibalik. Oleh karenanya, konsep tahapan beraturan ini memerlukan strategi mengajar tertentu agar dapat mengendalikan tahapan-tahapan tersebut.
Berpikir induktif melibatkan tiga tahapan yang dikembangkan tiga strategi cara mengajarkannya.

a. Konsep pembentukan (belajar konsep) 

Tahap ini mencakup tiga langkah utama: item daftar (lembar, konsep), kelompok barang yang sama secara bersama-sama, beserta label tersebut (dengan nama konsep).
Langkah-langkah :
1. Membuat daftar konsep
2. Pengelompokkan konsep berdasarkan karakteristik yang sama
3. Pemberian label atau kategorisasi

b. Interpretasi data Strategi 

Keduanya merupakan cara mengajarkan bagaimana menginterpretasi dan menyimpulkan data. Sama halnya dengan strategi pertama (pembentukan konsep), cara ini dapat dilakukan dengan mengajukan pertanyaan-pertanyaan tertentu.
Langkah-langkah:
1. mengidentifikasi dimensi-dimensi danhubungan-hubungannya.
2. menjelaskan dimensi-dimensi danhubungan-hubungannya
3. Membuat kesimpulan

c. Penerapan prinsip-prinsip 

Strategi ini merupakan kelanjutan dari strategi pertama dan kedua. Setelah siswa dapat merumuskan suatu konsep, menginterpretasikan dan menyimpulkan data, selanjutnya mereka diharapkan dapat menerapkan suatu prinsip tertentu ke dalam suatu situasi permasalahan yang berbeda. Atau siswa diharapkan dapat menerapkan suatu prinsip untuk menjelaskan suatu fenomena baru.
Langkah-Langkah:
1. Membuat hipotesis, memprediksikonsekuensi
2. Menjelaskan teori yang mendukung hipotesis atau prediksi.
3. Menguji hipotesis/prediksi

Peran Guru Dalam Model Pembelajaran Induktif
Saat pembelajaran berlangsung dengan menggunakan model pembelajaran induktif, guru telah menyiapkan perangkat-perangkat yang akan membuat siswa beraktivitas dan mengobarkan semangat siswa untuk melakukan observasi terhadap ilustrasi-ilustrasi yang diberikan, melalui pertanyaan-pertanyaan yang diberikan oleh guru. Sekali lagi, diingatkan, bahwa model pembelajaran induktif memerlukan keterampilan bertanya yang bagus dari guru. Selain itu guru juga harus menjaga siswa agar perhatian mereka tetap pada tugas belajar yang diberikan, dan selalu menunjukkan ekspektasi positif terhadap pencapaian hasil belajar siswa-siswanya. Kesuksesan proses belajar mengajar dengan menggunakan model pembelajaran induktif juga bergantung pada contoh-contoh /ilustrasi yang digunakan oleh guru serta kemampuan guru membimbing siswa untuk melakukan analisis terhadap contoh/ilustrasi yang diberikan.

Kelebihan Model Pembelajaran Induktif
Pada model pembelajaran induktif guru langsung memberikan presentasi informasi-informasi yang akan memberikan ilustrasi-ilustrasi tentang topik yang akan dipelajari siswa, sehingga siswa mempunyai parameter dalam pencapaian tujuan pembelajaran. 
Ketika siswa telah mempunyai gambaran umum tentang materi pembelajaran, guru membimbing siswa untuk menemukan pola-pola tertentu dari ilustrasi-ilustrasi yang diberikan tersebut sehingga pemerataan pemahaman siswa lebih luas dengan adanya pertanyaan-pertanyaan antara siswa denganguru 
Model pembelajaran induktif menjadi sangat efektif untuk memicu keterlibatan yang lebih mendalam dalam hal proses belajar karena proses tanya jawab tersebut. 

Kelemahan Model Pembelajaran Induktif
Model ini membutuhkan guru yang terampil dalam bertanya (questioning) sehingga kesuksesan pembelajaran hamper sepenuhnya ditentukan kemampuan guru dalam memberikan ilustrasi-ilustrasi. 
Tingkat keefektifan model pembelajaran induktif ini, jadinya-sangat tergantung pada keterampilan guru dalam bertanya dan mengarahkan pembelajaran, dimana guru harus menjadi pembimbing yang akan untuk membuat siswa berpikir 
Model pembelajaran ini sangat tergantung pada lingkungan eksternal, guru harus bisa menciptakan kondisi dan situasi belajar yang kondusif agar siswa merasa aman dan tak malu/takut mengeluarkan pendapatnya. Jika syarat-syarat ini tidak terpenuhi, maka tujuan pembelajaran tidak akan tercapai secarasempurna 
Saat pembelajaran berlangsung dengan menggunakan model pembelajaran induktif, guru harus telah menyiapkan perangkat-perangkat yang akan membuat siswa beraktivitas dan mengobarkan semangat siswa untuk melakukan observasi terhadap ilustrasi-ilustrasi yang diberikan, melalui pertanyaan-pertanyaan yang diberikan oleh guru. Dengan metode ini maka kemandirian siswa tidak dapat berkembangoptimal. 
Guru harus menjaga siswa agar perhatian mereka tetap pada tugas belajar yang diberikan, sehingga peran guru sangat vital dalam mengontrol proses belajar siswa. 
Kesuksesan proses belajar mengajar dengan menggunakan model pembelajaran induktif bergantung pada contoh-contoh atau ilustrasi yang digunakan oleh guru. 
Pembelajaran tidak dapat berjalan bila guru dan muridnya tidak suka membaca, sehingga tidak mempunyai pilihan dalam proses induktif

8.4 Pohon keputusan pembelajaran
POHON KEPUTUSAN
 Pohon keputusan adalah salah satu metode klasifikasi yang paling popular karena mudah untuk diinterpretasi oleh manusia. Konsep dari pohon keputusan adalah mengubah data menjadi pohon keputusan dan aturan-aturan keputusan.

Gambar: Konsep Pohon Keputusan

Data dalam pohon keputusan biasanya dinyatakan dalam bentuk tabel dengan atribut dan record. Atribut menyatakan suatu parameter yang dibuat sebagai kriteria dalam pembentukan tree 

Gambar: Konsep Data dalam Pohon Keputusan

Proses pada pohon keputusan adalah mengubah bentuk data (tabel) menjadi model pohon, mengubah model pohon menjadi rule, dan menyederhanakan rule. Manfaat utama dari penggunaan pohon keputusan adalah kemampuannya untuk membreak down proses pengambilan keputusan yang kompleks menjadi lebih simpel sehingga pengambil keputusan akan lebih menginterpretasikan solusi dari permasalahan. Pohon Keputusan juga berguna untuk mengeksplorasi data, menemukan hubungan tersembunyi antara sejumlah calon variabel input dengan sebuah variabel target.
Pohon keputusan merupakan himpunan aturan IF...THEN. Setiap path dalam tree dihubungkan dengan sebuah aturan, di mana premis terdiri atas sekumpulan node-node yang ditemui, dan kesimpulan dari aturam terdiri atas kelas yang terhubung dengan leaf dari path.

Gambar: Konsep Dasar Pohon Keputusan

Bagian awal dari pohon keputusan ini adalah titik akar (root), sedangkan setiap cabang dari pohon keputusan merupakan pembagian berdasarkan hasil uji, dan titik akhir (leaf) merupakan pembagian kelas yang dihasilkan.
Pohon keputusan mempunyai 3 tipe simpul yaitu:
1. Simpul akar, dimana tidak memiliki cabang yang masuk dan memiliki cabang lebih dari satu, terkadang tidak memiliki cabang sama sekali. Simpul ini biasanya berupa atribut yang paling memiliki pengaruh terbesar pada suatu kelas tertentu.
2. Simpul internal, dimana hanya memiliki 1 cabang yang masuk, dan memiliki lebih dari 1 cabang yang keluar.
3. Simpul daun, atau simpul akhir dimana hanya memiliki 1 cabang yang masuk, dan tidak memiliki cabang sama sekali dan menandai bahwa simpul tersebut merupakan label kelas.

Tahap awal dilakukan pengujian simpul akar, jika pada pengujian simpul akar menghasilkan sesuatu maka proses pengujian juga dilakukan pada setiap cabang berdasarkan hasil dari pengujian. Hal ini berlaku juga untuk simpul internal dimana suatu kondisi pengujian baru akan diterapkan pada simpul daun. Pada umumnya proses dari sistem pohon keputusan adalah mengadopsi strategi pencarian top-down untuk solusi ruang pencariannya. Pada proses mengklasifikasikan sampel yang tidak diketahui, nilai atribut akan diuji pada pohon keputusan dengan cara melacak jalur dari titik akar sampai titik akhir, kemudian akan diprediksikan kelas yang ditempati sampel baru tersebut.
Pohon keputusan banyak digunakan dalam proses data mining karena memiliki beberapa kelebihan, yaitu:
1. Tidak memerlukan biaya yang mahal saat membangun algoritma.
2. Mudah untuk diinterpetasikan.
3. Mudah mengintegrasikan dengan sistem basis data.
4. Memiliki nilai ketelitian yang lebih baik.
5. Dapat menemukan hubungan tak terduga dan suatu data.
6. Dapat menggunakan data pasti/mutlak atau data kontinu.
7. Mengakomodasi data yang hilang.

8.5 Pembelajaran ensemble
Kenyataan bahwa pendekatan ensemble learning mampu memberikan solusi prediksi yang lebih akurat daripada model-model tunggal dapat ditemui dari berbagai paper di jurnal ilmiah. Teknik-teknik ensemble yang mengandalkan variasi dari pendekatan random forest dan boosting mampu memberikan prediksi dengan akurasi yang sangat baik. Random forest bekerja dengan membuat model-model penyusun ensemble sedemikian rupa sehingga berbagai kemungkinan dapat terakomodir secara maksimal, sedangkan boosting bekerja secara iterative sehingga kasus-kasus yang tidak mudah diprediksi menjadi bukan masalah lagi.
Kemampuan pendekatan ensemble ini tidak hanya tertuang pada berbagai paper ilmiah, namun juga dapat dilihat pada penyelesaian kasus-kasus aplikatif seperti yang dapat dilihat pada kompetisi data science Kaggl. Kompetisi ini terbuka bagi pegiat data science dan data mining untuk memberikan solusi prediktif dari kasus-kasus yang disampaikan oleh banyak perusahaan besar berskala internasional.
Setiap tim atau individu dipersilakan mengembangkan solusi dan menyajikan prediksinya untuk kemudian dinilai. Mereka yang memberikan prediksi dengan akurasi yang paling tinggi yang dinyatakan sebagai pemenang. Peringkat tiga besar dalam lima tahun terakhir dari kompetisi ini didominasi oleh mereka yang menggunakan pendekatan ensemble yang digabungkan dengan berbagai macam algoritma dasar.



Daftar Pustaka