Tuesday, April 19, 2016

#PetGame Sistem Rancangan Parkir Futuristik dengan Pemindai 5 Sidik Jari

Pada postingan kali ini saya akan membahas menegenai rancangan sistem parkir dengan menggunakan pemindai sidik menggunakan 5 jari.

Keterangan:
1. Dengan menggunakan sidik 5 jari untuk memindai tentu setiap sidik jari setiap orang berbeda-beda
2. Memberikan info mengenai sidik 5 jari orang yang telah dipindai, jam masuk kendaraan dan tanggal
3. Member Card jika kita telah memiliki kartu member sehingga memudahkan pengendara untuk membayar parkir tersebut.
4. Tempat Keluar karcis parkir

Sekian rancangan sistem parkir yang telah saya buat semoga bermanfaat.

Monday, April 18, 2016

#PetGame Konsep AI

Pada kesempatan kali ini saya akan membahas mengenai konsep pada Artifficial Intelegence secara umum. Yuk mari kita ulas mengenai Artifficial Intelegence.

A. Deskripsi Umum AI




Artifficial Intelegence atau kecerdasan manusia merupakan suatu metode atau sistem pada suatu computer yang digunakan dalam mengambil suatu keputusan atau melakukan suatu tindakan layaknya cara berfikir seperti manusia. Artifficial Intelegence juga dapat diartikan suatu studi bagaimana membuat komputer dapat mengerjakan sesuatu yang pada saat ini, orang dapat mengerjakan lebih baik. Komputer pada saat ini tidak lagi hanya digunakan sebagai alat hitung, lebih dari itu komputer diharapkan untuk dapat diberdayakan untuk mengerjakan sesuatu yang bisa dikerjakan oleh manusia. Sebagai contoh adalah kemampuan untuk menjawab diagnosa dan pertanyaan pelanggan, perencanaan dan penjadwalan, pengendalian, serta pengenalan tulisan tangan, suara dan wajah. Hal-hal seperti itu telah menjadi disiplin ilmu tersendiri, yang memusatkan perhatian pada penyediaan solusi masalah di kehidupan yang nyata. 

Sebenarnya, manusia dapat menyelesaikan masalah yang ada dengan pengetahuan dan pengalaman yang cukup tapi tidak cukup baik dalam menggunakannya dan semakin banyak bekal pengetahuan yang dimiliki oleh seseorang tentu saja diharapkan akan lebih mampu dalam menyelesaikan permasalahan. Namun bekal pengetahuan saja tidak cukup, manusia juga diberi akal untuk melakukan penalaran, mengambil kesimpulan berdasarkan pengetahuan dan pengalaman yang mereka miliki. Demikian juga dengan kemampuan menalar yang sangat baik, namun tanpa dibekali pengetahuan dan pengalaman yang memadai, manusia juga tidak akan bisa menyelesaikan masalah dengan baik (Sri Kusumadewi, 2003).


Terdapat beberapa tujuan dari Artifficial Intelegence diantaranya adalah
  • Untuk mengembangkan metode dan sistem untuk menyelesaikan masalah, masalah yang biasa diselesaikan melalui aktifivitas intelektual manusia, misalnya pengolahan citra, perencanaan, peramalan dan lain-lain, meningkatkan kinerja sistem informasi yang berbasis komputer.
  • Untuk meningkatkan pengertian/pemahaman kita pada bagaimana otak manusia bekerja.
Kelebihan Artificial Intelligence:
  • Artificial Intelligence bersifat konsisten dan teliti
  • Artificial Intelligence lebih bersifat permanent.
  • Artificial Intelligence dapat lebih murah daripada kecerdasan alami.
  • Artificial Intelligence menawarkan kemudahan untuk digandakan atau disebarkan.
  • Artificial Intelligence dapat di dokumentasi.

Implementasi kecerdasan buatan dapat diterapkan pada bidang:

Visualisasi komputer
Contohnya mengenali sebuah pola pada suatu gambar.

Pengenalan Suara
Contohnya perintah komputer dengan menggunakan suara user.

Sistem Pakar
Contohnya program komputer yang dapat mendiagnosa penyakit dengan memasukan gejala-gejala yang dialami pasien.

Permainan
Contohnya permainan yang memiliki fasilitas orang melawan komputer. Komputer sudah di program sedemikian rupa agar memiliki cara bermain seperti seorang manusia bahkan bisa melebihi seorang manusia.

B. Decision Making
Making decision atau membuat keputusan adalah suatu proses memilih alternative atau cara tertentu dari beberapa alternative yang ada. Pengambilan keputusan merupakan fungsi utama dari seorang manajer dalam suatu organisasi atau perusahaan. Oleh karena itu, setiap proses membentuk kebijakan umum atau kebijakan organisasi adalah hasil dari suatu proses mengambil keputusan, yaitu memilih di antara beberapa alternative, yang akhirnya ditetapkan sebagai kebijaksanaan organisasi. Setiap informasi biasanya dihimpun dengan cara yang sudah ditentukan, sesuai dengan teknik-teknik pemecahan masalah. 

