Upload
guntur-sulaeman
View
1.134
Download
1
Embed Size (px)
Citation preview
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
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
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
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.
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 :
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
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.
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.
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.
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.
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.
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
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.
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
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
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
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.
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
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
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
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)
Jurusan Teknik InformatikaUnikom LAPORAN PERENCANAAN PEMBUATAN GAME BERBASIS JAVA Halaman 22 dari 22