• Tidak ada hasil yang ditemukan

PENGEMBANGAN APLIKASI PERMAINAN KAPAL PERANG ( BATTLESHIP )

N/A
N/A
Protected

Academic year: 2021

Membagikan "PENGEMBANGAN APLIKASI PERMAINAN KAPAL PERANG ( BATTLESHIP )"

Copied!
125
0
0

Teks penuh

(1)

KAPAL PERANG ( BATTLESHIP )

Laporan Tugas Akhir

Diajukan untuk melengkapi persyaratan mencapai gelar sarjana strata satu (S1)

Program Studi Teknik Informatika

oleh RUDI SETIYADI

NIM 01502-053

PROGRAM STUDI TEKNIK INFORMATIKA UNIVERSITAS MERCU BUANA

JAKARTA 2008

(2)

Perangkat komputer saat ini tidak hanya digunakan untuk keperluan pekerjaan saja, namun juga telah digunakan sebagai alat hiburan digital. Salah satu hiburan yang dapat dinikmati melalui perangkat komputer dan saat ini sedang digemari oleh anak-anak dan dewasa adalah aplikasi permainan (computer game).

Aplikasi permainan komputer berkembang dengan pesatnya. Diantara aplikasi-aplikasi permainan yang telah ada saat ini, banyak yang rumit alur permainannya sehingga membuat bosan para penggunanya. Dengan latar belakang tersebut dan terinspirasi dari sebuah buku tentang pemrograman permainan komputer, penulis membuat dan mengembangkan aplikasi permainan komputer sederhana dengan karakter kapal perang yang disebut dengan Battleship yang dapat dijadikan alternatif bagi para penggemar aplikasi permainan komputer dan dapat dipelajari dengan mudah bagi para pemula dibidang pemrograman komputer.

Aplikasi permainan kapal perang (Battleship) 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, Class Diagram, diagram Sekuensial, dan diagram Aktivitas, Diagram Deployment.

Kata kunci: aplikasi permainan komputer, aplikasi permainan kapal perang, pemrograman permainan dengan Visual Basic.

(3)

Today computer is not only used as a tool for helping human works, however computer is also used as a digital entertainment device. One of the entertainments which can be enjoyed from a computer system and very popular for children and adult is computer game.

Computer game is growing rapidly. Among the computer game which has been released lately, many of them are much complicated in the flow of the game scenarios. This situation makes the player bored. Based on this background and inspired by a game programming book, I developed a simple battleship game called as Battleship that can be used as an alternative game for the game lover and can be learned by beginner programmer who wants to understand the basic of game programming.

The Battleship game is built on Microsoft Visual Basic version 6.0 professional edition. I used Unified Modeling Language (UML) to analyze the requirements of the game. UML diagrams which I used are; Use Case diagram, Class diagram, Sequence diagram, and Activity diagram, Deployment diagram.

Keywords: computer game, battleship game, game programming with Visual Basic

(4)

Yang bertanda tangan dibawah ini menyatakan bahwa laporan Tugas Akhir dari mahasiswa berikut ini:

Nama : Rudi Setiyadi

NIM : 01502-053

Fakultas : Teknologi Industri Program Studi : Teknik Informatika

Judul : Pengembangan Aplikasi Permainan Kapal Perang ( Battleship ) Telah disidangkan, diperiksa, dan disetujui sebagai laporan Tugas Akhir.

Jakarta, ...Agustus 2008

Menyetujui,

(Joko Adianto, MInfSys) Pembimbing I Tugas Akhir

Menyetujui,

(Nurani, ST. MMSI) Pembimbing II Tugas Akhir

Mengesahkan,

(Abdusy Syarif, ST.,MT) Ketua Program Studi

Teknik Informatika

Mengetahui,

(Raka Yusuf, ST., MTI) Koordinator Tugas Akhir

(5)

Dengan memanjatkan puji syukur kepada Allah SWT, atas rahmat dan izin-Nya penulis telah dapat menyelesaikan laporan Tugas Akhir ini. Laporan Tugas akhir yang telah penulis susun berjudul ”Pengembangan Aplikasi Permainan Kapal Perang (Battleship)”.

Penulisan Tugas Akhir ini dapat terwujud karena adanya motivasi dan bantuan dari berbagai pihak. Dalam kesempatan ini dengan tulus dan ikhlas penulis mengucapkan terima kasih kepada:

1. Penulis mengucapkan terima kasih kepada kedua orang tua yang telah memberi semangat dan do’a yang tiada henti untuk dapat menyelesaikan tugas akhir ini. 2. Bapak Joko Adianto MInfSys, selaku pembimbing ke I bagi penulis yang dengan

sabar telah membimbing, mengarahkan, dan memberi semangat untuk segera menyelesaikan Tugas Akhir ini.

3. Ibu Nurani, ST, MMSI, selaku pembimbing ke II bagi penulis yang dengan sabar telah membimbing dan mengarahkan penulis dalam menyusun Tugas Akhir ini serta memberi semangat untuk segera menyelesaikan laporan ini.

4. Bapak Abdusy Syarif, ST., MT., selaku Ketua Program Studi Teknik Informatika Universitas Mercu Buana

5. Bapak Raka Yusuf, ST., MTI., selaku pembimbing akademik penulis dan koordinator Tugas Akhir di Program Studi Teknik Informatika Universitas Mercu Buana yang telah membantu penulis dalam memberi ide-ide dalam melakukan analisis kebutuhan sistem.

(6)

akhir ini.

7. Penulis mengucapkan terima kasih kepada adik saya Teti Nurfaedah A.Md, dan Fery Fadhilah yang telah memberikan dukungan supaya penulis dapat menyelesaikan laporan tugas akhir ini.

8. Penulis mengucapkan terima kasih kepada Ryan Andriatno, SKom. Suseno Yusuf Ilhami, SKom, Respati Hanantyo, Chandra Nugroho, Agung, yang telah membantu dan memberikan dukungan supaya penulis dapat menyelesaikan laporan tugas akhir ini.

9. Seluruh teman-temanku di Jakarta, termasuk para mahasiswa Universitas Mercu Buana jurusan Teknik Informatika angkatan 2002.

10.Seluruh pihak yang tidak dapat penulis sebutkan namanya satu persatu, terima kasih atas bantuan, do’a, dan dukungannya hingga terselesaikannya penyusunan Tugas Akhir ini semoga kalian semua dirahmati Allah SWT.

Penulis menyadari bahwa laporan Tugas Akhir ini masih jauh dari sempurna. Untuk itu penulis selalu terbuka terhadap segala saran dan kritik yang bersifat membangun. Demikian penulis berharap semoga laporan Tugas Akhir ini dapat bermanfaat.

Jakarta, Agustus 2008

Rudi Setiyadi

(7)

Abstrak ... ii

Abstract ... iii

Lembar Pengesahan ... iv

Kata Pengantar ... v

Daftar Isi ... vii

Daftar Gambar... xi

Daftar Tabel ... xiii

Daftar Kode... xiv

BAB I : PENDAHULUAN ... 1

1.1 Latar Belakang ... 1

1.2 Perumusan masalah... 2

1.3 Tujuan Pembahasan ... 3

1.4 Ruang Lingkup... 3

1.5 Metodologi Rekayasa Perangkat Lunak... 4

1.6 Sistematika Penulisan ... 5

BAB II : LANDASAN TEORI... 6

2.1Pengertian Permainan Komputer ... 6

2.1.1 Sejarah Singkat Permainan Komputer ... 6

2.2Model Waterfall ... 7

2.3Unified Modeling Language ... 9

2.3.1 Diagram Use Case (Use Case Diagram) ... 11

2.3.2 Class Diagram ... 14

(8)

2.3.4 Diagram Aktifitas (Activity Diagram) ... 17

2.3.5 Diagram Deploymen (Deployment Diagram)... 19

2.4Pengantar Algoritma ... 20

2.5Diagram Alur (Flowchart) ... 20

2.6Pengantar Visual Basic 6.0 ... 22

2.6.1 Koordinat Grafik dalam Visual Basic 6.0 ... 22

2.6.2 Win32 Application Programming Interface (Win32 API).... 23

2.6.3 Teknik Masking ... 24

BAB III : ANALISIS DAN PERANCANGAN ... 27

3.1 Analisis Masalah ... 27

3.1.1 Spesifikasi Kebutuhan Sistem... 28

3.1.2 Parameter Keberhasilan ... 29

3.2 Diagram Use Case... 29

3.3 Struktur Tabel ... 32

3.4 Class Diagram ... 32

3.5 Diagram Sekuensial ... 34

3.6 Diagram Aktifitas... 37

3.7 Diagram Deploymen ... 40

3.8 Algoritma Perhitungan Skor ... 41

3.9 Diagram Alur (Flowchart) ... 41

3.10 Perancangan Antarmuka Permainan ... 42

3.10.1 Perancangan Jendela Inisialisasi ... 43

(9)

3.10.4 Perancangan Jendela petunjuk ... 45

3.10.5 Perancangan Jendela nama... 46

3.10.6 Perancangan Jendela ranking ... 47

BAB IV : IMPLEMENTASI DAN PENGUJIAN ... 48

4.1 Implementasi ... 48