Terdapat beberapa faktor dalam mengambil sebuah keputusan yaitu
  • Faktor Orang
  • Faktor Psikologis
  • Faktor Fisik
  • Faktor Sasaran
  • Faktor waktu
  • Faktor Pelaksanaan

Decision Tree



Dalam dunia teknik informatika pohon keputusan adalah salah satu teknik data mining yang sering digunakan dalam pengambilan suatu keputusan dengan menggunakan cara graf yang mempunyai akar, batang dan daun. Bagian awal dari pohon keputusan ini adalah titik akar, sedangkan setiap cabang dari pohon keputusan merupakan pembagian berdasarkan hasil uji, dan titik akhir atau daun merupakan pembagian kelas yang dihasilkan. Dengan menggunakan graf itu juga kita akan menarik kesimpulan dari pohon keputusan tersebut. 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 sedangkan metode pohon keputusan mengubah fakta yang sangat besar menjadi pohon keputusan yang merepresentasikan rule.

Konsep Pohon Keputusan


Kelebihan Decision Tree
  • Tidak memerlukan biaya yang mahal saat membangun algoritma
  • Mudah untuk diinterpetasikan
  • Mudah mengintegrasikan dengan sistem basis data
  • Memiliki nilai ketelitian yang lebih baik
  • Dapat menemukan hubungan tak terduga dan suatu data
  • Dapat menggunakan data pasti/mutlak atau data kontinu
  • Mengakomodasi data yang hilang
Kekurangan Decision Tree
  • Terjadi overlap terutama ketika kelas-kelas dan criteria yang digunakan jumlahnya sangat banyak. Hal tersebut juga dapat menyebabkan meningkatnya waktu pengambilan keputusan dan jumlah memori yang diperlukan.
  • Pengakumulasian jumlah error dari setiap tingkat dalam sebuah pohon keputusan yang besar.
  • Kesulitan dalam mendesain pohon keputusan yang optimal.

State Machine

