rancang bangun game edukasi mengenal benda dan berhitung

103
RANCANG BANGUN GAME EDUKASI MENGENAL BENDA DAN BERHITUNG “KID LOGIC” BERBASIS ANDROID UNTUK ANAK SEKOLAH DASAR LAPORAN KERJA PRAKTEK NAMA : I Putu Prarthana Damayasa NIM : 110010435 JENJANG STUDI : STRATA SATU (S1) PROGRAM STUDI : Sistem Komputer SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN TEKNIK KOMPUTER (STMIK) STIKOM BALI 2014

Upload: tata-tricx-de-love

Post on 21-Nov-2015

493 views

Category:

Documents


2 download

DESCRIPTION

Laporan Kerja Praktek

TRANSCRIPT

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