Langsung ke konten utama

ARTFICIAL INTELLIGENCE DALAM GAME

Halo, selamat siang bloggers. hari ini saya akan sedikit berbagi ilmu tentang atrificial intelegence. mungkin sebagian dari kalian sudah mengetahui apa itu AI. dan mungkin sebagian lagi belum tahu. daripada penasaran yuk kita cari tahu ?





SEJARAH KECERDASAN BUATAN (AI)

Sejarah Kecerdasan BuataMulai 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 olehArthur 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:
o    Game Playing
o    General Problem Solving
o    Natural Language Recognition
o    Speech Recognition
o    Visual Recognition
o    Robotics dan system pakar

DEFINISI KECERDASAN  BUATAN
Apakah Artificial Intelligence (AI) atau Intelegensi Buatan itu?
AI dapat didefinisikan sebagai suatu mesin atau alat pintar (biasanya adalah suatu komputer) yang dapat melakukan suatu tugas yang bilamana tugas tersebut dilakukan oleh manusia akan dibutuhkan suatu kepintaran untuk melakukannya. Definisi ini tampaknya kurang begitu membantu, karena beberapa ahli berpendapat :
H.A Simon (1987):
“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):
“sebuah studi tentang bagaimana membuat komputer melakukan hal-hal yang pada saat ini dapat dilakukan dengan lebih baik oleh manusia”.
Encyclopedia Britannica:
“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 KECERDASAN BUATAN

Tujuan 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. Game memiliki beberapa tipe :
o   Informasi lengkap :
 suatu game dimana permain mengetahui semua langkah yang mungkin terjadi dari dirinya sendiri dan dari lawan dan hasil akhir dari permainan. Contoh game : catur dan tic tac toe
o   Informasi tak lengkap :
 game dimana pemain tidak tahu semua kemungkinan langkah lawan. Contoh game : Kartu Poker dan Brigde karena semua kartu tidak diketahui oleh para pemain.

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

Beberapa karakteristik dan batasan game untuk game playing :
Dimainkan oleh 2 ( dua ) pemain: manusia dan komputer. Para pemain saling bergantian melangkah.
1.      Perfect Information Game
Kedua pemain sama-sama memiliki akses pada informasi yang lengkap tentang keadaan permainan, sehingga tidak ada informasi yang tertutup bagi lawan mainnya.

2.      No Determined by Chances
Tidak melibatkan faktor probabilitas, misalnya dengan menggunakan dadu.

3.      No Phsychological Factors
Tidak melibatkan faktor psikologi, seperti "gertakan" (misalnya Poker)

4.      No Oversight Errors. Smart Opponen
Lawan diasumsikan pintar juga, jadi jangan mengharap lawan khilaf, sehingga terjadi salah langkah.
5.      Beberapa contoh permainan yang biasa digunakan sebagai contoh kasus Game Playintyle = "font-family:courier new;">
·         Last One Loses n                        
·         n-coins Grundy's Game
·         Slide-5
·         Tic-Tac-Toe
·         Checkers
·         Go 
·         Nim
·         Othello
·         Chess

PENGEMBANGAN GAME

Perkembangan Game yang pesat pada masa ini juga membutuhkan sesuatu yang berbeda pada rule permainannya. Sebuah sistem game, jika sudah dimainkan sampai tuntas oleh seorang player, maka ketika player yang sama memulai lagi permainan dari awal, maka rule permainannya akan sama. namun berbeda untuk game-game yang telah ada saat ini. sistem dalam game, dapat belajar mengenali pola permainan dari player dan ketika player tersebut memulai permainan kembali, maka sistem ini akan menggunakan rule yang berbeda untuk pemain yang sama ini. sehingga game menjadi lebih menarik dan menantang untuk dimainkan.
Contoh aplikasi kecerdasan buatan dalam bentuk game sangat banyak sekali, ada yang berbentuk game PC, dan ada pula yang berbentuk game jaringan. Contoh aplikasi game yaitu game Tic Tac Toe. Game Tic tac toe adalah sebuah permainan yang menggunakan papan berukuran n baris dan n kolom sehingga ukuran papan menjadi n x n misalkan 3 x 3.
Game ini merupakan game yang mengasah kemampuan berpikir manusia, dimana setiap pemain harus menyusun gambar secara vertikal, horizontal, miring kiri, dan miring kanan agar memperoleh nilai. Apabila pemain tidak dapat membentuk formasi gambar yang diinginkan maka permain dinyatakan kalah. Dan apabila pola gambar seimbang maka permainan dinyatakan drow atau seri. Permainan ini mengasah kemampuan berpikir sehingga para pemain harus melakukan tindakan yang baik dan memperhitungkan apa akibat dari tindakan yang dilakukan tersebut.

A.     Menggunakan Heuristik di Permainan
Game yang penting tes-tempat tidur untuk algoritma heuristik. Dua-orang game yang lebih rumit dari teka-teki yang sederhana karena mereka melibatkan lawan tak terduga

B.     Minimax Prosedur
The Game of Nim: Sejumlah token ditempatkan pada meja di antara dua lawan. Pada masing-masing gerakan pemain harus membagi tumpukan token menjadi dua tumpukan tak kosong dari berbagai ukuran. Jadi, 6 token dapat dibagi menjadi 5 dan 1, 4 dan 2, tetapi tidak 3 dan 3. Pemain pertama yang mampu bergerak kehilangan permainan.

Untuk sejumlah kecil token ruang pencarian dapat dicari secara mendalam. Gambar berikut memberikan ruang lengkap untuk permainan 7-token.

