proposal pbo(ridwan hidayat)

22
LAPORAN PERENCANAAN PEMBUATAN GAME BERBASIS JAVA Dosen : Adam Mukharil B. S.Kom. Disusun oleh: Dani Sulaika : 10107221 Edgar P. Rahma : 10107228 Juniman Situngkir : 10107187 Muhamad Yasin : 10107201 Mulki Sulaiman : 10107209 Ridwan Hidayat : 10107213 Kelas : IF-5 JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNIK DAN ILMU KOMPUTER UNIVERSITAS KOMPUTER INDONESIA 2010

Upload: guntur-sulaeman

Post on 19-Jun-2015

1.120 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Proposal PBO(Ridwan Hidayat)

LAPORAN PERENCANAAN PEMBUATAN GAME BERBASIS

JAVA

Dosen : Adam Mukharil B. S.Kom.

Disusun oleh:

Dani Sulaika : 10107221

Edgar P. Rahma : 10107228

Juniman Situngkir : 10107187

Muhamad Yasin : 10107201

Mulki Sulaiman : 10107209

Ridwan Hidayat : 10107213

Kelas : IF-5

JURUSAN TEKNIK INFORMATIKA

FAKULTAS TEKNIK DAN ILMU KOMPUTER

UNIVERSITAS KOMPUTER INDONESIA

2010

Page 2: Proposal PBO(Ridwan Hidayat)

Jurusan Teknik InformatikaUnikom LAPORAN PERENCANAAN PEMBUATAN GAME BERBASIS JAVA Halaman 2 dari 22

Daftar Isi

KATA PENGANTAR .............................................................................................................. 3BAB I Pendahuluan.................................................................................................................. 4

1.1 Latar belakang ......................................................................................................................................... 41.2 Identifikasi Masalah................................................................................................................................. 41.3 Maksud dan Tujuan ................................................................................................................................. 5

1.3.1 Maksud ............................................................................................................................................ 51.3.2 Tujuan.............................................................................................................................................. 5

1.4 Batasan Masalah ...................................................................................................................................... 51.5 Metodologi Penelitian.............................................................................................................................. 5

1.5.1 Tahap pengumpulan data ................................................................................................................. 61.5.2 Tahap pembuatan perangkat lunak .................................................................................................. 6

BAB II Landasan Teori............................................................................................................71.1 UML ........................................................................................................................................................ 71.2 IDE ........................................................................................................................................................ 121.3 Java dan Game...................................................................................................................................... 121.4 Lingkungan Java .................................................................................................................................... 13

1.4.1 Solusi dan Pengembangan Java ..................................................................................................... 141.4.2 Keuntungan.................................................................................................................................... 14

BAB III Analisis dan Perancangan..................................................................................... 183.1 Analisis Sistem yang Sedang Berjalan................................................................................................... 183.2 Analisis Kebutuhan Non Fungsional ..................................................................................................... 18

3.2.1 Analisis Kebutuhan Perangkat Keras............................................................................................. 183.2.2 Analisis Kebutuhan Perangkat Lunak ............................................................................................ 183.2.3 Analisis Kebutuhan Perangkat Pikir .............................................................................................. 18

3.3 Analisis Kebutuhan Fungsional ............................................................................................................. 193.3.1 Use Case Diagram ......................................................................................................................... 193.3.2 Use Case Skenario ......................................................................................................................... 193.3.3 Activity Diagram ........................................................................................................................... 203.3.4 Sequence Diagram......................................................................................................................... 213.3.5 Class Diagram (Mengacu pada seluruh sequence diagram tentukan mana class control, class

entity, dan class interface terlebih dahulu)..................................................................................... 213.3.6 State Diagram ................................................................................................................................ 213.3.7 Analisis Kode (jika kode sudah ada pada tempat studi kasus) ....................................................... 21

Page 3: Proposal PBO(Ridwan Hidayat)

Jurusan Teknik InformatikaUnikom LAPORAN PERENCANAAN PEMBUATAN GAME BERBASIS JAVA Halaman 3 dari 22

KATA PENGANTAR

Puji dan syukur kami panjatkan kehadirat Allah SWT, karena atas berkat dan rahmat-

Nya, kami dapat menyelesaikan laporan tugas Pemrograman Berbasis Objek dengan tema

“PERANCANGAN PEMBUATAN GAME BERBASIS JAVA” ini dapat terselesaikan

tepat pada waktunya.

Penulisan laporan ini diajukan untuk memenuhi salah satu syarat menyelesaikan Mata

Kuliah Pemrograman Berbasis Objek Program Sarjana (S-I) Teknik Informatika Universitas

Komputer Indonesia.

Kami menyadari bahwa dalam penyusunan laporan ini mungkin masih terdapat banyak

kekurangan dan jauh dari kesempurnaan, namun berkat bantuan dan bimbingan dari banyak

