PENGEMBANGAN APLIKASI SHOOTER GAME MENGGUNAKAN VISUAL BASIC 6.0 Laporan Tugas Akhir
Diajukan untuk melengkapi salah satu persyaratan mencapai gelar sarjana strata satu (S1) Program Studi Teknik Informatika
Oleh: RIKI ANANTA 01503-051
PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS ILMU KOMPUTER UNIVERSITAS MERCU BUANA JAKARTA 2008
PENGEMBANGAN APLIKASI SHOOTER GAME MENGGUNAKAN VISUAL BASIC 6.0 Laporan Tugas Akhir
Diajukan untuk melengkapi salah satu persyaratan mencapai gelar sarjana strata satu (S1) Program Studi Teknik Informatika
Oleh: RIKI ANANTA 01503-051
PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS ILMU KOMPUTER UNIVERSITAS MERCU BUANA JAKARTA 2008
LEMBAR PENGESAHAN
Yang bertanda tangan dibawah ini menyatakan bahwa laporan Tugas Akhir dari mahasiswa berikut ini:
Nama
: Riki Ananta
NIM
: 01503-051
Fakultas
: Ilmu Komputer
Program Studi : Teknik Informatika Judul
: Pengembangan Aplikasi Shooter Game Menggunakan Visual Basic 6.0
Telah disidangkan, diperiksa, dan disetujui sebagai laporan Tugas Akhir. Jakarta, 24 Desember 2008
Menyetujui,
Menyetujui,
(Abdusy Syarif, ST., MT) Pembimbing I Tugas Akhir
(Hendi Hermawan, ST) Pembimbing II Tugas Akhir
Mengesahkan,
Mengetahui,
(Abdusy Syarif, ST., MT) Ketua Program Studi Teknik Informatika
(Raka Yusuf, ST., MTI) Koordinator Tugas Akhir
iv
ABSTRAK
Pada saat ini perangkat komputer tidak hanya digunakan sebagai media untuk keperluan kerja saja, tetapi juga sering digunakan sebagai media hiburan digital. Salah satu hiburan yang dapat dinikmati melalui komputer adalah aplikasi permainan komputer. Aplikasi permainan komputer pada saat ini telah berkembang dengan pesat. Saat ini banyak sekali aplikasi-aplikasi permainan yang sangat rumit alur cerita permainannya sehingga membuat para penggunanya menjadi bosan. Oleh karena itu, dengan terinspirasi dari sebuah situs di internet, penulis membuat dan mengembangkan sebuah aplikasi permainan sederhana yang bernama shooter game yang dapat dijadikan alternatif bagi para penggemar aplikasi permainan komputer dan dapat dipelajari dengan mudah bagi para pemula dibidang pemrograman komputer. Aplikasi shooter game tersebut dibangun menggunakan Microsoft Visual Basic versi 6.0 edisi Profesional. Dalam melakukan analisis kebutuhan untuk aplikasi permainan tersebut penulis menggunakan alat pemodelan visual Unified Modeling Language (UML). Diagram-diagram UML yang digunakan oleh penulis adalah diagram Use Case, diagram Sekuensial, dan diagram Aktivitas.
Kata kunci: aplikasi permainan komputer, shooter game, Microsoft Visual Basic versi 6.0.
ii
ABSTRACT
At the moment peripheral of computer not only used as media for job needed but also is often used as digital entertainment media. One of entertainment that able to enjoy through computer is computer game application. The computer game application now day have developed so rapidly. In this time, there are so many game applications that very complicated in plot, so that make the users are tired. Therefore, by inspiration from an internet site, the writer makes and develops a simple game application that called shooter game that able to be made alternative to all devotees of computer game application and able to be studied easily for all beginners in area computer programming. The Shooter Game application is built by Microsoft Visual Basic 6.0 Professional Edition Version. In analyze requirement for that game application, the writer use Unified Modeling Language (UML) as visual modeling. UML diagrams that used by writer is Use Case diagram, Sequence diagram, and Activity diagram.
Keywords: computer game application, shooter game, Microsoft Visual Basic 6.0 Version.
iii
DAFTAR ISI
Halaman Judul........................................................................................................ i ABSTRAK ............................................................................................................. ii ABSTRACT............................................................................................................. iii LEMBAR PENGESAHAN ................................................................................... iv LEMBAR PERNYATAAN ................................................................................... v KATA PENGANTAR ........................................................................................... vi DAFTAR ISI.......................................................................................................... viii DAFTAR GAMBAR ............................................................................................. xi DAFTAR TABEL.................................................................................................. xiii BAB I PENDAHULUAN ...................................................................................... 1 1.1 Latar Belakang..................................................................................... 1 1.2 Ruang Lingkup .................................................................................... 2 1.3 Tujuan Pembahasan ............................................................................. 3 1.4 Batasan Masalah .................................................................................. 3 1.5 Metodologi........................................................................................... 4 1.6 Sistematika Penulisan .......................................................................... 5 BAB II LANDASAN TEORI ................................................................................ 7 2.1 Pengantar Permainan Komputer.......................................................... 7 2.1.1 Pengertian Permainan Komputer................................................ 8 2.1.2 Sejarah Singkat Permainan Komputer ....................................... 8 2.2 Model Sekuensial Linier ..................................................................... 9 2.3 Unified Modeling Language (UML) ................................................... 11
viii
2.3.1 Diagram Use Case (Use Case Diagram).................................... 13 2.3.2 Diagram Sekuensial (Sequence Diagram) ................................. 16 2.3.3 Diagram Aktifitas (Activity Diagram)........................................ 19 2.4 Pengantar Visual Basic 6.0.................................................................. 20 2.4.1 Integrated Development Environment (IDE) Visual Basic 6.0.. 21 2.4.2 Komponen Program Pada Visual Basic 6.0 ............................... 28 BAB III ANALISIS DAN PERANCANGAN ...................................................... 30 3.1 Analisis ................................................................................................ 30 3.1.1 Skenario Permainan.................................................................... 31 3.1.2 Spesifikasi Kebutuhan Sistem .................................................... 33 3.1.3 Parameter Keberhasilan.............................................................. 34 3.2 Diagram Use Case ............................................................................... 34 3.3 Diagram Sekuensial ............................................................................. 38 3.4 Diagram Aktifitas ................................................................................ 40 3.5 Algoritma Perhitungan Score .............................................................. 45 3.6 Algoritma Kenaikan Level .................................................................. 46 3.7 Algoritma Tingkat Kesulitan Level ..................................................... 46 3.8 Perancangan Antarmuka Permainan.................................................... 47 3.8.1 Perancangan Jendela Menu ........................................................ 47 3.8.2 Perancangan Jendela Inisialisasi Nama Pemain ......................... 48 3.8.3 Perancangan Jendela Permainan ................................................ 49 3.8.4 Perancangan Jendela About........................................................ 50 3.8.5 Perancangan Jendela Skor Pemain Terbaik................................ 51 BAB IV IMPLEMENTASI DAN PENGUJIAN................................................... 52
ix
4.1 Implementasi ....................................................................................... 52 4.1.1 Lingkungan Implementasi .......................................................... 52 4.1.2 Pengkodean ................................................................................ 53 4.1.3 Antarmuka Permainan................................................................ 56 4.1.3.1 Jendela Menu ................................................................. 56 4.1.3.2 Jendela Inisialisasi Nama Pemain .................................. 57 4.1.3.3 Tampilan Jendela Permainan ......................................... 58 4.1.3.4 Tampilan Jendela Pemain Terbaik................................. 61 4.1.3.5 Tampilan Jendela About ................................................ 62 4.2 Pengujian ............................................................................................. 63 4.2.1 Skenario Pengujian..................................................................... 63 4.2.2 Hasil Pengujian........................................................................... 66 4.2.3 Analisis Hasil Pengujian ............................................................ 67 BAB V PENUTUP................................................................................................. 68 5.1 Kesimpulan .......................................................................................... 68 5.2 Saran .................................................................................................... 68 DAFTAR PUSTAKA ............................................................................................ 70 LAMPIRAN LISTING PROGRAM ..................................................................... L1
x
DAFTAR TABEL
Tabel 2.1 Jenis diagram resmi UML...................................................................... 13 Tabel 2.2 Notasi-notasi dalam pemodelan diagram Use Case menurut Booch, Rumbaugh, dan Jacobson........................................................................ 14 Tabel 2.3 Notasi-notasi dalam pemodelan diagram sekuensial ............................. 17 Tabel 2.4 Simbol-simbol pada diagram aktivitas................................................... 20 Tabel 3.1 Skenario Use Case menembak objek hewan.......................................... 35 Tabel 3.2 Skenario Use Case mengisi ulang peluru (Reload peluru) .................... 36 Tabel 3.3 Skenario Use Case memulai permainan................................................. 37 Tabel 4.1 Tabel skenario pengujian ....................................................................... 64 Tabel 4.2 Tabel hasil pengujian ............................................................................. 66
xiii
DAFTAR GAMBAR
Gambar 2.1 Model Sekuensial Linier (Pressman, 2002:37) .................................. 11 Gambar 2.2 IDE Visual Basic................................................................................ 22 Gambar 2.3 Bagian-bagian utama dalam IDE Visual Basic 6.0 ............................ 23 Gambar 2.4 Menubar ............................................................................................. 23 Gambar 2.5 Toolbar ............................................................................................... 24 Gambar 2.6 Toolbox .............................................................................................. 24 Gambar 2.7 Jendela Form ...................................................................................... 25 Gambar 2.8 Jendela Code ...................................................................................... 26 Gambar 2.9 Project Explorer.................................................................................. 26 Gambar 2.10 Jendela Properties............................................................................. 27 Gambar 2.11 Form Layout..................................................................................... 27 Gambar 3.1 Diagram Use Case Shooter Game...................................................... 35 Gambar 3.2 Diagram Sekuensial untuk Use Case memulai permainan................. 38 Gambar 3.3 Diagram Sekuensial untuk Use Case menembak objek hewan.......... 39 Gambar 3.4 Diagram Sekuensial untuk Use Case mengisi ulang peluru (Reload peluru) .................................................................................................. 40 Gambar 3.5 Diagram Aktifitas untuk Use Case memulai permainan.................... 41 Gambar 3.6 Diagram Aktifitas untuk Use Case menembak objek hewan............. 43 Gambar 3.7 Diagram Aktifitas untuk Use Case mengisi ulang peluru (Reload peluru) .................................................................................................. 44 Gambar 3.8 Perancangan jendela menu ................................................................. 48 Gambar 3.9 Perancangan jendela inisialisasi nama pemain................................... 49
xi
Gambar 3.10 Perancangan jendela permainan ....................................................... 50 Gambar 3.11 Perancangan jendela about ............................................................... 51 Gambar 3.12 Perancangan jendela skor pemain terbaik ........................................ 51 Gambar 4.1 Tampilan jendela menu ...................................................................... 57 Gambar 4.2 Tampilan jendela inisialisasi nama pemain........................................ 58 Gambar 4.3 Tampilan pesan alert.......................................................................... 58 Gambar 4.4 Tampilan jendela permainan .............................................................. 60 Gambar 4.5 Tampilan gambar efek darah pada saat objek hewan tertembak........ 61 Gambar 4.6 Tampilan jendela pemain terbaik ....................................................... 62 Gambar 4.7 Tampilan jendela about ...................................................................... 62
xii
BAB I PENDAHULUAN
1.1 Latar Belakang Pada saat ini perangkat komputer tidak hanya digunakan sebagai media untuk keperluan kerja saja, tetapi juga sering digunakan sebagai media hiburan digital. Salah satu hiburan yang dapat dinikmati melalui komputer adalah aplikasi permainan komputer. Aplikasi permainan komputer ini memang sangat digemari oleh berbagai usia, tidak hanya anak-anak, orang dewasa pun sangat menyukai permainan komputer. Aplikasi permainan komputer memang sudah menjadi bagian yang tidak dapat dipisahkan dari para pengguna komputer. Hal itu terbukti dari relanya para pengguna komputer yang menghabiskan waktunya berjam-jam hanya untuk memainkan sebuah aplikasi permainan komputer. Aplikasi permainan komputer tidak selamanya membawa dampak buruk bagi pemain atau penggunanya, tetapi aplikasi permainan dapat melatih kita untuk
1
2
berfikir, karena aplikasi permainan juga dapat digunakan sebagai media asah otak. Permainan komputer menawarkan sebuah segi yang tidak diperoleh media lain, yakni interaksi antara pemakai dengan program permainan komputer yang menghasilkan keragaman stimulus berdasarkan input yang diberikan pemainnya. Seiring dengan beraneka ragamnya aplikasi permainan komputer saat ini, dari aplikasi permainan yang mudah dimengerti sampai aplikasi permainan yang sangat rumit alur cerita permainannya sehingga membuat para penggunanya menjadi bosan. Oleh karena itu, dalam laporan tugas akhir ini, penulis membuat dan mengembangkan sebuah aplikasi permainan sederhana yang bernama shooter game, yang terinspirasi dari sebuah situs di internet, yaitu http://acoy.wordpress.com. Aplikasi shooter game merupakan aplikasi permainan sederhana dengan objek tembakan, dimana kita harus menembak semua objek hewan yang ada di dalam permainan. Dalam membuat aplikasi permainan komputer tersebut, penulis menggunakan bahasa pemrograman Visual Basic 6.0.
1.2 Ruang Lingkup Aplikasi yang dibangun adalah aplikasi permainan komputer yang bernama shooter game. Aplikasi permainan ini menggunakan objek tembakan, dimana pemain harus menembak setiap objek hewan yang muncul dalam aplikasi permainan ini. Objek yang ditembak yaitu berupa gambar hewan yang bersumber dari CD pada buku aplikasi multimedia dengan Visual Basic 6.0. Di dalam aplikasi permainan ini terdapat jendela untuk memasukan nama pemain. Dalam aplikasi permainan ini terdapat perhitungan skor, yang berfungsi untuk mengetahui berapa banyak jumlah
3
objek hewan yang tertembak oleh pemain. Di dalam aplikasi permainan ini juga terdapat tiga tingkat (level) permainan. Dalam setiap tingkat (level) permainan mempunyai tingkat kesulitan yang berbeda-beda. Jumlah objek hewan yang keluar pada setiap tingkat (level) permainan berbeda-beda. Makin tinggi tingkat (level) permainan, maka makin banyak juga objek hewan yang keluar. Pada tingkat (level) satu (1), pemain harus mencapai nilai sepuluh (10) agar dapat memasuki tingkat (level) dua (2). Sedangkan pada tingkat (level) dua (2), pemain harus mencapai nilai dua puluh (20) agar dapat memasuki tingkat (level) tiga (3). Pada tingkat (level) tiga (3) merupakan level terakhir dari aplikasi permainan ini. Apabila pemain telah mencapai dan menyelesaikan tingkat (level) tiga (3), maka permainan berakhir. Aplikasi ini dibangun dengan menggunakan bahasa pemrograman Visual Basic 6.0.
1.3 Tujuan Pembahasan Tujuan yang ingin dicapai dalam penulisan laporan tugas akhir ini adalah untuk menghasilkan sebuah program aplikasi permainan komputer yang bernama shooter game, dengan objek tembakan yang berjalan pada komputer berbasis sistem operasi Windows khususnya Windows XP Professional.
1.4 Batasan Masalah Batasan masalah pada laporan tugas akhir ini adalah sebagai berikut: 1. Aplikasi shooter game ini dibangun dengan menggunakan bahasa pemrograman Visual Basic versi 6.0. 2. Aplikasi permainan ini hanya berdimensi dua (2 dimensi).
4
3. Dalam aplikasi permainan ini terdapat perhitungan skor. Skor berfungsi untuk mengetahui berapa banyak jumlah objek hewan yang berhasil di tembak oleh pemain. Skor tersebut akan tersimpan dalam bentuk file text (.txt). 4. Dalam aplikasi permainan ini terdapat tiga tingkat (level) permainan. 5. Dalam aplikasi permainan ini terdapat reload peluru, yang dapat digunakan pemain apabila peluru tembakan pemain sudah habis, maka peluru akan terisi kembali. 6. Dalam aplikasi permainan ini terdapat waktu permainan, yang merupakan batasan bagi pemain dalam memainkan aplikasi permainan ini. Jadi apabila waktu permainan sudah habis maka permainan berakhir. 7. Dalam aplikasi permainan ini terdapat obyek yang dapat ditembak oleh pemain yaitu berupa gambar hewan sebanyak enam (6) gambar. 8. Aplikasi permainan yang dibangun hanya dapat dimainkan oleh satu orang pemain dan bersifat stand alone.
1.5 Metodologi Dalam melakukan perancangan aplikasi ini, metodologi perangkat lunak yang digunakan oleh penulis adalah model sequensial linear. Model sequensial linear meliputi aktivitas-aktivitas sebagai berikut: (Roger S. Presman, 2002:36) 1. Analisis Penulis
melakukan
analisis
terhadap
aplikasi
yang
akan
dibuat
dan
mengumpulkan data-data yang diperlukan yang berkenaan dengan aplikasi yang akan buat.
5
2. Desain Penulis melakukan perancangan aplikasi sesuai dengan hasil analisis. 3. Pengkodean Setelah melakukan analisis dan perancangan, penulis melakukan pengkodean aplikasi sesuai dengan kebutuhan aplikasi. 4. Pengujian Pada tahap ini penulis melakukan pengujian terhadap aplikasi yang telah dibuat secara menyeluruh untuk memastikan bahwa aplikasi berjalan dengan sempurna.
1.6 Sistematika Penulisan Sistematika penulisan laporan tugas akhir ini terdiri dari 5 (lima) bab, yang dapat dijelaskan sebagai berikut: BAB I
: PENDAHULUAN Bab ini menguraikan tentang latar belakang, ruang lingkup, tujuan pembahasan,
batasan
masalah,
metodologi,
dan
sistematika
penulisan. BAB II
: LANDASAN TEORI Bab ini berisi tentang teori-teori pendukung yang digunakan sebagai kerangka berfikir dan menjadi landasan bagi penulis untuk menganalisa dan memecahkan suatu masalah dalam perancangan dan pembuatan aplikasi permainan komputer.
6
BAB III
: ANALISIS DAN PERANCANGAN Bab ini membahas tentang hal-hal yang berhubungan dengan analisis kebutuhan sistem, rancangan proses implementasi, dan perancangan tampilan.
BAB IV
: IMPLEMENTASI DAN PENGUJIAN SISTEM Bab ini meliputi hal-hal yang berhubungan dengan pengkodean program dan hal-hal yang berhubungan dengan pengujian aplikasi.
BAB V
: PENUTUP Bab ini berisi tentang kesimpulan berdasarkan uraian-uraian dari bab-bab sebelumnya dan beberapa saran untuk pengembangan lebih lanjut.
BAB II LANDASAN TEORI
2.1 Pengantar Permainan Komputer Permainan komputer merupakan salah satu jenis media baru yang mulai ada sejak pertengahan kedua abad ke-20. Dibandingkan jenis-jenis media sebelumnya, permainan komputer menawarkan sebuah segi yang tidak diperoleh media lain, yakni interaksi antara pemakai dengan program permainan komputer yang menghasilkan keragaman stimulus berdasarkan input yang diberikan pemainnya. Bagaimana seorang pemain bermain, bertindak dan membuat pilihan-pilihan mempengaruhi keseluruhan pengalaman bermainnya tersebut. Permainan-permainan tersebut juga mempunyai kemampuan untuk mempresentasikan pemainnya dunia-dunia mikro dalam arti memberikan konteks-konteks untuk berpikir menghadapi permasalahan, mengambil tindakan sendiri sebagai bagian solusinya dan membangun arti intuitif dari peran mereka dalam dunia permainan tersebut.
7
8
2.1.1 Pengertian Permainan Komputer Permainan komputer adalah permainan video yang dimainkan pada komputer pribadi, dan bukan pada konsol permainan, maupun mesin ding-dong. Permainan komputer telah berevolusi dari sistem grafis sederhana sampai menjadi kompleks dan mutakhir.
Permainan komputer (computer game) atau disebut juga dengan permainan video (video game) adalah sebuah program yang ditulis dalam sebuah bahasa pemrograman, seperti C++ atau Visual Basic, yang mengijinkan seorang pemain berinteraksi dan bereaksi terhadap kejadian-kejadian di dalam sebuah dunia imajinasi (Harbour, 2002:16).
2.1.2 Sejarah Singkat Permainan Komputer
Permainan komputer pertama kali dibuat pada tahun 1966 oleh Ralph Baer bersama dengan 500 insinyur dan teknisi. Permainan yang diproduksi oleh Baer hanya dapat dimainkan pada komputer berharga US$ 40.000. Siapakah yang mau mendanai proyek Baer tersebut? Jawabannya adalah pihak militer Amerika Serikat, Pentagon. Pada tahun 1965, Pentagon datang kepada Baer dan meminta dibuatkan simulasi komputer yang dapat membantu pasukan militer Amerika Serikat untuk belajar strategi dan mengukur kemampuan refleks. Proyek ini dikerjakan dengan tingkat pengamanan yang tinggi ditengah situasi perang dingin saat itu. Setelah satu bulan bekerja keras, Baer berhasil menampilkan dua titik putih yang berkejar-kejaran di layar monitor. Hal ini membuat pihak militer kagum dan memberikan dana jauh lebih besar kepada Baer sehingga ia dapat menyewa asisten lebih banyak. Tim Baer berhasil membuat permainan antara papan dan bola yang
9
pada akhir tahun 1966 dipresentasikan di depan pejabat Pentagon. Ternyata hal tersebut tidak membuat Pentagon tertarik sehingga Baer kemudian berusaha memperoleh izin agar memproduksi mesin permainan secara komersial. Pada tahun 1970, Bill Enders yang tergabung dalam perusahaan Magnavox berusaha meyakinkan eksekutif perusahaannya untuk memberikan kesempatan kepada Baer dan mesin permainannya. Hasilnya adalah munculnya permainan video (video game) komersial pertama yaitu Magnavox Odyssey yang terjual lebih dari 100.000 unit dengan harga US$ 100 per unit (Hakim, 2003:1).
2.2 Model Sekuensial Linier Model sekuensial linier untuk rekayasa perangkat lunak, atau sering disebut juga dengan "siklus kehidupan klasik" atau "model air terjun". Model sekuensial linier mengusulkan sebuah pendekatan kepada perkembangan perangkat lunak yang sistematik dan sekuensial yang mulai pada tingkat dan kemajuan sistem pada seluruh analisis, desain, pengujian dan pemeliharaan. Dimodelkan setelah siklus rekayasa konvensional, model sekuensial linier melingkupi aktivitas-aktivitas sebagai berikut menurut (Roger S. Pressman, 2002:37-38): 1. Rekayasa dan pemodelan sistem/informasi Pada tahapan ini dilakukan proses pengumpulan kebutuhan pengguna pada tingkatan sistem dengan sejumlah kecil analisa serta desain tingkat puncak. 2. Analisis kebutuhan perangkat lunak Proses pengumpulan kebutuhan diintensifkan dan difokuskan, khususnya pada perangkat lunak. Untuk memahami sifat program yang dibangun, perekayasa
10
perangkat lunak harus memahami domain informasi, tingkah laku, unjuk kerja, dan antarmuka (interface) yang diperlukan. 3. Desain Desain perangkat lunak sebenarnya adalah proses multi langkah yang berfokus pada empat atribut program yang berbeda, struktur data, arsitek perangkat lunak, representasi antarmuka, dan detail prosedural. Proses desain menerjemahkan kebutuhan ke dalam sebuah representasi perangkat lunak yang dapat diperkirakan demi kualitas sebelum dimulai pemunculan kode. Sebagaimana persyaratan, desain didokumentasikan dan menjadi bagian dari konfigurasi perangkat lunak. 4. Generasi kode Desain harus diterjemahkan ke dalam bentuk mesin yang bisa dibaca. Langkah pembuatan kode melakukan tugas ini. Jika desain dilakukan dengan cara yang lengkap, pembuatan kode dapat diselesaikan dengan mekanis. Artinya dilakukan pengkodean (coding) berdasarkan desain yang telah dibuat. 5. Pengujian Sekali kode dibuat, pengujian program dimulai. Proses pengujian berfokus pada logika internal perangkat lunak, memastikan bahwa semua pernyataan sudah diuji, dan pada eksternal fungsional yaitu mengarahkan pengujian untuk menemukan kesalahan-kesalahan dan memastikan bahwa masukan yang dibatasi akan memberikan hasil aktual yang sesuai dengan hasil yang dibutuhkan.
11
Pemodelan sistem informasi analisis
kode
desain
tes
Gambar 2.1. Model Sekuensial Linier (Pressman, 2002:37)
2.3 Unified Modeling Language (UML) UML (Unified Modeling Language) adalah sebuah bahasa yang berdasarkan grafik/gambar
untuk
memvisualisasi,
menspesifikasikan,
membangun,
dan
pendokumentasian dari sebuah sistem pengembangan software berbasis OO (ObjectOriented). UML sendiri juga memberikan standar penulisan sebuah sistem blue print, yang meliputi konsep bisnis proses, penulisan kelas-kelas dalam bahasa program yang spesifik, skema database, dan komponen-komponen yang diperlukan dalam sistem software (http://www.omg.org). 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 sistem (Romi Satria Wahono dan Sri Dharwiyanti, 2003:2). UML mendefinisikan notasi dan syntax/semantik. Notasi UML merupakan sekumpulan bentuk khusus untuk menggambarkan berbagai diagram piranti lunak. Setiap bentuk memiliki makna tertentu, dan syntax UML mendefinisikan bagaimana bentuk-bentuk tersebut dapat dikombinasikan.
12
UML sebagai sebuah bahasa yang memberikan vocabulary dan tatanan penulisan kata-kata dalam ‘MS Word’ untuk kegunaan komunikasi. Sebuah bahasa model adalah sebuah bahasa yang mempunyai vocabulary dan konsep tatanan/aturan penulisan serta secara fisik mempresentasikan dari sebuah sistem. Seperti halnya UML adalah sebuah bahasa standard untuk pengembangan sebuah software yang dapat menyampaikan bagaimana membuat dan membentuk model-model, tetapi tidak menyampaikan apa dan kapan model yang seharusnya dibuat yang merupakan salah satu proses implementasi pengembangan software. Menurut Munawar (2005:17) UML adalah alat bantu yang sangat handal di dunia pengembangan sistem yang berorientasi obyek. Hal ini disebabkan karena UML menyediakan bahasa pemodelan visual yang memungkinkan bagi pengembang sistem untuk membuat cetak biru atas visi mereka dalam bentuk yang baku, mudah dimengerti serta dilengkapi dengan mekanisme yang efektif untuk berbagi dan mengkomunikasikan rancangan mereka dengan klien, programmer, dan tiap orang yang terlibat dalam proses pengembangan tersebut. Di proyek pengembangan sistem apapun, fokus utama dalam analisis dan perancangan adalah model dan diagram. Model menggambarkan pandangan yang lengkap tentang suatu sistem pada suatu tahapan tertentu dan dari perspektif tertentu. Sedangkan diagram menggambarkan atau mendokumentasikan beberapa aspek dari sebuah sistem. Sebuah model mungkin mengandung satu atau lebih diagram. untuk model sederhana, satu diagram mungkin akan mencukupi. Akan tetapi biasanya sebuah model terdiri dari banyak diagram. UML terdiri atas 13 jenis diagram resmi seperti tertulis dalam Tabel 2.1:
13
Tabel 2.1. Jenis diagram resmi UML No.
Diagram
Tujuan
1
Activity
Perilaku prosedural & paralel
2
Class
Class, fitur dan relasinya
3
Communication
Interaksi diantara obyek. Lebih menekankan ke link
4
Component
Struktur dan koneksi dari komponen
5
Composite Structure
Dekomposisi sebuah class saat runtime
6
Deployment
Penyebaran/instalasi ke klien
7
Interaction Overview
Gabungan antara Activity & Sequence diagram
8
Object
Contoh konfigurasi instance
9
Package
Struktur hierarki saat kompilasi
10
Sequence
Interaksi antar obyek. Lebih menekankan pada urutan
11
State Machine
Bagaimana event mengubah sebuah obyek
12
Timing
Interaksi antar obyek. Lebih menekankan pada waktu
13
Use Case
Bagaimana user berinteraksi dengan sebuah sistem
2.3.1 Diagram Use Case (Use Case Diagram) Menurut Munawar (2005:63) use case adalah deskripsi fungsi dari sebuah sistem dari perspektif pengguna. Use case bekerja dengan cara mendeskripsikan tipikal interaksi antara pengguna sebuah sistem dengan sistemnya sendiri melalui sebuah cerita bagaimana sebuah sistem dipakai. Urutan langkah-langkah yang menerangkan antara pengguna dan sistem disebut skenario. Setiap skenario mendeskripsikan urutan kejadian. Setiap urutan diinisialisasi oleh orang, sistem yang lain, perangkat keras atau urutan waktu. Dengan demikian secara singkat bisa dikatakan use case adalah serangkaian skenario yang digabungkan bersama-sama oleh tujuan umum pengguna. Dalam pembicaraan tentang Use Case, pengguna biasanya disebut dengan aktor. Aktor adalah sebuah peran yang bisa dimainkan oleh pengguna dalam interaksinya dengan sistem. Aktor mewakili peran orang, sistem yang lain, atau alat
14
ketika berkomunikasi dengan Use Case. Di dalam Use Case terdapat Stereotype yaitu sebuah model khusus yang terbatas untuk kondisi tertentu. Untuk menunjukkan Stereotype digunakan simbol ”<<” diawalnya dan ditutup ”>>” diakhirnya. <
> digunakan untuk menggambarkan bahwa suatu Use Case seluruhnya merupakan fungsionalitas dari Use Case lainnya. Biasanya <> digunakan untuk menghindari penggandaan suatu Use Case karena sering dipakai. <<extend>> digunakan untuk menunjukkan bahwa suatu Use Case merupakan tambahan fungsional dari Use Case yang lain jika kondisi atau syarat tertentu dipenuhi (Munawar, 2005:66). Diagram Use Case 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 (Romi Satria Wahono dan Sri Dharwiyanti, 2003:4).Tabel 2.2 menampilkan notasi-notasi dalam pemodelan diagram Use Case menurut Booch, Rumbaugh, dan Jacobson (1998:187). Tabel 2.2 Notasi-notasi dalam pemodelan diagram Use Case menurut Booch, Rumbaugh, dan Jacobson No. Notasi Keterangan 1
Aktor
2
Use Case
15
Tabel 2.2 (lanjutan) notasi-notasi dalam pemodelan diagram Use Case menurut Booch, Rumbaugh, dan Jacobson No. Notasi Keterangan
3
Batas sistem (system boundary)
4
Garis penghubung (pengendali arah)
6
Generalisasi (generalization)
7
Realisasi (realization)
8
<< include >>
Stereotype penyertaan (include)
<< extend >>
9
Stereotype perluasan (extend)
Menurut Munawar (2005:179) setiap use case harus dideskripsikan dalam dokumen yang disebut dengan dokumen flow of event. Dokumen ini mendefinisikan apa yang harus dilakukan oleh sistem ketika aktor mengaktifkan use case. Struktur dari dokumen use case bisa bermacam-macam, tetapi umumnya deskripsi use case ini setidaknya harus mengandung: 1. Deskripsi singkat (brief description). 2. Aktor yang terlibat.
16
3. Kondisi awal (precondition) yang penting bagi use case untuk memulai. 4. Deskripsi rinci dari aliran kejadian yang mencakup: a. Aliran utama (main flow) dari kejadian yang bisa dirinci lagi. b. Aliran bagian (sub flow) dari kejadian. c. Aliran alternatif untuk mendefinisikan situasi perkecualian. 5. Kondisi akhir yang menjelaskan state dari sistem setelah use case berakhir. Dokumen use case ini berkembang selama masa pengembangan. Di awal-awal penentuan kebutuhan sistem, hanya deskripsi singkat saja yang ditulis. Bagianbagian lain dari dokumen ini ditulis secara gradual dan iteratif. Akhirnya sebuah dokumen lengkap bisa didapatkan di akhir fase spesifikasi. Biasanya pada fase spesifikasi ini sebuah prototipe yang dilengkapi dengan tampilan layar bisa ditambahkan. Pada tahap berikutnya, dokumen use case ini bisa digunakan untuk membuat dokumentasi untuk implementasi sistem.
2.3.2 Diagram Sekuensial (Sequence Diagram) Menurut
Munawar
(2005:87)
diagram
sekuensial
digunakan
untuk
menggambarkan perilaku pada sebuah skenario. Diagram ini menunjukkan sejumlah contoh objek dan pesan (message) yang diletakkan diantara objek-objek ini di dalam use case. Komponen utama diagram sekuensial terdiri atas objek atau disebut juga peserta (participant) yang dituliskan dengan kotak segi empat bernama, pesan diwakili oleh garis dengan tanda panah dan waktu yang ditunjukkan dengan garis tegak lurus.
17
Setiap obyek terhubung dengan garis titik-titik yang disebut garis hidup (lifeline). Sepanjang garis hidup terdapat kotak yang disebut penggerakan (activation). 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 (Romi Satria Wahono dan Sri Dharwiyanti, 2003:8). Tabel 2.3 memperlihatkan notasi-notasi dalam pemodelan diagram Sekuensial. Tabel 2.3 Notasi-notasi dalam pemodelan diagram sekuensial No. Notasi Keterangan
1
2
Aktor
Nama obyek
Obyek
3
Batas (boundary)
4
Kendali (control)
18
Tabel 2.3 (lanjutan) notasi-notasi dalam pemodelan diagram sekuensial No. Notasi Keterangan 5
Entitas (entity)
6
Penggerakan (activation)
7
Garis hidup (lifeline)
8
Pesan selaras (Synchronous message)
9
Pesan tidak selaras (Asynchronous message)
10
Pesan kembali yang tidak selaras (asynchronous return message)
11
Pesan rekursif (self message)
12
Pesan hilang (lost message)
13
Pesan ditemukan (found message)
14
New
Pesan pembuatan obyek baru
19
Tabel 2.3 (lanjutan) notasi-notasi dalam pemodelan diagram sekuensial No. Notasi Keterangan 15
Pesan penghapusan obyek
2.3.3 Diagram Aktivitas (Activity Diagram) Diagram Aktifitas adalah teknik untuk mendeskripsikan logika prosedural, proses bisnis, dan aliran kerja dalam banyak kasus. Diagram Aktifitas mempunyai peran seperti halnya diagram alur (Flowchart), akan tetapi perbedaannya dengan flowchart adalah diagram aktifitas dapat mendukung perilaku paralel sedangkan flowchart tidak bisa (Munawar 2005:109). Diagram Aktivitas menggambarkan berbagai alir aktivitas dalam sistem yang sedang dirancang, bagaimana masing-masing alir berawal, decision yang mungkin terjadi,
dan
bagaimana
mereka
berakhir.
Diagram
Aktivitas
juga
dapat
menggambarkan proses paralel yang mungkin terjadi pada beberapa eksekusi. Diagram Aktivitas 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
20
menggambarkan behaviour pada kondisi tertentu. Untuk mengilustrasikan prosesproses paralel (fork dan join) digunakan titik sinkronisasi yang dapat berupa titik, garis horizontal atau vertikal (Romi Satria Wahono dan Sri Dharwiyanti, 2003:7-8). Berikut pada Tabel 2.4 adalah simbol-simbol yang sering digunakan pada saat pembuatan diagram aktivitas. Tabel 2.4 Simbol-simbol pada diagram aktivitas No Simbol Keterangan 1
Titik awal.
2
Titik akhir.
3
Aktivitas (Activity).
4
Pilihan untuk pengambilan keputusan.
5
6
Fork : digunakan untuk menunjukkan kegiatan yang dilakukan secara paralel atau untuk menggabungkan dua kegiatan paralel menjadi satu. Rake : menunjukkan adanya dekomposisi.
7
Tanda waktu.
8
Tanda pengiriman.
9
Tanda penerimaan.
10
Aliran akhir (flow final).
2.4 Pengantar Visual Basic 6.0 Visual Basic 6.0 merupakan sebuah bahasa pemrograman komputer yang berjalan pada sistem operasi Windows. Bahasa pemrograman adalah sekumpulan perintah/instruksi yang dimengerti oleh komputer untuk mengerjakan tugas-tugas tertentu. Visual basic selain disebut sebagai bahasa pemrograman (Language
21
Program), juga sering disebut sebagai sarana (Tool) untuk menghasilkan programprogram aplikasi berbasis Windows (Yuswanto, 2003:1). Visual Basic adalah salah satu bahasa pemrograman komputer. Bahasa pemrograman adalah perintahperintah yang dimengerti oleh komputer untuk melakukan tugas-tugas tertentu. Bahasa pemrograman Visual Basic, yang dikembangkan oleh Microsoft sejak tahun 1991, merupakan pengembangan dari pendahulunya yaitu bahasa pemrograman BASIC (Beginner’s All-purpose Symbolic Instruction Code) yang dikembangkan pada era 1950-an. Visual Basic merupakan salah satu Development Tool yaitu alat bantu untuk membuat berbagai macam program komputer, khususnya yang menggunakan sistem operasi Windows. Visual Basic merupakan salah satu bahasa pemrograman komputer yang mendukung object (Object Oriented Programming = OOP) (Krisna D. Octovhiana, 2003:1).
2.4.1 Integrated Development Environment (IDE) Visual Basic 6.0 Sebelum menjalankan Visual Basic 6.0, sudah tentu kita telah menginstalasi sistem Visual Basic 6.0 ke dalam komputer yang akan dipakai. Kemudian Aktifkan Visual Basic 6.0 melalui tombol Start > Programs > Microsoft Visual Studio 6.0 > Microsoft Visual Basic 6.0. Maka akan muncul tampilan berikut:
22
Gambar 2.2 IDE Visual Basic Klik tab New dan pilih Standard EXE untuk memulai project baru kemudian klik tombol Open. Maka akan ditampilkan IDE atau area kerja Visual Basic 6.0 sebagai berikut:
23
Gambar 2.3 Bagian-bagian utama dalam IDE Visual Basic 6.0
Bagian-bagian utama dalam IDE Visual Basic 6.0 adalah sebagai berikut: 1. Menubar
Gambar 2.4 Menubar
Menubar merupakan kumpulan perintah-perintah yang dikelompokkan dalam kriteria operasinya. Perintah-perintah dalam menubar diantaranya adalah untuk membuat project baru, save, exit pada menu File atau perintah cut, copy, paste pada menu Edit dan menu-menu lainnya.
24
2. Toolbar
Gambar 2.5 Toolbar
Toolbar merupakan sekumpulan tombol yang mewakili suatu perintah tertentu pada Visual Basic 6.0. Kehadiran tombol-tombol speed pada toolbar akan sangat membantu dalam mempercepat akses perintah. Biasanya tombol-tombol ini merupakan perintah-perintah yang sering digunakan dan terdapat pula pada menu Visual Basic, seperti menu Edit, Copy. 3. Toolbox
Gambar 2.6 Toolbox
25
Toolbox merupakan sebuah jendela dimana obyek atau control ditempatkan yang dibutuhkan untuk membentuk suatu program, dengan cara dipasang pada form. Bila Toolbox tidak muncul, maka klik menu View > Toolbox. 4. Jendela Form
Gambar 2.7 Jendela Form
Jendela form merupakan area kerja, yaitu tempat merancang suatu program aplikasi dan meletakkan control (obyek) seperti command button, textbox, label, checkbox, dan lain-lain.
26
5. Jendela Code
Gambar 2.8 Jendela Code
Jendela code merupakan area dimana kita dapat menuliskan kode-kode program Visual Basic. Suatu kode-kode program merupakan kumpulan dari instruksi untuk menjalankan obyek yang berupa kontrol maupun form serta logika program. 6. Project Explorer
Gambar 2.9 Project Explorer
27
Project explorer merupakan area yang berisi semua file program aplikasi Visual Basic. Suatu aplikasi Visual Basic disebut dengan Project (proyek), dan setiap proyek bisa terdiri dari satu atau lebih file misalnya: form, modul, class, dan lainlain. 7. Jendela Properties
Gambar 2.10 Jendela Properties
Jendela properties berisi semua informasi mengenai kcontrol (obyek) yang dibuat, dan bertugas menyiapkan segala properti dari control yang diperlukan dalam perancangan user interface maupun pemrograman. 8. Form Layout
Gambar 2.11 Form Layout
28
Form layout merupakan jendela yang menunjukkan tataletak form saat ditampilkan pada layar monitor. Dengan bantuan Form Layout ini, kita tahu persis posisi aplikasi saat dijalankan akan ditampilkan pada layar monitor.
2.4.2 Komponen Program Pada Visual Basic 6.0 Dalam membuat suatu proyek (Project) tentu tidak lepas dari pemakaian komponen-komponen program. Selain berbentuk tampilan pada form, beberapa komponen program bisa terdiri dari kode-kode program. Komponen program yang ditempatkan pada form biasanya berbentuk file (.Frm), sedang komponen program yang berisi kode-kode program bisa terdiri dari file (.Bas, .Cls, dan lain-lain) baik yang dibuat lewat Module, Class Module, User Control, Propety Page dan masih banyak lainnya. Komponen program pada Visual Basic 6.0 antara lain adalah: 1. Kode Program Kode program adalah serangkaian tulisan perintah yang akan dilaksanakan jika suatu obyek dijalankan. Kode-kode program ini akan mengontrol dan menentukan jalannya suatu obyek. 2. Event Event adalah peristiwa atau kejadian yang diterima oleh suatu obyek, misalnya click, dbclick, keypress dan sebagainya. 3. Metode Metode (Method) adalah suatu set perintah seperti halnya fungsi dan prosedur, tetapi sudah tersedia didalam suatu obyek. Metode biasanya akan mengerjakan suatu tugas khusus pada suatu obyek.
29
4. Module Module dapat disejajarkan dengan form, tetapi tidak terdapat obyek. Module hanya berisi kode-kode program atau prosedur yang dapat digunakan dalam program aplikasi.
BAB III ANALISIS DAN PERANCANGAN
3.1 Analisis Dalam pengembangan aplikasi permainan komputer ini, tahap awal yang dilakukan penulis adalah melakukan analisa akan kebutuhan dasar sistem. Berikut ini adalah analisa yang dilakukan terhadap kebutuhan dasar sistem: Pengguna atau pemain harus memasukan nama pemain terlebih dahulu sebelum memulai permainan ini. Setelah pemain memasukan nama pemain barulah pemain masuk ke dalam layar permainan dan dapat memainkan aplikasi permainan ini dan juga dapat menembak objek hewan. Tetapi apabila pemain tidak memasukan nama pemain, maka pemain tidak dapat memainkan aplikasi permainan ini. Objek yang ditembak dalam aplikasi permainan ini berupa gambar hewan. Pemain dapat melakukan reload peluru apabila peluru tembakan habis dengan cara menekan tombol karakter R pada papan ketik. Setelah melakukan reload peluru, maka peluru tembakan pemain akan terisi kembali. Dalam aplikasi permainan ini
30
31
juga dapat menampilkan skor pemain. Skor awal permainan dimulai adalah nol (0). Apabila pemain dapat menembak setiap objek hewan yang muncul dilayar permainan, maka pemain mendapat tambahan skor satu (1). Skor yang didapat akan disimpan kedalam notepad atau file text. Dalam aplikasi permainan ini terdapat tiga (3) tingkat (level) permainan. Semakin tinggi tingkat permainan, maka akan semakin banyak objek hewan yang muncul. Untuk kenaikan level permainan ditentukan dari jumlah skor yang didapat. Pada level satu pemain harus mendapatkan nilai minimal sepuluh (10) agar dapat masuk ke level dua. Sedangkan pada level dua pemain harus mendapatkan nilai minimal dua puluh (20) agar dapat masuk ke level tiga. Level tiga merupakan level terakhir dari aplikasi permainan ini. Jadi apabila pemain telah menyelesaikan sampai level tiga, maka permainan akan berakhir. Dalam permainan ini pemain dibatasi oleh waktu, jadi permainan akan berakhir apabila waktu pemain sudah habis dan objek hewan tidak akan bermunculan lagi. Setelah melakukan analisis pada aplikasi permainan yang akan dikembangkan, maka diperlukan skenario dari permainan tersebut. Pada subbab berikut ini akan dijelaskan mengenai skenario permainan yang akan dikembangkan tersebut yaitu permainan komputer yang bernama shooter game dengan karakter tembakan.
3.1.1 Skenario Permainan Tahap awal permaian komputer yang berkarakter tembakan ini dimulai dengan mengklik mulai, setelah itu pemain akan masuk ke dalam tampilan form untuk memasukan nama pemain. Dalam tampilan ini pemain harus memasukan nama terlebih dahulu sebelum masuk ke dalam layar permainan. Setelah pemain
32
memasukan nama dan mengklik tombol ok, maka pemain akan masuk ke dalam layar permainan. Di dalam layar permainan tersebut terdapat gambar tembakan. Gambar tembakan ini adalah tembakan yang digunakan pemain untuk menembak semua objek hewan. Tembakan dapat digerakan dengan menggunakan mouse. Dalam layar permainan juga terdapat objek hewan yang akan bermunculan. Pada saat objek hewan bermunculan maka pemain harus menembak setiap objek hewan yang muncul, dengan cara mengarahkan mouse tepat pada objek hewan yang muncul, lalu klik tombol pada mouse untuk menembak objek hewan tersebut. Apabila tembakan pemain mengenai objek hewan, maka objek hewan akan menghilang dan akan tampil gambar efek darah serta suara efek tembakan kemudian akan muncul kembali objek hewan yang lainnya. Dalam permainan ini objek hewan tidak akan melakukan serangan terhadap pemain, jadi hanya pemain yang melakukan serangan terhadap objek hewan. Objek hewan tersebut akan terus bermunculan sebelum permainan berakhir. Permainan akan berakhir apabila waktu pemain sudah habis, karena dalam permainan ini pemain dibatasi oleh waktu. Dalam permainan ini pemain harus menembak setiap objek hewan yang muncul. Apabila peluru pemain habis, maka pemain dapat melakukan reload peluru dengan cara menekan tombol R pada papan ketik. Skor awal permainan dimulai adalah nol (0). Apabila pemain dapat menembak setiap objek hewan yang muncul dilayar permainan, maka pemain mendapat tambahan skor satu (1). Skor yang didapat akan disimpan kedalam notepad atau file text. Data yang disimpan dalam notepad tersebut adalah data nama pemain dan skor dari pemain terbaik, dan data yang disimpan dan ditampilkan hanya tiga nama pemain dan tiga skor dari pemain terbaik tersebut.
33
Dalam aplikasi permainan ini terdapat tiga tingkat (level) permainan. Semakin tinggi tingkat permainan, maka akan semakin banyak objek hewan yang muncul. Pada level satu pemain harus mendapatkan nilai minimal sepuluh (10) agar dapat masuk ke level dua. Sedangkan pada level dua pemain harus mendapatkan nilai minimal dua puluh (20) agar dapat masuk ke level tiga. Level tiga merupakan level terakhir dari aplikasi permainan ini. Jadi apabila pemain telah menyelesaikan sampai level tiga, maka permainan akan berakhir dan jendela skor pemain terbaik akan ditampilkan. Dalam permainan ini pemain dibatasi oleh waktu untuk melakukan permainan. Pada level satu (1) pemain diberi waktu selama 20 detik, pada level dua (2) pemain diberi waktu selama 15 detik, pada level tiga (3) pemain diberi waktu selama 10 detik untuk menyelesaikan permainan. Jadi permainan akan berakhir apabila waktu pemain sudah habis dan objek hewan tidak akan bermunculan lagi.
3.1.2 Spesifikasi Kebutuhan Sistem Untuk aplikasi permainan yang sesuai dengan skenario permainan yang telah diuraikan di atas dapat diketahui kebutuhan sistem dari aplikasi permainan yang akan dikembangkan yaitu sebagai berikut: 1. Elemen permainan, terdiri dari: a. Gambar latar belakang b. Tembakan (tembakan pemain) c. Objek hewan d. Peluru (peluru tembakan) e. Gambar efek darah f. Suara efek tembakan
34
2. Proses perhitungan skor dan berakhirnya permainan, yaitu sebagai berikut: a. Skor dapat diperoleh apabila pemain dapat menembak setiap objek hewan yang muncul. b. Objek hewan tidak akan melakukan serangan terhadap pemain. Maka dari itu permainan akan berakhir apabila waktu pemain sudah habis, karena dalam permainan ini pemain dibatasi oleh waktu. 3. Aplikasi permainan dengan karakter tembakan tersebut menerima respon dari pengguna melalui Mouse untuk mengontrol atau mengendalikan tembakan pemain dan untuk menembak objek hewan. Sedangkan papan ketik hanya digunakan untuk melakukan reload peluru.
3.1.3 Parameter Keberhasilan Aplikasi permainan dengan karakter tembakan ini dinyatakan berhasil dikembangkan apabila sebagai berikut: 1. Pemain dapat mengendalikan tembakan (tembakan pemain) untuk menembak objek hewan. 2. Tembakan pemain dapat menembakan peluru. 3. Pemain dapat melakukan reload peluru. 4. Muncul suara efek tembakan apabila pemain menembakan peluru tembakan dan mengenai objek hewan.
3.2 Diagram Use Case Diagram Use Case sangat membantu menganalisa kebutuhan-kebutuhan dari permainan yang akan dibangun. Karena diagram Use Case memperlihatkan apa yang
35
dilakukan oleh pengguna terhadap sistem (dalam hal ini permainan komputer dengan karakter tembakan yang akan dikembangkan). Kebutuhan fungsional dari aplikasi permainan dengan karakter tembakan ditunjukkan oleh Gambar 3.1.
SHOOTER GAME
Menembak objek hewan
<< include >> Memulai permainan
Pemain
Mengisi ulang peluru (Reload peluru)
<< include >>
Gambar 3.1 Diagram Use Case Shooter Game
Penjelasan dari masing-masing Use Case dari Gambar 3.1 dapat dilihat pada Tabel 3.1, Tabel 3.2, dan Tabel 3.3. Tabel 3.1. Skenario Use Case menembak objek hewan Use Case : Menembak objek hewan Deskripsi Singkat
: Use Case ini memungkinkan pemain menembakan peluru dari tembakan pemain ke arah objek hewan dengan menggunakan mouse.
Aktor
: Pemain
Kondisi Awal
: Permainan telah dimulai dan sedang berjalan.
Aliran Utama
: 1. Pemain menggerakan kursor mouse untuk membidik objek hewan yang berada dilayar permainan.
36
Tabel 3.1. (lanjutan) Skenario Use Case menembak objek hewan 2. Pemain menekan tombol pada mouse untuk menembak objek hewan yang muncul. 3. Setelah objek hewan berhasil ditembak oleh pemain, maka akan muncul kembali objek hewan yang lainnya. 4. Setiap objek hewan yang tertembak akan menghasilkan score sebanyak satu (1). Aliran Alternatif
: -
Kondisi Akhir
: Jika Use Case berhasil dijalankan maka pemain dapat menembak objek hewan yang bermunculan.. Namun jika Use Case tidak dijalankan, maka pemain tidak dapat menembak objek hewan.
Tabel 3.2. Skenario Use Case mengisi ulang peluru (Reload peluru) Use Case : Mengisi ulang peluru (Reload peluru) Deskripsi Singkat
: Use Case ini memungkinkan pemain untuk mengisi ulang peluru tembakan (Reload peluru).
Aktor
: Pemain
Kondisi Awal
: Permainan telah dimulai dan sedang berjalan.
Aliran Utama
: 1. Pemain menekan tombol karakter R pada papan ketik untuk mengisi ulang peluru (reload peluru). 2. Setelah pemain menekan tombol karakter R pada papan ketik, maka peluru tembakan akan terisi kembali menjadi sepuluh (10) peluru.
37
Tabel 3.2. (lanjutan) Skenario Use Case mengisi ulang peluru (Reload peluru) Aliran Alternatif : Kondisi Akhir
: Jika Use Case berhasil dijalankan maka pemain dapat mengisi ulang peluru (reload peluru). Namun jika Use Case tidak dijalankan, maka pemain tidak dapat mengisi ulang peluru (reload peluru).
Tabel 3.3. Skenario Use Case memulai permainan Use Case : Memulai permainan Deskripsi Singkat
: Use Case ini memungkinkan pemain memulai permainan agar dapat menembak objek hewan.
Aktor
: Pemain
Kondisi Awal
: Aplikasi siap untuk dimainkan.
Aliran Utama
:
1. Pemain menekan tombol mulai untuk melanjutkan ketahapan memulai permainan. 2. Sistem akan menjalankan ketahapan berikutnya untuk memulai permainan dengan menampilkan layar untuk memasukan nama pemain. 3. Pemain menekan tombol ok untuk memulai permainan. 4. Sistem akan menjalankan ketahapan berikutnya untuk memulai permainan.
Aliran Alternatif
: -
permainan
dengan
menampilkan
layar
38
Tabel 3.3. (lanjutan) Skenario Use Case memulai permainan Kondisi Akhir : Jika Use Case berhasil dijalankan maka permainan dimulai dan pemain dapat memulai permainan dan dapat langsung menembakan objek hewan.
3.3 Diagram Sekuensial Diagram Sekuensial digunakan ketika ingin mengetahui perilaku beberapa objek pada Use Case tunggal. Diagram Sekuensial bagus dalam menunjukkan kolaborasi diantara objek, namun tidak begitu bagus dalam memberikan definisi yang pasti tentang perilaku tersebut (Munawar, 2005:98). Diagram Sekuensial untuk Use Case memulai permainan ditunjukkan oleh Gambar 3.2, diagram Sekuensial untuk Use Case menembak objek hewan ditunjukkan oleh Gambar 3.3, dan diagram Sekuensial untuk Use Case mengisi ulang peluru (reload peluru) ditunjukkan oleh Gambar 3.4.
Nama pemain
Memulai permainan
Objek hewan
Pemain Memasukan nama permain
Klik tombol untuk memulai permainan
Permainan dimulai Menambak objek hewan
Gambar 3.2. Diagram Sekuensial untuk Use Case memulai permainan
39
Pada Gambar 3.2, jika aktor pemain ingin memulai permainan, maka ia diharuskan memasukan nama pemain terlebih dahulu. Setelah memasukan nama pemain, pemain harus menekan tombol untuk memulai permainan pada aplikasi permainan tersebut untuk memulai permainan. Selanjutnya jika permainan telah dimulai pemain dapat menembak objek hewan.
Tembakan pemain menembak
Objek hewan
Pemain
Mengarahkan titik tembak dan menekan tombol pada mouse
Terdapat gambar efek darah
Tidak terdapat gambar efek darah
Tembakan menembak
Tembakan mengenai objek hewan
Tembakan tidak mengenai objek hewan
Gambar 3.3. Diagram Sekuensial untuk Use Case menembak objek hewan
Pada Gambar 3.3, ketika aktor pemain mengarahkan dan menekan tombol pada mouse sebelah kiri atau kanan, maka objek tembakan akan menembak objek hewan. Jika tembakan mengenai objek hewan, maka akan terdapat gambar efek darah. Namun jika tembakan pemain tidak mengenai objek hewan, maka tidak akan terdapat gambar efek darah.
40
Peluru tembakan terisi kembali
Pemain Menekan tombol karakter R pada papan ketik
Gambar 3.4. Diagram Sekuensial untuk Use Case mengisi ulang peluru (reload peluru)
Pada Gambar 3.4, jika aktor pemain menekan tombol karakter R pada papan ketik, maka peluru tembakan akan terisi kembali sebanyak sepuluh (10) peluru.
3.4 Diagram Aktifitas Diagram aktifitas merupakan pemodelan aliran kerja (workflow) sebuah proses, atau urutan aktifitas dalam suatu proses. Dengan diagram aktifitas ini kita akan lebih dapat memahami alur dari proses-proses tersebut atau dengan kata lain diagram ini akan menggambarkan langkah-langkah dari setiap aplikasi yang disediakan dalam sistem. Diagram Aktifitas untuk Use Case memulai permainan ditunjukkan oleh Gambar 3.5, diagram Aktifitas untuk Use Case menembak objek hewan ditunjukkan oleh
41
Gambar 3.6, dan diagram Aktifitas untuk Use Case mengisi ulang peluru (reload peluru) ditunjukkan oleh Gambar 3.7.
Mulai permainan
Memasukan nama pemain
Menembak objek hewan
Permainan berakhir
Gambar 3.5. Diagram Aktifitas untuk Use Case memulai permainan. Pada Gambar 3.5, aktifitas dimulai dengan memasukan nama pemain terlebih dahulu. Setelah aktifitas memasukan nama pemain, aktifitas selanjutnya adalah memulai permainan. Setelah permainan dimulai, aktifitas selanjutnya adalah menembak objek hewan yang muncul di layar permainan. Setelah permainan berakhir, maka aktifitas berhenti. Untuk lebih jelas mengenai aktifitas menembak objek hewan lihat Gambar 3.6. Pada Gambar 3.6, aktifitas diawali tembakan pemain muncul di layar permainan dan juga objek hewan muncul pada layar permainan. Tembakan pemain dapat menembak objek hewan yang muncul di layar permainan dengan cara menggerakan
42
kursor dan menekan tombol pada mouse sebelah kiri atau kanan untuk menembak objek hewan. Apabila tembakan pemain berhasil menembak atau mengenai objek hewan, maka akan muncul gambar efek darah, suara efek tembakan dan akan menghasilkan score sebanyak satu (1). Tetapi jika tembakan tidak mengenai objek hewan maka pemain menggerakan kursor dan menekan tombol pada mouse sebelah kiri atau kanan untuk menembak objek hewan kembali. Apabila waktu permainan masih ada, maka objek hewan akan terus muncul, tetapi jika waktu permainan telah habis maka permainan berakhir dan jendela skor pemain terbaik yang berisi namanama dan nilai skor yang mempunyai nilai tertinggi akan ditampilkan. Aktifitas selanjutnya adalah menentukan apakah akan memainkan permainan kembali, jika ya maka permainan akan dimulai kembali dari awal atau dari level 1 dan jika tidak maka aktifitas berakhir. Aktifitas objek hewan muncul dan tembakan pemain muncul digunakan simbol Fork karena kedua aktifitas tersebut muncul secara bersamaan.
43
Objek hewan muncul
Tembakan pemain muncul
Tidak
Apakah ingin menembak objek hewan?
Ya Menggerakan kursor dan menekan tombol pada mouse
Apakah tembakan mengenai objek hewan?
Tidak
Ya Gambar efek darah dan suara efek tembakan
Skor bertambah (skor bertambah 1)
Apakah waktu permainan masih ada?
Ya
Tidak Permainan berakhir
Tampilkan skor pemain terbaik
Mainkan lagi? Ya Tidak
Gambar 3.6. Diagram Aktifitas untuk Use Case menembak objek hewan
44
Peluru awal = 10
Menggerakan kursor dan menekan tombol pada mouse
Apakah peluru Masih ada?
Ya Tidak
Reload peluru dengan menekan tombol karakter R pada papan ketik
Peluru terisi kembali menjadi 10
Menembak objek hewan
Peluru = Peluru - 1
Apakah waktu permainan masih ada?
Ya Tidak
Permainan berakhir
Tampilkan skor pemain terbaik
Mainkan lagi? Ya Tidak
Gambar 3.7. Diagram Aktifitas untuk Use Case mengisi ulang peluru (Reload peluru)
45
Pada Gambar 3.7, peluru tembakan pada awal pemain saat memulai permainan adalah sepuluh (10), aktifitas di awali dengan menggerakan kursor dan menekan tombol pada mouse sebelah kiri atau kanan untuk menembak objek hewan. Akfitas selanjutnya adalah memeriksa apakah peluru tembakan masih ada atau tidak. Apabila peluru tembakan masih ada, maka pemain dapat menembak objek hewan. Tetapi jika peluru tembakan sudah habis, maka pemain dapat mengisi ulang peluru (reload peluru) dengan cara menekan tombol karakter R pada papan ketik, dengan begitu peluru tembakan akan terisi kembali menjadi sepuluh (10) peluru. Setelah peluru tembakan terisi kembali, maka pemain dapat melakukan aktifitas menembak objek hewan. Pada saat pemain menembak objek hewan maka peluru tembakan akan berkurang satu (1). Apabila waktu permainan masih ada, maka pemain masih dapat menggerakan kursor dan menekan tombol pada mouse sebelah kiri atau kanan untuk menembak objek hewan. Tetapi jika waktu permainan telah habis, maka permainan berakhir dan jendela skor pemain terbaik yang berisi nama-nama dan nilai skor yang mempunyai nilai tertinggi akan ditampilkan. Aktifitas selanjutnya adalah menentukan apakah akan memainkan permainan kembali, jika ya maka permainan akan dimulai kembali dari awal dan jika tidak maka aktifitas berakhir.
3.5 Algoritma Perhitungan Score Berikut ini adalah algoritma perhitungan nilai (score) yang akan diterapkan pada aplikasi permainan yang akan dikembangkan: 1. Score awal adalah nol (0). 2. Bila objek hewan terkena tembak oleh pemain maka tambahkan nilai skor dengan satu (score = score + 1).
46
3. Ulangi langkah nomor 2 hingga permainan berakhir atau waktu habis.
3.6 Algoritma Kenaikan Level Berikut ini adalah algoritma kenaikan level yang akan diterapkan pada aplikasi permainan yang akan dikembangkan: 1. Level awal permainan adalah level satu (1). 2. Pada level satu (1), bila jumlah skor pemain lebih dari atau sama dengan 10 (score >= 10) maka pemain dapat masuk ke level dua (2). 3. Pada level dua (2), bila jumlah skor pemain lebih dari atau sama dengan 20 (score >= 20) maka pemain dapat masuk ke level tiga (3). 4. level tiga (3) merupakan level terakhir dalan aplikasi permainan ini. Jadi apabila pemain telah menyelesaikan sampai dengan level tiga (3) maka permainan berakhir. 5. Apabila skor pemain tidak mencukupi ketentuan seperti langkah nomor 2 atau nomor 3, maka pemain tidak dapat masuk ke dalam level berikutnya.
3.7 Algoritma Tingkat Kesulitan Level Berikut ini adalah algoritma tingkat kesulitan pada setiap level yang akan diterapkan pada aplikasi permainan yang akan dikembangkan: 1. Makin tinggi level permainannya maka semakin banyak objek hewan yang muncul di layar permainan. 2. Pada level satu (1), pemain hanya diberi waktu 20 detik untuk menyelesaikan permainan pada level satu (1). Objek hewan yang muncul pada level satu (1) sebanyak satu (1) jenis objek hewan.
47
3. Pada level dua (2), pemain hanya diberi waktu 15 detik untuk menyelesaikan permainan pada level dua (2). Objek hewan yang muncul pada level dua (2) sebanyak dua (2) jenis objek hewan. 4. Pada level tiga (3), pemain hanya diberi waktu 10 detik untuk menyelesaikan permainan pada level tiga (3). Objek hewan yang muncul pada level tiga (3) sebanyak empat (4) jenis objek hewan.
3.8 Perancangan Antarmuka Permainan Pada aplikasi permainan yang akan dibangun, terdapat lima (5) buah jendela yang berfungsi sebagai antarmuka bagi pengguna dengan aplikasi permainan yang akan dibangun tersebut dengan fungsi jendela yang berbeda-beda. Jendela-jendela tersebut yaitu jendela menu, jendela inisialisasi nama pemain, jendela permainan, jendela skor, jendela about. Pada subbab berikut akan dijelaskan mengenai perancangan dari jendela-jendela tersebut.
3.8.1 Perancangan Jendela Menu Gambar 3.8 memperlihatkan jendela menu yang berfungsi sebagai jendela pertama yang muncul di layar monitor ketika program aplikasi shooter game dijalankan. Pada Gambar 3.8, pemain dapat melihat siapa yang telah mengembangkan aplikasi permainan tersebut dengan menekan tombol About. Pemain dapat memulai permainan dengan menekan tombol mulai. Pemain dapat keluar dari jendela menu, dan tidak melanjutkan permainan dengan menekan tombol keluar.
48
About
SHOOTER GAME
Mulai Logo mercu
Keluar Riki Ananta
gambar
Gambar 3.8. Perancangan jendela menu
3.8.2 Perancangan Jendela Inisialisasi Nama Pemain Apabila pemain menekan tombol mulai permainan, maka jendela inisialisasi nama pemain akan muncul di layar monitor dan jendela menu akan dihilangkan dari layar monitor. Jendela inisialisasi nama pemain adalah jendela untuk memasukan nama pemain sebelum memulai permainan. Pada jendela inisialisasi nama pemain, pemain dapat memasukan nama pemain yang akan memainkan aplikasi permainan tersebut. Kemudian dengan menekan tombol OK, maka pemain akan masuk ke dalam layar permainan. Tetapi apabila pemain menekan tombol keluar, maka akan keluar dari jendela inisialisasi nama pemain, dan tidak dapat melanjutkan permainan. Jendela inisialisasi nama pemain dapat dilihat pada Gambar 3.9.
49
Masukkan Nama Anda!!
OK
KELUAR
Gambar 3.9. Perancangan jendela inisialisasi nama pemain
3.8.3 Perancangan Jendela Permainan Apabila pemain telah memasukan nama pemain dan menekan tombol OK pada jendela inisialisasi nama pemain, maka jendela permainan akan muncul di layar monitor dan jendela inisialisasi nama pemain akan dihilangkan dari layar monitor. Setelah masuk ke dalam jendela permainan, maka pemain dapat langsung memainkan permainan. Apabila permainan mulai berjalan maka tembakan pemain dan objek hewan akan ditampilkan pada layar permainan. Pada jendela permainan ini pemain dapat melihat jumlah objek hewan yang tertembak, sisa waktu, dan sedang berada pada level berapa. Di dalam jendela permainan terdapat menu-menu yang dapat dipilih oleh pemain. Menu-menu tersebut antara lain: 1. Ganti Nama Pemain Menu Ganti Nama Pemain akan membawa pemain ke jendela inisialisasi nama pemain. Pemain dapat mengganti nama pemain yang sudah digunakan. 2. Reset Apabila pemain menekan menu Reset maka permainan akan diulang dari awal atau dari level satu (1).
50
3. Keluar Menu Keluar digunakan pemain apabila pada saat permainan sedang berlangsung, pemain ingin keluar dari layar permianan untuk mengakhiri permainan. Untuk lebih jelasnya, perancangan dari jendela permainan dapat dilihat pada Gambar 3.10.
Ganti Nama Pemain Reset
Keluar
Layar Permainan
Jumlah Tertembak :
Sisa Waktu :
Level :
Gambar 3.10. Perancangan jendela permainan
3.8.4 Perancangan Jendela About Pemain dapat mengetahui siapa yang telah mengembangkan aplikasi permainan ini, dengan menekan tombol About pada jendela menu. Untuk lebih jelasnya, perancangan jendela about dapat dilihat pada Gambar 3.11.
51
Text berisi nama orang yang telah mengembangkan aplikasi permainan ini.
Gambar 3.11. Perancangan jendela about
3.8.5 Perancangan Jendela Skor Pemain Terbaik Jendela skor pemain terbaik akan ditampilkan pada layar monitor apabila permainan telah berakhir. Jendela skor pemain terbaik ini menampilkan daftar namanama dan nilai-nilai tertinggi. Pada jendela pemain terbaik ini, hanya tiga orang pemain terbaik yang akan ditampilkan. Pemain terbaik ditentukan dari banyaknya jumlah objek hewan yang tertembak oleh pemain. Apabila pemain ingin melanjutkan permainan maka pemain dapat menekan tombol ya, dan apabila pemain ingin keluar permainan maka pemain harus menekan tombol keluar. Perancangan jendela pemain terbaik dapat dilihat pada Gambar 3.12.
PEMAIN TERBAIK Nama Gambar
Score
1st 2nd 3nd
Apakah Anda Ingin Melanjutkan Permainan Lagi? Ya
Keluar
Gambar 3.12 Perancangan jendela skor pemain terbaik
BAB IV IMPLEMENTASI DAN PENGUJIAN
4.1 Implementasi Setelah tahap analisis dan perancangan selelsai dilakukan, maka tahap selanjutnya adalah tahap implementasi. Pada subbab berikut akan dijelaskan implementasi dari aplikasi permainan komputer dengan karakter tembakan yang penulis kembangkan dari sumber yang telah diuraikan pada bab pendahuluan, yang terdiri dari lingkungan implementasi, pengkodean, dan tampilan antarmuka dari aplikasi permainan tersebut.
4.1.1 Lingkungan Implementasi Aplikasi permainan komputer dengan karakter tembakan dikembangkan dan diimplementasikan pada seperangkat komputer pribadi (Personal Computer) dengan spesifikasi sebagai berikut:
52
53
1. Perangkat keras (Hardware) yang digunakan adalah: a. Processor
: Intel Pentium IV 2.0 MHz.
b. Motherboard : Asus P4B533-X c. Memori
: 640 MB DDRAM
d. VGA
: NVIDIA GeForce2 MX 64 MB
e. Harddisk
: Seagete 40 GB 7200 RPM
2. Perangkat lunak (Software) yang digunakan adalah: a. Sistem operasi Microsoft Windows XP Profesional. b. Microsoft visual basic 6.0 edisi professional, sebagai alat (tool) untuk membangun aplikasi permainan tersebut.
4.1.2 Pengkodean Pengkodean diperlukan agar rancangan dapat diterjemahkan ke dalam bentuk mesin yang dapat dibaca dan dapat dijalankan, pada subbab ini penulis akan memberikan penjelasan dari beberapa penggalan baris kode program aplikasi permainan komputer dengan karakter tembakan. Kode sumber (source code) untuk aplikasi permainan tersebut dibangun dengan menggunakan bahasa pemrograman Visual Basic versi 6.0. Penggalan kode program tersebut diantaranya: 1. Potongan kode program untuk inisialisasi nama pemain. Sebelum memulai permainan, pemain terlebih dahulu harus memasukan nama pemain agar dapat memainkan aplikasi permainan ini. Setelah memasukan nama pemain maka pemain harus menekan tombol OK. Pada tampilan inisialisasi nama pemain terdapat dua buah tombol yaitu ok dan keluar. Berikut ini adalah potongan kode program untuk inisialisasi nama pemain:
54
Private Sub Command1_Click() time = 20 leveltxt = 1 timer = 45 score = 0 If Text1.Text = "" Then MsgBox "Masukan Nama Anda Terlebih Dahulu..." Exit Sub End If player = Text1.Text Load form_permainan form_permainan.Show Unload Me End Sub
Potongan kode program diatas adalah untuk memasukan nama pemain. Apabila pemain tidak memasukan nama pemain dan menekan tombol ok, maka sistem akan menampilkan sebuah pesan alert pada pemain yaitu “Masukan nama anda terlebih dahulu” dan secara sistematis pemain tidak dapat memulai permainan tersebut. Apabila pemain telah memasukan nama pemain dan menekan tombol ok, maka pemain akan dibawa ke dalam layar permainan. Private Sub Command2_Click() End End Sub
Potongan kode program diatas adalah untuk keluar dari aplikasi permainan. Apbila pemain menekan tombol keluar pada jendela inisialisasi permainan, maka akan keluar dari aplikasi permainan ini dan tidak dapat melanjutkan permainan. 2. Potongan kode program untuk menampilkan gambar efek darah pada saat objek hewan tertembak Apabila objek hewan tertembak maka akan muncul gambar efek darah pada layar permainan. Berikut ini adalah potongan kode program untuk menampilkan gambar efek darah: Private Sub Image1_Click() Image1.Visible = False blast.Visible = True blast.Top = t blast.Left = l score = score + 1
55
End Sub
Potongan kode program diatas adalah untuk menampilkan gambar efek darah ketika objek hewan tertembak oleh tembakan pemain. 3. Potongan kode program untuk reload peluru. Apabila pemain terus menembak objek hewan maka secara otomatis peluru tembakan akan berkurang. Peluru tembakan akan terisi kembali apbila pemain melakukan reload peluru. Berikut ini adalah potongan kode program untuk reload peluru: Private Sub Form_KeyPress(KeyAscii As Integer) ' reload peluru If bala >= 10 Then Exit Sub End If If KeyAscii = 114 Or KeyAscii = 82 Then bala = 10 End If End Sub
Potongan kode program diatas adalah untuk melakukan reload peluru. Apabila peluru lebih dari atau sama dengan sepuluh (10) maka tidak perlu melakukan reload peluru. Jika peluru sudah habis maka harus melakukan reload peluru dengan menekan tombol karakter R pada papan ketik, maka peluru akan terisi kembali sebanyak sepuluh (10) peluru. Tombol karakter R pada papan ketik dapat terdeteksi karena pada kode program diatas menggunakan kode ascii yaitu kode ascii 114 untuk pendeteksian karakter huruf latin r kecil, sedangkan kode ascii 82 untuk pendeteksian karakter huruf latin R besar. Jadi pemain dapat melakukan reload peluru dengan menekan tombol karakter r kecil atau karakter R besar.
56
4. Potongan kode program untuk memainkan suara efek tembakan. Suara efek tembakan akan diperdengarkan ketika sedang menembak objek hewan. Berikut ini adalah potongan kode program untuk memainkan suara efek tembakan: Public Sub PlaySound(NamaFile As String) 'memainkan suara efek tembakan PlaySound App.Path & "\broke_armor.wav" End Sub
Potongan kode program diatas adalah untuk memainkan suara efek tembakan ketika sedang menembak objek. Awal permulaan adalah fungsi bernama playsound. Kemudian pemanggilan file suara yang bernama broke_armor.wav.
4.1.3 Antarmuka Permainan Pada subbab berikut akan dijelaskan mengenai implementasi antarmuka permainan yang telah dikembangkan tersebut.
4.1.3.1 Tampilan Jendela Menu Jendela menu ini merupakan tampilan awal ketika pemain menjalankan aplikasi permainan ini. Pada jendela menu ini pemain dapat memulai permainan menekan tombol bertuliskan kata MULAI. Setelah menekan tombol bertuliskan kata MULAI maka penulis terlebih dahulu harus memasukan nama pemain di dalam jendela inisialisasi nama pemain. Pemain dapat melihat siapa yang telah menegembangkan aplikasi permainan tersebut dengan menekan tombol bertuliskan kata About. Untuk keluar dari permainan ini, pemain dapat menekan tombol bertuliskan kata KELUAR. Untuk lebih jelasnya lihat Gambar 4.1.
57
Gambar 4.1. Tampilan jendela menu
4.1.3.2 Tampilan Jendela Inisialisasi Nama Pemain Setelah menekan tombol MULAI, maka pemain akan dibawa ke jendela inisialisai nama pemain. Pada jendela inisialisasi nama pemain, pemain harus memasukan nama pemain yang akan memainkan aplikasi permainan ini. Setelah pemain memasukan nama pemain dan menekan tombol OK, maka pemain akan dibawa ke tampilan layar permainan. Tetapi apabila pemain menekan tombol KELUAR, maka akan keluar dari aplikasi perminan ini, dan tidak dapat melanjutkan permainan. Jendela inisialisasi nama pemain dapat dilihat pada Gambar 4.2.
58
Gambar 4.2. Tampilan jendela inisialisasi nama pemain
Apabila pemain tidak memasukan nama pemain dan menekan tombol OK, maka sistem ini akan menampilkan sebuah pesan alert pada pemain dan secara sistematis pemain tidak dapat memulai permainan tersebut. Tetapi jika pemain ingin memainkan permainan ini maka pemain harus menekan tombol bertuliskan kata OK kemudian sistem akan mengembalikan ke jendela inisialisasi nama pemain dan pemain harus memasukan nama pemain jika ingin memainkan aplikasi permainan ini. Tampilan pesan alert dapat dilihat pada Gambar 4.3.
Gambar 4.3. Tampilan pesan alert
4.1.3.3 Tampilan Jendela Permainan Setelah pemain memasukan nama pemain dan menekan tombol OK, maka pemain akan dibawa ke jendela permainan. Pada jendela permainan ini juga terdapat
59
menu yang berada di bagian kiri atas jendela permainan permainan. Menu-menu tersebut diantaranya adalah: 1. Menu Ganti Nama Pemain Menu Ganti Nama Pemain akan membawa pemain ke jendela inisialisasi nama pemain. Menu ini digunakan pemain untuk mengganti nama pemain yang sudah digunakan. 2. Menu Reset Apabila pemain menekan menu Reset maka permainan akan diulang dari awal atau dari level satu (1). 3. Menu Keluar Menu Keluar digunakan pemain apabila pada saat permainan sedang berlangsung, pemain ingin keluar dari layar permainan untuk mengakhiri permainan. Ketika permainan sedang berjalan maka tembakan pemain dan objek hewan akan ditampilkan pada layar permainan. Pada jendela permainan ini pemain dapat melihat jumlah objek hewan yang tertembak, sisa waktu, dan sedang berada pada level berapa. Tampilan jendela permainan dapat dilihat pada Gambar 4.4.
60
Gambar 4.4. Tampilan jendela permainan
Ketika permainan sedang berlangsung maka pemain dapat menembak objek hewan dengan mengarahkan kursor dan menekan tombol mouse sebelah kanan atau kiri tepat pada objek hewan. Apabila objek hewan tertembak oleh pemain maka akan timbul gambar efek darah di layar permainan. Untuk lebih jelasnya lihat Gambar 4.5.
61
Gambar 4.5. Tampilan gambar efek darah pada saat objek hewan tertembak
4.1.3.4 Tampilan Jendela Pemain Terbaik Apabila pemain dapat menyelesaikan permainan, maka pemain akan mendapat skor sesuai dengan berapa banyak pemain dapat menembak objek hewan. Apabila mendapat skor tertinggi, maka akan disimpan dalam file text. Pada. Jendela pemain terbaik ini menampilkan daftar nama-nama dan nilai-nilai tertinggi. Pada jendela pemain terbaik ini, hanya tiga orang pemain terbaik yang akan ditampilkan. Pemain terbaik ditentukan dari banyaknya jumlah objek hewan yang tertembak oleh pemain. Apabila pemain ingin melanjutkan permainan maka pemain dapat menekan tombol ya, dan apabila pemain ingin keluar permainan maka pemain harus menekan tombol keluar. Untuk lebih jelas lihat Gambar 4.4.
62
Gambar 4.6. Tampilan jendela pemain terbaik
4.1.3.5 Tampilan Jendela About Pemain dapat mengetahui siapa yang telah mengembangkan aplikasi permainan ini, dengan menekan menu About pada jendela menu. Tampilan jendela about dapat dilihat pada Gambar 4.7.
Gambar 4.7. Tampilan jendela about
63
4.2 Pengujian Pengujian aplikasi permainan yang bernama shooter game ini dilakukan untuk mengetahui apakah aplikasi permainan yang telah dikembangkan tersebut dapat berjalan dengan baik dan sesuai dengan rancangan yang telah ditetapkan sebelumnya. Pengujian terhadap aplikasi permainan tersebut dilakukan dengan menggunakan metode Black Box. Pengujian Black Box berusaha menemukan kesalahan dalam lingkup kategori sebagai berikut: (1) fungsi-fungsi yang tidak benar atau hilang, (2) kesalahan interface, (3) kesalahan dalam struktur data atau akses basis data, dan (4) kesalahan kinerja (Pressman, 2002:551-552). Pengujian-pengujian yang akan dilakukan terdiri atas skenario pengujian, hasil pengujian, dan analisis hasil pengujian yang akan dijelaskan pada subbab berikut ini.
4.2.1 Skenario Pengujian Skenario pengujian digunakan untuk menentukan langkah-langkah dalam melakukan pengujian. Pengujian dilakukan dengan menjalankan aplikasi permainan terlebih dahulu. Kemudian dilakukan pengujian dengan menekan tombol-tombol yang terdapat pada jendela-jendela dari aplikasi permainan tersebut apakah sesuai dengan yang diharapkan. Selanjutnya pengujian dilakukan ketika permainan sedang berlangsung. Skenario pengujian terhadap aplikasi permainan tersebut yang lebih lengkap dapat dilihat pada Tabel 4.1 di bawah ini.
64
Tabel 4.1. Tabel skenario pengujian No
Antarmuka yang diuji
1.
Jendela inisialisasi nama pemain
2.
Jendela inisialisasi nama pemain Jendela inisialisasi nama pemain Jendela permainan
Status permainan
Skenario pengujian
Hasil yang diharapkan
Permainan belum dimulai
Pemain memasukan nama pemain
Tombol untuk memulai permainan Tombol untuk keluar permainan
Permainan belum dimulai
Klik tombol untuk memulai permainan Klik tombol untuk keluar permainan
Nama pemain yang digunakan ketika permainan berlangsung akan sama dengan nama pemain yang dimasukan pada jendela inisialisasi nama pemain. Permainan akan dimulai.
-
Permainan telah dimulai
Pemain menekan tombol pada mouse
5.
Jendela permainan
-
Permainan telah dimulai
6.
Jendela permainan
-
Permainan telah dimulai
7.
Jendela permainan
-
Permainan telah dimulai
Arahkan peluru tembakan yang digambarkan melalui kursor mouse ke objek hewan Pemain menekan tombol karakter R pada papan ketik Pada level 1 pemain menembak objek hewan dan harus mendapatkan nilai minimal 10 untuk masuk ke level 2
3.
4.
Bagian dari Antarmuka yang diuji -
Permainan belum dimulai
Keluar dari aplikasi permainan.
Tembakan pemain akan mengeluarkan peluru dan suara efek tembakan akan diperdenganrkan. Bila peluru tembakan mengenai objek hewan, maka akan muncul gambar efek darah dan akan terdengar suara efek tembakan.
Peluru tembakan akan terisi kembali.
Bila pemain mendapat nilai (score) minimal 10 pada level 1 maka pemain dapat masuk ke level 2
65
Tabel 4.1. (lanjutan) Tabel skenario pengujian 8.
Jendela permainan
-
Permainan telah dimulai
Pada level 2 pemain menembak objek hewan dan harus mendapatkan nilai minimal 20 untuk masuk ke level 3 Pemain mengklik menu ganti nama pemain Pemain mengklik menu reset Pemain mengklik menu keluar
9.
Jendela permainan
Menu Ganti Nama pemain
Permainan telah dimulai
10.
Jendela permainan
Menu Reset
11.
Jendela permainan
Menu keluar
Permainan telah dimulai Permainan telah dimulai
12.
Jendela pemain terbaik
Tombol untuk memulai kembali permainan
Permainan berakhir
Klik tombol untuk memulai permainan kembali
13.
Jendela pemain terbaik
Tombol untuk keluar permainan
Permainan berakhir
Klik tombol untuk keluar permainan
Bila pemain mendapat nilai (score) minimal 20 pada level 2 maka pemain dapat masuk ke level 3
Mengubah nama pemain sesuai dengan yang diinginkan oleh pemain. Permainan akan diulang kembali dari level satu (1). Permainan akan berakhir dan pemain akan keluar dari aplikasi permainan. Apabila waktu permainan telah habis maka akan muncul jendela pemain terbaik, yang berisi nama-nama dan skor tertinggi dari pemain. Pada jendela pemain terbaik ini akan ditampilkan tombol untuk memulai permainan kembali. Bila pemain mengklik tombol tersebut, maka permainan akan dimulai kembali dari level satu (1). Pada jendela pemain terbaik ini juga akan menampilkan tombol untuk keluar permainan. Apabila pemain mengklik tombol keluar permainan, maka permainan berakhir dan akan keluar dari aplikasi permainan.
66
Tabel 4.1. (lanjutan) Tabel skenario pengujian 14. Jalankan aplikasi ini pada komputer bersistem operasi Windows dan Linux
Aplikasi permainan shooter game tidak dapat berjalan pada kedua sistem operasi.
4.2.2 Hasil Pengujian
Setelah aplikasi permainan tersebut selesai diuji berdasarkan skenario pengujian, maka dapat diperoleh hasil pengujian dari aplikasi permainan tersebut. Untuk lebih jelasnya lihat Tabel 4.2. Tabel 4.2. Tabel hasil pengujian No
Antarmuka yang diuji
1.
Jendela inisialisasi nama pemain Jendela inisialisasi nama pemain Jendela inisialisasi nama pemain Jendela permainan
2
3.
4.
Bagian dari Antarmuka yang diuji -
Status permainan
Hasil pengujian
Permainan belum dimulai
Nama pemain yang digunakan ketika permainan berlangsung sama dengan nama pemain yang dimasukan pada jendela inisialisasi nama pemain. Permainan dapat dimulai.
Tombol untuk memulai permainan Tombol untuk keluar permainan
Permainan belum dimulai Permainan belum dimulai
Dapat keluar dari aplikasi permainan.
-
Permainan telah dimulai Permainan telah dimulai
Tembakan pemain dapat mengeluarkan peluru dan terdengar suara efek tembakan. Ketika peluru tembakan mengenai objek hewan, maka muncul gambar efek darah dan terdengar suara efek tembakan. Peluru tembakan dapat terisi kembali.
5.
Jendela permainan
-
6.
Jendela permainan
-
7.
Jendela permainan
-
8.
Jendela permainan
-
Permainan telah dimulai Permainan telah dimulai Permainan telah dimulai
Ketika pemain mendapat nilai (score) minimal 10 pada level 1, maka pemain dapat masuk ke level 2 Ketika pemain mendapat nilai (score) minimal 20 pada level 2, maka pemain dapat masuk ke level 3
67
Tabel 4.2. (lanjutan) Tabel hasil pengujian 9.
Jendela permainan
Menu Ganti Nama pemain Menu Reset
Permainan telah dimulai Permainan telah dimulai Permainan telah dimulai Permainan berakhir
10.
Jendela permainan
11.
Jendela permainan
Menu keluar
12.
Jendela pemain terbaik
Tombol untuk memulai kembali permainan
13.
Jendela pemain terbaik
Tombol untuk keluar permainan
Permainan berakhir
14.
-
-
-
Dapat mengubah nama pemain sesuai dengan yang diinginkan oleh pemain. Permainan dapat diulang kembali dari level satu (1). Permainan berakhir dan pemain keluar dari aplikasi permainan. Ketika waktu permainan telah habis maka muncul jendela pemain terbaik, yang berisi nama-nama dan skor tertinggi dari pemain. Pada jendela pemain terbaik ini terdapat tombol untuk memulai permainan kembali. Apabila pemain mengklik tombol tersebut, maka pemain dapat memulai permainan kembali sesuai dengan level satu (1). Pada jendela pemain terbaik ini juga terdapat tombol untuk keluar permainan. Apabila pemain mengklik tombol keluar permainan, maka permainan berakhir dan pemain dapat keluar dari aplikasi permainan. Aplikasi permainan shooter game hanya dapat berjalan pada komputer bersistem operasi Windows.
4.2.3 Analisis Hasil Pengujian Setelah dilakukan pengujian secara menyeluruh terhadap aplikasi permainan komputer dengan karakter tembakan tersebut, didapatkan beberapa keterbatasan dari aplikasi permainan tersebut yaitu sebagai berikut: 1. Permainan mudah dimainkan dan misi permainan mudah dimengerti. 2. Tidak terjadi kesalahan pada antar muka bagi pengguna aplikasi permainan tersebut yang memudahkan permainan untuk dimainkan oleh siapa saja. 3. Suara efek tembakan akan terdengar pada saat pemain menembak objek hewan. 4. Aplikasi permainan tersebut hanya dapat dijalankan pada komputer bersistem operasi Windows.
BAB V PENUTUP
5.1 Kesimpulan Setelah aplikasi permainan komputer dengan karakter tembakan selesai dikembangkan dan diuji, maka dapat diambil beberapa kesimpulan sebagai berikut: 1. Pada saat menembak objek hewan maka akan terdengar suara efek tembakan. 2. Apabila objek hewan tertembak maka akan muncul kembali objek hewan yang lainnya. 3. Setiap objek hewan yang tertembak maka akan menghasilkan skor sebanyak satu (1).
5.2 Saran Aplikasi permainan yang telah dibangun dirasakan masih memiliki beberapa kekurangan. Penulis menjadikan kekurangan tersebut sebagai saran untuk
68
69
pengembangan aplikasi selanjutnya di masa yang akan datang. Beberapa kekurangan tersebut adalah sebagai berikut: 1. Aplikasi permainan ini hanya dapat dimainkan oleh satu orang pemain saja. Disarankan untuk mengembangkan aplikasi permainan tersebut agar dapat dimainkan oleh dua pemain atau banyak pemain atau dimainkan secara on-line. 2. Pada aplikasi permainan ini, objek hewan tidak dapat menyerang pemain, tetapi hanya pemain yang dapat menyerang objek hewan. Disarankan untuk mengembangkan aplikasi pemainan ini agar objek hewan dapat menyerang pemain.
DAFTAR PUSTAKA
Pressman, Roger S. 2002. Rekayasa Perangkat Lunak Buku 1. Yogyakarta: Penerbit Andi. Munawar. 2005. Pemodelan Visual dengan UML. Yogyakarta: Penerbit Graha Ilmu. Wahono, Romi Satria dan Sri Dharwiyanti. 2003. Pengantar Unified Modeling Lnaguage (UML). www.ilmukomputer.com. Booch, Grady dkk. 1998. The Unified Modeling Language User Guide. Canada: Addison-Wesley Publishing Company. Octovhiana, Krisna D. 2003. Cepat Mahir Visual Basic 6.0. www.ilmukomputer.com Harbour, Jonathan S. 2002. Microsoft Visual Basic Game Programming with DirectX. Arizona: Premier Press. Hakim, Lukman. 2003. Pemrograman Game dengan Visual Basic. Yogyakarta: Penerbit Andi. Yuswanto. 2003. Pemrograman Dasar Microsoft Visual Basic 6.0. Cetakan pertama. Surabaya: Prestasi Pustaka. Supardi, Ir. Yuniar. 2006. Microsoft Visual Basic 6.0 Untuk Segala Tingkat. Jakarta: PT Elex Media Komputindo.
70
LAMPIRAN LISTING PROGRAM
Kode program form permainan Public t1 As Double Public taym As Integer Public teka As Integer Private Declare Function SndPlaySound _ Lib "winmm" Alias "sndPlaySoundA" _ (ByVal lpszSoundName As String, _ ByVal uFlags As Long) As Long Public Sub PlaySound(NamaFile As String) SndPlaySound NamaFile, 1 End Sub Private Sub Form_Activate() Timer1.Enabled = True End Sub Private Sub Form_Click() PlaySound App.Path & "\broke_armor.wav" If bala <= 0 Then Exit Sub End If End Sub Private Sub Form_KeyPress(KeyAscii As Integer) ' reload If bala >= 10 Then Exit Sub End If If KeyAscii = 114 Or KeyAscii = 82 Then bala = 10 End If End Sub Private Sub Form_Load() form_permainan.Caption = form_permainan.Caption & " - Nama Pemain : " & player & "" Randomize Call xy h = 0 Image1.Top = t Image1.Left = l leveltxt = 1 Timer1.Enabled = False MsgBox player & ", Anda Memiliki Waktu " & time & " detik." Timer1.Enabled = True bala = 10 total = 0 End Sub Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) If bala <= 0 Then Exit Sub End If Image3.Visible = True bala = bala - 1 End Sub
L1
Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) Image3.Visible = False End Sub Private Sub Image1_Click() If bala <= 0 Then Exit Sub End If Image1.Visible = False blast.Visible = True blast.Top = t blast.Left = l score = score + 1 Call xy Call rumble Call po End Sub Private Sub Image1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) If bala <= 0 Then Exit Sub End If Image3.Visible = True End Sub Private Sub Image1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) If bala <= 0 Then Exit Sub End If Image3.Visible = False End Sub Private Sub Image10_Click() If bala <= 0 Then Exit Sub End If Image10.Visible = False blast.Visible = True blast.Top = t blast.Left = l score = score + 1 Call xy Call po Call rumble End Sub Private Sub Image11_Click() If bala <= 0 Then Exit Sub End If PlaySound App.Path & "\broke_armor.wav" Call rumble h = h - 1 End Sub Private Sub Image11_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) Image2.Left = X + 300 Image3.Left = X + 300 blast.Visible = False teka = 0
L2
End Sub Private Sub Image4_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) If bala <= 0 Then Exit Sub End If Image3.Visible = True End Sub Private Sub Image4_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) If bala <= 0 Then Exit Sub End If Image3.Visible = False End Sub Private Sub Image5_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) If bala <= 0 Then Exit Sub End If Image3.Visible = True End Sub Private Sub Image5_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) If bala <= 0 Then Exit Sub End If Image3.Visible = False End Sub Private Sub Image6_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) If bala <= 0 Then Exit Sub End If Image3.Visible = True End Sub Private Sub Image6_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) If bala <= 0 Then Exit Sub End If Image3.Visible = False End Sub Private Sub Image7_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) If bala <= 0 Then Exit Sub End If Image3.Visible = True End Sub Private Sub Image7_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) If bala <= 0 Then Exit Sub End If Image3.Visible = False End Sub
L3
Private Sub Image8_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) If bala <= 0 Then Exit Sub End If Image3.Visible = True End Sub Private Sub Image8_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) If bala <= 0 Then Exit Sub End If Image3.Visible = False End Sub Private Sub Image9_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) If bala <= 0 Then Exit Sub End If Image3.Visible = True End Sub Private Sub Image9_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) If bala <= 0 Then Exit Sub End If Image3.Visible = False End Sub Private Sub Image10_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) If bala <= 0 Then Exit Sub End If Image3.Visible = True End Sub Private Sub Image10_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) If bala <= 0 Then Exit Sub End If Image3.Visible = False End Sub Private Sub rumble() If teka = 0 Then PlaySound App.Path & "\broke_armor.wav" bala = bala - 1 h = h + 1 End If Image1.Visible = False Image4.Visible = False Image5.Visible = False Image6.Visible = False Image7.Visible = False Image8.Visible = False Image9.Visible = False Image10.Visible = False End Sub Private Sub Image4_Click() ' menembak harimau If bala <= 0 Then
L4
Exit Sub End If Image4.Visible = False blast.Visible = True blast.Top = t blast.Left = l score = score + 1 Call xy Call po Call rumble End Sub Private Sub Image5_Click() ' menembak kelinci If bala <= 0 Then Exit Sub End If Image5.Visible = False blast.Visible = True blast.Top = t blast.Left = l score = score + 1 Call xy Call po Call rumble End Sub Private Sub Image6_Click() ' menembak kelinci yang bergerak dari arah kanan If bala <= 0 Then Exit Sub End If Image6.Visible = False blast.Visible = True blast.Top = t blast.Left = l score = score + 1 Call xy Call po Call rumble End Sub Private Sub Image7_Click() ' menembak anjing If bala <= 0 Then Exit Sub End If Image7.Visible = False blast.Visible = True blast.Top = t score = score + 1 blast.Left = l Call xy Call po Call rumble End Sub Private Sub Image8_Click() ' menembak kuda yang bergerak dari arah kanan If bala <= 0 Then Exit Sub End If Image8.Visible = False blast.Visible = True blast.Top = t
L5
blast.Left = l score = score + 1 Call xy Call po Call rumble End Sub Private Sub Image9_Click() ' menembak kuda dari arah kiri If bala <= 0 Then Exit Sub End If Image9.Visible = False blast.Visible = True blast.Top = t blast.Left = l score = score + 1 Call xy Call po Call rumble End Sub Private Sub mnuname_Click() Unload Me Load form_nama form_nama.Show End Sub Private Sub mnuquit_Click() ep = MsgBox("Anda Yakin Keluar Permainan?", vbYesNo, "Keluar!") If ep = vbYes Then End Else End If End Sub Private Sub mnureset_Click() ply = MsgBox(player & ", Apakah Anda Yakin Mengulang Permainan?", vbYesNo, "Mengulang!") If ply = vbYes Then time = 20 leveltxt = 1 timer = 45 score = 0 Unload Me Load form_permainan form_permainan.Show Else End If End Sub Private Sub Timer1_Timer() If timer = 45 Then leveltxt = "1" MsgBox "Level 1" time = 20 ElseIf timer = 25 Then If score >= 10 Then leveltxt = "2" MsgBox "Level 2" time = 15 End If ElseIf timer = 10 Then If score >= 20 Then leveltxt = "3"
L6
MsgBox "Level 3" time = 10 End If End If If time <= 0 Then MsgBox " Waktu Habis" Timer1.Enabled = False Unload Me Load form_score form_score.Show Else time = time - 1 timer = timer - 1 End If End Sub Private Sub Timer2_Timer() ' waktu jumlah tembak musuh judul = " Jumlah Tertembak: " & h & " Sisa Waktu : " & time & " Level : " & leveltxt stb.SimpleText = judul ' peluru keluar If bala >= 10 Then Label1.Visible = False bullet10.Visible = True bullet9.Visible = True bullet8.Visible = True bullet7.Visible = True bullet6.Visible = True bullet5.Visible = True bullet4.Visible = True bullet3.Visible = True bullet2.Visible = True bullet1.Visible = True ElseIf bala = 9 Then bullet10.Visible = False bullet9.Visible = True bullet8.Visible = True bullet7.Visible = True bullet6.Visible = True bullet5.Visible = True bullet4.Visible = True bullet3.Visible = True bullet2.Visible = True bullet1.Visible = True ElseIf bala = 8 Then bullet10.Visible = False bullet9.Visible = False bullet8.Visible = True bullet7.Visible = True bullet6.Visible = True bullet5.Visible = True bullet4.Visible = True bullet3.Visible = True bullet2.Visible = True bullet1.Visible = True ElseIf bala = 7 Then bullet10.Visible = False bullet9.Visible = False bullet8.Visible = False bullet7.Visible = True bullet6.Visible = True bullet5.Visible = True bullet4.Visible = True bullet3.Visible = True
L7
bullet2.Visible = True bullet1.Visible = True ElseIf bala = 6 Then bullet10.Visible = False bullet9.Visible = False bullet8.Visible = False bullet7.Visible = False bullet6.Visible = True bullet5.Visible = True bullet4.Visible = True bullet3.Visible = True bullet2.Visible = True bullet1.Visible = True ElseIf bala = 5 Then bullet10.Visible = False bullet9.Visible = False bullet8.Visible = False bullet7.Visible = False bullet6.Visible = False bullet5.Visible = True bullet4.Visible = True bullet3.Visible = True bullet2.Visible = True bullet1.Visible = True ElseIf bala = 4 Then bullet10.Visible = False bullet9.Visible = False bullet8.Visible = False bullet7.Visible = False bullet6.Visible = False bullet5.Visible = False bullet4.Visible = True bullet3.Visible = True bullet2.Visible = True bullet1.Visible = True ElseIf bala = 3 Then bullet10.Visible = False bullet9.Visible = False bullet8.Visible = False bullet7.Visible = False bullet6.Visible = False bullet5.Visible = False bullet4.Visible = False bullet3.Visible = True bullet2.Visible = True bullet1.Visible = True ElseIf bala = 2 Then bullet10.Visible = False bullet9.Visible = False bullet8.Visible = False bullet7.Visible = False bullet6.Visible = False bullet5.Visible = False bullet4.Visible = False bullet3.Visible = False bullet2.Visible = True bullet1.Visible = True ElseIf bala = 1 Then bullet10.Visible = False bullet9.Visible = False bullet8.Visible = False bullet7.Visible = False bullet6.Visible = False bullet5.Visible = False bullet4.Visible = False
L8
bullet3.Visible = False bullet2.Visible = False bullet1.Visible = True Else Label1.Visible = True bullet10.Visible = False bullet9.Visible = False bullet8.Visible = False bullet7.Visible = False bullet6.Visible = False bullet5.Visible = False bullet4.Visible = False bullet3.Visible = False bullet2.Visible = False bullet1.Visible = False End If End Sub Private Sub Timer3_Timer() ' animasi gerak If jlnimage9 > 9000 Or jlnimage5 > 9000 Or jlnimage8 < 0 Or jlnimage6 < 0 Or jlnimage10 < 0 Then If taym = 0 Then teka = 1 Call po Call xy Call rumble Else End If End If End Sub Private Sub Timer4_Timer() ' animasi gerak musuh If jlnimage9 > 9000 Then jlnimage9 = 0 Else jlnimage9 = jlnimage9 + 100 Image9.Left = jlnimage9 End If If jlnimage5 > 9000 Then jlnimage5 = 0 Else jlnimage5 = jlnimage5 + 100 Image5.Left = jlnimage5 End If If jlnimage8 < 0 Then jlnimage8 = 9000 Else jlnimage8 = jlnimage8 - 100 Image8.Left = jlnimage8 End If If jlnimage6 < 0 Then jlnimage6 = 9000 Else jlnimage6 = jlnimage6 - 100 Image6.Left = jlnimage6 End If If jlnimage10 < 0 Then jlnimage10 = 9000 Else jlnimage10 = jlnimage10 - 100 Image10.Left = jlnimage10 End If End Sub
L9
Kode program form menu Private Declare Function SndPlaySound _ Lib "winmm" Alias "sndPlaySoundA" _ (ByVal lpszSoundName As String, _ ByVal uFlags As Long) As Long Public Sub PlaySound(NamaFile As String) SndPlaySound NamaFile, 1 End Sub Private Sub Label2_mouseoveOver() Label1.ForeColor = vbRed End Sub Private Sub Command1_Click() Load form_about form_about.Show End Sub Private Sub Form_Click() PlaySound App.Path & "\broke_armor.wav" End Sub Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) label2.ForeColor = vbWhite Label3.ForeColor = vbWhite End Sub Private Sub Label2_Click() PlaySound App.Path & "\broke_armor.wav" timer = 45 Load form_nama form_nama.Show Unload Me End Sub Private Sub Label2_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) label2.ForeColor = vbYellow End Sub Private Sub Label3_Click() PlaySound App.Path & "\broke_armor.wav" End Sub Private Sub Label3_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) Label3.ForeColor = vbYellow End Sub Private Sub Timer1_Timer() If Image6.Visible = True Then Image6.Visible = False Else Image6.Visible = True End If End Sub
Kode program form nama Public x1, y1 As Integer Private Sub Command1_Click() time = 20 leveltxt = 1 timer = 45
L10
score = 0 If Text1.Text = "" Then MsgBox "Masukan Nama Anda Terlebih Dahulu..." Exit Sub End If player = Text1.Text Load form_permainan form_permainan.Show Unload Me End Sub Private Sub Command2_Click() End End Sub Private Sub Text1_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then Call Command1_Click End If End Sub
Kode program form score Public timers As Integer Private Sub Command1_Click() Unload Me End Sub Private Sub Command2_Click() tope = MsgBox("Apakah Anda Ingin Mengubah Nama Pemain?", vbYesNo, "Pilih Pemain?") If tope = vbYes Then Unload Me total = 0 score = 0 score1 = 0 score2 = 0 Load form_nama form_nama.Show Else Unload Me time = 20 timer = 45 total = 0 score = 0 score1 = 0 score2 = 0 Load form_permainan form_permainan.Show End If End Sub Private Sub Form_Load() ' membaca file score.txt Call winner Open ako & "score.txt" For Input As #1 Input #1, tnama1, tscore1, tnama2, tscore2, tnama3, tscore3 Close #1 If tscore1 > tscore2 And tscore1 > tscore3 Then Label1.Caption = tnama1 label2.Caption = tscore1 & " Point" ElseIf tscore1 < tscore2 And tscore1 < tscore3 Then Label6.Caption = tnama1 Label5.Caption = tscore1 & " Point" Else
L11
Label4.Caption = tnama1 Label3.Caption = tscore1 & " Point" End If If tscore2 > tscore1 And tscore2 > tscore3 Then Label1.Caption = tnama2 label2.Caption = tscore2 & " Point" ElseIf tscore2 < tscore1 And tscore2 < tscore3 Then Label6.Caption = tnama2 Label5.Caption = tscore2 & " Point" Else Label4.Caption = tnama2 Label3.Caption = tscore2 & " Point" End If If tscore3 > tscore1 And tscore3 > tscore2 Then Label1.Caption = tnama3 label2.Caption = tscore3 & " Point" ElseIf tscore3 < tscore1 And tscore3 < tscore2 Then Label6.Caption = tnama3 Label5.Caption = tscore3 & " Point" Else Label4.Caption = tnama3 Label3.Caption = tscore3 & " Point" End If If tscore1 = tscore2 Or tscore2 Label1.Caption = tnama1 label2.Caption = tscore1 & " Label6.Caption = tnama2 Label5.Caption = tscore2 & " Label4.Caption = tnama3 Label3.Caption = tscore3 & " End If End Sub
= tscore3 Or tscore3 = tscore1 Then Point" Point" Point"
Private Sub Timer1_Timer() If timers = 0 Then If Label1.ForeColor = &HFFFFFF Then Label1.ForeColor = &HFF& ElseIf Label1.ForeColor = &HFF& Then Label1.ForeColor = &HFFFF& ElseIf Label1.ForeColor = &HFFFF& Then Label1.ForeColor = vbWhite ElseIf Label1.ForeColor = vbWhite Then Label1.ForeColor = &HFFFF00 ElseIf Label1.ForeColor = &HFFFF00 Then Label1.ForeColor = &H8080FF ElseIf Label1.ForeColor = &H8080FF Then Label1.Caption = &HFF00FF Else Label1.ForeColor = &HFFFFFF End If label2.ForeColor = Label1.ForeColor Label7.ForeColor = label2.ForeColor Else End If End Sub Function winner() Open ako & "score.txt" For Input As #1 Input #1, tnama1, tscore1, tnama2, tscore2, tnama3, tscore3 Close #1 If tscore1 > tscore2 And tscore1 > tscore3 Then nama1 = tnama1 score1 = tscore1 ElseIf tscore1 < tscore2 And tscore1 < tscore3 Then
L12
nama3 = tnama1 score3 = tscore1 Else nama2 = tnama1 score2 = tscore1 End If If tscore2 > tscore1 And tscore2 > tscore3 Then nama1 = tnama2 score1 = tscore2 ElseIf tscore2 < tscore1 And tscore2 < tscore3 Then nama3 = tnama2 score3 = tscore2 Else nama2 = tnama2 score2 = tscore2 End If If tscore3 > tscore1 And tscore3 > tscore2 Then nama1 = tnama3 score1 = tscore3 ElseIf tscore3 < tscore1 And tscore3 < tscore2 Then nama3 = tnama3 score3 = tscore3 Else nama2 = tnama3 score2 = tscore3 End If If tscore1 = tscore2 Or tscore2 = tscore3 Or tscore3 = tscore1 Then Label1.Caption = tnama1 label2.Caption = tscore1 & " Point" Label6.Caption = tnama2 Label5.Caption = tscore2 & " Point" Label4.Caption = tnama3 Label3.Caption = tscore3 & " Point" End If total = score If total >= score1 Then Open ako & "score.txt" For Output As #1 Write #1, player, total, nama1, score1, nama2, score2 Close #1 MsgBox player & ", Anda Sekarang Juara 1 Tertinggi" ElseIf total <= score1 And total >= score2 Then Open ako & "score.txt" For Output As #1 Write #1, nama1, score1, player, total, nama2, score2 MsgBox player & ", Anda Sekarang Juara 2" Close #1 ElseIf total <= score2 And total >= score3 Then Open ako & "score.txt" For Output As #1 Write #1, nama1, score1, nama2, score2, player, total MsgBox player & ", Anda Sekarang Juara 3" Close #1 Else End If End Function
L13