• Tidak ada hasil yang ditemukan

Pembangunan Aplikasi Game 2D Kabayan Saving Our Cultures

N/A
N/A
Protected

Academic year: 2017

Membagikan "Pembangunan Aplikasi Game 2D Kabayan Saving Our Cultures"

Copied!
157
0
0

Teks penuh

(1)

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

(2)

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.

(3)

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.

(4)

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

(5)

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.

(6)

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,

(7)

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

(8)

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,

(9)

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

(10)

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.

(11)

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.

(12)

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

(13)

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.

(14)

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

(15)

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

(16)

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

(17)

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

(18)

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

(19)

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

(20)

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

(21)

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

(22)

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

(23)

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

(24)

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

(25)

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

(26)

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

(27)

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

(28)

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

(29)

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

(30)

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

(31)

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

(32)

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

(33)

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

(34)

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

(35)

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

(36)

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,

(37)

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

(38)

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

(39)

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.

(40)

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

(41)

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

(42)

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

(43)

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

(44)

• 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

(45)

• 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

(46)

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.

(47)

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

(48)

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

(49)

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

(50)

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

(51)

Corel Draw, freehand, dan lain-lain. Ruang penyimpanan format vector

(52)

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

(53)

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

(54)

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

(55)

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 :

(56)

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

(57)

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 :

(58)

Gambar 3.2 Storyboard Level 1-2

(59)

Gambar 3.4 Storyboard Level 1-4

(60)

Gambar 3.6 Storyboard Level 1-6

(61)
(62)

Gambar 3.9 Storyboard Level 1-9

(63)

Gambar 3.11 Storyboard Level 2-1

(64)

Gambar 3.13 Storyboard Level 2-3

(65)

Gambar 3.15 Storyboard Level 2-5

(66)

Gambar 3.17 Storyboard Level 2-7

Gambar

Gambar 3.1 Storyboard Level 1-1
Gambar 3.2 Storyboard Level 1-2
Gambar 3.4 Storyboard Level 1-4
Gambar 3.9 Storyboard Level 1-9
+7

Referensi

Dokumen terkait

[r]

Berdasarkan hasil penelitian terdapat dua kesimpulan: hasil penelitian mengenai kohesi gramatikal pada kumpulan puisi Geladi Diri yaitu pengacuan (referensi) terdiri

Hasil pengujian pada penentuan asam amino biji jagung secara nondestruktif menggunakan regresi berganda menunjukkan bahwa sistem NIR dapat menentukan kadar leusin

Mampu mengungkapkan pikiran, perasaan dan keinginan secara tertulis dalam bentuk menulis pengalaman, biografi, sajak, bahasan dan menulis berita.. Mampu

Tujuan Penelitian adalah Untuk membandingkan penerapan prinsip- prinsip desain, tipografi dan warna pada Sampul Cakram Padat Album Lagu Religi Haddad Alwi dan

Das Ziel der Untersuchung ist, darstellen, wie eine Analyse der Komposita in der dritten Kurzgeschichten: “ Die Küchenuhr”,” Nachts schlafen die Ratten doch ”,

Pada arah serong kiri depan bisa dimulai dengan menggerakkan joystick ke serong kiri depan, sehingga 1 roda sebelah kiri berputar ke arah depan dan 1 roda sebelah

Adat Tata Negara Kerajaan Gorontalo Pada Masa Pemerintahan Eato , Disertasi Doktoral, Ujung Pandang, Universitas Hasanuddin. Tim Peneliti FKIP UNSRAT Manado, 1984,

Dalam setting organisasi atau perusahaan, suatu sumber daya manusia perlu diarahkan pada suatu model yang dapat menarik seluruh potensi sumber daya manusia