Dalam permainan dua-orang, Anda harus mengasumsikan bahwa lawan Anda memiliki pengetahuan yang sama yang Anda lakukan dan berlaku sebaik yang Anda lakukan. Jadi pada setiap tahap permainan Anda harus menganggap lawan membuat langkah terbaik yang tersedia. Ini adalah dasar dari prosedur minimax.

Dalam minimax, para pemain yang disebut sebagai MAX (pemain) dan MIN (lawan). Keduanya mencoba untuk memaksimalkan gerakan mereka. MAX pemain, mencoba untuk memaksimalkan nilainya. Dan MIN adalah lawan mencoba untuk meminimalkan skor MAX.

Prosedur Minimax pada Pencarian Ruang Lengkap :
1.      Label setiap tingkat dari ruang pencarian sesuai dengan yang bergerak itu di tingkat itu.
2.      Mulai di node daun, setiap label simpul daun dengan 1 atau 0 tergantung pada apakah itu adalah kemenangan bagi MAX (1) atau MIN (0).
3.      Merambat ke atas: jika negara induk MAX, memberikan MAX anak-anaknya.
4.      Merambat ke atas: jika negara induk MIN, MIN memberikan anak-anaknya.

Pertimbangkan grafik minimax untuk Nim permainan. Nilai di negara masing-masing mewakili nilai negara terbaik yang pemain ini bisa berharap untuk mencapai. Nilai-nilai yang diperoleh digunakan untuk memilih di antara alternatif bergerak

·         Heuristik Minimax
Untuk permainan yang paling tidak mungkin untuk memperluas grafik untuk node daun. Sebaliknya strategi n-pindah melihat-depan adalah digunakan. Ruang negara diperluas ke tingkat n. Setiap node daun di subgraf ini diberikan nilai sesuai dengan fungsi evaluasi heuristik. Nilai kemudian disebarkan kembali ke simpul akar. Nilai disebarkan kembali mewakili nilai heuristik dari negara terbaik yang dapat dicapai dari simpul tersebut.
Contoh: Program catur Samuel menggunakan jumlah tertimbang sebagai fungsi evaluasi. Ini menggunakan algoritma pembelajaran sederhana untuk menyesuaikan bobot setelah menang dan kerugian, sehingga program perbaikan dari waktu ke waktu

·         Prosedur Alpha-Beta
Alpha-beta pruning adalah prosedur untuk mengurangi jumlah perhitungan dan mencari selama minimax. Minimax adalah pencarian dua-pass, satu lulus digunakan untuk menetapkan nilai-nilai heuristik ke node pada kedalaman ply dan yang kedua digunakan untuk menyebarkan nilai-nilai sampai pohon.
Alpha-beta hasil pencarian secara mendalam-pertama. Sebuah nilai alpha adalah nilai awal atau sementara terkait dengan node MAX. Karena MAX node diberi nilai maksimum antara anak-anak mereka, nilai alpha tidak dapat menurunkan, hanya bisa naik. Sebuah nilai beta adalah nilai awal atau sementara terkait dengan node MIN. Karena node MIN diberi nilai minimum antara anak-anak mereka, nilai beta tidak pernah dapat meningkatkan, hanya bisa turun.
Misalnya, alpha node MAX = 6. Kemudian cari tidak perlu mempertimbangkan setiap cabang yang berasal dari keturunan MIN yang memiliki nilai beta yang kurang-dari-atau-sama dengan 6. Jadi, jika Anda tahu bahwa node MAX memiliki alpha 6, dan Anda tahu bahwa salah satu keturunan MIN yang memiliki beta yang kurang dari atau sama dengan 6, Anda tidak perlu mencari lebih jauh di bawah simpul MIN. Ini disebut pemangkasan alpha.
Alasannya adalah bahwa tidak peduli apa yang terjadi di bawah simpul MIN, tidak dapat mengambil nilai yang lebih besar dari 6. Jadi nilainya tidak dapat diperbanyak sampai dengan (alpha) orangtua MAX nya.
Demikian pula, jika nilai beta node MIN itu = 6, anda tidak perlu mencari lebih jauh di bawah MAX keturunan yang telah memperoleh nilai alpha dari 6 atau lebih. Ini disebut pemangkasan beta.
Alasannya lagi adalah bahwa apa pun yang terjadi di bawah simpul MAX, tidak dapat mengambil nilai yang kurang dari 6. Jadi nilainya tidak dapat diperbanyak sampai dengan (beta) MIN orangtua nya.

Aturan untuk Alpha-beta Pemangkasan :

·                       Alpha Pemangkasan: pencarian dapat dihentikan di bawah setiap simpul MIN memiliki nilai beta kurang dari atau sama dengan nilai alpha dari setiap leluhur MAX nya.
·         Pemangkasan beta: Pencarian bisa dihentikan di bawah setiap simpul MAX memiliki nilai alpha lebih besar dari atau sama dengan nilai beta dari setiap leluhur MIN nya.

         Kecerdasan buatan (artificial intelligence) merupakan kawasan penelitian, aplikasi dan instruksi yang terkait dengan pemrograman komputer untuk melakukan sesuatu hal yang dalam pandangan manusia adalah cerdas (Simon, 1987). Kecerdasan diciptakan dan dimasukkan ke dalam suatu mesin komputer agar dapat melakukan pekerjaan seperti yang dapat dilakukan manusia.

