IMPLEMENTASI KONSEP KECERDASAN BUATAN DALAM
RANCANG BANGUN GAME BRICK BREAKER
SKRIPSI
WULAN AYUNI
091421050
PROGRAM STUDI S-1 EKSTENSI ILMU KOMPUTER
DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS SUMATERA UTARA
IMPLEMENTASI KONSEP KECERDASAN BUATAN DALAM RANCANG
BANGUN GAMEBRICK BREAKER
SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat mencapai gelar Sarjana Komputer
WULAN AYUNI 091421050
PROGRAM STUDI S1 EKSTENSI ILMU KOMPUTER DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA
PERSETUJUAN
Judul : IMPLEMENTASI KONSEP KECERDASAN
BUATAN DALAM RANCANG BANGUN GAME BRICK BREAKER
Kategori : SKRIPSI
Nama : WULAN AYUNI
Nomor Induk Mahasiswa : 091421050
Program Studi : SARJANA (S1) ILMU KOMPUTER Departemen : ILMU KOMPUTER
Fakultas : MATEMATIKA DAN ILMU PENGETAHUAN
ALAM (FMIPA) UNIVERSITAS SUMATERA UTARA
Diluluskan di Medan, 2011
Komisi Pembimbing :
Pembimbing 2 Pembimbing 1
Drs. Agus Salim Harahap, M.si Prof.Dr.Muhammad Zarlis NIP 195408281981031004 NIP 195707011986011003
Diketahui/Disetujui oleh
Departemen Ilmu Komputer FMIPA USU Ketua,
PERNYATAAN
IMPLEMENTASI KONSEP KECERDASAN BUATAN DALAM RANCANG
BANGUN GAMEBRICK BREAKER
DRAFT SKRIPSI
Saya mengakui bahwa skripsi ini adalah hasil kerja saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.
Medan, Juni 2011
PENGHARGAAN
Alhamdulillah, puji dan syukur penulis panjatkan kepada Allah SWT yang telah memberikan rahmat dan karuniaNya, sehingga penulis dapat menyelesaikan penyusunan skripsi ini dengan tepat waktu sebagai syarat untuk memperoleh gelar sarjana pada program studi S1 Ilmu Komputer Universitas Sumatera Utara.
Ucapan terima kasih saya sampaikan kepada Prof.Dr.Muhammad Zarlis selaku dosen pembimbing pertama dan Drs. Agus Salim Harahap, M.si selaku dosen pembimbing kedua yang telah banyak meluangkan waktunya dalam memberikan masukan-masukan dan arahan kepada penulis untuk menyelesaikan skripsi ini. Ucapan terima kasih juga ditujukan kepada Drs. Marihat Situmorang, M.Kom selaku dosen penguji pertama dan Ade Candra, ST, M.Kom selaku dosen penguji kedua. Tak lupa pula terima kasih penulis kepada Ketua Program Studi Ekstensi Ilmu Komputer Dr. Poltak Sihombing, M.Kom dan Sekretaris Program Studi Ilmu Komputer Maya Silvi lydia, B.Sc, M.Sc serta kepada Dekan dan Pembantu Dekan Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Sumatera Utara, dan semua dosen dan pegawai di Program Studi S1 Ilmu Komputer Departemen Ilmu Komputer FMIPA USU.
Tidak lupa juga penulis ucapkan terima kasih kepada keluarga tercinta, Ayahanda Isril dan Ibunda Ratna Sari atas doa dan dorongan yang telah diberikan, serta kedua abang saya Zelvian Shella dan Ringgus Savard atas dukungannya baik materil maupun moril. Untuk Tommy Rinaldi terima kasih untuk selalu menjadi penyemangat baik dalam susah maupun senang. Kepada teman-teman seperjuangan di S1 Ekstensi Ilmu Komputer Kom B 2009 yang tidak dapat disebutkan satu persatu.
Dalam Penyusunan skripsi ini penulis menyadari bahwa masih banyak kekurangan, untuk itu penulis mengharapkan saran dan kritik yang bersifat membangun dari semua pihak demi kesempurnaan tugas akhir ini.
ABSTRAK
Game sebagai media hiburan telah berkembang dengan pesat seiring dengan berkembangnya juga teknologi. Salah satu unsur yang berperan penting dalam sebuah game adalah kecerdasan buatan. Dengan kecerdasan buatan, diharapkan elemen-elemen dalam game dapat berperilaku sealami mungkin layaknya manusia. Dalam permainan Brick Breaker ini penulis menerapkan konsep logika fuzzy dalam menentukan kekuatan dan kelincahan papan pemantul bola terhadap datangnya bola. Di dalam perancangan game ini, penulis menggunakan perangkat lunak Adobe Flash CS3. Diharapkan dengan pembuatan game ini akan memberikan wacana baru tentang game dan menambah pengetahuan penulis tentang cara membuat suatu game.
IMPLEMENTATION OF ARTIFICIAL INTELLIGENCE CONCEPT IN DESIGNING THE GAME BRICK BREAKER
ABSTRACT
Games as a medium of entertainment has grown rapidly along with the development of technology as well. One of the elements that play an important role in a games is artificial intelligence. With artificial intelligence, expected elements in the games can act as natural as possible like human being. In this Brick Breaker games, the author apply the concept of fuzzy logic in determining the strength and agility of reflector board of the ball against the arrival of the ball. In designing of this game, the author use the software Adobe Flash CS3. Expected with the making of this game will give a new discourse about the game and increase the knowledge of author about how to design a games.
DAFTAR ISI
1.1 Latar Belakang Masalah 1
1.2 Rumusan Masalah 3
1.3 Batasan Masalah 3
1.4 Tujuan Penelitian 4
1.5 Manfaat Penelitian 4
1.6 Metode Penulisan 5
1.7 Sistematika Penulisan 6
Bab 2 Landasan Teori 8
2.1 Pengertian Komputer 8
2.2 Pengertian Kecerdasan Buatan 10
2.2.1 Lingkup Kecerdasan Buatan Pada Aplikasi Komersial 12
2.2.2 Soft Computing 13
2.4.3 Jenis-Jenis Fungsi Keanggotaan 23
2.4.3.1 Fungsi Representasi Linier 23 2.4.3.2 Fungsi Keanggotaan Segitiga 25 2.4.3.3 Fungsi Keanggotaan Trapesium 25 2.4.3.4 Representasi Kurva Bahu 26 2.4.4 Operator Dasar Zadeh untuk Operasi Himpunan Fuzzy 27
2.5 Sekilas Tentang Adobe Flash CS3 29
2.4.1 Lingkungan Kerja Adobe Flash CS3 29
2.4.2 Action Script 38
3.1 Flowchart 39
3.2 Penerapan Logika Fuzzy 46
3.2.1 Menghitung Fungsi Keanggotaan 48
3.2.2 Operasi Himpunan Fuzzy 53
3.3 Storyboard 55
3.4 Perancangan Tampilan
Bab 4 Implementasi 58
4.1 Implementasi 58
4.2 Persiapan 58
4.3 Tampilan Aplikasi Permainan 59
Bab 5 Kesimpulan dan Saran 63
5.1 Kesimpulan 63
5.2 Saran 64
Daftar Pustaka 65
DAFTAR TABEL
Halaman
3.1 Simbol-simbol Pada Flowchart 40
DAFTAR GAMBAR
Halaman
2.1 Grafik himpunan fuzzyuntuk bilangan yang mendekati 10 21
2.2 Himpunan fuzzypada variabel temperatur 22
2.3 Fungsi Representasi Linier Naik 24
2.4 Fungsi Representasi Linier Turun 24
2.5 Grafik Fungsi Keanggotaan Segitiga 25
2.6 Grafik Fungsi Keanggotaan Trapesium 26
2.7 Representasi Kurva Bahu 27
2.8 Operasi Union Himpunan Bagian A dan B 28
2.9. Operasi Intersection Himpunan Bagian A dan B 28
2.10 Welcome Screen 30
2.11 Tampilan Default Workspace 31
2.12 Panel Tool atau Toolbox 33
2.13 Timeline 35
2.14 Timeline property 1 35
2.15 Timeline Property 2 36
2.16 Stage 37
2.17 Panel Property Inspector 38
3.1 Flowchart Menu Awal 43
3.2.Flowchart Alur Permainan 45
3.3 Himpunan Fuzzy pada variabel Kekuatan 47
3.4 Himpunan Fuzzy Pada Variabel Agility 47
3.5 Himpunan Fuzzy: Cepat (Agility) 49
3.6 Himpunan Fuzzy: Lambat (Agility) 50
3.7 Himpunan Fuzzy: Sedang (Agility) 50
3.8 Himpunan Fuzzy: Kuat (Kekuatan) 51
3.9 Himpunan Fuzzy: Lemah (Kekuatan) 51
3.10 Himpunan Fuzzy: Sedang (Kekuatan) 52
3.11 Tampilan Awal Game 56
3.12 Tampilan Layar Utama Game 57
3.13 Tampilan Layar Hasil Permainan 57
4.1 Tampilan Awal Game 59
4.2 Tampilan Layar Utama Game (Mode Beginning) 60 4.3 Tampilan Layar Utama Game (Mode Normal) 61 4.4 Tampilan Layar Utama Game (Mode Beginning) 61
ABSTRAK
Game sebagai media hiburan telah berkembang dengan pesat seiring dengan berkembangnya juga teknologi. Salah satu unsur yang berperan penting dalam sebuah game adalah kecerdasan buatan. Dengan kecerdasan buatan, diharapkan elemen-elemen dalam game dapat berperilaku sealami mungkin layaknya manusia. Dalam permainan Brick Breaker ini penulis menerapkan konsep logika fuzzy dalam menentukan kekuatan dan kelincahan papan pemantul bola terhadap datangnya bola. Di dalam perancangan game ini, penulis menggunakan perangkat lunak Adobe Flash CS3. Diharapkan dengan pembuatan game ini akan memberikan wacana baru tentang game dan menambah pengetahuan penulis tentang cara membuat suatu game.
IMPLEMENTATION OF ARTIFICIAL INTELLIGENCE CONCEPT IN DESIGNING THE GAME BRICK BREAKER
ABSTRACT
Games as a medium of entertainment has grown rapidly along with the development of technology as well. One of the elements that play an important role in a games is artificial intelligence. With artificial intelligence, expected elements in the games can act as natural as possible like human being. In this Brick Breaker games, the author apply the concept of fuzzy logic in determining the strength and agility of reflector board of the ball against the arrival of the ball. In designing of this game, the author use the software Adobe Flash CS3. Expected with the making of this game will give a new discourse about the game and increase the knowledge of author about how to design a games.
BAB 1
PENDAHULUAN
1.1. Latar Belakang
Kecepatan perkembangan software saat ini cukup pesat, tidak hanya dalam hal
software aplikasi saja, tetapi juga didalam dunia game. Game dibuat untuk digunakan
sebagai sarana menghibur diri saat penat maupun saat stress. Game sendiri merupakan
sebuah aplikasi sederhana yang dapat di buat dari beberapa macam software. Adapun
bahasa pemrograman yang sering dipakai dalam pembuatan game antara lain pascal,
phyton, borlan, delphi dan juga software- software pendukung yang digunakan dalam
desain grafis seperti Macromedia flash, panel studio, 3d max, atupun sejenis Adobe
illustrator.
Sebenarnya game dapat dibuat sendiri, meskipun untuk membuat game
tersebut dikatakan sangat rumit, walaupun hanya sebuah game sederhana. Salah satu
software yang saat ini banyak digunakan untuk membuat game mulai dari jenis game
sederhana sampai game yang rumit adalah Adobe Flash. Adobe Flash adalah sebuah
program animasi yang telah banyak digunakan oleh para desainer untuk menghasilkan
desain yang menarik, baik animasi interaktif maupun animasi non interaktif.. Diantara
program-program animasi lain, program Adobe Flash merupakan program yang paling
fleksibel untuk membuat animasi sehingga banyak yang menggunakan program
tersebut. Dengan menggunakan fasilitas pada Adobe Flash CS3 ini, dapat dihasilkan
game yang kualitas gambarnya baik, karena didalamnya terdapat tool- tool yang
sangat menarik dan bagus, akan tetapi untuk mendapatkan game yang memiliki
kualitas baik harus didukung dengan animasi dan sound yang baik pula. Selain itu
untuk menghasilkan game yang baik dalam Adobe Flash CS3 juga dilengkapi dengan
baik. Dengan menggunakan fasilitas Adobe Flash CS3 bukan tidak mungkin pecinta
game dapat membuat game sendiri sesuai keinginannya.
Salah satu unsur yang berperan penting dalam sebuah game adalah kecerdasan
buatan. Artificial Intelligence (AI) atau kecerdasan buatan merupakan suatu program
komputer yang bertindak dan berpikir seperti manusia dan juga bertindak dan berpikir
secara rasional pada saat yang bersamaan. Dengan kecerdasan buatan, elemen-elemen
dalam game dapat berperilaku sealami mungkin layaknya manusia. Game playing
(permainan game) merupakan bidang AI yang sangat populer berupa permainan antara
manusia melawan mesin yang memiliki intelektual untuk berpikir. Komputer dapat
bereaksi dan menjawab tindakan-tindakan yang diberikan oleh lawan mainnya.
Ribuan macam permainan komputer telah dibuat dan dikembangkan. Game AI
menggunakan teknik-teknik kecerdasan buatan namun dengan penerapan yang lebih
sederhana dikarenakan keterbatasan komputasi dan kemampuan penyimpanan data
pada game. Salah satu metode dalam kecerdasan buatan yang dapat diaplikasikan
dalam games adalah logika fuzzy. Logika fuzzy adalah suatu bentuk logika berasal
dari teori himpunan fuzzy yang digunakan untuk bersifat penalaran daripada bersifat
eksak. Logika fuzzy adalah sebuah metode untuk menangani masalah ketidakpastian.
Yang dimaksud dengan ketidakpastian yaitu suatu masalah yang mengandung
keraguan, ketidaktepatan, kurang lengkapnya informasi, dan nilai kebenarannya
bersifat sebagian.
Dengan melihat sekian banyak implementasi kecerdasan buatan yang sudah
diaplikasikan, maka penulis tertarik untuk membuat sebuah game yaitu Brick Breaker.
Game brick breaker ini merupakan game yang memiliki sasaran untuk mengalahkan
lawan dengan cara menghancurkan bata dengan menggunakan pemukul dan bola,
kemudian bola tersebut harus masuk ke dalam daerah gol. Jika bola menyentuh
pemukul, bata, atau bagian atas papan game beberapa kali di tingkatan mana pun, bata
akan hilang satu ruang setiap kali Anda memukul bola dengan pemukul. Bola akan
dihalangi oleh sebuah papan bergerak yang dijalankan oleh komputer. Apabila bola
mampu melaluinya dan mencapai gol maka pemain akan mendapatkan skor. Namun
apabila pemain tidak mampu mengambil bola maka lawan yang akan mendapatkan
beberapa tingkat kesulitan yang dapat dipilih oleh pemain, dimana semakin tinggi
levelnya maka tingkat kesulitannya pun akan semakin besar. Dengan menerapkan
kecerdasan buatan di dalam perancangannya diharapkan unit dapat mengambil
keputusan sesuai dengan kondisi yang ada dan respon yang muncul. Dan dengan
menggunakan logika fuzzy diharapkan hasil yang diperoleh bersifat dinamis.
1.2.Rumusan Masalah
Di dalam tulisan ini penulis akan membahas bagaimana mengimplementasikan konsep
kecerdasan buatan dalam mendesain dan membangun suatu game dengan memakai
konsep logika fuzzy dalam menentukan kelincahan dan kekuatan papan pemantul bola
terhadap datangnya bola.
1.3. Batasan Masalah
Agar pembahasan dalam skripsi ini tidak menyimpang dari topik permasalahan, maka
penulis melakukan pembatasan-pembatasan seperti berikut ini:
1. Membuat sebuah aplikasi game BrickBreaker yang dimainkan secara single
player.
2. Aplikasi game ini menggunakan konsep implementasi dari kecerdasan buatan
dengan konsep logika fuzzy dalam menentukan kelincahan dan kekuatan
papan pemukul bola terhadap datangnya bola.
3. Pembuatan aplikasi ini menggunakan software Adobe Flash CS3 dan Action
Script 2.0.
1.4. Tujuan Penelitian
Mengimplementasikan konsep kecerdasan buatan dalam membuat game Brick
Breaker menggunakan software Adobe Flash, yang diharapkan dapat memberikan
Flash. Selain itu juga untuk menambah pengetahuan penulis dalam membuat dan
merancang sebuah game.
1.5. Manfaat penelitian
Adapun manfaat dari penulisan Tugas Akhir Implementasi Konsep Kecerdasan
Buatan Dalam Rancang Bangun Game Brick Breaker adalah:
1. Mampu menerapkan konsep kecerdasan buatan dalam membuat sebuah game
dengan menggunakan konsep Logika Fuzzy.
2. Sebagai bahan latihan dalam mengenal software Adobe Flash CS3 yang
diharapkan seseorang mampu untuk membuat game sendiri.
3. Sebagai game sederhana yang dapat dimainkan dalam waktu senggang.
4. Melatih koordinasi antara mata dan tangan pemain serta skill motorik pemain.
1.6. Metode Penelitian
Adapun metode penelitian yang dilakukan penulis dalam pembuatan skripsi adalah:
a. Studi Literatur
Mengumpulkan Informasi dan mempelajari materi dari sumber-sumber data
yang berhubungan dengan pembuatan Implementasi Kecerdasan Buatan
Dalam Rancang Bangun Game “Brick Breaker” atau sumber-sumber lain yang
berkaitan dengan materi penulisan skripsi ini.
b. Proses Desain
Penulis melakukan pembuatan desain untuk proses user interface program
tersebut.
c. Implementasi
Pada tahap ini penulis melakukan implementasi dan pengujian dari hasil desain
1.7. Sistematika Penulisan
BAB 1 : PENDAHULUAN
Pada bab ini penulis menguraikan tentang latar belakang, rumusan
masalah, batasan masalah, tujuan penelitian, manfaat penelitian,
metode penelitian dan sistematika penulisan.
BAB 2 : LANDASAN TEORI
Pada bab ini penulis menjelaskan tentang pengertian komputer,
pengertian kecerdasan buatan, pengertian game secara umum, logika
fuzzy, serta uraian singkat mengenai Adobe Flash CS3 dan Action
Script 2.0.
BAB 3 : PERANCANGAN APLIKASI
Pada bab ini berisi tentang perancangan dan pembuatan game yang
akan dibuat dimulai dari perhitungan berdasarkan metode yang
dipakai hingga tahap perancangan tampilan game dengan
menggunakan Adobe Flash CS3.
BAB 4 : PENGUJIAN
Pada bab ini berisi hasil dari pembuatan game yang telah dibuat
dengan melihat output yang dihasilkan oleh aplikasi dan evaluasi
untuk mengetahui kemampuan aplikasi.
BAB 5 : PENUTUP
Pada bab terakhir ini, penulis akan menguraikan beberapa
kesimpulan dari seluruh pembahasan laporan dan memberikan saran
BAB 2
LANDASAN TEORI
2.1. Pengertian Komputer
Kata komputer berasal dari bahasa latin yaitu computare yang artinya menghitung.
Dengan demikian komputer dapat diartikan sebagai alat hitung atau mesin hitung.
Namun, setelah melalui fase perkembangan komputer telah mempunyai fungsi yang
sangat luas da kemampuan yang sangat hebat. Banyak sekali pekerjaan yang dapat
dilakukan oleh komputer atau dengan bantuan komputer. Mulai dari pengolahan data,
pembuatan grafik, pemecahan perhitungan-perhitungan yang runit, sampai kepada
pengontrolan peralatan-peralatan yang canggih baik elektronis maupun mekanis.
Komputer adalah suatu rangkaian peralatan elektronik yang bekerja secara
bersama-sama atau dengan kata lain komputer adalah alat pengolahan data yang
bekerja secara elektronis dengan kecepatan dan ketelitian yang sangat tinggi dan
mampu mengerjakan berbagai proses dengan keterlibatan manusia yang minimum.
Keterlibatan manusia dalam hal ini diartikan secara terbatas, yakni pada saat komputer
tersebut menjalankan proses pengolahan data. Harus diingat bahwa sebenarnya tanpa
manusia komputer tidak akan mampu berbuat apa-apa, sebab yang menciptakan
komputer adalah manusia itu sendiri. Manusialah yang memerintahkan kepada
komputer apa yang harus dilakukan dan bagaimana komputer itu harus melakukan
berbagai hal.
Dalam pengolahan data diperlukan peralatan-peralatan atau
komponen-komponen untuk mendukung proses pengolahan data.
1. Hardware (Perangkat Keras)
Hardware adalah komponen peralatan yang membentuk suatu sistem
computer yang berhubungan dengan peralatan lain yang memungkinkan
komputer dapat melaksanakan tugasnya, contoh monitor, keyboard.
2. Software (Perangkat Lunak)
Software adalah seluruh fasilitas dari suatu sistem pengolahan data yang
bukan peralatan komputernya tapi merupakan susunan instruksi yang harus
diberikan pada alat pengolah agar komputer dapat menjalankan pekerjaan
sesuai yang dikehendaki. Fasilitas software ini terdiri dari sistem desain,
program-program dan prosedur-prosedur.
3. Brainware (Tenaga Pelaksana)
Brainware adalah aspek manusia yang menangani pengolahan komputer
maupun pengembangannya dengan menggunakan alat pikirannya, dan dapat
digolongkan menjadi:
a. Sistem Analis yaitu orang yang akan membentuk dan membangun
fasilitas sistem desain.
b. Programmer yaitu orang yang menyusun instruksi bagi komputer.
c. Operator yaitu orang yang akan menangani secara langsung pengolahan
data dalam ruangan komputer.
Ketiga komponen tersebut harus saling berhubungan dan membentuk satu
kesatuan. Hardware tanpa adanya software, maka tidak akan berfungsi hanya seperti
benda mati saja karena software yang akan mengoperasikan hardwarenya. Hardware
yang sudah didukung oleh software juga tidak akan berfungsi kalau tidak ada manusia
yang mengoperasikannya.
Istilah komputer sendiri mempunyai arti yang sangat luas dan berbeda bagi
tiap orang. Komputer dapat juga diartikan sebagai suatu sistem yang terdiri dari
serangkaian komponen (Hardware) dan bekerja secara elektronik dibawah
pengendalian Operating system (Software) dan melaksanakan instruksi-instruksi (By
( Internal Storage) dan dapat dihubungkan dengan peralatan lain. Komputer disebut
juga sebagai suatu sistem karena terdiri dari unsur-unsur yang tidak dapat dipisahkan
satu dengan lainnya dan merupakan satu kesatuan.
Secara umum dapat disimpulkan bahwa komputer merupakan alat bantu
manusia dalam melakukan berbagai macam tugas. Ini dikarenakan komputer dapat
berfungsi sebagai alat penyimpanan data yang dapat menyimpan data
instruksi-instruksi dalam jumlah yang besar, dapat deprogram untuk melakukan pekerjaan
tertentu dengan cepat dan efisien, dapat mengoreksi, mengedit, dan memodifikasi teks
lebih mudah dibandingkan dengan mesin tik. Disamping itu, data yang disimpan di
dalam disket, flashdisk ataupun harddisk dapat dibuka kembali bila sewaktu-waktu
dibutuhkan.
2.2. Pengertian Kecerdasan Buatan
Kecerdasan buatan adalah ilmu yang mempelajari cara membuat komputer melakukan
sesuatu seperti yang dilakukan manusia (Minsky, 1989). Definisi lain diungkapkan
oleh H. A. Simon (1987), kecerdasan buatan (Artificial Intelligence) merupakan
kawasan penelitian, aplikasi dan instruksi yang terkait dengan pemrograman computer
untuk melakukan sesuatu hal yang dalam pandangan manusia adalah cerdas. Definisi
kecerdasan buatan lainnya juga diungkapkan oleh Rich and Knight (1991), kecerdasan
buatan merupakan sebuah studi tentang bagaimana membuat komputer melakukan
hal-hal yang pada saat ini dapat dilakukan lebih baik oleh manusia. Dan definisi
lainnya juga ditulis dalam Encyclopedia Britania, Kecerdasan Buatan (AI) merupakan
cabang dari ilmu komputer yang dalam merepresentasi pengetahuan lebih banyak
menggunakan bentuk simbol-simbol daripada bilangan, dan memproses informasi
berdasarkan metode heuristic atau dengan berdasarkan sejumlah aturan.
AI dapat dipandang dalam berbagai perspektif:
1. Dari perspektif Kecerdasan (Intelligence)
AI adalah ilmu yang mempelajari bagaimana membuat mesin yang
“cerdas” dan dapat melakukan hal-hal yang sebelumnya tidak dapat
2. Dari perspektif bisnis
AI adalah sekelompok alat bantu (tools) yang berdaya guna, dan
metodologi yang menggunakan alat bantu tersebut dalam menyelesaikan
masalah-masalah bisnis.
3. Dari perspektif pemrograman (Programming)
AI yang dimaksud di sini termasuk yang didalamnya adalah studi tentang
pemrograman simbolik, pemecahan masalah, proses pencarian (search)
a. Umumnya program AI lebih fokus pada simbol-simbol
daripada pemrosesan numerik (huruf, kata, angka untuk
merepresentasikan objek, proses dan hubungannya).
b. Pemecahan masalah -> pencapaian tujuan
c. Search -> jarang mengarah langsung ke solusi. Proses search menggunakan beberapa teknik.
4. Dari perspektif penelitian (Research)
Riset tentang AI dimulai pada awal tahun 1960-an, percobaan pertama
adalah membuat program permainan (game) catur, membuktikan teori, dan
general problem solving (untuk tugas-tugas sederhana).
2.2.1. Lingkup Kecerdasan Buatan Pada Aplikasi Komersial
Ada tiga tujuan kecerdasan buatan, yaitu, membuat komputer lebih cerdas (tujuan
utama), mengerti tentang kecerdasan (tujuan ilmiah), dan membuat mesin yang lebih
bermanfaat (tujuan entrepreneurial). Yang dimaksud kecerdasan adalah kemampuan
untuk belajar dan mengerti dari pengalaman, memahami pesan yang kontradiktif dan
ambigu, menanggapi dengan cepat dan baik atas situasi yang baru, menggunakan
penalaran dalam memecahkan masalah serta menyelesaikannya dengan efektif.
1. Sistem Pakar (Expert System).
Komputer digunakan sebagai sarana untuk menyimpan pengetahuan para
pakar. Dengan demikian komputer akan memiliki keahlian untuk
menyelesaikan permasalahan dengan meniru keahlian yang dimiliki oleh
pakar.
2. Pengolahan Bahasa Alami (Natural Language Processing).
Dengan adanya pengolahan bahasa alami diharapkan user dapat
berkomunikasi dengan komputer dengan menggunakan bahasa sehari-hari.
3. Pengenalan Ucapan (Speech Recognition).
Melalui pengenalan ucapan diharapkan manusia dapat berkomunikasi
dengan komputer menggunakan suara.
4. Robotika dan Sistem Sensor (Robotics and Sensory Systems).
5. Computer Vision
Computer Vision mencoba untuk dapat menginterpretasikan gambar atau
objekobjek tampak melalui komputer.
6. Intelligent Computer-aided Instruction
Komputer dapat digunakan sebagai tutor yang dapat melatih dan mengajar.
7. Game Playing
Beberapa karakterisitik yang ada pada sistem yang menggunakan artificial
intelligent adalah pemrogramannya yang cenderung bersifat simbolik ketimbang
algorotmik, bisa mengakomodasi yang tidak lengkap, bisa melakukan inferensi, dan
adanya pemisahan antara kontrol dan pengetahuan. Namun, seiring dengan
perkembangan teknologi, muncul beberapa teknologi yang bertujuan agar computer
Teknologi ini juga mampu mengakomodasi adanya ketidakpastian dan
ketidaktepatan data input. Dengan didasari pada teori himpunan, maka pada tahun
1965 muncul Logika Fuzzy.
2.2.2. Soft Computing
Soft Computing adalah koleksi dari beberapa metodologi yang bertujuan untuk
mengeksploitasi adanya toleransi terhadap ketidakpastian, ketidaktepatan, dan
kebenaran parsial yang dapat diselesaikan dengan mudah, robustness, dan biaya
penyelesaiannya murah. Definisi pertama kali diungkapkan oleh Prof, Lotfi A. Zadeh
pada tahun 1992.
Soft computing merupakan inovasi baru dalam membangun sistem cerdas.
Sistem cerdas ini merupakan sistem yang memilki keahlian seperti manusia pad
domain tertentu, mampu beradaptasi dan belajar agar dapat bekerja lebih baik jika
terjadi perubahan lingkungan.
Unsur-unsur pokok dalam soft computing adalah:
1. Sistem Fuzzy (Mengakomodasi ketidakpastian)
2. Jaringan Syaraf (Menggunakan pembelajaran)
3. Probailistic Reasoning (Mengakomodasi ketidakpastian)
4. Evoluionary computing (Optimasi)
Keempat unsur di tersebut bukan merupakan pesaing antara satu dengan lainnya,
namun diantaranya bisa saling melengkapi. Bahkan, pada kenyataannya, biasanya
unsur-unsur pokok tersebut akan digunakan secara sinergis ketimbang dikerjakan
secara sendiri-sendiri. Sehingga, Zadeh juga mendefinisikan bahwa soft computing
merupakan hubungan antara logika fuzzy, neuro-computing, probabilistic reasoning
Karakteristik Soft Computing:
a. Soft computing merupakan seahlian manusia, apabila direpresentasikan
dalam bentuk aturan (IF-THEN).
b. Model komputasinya diilhami oleh proses biologis.
c. Soft computing merupakan teknik optimasi baru.
d. Soft computing menggunakan komputasi numeris.
e. Soft computing memiliki tolerasi kegagalan (mesakipun kualitasnya
berangsur-angsur memburuk).
2.3. Game (Permainan)
2.3.1. Pengertian Game
Game diambil dari bahasa Inggris yang diterjemahkan yang artinya permainan. Di
dalam era perkembangan era perkembangan teknologi yang pesat ini, seperti halnya
permainan kartu, catur dan lain-lainnya dapat ditemui melalui dunia virtual atau yang
biasa kita mainkan di dalam komputer. Dengan perkembangan teknologi sekarang ini
munculah berbagai sarana permainan, misalnya Playstation 3, Xbox 360, Nintendo
Wii, PSP, Nintendo DS, maupun PC dari yang berbasis individu ataupun multiplayer.
Pengertian game komputer menurut beberapa ahli adalah:
1. Menurut Chris Crawford, seorang designer game komputer mengemukakan
bahwa game, pada intinya adalah sebuah interaktif, aktivitas yang berpusat
pada sebuah pencapaian, ada pelaku aktif, ada lawan anda.
2. Menurut David Parlett, Game adalah sesuatu yang memiliki "akhir dan cara
mencapainya" artinya ada tujuan, hasil dan serangkaian peraturan untuk
mencapai keduanya.
3. Menurut Roger Caillois, seorang sosiolog Perancis, dalam bukunya yang
berjudul Les jeux et les hommes menyatakan game adalah aktivitas yang
kewajiban), separate (terpisah), uncertain, non-productive, governed by rules
(ada aturan), fictitious (pura-pura).
4. Menurut Greg Costikyan, Game adalah sebentuk karya seni di mana peserta,
yang disebut Pemain, membuat keputusan untuk mengelola sumber daya yang
dimilikinya melalui benda di dalam game demi mencapai tujuan.
5. Menurut Bernard Suits Game adalah upaya sukarela untuk mengatasi rintangan
yang tidak perlu. “Rintangan yang tidak perlu”.
6. Menurut Clark C. Abt, Game adalah kegiatan yang melibatkan keputusan
pemain, berupaya mencapai tujuan dengan “dibatasi oleh konteks tertentu”
(misalnya, dibatasi oleh peraturan).
2.3.2. Sejarah Perkembangan Game
Computer gaming telah ada sejak sekitar 1960an. Karena perkembangan industri
microprocessor, mainframe, dan minicomputers. Salah satu game komputer pertama
dikembangkan pada tahun 1961. Ketika siswa MIT, Martin Graetz dan Alan Kotok,
dengan memperkerjakan Steve Russell, menghasilkan "Spacewar!" pada komputer
mainframe. Generasi pertama PC games biasanya berupa text-adventures atau
interactive fiction, yang mana pemain berkomunikasi dengan komputer melalui input
pada memakai keyboard. Game text-adventure pertama adalah Adventure yang
dibangun untuk PDP-11 oleh Will Crowther tahun 1976 dan dikembangkan lagi oleh
Don Woods di tahun 1977. Ketika memasuki 1980an, PC telah mendukung penuh
untuk menjalankan game sejenis Adventure. Di masa sekarang ini, grafik kemudian
2.3.3. Jenis-jenis Game
1. Simulasi
Contoh permainan yang termasuk dalam game simulasi adalah simulasi konstruksi
dan manajemen, simulasi kendaraan seperti yang diterapkan pada permainan balapan,
perang, luar angkasa, dan mecha.
2. Edukasi
Contohnya adalah edugames yang dibuat dengan tujuan spesifik sebagai alat
pendidikan, baik itu untuk belajar mengenal warna untuk balita, mengenal huruf dan
angka, matematika, sampai belajar bahasa asing. Developer yang membuatnya, harus
memperhitungkan berbagai hal agar game ini benar-benar dapat mendidik, menambah
pengetahuan dan meningkatkan ketrampilan yang memainkannya.
3. Entertainment
a. Aksi – Shooting, (tembak-tembakan , atau hajar-hajaran bisa juga
tusuk-tusukan, tergantung cerita dan tokoh di dalamnya). Game jenis ini sangat
memerlukan kecepatan refleks, koordinasi mata-tangan, juga waktu. inti
dari game jenis ini adalah tembak-tembakan.
b. Fighting (pertarungan), ada yang mengelompokan game fighting di bagian
Aksi, namun penulis berpendapat berbeda, jenis ini memang memerlukan
kecepatan refleks dan koordinasi mata-tangan, tetapi inti dari game ini
adalah penguasaan jurus (hafal caranya dan lancar mengeksekusinya),
pengenalan karakter dan waktu sangatlah penting. Dan berbeda seperti
game Aksi pada umumnya yang umumnya hanya melawan Artificial
Intellegence atau istilah umumnya melawan komputer saja, pemain jenis
fighting game ini baru teruji kemampuan sesungguhnya dengan melawan
c. Petualangan, game murni petualangan lebih menekankan pada jalan cerita
dan kemampuan berpikir pemain dalam menganalisa tempat secara visual,
memecahkan teka-teki maupun menyimpulkan rangkaian peristiwa dan
percakapan karakter hingga penggunaan benda-benda tepat pada tempat
yang tepat.
d. Role Playing, game jenis ini sesuai dengan terjemahannya, bermain peran,
memiliki penekanan pada tokoh/peran perwakilan pemain di dalam
permainan, yang biasanya adalah tokoh utamanya, dimana seiring kita
memainkannya, karakter tersebut dapat berubah dan berkembang ke arah
yang diinginkan pemain ( biasanya menjadi semakin hebat, semakin kuat,
semakin berpengaruh, dll) dalam berbagai parameter yang biasanya
ditentukan dengan naiknya level.
e. Casual games, sesuai namanya, game yang casual itu tidak kompleks,
mainnya rileks dan sangat mudah untuk dipelajari. Jenis ini biasanya
memerlukan spesifikasi komputer yang standar pada jamannya dan
ukurannya tidak lebih dari 100 MB karena biasanya dapat di download
versi demo-nya di website resminya. Genre permainannya biasanya puzzle
atau action sederhana dan umumnya dapat dimainkan hanya menggunakan.
f. Multiplayer Online, game yang dapat dimainkan secara bersamaan oleh
lebih dari 2 orang (bahkan dapat mencapai puluhan ribu orang dalam satu
waktu) membuat pemain dapat bermain bersama dalam satu dunia virtual
dari sekedar chatting hingga membunuh naga bersama teman yang entah
bermain di mana. Umumnya permainan tipe ini dimainkan di PC dan
2.4. Logika Fuzzy
2.4.1. Pengertian Logika Fuzzy
Fuzzy secara bahasa diartikan sebagai kabur atau samar-samar. Suatu nilai dapat
bernilai benar atau salah secara bersamaan. Dalam fuzzy dikenal derajat keanggotaan
yang memiliki rentang nilai 0 (nol) hingga 1(satu).
Logika Fuzzy merupakan suatu logika yang memiliki nilai kekaburan atau
kesamaran (fuzzyness) antara benar atau salah. Dalam teori logika fuzzy suatu nilai
bisa bernilai benar atau salah secara bersama. Namun berapa besar keberadaan dan
kesalahan suatu tergantung pada bobot keanggotaan yang dimilikinya. Logika fuzzy
memiliki derajat keanggotaan dalam rentang 0 hingga 1. Berbeda dengan logika
digital yang hanya memiliki dua nilai 1 atau 0. Logika fuzzy digunakan untuk
menerjemahkan suatu besaran yang diekspresikan menggunakan bahasa (linguistic),
misalkan besaran kecepatan laju kendaraan yang diekspresikan dengan pelan, agak
cepat, cepat, dan sangat cepat. Dan logika fuzzymenunjukan sejauh mana suatu nilai
itu benar dan sejauh mana suatu nilai itu salah. Tidak seperti logika klasik pada
himpunan tegas (crisp), suatu nilai hanya mempunyai 2 kemungkinan yaitu
merupakan suatu anggota himpunan atau tidak. Derajat keanggotaan 0 (nol) artinya
nilai bukan merupakan anggota himpunan dan 1 (satu) berarti nilai tersebut adalah
anggota himpunan.
Logika fuzzyadalah suatu cara yang tepat untuk memetakan suatu ruang input
kedalam suatu ruang output, mempunyai nilai kontinyu. Fuzzy dinyatakan dalam
derajat dari suatu keanggotaan dan derajat dari kebenaran. Oleh sebab itu sesuatu
dapat dikatakan sebagian benar dan sebagian salah pada waktu yang sama
(Kusumadewi. 2004)
Logika Fuzzy memungkinkan nilai keanggotaan antara 0 dan 1, tingkat
keabuan dan juga hitam dan putih, dan dalam bentuk linguistik, konsep tidak pasti
seperti "sedikit", "lumayan" dan "sangat" (Zadeh 1965). Kelebihan dari teori logika
Sehingga dalam perancangannya tidak memerlukan persamaan matematik dari objek
yang akan dikendalikan.
2.4.2. Himpunan fuzzy (Fuzzy Set)
Himpunan fuzzy(fuzzy set) adalah sekumpulan obyek x dimana masing-masing obyek
memiliki fungsi keanggotaan (membership function) “μ” atau disebut juga dengan nilai kebenaran. Jika X adalah sekumpulan obyek dan anggotanya dinyatakan dengan
x maka himpunan fuzzydari A di dalam X adalah himpunan dengan sepasang anggota
atau dapat dinyatakan dengan:
A= { µA( ) | ∶ ∈X,A( )∈[0,1]∈ℜ} (Kusumadewi, 2004)
Contoh, jika A = “himpunan bilangan yang mendekati 10” dimana :
A = { (x, µA(x)) | µA(x) = (1+(x-10)2)-1}
A = { (0, 0.01),…,(5, 0.04),…,(10, 1),…,(15, 0.04),… }
Maka grafik yang mewakili nilai µA(x) adalah :
1
0.5
0 5 10 15
Gambar 2.1. Grafik himpunan fuzzyuntuk bilangan yang mendekati 10
Terkadang kemiripan antara keanggotaan fuzzy dengan probabilitas
menimbulkan kerancuan. Keduanya memiliki nilai pada interval [0,1]. Namun
interpretasi nilainya sangat berbeda antara kasus-kasus tersebut. Keanggotaan fuzzy
memberikan suatu ukuran terhadap pendapat atau keputusan, sedangkan probabilitas
panjang. Misalnya, jika nilai keanggotaan suatu himpunan fuzzy MUDA adalah 0,9
maka tidak perlu dipermasalahkan berapa seringnya nilai itu diulang secara individual
untuk mengharapkan suatu hasil yang hampir muda. Dilain pihak, nilai probabilitas
0,9 muda berarti 10 % dari himpunan tersebut tidak muda.
Himpunan fuzzymemiliki 2 atribut, yaitu :
1. Linguistik, yaitu penamaan suatu grup yang memiliki suatu keadaan atau
kondisi tertentu dengan menggunakan bahasa alami, seperti : MUDA,
PAROBAYA, TUA.
2. Numeris, yaitu suatu nilai (angka) yang menunjukkan ukuran dari suatu
variabel seperti : 5, 10, 15 dan sebagainya.
Ada beberapa hal yang perlu diketahui dalam memahami sistem fuzzy, yaitu :
1. Variabel fuzzy
Variabel fuzzymerupakan variabel yang hendak dibahas dalam suatu sistem
fuzzy. Contoh: umur, temperatur, permintaan, dan lain-lain.
2. Himpunan fuzzy
Himpunan fuzzy merupakan suatu grup yang memiliki suatu kondisi atau
keadaan tertentu dalam suatu variabel fuzzy. Contoh: Variabel temperature
terbagi menjadi 5 himpunan fuzzy, yaitu: DINGIN, SEJUK, NORMAL,
HANGAT dan PANAS. Gambar 2.2.
3. Semesta Pembicaraan
Semesta pembicaraan adalah keseluruhan nilai yang diperbolehkan untuk
dioperasikan dalam suatu variabel fuzzy. Semesta pembicaraan merupakan
himpunan bilangan real yang senantiasa naik (bertambah) secara monoton
dari kiri ke kanan atau sebaliknya. Nilai semesta pembicaraan dapat berupa
bilangan positif maupun negatif. Contoh semesta pembicaraan:
a. Semesta pembicaraan untuk variabel umur: [0, 100]
b. Semesta pembicaraan untuk variabel temperatur: [0, 40]
4. Domain
Domain himpunan fuzzy adalah keseluruhan nilai yang diizinkan dan boleh
dioperasikan dalam suatu himpunan fuzzy. Semesti halnya semesta
pembicaraan, domain merupakan himpunan bilangan real yang senantiasa
naik (bertambah) secara monoton dari kiri ke kanan. Nilai domain dapat
berupa bilangan positif maupun negatif. Contoh domain himpunan fuzzy:
a. DINGIN = [0, 20]
Ada dua cara mendefinisikan keanggotaan himpunan fuzzy, yaitu secara numeris dan
fungsional. Definisi numeris menyatakan fungsi derajat keanggotaan sebagai vektor
jumlah yang tergantung pada tingkat diskretisasi. Misalnya, jumlah elemen diskret
dalam semesta pembicaraan. Definisi fungsional menyatakan derajat keanggotaan
sebagai batasan ekspresi analitis yang dapat dihitung. Standar atau ukuran tertentu
pada fungsi keanggotaan secara umum berdasar atas semesta X bilangan real. Fungsi
2.4.3.1. Fungsi Representasi Linier
Pada representasi linier, pemetaan input ke derajat keanggotaannya digambarkan
sebagai suatu garis lurus. Bentuk ini paling sederhana dan menjadi pilihan yang baik
untuk mendekati suatu konsep yang kurang jelas. Keadaan linier himpunan fuzzy
terdiri dari dua keadaan linier naik dan linier turun. Pada linier naik, kenaikan
himpunan dimulai pada nilai domain yang memiliki derajat keanggotaan nol [0]
bergerak ke kanan menuju nilai domain yang memiliki derajat keanggotaan lebih
tinggi dengan fungsi keanggotaan :
1
Derajat
Keangotaan
0 a domain b
Gambar 2.3. Fungsi Representasi Linier Naik
Sedangkan pada linier turun, garis lurus dimulai dari nilai domain dengan derajat
keanggotaan tertinggi pada sisi kiri, kemudian bergerak menurun ke nilai domain yang
1
derajat
keanggotan
0 a domain b
Gambar 2.4. Fungsi Representasi Linier Turun
2.4.3.2. Fungsi Keanggotaan Segitiga
Fungsi keanggotaan segitiga ditandai oleh adanya 3 (tiga) parameter {a,b,c} yang
akan menentukan koordinat x dari tiga sudut. Kurva ini pada dasarnya merupakan
gabungan antara dua garis (linier). Adapun persamaan untuk bentuk segitiga ini
adalah :
Gambar grafik fungsi keanggotaan segitiga adalah:
1
derajat
keanggotan
0 a b c
domain
2.4.3.3. Fungsi Keanggotaan Trapesium
Kurva trapesium pada dasarnya seperti bentuk segitiga, hanya saja ada beberapa titik
yang memiliki nilai keanggotaan 1. Adapun persamaan untuk kurva trapesium ini
adalah :
Adapun gambar grafik fungsi keanggotaannya adalah :
1
derajat
keanggotan
0 a b c d
domain
Gambar 2.6. Grafik Fungsi Keanggotaan Trapesium
2.4.3.4. Representasi Kurva Bahu
Representasi fungsi keanggotaan fuzzy dengan menggunakan kurva bahu pada
dasarnya adalah gabungan dari kurva segitiga dan kurva trapesium. Daerah yang
terletak di tengah-tengah suatu variabel yang direpresentasikan dalam bentuk segitiga,
pada sisi kanan dan kirinya akan naik dan turun. Tetapi terkadang pada salah sisi dari
variabel fuzzy yang ditinjau ini terdapat nilai yang konstan, yaitu pada himpunan
Gambar 2.7. Representasi Kurva Bahu
2.4.4. Operator Dasar Zadeh untuk Operasi Himpunan Fuzzy
Misalkan himpunan A dan B merupakan dua himpunan fuzzy pada semesta pembicaraan U dengan fungsi keangotaan μA(x) dan μB(x) untuk setiap x Є X. Nilai keanggotaan sebagai hasil dari operasi himpunan A dan B disebut juga sebagai fire
strength atau α-predikat. Adapun operasi-operasi dasar himpunan fuzzy terdiri dari :
1. Irisan (Intersection)
Operator ini berhubungan dengan operasi interaksi pada himpunan. α predikat sebagai hasil operasi dengan operator AND diperoleh dengan mengambil nilai
keanggotaan terkecl antar elemen pada himpunan-himpunan yang
bersangkutan.
A∩B = min ( A[x], B[y])
2. Penggabungan (Union).
Operator ini berhubungan dengan operasi union pada himpunan. α predikat
sebagai operasi dengan operator OR diperoleh dengan mengambil nilai
keanggotaan terbesar antar elemen pada himpunan-himpunan yang
bersangkutan
A∩B = min ( A[x], B[y])
Gambar 2.9. Operasi Intersection Himpunan Bagian A dan B
3. Ingkaran (Complement).
Berhubungan dengan operasi komplemen pada himpunan. α predikat sebagai hasil operasi dengan operator NOT diperoleh dengan mengurangi nilai
keanggotaan elemen pada himpunan yang bersangkutan dari 1. μĀ (x) = 1 - μA(x)
2.5. Sekilas Tentang Adobe Flash CS3
Flash sekarang bukan hanya sebagai software saja dengan nama Adobe Flash tetapi
juga merupakan suatu teknologi yang dapat memenuhi kebutuhan para programmer
Web, perancangan grafis, pembuat animasi, dan pembuat permainan dalam pembuatan
berbagai format animasi dan interaktivitas.
Sejak diperkenalkan pada tahun 1997, Flash atau Macromedia Flash telah
memiliki standar program interaktif, Flash juga menjadi sangat populer dan langsung
mendapat tempat di hati masyarakat dunia web karena dapat membuat menampilkan
untuk mengekspor animasi ke dalam format video. Pada tahun 2008, perusahaan
peranti lunak yang berpusat di Amerika Serikat, Adobe System Incorporated,
meluncurkan versi terbaru flash, yaitu adobe Flash CS3 Professional. Ini merupakan
versi Flash yang kesembilan. Pada versi ini, Adobe Flash CS3 telah terintegrasi
dengan berbagai produk Adobe lainnya seperti Photoshop, Illustrator, serta Premiere.
Dengan demikian, animasi yang dihasilkan pada Web saja tetapi juga dapat
diaplikasikan dalam format Streaming pada DVD maupun telepon seluler (ponsel).
Bahkan animasi film layer lebar dan televisi sudah menyamai kualitas broadcast.
2.5.1. Lingkungan Kerja Adobe Flash CS3
Saat pertama kali membuka program Adobe flash CS3 Professional, Anda akan
dihadapkan pada layar seperti pada gambar 2.2. Layar ini disebut Welcome Screen.
Gambar 2.10 : Welcome Screen
Welcome Screen berisi empat menu utama yang terpisah dalam tiga bagian.
a. Open a Recent Item, bagian ini berisi daftar file atau dokumen flash yang
pernah dibuka. Jika Anda belum pernah membukanya klik ikon ini jika ingin
membuka dokumen flash Anda miliki.
b. Create New, berisi daftar berbagai jenis dokumen flash yang dapat dibuat.
Selain dokumen flash, ada juga dokumen-dokumen ActionScript™ yang
didukung flash.
c. Create from Template, berisi daftar template yang sering digunakan untuk
membuat dokumen flash.
d. Extend,berada di bawah bagian Create from Template. Bagian ini berisi akses
ke situs Web Flash Exchange. Melalui situs web ini, Anda dapat mengunduh
aplikasi-aplikasi pendukung, ekstensi, dan informasi yang berkaitan dengan
flash.
Dibagian bawah Welcome Screen terdapat tiga menu, Getting Started, New
Features, dan Resources. Menu-menu tersebut memberikan akses langsung ke menu Online Help Flash.
Lingkungan kerja Adobe Flash CS3 Professional terdiri atas batang menu,
jendela-jendela, dan beberapa panel. Susunan jendela, panel, dan batang menu inilah
yang merupakan lingkungan kerja Flash CS3 Professional atau lebih dikenal dengan
sebutan area kerja. Untuk selanjutnya pada buku ini, area kerja disebut sesuai nama
aslinya, yaitu workspace. Susunan panel, jendela, dan batang menu yang Anda lihat
saat pertama kali menjalankan program flash disebut Default Workspace. Anda dapat
mengatur sendiri tampilan panel, jendela, dan batang menu sesuai kebutuhan dan
kemudian menyimpannya dengan nama tertentu agar dapat digunakan kembali setiap
saat Anda membutuhkannya. Andadapat mengembalikan tampilan workspace seperti
Gambar 2.11 : Tampilan Default Workspace
Dibawah ini keterangan dari komponen-komponen diatas :
A. Batang Menu atau Menu Bar
Batang menu atau menu utama adalah bagian yang berisi berbagai jenis perintah yang
dibagi dalam kelompok-kelompok menu.
1. Pada menu file terdapat berbagai fasilitas seperti membuat file baru,
eksport movie & image, import objek kedalam stage ataupun library dsb.
2. Pada menu edit terdapat pengaturan yang berkaitan dengan frame,
misalnya di menu timeline berisi menghapus, copy frame, Preferences dsb
3. Menu View, untuk menampilkan grid, ruler dsb.
4. Menu Insert, untuk memasukan Timeline, scene, motion tween, shape
tween dsb.
5. Menu modify, untuk memodifikasi objek, bitmap, symbol, timeline,
transform, align dsb.
6. Menu Text, untuk mengatur atribut teks berupa jenis Font, ukuran Style
dsb.
7. Menu Command, untuk eksport ke format XML.
8. Menu Control, untuk mengatur kontrol movie, menjalankan test movie dsb.
9. Menu Debug, untuk memeriksa apakah masih ada kesalahan pada flash
yang sudah jadi.
10.Menu Window, untuk mengatur Toolbar Timeline, Tools dsb, yang akan
11.Menu Help, untuk menampilkan Bantuan apabila terdapat kesulitan
didalam menggunakan Adobe Flash.
B. Panel Tool atau Toolbox
Panel ini adalah panel yang berisi semua peralatan pembuat unsur-unsur media
maupun efek-efek khusus yang ada pada Adobe Flash CS3 Professional. Panel
Tool berisi berbagai tool untuk membuat gambar atau artwork pada stage. Di
dalamnya tersedia tool-tool untuk memodifikasi artwork yang telah ada
sebelumnya.
Gambar 2.12 : Panel Tool atau Toolbox
Keterangan Toolbox pada Adobe Flash CS3:
1. Arrow Tool, Tool ini digunakan untuk memilih suatu objek atau untuk memindahkannya.
2. Subselection Tool, Tool ini digunakan untuk merubah suatu objek dengan edit points.
3. Free Transform Tool, Tool ini digunakan untuk memutar (rotate) objek yang dibuat atau mengubah bentuk objek menjadi bentuk lain.
5. Lasso Tool, Tool ini digunakan untuk memilih daerah di objek yang akan diedit.
6. Pen Tool, Tool yang digunakan untuk menggambar dan merubah bentuk suatu objek dengan menggunakan edit points (lebih teliti & akurat).
7. Text Tool, Tool ini digunakan untuk menuliskan kalimat atau katakata. 8. Rectangle Tool, Tool yang digunakan untuk menggambar sebuah
segiempat.
9. Oval Tool, Tool yang digunakan untuk menggambar sebuah lingkaran. 10.Pencil Tool, Tool ini digunakan untuk menggambar sebuah objek sesuai
dengan yang Anda sukai. Tetapi setiap bentuk yang dibuat akan diformat
oleh Flash MX menjadi bentuk sempurna.
11.Brush Tool, Tool ini sering digunakan untuk memberi warna pada objek bebas.
12.Line Tool, Tool ini digunakan untuk membuat suatu garis di stage.
13.Ink Bottle Tool, Tool ini digunakan untuk mengisi warna pada objek yang bordernya telah hilang (tidak ada).
14.Paint Bucket Tool, Tool ini digunakan untuk mengisi warna pada objek yang dipilih.
15.Eraser Tool, Tool ini digunakan untuk menghapus objek yang dibentuk. 16.Eyedropper Tool, Tool ini untuk mengambil sample warna dari suatu
objek.
17.Hand Tool, Tool ini untuk menggeser posisi stage sesuai dengan yang diinginkan.
18.Zoom Tool, Tool ini membesarkan/mengecilkan ukuran stage.
19.Stroke Tool, Tool ini untuk mengatur warna stroke atau garis luar dari objek.
20.Fill Color, Tool ini untuk mengatur warna Fill objek.
21.Black and White, Tool ini untuk mengatur warna fill & strok kewarna awal yaitu warna hitam & putih.
22.Swap Color, Tool ini untuk menukar warna Stroke dan warna Fill.
23.Snap To Object, Tool ini untuk membuat objek garis menjadi lurus, melengkung dsb
Panel Tool dapat ditampilkan atau disembunyikan dengan mengakses
Window > Tools. Anda juga dapat menentukan sendiri tool apa saja yang akan ditampilkan di dalam panel tool dengan mengakses Edit > Customize Tools Paneluntuk membuka kotak dialog Customize Tools Panel.
C. Timeline
Timeline adalah mengatur dan menyusun isi dokumen berdasarkan satuan waktu
tertentu dalam bentuk layer dan frame. Seperti panel-panel lainnya, timeline juga
bisa dipindah-pindahkan. Untuk memindahkan lokasi timeline, akses menu pop-up
di sudut kanan atas dan pilih Placement, kemudian pilih salah satu menu berikut :
a. Above documentuntuk meletakkan timeline di atas stage (posisi default). b. Below documentuntuk meletakkan timeline di bawah stage.
c. Left of documentuntuk meletakkan timeline di sebelah kiri stage
d. Right of document untuk meletakkan timeline di sebelah kanan stage atau pilih Undock from Documentuntuk menjadikannya floating panel.
Timeline dapat disembunyikan dan ditampilkan dengan mengeklik ikon
Hide/Show Timeline pada edit bar. Tampilan timeline juga bisa diperlebar atau dipersempit. Jika timeline melekat pada stage, arahkan kursor di garis batas antara
stage dan timeline dan drag menjauh atau mendekati stage. Jika timeline ditampilkan
sebagai floating panel, drag dari bagian sudut kanan bawah untuk mengubah ukuran
panel timeline tersebut.
Gambar 2.14 : Timeline property 1
1. New layer, untuk membuat layer yang baru.
2. Add Motion Guide, untuk membuat jalur animasi pada objek.
3. Insert layer folder, untuk membuat folder sebagai penempatan layer.
4. Delete, untuk menghapus layer.
5. Center frame, Posisi frame.
6. Union Skin, untuk melihat keseluruhan layer.
7. Union skin outline, untuk melihat gabungan objek hanya sebatas pada line
keseluruhan pada layer.
8. Edit multiple frames, untuk editing seluruh frame dan layer, sehingga akan
menampilkan keseluruhan objek yang ada pada Stage, sehingga akan
mempermudah editing objek secara keseluruhan.
9. Modify union markers, untuk editing gabungan dari beberapa objek.
10.Current frame, posisi key frame.
11.Frame rate, kecepatan animasi frame ke frame atau yang disebut dengan
Frame persecond.
12.Elapsed, waktu yang dibutuhkan dari frame satu ke frame yang lain secara
dinamis.
Gambar 2.15 : Timeline Property 2
Keterangan Gambar 2.15 adalah:
B) Show or Hide all layer, untuk menampilkan objek pada layer tersebut atau
seluruh layer.
C) Lock or unlock all layer, untuk mengunci satu layer atau seluruh layer,
sehingga tidak bisa diedit.
D) Show all layers or outlines, untuk menampilkan hanya outline dari sebuah
objek atau keseluruhan objek.
E) Frame, urutan posisi frame yang ditampilkan, disini pada posisi frame ke
1.
F) Keyframe, tempat dimana objek-objek yang akan diletakan.
D. Stage
Stage adalah jendela kerja tempat Anda membuat dan menyusun unsurunsur
media. Warna latar stage dapat diubah-ubah dengan mengakses menu pada panel
Properties.
Gambar 2.16 : Stage
E. Panel Property Inspector atau Properties
Panel Property Inspector berisi menu dan perintah-perintah yang berhubungan
dengan atribut dari objek, layer, atau unsur lain termasuk timeline yang sedang
terseleksi. Isi panel Property Inspector berubah-ubah sesuai apa yang terseleksi.
Tampilan panel Property Inspector dapat diperkecil dengan mengeklik pada area
kosong di tempat tab nama panel atau pada ikon Minimize/Maximize. Panel ini
sepenuhnya, klik tanda mata panah atas dan bawah tepat di sebelah kiri nama
panel. Tanda tersebut juga dapat digunakan untuk meminimalkan tampilan semua
panel yang berada dalam satu dock dengan panel Property Inspector. Klik
beberapa kali hingga dipeoleh tampilan yang diinginkan.
Gambar 2.17 : Panel Property Inspector
F. Panel-panel lainnya
Selain panel tool dan Property Inspector, Flash memiliki panel-panel lain yang
berfungsi mendukung proses pembuatan dokumen. Panel-panel tersebut berisi
perintah untuk mengatur unsur media, atau pilihan atribut yang dapat diterapkan pada
unsur-unsur media.
2.5.2. Action Script
Action Script adalah bahasa scripting Adobe Flash yang berfungsi untuk melakukan
pengaturan interaktivitas dalam flash movie. Dengan Action Script tersebut orang akan
bisa mengatur aksi-aksi yang bisa dilakukan oleh objek-objek di dalam flash. Sebagai
contoh jika ada objek tombol maka seseorang bisa menentukan apa yang bisa
dilakukan aplikasi ketika mengklik tombol tersebut.
Action Script memiliki 3 komponen penting dalam penyusunannya, yaitu:
1. Event (Kejadian), yaitu peristiwa atau kondisi yan terjadi untuk memicu aksi
yang diberikan pada objek.
2. Actions (Aksi), yaitu pekerjaan yang diberikan pada suatu objek untuk
melakukan aksi tertentu pada saat movie dimainkan.
3. Target, merupakan objek tujuan atau sasaran yang dikenai oleh aksi yang
Dalam mode normal, action script dibagi dalam beberapa kategori, yaitu:
1. Basic Actions. Kategori ini menampung action sederhana yang sering sekali
digunakan untuk movie flash, seperti navigasi dan perilaku tombol.
2. Actions. Kategori ini meliputi basic action ditambah dengan banyak action lain
yang lebih kompleks.
3. Operators. Kategori ini berisi symbol yang digunakan misalnya untuk operasi
logika dan matematika, seperti tambah, kurang, kali, dll.
4. Functions. Function berisi action yang dapat menerima data tertentu untuk
kemudian menghasilkan informasi yang dapat digunakan.
5. Properties. Kategori properties berisi properti yang dapat dimodifikasi.
Sebagian properti ini digunakan untuk objek klip movie.
6. Objects. Flash memiliki kelas objek yang sudah didefinisi. Kelas-kelas ini
BAB 3
PERANCANGAN APLIKASI
3.1. Flowchart
Flowchart merupakan suatu diagram yang menggunakan simbol-simbol dan
garis-garis yang saling berhubungan untuk menggambarkan suatu urutan operasi program
tertentu atau urutan proses kerja suatu sistem untuk mendapatkan hasil tertentu.
Berikut adalah simbol yang terdapat pada sistem flowchart:
Tabel 3.1. Simbol-simbol pada flowchart
Simbol Kegunaan
Terminal point symbol
Simbol titik terminal digunakan untuk awal dan akhir
dari suatu proses
Input/output symbol
Simbol input/output yang digunakan untuk mewakili
data input/output
Process symbol
Simbol proses digunakan untuk menunjukkan
Predefined process symbol
Simbol proses terdefinisi yang digunkan untuk
menunjukkan suatu operasi yang rinciannya
ditunjukkan ditempat lain
Connector symbol
Simbol penghubung digunakan untuk menunjukkan
sambungan dari bagan alir yang terputus dihalaman
yang masih sama
Offline connector symbol
Offline connector merupakan simbol untuk masuk dan
keluarnya suatu prosedur pada lembar kertas yang lain
Magnetic Disk symbol
Simbol untuk database yang digunakan dalm program
Decision symbol
Simbol keputusan yang digunakan untuk suatu
penyeleksian kondisi di dalam program
Preparation symbol
Symbol persiapan digunakan untuk mempersiapkan
penyimpanan yang digunakan sebagai tempat
pengolahan di dalam storage
Document symbol
Document merupakan simbol untuk data yang
berbentuk kertas maupun informasi
Display symbol
Simbol untuk output yang menunjukkan ke suatu
Line connector
Arus/flow dari prosedur yang dapat dilakukan dari atas
ke bawah, dari bawah ke atas, dari kiri ke kanan dan
sebaliknya.
Flowchart yang di bangun pada aplikasi ini terdiri dari dua yaitu Flowchart
Untuk Menu Awal dan Flowchart untuk alur proses permainan pada game
BrickBreaker ini.
Pada gambar 3.1. berikut ini akan ditampilkan Flowchart untuk Tampilan Awal dari
Gambar 3.1. Flowchart Menu Awal
Flowchart tersebut menjelaskan pada saat aplikasi dijalankan maka akan
masuk pada tampilan utama permainan. Pada tampilan utama ini, pemain akan terlebih
tingkat permainan atau mode permainan yang terdiri dari tiga yaitu easy (mudah),
medium (sedang), dan Hard (sulit). Setelah menentukan tingkat permainan, maka
pemain dapat mengklik tombol untuk memulai permainan dan akan langsung menuju
ke tampilan layar area permainan. Pemain dapat memainkan permainan tersebut
sampai selesai apabila salah satu apakah pemain atau lawan yang terlebih dahulu
menang.
T T
Gambar 3.2. Flowchart Alur Permainan
Flowchart tersebut menggambarkan alur dari jalannya permainan. Ketika akan
memulai permainan maka masing-masing pemain dan lawan (opponent) diberi level
kekuatan yang sama. Bola akan datang dari bagian lawan menuju ke arah pemain.
Apabila mengenai brick (bata) maka brick akan hilang dan bola akan memantul
namun apabila tidak mengenai brick maka bola akan bergerak ke arah pemain.
Apabila pemain dapat memantulkan bola maka bola akan memantul lagi namun
apabila pemain tidak berhasil memantulkan bola maka kekuatan dan kelincahan
pemain akan berkurang dan lawan mendapat nilai. Begitu pula sebaliknya jika terjadi
pada pihak lawan. Apabila bola bergerak ke arah lawan dan berhasil dipantulkan oleh
lawan maka bola akan kembali menuju pemain dan apabila tidak berhasil dipantulkan
maka kekuatan dan kelincahan lawan akan berkurang dan pemain mendapatkan skor.
Permainan ini akan berakhir apabila salah satu dari pemain atau lawan telah kehabisan
kekuatan atau kelincahannya dalam menangkap bola.
3.2. Penerapan Logika Fuzzy
a. Variabel Fuzzy
Variabel Fuzzy merupakan variabel yang hendak dibahas dalam suatu sistem
fuzzy. Dalam aplikasi ini variabel yang digunakan adalah HP (Kekuatan) dan
Agility (kelincahan).
b. Himpunan Fuzzy
Himpunan fuzzy merupakan suatu grup yang mewakili suatu kondisi atau keadaan
tertentu dalam suatu variabel fuzzy.
- Variabel Kekuatan (HP), terbagi menjadi 3 himpunan, yaitu: lemah ,
normal, dan kuat.
- Variabel Agility, terbagi menjadi 3 himpunan, yaitu: lambat, sedang, dan
1 Lemah Normal Kuat
µ[x]
0
0 10 50 85 100
Gambar 3.3 : Himpunan Fuzzy pada variabel Kekuatan
1 Lambat Sedang Cepat
µ[x]
0
0 10 50 85 100
Gambar 3.4 : Himpunan Fuzzy Pada Variabel Agility
c. Semesta Pembicaraan
Semesta pembicaraan keseluruhan nilai yang diperbolehkan untuk dioperasikan
dalam suatu variabel fuzzy. Semesta pembicaraan merupakan himpunan bilangan
real yang senantiasa naik secara monoton dari kiri ke kanan.
- Semesta pembicaraan untuk variabel kekuatan : [0 , 100]
- Semesta pembicaraan untuk variabel agility : [0 , 100]
d. Domain
Domain himpunan fuzzy adalah keseluruhan nilai yang diizinkan dalam semesta
pembicaraan dan boleh dioperasikan dalam suatu himpunan fuzzy.
Untuk Variabel kekuatan:
Lemah = [10 50]
Normal = [10 85]
Untuk Variabel Agility:
Lambat = [10 50]
Sedang = [10 85]
Cepat = [50 85]
3.2.1. Menghitung Fungsi Keanggotaan
Fungsi keanggotaan adalah suatu kurva yang menunjukkan pemetaan tiap-tiap titik
input data ke dalam nilai keanggotaannya yang memiliki interval 0 sampai 1. Salah
satu cara yang digunakan adalah pendekatan fungsi.
1. Representasi linier
Ada 2 keadaan himpunan linier. Pertama, kenaikan himpunan dimulai pada nilai
domain yang memiliki derajat keanggotaan nol bergerak ke kanan menuju ke nilai
domain yang memiliki derajat keanggotaan lebih tinggi.
Fungsi Keanggotaan:
µ[x]
Fungsi Keanggotaan untuk himpunan Cepat pada variabel Agility
µcepat[65] = (65-50)/(85-50)
= 0.4
1 Cepat
0.4
0 50 65 85
Yang kedua adalah kebalikan yang pertama.dimulai dengan yang memiliki
nilai domain tertinggi pada sisi kiri bergerak menurun ke nilai domain yang lebih
rendah.
Fungsi Keanggotaan:
µ[x]
Fungsi Keanggotaan untuk himpunan Lambat pada variabel Agility
µlambat[35] = (50-35)/(50-10)
= 0.3
Lambat
1
0.3
0
10 35 50
Gambar 3.6 : Himpunan Fuzzy: Lambat (Agility)
2. Representasi Kurva Segitiga
Kurva segitiga pada dasarnya adalah gabungan antara 2 garis (linier).
Fungsi Keanggotaan:
µ[x]
Fungsi Keanggotaan untuk himpunan Sedang pada variabel Agility
µsedang[25] = (25-10)/(50-10)
Sedang
1
0.75
0
10 25 50 85
Gambar 3.7 : Himpunan Fuzzy: Sedang (Agility)
Begitu juga pada variabel Kekuatan, maka harus dicari juga derajat keanggotaannya.
Fungsi Keanggotaan untuk himpunan Kuat pada Variabel Kekuatan.
µkuat[60]=(60-50)/(85-50)
= 0.2
Kuat
1
0.2
0
50 60 85
Gambar 3.8 : Himpunan Fuzzy: Kuat (Kekuatan)
Fungsi Keanggotaan untuk himpunan Lemah Pada variabel Kekuatan
µ lemah[45] = (50-45)/(50-10)
Lemah
1
0.1
10 45 50
Gambar 3.9 : Himpunan Fuzzy: Lemah (Kekuatan)
Fungsi Keanggotaan untuk Himpunan Sedang pada variabel Kekuatan
µnormal [40] = (40-10)/(50-10)
= 0.7
Normal
1
0.7
0
10 40 50 85
Gambar 3.10 : Himpunan Fuzzy: Sedang (Kekuatan)
Maka derajat Keanggotaan yang didapat adalah:
Untuk Variabel Kekuatan: µkuat[60] = 0.2
µ lemah[45] = 0.1
µnormal[40] = 0.7
Untuk Variabel Agility: µcepat[65] = 0.4
µ lambat[35] = 0.3