game mobile in system analyst application

118

Upload: kristian-maulana

Post on 28-Jan-2016

37 views

Category:

Documents


15 download

DESCRIPTION

this paper tell how game mobile in eye system analyst application

TRANSCRIPT

Page 1: game mobile in system analyst application
Page 2: game mobile in system analyst application
Page 3: game mobile in system analyst application

LEMBAR PENGESAHAN

JUDUL : GAME KATABRAK SUBJUDUL : PERMAINAN KOSAKATA BAHASA INDONESIA DI

LINGKUNGAN ANDROID PENYUSUN : KRISTIAN MAULANA NPM : TI1091010 Telah diperiksa dan disetujui oleh :

Pembimbing I

( Marwondo, S.T. ) NIDN : 04 061079 02

Pembimbing II

( R. Yadi Rakhman A., S.T. ) NIDN : 04 120184 02

Disahkan oleh :

Ketua Program Studi Teknik Perangkat Lunak Universitas Informatika dan Bisnis Indonesia

(R. Yadi Rakhman A., S.T.) NIDN : 04 120184 02

Page 4: game mobile in system analyst application

iii

PERNYATAAN KEASLIAN SKRIPSI

Saya menyatakan dengan sesungguhnya bahwa skripsi ini dengan judul : GAME KATABRAK dengan subjudul PERMAINAN KOSAKATA BAHASA INDONESIA DI LINGKUNGAN ANDROID, yang dibuat untuk memenuhi persyaratan menempuh Ujian Akhir Strata Satu pada Program Studi Teknik Perangkat Lunak di Fakultas Teknologi Dan Informatika pada Universitas Informatika dan Bisnis Indonesia di Bandung, sejauh yang saya ketahui bukan merupakan tiruan atau duplikasi dari skripsi yang sudah dipublikasikan dan atau pernah dipakai untuk mendapat gelar sarjana di lingkungan Universitas Informatika dan Bisnis Indonesia maupun di perguruan tinggi atau instansi manapun, kecuali bagian yang sumber informasinya dicantumkan sebagaimana mestinya.

Bandung, November 2014

( KRISTIAN MAULANA ) NPM : TI 1091010

Page 5: game mobile in system analyst application

iv

ABSTRAK

Katabrak adalah permainan berbasis edukasi yang menggunakan Bahasa Indonesia sebagai alat bantu utamanya. Katabrak dibangun tak sekedar sebagai hiburan yang berfungsi mengisi waktu luang tetapi berguna untuk menambah kosakata. Kelebihan katabrak dari aplikasi yang sebelumnya seperti carikata dan teka-teki silang game katabrak lebih variatif baik dari cara bermain, dari sisi grafis, maupun media yang digunakan. Aplikasi katabrak ini dikembangkan untuk perangkat dengan sistem operasi Android sehingga dapat dimainkan pada smartphone dan PC tablet.

Aplikasi katabrak dikembangkan dengan teknik rekayasa perangkat lunak

berbasis RUP. Dengan melalui beberapa tahapan seperti insepsi, elaborasi, konstruksi dan transisi seperti yang dijelaskan oleh Ivar Jacobson. Selain itu Katabrak ini juga dapat menyimpan data-data hasil permainan seperti total nilai permainan dan kata-kata yang dimainkan, sehingga aplikasi lebih menyenangkan apalagi disertakan fitur misi untuk lebih menantang. Kata Kunci: Edugame Bahasa Indonesia, Variatif, Design, RUP

Page 6: game mobile in system analyst application

v

ABSTRACT

Katabrak is edugame with Bahasa Indonesia to be main of game. Katabrak builded not just entertain for wasting time but this application can be add new vocabulary. Diferent katabrak with other edugame like find word or cros word is more variatif with how to play, design and media in use. Katabrak developed for Android smartphone and PC tablet.

Katabrak developed by RUP software engineering. Whit some phase like

inception, elaboration, construction, and transition what Ivar Jacobson was publish. Whicis katabrak can record total score and words was played, and those make katabrak more fun with mission. Keyword: Edugame Bahasa Indonesia, variatif, design, RUP

Page 7: game mobile in system analyst application

vi

KATA PENGANTAR Segala puji syukur penulis panjatkan bagi Allah SWT yang dengan

nikmat-Nya sempurnalah segala kebaikan, Dia-lah pemilik segala anugerah dan keutamaan, Dia-lah pemilik segala pujian yang baik nan indah, atas rahmat dan karunia-Nya penulis dapat menyelesaikan skripsi ini dengan baik.

Skripsi merupakan salah satu syarat bagi mahasiswa untuk menyelesaikan program studi Sarjana Strata Satu (S1) di Jurusan Teknik Informatika Fakultas Teknologi dan Informatika Universitas Informatika dan Bisnis Bandung. Penulis menyadari bahwa baik dalam penyusunan laporan skripsi ini tidak mungkin dapat diselesaikan tanpa bantuan dari berbagai pihak, sehingga pada kesempatan ini penulis mengucapkan terimakasih yang sebesar-besarnya atas bantuan, dorongan, dan saran dari berbagai pihak.

Dengan kesempatan ini pula, dengan tulus hati penulis ingin mengucapan terimakasih yang sebesar-besarnya kepada : 1. Marwondo, S.T. dan R. Yadi Rakhman A., S.T. sebagai dosen pembimbing

yang sudah membantu dalam penyusunan Skripsi ini. 2. Pramu Kristianto sebagai Graphic Designer aplikasi Katabrak. 3. Arif Akuma kurami sebagai Music Creator dan Sound Effect Editor aplikasi

Katabrak. 4. Tim Kumata Studio yang memberikan tempat mengembangkan dan riset

aplikasi Katabrak. 5. Sahabat, teman dan semua pihak-pihak baik yang berkontribusi secara

langsung maupun tidak langsung yang tidak bisa dicantumkan dan ikut serta dalam membantu dalam penyusunan skripsi ini. Melalui Skripsi ini penyusun merasa mendapatkan kesempatan besar untuk

memperdalam ilmu pengetahuan yang diperoleh selama di bangku perkuliahan. Penulis berharap skripsi ini bermanfaat bagi yang membacanya dan semoga

Allah SWT membalas segala kebaikan semua pihak yang telah membantu dalam

Page 8: game mobile in system analyst application

vii

menyelesaikan penyusunan skripsi ini dengan limpahan rahmat dan karunia-Nya. Penulis sangat mengharapkan saran dan kritik dari para pembaca maupun yang mencoba aplikasi yang dibuat untuk pengembangan aplikasi lebih lanjut.

Bandung, November 2014

Penulis

Page 9: game mobile in system analyst application

viii

DAFTAR ISI ....................................................................................................... ....................................................................................................... Laman ABSTRAK ........................................................................................ iv ABSTRACT ........................................................................................ v KATA PENGANTAR ........................................................................ vi DAFTAR ISI ..................................................................................... viii DAFTAR TABEL .............................................................................. xi DAFTAR GAMBAR .......................................................................... xii DAFTAR DIAGRAM ........................................................................ xiii DAFTAR LAMPIRAN ....................................................................... xiv BAB I PENDAHULUAN ................................................................... 1 1.1 Latar Belakang ................................................................ 1 1.2 Identifikasi Masalah......................................................... 2 1.3 Rumusan Masalah ............................................................ 2 1.4 Maksud dan Tujuan.......................................................... 2 1.5 Metode Penelitian ............................................................ 3 BAB II TINJAUAN PUSTAKA ......................................................... 4 2.1 Pengertian Kosakata ........................................................ 4 2.2 Metode Belajar ................................................................ 5 2.2.1 Definisi Metode Belajar .......................................... 6 2.2.2 Jenis Metode Belajar ............................................... 7 2.2.3 Kriteria Pemilihan Metode Belajar ........................... 7 2.3 Media Pembelajaran ......................................................... 8 2.3.1 Peranan Media Pembelajaran ................................... 9 2.3.2 Jenis Media Pembelajaran ....................................... 10 2.4 Platform Komputer .......................................................... 11

Page 10: game mobile in system analyst application

ix

2.5 Perangkat Lunak .............................................................. 12 2.5.1 Komponen Perangkat Lunak .................................... 13 2.5.1.1 Karakteristik Perangkat Lunak.................... 14 2.5.1.2 Kategori Perangkat Lunak .......................... 14 2.5.2 Pengertian Rekayasa Perangkat Lunak ..................... 17 2.5.3 RUP (Rational Unified Process) .............................. 20 2.5.4 UML (Unified Modeling Language) ......................... 22 2.5.5 Penerapan UML pada RUP ...................................... 26 2.5.6 Pengujian Software ................................................. 28 2.6 Pengertian Sistem Operasi ................................................ 28 2.6.1 Sistem Operasi Mobile ............................................ 29 2.6.2 Perkembangan Android ........................................... 30 BAB III METODE PENELITIAN ...................................................... 32 3.1 Skema Penelitian ............................................................. 32 3.2 Tahapan Pembangunan Perangkat Lunak .......................... 33 3.2.1 Insepsi .................................................................... 33 3.2.2 Elaborasi ................................................................ 34 3.2.3 Konstruksi .............................................................. 34 3.2.4 Transisi .................................................................. 35 BAB IV INSEPSI DAN ELABORASI .................................................... 36 4.1 Insepsi ............................................................................ 36 4.1.1 Analisis Kebutuhan Non Fungsional ........................ 36 4.1.1.1 Analisis Perangkat Keras ............................ 36 4.1.1.2 Analisis Perangkat Lunak ........................... 37 4.1.1.3 Analisis Pengguna ..................................... 37 4.1.2 Analisis Kebutuhan Fungsional ................................ 37 4.2 Elaborasi ......................................................................... 42 4.2.1 Iterasi Pertama ........................................................ 42 4.2.2 Iterasi ke Dua ......................................................... 43 BAB V KONSTRUKSI DAN TRANSISI ................................................ 57 5.1 Konstruksi ....................................................................... 57

Page 11: game mobile in system analyst application

x

5.1.1 Iterasi Pertama ........................................................ 57 5.1.2 Iterasi ke Dua ......................................................... 59 5.1.3 Iterasi ke Tiga ......................................................... 64 5.1.4 Pengujian ................................................................ 67 5.1.4.1 Hasil dan Kasus Pengujian .............................. 68 5.1.4.2 Simpulan Pengujian ..................................... 70 5.2 Transisi ........................................................................... 71 BAB VI PENUTUP ........................................................................... 72 6.1 Simpulan ......................................................................... 72 6.2 Saran ............................................................................... 72 DAFTAR PUSTAKA ......................................................................... 73 LAMPIRAN - LAMPIRAN ................................................................ 74

Page 12: game mobile in system analyst application

xi

DAFTAR TABEL ....................................................................................................... Laman Tabel 2.1 Klasifikasi Diagram ........................................................... 24 Tabel 2.2 Daftar Simbol pada UML .................................................... 25 Tabel 2.3 Daftar hubungan pada UML ................................................ 26 Tabel 5.1.1 Rencana Pengujian .......................................................... 67 Tabel 5.1.2 Hasil Pengujian .............................................................. 69

Page 13: game mobile in system analyst application

xii

DAFTAR GAMBAR ....................................................................................................... Laman Gambar 2.1 Kerucut pengalaman ....................................................... 9 Gambar 2.2 Software Engineering Layer ............................................ 19 Gambar 2.3 Arsitektur Rational Unified Process ................................. 22 Gambar 4.1.2 Desain model permainan tahap insepsi ......................... 41 Gambar 4.2.1.1 Mokeup permainan iterasi Pertama ............................. 42 Gambar 5.1.2.1 Main Menu ............................................................... 60 Gambar 5.1.2.2 GamePlay .................................................................. 61 Gambar 5.1.2.3 Misi ......................................................................... 62 Gambar 5.1.2.4 Kamus ........................................................................ 63 Gambar 5.1.2.5 Selesai ......................................................................... 63 Gambar 5.1.3.1 Main Menu .................................................................. 64 Gambar 5.1.3.2 GamePlay ................................................................... 65 Gambar 5.1.3.3 Tunda ......................................................................... 66 Gambar 5.1.3.4 Selesai ........................................................................ 67 Gambar 5.2 Playstore .......................................................................... 71

Page 14: game mobile in system analyst application

xiii

DAFTAR DIAGRAM ....................................................................................................... Laman Diagram 2.1 Hubungan Model dan Alur Kerja ................................... 27 Diagram 3.1 Skema Penelitian ........................................................... 32 Diagram 4.1.1 Use Case Diagram ....................................................... 38 Diagram 4.1.2 Class Diagram ............................................................ 40 Diagram 4.1.3 Desain tampilan permainantahap insepsi ..................... 41 Diagram 4.2.1 Use Case Diagram Game Play ..................................... 44 Diagram 4.2.2 Class Diagram Game Play ........................................... 46 Diagram 4.2.3 Sequence Diagram Permainan ...................................... 49 Diagram 4.2.4 Activity Diagram Permainan ........................................ 50 Diagram 4.2.5 Structur Storyboard ..................................................... 52 Diagram 4.2.6 Main Menu ................................................................. 52 Diagram 4.2.7 Desain Tampilan Game Play ........................................ 53 Diagram 4.2.8 Desain Tampilan Tunda ............................................... 54 Diagram 4.2.9 Desain Tampilan Misi ................................................. 55 Diagram 4.2.10 Desain Tampilan Kamus ............................................ 55 Diagram 4.2.11 Desain Tampilan Selesai ............................................ 56

Page 15: game mobile in system analyst application

xiv

DAFTAR LAMPIRAN ....................................................................................................... Laman Lampiran 1 Fungsi dan Modul Aplikasi Katabrak .......................... 74-1 Lampiran 2 Kode Program Katabrak ............................................ 74-3 Lampiran 3 Hasil Survey Katabrak .............................................. 74-25

Page 16: game mobile in system analyst application

1

BAB I PENDAHULUAN

1.1 Latar Belakang Bahasa Indonesia merupakan sarana komunikasi yang utama dalam

kehidupan. Dengan bahasa manusia dapat mengutarakan keinginan, menjelaskan ide, mencurahkan isi pikiran dalam bentuk tulisan dan karya tulis. Menurut Subyakto dan Nababan (1992:124) bahasa adalah segala bentuk komunikasi ketika pikiran dan perasaan seseorang disimbolisasikan supaya dapat menyampaikan arti kepada orang lain. Dari berbagai macam suku bangsa, dan negara yang ada di bumi bahasa yang merupakan identitas negara. Bahasa Indonesia saat ini sudah dikenal di mancanegara sebagai identitas bahasa Negara Indonesia. Indonesia memiliki banyak suku, kepulauan, daerah dan masing masing wilayah memiliki keanekaragaman budaya dan bahasa dan Bahasa Indonesialah yang menjadi bahasa pemersatu diantara keaneka ragaman yang ada.

Rendahnya penguasaan kosakata Bahasa Indonesia di kalangan remaja dan dewasa khususnya pada umur 12 tahun keatas menjadi suatu perhatian penulis. Permasalahan yang ada saat ini salah satu penyebabnya adalah karena Bahasa Indonesia mulai tergerus oleh penggunaan bahasa asing. Penulis mencoba mencari tahu media yang ada untuk meningkatkan perbendaharaan Bahasa Indonesia masih sebatas TTS (cross-word) dan cari kata (find-word).

Dari latar belakang yang dikemukakan maka penulis mencoba membangun media belajar alternative sebagai salah satu solusi meningkatkan perbendaharaan menggunakan media informasi, media yang penulis maksud berupa perangkat lunak berbasis smartphone dan tablet dengan sistem operasi Android. Penulis berharap aplikasi dengan media interaktif ini dapat menjadi media pembelajaran yang menarik, dan efektif untuk meningkatkan kemampuan perbendaharaan kosakata yang dimiliki oleh yang menggunakan aplikasi tersebut.

Page 17: game mobile in system analyst application

2

1.2 Identifikasi dan Batasan Masalah

Berdasakan uraian latar belakang masalah diatas penulis mengidentifikasikan masalah sebagai berikut: 1. Masih rendahnya perbendaharaan kosakata Bahasa Indonesia yang

digunakan di masyarakat. 2. Media pembelajaran yang ada masih terbatas di sekolah saja. 3. Perkembangan teknologi informasi belum dimanfaatkan secara

maksimal sehingga aplikasi yang ada masih berupa TTS dan cari kata. Karena keterbatasan waktu dan kemampuan serta pembahasan tidak

meluas, maka penulis membatasi materi yang akan dibahas sebagai berikut perangkat lunak Pembelajaran Kosakata Bahasa Indonesia akan dibangun hingga pengenalan kata-kata tunggal.

1.3 Rumusan Masalah

Untuk membangun suatu aplikasi, maka perlu analisa dan perancangan berbagai kebutuhan yang digunakan dalam membangun aplikasi tersebut. Oleh kerena itu, penulis merumuskan masalah seperti berikut “Bagaimana membangun suatu aplikasi Pembelajaran Kosakata Bahasa Indonesia menggunakan permainan di lingkungan Android?”

Dari masalah yang penulis analisa, penulis bermaksud untuk memfasilitasi menjadi inspirasi dalam penyusunan proposal tugas akhir ini. Dengan mengangkat judul “GAME KATABRAK: PERMAINAN KOSAKATA BAHASA INDONESIA DI LINGKUNGAN ANDROID”

1.4 Maksud dan Tujuan

Maksud dari penulisan tugas akhir ini adalah mengimplementasikan ilmu-ilmu yang telah didapat oleh penulis selama masa perkuliahan di Universitas Informatika dan Bisnis Indonesia (UNIBI).

Tujuan dari penelitian ini adalah penulis dapat membangun perangkat

Page 18: game mobile in system analyst application

3

lunak untuk belajar Kosakata Bahasa Indonesia berbasis multimedia di lingkungan Android.

1.5 Metode Penelitian