Arsitektur model AI pada permainan digambarkan dalam Gambar dibawah. Pada level pertama mengandung komponen yang mewakili sensor yang memungkinkan karakter untuk mengamati lingkungan serta state sendiri.Sensors menyaring informasi dan peristiwa serta mengirimnya ke tingkat berikutnya. Tingkat kedua berisi komponen analyzers yang menganalisis atau menghubungkan kejadian dari individu sensor, yang mungkin mengarah pada peristiwa generasi selanjutnya. Komponen memorizer bertugas menyimpan peristiwa yang telah terjadi.

ARSITEKTUR MODEL AI PADA GAME
(Miftachul, 2010)

Strategic deciders adalah komponen yang secara konseptual di tingkat tertinggi abstraksi. Komponen ini harus memutuskan strategi untuk karakter yang didasarkan pada kondisi saat ini dan memori. Pada tingkat berikutnya, tactic deciders merencanakan bagaimana membuat strategi yang dipakai sekarang dapat berjalan dengan baik. Executors atau pelaksana kemudian menerjemahkan keputusan dari tactical deciders untuk perintah tingkat  rendah (low-level commands) sesuai dengan batasan yang digunakan oleh permainan atau simulasi. Komponencoordinators memahami hubungan antar aktuator dan mungkin kembali memberikan perintah tingkat rendah lebih lanjut. Akhirnya, aktuator melakukan tindakan yang diinginkan.
Contoh penarapan AI pada permainan Call of Duty terlihat begitu baik. Tidak heran jika permainan tersebut menjadi permainan yang sangat populer diantara jenis permainan FPS lainnya. Tokoh BOT atau karakter musuh dalam permainan dapat menyerang pemain dengan baik. BOT juga tidak hanya diam di suatu tempat saja. Dia akan berpatroli seolah-olah sedang terus mencari pemain untuk ditembak. Jika posisi pemain berada dalam area patroli BOT, maka BOT akan menembak pemain sambil terus mendekati pemain. Namun BOT tidak terus terlalu mendekat ke pemain. Dia membatasi jarak terdekat dari pemain. Hal ini sesuai dengan logika manusia bahwa senjata api dapat digunakan dalam jarak yang jauh. Justru akan terlihat aneh jika senjata perang ditembakkan dalam jarak yang sangat dekat.

Bagaimana ? sudah jelas belum? Belum? Jika kamu masih penasaran yuk simak jurnal berikut ini J


Implementasi Adaptive Artificial Intelligence pada game Capture The Flag dengan metode Dynamic Scripting
(1Chandra Mahendra, 2Vera Suryani, ST. MT., 3Gandeva Bayu, ST.MT)
Primawan Satrio1, Agung Toto Wibowo, S.T.,  M.T. 2, Bayu Munajat, S.T., M.T.3
1primawan.satrio@gmail.com, 2agungtoto@telkomuniversity.ac.id, 3bayumunajat@telkomuniversity.ac.id
Abstract
Artificial Intelligence (AI) sudah dipelajari semenjak tahun 1956 saat John McCarthy mengadakan konferensi akademik pertama  nya,  dan  masih  berkembang  hingga  sekarang  karena bidang ini masih sangat sukar dipahami di bidang ilmu komputer. AI mencakup dari mesin yang mampu berpikir, hingga mampu berkembang  dan  beradaptasi  terhadap  lingkungan  nya  dengan tujuan menjadi pemodelan lingkungan yang ada sekarang. Dengan pemodelan  yang  real-time,  diharapkan  bisa  membantu  untuk pengambilan proses keputusan dengan kasus yang lebih kompleks. Game Capture The Flag merupakan salah satu metode yang bisa menggambarkan  secara  real-time  karena  dengan  kedua  pihak mempunyai sumber daya yang sama, dan mengandalkan strategi untuk      memenangkan      permainan.      Tetapi      salah      satu permasalahannya ada pada AI game tersebut Kebanyakan AI yang ada  bersifat  statis,  sehingga  pemain  cepat  bosan  karena  pola permainan AI tersebut sudah bisa ditebak.Dengan  alasan  tersebut,  penulis  merekomendasikan  Dynamic
Scripting sebagai  metode untuk mengatasi AI statis dengan meng- implementasikan Adaptive Artificial Intelligence (AAI) pada studi kasus Capture The Flag. Dengan parameter performansi yaitu perbandingan skor antara AAI dengan AI statis .Berdasarkan hasil pada pengujian pada  4  AI statis, didapatkan bahwa AAI pada AI Balanced dan AI Random kurang memperoleh hasil yang memuaskan dengan tinggi nya skor pada AAI. Sedangkan pada AI Greedy dan AI Defender skor yang diperoleh lebih mencapai harapan dengan seimbang nya skor antara AI statis tersebut dengan AAI.

Kata  Kunci  :     reward  and  punishment,  script  generation, adaptive artificial intelligence


I.  LATAR BELAKANG