Finite State Machine (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. FSM juga dapat memproses input dan menghasilkan transisi dari state satu ke state lain atau menghasilkan output berupa aksi. Berdasarkan sifatnya, metode FSM ini sangat cocok digunakan sebagai basis perancangan perangkat lunak pengendalian yang bersifat reaktif dan real time.

Contoh Diagram Finite State Machine

Diagram tersebut memperlihatkan FSM dengan dua buah state dan dua buah input serta empat buah aksi output yang berbeda : seperti terlihat pada gambar, ketika sistem mulai dihidupkan, sistem akan bertransisi menuju state0, pada keadaan ini sistem akan menghasilkan Action1 jika terjadi masukan Event0, sedangkan jika terjadi Event1 maka Action2 akan dieksekusi kemudian sistem selanjutnya bertransisi ke keadaan State1 dan seterusnya.

FSM terdiri dari dua jenis, yaitu FSM ber-output dan FSM tidak ber-output. FSM tidak ber-output digunakan untuk pengenalan bahasa dalam komputer, dengan input yang dimasukkan akan diperoleh apakah input tersebut dikenal oleh bahasa komputer atau tidak. Salah satu penggunaan FSM tidak ber-output adalah program compiler, yaitu program untuk memeriksa apakah perintah yang digunakan pengguna benar atau salah. Sementara untuk FSM ber-output digunakan untuk merancang mesin atau system.

Ada dua metode utama untuk memperlakukan FSM untuk menghasilkan output yaitu,
  • Moore Machine
  • Mearly Machine
Salah satu keuntungan 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.

Rule-Based System

Rule based System adalah jalan untuk menyimpan atau mengubah pengetahuan untuk memberikan informasi yang berguna. Rule based System juga merupakan model yang relatif sederhana yang dapat disesuaikan dengan sejumlah masalah. Biasanya sistem ini diimplementasikan dengan aplikasi Artificial Intelligence. Rule based mengandung aturan If-Then dalam pengimplementasinya. sistem berbasis aturan ini mempunyai keunggulan dan keterbatasan yang perlu dipertimbangkan sebelum memutuskan apakah itu merupakan teknik yang tepat digunakan dalam pemecahan masalah yang ada. Sehingga, rule based system dibentuk untuk system pakar.

Terdapat beberapa aturan dalam membuat Rule-Base System diantaranya adalah
  • Sekumpulan fakta yang mewakili working memory. 
  • Sekumpulan aturan.
  • Kondisi yang menentukan bahwa solusi telah ditemukan atau belum ditemukan.
Dalam pengerjaannya sistem berbasis aturan menggunakan teknik yang sederhana, dimulai dengan aturan yang berisi mengenai semua pengetahuan dari masalahan yang ada kemudian akan diubah kedalam aturan IF-THEN dan sebuah tempat penyimpanan yang mengandung data, pernyataan dan informasi awal. Sistem akan memeriksa semua aturan kondisi IF yang menentukan subset, set konflik yang ada. Jika ditemukan, maka sistem akan melakukan kondisi THEN. Perulangan atau looping ini akan terus berlanjut hingga salah satu atau dua kondisi bertemu, jika aturan tidak ditemukan maka sistem tersebut harus keluar dari perulangan atau akan terminate.

C. Pathfinding


Pathfinding merupakan suatu Algoritma yang digunakan untuk pencarian jalur, misal kita akan mencari jalur awal ke jalur tujuan maka algoritma yang kita gunakan adalah algoritma pathfinding. Algoritma ini juga biasanya digunakan dalam game AI seperti game mario bros atau pacman yang dalam memainkannya mencari atau menemukan jalur yang tepat dan cepat tetapi tidak akan ditemukan oleh musuh.

Salah satu algoritma pada pathfinding yang digunakan adalah algoritma A* yaitu algoritma pencarian graf/pohon yang mencari jalur dari satu titik awal ke sebuah titik akhir yang telah ditentukan, algoritma ini merupakan salah satu contoh Best First Seacrh. Algoritma A* ini menggunakan pendekatan heuristik h(x)  yang memberikan peringkat ke tiap-tiap titik x dengan  cara memperkirakan rute terbaik yang dapat dilalui dari titik tersebut. Selain itu pendekatan algoritma A* ini juga menggunakan 3 macam fungsi heuristik yaitu Manhattan Distance, Straight Line Distance dan Diagonal Distance. Beberapa terminologi dasar yang terdapat pada algoritma ini adalah starting point, simpul (nodes), A, open list, closed list, harga (cost), halangan (unwalkable).

Waypoint

Pengertian dari waypoint adalah koordinat yang berhubungan dengan tempat menarik dan dapat dijadikan tempat kepentingan umum atau lokasi yang berhubungan dengan sesuatu yang sedang kita cari. Koordinat Waypoint diformat dengan cara yang berarti sesuatu untuk anda perangkat navigasi GPS (Global Positioning System). Namun, waypoint tidak hanya digunakan untuk pemetaan saja, waypoint juga digunakan pada game yang berguna untuk pergerakan dalam map salah satu contohnya adalah pada game Counter Strike dimana pergerakan bot diatur secara manual, dengan menggunakan titik yang digunakan sebagai status pergerakan bot didalam map game. Sehingga bot pun tidak begitu beradaptasi dengan lingkungan sekitarnya.

Waypoint pada Game Counter Strike

Waypoint dibagi menjadi dua jenis, yaitu waypoint fly by dan waypoint fly over. Waypoint fly by tidak melewati lokasi di atas way point namun tetap menuju ke arah tujuan, sedangkan waypoint fly over melewati lokasi di atas way point. Setelah satu waypoint terlewati, maka pilot harus menetapkan waypoint berikutnya yang disebut dengan waypoint aktif.

D. Tactile & Strategic AI

Dalam pembahasan terakhir ini adalah mengenai Tactile dan Strategi yang biasa digunakan pada AI. 

Strategic Deciders adalah komponen yang secara konsep di tingkat tertinggi dalam 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 sesuai dengan batasan yang digunakan oleh permainan atau simulasi. Komponen coordinators memahami hubungan antar aktuator dan mungkin kembali memberikan perintah tingkat rendah lebih lanjut. Akhirnya, aktuator melakukan tindakan yang diinginkan. 


Sumber:
http://informatika.web.id/category/kecerdasan-buatan/
http://www.temukanpengertian.com/2013/08/pengertian-artificial-intelligence.html
http://elektronika-dasar.web.id/kecerdasan-buatan-artificial-intelegence-ai/
http://www.temukanpengertian.com/2013/09/pengertian-membuat-keputusan.html
http://www.lepank.com/2012/07/pengertian-keputusan-decision.html
http://demo.pohonkeputusan.com/tugas-akhir/admin/media.php?module=lain-lain&act=tentang_pohon_keputusan&ckattempt=1
http://repository.usu.ac.id/bitstream/123456789/24728/3/Chapter%20II.pdf
http://ilmukomputer.org/2007/03/27/algoritma-backward-chaining-pada-rule-based-expert-system/
http://ai-depot.com/Tutorial/RuleBased.html
http://eprints.binus.ac.id/7978/1/LBM04-120-abstrak.pdf
http://informatika.stei.itb.ac.id/~rinaldi.munir/TeoriKomputasi/2015-2016/Makalah2015/Makalah-IF5110-2015-005.pdf

Saturday, April 16, 2016

#PetGame Konsep Pembuatan Script Game

Dalam membuat game kita harus mengetahui konsep apa saja yang akan kita buat dengan mengetahui konsep game tersebut, maka akan memudahkan kita dalam pembuatannya dan tidak perlu pusing atau memikirkan lagi apa yang akan kita buat. Konsep pembuatan script pada game adalah salah satunya meskipun masih banyak lagi konsep pembuatan game, namun kali ini saya akan menjelaskan konsep pembuatan script game yang meliputi Scenario, Script dan Storyboard. 
Mari kita bahas satu per satu konsep pembuatan script pada game tersebut, cekidot :)  