4.1.1 Lingkungan Implementasi... 48

4.1.2 Pengkodean ... 49

4.1.3 Antarmuka Permainan... 56

4.1.3.1 Tampilan jendela Inisialisasi... 56

4.1.3.2 Tampilan jendela Meletakkan Kapal Perang ... 57

4.1.3.3 Tampilan jendela Permainan... 58

4.1.3.4 Tampilan jendela Petunjuk... 59

4.1.3.5 Tampilan jendela Nama ... 60

4.1.3.4 Tampilan jendela Ranking ... 60

4.2 Pengujian... 61

4.2.1 Metode Pengujian ... 61

4.2.2 Pengujian Basis Path ... 62

4.2.3 Skenario Pengujian... 64

4.2.2 Hasil Pengujian ... 65

4.2.5 Analisis Hasil Pengujian ... 66

BAB V : PENUTUP... 68

5.1 Kesimpulan ... 68

(10)

Lampiran ... L1

(11)

Tabel 2.1 Tipe diagram UML ... 10

Tabel 2.2 Notasi-notasi dalam diagram Use Case menurut Booch, Rumbaugh, dan Jacobson ... 12

Tabel 2.3 Notasi dalam pemodelan diagram Sekuensial ... 15

Tabel 2.4 Simbol-simbol yang sering digunakan pada diagram Aktifitas ... 17

Tabel 2.5 Notasi pada diagram Deployment... 19

Tabel 3.1 Kebutuhan sistem, aktor dan use case pada aplikasi permainan kapal perang (Battleship)………...28

Tabel 3.2 Tabel Ranking ... 32

Tabel 4.1 Tabel pengujian white box pada grafik alir meletakkan kapal perang... 63

Tabel 4.2 Tabel Jalur pengujian white box pada grafik alir set kapal perang secara horizontal dan vertical………63

Tabel 4.3 Tabel pengujian white box pada grafik alir mengumpulkan nilai (score)64 Tabel 4.4 Tabel skenario pengujian ... 65

Tabel 4.5 Tabel hasil pengujian ... 66

(12)

Gambar 2.1 Model Waterfall ... 9

Gambar 2.2 Contoh diagram Use Case sistem ATM... 13

Gambar 2.3 Class diagram dan sintaksnya ... 14

Gambar 2.4 Contoh diagram Sekuensial (Dennis dkk, 2005:239) ... 16

Gambar 2.5 Macam-macam Flow & Edge ... 18

Gambar 2.6 Contoh diagram Aktifitas terima order barang ... 18

Gambar 2.7 Contoh diagram Deployment system klien/server ... 20

Gambar 2.8 Simbol-simbol diagram alur (Jogiyanto, 2005:796-798)... 21

Gambar 2.9 Penggunaan simbol-simbol proses flowchart... 21

Gambar 2.10 Sistem koordinat pada Visual Basic... 23

Gambar 2.11 Gambar sumber dan gambar Mask... 24

Gambar 2.12 Menampilkan obyek tanpa teknik Masking ... 25

Gambar 2.13 Contoh penggunaan BitBlt untuk teknik Masking... 25

Gambar 2.14 Menampilkan obyek dengan teknik Masking ... 25

Gambar 3.1 Diagram Use Case permainan pesawat perang (Battleship) ... 29

Gambar 3.2 Class Diagram pada aplikasi permainan Battleship ... 33

Gambar 3.3 Diagram Sekuensial untuk Use Case memulai permainan... 35

Gambar 3.4 Diagram Sekuensial untuk Use Case mengumpulkan nilai (score) ... 36

Gambar 3.5 Diagram Aktifitas untuk Use Case memulai permainan... 37

Gambar 3.6 Diagram Aktifitas untuk Use Case mengumpulkan nilai (score)... 39

Gambar 3.7 Diagram Deployment dari aplikasi permainan Battleship ... 40

Gambar 3.8 Diagram alur perhitungan nilai (skor)... 42

(13)

Gambar 3.11 Perancangan jendela permainan ... 45

Gambar 3.12 Perancangan jendela petunjuk... 46

Gambar 3.13 Perancangan jendela nama ... 46

Gambar 3.14 Perancangan jendela ranking... 47

Gambar 4.1 Tampilan jendela inisialisasi ... 56

Gambar 4.2 Tampilan jendela meletakkan kapal perang yang belum terisi kapal perang... 57

Gambar 4.3 Tampilan jendela meletakkan kapal perang yang sudah terisi kapal perang... 57

Gambar 4.4 Tampilan jendela permainan ... 58

Gambar 4.5 Tampilan jendela ledakan yang terjadi karena proses tembakan dari pemain... 59

Gambar 4.6 Tampilan jendela petunjuk ... 59

Gambar 4.7 Tampilan jendela nama ... 60

Gambar 4.8 Tampilan jendela ranking... 60

Gambar 4.9 Bagan alir meletakkan kapal perang ... 62

Gambar 4.10 Grafik alir meletakkan kapal perang ... 62

Gambar 4.11 Bagan alir set kapal perang secara horizontal dan vertical ... 63

Gambar 4.12 Grafik alir set kapal perang secara horizontal dan vertical ... 63

Gambar 4.13 Bagan alir mengumpulkan nilai (score) ... 64

Gambar 4.14 Grafik alir mengumpulkan nilai (score) ... 64

(14)

BAB I PENDAHULUAN

1.1 Latar Belakang

Perangkat komputer saat ini tidak hanya digunakan untuk keperluan pekerjaan saja, namun juga telah digunakan sebagai alat hibur digital. Salah satu hiburan yang dapat dinikmati melalui perangkat komputer dan saat ini sedang digemari oleh anak-anakda dewasa adalah aplikasi permainan (computer game). Program aplikasi permainan pada komputer hingga saat ini telah menjadi bagian yang tak terpisahkan dari para pengguna komputer. Banyak pengguna komputer yang penulis temui menghabiskan waktu mereka di depan komputer untuk bermain program aplikasi permainan selama berjam-jam. Program aplikasi permainan menjadi wujud perpaduan antara ilmu dan seni, dan memiliki potensi media dalam memperkenalkan budaya, ide, pendidikan, dan kreativitas.

(15)

Seiring dengan beraneka ragamnya permainan komputer saat ini, dari permainan komputer 2D hingga 3D yang kompleks dan tidak jarang pula permainan komputer yang sangat rumit alur permainannya membuat bosan para penggunanya, maka penulis akan membuat sebuah permainan komputer sederhana dengan objek kapal perang yang dapat dipelajari dengan mudah oleh pemula dibidang pemrograman komputer dan dapat dijadikan alternatif bagi para penggemar permainan komputer. Salah satu alasan mengapa permainan komputer merupakan proyek pemrograman yang bagus adalah pembuatan program aplikasi permainan membutuhkan individu yang sangat kreatif. Selain hal tersebut, membuat program aplikasi permainan memberikan wawasan keahlian pemrograman yang sangat luas bagi pemula maupun bagi yang sudah mahir. Diantara keahlian tersebut yaitu kemampuan merancang antarmuka permainan, kemampuan grafika komputer, membuat kecerdasan buatan, membuat simulasi fisik, menggubah musik, optimisasi kode sumber, dan lain sebagainya.

Dalam membuat program permainan komputer tersebut, penulis menggunakan bahasa pemrograman Visual Basic 6.0 edisi profesional.

1.2 Perumusan Masalah

Terciptanya sebuah pengembangan program permainan komputer menggunakan Visual Basic versi 6.0 dengan menyertakan fungsi Win32 Application Programming Interface (Win32 API) yaitu fungsi yang terkandung dalam berbagai berkas bertipe *.dll di dalam sistem operasi Windows yang menjadi tulang punggung sistem operasi tersebut.

(16)

1.3 Tujuan Pembahasan

Tujuan yang ingin dicapai dalam penulisan Tugas Akhir ini adalah untuk menghasilkan sebuah pengembangan aplikasi permainan komputer dengan objek kapal perang yang berjalan pada komputer berbasis sistem operasi Windows khususnya Windows XP Profesional.

1.4 Ruang Lingkup

Permasalahan yang diangkat dalam penulisan Tugas Akhir ini adalah bagaimana mengembangkan sebuah program permainan komputer kapal perang dengan menggunakan bahasa pemrograman Visual Basic versi 6.0 dan fungsi Win32 API. Proses awal pembuatan program permainan kapal perang tersebut yaitu dengan memasukan gambar latar, gambar objek kapal pemain, deteksi mouse terhadap objek, dan memasukkan suara (suara efek) ke dalam pembuatan permainan komputer tersebut sehingga permainan tersebut dapat dimainkan dan dinikmati oleh pengguna komputer. Program permainan yang akan dibangun hanya dapat dimainkan oleh satu orang pemain. Perolehan nilai (score) disimpan ke dalam basis data dan akan ditampilkan ke dalam ranking.

Diluar hal-hal yang disebutkan diatas, termasuk pembahasan mengenai kecerdasan buatan dan DirectX adalah diluar penulisan Tugas Akhir ini, karena penulis tidak menggunakan kecerdasan buatan dan DirectX di dalam pembuatan program permainan tersebut.

(17)

1.5 Metodologi Rekayasa Perangkat Lunak