AI dipakai di pembuatan game. Game yang menarik adalah game yang bisa memberikan pengalaman yang interaktif [1]. Game itu menarik dikarenakan beberapa hal : grafis, gameplay experience, replayability value, dan artificial intelligence (AI) nya. AI yang menarik adalah AI yang bisa bersaing dengan pemain, bukan mengalahkan pemain [2].
Kualitas AI yang ada pada game sekarang masih rendah, sehingga pemain  game lebih  memilih bermain  multi  player  melawan  musuh  yang dikendalikan oleh manusia, karena kualitas AI-nya masih rendah [3]Game  Capture  The  Flag  (CTF)  merupakan  game  yang kompleks   dan   adversarial,   dengan   pemain   yang   saling berkompetisi & tujuan yang membutuhkan keputusan untuk dibuat di level permainan yang berbeda. Tidak seperti game kejar-hidar standar, tujuan dari setiap pemain tidak se-simpel untuk menghindar atau mengejar, tetapi juga bertujuan untuk menyerang dan mempertahankan bendera.
Pendekatan yang serupa juga sering digunakan di game kejar-hindar yang lebih kompleks, seperti game pertarungan udara (eg Ace Combat), dimana peran pemain bisa berubah dari waktu ke waktu [4]. Sistem pakar, logika fuzzy, dan mesin automata telah sukses diaplikasikan di real time games [5]. Bagaimanapun, teknik ini biasanya menghasilkan behavior yg statis yang tidak beradaptasi ke strategi lawan. Jika pemain mampu meng- exploit   kelemahan   AI   game,   pemain   akan   kehilangan minatnya setelah bermain beberapa game dikarenakan tantangan yang kurang menarik.
Terlebih lagi, saat game semakin lama semakin canggih, mengembangkan sebuah AI game menjadi lebih sulit dan kelemahan yg ditimbulkan akan semakin besar. CTF merepresentasikan sebuah game canggih yang membutuhkan manajemen tim yang cerdas untuk memperoleh dua sub-tujuan yang bertolak belakang (mengambil bendera musuh dan melindungi bendera sendiri) sebagaimana layaknya behavior individu yang cerdas.
AI pada game CTF bisa digunakan untuk simulasi militer [6], kontrol lalu lintas udara, serta logistik yang sifatnya komersil [4]. Dengan penggunaan AI pada tempat yang tergolong vital, serta dibutuhkan pengambilan keputusan yang cepat serta akurat. Semakin banyak pengetahuan dan pengalaman yang dimilki pengambil keputusan, maka keputusan yang dibuat akan semakin baik pula. Oleh karena itu, AI yang bisa berkembang sesuai dengan kondisi di lapangan yang terus berubah akan semakin dibutuhkan [7].

II.  DASAR TEORI

A.  Adaptive Artificial Intelligence
Adaptive Artificial Intelligence (AAI) mengacu ke non-player character (NPC) dinamis dimana komputer mampu mengadaptasi game behavior-nya dalam merespon musuhnya, baik ketika sesi bermain game, atau dalam diantara sesi tersebut. Dalam kasus tertentu, penskalaan tingkat kesulitan pada game dinamis menggunakan AAI untuk secara otomatis mengadaptasi parameter game dan behavior pada kondisi real time menurut tingkat keahlian pemain pada game (Tan, C.H,. et al. 2011) , dan pemain bisa dengan mudah mencari celah, dan mengakali AI tersebut. AAI mampu menangani kemungkinan pengambilan keputusan yang besar.
1.      Knowledge Engineering
Pembuatan domain knowledge memerlukan usaha yang besar  dalam  membangunnya. Pengembang game  harus membuat secara manual kodingan yang ada untuk sebuah spesifik   domain   (baik   untuk   memperoleh   behavior strategi atau behavior yang cocok untuk RPG).
2.      Authoring Support
Behavior yang dikembangkan secara manual adalah kode perangkat lunak di sebuah bahasa pemrograman yang kompleks, rentan terhadap kesalahan manusia. Behavior error bisa dalam bug program, atau tidak mencapai hasil yang diinginkan. Tools dibutuhkan untuk mendukung keinginan pengembang game yang pada umumnya tidak ahli dalam bidang kecerdasan buatan.
3.      Unanticipated Situations
Hampir tidak memungkinkan untuk mengantisipasi semua kemungkinan situasi dan strategi pemain saat game berlangsung. Ini membuat AI sulit untuk dibuat se-alami mungkin untuk merespon setiap sikap yang pemain lakukan.
4.      User-specific Adaptation
Pemain mempunyai strategi yang berbeda untuk bermain (untuk game RPG), atau cara yang berbeda dalam penyampaian alur  cerita (untuk game  drama  interaktif, misalnya Visual Novel),  tingkah  karakter  dan  interaksi yang berbeda. Setiap game designer mulai untuk mendesain kemampuan setiap pengguna, strategi AI dan behavior nya harus bisa beradaptasi berdasarkan profil pengguna-nya.
5.      Replayability and variability
Pemain akan mengalami kebosanan saat bermain game yang ke-n kali,dan menjumpai strategi yang sama yang digunakan oleh AI pada game tersebut. Walaupun variasi yang simpel bisa diperoleh melalui seleksi stokastik dari behavior atau strategi dari repository yang besar.
6.      Rhetorical Objectives
Behavior atau strategi yang dikembangkan secara manual bisanya   tidak   mencapai   tujuan   game   secara   tepat. Terutama dalam aplikasi atau domain dalam skala yang cukup besar. Tujuan game bisa berkisar dari hiburan hingga edukasi, dsb. Sehingga, setiap game tersebut harus menyadari bahwa tujuan nya tidak tercapai di basis per- penggunaan, dan berdaptasi sendiri. Sebagai contoh, beberapa user akan bosan, atau tidak mempelajari pelajaran yang dimaksud.
Dan efek implementasi AAI pada game adalah :
·    Meningkatkan pengalaman bermain, karena AAI bisa beradaptasi ke tiap individu untuk menyesuaikan cara