Metode penelitian yang digunakan oleh penulis ialah metode deskriptif. Penulis memberikan gambaran secara sistematis dan akurat mengenai fakta dan data dan menguraikannya secara menyeluruh, berdasarkan sifat dan hubungan antara fenomena yang diteliti. Penulis mencoba mengumpulan data dengan cara studi pustaka atau studi literature dimana penulis mengumpulkan data dan informasi yang dibutuhkan melalui buku, jurnal yang pernah diterbitkan baik melalui internet ataupun karya tulis yang ada hubungannya dengan judul penelitian yang diambil. Dalam tahapan penerapan perangkat lunak dapat dilakukan dengan pemodelan Rational Unified Process (RUP), RUP ialah metode dengan tahapan proses Unified Process yang iterative dalam mengembangkan software, model RUP dikembangkan oleh salah satu divisi IBM bernama Rational Software Corporation sejak tahun 2003. Dalam metode RUP terdapat empat tahapan. Adapun tahapan yang digunakan adalah sebagai berikut : 1. Tahapan Inception (Insepsi)

Target utama dari tahapan inception ini ialah hanya memfokuskan pada sistem yang akan dibangun sebagai dasar untuk menginisial cost dan budget

2. Tahapan Elaboration (Elaborasi) Pada tahapan Elaboration ini target utama yang dicapai ialah memperkirakan resiko dan menganalisa dari awal hingga akhir dari tahapan ini.

3. Tahapan Construction (Konstruksi) Pada tahapan ini merupakan tahapan yang objektif dimana tahapan ini merupakan tahapan pembuatan aplikasi sistem

4. Tahapan Transition (Transisi) Tahapan ini terakhit dimana merupakan perubahan sistem dari pengembangan ke tahapan produksi, membuat produk berjalan dan mengerti apa yang dibutuhkan oleh user.

Page 19: game mobile in system analyst application

4

BAB II

TINJAUAN PUSTAKA

2.1 Pengertian Kosakata Bahasa tidak terlepas dari kosakata. Kosakata atau perbendaharaan kata

adalah semua kata yang terdapat dalam suatu bahasa (Soedjito, 1992:1). Penguasaan kosakata dapat memengaruhi keterampilan berbahasa seseorang. Begitu juga dengan kemampuan seseorang menggunakan dan mempelajari bahasa banyak dipengaruhi oleh kosakata yang dimilikinya.

Kosakata Bahasa Indonesia adalah kosakata yang tumbuh dan berkembang sesuai dengan perkembangan zaman, sehingga tanpa kita sadari kosakata Bahasa Indonesia tersebut selalu mengalami perkembangan yang sangat pesat sesuai dengan perkembangan dan kemajuan teknologi. Oleh karena itu, siswa juga dituntut untuk lebih memperkaya kosakata mereka. Dengan demikian, penguasaan kosakata dapat meningkatkan keterampilan berbahasa. Hal tersebut sesuai dengan pendapat Keraf menerangkan sebagai berikut,

“Kosakata memegang peranan penting sebagai unsur yang mendasar dalam kemampuan berbahasa, khususnya dalam karang mengarang karena menjadi petunjuk mengenai pengetahuan seseorang. Jumlah kata yang dikuasai akan menjadi petunjuk indikator bahwa orang itu menguasai sekian banyak pengetahuan.” (Keraf, 1984:4).