Metodologi rekayasa perangkat lunak yang digunakan oleh penulis dalam laporan Tugas Akhir ini adalah dengan menggunakan model Waterfall. Model Waterfall memiliki beberapa tahapan yaitu:

1. Analisis

Pada tahap ini penulis menentukan kebutuhan fungsional dari program permainan yang akan dibangun menggunakan alat pemodelan Unified Modeling Language (UML) khususnya dengan diagram Use Case, diagram Sequensial, diagram Aktivitas.

2. Perancangan

Pada tahap ini penulis melakukan perancangan antarmuka dari aplikasi yang akan dibuat sesuai dengan kebutuhan hasil tahap analisis.

3. Implementasi

Pada tahap ini hasil tahap perancangan diimplementasikan melalui proses pengkodean menggunakan Microsoft Visual Basic versi 6.0.

4. Pengujian

Setelah pembuatan program permainan selesai, maka program permainan tersebut diuji untuk mengetahui sesuai tidaknya dengan kebutuhan pada tahap analisis.

5. Penggunaan dan Perawatan

Dalam penulisan Tugas Akhir ini, penulis tidak menyertakan tahap penggunaan dan perawatan dikarenakan pembuatan program permainan kapal perang ini hanya sampai pada tahap pengujian.

(18)

1.6 Sistematika Penulisan

Laporan Tugas Akhir ini disusun dengan sistematika terstruktur. Lima (5) bab yang disusun agar pembaca dapat memahami secara jelas pokok pembahasan penulis. Sistematika penulisannya adalah sebagai berikut:

BAB I : PENDAHULUAN

Bab ini menguraikan latar belakang penulisan, perumusan masalah, tujuan pembahasan, ruang lingkup, metodologi rekayasa perangkat lunak, dan sistematika penulisan.

BAB II : LANDASAN TEORI

Pada bab ini akan dijelaskan mengenai teori-teori dasar yang digunakan dalam merancang dan membangun program permainan komputer dalam penulisan Tugas Akhir ini.

BAB III : ANALISIS DAN PERANCANGAN

Bab ini menjelaskan mengenai analisis masalah dan proses perancangan dari program permainan yang akan dibangun sehingga siap untuk diimplementasikan menggunakan bahasa pemrograman Visual Basic versi 6.0.

BAB IV : IMPLEMENTASI DAN PENGUJIAN

Bab ini menjelaskan mengenai proses pengkodean, tampilan antarmuka sistem, dan pengujian sistem.

BAB V : PENUTUP

Bab ini merupakan bagian akhir dari penulisan Tugas Akhir ini yang berisi kesimpulan dan saran-saran yang mengarah kepada pengembangan program permainan yang dibuat.

(19)

BAB II

LANDASAN TEORI

2.1 Pengertian Permainan Komputer

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.1 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.

(20)

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 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 Waterfall

Salah satu metodologi untuk merancang sistem-sistem perangkat lunak adalah model Waterfall. Pendekatan model Waterfall berupaya membangun suatu lingkungan yang sangat terstruktur dimana proses pengembangan dilaksanakan secara sekuensial. Model Waterfall terdiri dari dari beberapa tahap yaitu:

(21)

1. Analisis

Tahap pengembangan rekayasa perangkat lunak dimulai dengan analisis yang sasaran utamanya adalah mengidentifikasikan apa yang harus mampu dilaksanakan oleh sistem yang diajukan.

2. Perancangan

Apabila analisis menitikberatkan pada apa yang harus mampu dilakukan oleh sistem yang diajukan, perancangan menitikberatkan pada bagaimana sistem melakukan hal tersebut. Pada tahap inilah struktur sistem perangkat lunak dibangun.

3. Implementasi

Implementasi melibatkan penulisan aktual program-program, pembuatan berkas-berkas data, dan pengembangan basis data.

4. Pengujian

Pengujian sangat terkait erat dengan implementasi, karena setiap modul sistem biasanya diuji ketika diimplementasikan.

5. Penggunaan dan modifikasi/perawatan

Dalam penulisan Tugas Akhir ini, penulis tidak menyertakan tahap penggunaan dan perawatan karena pembuatan program permainan hanya sampai pada tahap pengujian. Gambar 2.1 memperlihatkan metodologi pengembangan rekayasa perangkat lunak model Waterfall (Brookshear, 2003:284).

(22)

Pengembangan perangkat lunak Analisis Perancangan Implementasi Pengujian Penggunaan Perawatan

Gambar 2.1. Model Waterfall

2.3 Unified Modeling Language (UML)

Pengembangan sistem adalah aktifitas manusia. Tanpa adanya kemudahan untuk memahami notasi, proses pengembangan sistem kemungkinan besar akan mengalami kesalahan. Unified Modeling Language (selanjutnya disebut dengan UML) adalah sistem notasi yang sudah dibakukan di dunia pengembangan sistem, hasil kerja bersama dari Grady Booch, James Rumbaugh, dan Ivar Jacobson.

Menurut Munawar(2005:17)UMLadalah 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.

(23)

Paling tidak ada tiga karakter penting yang melekat di UML, yaitu sketsa, cetak biru, dan bahasa pemrograman. Sebagai sebuah sketsa, UML bisa berfungsi sebagai jembatan dalam mengkomunikasikan beberapa aspek dari sistem. Dengan demikian sebuah tim akan mempunyai gambaran yang sama tentang suatu sistem. UML bisa berfungsi sebagai sebuah cetak biru karena sangat lengkap dan detil. Dengan cetak biru ini maka akan bisa diketahui informasi detil tentang pengkodean program atau bahkan membaca program dan menginterpretasikannya kembali ke dalam diagram. Sebagai sebuah bahasa pemrograman, UML dapat menterjemahkan diagram yang ada di UML menjadi kode program yang siap untuk dijalankan.

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. Tabel 2.1 menampilkan beberapa tipe diagram UML.

Tabel 2.1. Tipe diagram UML

No Diagram Tujuan

1. Activity Perilaku prosedural & paralel

2. Class Class, fitur dan relasinya

3. Communication Interkasi 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

(24)

Pada penulisan Tugas Akhir ini, diagram UML yang akan dibahas adalah diagram Use Case (Use Case diagram) untuk mendefinisikan kebutuhan fungsional dari aplikasi permainan yang akan dibangun, diagram State Machine (State Machine diagram) untuk menelusuri kejadian yang diterima obyek, diagram Sekuensial (Sequence diagram) untuk menggambarkan perilaku sistem, diagram Aktifitas (Activity diagram) untuk menunjukkan operasi sebuah obyek, dan diagram Deploymen (Deployment diagram) untuk melihat sistem secara fisik.

2.3.1 Diagram Use Case (Use Case Diagram)

Use Case adalah deskripsi fungsi dari sebuah sistem dari perspektif pengguna. Use Case bekerja dengan cara mendeskripsikan tipikal interaksi antara pengguna sebuah sistem dengan 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 Use Case adalah serangkaian skenario yang digabungkan secara 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 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. <<include>> digunakan untuk menggambarkan bahwa suatu Use Case seluruhnya

(25)

merupakan fungsionalitas dari Use Case lainnya. Biasanya <<include>> 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).

Di dalam Use Case juga terdapat generalisasi. Generalisasi diantara aktor adalah spesialisasi aktor yang bisa berpartisipasi di semua Use Case yang diasosiasikan dengan aktor yang lebih umum. Tabel 2.2 menampilkan notasi-notasi dalam pemodelan diagram Use Case menurut Booch dkk (1998:187). Sedangkan contoh dari diagram Use Case diperlihatkan oleh Gambar 2.2.

Tabel 2.2. Notasi-notasi dalam pemodelan diagram Use Case menurut Booch dkk

No. Notasi Keterangan

1. Aktor

2. Use Case

3. Batas sistem (system boundary)

4. Garis penghubung (pengendali arah)

5. Gabungan (association)

6. Generalisasi (generalization)

7. Realisasi (realization)

Nama sistem

8. Stereotype penyertaan (include)

9. Stereotype perluasan (extend)

<< include >>

(26)

ATM System

Gambar 2.2. Contoh diagram Use Case sistem ATM

(www.sparxsystems.com/resources/uml2_tutorial/uml2_usecasediagram.html)

Menurut Munawar (2005:179) setiap Use Case harus didokumentasikan 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:

a. Deskripsi singkat b. Aktor yang terlibat

c. Pra kondisi, kondisi yang penting bagi Use Case untuk memulai d. Deskripsi rinci dari aliran kejadian yang mencakup:

1. Tindakan utama dari kejadian 2. Tindakan alternatif dari kejadian

e. pasca kondisi, yang menjelaskan status dari sistem setelah Use Case berakhir. Withdraw

<<include>>

Card identification

(27)

2.3.2 Class Diagram

Menurut Martin Fowler (2005:53) diagram kelas mendeskripsikan jenis – jenis objek dalam sistem dan berbagai macam hubungan statis yang terdapat di antara mereka. Diagram kelas juga menunjukan properti dan operasi sebuah kelas dan batasan – batasan yang terdapat dalam hubungan – hubungan objek tersebut.

