Pengantar Teknologi Game
Nama : Tara Amanda Gentawini
NPM : 56415812
Kelas : 3IA22
Dosen : Yudi Irawan Chandra
NPM : 56415812
Kelas : 3IA22
Dosen : Yudi Irawan Chandra
1. – Teknologi Game
Teknologi game terdiri
dari dua kata, yaitu Teknologi dan Game. Teknologi adalah keseluruhan fasilitas
untuk menyediakan sesuatu yang dibutuhkan bagi kelangsungan dan
kenyamanan hidup manusia. Secara umum teknologi dapat didefinisikan sebagai
entitas, benda maupun bukan benda yang diciptakan secara terpadu melalui
perbuatan dan pemikiran untuk mencapai suatu tujuan.
Sedangkan Game adalah permainan yang menggunakan interaksi
antarmuka pengguna melalui gambar yang dihasilkan oleh piranti video.
Jadi dapat kita simpulkan bahwa Teknologi Game berarti proses baik berupa yang
dilakukan sistem atau perangkat keras yang diberlakukan dalam upaya untuk
mendukung kinerja dari game.
-
Bisnis Dalam Game Komputer
Bisnis dalam game komputer berkembang pesat seiring dengan
berkembangnya teknologi canggih saat ini. Dahulu kita hanya dapat menikmati
game yang tersedia di dalam komputer itu sendiri, seperti pinball dan
solitaire. Namun sekarang sudah tersedia game online, dan juga games yang dapat
didownload baik free maupun berbayar. Games berbayar juga merupakan bisnis
karena sama saja dengan kita mengeluarkan uang untuk membeli sebuah barang.
Games berbayar ini biasanya memberikan kepuasan tersendiri bagi pembelinya,
karena terdapat fitur yang bagus di dalamnya. Perkembangan lainnya ialah warung
internet atau yang sering kita dengar dengan istilah warnet. Warnet kini
identik dengan game online yang mereka sediakan, adapun game berbayar yang
disediakan warnet sehingga kita hanya tinggal memainkannya. Baik anak kecil
hingga orang dewasa mempunyai hobi bermain game online ini. Dengan menyediakan
tempat, perangkat komputer yang lengkap, dan fasilitas pendukung lainnya,
membuat gamers betah berlama-lama untuk bermain.
Aplikasi games
dapat dijalankan pada berbagai platform. Beberapa platform media yang bisa
dijadikan pilihan untuk advergames adalah :
1. Personal Computer berupa
aplikasi games pada PC. Games ini dijalankan pada personal computer. Pada media
Personal Computer, durasi waktu penayangan adalah tidak terbatas, selama games
tersebut bagus dan mampu menghibur audience/pemain, maka selama itulah tingkat
kemungkinan untuk dilihat audience akan semakin tinggi. Pembuatan Games ini
biasanya menggunakan Language C++ / C#, membutuhkan waktu 3-6 bulan tergantung dengan
kompleksitas games tersebut.
2. Web Based Games. Yaitu aplikasi
games yang diletakkan pada server di internet dimana audience/pemain hanya
perlu menggunakan akses internet dan browser untuk mengakses games tersebut.
Corporate yang memiliki keinginan mengumpulkan komunitas internet dan sekaligus
memperkenalkan product/brandnya kepada komunitas Internet sangat cocok memilih
media games online internet ini. Pilihan ini banyak digunakan karena dapat
meningkatkan traffic pada suatu website Bila games yang dibutuhkan simple maka
diperlukan waktu pengembangan yang relative lebih singkat 1-2 bulan.
3. SmartPhones/PocketPC. Aplikasi
games yang jalan pada mobile devices bersistem operasi Windows Mobile 2003/2004
ataupun windows mobile 5.0. Product yang memiliki target market status ekonomi
A,B dan karakter pengusaha/ eksekutif muda sangat cocok apabila menggunakan
media PocketPC/SmartPhones sebagai bagian aktivitas kegiatan advertising. Games
bertemakan strategi ataupun simulasi bisnis pada umumnya lebih disukai oleh
orang-orang golongan ini. Waktu pengembangan biasanya memerlukan waktu 3-6
bulan tergantung dengan kompleksitas games tersebut
4. CellPhones / Mobile Phones.
Aplikasi games untuk cell-phones atau mobile phones sebenarnya bisa
dimanfaatkan untuk mendapatkan potensial pelanggan dengan golongan Status
Ekonomi Responden A,B dan C. Produk yang memiliki target golongan ABG, remaja,
anak kuliah, eksekutif muda sangat tepat menggunakan media ini, mengingat pada
golongan inilah mereka suka sekali mencoba dan mengeksplorasi features aplikasi
yang tersedia pada mobile/cellphones mereka. Mereka biasanya aktif mencari
aplikasi bersifat fun atau game yang dapat mengisi waktu senggang mereka. Waktu
pengembangan untuk membuat aplikasi pada devices ini relative lebih pendek
yaitu 1-3 bulan tergantung dengan kompleksitas games tersebut.
-
3D Engine & Scene Graph
Di dalam grafika
komputer, 3D merupakan bentuk grafik yang menggunakan representasi data
geometri tiga dimensi. Grafik 3D ini tersimpan didalam komputer untuk keperluan
kalkulasi atau rendering gambar 3D. Pada 3D, engine bukanlah exutable program,
artinya engine tidak bisa dijalankan sebagai program yang berdiri sendiri.
3D engine adalah sistem perangkat lunak yang dibuat dan dirancang untuk
menciptakan dan mengembangkan gambar 3D, fungsionalitas inti biasanya
disediakan oleh mesin permainan mencakup mesin render (renderer) untuk 2D/3D
grafis. Berbeda dengan dukungan grafik 2D yang sudah built in, dukungan Java
terhadap grafik 3D diletakkan ke dalam API terpisah, yakni Java3D. Java3D
merupakan API 3D berbasis scene graph di platform Java, dimana scene graph
merupakan sebuah pohon yang berisi hierarki data scene. Di dalam api Java3D
didefinisikan sejumlah kelas dan interface yang menyediakan beragam operasi
grafik 3D. Konsep scene graph merupakan inti dari Java3D. Sebuah scene graph
merupakan g rafik yang mempresentasikan geometri, material, dan pencahayaan. Scene
graph dimulai dari root dengan sebuah Virtual Universe dan mencakup
transformasi serta geometri untuk mendefinisikan objek di dunia maya. Secara
garis besar, ada tiga tahap fundamental yang diperlukan untuk menghasilkan
objek 3D, yaitu:
1.
Menciptakan objek Canvas3D
2.
Menciptakan sebuah scene graph
3.
Menghubungkan objek Canvas3D ke objek
BranchGroup yang menunjuk root dari scene graph
·
Ogre 3D
Objected-Oriented Graphics Rendering Engine atau bisa disingkat dengan
OGRE merupakan engine yang object oriented & flexible 3D rendering pada
game engine yang ditulis dengan menggunakan bahasa C++ serta didesain agar
mampu men-developer dengan mudah kepada aplikasi produksi dengan menggunakan
utility hardware-accelerated 3D graphic. Gambaran abstraknya OGRE menggunakan
sistem library seperti Direct3D & OpenGL, serta menyediakan sebuah dasar
interface di dunia objek dan class objek yang lebih tinggi.
OGRE hanya digunakan untuk me-render. Dengan kata lain, fitur OGRE hanya
khusus menangani vector & matOix classes, memory handling, dan lain lain.
Ini bukan lah salah satu dari semua solusi dalam istilah game
development/simulasi. OGRE tidak menyediakan audio/physics support. Walaupun
penjelasan diatas bisa dikatakan sebagai kelemahan dari OGRE itu sendiri, akan
tetapi semua itu sebanding dengan kemampuan grafis yang ada pada game engine
tersebut. Kelebihan yang paling menonjol pada OGRE adalah graphics engine yang
bisa memberikan para developer sebuah kebebasan untuk menggunakan physics
apapun, input, audio, & library lainnya. OGRE memberikan para tim
development untuk fokus pada graphics daripada beberapa sistem-sistem yang ada
dalam game development. OGRE dapat mendupport OIS, SDL, CEGUI libraries.
Sekarang ini OGRE adalah publish dibawah dua lisensi, yaitu LGPL & OUL.
Maka sekarang ini para publish tersebut membuka OGRE sebagai free/open source
software.
Fitur-fitur pada OGRE:
1. Desain yang object-oriented dengan
menggunakan plugin untuk mempermudah memasukkan fitur lainnya
2.
Engine berbasis scane graph dengan
bantuan untuk sebuah varietas yang luas, octree, BSP, & paging landscape
scene manager
3.
Multi-platform dengan dukungan OpenGL
& Direct 3D. Bisa me-render konten yang sama di beda platform tanpa harus
mempunyai content creator. dapat diakses pada platform Linux, Mac OS, dan semua
versi Windows
4. OGRE mendukung program vertex dan
fragment selama ditulis dengan GLSH, HLSL, Cg, dan assembler
5.
The landscape scene manager untuk
progressive LOD, yang mana bisa dibuat secara otomatis dan manual
6.
Engine annimasi yang men-support penuh
untuk multiple hardware
·
Processing
Processing adalah bahasa pemrograman dan lingkungan pemrograman yang
bersifat open source yang digunakan untuk memprogram gambar, animasi, dan
interaksi. Processing digunakan untuk mengajarkan dasar-dasar pemrograman
komputer dalam konteks rupa dan berfungsi sebagai buku sketsa perangkat lunak
dan alat produksi profesional. Processing mengintegrasikan suatu bahasa
pemrograman, lingkungan pemrograman, dan metodologi pengajaran ke dalam sistem
terpadu.
Processing merupakan suatu projek yang dinisiasi oleh Ben fry dan casey
reas. Berkembang dari ide-ide yang dieksplorasi di Aesthetics and Computation
Group (ACG) di Mit Media Lab. Projek ini kini terus diperbaiki dan dikelola
oleh sejumlah Tim Voluntir.
·
Game Maker
Game Maker adalah software yang bisa membantu anda menjadi pengembang
game komputer tanpa menggunakan coding sedikitpun. Dapat digunakan untuk
membuat 3 dimensi dan Multiplayer. Game Maker dapat menjadikan hak penuh dari
software (game) yang anda buat termasuk dapat menjual game tersebut, bahkan
bisa mendownload musik, efek suara, gambar, script, serta background.
·
Unity 3D
Unity 3D adalah sebuah game developing software. Dengan software ini,
kita bisa membuat game 3D yang seru. Game developer ini sangat mudah digunakan,
dengan GUI yang memudahkan kita untuk membuat derta mengedit script untuk
menciptakan sebuah game 3D. Selain bisa untuk build game PC, Unity juga dapat
digunakan untuk membangun game console seperti Nintendo Wii, PS3, Xbox 360,
juga Ipad, Iphone, dan Android. Namun masing-masing membutuhkan biaya
lisensinya sendiri. Unity kurang lebih sama dengan Blender game engine, namun
unity lebih ringan dan diintegrasi lebih dalam suasana grafik.
Kelebihan Unity terdapat pada multiple platform, artinya banyak platform
yang disupport oleh unity, seperti Windows, Mac, iPhone, iPad, Android,
Nintendo Wii, dan juga browser. Untuk browser, kita memerlukan sebuah plug-in,
yaitu Unity Web player, sama halnya dengan Flash Player pada browser. Pada
unity, kita tidak bisa melakukan desain/modelling dikarenakan unity bukan tool
untuk mendesain. Jadi jika kita ingin mendesain, dibutuhkan 3D editor lain
seperti 3Dsmax atau Blender, kemudian kita export menjadi format .fbx.
2.
Desain Skenario, Script & Storyboard Game
Komputer
Untuk menarik banyak peminat gamers
diseluruh dunia bukan hanya grafik saja yang dibutuhkan. Namun pentingnya
Desain skenario, Script dan Storyboard Game. Mungkin beberapa dari kali ada
yang belum mengerti tentang ketiga aspek tersebut, oke akan saya jelaskan satu
per satu.
Namun sebelum kita membahas ketiga aspek
tersebut ada kalanya kita mengetahui Design, yap ketiga aspek tersebut tidaklah
luput dari desain. Desain atau Design merupakan perencanaan dalam pembuatan
sebuah objek, sistem, komponen atau struktur. Desain merupakan sebuah konsep
tentang sesuatu. Seorang perancang atau orang yang mendesain sesuatu disebut
desainer, namun desainer lebih lekat kaitannya dengan profesional yang bekerja
dilingkup desain yang bekerja untuk merancang sesuatu yang menggabungkan atau
bereksplorasi dalam hal estetika dan teknologi. Penggunaan istilah design atau
desain bermula dari gambar teknik arsitektur (gambar potong untuk bangunan) serta
di awal perkembangan, istilah desain awalnya masih berbaur dengan seni dan
kriya.
Dimana, pada dasarnya seni adalah suatu
pola pikir untuk membentuk ekspresi murni yang cenderung fokus pada nilai
estetis dan pemaknaan secara privasi. Sedangkan desain memiliki pengertian
sebagai suatu pemikiran baru atas fundamental seni dengan tidak hanya
menitik-beratkan pada nilai estetik, namun juga aspek fungsi dan latar industri
secara massa, yang memang pada realitanya pengertian desain tidak hanya digunakan
dalam dunia seni rupa saja, namun juga dalam bidang teknologi, rekayasa dan
lain-lain. Dalam membuat sebuah desain semua berawal dari minat sang
desainer(perancang) untuk memilih menciptakan ilustrasi berupa foto, gambar,
tulisan atau biasa di sebut dengan sketsa.
-
Desain Skenario
Skenario adalah urutan cerita yang
disusun oleh seseorang agar suatu peristiwa terjadi sesuai dengan yang
diinginkan. Kalau dasar untuk pembuatan film adalah skenario, maka dasar untuk
membuat game adalah design document atau lebih mudahnya disebut skenario game.
Skenario game adalah langkah awal dalam membuat sebuah game, dengan skenario
game dapat mempermudah kita menyelesaikan game yang akan kita buat. Skenario
game adalah sebuah cerita khusus yang melatarbelakangi kejadian – kejadian
dalam game. Kalau skenario menentukan interior dan eksterior, dekor, pemain,
dan studio, serta pembuatan trik, dalam desain dokumen ada ketentuan program
game, grafik, tokoh, animasi, suara, dan musik. Sampai di sini keduanya masih
paralel. Berbeda dengan skenario yang merupakan sekuens linier dari adegan,
turn around point, dialog, dan seterusnya; design documents adalah gabungan
dokumen yang mendiskripsikan secara kompleks semua segi game yang direncanakan.
Ditambah lagi, berbeda dengan skenario,
tidak bisa secara pasti ditentukan, dokumen apa saja yang akan ditemukan dalam
design documents, karena itu tergantung pada gaya game yang akan dibuat. Hampir
sama seperti pembuatan film dimana penulis skenario pertama-tama menulis tema,
kalau ada produser yang berminat, penulis skenario membuat sinopsis, dan
setelah mendapat persetujuan produser, baru skenario dibuat, begitu juga
prosesnya dalam merencanakan suatu judul game komputer. Temanya dibuat dulu,
kemudian konsep dan akhirnya design documents disusun. Gambaran seperti ini
adalah kondisi yang ideal, tidak semua pengembang melalui proses ini, walaupun
hal itu patut disayangkan. Cukup rumit bukan? Serupa namun tak sama hehe.
Konsep seharusnya berguna untuk
memberikan gambaran garis besar tentang cerita, prinsip-prinsip mekanisme game,
dan titik berat untuk gameplay. Karena itu konsep mencakup prinsip-prinsip
dasar, gaya game, kerangka peraturan, sinopsis cerita (kalau ada cerita),
karakteristik game, contoh misi, atau situasi-situasi dalam game dan bisa juga
diferensiasi perangkat pengguna atau ada eek-efek khusus serta akhirnya
unsur-unsur spesifik yang menjadi andalan pencipta. Dalam penutup sinopsis
seharusnya dicantumkan daftar unsur yang unik dan orisinil serta faktor-faktor
yang bisa dijadikan daya jual tinggi bagi judul tersebut. Konsepnya biasanya
ditulis setebal 5-10 halaman. Kalau konsep sudah diterima, artinya sudah
disetujui produser, dinilai positif oleh tim dan sebagainya, desainer game
mulai menulis dengan documents.
-
Script
Dalam pemrograman komputer, naskah adalah
sebuah program atau urutan instruksi yang ditafsirkan atau dilakukan dengan
program lain daripada oleh komputer prossesor. Skrip (script) adalah semacam
bahasa pemrograman dalam tingkat kesulitan yang lebih rendah, tanpa aplikasi
hasil kompilasi interpreter; skrip biasanya disisipkan ke dalam bahasa
pemrograman yang lebih kompleks dan hasil skrip digunakan oleh bahasa
pemrograman yang lebih kompleks itu.
Contohnya ialah penyisipan skrip
assembly ke dalam program Pascal untuk mengakses hardware pada level bahasa
tingkat rendah. Skrip merupakan kumpulan sintaks bahasa pemrograman yang siap
untuk di-compile. Untuk mengetahui tentang script, disini ada sedikit rangkuman
tentang script :
Script adalah bahasa yang digunakan
untuk menerjemahkan setiap perintah dalam situs yang pada saat di akses. Jenis
script sangat menentukan statis, dinamis, atau interaktifnya sebuah situs.
Semakin banyak script yang digunakan maka akan terlihat semakin dinamis, dan
interaktif serta terlihat lebih bagus. Bahasa dasar yang di pakai setiap situs
adalah HTM. Macam-macam script, PHP, ASP, JSP, Java Script, Java Applets,
VBScript.
-
Storyboard
Storyboard adalah visualisasi ide dari
aplikasi yang akan dibangun, sehingga dapat memberikan gambaran dari aplikasi
yang akan dihasilkan. Storyboard dapat dikatakan juga visual script yang akan
dijadikan outline dari sebuah proyek, ditampilkan shot by shot yang biasa
disebut dengan istilah scene.
Storyboard sekarang lebih banyak
digunakan untuk membuat kerangka pembuatan websites dan proyek media interaktif
lainnya seperti iklan, film pendek, games, media pembelajaran interaktif ketika
dalam tahap perancangan /desain.
Baru-baru ini istilah “Storyboard” telah
digunakan dibidang pengembangan web, pengembangan perangkat lunak dan
perancangan instruksi untuk mempresentasikan dan menjelaskan kejadian
interaktif seperti suara dan gerakan biasanya pada antarmuka pengguna, halaman
elektronik dan layar presentasi. Sebuah Storyboard media interaktif dapat
digunakan dalam antarmuka grafik pengguna untuk rancangan rencana desain sebuah
website atau proyek interaktif sebagaimana alat visual untuk perencanaan isi.
Sebaliknya, sebuah site map (peta) atau
flow chart (diagram alur) dapat lebih bagus digunakan untuk merencanakan
arsitektur informasi, navigasi, links, organisasi dan pengalaman pengguna,
terutama urutan kejadian yang susah diramalkan atau pertukaran audiovisual
kejadian menjadi kepentingan desain yang belum menyeluruh.
Salah satu keuntungan menggunakan
Storyboard adalah dapat membuat pengguna untuk mengalami perubahan dalam alur
cerita untuk memicu reaksi atau ketertarikan yang lebih dalam. Kilas balik,
secara cepat menjadi hasil dari pengaturan Storyboard secara kronologis untuk
membangun rasa penasaran dan ketertarikan.
Seorang pembuat Storyboard harus mampu
menceritakan sebuah cerita yang bagus. Untuk mencapainya, mereka harus
mengetahui berbagai film, dengan pengertian tampilan yang bagus, komposisi,
gambaran berurut dan editing. Mereka harus mampu untuk bekerja secara sendiri
atau dalam sebuah bagian tiam. Mereka harus mampu menerima arahan dan juga
bersiap membuat perubahan terhadap hasil kerja mereka.
Untuk proyek tertentu, pembuat
Storyboard memerlukan ketrampilan menggambar yang bagus dan kemampuan
beradaptasi terhadap gaya yang bermacam. Mereka harus mampu untuk mengikuti desain
yang telah dikeluarkan dan menghasilkan kerja konsisten, yang digambar pada
model.
3.
Artificial
Intelligent Pada Game
-
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
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:
a)
Daerah
pengambilan keputusan yang sebelumnya kompleks dan sangat global, dapat diubah
menjadi lebih simpel dan spesifik
b)
Eliminasi
perhitungan-perhitungan yang tidak diperlukan, karena ketika menggunakan metode
pohon keputusan maka sampel diuji hanya berdasarkan kriteria atau kelas
tertentu
c)
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
d)
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:
a)
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
b)
Pengakumulasian
jumlah kesalahan dari setiap tingkat dalam sebuah pohon keputusan yang besar
c)
Kesulitan
dalam mendesain pohon keputusan yang optimal
d)
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.
·
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.
·
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
yakni:
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.
Referensi:
Comments
Post a Comment