pihak akhirnya laporan ini dapat diselesaikan dengan baik.

Pada kesempatan ini kami mengucapkan banyak terima kasih kepada semua pihak

yang telah membantu tersusunnya laporan ini, yaitu kepada :

1. Orang tua atas segala dukungannya.

2. Bapak Adam Mukharil B. S.Kom selaku Dosen mata kuliah Pemrograman

Berbasis Objek dan juga meluangkan waktunya untuk Responsi.

3. Teman – teman sekalian yang telah membantu.

Akhir kata semoga laporan ini dapat bermanfaat bagi kami khususnya dan bagi

mahasiswa-mahasiswi pada umumnya, serta bisa menambah wawasan dan pengetahuan di

bidang teknologi informasi.

Bandung, Maret 2010

Penyusun

Page 4: Proposal PBO(Ridwan Hidayat)

Jurusan Teknik InformatikaUnikom LAPORAN PERENCANAAN PEMBUATAN GAME BERBASIS JAVA Halaman 4 dari 22

BAB I

Pendahuluan

1.1 Latar belakang

Saat ini telah banyak game-game yang tak terhitung jumlahnya, baik berupa game

online, game offline, dan game mobile. Dari segi jalan cerita dan kualitas gambar atau

grafik pun beragam mulai dari game-game kecil atau simpel hingga game-game besar

yang bercerita panjang dan rumit. Namun begitu, telah banyak pula orang yang

memainkannya, baik orang dewasa maupun anak-anak secara terus menerus tanpa

merasa jenuh sedikitpun dan merasa ingin memainkan lagi game-game yang di

anggapnya menarik untuk dimainkan.

Bagi beberapa orang mungkin tidak mempunyai waktu yang cukup atau berbagai

alasan lainnya untuk bermain game, baik berupa game online maupun game offline.

Khusus untuk game kecil seperti Java Game sangatlah memungkinkan dimainkan

karena game ini mudah dimainkan. Disela-sela rutinitas seseorang pastilah ada sedikit

waktu ruang seperti ketika menunggu dan waktu–waktu luang lainnya. Oleh karenanya

untuk mengisi waktu tersebut mereka mungkin akan memilih untuk bermain game.

Berdasarkan uraian dari latar belakang tersebut maka timbulah gagasan untuk

membuat sebuah game mobile berbasis java, yang diharapkan dapat memenuhi

kebutuhan akan game saat ini.

1.2 Identifikasi Masalah

Dari analisis yang telah dilakukan dapat di identifikasi beberapa permasalahan sebagai

berikut:

1. Game seperti apa yang akan dibuat.

2. Bagaimana pembuatan game berdasarkan object oriented.

3. Apa saja yang dibutuhkan dalam pembuatannya.

4. Batasan-batasan apa saja yang membatasi pembuatannya.

Page 5: Proposal PBO(Ridwan Hidayat)

Jurusan Teknik InformatikaUnikom LAPORAN PERENCANAAN PEMBUATAN GAME BERBASIS JAVA Halaman 5 dari 22

1.3 Maksud dan Tujuan

1.3.1 Maksud

Maksud dari penelitian ini adalah membangun sebuah aplikasi berupa java game.

1.3.2 Tujuan

Tujuan yang ingin dicapai antara lain :

1. Memberikan sarana hiburan kepada para gamer melalui aplikasi game yang akan

dibangun.

2. Mengetahui cara pembuatan java game.

3. Mengetahui sejauh mana kemampuan pembangun aplikasi dalam membuat sebuah

aplikasi java game yang berorientasi objek.

1.4 Batasan Masalah

Dalam pembuatan aplikasi ini diperlukan batasan masalah, agar permasalahan

yang ditinjau tidak terlalu luas dan sesuai dengan maksud dan tujuan yang dicapai.

Adapun batasan-batasannya adalah sebagai berikut :

1. Hanya dapat dimainkan pada ponsel barbasis java.

2. Hanya dapat dimainkan oleh 1 player.

3. Tidak ada tingkatan permainan.

4. Tidak dibatasi waktu.

5. Tujuan akhir untuk mendapatkan skor tertinggi.

6. Hanya dapat menginput dari keypad.

7. Output berupa tampilan.

8. Jenis game ini adalah petualangan

9. Dibuat menggunakan NETBeans IDE 6.8

10. Dapat dimainkan oleh semua usia

11. Dimodelkan menggunakan UML

1.5 Metodologi Penelitian

Metodologi yang digunakan dalam penelitian tugas ini adalah sebagai berikut :

Page 6: Proposal PBO(Ridwan Hidayat)

Jurusan Teknik InformatikaUnikom LAPORAN PERENCANAAN PEMBUATAN GAME BERBASIS JAVA Halaman 6 dari 22

1.5.1 Tahap pengumpulan data

1. Observasi

Pengamatan data secara langsung yang berkaitan dengan permasalahan yang