Diagram kelas juga menggambarkan struktur dan deskripsi kelas, package dan objek beserta hubungan satu sama lain seperti generalization, realization, association, dan agregation. Dimana generalization adalah hubungan superclass dengan subclass atau parent dengan child, realization adalah dimana sebuah class harus mengikuti aturan class lainnya, association adalah hubungan structural antar class dan aggregation adalah hubungan antar class, dimana class yang satu adalah bagian dari class yang lainnya. Berikut pada Gambar 2.3 adalah contoh diagram kelas beserta sintaksnya.

(28)

2.3.3 Diagram Sekuensial (Sequence Diagram)

Diagram sekuensial digunakan untuk menggambarkan perilaku pada sebuah skenario. Diagram ini menunjukkan sejumlah contoh obyek dan pesan (message) yang diletakkan diantara obyek-obyek ini di dalam Use Case (Munawar, 2005:87).

Komponen utama diagram sekuensial terdiri atas obyek 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. Setiap obyek terhubung dengan garis titik-titik yang disebut garis hidup (lifeline). Sepanjang garis hidup terdapat kotak yang disebut penggerakan (activation). Tabel 2.3 memperlihatkan notasi-notasi dalam pemodelan diagram Sekuensial. Contoh diagram Sekuensial ditunjukkan oleh Gambar 2.4.

Tabel 2.3. Notasi-notasi dalam pemodelan diagram Sekuensial

No. Notasi Keterangan

1. Aktor 2. Obyek 3. Batas (boundary) 4. Kendali (control) 5. Entitas (entity) 6. Penggerakan (activation)

7. Garis hidup (lifeline)

(29)

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. Pesan pembuatan obyek baru

15. Pesan penghapusan obyek

New

Gambar 2.4. Contoh diagram Sekuensial (Dennis dkk, 2005:239)

aPatient Request Appt() aReceptionist Patient: List UnPaindBills: List Appointments: List LookUpPatient() anAppt: Appointments New,Cancel, or Change Appt?() [PatientExist] LookUpBills() ApptTimes?() Match Appt() Create Appt()

(30)

2.3.4 Diagram Aktifitas (Activity Diagram)

Diagram Aktifitas adalah teknik untuk mendeskripsikan logika prosedural, proses bisnis, dan aliran kerja dalam banyak kasus. Diagram Aktifitas mempunyai peran seperti halnya bagan alir (Flowchart), akan tetapi perbedaannya dengan bagan aliradalah diagram Aktifitasdapat mendukung perilaku paralel sedangkan bagan alir tidak bisa (Munawar 2005:109).

Tabel 2.4 memperlihatkan simbol-simbol yang sering digunakan pada saat pembuatan diagram Aktifitas. Sedangkan contoh dari penggunaan simbol-simbol yang terdapat pada Tabel 2.4 ditunjukkan oleh Gambar 2.5.

Tabel 2.4. Simbol-simbol yang sering digunakan pada diagram Aktifitas

No Simbol Keterangan

1. Titik awal

2. Titik akhir

3. Aktifitas (activity)

4. Pilihan untuk mengambil keputusan

5. Fork; digunakan untuk menunjukkan kegiatan yang

dilakukan secara paralel atau untuk menggabungkan dua kegiatan paralel menjadi satu

6. Rake; menunjukkan adanya dekomposisi

7. Tanda waktu

8. Tanda pemgiriman

9. Tanda penerimaan

(31)

Untuk mendeskripsikan hubungan diantara dua aktifitas biasanya digunakan Flow

Semua bentuk setara. Semua bisa

digun

& Edge. Ada empat cara yang bisa digunakan untuk menghubungkan dua aktifitas yang ditunjukkan oleh Gambar 2.5.

Gambar 2.5. Macam-macam Flow & Edge

Terima faktur Buat pembayaran

Terima faktur A A Buat pembayaran

konektor

hubungan pada Gambar 2.6 adalah

akan sesuai dengan keperluan. Dalam banyak kasus cara yang pertama/paling atas adalah yang paling sering dipakai (Munawar, 2005:115).

Gambar 2.6. Contoh diagram Aktifitas terima order barang

Terima order

isi order Kirim invoice

Regular delivery

Overnight delivery Terima

pembayaran

close order

Terima faktur Order Buat pembayaran

(32)

2.3.5 Diagram Deploymen (Deployment Diagram)

sebuah sistem secara fisik, menam

a perangkat keras adalah node, yaitu nama umum untuk semua jenis

ndung Artifact, dimana Artifact adalah perwujudan fisik dari peran

Diagram Deploymen menunjukkan tata letak

pakkan bagian-bagian perangkat lunak yang berjalan pada bagian-bagian perangkat keras.

Bagian utam

sumber komputasi. Ada dua tipe node yang mungkin. Prosesor adalah node yang bisa mengeksekusi sebuah komponen, sedangkan Device tidak. Device adalah perangkat keras (seperti printer atau monitor) yang biasanya menjadi antarmuka dengan dunia luar.

Node menga

gkat lunak, biasanya berbentuk berkas. Berkas-berkas ini biasanya dapat dieksekusi (seperti: berkas bertipe .EXE, .JAR, binner, Assembly, dan lain-lain), atau berkas-berkas data, berkas-berkas konfigurasi, dokumen berbasis web seperti HTML, dan lain-lain. Daftar sebuah Artifact di dalam sebuah node menunjukkan bahwa Artifact tersebut disebar (deployed) ke node tersebut pada saat sistem sedang dijalankan (Munawar, 2005:125). Notasi-notasi yang digunakan pada diagram Deploymen ditunjukkan oleh Tabel 2.5.

Tabel 2.5. Notasi pada diagram Deploymen

No Simbol Keterangan

1. Node

2. Koneksi (association)

(33)

Sedangkan contoh penerapan diagram Deploymen ditunjukkan oleh Gambar 2.7 ya

.4 Pengantar Algoritma

an langkah-langkah logis penyelesaian masalah yang disu

2.5 iagram Alur (Flowchart)

kan alur di dalam program atas prosedur sistem secara

itu diagram Deploymen pemodelan sebuah sistem klien/server (Booch dkk, 1998:343).

Gambar 2.7. Contoh diagram Deploymen sistem klien/server

2

Algoritma adalah urut

sun secara sistematis. Kata logis merupakan kata kunci dalam sebuah algoritma. Langkah-langkah di dalam algoritma harus logis, ini berarti hasil dari urutan langkah-langkah tersebut harus dapat ditentukan benar atau salah.

D

Diagram alur menunjuk

logika. Diagram alur digunakan terutama untuk alat bantu komunikasi dan untuk dokumentasi (Jogiyanto, 2005:795). Simbol-simbol tersebut dapat dilihat pada Gambar 2.8.

(34)

Gambar 2.8. Simbol-simbol diagram alur (Jogiyanto, 2005:796-798)

Berikut adalah gambar sebuah dasar diagram alir sebagai contoh dari penggunaan simbol-simbol yang telah diberikan, lihat Gambar 2.9

7 Choice 3 Action 6 Action YES 5 Action NO YES 7 Choice 8 End 4 Action NO 1 Start

(35)

2.6 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 (Yuswanto, 2003:1). Visual Basic (dalam penulisan Tugas Akhir ini yang dimaksud oleh penulis dengan Visual Basic adalah Visual Basic versi 6.0) adalah pemimpin diantara bahasa tingkat tinggi dalam dukungannya dengan paradigma kejadian terkontrol (event-driven paradigm) dan pengembangan aplikasi secara cepat (rapid application development). Secara khusus, popularitas Visual Basic terlihat dalam banyak segi pengembangan aplikasi, seperti aplikasi pengaksesan basis data, purwarupa antarmuka pengguna secara grafis (graphical user interface), pembuatan komponen yang terdistribusi (distributable components), pemrograman berbasis internet (internet scripting), perancangan aplikasi Client/Server, dan bahkan pengembangan aplikasi permainan (Vine, 2001:1).

2.6.1 Koordinat Grafik dalam Visual Basic 6.0

Grafik merupakan salah satu bagian yang sangat penting di dalam program aplikasi permainan. Grafik yang bagus dan animasi yang halus merupakan kunci program aplikasi permainan yang menarik. Visual Basic menangani grafik secara baik, sehingga memungkinkan kita untuk membuat program aplikasi permainan yang memiliki gambar yang menarik.

Berbeda dengan koordinat kartesian, dalam Visual Basic sistem koordinat yang digunakan memiliki titik (0,0) pada posisi kiri atas seperti yang diperlihatkan pada Gambar 2.10.

(36)

x,y

Gambar 2.10. Sistem koordinat pada Visual Basic

Satuan yang digunakan dalam koordinat Visual Basic ini secara standar (default) adalah Twips, dimana 1 Twip = 1/1440 inchi. Satuan ini menyulitkan dalam perhitungan, sehingga dalam program aplikasi permainan yang akan dibangun menggunakan satuan Pixel yang lebih umum dikenal. Pixel merupakan titik dalam monitor, misal pada resolusi 800 x 600 Pixel, maka pada koordinat X akan terdapat 800 titik dan pada koordinat Y akan terdapat 600 titik (Hakim, 2003:7).

2.6.2 Win32 Application Programming Interface (Win32 API)