B.  Dynamic Scripting
Dynamic   scripting   (DS)   memenuhi   lima   dari   delapan kebutuhan komputasional dan fungsional, yaitu :
-       Speed      (computational):      DS      cepat      secara komputasional, karena DS hanya membutuhkan ekstraksi dari rulebase dan mengganti bobot setiap perulangan.
-     Effectiveness  (computational):  Efektivitas  dari  DS
teruji ketika semua aturan di rulebase masuk akal, berdasarkan domain knowledge yang sesuai. Setiap aksi dimana agent mengeksekusi melalui skrip yang mengandung  aturan-aturan  ini,  adalah  aksi  yang paling tidak efektif (walaupun itu mungkin tidak sesuai untuk beberapa situasi). Dengan catatan jika seorang pengembang game membuat kesalahan dan memasukkan sebuah aturan yang kurang cerdas di rulebase, teknik DS akan segera  meng-alokasi-kan aturan ini ke bobot nilai terendah. Oleh karena itu, kebutuhan dari efektivitas haruslah terpenuhi bahkan jika rulebase terdapat beberapa aturan yang kurang cerdas. Singkatnya, jika kebanyakan aturan di rulebase adalah kurang cerdas, algoritma DS tidak akan mampu untuk membangkitkan game AI yang cukup.
·         -Robustness      (computational):
algoritma      DS merupakan algoritma yang handal, karena bobot dari sebuah aturan di rulebase merepresentasikan sebuah kegunaan secara statis, diturunkan dari beberapa sampel Fitness yang diharapkan dari skrip yang terdapat   dari   aturan   tersebut. 
Sebuah hukuman(penalty) yang kurang tepat  tidak akan menghilangkan sebuah aturan dari rulebase, dan akan diberi keringanan ketika aturan tersebut dipilih kembali, atau bahkan ketika aturan lain terkena hukuman.   Sama   halnya   ketika   sebuah   hadiah (reward) mengakibatkan sebuah aturan kurang cerdas dipilih lebih sering, dimana hanya mengakibatkan itu akan mengumpulkan hukuman yang kurang cepat lebih cepat.
·         Clarity  (functional):  algoritma  DS  membangkitkan skrip, dimana skripnya bisa dengan mudah dipahami oleh pengembang game.
·         Variety  (functional): algoritma DS  membangkitkan skrip baru untuk setiap agent, dan skrip baru ini menyediakan variasi di behavior nya.




Dynamic scripting adalah teknik online competitive machine- learning untuk game AI, sehingga bisa di-klasifikasi-kan sebagai optimasi stokastik. Dynamic scripting menjaga beberapa rulebase, satu dari setiap kelas agent di dalam game. Setiap kali sebuah instance sebuah agent dibangkitkan, rulebase digunakan untuk membuat skrip baru yang mengendalikan behavior setiap agent. Probabilitas setiap aturan yang ditentukan untuk sebuah skrip dipengaruhi oleh nilai  bobot  yang  dipasang  di  setiap  aturan.  Tujuan  dari dynamic  scripting  adalah  untuk  mengadaptasikan bobot  di setiap  rulebase sehingga nilai  fitness yang diharapkan dari setiap behavior didefinisikan dari skrip yang dibangkitkan meningkat   secara   drastis,   bahkan   di   lingkungan   yang cenderung berubah-berubah.
Rumus yang digunakan untuk team-fitness yaitu :
Dalam rumus team-fitness, g merujuk ke tim, c merujuk ke agent, Ng    N adalah total jumlah agents di tim g, dan ht(c) N  adalah nyawa agent c  di  waktu t.  Hasil dari rumus  ini adalah, apabila sebuah tim memiliki fitness 0, maka dianggap kalah. Dan apabila tum yang memiliki fitness > 0 maka dianggap menang.
Rumus yang digunakan untuk agent-fitness yaitu :

Dimana g adalah tim dimana agent a berada. Rumus ini mengandung empat komponen : (1) F(g), adalah fitness untuk tim g, diturunkan dari rumus team-fitness. (2) A(a)     [0,1], dimana adalah rata-rata dari kemampuan bertahan dari agent a, (3) B(g)    [0,1] dimana adalah parameter nyawa dari semua agents di tim g, dan (4) C(g)    [0,1] dimana adalah parameter besarnya kerusakan yang telah diberikan semua agent di tim lawan g.






























Algorithm 1 Script Generation












Algoritma 1 merepresentasikan prosedur pembangkitan skrip. Di  algoritma ini,  fungsi  ‘InsertInScript’ menambah sebuah baris skrip ke skrip. jika baris skrip tersebut sudah terdapat di skrip, fungsi tersebut tidak mempunyai efek, dan mengembalikan nilai ‘false’. Di sisi lain, baris skrip tersebut dimasukkan dan fungsi nya mengembalikan nilai ‘true’. Algoritma ini bertujuan untuk meletakkan baris 'scriptsize' di dalam skrip, tapi mungkin berakhir dengan baris skrip yang lebih sedikit jika membutuhkan lebih dari percobaan 'maxtries' untuk menemukan sebuah baris baru. Fungsi ‘FinishScript’ menambahkan satu atau lebih bari skrip yang secara umum bisa diaplikasikan ke skrip, untuk meyakinkan bahwa skrip tersebut akan selalu menemukan cara untuk mengeksekusi.

Algorithm 2 Weight Adjustment