dibahas.

2. Studi literatur

Pengumpulan data dari berbagai sumber literatur,membawa catatan kuliah,buku-

buku perpustakaan,artikel dan hasil download di internet yang berhubungan dengan

pembuatan aplikasi game yang akan dibangun.

1.5.2 Tahap pembuatan perangkat lunak

Pembangunan apikasi ini menggunakan metodologi waterfall dengan gambar sebagi

berikut :

Gambar 1.5-1 Diagram Waterfall

Page 7: Proposal PBO(Ridwan Hidayat)

Jurusan Teknik InformatikaUnikom LAPORAN PERENCANAAN PEMBUATAN GAME BERBASIS JAVA Halaman 7 dari 22

BAB II

Landasan Teori

1.1 UMLPemodelan (modeling) adalah proses merancang piranti lunak sebelum melakukan

pengkodean (coding). Model piranti lunak dapat dianalogikan seperti pembuatan

blueprint pada pembangunan gedung. Membuat model dari sebuah sistem yang

kompleks sangatlah penting karena kita tidak dapat memahami sistem semacam itu

secara menyeluruh. Semakin komplek sebuah sistem, semakin penting pula penggunaan

teknik pemodelan yang baik.

Unified Modelling Language (UML) adalah sebuah "bahasa" yg telah menjadi

standar dalam industri untuk visualisasi, merancang dan mendokumentasikan sistem

piranti lunak. UML menawarkan sebuah standar untuk merancang model sebuah system.

Dengan menggunakan UML kita dapat membuat model untuk semua jenis aplikasi

piranti lunak, dimana aplikasi tersebut dapat berjalan pada piranti keras, sistem operasi

dan jaringan apapun, serta ditulis dalam bahasa pemrograman apapun. Tetapi karena

UML juga menggunakan class dan operation dalam konsep dasarnya, maka ia lebih

cocok untuk penulisan piranti lunak dalam bahasa-bahasa berorientasi objek seperti

C++, Java, C# atau VB.NET. Walaupun demikian, UML tetap dapat digunakan untuk

modeling aplikasi prosedural dalam VB atau C.

Seperti bahasa-bahasa lainnya, UML mendefinisikan notasi dan syntax/semantik.

Notasi UML merupakan sekumpulan bentuk khusus untuk menggambarkan berbagai

diagram piranti lunak. Setiap bentuk memiliki makna tertentu, dan UML syntax

mendefinisikan bagaimana bentuk-bentuk tersebut dapat dikombinasikan. Notasi UML

terutama diturunkan dari 3 notasi yang telah ada sebelumnya: Grady Booch OOD

(Object-Oriented Design), Jim Rumbaugh OMT (Object Modeling Technique), dan Ivar

Jacobson OOSE (Object-Oriented Software Engineering).

Dari berbagai penjelasan rumit yang terdapat di dokumen dan buku-buku UML.

Sebenarnya konsepsi dasar UML bisa kita rangkumkan dalam gambar berikut.

Page 8: Proposal PBO(Ridwan Hidayat)

Jurusan Teknik InformatikaUnikom LAPORAN PERENCANAAN PEMBUATAN GAME BERBASIS JAVA Halaman 8 dari 22

Gambar 1.1-1 Konsep dasar UML

Seperti juga tercantum pada gambar diatas UML mendefinisikan diagram-diagram

sebagai berikut:

1. Use case diagram

Use case diagram menggambarkan fungsionalitas yang diharapkan dari sebuah

sistem. Yang ditekankan adalah “apa” yang diperbuat sistem, dan bukan “bagaimana”.

Sebuah use case merepresentasikan sebuah interaksi antara aktor dengan sistem. Use

case merupakan sebuah pekerjaan tertentu, misalnya login ke sistem, meng-create

sebuah daftar belanja, dan sebagainya.

Seorang/sebuah aktor adalah sebuah entitas manusia atau mesin yang berinteraksi

dengan sistem untuk melakukan pekerjaan-pekerjaan tertentu.

Use case diagram dapat sangat membantu bila kita sedang menyusun requirement

sebuah sistem, mengkomunikasikan rancangan dengan klien, dan merancang test case

untuk semua feature yang ada pada sistem.

Page 9: Proposal PBO(Ridwan Hidayat)

Jurusan Teknik InformatikaUnikom LAPORAN PERENCANAAN PEMBUATAN GAME BERBASIS JAVA Halaman 9 dari 22

Sebuah use case dapat meng-include fungsionalitas use case lain sebagai bagian

dari proses dalam dirinya. Secara umum diasumsikan bahwa use case yang di-

include akan dipanggil setiap kali use case yang meng-include dieksekusi secara

normal.

Sebuah use case dapat di-include oleh lebih dari satu use case lain, sehingga

duplikasi fungsionalitas dapat dihindari dengan cara menarik keluar

fungsionalitas yang common.

