SKRIPSI
Diajukan untuk Menempuh Ujian Akhir Sarjana Program Strata Satu Jurusan Teknik Informatika
Fakultas Teknik dan Ilmu Komputer Universitas Komputer Indonesia
WIJ AYA NURDIANSAH
10107450
J URUSAN TEKNIK INFORMATIKA
FAKULTAS TEKNIK DAN ILMU KOMPUTER
UNIVERSITAS KOMPUTER INDONESIA
BANDUNG
iii
KATA PENGANTAR
Assalammu’alaikum Wr.Wb.
Puji syukur alhamdulillah penulis panjatkan atas kehadirat Allah SWT sang Pencipta alam semesta, manusia, dan kehidupan beserta seperangkat aturan Nya, karena berkat limpahan rahmat, taufiq, hidayah serta inayah-Nya, sehingga penulis dapat menyelesaikan Skripsi yang berjudul ” Pembangunan Aplikasi Game 2D Kabayan Saving Our Cultures” ini dapat terselesaikan tidak kurang dari pada waktunya.
Skripsi ini dibuat sebagai salah satu syarat kelulusan pada program Strata 1 Fakultas Teknik dan Ilmu Komputer, Program Studi Teknik Informatika di
Universitas Komputer Indonesia. Penulis menyadari bahwa skripsi ini masih banyak kekurangan dari berbagai macam hal. Namun berkat bantuan dan bimbingan dari beberapa pihak akhirnya skripsi ini dapat diselesaikan tepat pada waktunya.
Dengan penuh rasa syukur, ucapan terima kasih yang mendalam serta penghargaan yang tidak terhingga penulis sampaikan kepada :
1. Kedua orang tua, Cecep Rachmat S.IP (Papah sekaligus sosok orang yang paling penulis kagumi & berusaha penulis implementasikan nasehat-nasehat bijaknya), Emi Sumiati (Ibu terbaik & terhebat di dunia).
2. Ibu Mira Kania Sabariah, S. T., M. T. selaku Ketua Jurusan Teknik Informatika.
iv
4. Ibu Nelly Indriani W S.Si. dan Ibu Tati Harihayati S.T., M.T., selaku penguji 1 dan penguji 3 yang memberikan banyak masukan yang sangat
berarti bagi penulis.
5. Kakak perempuanku Wulan Sari S.T.(kakak yang cerewet tapi baik hati), thanks sis..!!, serta keluarga besar penulis yang senantiasa mendoakan penulis dan memberikan dorongan serta dukungan baik moril maupun materiil.
6. Solehudin MQ, teman, sahabat, sekaligus mentor OOP with java thanks bro..!!.
7. Seluruh teman IF-10 angkatan 2007 yang tak dapat disebutkan satu persatu. Terima kasih atas semua bantuan dan dukungan kalian sehingga skripsi ini bisa selesai tepat waktu.
8. Seluruh teman Alumni dan guru-guru SMAN 1 Tarogong Kidul Garut atau SMA Negeri 1 Garut (Nama Sekarang), khususnya teman-teman dan wali kelas, kelas XI IA 4 yang berlanjut ke XII IA 4 angkatan 2007, pertemanan dan persahabatan yang indah kawan yang berlanjut pada rasa kekeluargaan kita sekarang dan yang akan datang, semoga ikatan itu terus berlanjut hingga akhirat kelak di surga Allah, amin insya Allah.
9. Komunitas basket IF yang luar biasa, berkat kalian penulis bisa menemukan kepercayaan diri dan arti leadership, terima kasih sudah pernah memberikan kepercayaan kepada penulis untuk memimpin komunitas ini love you guys.
10.HMIF (Himpunan Mahasiswa Teknik Informatika), khususnya alumni HMIF kepengurusan 2009 dan kepada Ketua Hima Panji yang telah memberikan kepercayaan sekaligus kesempatan bagi penulis untuk merasakan pengalaman yang luar biasa sebagai bagian dari pengurus HMIF 2009.
v
Penulis menyadari juga bahwa pada Laporan Skripsi ini masih banyak terdapat kekurangan, baik dalam cara penyajian laporan maupun kelengkapan data, hal itu tidak lepas karena penulis hanyalah manusia biasa yang tidak luput dari kesalahan, kesalahan milik kita manusia dan kesempurnaan hanya milik Allah SWT semata. Oleh karena itu, kritik dan saran pembaca akan sangat penulis hargai dan harapkan, tentunya kritik dan saran dengan niat membangun. Akhirnya penulis berharap semoga hasil Skripsi ini bermanfaat bagi kita semua, khususnya bagi yang membacanya. Amin ya Allah ya Rabbal a’lamin.
Wassalamu’alaikum Wr. Wb.
Bandung, Juli 2011
i bagi masyarakat dari segala lapisan. Namun perkembangan game itu sendiri saat ini masih didominasi oleh karakter-karakter dari luar seperti Amerika dan Jepang.
Kabayan merupakan salah satu karakter yang tepat untuk diangkat ke dalam media game, karena Kabayan merupakan karakter yang memiliki beragam keunikan. Selain itu juga hal ini merupakan salah satu bentuk untuk menjaga karakter si Kabayan agar tetap hidup dan diterima oleh generasi penerus yaitu anak-anak yang sudah mulai tidak mengenal tokoh-tokoh dari bangsa Indonesia, khususnya karakter Si Kabayan itu sendiri. Dari permasalahan inilah akan dibangun sebuah Aplikasi game 2D dengan judul game Kabayan Saving Our Cultures yang diharapkan dapat sedikit mengangkat tokoh atau karakter game yang diambil dari cerita rakyat Indonesia, khususnya provinsi Jawa Barat, yaitu Si Kabayan. Game ini dibangun dengan menggunakan OOP (Object Oriented Programming), serta Algoritma BFS
(Breadth First Search) dan DFS (Depth First Search).
Hasil uji dari Aplikasi game 2D ini menunjukkan bahwa Aplikasi game bisa digunakan sebagai media untuk mengenalkan karakter-karakter Indonesia, khususnya provinsi Jawa Barat, yaitu Si Kabayan. Berdasarkan pada penggunaan judul game dan
storyline yg dibangun di dalam game ini.
ii
KABAYAN SAVING OUR CULTURES
By
Wijaya Nur diansah
10107450
One form of entertainment that is familiar and is much in demand in our life is a game. Game is an application that is not familiar to people from all walks of life. But the development of the game itself is still dominated by characters from the outside like the U.S. and Japan.
Kabayan is one of the characters proper to be appointed to the gaming media, because Kabayan is a character that has a variety of uniqueness. In addition, this is one of the forms to maintain the character of the Kabayan in order to stay alive and be accepted by the next generation of kids who already do not know the figures from the Indonesian people, especially the character of Si Kabayan itself. From this problem will be constructed a 2D game application with the title game Kabayan Saving Our Cultures are expected to be slightly raised characters or game characters drawn from folklore Indonesia, especially West Java province, namely Si Kabayan. This game is built using OOP (Object Oriented Programming), and Algorithm BFS (Breadth First Search) and DFS (Depth First Search).
The test results of this 2D game application shows that the game application can be used as a medium to introduce the characters Indonesia, especially West Java province, namely Si Kabayan. Based on the use of the title game and who built the storyline in this game.
Keywords : game, OOP (Object Oriented Programming), Algoritma BFS dan DFS,
1 1.1 Latar Belakang Masalah
Game adalah sebuah permainan video yang berbasis komputer yang
digunakan sebagai alat hiburan sehari-hari yang bisa digunakan secara individu
atau dalam sebuah kelompok kecil yang biasanya dibatasi antara 2 hingga 4
pemain. Game merupakan aplikasi yang tidak asing lagi bagi masyarakat dari
segala lapisan. Di era modernisasi seperti pada saat ini, game mengalami banyak
perkembangan. Baik dari segi device, console, grafis, storyline yang dibangun dan
lain sebagainya. Fungsi dari game sendiri sangat beragam diantaranya sebagai
media hiburan dan media pembelajaran. Bila kita mencoba melihat game
komputer yang ada sekarang ini, maka kita dapatkan banyak sekali game dengan
tipe dan variasi yang berbeda. Jenis dan tipe game ini disebut dengan genre.
Banyak cara untuk melihat bagaimana suatu game dapat dikelompokkan,
karenanya tidak ada kesepakatan tentang apa dan bagaimana suatu game dapat
dikelompokkan.
Game merupakan salah satu produk teknologi informasi yang cukup
digemari saat ini, game juga merupakan bentuk aplikasi yang edukatif, artinya
bisa dijadikan sebagai media pembelajaran dimana prosesnya bisa dilakukan
adalah semua bentuk permainan yang dirancang untuk memberikan pengalaman
pendidikan atau pengalaman belajar kepada para pemainnya, termasuk Permainan
tradisional dan “modern” yang diberi muatan pendidikan dan pengajaran (Adams,
1975).
Si Kabayan merupakan tokoh Indonesia yang memiliki karakteristik unik,
khususnya dalam imajinasi masyarakat Sunda. Tokoh ini digambarkan sebagai
"figur" yang memiliki karakteristik lucu, polos, namun memiliki kecerdasan yang
sulit diduga. Si Kabayan sering digambarkan sebagai tokoh yang serbabisa,
terkadang dia bisa menjadi sosok santri, kiai, dukun dan tokoh lainnya.
Sebenarnya, Si Kabayan mempunyai sejarah yang tidak jelas, misalnya siapa
orangtuanya atau saudara lainnya, karena dalam bentuk lisan Si Kabayan seperti
datang dari dunia yang tiba-tiba. Tokoh si Kabayan sudah ada sejak lama dan
sekarang Si Kabayan itu masih ada dan hidup di pikiran masyarakat Sunda. Si
Kabayan memang seperti sebuah ketiba-tibaan, tiba-tiba dia sudah berada atau
berkekeluarga dengan Nyi Iteung, bahkan diceritakan tak pernah mempunyai
anak. Kisah Si Kabayan bukanlah sejarah rigid (Muhtar Ibnu T., 2005:8), dia
adalah sebuah ide atau konsep yang elastis, yang mengalir mengikuti arus zaman.
Dia akan tetap hidup dan aktual jika sosoknya dihidupkan sesuai dengan situasi
dan semangat zaman, karena itu sosoknya mengalami trasnformasi yang terus
menerus. Si Kabayan bisa menjadi manusia yang malasnya minta ampun, atau dia
juga bisa menjadi Si Kabayan yang sangat cerdik, yang berargumen meyakinkan,
Dengan keunikan yang dimiliki oleh karakter ini, maka Kabayan
merupakan salah satu karakter yang tepat untuk diangkat ke dalam media game,
hal ini juga merupakan salah satu bentuk untuk menjaga karakter si Kabayan agar
tetap hidup dan diterima oleh generasi penerus, khususnya anak-anak yang sudah
mulai tidak mengenal tokoh-tokoh dari bangsa Indonesia.
Dari permasalahan inilah akan dibangun sebuah Aplikasi game 2D dengan
judul game Kabayan Saving Our Cultures yang diharapkan dapat sedikit
mengangkat tokoh atau karakter game yang diambil dari cerita rakyat Indonesia,
khususnya dari provinsi Jawa Barat, dimana Game 2D Kabayan Saving Our
Cultures ini sendiri merupakan sebuah game yang ber-genre adventure dengan
sistem education (learning by doing/belajar sambil bermain) dan stroryline-nya
mengenai seorang hero (Pahlawan) bernama Kabayan yang berusaha
menyelamatkan alat musik tradisional Angklung dan juga senjata tradisional
1.2 Identifikasi Masalah
Berdasarkan uraian pada latar belakang masalah, maka identifikasi
masalah adalah :
1. Penggunaan aplikasi game sebagai media edukasi (pembelajaran).
2. Bagaimana mengenalkan karakter Indonesia, khususnya Si Kabayan dari
provinsi Jawa Barat dengan menggunakan media game.
Berdasarkan identifikasi yang ada maka rumusan masalahnya adalah
tentang bagaimana aplikasi game edukasi (pembelajaran) melalui karakter Si
Kabayan.
1.3 Maksud dan Tujuan
Berdasarkan permasalahan yang diteliti, maka maksud dari penulisan
tugas akhir ini adalah membangun aplikasi game 2D Kabayan Saving Our
Cultures sebagai media untuk mengenalkan karakter Si Kabayan pada anak-anak
dan remaja.
Sedangkan tujuan yang ingin dicapai dalam penelitian ini adalah
membangun suatu Aplikasi game 2D yang memenuhi kriteria sebagai berikut :
1. Membuat game dengan menampilkan karakter Si Kabayan.
1.4 Batasan Masalah
Batasan masalah dalam membangun aplikasi ini, adalah sebagai berikut :
1. Aplikasi game dibangun menggunakan IDE Greenfoot 2.0.1.
2. Bahasa Pemrograman yang digunakan adalah Java.
3. Level game dibatasi hanya 2 level saja, dimana level 2 diproyeksikan
lebih interaktif, dibandingkan dengan level 1 dan pada akhir level 1
dan akhir level 2 hero (Kabayan) akan menghadapi Boss (lawan
terakhir yaitu Pocong di Level 1 dan Juragan Asep di Level 2).
4. AI yang digunakan yaitu Algoritma BFS (Breadth First Search) dan
Algoritma DFS (Depth First Search).
5. Game hanya bisa dijalankan jika pada PC atau desktop sudah terinstall
minimal JDK 1.5 keatas.
6. Pemanfaatan Collision Detection untuk memaksimalkan pembangunan
Aplikasi.
7. Sasaran usia pengguna 5-15 tahun.
8. Tidak ada High Score Entry (Belum tersedia pada API Greenfoot).
9. Karakter utama yang ditampilkan adalah karakter Kabayan.
1.5 Metodologi Penelitian
Metode penelitian yang digunakan adalah metode eksperimental. Metode
eksperimental adalah metode penelitian yang didasarkan pada suatu
percobaan-percobaan ilmiah yang dilakukan dalam membuat sesuatu yang baru atau
mengembangkan sesuatu berdasarkan ilmu-ilmu pengetahuan.
1. Tahap Pengumpulan data
Model pengumpulan data yang digunakan dalam penelitian ini adalah
sebagai berikut :
a. Studi pustaka
Pengumpulan data dengan cara mengumpulkan bacaan-bacaan yang
ada, baik dari buku-buku, karya tulis dan lain sebagainya yang ada
kaitannya dengan judul penelitian.
b. Observasi
Teknik pengumpulan data dengan mengadakan penelitian dan terjun
langsung ke lingkungan objek yang diteliti dalam hal ini.
2. Tahap Pembangunan Aplikasi
Dalam membangun aplikasi game Kabayan Saving Our Cultures ini,
digunakan metode pengembangan perangkat lunak secara Waterfall yang
meliputi:
a. Analisis (Analysis)
Analisis adalah tahap menganalisis hal-hal yang diperlukan dalam
b. Perancangan (Planning)
Perancangan adalah tahap penerjemahan dari data yang dianalisis
kedalam bentuk yang mudah dimengerti oleh pengguna.
c. Desain (Design)
Desain adalah tahap menggambarkan karakter-karakter game, baik itu
hero maupun background sebagai map yang akan digunakan.
d. Pengkodean (Coding)
Pengkodean adalah tahap penerjemahan data atau pemecahan masalah
yang telah dirancang ke dalam bahasa pemrograman tertentu
e. Pengujian (Testing)
Pengujian adalah tahap pengujian terhadap aplikasi yang dibangun.
f. Perbaikan (Maintenance)
Perbaikan adalah tahap perawatan dan perbaikan aplikasi yang sudah
dibangun.
1.6 Sistematika Penulisan
Sistem penulisan penelitian ini disusun untuk memberikan gambaran
umum tentang penelitian yang dijalankan, sistematika penulisan tugas akhir ini
sebagai berikut :
BAB I PENDAHULUAN
Bab ini menguraikan tentang latar belakang permasalahan, indentifikasi
masalah, menentukan maksud dan tujuan dibuatnya, yang kemudian diikuti
dengan batasan masalah, serta sistematika penulisan.
BAB II. LANDASAN TEORI
Bab ini berisi membahas berbagai konsep dasar dan teori-teori yang
menunjang dalam kaitannya dengan topik pembuatan sistem informasi
pengambilan keputusan pengajuanan kenaikan pangkat
BAB III. ANALISIS MASALAH DAN PERANCANGAN
Bab ini menganalisis masalah dari yang dihadapi dalam membuat Aplikasi
Game 2D, Kabayan Saving Our Cultures.
BAB IV. IMPLEMENTASI DAN PENGUJ IAN
Bab ini berisi tentang perancangan sistem dan tahapan-tahapan yang
BAB V. KESIMPULAN DAN SARAN
Bab ini berisi kesimpulan yang di dapat selama penulisan laporan tugas
akhir dari pembahasan masalah, selain itu juga berisi saran untuk perbaikan dan
11
2.1 Game
Video game merupakan salah satu media hiburan yang paling popular
untuk semua kalangan usia. Sejak pertama kali ditemukan sampai saat sekarang,
teknologi game telah mengalami kemajuan yang terbilang sangat pesat. Hal ini
ditandai dengan berkembangnya jenis, produk, alat, dan jenis interaksi game
dengan penggunaan yang semakin beragam bentuknya.
2.1.1 Pengertian Game
Game merupakan sebuah bentuk seni dimana penggunanya, disebut
dengan pemain (player), diharuskan membuat keputusan-keputusan dengan tujuan
untuk mengelola sumber daya yang diperoleh dari kesempatan-kesempatan
bermain (token) miliknya, untuk mencapai suatu tujuan tertentu. Video game
adalah bentuk game yang interaksi utamanya melibatkan media video (dan
biasanya melibatkan audio).
Berdasarkan representasi visualnya, game dapat dibedakan menjadi 2
jenis, yaitu game 2 dimensi (2D) dan 3 dimensi (3D). Game 2D adalah game,
yang secara matematis, hanya melibatkan 2 elemen koordinat kartesius, yaitu x
pada game yang dapat dilihat oleh pemain. Sedangkan game 3D adalah game
yang selain melibatkan elemen x dan y, juga melibatkan elemen z pada
perhitungannya, sehingga konsep kamera pada game 3D benar-benar menyerupai
konsep kamera pada kehidupan nyata, yaitu selain digeser (seperti pada game 2D),
juga dapat diputar dengan sumbu tertentu.
2.1.2 Sejar ah Singkat Game
Sejak pertama kali ditemukan sampai saat ini, game telah melewati
beberapa fase evolusi penting dimana yang berperan besar terhadap
perkembangan game yang sudah sangat pesat sekarang ini.
Pada jaman computer digital modern pertama dikembangkan, yaitu pada
masa Perang Dunia II dan pada akhirnya baru tersedia secara komersil pada tahun
1950-an, computer berjalan dalam “batch mode”. Istilah ini untuk
menggambarkan bagaimana computer digital tersebut bekerja, pengguna menulis
programnya pada punch card lalu computer menjalankan dan menampilkan
hasilnya pada suatu alat pencetak. Pada masa ini, untuk bermain game pada
computer digital ini, setiiap pemain mengetikkan sesuatu pada suatu kartu data
lalu memasukkannya pada computer dan para pemain melihat siapa pemenangnya
pada alat pencetak tersebut. Pada masa setelahnya, tahun 1960-an, saat sistem
operasi yang mendukung timesharing telah diciptakan, pengguna computer sudah
dapat menggunakan computer secara interaktif pada terminal. Namun karena
computer masih merupakan barang mahal bernilai jutaan dollar, saat itu belum
kepuasan pribadi saja. Adapun game pada jaman tersebut ditulis menggunakan
bahasa permrograman FORTRAN dan BASIC.
Pada tahun 1971, saat intel telah menciptakan microprocessor, muncullah
game Pong, sebuah game arcade yang dioperasikan dengan memasukkan koin ke
dalam mesinnya. Ada pula versi console Pong, yang bernama Magnavox
Odyssey. Sejak saat itu, game mencetak sukses pertamanya dengan menemukan
pasarnya sendiri. Mesin game console yang paling popular saat itu, Atari’s 2600
dan Mattel’s Intellivision, memungkinkan siapapun bisa membuat ROM cartridge
yang berisi game tertentu pada mesin ini. Game pada jaman itu harus dapat
dimainkan dengan menggunakan memori 4K, sehingga pemrograman yang
dilakukan tidaklah semudah pemrograman berorientasi objek seperti yang kita
kenal sekarang ini. Biasanya untuk sebuah game, sumber daya manusia yang
dibutuhkan hanyalah programmer saja. Namun akibat proses produksi yang
semakin cepat dan semakin tidak menghiraukan kualitas, game menjadi banyak
mengandung bug, terlalu mirip satu sama lainnya, dan tidak begitu menarik lagi.
Pada tahun 1983, pasar sudah mulai kehilangan minatnya terhadap game dan
perusahaan game mulai bangkrut. Setelah masa awal perkembangan game ini,
dunia game telah melalui beberapa fase, yaitu fase game PC, fase terlahirnya
kembali game console, dan fase game online. Sekarang ketiga fase game tersebut
sudah semakin banyak variannya dan masing-masing memiliki kelompok
2.1.3 Sejar ah Game Pertama di Indonesia
Divinekids adalah game yang diakui dan mendapat award resmi dari
MURI (Museum Rekor Indonesia) sebagai Game Pertama Indonesia pada tahun
2004 dan banyak majalah-majalah Game dan Komputer (Gamestation, PCGAME,
Bobo, INDOPOS, Game21 dan lain sebagainya) . Sebenarnya sudah banyak
game-game buatan orang-orang indonesia yang lain tetapi karena kekurangan
syarat-syarat minimal tertentu seperti : Karakter menggunakan karakter asing,
penyebaran yang kurang luas, bahasa yang digunakan bukan bahasa Indonesia,
tidak terdaftar resmi Copyright ataupun Trademarknya dan lain sebagainya,
karena itu tidak dipilih sebagai Game Pertama Indonesia Resmi.
Menurut sebagian pengamat game ini adalah kurangnya investigasi MURI
dalam hal melihat adanya game-game tersebut sebelum memberikan gelar game
pertama ke David Setiabudi. Terlebih mereka tidak meminta pendapat dari pihak
yang memahami dunia game Indonesia itu sendiri.
Pengamat-pengamat yang berpendapat berbeda dengan MURI dan
majalah-majalah PC dan Game, memposisikan sejarah game Indonesia sebagai
berikut: Sejarah Game Indonesia menurut Gamedevid. Selain itu juga masih ada
banyak game-game lain yang belum terdokumentasi dengan baik. Beberapa game
buatan Elex Media Komputindo dengan copyright resmi dan penyebaran yang
luas ada juga yang dibuat sebelum sebelum dirilisnya Divine Kids. Game ini
dibuat dan dibagikan secara gratis melalui CD majalah2 game/ komputer dan
Game-game Divinekids berjumlah 38 lebih dan terus bertambah (2006).
Pembuatnya adalah David Setiabudi dan mahasiswa-mahasiswi bimbingannya.
Pembuatan musik gamenya dibuat oleh Rama Aurora, tunanetra berbakat
membuat musik digital.
David Setiabudi membuat game juga tahun 1992 tetapi tidak diakui
sebagai game pertama Indonesia karena kurang memenuhi syarat. Ada juga
game buatan Korea yang terkenal diterjemahkan ke bahasa Indonesia &
game-game yang penyebaran kurang luas & game-game yang berkaraker asing atau berbahasa
asing & tidak terdaftar Copyright secara resmi tidak terpilih menjadi Game
Pertama Indonesia. Ada yang berpendapat asal tahun tertulis paling tua itu patut
disebut Game Pertama Indonesia tidak perduli dengan buatan negara mana, atau
tersebar di lokal saja. Sampai sekarang masih diperdebatkan kelompok tertentu.
2.1.4 J enis-jenis Game
Berikut ini akan dijabarkan beberapa jenis game berdasarkan cara
pembuatannya, cara pemasarannya, mesin yang menjalankannya. Jenis game
diantaranya adalah :
1. Game PC
Game yang dimainkan pada PC (Personal Computer) yang memiliki
kelebihan yaitu memiliki tampilan antarmuka yang baik untuk input maupun
output, output visual kualitas tinggi karena layar computer biasanya memiliki
Kekurangannya adalah spesifikasi computer yang sangat bervariasai antara satu
computer dengan computer lainnya menyebabkan beberapa game dapat
ditampilkan dengan baik pada satu computer, tetapi tidak berjalan dengan baik
pada computer yang lainnya.
2. Game Console
Game yang dijalankan pada suatu mesin spesifik yang biasanya tersedia di
rumah pribadi, seperti Microsoft Xbox 360, Nintendo Wii dan sebagainya.
3. Game Arcade
Game yang dijalankan pada mesin dengan input dan output audio visual
yang telah terintegrasi dan tersedia ditempat-tempat umum, seperti mal,
bandara dan sebagainya.
4. Game Online
Game yang hanya dapat dimainkan secara online melalui LAN atau internet.
2.1.5 Genre Game
Game dibagi-bagi lagi ke dalam beberapa genre (jenis), diantaranya yaitu :
1. Action
2. Fighting
3. Education
5. Racing
6. Strategy
7. Simulation
8. Puzzle
9. Flight
10.RPG (Roler Playing Game)
2.2 AI (Artificial Intelligence)
AI (Artificial Intelligence) atau kecerdasan buatan merupakan cabang ilmu
dari ilmu komputer yang konsern dengan pengautomatisasi tingkah laku cerdas
(Desiani Anita dan Arhami Muhammad, 2006). Pernyataan tersebut juga dapat
dijadikan definisi dari AI. Definisi ini menunjukkan bahwa AI adalah bagian dari
komputer sehingga harus didasarkan pada sound theoretical (teori suara) dan
prinsip-prinsip aplikasi dari bidangnya. Prinsip-prinsip ini meliputi struktur data
yang digunakan dalam representasi pengetahuan, algoritma yang diperlukan untuk
mengaplikasikan pengetahuan tersebut, serta bahasa dan teknik pemrograman
yang digunakan dalam mengimplementasikannya.
Namun, definisi di atas belum memadai karena pada kenyataannya istilah
kecerdasan itu sendiri tidak didefinisikan atau dipahami dengan sangat baik.
Kerap kali kita meyakini telah mengetahui tingkah laku cerdas saat melihatnya
kecerdasan dalam cara khusus menurut cara mereka yang cukup membantu dalam
evaluasi kecerdasan program komputer. Dengan demikian, belum ada suatu
definisi yang cocok untuk Artificial Intelligence itu sendiri.
Definisi AI ini menjadi masalah tersendiri yang harus dijawab : apakah
kecerdasan tersebut merupakan suatu “single faculty”, atau apakah hanya sebuah
nama untuk kumpulan perbedaan dan tidak ada hubungannya dengan
kemampuan? Apa perlunya mempelajari AI? Apakah ada hubungannya dengan
proses belajar, kreativitas dan intuisi? Dapatkah kecerdasan disimpulkan dari
tingkah yang dapat diobservasi atau membutuhkan pembuktian dari suatu
mekanisme internal yang khusus? Bagaimana pengetahuan direpresentasikan
dalam jaringan saraf dari kehidupan? Semua pertanyaan tersebut merupakan
pertanyaan yang mungkin belum terjawab dan tentunya akan membantu kita
untuk terus berusaha menggeluti, mempelajari dan mencari metode yang dapat
menjadi solusi bagi pertanyaan ini, dan nantinya akan membentuk suatu intisari
AI modern. AI menawarkan media dan uji teori dari kecerdasan. Teori-teori
tersebut dapat dinyatakan dalam bahasa program komputer, diuji dan dibuktikan
melalui eksekusi pada komputer.
Karena tidak adanya definisi yang pasti tentang AI maka berikut ini adalah
definisi yang diambil dari delapan buku teks (Tabel 2.1). Definisi tersebut dibagi
dalam dua kotak utama, kotak bagian atas menunjukkan definisi berkaitan dengan
Tabel 2.1Beberapa Definisi AI
“The existing new effort to make
computers think...machine with mind,
in full and literal sense”
(Haugeland, 1985)
“The study of mental faculties through
the use of computasional models”
(Chaniak and McDermott, 1985)
“The study of the computation that
make it possible to perceive, reason and
act” (Winston, 1992)
“The art of creating machine that
performs functions that require
intelligence when performed by
people” (Kurzwell, 1990)
and emulate intelligent behavior in
termof computational processes”
(Schalkoff, 1990)
“The branch of computer science that is
concerned with the automation of
intelligent behaviour” (Luger and
stubblefield, 1993)
System that thinks like humans System that thinks rationally
Dari beberapa definisi dari Tabel 1.1, definisi AI dapat dibagi dalam empat
kategori, yaitu :
1. Sistem yang dapat berfikir seperti manusia “Thinking humanly”.
2. Sistem yang dapat bertingkah laku seperti manusia “Acting Humanly”.
3. Sistem yang dapat berfikir secara rasional “Thinking rationally”.
4. Sistem yang dapat bertingkah laku secara rasional “Acting rationally”.
Secara historis, keempat pendekatan tersebut telah dilakukan. Pendekatan
manusia haruslah merupakan suatu ilmu empiris, termasuk hipotesa dan
konfirmasi percobaan dan pendekatan rasional meliputi kombinasi dari
matematika dan rekayasa.
2.2.2 Area Aplikasi AI
Ada dua hal yang sangat mendasar mengenai penelitian-penelitian AI,
yaitu knowledge representation (representasi pengetahuan) dan search
(pelacakan). Para peneliti AI terus mengembangkan berbagai jenis teknik baru
dalam menangani sejumlah permasalahan yang tergolong ke dalam AI seperti
vision dan percakapan, pemrosesan bahasa alami dan permasalahan khusus seperti
diagnosa medis.
AI seperti bidang ilmu lainnya juga memiliki sejumlah sub disiplin ilmu
yang sering digunakan untuk pendekatan yang esensial bagi penyelesaian suatu
sejumlah bidang terapan utama dari kontribusinya terhadap perkembangan AI
yang digambarkan bentuk pohon berikut ini :
Gambar 2.1Beberapa bidang terapan AI
Area aplikasi AI diantaranya yaitu (Desiani Anita dan Arhami
Muhammad, 2006) :
1. Game Playing.
2. Penalaran Otomatis dan Pembuktian.
3. Sistem Pakar.
4. Pemahaman Bahasa Alami.
5. Perencanaan dan Robotik.
6. Jaringan Saraf Tiruan (JST).
2.2.3 Perbandingan Kecerdasan Buatan dengan Kecerdasan Alamiah
Ada beberapa keuntungan kecerdasan buatan dibanding kecerdasan
alamiah, yaitu :
1. Lebih permanen.
2. Memberikan kemudahan dalam duplikasi dan penyebaran.
3. Relatif lebih murah dari kecerdasan alamiah.
4. Konsisten dan teliti.
5. Dapat didokumentasi.
6. Dapat mengerjakan beberapa task dengan lebih cepat dan lebih baik
2.2.4 Perbedaan Komputasi AI dengan Proses Komputasi Konvensional
Tabel 2.2 Pemrosesan data komputer konvensional
Pr oses Tugas
Kalkulasi Mengerjakan operasi-operasi matematis seperti : +,
=, x, :, atau mencari akar persamaan, menyelesaikan
rumus/ persamaan
Logika Mengerjakan operasi logika seperti and, or, invert
Penyimpanan Menyimpan data dan gambar pada file
Retrieve Mengakses data yang disimpan pada file
Translate Mengonversi data dari satu bentuk ke bentuk yang
lain
Sort Memeriksa data dan menampilkan dalam urutan
yang diinginkan
Edit Melakukan perubahan, penambahan dan
penghapusan data
Monitor Mengamati event eksternal dan internal serta
melakukan tindakan jika kondisi tertentu tercapai
Kontrol Memberikan perintah atau mengendalikan peralatan
Perbandingan antara AI dengan pemrograman konvensional adalah seperti tabel
berikut ini :
Tabel 2.3Perbandingan AI dan pemrograman konvensional
Dimensi AI Pemr ograman
Konvensional
Processing Simbolik Algoritmik
Input Tidak harus lengkap Harus lengkap
Search Heuristik Algoritmik
Explanation Tersedia Tidak tersedia
Major interest Pengetahuan Data dan Informasi
Struktur Terpisah antara kontrol
dan pengetahuan
Kontrol terintegrasi
dengan data
Output Tidak harus lengkap Harus lengkap
Maintenance dan update Mudah karena
menggunakan
modul-modul
Umumnya susah
dilakukan
Kemampuan berfikir Terbatas tetapi dapat
ditingkatkan
Tidak ada
2.2.5 AI yang digunakan
2.2.5.1 Algoritma BFS dan DFS
1. Pengertian Algoritma BFS (Breadth First-Search)
Breadth-first search adalah algoritma yang melakukan pencarian secara
melebar yang mengunjungi simpul secara preorder yaitu mengunjungi suatu
simpul kemudian mengunjungi semua simpul yang bertetangga dengan simpul
tersebut terlebih dahulu. Selanjutnya, simpul yang belum dikunjungi dan
bertetangga dengan simpul-simpul yang tadi dikunjungi , demikian seterusnya.
Jika graf berbentuk pohon berakar, maka semua simpul pada aras d dikunjungi
lebih dahulu sebelum simpul-simpul pad aras d+1. Algoritma ini memerlukan
sebuah antrian q untuk menyimpan simpul yang telah dikunjungi. Simpulsimpul
ini diperlukan sebagai acuan untuk mengunjungi simpul-simpul yang
bertetanggaan dengannya. Tiap simpul yang telah dikunjungi masuk ke dalam
antrian hanya satu kali. Algoritma ini juga membutuhkan Tabel Boolean untuk
menyimpan simpul yang telah dikunjungi sehingga tidak ada simpul yang
dikunjungi lebih dari satu kali.
Metode penelusuran ini memeriksa semua node (simpul) pohon
seluruhnya sebelum pindah ke simpul di tingkat selanjutnya. Proses ini bekerja
dari kiri ke kanan, baru bergerak ke bawah. Ini berlanjut sampai ke titik tujuan
(goal).
Berikut gambar yang mengilustrasikan urutan simpul yang dikunjungi pada
algoritma BFS:
Gambar 2.2 Ilustrasi ur utan kunjungan simpul pada algoritma BFS
Dari gambar di atas, dapat dilihat bahwa dengan algoritma BFS, setiap simpul
pada tingkat x dikunjungi lebih dahulu sebelum simpul pada tingkat di bawahnya
(x+1).
a. Cara Kerja Algoritma BFS
Dalam algoritma BFS, simpul anak yang telah dikunjungi disimpan dalam
suatu antrian. Antrian ini digunakan untuk mengacu simpul-simpul yang
bertetangga dengannya yang akan dikunjungi kemudian sesuai urutan
pengantrian. Untuk memperjelas cara kerja algoritma BFS beserta antrian yang
1. Masukkan simpul ujung (akar) ke dalam antrian
2. Ambil simpul dari awal antrian, lalu cek apakah simpul merupakan solusi
3. Jika simpul merupakan solusi, pencarian selesai dan hasil dikembalikan.
4. Jika simpul bukan solusi, masukkan seluruh simpul yang bertetangga
dengan simpul tersebut (simpul anak) ke dalam antrian
5. Jika antrian kosong dan setiap simpul sudah dicek, pencarian selesai dan
mengembalikan hasil solusi tidak ditemukan
6. Ulangi pencarian dari langkah kedua
b. Pr operti Algoritma BFS
Karena seluruh simpul yang telah dikunjungi harus disimpan, maka
kompleksitas ruang algoritma BFS adalah O (jumlah simpul+jumlah sisi). Hal ini
menunjukkan bahwa algoritma BFS memerlukan ruang besar dan tidak cocok
untuk pemecahan masalah besar. Angka yang sama menunjukkan kompleksitas
waktu terburuk, di mana setiap simpul harus diperiksa. Kompleksitas waktu
terbaik, O(1), didapat jika solusi ditemukan pada pencarian pertama. Walaupun
memiliki kompleksitas ruang dan waktu yang kurang baik, algoritma BFS dapat
mencari solusi secara tuntas, berarti algoritma ini akan menemukan solusi terbaik
c. Aplikasi Algoritma BFS dalam Teori Graf
Karena algoritma BFS menggunakan graf sebagai media representasi persoalan,
tidak sulit untuk mengaplikasikan algoritma ini dalam persoalan-persoalan teori
graf.
a. Pengecekan Gr af Bipar tit
Graf bipartit adalah graf yang seluruh simpulnya dapat dipisah menjadi dua
bagian, serta setiap sisi graf menghubungkan dua simpul yang masing-masing
berada pada bagian yang berbeda, sehingga tidak ada simpul pada bagian yang
sama yang bertetangga. BFS digunakan untuk mengecek apakah suatu graf
merupakan graf bipartit atau bukan dengan memulai pencarian pada simpul
manapun, lalu memberi nilai 0 dan 1 pada setiap simpul yang dikunjungi. Angka
ini menandakan bagian di mana simpul tersebut berada. Contoh pemberian nilai
pada graf: Jika simpul awal diberi nilai 0, maka seluruh simpul yang bertetangga
dengannya diberi nilai 1, lalu seluruh simpul yang bertetangga dengan simpul
bernilai 1 tersebut diberi nilai 0, dan seterusnya.
Dalam pemberian nilai ini, jika dicapai simpul yang telah dikunjungi
sebelumnya, dicek apakah simpul tersebut berada pada tingkat yang sama dengan
simpul ayahnya, dengan cara pengecekan nilai kedua simpul tersebut yang
bertetangga tersebut. Jika simpul bertetangga dengan simpul yang bernilai sama
dengannya, maka dapat disimpulkan bahwa graf bukan merupakan graf bipartit.
Jika sampai akhir pemberian nilai hal tersebut tidak terjadi, maka graf tersebut
b. Pencarian Komponen Terhubung dalam Graf
Dua buah komponen dinyatakan terhubung dalam graf jika terdapat lintasan
antara keduanya. Dalam algoritma BFS, seluruh simpul yang dikunjungi pasti
merupakan simpul yang terhubung dengan simpul akar, karena simpul-simpul
tersebut hanya dikunjungi jika bertetangga dengan simpul ayahnya. Seluruh
simpul yang terhubung dengan simpul akar juga pasti dikunjungi. Oleh karena itu,
seluruh simpul yang dikunjungi dalam algoritma BFS dan masuk ke dalam
pembentukan pohon BFS adalah komponen terhubung terbesar pada graf yang
mencakup simpul awal (akar).
c. Pencarian J arak Ter pendek pada Graf Tak Ber bobot
Pada graf tak berbobot, jarak terpendek antara dua simpul hanya ditentukan oleh
jumlah simpul atau jumlah sisi yang berada di lintasan antara dua simpul tersebut.
Untuk mendapatkan jarak terpendek seperti ini, algoritma BFS dapat digunakan
untuk menyelesaikan persoalan. Pohon yang dibentuk dalam algoritma BFS
memiliki sisi yang menghubungkan simpul-simpul pada setiap tingkat. Tidak
mungkin ada sisi dalam graf yang terhubung dan berada di luar tingkat-tingkat
pada pohon tersebut.
Hal ini menandakan bahwa pohon algoritma BFS menampilkan jarak terpendek
antara simpul akar dan simpul-simpul lainnya dalam graf. Setiap simpul
terhubung dengan akar, sehingga jarak terpendek dari simpul ke akar sama dengan
d. Pencarian Diameter Pohon
Diameter dari sebuah pohon adalah lintasan terpanjang dari seluruh jarak
terpendek antara dua simpul pada suatu pohon. Dalam pencarian diameter pohon,
digunakan algoritma BFS seperti yang telah diterangkan di atas untuk
mendapatkan jarak terpendek dari setiap simpul. Hasil dari penghitungan jarak
terpendek masing-masing tersebut digunakan bersama dengan satu variabel global
yang menyatakan panjang maksimum untuk mendapatkan diameter pohon.
Berikut algoritma untuk mencari diameter pohon:
1. Inisialisasi panjang maksimum = 0
2. Lakukan algoritma BFS pada pohon
3. Masukkan hasil jarak terpendek pada suatu simpul ke
1. variabel temp
4. Jika panjang maksimum < temp, maka panjang maksimum = temp
5. Ulangi dari langkah 2 sampai jarak terpendek seluruh simpul telah dicari
6. Kembalikan panjang maksimum. Panjang maksimum yang dikembalikan
merupakan diameter pohon yang dicari.
2. Pengertian Algoritma DFS (Depth First-Search)
Depth-first search (DFS) melakukan pencarian secara preorder.
Mengunjungi anak suatu simpul sebelum simpul tetangganya. Berkaitan dengan
mesin pencari, DFS ini cenderung mengindeks dokumen berdasarkan suatu link.
DFS adalah algoritma untuk melakukan traversal atau pencarian pada
mengeksplorasi sejauh mungkin pada tiap cabang sebelum akhirnya melakukan
backtracking.
Algoritma pencarian mendalam (DFS) mencari solusi dengan
mengunjungi simpul akar, lalu simpul-simpul yang bertetangga dengan simpul
akar (setingkat di bawahnya), terus sampai simpul paling dalam pada bagian
tersebut. Setelah itu, dicari simpul yang telah dikunjungi pada tingkat terdekat dan
terdalam, lalu simpul yang bertetangga dengan simpul ini dikunjungi, demikian
seterusnya sampai seluruh simpul telah dikunjungi. Berikut gambar yang
mengiilustrasikan urutan simpul yang dikunjungi pada algoritma BFS:
Gambar 2.3 Ilustrasi ur utan kunjungan simpul pada algoritma DFS
Dari gambar di atas, dapat dilihat bahwa dengan algoritma DFS, setiap
anak simpul pertama yang bertetangga dengan simpul akar dikunjungi sampai
tingkat terdalamnya lebih dahulu, lalu seluruh simpul pada subpohon tersebut,
a. Cara Kerja Algoritma DFS
Dalam algoritma DFS, simpul yang telah dikunjungi disimpan dalam suatu
tumpukan (stack). Antrian ini digunakan untuk mengacu simpul-simpul yang akan
dikunjungi sesuai urutan tumpukan (masuk terakhir, keluar pertama) dan
mempermudah proses runut-balik jika simpul sudah tidak mempunyai anak
(simpul pada kedalaman maksimal). Untuk memperjelas cara kerja algoritma DFS
beserta tumpukan yang digunakannya, berikut langkah-langkah algoritma DFS:
1. Masukkan simpul ujung (akar) ke dalam tumpukan
2. Ambil simpul dari tumpukan teratas, lalu cek apakah simpul merupakan
solusi
3. Jika simpul merupakan solusi, pencarian selesai dan hasil dikembalikan.
4. Jika simpul bukan solusi, masukkan seluruh simpul yang bertetangga
dengan simpul tersebut (simpul anak) ke dalam tumpukan
5. Jika tumpukan kosong dan setiap simpul sudah dicek, pencarian selesai dan
mengembalikan hasil solusi tidak ditemukan
6. Ulangi pencarian dari langkah kedua
b. Pr operti Algoritma DFS
Berbeda dengan algoritma BFS yang hanya melakukan pencarian solusi
pada graf sampai menemukannya, sehingga membutuhkan waktu yang lama,
algoritma DFS menggunakan metode heuristik, sehingga solusi dapat ditemukan
Kompleksitas ruang algoritma DFS juga jauh lebih rendah dari algoritma
BFS, karena hanya menyimpan simpul-simpul pada suatu subpohon. Akan tetapi,
kompleksitas waktu algoritma DFS sama dengan kompleksitas waktu algoritma
BFS. Algoritma DFS juga dapat mencari solusi secara tuntas seperti algoritma
BFS, berarti algoritma ini akan menemukan solusi terbaik dan terdekat
bagaimanapun bentuk graf tersebut. Walaupun demikian, masih terdapat
kelemahan algoritma DFS, yaitu jika pada graf yang sangat besar kedalaman graf
terus bertambah dan tidak diketahui akhirnya, sehingga memori tidak cukup. Hal
ini dapat diatasi dengan pengembangan algoritma DFS yaitu pencarian mendalam
berulang (Iterative Deepening Search - IDS).
c. Aplikasi Algoritma DFS dalam Teor i Graf
Seperti halnya algoritma BFS, algoritma DFS juga dapat digunakan dengan
mudah pada teori graf. Bahkan banyak persoalan yang tidak dapat diselesaikan
algoritma BFS yang dapat diselesaikan oleh algoritma DFS. Berikut
contoh-contoh penggunaan algoritma BFS dalam
persoalan teori graf:
d. Pencarian Komponen Terhubung dalam Graf
Sama seperti pada algoritma BFS, dalam algoritma DFS, seluruh simpul yang
dikunjungi juga pasti merupakan simpul yang terhubung dengan simpul akar,
karena simpul-simpul tersebut hanya dikunjungi jika bertetangga dengan simpul
ayahnya, sehingga seluruh simpul yang terhubung dengan simpul akar juga pasti
Dalam hal pencarian komponen terhubung dalam graf, algoritma BFS dan DFS
menghasilkan pencarian yang memiliki kecepatan dan kebutuhan memori sama,
karena setiap simpul harus dikunjungi. Hasil pencarian juga sama, walaupun
proses yang dilakukan berbeda. Kedua algoritma dapat menghasilkan komponen
terhubung terbesar pada graf yang mencakup simpul awal (akar). Oleh karena itu,
kedua algoritma dapat digunakan untuk menyelesaikan persoalan ini dengan
mangkus.
e. Pengurutan Topologi
Dalam teori graf, pengurutan topologi dari graf DAG (graf berarah tanpa siklus)
adalah pengurutan linear simpul-simpul di dalam graf yang bersesuaian dengan
urutan di mana x dikunjungi sebelum y jika terdapat lintasan dari x ke y.
Pengurutan topologi dapat diaplikasikan pada penjadwalan sekuensial suatu
pekerjaan. Dengan menggunakan algoritma DFS, pengurutan topologi dilakukan
dengan algoritma berikut:
1. Lakukan algoritma DFS pada graf G
2. Inisialisasi list kosong
3. Jika suatu simpul telah selesai dipanggil seluruh anaknya, masukkan simpul ke
dalam list
4. Kembalikan list yang telah berisi semua simpul.
f. Pencarian Komponen Terhubung Kuat
Jika algoritma BFS dapat mencari komponen terhubung pada graf tak berarah,
algoritma DFS dapat melakukan sesuatu yang lebih rumit, yaitu mencari
komponen terhubung kuat pada graf berarah. Graf berarah disebut terhubung kuat
jika untuk setiap pasangan simpul A dan B terdapat lintasan dari A ke B serta dari
B ke A. Komponen terhubung kuat pada graf berarah merupakan subgraf
terhubung kuat maksimal pada suatu graf. Komponen ini membentuk partisi dari
graf.
Dalam pencarian komponen terhubung kuat, digunakan dua kali algoritma DFS,
yaitu pada graf serta graf transpose dari graf tersebut. Berikut algoritma DFS yang
digunakan dalam pencarian komponen terhubung kuat:
1. Lakukan algoritma DFS pada graf G
2. Cari graf transpose dari G: GT
3. Lakukan algoritma DFS pada graf GT secara terbalik
4. Kembalikan output hutan DFS yang terbentuk pada langkah 3 sebagai suatu
komponen terhubung kuat
g. Penggunaan Algoritma DFS pada Aplikasi game yang dibangun
2.3 Analisis Sistem
Analisis sistem yaitu proses penguraian suatu sistem yang akan dirancang
oleh satu orang atau sekelompok orang, dimana informasi yang utuh akan
diuraikan ke dalam bagian-bagian komponennya dengan maksud untuk
mengidentifikasikan dan mengevaluasi permasalahan, kesempatan, hambatan
yang terjadi dan kebutuhan yang diharapkan.
Langkah-langkah yang harus dilakukan untuk menganalisis sebuah sistem
yaitu :
1. Mengidentifikasi masalah
2. Memahami kerja sistem yang ada atau yang akan dibangun
3. Menganalisis sistem.
4. Membuat laporan hasil analisis.
2.4 Tools yang Digunakan
2.4.1 OOP (Object Oriented Programming)
OOP (Object Oriented Programming) atau yang dikenal dengan
Pemrograman Berorientasi Objek merupakan paradigma pemrograman yang
berorientasikan kepada objek. Semua data dan fungsi di dalam paradigma ini
Model data berorientasi objek dikatakan dapat memberi fleksibilitas yang
lebih, kemudahan mengubah program, dan digunakan luas dalam teknik piranti
lunak skala besar. Lebih jauh lagi, pendukung OOP mengklaim bahwa OOP lebih
mudah dipelajari bagi pemula dibanding dengan pendekatan sebelumnya, dan
pendekatan OOP lebih mudah dikembangkan dan dirawat.
Dengan menggunakan OOP maka dalam melakukan pemecahan suatu
masalah kita tidak melihat bagaimana cara menyelesaikan suatu masalah tersebut
(terstruktur) tetapi objek-objek apa yang dapat melakukan pemecahan masalah
tersebut. Sebagai contoh anggap kita memiliki sebuah departemen yang memiliki
manager, sekretaris, petugas administrasi data dan lainnya. Misal manager
tersebut ingin memperoleh data dari bag administrasi maka manager tersebut tidak
harus mengambilnya langsung tetapi dapat menyuruh petugas bag administrasi
untuk mengambilnya. Pada kasus tersebut seorang manager tidak harus
mengetahui bagaimana cara mengambil data tersebut tetapi manager bisa
mendapatkan data tersebut melalui objek petugas adminiistrasi. Jadi untuk
menyelesaikan suatu masalah dengan kolaborasi antar objek-objek yang ada
karena setiap objek memiliki deskripsi tugasnya sendiri (Sumber : Raharjo.B,
Heryanto. I, Arif Haryano, Mudah Belajar JAVA, Informatika, Bandung, 2009.).
Pemrograman orientasi-objek menekankan konsep berikut:
• Kelas (Class) — kumpulan atas definisi data dan fungsi-fungsi dalam
suatu unit untuk suatu tujuan tertentu. Sebagai contoh 'class of dog' adalah
menunjuk pada berbagai macam perilaku/turunan dari anjing. Sebuah
class adalah dasar dari modularitas dan struktur dalam pemrograman
berorientasi objek. Sebuah class secara tipikal sebaiknya dapat dikenali
oleh seorang non-programmer sekalipun terkait dengan domain
permasalahan yang ada, dan kode yang terdapat dalam sebuah class
sebaiknya (relatif) bersifat mandiri dan independen (sebagaimana kode
tersebut digunakan jika tidak menggunakan OOP). Dengan modularitas,
struktur dari sebuah program akan terkait dengan aspek-aspek dalam
masalah yang akan diselesaikan melalui program tersebut. Cara seperti ini
akan menyederhanakan pemetaan dari masalah ke sebuah program
ataupun sebaliknya.
• Objek (Object) - membungkus data dan fungsi bersama menjadi suatu unit
dalam sebuah program komputer. Objek merupakan dasar dari modularitas
dan struktur dalam sebuah program komputer berorientasi objek.
• Abstraksi (Abstract) - Kemampuan sebuah program untuk melewati
aspek informasi yang diproses olehnya, yaitu kemampuan untuk
memfokus pada inti. Setiap objek dalam sistem melayani sebagai model
dari "pelaku" abstrak yang dapat melakukan kerja, laporan dan perubahan
keadaannya, dan berkomunikasi dengan objek lainnya dalam sistem, tanpa
mengungkapkan bagaimana kelebihan ini diterapkan. Proses, fungsi atau
metode dapat juga dibuat abstrak, dan beberapa teknik digunakan untuk
• Enkapsulasi (Encapsulation) - Memastikan pengguna sebuah objek tidak
dapat mengganti keadaan dalam dari sebuah objek dengan cara yang tidak
layak; hanya metode dalam objek tersebut yang diberi ijin untuk
mengakses keadaannya. Setiap objek mengakses interface yang
menyebutkan bagaimana objek lainnya dapat berinteraksi dengannya.
Objek lainnya tidak akan mengetahui dan tergantung kepada representasi
dalam objek tersebut.
• Polimor fisme (Polimorfism) melalui pengiriman pesan. Tidak bergantung
kepada pemanggilan subrutin, bahasa orientasi objek dapat mengirim
pesan; metode tertentu yang berhubungan dengan sebuah pengiriman
pesan tergantung kepada objek tertentu di mana pesa tersebut dikirim.
Contohnya, bila sebuah burung menerima pesan "gerak cepat", dia akan
menggerakan sayapnya dan terbang. Bila seekor singa menerima pesan
yang sama, dia akan menggerakkan kakinya dan berlari. Keduanya
menjawab sebuah pesan yang sama, namun yang sesuai dengan
kemampuan hewan tersebut. Ini disebut polimorfisme karena sebuah
variabel tungal dalam program dapat memegang berbagai jenis objek yang
berbeda selagi program berjalan, dan teks program yang sama dapat
memanggil beberapa metode yang berbeda di saat yang berbeda dalam
pemanggilan yang sama. Hal ini berlawanan dengan bahasa fungsional
• Inheritas (Inheritance)- Mengatur polimorfisme dan enkapsulasi dengan
mengijinkan objek didefinisikan dan diciptakan dengan jenis khusus dari
objek yang sudah ada - objek-objek ini dapat membagi (dan memperluas)
perilaku mereka tanpa haru mengimplementasi ulang perilaku tersebut
(bahasa berbasis-objek tidak selalu memiliki inheritas).
2.4.2 UML (Unified Modeling Language)
UML (Unified Modeling Language) adalah bahasa spesifikasi standar
untuk mendokumentasikan, menspesifikasikan, dan membangun system (Flowler,
2006). Unified Modeling Language (UML) adalah himpunan struktur dan teknik
untuk pemodelan desain program berorientasi objek (OOP) serta aplikasinya.
UML adalah metodologi untuk mengembangkan sistem OOP dan sekelompok
perangkat tool untuk mendukung pengembangan sistem tersebut. UML mulai
diperkenalkan oleh Object Management Group, sebuah organisasi yang telah
mengembangkan model, teknologi, dan standar OOP sejak tahun 1980-an.
Sekarang UML sudah mulai banyak digunakan oleh para praktisi OOP. UML
Gambar 2.4 Logo UML
UML adalah suatu bahasa yang digunakan untuk menentukan,
memvisualisasikan, membangun, dan mendokumentasikan suatu sistem informasi.
UML dikembangkan sebagai suatu alat untuk analisis dan desain berorientasi
objek oleh Grady Booch, Jim Rumbaugh, dan Ivar Jacobson. Namun demikian
UML dapat digunakan untuk memahami dan mendokumentasikan setiap sistem
informasi. Penggunaan UML dalam industri terus meningkat. Ini merupakan
standar terbuka yang menjadikannya sebagai bahasa pemodelan yang umum
dalam industri peranti lunak dan pengembangan system.
UML menyediakan 10 macam diagram untuk memodelkan aplikasi
berorientasi objek, yaitu :
1. Use Case Diagram untuk memodelkan proses bisnis.
2. Conceptual Diagram untuk memodelkan konsep-konsep yang ada di
dalam aplikasi.
3. Sequence Diagram untuk memodelkan pengiriman pesan (message) antar
objects.
5. State Diagram untuk memodelkan perilaku objects di dalam sistem.
6. Activity Diagram untuk memodelkan perilaku Use Cases dan objects di
dalam system.
7. Class Diagram untuk memodelkan struktur kelas.
8. Object Diagram untuk memodelkan struktur object.
9. Component Diagram untuk memodelkan komponen object.
10. Deployment Diagram untuk memodelkan distribusi aplikasi.
2.4.3 J ava
Java adalah bahasa pemrograman yang disusun oleh James Gosling yang
dibantu oleh rekan-rekannya seperti Patrick Naugton, Chris Warth, Ed Frank, dan
Mike Sheridan di suatu perusahaan perangkat lunak yang bernama Susn
Microsystems, pada tahun 1991 (Raharjo.B, Heryanto. I, Arif Haryano, 2009,
hlm. 1-2). Bahasa pemrograman ini mula-mula diinisialisasi dengan nama “Oak”,
namun oada tahun 1995 diganti namanya menjadi “Java”.
Alasan utama pembentukan bahasa Java adalah untuk membuat
aplikasi-aplikasi yang dapat diletakkan diberbagai macam perangkat elektronik, seperti
microwave oven dan remote control, sehingga Java harus bersifat porTabel atau
yang sering disebut dengan platform independent (tidak bergantung pada
platform). Itula yang menyebabkan dalam dunia pemrograman Java, dikenal
adanya istilah ‘write once, run everywhere’, yang berarti kode program hanya
ditulis sekali, namun dapat dijalankan di bawah platform manapun, tanpa harus
2.4.3.1 J ava Ver si Lama (J ava 1)
Pada awalnya perilisannya, versi Java masih disebut dengan JDK (Java
Development Kit). Dalam JDK, semua kebutuhan untuk pengembangan program
dan eksekusi program masih tergabung jadi satu. Penamaan ini berlaku sampai
dengan Java 1.1. Namun sekarang, setelah Java 1.2, Sun Mycrosystems
menamainya dengan JSDK (Java Software Development Kit) dalam hal ini
kebutuhan untuk pengembangan program dipisahkan dengan kebutuhan eksekusi.
Bagian software yang digunakan untuk kebutuhan eksekusi program disebut
dengan JRE (Java-Runtime Environment). Selanjutnya, Java 1.2 disederhanakan
penamaannya menjadi “Java 2”.
2.4.3.2 J ava 2
Sun Myrosystems telah mendefinisikan tiga buah edisi dari Java 2 yaitu
sebagai berikut :
1. J ava 2 Standar d Edition (J 2SE), yang digunakan untuk mengembangkan
aplikasi-aplikasi desktop dan applet (aplikasi untuk Java yang dapal
dijalankan di dalam browser web).
2. J ava 2 Enterprise Edition (J 2EE), merupakan superset dari J2SE yang
memperbolehkan kita untuk mengembangkan aplikasi-aplikasi berskala
besar(enterprise), yaitu dengan melakukan pembuatan aplikasi-aplikasi di sisi
server dengan menggunakan EJBs (Enterprise JavaBeans), aplikasi web
lainnya seperti CORBA (Common Object Request Broker Architecture) dan
XML (Extensible Markup Language).
3. J ava 2 Micro Edition (J 2ME), merupakan subset dari J2SE yang digunakan
untuk menangani pemrograman di dalam perangkat-perangkat kecil, yang
tidak memungkinkan untuk mendukung implementasi J2SE secara penuh
seperti pada teknologi mobile.
2.4.4 Greenfoot
Greenfoot merupakan sebuah IDE berbasis java yang dikhususkan
untuk pembuatan game sederhana. Greenfoot diprakarsai oleh Michael
Kolliung pada tahun 2003. Prototype yang pertama dibangun oleh Poul
Henriksson dan Michael Kolling pada tahun 2003/2004. semenjak tahun 2005
pembuatan greenfoot ini dilanjutkan dengan melibatkan anggota kelompok
dari University of Kent dan Deakin University.
Pada awalnya, greenfoot bertujuan untuk menarik minat anak-anak
untuk belajar pemrograman, greenfoot ini cocok untuk anak usia 13 tahun ke
atas. Cara penggunaannya pun cukup mudah. Selain berbentuk teks seperti
editor lainnya, pada greenfoot ini terdapat perangkat alat bantu seperti class
browser, editor dan compiler. Greenfoot juga mendukung bahasa Java secara
utuh. Dengan adanya bantuan perangkat-perangkat tadi, konsep OOP pada
greenfoot lebih mudah dimengerti.
Didalam greenfoot terdapat project yang dinamakan scenario. Di
greenfoot. Yaitu class world dan actor. World merupakan latar dari game
yang akan dibuat. Untuk membuat class world, caranya adalah dengan
meng-klik new sub class di bagian world. Maka akan mucul sebuah kotak dialog.
Kemudian kita diminta untuk memberi nama untuk kelas world tersebut.
Setelah itu kita dapat memilih gambar sebagai latar belakang class world
yang akan kita buat. Di dalam greenfoot sendiri telah tersedia beberapa
gambar untuk latar belakang, seperti gambar tanah, pasir, batu, air, dll.
Class actor adalah sebuah kelas yang berfungsi sebagai karakter pada
game yang akan kita buat. Untuk membuat actor caranya adalah dengan
meng-klik icon aktor, kemudian pilih new subclass. caranya hampir mirip
dengan pembuatan class world. Pada class actor juga telah disediakan
beberapa gambar, sepertii gambar animal, people, symbol, dll
2.4.5 Corel Draw
Corel draw 12 adalah sebuah aplikasi grafis berbasis vector. Format
vector adalah gambar yang membentuk sejumlah objek garis dan objek
kurva berdasarkanrumusan matematis. Format vector lebih banyak
digunakan untuk membentuk objek buatan, seperti menggambar objek dua
dimensi, yang lebih ditekankan ke dalam pembuatan objek garis, lingkaran,
polygon dan persegi panjang. Sedangkan untukobjek tiga dimensi, lebih
ditekankan ke dalam pembuatan : bola, kubus dan tabung.
Objek vector, banyak digunakan dalam pembuatan pengolahan teks
Corel Draw, freehand, dan lain-lain. Ruang penyimpanan format vector
47 3.1 Analisis Sistem
Pada bagian analisis sistem ini akan dibahas mengenai analisa-analisa
masalah yang akan dilakukan terhadap pasar game khususnya game di Indonesia,
analisa pengguna (user) dan juga kegunaan game yang akan dibangun.
3.1.1 Analisis Masalah
1. Pengaruh Per kembangan Teknologi Ter hadap Budaya Bangsa
Kebudayaan adalah kompleks keseluruhan dari pengetahuan, keyakinan,
kesenian, moral, hukum, adat-istiadat dan semua kemampuan atau kebiasaan lain
yang diperoleh seseorang sebagai anggota masyarakat (Sir Edward Tylor).
Namun seiring berjalannya waktu dan teknologi yang semakin canggih,
rasa tanggung jawab sudah pudar terhadap budaya. Masyarakat tidak lagi peduli
dengan budayanya. Hal ini disebab kan semakin gencarnya media elektronik,
khususnya TV yang selalu menayangkan kebudayaan luar. Hal ini dengan
mudahnya merusak pola pikir masyarakat khususnya para generasi muda. Mereka
2. Peran Masyarakat & Pemerintah dalam melestarikan budaya Indonesia
Kesenian & kebudayaan merupakan dua sisi mata uang yang tidak
terpisahkan. Kesenian dapat menjadi wajah untuk mempertahankan identitas
budaya Indonesia. Faktanya, sekarang ini identitas budaya Indonesia sudah mulai
memudar karena arus global. Sehingga kondisi yang mengkhawatirkan ini perlu
segera diselamatkan. Hal ini semakin diperparah dengan diakuinya budaya
Indonesia oleh bangsa lain. Masalah yang sedang marak baru-baru ini adalah
diakuinya lagu daerah yang bersal dari Maluku,”Rasa Sayang-sayange,” serta
“Reog Ponorogo” dari Jawa Timur oleh Malaysia. Hal ini disebabkan oleh kurang
pedulinya bangsa Indonesia terhadap budayanya. Namun ketika kebudayaan itu di
akui oleh bangsa lain, Indonesia mulai bingung. Berita terbaru menyebutkan
bahwa kesenian “Angklung” dari Jabar juga mau dipatenkan oleh Negara tersebut.
Lalu dimanakah peran masyarakat dan pemerintah dalam mengatasi hal ini?.
Kebudayaan nasional adalah kebudayaan kita bersama yakni kebudayaan
yang mempunyai makna bagi kita bangsa Indonesia. Kalau bukan kita lalu siapa
lagi yang akan menjaga dan melestarikannya.Hal ini sebenarnya akan
menimbulkan rasa tanggung jawab untuk melestarikan kebudayaan tersebut.
Begitu juga halnya dengan pemerintah, pemerintah harus tegas dalam
menjaga dan melestarikan kebudayaan Indonesia dengan cara membuat peraturan
perundang-undangan yang bertujuan untuk melindungi budaya bangsa. Jika perlu
pemerintah harus mematenkan budaya yang ada di Indonesia agar tidak jatuh ke
3.2 Analisis dan Kebetuhan Fungsional
3.2.1 Identifikasi Aktor
Tahap pertama yang dilakukan dalam melakukan analisis berorientasi
objek menggunakan UML adalah menentukan aktor atau pengguna sistem. Kata
aktor dalam konteks UML, menampilkan peran (roles) yang pengguna (atau
sesuatu di luar sistem yang dikembangkan yang dapat berupa perangkat keras, end
user, sistem yang lain, dan sebagainya).
3.3 Analisis dan Kebutuhan Non-Fungsional
3.3.1 Analisis dan Kebutuhan Perangkat Lunak
Perangkat lunak digunakan dalam sebuah sistem merupakan
perintah-perintah yang diberikan kepada perangkat keras agar bisa saling berinteraksi
diantara keduanya. Perangkat lunak yang dibutuhkan untuk membangun aplikasi
gameKabayan Saving Our Cultures ini adalah sebagai berikut :
1. Sistem Operasi Windows 7.
2. Greenfoot-windows-201
3. jdk-1_5_0_07-windows-i586-p ke atas (JDK 1.5 minimal).
3.3.2 Analisis dan Kebutuhan Perangkat Keras
Komputer terdiri dari perangkat keras dan perangkat lunak yang saling
keras untuk melakukan suatu tugas tertentu, sehingga dapat menjalankan suatu
sistem di dalamnya.
Pada aplikasi androIslam ini, perangkat keras yang digunakan adalah
sebagai berikut :
1. AMD Athlon(tm) 64 X2 Dual Core Processor 5000+ 2.60GHz
2. RAM : 3GB
3. VGA 512 MB.
4. Harddisk 750 GB.
5. Monitor.
6. Mouse dan Keyboard.
3.3.3 Pembangunan Aplikasi Game 2D Kabayan Saving Our Cultures.
3.3.3.1 Pengenalan
Game yang akan dibuat berjudul Kabayan Saving Our Cultures yang
bergenre Adventure. Game ini dibangun dengan mengaplikasikan teknologi
sebagai jembatan untuk menyampaikan kebudayaan Bangsa Indonesia, khususnya
budaya Jawa Barat. Game ini dibangun dengan grafis 2D (2 Dimensi).
Game ini menerapkan sistem single player dengan data-data yang dibagi
ke dalam objek-objek karena menggunakan pemrograman berorientasi objek.
Berikut ini adalah kelebihan-kelebihan yang ada pada game ini :
2. Mengangkat tema budaya, khususnya budaya Jawa Barat, umumnya
budaya Indonesia.
3. Grafik game 2D yang lebih berwarna.
4. Adventure (petualangan) yang disediakan interaktif.
5. Aplikasi game bersifat bermain sambil belajar.
3.3.3.2 Storyline
Kabayan Saving Our Cultures menceritakan perjalanan seorang pemuda
dari suku Sunda yaitu Kabayan yang harus bertualang untuk menyelamatkan alat
musik tradisional yaitu angklung yang telah dicuri oleh seorang penjahat dari
Negara Misterius yang bernama Juragan Asep. Disini Kabayan harus mengalami
berbagai macam petualangan dalam usahanya untuk mengejar Juragan Asep yang
kabur ke negeri seberang dan berniat untuk membawa Angklung ke Negaranya.
Kabayan harus berjuang mati-matian untuk merebut kembali kesenian asli Jawa
3.3.3.3 Storyboard
Storyboard adalah sketsa gambar yang disusun berurutan sesuai dengan
naskah, dengan storyboard kita dapat menyampaikan ide cerita kita kepada orang
lain dengan lebih mudah, karena kita dapat menggiring khayalan seseorang
mengikuti gambar-gambar yang tersaji, sehingga menghasilkan persepsi yang
sama pada ide cerita kita.
Berikut merupakan storyboard dari Aplikasi game 2D Kabayan Saving
Our Cultures :
Gambar 3.2 Storyboard Level 1-2
Gambar 3.4 Storyboard Level 1-4
Gambar 3.6 Storyboard Level 1-6
Gambar 3.9 Storyboard Level 1-9
Gambar 3.11 Storyboard Level 2-1
Gambar 3.13 Storyboard Level 2-3
Gambar 3.15 Storyboard Level 2-5
Gambar 3.17 Storyboard Level 2-7