Fungsi   ‘CalculateAdjustment’   meng-kalkulasi-kan   hadiah, atau hukuman untuk setiap diterimanya aturan yang telah diaktifkan. Parameter 'Fitness' adalah tolak ukur dari peformansi    skrip    tersebut    ketika    dijalankan.    Fungsi
‘DistributeRemainder’   mendistribusikan   perbedaan   antara total bobot yang sekarang, dan total semua bobot asli.
Secara umum,'Fitness' ini akan diimplementasikan sebagai perulangan di atas semua bobot, menyerahkan sebagian kecil pecahan dari sisa untuk setiap bobot jika itu tidak menyebabkan  bobot  tersebut  melebihi  batas  bobot,  hingga 'remainder' nya nol. Ketika banyak dari bobot di rulebases mencapai batas bobot, ini bisa menjadi proses yang menghabiskan sangat banyak waktu yang benar-benar mengganggu    game play.    Sebagai    solusi,    bagian    dari 'remainder' bisa di bawa ke panggilan penyesuaian bobot berikutnya.

C.  Capture The Flag
Game dengan genre CTF diadaptasi dari genre Real Time Strategy (RTS), atau Turn Based Strategy (TBS). Game CTF merupakan game yang bertujuan dimana setiap tim harus menguasai satu tempat yang dikategorikan sebagai tempat bendera musuh untuk  memenangkan permainan. Pemenang bisa didapat dari tim mana yang paling banyak menguasai tempat bendera musuh, atau hingga waktu yang ditentukan habis. Game CTF memerlukan strategi tim untuk bertahan, dan menyerang tim musuh. Game ini juga membutuhkan kemampuan individual seperti kecepatan berlari, menganalisa medan permainan, dll.

III.  SKENARIO SIMULASI

A.  Analisis Kebutuhan Sistem
Untuk  tahap  perancangan sistem,  simulasi  membutuhkan sebuah tools yang mampi mengimplementasikan 'script generation' & 'weight adjustment' secara online learning, dan parameter performansi yang jelas. Dalam hal ini, parameter performansi yang dimaksud adalah 'skor'.
Proses tahapan dalam membangun simulasi dapat di lihat pada gambar berikut :

B.  Perancangan Simulasi
1.    Blue bot vs red bot
Player akan mengendalikan pihak blue bot untuk melawan red bot.Pemain akan berperan sebagai AI Commander, yang artinya hanya akan memerintahkan secara global, bukan secara mikro seperti game RTS pada umumnya.
2.    Aturan dasar dari AI Sandbox yang digunakan Beberapa  perubahan  seperti  jarak  pandang  bot,  kecepatanberjalan,  waktu  tunda  saat  botberputar  untuk  mengambil posisi menembak akan diseimbangkan lagi apabila diperlukan. Ada tujuh aturan dasar dari game ini, yaitu :
·         Satu  bot  yang  mengambil  posisi  bertahan  di  arah yang tepat, akan selalu menang melawan bot yang menyerang.
·         Satu bot yang menyerang dengan arah yang tepat, akan selalu menang melawan bot yang sedang menyerbu.
·         Dua  bot  yang  menyerang  satu  bot  akan  menang, setelah terdapat satu korban dari pihak yang menyerang
·         Dua  bot  yang  menyerbu  satu  bot  akan  menang, setelah terdapat satu korban dari pihak yang menyerbu.
·          Satu bot yang menyerbu akan menang melawan bot yang bertahan menghadap arah yang kurang tepat.
Untuk konsep bendera, ada dua aturan dasar, yaitu :
·         Saat   ada   bendera  yang  jatuh  setelah  bot   yang membawa ditembak oleh pihak lawan, bendera hanya bisa diambil oleh pihak bot yang membawa sebelumnya.
·         Setelah sekian detik bendera tersebut tidak ada yang mengambil, bendera tersebut akan kembali lagi ke tempat semula.
Untuk konsep bertarung, bot akan otomatis meng-handle ini. Ada tiga aturan dasar yaitu :
·         Jeda  menembak  dari  berjalan  atau  berlari  (jeda menembak dari berlari akan lebih lama)
·         Jeda menembak untuk berputar, dan mengambil garis lurus pada target.
·          Waktu jeda menembak yang konstan (0,5 detik)
3.    AI Commander
AI Commander berperan sebagai otak dari kubu merah atau biru. Disini, AI Commander berperan sebagai strategic level untuk AI pada game ini. Beberapa  aturan  yang  diimplementasikan  untuk  AI Commander ini adalah :



4. Empat perintah global untuk bot
Sebagai AI Commander,  perintah yang bisa diberikan untuk bot adalah :
·         Defend - Bot akan mengambil posisi jongkok, dan fokus membidik musuh di sekitarnya. Membidik berakibat tembakan sangat akurat, dan  mematikan. Akan tetapi jarak pandang terbatas, dan butuh waktu untuk di-set ke posisi seperti ini.
·         Attack   –   Bot   akan   menyerang  ke   posisi   yang ditentukan.  Jika  ada  bot  musuh  yang  terlihat,  bot akan langsung menembak
Charge – Bot akan menyarang ke posisi yang telah ditentukan dengan kondisi berlari. Gerakan ini lebih cepat dari Attack tetapi mendapat pinalti waktu tunda untuk menembak.
·         Move   -   Berjalan   meng-eksplorasi   peta.   Dalam kondisi ini, bot tidak akan menyerang musuh yang masuk dalam jangkauan tembak.

1.1.1Ruang Lingkup Simulasi
Simulasi dijalankan dengan spesifikasi sebagai berikut :
Perangkat lunak

  1. AI Sandbox 0.20.9 dengan 4 AI yang diujikan.
  2.  Eclipse  dengan  plugin  PyDev  untuk  memprogram AAI dengan bahasa Python.
  3. Microsoft   Office   untuk    pengolahan   data    dan penulisan laporan.
Perangkat keras

  1.  Single CPU
  2. 50 GB HDD
  3.  2048 Mb RAM
C.  Skenario Simulasi