Sebuah use case juga dapat meng-extend use case lain dengan behaviour-nya

sendiri.

Sementara hubungan generalisasi antar use case menunjukkan bahwa use case

yang satu merupakan spesialisasi dari yang lain.

2. Class diagram

Class adalah sebuah spesifikasi yang jika diinstansiasi akan menghasilkan sebuah

objek dan merupakan inti dari pengembangan dan desain berorientasi objek. Class

menggambarkan keadaan (atribut/properti) suatu sistem, sekaligus menawarkan layanan

untuk memanipulasi keadaan tersebut (metoda/fungsi).

Class diagram menggambarkan struktur dan deskripsi class, package dan objek

beserta hubungan satu sama lain seperti containment, pewarisan, asosiasi, dan lain-lain.

Class memiliki tiga area pokok :

1. Nama (dan stereotype)

2. Atribut

3. Metoda

Untuk Atribut dan metoda dapat memiliki salah satu sifat berikut :

1. Private, tidak dapat dipanggil dari luar class yang bersangkutan

2. Protected, hanya dapat dipanggil oleh class yang bersangkutan dan anak-anak

yang mewarisinya

3. Public, dapat dipanggil oleh siapa saja

3. Statechart diagram

Statechart diagram menggambarkan transisi dan perubahan keadaan (dari satu

state ke state lainnya) suatu objek pada sistem sebagai akibat dari stimuli yang diterima.

Page 10: Proposal PBO(Ridwan Hidayat)

Jurusan Teknik InformatikaUnikom LAPORAN PERENCANAAN PEMBUATAN GAME BERBASIS JAVA Halaman 10 dari 22

Pada umumnya statechart diagram menggambarkan class tertentu (satu class dapat

memiliki lebih dari satu statechart diagram).

4. Activity diagram

Activity diagrams menggambarkan berbagai alir aktivitas dalam sistem yang

sedang dirancang, bagaimana masing-masing alir berawal, decision yang mungkin

terjadi, dan bagaimana mereka berakhir. Activity diagram juga dapat menggambarkan

proses paralel yang mungkin terjadi pada beberapa eksekusi.

Activity diagram merupakan state diagram khusus, di mana sebagian besar state

adalah action dan sebagian besar transisi di-trigger oleh selesainya state sebelumnya

(internal processing). Oleh karena itu activity diagram tidak menggambarkan behaviour

internal sebuah sistem (dan interaksi antar subsistem) secara eksak, tetapi lebih

menggambarkan proses-proses dan jalur-jalur aktivitas dari level atas secara umum.

Sebuah aktivitas dapat direalisasikan oleh satu use case atau lebih. Aktivitas

menggambarkan proses yang berjalan, sementara use case menggambarkan bagaimana

aktor menggunakan sistem untuk melakukan aktivitas.

Sama seperti state, standar UML menggunakan segiempat dengan sudut membulat

untuk menggambarkan aktivitas. Decision digunakan untuk menggambarkan behaviour

pada kondisi tertentu. Untuk mengilustrasikan proses-proses paralel (fork dan join)

digunakan titik sinkronisasi yang dapat berupa titik, garis horizontal atau vertikal.

Activity diagram dapat dibagi menjadi beberapa object swimlane untuk

menggambarkan objek mana yang bertanggung jawab untuk aktivitas tertentu.

5. Sequence diagram

Sequence diagram menggambarkan interaksi antar objek di dalam dan di sekitar

sistem (termasuk pengguna, display, dan sebagainya) berupa message yang digambarkan

terhadap waktu. Sequence diagram terdiri atar dimensi vertikal (waktu) dan dimensi

horizontal (objek-objek yang terkait).

Sequence diagram biasa digunakan untuk menggambarkan skenario atau

rangkaian langkah-langkah yang dilakukan sebagai respons dari sebuah event untuk

menghasilkan output tertentu. Diawali dari apa yang men-trigger aktivitas tersebut,

proses dan perubahan apa saja yang terjadi secara internal dan output apa yang

dihasilkan.

Page 11: Proposal PBO(Ridwan Hidayat)

Jurusan Teknik InformatikaUnikom LAPORAN PERENCANAAN PEMBUATAN GAME BERBASIS JAVA Halaman 11 dari 22

Masing-masing objek, termasuk aktor, memiliki lifeline vertikal.

Message digambarkan sebagai garis berpanah dari satu objek ke objek lainnya.

Pada fase desain berikutnya, message akan dipetakan menjadi operasi/metoda

dari class.

Activation bar menunjukkan lamanya eksekusi sebuah proses, biasanya diawali

dengan diterimanya sebuah message.

Untuk objek-objek yang memiliki sifat khusus, standar UML mendefinisikan

icon khusus untuk objek boundary, controller dan persistent entity.

6. Collaboration diagram

Collaboration diagram juga menggambarkan interaksi antar objek seperti sequence

