RANCANG BANGUN GAME EDUKASI MENGENAL BENDA DAN BERHITUNG KID
LOGIC BERBASIS ANDROID UNTUK ANAK SEKOLAH DASAR LAPORAN KERJA
PRAKTEK
NAMA: I Putu Prarthana DamayasaNIM: 110010435JENJANG STUDI:
STRATA SATU (S1)PROGRAM STUDI: Sistem Komputer
SEKOLAH TINGGIMANAJEMEN INFORMATIKA DAN TEKNIK KOMPUTER(STMIK)
STIKOM BALI2014
PERSETUJUAN DAN PENGESAHANLAPORAN KERJA PRAKTEK
Laporan yang berjudul: Rancang Bangun Game Edukasi Mengenal
Benda Dan Berhitung Kid Logic Berbasis Android Untuk Anak Sekolah
DasarDisusun oleh: I Putu Prarthana DamayasaNIM: 110010435Jenjang
Studi: Strata Satu (S1)Program Studi: Sistem Komputer
Denpasar, Desember 2014
Menyetujui,
Dosen PembimbingPembina
(Ni Komang Sri Julyantari, S.Kom)(Ketut Sedana Yoga Putra R,
S.Kom)
Mengetahui,Ka. Prodi Sistem Komputer
(I Gede Putu Krisna Juliharta, ST., MT)
KATA PENGANTARPuji syukur penulis panjatkan ke hadapan Tuhan
Yang Maha Kuasa, karena berkat rahmat-Nya penulis dapat
menyelesaikan Laporan KP (Kerja Praktek) dengan judul Rancang
Bangun Game Edukasi Mengenal Benda Dan Berhitung Kid Logic Berbasis
Android Untuk Anak Sekolah Dasar.Penulis menyadari bahwa laporan
ini jauh dari kesempurnaan mengingat keterbatasan pengalaman dan
kemampuan serta kurangnya buku-buku yang digunakan sebagai acuan
dalam menyusun laporan ini, namun berkat bantuan dari semua pihak
baik secara langsung maupun tidak langsung sehingga
terselesaikannya laporan ini. Oleh karena itu pada kesempatan ini
penulis mengucapkan terima kasih kepada:1. Bapak Dr. Dadang
Hermawan selaku ketua Sekolah Tinggi Manajemen Informatika dan
Teknik Komputer yang telah memberikan pengarahan terselenggaranya
Kerja Praktek ini.2. Bapak I Gede Putu Krisna Juliharta, ST., MT
selaku ketua program studi sistem komputer yang telah memberikan
semangat dan motivasi kepada penulis.3. Bapak Yudi Agusta, PH.D
selaku Dosen Wali.4. Ibu Ni Komang Sri Julyantari, S.Kom selaku
Dosen Pembimbing Kerja Praktek yang secara tulus dan penuh
kesabaran membimbing dalam penyelesaian penulisan ini.5. Bapak
Ketut Sedana Yoga Putra Renanthera, S.Kom selaku Pembina Kerja
Praktek di PT. Bamboomedia Cipta Persada yang telah dengan tulus
mengijinkan kami untuk kerja praktek.6. Orang tua dan keluarga
tercinta yang memberikan dukungan baik moral maupun materi kepada
penulis untuk selalu berusaha untuk mencapai hasil yang baik.7.
Semua pihak yang tidak dapat penulis sebutkan satu persatu yang
telah memberikan bantuan dan dorongan hingga selesainya penulisan
laporan ini.Penulis sadar bahwa dalam pengerjaan laporan ini masih
ada kekurangan, untuk itu penulis mengharapkan kritik dan saran
yang sifatnya membangun, semoga laporan ini bisa bermanfaat
khususnya bagi penulis sendiri dan umumnya bagi pembaca.
Denpasar, Desember 2014
Penulis
DAFTAR ISI
KATA PENGANTARiiiDAFTAR ISIivDAFTAR TABELviiDAFTAR GAMBARviiiBAB
I PENDAHULUAN11.1Latar Belakang11.2Rumusan Masalah21.3Tujuan
Perekayasaan21.4Tujuan Kerja Praktek31.5Ruang Lingkup
Perekayasaan31.6Bahan dan Metode Kerja Praktek31.6.1Lokasi Kerja
Praktek31.6.2Jenis dan Sumber Data41.6.3Metode Pengumpulan
Data41.7Sistematika Penulisan5BAB II TINJAUAN UMUM PT. BAMBOOMEDIA
CIPTA PERSADA62.1Sejarah PT. Bamboomedia Cipta. Persada62.2Visi
PT..Bamboomedia.Cipta.Persada62.3Misi PT.
Bamboomedia.Cipta.Persada62.4Kantor PT. Bamboomedia Cipta
Persada72.5Lokasi Kerja Praktek PT. Bamboomedia Cipta
Persada72.6Struktur Organisasi PT. Bamboomedia Cipta
Persada82.7Fungsi Dan Tugas Masing Masing Bidang9BAB III LANDASAN
TEORI113.1Pengertian Game113.1.1Jenis - Jenis Game113.2 Sistem
Operasi Android123.2.1Sejarah Android123.2.2Versi Versi
Android123.2.3Keunggulan dan Kekurangan Android143.3Corona
SDK153.4Adobe Photoshop183.5Notepad++223.6UML (Unifield Modeling
Language)233.6.1Diagram diagram dalam UML243.6.2Konsep Pemodelan
Use Case253.6.3Use Case Diagram263.6.4Expanded Use
Case283.6.5Activity Diagram283.6.6Sequence Diagram293.6.7Class
Diagram30BAB IV HASIL DAN PEMBAHASAN314.1Use Case
Diagram314.2Expanded Use Case324.3Activity Diagram344.4Sequence
Diagram384.5Class Diagram414.6Hasil Kerja Praktek424.6.1Halaman
Splash424.6.2Halaman Menu Utama434.6.3Halaman Game
Play444.6.4Halaman Credit454.6.7Halaman Tutorial46BAB V
PENUTUP474.1Kesimpulan474.2Saran47Daftar Pustaka48Lampiran49
DAFTAR TABEL
Tabel 3.1 Simbol Use Case Diagram27Tabel 3.2 Simbol Activity
Diagram29Tabel 3.3 Simbol Sequence Diagram30Tabel 3.4 Simbol Class
Diagram31Tabel 4.1 Expanded Use case Play32Table 4.2 Expanded Use
Case Tutorial32Table 4.3 Expanded Use Case About33
DAFTAR GAMBAR
Gambar 2.1 Kantor PT.Bamboomedia Cipta Persada.7Gambar 2.2
Lokasi Kerja Praktek PT. Bamboomedia Cipta Persada8Gambar 2.3
Struktur Organisasi8Gambar 3.1 Tampilan Awal Corona SDK16Gambar 3.2
Membuat Projek Baru16Gambar 3.3 Tampilan Directory17Gambar 3.4
Tampilan Awal Mobile Device Masih Kosong17Gambar 3.5 Tampilan
Corona Simulator18Gambar 3.6 Tampilan Area Kerja Photoshop19Gambar
3.7 Tampilan New Canvas Photoshop Photoshop20Gambar 3.9
Notepad++23Gambar 4.1 Use Case Diagram Aplikasi Kids Logic31Gambar
4.2 Activity diagram Play34Gambar 4.3 Activity Diagram Melihat
Tutorial36Gambar 4.4 Activity Diagram Melihat About37Gambar 4.5
Sequence Diagram Play38Gambar 4.6 Sequence Diagram Melihat
Tutorial39Gambar 4.7 Sequence Diagram Melihat About40Gambar 4.8
Class Diagram41Gambar 4.9 Halaman Splash dengan logo
Bamboomedia42Gambar 4.10 Halaman Splasg dengan logo DAP
Studio42Gambar 4.11 Halaman Menu Utama43Gambar 4.12 Halaman Game
Play Tebak Gambar44Gambar 4.13 Halaman Game Play Berhitung44Gambar
4.14 Halaman Credit45Gambar 4.15 Halaman Tutorial46
ii
iii
BAB IPENDAHULUAN
1.1Latar BelakangPerkembangan teknologi yang semakin pesat
menyebabkan kebutuhan akan teknologi di masyarakat semakin
tergantung. Tidak hanya itu, para pengembang teknologi terus
mengembangkan teknologi sesuai kebutuhan masyarakat. Teknologi
memegang peranan penting dalam kehidupan karena teknologi
mempermudah pekerjaan masyarakat.Berawal dari komputer (PC),
laptop, handphone, smartphone hingga smart tv. Sebagian besar
masyarakat Indonesia memiliki salah satu dari teknologi tersebut.
Pengguna paling banyak terdapat di smartphone karena smartphone
dinilai lebih praktis dari pada laptop dan komputer (PC). Tidak
heran, begitu tingginya smartphone dalam menunjang kehidupan
sehari- hari masyarakat Indonesia, seperti dalam berkomunikasi
dengan panggilan telepon, video call, dan berbagai aplikasi
messenger, hingga sebagai sarana hiburan. Pemakaian smartphone juga
dari kalangan semua usia. Dari orang dewasa hingga anak anak pun
mengunakanya.Berbagai perancangan sistem sadah diterapkan
diberbagai bidang, termaksuk bidang pendidikan. Dalam bidang
pendidikan penggunakan teknologi dalam mendidik masih sangat
sedikit, khususnya untuk anak anak. Dengan membuat game edukasi
untuk smartphone diharapkan dapat meningkatkan anak anak untuk
belajar.Jaman sekarang banyak anak anak yang sudah mengunakan
smartphone. Orang tua memberikan smartphone kepada anak mereka
selain untuk sarana komunikasi dan sebagai sarana hiburan kepada
anak anak mereka. Tetapi pengunaan smartphone pada anak anak
menjadi salah sasaran. Anak anak cenderung memakai smartphone untuk
bermain game dan para orang tua tidak memikirkan tentang dampak
yang akan terjadi pada anak mereka jika terus bermain game.
Sedangkan bila dilihat kembali, smartphone yang digunakan
sebenarnya dapat dipakai sebagai sarana belajar yang mudah
dipelajari dan dipahami oleh anak anak tersebut, dan juga dengan
smartphone dan aplikasi yang dapat digunakan memudahkan para orang
tua membantu anaknya dalam proses belajar tanpa perlu
repot.Kurangnya aplikasi aplikasi pembelajaran merupakan alasan
kuat anak anak menggunakan smartphone hanya untuk bermain fun game.
Yang ada saat ini kita lihat di lapangan, belajar hanya dari buku
saja membuat anak mudah bosan untuk membaca, dan untuk belajar
harus membawa buku kemana mana ini sangat tidakpraktis. Hingga
mulai bermunculan CD game edukasi anak agar keterkaitan belajar
sambil bermain. Dalam belajar perlu adanya interaksi, tidak
monotone seperti membaca buku. Dengan adanya smartphone yang
semakin canggih, perlu adanya game edukasi anak yang bisa digunakan
dengan mudah, dan bisa digunakan dimana saja dan kapan
saja.Berdasarkan latar belakang masalah diatas maka penulis
mengangkat judul dalam laporan ini adalah Rancang Bangun Game
Edukasi Mengenal Benda Dan Berhitung Kid Logic Berbasis Android
Untuk Anak Sekolah Dasar yang bertujuan untuk melatih anak mencari
benda benda, dan merapikan ruangan dengan desain yang dibuat
menarik untuk anak anak agar mereka tertarik untuk bermain.
1.2Rumusan MasalahDalam implementasi kerja praktek ini pembuatan
Aplikasi Game Edukasi Mengenal Benda dan Berhitung berbasis Android
ini dibatasi pada hal hal sebagai berikut:1. Bagaimana merancang
bangun game edukasi mengenal benda dan berhitung berbasis
android?2. Bagaimana cara mengimplementasikan game edukasi mengenal
benda dan berhitung berbasis android?3. Bagaimana cara untuk
bermain dari game edukasi mengenal benda dan berhitung berbasis
android?
1.3Tujuan PerekayasaanAdapun tujuan dari perekayasaan ini adalah
sebagai berikut:1. Untuk membuat game edukasi mengenal benda dan
berhitung berbasis android.2. Untuk mengimplementasikan game
edukasi mengenal benda dan berhitung berbasis android.3. Untuk
mengetahui cara bermain game edukasi mengenal benda dan berhitung
berbasis android.
1.4Tujuan Kerja PraktekAdapun tujuan dari kerja praktek ini
adalah sebagai berkut:1. Untuk belajar dan memperluas pengetahuan
tentang cara pembuatan aplikasi game berbasis Android.2. Untuk
membuat permainan yang dapat melatih otak anak.3. Untuk memenuhi
salah satu syarat menyusun skripsi pada Strata Satu Program Studi
Sistem Informasi STMIK STIKOM BALI.
1.5Ruang Lingkup PerekayasaanMelihat tempat dan terbatasnya
waktu pelaksanaan kerja praktek, maka perlu diadakannya pembatasan
masalah untuk menghindari terjadinya kekeliruan agar tidak
menyimpang dari tujuan sebelumnya. Adapun ruang lingkup dari
masalah yang dibahas, penulis membatasi ruang lingkup pembahasan
pada rancang bangun game sebagai berikut:1. Pembuatan game berbasis
android dengan menggunakan corona SDK.2. Game ini dapat dijalankan
pada android versi 2.2 sampai 4.4.3. Game ini dibuat menggunakan
bahasa pemrograman LUA.4. Perancangan sistem untuk game ini
menggunakan Unified Modeling Language (UML).5. Game ini digunakan
oleh anak anak sekolah dasar kelas 1 (satu).6. Game ini hanya untuk
mengenal benda dan belajar berhitung.
1.6Bahan dan Metode Kerja PraktekPenulis akan melakukan
pengumpulan data yang berhubungan dengan Perancangan Game Edukasi
Belajar Mengenal Benda dan Berhitung Berbasis Android.
1.6.1Lokasi Kerja PraktekKerja praktek dilaksanakan di PT.
Bamboomedia Cipta Persada yang beralamat di Jalan Tukad Yeh Aya No.
135, Panjer, Denpasar.
1.6.2Jenis dan Sumber DataDisini penulis menggunakan jenis dan
sumber data yang terbagi menjadi:1. Jenis DataJenis data yang
digunakan dalam laporan kerja praktek ini adalah data kualitatif
yaitu data yang berupa berbagai kegiatan, penjelasan dan keterangan
seperti sejarah keberadaan dan perkembangan kegiatan kegiatan usaha
di PT. Bamboomedia Cipta Persada.2. Sumber Dataa. Data Primer,
yaitu data yang diperoleh langsung dari lokasi penelitian yang
digunakan untuk penulisan laporan.b. Data Skunder, yaitu data
pengolahan dan pengumpulan dilakukan oleh pihak luar yaitu melalui
studi pustaka maupun sumber - sumber lain yang berhubungan dengan
penulisan laporan ini.1.6.3Metode Pengumpulan DataBeberapa metode
pengumpulan data yang digunakan untuk menulis laporan ini adalah:1.
Observasi (Pengamatan Langsung)Penulis melakukan pengamatan
langsung ke tempat objek pembahasan yaitu melalui PT. Bamboomedia
Cipta Persada.2. Interview (Wawancara)Penulisan melakukan wawancara
unntuk mendapatkan penjelasan dari masalah-masalah yang sebelumnya
kurang jelas dan untuk lebih menyakinkan bahwa data yang diperoleh
atau dikumpulkan benar-benar tepat dan akurat.3. DokumentasiDengan
cara mengumpulkan data data yang terkait dengan laporan dari
dokumen dokumen, buku yang ada di PT. Bamboomedia Cipta Persada.4.
Studi LiteraturMerupakan suatu teknik pengumpulan data yang
dilakukan dengan mempelajari buku buku atau dokumen dokumen yang
berkaitan dengan permasalahan di atas.
1.7Sistematika PenulisanDalam penulisan laporan ini sangat
diharapkan agar pembaca dan pihak-pihak yang berkepentingan dapat
dengan mudah memahami isi laporan. Adapun sistematika penulisan
laporan adalah sebagai berikut:1. BAB I PENDAHULUANBerisi tentang
Latar Belakang, Ruang Lingkup Masalah, Tujuan Kerja Praktek, Ruang
Lingkup Kerja Praktek, Bahan dan Metode Kerja Praktek, dan
Sistematika Penulisan.2. BAB II TINJAUAN UMUM PERUSAHAANBerisi
tentang Sejarah PT. Bamboomedia Cipta Persada, Tugas masing-masing
bagian, Visi dan Misi, serta Struktur Organisasi PT. Bamboomedia
Cipta Persada.3. BAB III LANDASAN TEORIBerisi tentang teori yang
mendasari perancangan game edukasi yang ada pada PT. Bamboomedia
Cipta Persada.4. BAB IV HASIL DAN PEMBAHASANBerisi tentang hasil
analisa desain sistem game edukasi yang ada pada PT. Bamboomedia
Cipta Persada.5. BAB V PENUTUPBerisi tentang kesimpulan dan saran
dari laporan penelitian Kerja Praktek.6. DAFTAR PUSTAKA
5
1
BAB IITINJAUAN UMUM PT. BAMBOOMEDIA CIPTA PERSADA
2.1Sejarah PT. Bamboomedia Cipta. PersadaPT. Bamboomedia Cipta
Persada (selanjutnya disebut perusahaan) saat ini berada di Jalan
Merdeka No. 45 Denpasar dan lokasi Kerja Praktek PT. Bamboomedia
Cipta Persada berada di Jalan Tukad Yeh Aya No. 135, Panjer,
Denpasar. Sebelumnya berlokasi di Jalan Jepun Kuning, Lotus Garden
No.4, Denpasar, Bali. Didirikan tahun 2002 oleh Notaris K. Rames
lswara di Denpasar, dengan Akte No. 51 tanggal 25 Maret 2003 dengan
No. SIUP. 1335/22-09/PK/VIII/2003.PT. Bamboomedia Cipta Persada
dikukuhkan sebagai PKP pada tahun 2004 dengan nomor NPWP
02.2117.836.6.903.000 sesuai dengan akte Pasal 3 dari akte no.73
tersebut dimaksud dan tujuan pendirian perusahaan adalah dalam
bidang pembuatan software - software pendidikan.Dari awal pendirian
sampai saat ini, perkembangan perusahaan ini mengalamai peningkatan
yang cukup pesat itu disebabkan karena saat ini semakin banyak
orang tertarik untuk belajar dengan menggunakan komputer. Produk
Bamboomedia didistribusikan hampir ke seluruh toko buku yang ada di
Indonesia sehingga orang menjadi lebih mudah untuk mencari
produknya.
2.2Visi PT..Bamboomedia.Cipta.PersadaMenuju Kehidupan yang lebih
baik melalui Software dan Kreatifitas.
2.3Misi PT. Bamboomedia.Cipta.PersadaMenjadi mitra dan penyedia
solusi teknologi pembelajaran, pelatihan berbasis komputer, dan
software kreatif yang terbaik di Indonesia. Pendidikan dan
pelatihan adalah kunci suatu bangsa untuk maju, sistem sekolah
memiliki keterbatasan dalam jangkuan dan akses.6
6
2.4Kantor PT. Bamboomedia Cipta PersadaBerikut adalah tampak
depan kantor PT. Bamboomedia Cipta Persada sebagai kantor pusat
yang berlokasi di Jalan Merdeka No. 45, Denpasar.
Gambar 2.1 Kantor PT.Bamboomedia Cipta Persada.
2.5Lokasi Kerja Praktek PT. Bamboomedia Cipta PersadaBerikut
adalah tampak depan kantor PT. Bamboomedia Cipta Persada sebagai
lokasi tempat kerja praktek, dimana yang berlokasi di Jalan Tukad
Yeh Aya No. 135, Panjer, Denpasar.
Gambar 2.2 Lokasi Kerja Praktek PT. Bamboomedia Cipta
Persada
2.6Struktur Organisasi PT. Bamboomedia Cipta PersadaStruktur
Organisasi PT. Bamboomedia Cipta Persada adalah suatu gambaran
secara sistematis yang mengambarkan tentang bagian - bagian,
tentang tugas tugas, jabatan serta tanggung jawab yang sudah
dipecah dan dijadikan sesuai rencana yang telah ditetapkan,
sehingga pekerjaan dapat dilakukan secara efektif dan efisien untuk
mencapai tujuan perusahaan. Adapun gambaran struktur organisasi PT.
Bamboomedia Cipta Persada adalah sebagai berikut:
Gambar 2.3 Struktur Organisasi
2.7Fungsi Dan Tugas Masing Masing BidangBerikut ini adalah
Fungsi dan Tugas dari masing masing Bidang di PT. Bamboomedia Cipta
Persada: Dewan DireksiMemimpin, memberi izin, dan mengawasi
kegiatan kegiatan yang dilakukan di perusahaan. Direktur
UtamaMengawasi kegiatan kegiatan yang dilakukan pada PT.
Bamboomedia Cipta Persada. Operasional ManagerBertanggung jawab
terhadap segala jenis operasional perusahaan. Admin dan
AccountingBertanggung jawab terhadap pemberian informasi dan
perhitungan keuangan perusahaan. Business DevelopmentBertanggung
jawab mencari rekan bisnis demi memajukan nama perusahaan.
MarketingBertanggung jawab meningkatkan pendapatan dan melakukan
iklan iklan untuk memperkenalkan perusahaan. Public
RelationBertanggung jawab tentang informasi yang diberikan kepada
antar karyawan. Produksi dan DistribusiMemproduksi CD, flyer untuk
dipublikasikan. HRD PersonaliaMenentukan tenaga kerja yang handal
dalam perusahaan. Development ManagerBertanggung jawab memimpin
suatu proyek. Flexible TrainingBertanggung jawab untuk membuat
proyek tutorial. Bizt and BMGames teamBertanggung jawab dalam
pembuatan program game. SimpleBizBertanggung jawab dalam pembuatan
program bisnis. Indoclass.com and OnNetPembelajaran Online.
Development SupportYang meng-handle segala jenis keluhan dari
customer.10
BAB IIILANDASAN TEORI
3.1Pengertian GameDalam bahasa Indonesia Game berarti Permainan.
Permainan yang dimaksud dalam game juga merujuk pada pengertian
sebagai kelincahan intelektual (intellectual playbility). Sementara
kata game bisa diartikan sebagai arena keputusan dan aksi
pemainnya. Ada target - target yang ingin dicapai pemainnya.
Kelincahan intelektual, pada tingkat tertentu, merupakan ukuran
sejauh mana game itu menarik untuk dimainkan secara
maksimal[1].
3.1.1Jenis - Jenis GameTerdapat beberapa jenis game yaitu:1.
Shooting (tembak tembakan)Jenis game ini mengandalkan timing dan
kecepatan dalam membidik musuh. Jenis game shooting menjadi jenis
permainan yang sering dimainkan di warnet (Warung Internet).2.
Adventure atau PertualanganJenis game tidak seperti jenis game
shooting tapi jenis game ini lebih menekankan ke alur cerita dan
kemampuan user dalam memecahkan teka teki maupun menyimpulkan
percakapan yang terjadi dalam game tersebut.3. SimulasiJenis game
yang menekankan ke kehidupan nyata. Game simulasi biasanya meniru
kehidupan nyata manusia sehari hari.4. StrategiGame ini memerlukan
pemikiran yang cerdik dari user untuk merancang sebuah strategi
untuk memenangkan game tersebut.5. Edugame atau EdukasiGame yang
bertujuan sebagai alat pendidikan seperti belajar tentang
menghitung, mengenal angka, mengenal nama - nama hewan, benda dan
buah - buahan, sejarah bahkan belajar tentang bahasa asing.46
11
3.2 Sistem Operasi AndroidAndroid adalah salah satu sistem
operasi mobile yang berbasis Linux yang dimiliki oleh Google.
3.2.1Sejarah AndroidAndroid merupakan sebuah sistem operasi
berbasis Linux untuk perangkat mobile yang mencakup sistem operasi
dan aplikasi. Awalnya Google Inc. memberi Android Inc. yang
merupakan pendatang baru yang membuat perangkat lunak untuk ponsel
atau smartphone. Google Inc. membeli Android Inc. kemudian
mengembangkan Android dan dibentuklah konsorsium Open handset
Alliance dari 34 perusahaan perangkat lunak, perangkat keras dan
telekomunikasi, termasuk Google, HTC, Motorola, Qualcomm, T-Mobile,
dan Nvidia.Pada saat perilisan perdana Android, 5 November 2007,
Android bersama Open handset Alliance menyatakan mendukung
pengembangan open source pada perangkat mobile. Di lain pihak,
Google merilis source code Android di bawah lisensi Apache, sebuah
lisensi perangkat lunak dan open platform perangkat seluler[2].
3.2.2Versi Versi AndroidSejak dirilis pada tahun 2008, Android
telah banyak menerima versi baru. Dalam versi-versi tersebut diberi
nama seperti makanan, dan disetiap ada pembaruan versi ada
penambahan fungsi yang baru. Berikut ini penjelasan singkat dari
versi-versi tersebut:1. Android versi 1.1Android versi 1.1 dirilis
tanpa nama. Dalam versi 1.1 memperbaiki beberapa bug atau masalah
yang ada pada versi sebelumnya, dan juga menambahkan beberapa fitur
baru.2. Android versi 1.5 (Cupcake)Android versi 1.5 yang di beri
nama CupCake dirilis pada bulan Februari tahun 2009. Terdapat
beberapa pembaharuan termasuk juga penambahan beberapa fitur berupa
kemampuan merekam dan menonton video, upload video ke Youtube dan
gambar ke Picasa langsung dari smartphone.
3. Android versi 1.6 (Donut)Android versi 1.6 di beri nama Donut
dirilis pada tanggal 30 April 2009. Pada Android versi 1.6 terdapat
beberapa pembaharuan pada fitur di versi sebelumnya, dan juga
penambahan fitur baru.4. Android versi 2.1 (Eclair)Android versi
2.1 di beri nama Eclair. Pada versi 2.1 terdapat optimalisasi pada
hardware dan juga penambahan fitur baru berupa dukungan HTML5 pada
browser, adanya flash pada kamera dan beberapa pembaharuan pada
fitur sebelumnya.5. Android versi 2.2 (Froyo: Frozen
Yoghurt)Android versi 2.2 yang diberi nama Froyo dirilis pada
tanggal 20 Mei 2012. Android versi ini memiliki kecepatan kinerja
dan aplikasi dua sampai lima kali dari versi sebelumnya. Selain itu
ada penambahan fitur baru seperti dukungan Adobe Flash 10.1,
integrasi V8 javaScript engine yang dipakai Google Chrome yang
mempercepat kemampuan rendering pada browser, pemasangan aplikasi
dalam SD Card, kemampuan WiFi Hotspot portabel, dan kemampuan auto
update dalam aplikasi Android Market.6. Android versi 2.3
(Gingerbread)Android versi 2.3 diberi nama Gingerbread yang dirilis
pada tanggal 6 Desember 2012. Perubahannya antara lain peningkatan
kemampuan dalam permainan (gaming), peningkatan fungsi copy paste,
layar antar muka (User Interface) disediakan ulang dan terdapat
dukungan kemampuan Near Field Communication (NFC).7. Android versi
3.0 (Honeycomb)Android versi 3.0 yang di beri nama Honeycomb
dirilis pada awal 2012. Merupakan versi Android yang dirancang
khusus untuk device dengan layar yang besar seperti Tablet PC.
Fitur baru yang ada pada Android Honeycomb antara lain yaitu
dukungan terhadap prosesor multicore dan grafis dengan hardware
acceleration. User Interface pada Honeycomb juga berbeda karena
sudah didesain untuk tablet.8. Android versi 4.0 (ICS: Ice Cream
Sandwich)Android versi 4.0 yang diberi nama Ice Cream Sandwich
dirilis pada tanggal 10 Mei 2012. Fitur baru Android Ice Cream
Sandhwich seperti membuka kunci dengan pengenalan wajah, mencari
email secara offline, dan berbagai informasi dengan menggunakan
NFC.9. Android versi 4.1 (Jelly Bean)Android versi 4.1 yang diberi
nama Jelly Bean diluncurkan pada tanggal 10 Mei 2011. Android versi
ini meningkatkan input keyboard, desain baru fitur pencarian, UI
yang baru, pencarian melalui Voice Search yang lebih cepat dan juga
penggunaan baterai yang hemat. Versi ini juga dilengkapi Google
Now.10. Android versi 4.4 (KitKat)Android versi 4.4 yang diberi
nama KitKat adalah versi terbaru Android pada versi ini banyak
fitur tambahan yang dimasukan berupa Status bar serta navigasi
menjadi transparan pada home screen. Dilengkapi dengan Infrared,
akses API ditingkatkan, mode layar penuh diperbaharui, tambahan
Bluetooth Message Access Profle, dan masih banyak lagi tambahan
yang terdapat pada Android KitKat.
3.2.3Keunggulan dan Kekurangan AndroidPopulernya sistem operasi
yang berbasis Android pada saat ini memang telah menyita banyak
perhatian dari para pengguna smartphone ataupun tablet. Dan
pentingnya mengetahui keunggulan dan kekurangan dari Android itu
sendiri, yaitu sebagai berikut:1. Keunggulan AndroidKeunggulan
sistem operasi Android adalah platform sistem operasi tersebut
bersifat open source, maka rata-rata aplikasi yang disajikan oleh
sistem operasi Android akan bersifat gratis juga. Android sudah
memiliki sifat multitasking namun sesuai dengan processor yang
digunakan, sehingga penggunaan sistem operasi Android dapat
menjalankan beberapa aplikasi di waktu yang bersamaan. Sistem
operasi tersebut juga dapat terbilang stabil karena jarang terjadi
Lag seperti sistem operasi lainnya, serta aman karena tidak mudah
terserang virus, serta sudah memiliki fitur notifikasi dari setiap
sms, panggilan telepon yang tidak terjawab, notifikasi dari
berbagai jejaring sosial, hingga dari berbagai messenger.
2. Kekurangan AndroidKekurangan dari sistem operasi Android
adalah mungkin akan dirasa sulit dan membingungkan untuk yang baru
pertama kali menggunakan sistem operasi tersebut. Karena berbagai
aplikasinya gratis, maka berbagai iklan akan keluar ketika
mengoperasikan aplikasi tersebut, namun hanya disaat terhubung
dengan koneksi internet saja. Dengan fitur multitasking yang
dihadirkan oleh sistem operasi Android, maka penggunaan daya
baterai pun akan semakin banyak yang membuat baterai menjadi cepat
habis.
3.3Corona SDKCorona SDK adalah sebuah platform pengembangan
aplikasi mobile yang memungkinkan penggunanya untuk membuat game,
aplikasi dan e-books. Platform ini memanfaatkan bahasa pemrograman
yang disebut dengan Lua, dimana Lua merupakan bahasa pemrograman
yang mudah dipelajari[2].1. Fitur dan keunggulan Corona SDKCorona
SDK memiliki fitur dan keunggulan untuk versi starter sebagai
berikut:a. Build for Android, iOS, Kindle, NOOKb. One-click Buildc.
Custom Splash Screend. Limited Corona Pluginse. Community Supportf.
$100K Company Revenue Limit2. Beberapa keunggulan mengembangkan
aplikasi mobile di Corona antara lain:a. Mengembangkan aplikasi 10x
lebih cepat: dengan Corona SDK kita dapat mengembangkan aplikasi
dengan lebih cepat. Kuncinya ada di bahasa pemrograman yang mudah
untuk dipahami bahkan untuk pemula sekalipun.b. Go cross-platform
dengan mudah: program dari hasil Corona SDK secara otomatis dapat
terbaca pada platform Android dan iOS dan bahkan sekarang sudah
support pada Kindle dan NOOK.c. Tanpa Fragmentasi: Corona SDK
secara otomatis memilih asset yang tepat berdasarkan resolusi layar
dan skala konten Android. Tidak perlu kawatir tentang fragmentasi
Android, karena Corona SDK mencangkup semua basis, pengujian di
puluhan perangkat Android untuk menghindari masalah seperti
kesalahan render yang timbul dari perbedaan chipset perangkat
kecil.3. Beberapa cara penggunaan Corona SDK antara lain:a.
Tampilan pada saat awal membuka Corona SDK.
Gambar 3.1 Tampilan Awal Corona SDKb. Klik File New Project
untuk membuat project baru.
Gambar 3.2 Membuat Projek Baru
c. Setelah project baru dibuat maka akan muncul pada tampilan
directory seperti di bawah ini:
Gambar 3.3 Tampilan Directory
d. Tampilan awal device mobile saat pertama kali dibuat,
terlihat masih kosong (portrait).
Gambar 3.4 Tampilan Awal Mobile Device Masih Kosong
e. Tampilan dari Corona Simulator output.
Gambar 3.5 Tampilan Corona Simulator
3.4Adobe PhotoshopSofware Photoshop adalah suatu program editing
gambar yang dipergunakan untuk membuat, mengolah dan menghasilkan
suatu gambar (image) digital dengan cara teknik dan meng-efek,
sehingga gambar terlihat lain dari aslinya dan berkualitas tinggi.
Dengan Adobe Photoshop kita dapat mendesain berbagai macam bentuk
ilustrasi secara tepat seperti: koran, tabloid, cover buku, brosur
dan lain-lain[5].Menjalankan Adobe Photoshop ada beberapa cara:1.
Melalui StartKlik Start, pilih All Program, pilih Adobe, klik Adobe
Photoshop 7.0 (contohnya Photoshop 7.0)[7]2. Melalui Shortcut
Photoshop yang terdapat pada desktop. Arahkan pointer ke Shortcut
Photoshop, lalu double klik.a. Komponen dari Adobe Photoshop
Gambar 3.6 Tampilan Area Kerja Photoshopb. Title BarMenampilkan
nama file yang sedang aktif dan bisa digunakan untuk memindahkan
posisi jendela photoshop pada desktop.c. Menu BarBerisi deretan
menu yang meliputi: File, Edit, Image, Layer, Select, Filter, View,
Windows, Help.d. RulerAtau yang disebut juga penggaris yang berguna
untuk menentukan posisi serta ukuran suatu objek.e. Status
BarBagian ini menampilkan berbagai informasi tentang objek dan
perkakas yang sedang dipilih.f. Drawing WindowsDaerah yang
digunakan sebagai lembar kerja untuk berkreasi dengan foto atau
gambar.
g. ToolboxKomponen yang digunakan untuk memberikan akses
perintah ke photoshop.h. PalleteKomponen ini digunakan untuk
memilih dan mengatur berbagai parameter[6].i. Sizing ButtonTombol
ukuran yang berada pada kanan atas jendela Photoshop.3. Membuat dan
memodifikasi Lembar Kerja/Kanvas. Caranya : Klik menu File, Pilih
New (Ctrl + N), maka akan keluar kotak dialog New.
Gambar 3.7 Tampilan New Canvas Photoshop Photoshop
a. Preset Sizes: Untuk menentukan ukuran lembar kanvasb. Width:
Untuk menetukan lebar image.c. Height: Untuk menentukan tinggi
image.d. Resolution: Untuk menentukan resolusi yang diinginkan.e.
Mode: Bentuk pilihan warna. RGB (Red, Green, Blue) Color yang
masing-masing mempunyai jumlah warna 256. CMYK (Cyan, Magenta,
Yellow, blacK) Color yang terdiri dari 4 warna, 32 bit per pixel.
Gunakan mode ini jika gambar ingin dicetak berwarna. Bitmap adalah
gambar yang terdiri dari 1 bit warna (hitam dan putih) atau disebut
juga dengan gambar 1 bit dan memiliki ukuran paling kecil. Lab
(Lightness, a = dari green ke red, b = dari blue ke yellow) adalah
gambar yang menggunakan 3 komponen untuk mewakili warna. Anda dapat
menggunakan mode ini untuk bekerja dengan gambar-gambar Photo CD.
Sedangkan Lab Color adalah warna internal yang digunakan Photoshop
ketika mengkonversi mode warna yang satu ke yang lain. Kelompok
Content: untuk menentukan warna dasar kanvas.f. Tools
Gambar 3.8 Tampilan Tools Photoshop Photoshop
Selection Tools Marquee ToolsTools yang termasuk dalam kelompok
ini adalah tool yang berfungsi untuk membuat seleksi pada
obyek.
Rectangular Marquee ToolBerfungsi sebagai pembuat seleksi
berbentuk persegi panjang atau bujur sangkar. Elliptical Marquee
ToolBerfungsi untuk membuat seleksi berupa elips atau lingkaran.
Single Row Marquee ToolBerfungsi untuk membuat seleksi dalam satu
baris garis. Single Coloumn Marquee ToolBerfungsi untuk membuat
seleksi dalam satu kolom garis. Move ToolBerfungsi untuk
memindahkan suatu obyek pada layer yang sedang aktif ke tempat
lain. Lasso Tool Lasso ToolBerfungsi untuk membuat seleksi secara
bebas. Polygonal Lasso ToolBerfungsi untuk membuat seleksi secara
bebas dengan garis lurus. Magnetic Lasso ToolBerfungsi untuk
membuat seleksi berdasarkan kesamaan warna. Magic Wand
ToolBerfungsi untuk membuat seleksi secara bebas berdasarkan
kesamaan warna.
3.5Notepad++Notepad++ adalah sebuah aplikasi penyunting teks dan
penyunting kode sumber yang berjalan di sistem operasi Windows.
Notepad++ menggunakan komponen Scintilla untuk dapat menampilkan
dan menyuntingan teks dan berkas kode sumber berbagai bahasa
pemrograman.Notepad++ mendukung banyak bahasa pemrograman. Dukungan
dalam hal ini adalah dimengerti dan diterjemahkan menjadi teks oleh
Notepad++. Misalnya pada C++, fungsi-fungsinya akan di masukan
kedalam daftar fungsi dan kata-katanya akan berubah warna sesuai
dengan makna kata tersebut di C++.
Gambar 3.9 Notepad++
Beberapa bahasa pemrograman yang didukung oleh Notepad++ sejak
versi 5.9.3 adalah: ActionScript, Ada, ASP, Assembler, AutoIt,
Batch, C, C++, C#, Caml, Cmake, COBOL, CSS, D, Diff, Flash
ActionScript, Fortran, Gui4CLI, Haskell, HTML, Berkas INI,
InnoSetup, Java, Javascript, JSP, KiXtart, LISP, Lua, Makefile,
Matlab, MS-DOS, NSIS, Objective-C, Pascal, Perl, PHP, Postscript,
PowerShell, Properties file, Python, R, Resource file, Ruby, Shell,
Scheme, Smalltalk, SQL, TCL, TeX, Visual Basic, VHDL, Verilog, XML,
YAML.Notepad++ didistribusikan sebagai perangkat lunak bebas.
Proyek ini telah dua kali memenangkan penghargaan SourceForge
Community Choice Award for Best Developer Tool5.
3.6UML (Unifield Modeling Language)Notasi UML dibuat sebagi
kolaborasi dari Grady Booch, Dr. James Rumbough, Ivar Jacobson,
Rebecca Wirfs-Brock, Peter Yourdon dan lainnya. Jacobson menulis
tentang pendefinisian persyaratan-persyaratan sistem yang disebut
use case. Juga mengembangkan sebuah metode untuk perancangan sistem
yang disebut Object-Oriiented Software Engineering (OOSE) yang
berfokus pada analisa. Boorch, Rumbough dan Jacobson bisa disebut
tiga sekawan (three amigos). Semuanya bekerja di Rational Software
Corporation dan berfokus pada standarisasi dan perbaikan ulang UML.
Penggabungan beberapa metode menjadi UML dimulai 1993. Pada akhir
tahun 1995 Unifield Method versi 0.8 diperkenalkan. Unifield Method
diperbaiki dan diubah menjadi UML pada tahun 1996 UML 1.0 disahkan
dan diberikan pada Object Technology Group (OTG) pada tahun 1997
dan pada tahun itu juga beberapa perusahaan pengembangan utama
perangkat lunak mulai mengadopsinya. Pada tahun sama OTG merilis
UML 1.1 sebagai standar industri. UML merupakan metode pemodelan
secara visual sebagai sarana untuk merancang software berorientasi
objek dimana semua elemen dan diagram yang terdapat di dalamnya
berbasiskan pada pemodelan berbasis objek. UML tidak hanya bahasa
pemrograman visual saja namun juga dapat dihubungkan dengan bahasa
pemrograman lainnya seperti Java, C++, Visual Basic atau
dihubungkan secara langsung ke dalam object oriented database.
3.6.1Diagram diagram dalam UMLUML menyediakan beberapa diagram
visual yang menunjukan berbagai aspek dalam sistem dimana fungsinya
agar pengguna mendapatkan banyak pandangan terhadap sistem
informasi yang akan dibangun. Ada beberapa yang disediakan dalam
UML:1. Diagram Use CaseDiagram use case atau use case diagram
menyajikan interaksi antara use case dan aktor. Dimana aktor dapat
berupa orang, peralatan, atau sistem lain yang berinteraksi dengan
sistem yang sedang dibangun. Use case menggambarkan fungsionalitas
sistem atau persyaratan-persyaratan yang harus dipenuhi sistem dari
pandangan pemakai.2. Diagram AktifitasDiagram aktivitas atau
activity diagram menggambarkan aliran fungsionalitas sistem. Pada
tahap pemodelan bisnis diagram aktivitas dapat digunakan untuk
menunjukan aliran kerja bisnis (business work flow). Dapat juga
digunakan untuk menggambarkan aliran kejadian (flow of event) dalam
use case. Diagram aktifitas menunjukan informasi yang sama
sebagaiman dalam aliran kejadian dengan teks.3. Diagram
SekuensialDiagram sekurnsial atau sequence diagram digunakan untuk
menunjukan aliran fungsionalitas dalam use case.4. Diagram
KolaborasiDiagram kolaborasi atau collaborating diagram menunjukan
informasi yang sama persis dengan diagram sekuensial, tetapi bentuk
dan tujuan yang berbeda. Pada diagram sekuensial, keseluruhan
interaksi berdasarkan urutan waktu, tetapi pada diagram kolaborasi,
interaksi antar objek atau aktor ditunjukan dengan arah panah tanpa
keterangan waktu.5. Diagram KelasDiagram kelas atau class diagram
menunjukan interaksi antar kelas dan sistem. 6. Diagram
StatechartDiagram statechart atau statechart diagram menyediakan
sebuah cara memodelkan bermacam-macam keadaan yang memungkinkan
dialami oleh sebuah objek. Jika didalam diagram kelas menunjukan
gambaran statis kelas-kelas dan relasinya, diagram statechart
digunakan untuk memodelkan tingkah laku dinamika sistem.
3.6.2Konsep Pemodelan Use CaseKonsep dasar pemodelan use case
meliputi: use case, aktor, relasi, diagram aktifitas dan diagram
use case. Pemodelan use case hampir sama dengan pemodelan bisnis
hanya saja perbedaan utama adalah jika pemodelan bisnis berfokus
pada organisasi, sedangkan pemodelan sistem berkonsentrasi pada
sistem yang sedang dibangun.1. AktorAktor adalah seseorang atau apa
saja yang berhubungan dengan sistem yang dibangun.
2. Use CaseUse case adalah bagian tingkat tinggi dari
fungsonalitas yang disediakan oleh sistem. Dengan kata lain, use
case menggambarkan bagaimana seseorang menggunakan sistem. 3.
RelasiRelasi antar use case untuk mendapatakan sistem secara utuh
dalam diagram use case terbagi menjadi:a. Relasi AsosiasiRelasi
asosiasi merupakan realsi antara aktor dan use case pada sistem.b.
Relasi IncludeRelasi include memungkinkan satu use case menggunakan
fungsionalitas yang disediakan oleh use case lainnya. Relasi ini
dapat digunakan jika dua atau lebih use case mempunyai bagian besar
dalam use case tersendiri. Relasi include menyatakan bahwa satu use
case selalu menggunakan fungsionalitas yang disediakan oleh use
case lainnya.c. Relasi ExtendRelasi extend memungkinkan satu use
case secara opsional menggunakan fungsionalitas yang disediakan
oleh use case lainnya. d. Relasi GeneralisasiRelasi generalisasi
digunakan untuk menunjukan bahwa beberapa aktor atau use case
mempunyai beberapa persamaan. Sebagai contoh ada dua tipe pelanggan
yaitu pelanggan perusahaan dan pelanggan individu. Aktor individu
dan aktor perusahaan akan secara langsung diinstansasi, actor
tersebut disebut dengan aktor kongkrit. Sedangkan aktor pelanggan
tidak akan pernah secara langsung diinstanisasi, aktor pelanggan
disebut sebagai aktor abstrak.
3.6.3Use Case DiagramUse Case Diagram menggambarkan sekelompok
use case dan aktor yang disertai dengan hubungan diantaranya.
Diagram use case ini menjelaskan dan menerangkan kebutuhan atau
requirement yang digunakan atau dikehendaki user atau pengguna,
serta sangat berguna dalam menentukan struktur organisasi dan model
dari pada sebuah sistem[3]. Tabel dibawah menampilkan contoh
simbol-simbol dalam use case diagram.
Tabel 3.1 Simbol Use Case DiagramNoGAMBARNAMAKETERANGAN
1ActorMenspesifikasikan himpunan peran yang pengguna mainkan
ketika berinteraksi dengan use case
2DependencyHubungan dimana perubahan yang terjadi pada suatu
elemen mandiri (independen) akan mempengaruhi elemen yang
bergantung pada element yang tidak bisa mandiri
3GeneralizationHubungan dimana object (descendent) berbagi
prilaku dan struktur data dari object yang ada di atasnya object
induk (ancestor)
4IncludeMenspesifikasikan bahwa use case sumber secara
eksplisit
5ExtendMenspesifikasikan bahwa use case target memperluas
prilaku dari use case sumber pada suatu titik yang diberikan
6AssociationPenghubung antara object satu dengan object
lainnya
7SystemMenspesifikasikan paket yang menampilkan sistem secara
terbatas
8CollaborationInteraksi aturan-aturan dan elemen lainnya yang
bekerja sama untuk menyediakan prilaku yang lebih besar dari jumlah
dan elemen-elemen (sinergi)
9NoteElemen fisik yang muncul saat aplikasi dijalankan dan
mencerminkan suatu sumber daya
3.6.4Expanded Use CaseSetelah diagram use case ditentukan pada
proses diatas, maka tahap selanjutnya adalah menentukan proses
pembuatan Expanded Use Case. Expanded Use Case ini menggambarkan
deskripsi proses kerja sistem yang lebih detail guna mencapai
tujuan fungsi sistem[4].
3.6.5Activity DiagramActivity diagram adalah gambaran aliran
dari sebuah sistem, bagaimana awal, proses dan akhir dari sistem
itu. Tabel di bawah menampilkan contoh simbol-simbol dalam Activity
Diagram.
Tabel 3.2 Simbol Activity DiagramNoGAMBARNAMAKETERANGAN
1ActivityMemperlihatkan bagaimana masing-masing kelas antarmuka
saling berinteraksi satu sama lain
2ActionState dari sistem yang mencerminkan eksekusi dari suatu
aksi
3Initial NodeBagaimana object dibentuk atau diawali
4Activity Final NodeBagaimana object dibentuk dan
dihancurkan
5Fork NodeSatu aliran yang pada saat tertentu berubah menjadi
beberapa aliran
3.6.6Sequence DiagramSequence diagram adalah suatu diagram yang
memperlihatkan atau menampilkan interaksi-interaksi antara objek di
dalam sistem yang disusun pada sebuah urutan atau rangkaian waktu.
Sequence diagram digunakan untuk menggambarkan scenario atau
rangkaian langkah-langkah yang dilakukan sebagai sebuah respon dari
suatu kejadian atau event untuk menghasilkan output tertentu. Tabel
di bawah menampilkan contoh simbol-simbol dalam sequence
diagram.
Tabel 3.3 Simbol Sequence DiagramNoGAMBARNAMAKETERANGAN
1LifeLineObject entity, antaramuka saling berinteraksi
2
MessageSpesifikasi dari komunitas antar object yang memuat
informasi-informasi tentang aktifitas yang terjadi
3
MessageSpesifikasi dari komunitas antar object yang memuat
informasi-informasi tentang aktifitas yang terjadi
3.6.7Class DiagramClass diagram adalah diagram yang digunakan
untuk menampilkan beberapa kelas serta beberapa paket yang ada
dalam sistem perangkat lunak yang sedang dikembangkan[4]. Class
diagram memberikan gambaran diagram statis tentang sistem perangkat
lunak dan relasi-relasi yang ada di dalamnya. Tabel berikut
menampilkan contoh simbol-simbol dalam class diagram.
Tabel 3.4 Simbol Class DiagramNOGAMBARNAMAKETERANGAN
1GeneralizationHubungan dimana objek user (descendent) berbagai
perilaku dan struktur data dari objek yang ada di atasnya objek
induk (ancestor)
2Nary AssociationUpaya untuk menghindari asosiasi dengan lebih
dari 2 objek
3ClassHimpunan dari objek-objek yang berbagai attribute serta
operasi yang sama
4CollaborationDeskripsi dan urutan aksi-aksi yang ditampilkan
sistem yang menghasilkan suatu hasil terukur bagi suatu actor
5RealizationOperasi yang benar-benar dilakukan oleh suatu
objek
6DependencyHubungan dimana perubahan yang terjadi pada suatu
elemen mandiri (independent) akan mempengaruhi elemen yang
bergantung pada elemen yang tidak mandiri
7AssociationApa yang menghubungkan antara objek satu dengan
objek lainnya
12
BAB IVHASIL DAN PEMBAHASAN
4.1Use Case DiagramAdapun use case diagram dari perancangan
aplikasi game edukasi Kids Logic ini adalah sebagai berikut:
Gambar 4.1 Use Case Diagram Aplikasi Kids LogicPertama-tama
diawali dengan user memilih aplikasi game edukasi Kids Logic
berbasis android, kemudian pada halaman utama terdapat button
start, button tutorial dan button about. Ketika user memilih button
start, user akan menuju halaman permainan dan mulai bermain menebak
benda dengan mendrag huruf huruf sebelumnya telah di acak ke kotak
jawaban. Setelah berhasil menjawab dengan benar akan muncul
messagebox dan user akan menuju ke halaman berhitung, disini user
diminta menjawab soal penjumlahan untuk menjawabnya dengan men-tap
button yang berisi angka, jika user benar menjawab akan keluar
messagebox dan mendapatkan point benar, sedangkan jika user
menjawab salah akan keluar messagebox dan system mencatat jumlah
salah. Untuk button tutotial pada halaman utama akan menuju ke
halaman tutorial. Untuk button about pada halaman utama akan menuju
ke halaman about.
4.2Expanded Use CaseBerikut merupakan penjabaran dari expanded
use case dari perancangan aplikasi game Kids Logic:1. Expanded Use
Case PlayTabel 4.1 Expanded Use case PlayNama Use CasePlay
Aktor UtamaUser
Kondisi AwalUser menekan tombol play pada halaman utama
Kondisi AkhirSistem menampilkan halaman game
Skenario SuksesAksi AktorAksi Sistem
Langkah 1: Use Case dimulai ketika user sudah berada pada
halaman utama dan user memilih tombol playLangkah 2 : Sistem
menampilkan gameplay
Expanded use case di atas merupakan deskripsi dari proses
bermain game pada aplikasi dimana dilakukan oleh user terhadap
sistem. Dalam proses ini user sebagai actor utama. Proses ini
dimulai ketika user menjalankan aplikasi Kids Logic pada smartphone
ataupun tablet Android kemudan sistem menampilkan halaman utama
kemudian user memilih tombol play dan sistem akan menampilkan
halaman gameplay.2. Expanded Use Case Tutorial
Table 4.2 Expanded Use Case TutorialNama Use CaseMelihat
Tutorial
Aktor UtamaUser
Kondisi AwalUser menekan tombol tutorial pada halaman utama
Kondisi AkhirSistem menampilkan halaman tutorial
Skenario SuksesAksi AktorAksi Sistem
Langkah 1 : Use Case dimulai ketika user sudah berada pada
halaman utama dan user menekan tombol tutorialLangkah 2 : Sistem
menampilkan halaman tutorial dari game Kidc Logic
Expanded use case di atas merupakan deskripsi dari proses
melihat tutorial yang terdapat pada aplikasi dimana dilakukan oleh
user terhadap sistem. Dalam proses ini user sebagai actor utama.
Proses ini dimulai ketika user menjalankan aplikasi Kids Logic pada
smartphone ataupun tablet Android kemudan sistem menampilkan
halaman utama kemudian user memilih tombol tutorial dan sistem akan
menampilkan halaman tutorial.3. Expanded Use Case AboutTable 4.3
Expanded Use Case AboutNama Use CaseMelihat About
Aktor UtamaUser
Kondisi AwalUser menekan tombol tutorial pada halaman utama
Kondisi AkhirSistem menampilkan halaman about
Skenario SuksesAksi AktorAksi Sistem
Langkah 1 : Use Case dimulai ketika user sudah berada pada
halaman utama dan user menekan tombol aboutLangkah 2 : Sistem
menampilkan halaman about dari game Kidc Logic
Expanded use case di atas merupakan deskripsi dari proses
melihat tutorial yang terdapat pada aplikasi dimana dilakukan oleh
user terhadap sistem. Dalam proses ini user sebagai actor utama.
Proses ini dimulai ketika user menjalankan aplikasi Kids Logic pada
smartphone ataupun tablet Android kemudan sistem menampilkan
halaman utama kemudian user memilih tombol about dan sistem akan
menampilkan halaman about.
4.3Activity DiagramAdapun activity diagram dari aplikasi game
Kids Logic adalah sebagai berikut:1. Activity Diagram Play
Gambar 4.2 Activity diagram Play
Activity diagram Play merupakan penggambaran proses antara user
dengan system, yang dimulai dari user menjalankan aplikasi game
Kids Logic selanjutnya system menampilkan halaman utama.
Selanjutnya user menekan tombol play dan system menampilkan level
mengenal benda. Pada game mengenal benda untuk memainkannya dengan
cara darg huruf yang disediakan. Jika huruf yang di drag tidak
sesuai maka huruf tersebut kembali ke posisi semua dan jika huruf
benar makan huruf akan diam di posisi yang di tentukan. Pada level
menebak benda akan selesai ketika user sudah secara lengkap
melengkapi huruf yang sudah disediakan. Setelah selesai system akan
menampilkan messagebox , dan selanjutnya system akan menampilkan
level berhitung. Pada halaman level berhitung ini user diminta
menjawab soal penjumlahan dengan menghitung bnyaknya jumlah benda.
Untuk menjawabnya user dapat men-tap tombol yang sudah disediakan.
Jika user benar dalam menjawab maka system akan menampilkan
messagebox dan menyimpan jawaban benar, setiap jawaban yang
berhasil dijawab maka mendapatkan point satu. Jika user salah dalam
menjawab maka system akan menampilkan messagebox dan menyimpan
jawaban salah, setiap jawaban salah makan akan disimpan. Setelah
menjawab di level berhitung system akan kembali membuka level
mengenal benda dengan benda yang berbeda beda. Level untuk game ini
berjumlah 20 (dua puluh level), 10 (sepuluh level) untuk mengenal
benda, dan 10 (sepuluh level) untuk berhitung. Setelah dua puluh
level tersebut terselesaikan maka game ini akan menampilkan halaman
Game Over terdapat jumlah salah dan jumlah benar serta terdapat
score yang berhasil di dapatkan. Aktivity ini berakhir ketika user
berhasil menyelesaikan semua level yang tersedia.
2. Activity Diagram Melihat Tutorial
Gambar 4.3 Activity Diagram Melihat TutorialActivity Diagram
Melihat Tutorial merupakan penggambaran proses antara user dengan
system, dalam proses Melihat turotial pada aplikasi game Kids Logic
berbasis android, activity ini dimulai dari user menjalankan
aplikasi game ini, dan system akan menampilkan halaman utama.
Selanjutnya user memilih menu turotial dan system akan menampilkan
halaman turotial. Activity ini berakhir ketika system sudah
berhasil menampilkan halaman turotial.
3. Activity Diagram Melihat About
Gambar 4.4 Activity Diagram Melihat AboutActivity Diagram
Melihat About merupakan penggambaran proses antara user dengan
system, dalam proses Melihat about pada aplikasi game Kids Logic
berbasis android, activity ini dimulai dari user menjalankan
aplikasi game ini, dan system akan menampilkan halaman utama.
Selanjutnya user memilih menu about dan system akan menampilkan
halaman about. Activity ini berakhir ketika system sudah berhasil
menampilkan halaman about
4.4Sequence DiagramAdapun Sequence Diagram dari aplikasi game
Kids Logic adalah sebagai berikut:1. Simbol Sequnce Diagram
Play
Gambar 4.5 Sequence Diagram PlaySequence Diagram Play merupakan
gambaran dari proses bermain, yang dimulai dari user menjalankan
aplikasi game edukasi Kids Logic berbasis android selanjutnya
aplikasi menampilkan halaman utama. Kemudian user menekan tombol
play, system akan menampilkan halaman game. Ketika user memulai,
game ini dimainkan dengan cara drag hurup yang sudah disediakan.
Jika hurup yang sudah di drag tidak sesuai dengan hurup yang
disediakan maka hurup tersebut akan kembali ke tempat hurup yang
sebelumnya dan jika hurup tersebut benar maka hurup tersebut akan
diam ditempat yang sudah disediakan. Game ini selesai ketika user
sudah secara lengkap melengkapi hurup yang sudah disediakan.
Setelah game selesai maka system akan menampilkan messagebox.
Setelah itu sytem menampilkan halaman game berhitung.User diminta
menjawab soal penjumlahan dengan men-tap tombol yang telah
disediakan, jika user berhasil menjawab makan system mencatat
jumlah benar, dan jika user salah menjawab system juga mencatat
jumlah salah. Setelah itu system akan menampilkan messagebox dan
system kembali membuka halaman mengenal benda. Level untuk game ini
berjumlah 20 (dua puluh level), 10 (sepuluh level) untuk mengenal
benda dan 10 (sepuluh level) untuk berhitung. Setelah dua puluh
level tersebut terselesaikan maka game ini akan menampilkan halaman
Game Over terdapat jumlah salah dan jumlah benar serta terdapat
score yang berhasil di dapatkan.
2. Simbol Sequence Diagram Melihat Tutorial
Gambar 4.6 Sequence Diagram Melihat TutorialSequence Diagram
Melihat Tutorial merupakan gambaran dari proses melihat tutorial,
yang dimulai dari user menjalankan aplikasi game Kids Logic
berbasis android selanjutnya aplikasi menampilkan halaman utama.
Kemudian user memilih menu tutorial dan system akan menampilkan
halaman tutorial.
3. Simbol Sequence Diagram Melihat About
Gambar 4.7 Sequence Diagram Melihat About
Sequence Diagram Melihat About merupakan gambaran dari proses
melihat about, yang dimulai dari user menjalankan aplikasi game
Kids Logic berbasis android selanjutnya aplikasi menampilkan
halaman utama. Kemudian user memilih menu about dan system akan
menampilkan halaman about.
4.5Class DiagramAdapun class diagaram dari aplikasi game Kids
Logic berbasis android adalah sebagai berikut:
Gambar 4.8 Class Diagram
4.6Hasil Kerja PraktekPada sub-bab ini membahas tentang hasil
kerja praktek berupa game edukasi yang berjudul Kids Logic
4.6.1Halaman SplashHalaman yang menampilkan logo studio dan logo
perusahaan yang menjalin kerjasama.
Gambar 4.9 Halaman Splash dengan logo Bamboomedia
Gambar 4.10 Halaman Splash dengan logo DAP Studio
4.6.2Halaman Menu UtamaSetelah tampilan splash selesai, user
akan menuju ke bagian menu utama dimana pada menu utama ada tombol
play (tengah), tutorial (tengah), dan about (tengah). Tombol
tutorial akan membawa user ke halaman tutorial, tombol play akan
membawa user ke halaman permainan dan tombol about akan membawa
user ke halaman about.
Gambar 4.11 Halaman Menu Utama
4.6.3Halaman Game PlayPada bagian soal ini user dapat belajar
untuk mengenal gambar dan segaligus user dapat belajar membaca dan
pengenalan hurup dengan adanya 2 (dua) hurup pengecoh, serta game
berhitun.
Gambar 4.12 Halaman Game Play Tebak Gambar
Gambar 4.13 Halaman Game Play Berhitung
4.6.4Halaman CreditSaat user menekan tombol Credit akan
menampilkan siapa saja yang berperan dalam pembuatan game tersebut
dan deskripsi dari tugas yang dibuatnya. Untuk kembali ke menu
utama dapat men-tap dap studio dipojok kanan bawah.
Gambar 4.14 Halaman Credit
4.6.7Halaman TutorialSaat user menekan tombol tutorial akan
menampilkan cara bermain game ini. Untuk kembali ke menu utama
dapat men-tap dap studio dipojok kanan bawah.
Gambar 4.15 Halaman Tutorial
31
BAB VPENUTUP
Adapun kesimpulan dan saran yang dapat disampaikan pada laporan
kerja praktek ini, yaitu sebagai berikut:4.1KesimpulanDari Hasil
pembuatan game edukasi berbasis Android ini, maka diperoleh
beberapa kesimpulan, yaitu:1. Game edukasi yang berjudul Kids Logic
Berbasis Android ini dapat menjadi sarana belajar yang baik bagi
anak sekolah dasar usia 6 (enam) tahun.2. Dengan adanya game
edukasi ini dapat menghilangkan rasa jenuh dan membosankan dalam
belajar.3. Game edukasi ini dapat melatih anak-anak dalam belajar
mengenal gambar dan belajar membaca serta berhitung.4.2SaranSebagai
pengembangan selanjutnya maka penulis memberikan saran sebagai
berikut:1. Game ini dapat dibuat dengan menyertakan audio visual.2.
Game ini dapat dirancang dengan menambahkan animasi pada tiap
levelnya agar anak anak tidak terlalu jenuh dengan game edukasi
ini.3. Keterbatasan jumlah gambar pada game ini dapat ditambah
gambar-gambar baru dengan gambar yang lebih menarik.4. Game ini
juga dapat ditambahkan soal yang di acak dan hurup yang diacak juga
sehingga memiliki tingkat kesulitan yang lebih tinggi.
47
Daftar Pustaka[1]Suindarti, 2011. Game Edukasi Meningkatkan Daya
Ingat Anak Bermain Bersama Dido Dengan Macromedia Director.
Yogyakarta: AMIKOM-Yogyakarta.[2]Mario Zecher, Robert Green.
Beginning Android Games Second Edition.
http://it-ebooks.info/read/1305/ Diakses tanggal 28 Oktober 2014[3]
Jogiyanto H. M. Analisis dan Desain Sistem Informasi. ANDI
Yogyakarta 2005[4] Nugroho, Adi. 2009. Rekayasa Perangkat lunak
Menggunakan UML dan JAVA. ANDI Yogyakarta 2009. [5]
http://www.systemax.jp/en/sai/ Diakses pada tanggal 2 Desember 2014
Pukul 19.57 WITA[6]
http://www.crayonpedia.org/mw/KOMPUTER_GRAFIS_KOMUNIKASI_12.1
Diakses pada tanggal 2 Desember 2014 Pukul 20.07 WITA[7]
http://wijayalabs.com/2012/02/13/soal-teori-photoshop-cs4-2/
Diakses pada tanggal 2 Desember 2014 Pukul 20.27 WITA
48
Lampiran
49
Lampiran Source Code Game Kids
Logic--====================================================================----
SCENE: [MAIN
MENU]--====================================================================--
display.setStatusBar(display.HiddenStatusBar)local
director=require("director")local mainGroup=display.newGroup()
-- DEKLARASI VARIABEL YANG NANTI AKAN DIGUNAKAN_X =
display.contentWidth_Y = display.contentHeightcx =
display.contentCenterXcy = display.contentCenterY
-- TEXT NILAIscore = display.newText("Benar : 0", 0, 0,
"Tahoma", 15)score:setTextColor(255,0,0)score.x = _X * 0.2score.y =
60scoreCount = {0}
-- TEXT SALAHfault = display.newText("Salah : 0", 0, 0,
"Tahoma", 15)fault:setTextColor(255,0,0)fault.x = _X * 0.8fault.y =
60faultCount = {0}
image = {}imageNumber = 10
-- FUNGSI UNTUK NORMALISASI GAMBARfunction imageNormalize()for
i=1,imageNumber do image[i]=i endendimageNormalize()numberOfZero =
0scene = {0}
-- DEKLARASI BACKGROUND MUSIC UNTUK BUTTONSoundBenar =
audio.loadSound("sound/bgmBenar.mp3")SoundBtn =
audio.loadSound("sound/btnBlop.mp3")SoundSalah =
audio.loadSound("sound/bgmSalah.mp3")
-- MEMANGGIL SCENE MENUfunction main
()mainGroup:insert(director.directorView)director:changeScene("Splas","crossfade")endmain()
--cara panggil function
module(..., package.seeall)
--====================================================================----
SCENE: [SCENE MENU OR
HOME]--====================================================================--
new = function ()
-- DEKLARASI BACKGROUND MUSIC HOMEfunction music()local sound1 =
audio.loadStream("sound/soundbg.mp3")audio.play(sound1,{channel=1,loops=-1});endmusic()local
localGroup = display.newGroup()local widget = require("widget")--
SUARA PADA BUTTON KLIKlocal btnin =
audio.loadSound("sound/btn1.mp3")-- PRINT SCREEN UNTUK MELIHAT
KOORDINAT-- local function onTouchScreen (event)-- print("layar
disentuh : ", event.name, event.phase, event.x, event.y,
event.numTaps)-- end--
Runtime:addEventListener("tap",onTouchScreen)-- JUDULlocal judul =
widget.newButton{defaultFile = "Image/txtJudul.png",overFile =
"Image/txtJudul1.png",emboss = true}transition.from(judul, {time =
2000, delay = 200, alpha = 0, xScale = 1, yScale =
1})transition.to(judul, {time = 2000, delay = 400, xScale = 0.55,
yScale = 0.53, transition = easing.outBounce})judul.x = cx + 10;
judul.y = 58;-- MEMANGGIL TEXT
NILAIscoreCount[1]=0score.text="Nilai :
"..scoreCount[1]score:toBack()-- MEMANGGIL TEXT
SALAHfaultCount[1]=0fault.text="Salah :
"..faultCount[1]fault:toBack()-- BACKGROUND LANGITlocal bgLangit =
display.newImageRect("Image/langit.jpg", 1160/2, 720/2)bgLangit.x =
cxbgLangit.y = cy-- BACKGROUND MATAHARIlocal bgSun =
display.newImageRect("Image/bgSun1.png", 165/2, 165/2)bgSun.x,
bgSun.y = - 20, 12
-- MEMBUAT FUNGSI MATAHARI BERGERAKlocal function
Matahari(event)bgSun.rotation = bgSun.rotation +
(-0.2)endRuntime:addEventListener("enterFrame", Matahari)
-- BACKGROUND AWANlocal bgAwan =
display.newImageRect("Image/awan.png", 1160/2, 720/2)bgAwan.x =
-1.5 * cxbgAwan.y = cy
local bgAwan2 = display.newImageRect("Image/awan.png", 1160/2,
720/2)bgAwan2.x = bgAwan.x + 580bgAwan2.y =
display.contentCenterY
-- MEMBUAT FUNGSI AWAN BERGERAKlocal function
awanJalan()bgAwan.x = bgAwan.x + 1bgAwan2.x = bgAwan2.x + 1if
bgAwan.x == display.contentWidth + 1.5 * display.contentCenterX
then bgAwan.x = -1.5 * display.contentCenterX endif bgAwan2.x ==
display.contentWidth + 1.5 * display.contentCenterX then bgAwan2.x
= -1.5 * display.contentCenterX
endendRuntime:addEventListener("enterFrame", awanJalan)
-- BACKGROUND RUMAHlocal bg =
display.newImageRect("Image/rumah.png", 1160/2, 720/2)bg.x = cxbg.y
= cy
-- BACKGROUND KARAKTERlocal karakter =
display.newImageRect("Image/Char.png", 700/2, 417/2)karakter.x =
430karakter.y = 245
-- DEKLARASI BUTTON PLAYlocal btnPlay =
widget.newButton{defaultFile = "Image/btnPlayBesar.png",overFile =
"Image/btnPlayKecil.png",emboss = true,}transition.from(btnPlay,
{time = 1000, delay = 800, y = 400, alpha = 0, transition =
easing.outBounce})transition.to(btnPlay, {time = 1000, delay = 800,
y = 235, alpha = 1, transition = easing.inOutQuad})
-- DEKLARASI BUTTON ABOUTlocal btnAbout =
widget.newButton{defaultFile = "Image/btnAboutBesar.png",overFile =
"Image/btnAboutKecil.png",emboss = true,}transition.from(btnAbout,
{time = 1300, delay = 1300, y = 500, alpha = 0, transition =
easing.outBounce})transition.to(btnAbout, {time = 1300, delay =
1300, y = 290, alpha = 1, transition =
easing.outExpo})transition.to(btnAbout, {time = 1300, delay = 1300,
y = 290, x = 310, alpha = 1, transition = easing.outExpo})
-- DEKLARASI BUTTON TUTORIALlocal btnTutor =
widget.newButton{defaultFile = "Image/btnTutorBesar.png",overFile =
"Image/btnTutorKecil.png",emboss = true,}transition.from(btnTutor,
{time = 1300, delay = 1150, y = 500, alpha = 0, transition =
easing.outBounce})transition.to(btnTutor, {time = 1300, delay =
1150, y = 290, alpha = 1, transition =
easing.outExpo})transition.to(btnTutor, {time = 1300, delay = 1150,
y = 290, x = 230, alpha = 1, transition = easing.outExpo})--
DEKLARASI BUTTON SOUND UNTUK GAMEOVER-- local btnSound =
display.newImageRect("Image/btnSound.png",660/2,490/2)--
transition.from(btnSound, {time = 1000, delay = 1000, y = 500,
alpha = 0, transition = easing.outBounce})--
transition.to(btnSound, {time = 1000, delay = 1000, y = 290, alpha
= 1, transition = easing.outBounce})-- LOCAL
INSERTlocalGroup:insert(bgLangit)localGroup:insert(bgSun)localGroup:insert(bgAwan)localGroup:insert(bgAwan2)localGroup:insert(bg)localGroup:insert(judul)localGroup:insert(karakter)localGroup:insert(btnPlay)localGroup:insert(btnTutor)localGroup:insert(btnAbout)--localGroup:insert(btnSound)
btnPlay.x = cx + 30; btnPlay.y = 300; btnPlay.xScale = 0.4;
btnPlay.yScale = 0.4; btnPlay.id="soal1"btnAbout.x = cx + 30;
btnAbout.y = 300; btnAbout.xScale = 0.15; btnAbout.yScale = 0.15;
btnAbout.id="tentang"btnTutor.x = cx + 30; btnTutor.y = 300;
btnTutor.xScale = 0.15; btnTutor.yScale = 0.15;
btnTutor.id="tutorial"--btnSound.x = 30; btnSound.y = 300;
btnSound.xScale = 0.15; btnSound.yScale = 0.15; btnSound.id =
"gameOver"
-- FUNGSI PINDAH DIRECTOR KE SOAL DAN SOUNDfunction goto (event)
--event parameter atau jembatanaudio.stop(1)found =
audio.loadStream("sound/5.MP3")audio.play(found,
{channel=2,loops=-1});print(event.target.id)director:changeScene(event.target.id,"crossfade")Runtime:removeEventListener("enterFrame",
Matahari)Runtime:removeEventListener("enterFrame",
awanJalan)audio.play(btnin);endbtnPlay:addEventListener("tap",goto)--btnSound:addEventListener("tap",goto)--
FUNGSI PINDAH DIRECTOR KE ABOUT DAN TUTORIALfunction AT
(event)director:changeScene(event.target.id,"crossfade")Runtime:removeEventListener("enterFrame",
Matahari)Runtime:removeEventListener("enterFrame",
awanJalan)audio.play(btnin);endbtnTutor:addEventListener("tap",AT)btnAbout:addEventListener("tap",AT)return
localGroupend
module(..., package.seeall)
--====================================================================----
SCENE: [SCENE SOAL
1]--====================================================================--
new = function ()
local localGroup = display.newGroup()local widget =
require("widget")-- DEKLARASI VARIABEL YANG NANTI AKAN
DIGUNAKANlocal cx = display.contentCenterXlocal cy =
display.contentCenterY-- MUSIC UNTUK BUTTON BACKlocal btnBack =
audio.loadSound("sound/btnback.mp3")-- SPRITELOQlocal spriteloq =
require("loq_sprite")local aset_txt =
spriteloq.newFactory("sprite.txttebak")local txt =
aset_txt:newSpriteGroup("txttebak")txt.x = 65txt.y = -5txt.xScale =
0.8txt.yScale = 0.5txt:play("txttebak")-- BACKGROUND SOALlocal
bgdisplay =
display.newImageRect("Image/bgSoal.jpg",1160/2,720/2)bgdisplay.x =
cxbgdisplay.y = cylocalGroup:insert(bgdisplay)
-- BUTTON BACK KE HOMElocal btnLeft =
widget.newButton{defaultFile = "Image/left.png",overFile =
"Image/leftkecil.png",}localGroup:insert(txt)btnLeft.x = 12;
btnLeft.y = 275; btnLeft.xScale = 0.5; btnLeft.yScale = 0.5;
btnLeft.id="menu"
-- INSERT GAMBAR BUKUlocal function buku()local imgsoal =
display.newImageRect("Image/soal/soal_1.png", 220/2,
114/2)imgsoal.x = cx - 0imgsoal.y = cy -
80localGroup:insert(imgsoal)--------------------------- [INSERT
BUTTON HURUF]
-------------------------------------------------local hrf3 =
display.newImageRect("Image/huruf/k.png", 100/2, 100/2)hrf3.x =
90hrf3.y = 239hrf3.id = "hrf3"localGroup:insert(hrf3)local hrf5 =
display.newImageRect("Image/huruf/p.png", 100/2, 100/2)hrf5.x =
151hrf5.y = 239hrf5.id = "hrf5"localGroup:insert(hrf5)local hrf1 =
display.newImageRect("Image/huruf/b.png", 100/2, 100/2)hrf1.x =
212hrf1.y = 239hrf1.id = "hrf1"localGroup:insert(hrf1)local hrf2 =
display.newImageRect("Image/huruf/u.png", 100/2, 100/2)hrf2.x =
273hrf2.y = 239hrf2.id = "hrf2"localGroup:insert(hrf2)local hrf6 =
display.newImageRect("Image/huruf/c.png", 100/2, 100/2)hrf6.x =
334hrf6.y = 239hrf6.id = "hrf6"localGroup:insert(hrf6)local hrf4 =
display.newImageRect("Image/huruf/u.png", 100/2, 100/2)hrf4.x =
395hrf4.y = 239hrf4.id =
"hrf4"localGroup:insert(hrf4)--=============================================================================================-----------------------------
[INSERT BACKGROUND HURUF]
-------------------------------------------local bghrf1 =
display.newImageRect("Image/huruf/bghuruf.png", 100/2,
100/2)bghrf1.x = 151bghrf1.y = 163localGroup:insert(bghrf1)local
bghrf2 = display.newImageRect("Image/huruf/bghuruf.png", 100/2,
100/2)bghrf2.x = 212bghrf2.y = 163localGroup:insert(bghrf2)local
bghrf3 = display.newImageRect("Image/huruf/bghuruf.png", 100/2,
100/2)bghrf3.x = 273bghrf3.y = 163localGroup:insert(bghrf3)local
bghrf4 = display.newImageRect("Image/huruf/bghuruf.png", 100/2,
100/2)bghrf4.x = 334bghrf4.y =
163localGroup:insert(bghrf4)--=============================================================================================-----------------------------
[FUNGSI DRAG AND DROP]
----------------------------------------------local status,
status1, status2, status3, statushrpu1, statushrpu2local function
Tarik(e)local hurup1 = bghrf1local hurup2 = bghrf2local hurup3 =
bghrf3local hurup4 = bghrf4if e.phase == "began"
thendisplay.getCurrentStage():setFocus(e.target)e.target:toFront()e.target.oriX=e.target.xe.target.oriY=e.target.ydistanceBetween1=math.ceil(math.sqrt(((e.y-hurup1.y)^2)+((e.x-hurup1.x)^2)))distanceBetween2=math.ceil(math.sqrt(((e.y-hurup2.y)^2)+((e.x-hurup2.x)^2)))distanceBetween3=math.ceil(math.sqrt(((e.y-hurup3.y)^2)+((e.x-hurup3.x)^2)))distanceBetween4=math.ceil(math.sqrt(((e.y-hurup4.y)^2)+((e.x-hurup4.x)^2)))elseif
e.phase == "moved"
thene.target.x=e.xe.target.y=e.ydistanceBetween1=math.ceil(math.sqrt(((e.y-hurup1.y)^2)+((e.x-hurup1.x)^2)))distanceBetween2=math.ceil(math.sqrt(((e.y-hurup2.y)^2)+((e.x-hurup2.x)^2)))distanceBetween3=math.ceil(math.sqrt(((e.y-hurup3.y)^2)+((e.x-hurup3.x)^2)))distanceBetween4=math.ceil(math.sqrt(((e.y-hurup4.y)^2)+((e.x-hurup4.x)^2)))print("distance:",
distanceBetween)elseif e.phase == "ended"
thendisplay.getCurrentStage():setFocus(nil)if distanceBetween1 1st
result numberi=1 -> for 1st choice answer -> just only this
will be used for the true question and answeri=2 -> for 2nd
choice answer-> just for complementary answeri=3 -> for 3rd
choice answer-> just for complementary answer]]local
numberCheck={}for i=1,(numberRange+numberRange)
donumberCheck[i]=i--print("numberCheck["..i.."] =
"..numberCheck[i])end--print("---------")local
number={{},{},{}}number[1][1]=math.random(numberRange)number[1][2]=math.random(numberRange)while
number[1][2]==number[1][1]
donumber[1][2]=math.random(numberRange)endnumber[1][3]=number[1][1]+number[1][2]numberCheck[number[1][3]]=0for
i=2,3
donumber[i][1]=math.random(numberRange)number[i][2]=math.random(numberRange)while
number[i][2]==number[i][1]
donumber[i][2]=math.random(numberRange)endnumber[i][3]=number[i][1]+number[i][2]while
numberCheck[number[i][3]]==0
donumber[i][1]=math.random(numberRange)number[i][2]=math.random(numberRange)while
number[i][2]==number[i][1]
donumber[i][2]=math.random(numberRange)endnumber[i][3]=number[i][1]+number[i][2]endnumberCheck[number[i][3]]=0endfor
i=1,(numberRange+numberRange) doprint("numberCheck["..i.."] =
"..numberCheck[i])endprint("---------")--[[for i=1,3
doprint(number[i][3])end]]local
answerChoice=math.random(numberOfAnswerChoice)print("---"..answerChoice)--**************************************************displayObjectlocal
firstObject={}local objectSpace=_X/8local
firstNumberStartPosition=cx-((number[answerChoice][1]-1)*objectSpace)/2local
secondNumberStartPosition=cx-((number[answerChoice][2]-1)*objectSpace)/2for
i=1,number[answerChoice][1]
dofirstObject[i]=display.newImageRect("Image/soal/soal_1.png",50,50)firstObject[i].x=firstNumberStartPosition+(i-1)*objectSpacefirstObject[i].y=_Y*0.35endlocal
secondObject={}for i=1,number[answerChoice][2]
dosecondObject[i]=display.newImageRect("Image/soal/soal_1.png",50,50)secondObject[i].x=secondNumberStartPosition+(i-1)*objectSpacesecondObject[i].y=_Y*0.72end--**************************************************buttonAnswerlocal
buttonAnswer={}local buttonAnswerBackground={}local
buttonAnswerText={}local
buttonAnswerSpace=_X/numberOfAnswerChoicelocal
buttonAnswerXStartPosition=cx-((numberOfAnswerChoice-1)*buttonAnswerSpace)/2local
buttonAnswerY=_Y*0.92for i=1,numberOfAnswerChoice
dobuttonAnswer[i]=display.newGroup()buttonAnswerBackground[i]=display.newImageRect("Image/huruf/bgAngka.png",
60,40)--
buttonAnswerBackground[i]:setFillColor(255,102,0)buttonAnswerBackground[i].x=buttonAnswerXStartPosition+(i-1)*buttonAnswerSpacebuttonAnswerBackground[i].y=buttonAnswerYbuttonAnswer[i]:insert(buttonAnswerBackground[i])if
i==answerChoice
thenbuttonAnswerText[i]=display.newText(number[answerChoice][3],0,0,"Algerian",20)elsebuttonAnswerText[i]=display.newText(number[i][3],0,0,"Algerian",20)endbuttonAnswerText[i]:setTextColor(255,255,255)buttonAnswerText[i].x=buttonAnswerXStartPosition+(i-1)*buttonAnswerSpacebuttonAnswerText[i].y=buttonAnswerYbuttonAnswer[i]:insert(buttonAnswerText[i])end--**************************************************goTolocal
returnSpeed=0.05local function effectFunction()for i=1,3 doif
buttonAnswerBackground[i].xScale=1 thenif i==answerChoice
thenscoreCount[1]=scoreCount[1]+1score.text="Benar :
"..scoreCount[1]mati()notifBenar()--print("score :
"..scoreCount..")elsefaultCount[1]=faultCount[1]+1fault.text="Salah
: "..faultCount[1]mati()notifSalah()--print("fault :
"..faultCount)--director:changeScene("gameOver","crossfade")endendendendifbuttonAnswerBackground[1].xScale>=1
andbuttonAnswerBackground[2].xScale>=1
andbuttonAnswerBackground[3].xScale>=1thenRuntime:removeEventListener("enterFrame",effectFunction)endendlocal
shrinkScale=0.5local function goTo(event)for i=1,3 doif
event.target==buttonAnswer[i]
thenbuttonAnswerBackground[i].xScale=shrinkScalebuttonAnswerBackground[i].yScale=shrinkScalebuttonAnswerText[i].xScale=shrinkScalebuttonAnswerText[i].yScale=shrinkScaleRuntime:addEventListener("enterFrame",effectFunction)endendend--**************************************************function
notifBenar()local bgSinar = display.newImageRect("Image/Sinar.png",
600/2, 600/2)bgSinar.x = display.contentCenterXbgSinar.y =
display.contentCenterYbgSinar.xScale = 0.7bgSinar.yScale =
0.7bgSinar.alpha = 0local bgAlpha =
display.newImageRect("Image/bgAlpha.png", 1160/2,720/2)bgAlpha.x=
cxbgAlpha.y=
cylocalGroup:insert(bgAlpha)localGroup:insert(bgSinar)function
sinarJalan(event)bgSinar.rotation = bgSinar.rotation +
(-1)endRuntime:addEventListener("enterFrame", sinarJalan)local
messagebox = display.newImageRect("Image/btnBenar.png", 300/2,
300/2)messagebox.x = cxmessagebox.y = cymessagebox.xScale =
0.5messagebox.yScale = 0.5messagebox.alpha =
0localGroup:insert(messagebox)function
finish()transition.to(messagebox, {time = 1000, alpha = 0,
transition = easing.inExpo})transition.to(bgSinar, {time = 700,
alpha = 0, transition = easing.inExpo, onComplete =
back})endfunction suara()audio.play(SoundBenar, {delay =
1000});endtransition.to(messagebox, {time = 900, delay = 500, alpha
= 1, xScale = 1, yScale = 1, transition =
easing.inExpo,onComplete=suara})transition.to(bgSinar, {time = 990,
delay = 800, alpha = 1, xScale = 1, yScale = 1, transition =
easing.inExpo, onComplete = finish})function back
(event)Runtime:removeEventListener("enterFrame",
sinarJalan)director:changeScene("soal2","crossfade")endendfunction
notifSalah()local bgSinar = display.newImageRect("Image/Sinar.png",
600/2, 600/2)bgSinar.x = display.contentCenterXbgSinar.y =
display.contentCenterYbgSinar.xScale = 0.7bgSinar.yScale =
0.7bgSinar.alpha = 0local bgAlpha =
display.newImageRect("Image/bgAlpha.png", 1160/2,720/2)bgAlpha.x=
cxbgAlpha.y=
cylocalGroup:insert(bgAlpha)localGroup:insert(bgSinar)function
sinarJalan(event)bgSinar.rotation = bgSinar.rotation +
(-1)endRuntime:addEventListener("enterFrame", sinarJalan)local
messagebox = display.newImageRect("Image/btnSalah.png", 300/2,
300/2)messagebox.x = cxmessagebox.y = cymessagebox.xScale =
0.5messagebox.yScale = 0.5messagebox.alpha =
0localGroup:insert(messagebox)function
finish()transition.to(messagebox, {time = 1000, alpha = 0,
transition = easing.inExpo})transition.to(bgSinar, {time = 700,
alpha = 0, transition = easing.inExpo, onComplete =
back})endfunction suara()audio.play(SoundSalah, {delay =
1000});endtransition.to(messagebox, {time = 900, delay = 500, alpha
= 1, xScale = 1, yScale = 1, transition =
easing.inExpo,onComplete=suara})transition.to(bgSinar, {time = 990,
delay = 800, alpha = 1, xScale = 1, yScale = 1, transition =
easing.inExpo, onComplete = finish})function back
(event)Runtime:removeEventListener("enterFrame",
sinarJalan)director:changeScene("soal2","crossfade")endendfunction
mati()for i=1,3
dobuttonAnswer[i]:removeEventListener("tap",goTo)endendfor i=1,3
dobuttonAnswer[i]:addEventListener("tap",goTo)endreturn
localGroupend
31
Dewan Direktur