Pada simulasi yang dijalankan terdapat berbagai macam faktor yang akan mempengaruhi output yang dihasilkan, baik secara langsung  maupun  tidak  langsung. Untuk itu, perlu didefinisikan terlebih dahulu pemodelan simulasi secara umum untuk mengetahui faktor apa saja yang berpengaruh saat proses simulasi berlangsung.

Capture The Flag SDK adalah simulasi yang digunakan untuk menguji   commander   yang   beradaptasi   lewat   AI   buatan pemain, dan dijalankan dengan AI Sandbox™. AI yang dibuat akan memerintah bot dari tim sendiri, dan beradaptasi untuk mengalahkan tim lawan di beberapa variasi level. Game ini dimainkan oleh dua tim oleh bot, dimana poin nya diperoleh kapanpun sebuah tim mengambil bendera tim lain dan mengembalikan nya ke lokasi dimana bendera mencetak skor. Pemenangnya adalah tim yang mencetak paling banyak poin. Bendera dan bot akan kembali hidup secara sinkron pada interval yang teratur sampai game berakhir. Bot di game ini tidak bisa dikontrol secara interaktif, tetapi mereka dikendalikan oleh AI commander strategis yang dibuat di Python.
Blok  diagram  ini  menjelaskan  tentang  bagaimana  seluruh
proses pada Tugas Akhir ini.

Gambar III.1 Blok diagram simulasi CTF

Penggambaran proses  implementasi untuk  AAI  pada  game CTF ini dijabarkan menjadi lima tahap, yaitu insialisasi gameinfo.py, jalankan class LevelInfo(object), commander memberi perintah(informasi) ke bot, update weight adaptation & learning rate, dan looping hingga skor atau batas waktu yang ditentukan.


Pemodelan AAI dengan Dynamic Scripting
Seiring  dengan  berjalannya  waktu,  knowledge  AAI  akan didesain sehingga mampu mempelajari area permainan, mana area yang berbahaya untuk dilewati sehingga akan cenderung menghindari    jalur     tersebut,     dan     mana     area     yang menguntungkan AAI akan cenderung lebih sering dilewati. Proses yang akan memperbaharui knowledge nya dijabarkan dalam proses berikut :

Gambar III.3 Gambaran proses secara keseluruhan
Data Training
Informasi yang didapat dari pertarungan akan diproses melalufitness function dan weight adjustment. Data akan terus di- update setiap event yang ditentukan terjadi.
Data Fitness didapat
Setelah nilai fitness dan weight didapat, masukkan data yangtelah di proses ke algoritma Commander.
Update knowledge
Tahap akhir, perbaharui knowledge AAI yang ada ke scriptgame.
if bot.flag:
# this bot has flag
if bot.distanceFrom(scoreLocation) > 10:
# still far from scorelocation
greedy_move_using_heuristic_knowledge(scoreLocation)
else:
#   bug-handle   on   being   close   from   targeted- location
go_directly_to_score_location else if team_flag_is_stolen:
prevent_opponent_from_scoring else if bot.instructed_to_revenges:
revenge_team_mate
attacker and defender else:
if bot.attacker:
if team.has_not_found_flag:
search_flag
# a random exploration
#  explored  area  has  less  chance  to  be  re- explored.
else:
if not team.have_flag:
if bot.distanceFrom(flagLocation) > 10:
greedy_move_using_heuristic_knowledge(flagLocation)
else:
# handle on bug when bot is close to target_location
go_directly_to_flag else:
# someone on the team has a flag, but not
this bot
cover_the_flag_carrier else:
# for defender
if bot.far_from_team_flag:
pick_random_position_around_the_flag after_being_close_to_flag:

pick_facing_direction_according_to_event_locations after_looking_at_the_direction:
standby, do nothing until enemy is seen

4 kelas yang akan menjadi kelas utama untuk AAI ini adalah sebagai berikut :
A.    Class Field
Class ini merupakan class yang digunakan untuk menginisiasi array2d, serta indexing [x,y]

B.     Class KnowledgeField
Melakukan perubahan nilai fitness suatu lokasi, dimana area sekitarnya ikut berubah.

C.     Class helper
Merupakan class yang dibuat untuk membantu pengimplementasian AAI pada map dengan berupa penyediaan dictionary, tuple dan index field.

D.    Class Strategy
Class yang mengontrol dari kelas KnowledgeField (Model), dan Instruction (View?)


IV.  HASIL DAN ANALISIS

A.  Analisis Skenario 1













        


V.  KESIMPULAN DAN SARAN
Kesimpulan

Hasil pengujian menggambarkan bahwa AAI memperoleh nilai   paling   baik   saat   diuji   dengan  (sesuai   urutan)   AI Defender, AI Greedy, AI Balanced, dan AI Random.
1.    AAI tidak begitu baik melawan AI Random karena pola nya yang acak.
2.    AAI sangat baik mengahadapi AI Defender karena hanya satu yang menyerang, dan lebih banyak yang bertahan. Disini, bobot heuristik peta kurang ter--
update karena minim konfrontasi di arena simulasi.

Saran

1.    Dibutuhkan riset lebih lanjut terhadap prediksi karakter pemain/AI yang ada. Karena jika hanya menggunakan pengetahuan heuristic, reward and punishment saja tidak cukup.
2.    Diperlukan penanaman knowledge ke database AAI seiring dengan seringnya bertemu dengan lawan yang sama.
3.    Untuk memperluas hasil pengujian, gunakan versi
AI Sandbox yang lebih lama, atau gunakan framework lain untuk menguji AI ini.