diagram, tetapi lebih menekankan pada peran masing-masing objek dan bukan pada

waktu penyampaian message. Setiap message memiliki sequence number, di mana

message dari level tertinggi memiliki nomor 1. Messages dari level yang sama memiliki

prefiks yang sama.

7. Component diagram

Component diagram menggambarkan struktur dan hubungan antar komponen

piranti lunak, termasuk ketergantungan (dependency) di antaranya. Komponen piranti

lunak adalah modul berisi code, baik berisi source code maupun binary code, baik

library maupun executable, baik yang muncul pada compile time, link time, maupun run

time. Umumnya komponen terbentuk dari beberapa class dan/atau package, tapi dapat

juga dari komponen-komponen yang lebih kecil. Komponen dapat juga berupa interface,

yaitu kumpulan layanan yang disediakan sebuah komponen untuk komponen lain.

8. Deployment diagram

Deployment/physical diagram menggambarkan detail bagaimana komponen di-

deploy dalam infrastruktur sistem, di mana komponen akan terletak (pada mesin, server

atau piranti keras apa), bagaimana kemampuan jaringan pada lokasi tersebut, spesifikasi

server, dan hal-hal lain yang bersifat fisikal

Sebuah node adalah server, workstation, atau piranti keras lain yang digunakan

untuk men-deploy komponen dalam lingkungan sebenarnya. Hubungan antar node

(misalnya TCP/IP) dan requirement dapat juga didefinisikan dalam diagram ini.

Page 12: Proposal PBO(Ridwan Hidayat)

Jurusan Teknik InformatikaUnikom LAPORAN PERENCANAAN PEMBUATAN GAME BERBASIS JAVA Halaman 12 dari 22

1.2 IDEIDE merupakan kepanjangan dari Integrated development environment

merupakan tools yang digunakan dalam pengembangan software ini, disini kami

menggunakan NETbeans 6.8 IDE.

NETbeans

NetBeans merupakan sebuah Open Source yang sukses dengan pengguna yang

sangat luas, komunitas yang terus tumbuh, dan memiliki hampir 100 mitra (dan terus

bertambah!). Sun Microsystems mendirikan Open Source NetBeans pada bulan Juni

2000 dan terus menjadi sponsor utama.

Saat ini terdapat dua produk : NetBeans IDE dan NetBeans Platform.

NetBeans IDE adalah sebuah lingkungan pengembangan - sebuah tools untuk

pemrogram menulis, mengompilasi, mencari kesalahan dan menyebarkan program.

Netbeans IDE ditulis dalam Java tapi juga mendukung bahasa lain seperty Ruby, C++,

PHP dan lainnya. Pada NETbeans ini disediakan juga modul modul lainnya yang dapat

digunakan oleh pengembang software.

Netbeans IDE adalah sebuah produk yang gratis tanpa ada batasan penggunaan.

Adapun NetBeans Platform yakni sebuah fondasi yang modular dan dapat

dikembangkan yang juga dapat digunakan sebagai software dasar untuk membuat

aplikasi desktop yang besar. Mitra ISV menyediakan plug-in tambahan yang dapat

dengan mudah diintegrasikan ke dalam Platform dan dapat juga digunakan untuk

membuat tools dan solusi sendiri.

Kedua produk ini bersifat open source dan gratis untuk digunakan komersial dan

non komersial. Source Code untuk NETbeans ini juga disediakan pula untuk

dikembangkan dengan lisensi Common Development and Distribution License (CDDL).

1.3 Java dan GameJava merupakan suatu teknologi perangkat lunak yang di dalamnya mencakup

bahasa pemrograman. Selain itu Java juga merupakan suatu platform yang memiliki

virtual machine dan library yang diperlukan untuk menulis dan menjalankan suatu

program.

Tidak seperti bahasa-bahasa compiler tradisional, yang mengubah kode (source

code) menjadi perintah-perintah tingkat mesin (bahasa mesin), kompiler Java mengubah

Page 13: Proposal PBO(Ridwan Hidayat)

Jurusan Teknik InformatikaUnikom LAPORAN PERENCANAAN PEMBUATAN GAME BERBASIS JAVA Halaman 13 dari 22

(menterjemahkan) kode-kode sumber Java menjadi perintah-perintah yang akan di-

interpretasi (dibaca) oleh runtime Mesin Virtual Java (Java Virtual Machine).

Game sejatinya adalah permainan. Yang membutuhkan lebih dari seorang untuk

menghasilkan interaksi yang terkait dengan apa yang ingin disampaikan. Muatan

selanjutnya adalah pemecahan masalah, solusi dan interaksi manusia. Namun

perkembangan selanjutnya adalah hawa teknologi. Yang memang tak bisa dipungkiri.

Semenjak pertama kali olah daya kecerdasan dan pencarian suatu masalah dalam

