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
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
LAPORAN PERENCANAAN PEMBUATAN GAME BERBASIS JAVA
Halaman 2 dari 22
KATA PENGANTAR Puji dan syukur kami panjatkan kehadirat Allah SWT, karena atas berkat dan rahmatNya, 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
LAPORAN PERENCANAAN PEMBUATAN GAME BERBASIS JAVA
Halaman 3 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 Informatika Unikom
LAPORAN PERENCANAAN PEMBUATAN GAME BERBASIS JAVA
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
LAPORAN PERENCANAAN PEMBUATAN GAME BERBASIS JAVA
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,bukubuku 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 Informatika Unikom
LAPORAN PERENCANAAN PEMBUATAN GAME BERBASIS JAVA
Halaman 6 dari 22
BAB II Landasan Teori
1.1 UML 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
LAPORAN PERENCANAAN PEMBUATAN GAME BERBASIS JAVA
Halaman 7 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 Informatika Unikom
LAPORAN PERENCANAAN PEMBUATAN GAME BERBASIS JAVA
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 diinclude 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 Informatika Unikom
LAPORAN PERENCANAAN PEMBUATAN GAME BERBASIS JAVA
Halaman 9 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 Informatika Unikom
LAPORAN PERENCANAAN PEMBUATAN GAME BERBASIS JAVA
Halaman 10 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 dideploy 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
LAPORAN PERENCANAAN PEMBUATAN GAME BERBASIS JAVA
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
LAPORAN PERENCANAAN PEMBUATAN GAME BERBASIS JAVA
Halaman 12 dari 22
(menterjemahkan) kode-kode sumber Java menjadi perintah-perintah yang akan diinterpretasi (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
LAPORAN PERENCANAAN PEMBUATAN GAME BERBASIS JAVA
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 programmerprogrammer 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
LAPORAN PERENCANAAN PEMBUATAN GAME BERBASIS JAVA
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-linktest dapat dipotong. Tanpa adanya langkah kompile dan link, maka bekerja dalam Jurusan Teknik Informatika Unikom
LAPORAN PERENCANAAN PEMBUATAN GAME BERBASIS JAVA
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
LAPORAN PERENCANAAN PEMBUATAN GAME BERBASIS JAVA
Halaman 16 dari 22
kompiler dan mesin (serta sistem operasi). Java portable karena kompiler Java sendiri ditulis menggunakan Java.
Jurusan Teknik Informatika Unikom
LAPORAN PERENCANAAN PEMBUATAN GAME BERBASIS JAVA
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 : 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 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
LAPORAN PERENCANAAN PEMBUATAN GAME BERBASIS JAVA
Halaman 18 dari 22
3.3 Analisis Kebutuhan Fungsional 3.3.1 Use Case Diagram
Play <>
highscore
player
gameplay
exit
3.3.2 Use Case Skenario Use Case Name Area Actor Deskripsi Asumsi Langkah langkah 1. Pemain Memilih menu 2. Pemain memilih bermain 3. Pemain memilh highscore 4. Pemain memilih credit
Jurusan Teknik Informatika Unikom
Game Main menu Pemain Pemain memainkan game ini untuk skor tertinggi Pemain harus memilik gadget berbasis JAVA™ Informasi langkah Terdapat beberapa pilihan Pemain langsung dapat memainkan game System menampilkan 5 skor pemain tertinggi Maka akan menampilkan history dan pembuat dari pada game ini
LAPORAN PERENCANAAN PEMBUATAN GAME BERBASIS JAVA
Halaman 19 dari 22
3.3.3 Activity Diagram player
game
start
menjalankan game
pilihan menu permainan
play
highscore
gameplay
exit
tampilan pilihan menu
Jurusan Teknik Informatika Unikom
LAPORAN PERENCANAAN PEMBUATAN GAME BERBASIS JAVA
Halaman 20 dari 22
3.3.4 Sequence Diagram
paly
: player
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 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
LAPORAN PERENCANAAN PEMBUATAN GAME BERBASIS JAVA
Halaman 21 dari 22
Jurusan Teknik Informatika Unikom
LAPORAN PERENCANAAN PEMBUATAN GAME BERBASIS JAVA
Halaman 22 dari 22