DAFTAR PUSTAKA

[1] Alexander Nareyek , Game AI Is Dead. Long Live GameAI!: National Univesity of Singapore, 2007.
[2] J Hagelback and S.J. Johansson , Measuring player experience on runtime dynamic difficulty scaling in an RTS game., 2009.
[3] Schaeffer J, "‘A Gamut of Games’," Artificial IntelligenceMagazine 22(3), pp. 29–46, 2001.
[4] Haomiao Huang and Jerry Ding, A Differential Game Approach to Planning in Adversarial Scenarios: A. Berkeley: NASA (NNA06CN22A) AFOSR, 2011.
[5] J van Waveren and J Rothkrantz, "Artificial player forQuake III arena," International Journal of Intelligent Games& Simulation 1, 2003.
[6] Marc S Atkin , David L Westbrook , and Paul R Cohen , Capture the Flag: Military Simulation Meets Computer Games.: IN PROCEEDINGS OF AAAI SPRING SYMPOSIUM SERIES ON AI AND COMPUTER GAMES,1999.
[7] Bijan Fazlollahi and Mihir A Parikh , Adaptive DecisionSupport Systems.: Georgia State University, 1997.
[8] A Ram , S Ontanon , and M Mehta , Artificial Intelligence for Adaptive Computer Games., 2007.Evolutionary Learning., 2005.
[9] P Spronck and D.W Aha , Automatically Acquiring
Domain Knowledge For Adaptive Game AI Using
·         Pengenalan Komputer” karangan Jogiyanto Hartono, MBA, Ph.D
·         Artificial Intelligence, Sri Kusumadewi, Graha Ilmu Yogyakarta, 2003
·         Artificial Intelligence, Sandi Setiawan, Andi Offset Yogyakarta, 1993
·         Mengenal Artificial Intelligence, Suparman, Andi Offset Yogyakarta, 1991.
·         http://blog-habibie.blogspot.co.id/2012/05/artificial-intelligence-pada-game.html




Yuk Cari tahu di video ini :


Komentar

  1. maaf apakah anda mengerti apa yg anda post? jika mengerti saya ingin menanyakan sesuatu

    BalasHapus

Posting Komentar

Postingan populer dari blog ini

SISTEM OPERASI SECURITY

Sistem Operasi Adalah seperangkat program yang mengelola sumber daya perangkat keras komputer , dan menyediakan layanan umum untuk aplikasi perangkat lunak. Sistem operasi adalah jenis yang paling penting dari perangkat lunak sistem dalam sistem komputer. Tanpa sistem operasi, pengguna tidak dapat menjalankan program aplikasi pada komputer mereka, kecuali program aplikasi booting . Sistem operasi mempunyai penjadwalan yang sistematis mencakup perhitungan penggunaan memori, pemrosesan data, penyimpanan data, dan sumber daya lainnya. Contoh sistem operasi modern adalah Linux , Android , iOS , Mac OS X , dan Microsoft Windows Keamanan Sistem Operasi Pada dasarnya seorang pengguna komputer sangat membutuhkan rasa kenyamanan ketika sedang mengoperasikannya. Kenyamanan tersebut dapat diperoleh salah satunya dari keamanan sistem yang dipakai. Berbicara mengenai keamanan sistem, ada dua hal yang sering diperdebatkan yaitu mengenai istilah keamanan dan proteksi. P...

EVOLUSI KOMPUTER

Komputer , mendengar kata itu  biasanya yang langsung kita pikirkan adalah tekonologi. Tapi tahukah anda? Bagaimana proses evolusi dari dahulu sampai sekarang? Bagaimana dulu sebuah komputer bisa sampai berukuran satu ruangan? dan tahukah anda bahwa komputer atau laptop yang sudah anda gunakan saat ini mengalami evolusi yang sangat panjang? Mari kita lihat sedikit tentang perkembangan komputer dari waktu ke waktu atau yang sering disebut dengan Evolusi Komputer. Sebelum komputer tercipta seperti sekarang ini, salah satu ide pembuatan komputer sebenarnya terjadi karena alat hitung. Berikut beberapa contoh alat hitung yang ada sebelum komputer diciptakan: A. Abacus Menurut Wikipedia : Abacus . Sempoa atau Abacus adalah alat kuno untuk penghitungan yang terbuat dari rangka kayu dengan sederetan poros yang berisi manik - manik yang bisa di geser. Alat ini digunakan untuk melakukan operasi aritmatika seperti penjumlahan, pengurangan, perkalian pembagian dan akar kuadrat.Mu...

SECURITY DATABASE

Keamanan database Keamanan merupakan suatu proteksi terhadap pengrusakan data dan pemakaian data oleh pemakai yang tidak punya kewenangan. Penyalahgunaan Database : Tidak disengaja, jenisnya :  kerusakan selama proses transaksi  anomali yang disebabkan oleh akses database yang konkuren  anomali yang disebabkan oleh pendistribuasian data pada beberapa komputer  logika error yang mengancam kemampuan transaksi untuk mempertahankan konsistensi database.  Disengaja, jenisnya :  Pengambilan data / pembacaan data oleh pihak yang tidak berwenang.  Pengubahan data oleh pihak yang tidak berwenang.  Penghapusan data oleh pihak yang tidak berwenang.  Tingkatan Pada Keamanan Database :  Fisikal : lokasi-lokasi dimana terdapat sistem komputer haruslah aman secara fisik terhadap serangan perusak.  Manusia : wewenang pemakai harus dilakukan dengan berhati-hati untuk mengurangi kemungkinan ...