Anda di halaman 1dari 22

LAPORAN PERENCANAAN PEMBUATAN GAME BERBASIS JAVA

Dosen : Adam Mukharil B. S.Kom.

PEMBUATAN GAME BERBASIS JAVA Dosen : Adam Mukharil B. S.Kom. Disusun oleh: Dani Sulaika : 10107221

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

Daftar Isi

KATA PENGANTAR

3

BAB I Pendahuluan

4

1.1 Latar belakang

4

1.2 Identifikasi Masalah

4

1.3 Maksud dan Tujuan

5

1.3.1 Maksud

5

1.3.2 Tujuan

5

1.4 Batasan Masalah

5

1.5 Metodologi Penelitian

5

1.5.1 Tahap pengumpulan data

6

1.5.2 Tahap pembuatan perangkat lunak

6

BAB II Landasan Teori

7

1.1 UML

7

1.2 IDE

12

1.3 Java dan Game

12

1.4 Lingkungan Java

13

1.4.1 Solusi dan Pengembangan Java

14

1.4.2 Keuntungan

14

BAB III Analisis dan Perancangan

18

3.1 Analisis Sistem yang Sedang Berjalan

18

3.2 Analisis Kebutuhan Non Fungsional

18

3.2.1 Analisis Kebutuhan Perangkat Keras

18

3.2.2 Analisis Kebutuhan Perangkat Lunak

18

3.2.3 Analisis Kebutuhan Perangkat Pikir

18

3.3

Analisis Kebutuhan Fungsional

19

3.3.1 Use Case Diagram

19

3.3.2 Use Case Skenario

19

3.3.3 Activity Diagram

20

3.3.4 Sequence Diagram

21

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

21

3.3.6 State Diagram

21

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

21

Jurusan Teknik Informatika Unikom

Halaman 2 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 Informatika Unikom

Halaman 3 dari 22

1.1 Latar belakang

BAB I

Pendahuluan

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 waktuwaktu 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 Informatika Unikom

Halaman 4 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 Informatika Unikom

Halaman 5 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 :

metodologi waterfall dengan gambar sebagi berikut : Gambar 1.5-1 Diagram Waterfall Jurusan Teknik Informatika

Gambar 1.5-1 Diagram Waterfall

Jurusan Teknik Informatika Unikom

Halaman 6 dari 22

1.1 UML

BAB II Landasan Teori

Pemodelan (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 Informatika Unikom

Halaman 7 dari 22

Gambar 1.1-1 Konsep dasar UML Seperti juga tercantum pada gambar diatas UML mendefinisikan diagram-diagram sebagai

Gambar 1.1-1 Konsep dasar UML

Seperti juga tercantum pada gambar diatas UML mendefinisikan diagram-diagram sebagai berikut:

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 Informatika Unikom

Halaman 8 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.

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

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 Informatika Unikom

Halaman 9 dari 22

Pada umumnya statechart diagram menggambarkan class tertentu (satu class dapat memiliki lebih dari satu statechart 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.

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 Informatika Unikom

Halaman 10 dari 22

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.

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

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.

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/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 Informatika Unikom

Halaman 11 dari 22

1.2

IDE

IDE 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 Game Java 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 Informatika Unikom

Halaman 12 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 Informatika Unikom

Halaman 13 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 Java Meski 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

Keuntungan

1.

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 Informatika Unikom

Halaman 14 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 Informatika Unikom

Halaman 15 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 Informatika Unikom

Halaman 16 dari 22

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

Jurusan Teknik Informatika Unikom

Halaman 17 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 Keras

Perangkat keras yang digunakan untuk mendukung aplikasi ini antara lain :

Perangkat PC (minimal

2.

3.2.2 Analisis Kebutuhan Perangkat Lunak

Perangkat 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 Informatika Unikom

Halaman 18 dari 22

3.3 Analisis Kebutuhan Fungsional

3.3.1 Use Case Diagram

Play <<extend>> player highscore gameplay
Play
<<extend>>
player
highscore
gameplay
<<extend>> player highscore gameplay exit 3.3.2 Use Case Skenario Jurusan Teknik Informatika

exit

3.3.2 Use Case Skenario

Jurusan Teknik Informatika Unikom

Halaman 19 dari 22

3.3.3

Activity Diagram

player game start menjalankan pilihan menu game permainan play highscore gameplay exit tampilan pilihan menu
player
game
start
menjalankan
pilihan menu
game
permainan
play
highscore
gameplay
exit
tampilan
pilihan menu

Jurusan Teknik Informatika Unikom

Halaman 20 dari 22

3.3.4

Sequence Diagram

paly highsore gameplay exit : player mulai permainan tampilan permainan isi nama pemain lihat score
paly
highsore
gameplay
exit
: player
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 tentukan mana 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 Informatika Unikom

Halaman 21 dari 22

Jurusan Teknik Informatika Unikom

Halaman 22 dari 22