RANCANG BANGUN GAME EDUKASI MENGENAL BENDA DAN BERHITUNG “KID LOGIC” BERBASIS BERBASI S 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
PERSETUJUAN DAN PENGESAHAN LAPORAN KERJA PRAKTEK Laporan yang berjudul
: Rancang Bangun Game Edukasi Mengenal Mengena l Benda Dan Berhitung “Kid Logic” Berbasi s Android Untuk Anak
Sekolah Dasar Disusun oleh
: I Putu Prarthana Damayasa
NIM
: 110010435
Jenjang Studi
: Strata Satu (S1)
Program Studi
: Sistem Komputer
Denpasar, Desember 2014
Menyetujui,
Dosen Pembimbing
Pembina
(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)
PERSETUJUAN DAN PENGESAHAN LAPORAN KERJA PRAKTEK Laporan yang berjudul
: Rancang Bangun Game Edukasi Mengenal Mengena l Benda Dan Berhitung “Kid Logic” Berbasi s Android Untuk Anak
Sekolah Dasar Disusun oleh
: I Putu Prarthana Damayasa
NIM
: 110010435
Jenjang Studi
: Strata Satu (S1)
Program Studi
: Sistem Komputer
Denpasar, Desember 2014
Menyetujui,
Dosen Pembimbing
Pembina
(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 PENGANTAR Puji syukur penulis panjatkan ke hadapan Tuhan Yang Maha Kuasa, karena berkat rahmat-Nya penulis dapat menyelesaikan Laporan KP (Kerja Praktek) dengan judul “Rancang “ Rancang Bangun Game Edukasi Mengenal Benda Dan Berhitung “Kid Logic” Berbasis Android Un tuk 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, Julyantari, S.Kom selaku Dosen Pembimbing Kerja Praktek 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 PENGANTAR ................................................................................................ iii DAFTAR ISI............................................................................................................. iv DAFTAR TABEL..................................................................................................... vii DAFTAR GAMBAR .................................................................................................viii BAB I PENDAHULUAN............................................................................................. 1 1.1
Latar Belakang ........................................................................................... 1
1.2
Rumusan Masalah ...................................................................................... 2
1.3
Tujuan Perekayasaan.................................................................................2
1.4
Tujuan Kerja Praktek ..................................................................................3
1.5
Ruang Lingkup Perekayasaan.................................................................... 3
1.6
Bahan dan Metode Kerja Praktek ............................................................... 3
1.6.1
Lokasi Kerja Praktek ............................................................................ 4
1.6.2
Jenis dan Sumber Data ....................................................................... 4
1.6.3
Metode Pengumpulan Data .................................................................4
1.7
Sistematika Penulisan ................................................................................ 5
BAB II TINJAUAN UMUM PT. BAMBOOMEDIA CIPTA PERSADA .......................... 6 2.1
Sejarah PT. Bamboomedia Cipta. Persada ................................................ 6
2.2
Visi PT..Bamboomedia.Cipta.Persada ........................................................ 6
2.3
Misi PT. Bamboomedia.Cipta.Persada ....................................................... 6
2.4
Kantor PT. Bamboomedia Cipta Persada .................................................. 7
2.5
Lokasi Kerja Praktek PT. Bamboomedia Cipta Persada ............................. 7
2.6
Struktur Organisasi PT. Bamboomedia Cipta Persada ............................... 8
2.7
Fungsi Dan Tugas Masing – Masing Bidang ............................................... 9
BAB III LANDASAN TEORI ....................................................................................11 3.1
Pengertian Game ..................................................................................... 11
3.1.1
Jenis - Jenis Game ............................................................................ 11
3.2
Sistem Operasi Android ............................................................................ 12
3.2.1
Sejarah Android .................................................................................12
3.2.2
Versi – Versi Android ......................................................................... 12
3.2.3
Keunggulan dan Kekurangan Android ............................................... 14
3.3
Corona SDK ............................................................................................. 15
3.4
Adobe Photoshop ..................................................................................... 18
3.5
Notepad++................................................................................................22
3.6
UML (Unifield Modeling Language) ........................................................... 23
3.6.1
Diagram – diagram dalam UML .........................................................24
3.6.2
Konsep Pemodelan Use Case ........................................................... 25
3.6.3
Use Case Diagram ............................................................................ 26
3.6.4
Expanded Use Case .......................................................................... 28
3.6.5
Activity Diagram................................................................................. 28
3.6.6
Sequence Diagram ............................................................................ 29
3.6.7
Class Diagram ...................................................................................30
BAB IV HASIL DAN PEMBAHASAN ....................................................................... 31 4.1
Use Case Diagram ...................................................................................31
4.2
Expanded Use Case .................................................................................32
4.3
Activity Diagram ........................................................................................ 34
4.4
Sequence Diagram ...................................................................................38
4.5
Class Diagram .......................................................................................... 41
4.6
Hasil Kerja Praktek ...................................................................................42
4.6.1 Halaman Splash .......................................................................................42 4.6.2 Halaman Menu Utama ..............................................................................43 4.6.3 Halaman Game Play.................................................................................44 4.6.4 Halaman Credit......................................................................................... 45 4.6.7 Halaman Tutorial ...................................................................................... 46 BAB V PENUTUP ................................................................................................... 47
4.1
Kesimpulan ..................................................................................................47
4.2
Saran ........................................................................................................... 47
Daftar Pustaka ........................................................................................................ 48 Lampiran ................................................................................................................49
DAFTAR TABEL Tabel 3.1 Simbol Use Case Diagram ...................................................................... 27 Tabel 3.2 Simbol Activity Diagram .......................................................................... 29 Tabel 3.3 Simbol Sequence Diagram ...................................................................... 30 Tabel 3.4 Simbol Class Diagram ............................................................................. 31 Tabel 4.1 Expanded Use case Play ........................................................................ 32 Table 4.2 Expanded Use Case Tutorial .................................................................. 32 Table 4.3 Expanded Use Case About ..................................................................... 33
DAFTAR GAMBAR Gambar 2.1 Kantor PT.Bamboomedia Cipta Persada. .............................................. 7 Gambar 2.2 Lokasi Kerja Praktek PT. Bamboomedia Cipta Persada ....................... 8 Gambar 2.3 Struktur Organisasi ............................................................................... 8 Gambar 3.1 Tampilan Awal Corona SDK ................................................................ 16 Gambar 3.2 Membuat Projek Baru ......................................................................... 16 Gambar 3.3 Tampilan Directory .............................................................................. 17 Gambar 3.4 Tampilan Awal Mobile Device Masih Kosong ...................................... 17 Gambar 3.5 Tampilan Corona Simulator ................................................................. 18 Gambar 3.6 Tampilan Area Kerja Photoshop .......................................................... 19 Gambar 3.7 Tampilan New Canvas Photoshop Photoshop ............. ....................... 20 Gambar 3.9 Notepad++ .......................................................................................... 23 Gambar 4.1 Use Case Diagram Aplikasi Kids Logic ............................................... 31 Gambar 4.2 Activity diagram Play ........................................................................... 34 Gambar 4.3 Activity Diagram Melihat Tutorial ......................................................... 36 Gambar 4.4 Activity Diagram Melihat About ............................................................ 37 Gambar 4.5 Sequence Diagram Play ...................................................................... 38 Gambar 4.6 Sequence Diagram Melihat Tutorial .................................................... 39 Gambar 4.7 Sequence Diagram Melihat About ....................................................... 40 Gambar 4.8 Class Diagram .................................................................................... 41 Gambar 4.9 Halaman Splash dengan logo Bamboomedia ...................................... 42 Gambar 4.10 Halaman Splasg dengan logo DAP Studio .............. .......................... 42 Gambar 4.11 Halaman Menu Utama ...................................................................... 43 Gambar 4.12 Halaman Game Play Tebak Gambar ................................................ 44 Gambar 4.13 Halaman Game Play Berhitung ......................................................... 44 Gambar 4.14 Halaman Credit .................................................................................45 Gambar 4.15 Halaman Tutorial ...............................................................................46
BAB I PENDAHULUAN
1.1
Latar Belakang
Perkembangan 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
1
2
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.2
Rumusan Masalah
Dalam 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.3
Tujuan Perekayasaan
Adapun tujuan dari perekayasaan ini adalah sebagai berikut: 1. Untuk membuat game edukasi mengenal benda dan berhitung berbasis android.
3
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.4
Tujuan Kerja Praktek
Adapun 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.5
Ruang Lingkup Perekayasaan
Melihat 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.6
Bahan dan Metode Kerja Praktek
Penulis akan melakukan pengumpulan data yang berhubungan dengan Perancangan Game Edukasi Belajar Mengenal Benda dan Berhitung Berbasis Android.
4
1.6.1
Lokasi Kerja Praktek
Kerja praktek dilaksanakan di PT. Bamboomedia Cipta Persada yang beralamat di Jalan Tukad Yeh Aya No. 135, Panjer, Denpasar. 1.6.2
Jenis dan Sumber Data
Disini penulis menggunakan jenis dan sumber data yang terbagi menjadi:
1. Jenis Data Jenis 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 Data a.
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.3
Metode Pengumpulan Data
Beberapa 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. Dokumentasi Dengan cara mengumpulkan data – data yang terkait dengan laporan dari dokumen – dokumen, buku yang ada di PT. Bamboomedia Cipta Persada.
4. Studi Literatur
5
Merupakan suatu teknik pengumpulan data yang dilakukan dengan mempelajari buku – buku atau dokumen – dokumen yang berkaitan dengan permasalahan di atas. 1.7
Sistematika Penulisan
Dalam penulisan laporan ini sangat diharapkan agar pembaca dan pihakpihak yang berkepentingan dapat dengan mudah memahami isi laporan. Adapun sistematika penulisan laporan adalah sebagai berikut: 1. BAB I PENDAHULUAN Berisi 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 PERUSAHAAN Berisi tentang Sejarah PT. Bamboomedia Cipta Persada, Tugas masingmasing bagian, Visi dan Misi, serta Struktur Organisasi PT. Bamboomedia Cipta Persada. 3. BAB III LANDASAN TEORI Berisi tentang teori yang mendasari perancangan game edukasi yang ada pada PT. Bamboomedia Cipta Persada. 4. BAB IV HASIL DAN PEMBAHASAN Berisi tentang hasil analisa desain sistem game edukasi yang ada pada PT. Bamboomedia Cipta Persada. 5. BAB V PENUTUP Berisi tentang kesimpulan dan saran dari laporan penelitian Kerja Praktek. 6.
DAFTAR PUSTAKA
BAB II TINJAUAN UMUM PT. BAMBOOMEDIA CIPTA PERSADA 2.1
Sejarah PT. Bamboomedia Cipta. Persada
PT. 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/2209/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.2
Visi PT..Bamboomedia.Cipta.Persada “Menuju Kehidupan yang lebih baik melalui Software dan Kreatifitas”.
2.3
Misi PT. Bamboomedia.Cipta.Persada “Menjadi 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
7
2.4
Kantor PT. Bamboomedia Cipta Persada
Berikut 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.5
Lokasi Kerja Praktek PT. Bamboomedia Cipta Persada
Berikut 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.
8
Gambar 2.2 Lokasi Kerja Praktek PT. Bamboomedia Cipta Persada
2.6
Struktur Organisasi PT. Bamboomedia Cipta Persada
Struktur 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:
Dewan Direktur
Direktur Utama
Operasional Manager
Development Manager
Adm & Acc
Business Development
Marketing
Public Relation
SimpleBiz
Produksi & Distribusi
HRD Personalia
Development Support
Flexible Training (FlexT)
Gambar 2.3 Struktur Organisasi
Bizt & BMGames team
Indoclass.com And OnNet
9
2.7
Fungsi Dan Tugas Masing – Masing Bidang
Berikut ini adalah Fungsi dan Tugas dari masing – masing Bidang di PT. Bamboomedia Cipta Persada:
-
Dewan Direksi Memimpin, memberi izin, dan mengawasi kegiatan – kegiatan yang dilakukan di perusahaan.
-
Direktur Utama Mengawasi kegiatan – kegiatan yang dilakukan pada PT. Bamboomedia Cipta Persada.
-
Operasional Manager Bertanggung jawab terhadap segala jenis operasional perusahaan.
-
Admin dan Accounting
Bertanggung
jawab
terhadap
pemberian
informasi
dan
perhitungan
keuangan perusahaan.
-
Business Development
Bertanggung
jawab
mencari
rekan
bisnis
demi
memajukan
nama
perusahaan.
-
Marketing
Bertanggung jawab meningkatkan pendapatan dan melakukan iklan – iklan untuk memperkenalkan perusahaan.
-
Public Relation
Bertanggung jawab tentang informasi yang diberikan kepada antar karyawan.
-
Produksi dan Distribusi Memproduksi CD, flyer untuk dipublikasikan.
-
HRD Personalia Menentukan tenaga kerja yang handal dalam perusahaan.
-
Development Manager
Bertanggung jawab memimpin suatu proyek.
-
Flexible Training
Bertanggung jawab untuk membuat proyek tutorial .
-
Bizt and BMGames team
Bertanggung jawab dalam pembuatan program game.
-
SimpleBiz
10
Bertanggung jawab dalam pembuatan program bisnis.
-
Indoclass.com and OnNet
Pembelajaran Online.
-
Development Support
Yang meng-handle segala jenis keluhan dari customer .
11
BAB III LANDASAN TEORI 3.1
Pengertian Game
Dalam 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.1
Jenis - Jenis Game
Terdapat 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 Pertualangan Jenis 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. Simulasi Jenis game yang menekankan ke kehidupan nyata. Game simulasi biasanya meniru kehidupan nyata manusia sehari – hari. 4. Strategi Game ini memerlukan pemikiran yang cerdik dari user untuk merancang sebuah strategi untuk memenangkan game tersebut. 5. Edugame atau Edukasi Game 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.
11
12
3.2
Sistem Operasi Android Android adalah salah satu sistem operasi mobile yang berbasis Linux yang
dimiliki oleh Google . 3.2.1
Sejarah Android
Android 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.2
Versi – Versi Android
Sejak 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.1 Android 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.
13
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
14
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.3
Keunggulan dan Kekurangan Android
Populernya 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 Android Keunggulan 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.
15
2. Kekurangan Android Kekurangan 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.3
Corona SDK
Corona 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 SDK Corona SDK memiliki fitur dan keunggulan untuk versi starter sebagai
berikut: a.
Build for Android, iOS, Kindle, NOOK
b.
One-click Build
c.
Custom Splash Screen
d.
Limited Corona Plugins
e.
Community Support
f.
$100K Company Revenue Limit
2. 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 .
16
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 SDK
b.
Klik File
New Project untuk membuat project baru.
Gambar 3.2 Membuat Projek Baru
17
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
18
e.
Tampilan dari Corona Simulator output .
Gambar 3.5 Tampilan Corona Simulator
3.4
Adobe Photoshop
Sofware
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 Start Klik 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
19
Gambar 3.6 Tampilan Area Kerja Photoshop
b.
Title Bar
Menampilkan nama file yang sedang aktif dan bisa digunakan untuk memindahkan posisi jendela photoshop pada desktop . c.
Menu Bar
Berisi deretan menu yang meliputi: File, Edit , Image, Layer , Select , Filter , View , Windows, Help. d.
Ruler
Atau yang disebut juga penggaris yang berguna untuk menentukan posisi serta ukuran suatu objek. e.
Status Bar
Bagian ini menampilkan berbagai informasi tentang objek dan perkakas yang sedang dipilih. f.
Drawing Windows
Daerah yang digunakan sebagai lembar kerja untuk berkreasi dengan foto atau gambar.
20
g.
Toolbox
Komponen yang digunakan untuk memberikan akses perintah ke photoshop. h.
Pallete
Komponen ini digunakan untuk memilih dan mengatur berbagai parameter[6]. i.
Sizing Button
Tombol 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 kanvas
b.
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.
21
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.
f.
Kelompok Content : untuk menentukan warna dasar kanvas.
Tools
Gambar 3.8 Tampilan Tools Photoshop Photoshop
Selection Tools
-
Marquee Tools Tools yang termasuk dalam kelompok ini adalah tool
yang berfungsi untuk membuat seleksi pada obyek.
-
Rectangular Marquee Tool
Berfungsi sebagai pembuat seleksi berbentuk persegi panjang atau bujur sangkar.
-
Elliptical Marquee Tool
22
Berfungsi untuk membuat seleksi berupa elips atau lingkaran.
-
Single Row Marquee Tool
Berfungsi untuk membuat seleksi dalam satu baris garis.
-
Single Coloumn Marquee Tool
Berfungsi untuk membuat seleksi dalam satu kolom garis.
Move Tool
Berfungsi untuk memindahkan suatu obyek pada layer yang sedang aktif ke tempat lain.
Lasso Tool
-
Lasso Tool
Berfungsi untuk membuat seleksi secara bebas.
-
Polygonal Lasso Tool
Berfungsi untuk membuat seleksi secara bebas dengan garis lurus.
-
Magnetic Lasso Tool
Berfungsi
untuk
membuat
seleksi
berdasarkan
kesamaan warna.
Magic Wand Tool
Berfungsi untuk membuat seleksi secara bebas berdasarkan kesamaan warna.
3.5
Notepad++
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
23
pada C++, fungsi-fungsinya akan di masukan kedalam daftar fungsi dan katakatanya 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.6
UML (Unifield Mod eling Lang uage)
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
24
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.1
Diagram – diagram dalam U M L UML 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 Case Diagram 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 Aktifitas Diagram 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
25
case. Diagram aktifitas menunjukan informasi yang sama sebagaiman dalam
aliran kejadian dengan teks. 3. Diagram Sekuensial Diagram sekurnsial atau sequence diagram digunakan untuk menunjukan aliran fungsionalitas dalam use case. 4. Diagram Kolaborasi Diagram 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 Kelas Diagram kelas atau class diagram menunjukan interaksi antar kelas dan sistem. 6. Diagram Statechart Diagram 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.2
Konsep Pemodelan Use Case
Konsep 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. Aktor Aktor adalah seseorang atau apa saja yang berhubungan dengan sistem yang dibangun.
26
2. Use Case Use case adalah bagian tingkat tinggi dari fungsonalitas yang disediakan
oleh sistem. Dengan kata lain, use case menggambarkan bagaimana seseorang menggunakan sistem. 3. Relasi Relasi antar use case untuk mendapatakan sistem secara utuh dalam diagram use case terbagi menjadi: a.
Relasi Asosiasi Relasi asosiasi merupakan realsi antara aktor dan use case pada sistem.
b.
Relasi Include Relasi
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 Extend Relasi extend memungkinkan satu use case secara opsional menggunakan fungsionalitas yang disediakan oleh use case lainnya.
d.
Relasi Generalisasi Relasi 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.3
Use Case Diagram Use 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
27
atau pengguna, serta sangat berguna dalam menentukan struktur organisasi dan model dari pada sebuah sistem[3]. Tabel dibawah menampilkan contoh simbolsimbol dalam use case diagram .
Tabel 3.1 Simbol Use Case Diagram
No
GAMBAR
NAMA
KETERANGAN Menspesifikasikan himpunan peran yang
1
Actor
pengguna mainkan ketika berinteraksi dengan use
Actor
case
Hubungan dimana perubahan yang terjadi pada suatu elemen mandiri 2
Dependency
(independen) akan mempengaruhi elemen yang bergantung pada element yang tidak bisa mandiri Hubungan dimana object (descendent ) berbagi prilaku
3
Generalization
dan struktur data dari object yang ada di atasnya object induk (ancestor ) Menspesifikasikan
4
<>
Include
bahwa
use case sumber secara eksplisit Menspesifikasikan bahwa use case target memperluas
5
<>
Extend
prilaku dari use case sumber pada suatu titik yang diberikan
28
6
Association
Penghubung antara object satu dengan object lainnya Menspesifikasikan paket
7
System
yang menampilkan sistem secara terbatas Interaksi aturan-aturan dan elemen lainnya yang
8
Collaboration
bekerja sama untuk menyediakan prilaku yang lebih besar dari jumlah dan elemen-elemen (sinergi) Elemen fisik yang muncul
9
Note
saat aplikasi dijalankan dan mencerminkan suatu sumber daya
3.6.4
E x p a n d e d Us e Case
Setelah 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.5
A c t i v i t y Diagram
Activity diagram adalah gambaran aliran dari sebuah sistem, bagaimana
awal, proses dan akhir dari sistem itu. Tabel di bawah menampilkan contoh simbolsimbol dalam Activity Diagram.
29
Tabel 3.2 Simbol Activity Diagram
No
GAMBAR
NAMA
KETERANGAN Memperlihatkan bagaimana masing-masing
1
Activity
kelas antarmuka saling berinteraksi satu sama lain State dari sistem
yang 2
Action
mencerminkan eksekusi dari suatu aksi
3
4
Initial Node
Bagaimana object dibentuk
atau diawali
Activity
Bagaimana
Final
object dibentuk
Node
dan dihancurkan Satu aliran yang
5
Fork Node
pada saat tertentu berubah menjadi beberapa aliran
3.6.6
S e q u e n c e Diagram
Sequence 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
30
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 Diagram
No
GAMBAR
NAMA
KETERANGAN
Object entity ,
1
LifeLine
antaramuka saling berinteraksi
Spesifikasi dari komunitas antar 2
2
object yang Message
memuat informasiinformasi tentang aktifitas yang terjadi Spesifikasi dari komunitas antar
2
3
object yang Message
memuat informasiinformasi tentang aktifitas yang terjadi
3.6.7
Class Diagram
Class 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.
31
Tabel 3.4 Simbol Class Diagram
NO GAMBAR
NAMA
KETERANGAN
1
Generalization
Hubungan dimana objek user (descendent ) berbagai perilaku dan struktur data dari objek yang ada di atasnya objek induk (ancestor )
2
Nary Association
Upaya untuk menghindari asosiasi dengan lebih dari 2 objek
Class
Himpunan dari objek-objek yang berbagai attribute serta operasi yang sama
4
Collaboration
Deskripsi dan urutan aksi-aksi yang ditampilkan sistem yang menghasilkan suatu hasil terukur bagi suatu actor
5
Realization
3
Class
Operasi yang benar-benar dilakukan oleh suatu objek
6
Dependency
Hubungan dimana perubahan yang terjadi pada suatu elemen mandiri (independent ) akan mempengaruhi elemen yang bergantung pada elemen yang tidak mandiri
7
Association
Apa yang menghubungkan antara objek satu dengan objek lainnya
BAB IV HASIL DAN PEMBAHASAN 4.1
Use Case Diagram
Adapun use case diagram dari perancangan aplikasi game edukasi Kids Logic ini adalah sebagai berikut:
Gambar 4.1 Use Case Diagram Aplikasi Kids Logic
Pertama-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 .
31
32
4.2
Expand ed Use Case
Berikut merupakan penjabaran dari expanded use case dari perancangan aplikasi game Kids Logic : 1. Expanded Use Case Play Tabel 4.1 Expanded Use case Play Nama Use Case
Play
Aktor Utama
User
Kondisi Awal
User menekan tombol play pada halaman utama
Kondisi Akhir
Sistem menampilkan halaman game
Skenario Sukses
Aksi Aktor
Aksi Sistem
Langkah 1: Use Case
Langkah 2 : Sistem
dimulai ketika user
menampilkan gameplay
sudah berada pada halaman utama dan user memilih tombol play
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 Tutorial Nama Use Case
Melihat Tutorial
Aktor Utama
User
Kondisi Awal
User menekan tombol tutorial pada halaman utama
Kondisi Akhir
Sistem menampilkan halaman tutorial
33
Skenario Sukses
Aksi Aktor
Aksi Sistem
Langkah 1 : Use Case
Langkah 2 : Sistem
dimulai ketika user
menampilkan halaman
sudah berada pada
tutorial dari game Kidc
halaman utama dan
Logic
user menekan tombol
tutorial 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 About Table 4.3 Expanded Use Case About Nama Use Case
Melihat About
Aktor Utama
User
Kondisi Awal
User menekan tombol tutorial pada halaman utama
Kondisi Akhir
Sistem menampilkan halaman about
Skenario Sukses
Aksi Aktor
Aksi Sistem
Langkah 1 : Use Case
Langkah 2 : Sistem
dimulai ketika user
menampilkan halaman
sudah berada pada
about dari game Kidc
halaman utama dan
Logic
user menekan tombol about 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
34
menampilkan halaman utama kemudian user memilih tombol about dan sistem akan menampilkan halaman about . 4.3
Activity Diagram
Adapun activity diagram dari aplikasi game Kids Logic adalah sebagai berikut:
1. Activity Diagram Play
Gambar 4.2 Activity diagram Play
35
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.
36
2. Activity Diagram Melihat Tutorial
Gambar 4.3 Activity Diagram Melihat Tutorial
Activity 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.
37
3. Activity Diagram Melihat About
Gambar 4.4 Activity Diagram Melihat About
Activity 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
38
4.4
Sequence Diagram
Adapun Sequence Diagram dari aplikasi game Kids Logic adalah sebagai berikut: 1. Simbol Sequnce Diagram Play
Gambar 4.5 Sequence Diagram Play Sequence 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
39
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 Tutorial
Sequence 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.
40
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 .
41
4.5
Class Diagram
Adapun class diagaram dari aplikasi
game Kids Logic berbasis android
adalah sebagai berikut:
Gambar 4.8 Class Diagram
42
4.6
Hasil Kerja Praktek
Pada sub-bab ini membahas tentang hasil kerja praktek berupa game edukasi yang berjudul “Kids Logic ”
4.6.1
Halaman Splash
Halaman 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
43
4.6.2
Halaman Menu Utama
Setelah 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
44
4.6.3
Halaman Game Play
Pada 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
45
4.6.4
Halaman Credit
Saat 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
46
4.6.7
Halaman Tutorial
Saat 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
BAB V PENUTUP Adapun kesimpulan dan saran yang dapat disampaikan pada laporan kerja praktek ini, yaitu sebagai berikut: 4.1
Kesimpulan
Dari 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.2
Saran
Sebagai 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://itebooks.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
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.contentHeight cx = display.contentCenterX cy = display.contentCenterY -- TEXT NILAI score = display.newText("Benar : 0", 0, 0, "Tahoma", 15) score:setTextColor(255,0,0) score.x = _X * 0.2 score.y = 60 scoreCount = {0} -- TEXT SALAH fault = display.newText("Salah : 0", 0, 0, "Tahoma", 15) fault:setTextColor(255,0,0) fault.x = _X * 0.8 fault.y = 60 faultCount = {0} image = {} imageNumber = 10 -- FUNGSI UNTUK NORMALISASI GAMBAR function imageNormalize() for i=1,imageNumber do image[i]=i end end imageNormalize() numberOfZero = 0 scene = {0} -- DEKLARASI BACKGROUND MUSIC UNTUK BUTTON SoundBenar = audio.loadSound("sound/bgmBenar.mp3")
SoundBtn = audio.loadSound("sound/btnBlop.mp3") SoundSalah = audio.loadSound("sound/bgmSalah.mp3") -- MEMANGGIL SCENE MENU function main () mainGroup:insert(director.directorView) director:changeScene("Splas","crossfade") end main() --cara panggil function module(..., package.seeall) --====================================================================--- SCENE: [SCENE MENU OR HOME] --====================================================================-new = function () -- DEKLARASI BACKGROUND MUSIC HOME function music() local sound1 = audio.loadStream("sound/soundbg.mp3") audio.play(sound1,{channel=1,loops=-1}); end music() local localGroup = display.newGroup() local widget = require("widget") -- SUARA PADA BUTTON KLIK local 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)
-- JUDUL local judul = widget.newButton { defaultFile = "Image/txtJudul.png", overFile = "Image/txtJudul1.png", emboss = true
} transition.from(judul, {time = 2000, delay = 200, alpha = 0, xS cale = 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 NILAI scoreCount[1]=0 score.text="Nilai : "..scoreCount[1] score:toBack() -- MEMANGGIL TEXT SALAH faultCount[1]=0 fault.text="Salah : "..faultCount[1] fault:toBack() -- BACKGROUND LANGIT local bgLangit = display.newImageRect("Image/langit.jpg", 1160/2, 720/2) bgLangit.x = cx bgLangit.y = cy -- BACKGROUND MATAHARI local bgSun = display.newImageRect("Image/bgSun1.png", 165/2, 165/2) bgSun.x, bgSun.y = - 20, 12 -- MEMBUAT FUNGSI MATAHARI BERGERAK local function Matahari(event) bgSun.rotation = bgSun.rotation + (-0.2) end Runtime:addEventListener("enterFrame", Matahari) -- BACKGROUND AWAN local bgAwan = display.newImageRect("Image/awan.png", 1160/2, 720/2) bgAwan.x = -1.5 * cx bgAwan.y = cy local bgAwan2 = display.newImageRect("Image/awan.png", 1160/2, 720/2) bgAwan2.x = bgAwan.x + 580 bgAwan2.y = display.contentCenterY -- MEMBUAT FUNGSI AWAN BERGERAK local function awanJalan() bgAwan.x = bgAwan.x + 1 bgAwan2.x = bgAwan2.x + 1 if bgAwan.x == display.contentWidth + 1.5 * display.contentCenterX then bgAwan.x = -1.5 * display.contentCenterX end
if bgAwan2.x == display.contentWidth + 1.5 * display.contentCenterX then bgAwan2.x = -1.5 * display.contentCenterX end end Runtime:addEventListener("enterFrame", awanJalan) -- BACKGROUND RUMAH local bg = display.newImageRect("Image/rumah.png", 1160/2, 720/2) bg.x = cx bg.y = cy -- BACKGROUND KARAKTER local karakter = display.newImageRect("Image/Char.png", 700/2, 417/2) karakter.x = 430 karakter.y = 245 -- DEKLARASI BUTTON PLAY local 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 ABOUT local 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 TUTORIAL local 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 INSERT localGroup: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 D AN SOUND function goto (event) --event parameter atau je mbatan audio.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); end btnPlay:addEventListener("tap",goto) --btnSound:addEventListener("tap",goto) -- FUNGSI PINDAH DIRECTOR KE ABOUT DAN TUTORIAL function AT (event) director:changeScene(event.target.id,"crossfade") Runtime:removeEventListener("enterFrame", Matahari) Runtime:removeEventListener("enterFrame", awanJalan) audio.play(btnin); end btnTutor:addEventListener("tap",AT) btnAbout:addEventListener("tap",AT) return localGroup end module(..., package.seeall) --====================================================================--- SCENE: [SCENE SOAL 1] --====================================================================-new = function () local localGroup = display.newGroup() local widget = require("widget") -- DEKLARASI VARIABEL YANG NANTI AKAN D IGUNAKAN local cx = display.contentCenterX local cy = display.contentCenterY -- MUSIC UNTUK BUTTON BACK local btnBack = audio.loadSound("sound/btnback.mp3") -- SPRITELOQ local spriteloq = require("loq_sprite") local aset_txt = spriteloq.newFactory("sprite.txttebak") local txt = aset_txt:newSpriteGroup("txttebak") txt.x = 65 txt.y = -5 txt.xScale = 0.8 txt.yScale = 0.5
txt:play("txttebak") -- BACKGROUND SOAL local bgdisplay = display.newImageRect("Image/bgSoal.jpg",1160/2,720/2) bgdisplay.x = cx bgdisplay.y = cy localGroup:insert(bgdisplay) -- BUTTON BACK KE HOME local 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 BUKU local function buku() local imgsoal = display.newImageRect("Image/soal/soal_1.png", 220/2, 114/2) imgsoal.x = cx - 0 imgsoal.y = cy - 80 localGroup:insert(imgsoal)
----------------------------------------------------- [INSERT BUTTON HURUF] ------------------------------------------------------------------------------------------------local hrf3 = display.newImageRect("Image/huruf/k.png", 100/2, 100/2) hrf3.x = 90 hrf3.y = 239 hrf3.id = "hrf3" localGroup:insert(hrf3) local hrf5 = display.newImageRect("Image/huruf/p.png", 100/2, 100/2) hrf5.x = 151 hrf5.y = 239 hrf5.id = "hrf5" localGroup:insert(hrf5) local hrf1 = display.newImageRect("Image/huruf/b.png", 100/2, 100/2) hrf1.x = 212 hrf1.y = 239 hrf1.id = "hrf1" localGroup:insert(hrf1) local hrf2 = display.newImageRect("Image/huruf/u.png", 100/2, 100/2)
hrf2.x = 273 hrf2.y = 239 hrf2.id = "hrf2" localGroup:insert(hrf2) local hrf6 = display.newImageRect("Image/huruf/c.png", 100/2, 100/2) hrf6.x = 334 hrf6.y = 239 hrf6.id = "hrf6" localGroup:insert(hrf6) local hrf4 = display.newImageRect("Image/huruf/u.png", 100/2, 100/2) hrf4.x = 395 hrf4.y = 239 hrf4.id = "hrf4" localGroup:insert(hrf4) -=========================================================================== ==================--
----------------------------------------------------- [INSERT BACKGROUND HURUF] ---------------------------------------------------------------------------------local bghrf1 = display.newImageRect("Image/huruf/bghuruf.png", 100/2, 100/2) bghrf1.x = 151 bghrf1.y = 163 localGroup:insert(bghrf1) local bghrf2 = display.newImageRect("Image/huruf/bghuruf.png", 100/2, 100/2) bghrf2.x = 212 bghrf2.y = 163 localGroup:insert(bghrf2) local bghrf3 = display.newImageRect("Image/huruf/bghuruf.png", 100/2, 100/2) bghrf3.x = 273 bghrf3.y = 163 localGroup:insert(bghrf3) local bghrf4 = display.newImageRect("Image/huruf/bghuruf.png", 100/2, 100/2) bghrf4.x = 334 bghrf4.y = 163 localGroup:insert(bghrf4) -=========================================================================== ==================--
----------------------------------------------------- [FUNGSI DRAG AND DROP] ------------------------------------------------------------------------------------------local status, status1, status2, status3, statushrpu1, statushrpu2 local function Tarik(e) local hurup1 = bghrf1 local hurup2 = bghrf2 local hurup3 = bghrf3 local hurup4 = bghrf4 if e.phase == "began" then display.getCurrentStage():setFocus(e.target) e.target:toFront() e.target.oriX=e.target.x e.target.oriY=e.target.y distanceBetween1=math.ceil(math.sqrt(((e.y-hurup1.y)^2)+((e.xhurup1.x)^2))) distanceBetween2=math.ceil(math.sqrt(((e.y-hurup2.y)^2)+((e.xhurup2.x)^2))) distanceBetween3=math.ceil(math.sqrt(((e.y-hurup3.y)^2)+((e.xhurup3.x)^2))) distanceBetween4=math.ceil(math.sqrt(((e.y-hurup4.y)^2)+((e.xhurup4.x)^2))) elseif e.phase == "moved" then e.target.x=e.x e.target.y=e.y distanceBetween1=math.ceil(math.sqrt(((e.y-hurup1.y)^2)+((e.xhurup1.x)^2))) distanceBetween2=math.ceil(math.sqrt(((e.y-hurup2.y)^2)+((e.xhurup2.x)^2))) distanceBetween3=math.ceil(math.sqrt(((e.y-hurup3.y)^2)+((e.xhurup3.x)^2))) distanceBetween4=math.ceil(math.sqrt(((e.y-hurup4.y)^2)+((e.xhurup4.x)^2))) print("distance:", distanceBetween) elseif e.phase == "ended" then display.getCurrentStage():setFocus(nil) if distanceBetween1 <= 10 and e.target .id=="hrf1" then e.target.x=hurup1.x e.target.y=hurup1.y status="selesai" audio.play(SoundBtn); e.target:removeEventListener("touch", Tarik) elseif distanceBetween2 <= 10 and (e.target.id=="hrf2" or
e.target.id=="hrf4") then if statushrpu1=="berisi" then e.target.x=e.target.oriX e.target.y=e.target.oriY else e.target.x=hurup2.x e.target.y=hurup2.y status1="selesai" statushrpu1="berisi" audio.play(SoundBtn); e.target:removeEventListener("touch", Tarik) end elseif distanceBetween3 <= 10 and e .target.id=="hrf3" then e.target.x=hurup3.x e.target.y=hurup3.y status2="selesai" audio.play(SoundBtn); e.target:removeEventListener("touch", Tarik) elseif distanceBetween4 <= 10 and (e.target.id=="hrf2" or e.target.id=="hrf4") then if statushrpu2=="berisi" then e.target.x=e.target.oriX e.target.y=e.target.oriY else e.target.x=hurup4.x e.target.y=hurup4.y status3="selesai" statushrpu2="berisi" audio.play(SoundBtn); e.target:removeEventListener("touch", Tarik) end else e.target.x=e.target.oriX e.target.y=e.target.oriY end end if status=="selesai" and status1=="selesai" and status2=="selesai" and status3=="selesai" then bgdisplay.alpha=0.20 txt.alpha=0.20 btnLeft.alpha=0.2 --btnright.alpha=0.2 imgsoal.alpha=0.2 score.isVisible=false fault.isVisible=false hrf1.isVisible=false
hrf2.isVisible=false hrf3.isVisible=false hrf4.isVisible=false hrf5.isVisible=false hrf6.isVisible=false bghrf1.isVisible=false bghrf2.isVisible=false bghrf3.isVisible=false bghrf4.isVisible=false btnLeft:removeEventListener("tap",back) -=========================================================================== ==================--- BACKGROUND SINAR local bgSinar = display.newImageRect("Image/Sinar.png", 600/2, 600/2) bgSinar.x = cx bgSinar.y = cy bgSinar.xScale = 0.5 bgSinar.yScale = 0.5 bgSinar.alpha = 0 localGroup:insert(bgSinar) -- MEMBUAT FUNGSI SINAR BERGERAK function sinarJalan(event) bgSinar.rotation = bgSinar.rotation + (-1) end Runtime:addEventListener("enterFrame", sinarJalan) -- BACKGROUND MESSAGEBOX local messagebox = display.newImageRect("Image/btnBenar.png", 300/2, 300/2) messagebox.x = cx messagebox.y = cy messagebox.xScale = 0.5 messagebox.yScale = 0.5 messagebox.alpha = 0 localGroup:insert(messagebox) -- FUNGSI MESSAGEBOX DAN SINAR BERGERAK function finish() transition.to(messagebox, {time = 1000, alpha = 0, transition = easing.inExpo}) transition.to(bgSinar, {time = 700, alpha = 0, transition = easing.inExpo, onComplete = back}) end
-- FUNGSI SUARA SAAT MESSAGEBOX SELESAI function suara() audio.play(SoundBenar, {delay = 1000}); end transition.to(messagebox, {time = 900, delay = 500, alpha = 1, x Scale = 1, yScale = 1, transition = easing.outExpo,onComplete=suara}) transition.to(bgSinar, {time = 990, delay = 800, alpha = 1, xScale = 1, yScale = 1, transition = easing.outExpo, onComplete = finish}) -- FUNGSI BACK function back (event) director:changeScene("sb1","flip") score.isVisible=true fault.isVisible=true Runtime:removeEventListener("enterFrame", sinarJalan) end end return true end -- FUNGSI UNTUK MENARIK HURUF hrf1:addEventListener("touch", Tarik) hrf2:addEventListener("touch", Tarik) hrf3:addEventListener("touch", Tarik) hrf4:addEventListener("touch", Tarik) hrf5:addEventListener("touch", Tarik) hrf6:addEventListener("touch", Tarik) end -function back (event) audio.stop(2) director:changeScene(event.target.id,"moveFromRight") audio.play(btnBack) end btnLeft:addEventListener("tap",back) buku() return localGroup end
module(...,package.seeall) --====================================================================--- SCENE: [SCENE SOAL BONUS 1] --====================================================================-new=function() local localGroup=display.newGroup() local bgdisplay=display.newImageRect("Image/bgBonus.jpg",1160/2,720/2) bgdisplay.x=cx bgdisplay.y=cy localGroup:insert(bgdisplay) scene[1]=1-------------------------------------------------------------------------------print("scene : "..scene[1]) -- local textTitle=display.newText("Scene "..scene[1],0,0,"Tahoma",25) -- textTitle:setTextColor(255,102,0) -- textTitle.x=cx -- textTitle.y=_Y*0.1
local spriteloq=require("loq_sprite") local aset_txt=spriteloq.newFactory("sprite.hitung") local txt=aset_txt:newSpriteGroup("hitung") txt.x = 25 txt.y = 0 -- txt.xScale = 0.8 txt.yScale = 0.5 txt:play("hitung") localGroup:insert(txt) local textPlusSign=display.newText("+",0,0,"Cooper Black",60) textPlusSign:setTextColor(255,102,0) textPlusSign.x=cx textPlusSign.y=_Y*0.53 --************************************************** local imageSelect={}
--if numberOfZero>=10 then --imageNormalize() for i=1,imageNumber do image[i]=i end numberOfZero=0 --end score:toFront() fault:toFront() for i=1,2 do
imageSelect[i]=math.random(imageNumber) while image[imageSelect[i]]==0 do imageSelect[i]=math.random(imageNumber) end image[imageSelect[i]]=0 numberOfZero=numberOfZero+1
print("image "..i.." "..imageSelect[i]) print("numberOfZero "..numberOfZero) end for i=1,imageNumber do print("image "..i.." "..image[i]) end print("**********") --************************************************** local numberRange=7 local numberOfAnswerChoice=3 --[[ j=1 -> 1st number j=2 -> 2nd number j=3 -> 1st result number
i=1 -> for 1st choice answer -> just only this will be used for the true question and answer i=2 -> for 2nd choice answer i=3 -> for 3rd choice answer ]]
-> just for complementary answer -> just for complementary answer
local numberCheck={} for i=1,(numberRange+numberRange) do numberCheck[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] do number[1][2]=math.random(numberRange) end number[1][3]=number[1][1]+number[1][2] numberCheck[number[1][3]]=0 for i=2,3 do number[i][1]=math.random(numberRange) number[i][2]=math.random(numberRange) while number[i][2]==number[i][1] do number[i][2]=math.random(numberRange) end number[i][3]=number[i][1]+number[i][2] while numberCheck[number[i][3]]==0 do number[i][1]=math.random(numberRange) number[i][2]=math.random(numberRange) while number[i][2]==number[i][1] do number[i][2]=math.random(numberRange) end number[i][3]=number[i][1]+number[i][2] end numberCheck[number[i][3]]=0 end for i=1,(numberRange+numberRange) do print("numberCheck["..i.."] = "..numberCheck[i]) end
print("---------") --[[for i=1,3 do print(number[i][3]) end]] local answerChoice=math.random(numberOfAnswerChoice) print("---"..answerChoice) --**************************************************displayObject local firstObject={} local objectSpace=_X/8 local firstNumberStartPosition=cx-((number[answerChoice][1]-1)*objectSpace)/2 local secondNumberStartPosition=cx-((number[answerChoice][2]-1)*objectSpace)/2 for i=1,number[answerChoice][1] do firstObject[i]=display.newImageRect("Image/soal/soal_1.png",50,50) firstObject[i].x=firstNumberStartPosition+(i-1)*objectSpace firstObject[i].y=_Y*0.35 end local secondObject={} for i=1,number[answerChoice][2] do secondObject[i]=display.newImageRect("Image/soal/soal_1.png",50,50) secondObject[i].x=secondNumberStartPosition+(i-1)*objectSpace secondObject[i].y=_Y*0.72 end
--**************************************************buttonAnswer
local buttonAnswer={} local buttonAnswerBackground={} local buttonAnswerText={} local buttonAnswerSpace=_X/numberOfAnswerChoice local buttonAnswerXStartPosition=cx-((numberOfAnswerChoice1)*buttonAnswerSpace)/2
local buttonAnswerY=_Y*0.92 for i=1,numberOfAnswerChoice do buttonAnswer[i]=display.newGroup()
buttonAnswerBackground[i]=display.newImageRect("Image/huruf/bgAngka.png", 60,40) -- buttonAnswerBackground[i]:setFillColor(255,102,0) buttonAnswerBackground[i].x=buttonAnswerXStartPosition+(i1)*buttonAnswerSpace buttonAnswerBackground[i].y=buttonAnswerY buttonAnswer[i]:insert(buttonAnswerBackground[i]) if i==answerChoice then buttonAnswerText[i]=display.newText(number[answerChoice][3],0,0,"Algerian",20) else buttonAnswerText[i]=display.newText(number[i][3],0,0,"Algerian",20) end buttonAnswerText[i]:setTextColor(255,255,255) buttonAnswerText[i].x=buttonAnswerXStartPosition+(i1)*buttonAnswerSpace buttonAnswerText[i].y=buttonAnswerY buttonAnswer[i]:insert(buttonAnswerText[i]) end --**************************************************goTo local returnSpeed=0.05 local function effectFunction() for i=1,3 do if buttonAnswerBackground[i].xScale<1 then buttonAnswerBackground[i].xScale=buttonAnswerBackground[i].xScale+returnSpee d buttonAnswerBackground[i].yScale=buttonAnswerBackground[i].yScale+returnSpee d
buttonAnswerText[i].xScale=buttonAnswerText[i].xScale+returnSpeed buttonAnswerText[i].yScale=buttonAnswerText[i].yScale+returnSpeed if buttonAnswerBackground[i].xScale>=1 then if i==answerChoice then scoreCount[1]=scoreCount[1]+1 score.text="Benar : "..scoreCount[1] mati() notifBenar()
--print("score : "..scoreCount..") else faultCount[1]=faultCount[1]+1 fault.text="Salah : "..faultCount[1] mati() notifSalah() --print("fault : "..faultCount) -director:changeScene("gameOver","crossfade") end end end end if buttonAnswerBackground[1].xScale>=1 and buttonAnswerBackground[2].xScale>=1 and buttonAnswerBackground[3].xScale>=1 then Runtime:removeEventListener("enterFrame",effectFunction) end end local shrinkScale=0.5 local function goTo(event) for i=1,3 do if event.target==buttonAnswer[i] then buttonAnswerBackground[i].xScale=shrinkScale buttonAnswerBackground[i].yScale=shrinkScale buttonAnswerText[i].xScale=shrinkScale buttonAnswerText[i].yScale=shrinkScale
Runtime:addEventListener("enterFrame",effectFunction) end end end --************************************************** function notifBenar()
local bgSinar = display.newImageRect("Image/Sinar.png", 600/2, 600/2) bgSinar.x = display.contentCenterX bgSinar.y = display.contentCenterY bgSinar.xScale = 0.7 bgSinar.yScale = 0.7 bgSinar.alpha = 0 local bgAlpha = display.newImageRect("Image/bgAlpha.png", 1160/2,720/2) bgAlpha.x= cx bgAlpha.y= cy localGroup:insert(bgAlpha) localGroup:insert(bgSinar)
function sinarJalan(event) bgSinar.rotation = bgSinar.rotation + (-1) end Runtime:addEventListener("enterFrame", sinarJalan)
local messagebox = display.newImageRect("Image/btnBenar.png", 300/2, 300/2) messagebox.x = cx messagebox.y = cy messagebox.xScale = 0.5 messagebox.yScale = 0.5 messagebox.alpha = 0 localGroup: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})
end function suara() audio.play(SoundBenar, {delay = 1000}); end transition.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") end end function notifSalah() local bgSinar = display.newImageRect("Image/Sinar.png", 600/2, 600/2) bgSinar.x = display.contentCenterX bgSinar.y = display.contentCenterY bgSinar.xScale = 0.7 bgSinar.yScale = 0.7 bgSinar.alpha = 0 local bgAlpha = display.newImageRect("Image/bgAlpha.png", 1160/2,720/2) bgAlpha.x= cx bgAlpha.y= cy localGroup:insert(bgAlpha) localGroup:insert(bgSinar)
function sinarJalan(event) bgSinar.rotation = bgSinar.rotation + (-1) end Runtime:addEventListener("enterFrame", sinarJalan)
local messagebox = display.newImageRect("Image/btnSalah.png", 300/2, 300/2) messagebox.x = cx messagebox.y = cy messagebox.xScale = 0.5 messagebox.yScale = 0.5 messagebox.alpha = 0 localGroup:insert(messagebox)