solusi, dimasa ribuan tahun silam (sejarah permainan), sampai masa digital awal di

pertengahan tahun 50 an, dimana manusia mensimulasikan diri dalam citra yang saling

terkait dengan wahana dan ujicoba, mode permainan telah sukses menembus batas

impian dan imajinasi manusia. Simulasi, yak memang hal inilah yang mendorong

manusia memiliki kemampuan untuk mengalahkan dirinya sendiri. Kemampuan, sampai

pada yang yang heroik sekalipun dalam game, adalah upaya memberikan solusi penting.

1.4 Lingkungan Java

Java sendiri pada awalnya dikembangkan pada lingkungan komputer dengan

tujuan untuk menghasilkan suatu bahasa komputer sederhana tanpa harus terikat pada

arsitektur tertentu. Maka tak heran jika dalam perkembangannya Java dapat dijalankan

pada berbagai platform sistem operasi seperti Linux, Windows maupun Unix.

Seperti disebutkan di atas, Java merupakan bahasa pemrograman yang dapat

diimplementasikan pada berbagai lingkungan, seperti internet, telepon genggam maupun

komputer. Bahasa pemrograman Java secara garis besar dikelompokan menjadi tiga

edisi, yaitu, Java 2 Standar Edition (J2SE), Java 2 Enterprise Edition (J2EE) dan Java 2

Micro Edition (J2ME).

J2ME

Seperti paket-paket Java lainnya yang menggunakan Java Virtual Machine (JVM)

sebagai interpreter, dalam J2ME digunakan pula virtual machine yang disebut K Virtual

Machine (KVM) yang memiliki keunggulan tersendiri dimana hanya memerlukan

memori kecil. Huruf K pada K Virtual Machine sendiri merupakan singkatan dari

kilobyte, untuk menggambarkan betapa virtual machine ini bekerja pada memory yang

demikian kecilnya.

Page 14: Proposal PBO(Ridwan Hidayat)

Jurusan Teknik InformatikaUnikom LAPORAN PERENCANAAN PEMBUATAN GAME BERBASIS JAVA Halaman 14 dari 22

KVM memungkinkan para software developer independen untuk bermain-main

pada berbagai platform handset menjadi terbuka tanpa perlu melakukan perubahan

berarti dalam hal programnya. Dengan J2ME yang berbasis C++, sebuah aplikasi akan

memiliki portabilitas untuk dijalankan pada berbagai jenis telepon genggam.

1.4.1 Solusi dan Pengembangan JavaMeski aplikasi Java telah banyak digunakan pada berbagai jenis perangkat, namun

sudah menjadi hal umum bagi pengembang, bahwa Java tidak sepenuhnya dapat

berjalan pada semua tipe gadget meski pada perangkat tersebut sudah ditanamkan suatu

platform Java.

Penyebabnya, yaitu implementasi Java oleh masing-masing vendor gadget

tidaklah sama terutama pada fragmentasi API (Application Programming Interface).

Maka untuk mengatasi perbedaan tersebut berbagai perusahaan teknologi di dunia

membentuk suatu kolaborasi guna menyusun spesifikasi Java yang lebih jelas bagi

vendor hardware, software , serta pengembang aplikasi. Spesifikasi tersebut dinamakan

Java™ Technology.

Java juga dapat digunakan untuk membuat dua jenis program, yaitu applet dan

aplikasi mandiri (stand alone application). Secara sederhana, sebuah applet adalah

bagian dari halaman web entah itu berupa animasi, gambar sederhana (image) atau

hanya sebuah garis.atau.sekumpulan.teks.

Para pencipta Java di Sun Microsystem mendefinisikan Java sebagai bahasa yang

sederhana, berorientasi object, terdistribusi, terinterpretasi, kokoh, aman, netral

arsitektur, akrab, berkinerja tinggi, multi jalinan (multithreaded) dan dinamis.

1.4.2 Keuntungan1. Sederhana

Inti dari ke-"sederhana"-an Java terutama terletak pada kemiripannya dengan C dan

C++. Karena programmer-programmer masa kini khususnya yang tertarik

menggunakan Java telah memiliki pengalaman setidaknya dengan C dan mungkin

dengan C++, Java tentu saja terlihat sederhana dan akrab bagi programmer-

programmer ini.

Java menyederhanakan bahasa C++ dengan menambahkan fitur-fitur pendukung

yang belum terdapat dalam C++ dan membuang beberapa fitur yang membuat C++

menjadi bahasa yang rumit dan sulit untuk dikuasai. Java sederhana karena hanya ia

Page 15: Proposal PBO(Ridwan Hidayat)

Jurusan Teknik InformatikaUnikom LAPORAN PERENCANAAN PEMBUATAN GAME BERBASIS JAVA Halaman 15 dari 22

memiliki tiga tipe angka data primitif, tipe Boolean dan array. Selebihnya, semua