Istilah kosakata (vocabulary) dapat pula disebut perbendaharaan kata (Poerwadarminta, 1976: 526), “Vocabulary is aset lexseme including single words, compon words and idiom.” (Richards, 1985:307), “Kosakata ialah arti kata, pembendaharaan kata atau kata yang sama artinya.” (W.J.S.Poerwadarminto, 1982:524), “Kosakata ialah kata-kata yang mempunnyai persamaan arti atau perbendaharan kata.” (Imam Syafi`ie dan Imam Machfudz, 1993: 4). Pengertian yang lebih luas kosakata diartikan:

a. Semua kata yang terdapat dalam satu bahasa

Page 20: game mobile in system analyst application

5

b. Kosakata yang dipakai segolongan orang c. Kosakata yang digunakan dalam satu bidang ilmu d. Seluruh morfem yang ada dalam satu bahasa (linguistik) e. Daftar sejumlah kata dari suatu bahasa yang disusun secara urut

berdasar huruf abjad disertai keterangan Dari beberapa pendapat yang dikemukan tersebut, dapat diambil

kesimpulan bahwa para ahli dalam memberi pengertian kosakata hampir sama dan saling melengkapi, sehingga bermanfaat bagi siswa yang belajar berbahasa. Namun didalam pelaksanaannya, penggunaan kosa kata harus disesuaikan dengan tingkat kemampuan atau kematangan anak, baik ditingkat praTK, TK, SD kelas rendah, SD kelas tinggi, dan seterusnya.

Kosakata baku adalah kata yang cara pengucapan atau penulisannya sesuai dengan kaidah-kaidah yang telah dibakukan. Kaidah yang telah dibakukan yang dimaksud merupakan pedoman ejaan yang disempurnakan (EYD) yang terdapat pada Kamus Besar Bahasa Indonesia (KBBI) kata baku memiliki pokok utama sebagai tolok ukur yang berlaku untuk kuantitas atau kualitas yang ditetapkan berdasarkan kesepakatan standar (KBBI, 1995:82). Menurut Mulyono sebutan bahasa baku lazim disebut dengan istilah bahasa standar atau ragam bahasan (Mulyono, 1995:7), sedangkan Tarigan menjelaskan tentang kosakata baku sebagai berikut.

“Kosakata baku adalah kata yang sesuai dengan EYD, atau kata yang biasa digunakan dalam forum resmi, misalnya rapat, diskusi. Kegiatan belajar mengajar, dan juga untruk penulisan karya ilmiah, sedangkan kata nonbaku adalah kata yang digunakan dalam kahidupan sehari-hari atau acara non-formal, misalnya percakapan antarteman akrab.” (Tarigan, 1984:30)

2.2 Metode Belajar Saat ini metode pembelajaran semakin banyak macam dan jenisnya,

setiap jenis metode mengajar mempunyai kelemahan dan kelebihan masing-masing, tidak menggunakan satu macam metode saja. Berkembang metode belajar dikarenakan kebutuhan pendidikan yang mengikuti akan perkembangan zaman sehingga dalam penerapannya metode belajar banyak dikombinasikan

Page 21: game mobile in system analyst application

6

dari beberapa metode sehingga dapat menemukan suatu metode baru yang tepat dalam proses belajar mengajar.

2.2.1 Definisi Metode Belajar

Menurut Djamaluddin dan Abdullah Aly Metode berasal dari kata meta dan hodos, meta berarti melalui, dan hodos jalan jadi metode ialah jalan yang harus dilalui untuk mencapai suatu tujuan (Kapita Selekta Pendidikan Islam, 1999:114). Menurut Poerwadarminta Metode adalah cara yang telah teratur dan terpikir baik-baik untuk mencapai suatu maksud (KBBI, 1999:767). Menurut Gagne belajar ialah sebagai suatu proses dimana suatu organisme berubah perilakunya akibat suatu pengalaman (Gagne, 1984). Galloway dalam belajar merupakan suatu proses internal yang mencakup ingatan, retensi, pengolahan informasi, emosi dan factor-faktor lain berdasarkan pengalaman-pengalaman sebelumnya (Toeti Soekamto, 1992: 27). Sedangkan Morgan menyebutkan bahwa suatu kegiatan dikatakan belajar apabila memiliki tiga ciri-ciri sebagai berikut. 1. Belajar adalah perubahan tingkah laku 2. Perubahan terjadi karena latihan dan pengalaman, bukan karena pertumbuhan 3. Perubahan tersebut harus bersifat permanen dan tetap ada untuk waktu yang

cukup lama. Belajar pada dasarnya berbicara tentang bagaimana tingkah laku

seseorang berubah sebagai akibat pengalaman (Snelbeker: 1974 dan Toeti Soekamto 1992:10). Dari pengertian di atas dapat dibuat kesimpulan bahwa agar terjadi proses belajar atau terjadinya perubahan tingkah laku sebelum kegiatan belajar mengajar dikelas seorang guru perlu menyiapkan atau merencanakan berbagai pengalaman belajar yang akan diberikan dan pengalaman belajar tersebut harus sesuai dengan tujuan yang ingin dicapai. Proses belajar itu terjadi secara internal dan bersifat pribadi dalam diri, agar proses belajar tersebut mengarah pada tercapainya tujuan dalam kurikulum maka guru harus merencanakan dengan seksama dan sistematis berbagai pengalaman belajar yang memungkinkan perubahan tingkah laku sesuai dengan apa yang diharapkan. Berdasarkan definisi yang ada, penulis dapat mengambil kesimpulan bahwa metode belajar merupakan

Page 22: game mobile in system analyst application

7

jalan atau cara yang ditempuh seseorang untuk mencapai tujuan pembelajaran yang diharapkan yang mencakup ingatan, retensi, pengolahan informasi, emosi dan factor-faktor lain berdasarkan pengalaman-pengalaman sebelumnya.

2.2.2 Jenis Metode Belajar

Metode mengajar banyak macam-macam dan jenisnya, setiap jenis metode mengajar mempunyai kelemahan dan kelebihan masing-masing, dalam sistem pembelajaran pada umumnya tidak menggunakan satu macam metode saja, tetapi mengkombinasikan penggunaan beberapa metode yang ada. Menurut Nana Sudjana dalam buku Dasar-dasar Proses Belajar Mengajar tahun 1989, terdapat bermacam-macam metode dalam mengajar, yaitu: 1. Metode ceramah 2. Metode Tanya Jawab 3. Metode Diskusi 4. Metode Resitasi 5. Metode Kerja Kelompok 6. Metode Demonstrasi dan Eksperimen 7. Metode sosiodrama (role-playing) 8. Metode problem solving 9. Metode sistem regu (team teaching) 10. Metode latihan (drill) 11. Metode karyawisata (Field-trip) 12. Metode survai masyarakat 13. Metode simulasi

Pada dasarnya setiap metode diharapkan menjadi suatu sistem pembelajaran yang kooperatif, dimana setiap metode harus melibatkan materi ajar dapat mendukung dan membantu ketika dalam suatu system pembelajaran.

2.2.3 Kriteria Pemilihan Metode Pembelajaran

Menurut Dick dan Cary (1985) kriteria yang baik untuk pemilihan metode pembelajaran antara lain:

Page 23: game mobile in system analyst application

8

1. ketersediaan sumber setempat. Artinya bila media yang bersangkutan tidak terdapat pada sumber-sumber yang ada, maka harus dibeli atau dibuat sendiri

2. apakah untuk membeli atau memproduksi sendiri tersebut ada dana, tenaga dan fasilitasnya

3. faktor yang menyangkut keluwesan, kepraktisan dan ketahanan media yang bersangkutan untuk waktu yang lama, dan

4. kegunaan biayanya dalam jangka waktu yang panjang. Pemilihan metode pembelajaran lazimnya didasarkan pada 3 kriteria,

yaitu: (a) kelaikan praktis; (b) kelaikan teknis; dan (c) kelaikan biaya. 2.3 Media Pembelajaran

Menurut AECT (Association of Education and Communication Technology) mendefinisikan media sebagai segala bentuk dan saluran yang digunakan orang untuk menyalurkan pesan atau informasi (Arief Sadiman dkk, 2003:6). Gagne pada tahun 1970 mendefinisikan media adalah berbagai jenis komponen dalam lingkungan yang dapat merangsangnya untuk belajar. Berbeda dengan definisi diatas NEA (National Education Association) mendefiniskan media adalah bentuk-bentuk komunikasi baik tercetak maupun audio-visual serta peralatanya.

Media hendaknya dapat dimanipulasi, dilihat, didengar dan dibaca. Media pembelajaran merupakan sumber belajar dalam upaya peningkatan hasil belajarnya, dalam kaitan ini Arief Sadiman dkk (2003:5) membagi beberapa jenis sumber belajar yaitu: a. Bahan (Materials) atau yang biasa dikenal dengan perangkat lunak (software)

seperti buku, modul, majalah, OHT. b. Alat (Device) atau dikenal dengan perangkat keras (hardware) seperti

projector film, projector overhead, video tape, cassette recorder, TV. c. Teknik yaitu prosedur rutin atau acuan yang disiapkan untuk menggunakan

alat, bahan, orang dan lingkungan untuk menyajikan pesan. Seperti teknik demontrasi, ceramah, tanya jawab, belajar mandiri.

Page 24: game mobile in system analyst application

9

d. Lingkungan atau Setting yaitu tempat yang memungkinkan dalam melakukan kegiatan belajar seperti gedung sekolah, museum, perpustakaan dan lain-lain.

Selanjutnya dalam upaya pemanfaatan media pembelajaran untuk membantu proses pembelajaran Edgar Dale dalam Arief Sadiman dkk (2003c:7) memberikan acuan dalam menentukan pemilihan media yang akan digunakan berupa klasifikasi pengalaman menurut tingkat yang paling konkret ke yang paling abstrak yaitu kerucut pengalaman (Cone of experience) sebagai berikut:

Gambar 2.1 Kerucut pengalaman (Cone of experience)

Kerucut Edgar Dale merupakan suatu acuan yang dalam pemilihan media untuk sumber dan sarana belajar dengan tetap mengacu pada karakteristik serta tugas perkembangan peserta didik sehingga penggunaan dan pemanfaatan media dalam pembelajaran dapat memperoleh hasil optimal dengan maksud media membantu dan mempermudah proses pembelajaran bukan sebaliknya media malah mempersulit proses pembelajaran.

2.3.1 Peranan Media pembelajaran

Sebuah media yang ideal dalam sebuah lingkungan belajar adalah media yang mampu memfasilitasi proses belajar dan meningkatkan tingkat

Page 25: game mobile in system analyst application

10

pemahaman peserta belajar terhadap informasi yang disampaikan. Penggunaannya pun sebaiknya tetap ditentukan dan diatur oleh pengajar selaku pihak yang mengetahui tujuan dan arah proses belajar yang dilakukan. Dalam kata lain, bukan media yang menentukan pesan apa yang akan disampaikan, tetapi pengajarlah yang mengatur jalannya informasi kepada peserta belajar. Berikut ini beberapa contoh dari banyak manfaat yang dapat kita lihat dari penggunaan media dalam pembelajaran: 1. Media pembelajaran dapat memberikan pengalaman tambahan, sehingga

wawasan yang dimiliki para peserta belajar kurang lebih dapat disamakan (menyamakan persepsi materi pembelajaran).

2. Media pembelajaran dapat menyajikan informasi dari berbagai tempat. 3. Media pembelajaran dapat membangun interaksi. 4. Media pembelajaran dapat menciptakan proses penelitian. 5. Media pembelajaran dapat dapat mempertahankan konsep mengajar

secara utuh sekaligus nyata. 6. Media pembelajaran dapat meningkatkan motivasi belajar. 7. Media pembelajaran dapat menjembatani antara hal kongkrit dengan

abstrak.

2.3.2 Jenis Media Pembelajaran Jenis media pembelajaran banyak jenisnya, adapun jenis-jenis Media

Pembelajaran adalah sebagai berikut: 1. Media Asli/Tiruan

a. Spesimen Makhluk Hidup maupun tidak hidup b. Benda Asli bukan Makhluk Hidup c. Model Tiruan benda asli (yang diperkecil atau diperbesar)

2. Media Grafis Media grafis ialah semua media yang berupa tulisan/gambar, antara lain;

a. Media Chart, yaitu penyajian diagramatik meliputi: Tree Chart, Root Chart, Flow Chart, Media Bagan Petunjuk/Penuntun, Bagan Waktu, Bagan Bongkah, Bagan Pandang Tembus.

Page 26: game mobile in system analyst application

11

b. Media Grafik: Grafik Batang, Grafik Gambar atau Pictograph, Grafik Garis, Grafik Bentuk Peta, dan Grafik Lingkaran (Grafik Pie)

c. Media Poster d. Karikatur e. Still Picture/foto f. Media Papan g. Media Peta

3. Media proyeksi Ada dua macam, ialah media proyeksi diam dan bergerak, dan ada pula disertai suara

4. Media Audio Media yang termasuk mesia audio ialah kaset audio, audio CD, dan radio.

5. Media pandang dengar /Media audio visual diam, ialah slide suara

2.4 Platform Komputer Dalam ilmu komputer, platform atau serambi merupakan kombinasi

antara sebuah arsitektur perangkat keras dengan sebuah kerangka kerja perangkat lunak (termasuk kerangka kerja aplikasi). Kombinasi tersebut memungkikan sebuah perangkat lunak, khusus perangkat lunak aplikasi, dapat berjalan. Platform yang umum sudah menyertakan arsitektur, sistem operasi, bahasa pemrograman dan antarmuka yang terkait (pustaka sistem runtime atau antarmuka pengguna grafis) untuk komputer. Platform adalah unsur yang penting dalam pengembangan perangkat lunak. Platform mungkin dapat didefinisikan secara sederhana sebagai tempat untuk menjalankan perangkat lunak.

Platform komputer yang ada berdasarkan mesin yang digunakan 1. Platform Server 2. Platform PC 3. Platform Mobile 4. Platform Tablet

Di era saat ini perkembangan teknologi informasi sudah mulai berkembang sehingga suatu platform dapat mengadaptasi fitur atau

Page 27: game mobile in system analyst application

12

kelebihan-kelebihan yang dimiliki platform yang lain. Seperti halnya platform mobile pada tahun 2010, dimana platform mobile mulai mengadaptasi platform tablet dan atau sebaliknya platform tablet yang mengadaptasi fiture pada platform mobile seperti yang ada dalam fitur smartphone berbasis iOS atau Android, ada pula aplikasi-aplikasi berasal dari suatu platform mesin dapat dijalankan di platfotm mesin lain itu disebabkan oleh adanya virtual mesin atau emulator sebagai aplikasi yang menjembatani aplikasi dapat berjalan pada platform yang berbeda. Adapun segementasi dalam perhitungan komoditas 1. Wintel, yaitu perangkat keras komputer dengan Intel x86 atau yang

kompatibel berserta sistem operasi Windows 2. Arsitektur ARM yang digunakan dalam perangkat mobile seperti salah

satu poduk yang dikembangkan dari ARM yaitu Gumstix, komputer miniatur yang berfungsi penuh dengan Linux

3. x86 dengan sistem operasi bertipe Unix seperti varian BSD 4. CP/M, komputer berbasis bus S-100, mungkin merupakan platform

komputer mikro yang paling awal

2.5 Perangkat Lunak (Software) Perangkat lunak atau software adalah sekumpulan perintah dan

fungsi yang terorganisasi dan terenkapsulasi dalam bentuk yang dapat dieksekusi oleh komputer. Menurut Roger S. Pressman:

“Software is (1) instructions (computer programs) that when executed provide desired function and performance, (2) data structures that enable the programs to adequately manipulate information, and (3) documents that describe the operation and use of the programs. “( Software Engineering Apractitioner’s Approach, 2001: 6) Terjemahan bebas dari kutipan Roger S. Pressman ialah, perangkat lunak

adalah perintah dalam bentuk program komputer yang bila dikerjakan atau dieksekusi memberikan fungsi dan suatu layanan yang diharapkan, struktur data yang memungkinkan program cukup untuk memanipulasi informasi, dan

Page 28: game mobile in system analyst application

13

dokumen yang menggambarkan tahapan dan penggunaan program. Sedangkan Menurut Ian Sommerville dalam buku Software Engineering:

“What is software? Computer programs and associated documentation. Software products may be developed for a particular customer or may be developed for a general market.” (Software Engineering (ninth edition), 2006: 6)

Sedangkan terjemahan bebas dari pemaparan Ian Sommerville, apa itu

perangkat lunak? Program komputer dan dokumen yang berketerkaitan. Perangkat lunak mungkin dibangun untuk memberikan hasil untuk beberapa pengguna atau dibangun untuk pengguna yang lebih luas.

Dari terjemahan diatas dapat diambil kesimpulan bahwa Perangkat lunak yang andal ialah perangkat lunak yang baik dapat memberikan kinerja sesuai dengan fungsi dan dokumen yang berketerkaitan yang diperlukan oleh pengguna.

2.5.1 Komponen Perangkat Lunak

Komponen perangkat lunak dibangun dengan bahasa pemrograman yang memiliki kosa kata yang terbatas, sebuah tata bahasa yang dibatasi secara ekspilsit serta aturan-aturan sintak yang dibentuk secara baik.

Berikut ini klasifikasi bahasa pemrograman menurut tingkat kedekatannya dengan mesin komputer, bahasa pemrograman terdiri dari: 1. Bahasa Mesin, yaitu memberikan perintah kepada komputer dengan

memakai kode bahasa biner, contohnya 01100101100110 2. Bahasa Tingkat Rendah, atau dikenal dengan istilah bahasa rakitan

(bah.Inggris Assembly), yaitu memberikan perintah kepada komputer dengan memakai kode-kode singkat (kode mnemonic), contohnya [kode_mesin|MOV], SUB, CMP, JMP, JGE, JL, LOOP, dan lain sebagainya. Bahasa pemrograman masuk tingkat ini karena bahasanya masih jauh dari bahasa manusia. Contohnya bahasa Assembly.

3. Bahasa Tingkat Menengah, yaitu bahasa komputer yang memakai campuran instruksi dalam kata-kata bahasa manusia (lihat contoh Bahasa Tingkat Tinggi di bawah) dan instruksi yang bersifat simbolik,

Page 29: game mobile in system analyst application

14

contohnya {, }, ?, <<, >>, &&, ||, dan lain sebagainya. Disebut tingkat menengah karena bisa masuk ke dalam bahasa tingkat tinggi maupun rendah. Contohnya bahasa C.

4. Bahasa Tingkat Tinggi, yaitu bahasa komputer yang memakai instruksi berasal dari unsur kata-kata bahasa manusia, contohnya begin, end, if, for, while, and, or, dsb. Komputer dapat mengerti bahasa manusia itu diperlukan program compiler atau interpreter. Bahasa pemrograman masuk tingkat ini karena bahasa tersebut mendekati bahasa manusia. Contohnya bahasa Basic, Visual Basic, Pascal, Java dan lainnya.

2.5.1.1 Karakteristik Perangkat Lunak Perangkat lunak merupakan elemen logika dan bukan merupakan

elemen sistem fisik. Dengan demikian perangkat lunak memiliki karakteristik yang berbeda, yaitu: 1. Perangkat lunak dibangun dan dikembangkan tidak dengan bentuk klasik 2. Perangkat lunak tidak pernah usang. 3. Sebagian perangkat lunak dibuat secara Custom Built, serta tidak dapat

dirakit oleh komponen yang ada.

2.5.1.2 Kategory Perangkat Lunak Dari berbagai banyak aplikasi yang ada Ian Sommerville

mengkategorikan software seperti berikut:

1.Stand-alone applications Stand-alone applications (aplikasi yg berdiri sendiri) aplikasi ini berjalan pada komputer lokal, aplikasi ini bekerja tergantung kebutuhannya dan tidak perlu terhubung dengan jaringan

2. Interactive transaction-based applications Interactive transaction-based applications aplikasi ini berjalan dengan cara di-remote dan menggunakan akses user dari pengguna PC atau jaringan.

Page 30: game mobile in system analyst application

15

3. Embedded control systems Embedded control systems aplikasi yang berkerja pada control system dan aplikasi ini akan mengontrol serta memanage komponen perangkat keras(Hardware) dengan cara menyimpan sistem perhitungan numerik yang di-include-kan pada sistem.

4. Batch processing systems Suatu sistem yang didesain untuk memproses dengan kebutuhan data yang besar dengan melakukan proses pengiriman secara Batch.

5. Entertainment systems Entertainment system aplikasi yang kebutuhan utamanya untuk kebutuhan pribadi dan berhubungan dengan hiburan. Sistem ini digambarkan seperti Games, dan lain sebagainya.

6. Systems for modeling and simulation Sistem ini dikembangkan oleh scientists dan engeineers dalam memodelkan proses fisika atau situasi, dimana banyak termasuk sistem sepasasi dan interaksi antar objek. Sistem ini memungkinkan perangkat PC bekerja secara intensif dan memerlukan performa tinggi dalam mengerjakan pekerjaan dengan sistem paralel

7. Data collection systems Aplikasi ini fungsinya mengoleksi data dari peralatan yang terhubung dengan sensor dan aplikasi ini akan menerima dan meneruskan data tersebut untuk diproses oleh aplikasi yang lain.

8. Systems of systems Aplikasi ini dirancang sebagai aplikasi generik produk, seperti aplikasi spreadsheet. Aplikasi ini dirancang dan digunakan hanya untuk keperluan tertentu yang berhubungan dengan suatu kegiatan.

Sedangkan menurut Roger S. Pressman mengkategorikan software seperti berikut: 1. System software.

Sistem software ialah perangkat lunak yang menjalankan kumpulan program yang ditulis untuk layanan program lain. Beberapa perangkat lunak sistem

Page 31: game mobile in system analyst application

16

(misalnya, kompiler, editor, dan manajemen file utilitas) kompleks proses, tetapi tentu, struktur informasi.

2. Real-time software. Software yang memonitor atau menganalisis atau mengontrol kejadian dunia nyata saat terjadi disebut real time. Elemen-elemen real-time software meliputi pengumpulan data komponen yang mengumpulkan dan format informasi dari lingkungan eksternal, komponen analisis yang mengubah informasi yang diperlukan oleh aplikasi, komponen kontrol/output yang tanggap terhadap lingkungan eksternal, dan komponen pemantauan yang mengkoordinasikan semua komponen lain sehingga responnya real-time sesuai dengan data nyata (biasanya mulai dari 1 milidetik untuk 1 detik) dapat dipertahankan.

3. Business software. Biasanya software ini digunakan untuk suatu usaha, aplikasi ini merupakan suatu sistem aplikasi yang cukup besar dan sering digunakan dalam mengolah informasi. Penjelasan penggunaan aplikasi ini biasanya berhubungan dengan "sistem" (misalnya, gaji, piutang atau hutang, persediaan) telah berkembang menjadi sistem informasi manajemen (MIS) yang mengakses data yang lebih besar lagi dari database yang berisi informasi bisnis.

4. Engineering and scientific software. Engineering and scientific software ditandai dengan pengolahan algoritma "angka-angka". Aplikasi berkisar dari astronomi sampai vulkanologi, dan dari biologi molekuler untuk manufaktur otomatis. Namun, aplikasi modern dalam wilayah rekayasa atau ilmiah bergerak menjauh dari algoritma numerik konvensional.

5.Embedded software. Produk ini sudah banyak digunakan hampir setiap pasar konsumen dan industri. Perangkat lunak yang ada tertanam dan read-only pada memory yang digunakan untuk mengontrol produk dan sistem untuk pasar konsumen dan industri. Perangkat lunak yang tertanam hanya melakukan fungsi-fungsi yang sangat terbatas dan esoteris (misalnya, tombol kontrol untuk oven

Page 32: game mobile in system analyst application

17

microwave) atau menyediakan fungsi yang signifikan dan kemampuan kontrol (misalnya, fungsi digital dalam sebuah mobil seperti kontrol bahan bakar).

6. Personal computer software. Pasar personal computer sofware telah berdiri selama dua dekade terakhir. Komputer grafis pengolah kata, spreadsheet,, multimedia, hiburan, manajemen database, aplikasi keuangan pribadi dan bisnis, jaringan eksternal, dan akses database hanya beberapa dari ratusan aplikasi.

7. Web-based software. Halaman Web yang diambil oleh browser adalah software yang menggabungkan instruksi dieksekusi (misalnya, CGI, HTML, Perl, atau Java), dan data (misalnya, hypertext dan berbagai format visual dan audio). Pada dasarnya, jaringan komputer menjadi besar menyediakan sumber daya perangkat lunak hampir tak terbatas yang dapat diakses oleh siapa saja yang terhubung dengan sistem jaringan website yang ada.

8. Artificial intelligence software. Arificial Inteligent (AI) memanfaatkan algoritma nonnumerical untuk memecahkan masalah kompleks yang tidak setuju untuk perhitungan atau dengan menganalisa secara langsung. para ahli menggunakan sistem ini dengan menerapkan basis pengetahuan melalui pengenalan pola (gambar dan suara), jaringan saraf tiruan, membuktikan teorema, dan sistem pengetahuan permainan.

2.5.2 Pengertian Rekayasa Perangkat Lunak

Rekayasa perangkat lunak (Software Engineering) adalah suatu disiplin ilmu yang membahas semua aspek produksi perangkat lunak, mulai dari tahap awal requirement capturing (analisa kebutuhan pengguna), specification (menentukan spesifikasi dari kebutuhan pengguna), design, coding, testing sampai pemeliharaan sistem setelah digunakan untuk menghasilkan perangkat lunak yang handal dan efisien. Ada beberapa pengertian menurut beberapa ahli dibidang

Page 33: game mobile in system analyst application

18

perangkat lunak. Pengertian Rekayasa Perangkat Lunak menurut para ahli adalah sebagai berikut:

Menurut Ian Sommerville dalam buku Software Engineering: “What is software engineering? Software engineering is an engineering discipline that is concerned with all aspects of software production.” (Software Engineering (ninth edition), 2006: 6) Terjemahan bebas dari kutipan Ian Sommervile ialah, apa itu rekayasa

perangkat lunak? rekayasa perangkat lunak adalah salah satu displin teknik yang berkonstrasi dengan semua aspek produksi perangkat lunak. Menurut IEEE Computer Society dalam buku Software Engineering Apractitioner’s Approach:

“Software Engineering: (1) The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software; that is, the application of engineering to software. (2) The study of approaches as in (1).” (Software Engineering Apractitioner’s Approach (fifth edition), 2001: 20) Terjemahan bebas dari IEEE Computer Society ialah, rekayasa perangkat

lunak adalah (1) Aplikasi yang sistematik, terurut, dibangun dengan pendekatan yang terukur, dapat digunakan dan perangkat lunak dapat dipelihara; itulah aplikasi perangkat lunak. Termasuk matapelajaran pendekatan perangkat lunak. Menurut Fritz Bauer dalam buku Software Engineering Apractitioner’s Approach:

“Software engineering is the establishment and use of sound engineering principles in order to obtain economically software that is reliable and works efficiently on real machines.” (Software Engineering Apractitioner’s Approach (fifth edition), 2001: 20) Terjemahan bebas dari Fritz Bauer, rekayasa perangkat lunak adalah .

pengembangan dan penggunaan prinsip pengembangan untuk memperoleh perangkat lunak secara ekonomis yang reliable dan bekerja secara efisien pada mesin nyata Menurut Roger S. Pressman dalam buku Software Engineering Apractitioner’s Approach:

“Software engineering is layered technology. Total quality management and similar philosophies foster a continuous process improvement culture, and this culture ultimately leads to the development of increasingly more mature approaches to software engineering. The bedrock that supports software engineering is a

Page 34: game mobile in system analyst application

19

quality focus.” (Software Engineering Apractitioner’s Approach (fifth edition), 2001: 20) Terjemahan bebas dari Roger S. Pressman, rekayasa perangkat lunak

adalah lapisan atau tahapan teknologi. Jumlah kualitas manajemen dan prose mengemkembangan secara berkelanjutan. Dan kebutuhan pokok yang mendorong dalam membangun dan lebih meningkatkan dalam pendekatan rekayasa perangkat lunak. Rekayasa perangkat lunak mendukung sebagai dasar untuk fokus pada kualitas. Berikut Software engineering layer yang diutarakan Roger S. Pressman.

Gambar 2.2 Software Engineering Layer

Dari berbagai banyak pengertian tentang rekayasa perangkat lunak yang

diutarakan oleh beberapa ahli dibidang perangkat lunak penulis mengambil kesimpulan bahwa rekayasa perakngat lunak adalah suatu aplikasi berdasarkan ilmu pengetahuan yang sistematik, terurut, dibangun dengan pendekatan yang terukur untuk memperoleh perangkat lunak secara ekonomis yang reliable dan bekerja secara efisien untuk fokus pada kualitas. Berikut ini metode pengembangan perangkat lunak yang dipaparkan oleh menurut Ian Sommerville dan Roger S. Pressman. Metode pengembangan perangkat lunak menurut Ian Sommerville metode rekayasa perangkat lunak dibagi menjadi: 1. Waterfall model 2. Incremental model 3. Reused oriented software engineering model

Sedangkan menurut Roger S. Pressman metode rekayasa perangkat lunak

dibagi menjadi:

Page 35: game mobile in system analyst application

20

1. The linear sequential model 2. The prototyping model 3. The RAD model 4. The incremental model 5. The spiral model 6. The WINWIN spiral model 7. The component-based development model 8. The concurrent development model 9. The formal methods model 10. The fourth generation techniques model

2.5.3 RUP (Rational Unified Process)

RUP ialah salah satu metode pengembangan softwar. RUP sebenarnya dibentuk oleh salah satu divisi IBM yang bernama Rational Software Corporation. Rational Software Corporation memperkenalkan salah satu metode pengembangan perangkat lunak yang mengacu pada UML sebagai alat bantu dengan nama RUP (Rational Unified process). RUP diperkenalkan oleh Ivar Jacobson pada tahun 1996, RUP adalah suatu metode pengembangan perangkat lunak iteratif yang dibuat oleh Rational Software.

RUP bukanlah suatu proses tunggal karena RUP berbasis Unified Process dengan aturan yang konkrit, Unified Process melainkan suatu kerangka proses yang dapat diadaptasi dan dimaksudkan untuk disesuaikan oleh organisasi pengembang dan tim proyek perangkat lunak yang akan memilih elemen proses sesuai dengan kebutuhan. A. Dimensi pertama

Dimensi pertama digambarkan secara horizontal. Dimensi ini mewakili aspek-aspek dinamis dari pengembangan perangkat lunak. Aspek ini dijabarkan dalam tahapan pengembangan atau fase. Setiap fase akan memiliki suatu major milestone yang menandakan akhir dari awal dari phase selanjutnya. Setiap phase dapat berdiri dari satu beberapa iterasi. Dimensi ini terdiri atas Inception, Elaboration, Construction, dan Transition. Fasa-fasa ini memungkinkan untuk

Page 36: game mobile in system analyst application

21

disajikan dalam bentuk umum mirip dengan pendekatan air terjun (waterfall), walaupun esensi kunci dari proses terdapat dalam iterasi dalam setiap fasenya. Setiap fase memiliki sebuah objektif kunci dan titik pencapaian akhir yang menandakan ketercapaian objektif. Visualisasi dari fase RUP berikut dengan sumbu waktu dinamakan sebagai grafik RUP. 1. Inception

Pada tahap ini pengembang mendefinisikan batasan kegiatan, melakukan analisis kebutuhan user, dan melakukan perancangan awal perangkat lunak (perancangan arsitektural dan use case). Pada akhir fase ini, prototipe perangkat lunak versi Alpha harus sudah dirilis 2. Elaboration

Pada tahap ini dilakukan perancangan perangkat lunak mulai dari menspesifikasikan fitur perangkat lunak hingga perilisan prototipe versi Betha dari perangkat lunak. 3. Construction

Pengimplementasian rancangan perangkat lunak yang telah dibuat dilakukan pada tahap ini. Pada akhir tahap ini, perangkat lunak versi akhir yang sudah disetujui administrator dirilis beserta dokumentasi perangkat lunak. 4. Transition

Instalasi, deployment dan sosialisasi perangkat lunak dilakukan pada tahap ini. B. Dimensi kedua

Dimensi kedua digambarkan secara vertikal. Dimensi ini mewakili aspek-aspek statis dari proses pengembangan perangkat lunak yang dikelompokkan ke dalam beberapa disiplin. Proses pengembangan perangkat lunak yang dijelaskan kedalam beberapa disiplin terdiri dari empat elemen penting, yakni who is doing, what, how dan when. Dimensi ini terdiri atas Business Modeling, Requirement, Analysis, Design, Implementation, Test, Deployment, Configuration and Change Manegement, Project Management, Environtment.

Page 37: game mobile in system analyst application

22

Gambar 2.3 Arsitektur Rational Unified Process

2.5.4 UML (Unified Modeling Language)

Unified Modeling Language (UML) adalah standarisasi dalam bahsa pemodelan khususnya pada pengembangan software berbasis objek. Metode RUP dikembangkan Grady Booch, Ivar Jacobson dan Jim Rumbaugh di Rational Software pada tahun 1990, dan metode ini di adopsi oleh Object Management Group (OMG) pada tahun 1997. Pada modeling ini terdapat sembilan diagram UML. Menurut Booch (1999, p13), UML adalah bahasa standar untuk menuliskan rencana pembuatan software. UML dapat digunakan untuk memvisualisasikan, menspesifikasikan mengkonstruksikan, dan mendokumentasikan artifak-artifak dari software. Pemodelan UML ini pun di akui oleh International Organization for Standardization (ISO) sebagai standar industry untuk pemodelan suatu sistem 1. Use Case Diagram

Sebuah Use Case mendeskripsikan apakah yang dilakukan sebuah sistem (atau subsistem, class atau interface) tetapi tidak menspesifikasikan bagaimana cara melakukannya (Booch, 1999, p223). Flow of events (aliran kejadian-kejadian) mendeskripsikan perilaku dari use case dengan menggunakan teks untuk

Page 38: game mobile in system analyst application

23

membuat orang lain dapat mengerti dengan mudah. Ketika menuliskan flow of events ini, penulis memasukan bagaimana dan kapan use case dimulai dan berakhir, kapan use case berinteraksi dengan aktor dan objek apa yang diubah, dan basic flow dan alternatif flow dari perilaku tersebut (Booch, 1999, p223). 2. Class Diagram

Sebuah class diagram merupakan sebuah diagram yang menampilkan sebuah set yang terdiri dari classes, interfaces, dan kolaborasi dan hubungan diantara mereka (Booch, 1999, p107). 3. Sequence Diagram

Sebuah sequence diagram menjabarkan behavior sebuah sekenario tunggal. Diagram tersebut menunjukkan sejumlah objek contoh dan pesan-pesan yang melewati objek-objek ini didalam use case (Fowler, 2005, p81). 4. Activity Diagram

Sebuah activity diagram menampilkan aliran dari satu aktifitas ke aktifitas lainnya. Aktifitas pada akhirnya menghasilkan aksi, yang dibentuk dari komputasi executable atomic yang menghasilkan sebuah perubahan pada bagian (state) dari sistem atau sebuah return value (Booch, 1999, p259). 5. Deployment Diagram

Sebuah deployment diagram merupakan sebuah diagram yang menampilkan konfigurasi dari node proses run time dan komponen yang berada padanya (Booch, 1999, p409). 6. Object Diagram

Object diagram menggambarkan kumpulan dari object dan hubungan antar object tersebut. Object diagram digunakan untuk menggambarkan struktur data dan instance dari class. 7. Component Diagram

Component diagram menggambarkan kumpulan komponen–komponen dan hubungan antar komponen tersebut. Component diagram digunakan untuk mengambarkan implementasi statis dari suatu sistem.

Page 39: game mobile in system analyst application

24

8. Collaboration Diagram Collaboration diagram adalah diagram interaksi yang menekankan pada

organisasi struktural dari object yang mengirim dan menerima pesan. Collaboration diagram menggambarkan kumpulan object, hubungan antar object dan pesan yang dikirim dan diterima oleh object tersebut. 9. State Diagram

State diagram mengambarkan status dari mesin, terdiri dari status (state), transisi, event, dan aktivitas. State diagram mengilustrasikan gambaran dinamis dari suatu sistem.

Dari Sembilan diagram diatas dapat dijadikan dia klasifikasi yaitu structural diagram dan behavioral diagram

Tabel 2.1 Klasifikasi diagram Structural Diagrams Class Diagram

Object Diagram Component Diagram Deployment Diagram Collaboration Diagram

Behavioral Diagrams Use-Case Activity Diagram State Diagram Sequence Diagram

Structural diagram merupakan diagram-diagram yang fokus pada aspek

yang statis saat pengembangan software, sedangkan Behavioral Diagrams merupakan kumpulan diagram yang berfokus aspek yang bersifat dinamis atau berubah-ubah dalam pengembangan software. Berikut cara menggambarkan notasi-notasi yang digunakan pada UML.

Page 40: game mobile in system analyst application

25

Tabel 2.2 Daftar simbol pada UML

Page 41: game mobile in system analyst application

26

Tabel 2.3 Daftar hubungan pada UML

2.5.5 Penerapan UML pada RUP Karena RUP sistem pengembangan perangkat lunak menggunakan

konsep object oriented maka dari itu tepat jika UML sebagai kaidah atau aturan untuk menggambarkan model dan proses yang akan dan sedang berjalan. Berikut penjelasan dimana penerapan model dan diagram UML diterapkan berdasarkan Ivar Jacobson pada Applaying UML in The Unified Process

Page 42: game mobile in system analyst application

27

Page 43: game mobile in system analyst application

28

2.5.6 Pengujian Software

Pada pengujian perangkat lunak, pelaku RPL menciptakan sekumpulan kasus uji untuk diujikan kepada perangkat lunak. Proses ini lebih terkesan berusaha untuk “membongkar” perangkat lunak yang sudah dibangun. Proses pengujian merupakan tahapan dalam RPL dimana secara fisik terlihat lebih banyak sisi desktruktifnya dibandingkan sisi konstruktifnya karena tujuannya adalah untuk menemukan kesalahan pada perangkat lunak. 2.6 Pengertian Sistem Operasi

Menurut etimologi sistem ialah perangkat unsur yg secara teratur saling berkaitan sehingga membentuk suatu totalitas, sedangkan operasi ialah melaksanaan rencana yg telah dikembangkan sedangkan pengertian sistem operasi (bahasa Inggris: operating system ; OS) adalah seperangkat program yang mengelola sumber daya perangkat keras komputer, dan menyediakan layanan umum untuk aplikasi perangkat lunak. Menurut Silberschatz/Galvin/Gagne (2003), Sistem Operasi adalah Suatu program yang bertindak sebagai perantara antara user dan hardware komputer. Dia juga menyatakan bahwa tujuan dari sistem operasi adalah Melaksanakan program user memudahkan dalam menyelesaikan masalah user. Membuat setiap aplikasi menjadi mudah berjalan pada sistem komputer, sehingga penggunaan hardware komputer menjadi lebih efisien.

Biasanya, istilah Sistem Operasi sering ditujukan kepada semua perangkat lunak yang masuk dalam satu paket dengan sistem komputer sebelum aplikasi-aplikasi perangkat lunak terinstal. Sistem operasi adalah perangkat lunak sistem yang bertugas untuk melakukan kontrol dan manajemen perangkat keras serta operasi-operasi dasar sistem, termasuk menjalankan perangkat lunak aplikasi seperti program pengolah kata, program sprite sheet, program presentasi, program keamanan komputer dan lain sebagainya.

Page 44: game mobile in system analyst application

29

Sistem operasi-sistem operasi utama dibagi dari alat atau device yang digunakan, jika dari device sistem operasi dibagi menjadi beberapa kelompok yaitu: A. Sistem operasi untuk PC (komputer) B. Sistem operasi untuk handphone dan smartphone C. Sistem operasi untuk tablet PC

Jika sistem opersai yang biasa dipergunakan dan dikenal yang ada di komputer umum (termasuk PC, komputer personal, leptop, netbook) terbagi menjadi 3 kelompok besar: 1. Keluarga Microsoft Windows sistem operasi yang dikembangkan oleh Bill

Gates yang saat ini masih banyak dipergunakan di Indonesia 2. Keluarga Linux adalah aplikasi opensource yang menggunakan antarmuka

Gnome, dan KDE yang diperkenalkan oleh Linus Benedict Torvalds 3. Mac OS, adalah sistem operasi untuk komputer keluaran Apple yang biasa

disebut Mac atau Macintosh yang diperkenalkan oleh Steve Jobs

2.6.1 Sistem Operasi Mobile Sedangkan Mobile Operating System atau Sistem Operasi Genggam

(disingkat Mobile OS) adalah suatu sistem operasi yang mengontrol sistem dan kinerja pada barang elektronik yang mobile, mirip dengan fungsi Windows, Mac OS X, dan Linux pada Desktop PC atau Laptop atau Notebook tetapi lebih sederhana. Biasanya penggunaannya hadir di ponsel pintar, PDA, dan tablet komputer. Berikut Mobile Operating System yang ada pada saat ini: a. Android dari Google Inc. (open source, Apache) b. BlackBerry OS dari RIM (closed source, proprietary) c. iOS dari Apple Inc. (closed source, proprietary) d. Symbian OS dari the Symbian Foundation (open public license) e. Windows Phone dari Microsoft (closed source, proprietary)

Awalnya, Google Inc. membeli Android Inc., pendatang baru yang membuat peranti lunak untuk ponsel. Kemudian untuk mengembangkan Android, dibentuklah Open Handset Alliance, konsorsium dari 34 perusahaan peranti keras,

Page 45: game mobile in system analyst application

30

peranti lunak, dan telekomunikasi, termasuk Google, HTC, Intel, Motorola, Qualcomm, T-Mobile, Nvidia, ARM Holdings, Atheros Communications, diproduksi oleh Asustek Computer Inc, Garmin Ltd, Softbank, Sony Ericsson, Toshiba Corp, dan Vodafone Group Plc.

Seiring pembentukan Open Handset Alliance (OHA) mengumumkan produk perdana mereka Android, perangkat bergerak (mobile) yang merupakan modifikasi kernel Linux 2.6. Fitur yang terdapat pada android yang terdapat pada PC tablet atau ponsel pintar ialah 1. Kerangka aplikasi: itu memungkinkan penggunaan dan penghapusan

komponen yang tersedia. 2. Dalvik mesin virtual: mesin virtual dioptimalkan untuk perangkat telepon

seluler. 3. Grafik: grafik di 2D dan grafis 3D berdasarkan pustaka OpenGL. 4. SQLite: untuk penyimpanan data. 5. Mendukung media: audio, video, dan berbagai format gambar (MPEG4,

H.264, MP3, AAC, AMR, JPG, PNG, GIF) 6. GSM, Bluetooth, EDGE, 3G, 4G, EVDO dan WiFi (tergantung piranti

keras) 7. Kamera, Global Positioning System (GPS), kompas, NFC dan

accelerometer (tergantung piranti keras) 2.6.2 Perkembangan Android

Android adalah sistem operasi yang berbasis Linux berbasis mobile yang digunakan oleh ponsel pintar dan PC tablet. Android menyediakan platform terbuka bagi para pengembang untuk menciptakan aplikasi mereka sendiri untuk digunakan oleh bermacam peranti mobile. Sejak Android dirilis pada bulan November 2007 hingga sekarang telah dilakukan berbagai pembaruan berupa perbaikan bug dan penambahan fitur canggih yang diterapkan. Berikut ini versi android yang pernah ada sejak 2007 hingga 2013. 1. Android versi 1.0 (Alpha) 2. Android versi 1.1 (Beta)

Page 46: game mobile in system analyst application

31

3. Android versi 1.5 (Cupcake) 4. Android versi 1.6 (Donut) 5. Android versi 2.0/2.1 (Eclair) 6. Android versi 2.2 (Froyo: Frozen Yoghurt) 7. Android versi 2.3 (Gingerbread) 8. Android versi 3.0/3.1 (Honeycomb) 9. Android versi 4.0 (ICS: Ice Cream Sandwich) 10. Android versi 4.1/4.2/4.3 (Jelly Bean) 11. Android versi 4.4 (KitKat) 12. Android versi 5.0 (Lollipop)

Page 47: game mobile in system analyst application

32

BAB III METODOLOGI PENELITIAN

Metodologi penelitian merupakan suatu mekanisme, teknik atau cara untuk mencari, memperoleh, mengumpulkan atau mencatat data yang dapat digunakan untuk keperluan tertentu. Metode penelitian yang digunakan dalam penelitian ini adalah metode deskriptif.

3.1 Skema Penelitian

Skema bagan alir dalam tahapan penelitian tentang Permainan Kosakata Bahasa Indonesia Berbasis Android dapat dilihat pada gambar skema berikut ini:

Diagram 3.1 Skema penelitian

Page 48: game mobile in system analyst application

33

Tahapan metodologi penelitian dijelaskan secara umum sebagai berikut:

a. Identifikasi Masalah Melakukan identifikasi tentang masalah apa yang akan dibahas berkaitan dengan bagaimana metode pembelajaran kosakata bahasa Indonesia berdasarkan permasalahan yang ada di lapangan.

b. Rumusan Masalah Melakukan rumusan tentang kebutuhan sistem pembelajaran yang menarik, dan efektif untuk meningkatkan kemampuan perbendaharaan kosakata.

c. Studi Pustaka Melakukan pencarian informasi berdasarkan rumusan masalah sesuai dengan apa kebutuhan sistem pembelajaran yang menarik, dan efektif untuk meningkatkan kemampuan perbendaharaan kosakata.

3.2 Tahapan Pembangunan Perangkat Lunak

Karena penulis menggunakan metode RUP dimana metode RUP memiliki empat bagian dimana masing-masing terdapat tahapan tertentu karena setiap fase menghasilkan akhir yang berbeda-beda dimasing-masing bagian.

3.2.1 Insepsi A. Requirement:

Menentukan stakeholder (peran), Mengumpulkan keinginan dan kebutuhan yang sesuai dengan permasalahan menurut stakeholder, Mendefinisikan definisi ruang lingkup pekerjaan dan perkiraan biaya dan jadwal.

B. Analisis dan Desain: Tahapan analisis dan desain belum dilakukan.

C. Implementasi: Tahapan implementasi belum dilakukan tetapi mulai mengerjakan mock-up aplikasi.

Page 49: game mobile in system analyst application

34

D. Testing: Tahapan testing belum dilakukan

3.2.2 Elaborasi A. Requirement:

Meninjau kembali requirement dari software, dan requirement non fungsional dengan kasus-kasus tertentu sesuai dengan aplikasi yang dikembangkan yang mana menjadi kebutuhan dan hanya keinginan.

B. Analisis dan Desain: Fase inilah yang menjadi pusat perkembangan dari analisis dan desain, karena domain, scope project, peninjauan kembali baik software yang akan dibangun. Bentuk konseptual aplikasi terjadi pada fase ini mulai dirancang model class diagram, aktivitas diagram, arsitektur aplikasi, dan storyboard aplikasi.

C. Implementasi: Tahapan implementasi belum dilakukan tetapi mulai pengembangan mock-up aplikasi, dan persiapan membangun versi alpha.

D. Testing: Tahapan testing belum dilakukan

3.2.3 Konstruksi A. Requirement:

Tahapan requirment tidak lagi dilakukan B. Analisis dan Desain:

Tahapan analisis dan desain tidak lagi dilakukan C. Implementasi:

Fase konstruksi, pada fase inilah implementasi desain dan yang dibentuk dari versi alpha, beta hingga menghasilkan aplikasi siap pakai.

D. Testing: Tahapan ini dilakukan uji coba baik uji coba produk maupun pendistribusian ke pengguna.

Page 50: game mobile in system analyst application

35

3.2.4 Transisi A. Requirement:

Tahapan requirment tidak lagi dilakukan B. Analisis dan Desain:

Tahapan analisisi dan desain tidak lagi dilakukan C. Implementasi:

Perbaikan dan mempersiapkan versi berikutnya dengan model permainan serupa

D. Testing: Testing dilakukan sebelum penyerahan software kepada end users dengan keadaan yang sebenarnya.

Page 51: game mobile in system analyst application

36

BAB IV INSEPSI DAN ELABORASI

Bab ini merupakan lanjutan dari bab sebelumnya, yaitu tahap pembangunan aplikasi kedalam representasi perangkat lunak, sesuai dengan hasil metode penelitian dan data yang dihasilkan dan diolah pada proses sebelumnya.

4.1 Insepsi

Tahapan insepsi penulis melakukan analisa kebutuhan baik fungsional maupun non-fungsional. Berikut ini mengklasifikasikan macam-macam kebutuhan sesuai dengan tipenya.

4.1.1. Analisis Kebutuhan Non Fungsional

Analisis kebutuhan non fungsional dilakukan untuk mengetahui spesifikasi kebutuhan untuk sistem. Spesifikasi kebutuhan melibatkan analisis perangkat keras atau hardware, analisis perangkat lunak/software, analisis pengguna atau user.

4.1.1.1. Analisis Perangkat Keras

Analisis peragkat keras yang digunakan ialah smarphone atau tablet untuk penjelasan tentang spesifikasi perangkat peras dalam menggunakan aplikasi katabrak tidak bias ditentukan secara spesifik hanya saja kebutuhan media penyimpanan berupa media storage sebesar 100MB untuk aplikasi, sedangkan kebutuhan media penyimpanan berupa media storage dapat di sesuaikan dengan software system operasi yang dipergunakan.

Page 52: game mobile in system analyst application

37

4.1.1.2. Analisis Perangkat Lunak Kebutuhan peragkat Lunak minimal yang digunakan untuk instalasi

aplikasi katabrak diperlukan aplikasi smartphone atau tablet yang sudah terinstal androd 3.0.

4.1.1.3. Analisis Pengguna

Karakteristik user yang menjadi sasaran utama dari aplikasi katabrak ini ialah anak usia Usia 12 tahun ke atas yang mengerti Bahasa Indonesoa. Dimana anak usia 12 tahun keatas tingkat perbendaharaan kosakata Bahasa Indonesia sudah mulai banyak. 4.1.2. Analisis Kebutuhan Fungsional

Salah satunya kebutuhan waktu yang diperlukan untuk masing-masing fase, menganalisa kebutuhan calon pengguna maupun kebutuhan membangun aplikasi baik Hardware, Software, maupun Brainware. Dari tahapan ini penulis menetapkan stake holder (peran) yang ikut serta dalam pembangunan aplikasi ini ialah: Sasaran Pengguna : Usia 12 tahun ke atas Distributor : Google Play (Play Store) Advertiser : Sosial Media, Ads Developer : Pengembang aplikasi (programmer, designer, creator, music

editor) Reviewer (Tester) : Pengguna aplikasi, Media elektronik, Media cetak

Pada tahapan ini penulis mencoba menganalisa kebutuhan dalam membangun perangkat lunak seperti berikut: Kebutuhan Software Compiler : CoronaSDK, Java, SQLite Kebutuhan Software Editor : text Editor Kebutuhan Brainware : mengerti Lua, mengerti algoritma, memahami konsep game, mengerti desain Kebutuhan Hardware : Processor 1 Ghz dengan grafis yang support OpenGL 2.0 untuk versi corona 2013.2076

Page 53: game mobile in system analyst application

38

untuk versi sebelumnya OpenGL 1.0 Klasifikasi Implementasi Device : semua tipe android dengan OS diatas Android 3 dan menggunakan CPU Kernel ARMv7 keatas Kebutuhan OS : Microsoft XP

Penulis dari tahapan ini penulis mencoba menganalisa kerangka kerja dalam membangun perangkat lunak. Berikut gambaran kerangka kerja yang akan dibentuk dalam bentuk use case diagram sebagai berikut:

Diagram 4.1.1 Use Case Diagram

1. Scenario Use Case Membangun Database Kosakata Nama Use Case: Membangun Database Kosakata

Actor : Pengguna Tujuan : Membuat database Sistem : membangun database list kosakata

2. Scenario Use Case Membuat Kata Nama Use Case: Membuat Kata Actor : Pengguna Tujuan : Pengguna membuat kata untuk mengurangi jumlah objek Sistem : Membuat kata sesuai dengan list kata yang ada pada database

kosakata 3. Scenario Use Case Menandai Objek

Nama Use Case: Menandai Objek

Page 54: game mobile in system analyst application

39

Tujuan : memberikan tanda Objek Sistem : memberikan tanda secara spesifik baik nama objek, posisi, dan

lain-lain sebelum objek dihancurkan. 4. Scenario Use Case Membangun Referensi Objek

Nama Use Case: Membangun Referensi Objek Actor : OpenGL Tujuan : Membangun posisi referensi Objek Sistem : Membuat referensi tempat penempatan Objek

5. Scenario Use Case Membangun Objek Nama Use Case: Membangun Objek Tujuan : Membangun objek yang dapat dimainkan pada halaman

permainan Sistem : Membangun Objek dengan sifat yang unik, serta dengan

membawa kode huruf untuk pembuatan kata. 6. Scenario Use Case Mencocokan Kata

Nama Use Case: Mencocokan Kata Tujuan : pencocokan kata yang dibuat dengan database kosakata Sistem : mencocokan kosakata yang berada di database kosakata dengan

kata yang dibuat oleh pengguna 7. Scenario Use Case Menghacurkan Objek

Nama Use Case: Menghacurkan Objek Actor : OpenGL Tujuan : Menghancurkan Objek Sistem : Menghancurkan Objek jika kata yang dibuat sesuai dengan

database yang ada, objek yang hancur digantikan oleh objek yang baru

Sesuai dengan use case dan penjelasan atas use case diatas untuk actor database dan OpenGL di lakukan oleh disisi device yang menggunakan OS Android. Pada tahapan insepsi ini penulis sudah mencoba mendesain tampilan untuk halaman permainan yang digunakan sebagai halaman inti dimana permainan akan berjalan. Berikut ini class diagram yang dibuat.

Page 55: game mobile in system analyst application

40

ObjekBalok-idBalok-posisiBalokX-posisiBalokY

+Create()

+Delete()+Update()

-tujuanPosisiBaloky-tujuanPosisiBalokX

+Read()

-gambarBalok

-hurufBalok

Kosakata-kata+Create()

RefBalok-idRefBalok

+Create()

-posisiRefBalokX-posisiRefBalokY-idBalok+Read()+Update()

-idKata11..N1 3..N

Diagram 4.1.2 Class Diagram Game Play Berikut definisi dari class diagam pada iterasi pertama

A. Class RefBalok 1. Atribut RefBalok

a. idRefBalok type: Numeric (integer) b. posisiRefBalokX type: Float (double) c. posisiRefBalokY type: Float (double) d. idBalok type: Numeric (integer)

2. Operasi RefBalok a. Create b. Read c. Update

B. Class Kosakata 1. Atribut Kosakata

a. idKata type: Numeric (integer) b. kata type: text (varchar)

2. Operasi Kosakata a. Create b. Read

C. Class RefBalok 1. Atribut RefBalok

a. idBalok type: Numeric (integer) b. gambarBalok type: text (varchar) c. posisiBalokX type: Float (double) d. posisiBalokY type: Float (double)

Page 56: game mobile in system analyst application

41

e. posisiRefBalokX type: Float (double) f. posisiRefBalokY type: Float (double) g. hurufBalok type: Char (char)

2. Operasi RefBalok a. Create b. Read c. Update d. Delete

Berikut desain tampilan halaman permainan.

Diagram 4.1.3 Desain tampilan permainan tahap insepsi

Page 57: game mobile in system analyst application

42

Gambar 4.1.2 Desain model permainan tahap insepsi

4.2 Elaborasi

Pada tahapan elaborasi ini pusat perkembangan dari analisis dan desain, karena domain, scope project, peninjauan kembali baik software yang akan dibangun. Bentuk konseptual aplikasi terjadi pada fase ini. Pada fase ini mulai dirancang model use case, arsitektur software, dan pengembangan aplikasi.

4.2.1. Iterasi Pertama

Pada iterasi pertama penulis membangun aplikasi sesuai dengan gambaran dan desain tampilan yang telah dilakukan pada tahapan insepsi sebagai mock-up pertama. Pada tahapan iterasi pertama ini kebutuhan yang sudah di siapkan ialah database Bahasa Indonesia sesuai dengan KBBI.

Page 58: game mobile in system analyst application

43

Gambar 4.2.1.1 Mokeup permainan iterasi Pertama

4.2.2. Iterasi ke Dua

Pada iterasi ke dua pada tahapan elaboration penulis mencoba meninjau ulang untuk perubahan karena masih ada masalah dengan sistem permainan yang dikembangkan pada tahapan ke dua. Pada tahapan ini penulis mulai merancang sistem permainan secara keseluruhan dengan menambahkan sistem penilaian. Berikut ini desain tampilan use case jika menggunakan sistem penilaian.

Page 59: game mobile in system analyst application

44

Diagram 4.2.1 Use Case Diagram Game Play

1. Scenario Use Case Membuat Objek

Nama Use Case: Membuat Objek Actor : OpenGL Tujuan : objek untuk permainan Sistem : membuat objek untuk permainan

2. Scenario Use Case Mengacak Posisi Objek Nama Use Case: Mengacak Posisi Objek Actor : OpenGL, Pengguna Tujuan : merandom objek yang dibuat untuk diposisikan paada tempat

yang telah ditentukan Sistem : memposisikan dan menyimpan objek ke tujuan yang telah di

tentukan 3. Scenario Use Case Membuat Kata

Nama Use Case: Membuat Kata Actor : Pengguna Tujuan : membuat kata Sistem : menandai objek yang sehingga membentuk kata dalam Bahasa

Indonesia 4. Scenario Use Case Mencocokan Kata

Nama Use Case: Mencocokan Kata

Page 60: game mobile in system analyst application

45

Actor : Database Tujuan : mendapatkan kata yang sesuai dengan kata yang dibuat pada use

case sebelumnya Sistem : melakukan query di database dengan parameter kata yang dibuat

oleh pengguna 5. Scenario Use Case Menghacurkan Objek

Nama Use Case: Menghacurkan Objek Actor : OpenGL Tujuan : Menghancurkan Objek Sistem : Menghancurkan Objek jika kata yang dibuat sesuai dengan

database yang ada, objek yang hancur digantikan oleh objek yang baru

6. Scenario Use Case Beri Nilai Nama Use Case: Berinilai Actor : Pengguna Tujuan : memberikan nilai pada setiap kata yang terbentuk Sistem : menandai nilai berdasarkan huruf yang ada pada balok lalu

diakumulasikan pada saat balok dipecahkan Menurut penggambaran use case diatas perlu digambarkan alur kerja dari

penggunaan aplikasi karena pada use case diagram diatas hanya menggambarkan permasalahan dilihat dari pembangunan aplikasi permainannya bukan dari segi penggunaan aplikasi. Pada tahapan ini penulis sudah membuat class diagram untuk halaman permainan yang digunakan sebagai halaman inti dimana permainan akan berjalan. Berikut ini class diagram yang telah direfisi yang dibuat dan disesuaikan dengan keperluan yang dibutuhkan untuk pengembangan berikutnya.

Page 61: game mobile in system analyst application

46

ObjectBalok-idBalok

-posisiBalokX-posisiBalokY

+Create()

+Delete()+Update()

-tujuanPosisiBaloky-tujuanPosisiBalokX

+Read()

-gambarBalok

-hurufBalok

-nilaiBalok-gambarAnimasiBalok

-statusBalok

Kosakata-idKata+Create()

RefBalok-idRefBalok

+Create()

-posisiRefBalokX-posisiRefBalokY-statusRefBalok-idBalok+Read()+Update

TransKosakata-idTransKosakata

+Create()

-kata -idKata-jumlahKataTerbentuk+Read()+Read()+Update()+Delete()

0...N

1

-idUser

User-idUser+Create()-namaUser+Read()+Delete()

Nilai-idNilai

+Create()-idUser

+Read()-totalNilai

1 0...N

1

3...N

1 0...N

10...N

Diagram 4.2.2 Class Diagram Game Play

Berikut definisi dari class diagam pada iterasi pertama A. Class RefBalok

1. Atribut RefBalok a. idRefBalok type: Numeric (integer) b. posisiRefBalokX type: Float (double) c. posisiRefBalokY type: Float (double) d. statusRefBalok type: Boolean(boolean) e. idBalok type: Numeric (integer)

2. Operasi RefBalok a. Create b. Read c. Update

Page 62: game mobile in system analyst application

47

B. Class Kosakata 1. Atribut Kosakata

a. idKata type: Numeric (integer) b. kata type: text (varchar)

2. Operasi Kosakata a. Create b. Read

C. Class User 1. Atribut User

a. idUser type: Numeric (integer) b. namaUser type: text (varchar)

2. Operasi User a. Create b. Read c. Delete

D. Class Nilai 1. Atribut Nilai

a. idNilai type: Numeric (integer) b. idUser type: Numeric (integer) c. totalNila type: Numeric (integer)

2. Operasi Nilai a. Create b. Read c. Delete

E. Class TransKosakata 1. Atribut TransKosakata

a. idTransKosakata type: Numeric (integer) b. idUser type: Numeric (integer) c. idKata type: Numeric (integer) d. jumlahKataterbentuk type: Numeric (integer)

2. Operasi TransKosakata

Page 63: game mobile in system analyst application

48

a. Create b. Read c. Update d. Delete

F. Class RefBalok 1. Atribut RefBalok

a. idBalok type: Numeric (integer) b. gambarBalok type: text (varchar) c. gambarAnimasiBalok type: text (varchar) d. nilaiBalok type: Numeric (integer) e. posisiBalokX type: Float (double) f. posisiBalokY type: Float (double) g. posisiRefBalokX type: Float (double) h. posisiRefBalokY type: Float (double) i. hurufBalok type: Char (char) j. statusBalok type: Boolean (boolean)

2. Operasi RefBalok a. Create b. Read c. Update d. Delete

Berasal dari class diagram penulis melanjutkan dengan sequence diagram untuk menggambarkan tahapan-tahapan alur proses aplikasi. Dimulai dari OpenGL membuat reverensi objek yang kasat mata untuk menentukan posisi objek, dan dilanjutkan dengan membuat objek. Setelah objek dibuat maka pengguna dapat menandai objek dan mengumpulkan identitas berupa huruf dari dari objek-objek yang ditandai. Setelah objek ditandai maka hasilnya dikumpulkan hingga menjadi kata dan dicocokan dengan database kosakata yang ada. Jika kata dengan kosakata ada yang cocok maka objek yang ditandai dapat dihancurkan. Dari penjabaran tahapan aplikasi dapat digambarkan diagram sequence sebagai berikut:

Page 64: game mobile in system analyst application

49

Page 65: game mobile in system analyst application

50

Berasal dari diagram sequence yang ada penulis mencoba menjabarkan lebih detail lagi dalam Activity diagram berikut ini:

Diagram 4.2.4 Activity diagram permainan

Page 66: game mobile in system analyst application

51

Pada activity diagram permainan ini menunjukan cara kerja aplikasi

katabrak dari awal mula pemain mengakses permainan. 1. Pemain mengakses permainan dengan men-touch icon permainan katabrak. 2. Sistem akan menyediakan menu Game Play, config, misi, skor tertinggi, help

(bantuan), akun, kamus yang dapat di pilih oleh pemain. 3. Pemain dapat memilih menu yang akan diakses oleh pemain. 4. Setelah pemain memilih menu yang akan di akses maka sistem memberikan

layanan sesuai dengan permintaan pemain, contoh seting suara maka sistem akan melakukan konfigurasi suara dari menyalakan dan mematikan music hingga menyalakan dan mematikan sound efek.

5. Setelah pemain melakukan konfigurasi pada music, atau akun, pemain dapat kembali ke menu utama lalu melanjutkan ke permainan.

6. Saat permainan dimulai maka di bagian sistem akan men generate kata bonus dan stand-bye menunggu inputan masuk daribalok yang tersentuh.

7. Jika kata yang terbentuk sama dengan salah satu kata yang ada di kamus maka skor akan bertambah jika tidak maka tidak ada penambahan skor dan permaian terus berlanjut.

8. Saat blok menyentuh batas atas maka pemain diberikan waktu sesaat untuk menurunkan posisi balok yang paling tinggi, jika berhasil alaremnya akan mati jika gagal maka akan dilanjutkan tampilan finish

9. Pada tampilan finis di tunjukan data-data hasil perolehan selama permainan, seperti kata yang terbentuk, misi yang terselesaikan, skor saat pertandingan, sekor tertinggi. Pada halaman ini disediakan 2 opsi yaitu mainkan lagi atau ke tampilan menu utama.

Setelah tahapan analisis selesai penulis mencoba membangun segi tampilan merancanakan ulang fitur permainan yang dapat diimplementasikan. Berikut desain storyboard permainan yang telah dirancang untuk permainan.

Page 67: game mobile in system analyst application

52

Diagram 4.2.5 Struktur storyboard Setelah selesai pada tahapan iterasi sebelumnya penulis mencoba mendesain

tampilan mulai dari halaman menu.

UserName

Play

kamus

Misi

Data Poin

LOGO

Diagram 4.2.6 Main Menu

Pada tampilan ini terdapat 7 tombol utama dan 3 tombol turunan. Tombol yang digunakan yaitu: a) Tombol Play: digunakan jika pemain ingin mulai bermain. b) Tombol Misi: digunakan jika pemain ingin melihat misi baik yang belum atau

telah dicapai.

Page 68: game mobile in system analyst application

53

c) Tombol Skor: digunakan melihat daftar 10 skor tertinggi. d) Tombol cara bermain: digunakan melihat bagai mana cara permainan. e) Tombol user: digunakan untuk mendaftar dan menghapus user. f) Tombol kamus: digunakan melihat daftar kata yang ada. g) Tombol config: digunakan untuk melakukan seting audio.

1. Tombol sfx : digunakan untuk meng-aktifkan atau non-aktifkan sound efek.

2. Tombol music : digunakan untuk meng-aktifkan atau non-aktifkan music.

3. Tombol informasi : digunakan untuk melihat data informasi pengembang.

Diagram 4.2.7 Desain Tampilan GamePlay

a) Tombol tunda: digunakan jika pemain ingin menghentikan permainan sesaat. b) Tombol config: digunakan untuk melakukan seting audio.

1. Tombol sfx :digunakan untuk meng-aktifkan atau non-aktifkan sound efek.

Page 69: game mobile in system analyst application

54

2. Tombol music :digunakan untuk meng-aktifkan atau non-aktifkan music.

Diagram 4.2.8 Desain Tunda

Pada tampilan tunda ini merupakan tampilan pop up (halaman yang menimpa halaman permainan) pada tampilan tunda ini terdapat beberapa tombol yang berfungsi sebagai berikut: a) Tombol menu: digunakan untuk kembali ke menu utama. b) Tombol lanjutkan (resume): digunakan untuk melanjutkan permainan. c) Tombol ulangi: digunakan mengulangi permainan.

Page 70: game mobile in system analyst application

55

Kembali ke menu

Misi

LOGO

Diagram 4.2.9 Tampilan Misi

a) Tombol kembali: digunakan untuk kembali ke menu utama.

Diagram 4.2.10 Tampilan Kamus

Page 71: game mobile in system analyst application

56

a) Tombol kembali: digunakan untuk kembali ke menu utama.

Kembali ke menu

Daftar kata

LOGOPoin tertinggi

Perolehan Poin

Diagram 4.2.11 Tampilan Selesai

a) Tombol kembali: digunakan untuk kembali ke menu utama.

Page 72: game mobile in system analyst application

57

BAB V KONSTRUKSI DAN TRANSISI

Bab ini merupakan lanjutan dari bab sebelumnya, yaitu tahap konstruksi dan transisi dari tahapan elaborasidan insepsi yang menghasilkan data requirement, analysis, dan design.

5.1. Konstruksi

Proses Konstruksi merupakan tahapan dimana aplikasi yang sudah dibuat dan dirancang lalu diuji kelayakannya. Pada tahap ini akan dijelaskan mengenai aplikasi yang dirancang.

5.1.1 Implementasi Iterasi Pertama

Pada iterasi pertama atau aplikasi seri alpha ini proses konstruksi aplikasi mulai membuat framework atau fungsi-fungsi dasar dari pembangunan aplikasi. Berikut fungsi-fungsi inti yang jadi dasar pengembangan aplikasi

5.1.1.1 Fungsi refrence object

Kode tersebut bertujuan untuk mengatur posisi dan menjadi tujuan objek yang dibuat.

for i=1,8 do newBox[i] = {} for j=1,11 do newBox[i][j] = display.newRect(0,0,86,86) newBox[i][j].x,newBox[i][j].y = -4+ i*(newBox[i][j].width), 945 - j*(newBox[i][j].height) newBox[i][j].i = i newBox[i][j].j = j newBox[i][j].isVisible = false newBox[i][j].matces = nil groupInti:insert( newBox[i][j] ) end end

Page 73: game mobile in system analyst application

58

5.1.1.2 Fungsi membuat object

Kode tersebut bertujuan untuk membuat objek, serta menentukan nilai, nama objek, serta file yang dipanggil sebagai atribut atau identitas pada objek.

5.1.1.3 Fungsi membuat kata

Kode tersebut berfungsi menandai objek yan disentuh untuk disusun dari atribut huruf yang disentuh hingga tersusun menjadi kata.

local function create_Box1 () newGem[boxPos].nomor = boxPos newGem[boxPos].myName = tostring(namaFont) newGem[boxPos].point = pointFont newGem[boxPos].colorFont = colorFont newGem[boxPos].NamaFileOn = NamaFileOn newGem[boxPos].j = 11 -- baris newBox[rand2][11].matces = newGem[boxPos] newGem[boxPos].x, newGem[boxPos].y =newBox[rand2][11].x, -86 newGem[boxPos].i = rand2 -- kolom newGem[boxPos].touch = onTap newGem[boxPos]:addEventListener( "touch", newGem[boxPos] ) newGem[boxPos].destination_y = newBox[rand2][11].y newGem[boxPos].Name = "j["..boxPos.."]" newGem[boxPos].canJatuh = true end

local function onTap(self, event) if event.phase == "began" then display.getCurrentStage():setFocus( self ) self.isFocus = true elseif self.isFocus then if event.phase == "moved" then elseif event.phase == "ended" or event.phase == "cancelled" then display.getCurrentStage():setFocus( nil ) self.isFocus = nil end end return true end

Page 74: game mobile in system analyst application

59

5.1.1.4 Fungsi mencocokan kata

Kode tersebut berfungsi mencocokan kata dengan yang ada pada database kata jika ada dan sesuai dengan yang ada pada database maPka objek akan di hancurkan dan mendapatkan nilai sedangkan jika tidak maka akan menset ulang objek uang telah ditandai.

5.1.1.5 Fungsi menghancurkan Objek

Kode tersebut berfungsi menghancurkan serta mereset ulang nilaidari objek tersebut.

5.1.1.5 Fungsi menghancurkan Objek

Kode tersebut berfungsi mendapatkan nilai dari setiap objek jika kata yang dibantuk sesuai dengan data yang ada pada tabek kata di database. Lau di akumulasikan dengan nilai yang sudah terkumpul.

5.1.2 Implementasi Iterasi ke Dua

Pada iterasi ke dua atau aplikasi seri beta dimulai penerapan desain tampilan sesuai pada tahapan elaborasi, berikut tampilannya:

function cekTword(idUser, word) for row in db:nrows("SELECT id, Word FROM twords where twords.Word ='" ..word.."'") do if (row.id) then updateKata(row.id) return true else return false end end end

newGemActive[i]:removeSelf();newGemActive[i] = nil

local function addScore(obj) score_sack = score_sack + obj.point end

Page 75: game mobile in system analyst application

60

Gambar 5.1.2.1 Main Menu

Pada tampilan main menu ini difungsikan user atau pengguna dapat memilih halaman yang akan dituju, atau sebagai halaman induk dari aplikasi dimana pengguna dapat beralih halaman menuju kamus dimana pada halaman kamus terdapat daftar kosakata yang pengguna dapat ciptakan di permainan, misi dihalaman misi pengguna disini dapat mengukur kemampuan dengan system misi-misi yang dapat diselesaikan didalam permainan atau secara kolektif kosakata yang tercipta, poin pada halaman ini merupakan daftar hasil review sepuluh poin tertinggi yang dihasilkan oleh pemain dan atau main aplikasi yang langsung menuju ke halaman permainan.

Page 76: game mobile in system analyst application

61

Gambar 5.1.2.2 GamePlay

Pada tampilan GamePlay ini sebagai inti dari aplikasi permainan. Disana terdapat tombol konfigurasi dan tombol tunda dimana tombol konfigurasi disana berfungsi untuk mengatur suara dan efek suara, sedangkan tombol tunda berfungsi melakukan penundaan permainan jika pengguna akan melakukan kegiatan lain dan meneruskan di lain waktu.

Page 77: game mobile in system analyst application

62

Gambar 5.1.2.3 Misi

Pada tampilan Misi ini bertujuan untuk mengukur kemampuan dari user dengan system misi-misi yang dapat diraih setelah permianan berakhir. Dalam aplikasi ini di definisikan 90 misi yang dapat dibuka oleh pengguna dari misi yang mudah hingga tingkatan sulit. Sehingga pengguna dapat mengetahui seberapa kemampuan pengguna dalam mengeksplorasi kosakata yang sering digunakan dalam keseharian

Page 78: game mobile in system analyst application

63

Gambar 5.1.2.4 Kamus

Pada tampilan Kamus ini bertujuan membantu pengguna untuk mencari dan memperkaya kosakata Bahasa Indonesia

Gambar 5.1.2.5 Selesai

Page 79: game mobile in system analyst application

64

Pada tampilan Selesai ini sebagai hasil dari perhitungan dan kata apa saja yang terbentuk dalam satu kali permainan berlangsung. 5.1.3 Implementasi Iterasi ke Tiga

Pada iterasi ke tiga atau aplikasi seri rilis penulis memperbaiki beberapa tampilan pada beberapa halaman agar aplikasi siap diujicoba langsung oleh user. Berikut ini tampilan dan hasil perubahan pada beberapa halaman yang dilakukan.

Gambar 5.1.3.1 Main Menu

Pada tampilan ini terdapat 7 tombol utama dan 3 tombol turunan. Tombol yang digunakan yaitu: a) Tombol Play: digunakan jika pemain ingin mulai bermain. b) Tombol Misi : digunakan jika pemain ingin melihat misi baik yang belum

atau telah dicapai. c) Tombol nilai rekor: digunakan melihat daftar 10 skor tertinggi. d) Tombol cara bermain: digunakan melihat bagai mana cara permainan. e) Tombol user: digunakan untuk mendaftar dan menghapus user. f) Tombol kamus: digunakan melihat daftar kata yang ada. g) Tombol Seting: digunakan untuk melakukan seting audio.

Page 80: game mobile in system analyst application

65

1. Tombol sfx : digunakan untuk meng-aktifkan atau non-aktifkan sound efek.

2. Tombol musik : digunakan untuk meng-aktifkan atau non-aktifkan musik.

3. Tombol informasi : digunakan untuk melihat data informasi pengembang.

Gambar 5.1.3.2 GamePlay

Pada tampilan GamePlay tombol seting di hilangkan dan diimplementasikan pada saat tombol tunda ditekan berikut tampilan saat tombol tunda ditekan

Page 81: game mobile in system analyst application

66

Gambar 5.1.3.3 Tunda

Pada tampilan pause ini terdapat beberapa tombol yang berfungsi sebagai berikut: a) Tombol menu: digunakan untuk kembali ke menu utama. b) Tombol play (lanjutkan): digunakan untuk melanjutkan permainan. c) Tombol ulangi: digunakan mengulangi permainan. d) Tombol konfigurasi: digunakan untuk melakukan seting audio.

1. Tombol sfx: digunakan untuk meng-aktifkan atau non-aktifkan sound efek.

2. Tombol musik: digunakan untuk meng-aktifkan atau non-aktifkan musik. Saat permainan selesai maka muncul resume atau hasil permainan berikut

tampilan setelah selesai permainan.

Page 82: game mobile in system analyst application

67

Gambar 5.1.3.4 Selesai

5.1.4 Rencana Pengujian

Adapun rancangan pengujian sistem yang akan diuji dengan teknik pengujian Black Box pada setiap iterasi di tahapan kosntruksi, penyusun kelompokan dalam tabel di bawah. Berikut ini adalah hasil dari pengujian dari Game Edukasi Bahasa Indonesia:

Tabel 5.1.1 Rencana Pengujian no Komponen Yang Diuji Skenario Butir Uji Metode Pengujian

1 Tampilan awal Memilih ikon lalu dilanjutkan ke halaman splash screen dan halaman loading

Black Box

2 Pilih Tombol Misi Memilih Tombol Misi Black Box

Page 83: game mobile in system analyst application

68

Tabel 5.1.1 Rencana Pengujian (Lanjutan) no Komponen Yang Diuji Skenario Butir Uji Metode Pengujian 3 Pilih Tombol High Score Memilih Tombol High Score Black Box 4 Pilih Tombol Cara Bermain Memilih Tombol Cara Bermain Black Box 5 Pilih Tombol Akun Memilih Tombol Akun Black Box 6 Pilih Tombol Kamus Memilih Tombol Kamus Black Box 7 Pilih Tombol Play Memilih Tombol Play Black Box

8 Pilih Tombol Pause, Resume dan Menu Utama dalam setiap permainan

Memilih Tombol Pause, Resume dan Menu Utama dalam setiap permainan Black Box

9 Perolehan Skor Permainan

Memperoleh skor kalau jawaban benar, kalo salah tidak memperoleh skor Black Box

10 Pilih Tombol Konfigurasi Musik Memilih Tombol Konfigurasi Musik Black Box

11 Pilih Tombol Konfigurasi Musik Efek Memilih Tombol Konfigurasi Musik Efek Black Box

12 Tampilan Game Over Muncul di akhir Permianan Black Box 5.1.4.1 Hasil dan Kasus Pengujian

Berdasarkan rencana pengujian, maka dapat dilakukan pengujian pada game edukasi Bahasa Indonesia sebagai berikut:

Page 84: game mobile in system analyst application

69

Tabel 5.1.2 Hasil Pengujian No Komponen Yang Diuji Skenario Butir Uji Hasil Yang Diharapkan

Hasil Pengujian berhasil gagal

1 Tampilan awal Memilih tombol masuk lalu dilanjutkan ke halaman splash screen dan halaman loading

Ketika memilih ikon tampilan splash screen, loading dan menu akan muncul secara berurutan X

2 Pilih Tombol Misi Memilih Tombol Misi Ketika memilih tombol misi maka halaman misi akan mucul.

X

3 Pilih Tombol High Score Memilih Tombol High Score

Ketika memilih tombol skor tertinggi maka halaman skor tertinggi akan mucul. X

4 Pilih Tombol Cara Bermain Memilih Tombol Cara Bermain

Ketika memilih tombol cara bermain maka akan muncul halaman cara bermain akan mucul X

5 Pilih Tombol Akun Memilih Tombol Akun Ketika memilih tombol akun maka akan muncul halaman akun akan muncul

X

6 Pilih Tombol Kamus Memilih Tombol Kamus

Ketika memilih tombol kamus maka akan muncul halaman kamus akan muncul beserta daftar kata X

7 Pilih Tombol Play Memilih Tombol Play Ketika memilih tombol play maka permainan katabrak akan dimulai

X

Page 85: game mobile in system analyst application

70

Tabel 5.1.2 Hasil Pengujian (Lanjutan) No Komponen Yang Diuji Skenario Butir Uji Hasil Yang Diharapkan

Hasil Pengujian berhasil gagal

8 Pilih Tombol Pause, Resume dan Menu Utama dalam setiap permainan

Memilih Tombol Pause, Resume dan Menu Utama dalam setiap permainan

Ketika memilih tombol paus maka tampilan pause pada halaman play akan muncul beserta tombol menu utama, lanjutkan, ulangi, serta komfigurasi suara

X

9 Perolehan Skor Permainan Memperoleh skor kalau jawaban benar, kalo salah tidak memperoleh skor

Perolehan skor dihasilkan dari kata yang terbentuk, nilai diperoleh dari jumlah nilai dari masing2 huruf yang ditentukan

X

10 Pilih Tombol Konfigurasi Musik Memilih Tombol Konfigurasi Musik

Ketika timbol dipilih maka tampilan tombol berubah musik dapat di aktif dan di non-aktifkan X

11 Pilih Tombol Konfigurasi Musik Efek Memilih Tombol Konfigurasi Musik Efek

Ketika timbol dipilih maka tampilan tombol berubah musik efek dapat di aktif dan di non-aktifkan X

12 Tampilan Game Over Muncul di akhir Permianan Muncul di akhir permainan dan memberikan rekapitulasi permainan

X

Page 86: game mobile in system analyst application

71

5.1.4.2 Simpulan Pengujian Berdasarkan hasil pengujian terakhir penyusun menarik simpulan bahwa

Game Edukasi Bahasa Indonesia ini secara fungsional berfungsi sebagaimana yang diharapkan.

5.2 Transisi

Pada tahapan ini penulis melakukan distribusi melalui play store serta melakukan publikasi melalui media sosial, website reviewer, dan surat kabar harian elektronik. Setelah menerima tanggapan atau respon dari pengguna maka aplikasi dapat dilanjutkan dengan perbaikan pada versi-versi berikutnya. Berikut tampilan hasil rilis aplikasi pada play store.

Gambar 5.2 Katabrak pada PlayStore

Dari hasil rilis aplikasi dan pendistribusian penulis melakukan pengamatan

bahwa aplikasi katabrak cukup disukai, dengan mendapatkan rating sekitar 3 – 4 dari tim reviewer dari 5000 orang yang mendownload aplikasi ini. Dari hasil pengamatan tersebut dapat disimpulkan bahwa aplikasi pembelajaran dengan aplikasi berbasis Android dapat menarik jika dikemas dengan baik. Untuk kedepannya aplikasi Katabrak ini dapat memungkinkan untuk menggunakan bahasa internasional atau bahasa inggris sebagai bahan referensi berikutnya.

Page 87: game mobile in system analyst application

72

BAB VI PENUTUP

Bab ini merupakan bab terakhir dari tugas akhir ini, bab ini akan memberikan hasil implementasi dari aplikasi yang telah dibuat. Setelah aplikasi diimplementasikan atau di publikasi pada umumnya aplikasi mendapatkan saran (riview) dari penggunanya untuk pengembangan versi berikutnya atau pembangunan model permainan berikutnya.

6.1 Simpulan

Berdasarkan dari pembahasan sebelumnya penulis berhasil membangun aplikasi katabrak dengan dibuktikan berupa test aplikasi di pembahasan bab 5, sub- bab 1 pada pembahasan konstruksi dan dipublikasikan pada pembahasan bab 5, sub-bab 2 pada pembahasan transisi. Sehingga aplikasi ini dapat digunakan dan dimainkan pada smarphone dan PC tablet dengan operasi sistem Android. 6.2 Saran

Adapun saran-saran yang ingin penulis berikan adalah sebagai berikut: 1. Model permainan dapat terhubung secara on-line. 2. Dapat menambah jenis bahasa selain Bahasa Indonesia. 3. Dapat memperbarui kosakata dengan mudah.

Page 88: game mobile in system analyst application

73

DAFTAR PUSTAKA Brown A.W. 1996. Component-Based Software Engineering, IEEE Computer

Society. Los Alamitos, CA. Collard, M.L. 2002. Unified Modeling Language UML Introduction. Kentucky:

Department of Computer Science Kent State University. Guritno, S., Sudaryono dan Untung Rahardja. Theory and Application of IT

Research MetodelogiPenelitian Teknologi Informasi. Yogyakarta: Andi Jacobson I, Magnus Christerson, Patrik Jonson, and Gunnar Overgaard. 1992.

Object-Oriented Software Engineering: A Use Case Driven Approach, Addison-Wesley.

Jacobson I, Grady Booch, and James Rumbaugh. 1999. The Unified Software

Development Process Jacobson, I. 2004. Applying UML in The Unified Process. Rational Software. Kruchten P. 1998. The Rational Unified Process: An Introduction Suyono. 2009. Pengembangan Media Pembelajaran Kosakata Berbasis Audio-

Visual Untuk Peningkatan Kempetensi Berbahasa Indonesia Anak Usia Dini. Malang:Universitas Negri Malang

Susilofy. 2010. Meningkatkan Hasil Belajar Siswa Dalam Pembelajaran

Kosakata Dengan Menggunakan Media Gambar Di Kelas IV SD. susilofy.wordpress.com/2010/10/04/.

Sommerville, I. 2011. SOFTWARE ENGINEERING. Addison-Wesley. Pressman, R S. 2001. Software Engineering A PRACTITIONER’S APPROACH.

McGraw-Hill Higher Education Team, LUA. 2007. Lua5.1 ReferenceManual. Tecgraf: Computer Sience

Departement

Page 89: game mobile in system analyst application

74

LAMPIRAN - LAMPIRAN ....................................................................................................... Lampiran 1 Fungsi dan Modul Aplikasi Katabrak Lampiran 2 Kode Program Katabrak Lampiran 3 Hasil Survey Katabrak

Page 90: game mobile in system analyst application

74-1

LAMPIRAN 1 FUNGSI DAN MODUL APLIKASI Modul Create DataBase dan Tabel

Modul Membuat User

Modul Cek Kesediaan Kata

sqlite3 = require "sqlite3" path = system.pathForFile("panicWords.db", system.DocumentsDirectory ) db = sqlite3.open( path, "w") local function initTabel() db:exec[[ begin transaction; CREATE TABLE IF NOT EXISTS tachv (id, description, icon); CREATE TABLE IF NOT EXISTS tUser ( id, UserName, statusActive, qtyMagic, qtyFreeze, qtyBomb, qtyRainbow, qtyQuake, qtyGold, hlpOpen ); CREATE TABLE IF NOT EXISTS tscore ( id, tu_id , Score , dateCreate ); CREATE TABLE IF NOT EXISTS ttempwords ( id, tw_id, qty ); CREATE TABLE IF NOT EXISTS tuser_achv ( id, tu_id , ta_id ); CREATE TABLE IF NOT EXISTS tuser_word ( id, tu_id , tw_id ,Word ,Qty ); CREATE TABLE IF NOT EXISTS tmagic ( id , tw_id , Word ); CREATE TABLE IF NOT EXISTS twords ( id, Word, Trivia , Picture , Sound ); end transaction ]] end

function createUserLimited(newID, UserName) tablesetup2 = [[INSERT INTO tUser ([id], [UserName], [statusActive], [qtyMagic], [qtyFreeze], [qtyBomb], [qtyRainbow], [qtyQuake], [qtyGold], [hlpOpen] ) VALUES(]]..newID..[[, ']]..UserName.. [[',1,0,0,0,0,0,0,0);]] db:exec( tablesetup2 ) end

function cekTword(idUser, word) for row in db:nrows("SELECT id, Word FROM twords where twords.Word ='" ..word.."'") do if (row.id) then updateKata(row.id) return true else return false end end end

Page 91: game mobile in system analyst application

74-2

Modul Kata Bonus

Modul Cek Kata Yang Pernah Tebentuk

Modul Nilai Tertinggi

function maxScore() for row in db:nrows("SELECT max(Score) as grandScore FROM tscore") do if row.grandScore == nil or row.grandScore == 0 then return 0 else return row.grandScore end end end

function GenerateMagicWords() for row in db:nrows("SELECT Word FROM tmagic ORDER BY RANDOM() LIMIT 1") do return row.Word end end

function initOpenWord(id, idUser) local xid, yid for row1 in db:nrows("SELECT count(*) as count FROM twords WHERE Word LIKE '"..string.char(id+64).."%'") do xid = row1.count end for row2 in db:nrows("SELECT count(*) as count FROM tuser_word WHERE tu_id = "..idUser.." and Word LIKE '"..string.char(id+64).."%'") do yid = row2.count end return tostring(yid.."/"..xid) end

Page 92: game mobile in system analyst application

74-3

LAMPIRAN 2 KODE PROGRAM File main.lua

display.setStatusBar( display.HiddenStatusBar ) storyboard = require "storyboard" sound = require "sound" GGFont = require( "GGFont" ) fontManager_1 = GGFont:new() fontManager_1:add( "Menu", "ad lib", "adlibbtregular" ) font_1 = fontManager_1:get( "Menu" ) local initTable = require "initTable" local access_token, access_token_secret, tablesetup sqlite3 = require "sqlite3" path = system.pathForFile("panicWords.db", system.DocumentsDirectory ) db = sqlite3.open( path, "w") print(path) storyboard.purgeOnSceneChange = true local background, bkg, mask, pergeseran countAch_before, countAch_after = 0,0 appIDAds = nil IdUser = nil userName = nil kataBonusKunci = nil tempMagic = {} instance1 = nil sheet1 = nil storyboard.statusMusic = true;storyboard.statusSFX = true;storyboard.bgmplaying = false isMusicPlaying = false storyboard.newAchie = {};storyboard.status=0 function onSystemEvent( event ) if( event.type == "applicationExit" ) then if fontManager_1 ~= nil then fontManager_1:destroy(); fontManager_1 = nil end db.close() end end function comma_value(n) local left,num,right = string.match(n,'^([^%d]*%d)(%d*)(.-)$') return left..(num:reverse():gsub('(%d%d%d)','%1,'):reverse())..right end

Page 93: game mobile in system analyst application

74-4

local function firstTable() initTable.initTable() initTable.setWord() IdUser, userName = initTable.getUserActive() local compgroup = display.newImage( "Gambar/kumata_corp.jpg", true) local function pergi() compgroup:removeSelf();compgroup = nil storyboard.gotoScene( "loading") end timer.performWithDelay( 2000, pergi) firstTable()

Page 94: game mobile in system analyst application

74-5

File gameplay.lua local scene = storyboard.newScene() local ui = require("ui") local initTable = require "initTable" local createBoxDB = require("createBoxDB") local pausePage = require('pausePage') local textdb, score,test, hasil, restart, standby, munculBox, maxScore, statusbtn, textBonusdb, katabonus, textkata, warning_line, score_stat, groupLoadingFinish local object = {} local object2 = {} local loadingFinish local function buttonHandler(event) if event.phase == "release" and createBoxDB.setStatusGame() ~= "pause" then sound.playsfx("button") createBoxDB.getStatusGame("pause") createPause = pausePage.newpauseScn() statusbtn = "pause" restart.isActive = false end end function scene:createScene( event ) local group = self.view local statMusic = storyboard.statusMusic local statSFX = storyboard.statusSFX storyboard.removeAll() storyboard.statusMusic = statMusic;storyboard.statusSFX = statSFX musicbg = storyboard.statusMusic end function scene:enterScene( event ) score_stat = 0 initTable.resetTempwords() math.randomseed(os.time()) local group = self.view local function updateSize() if (createBoxDB.getScoreSack() > 0) then if (score_stat == 1) then score_stat = 2 transition.to(score, { time=200, yScale =0.8, xScale=0.8, transition=easing.easeInOut, onComplete = updateSize} ) elseif (score_stat == 2) then score_stat = 1 transition.to(score, { time=200, yScale =1.2, xScale=1.2, transition=easing.easeInOut, onComplete = updateSize} ) end

Page 95: game mobile in system analyst application

74-6

elseif (score_stat ~= 0) then transition.to(score, { time=200, yScale =1, xScale=1, transition=easing.easeInOut, onComplete = updateSize} ) score_stat = 0 end end local function myListener( event ) if maxScore.text ~= tostring(createBoxDB.setHighScoreGame()) then maxScore.text = tostring(createBoxDB.setHighScoreGame()) if maxScore.width ~= nil then maxScore.x = 320 - maxScore.width /2 if (maxScore.width > 330) then maxScore.size = maxScore.size - 2 elseif (maxScore.text == "") then maxScore.size = 40 end end end textBonusdb.text = string.upper(createBoxDB.setMagicWordGame()) if textBonusdb.width ~= nil then if (textBonusdb.width > 250) then textBonusdb.size = textBonusdb.size - 2 elseif (textBonusdb.text == "") then textBonusdb.size = 40 end end statusMusic,statusSFX = pausePage.getNilaiSuara() if statusMusic==true then if musicbg == false then sound.unmuteMusic() musicbg=true end else sound.muteMusic() musicbg=false end if statusSFX==false then sound.muteSFX() end statusbtn = createBoxDB.setStatusGame() textdb.text = createBoxDB.setWord() if textdb.width ~= nil then if (textdb.width > 330) then textdb.size = textdb.size - 2 elseif (textdb.text == "") then textdb.size = 35 end end

Page 96: game mobile in system analyst application

74-7

score.text = comma_value(createBoxDB.setScore()) if score.width ~= nil then score.x = 600 - score.width /2 if (score.width > 200) then score.size = score.size - 2 elseif (score.text == "0") then score.size = 40 end end if (createBoxDB.getScoreSack() ~= 0) then if (score_stat == 0) then score_stat = 2 updateSize() end end statusbtn = createBoxDB.setStatusGame() if (createBoxDB.getWarning() == true) then---- warning image Control local tempWarn = createBoxDB.getWarnTime() local temp = 500 local temp2 = 0 while (tempWarn > temp) do tempWarn = tempWarn - temp temp2 = temp2 + 1 if (temp > 100) then temp = temp - (50 * math.floor(temp2/4)) end end if (temp2%2 > 0)then warning_line.isVisible = true warning_line2.isVisible = false else warning_line.isVisible = false warning_line2.isVisible = true end else warning_line.isVisible = false warning_line2.isVisible = true end if statusbtn == "finish" then --loadingFinish.isVisible = true Runtime:removeEventListener( "enterFrame", myListener ) if frame2~= nil then frame2:removeSelf(); frame2 = nil end if textdb~= nil then textdb:removeSelf(); textdb = nil end

Page 97: game mobile in system analyst application

74-8

if maxScore~= nil then maxScore:removeSelf(); maxScore = nil end if restart~= nil then restart:removeSelf(); restart = nil end if score~= nil then score:removeSelf(); score = nil end if textBonusdb~= nil then textBonusdb:removeSelf(); textBonusdb = nil end if warning_line~= nil then warning_line:removeSelf(); warning_line = nil end if warning_line2~= nil then warning_line2:removeSelf(); warning_line2 = nil end --warning_line2.isVisible = false initTable.insertTusermagic() initTable.insertTuserword() initTable.insertScore(IdUser, createBoxDB.setScore()) initTable.cleanBonusKata() createBoxDB.getStatusGame("finishPage") statusbtn = "nil" end if pausePage.setMenu() == "play" then storyboard.gotoScene( "restartGame_2" ) pausePage.getMenu() statusbtn = "play" Runtime:removeEventListener( "enterFrame", myListener ) createBoxDB.getStatusGame("pause") elseif pausePage.setMenu() == "menu" then isMusicPlaying=false storyboard.gotoScene( "mainIndex" ) createBoxDB.getStatusGame("pause") pausePage.getMenu() statusbtn = createBoxDB.setStatusGame() Runtime:removeEventListener( "enterFrame", myListener ) elseif pausePage.setMenu() == "resume" then pausePage.getMenu() createBoxDB.getStatusGame("resume") restart.isActive = true end end

Page 98: game mobile in system analyst application

74-9

local function setBonusText(text) if (katabonus ~= text) then katabonus = text local i = 0 if (#object>1) then for x=0,#object do object[x]:removeSelf() object[x] = nil end end for c in text:gmatch"." do object[i] = display.newImage( "Gambar/ALPHABET OFF/"..c..".png",true ) object[i]:scale(.5,.5) object[i].x = i*42 i = i + 1; end for j=0,i-1 do textBonusdb:insert(object[j]) end end end local function setText(text) if (textkata ~= text) then textkata = text local i = 1 if (#object2 ~= 0) then for x=1,#object2 do object2[x]:removeSelf() object2[x] = nil end end if (text ~= "") then for c in textkata:gmatch"." do object2[i] = display.newImage( "Gambar/ALPHABET OFF/"..c..".png",true ) object2[i]:scale(.5,.5) object2[i].x = i*42 i = i + 1; end for j=1,i-1 do textdb:insert(object2[j]) end end end end

Page 99: game mobile in system analyst application

74-10

File createboxDB.lua module(..., package.seeall) local loqsprite = require('loq_sprite') local sf = loqsprite.newFactory('FaceFrame','goldFaceFreme') local easing = require('easing') -- local createDB = require "CreateDB" local initTable = require "initTable" local timer1, semuanya, groupInti, grouponActive, groupEfect, StatusGame, kataBonus,statusTimer, lastID, hasilPoint, katagenerator, speed, now_t, last_t, delat_t, local_t, score_sack, warn_time, isWarning, kolomSpawn local war = false function setWord() return string.upper(katagenerator) end local ads = require "ads" -- monotize (iklan) local provider = "admob local appID = "katabrak"--"696727651" local function adsListener( event ) local msg = event.response print("Message received from the ads library: ", msg) if event.isError then showAd( "banner" ) end end local function showAd( adType ) local adX, adY = display.screenOriginX, display.screenOriginY ads.show( adType, { x=adX, y=adY } ) end function getWarning() -- set pemberitahuan return isWarning end function getWarnTime() -- set timer pemberitahuan return warn_time end function setStatusGame() -- cek kondisi permainan return StatusGame end function setHighScoreGame() -- set nilai tertingggi if tonumber(initTable.maxScore()) >= tonumber(setScore()) then return tostring(comma_value(initTable.maxScore())) else return comma_value(setScore()) end end

Page 100: game mobile in system analyst application

74-11

function setMagicWordGame() -- Set kata bonus return string.upper(kataBonus) end function destroyAllObj() --initTable.cleanBonusKata() if timer1~=nil then timer.cancel(timer1);timer1=nil end if groupInti~=nil then groupInti:removeSelf();groupInti=nil end if grouponActive~=nil then grouponActive:removeSelf();grouponActive=nil end if groupEfect~=nil then groupEfect:removeSelf();groupEfect=nil end if semuanya~= nil then semuanya:removeSelf();semuanya = nil end return end function getStatusGame(_e) -- Cek status permainan if _e == nil or _e == "resume" then if local_t > 0 then StatusGame = "play" else StatusGame = "freeze" end else StatusGame = _e end end local function tunda() -- Set tunda permainan local gambar, sheet1, instance1 local groupLoadingFinish = display.newGroup() local gambar = display.newImage("Gambar/page_tunggu.jpg",true) groupLoadingFinish:insert(gambar) local rand = math.random(1,8) local hints = display.newImage("Gambar/HINTS PETUNJUK/"..rand..".png",true) groupLoadingFinish:insert(hints) hints.x = display.contentCenterX hints.y = display.contentHeight - (hints.height/2 + 40)

Page 101: game mobile in system analyst application

74-12

local function mytimerlistener(event) -- get status permainan if groupLoadingFinish~= nil then groupLoadingFinish:removeSelf();groupLoadingFinish = nil end if appIDAds then ads.init( provider, appIDAds, adsListener ) end showAd( "interstitial" ) storyboard.gotoScene("finishPage") end timer.performWithDelay( 1000, mytimerlistener) end function setScore() -- get nilai return tostring(hasilPoint) end function getScoreSack() return (score_sack) end local function alakazam(_e) math.randomseed(os.time()) setRandom() end local timer_z = timer.performWithDelay(1, alakazam, 0) local function myListener( event ) if StatusGame == "pause" then if statusTimer == nil then statusTimer = timer.pause(timer1) end elseif StatusGame == "play" or StatusGame == "resume" then if statusTimer ~= nil then timer.resume(timer1);statusTimer = nil end end end local function addScore(obj) score_sack = score_sack + obj.point end

Page 102: game mobile in system analyst application

74-13

local function selesai (_e) if (StatusGame ~= "finish") then native.setActivityIndicator( true ) hasilPoint = hasilPoint + score_sack score_sack = 0 if timer1~=nil then timer.cancel(timer1);timer1=nil end StatusGame = "finish" sound.stopwarning() local b = os.time() tunda() end end local function updateJatuh(obj)-- status isCanJatuh = true, dicek apakah selanjutnya bisa jatuh apa ga local tempi = obj.i local tempj = obj.j if (StatusGame == "play") then if (tempj > 1) then if (newBox[tempi][tempj-1].matces == nil) then newBox[tempi][tempj].matces = nil newBox[tempi][tempj-1].matces = obj obj.j = tempj-1 obj.destination_y = newBox[tempi][obj.j].y obj.canJatuh = true transition.to(obj, { time=200, y =obj.destination_y, transition=easing.easeInOut, onComplete = updateJatuh} ) else obj.canJatuh = false sound.playrandom("jatuh",2) if (tempj == 9) then if (isWarning == false) then isWarning = true end end end else obj.canJatuh = false end elseif (StatusGame == "pause") then transition.to(obj, { time=200, y =obj.destination_y, transition=easing.easeInOut, onComplete = updateJatuh} ) end end

Page 103: game mobile in system analyst application

74-14

local function playNext(self, _e) -- self is the SpriteGroup instance and _e is the event if _e.phase == 'end' then self:removeSelf();self=nil end end local function salahSituation( ) sound.playsfx("batal") for i=1,8 do for j=1,11,1 do if newBox[i][j].ismarkAble== true then newBox[i][j].ismarkAble = false end end end for i = #newGemActive,1, -1 do newGemActive[i]:removeSelf();newGemActive[i] = nil end for i=#newGem, 1,-1 do if newGem[i] ~=nil and newGem[i].ismarkAble == true and not (newGem[i].isEliminir) then newGem[i].ismarkAble = false newGem[i].isVisible = true end end end function newGemActiveUpdate() for i=1,#newGemActive do if (newGemActive[i] ~= nil) then local temp = newGemActive[i].id newGemActive[i].x,newGemActive[i].y = newGem[temp].x,newGem[temp].y end end end function wiggle2(obj) transition.to(obj, { time=100, rotation=5, transition=easing.outExpo, onComplete = function(obj) wiggle1(obj) end}) end function wiggle1(obj) transition.to(obj, { time=100, rotation=-5, transition=easing.outExpo, onComplete = function(obj) wiggle2(obj) end}) end

Page 104: game mobile in system analyst application

74-15

function create_Box () local NamaFile, namaFont, pointFont, colorFont, NamaFileOn hasilPoint = 0 local specialBlock = math.floor(initTable.countAchv()/10) local rand = 0 local newGem ={}-- array block yang ada local newGemActive ={}-- array block yang dipilih local newBox = {}-- array 2D local score = {} katagenerator = "" hasilPoint,speed,score_sack,local_t,warn_time = 0,0,0,0,0 kolomSpawn = {} for i=1,8 do kolomSpawn[i] = 0 end isWarning = false semuanya = display.newGroup() groupInti = display.newGroup() grouponActive = display.newGroup() groupEfect = display.newGroup() local function setRand2() rand2 = math.random(1, 8 ) local tempmax, tempmin = 1,1 for i=1,8 do if (kolomSpawn[tempmax] ~= math.max(kolomSpawn[tempmax], kolomSpawn[i])) then tempmax = i end if (kolomSpawn[tempmin] ~= math.min(kolomSpawn[tempmin], kolomSpawn[i])) then tempmin = i end end local temp = kolomSpawn[tempmax]-kolomSpawn[tempmin] if (math.random(1,100) < (temp*temp)*4) then rand2 = tempmin end kolomSpawn[rand2] = kolomSpawn[rand2] + 1 end

Page 105: game mobile in system analyst application

74-16

local function firstInit() math.randomseed(os.time()) for j=1,2 do for i=1,8 do rand2 = i setRandom() if (namaFont == "rainbow") then local sheetData = { width=85, height=85, numFrames=8, sheetContentWidth=680, sheetContentHeight=85 } local mySheet = graphics.newImageSheet(NamaFile, sheetData ) local sequenceData = {name = "changeColor", start=1, count=8, time=16000, loopDirection = "forward"} newGem[#newGem+1] = display.newSprite( mySheet, sequenceData ) newGem[#newGem]:setFrame(math.random(8)) newGem[#newGem]:play() else newGem[#newGem+1] = display.newImage(NamaFile, true) end newGem[#newGem].nomor = #newGem newGem[#newGem].myName = tostring(namaFont) newGem[#newGem].point = pointFont newGem[#newGem].colorFont = colorFont newGem[#newGem].NamaFileOn = NamaFileOn newGem[#newGem].j = j-- baris newGem[#newGem].x, newGem[#newGem].y =newBox[rand2][j].x, newBox[rand2][j].y newGem[#newGem].i = rand2-- kolom newGem[#newGem].touch = onTap newGem[#newGem]:addEventListener( "touch", newGem[#newGem] ) newGem[#newGem].destination_y = newBox[rand2][j].y newGem[#newGem].Name = "j["..#newGem.."]"-- transition.to fungsi dari lua, jalan ke destinasi yang ditentukan newGem[#newGem].canJatuh = false newGem[#newGem].isVisible = true newBox[rand2][j].matces = newGem[#newGem] groupInti:insert( newGem[#newGem] ) end end end

Page 106: game mobile in system analyst application

74-17

local function create_Box1 () math.randomseed(os.time()) setRand2() setRandom() local boxPos = 0 for i=1,#newGem,1 do if (newGem[i].isVisible == false and boxPos == 0) then boxPos = i break end end if (boxPos == 0) then boxPos = #newGem+1 end if (namaFont == "rainbow") then local sheetData = { width=85, height=85, numFrames=8, sheetContentWidth=680, sheetContentHeight=85 } local mySheet = graphics.newImageSheet(NamaFile, sheetData ) local sequenceData = {name = "changeColor", start=1, count=8, time=16000, loopDirection = "forward"} newGem[boxPos] = display.newSprite( mySheet, sequenceData ) newGem[boxPos]:play() else newGem[boxPos] = display.newImage(NamaFile, true) end newGem[boxPos].nomor = boxPos newGem[boxPos].myName = tostring(namaFont) newGem[boxPos].point = pointFont newGem[boxPos].colorFont = colorFont newGem[boxPos].NamaFileOn = NamaFileOn newGem[boxPos].j = 11-- baris newBox[rand2][11].matces = newGem[boxPos] newGem[boxPos].x, newGem[boxPos].y =newBox[rand2][11].x, -86 newGem[boxPos].i = rand2-- kolom newGem[boxPos].touch = onTap newGem[boxPos]:addEventListener( "touch", newGem[boxPos] ) newGem[boxPos].destination_y = newBox[rand2][11].y newGem[boxPos].Name = "j["..boxPos.."]"-- transition.to fungsi dari lua, jalan ke destinasi yang ditentukan newGem[boxPos].canJatuh = true transition.to(newGem[boxPos], { time=(11-newGem[boxPos].j)*200, y =newGem[boxPos].destination_y, transition=easing.easeInOut, onComplete = updateJatuh} ) groupInti:insert( newGem[boxPos] ) end

Page 107: game mobile in system analyst application

74-18

local function onTap(self, event) if (self.canJatuh == false) then local phase = event.phase local posI = self.i local posJ = self.j local nama = self.id local fileOn = self.NamaFileOn local huruf = self.myName if phase == "began" and StatusGame ~= "pause" then if huruf == "bomb" then--- Belum kepake initTable.insertBomb() sound.playsfx("bomb") local brak = {} for i = #newGemActive,1, -1 do-- yang kepilih dihilangkan semua newGemActive[i]:removeSelf();newGemActive[i] = nil end for i=posI-1,posI+1 do for j=posJ-1,posJ+1 do if (i>=1 and i<=8 and j>=1 and j<=11) then if (newBox[i][j].matces ~= nil and newBox[i][j].matces.canJatuh == false) then -- buat effect tulisannya brak[#brak+1] = sf:newSpriteGroup() brak[#brak].x,brak[#brak].y =newBox[i][j].matces.x,newBox[i][j].matces.y if (i == posI and j == posJ) then score[#brak] = display.newText(100, newBox[i][j].matces.x - newBox[i][j].matces.width/3, newBox[i][j].matces.y - newBox[i][j].matces.width/3, font_1, 45) score[#brak].point = 100 transition.to(score[#brak], {time=(brak[#brak].y - 100)*1.5, x=350, y= 100, alpha = 0 , transition=easing.easeInOut, onComplete=addScore} ) groupEfect:insert(score[#brak]) end brak[#brak].sprite = playNext brak[#brak]:addEventListener('sprite', brak[#brak]) brak[#brak]:play(newBox[i][j].matces.colorFont) groupEfect:insert(brak[#brak]) newBox[i][j].matces.isEliminir = true newBox[i][j].matces.isVisible = false newBox[i][j].matces = nil newBox[i][j].ismarkAble = false semuanya:insert(groupEfect) end end end end for i=1,8 do for j=1,11 do

Page 108: game mobile in system analyst application

74-19

if (newBox[i][j].matces ~= nil) then if (newBox[i][j].matces.isVisible ~= false and newBox[i][j].matces.canJatuh == false) then updateJatuh(newBox[i][j].matces) end end end end katagenerator = "" elseif huruf == "quake" then initTable.insertQuake() sound.playsfx("gempa") for i = #newGemActive,1, -1 do-- yang kepilih dihilangkan semua newGemActive[i]:removeSelf();newGemActive[i] = nil end local brak, score brak = sf:newSpriteGroup() brak.x, brak.y = newBox[self.i][self.j].matces.x, newBox[self.i][self.j].matces.y score = display.newText(100, newBox[self.i][self.j].matces.x - newBox[self.i][self.j].matces.width/3, newBox[self.i][self.j].matces.y - newBox[self.i][self.j].matces.width/3, font_1, 45) score.point = 100 transition.to(score, {time=(brak.y - 100)*1.5, x=350, y= 100, alpha = 0 , transition=easing.easeInOut, onComplete=addScore} ) groupEfect:insert(score) brak.sprite = playNext brak:addEventListener('sprite', brak) brak:play(newBox[self.i][self.j].matces.colorFont) groupEfect:insert(brak) newBox[self.i][self.j].matces.isEliminir = true newBox[self.i][self.j].matces.isVisible = false newBox[self.i][self.j].matces = nil newBox[self.i][self.j].ismarkAble = false semuanya:insert(groupEfect) function boom() sound.playsfx("pecah") if (local_t < 0)then getStatusGame("freeze") else getStatusGame("play") end local prob = 0.3 local braks = {} local score = 0

Page 109: game mobile in system analyst application

74-20

for i=1,8 do braks[i] = {} for j=1,11 do if (newBox[i][j].matces ~= nil and newBox[i][j].matces.canJatuh == false) then if (math.random() < prob) then braks[i][j] = sf:newSpriteGroup() braks[i][j].x, braks[i][j].y = newBox[i][j].matces.x, newBox[i][j].matces.y braks[i][j].sprite = playNext braks[i][j]:addEventListener('sprite', braks[i][j]) braks[i][j]:play(newBox[i][j].matces.colorFont) groupEfect:insert(braks[i][j]) newBox[i][j].matces.isEliminir = true newBox[i][j].matces.isVisible = false newBox[i][j].matces = nil newBox[i][j].ismarkAble = false semuanya:insert(groupEfect) end end end end for i=1,8 do for j=1,11 do if (newBox[i][j].matces ~= nil) then if (newBox[i][j].matces.isVisible ~= false and newBox[i][j].matces.canJatuh == false) then updateJatuh(newBox[i][j].matces) end end end end end local tremor = 11 function shake() local speed if (tremor % 2 == 0) then speed = 0 else speed = 10 end if tremor > 0 then transition.to(semuanya, {time=50, x=speed, transition=easing.easeInOut, onComplete=shake}) else transition.to(semuanya, {time=50, x=speed, transition=easing.easeInOut, onComplete=boom}) end

Page 110: game mobile in system analyst application

74-21

tremor = tremor-1 end getStatusGame("pause") local_t = local_t - 550 shake(1) katagenerator = "" elseif huruf == "freeze" then initTable.insertFreeze() sound.playsfx("beku") for i = #newGemActive,1, -1 do-- yang kepilih dihilangkan semua newGemActive[i]:removeSelf();newGemActive[i] = nil end local brak, score brak = sf:newSpriteGroup() brak.x, brak.y = newBox[self.i][self.j].matces.x, newBox[self.i][self.j].matces.y score = display.newText(100, newBox[self.i][self.j].matces.x - newBox[self.i][self.j].matces.width/3, newBox[self.i][self.j].matces.y - newBox[self.i][self.j].matces.width/3, font_1, 45) score.point = 100 transition.to(score, {time=(brak.y - 100)*1.5, x=350, y= 100, alpha = 0 , transition=easing.easeInOut, onComplete=addScore} ) groupEfect:insert(score) brak.sprite = playNext brak:addEventListener('sprite', brak) brak:play(newBox[self.i][self.j].matces.colorFont) groupEfect:insert(brak) newBox[self.i][self.j].matces.isEliminir = true newBox[self.i][self.j].matces.isVisible = false newBox[self.i][self.j].matces = nil newBox[self.i][self.j].ismarkAble = false semuanya:insert(groupEfect) for i=1,8 do for j=1,11 do if (newBox[i][j].matces ~= nil) then if (newBox[i][j].matces.isVisible == true) then newBox[i][j].matces.canJatuh = false end end end end local_t = local_t - 5000 getStatusGame("freeze") katagenerator = "" elseif huruf == "rainbow" then initTable.insertRainbow() sound.playsfx("pecah") for i = #newGemActive,1, -1 do-- yang kepilih dihilangkan semua newGemActive[i]:removeSelf();newGemActive[i] = nil end

Page 111: game mobile in system analyst application

74-22

if (self.frame == 1) then-- Warna yang akan pecah self.colorFont = "oranye" elseif (self.frame == 2) then self.colorFont = "ungu" elseif (self.frame == 3) then self.colorFont = "magenta" elseif (self.frame == 4) then self.colorFont = "oranye" elseif (self.frame == 5) then self.colorFont = "biru" elseif (self.frame == 6) then self.colorFont = "hijau" elseif (self.frame == 7) then self.colorFont = "merah" else self.colorFont = "tosca" end local brak = {} local score brak[#brak+1] = sf:newSpriteGroup() brak[#brak].x, brak[#brak].y = newBox[self.i][self.j].matces.x, newBox[self.i][self.j].matces.y score = display.newText(100, newBox[self.i][self.j].matces.x - newBox[self.i][self.j].matces.width/3, newBox[self.i][self.j].matces.y - newBox[self.i][self.j].matces.width/3, font_1, 45) score.point = 100 transition.to(score, {time=(brak[#brak].y - 100)*1.5, x=350, y= 100, alpha = 0 , transition=easing.easeInOut, onComplete=addScore} ) groupEfect:insert(score) brak[#brak].sprite = playNext brak[#brak]:addEventListener('sprite', brak) brak[#brak]:play(newBox[self.i][self.j].matces.colorFont) groupEfect:insert(brak[#brak]) newBox[self.i][self.j].matces.isEliminir = true newBox[self.i][self.j].matces.isVisible = false newBox[self.i][self.j].matces = nil newBox[self.i][self.j].ismarkAble = false semuanya:insert(groupEfect) for i=1,8 do for j=1,11 do if (newBox[i][j].matces ~= nil) then if (newBox[i][j].matces.isVisible == true and newBox[i][j].matces.canJatuh == false and newBox[i][j].matces.colorFont == self.colorFont) then if (self.frame == 1) then if (newBox[i][j].matces.myName == 'a' or newBox[i][j].matces.nyName == 'f' or newBox[i][j].matces.myName == 'j') then brak[#brak+1] = sf:newSpriteGroup() brak[#brak].x,brak[#brak].y =newBox[i][j].matces.x,newBox[i][j].matces.y brak[#brak].sprite = playNext

Page 112: game mobile in system analyst application

74-23

brak[#brak]:addEventListener('sprite', brak[#brak]) brak[#brak]:play(newBox[i][j].matces.colorFont) groupEfect:insert(brak[#brak]) newBox[i][j].matces.isEliminir = true newBox[i][j].matces.isVisible = false newBox[i][j].matces = nil newBox[i][j].ismarkAble = false semuanya:insert(groupEfect) end elseif (self.frame == 4) then if (newBox[i][j].matces.myName == 'i' or newBox[i][j].matces.myName == 'm' or newBox[i][j].matces.myName == 'v') then brak[#brak+1] = sf:newSpriteGroup() brak[#brak].x,brak[#brak].y =newBox[i][j].matces.x,newBox[i][j].matces.y brak[#brak].sprite = playNext brak[#brak]:addEventListener('sprite', brak[#brak]) brak[#brak]:play(newBox[i][j].matces.colorFont) groupEfect:insert(brak[#brak]) newBox[i][j].matces.isEliminir = true newBox[i][j].matces.isVisible = false newBox[i][j].matces = nil newBox[i][j].ismarkAble = false semuanya:insert(groupEfect) end else brak[#brak+1] = sf:newSpriteGroup() brak[#brak].x,brak[#brak].y =newBox[i][j].matces.x,newBox[i][j].matces.y brak[#brak].sprite = playNext brak[#brak]:addEventListener('sprite', brak[#brak]) brak[#brak]:play(newBox[i][j].matces.colorFont) groupEfect:insert(brak[#brak]) newBox[i][j].matces.isEliminir = true newBox[i][j].matces.isVisible = false newBox[i][j].matces = nil newBox[i][j].ismarkAble = false semuanya:insert(groupEfect) end end end end end for i=1,8 do for j=1,11 do if (newBox[i][j].matces ~= nil) then if (newBox[i][j].matces.isVisible ~= false and newBox[i][j].matces.canJatuh == false) then updateJatuh(newBox[i][j].matces) end end end

Page 113: game mobile in system analyst application

74-24

end katagenerator = "" else if self.ismarkAble ~= true then sound.playsfx("pilih") self.ismarkAble = true lastID = nama katagenerator = katagenerator..tostring(huruf) newBox[posI][posJ].ismarkAble = true -- self.isVisible = false newGemActive[#newGemActive + 1] = display.newImage(fileOn, true) newGemActive[#newGemActive].x,newGemActive[#newGemActive].y = newBox[posI][posJ].x,newBox[posI][posJ].y newGemActive[#newGemActive].id = self.nomor local obj = newGemActive[#newGemActive] obj:setReferencePoint(display.CenterReferencePoint) transition.to(obj, { time=100, rotation=2.5, transition=easing.outExpo, onComplete= function(obj) wiggle1(obj) end}) grouponActive:insert(newGemActive[#newGemActive]) semuanya:insert(grouponActive) elseif self.ismarkAble == true and string.len( katagenerator ) > 2 and initTable.cekTword(IdUser, katagenerator) == true then if statusTimer == nil and timer1 ~=nil then statusTimer =timer.pause(timer1) end benarSituation() if statusTimer ~= nil then timer.resume(timer1);statusTimer = nil end katagenerator = "" lastID = "" else salahSituation( ) katagenerator = "" lastID = "" end end end end end

Page 114: game mobile in system analyst application
Page 115: game mobile in system analyst application
Page 116: game mobile in system analyst application
Page 117: game mobile in system analyst application

Nama : Kristian Maulana Jenis Kelamin : Pria Tempat, Tanggal Lahir : Jakarta, 16 Januari 1987 Berat/Tinggi Badan : 60 kg/170 cm Alamat Rumah : Jl. Gn Batu Gg. Rd Ganda II. No. 110, Rt.02 Rw.09

Bandung - 40175 E-MAIL : [email protected] atau

[email protected]

Curriculum Vitae

PENDIDIKAN TERAKHIR (FORMAL) 1. Sekolah Menengah Kejuruan Negeri 12 kota Bandung, Jurusan Listrik. Lulus

tahun 2004 2. Universitas Informatika dan Bisnis Indonesia kota Bandung, Jurusan Teknik

Informatika Diploma Tiga. Lulus tahun 2007

PENGALAMAN KERJA 1) Asisten Dosen pada pelatihan komputer grafis di Universitas Informatika dan

Bisnis Indonesia kota Bandung, periode Maret-Juli 2006 dan Maret-Juni 2007. 2) Programmer di Techno Multi Utama yang berlokasi kota Cimahi, dimulai dari

Mei 2009 sampai Juni 2010, ikut berpartisipasi pada proyek : a) KALK di STIP Jakarta. b) CBT di KODIKLAT TNI AD

3) Programmer di Aura Sakti Engineering yang berlokasi kota bandung, dimulai dari Juni 2010 sampai 2012, ikut berpartisipasi pada proyek : a) ICMS-GIS di ADBAN Bandara Djuanda b) CBT Ejection Seat & BATK di SKADIK 302 TNI AU c) CBT Aircraft General, Wong Bee dan Grob di SKADIK 104 TNI AU d) CBT Basic Aircraft Teknology and Knowledge di SKADIK 303 TNI AU e) Radar Simulator di SKADIK 202 TNI AU

Page 118: game mobile in system analyst application

f) Jurkom di SKADIK 202 TNI AU g) Meteo Simulator di SKADIK 503 TNI AU

4) Game Programmer di Kumata Studio yang berlokasi kota Bandung, dimulai dari 2012 hingga desember 2013 : a) Tumblin Terracotta stabilize mobile game. b) Katabrak word puzzle mobile game.

KEAHLIAN

1. Pemrograman Visual Basic dan Visual C++ 2. Data Base (MS Access, MySql, PostgreSQL dan SQL Server, SQLite) 3. CoronaSDK 4. Windows, Linux(Ubuntu), Mac dan Office 5. Jaringan. 6. PHP 7. Lua 8. Disain grafis (Photoshop, Corel Draw)

Berikut Curriculum vitae ini saya buat dengan sebenar-benarnya.

Hormat Saya,

Kristian Maulana