Bahasa Visual Basic menyediakan sekumpulan fungsi, perintah, dan objek yang kaya. Tetapi di dalam banyak kasus, kumpulan fungsi, perintah, dan objek tersebut tidak dapat memenuhi semua kebutuhan seorang pemrogram profesional. Pemogram yang sudah mahir telah belajar untuk mengatasi masalah keterbatasan bahasa Visual Basic tersebut dengan memanggil secara langsung satu atau lebih fungsi Win32 Application Programming Interface (selanjutnya disebut dengan Win32 API). Win32 API merupakan fungsi yang terkandung dalam berbagai berkas

(37)

Dynamic Link Library (berkas bertipe *.dll, selanjutnya disebut dengan DLL) di dalam sistem operasi Windows yang menjadi tulang punggung sistem operasi tersebut (Hakim, 2003:13).

Dynamic Link Library (DLL) adalah kode yang telah disusun yang hanya dapat diakses oleh program lain pada tingkat pemrograman (programming level). Di dalam sistem operasi Windows terdapat lebih dari 2000 fungsi Win32 API yang digunakan untuk melakukan semua jenis layanan sistem operasi Windows. Pengguna akhir (end user) tidak dapat mengakses fungsi-fungsi tersebut. Tetapi, pemrogram dapat mengakses kode yang ditulis dalam DLL melalui Win32 API dan menggunakan kode-kode tersebut di dalam program mereka (Reselman, 1999:23).

2.6.3 Teknik Masking

Mask dalam Visual Basic adalah gambar hitam putih dimana daerah hitam menunjukkan posisi/tempat yang harus digambar, sedangkan daerah putih adalah posisi/tempat yang tidak perlu digambar/ditampilkan (Hakim, 2003:19). Gambar Mask umumnya disertakan beserta dengan gambar sumber. Gambar 2.11 memperlihatkan contoh gambar sumber dan gambar Mask-nya:

Gambar 2.11. Gambar sumber dan gambar Mask-nya

Perhatikan koordinat pada gambar 2.11 secara Visual Basic. Koordinat gambar asli adalah 0, 0. Sedangkan koordinat untuk Mask-nya adalah tinggi gambar asli, 0.

(38)

Untuk menampilkan gambar pada Visual Basic 6.0 jika tidak disertai dengan gambar Mask tersebut hanya akan menghasilkan gambar obyek berbentuk kotak dengan warna hitam. Lihat contoh pada Gambar 2.12.

Gambar 2.12. Menampilkan obyek tanpa teknik Masking

Agar gambar yang dihasilkan tidak berbentuk kotak, maka digunakan teknik Masking. Teknik ini menggunakan fungsi Win32 API yaitu BitBlt. Contoh penggunaan fungsi BitBlt dalam penggunaan teknik Masking ditunjukkan oleh Gambar 2.13.

BitBlt field2.hDC, curX * 30, curY * 30, 30, 30, hitMask.hDC, frameNum * 32, 0, vbSrcAnd BitBlt field2.hDC, curX * 30, curY * 30, 30, 30, hit.hDC, frameNum * 32, 0, vbSrcPaint

Gambar 2.13. Contoh penggunaan BitBlt untuk teknik Masking

Pada Gambar 2.13. Kode BitBlt pada baris pertama akan menempatkan gambar Mask pada layar dengan raster operation vbSrcAnd (lihat pada akhir baris pertama) dan kode BitBlt yang kedua menempatkan gambar asli dengan raster operation vbSrcPaint (lihat pada akhir baris kedua). Perpaduan kedua gambar dengan raster operation tersebut menghasilkan obyek yang tidak berbentuk kotak. Lihat Gambar 2.14.

(39)

Raster operation menentukan operator logika yang digunakan untuk mengkombinasikan gambar tujuan dengan gambar sumber (Hakim, 2003:21).

Ada beberapa konstanta raster operation yang akan digunakan dalam pengkodean aplikasi permainan yang akan penulis bangun, yaitu sebagai berikut: 1. vbSrcCopy, meletakkan gambar secara utuh.

2. vbSrcAnd, untuk meletakkan gambar Mask.

(40)

BAB III

ANALISIS DAN PERANCANGAN

3.1 Analisis Masalah

Dalam membangun aplikasi permainan komputer ini, penulis melakukan analisa yang diperlukan dalam pembuatan aplikasi tersebut. Berikut ini adalah analisa yang dilakukan terhadap kebutuhan dasar sistem:

Pemain dapat meletakkan kapal perang di area atau tempat permainan atau menyusun strategi terlebih dahulu sebelum memulai permainan kapal perang ini, setelah pemain meletakkan seluruh kapal perang di area permainan barulah pemain dapat memainkan permainannya dan berperang dengan musuh.

Aktor dan use case ditentukan atas dasar kebutuhan sistem. Kebutuhan sistem ini diakomodir di use case. Selanjutnya use case menyediakan nilai hasil kepada aktor. Atas dasar spesifikasi di atas ada satu aktor yaitu pemain.

Untuk mendeskripsikan use case apa saja dan aktor yang terlibat dalam use case tersebut, dapat dilihat pada Tabel 3.1.

(41)

Tabel 3.1 Kebutuhan sistem, aktor dan use case pada aplikasi permainan kapal perang (Battleship)

No Kebutuhan Sistem Aktor Use Case

1 Pemain dapat memulai permainan , namun terlebih dahulu pemain haru meletakkan kapal ke area permainan atau menyusun strategi terlebih dahulu, barulah pemain dapat bertempur dengan musuh

Pemain Mulai permainan

3.1.1 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 dibangun yaitu sebagai berikut:

1. Elemen permainan, terdiri dari: a. Gambar latar belakang

b. Kapal (kapal pemain dan kapal musuh) c. Ledakan

d. Suara efek

2. Proses Perhitungan Skor dan kehancuran kapal, yaitu sebagai berikut:

a. Skor dapat diperoleh apabila pemain berhasil menghancurkan kapal musuh yang berada di daerah atau tempat lawan.

b. Kapal musuh dapat hancur apabila kapal musuh tersebut tertembak oleh kapal pemain.

3. Aplikasi permainan dengan karakter kapal perang tersebut menerima respon dari pengguna melalui Mouse untuk mengontrol atau mengendalikan kapal pemain dan menembak atau menghancurkan kapal musuh.

(42)

3.1.2 Parameter Keberhasilan

Aplikasi permainan dengan karakter kapal perang ini dinyatakan berhasil dibangun apabila sebagai berikut:

1. Pemain dapat meletakkan seluruh kapal perang ke area permainan.

2. Muncul ledakan akibat dari proses tubrukan, yaitu apabila kapal musuh terkena bom oleh pemain.

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 dilakukan oleh pengguna terhadap sistem (dalam hal ini permainan komputer dengan karakter kapal perang yang akan dibangun). Kebutuhan fungsional dari aplikasi permainan dengan karakter kapal perang ditunjukkan oleh Gambar 3.1.

BATTLESHIP

Gambar 3.1. Diagram Use Case Permainan Kapal perang (Battleship)

Penjelasan dari masing-masing use case dari Gambar 3.1 dapat dilihat berikut ini. << include >> Mengumpulkan nilai (Score) Mulai permainan Pemain

(43)

Use Case : Mengumpulkan nilai (Score)

Deskripsi Singkat : Use Case ini memungkinkan pemain untuk mengumpulkan nilai (score).

Aktor : Pemain

Kondisi Awal : Permainan telah dimulai dan sedang berjalan.

Aliran Utama : 1. Pemain menekan tombol pada mouse untuk menembak atau menghancurkan kapal musuh.

2. Pemain menggerakan kursor mouse untuk mencari dimana posisi kapal musuh yang berada di area permainan. Apabila pemain berhasil menemukan letak kapal musuh maka kapal musuh tersebut akan hancur dan pemain mendapatkan nilai (score).

3. Sistem akan menampilkan kotak dialog yang berisikan pesan bahwa kapal telah hancur.

4. Apabila pemain tidak berhasil menemukan letak kapal musuh maka kapal musuh akan tetap utuh.

Aliran Alternatif : 1. Pada langkah 4, jika tidak mengenai sasaran sistem kembali kelangkah 2.

Kondisi Akhir : Jika Use Case berhasil dijalankan maka pemain dapat mengumpulkan nilai (score) sebanyak mungkin.

(44)

Use Case : Mulai permainan

Deskripsi Singkat : Use Case ini memungkinkan pemain untuk memulai permainan.

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 jendela untuk mengatur strategi permainan.

3. Pemain meletakkan posisi kapal di area permainan.

4. Pemain menekan tombol start untuk memulai permainan.

5. Sistem akan menjalankan ketahapan berikutnya untuk memulai permainan dengan menampilkan jendela arena pertempuran.

Aliran Alternatif : 1. Pada langkah 1, jika pemain tidak menekan tombol mulai maka sistem tidak akan melakukan langkah 2. 2. Pada langkah 4, jika pemain tidak menekan tombol start

maka sistem tidak akan melakukan langkah 5.

Kondisi Akhir : Jika Use Case berhasil dijalankan maka permainan dimulai dan pemain dibawa ke suasana pertempuran.

(45)

3.3 Struktur Tabel