dalam Java adalah sebuah kelas. Salah satu fitur penting yang ditawarkan Java (yang

belum ada pada C++) adalah pengumpulan sampah (garbage collection). Dengan

mekanisme ini, user tidak perlu membebaskan memori yang dialokasikan, karena

semua dilakukan oleh Mesin Virtual Java. Java juga mendukung penulisan program

multi jalinan, yaitu suatu program yang dapat melakukan lebih dari satu pekerjaan

dalam waktu yang bersamaan.

2. Berorientasi Obyek

Dalam pendekatannya pada orientasi-obyek, Java lebih merujuk pada SmallTalk

daripada C++. Selain tipe data primitive-nya, semua yang ada pada Java adalah

kelas. Sebaliknya dalam C++ semuanya serba campur-aduk, dimana programmer

dapat secara bebas (benar-benar bebas)dalam mencampur kode-kode orientasi obyek

(kelas) (kelas) dengan kode prosedural (fungsi). Dalam Java semua ini tidak

diperbolehkan. Tidak ada fungsi global dalam Java, semua fungsi harus dipanggil

melalui.sebuah.obyek.

Dukungan Java terhadap orientasi-obyek tidak termasuk penurunan (inheritansi)

ganda. Para perancang Java merasa kerumitan yang dimunculkan inheritansi ganda

tidak sebanding dengan keuntungan yang dihasilkan. Sebagai ganti dari inheritansi

ganda, Java kemudian menyediakan antarmuka (interface).

3. Terdistribusi

Java memudahkan pembuatan aplikasi terdistribusi dengan sekumpulan kelas yang

digunakan pada aplikasi-aplikasi jaringan. Dengan menggunakan kelas URL

(Uniform Resource Locator) Java, suatu aplikasi dapat dengan mudah mengakses

server-jauh (remote server).

4. Terinterpretasi

Karena Java adalah bahasa interpretasi, sekali Interpreter Java terpasang, terinstal

pada suatu mesin tertentu, mesin tersebut dapat secara langsung menjalankan

aplikasi-aplikasi Java (tidak peduli platform atau sistem operasi apa yang terpasang

pada mesin tersebut). Ketika menggunakan bahasa interpreter, programmer juga

terbebas dari kekhawatiran berkaitan dengan ketergantungan antar modul.

Keuntungan lain adalah waktu yang digunakan untuk lingkaran edit-compile-link-

test dapat dipotong. Tanpa adanya langkah kompile dan link, maka bekerja dalam

Page 16: Proposal PBO(Ridwan Hidayat)

Jurusan Teknik InformatikaUnikom LAPORAN PERENCANAAN PEMBUATAN GAME BERBASIS JAVA Halaman 16 dari 22

lingkungan interpreter lebih sederhana dan lebih hemat waktu karena hanya melalui

lingkaran edit-test.

5. Kokoh

Membuat suatu program yang terdistribusi, mendukung multi-jalinan yang dapat

dijalankan pada berbagai sistem operasi dan berbagai prosesor bukanlah suatu

pekerjaan yang mudah. Berdasarkan pemikiran ini, maka Java diciptakan sebagai

bahasa yang sangat ketat dalam penulisan (strongly typed language). Dalam Java

management memori telah disederhanakan dengan dua cara. Pertama Java tidak

mendukung manipulasi pointer atau aritmatik secara langsung, sehingga mustahil

bagi program Java untuk menumpuk (meng-overwrite) memori atau mengkorupsi

data. Kedua Java menggunakan mekanisme pengumpulan sampah saat program

berjalan (runtime) daripada pembebasan memori secara eksplisit.

6. Aman

Karena Java tidak menggunakan pointer yang secara langsung merujuk pada lokasi

memori seperti yang terdapat pada C atau C++, Java memiliki kendali penuh

terhadap semua kode yang ada pada lingkungan Java. Sebelumnya telah diantisipasi

bahwa aplikasi-aplikasi Java akan dijalankan di internet dan akan secara dinamis

dapat dijalankan bersama atau mengeksekusi program lain di tempat yang berlainan

melalui internet, maka para pengembang Java berpendapat tentang perlu adanya

kompiler Java yang akan menghasilkan kode bite Java yang akan melewati standar

keamanan runtime Java. Gagasan ini memunculkan ide tentang pemeriksa kode byte

yang akan memeriksa semua kode yang masuk dan memastikan bahwa semua kode

tersebut telah mematuhi serangkaian aturan yang telah ditentukan dan aman untuk

dijalankan.

7. Portable

Salah satu tujuan penting pembuatan Java adalah kode-kode Java haruslah Portable,

sehingga ketika arsitektur baru (baik itu perangkat keras ataupun sistem operasi atau

keduanya) berkembang, lingkungan Java dapat diterapkan dan

dipindahkan.pada.mereka. Pada Java, semua tipe data primitif (integer, long, float,

double dan sebagainya) memiliki ukuran tertentu, tidak bergantung pada mesin atau