A. Skenario


Sama seperti halnya pada film, skenario merupakan satu satu komponen penting jika kita ingin membuat suatu game atau film, dengan tidak adanya skenario maka kita akan kesulitan dalam pembuatannya. Secara umum skenario merupakan urutan dasar dari suatu peristiwa yang disusun secara rapih agar sesuai dengan yang kita inginkan, pada dunia game juga terdapat skenario yang dinamakan skenario game atau design document. Sehingga, sama seperti umumnya pada skenario, skenario game merupakan langkah awal jika kita ingin membuat suatu game dengan begitu akan mempermudah mengerjakannya atau lebih tepatnya design document merupaka blueprint dari suatu game yang akan kita buat. Skenario game juga merupakan gabungan dari semua dokumen secara detai mengenain game yang direncanakan.


Pada design dokument itu sendiri terdapat beberapa poin penting untuk menunjang pembuatan suatu game seperti gambaran garis besar cerita game tersebut, mekanisme gameplay, gaya game, kerangka cerita pada game, karakteristik game dll. Pada design dokumen juga tidak baku atau selama bisa dirubah atau diperbaharui maka kita bebas untuk merubah dan memperbaharui semua design dokumen tersebut. Namun sebenarnya pada design dokumen game tersebut tidak terdapat aturan yang mengikat sehingga design dokumen tersebut tergantung dalam pada setiap proyek game yang akan kita buat.

B. Script

Script juga merupakan salah satu konsep dalam pembuatan game juga dalam bidang perfileman, pemrograman sangat membutuhkan konsep script. Pada setiap game yang mudah atau dengan level sulit sekalipun juga terdapat sebuah script.


 Script adalah salah satu bahasa pemrograman dengan tingkat kesulitan yang lebih rendah dan tanpa menggunakan aplikasi intrepreter dan fungsi dari menyusun script dalam membuat suatu game adalah agar game dapat berjalan dengan lancar, tanpa bug dan mampu menjalankan dengan hardware yang seminimum mungkin. Biasanya bahasa pemrograma yang digunakan untuk menyusun suatu script pada game adalah C++, C dan JAVA.

Sebuah Script memiliki tahapan yang berbeda yaitu dengan memeriksa situasi, memeriksa kesehatan, menentukan gerakan, rancana rute dan melaksanakan gerakan. Semua itu digabungkan dalam satu script yang berguna sebagai penyekat antara setiap bagian.

C. Storyboard


Sama seperti pada umumnya, pada setiap game memiliki storyboard seperti game RPG yang memiliki alur cerita sehingga menarik dan membuat penasaran untuk menyelesaikan game tersebut. Namun, apa itu storyboard? dan apa fungsinya? mari kita bahas lebih lanjut.


Storyboard adalah sebuah gambaran ide yang berbentuk nyata dari suatu game atau aplikasi yang akan kita buat sehingga memiliki gambaran dari apa yang dihasilkan atau dibuat, bisa dibilang storyboard adalah visual script yang akan dijadikan outline dari suatu proyek yang dibuat. Storyboard juga dapat ditampilkan satu per satu yang dinamakan scene sama seperti pada pembuatan film yang memiliki storyboard. Fungsi dari storyboard adalah untuk menjelaskan narasi dari alur sebuah cerita, storyboard juga memiliki peran dalam waktu sequence, sudut pandang kamera, perpindahan elemen dalam satu frame. Bisa dibilang storyboard merupakan blueprint dari sebuah game yang akan kita buat. Storyboard juga mencakup konsep komunikasi, ungkapan teknik, kreatif dan media yang menyampaikan pesan secara visual dan juga dengan audio yang diolah dengan elemen grafis berupa bentuk, gambar warna dan huruf.

Storyboard dapat dibentuk dengan dua cara yaitu,
  • Penggambaran cerita dalam bentuk strip
  • Penggambaran dengan menggunakan simbol
Dan jangan lupa dari setiap storyboard yang dibentuk dengan dua cara tersebut harus diberi penjelasan yang jelas sehingga dapat mengerti apa yang dimaksud pada storyboard tersebut.