Tabel 3.2 Tabel Ranking

Atribut Tipe Panjang Keterangan

Nama varchar 15 Nama pemain

Score varchar 3 Nilai pemain

3.4 Class Diagram

Diagram kelas mendeskripsikan jenis – jenis objek dalam sistem dan berbagai macam hubungan statis yang terdapat di antara mereka. Diagram kelas juga menunjukan properti dan operasi sebuah kelas dan batasan – batasan yang terdapat dalam hubungan – hubungan objek tersebut.

Diagram kelas juga menggambarkan struktur dan deskripsi kelas, package dan objek beserta hubungan satu sama lain seperti generalization, realization, association, dan agregation. Dimana generalization adalah hubungan superclass dengan subclass atau parent dengan child, realization adalah dimana sebuah class harus mengikuti aturan class lainnya, association adalah hubungan structural antar class dan aggregation adalah hubungan antar class, dimana class yang satu adalah bagian dari class yang lainnya (Martin Fowler (2005:53)..

(46)

<<boundary>> form Main - lblAreaPemain : label - lblAreaLawan : label - lblscore : label - pic1: piturebox - pic2 : picturebox - cmdmulai : commandbutton - cmdptnjk : commandbutton - cmdranking : commandbutton - cmdstart : commandbutoon - option1 : optionbutton - option2 : optionbutton - option3 : optionbutton - option4 : optionbutton - option5 : optionbutton - image1 : image - image2 : image - image3 : image - image4 : image - fireAnim_timer : timer - hitAnim_timer : timer - missAnim_timer : timer + lblAreaPemain_click() + lblAreaLawan_click() + lblscore_click() + pic1: piturebox + pic2 : picturebox + cmdmulai _click() + cmdptnjk_click() + cmdranking_click() + cmdstart_click() + option1_click() + option2_click() + option3_click() + ption4_click() + option5_click() + image1_click() + image2_click() + image3_click() + image4_click() + fireAnim_Timer_click() + hitAnim_Timer_click() + missAnim_Timer_click() <<boundary>> form nama - txtnama : txtbox - lblnama : label - cmdok : commandbutton + txtnama_click() + lblnama_click() + cmdok_click() <<boundary>> form high - lblranking : label - lblnama : label - lblscore : label - cmdok :commandbutton + lblranking_click() + lblnama_click() + lblscore_click() + cmdok_click() <<boundary>> form petunjuk - lblptnjk : label - image1 : picturebox - cmdback : commandbutton + lblptnjk_click() + image1_click() + cmdback_click() <<entity>> score

+ mengumpulkan nilai score() + menampilkan nilai score()

(47)

Pada class diagram diatas dijelaskan bahwa terdapat lima kelas yang saling berhubungan. Kelas form main yang termasuk ke dalam boundary mempunyai hubungan aggregation (dimana kelas yang satu merupakan bagian dari kelas yang lain) dengan kelas form petunjuk, form nama, form high yang juga termasuk ke dalam boundary, disebut kelas boundary karena kelas tersebut berupa tampilan user interface yang merupakan sarana komunikasi antara system dengan user. Form petunjuk, form nama, form high tidak akan berjalan jika tidak ada proses dari form Main, oleh sebab itu kelas form petunjuk, form nama, form high merupakan bagian dari kelas form Main. Lalu pada form Main mempunyai hubungan generalization (hubungan antara parent dengan child) dimana kelas score yang juga entity adalah bagian dari form Main. Disebut kelas entity karena memperlihatkan proses apa saja yang akan ditawarkan oleh sistem kepada user.

3.5 Diagram Sekuensial

Diagram Sekuensial digunakan ketika ingin mengetahui perilaku beberapa obyek pada Use Case tunggal. Diagram Sekuensial bagus dalam menunjukkan kolaborasi diantara obyek, 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.3, dan diagram Sekuensial untuk Use Case mengumpulkan nilai (sore) ditunjukkan oleh Gambar 3.4.

(48)

Kapal perang Pemain

Mulai permainan

Klik tombol untuk memulai permainan

Kapal musuh

Meletakkan posisi kapal

Hancurkan musuh

Permainan dimulai

Gambar 3.3. Diagram Sekuensial untuk Use Case memulai permainan

Pada Gambar 3.3, jika aktor pemain ingin memulai permainan, maka ia diharuskan meletakkan posisi kapal perang yang akan dimainkan. Setelah meletakkan kapal perang, pemain harus menekan tombol untuk memulai permainan pada aplikasi permainan tersebut untuk memulai permainan. Selanjutnya jika permainan telah dimulai pemain dapat menghancurkan musuh (bertempur dengan musuh).

(49)

Kapal perang menembak Pemain

Menekan tombol pada mouse

Kapal musuh hancur

Kapal musuh tidak hancur

Tembakan mengenai musuh

Tembakan tidak mengenai musuh Score bertambah

Gambar 3.4. Diagram Sekuensial untuk Use Case mengumpulkan nilai (score)

Pada Gambar 3.4, ketika aktor pemain menekan tombol mouse sebelah kiri atau kanan, maka obyek kapal perang akan menembak, namun tidak diketahui obyek kapal perang yang mana akan menembak untuk menghancurkan kapal musuh dikarenakan pemain memiliki 10 kapal perang. Dan peluru dari kapal perang tersebut digambarkan berupa kursor mouse. Sebelum menghancurkan kapal musuh pemain harus mencari letak kapal musuh terlebih dahulu. Jika tembakan pemain mengenai obyek kapal musuh, maka obyek kapal musuh tersebut akan hancur dan pemain mendapatkan nilai (score). Namun jika tembakan pemain tidak mengenai obyek kapal musuh, maka obyek kapal musuh tersebut tidak hancur.

(50)

3.6 Diagram Aktifitas

Diagram aktifitas merupakan pemodelan aliran kerja (workflow) sebuah proses, atau urutan aktifitas dalam suatu proses. Dengan diagram aktifitasini 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, dan diagram Aktifitas untuk Use Case bertempur dengan musuh ditunjukkan oleh Gambar 3.6.

Mulai permainan

Meletakkan kapal perang

Bertempur dengan musuh

Permainan berakhir

Gambar 3.5. Diagram Aktifitas untuk Use Case memulai permainan.

Pada Gambar 3.5, aktifitas dimulai dengan meletakkan kapal perang di arena permaianan atau menyusun strategi yang akan dimainkan. Setelah aktifitas meletakkan kapal perang atau menyusun strategi, aktifitas selanjutnya adalah

(51)

memulai permainan. Setelah permainan dimulai, aktifitas selanjutnya adalah mengumpulkan nilai (score). untuk lebih jelas mengenai aktifitas mengumpulkan nilai (score) lihat Gambar 3.6.

Pada Gambar 3.6, aktifitas diawali menggerakkan kursor untuk mencari letak kapal yang tersembunyi dan menekan tombol mouse sebelah kiri untuk menghancurkan kapal musuh. Apabila berhasil menemukan atau mengenai kapal musuh, maka akan terdengar suara ledakan dan pemain mendapatkan nilai (score). Apabila tidak mengenai kapal musuh maka giliran musuh atau lawan yang menyerang atau mencari kapal pemain. Apabila musuh atau lawan berhasil menemukan atau mengenai kapal pemain maka kapal pemain hancur. Jika tidak maka giliran pemain yang kembali menyerang musuh atau lawan. Aktifitas selanjutnya adalah menentukan apakah kapal musuh atau kapal pemain sudah habis atau tidak, jika ya maka permainan berakhir dan jendela ranking yang berisi nama-nama dan nilai skor yang mempunyai nilai tertinggi akan ditampilkan, jika tidak maka pemain mendapat giliran lagi untuk menyerang lawan.

(52)

Menggerakkan kursor dan Menekan tombol pada mouse

Tidak

Ya

Lawan menyerang kapal pemain

Tidak

Ya Ya

Mengenai kapal musuh?

Apakah kapal musuh atau kapal pemain habis? Mengenai kapal Pemain? Permainan berakhir Kapal hancur Tidak Suara ledakan

Gambar 3.6. Diagram Aktifitas untuk Use Case mengumpulkan nilai (score)

Tampilkan ranking Score bertambah

(53)

3.7 Diagram Deploymen (Deployment Diagram)

Diagram Deploymen menyediakan gambaran bagaimana sistem secara fisik akan terlihat (Munawar, 2005:127). Diagram Deploymen dari aplikasi permainan komputer dengan karakter kapal perang (Battleship) ditunjukkan oleh Gambar 3.7.

Game Application PC (Microsoft Windows OS)

Visual Basic Runtime Files: Msvbvm60.dll Stdole2.tlb Oleaut32.dll Olepro32.dll Comcat.dll Asyncfilt.dll Ctl3d32.dll Battleship.exe

Gambar 3.7. Diagram Deploymen dari aplikasi permainan Battleship

Pada Gambar 3.7, aplikasi permainan komputer dengan karakter kapal perang tersebut dipasang pada komputer pribadi bersifat stand alone. Pada gambar tersebut terdapat node lingkungan pengeksekusian yaitu perangkat lunak yang menjadi Host atau mengandung perangkat lunak yang lain. Node lingkungan pengeksekusian tersebut yaitu Sistem Operasi Microsoft Windows. Node tersebut berfungsi sebagai tempat pengeksekusian Visual Basic Runtime files dan aplikasi permainan komputer dengan karakter kapal perang (Battleship.exe). Visual Basic Runtime files adalah berkas-berkas yang dibutuhkan bagi semua aplikasi yang dibangun dengan bahasa

(54)

pemrograman Visual Basic agar aplikasi-aplikasi yang dibangun dengan bahasa tersebut dapat berjalan sebagaimana mestinya pada komputer yang tidak mempunyai perangkat lunak Microsoft Visual Basic (Vine, 2001:311).

3.8 Algoritma Perhitungan Skor

Berikut ini adalah algoritma perhitungan nilai (skor) yang akan diterapkan pada aplikasi permainan yang akan dibangun:

1. Skor awal adalah nol (0).

2. Bila bagian-bagian kapal musuh terkena bom oleh pemain maka tambahkan nilai skor dengan sepuluh (skor = skor + 10). Dan jika pemain berhasil menembak semua bagian kapal (kapal hancur) maka nilai skor ditambahkan 20 (skor = skor + 20)

3. Ulangi langkah nomor 2 hingga permainan berakhir.

3.9 Diagram Alur (flowchart)

Berikut ini adalah Diagram Alur (flowchart) perhitungan nilai (skor) yang akan diterapkan pada aplikasi permainan yang akan dibangun.

Pada diagram alur perhitungan nilai (skor) dimulai dengan kondisi nilai skor awal adalah 0. jika kapal hancur nilai skor bertambah. Jika tidak hancur nilai skor tidak bertambah. Dan sistem menampilkan nilai skor ke layar. Lihat Gambar 3.8.

(55)

selesai Nilai skor = 0 T Y Nampilkan nilai skor Nilai skor bertambah Kapal hancur mulai

Gambar 3.8. Diagram alur perhitungan nilai (skor)

3.10 Perancangan Antarmuka Permainan

Perancangan antarmuka dibutuhkan dalam rekayasa perangkat lunak agar aplikasi yang dibangun mudah digunakan oleh pengguna (user friendly). Untuk itu perlu diciptakan suatu antarmuka pengguna yang baik.

Pada aplikasi permainan yang akan dibangun, terdapat empat (4) 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 inisialisasi, jendela meletakkan kapal perang, jendela permainan, jendela petunjuk. Pada subbab berikut akan dijelaskan mengenai perancangan dari jendela-jendela tersebut.

(56)

3.10.1 Perancangan Jendela Inisialisasi

Gambar 3.9 memperlihatkan jendela inisialisasi yang berfungsi sebagai jendela pertama yang muncul di layar monitor ketika program aplikasi permainan Battleship dijalankan.

Pada Gambar 3.9 Pemain dapat meletakkan atau menyiapkan strategi kapal perang yang akan dimainkan sebelum permainan dimulai dengan mengklik tombol mulai. Pemain dapat melihat petunjuk cara penggunaan permainan kapal perang yang akan dimainkan dengan mengklik tombol petunjuk. Pemain dapat melihat nilai tertinggi dengan mengklik tombol ranking.

Gambar

Mulai

Ranking Petunjuk

Gambar Latar Belakang

Gambar 3.9. Perancangan jendela inisialisasi

3.10.2 Perancangan Jendela Meletakkan Kapal Perang

Apabila pemain mengklik tombol mulai permainan, maka jendela untuk meletakkan atau menyusun strategi kapal perang muncul di layar monitor dan jendela inisialisasi akan dihilangkan dari layar monitor. Pada jendela meletakkan kapal

(57)

perang, pemain dapat meletakkan kapal perang yang berbeda ketempat area permainan. Jendela meletakkan kapal perang ditunjukkan oleh Gambar 3.10.

O Battleship 1 left

Gambar 3.10. Perancangan jendela meletakkan kapal perang

3.10.3 Perancangan Jendela Permainan

Apabila pemain telah meletakkan seluruh atau semua kapal perang pada jendela meletakkan kapal perang, maka jendela permainan akan muncul di layar monitor dan jendela meletakkan kapal perang akan dihilangkan dari layar monitor. Untuk memulai permainan, pemain dapat mengklik tombol bertuliskan Start yang ada di jendela meletakkan kapal perang. Apabila permainan mulai berjalan maka kapal perang (battleship) akan ditampilkan pada layar permainan dan pemain sudah

O Cruiser 2 left O Submarine 3 left O Destroyer 4 left O Clear Current Selection

Choose a ship to pleace on your field AREA PEMAIN Gambar Gambar Gambar Gambar Gambar BATTHELSHIP Start

(58)

dapat memulai permainan. Perancangan dari jendela permainan ditunjukkan oleh Gambar 3.11. SCORE Gambar AREA LAWAN AREA PEMAIN

Gambar 3.11. Perancangan jendela permainan

3.10.4 Perancangan Jendela Petunjuk

Pemain dapat melihat atau membaca petunjuk yang digunakan untuk mejelaskan bagai mana cara menggunakan permainan yang akan dimainkan dengan mengklik tombol Petunjuk pada jendela inisialisasi. Perancangan untuk jendela petunjuk ditunjukkan oleh Gambar 3.12.

(59)

Petunjuk game battleship Gambar disertai teks yang berisi penjelasan bagaimana cara menggunakan game battleship.

Tombol untuk kembali ke jendela inisialisasi.

Gambar 3.12. Perancangan jendela petunjuk

3.10.5 Perancangan Jendela Nama

Setelah permainan selesai pemain dapat mengisikan namanya di jendela nama yang kemudian pemain akan dapat melihat namanya apakah masuk ke dalam ranking lima besar atau tidak. Perancangan jendela nama ditunjukkan oleh Gambar 3.13.

OK ENTER YOUR NAME

(60)

3.10.6 Perancangan Jendela Ranking

Pemain dapat melihat daftar nama-nama dan nilai-nilai tertinggi yang ada di jendela ranking dengan mengklik tombol Ranking pada jendela inisialisasi. Perancangan untuk jendela ranking ditunjukkan oleh Gambar 3.14.

RANKING Nama Score

Ok

(61)

BAB IV

IMPLEMENTASI DAN PENGUJIAN SISTEM

4.1 Implementasi

Setelah tahap analisis dan perancangan selesai dilakukan, maka tahap selanjutnya adalah tahap implementasi. Pada subbab berikut akan dijelaskan implementasi dari aplikasi permainan komputer dengan karakter kapal perang yang penulis bangun yang terdiri dari lingkungan implementasi, pengkodean, dan antarmuka dari aplikasi permainan tersebut.

4.1.1 Lingkungan Implementasi

Aplikasi permainan komputer dengan karakter kapal perang dibangun dan diimplementasikan pada seperangkat komputer pribadi (Personal Computer) dengan spesifikasi sebagai berikut:

1. Perangkat Keras yang digunakan:

a. Prosesor : Intel Celeron 1.7 Ghz. b. Motherboard : Matsonic MS9138D

(62)

c. Memori : 256 MB SDRAM

d. VGA : NVidia GeForce2 MX/MX400 64 MB e. Harddisk : Maxtor 40 Gb 7200 Rpm

2. Perangkat Lunak yang digunakan:

a. Microsoft Windows XP Professional, sebagai Sistem Operasi.

b. Microsoft Visual Basic versi 6.0 edisi profesional, sebagai alat (tool) untuk membangun aplikasi permainan tersebut.

4.1.2 Pengkodean

Pada subbab ini penulis akan menjelaskan potongan-potongan dari kode sumber (source code) aplikasi permainan komputer dengan karakter kapal perang. Kode sumber untuk aplikasi permainan tersebut dibangun dengan menggunakan bahasa pemrograman Visual Basic versi 6.0.

Pada setiap potongan kode program untuk menampilkan gambar ke layar permainan akan terdapat kode program berawalan BitBlt (kepanjangan dari Bit Block Transfer). Kode program ini merupakan bagian dari fungsi Win32 API yang digunakan untuk menggambar dan memanipulasi gambar yang akan ditampilkan di layar permainan. Fungsi BitBlt tersebut sering digunakan untuk menghasilkan animasi yang cepat dan halus. Fungsi BitBlt harus dideklarasikan terlebih dahulu seperti berikut ini:

Declare Function BitBlt Lib ”gdi32” (ByVal hDestDC as long, ByVal x as long, ByVal y as long, ByVal nWidth as long, ByVal nHeight as long, ByVal hSrcDC as long, ByVal xSrc as long, ByVal ySrc as long, ByVal dwRop as long) as long

Fungsi BitBlt tersebut di atas pertama kali menspesifikasikan area yang menjadi tujuan penggambaran yang ditunjukkan oleh kode ByVal hDestDC as long,

(63)

misalnya tujuan penggambaran tersebut adalah sebuah kontrol PictureBox pada Visual Basic versi 6.0. Kemudian koordinat kiri atas gambar diletakkan pada PictureBox tersebut yang ditunjukkan oleh kode ByVal x as long, ByVal y as long. Kemudian ditentukan panjang dan lebar gambar yang akan ditampilkan ditunjukkan oleh kode ByVal nWidth as long, ByVal nHeight as long. Selanjutnya spesifikasikan area sumber gambar, yang ditunjukkan oleh kode ByVal

hSrcDC as long, dan tentukan koordinat kiri atas dari gambar yang diambil dari

gambar sumber yang ditunjukkan oleh kode ByVal xSrc as long, ByVal ySrc as long. Yang terakhir adalah spesifikasikan cara kita menempatkan gambar tersebut (dalam Visual Basic disebut dengan raster operation, telah dibahas pada Bab II), ditunjukkan oleh kode ByVal dwRop as long.

Contoh penggunaan dari deklarasi fungsi BitBlt tersebut di atas adalah sebagai berikut:

BitBlt area_pic.hDC, 0, 0, BACKGROUNDWIDTH, BACKGROUNDHEIGHT, _ background_pic.hDC, 0, 0, vbSrcCopy

Aplikasi permainan komputer dengan karakter kapal perang (Battleship) dibangun dengan menyatukan beberapa unsur permainan seperti yang telah diuraikan pada tahap analisis pada Bab III. Berikut ini adalah potongan-potongan kode program dari elemen penyusun aplikasi permainan tersebut:

1. Potongan kode program untuk tampilan jenis-jenis gambar kapal perang, yang terdiri dari Battleship, Cruiser, Submarine, Destroyer Kode 4.1 memperlihatkan pengkodean untuk jenis kapal perang Battleship.

(64)

Kode 4.1. Potongan kode program menggambar kapal Battleship

Pada kode 4.1, baris pertama merupakan awal permulaan fungsi bernama

draw_battleship. Baris ke 2 adalah komentar. Baris ke 3 hingga baris ke 4 adalah fungsi Win32 API untuk menampilkan Mask dari gambar sumber bagian belakang kapal. Baris ke 5 hingga baris ke 6 adalah fungsi Win32 API untuk menampilkan gambar sumber bagian belakang kapal ke layar permainan. Baris ke 7 hingga baris ke 8 adalah fungsi Win32 API untuk menampilkan Mask dari gambar sumber bagian badan kapal1. Baris ke 9 hingga baris ke 10 adalah fungsi Win32 API untuk menampilkan gambar sumber bagian badan kapal1 ke layar permainan. Baris ke 11 hingga baris ke 12 adalah fungsi Win32 API untuk menampilkan Mask dari gambar sumber bagian badan kapal2. Baris ke 13 hingga baris ke 14 adalah fungsi Win32 API untuk menampilkan gambar sumber bagian badan kapal2 ke layar permainan. Baris ke 15 hingga baris ke 16 adalah fungsi Win32 API untuk menampilkan Mask dari gambar sumber bagian depan kapal. Baris ke 17 hingga baris ke 18 adalah fungsi Win32 API untuk menampilkan

1 Sub draw_battleship()

2 ' prosedur menggambar kapal perang

3 BitBlt picCurrent.hDC, 0, 0, tile.ScaleWidth,

4 tile.ScaleHeight, shipLeftEndMask.hDC, 0, 0, vbSrcAnd 5 BitBlt picCurrent.hDC, 0, 0, tile.ScaleWidth,

6 tile.ScaleHeight, shipLeftEnd.hDC, 0, 0, vbSrcPaint 7 BitBlt picCurrent.hDC, 30, 0, tile.ScaleWidth, 8 tile.ScaleHeight, shipMid1Mask.hDC, 0, 0, vbSrcAnd 9 BitBlt picCurrent.hDC, 30, 0, tile.ScaleWidth, 10 tile.ScaleHeight, shipMid1.hDC, 0, 0, vbSrcPaint 11 BitBlt picCurrent.hDC, 60, 0, tile.ScaleWidth, 12 tile.ScaleHeight, shipMid2Mask.hDC, 0, 0, vbSrcAnd 13 BitBlt picCurrent.hDC, 60, 0, tile.ScaleWidth, 14 tile.ScaleHeight, shipMid2.hDC, 0, 0, vbSrcPaint 15 BitBlt picCurrent.hDC, 90, 0, tile.ScaleWidth,

16 tile.ScaleHeight, shipRightEndMask.hDC, 0, 0, vbSrcAnd 17 BitBlt picCurrent.hDC, 90, 0, tile.ScaleWidth,

18 tile.ScaleHeight, shipRightEnd.hDC, 0, 0, vbSrcPaint 19 End Sub

(65)

gambar sumber bagian depan kapal ke layar permainan. Baris ke 19 adalah akhir dari sub prosedur tersebut.

Kode 4.2. Potongan kode program menggambar kapal Cruiser

Pada kode 4.2, baris pertama merupakan awal permulaan fungsi bernama draw_cruiser.

Baris ke 2 adalah komentar. Baris ke 3 hingga baris ke 4 adalah fungsi Win32 API untuk menampilkan Mask dari gambar sumber bagian belakang kapal. Baris ke 5 hingga baris ke 6 adalah fungsi Win32 API untuk menampilkan gambar sumber bagian belakang kapal ke layar permainan. Baris ke 7 hingga baris ke 8 adalah fungsi Win32 API untuk menampilkan Mask dari gambar sumber bagian badan kapal1. Baris ke 9 hingga baris ke 10 adalah fungsi Win32 API untuk menampilkan gambar sumber bagian badan kapal1 ke layar permainan. Baris ke 11 hingga baris ke 12 adalah fungsi Win32 API untuk menampilkan Mask dari gambar sumber bagian depan kapal. Baris ke 13 hingga baris ke 14 adalah fungsi Win32 API untuk menampilkan gambar sumber bagian depan kapal ke layar permainan. Baris ke 15 adalah akhir dari sub prosedur tersebut.

1 Sub draw_cruiser()

2 ' prosedur menggambar kapal penjelajah

3 BitBlt picCurrent.hDC, 0, 0, tile.ScaleWidth,

4 tile.ScaleHeight, shipLeftEndMask.hDC, 0, 0, vbSrcAnd 5 BitBlt picCurrent.hDC, 0, 0, tile.ScaleWidth,

6 tile.ScaleHeight, shipLeftEnd.hDC, 0, 0, vbSrcPaint 7 BitBlt picCurrent.hDC, 30, 0, tile.ScaleWidth, 8 tile.ScaleHeight, shipMid1Mask.hDC, 0, 0, vbSrcAnd 9 BitBlt picCurrent.hDC, 30, 0, tile.ScaleWidth, 10 tile.ScaleHeight, shipMid1.hDC, 0, 0, vbSrcPaint 11 BitBlt picCurrent.hDC, 60, 0, tile.ScaleWidth,

12 tile.ScaleHeight, shipRightEndMask.hDC, 0, 0, vbSrcAnd 13 BitBlt picCurrent.hDC, 60, 0, tile.ScaleWidth,

14 tile.ScaleHeight, shipRightEnd.hDC, 0, 0, vbSrcPaint 15 End Sub

Gambar

Tabel 2.2. Notasi-notasi dalam pemodelan diagram Use Case menurut Booch dkk
Gambar 2.4. Contoh diagram Sekuensial (Dennis dkk, 2005:239) aPatient Request Appt() aReceptionistPatient: ListUnPaindBills:List Appointments: List LookUpPatient()  anAppt:  Appointments New,Cancel, or Change Appt?() [PatientExist] LookUpBills() ApptTimes?() Match Appt() Create Appt()
Gambar 2.5. Macam-macam Flow &amp; Edge
Diagram Deploymen menunjukkan tata letak
+7

Referensi

Dokumen terkait

Keuntungan dari material plastik yaitu tahan lama menjadi kekurangan yang fatal bagi lingkungan hidup kita, lantas hal tersebut menjadi sebuah dillema hubungan atara

PELABUHANRATU SELAMAT TOSERBA SUKABUMI SEVEN ELEVEN,MM YOGYA, SM (SKB) BERKAH, TO HERI, TO HIDUP BARU, TO MEGAH JAYA, TO PRIMA, TO SUMBER RIZKY, TO (CISAAT) SUMBER RIZKY,

Use Case Diagram atau diagram use case merupakan pemodelan untuk kelakuan (behavior) sistem informasi yang akan dibuat. Use Case mendeksripsikan sebuah interaksi

Berdasarkan hasil penelitian yang telah dilakukan, maka saran yang dapat diberikan adalah peneliti mencoba mene- liti lebih lanjut dengan subjek penelitian yang berbeda

Weaver (1993: 138) dalam menjelaskan Intrapersonal Communication (IC) atau KIP, melibatkan semua percakapan yang terjadi pada diri yang berkaitan dengan langkah-langkahnya melalui

Hasil penelitian yang disajikan pada Tabel 1 dan Tabel 2 menunjukkan bahwa implementasi model IBMR berbantu PhET Simulation pada pembelajaran fisika adalah efektif untuk

Berdasarkan perhitungan Metode Fenske dan metode Shortcut Minimum maka didapat Fraksi berat dari tiap komposisi... Tenperatur dan tekanan flash tank asam lemak dapat dicari

Pendekatan yang lebih membantu adalah dengan mengasumsikan bahwa user akan membutuhkan bantuan pada suatu waktu dan merancang bantuan (help) ini ke dalam system. • Ada empat