sistem operasi dimana program Java dijalankan. Hal ini sangat berlawanan dengan

bahasa seperti C atau C++ yang menyerahkan ukuran tipe data primitif pada

Page 17: Proposal PBO(Ridwan Hidayat)

Jurusan Teknik InformatikaUnikom LAPORAN PERENCANAAN PEMBUATAN GAME BERBASIS JAVA Halaman 17 dari 22

kompiler dan mesin (serta sistem operasi). Java portable karena kompiler Java

sendiri ditulis menggunakan Java.

Page 18: Proposal PBO(Ridwan Hidayat)

Jurusan Teknik InformatikaUnikom LAPORAN PERENCANAAN PEMBUATAN GAME BERBASIS JAVA Halaman 18 dari 22

BAB III

Analisis dan Perancangan

3.1 Analisis Sistem yang Sedang Berjalan

Petualangan Mario merupakan game 2.5 dimensi (pergerakan 2 dimensi pada dunia 3

dimensi) yang bertipe action role playing game. Unsur action terdapat pada saat

melewati hadangan musuh. Pemain melawan musuh dengan cara menghindar

(melompat maupun bergerak menurun). Unsur role playing terdapat pada peningkatan

kemampuan secara bertahap apabila mendapatkan suatu item berupa peringan dan

pemberat. Game Petualangan Mario ini bertujuan untuk meraih score akhir tertinggi

3.2 Analisis Kebutuhan Non Fungsional

3.2.1 Analisis Kebutuhan Perangkat KerasPerangkat keras yang digunakan untuk mendukung aplikasi ini antara lain :

1. Perangkat PC (minimal Intel P4 2.4Ghz, Memori 256 MB).

2. Handphone berbasis Java sebagai perangkat pengguna aplikasi.

3.2.2 Analisis Kebutuhan Perangkat LunakPerangkat keras komputer tidak berarti tanpa perangkat lunak begitu juga sebaliknya.

Jadi perangkat lunak dan perangkat keras saling mendukung satu sama lain.Perangkat

keras hanya berfungsi jika diberikan instruksi-intruksi kepadanya. Instruksi-instruksi

inilah disebut dengan perangkat lunak. Dalam pembangun aplikasi ini diggunakan

beberapa perangkat lunak,antara lain :

1. Sistem operasi komputer Windows XP,Vista, Win 7

2. Netbeans IDE 6.8 sebagai software pembangun aplikasi

3. Perancangan UML menggunakan Rational Rose

3.2.3 Analisis Kebutuhan Perangkat Pikir

Page 19: Proposal PBO(Ridwan Hidayat)

Jurusan Teknik InformatikaUnikom LAPORAN PERENCANAAN PEMBUATAN GAME BERBASIS JAVA Halaman 19 dari 22

3.3 Analisis Kebutuhan Fungsional

3.3.1 Use Case Diagram

Play

gameplay

exit

player highscore

<<extend>>

3.3.2 Use Case SkenarioUse Case Name GameArea Main menuActor PemainDeskripsi Pemain memainkan game ini untuk skor tertinggiAsumsi Pemain harus memilik gadget berbasis JAVA™Langkah langkah Informasi langkah

1. Pemain Memilih menu Terdapat beberapa pilihan2. Pemain memilih bermain Pemain langsung dapat memainkan game3. Pemain memilh highscore System menampilkan 5 skor pemain tertinggi4. Pemain memilih credit Maka akan menampilkan history dan pembuat dari pada

game ini

Page 20: Proposal PBO(Ridwan Hidayat)

Jurusan Teknik InformatikaUnikom LAPORAN PERENCANAAN PEMBUATAN GAME BERBASIS JAVA Halaman 20 dari 22

3.3.3 Activity Diagram

start

menjalankangame

pilihan menupermainan

play highscore gameplay exit

tampilanpilihan menu

gameplayer

Page 21: Proposal PBO(Ridwan Hidayat)

Jurusan Teknik InformatikaUnikom LAPORAN PERENCANAAN PEMBUATAN GAME BERBASIS JAVA Halaman 21 dari 22

3.3.4 Sequence Diagram

: player paly highsore gameplay exit

mulai permainan

tampilan permainan

isi nama pemain

lihat score

tampilan score

lihat gameplay

tampilan gameplay

keluar

respon permintaan

3.3.5 Class Diagram (Mengacu pada seluruh sequence diagram tentukanmana class control, class entity, dan class interface terlebih dahulu)

3.3.6 State Diagram

3.3.7 Analisis Kode (jika kode sudah ada pada tempat studi kasus)

Page 22: Proposal PBO(Ridwan Hidayat)

Jurusan Teknik InformatikaUnikom LAPORAN PERENCANAAN PEMBUATAN GAME BERBASIS JAVA Halaman 22 dari 22