SKRIPSI
Diajukan untuk Menempuh Ujian Akhir Sarjana
ANGGY MAULANA ARIEFIN
10109416
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS TEKNIK DAN ILMU KOMPUTER
iv
KATA PENGANTAR··· iii
DAFTAR ISI ···iv
DAFTAR GAMBAR ···viii
DAFTAR TABEL ···xi
DAFTAR SIMBOL··· xiv
DAFTAR LAMPIRAN···xix
BAB 1 PENDAHULUAN··· 1
1.1. Latar Belakang Masalah··· 1
1.2. Rumusan Masalah···2
1.3. Maksud dan Tujuan··· 2
1.4. Batasan Masalah··· 2
1.5. Metodologi Penelitian···3
1.5.1. Tahap Pembangunan Aplikasi··· 4
1.6. Sistematika Penulisan··· 6
BAB 2 TINJAUAN PUSTAKA··· 7
2.1. PengertianGame···7
2.2. Permainana Kartu Kwartet···7
2.3. AI(Artficial Intelligence)···8
2.4. Skala Likert···9
2.5. Metode Probabilitas··· 12
2.6. Pemograman Berorientasi Objek···14
v
2.8.3. Activity Diagram···21
2.8.4. Sequence diagram···22
2.8.5. Class Diagram···23
2.8.6. State Chart Diagram···24
2.8.7. Collaboration Diagram··· 24
2.9. Sistem Operasi Android···25
2.9.1 Sejarah Android... 25
2.9.2 Fitur-fitur di Android...27
2.10. Eclipse···29
2.10.1. Sejarah Eclipse···29
2.10.2. Arsitektur Eclipse··· 30
2.10.3. Perkembangan Eclipse···31
2.10.4. Software Development Kit (SDK)···31
2.10.5. Java Development Kit (JDK)···32
2.10.6. Android Development Tool (ADT)··· 32
2.11. Library LibGDX··· 33
2.12. InkScape···33
2.13. Audacity···34
BAB 3 ANALISIS DAN PERANCANGAN SISTEM···35
3.1. Analisis sistem··· 35
3.2. Analisis masalah··· 35
vi
3.4. Analisis Game yang Akan Dibangun···39
3.5. Analisis kebutuhan game···40
3.5.1. Kategori dan sub kategori kartu kwartet ···40
3.5.2. Gameplay···51
3.5.3. Scoring···51
3.6. AnalisisAlgoritma···51
3.7. Analisis Kebutuhan Non-Fungsional···57
3.7.1. Analisis dan Kebutuhan Perangkat Keras···58
3.7.2. Analisis dan Kebutuhan Perangkat Lunak···59
3.7.3. Analisis dan Kebutuhan Pengguna··· 59
3.8. Analisis Kebutuhan Fungsional···61
3.8.1. Use case Diagram··· 61
3.8.1.1. Definisi Aktor··· 61
3.8.1.2. Definisi Use case··· 62
3.8.1.3. Skenario Use case ··· 63
3.8.2. Activity Diagram··· 69
3.8.3. Sequence Diagram··· 72
3.8.4. Class Diagram···76
3.8.4.1. Daftar Kelas··· 78
3.8.4.2. Operasi dan Atribut···79
3.8.5. Diagram State··· 92
vii
BAB 4 IMPLEMENTASI DAN PENGUJIAN···99
4.1. Implementasi···99
4.1.1 Perangkat Lunak ··· 99
4.1.2 Perangkat Keras··· 100
4.1.3 Implementasi Instalasi Aplikasi Game··· 101
4.1.4 Implementasi Antar Muka··· 102
4.2. Pengujian Perangkat Lunak··· 103
4.2.1 Pengujian BlackBox··· 103
4.2.2 Kesimpulan Pengujian BlackBox··· 105
4.2.3 Pengujian Tingkat Akurasi Metode Probabilitas···106
4.2.4 Kesimpulan Pengujian Tingkat Akurasi Metode Probabilitas···107
4.2.5 Pengujian Kuisioner···107
4.2.2.1. Kesimpulan Pengujian Kuisioner··· 114
BAB 5 KESIMPULAN DAN SARAN··· 117
5.1. Kesimpulan··· 117
5.2. Saran··· 117
119
Diakses pada tanggal 17 Juli 2014. Jam 18:24.
[2]. Kompas. “Budaya korea yang mengubah hidup”.
http://megapolitan.kompas.com/read/2012/12/10/02071756/Budaya.Korea. yang.Mengubah.Hidup. Diakses pada tanggal 17 Juli 2014. Jam 20:05.
[3]. Nazir, Moh.Metode penelitian.Bogor: Ghalia Indonesia, 2005.
[4]. Arikunto, Suharsimi.Prosedur Penelitian Suatu Pendekatan Praktek Edisi Revis V.Jakarta: Rineka Cipta, 1997.
[5]. Sommerville, Ian.Software Engineering, 9thed. Boston: Pearson, 2011.
[6]. Rouse, Richard.Game Design Theory & Practice.United State of America: Wordware Publishing Inc, 2005.
[7]. Go Fish,Rules Of Card Game: Go Fish.
http://www.pagat.com/quartet/gofish.html, Diakses pada tanggal 11 Agustus 2014 Jam 5.20.
[8]. Desiani, Anita dan Arhami, Muhammad. “Konsep Kecerdasan Buatan”. Yogyakarta: Penerbit Andi, 2006.
[9]. Budiaji, Weksi. “Skala Pengukuran dan Jumlah Responden Skala Likert”, 15 Oktober 2013.
[10]. Untoro, Joko.Super Matematika SMA IPA. Depok: Kawah Media, 2010.
[11]. K. Moekasan, Erlangga. (2008) Rekayasa Perangkat Lunak OOAD dengan UML, Hand Out Rekayasa Perangkat Lunak, Universitas Komputer
120
Developers Software Engineering Series, Boston: Thomson, 2004.
[14]. Mario Zechner, Robert Green.Begining Android 4 Games Development. New York: Apress, 2011.
[15]. The Eclipse Foundation. “About the Eclipse Foundation”,
http://www.eclipse.org/org/. Diakses pada tanggal 10 Agustus 2014 Jam 18.20
[16]. Mario Zechner. “LibGDX”.
http://libgdx.badlogicgames.com/documentation.html. Diakses pada tanggal 17 Juli 2014 jam 18:22.
[17]. Inkscape. “Inkscape Overview”. http://inkscape.org/en/about/. Diakses pada tanggal 11 Agustus 2014 jam 5:30.
[18]. Audacity. “About Audacity”. http://audacity.sourceforge.net/about/. diakses pada tanggal 11 Agustus 2014 jam 5:40.
iii Bismillaahirrahmaanirrahiim,
Segala puji dan syukur peneliti panjatkan ke hadirat Allah SWT yang senantiasa mencurahkan rahmat dan karunia-Nya. Shalawat serta salam semoga tetap terlimpah kepada Rasulullah SAW, kepada keluarganya, sahabatnya, hingga pada umatnya yang mengikuti ajarannya. Alhamdulillah, atas ijin dan pertolongan-Nya, peneliti dapat menyelesaikan skripsi ini dengan sebaik-baiknya.
Penyusunan skripsi ini bertujuan untuk memenuhi syarat memperoleh gelar Sarjana pada Jurusan Teknik Informatika Universitas Komputer Indonesia dengan judul skripsi “Pembangunan Permainan Beauty Of Indonesia Quartet Card”.
Dengan segala kerendahan hati dan keterbatasan kemampuan yang peneliti miliki, peneliti menyadari bahwa rangkuman ini jauh dari sempurna, oleh karena itu peneliti mengharapkan saran dan kritik yang dapat membangun semangat peneliti untuk terus menjadi yang lebih baik lagi.
Bandung, 12 Agustus 2014
Tempat tanggal lahir : Bandung, 11 September 1991
Agama : Islam
Alamat : Kp Hujung RT/RW 01/04 Ciparay No telpon : 089655451583
Email :anggy.all@gmail.com
Pendidikan
1. Tahun 1997 – 2003 : SD Negeri 1 Ciparay 2. Tahun 2003 – 2006 : SMP Negeri 1 Ciparay 3. Tahun 2006 – 2009 : SMA Negeri 1 Ciparay
7 4.4 Latar Belakang Masalah
Indonesia merupakan Negara kepulauan yang tersebar di sekitar khatulistiwa. Terdapat ratusan bahkan lebih suku bangsa yang ada di bumi Indonesia. Dari keberagaman suku ini akhirnya terbentuklah suatu budaya yang berbeda satu sama lain. Keberagaman budaya inilah yang menjadi keindahan dan ciri khas tersendiri bagi Negara Indonesia.
Di era globalisasi ini, budaya asing sangat mudah masuk ke Indonesia. Terlebih lagi, budaya tersebut diinformasikan kepada masyarakat Indonesia melalui berbagai macam media informasi serta dengan cara yang lebih menarik dan lebih modern[7]. Hal ini mengakibatkan masyarakat Indonesia menjadi lebih tertarik akan budaya asing ketimbang budaya yang mereka miliki[2]. Jika dibiarkan, maka budaya yang ada di Indonesia tidak akan lagi dikenal oleh masyarakatnya, bahkan mereka akan lebih mengenal budaya asing. Oleh karena itu dibutuhkanlah suatu media yang mampu memberikan informasi tentang budaya bangsa Indonesia kepada masyarakatnya dengan cara yang lebih menarik.
maka kartu kwartet tidak dapat dimainkan, dan terlebih lagi jumlah pemain dalam permainan ini paling sedikit berjumlah 2 orang.
Oleh karena itu, untuk untuk mengatasi kelemahan tersebut permainan kartu kwartet dibangun dalam bentuk game yang diterapkan melalui teknologi mobile.
Penerapan teknologi mobile ini menjadikan game kartu kwartet lebih mudah untuk digunakan karena sifatnya yang fleksibel, juga diharapkan mampu memperkenalkan kebudayaan Indonesia kepada masyarakat.
4.2 Rumusan Masalah
Berdasarkan latar belakang yang telah dikemukakan sebelumnya, maka dapat dirumuskan suatu masalah yaitu bagaimana membangun suatugame Beauty Of Indonesia Quartet Card yang mampu menginformasikan berbagai budaya yang ada di Indonesia dengan cara yang lebih menarik.
4.3 Maksud dan Tujuan
Secara umum, maksud dari penelitian ini ialah untuk membangun Game Beauty Of Indonesia Quartet Card.
Adapun tujuan dari pembangunan game ialah agar game dapat menjadi salah satu media yang dapat memperkenalkan dan memberikan informasi tentang berbagai budaya Indonesia kepada pengguna.
4.4 Batasan Masalah
7. Target pengguna game ini adalah pengguna yang dapat mengoperasikan sistem operasi Android dengan baik.
3. Pengguna yang dapat membaca dan mengerti bahasa Indonesia dengan baik.
4.5 Metodologi Penelitian
Dalam pelaksanaannya, metode yang digunakan dalam penelitian ini ialah medote deskriptif. Metode deskriptif merupakan suatu metode dalam meneliti status sekelompok manusia, suatu objek, suatu set kondisi, suatu sistem pemikiran ataupun suatu kelas peristiwa pada masa sekarang[3].
4.5.4 Metode pengumpulan data
Metode Pengumpulan data yang digunakan dalam penelitian ini adalah sebagai berikut[4]:
a. Studi Literatur.
Pengumpulan data dengan cara mengumpulkan literatur, jurnal, paper, dan pencarian data yang bersumber dari internet yang berkaitannya dengan aplikasi yang akan dibangun.
b. Interview
Metode pengumpulan data dengan melakukan tanya jawab secara langsung dengan sumber yaitu sanggar-sanggar seni kebudayaan atau masyarakat daerahnya.
c. Kuisioner
4.5.2 Tahap Pembangunan Perangkat Lunak
Metode yang digunakan dalam pembangunan perangkat lunak ini ialah model waterfall. Model ini mengusulkan sebuah pendekatan kepada perkembangan software yang sistematik dan sekuensial yang mulai pada tingkat dan kebutuhan sistem pada seluruh spesifikasi kebutuhan perangkat lunak, desain perangkat lunak, implementasi perangkat lunak, uji mesin formal integrasi perangkat lunak, dan operasi dan perawatan. Paradigmawaterfallditunjukan pada Gambar I.7:
Gambar 4. 4 Diagram Waterfall[5]
Teknik analisis dalam pembuatan perangkat lunak menggunakan metode
waterfallini meliputi beberapa proses diantaranya:
7. Requirements Definition
Permodelan ini diawali dengan mencari kebutuhan dari keseluruhan sistem yang akan diaplikasikan ke dalam bentuk software. Hal ini sangat penting, mengingat software harus dapat berinteraksi dengan elemen-elemen yang lain seperti hardware, database, dsb.
Dalam pase ini disain sistem dan software akan dipersiapkan sesuai dengan spesifikasi kebutuhan yang telah dilakukan pada pase pertama. Sistem disain akan membantu dalam mengspesifikasi hardware dan kebutuhan sistemdan juga dapat membantu dalam mengidentifikasi arsitektur sistem secara keseluruhan.
3. Implementation and unit testing
Dalam pase ini kode kode program dibangun dan dilakukan oleh
programmer berdasarkan hasil dari sistem disain yang telah dilakukan
pada pase kedua. Tahapan inilah yang merupakan tahapan secara nyata dalam mengerjakan suatu sistem. Dalam artian pase ini lebih berfokus padadeveloper.
4. Integration and system testing
Setelah kode kode program selesai dibangun, maka dilakukan pasetesting
Tujuan pengujian ini ialah untuk menemukan kesalahan-kesalahan terhadap sistem tersebut dan kemudian diperbaiki supaya dapat digunakan secara maksimal.
5. Operation and maintenance
4.6 Sistematika Penulisan
Sistematika penulisan dibuat untuk memberikan gambaran umum mengenai penelitian yang dilakukan dan kejelasan mengenai penulisan hasil penelitian. Oleh sebab itu sistematika penulisan yang akan digunakan adalah :
BAB 4 PENDAHULUAN
Berisi bagian yang mengemukakan latar belakang, identifikasi masalah, maksud dan tujuan, batasan masalah, metodologi penelitian, dan sistematika penulisan. BAB 2 TINJAUAN PUSTAKA
Bab ini menguraikan tentang teori-teori yang digunakan untuk merancang dan membangun aplikasi permainan, diantaranya teknik-teknik dasar dalam pencarian jalan terpendek, pengertian game, kecerdasan buatan dalam game, dan tools yang digunakan seperti OOP, UML, Eclipse, Android Emulator, dan lain sebagainya. BAB 3 ANALISIS DAN PERANCANGAN SISTEM
Berisi analisis kebutuhan untuk sistem yang akan dibangun sesuai dengan metode pengembangan perangkat lunak yang digunakan. Selain itu, bab ini juga berisi analisis game sejenis,story line, rincian kebutuhan fungsional dan nonfungsional, perancangan struktur antar muka untuk aplikasi yang akan dibangun.
BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM
Berisi hasil implementasi analisis dan perancangan sistem yang dilakukan, serta hasil pengujian sistem untuk mengetahui apakah aplikasi yang dibangun sudah memenuhi kebutuhan.
BAB 5 KESIMPULAN DAN SARAN
2.1. PengertianGame
Game merupakan kata dalam bahasa inggris yang berarti permainan. Permainan adalah sesuatu yang dapat dimainkan dengan aturan tertentu sehingga ada yang menang dan ada yang kalah, biasanya dalam konteks tidak serius atau dengan tujuan refreshing[6]. Suatu cara belajar yang digunakan dalam menganalisa interaksi antara sejumlah pemain maupun perorangan yang menunjukkan strategi-strategi yang rasional. Teori permainan pertama kali ditemukan oleh sekelompok ahli Matematika pada tahun 1944. Teori itu dikemukakan oleh John von Neumann and Oskar Morgenstern yang berisi:
"Permainan terdiri atas sekumpulan peraturan yang membangun situasi bersaing dari dua sampai beberapa orang atau kelompok dengan memilih strategi yang dibangun untuk memaksimalkan kemenangan sendiri atau pun untuk meminimalkan kemenangan lawan. Peraturan-peraturan menentukan kemungkinan tindakan untuk setiap pemain, sejumlah keterangan diterima setiap pemain sebagai kemajuan bermain, dan sejumlah kemenangan atau kekalahan dalam berbagai situasi”. (Theory of Games and Economic Behavior (3d ed. 1953))
2.2. PermainanaKartu Kwartet
tulisannya lebih diperbesar atau dipertebal, sedangkan tulisan lainnya (sub kategori) ditulis setelah judul dari kartu kwartet[1]. Ukuran dari kartu kwartet ini biasanya beragam, ada yang kurannya kecil sedang. Jumlah kartu kwartet dalam penelitian ini berjumlah 32 buah judul kartu, dan masing-masing memiliki 4 buah subjudul, seperti pada gambar 2.1:
Gambar2.1 Kartu Kwartet
2.3. AI (Artficial Intelligence)
hanya digunakan sebagai alat hitung, melainkan komputer diharapkan dapat diberdayakan untuk mengerjakan hal - hal yang dapat memudahkan pekerjaan manusia.
Agar komputer bisa bertindak seperti apa yang dapat dilakukan manusia, maka komputer juga harus diberi bekal pengetahuan dan mempunyai kemampuan untuk menalar. Untuk itu AI akan mencoba untuk memberikan beberapa metode untuk membekali komputer agar komputer bisa menjadi mesin yang pintar. Dari beberapa perspektif, AI dapat dipandang sebagai berikut:
1. Dari perspektif kecerdasan, AI adalah bagaimana membuat mesin yang cerdas dan dapat melakukan hal-hal yang sebelumnya hanya dapat dilakukan manusia.
2. Dari perspektif bisnis, AI adalah sekelompok alat bantu (tools) yang berdayaguna dan metodologi yang menggunakan alat-alat bantu tersebut untuk menyelesaikan masalah-masalah bisnis.
3. Dari perspektif pemrograman, AI meliputi studi tentang pemrograman simbolik, pemecahan masalah, dan proses pencarian (search).
4. Dari perspektif penelitian, riset tentang AI dimulai pada awal tahun 1960-an, percobaan pertama adalah membuat program permainan catur, membuktikan teori, dan general problem solving.
2.4. Skala Likert
sangat setuju, setuju, tidak memutuskan, tidak setuju, dan sangat tidak setuju[9]. Nama skala ini diambil dari nama Rensis Likert, yang menerbitkan suatu laporan yang menjelaskan penggunaannya. Sewaktu menanggapi pertanyaan dalam skala likert, responden menentukan tingkat persetujuan mereka terhadap suatu pernyataan dengan memilih salah satu dari pilihan yang tersedia. Biasanya disediakan lima pilihan skala dengan format seperti:
1 Sangat setuju dengan skor 5, 2 Setuju dengan skor 4
3 Ragu–ragu dengan skor 3 4 Tidak setuju dengan skor 2
5 Sangat tidak setuju dengan skor 1.
Untuk mencari nilai persentase dari setiap pertanyaan kuesioner digunakan rumus skala likert sebagai berikut :
P = x100
skorideal S
Keterangan :
P = Tingkat persetujuan dari setiap pertanyaan dalam bentuk persentase
S = Skoring setiap jawaban dari responden yang didapatkan dari perhitungan nilai frekuensi dikalikan dengan nilai skor pada setiap jawaban
Σs = Jumlah skor yang diperoleh dari nilai skoring setiap jawaban Skorideal = Nilai skor tertinggi dari jawaban dikalikan dengan jumlah
Sebagai contoh misalnya suatu perusahaan XYZ ingin mengetahui seberapa persen karyawannya setuju akan penerapan prosedur kerja yang baru kepada 100 orang karyawan dan diambil secara random.
Berilah jawaban pertanyaan berikut sesuai dengan pernyataan anda, dengan cara memberi tanda (√) pada kolom yang tersedia.
Tabel2.1 Tabel Pertanyaan Skala Likert
No Pertanyaan SS ST RG TS STS
1.
Prosedur kerja yang baru itu akan segera diterapkan di perusahaan anda
√
2.
SS = Sangat Setuju diberi skor 5 ST = Setuju diberi skor 4
RG = Ragu-ragu diberi skor 3 TS = Tidak Setuju diberi skor 2
STS = Sangat Tidak Setuju diberi skor 1
Dari hasil kuisioner terhadap 100 pegawai didapat hasil seperti berikut : 25 Orang menjawab SS
Berdasarkan data tersebut 65 orang (40+25) atau 65% karyawan menjawab setuju dan sangat setuju. Jadi kesimpulannya mayoritas karyawan setuju adanya metode kerja baru.
Data interval tersebut juga dapat dianalisis dengan menghitung rata-rata jawaban berdasarkan skoring setiap jawaban dari responden. Berdasarkan skor yang telah ditetapkan dapat dihitung sebagai berikut :
Jumlah skor untuk 25 orang yang menjawab SS = 25 x 5= 125 Jumlah skor untuk 40 orang yang menjawab ST = 40 x 4= 160 Jumlah skor untuk 5 orang yang menjawab RG = 5 x 3 = 15 Jumlah skor untuk 20 orang yang menjawab TS = 20 x 2= 40 Jumlah skor untuk 10 orang yang menjawab STS = 10 x 1= 10 Jumlah total = 350
Jumlah skor ideal (kriterium) untuk seluruh item = 5 x 100 = 500 (seandainya semua menjawab SS). Jumlah skor yang diperoleh dari penelitian 350. Jadi berdasarkan data tersebut maka tingkat persetujuan terhadap prosedur kerja yang baru itu
(350 : 500) x 100% = 10%
dari yang diharapkan (100%). Jadi berdasarkan data yang diperoleh dari 100 responden maka rata-rata 350 terletak pada daerah setuju.
2.5. Metode Probabilitas
angin lebih kencang dari biasanya serta sinar matahari tidak seterang biasanya. Dalam keadaaan ini kita dihadapkan antara 2 permasalahan, yaitu kemungkinan terjadinya hujan serta kemungkinan langit hanya mendung saja dan tidak akan turunnya hujan. Statistik yang membantu permasalahan dalam hal ini adalah probabilitas.
Manfaat probabilitas dalam kehidupan sehari-hari adalah membantu kita dalam mengambil suatu keputusan, serta meramalkan kejadian yang mungkin terjadi. Jika kita tinjau pada saat kita melakukan penelitian, probabilitas memiliki beberapa fungsi antara lain:
1 Membantu peneliti dalam pengambilan keputusan yang lebih tepat. Pengambilan keputusan yang lebih tepat dimagsudkan tidak ada keputusan yang sudah pasti karena kehidupan mendatang tidak ada yang pasti kita ketahui dari sekarang, karena informasi yang didapat tidaklah sempurna. 2 Dengan teori probabilitas kita dapat menarik kesimpulan secara tepat atas
hipotesis yang terkait tentang karakteristik populasi.
3 Menarik kesimpulan secara tepat atas hipotesis (perkiraan sementara yang belum teruji kebenarannya) yang terkait tentang karakteristik populasi pada situssi ini kita hanya mengambil atau menarik kesimpulan dari hipotesis bukan berarti kejadian yang akan dating kita sudah ketehaui apa yang akan tertjadi.
4 Mengukur derajat ketidak pastian dari analisis sampel hasil penelitian dari suatu populasi.
P(A) = n(A) / n(S) Dengan:
n(A) = banyaknya kejadian A yang diharapkan muncul n(S) = banyaknya ruang sampel
Sebagai contoh, sebuah kartu dipilih secara acak dari satu set kartu bridge. Tentukan peluang munculnya kartu yang terpilih bukan kartu As
Pembahasan :
Misal A = kejadian terpilihnya kartu As A’ = kejadian terpilihnya kartu bukan As n(S) = 52
n(A) = 4
P(A) = n(A) / n(S) = 4 / 52 = 1 - P(A) = 48 / 52
Jadi,peluang munculnya kartu yang terpilih bukan kartu As = 48 / 52
2.6. Pemograman Berorientasi Objek
Model data berorientasi objek dikatakan dapat memberi fleksibilitas yang lebih, kemudahan mengubah program, dan digunakan luas dalam teknik piranti lunak skala besar. Lebih jauh lagi, pendukung OOP mengklaim bahwa OOP lebih mudah dipelajari bagi pemula dibanding dengan pendekatan sebelumnya, dan pendekatan OOP lebih mudah dikembangkan dan dirawat.
Pemrograman berorientasiobjek menekankan konsep berikut:
1. kelas, kumpulan atas definisi data dan fungsi-fungsi dalam suatu unit untuk suatu tujuan tertentu. Sebagai contoh 'class of dog' adalah suatu unit yang terdiri atas definisi-definisi data dan fungsi-fungsi yang menunjuk pada berbagai macam perilaku/turunan dari anjing. Sebuah class adalah dasar dari modularitas dan struktur dalam pemrograman berorientasi oobjek. Sebuah class secara tipikal sebaiknya dapat dikenali oleh seorang non-programmer sekalipun terkait dengan domain permasalahan yang ada, dan kode yang terdapat dalam sebuah class sebaiknya (relatif) bersifat mandiri dan independen (sebagaimana kode tersebut digunakan jika tidak menggunakan OOP). Dengan modularitas, struktur dari sebuah program akan terkait dengan aspek-aspek dalam masalah yang akan diselesaikan melalui program tersebut. Cara seperti ini akan menyederhanakan pemetaan dari masalah ke sebuah program ataupun sebaliknya.
2. Objek, membungkus data dan fungsi bersama menjadi suatu unit dalam sebuah program komputer. Objek merupakan dasar dari modularitas dan struktur dalam sebuah program komputer berorientasi objek.
yang dapat melakukan kerja, laporan dan perubahan keadaannya, dan berkomunikasi dengan objek lainnya dalam sistem, tanpa mengungkapkan bagaimana kelebihan ini diterapkan. Proses, fungsi atau metode dapat juga dibuat abstrak, dan beberapa teknik digunakan untuk mengembangkan sebuah pengabstrakan.
4. Enkapsulasi, memastikan pengguna sebuah objek tidak dapat mengganti keadaan dalam dari sebuah objek dengan cara yang tidak layak; hanya metode dalam objek tersebut yang diberi ijin untuk mengakses keadaannya. Setiap objek mengakses interface yang menyebutkan bagaimana objek lainnya dapat berinteraksi dengannya. Objek lainnya tidak akan mengetahui dan tergantung kepada representasi dalam objek tersebut. 5. Polimorfisme melalui pengiriman pesan. Tidak bergantung kepada
6. Inheritas- Mengatur polimorfisme dan enkapsulasi dengan mengijinkan objek didefinisikan dan diciptakan dengan jenis khusus dari objek yang sudah ada - objek-objek ini dapat membagi (dan memperluas) perilaku mereka tanpa haru mengimplementasi ulang perilaku tersebut (bahasa berbasis-objek tidak selalu memiliki inheritas).
1. Dengan menggunakan OOP maka dalam melakukan pemecahan suatu masalah kita tidak melihat bagaimana cara menyelesaikan suatu masalah tersebut (terstruktur) tetapi objek-objek apa yang dapat melakukan pemecahan masalah tersebut. Sebagai contoh anggap kita memiliki sebuah departemen yang memiliki manager, sekretaris, petugas administrasi data dan lainnya. Misal manager tersebut ingin memperoleh data dari bag administrasi maka manager tersebut tidak harus mengambilnya langsung tetapi dapat menyuruh petugas bag administrasi untuk mengambilnya. Pada kasus tersebut seorang manager tidak harus mengetahui bagaimana cara mengambil data tersebut tetapi manager bisa mendapatkan data tersebut melalui objek petugas adminiistrasi. Jadi untuk menyelesaikan suatu masalah dengan kolaborasi antar objek-objek yang ada karena setiap objek memiliki deskripsi tugasnya sendiri.
2.7. Bahasa Pemograman Java
Gambar2.2 Logo Java
Bahasa pemrograman Java pertama lahir dari The Green Project, yang berjalan selama 18 bulan, dari awal tahun 1991 hingga musim panas 1992. Proyek tersebut belum menggunakan versi yang dinamakan Oak. Proyek ini dimotori oleh Patrick Naughton, Mike Sheridan,James Gosling dan Bill Joy, beserta sembilan pemrogram lainnya dari Sun Microsystems. Salah satu hasil proyek ini adalah mascot Duke yang dibuat oleh Joe Palrang.
2.8. UML (Unified Modeling Language)
Unified Modeling Language (UML) adalah himpunan struktur dan teknik untuk pemodelan desain program berorientasi objek (OOP) serta aplikasinya[13]. UML adalah metodologi untuk mengembangkansistem OOP dan sekelompok perangkat tool untuk mendukung pengembangan sistem tersebut UML mulai diperkenalkan oleh Objek Management Group, sebuah organisasi yang telah mengembangkan model, teknologi, dan standar OOP sejak tahun 1980-an. Sekarang UML sudah mulai banyak digunakan oleh para praktisi OOP. UML merupakan dasar bagi perangkat (tool) desain berorientasi objek dari IBM
UML adalah suatu bahasa yang digunakan untuk menentukan, memvisualisasikan, membangun, dan mendokumentasikan suatu sistem informasi. UML dikembangkan sebagai suatu alat untuk analisis dan desain berorientasi objek oleh Grady Booch, Jim Rumbaugh, dan Ivar Jacobson.Namun demikian UML dapat digunakan untuk memahami dan mendokumentasikan setiap sistem informasi.Penggunaan UML dalam industri terus meningkat. Ini merupakan standar terbuka yang menjadikannya sebagai bahasa pemodelan yang umum dalam industri peranti lunak dan pengembangan sistem.
2.8.1. UseCase
Use case diagram digunakan untuk memodelkan bisnis proses berdasarkan perspektif pengguna sistem. Use case diagram terdiri atas diagram untuk use case dan actor. Actor merepresentasikan orang yang akan mengoperasikan atau orang yang berinteraksi dengan sistem aplikasi.
didalamnya. Actor yang melakukan operasi dihubungkan dengan garis lurus ke use case, seperti pada gambar 2.3:
Gambar2.3 Use Case Diagram
2.8.2. UseCase Scenario
Use Case Scenario adalah sebuah dokumentasi terhadap kebutuhan fungsional dari sebuah sistem. Setiap use case harus dijelaskan alur prosesnya melalui sebuah use case skenario. Use case skenario berisi:
1. Nama use case yaitu penamaan use case yang menggunakan kata kerja 2. Deskripsi yaitu penjelasan mengenai tujuan use case dan nilai yang akan
didapatkan oleh aktor
3. Kondisi sebelum (pre-condition) yaitu kondisi-kondisi yang perlu ada sebelum use case dilakukan.
4. Kondisi sesudah (post-condition) yaitu kondisi-kondisi yang sudah dipenuhi ketika uses case sudah dilaksanakan
6. Alur alternatif (alternatif flow) yaitu alur yang menceritakan aksi alternatif, yang berbeda dari alur dasar
2.8.3. ActivityDiagram
Diagram aktivitas atau dalam bahasa inggris activity diagram adalah representasi grafis dari seluruh tahapan alur kerja. Diagram ini mengandung aktivitas, pilihan tindakan, perulangan dan hasil dari aktivitas tersebut. Pada pemodelan UML, diagram ini dapat digunakan untuk menjelaskan proses bisnis dan alur kerja operasional secara langkah demi langkah dari komponen suatu sistem, seperti pada gambar 2.4:
2.8.4. Sequencediagram
Sequence diagram menjelaskan secara detil urutan proses yang dilakukan dalam sistem untuk mencapai tujuan dari use case. Interaksi yang terjadi antar class, operasi apa saja yang terlibat, urutan antar operasi, dan informasi yang diperlukan oleh masing-masing operasi, seperti pada gambar 2.5:
Gambar 2.5 Sequence Diagram
2.8.5. ClassDiagram
Gambar2.6 Class Diagram
2.8.6. StateChart Diagram
State Chart diagram adalah diagram yang menggambarkan transisi dan perubahan keadaan (dari satu state ke state lainnya) suatu keadaan (dari satu state ke state lainnya) suatu obyek pada sistem sebagai akibat dari stimulans yang diterima, yang berfungsi sebagai:
1. Untuk memodelkan behavior/methode (lifecycle) sebuah kelas atau object 2. Memperlihatkan urutan kejadian sesaat (state) yang dilalui sebuah object,
transisi dari sebuah state ke state lainnya
Gambar2.7 State Chart Diagram
2.8.7. CollaborationDiagram
Collaboration diagram dipakai untuk memodelkan interaksi antar objek di dalam sistem.Berbeda dengan sequence diagram yang lebih menonjolkan kronologis dari operasi-operasi yang dilakukan, collaboration diagram lebih fokus pada pemahaman atas keseluruhan operasi yang dilakukan oleh objek, seperti pada gambar 2.8:
2.9. Sistem Operasi Android
Android merupakan platform yang berjalan diatas sistem operasi Linux. Android pertama kali dikembangkan Google dan Open Handset Alliance. Bahasa pemrograman dasar yang dipakai untuk pengembangan aplikasi di atas Android adalah Java dengan pemanfaatan Google developed Java libraries[14].
2.9.1. Sejarah Android
Sejak Android dirilis telah dilakukan berbagai pembaruan berupa perbaikan bug dan penambahan fitur baru, sehingga Sistem Operasi Android terdiri dari beberapa versi, antara lain:
1. Android versi 1.1
Pada 9 Februari 2009, Google merilis Android versi 1.1. Android versi ini dilengkapi dengan pembaruan estetis pada aplikasi, jam alarm, voice search (pencarian suara), pengiriman pesan dengan Gmail, dan pemberitahuan email. 2. Android Cupcake (1.5)
Hanya selang 1 bulan Google merilis Android 1.5 (Cupcake) dengan SDK (Software Development Kit). Terdapat beberapa pembaharuan termasuk juga penambahan beberapa fitur dalam seluler yakni kemampuan merekam dan menonton video dengan modus kamera, menggugah video ke youtube dan gambar ke Picasa langsung dari telepon, dukungan bluetooth A2DP, kemampuan terhubung secara otomatis ke headset Bluetooth , animasi layar, dan keyboard pada layar yang dapat disesuai dengan system.
3. Android Donut (1.6)
(Virtual Private Network) atau jaringan pribadi. Fitur lainnya adalah galeri yang memungkinkan pengguna untuk memilih foto yang akan dihapus, kamera, camcorder, dan galeri yang diintegrasikan : CDMA/EVDO, 802.1x, VPN, Gestures dan Text to speech engine, kemampuan dial kontak, teknologi text to change speech (tidak tersedia dalam ponsel), pengadaan resolusi VWGA.
4. Android Eclair (2.0 / 2.1)
Versi ini dirilis 3 desember 2009 yang mulai dipakai oleh banyak smartphone, fitur utama Eclair yaitu perubahan total struktur dan tampilan user interface dan merupakan versi Android yang pertama kali mendukung format HTML5. Perubahan yang lain yaitu : pengoptimalan hardware, peningkatan Google Maps 3.1.2, perubahan UI dengan browser baru , daftar kontak yang baru, dukungan flash untuk kamera 3.2 MP, digital zoom, dan Bluetooth 2.1.
5. Android Froyo / Frozen Yoghurt (2.2)
Versi ini dirilis 20 mei 2010, android 2.2 dirilis dengan 20 fitur baru, antara lain peningkatan kecepatan kinerja, fitur Wi-Fi hotspot tethering dan dukungan terhadap Adobe Flash 10.1, aplikasi 2 sampai 5 kali lebih cepat, integrasi V8 Javascript engine yang dipakai Google Chrome yang mempercepat kemampuan rendering pada browser, pemasangan aplikasi dalam SD card, kemampuan WiFi Hotspot portable, dan kemampuan auto update dalam aplikasi Android Market.
6. Android Gingerbread (2.3)
management, dan support Near Field Communication, peningkatan kemampuan permainan (gaming), layanan antarmuka (User Interface) didesain ulang, dukungan format video VP8 dan WebM, efek audio baru (reverb, equalization, headphone virtualization dan bass boost), dan dukungan jumlah kamera yang lebih dari satu.
1. Android Honeycomb (3.0, 3.1 dan 3.2)
Merupakan versi Android yang ditujukan untuk gadget / device dengan layar besar seperti Tablet PC; Fitur baru Honeycomb yaitu dukungan terhadap prosessor multicore dan grafis dengan hardware acceleration.
8. Android Ice Cream Sandwich (4.0)
Android 4.0 Ice Cream Sandwich diumumkan pada 10 Mei 2011 di ajang Google 26 I/O Developer Conference (San Francisco) dan resmi dirilis pada tanggal 19 Oktober 2011 di Hongkong. Android versi 4.0 ini dapat digunakan di smartphone ataupun tablet. Fitur utama yang ditambahkan di Android 4.0 ialah Face Unlock, Android Beam, perubahan major User Interface, dan ukuran layar standar (native screen) beresolusi 120p (high definition), perangkat tambahan fotografi, mencari email secara offline dan berbagai informasi dengan menggunakan NFC.
9. Android Jelly Bean (4.1)
2.9.2. Fitur-fitur di Android
Berikutini adalah fitu-fitur yang ada pada Android:
1. Framework Aplikasi yang mendukung penggantian komponen dan reusable
3. Integrated browser berdasarkan engine open source WebKit
4. Grafis yang dioptimalkan dan didukung oleh library grafis 2D, grafis 3D berdasarkan spesifikasi opengl ES 1,0 (Opsional akselerasi hardware). 5. SQLite untuk penyimpanan data
6. Media Support yang mendukung audio, video, dan gambar (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF)
1. GSM Telephony (tergantung hardware)
8. Bluetooth, EDGE, 3G, dan WiFi (tergantung hardware)
9. Kamera, GPS, kompas, dan accelerometer (tergantung hardware)
10. Lingkungan Development yang lengkap dan kaya termasuk perangkat emulator, tools untuk debugging, profil dan kinerja memori, dan plugin untuk Eclipse IDE.
11. Dukungna Perangkat Tambahan, Android dapat memanfaatkan kamera, layar sentuh, accelerometers, magnetometers, GPS, akselerasi 2D (dengan perangkat orientasi, scalling,konversi format piksel), dan akselerasi grafis 3D.
12. Multi-Touch, kemampuan layaknya handset modern yang dapat menggunakan dua jari atau lebih untuk berinteraksi dengan perangkat. 13. Market, handphone memiliki tempat penjualan aplikasi, market pada
2.10. Eclipse
Eclipse adalah sebuah IDE (Integrated Development Environment) untuk mengembangkan perangkat lunak dan dapat dijalankan di semua platform (platform-independent)[15]. Berikut ini adalah sifat dari Eclipse:
1. Multi-platform: Target sistem operasi Eclipse adalah Microsoft Windows, Linux, Solaris, AIX, HP-UX dan Mac OS X.
2. Mulit-language: Eclipse dikembangkan dengan bahasa pemrograman Java, akan tetapi Eclipse mendukung pengembangan aplikasi berbasis bahasa pemrograman lainnya, seperti C/C++, Cobol, Python, Perl, PHP, dan lain sebagainya.
3. Multi-role: Selain sebagai IDE untuk pengembangan aplikasi, Eclipse pun bisa digunakan untuk aktivitas dalam siklus pengembangan perangkat lunak, seperti dokumentasi, test perangkat lunak, pengembangan web, dan lain sebagainya.
4. Eclipse pada saat ini merupakan salah satu IDE favorit dikarenakan gratis dan open source, yang berarti setiap orang boleh melihat kode pemrograman perangkat lunak ini. Selain itu, kelebihan dari Eclipse yang membuatnya populer adalah kemampuannya untuk dapat dikembangkan oleh pengguna dengan komponen yang dinamakanplug-in.
2.10.1. Sejarah Eclipse
pengembangannya. Semenjak itu konsursium Eclipse Foundation mengambil alih untuk pengembangan Eclipse lebih lanjut dan pengaturan organisasinya.
2.10.2. Arsitektur Eclipse
Sejak versi 3.0, Eclipse pada dasarnya merupakan sebuah kernel, yang mengangkat plug-in. Apa yang dapat digunakan di dalam Eclipse sebenarnya adalah fungsi dari plug-in yang sudah diinstal. Ini merupakan basis dari Eclipse yang dinamakan Rich Client Platform (RCP). Berikut ini adalah komponen yang membentuk RCP:
1. Core platform
2. OSGi
3. SWT (Standard Widget Toolkit) 4. JFace
5. Eclipse Workbench
Secara standar Eclipse selalu dilengkapi dengan JDT (Java Development Tools), plug-in yang membuat Eclipse kompatibel untuk mengembangkan program Java, dan PDE (Plug-in Development Environment) untuk mengembangkan plug-in baru. Eclipse beserta plug-in-nya diimplementasikan dalam bahasa pemrograman Java.
yang tidak mungkin oleh Eclipse, plug-in UML2 tersedia untuk membuat diagram UML. Dengan menggunakan PDE setiap orang bisa membuat plug-in sesuai dengan keinginannya.
2.10.3. Perkembangan Eclipse
Sejak tahun 2006, Eclipse Foundation mengkoordinasikan peluncuran Eclipse secara rutin dan simultan yang dikenal dengan nama Simultaneous Release. Setiap versi peluncuran terdiri dari Eclipse Platform dan juga sejumlah
proyek yang terlibat dalam proyek Eclipse. Tujuan dari sistem ini adalah untuk menyediakan distribusi Eclipse dengan fitur-fitur dan versi yang terstandarisasi. Hal ini juga dimaksudkan untuk mempermudah deployment dan maintenance untuk sistem enterprise. Adapun versi eclipse yang telah diluncurkan yaitu :
1. Eclipse 3.0
2.10.4. SoftwareDevelopment Kit(SDK)
2.10.5. JavaDevelopment Kit(JDK)
Java Development Kit (JDK) adalah sekumpulan perangkat lunak yang dapat kamu gunakan untuk mengembangkan perangkat lunak yang berbasis Java, Sedangkan JRE adalah sebuah implementasi dari Java Virtual Machine yang benar-benar digunakan untuk menjalankan program java.Biasanya, setiap JDK berisi satu atau lebih JRE dan berbagai alat pengembangan lain seperti sumber kompiler java, bundling, debuggers, development libraries dan lain sebagainya. Perbedaan JDK dengan SDK (Software Development Kit) yaitu JDK adalah sebuah SDK tetapi sebuah SDK tidak harus menjadi sebuah JDK.
2.10.6. AndroidDevelopment Tool(ADT)
Android Development Tools (ADT) adalah plugin untuk Eclipse
Intergrated Development Environment (IDE) yang dirancang untuk memberikan lingkungan yang terpadu di mana untuk membangun aplikasi Android.
ADT memperluas kemampuan Eclipse untuk membiarkan para developer
lebih cepat dalam membuat proyek baru Android, membuat aplikasi UI, menambahkan komponen berdasarkan Android Framework API, debug aplikasi dalam pengunaan Android SDK, dan membuat file APK untuk mendistribusikan aplikasi.
2.11. Library LibGDX
Libgdx merupakan framework java yang menyediakancross-platformAPI untuk game dan pengembang aplikasi real-time. Secara umum, Libgdx memberikan performa yang tinggi dan framework pengembang game cross-platform yang digunakan sebagai dasar untuk engine dan game. Pernyataan Libgdx sebagai framework mengijinkan kita untuk fokus pada pondasi yang kokoh, malahan mencoba untuk mengimplementasikan arsitektur game engine
yang terakhir dan yang terhebat[16].
2.12. InkScape
Inkscape adalah sebuah perangkat lunak editor gambar vektor yang bersifat perangkat lunak bebas dibawah lisensi GNU GPL. Tujuan utama dari Inkscape adalah menjadi perangkat grafik mutakhir yang memenuhi standar XML, SVG, dan CSS[11].
Inkscape bersifat cross-platform dan dapat dijalankan pada Mac OS X (biasanya dibawah aplikasi X11, walaupun toolkit GTK+ yang digunakan dapat dikompilasikan untuk beroperasi secara langsung dibawah Quartz), sistem operasi berbasis Unix, dan Microsoft Windows. Implementasi SVG dan CSS di Inkscape
2.13. Audacity
35
3.1. Analisis Sistem
Analisis sistem dapat didefinisikan sebagai penguraian dari suatu sistem informasi yang utuh kedalam bagian-bagian komponennya dengan maksud untuk mengidentifikasi dan mengevaluasi permasalahan-permasalahan, kesempatan-kesempatan, hambatan-hambatan yang terjadi sehingga dapat sesuai dengan kebutuhan.
Analisis sistem dilakukan pada sistem yang ada dan sedang berjalan. Tujuan dari analisis sistem ini ialah mengetahui game yang ada pada saat ini, sehingga hasil dari game yang akan di bangun dapat lebih baik dari game yang sebelumnya. Hasil dari analisis sistem akan digunakan untuk membuat rancangan sistem yang akan diusulkan.
3.2. Analisis Masalah
Identifikasi masalah merupakan langkah pertama yang dilakukan dalam tahap analisis sistem. Masalah dapat didefinisikan sebagai suatu pertanyaan yang diinginkan untuk dipecahkan. Masalah inilah yang menyebabkan sasaran dari sistem tidak dapat dicapai. Oleh karena itu langkah pertama yang harus dilakukan pada tahap ini adalah mengidentifikasi terlebih dahulu masalah masalah yang terjadi (identify).
3.3. Analisis Game Sejenis
dibangun diharapkan dapat menjadi lebih baik dari sistem atau game yang sudah ada.
Game merupakan suatu media yang sifatnya memberikan hiburan kepada yang memainkan game tersebut. Saai ini banyak sekali jenis game yang sudah beredar dan dimainkan oleh banyak pengguna. Salah satunya adalah game dengan jenis permainan kartu. Game dengan jenis kartu merupakan salah satu jeins game dimana penmainnya dihadapkan dengan sejumlah kartu dan diharuskan memainkan kartu tersebut sesuai dengan aturan yang berlaku dalam game tersebut.
3.3.1. Game Yu Gi Oh! Forbidden Memories
Yu Gi Oh! Forbidden Memories adalah permainan kartu koleksi Jepang yang dibuat dan dipublikasikan oleh Konami. Hal ini didasarkan pada permainan fiksi, Duel Monsters yang dibuat oleh manga artist Kazuki Takahashi, yang merupakan perangkat plot utama selama mayoritas nya yang populer dalam seri manga, Gi-Oh!, dan berbagai anime adaptasi dan seri spin-off. Permainan Yu-Gi-Oh! Trading Card Game pertama kali diluncurkan oleh Konami pada tahun 1999. Permainan ini tercatat sebagai Top Selling trading card game di dunia oleh Guinness World Records pada tanggal 7 Juli 2009, karena telah menjual lebih dari 25 miliar kartu di seluruh dunia. Permainan trading card ini terus mengalami peningkatan popularitas sebagaimana ia dimainkan di seluruh dunia,kebanyakan di Jepang, Amerika Utara, Eropa dan Australia.
efek dari kartu tertentu. Berikut ini merupakan gambar gameplay dari game Yu Gi Oh! yang dapat dilihat pada gambar 3.1:
Gambar 3.1 Gameplay Yu GI Oh!
3.3.2. Game Benteng
ditentukan dari waktu terakhir saat si ‘penawan’ atau ‘tertawan’ menyentuh ‘benteng’ mereka masing – masing. Berikut ini merupakan gambar game play dari game Benteng yang dapat dilihat pada gambar 3.2:
Gambar 3.2 Game Benteng
3.3.3. Game Magic: The Gathering
Magic: The Gathering (biasa disebut "Magic", "MTG", atau "Kartu Magic") adalah sebuah permainan kartu yang diciptakan oleh Richard Garfield yang kemudian dibeli oleh perusahaan Wizards of the Coast pada tahun 1994. Setelah itu permainan ini dibeli lagi oleh Hasbro pada tahun 1999. Magic adalah permainan yang sangat populer di seluruh dunia, sampai saat ini diperkirakan ada lebih dari enam juta pemain Magic di lebih dari tujuh puluh negara. Permainan ini membutuhkan strategy dan keberuntungan di saat yang bersamaan.
merupakan gambar gameplay dari game Magic:The Gathering yang dapat dilihat pada gambar 3.3:
Gambar 3.3 Game play Magic: The Gathering
3.4. Analisis Game yang Akan Dibangun
Game yang akan dibangung berupa game kartu bergambar dengan aturan game kartu kwartet yang bertemakan tentang kebudayaan dan keindahan yang ada di Nusantara Indonesia yang bernamakan Beauty Of Indonesia Quartet Card. Untuk kebudayaan yang akan diperkenalkan dalam game ini berupa senjata tradisional, rumah adat, suku daerah, pakaian adat, alat musik daerah, dan unku keindahan Nusantara yang akan diperkenalkan berupa bangunan bersejarah, wisata bahari, wisata alam, flora dan fauna, serta kuliner kedaerahan.
Berikut ini adalah fitur-fitur yang ada dalam game ini:
1. Aturan game kartu yang digunakan adalah aturan permainan kartu kwartet.
3. Memberikan informasi tentang kebudayaan, serta objek - objek wisata yang ada di Nusantara Indonesia.
3.5. Analisis kebutuhan game
3.5.1. Kategori dan sub kategori kartu kwartet
Dalam game ini, terdapat perbedaan dalam kategori kartu kwartet di setiap pulaunya. Berikut ini merupakan perincian kategori dan sub kategori kartu kwartet di pulau Sumatera yang dapat dilihat pada tabel 3.1:
Table 3.1 kategori dan sub kategori kartu kwartet pulau Sumatera[19]
No Sub Kategori Kategori
1 Doli
Alat Musik 2 Rapa’i
3 Rebana dan cimbal 4 Saluang
5 Bandara Udara Sultan Iskandar Muda
Bandara Udara 6 Bandara Udara Hang Nadim
7 Bandara Udara Internasional MinangKabau 8 Bandara Udara Kuala Namu
9 Burung Rangkong
Flora dan Fauna 10 Dukuh Palembang
11 Gajah Sumatera 12 Raflesia Arnoldi
13 Es Laksamana Raja Mengamuk
15 Teh Talua 16 Tempoyak
17 Air Terjun Aek Martua
Objek Wisata 22 Cut Nyak Meutia
23 Sisingamaraja XII
24 Sultan Thaha Syaifudin 25 Rumah Bolon
Rumah Limas 26 Rumah Gadang
27 Rumah Krong Bade
28 Rumah Limas
Berikut ini merupakan perincian kategori dan sub kategori kartu kwartet di pulau Jawa yang dapat dilihat pada tabel 3.2:
Table 3.2 kategori dan sub kategori kartu kwartet Pulau Jawa[19]
No Sub Kategori Kategori
2 Angklung
12 Gunung Tangkuban Perahu
13 Bir Pletok 18 Ki Hajar Dewantara
19 Raden Ajeng Kartini 20 WR Supratman
21 Bangsal Kencono
Rumah Adat 22 Keraton Kasepuhan Cirebon
23 Rumah Joglo 24 Rumah Kebaya
26 Golok
Berikut ini merupakan perincian kategori dan sub kategori kartu kwartet di pulau Kalimantan yang dapat dilihat pada tabel 3.3:
Table 3.3 kategori dan sub kategori kartu kwartet pulau Kalimantan[19]
No Sub Kategori Kategori
1 Sampek
Alat Musik Tradisional 2 Japen
3 Panting
4 Gardek
5 Bandara Udara Sultan Aji Muhammad
Bandara Udara 6 Bandara Udara Supadio
7 Bandara Udara Syamsudin Noor
8 Bandara Udara Tjilik Riwut 9 Anggrek Hitam Kalimantan
Flora dan Fauna 10 Bekantan
11 Orang Utan
13 Es Lidah Buaya
Kuliner 14 Juhu Umbut Rotan
15 Kelepon 16 Laksa
17 Batakan Beach Kalimantan Selatan
Objek Wisata 18 Danau Tahai
19 Pantai Takisung
20 Taman Nasional Tanjung Puting 21 Pakaian Adat Sinjang
Pakaian Adat 22 Pakaian Adat Banjar
23 Pakaian Adat Urang Besunung
24 Pakaian Adat Dayak 25 Rumah Adat Baloy
Rumah Adat 26 Rumah Adat Bubungan Tinggi
27 Rumah Adat Betang
28 Rumah Adat Lamin 29 Tari Baksa Kambang
Tari Adat 30 Tari Kanjar
31 Tari Pedang
32 Tari Tembung
Table 3.4 kategori dan sub kategori kartu kwartet pulau Sulawesi[19]
No Sub Kategori Kategori
1 Kecapi
Alat Musik Tradisional 2 Keso Keso
3 Kolintang
4 Lembong
5 Bandara Udara Mutiara Palu
Bandara Udara 6 Bandara Udara Sam Ratulangi
7 Bandara Udara Sultan Hasanudin
8 Bandara Udara Haluoleo Kendari 9 Anoa
15 Es Pisang Ijo
16 Sup Kondro
17 Air Terjun Takapala
Objek Wisata 18 Fort Rotterdam
19 Taman Laut Bunaken
20 Taman Nasional Bogani Nani Wartabone
21 Piere Tendean
23 Sam Ratulangi 24 Sultan Hasanuddin
25 Pakaian Adat Gorontalo
Pakaian Adat 26 Pakaian Adat Sulawesi Selatan
27 Pakaian Adat Sulawesi Tenggara 28 Pakaian Adat Sulawesi Utara
29 Istana Sultan Buton
Rumah Adat 30 Walewangko
31 Souraja
32 Tongkonan
Berikut ini merupakan perincian kategori dan sub kategori kartu kwartet di Bali, NTB, dan NTT yang dapat dilihat pada tabel 3.5:
Table 3.5 kategori dan sub kategori kartu kwartet pulau Bali & Nusa Tenggara[19]
No Sub Kategori Kategori
1 Candi Benta
Candi dan Pura 2 Pura Besakih
3 Pura Luhur Uluwatu 4 Pura Srijong
5 Danau Batur
Danau 6 Danau Bratan
9 Cendana 22 Pantai Kuta Bali Sunset
23 Pulau Komodo
29 Tari Barong Girang
Tarian 30 Tari Kecak
31 Tari Pendet
Berikut ini merupakan perincian kategori dan sub kategori kartu kwartet di pulau Maluku yang dapat dilihat pada tabel 3.6:
Table 3.6 kategori dan sub kategori kartu kwartet pulau Maluku[19]
No Sub Kategori Kategori
1 Fu
Alat Musik 2 Sangka
3 Tifa 4 Ukulele
5 Anggrek Larat Langsing
Flora dan Fauna 6 Bidadari Halmahera
7 Cengkeh
8 Nuri Raja Ambon
9 Bubur Ne
Kuliner 10 Ikan Cakalang Fufu
11 Kue Lapis Tiddore 12 Sambel Pepaya
13 Danau Tolire
Objek Wisata 14 Gunung Gamalama
15 Mesjid Sultan Ternate
16 Taman Nasional Manusela 17 Cristina Martha Tiahahu
Pahlawan Nasional 18 Kapitan Pattimura
20 Nuku Muhammad 26 Tari Coka Iba
27 Tari Perang
Berikut ini merupakan perincian kategori dan sub kategori kartu kwartet di pulau Papua yang dapat dilihat pada tabel 3.7:
Table 3.7 kategori dan sub kategori kartu kwartet pulau Papua[19]
No Sub Kategori Kategori
7 Tari Tifa 14 Burung Cendrawasih Merah
15 Kacang Hijau
16 Pala
17 Teluk Triton
Objek Wisata 18 Taman Nasional Lorenz
19 Pulau Mansinam
31 Ubi 32 Keladi
3.5.2. Gameplay
Pada awal permainan, pemain diharuskan untuk memilih salah satu pulau yang tersedia yang di setiap pulaunya memiliki kategori kartunya masing-masing. Kemudian pemain akan diberikan empat buah kartu kwartet dan diberi waktu 60 detik di setiap gilirannya.
3.5.3. Scoring
Skor pemain akan bertambah satu ketika pemain berhasil mengumpulkan empat seri kartu dari suatu kategori kartu kwartet maka pemain
3.6. AnalisisAlgoritma
Dalam permainan kartu kwartet, ketika salah seorang pemain meminta suatu kategori terhadap salah seorang lawan, secara tidak langsung mereka menginformasikan ke pemain lainnya bahwa mereka memiliki kategori tersebut atau tidak. Semakin sering pemain(n) meminta kategori(A) terhadap lawannya mengartikan semakin besar kemungkinan pemain(n) memiliki nilai probabilitas kategori(A). Oleh karena itu untuk menyimpan frekuensi kategori(A) di pemain(n) digunakanlah log.
Dengan menambahkan nilai log(A) ke dalam rumus probabilitas, maka : P(A) = n(A) +log(A) / s(A)
Dengan:
n(A) = banyaknya kejadian A yang diharapkan muncul n(S) = banyaknya ruang sampel
log(A) = frekuensi kategori(A) di dalam log.
Akan tetapi, jika nilai dari probabilitas kategori(A) sama dengan nilai kategori(N) maka, akan untuk menyelesaikan permasalahan tersebut akan dipilih kategori kartu pada index terkecil.
Berikut ini merupakan pseudocode dari analisis algoritma dalam game Beauty Of Indonesia.
PROGRAM hitung_probabilitas
{untuk menghitung nilai probabilitas kesetiap kategori kartu kwartet, dengan jumlah kartu di tangan pemain sebanyak 4, di tangan lawan 4 dan frekuensi setiap kategori yang ada di dalam log bernilai 0}
DEKLARASI
Const sizePlayer = 4; Const sizeKategori = 32; Player1, Player2, i, j : integer
log[sizeKategori][sizePlayer] : integer; Probabilitas, Temp : real ;
Temp <-- 0;
For i 0 to sizeKategori For j 0 to sizePlayer
Temp <-- Player1+ log[i][j] / Player2; If(Temp > Probabilitas)
Probabilitas <-- Temp; endIf
endFor endFor
Sebagai contoh, dalam suatu permainan kartu kwartet dengan jumlah 4 pemain di pulau Sumatera, dan memiliki 4 kartu di tangannya masing masing seperti dalam tabel 3.8:
Tabel 3.8Keadaan kartu di tangan masing-masing pemain
Nama Pemain Kategori Sub Kategori
Pemain 1 (Player) Flora dan Fauna Burung Rangkong
Dukuh Palembang Alat Musik Tradisional Doli
Rapa’i
Pemain 2 (NPC) Rumah Adat Rumah Bolon
Rumah Gadang
Kuliner Es Laksamana Raja
Mengamuk
Pempek
Alat Musik Rebana dan cimbal Objek Wisata Air Terjun Aek Martua
Flora dan fauna Gajah Sumatera Pemain 4 (NPC) Senjata Adat Piso Gajah
Alat Musik Tradisional Rebana dan cimbal Pahlawan Nasional Buya Hamka
Objek Wisata Air Terjun Aek Martua
Pada giliran pemain 1, digunakanlah rumus probabilitas pada kategori senjata Adat seperti pada tabel 3.9 :
Tabel 3.9 nilai probabilitas kategori senjata adat
Lawan Pemain Probabilitas
Tabel 3.10 nilai probabilitas kategori Flora dan Fauna
Karena nilai probabilitas kesetiap kategori bernilai sama, yaitu 2/4 maka pemain 1 akan memilih kategori Flora dan Fauna, karena berada pada index yang lebih kecil jika dibandingkan dengan kategori kartu lainnya dan memilih lawan pemain2.
Akan tetapi pemain 2 tidak memiliki kategori Flora dan Fauna sehingga pemain 1 diharuskan untuk mengambil 1 kartu dari tumpukan kartu. Pada giliran pemain 2, untuk menghitung nilai probabilitas rumah adat seperti pada tabel 3.11:
Tabel 3.11 nilai probabilitas kategori Rumah Adat
Lawan Pemain Probabilitas
Pemain 1
P(A) = n(A) + log(A) / n(S) = 2 + 0 / 5
Pemain 3
Dan untuk kategori Kuliner seperti pada tabel 3.12:
Tabel 3.12 nilai probabilitas kategori senjata adat
Lawan Pemain Probabilitas
Tabel 3.13 nilai probabilitas sub kategori
Maka pemain 2 akan memilih Rumah Krong bade pada pemain 3, dan pemain 3 memberikan Rumah Krong Bade kepada pemain 2. Pada giliran pemain 3, didapat hasil probabilitas tertinggi pada kategori Flora dan Fauna terhadap pemain 1 seperti berikut:
P(A) = n(A) + log(A) / n(S) = 1 + 1 / 5
= 2/5
Dan akan memilih sub kategori Burung rangkong dan dukuh palembang. Pada giliran pemain 4, didapat hasil probabilitas dengan kategori Senjata Adat terhadap pemain 1.
3.7. Analisis Kebutuhan Non-Fungsional
lunak ,kebutuhan perangkat keras dan pengguna sistem yang akan memakai aplikasi.
3.7.1. Analisis dan Kebutuhan Perangkat Keras
Agar aplikasi dapat berjalan dengan baik, maka dibutuhkan perangkat keras yang sesuai dengan kebutuhan aplikasi. Di bagian ini akan dijelaskan analisis kebutuhan perangkat keras dari sisi pengembang dan dari sisi pemain. 1. Dari sisi pengembang
Perangkat keras yang digunakan untuk membangun game ini dapat dilihat dalam tabel 3.14:
Table 3.14 Perangkat keras sisi pengembang
Perangkat Keras Spesifikasi
Processor Intel® Core™ i7
Harddisk 750 GB
RAM 8 GB DDR3
VGA Card 2GB
Monitor 1366 x 768
Input dan Output Mouse dan Keyboard
2. Dari sisi pemain
Table 3.15 Spesifikasi minimum dari sisi pemain
Perangkat Keras Spesifikasi
Processor ARMv7 800 Mhz
Memori Internal 8 GB
RAM 512 MB
Resolusi 480x800px
Input dan Output TouchScreen
3.7.2. Analisis dan Kebutuhan Perangkat Lunak
Berikut ini adalah spesifikasi perangkat lunak yang digunakan dalam pembuatan gameBeauty Of Indonesia, yaitu sebagai berikut :
1. Sistem Operasi Arch Linux 2. Aplikasi IDE Eclipse Luna
3. JDK v 1.7 dan Android SDK Linux 4. ADT v.8.0.0
5. Platform Android versi. 4.1 keatas
3.7.3. Analisis dan Kebutuhan Pengguna
needs, user physicological characteristic,dan user physical characteristic seperti yang dapat dilihat pada tabel 3.16:
Table 3.16Knowledge and Experience
KNOWLEDGE AND EXPERIENCE
Computer Literacy Rendah, minimal bias dan mengerti cara
menggunakan smartphone
Pengalaman Sistem Sedang, minimal bias dan mengerti cara
menggunakan sistem operasi Android
Pengalaman Aplikasi Sedang, miniman pernah memainkan
permainan kartu
Penggunaan Sistem Lain Jarang
Edukasi Sekolah dasar
Kemampuan Membaca
Bisa membaca dengan lancer minimal setara dengan kemampuan anak sekolah dasar kelas 3 SD
Bahasa / Kultur Bahasa Indonesia
JOB / TASK / NEED
Frekuensi Penggunaan Occasional
Tingkat KepentinganTask Lemah
Interaksi Sosial Tidak diperlukan
PSYCHOLOGICAL CHARACTERISTICS
Attitude Positif
Motivasi Tinggi
3.8. Analisis Kebutuhan Fungsional
Analisi kebutuhan fungsional akan menjelaskan tentang kebutuhan sistem usulan. Analisis kebutuhan fungsional menggambarkan proses kegiatan yang akan diterapkan dalam sebuah sistem dan menjelaskan kebutuhan yang diperlukan sistem agar sistem dapat berjalan dengan baik serta sesuai dengan kebutuhan. Analisi kebutuhan fungsional ini meliputi analisis kebutuhan sistem, analisis kebutuhan data, spesifikasi sistem dan pemodelan sistem.
3.8.1. Use case Diagram
Diagram Use case merupakan bagian tertinggi dari fungsionalitas yang dimiliki sistem yang akan menggambarkan bagaimana seseorang atau aktor akan menggunakan dan memanfaatkan sistem. Diagram ini juga mendeskripsikan apa yang akan dilakukan oleh sistem. Use case terdiri dari tiga bagian yaitu identifikasi aktor, identifikasi Use case dan skenario Use case seperti yang dapat di lihat pada Gambar 3.4:
Gambar 3.4Use CaseDiagram
3.8.1.1. Definisi Aktor
Table 3.17 Definisi Aktor
No. Aktor Definisi
1 Pemain Merupakan aktor yang menggunakan game Beauty Of Indonesia
3.8.1.2. DefinisiUse case
Terdapat 6 use case dalam aplikasi ini. Setiap use case menggambarkan operasi-operasi yang berbeda. Identifikasi use case yang terdapat dalam sistem dapat dilihat pada table 3.18:
Table 3.18 DefinisiUse Case
No. Use case Deskripsi
1 Pilih Map Fungsionalitas untuk menampilkan map yang akan dipilih pemain
2 Pilih Kategori kartu Fungsional untuk menampilkan kategori kartu yang akan dipilih pemain
3 Show Hint Fungsionalitas untuk memberikan opsi bantuan dalam memilih kategori dan lawan pemain pada gilirannya
4 Pilih Lawan Fungsionalitas untuk menampilkan lawan pemain yang akan dipilih oleh pemain
5 Pilih Sub Kategori kartu
6 Show cara bermain Fungsionalitas untuk menampilkan tata cara memainkan permainan
3.8.1.3. Skenario Use case
Table 3.19 SkenarioUse CasePilih Map
Identifikasi
Nomor 1
Nama Pilih Map
Tujuan Untuk menentukan map apa yang akan di pilih pemain
Deskripsi Map yang dipilih pemain akan menentukan kategori kartu dan sub kategori kartu apa saja yang akan dijumpai oleh pemain
Aktor Pemain
Skenario Utama
Kondisi awal Sistem sedang berjalan dan menampilkanStart Screen
Aksi Aktor Reaksi Sistem
1. Menekan tombolPlaydiStart Screen
3. Memilih tombolplaydiMap Screen
2. MenampilkanMap Screen
4. Cek apakah cara mainscreen
pernah ditampilkan atau tidak 4.1. Jika pernah, menuju proses
“showcara main”
Kondisi Akhir Salah seorang pemain mendapatkan giliran main dan memulai permainan
Table 3.20 SkenarioUse CasePilih Kategori Kartu
Identifikasi
Nomor 2
Nama Pilih Kategori Kartu
Tujuan Untuk menentukan kategori kartu apa yang akan dipilih pemain
Deskripsi Kategori kartu yang dipilih pemain akan digunakan pada saat pemain telah memilih lawan pemain
Aktor Pemain
Skenario Utama
Kondisi awal Pemain memiliki kartu kwartet untuk dipilih dan sistem menampilkannya
Aksi Aktor Reaksi Sistem
1. Pemain memilih salah satu
kategori kartu yang dimilikinya 2. Sistem menyimpan id kategori kartu yang di pilih pemain 3. Pilih Lawan
dipilih pemain
4.1. Jika pemain lawan memiliki id kategori tersebut, sistem akan menampilkan list sub kategori kartu
4.1.a. Pilih sub kategori kartu 4.2. Jika tidak, maka sistem akan
menambahkan 1 kartu pemain dari kocokan kartu
5. Sistem mengakhiri giliran pemain
Kondisi Akhir Menampilkan lawan pemain
Table 3.21 SkenarioUse CaseShow Hint
Identifikasi
Nomor 3
Nama Show Hint
Tujuan Untuk menampilkan kartu salah seorang pemain dengan nilai probabilitas tertinggi.
Deskripsi Untuk menghitung nilai probabilitas tertinggi ke setiap kategori kartu yang dimiliki pemain kemudian menampilkannya.
Skenario Utama
Kondisi awal Pemain berada di gilirannya dan memiliki kartu kwartet untuk dipilih.
Aksi Aktor Reaksi Sistem
1. Pemain memilih tombolHint
2. Sistem mengecek apakah hint telah digunakan sebanyak 3 kali atau tidak
3. Jika tidak sistem menghitung nilai probabilitas ke setiap kategori kartu yang dimiliki pemain 3.1 Sistem memilih kategori kartu
dan lawan pemain dengan nilai probabilitas tertinggi
Kondisi Akhir Menampilkan lawan pemain
Table 3.22 SkenarioUse CasePilih Lawan Pemain
Identifikasi
Nomor 4
Nama Pilih Lawan Pemain
Tujuan Untuk mengetahui apakah lawan yang dipilih pemain memiliki kategori kartu yang telah dipilih pemain atau tidak
memiliki kategori kartu yang dipilih pemain sebelumnya atau tidak
Aktor Pemain
Skenario Utama
Kondisi awal Pemain telah memilih kategori kartu
Aksi Aktor Reaksi Sistem
1. Pemain memilih salah satu lawan pemain yang
ditampilkan oleh sistem
2. Sistem menyimpan id lawan yang dipilih
Kondisi Akhir Menampilkan sub kategori kartu
Table 3.23 SkenarioUse Case Pilih Sub Kategori Kartu
Identifikasi
Nomor 5
Nama Pilih Sub Kategori Kartu
Tujuan Untuk menentukan sub kategori kartu apa yang akan dipilih pemain
Deskripsi Pemain akan memilih sub kategori kartu yang akan ditampilkan oleh sistem
Aktor Pemain
Kondisi awal Sistem menampilkan list sub kategori
Aksi Aktor Reaksi Sistem
1. Pemain memilih salah satu sub kategori kartu
2. Menyimpan id sub kategori kartu 3. Memeriksa apakah pemain lawan
terpilih memiliki sub kategori yang dipilih pemain atau tidak 3.1 Jika ada, sub kategori yang dipilih
akan diberikan ke pemain
Kondisi Akhir Menampilkan giliran pemain berikutnya
Table 3.24 SkenarioUse Case ShowCara Main
Identifikasi
Nomor 6
Nama Show Cara Main
Tujuan Untuk menampilkan cara main kartu kwartet
Deskripsi Ketika permainan baru dimulai, sistem akan menampilkan cara main permainan
Aktor Pemain
Skenario Utama
Aksi Aktor Reaksi Sistem
1. Pemain memilih tombol ok
2. Menutup tampilan cara main
Kondisi Akhir Menampilkan cara bermain
3.8.2. Activity Diagram
Diagram activity merupakan bagian dari penggambaran sistem secara fungsional menjelaskan proses-proses logika atau fungsi yang terimplementasi oleh kode program.
1. Aktivity DiagramPilih Map
2. Aktivity DiagramPilih kategori kartu
Gambar 3.6Use Activity DiagramPilih Kategori Kartu
3. Aktivity Diagram Show Hint
4. Aktivity DiagramPilih Lawan
Gambar 3.8Use Activity DiagramPilih Lawan
5. Aktivity DiagramPilih Sub Kategori kartu
6. Aktivity Diagramshow cara main
Gambar 3.10Use Activity Diagram ShowCara Main
3.8.3. Sequence Diagram
1. Sequence Diagram Pilih Kategori kartu
Gambar 3.11Sequence DiagramPilih Kategori Kartu
2. Sequence Diagram Pilih Lawan
3. Sequence DiagramMulaiGame
4. Sequence DiagramBantuan
5. Sequence Diagram Pilih Sub Kategori Kartu
Gambar 3.15Sequence DiagramPilih Sub Kategori Kartu
3.8.4. Class Diagram
3.8.4.1. Daftar Kelas
Spesifikasi kelas berisi pemaparan setiap kelas yang terdapat pada class diagram (Gambar 3.17). Class diagram aplikasi Beauty Of Indonesia yang dibangun terdiri dari 4 jenis kelas, yaituclass boundary,class control,class entity, dan class abstrack. Adapun daftar setiap class yang terdapat pada class diagram berdasarkan jenisnya dapat dilihat pada tabel 3.24:
Tabel 3.25 Daftar Kelas
No Nama Kelas Jenis Kelas
1 MenuScreen Boundary
2 GameScreen Boundary
3 FieldView Boundary
4 Level Screen Boundary
5 AbstracScreen Boundary
6 SoundManager Control
7 MusicManager Control
8 BeautyMusic Control
9 BeautySound Control
10 FieldControl Control
11 BeautyGame Control
12 Kwartet Entity
13 Level Entity
3.8.4.2. Operasi dan Atribut
Tabel 3.26 Kelas MenuScreen
Nama kelas : MainMenu.java
Nama Operasi Visibility Keterangan
MenuScreen Public
show Public
resize Public
Nama Atribut Visibility Tipe
mulai private Button
beautylogo private Image
bottom private Image
bottom2 private Image
Tabel 3. 27 Kelas FieldView Nama Kelas : FieldView.java
Nama Operasi Visibility Keterangan
fieldView public
show public
resize public
getChooseField public
setChooseField public getChooseIdKategori public
setChooseIdSub public
Nama Atribut Visibility Tipe
main private Button
next private Button
back private Button
time private Label
turn private Label
quartet private Label
player protected Group[]
second protected Label
score protected Label
playerTurn protected Label
sizeCard protected Vector2
zoom protected Float
Tabel 3. 28 Kelas AbstracScreen
Nama Kelas : AbstracScreen.java
Nama Operasi Visibility Keterangan
AbstracScreen public
getName public
isGameScreen public
getFont public
getBatch public
getSkinCard protected
getSkor public
showBorder public
render public
resize public
show public
hide public
pause public
resume public
dispose public
Nama Atribut Visibility Tipe
WIDTH public float
HEIGHT public float
font private BitmapFont
batch private SpriteBatch
skin private skin
skinCard private skin
atlas private TextureAtlas
batikBg private Image
batikBorder private Image[]
table private Table
stage protected Stage
camera protected OrthographicCamera
timeAct protected float