• Tidak ada hasil yang ditemukan

IMPLEMENTASI FRAMEWORK MULTI PLATFORM PADA GAME EDUKASI NASKAH PUBLIKASI

N/A
N/A
Protected

Academic year: 2021

Membagikan "IMPLEMENTASI FRAMEWORK MULTI PLATFORM PADA GAME EDUKASI NASKAH PUBLIKASI"

Copied!
9
0
0

Teks penuh

(1)

IMPLEMENTASI FRAMEWORK MULTI PLATFORM

PADA GAME EDUKASI

NASKAH PUBLIKASI

Diajukan oleh :

Bintang Catur Putra

09.12.4329

kepada

SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER

AMIKOM YOGYAKARTA

YOGYAKARTA

2013

(2)
(3)

MULTI PLATFORM FRAMEWORK IMPLEMENTATION IN GAME EDUCATION

IMPLEMENTASI FRAMEWORK MULTI PLATFORM PADA GAME EDUKASI

Bintang Catur Putra Emha Taufik Luthfi Jurusan Sistem Informasi STMIK AMIKOM YOGYAKARTA

ABSTRACT

Nowaday smartphone growth very fast. A variety of smartphone vendors compete to create the most advanced smartphones. But behind the rapid development there is a lack, namely the lack of integration development kit / development tool, which resulted the application can not run immediately on all smartphone platforms, and need a fairly complex porting process for developers so applications can run on all platforms.

By using the Cocos2d-x framework, a source code can be compiled and run on multiple platforms with little adjustments on each platform. In addition, by using the Cocos2d-x framework complex porting process could be avoided, and it will certainly reduce production time.

Educational Game will be created using the Cocos2d-x framework. It release target are iOS, Android. Each target using their own IDE and compiler. For iOS using Xcode, and for Android using the Android SDK and NDK.

(4)

1

1. PENDAHULUAN

1.1. Latar Belakang

Dewasa ini perkembangan smart phone sangat cepat. Berbagai vendor smart phone saling bersaing untuk membuat smart phone yang paling canggih dengan berbagai fitur, baik dari sisi hardware maupun software. Namun dibalik cepatnya perkembangan smart phone pasti ada kekurangannya. Salah satunya adalah tidak ada sebuah standarisasi development kit yang terintegrasi antara satu platform dengan platform lainnya, yang artinya sebuah aplikasi tidak bisa langsung jalan di semua smart phone. Hal ini mengakibatkan developer software harus bekerja ekstra agar aplikasi yang dibuatnya bisa berjalan di semua platform

smart phone. Sebagai contoh aplikasi untuk smart phone dengan iOS tidak bisa berjalan di

smart phone yang menggunakan sistem operasi Android. Namun dengan menggunakan

framework Cocos2d-x, sebuah source code bisa berjalan di berbagai platform tanpa harus

mengubahnya, yang perlu dilakukan hanya compile ulang dengan compiler yang berbeda. Hal penting dalam pemasaran aplikasi adalah cross platform. Sebuah aplikasi yang bisa berjalan di berbagai platform pasti bisa mendapatkan lebih banyak pengguna daripada sebuah aplikasi yang hanya bisa berjalan di suatu platform tertentu. Karena itu proses port agar sebuah aplikasi bisa berjalan di berbagai platform sangatlah penting untuk mendukung pemasaran aplikasi.

Framework Cocos2d-x adalah framework untuk membuat game 2D yang bersifat free,

open source, dan cross-platform. Fitur cross-platform inilah yang membuat proses port dari satu platform ke platform lainnya menjadi lebih cepat dan lebih mudah tanpa harus mempelajari SDK tiap-tiap platform. Atas dasar inilah penulis memilih framework ini untuk game yang akan dibuat. Sehingga nantinya game yang dibuat bisa berjalan di berbagai platform, khususnya untuk iOS dan Android.

Berdasarkan latar belakang yang diuraikan di atas, penulis tertarik untuk mengambil pokok bahasan skripsi dengan judul “IMPLEMENTASI FRAMEWORK MULTI PLATFORM PADA GAME EDUKASI”.

1.2. Rumusan Masalah

Berdasarkan latar belakang masalah yang telah diuraikan di atas,yang menjadi pokok permasalahan adalah sebagai berikut :

1. Bagaimana cara mengimplementasikan framework Cocos2d-x untuk iOS?

1.3. BatasanMasalah

Agar pembahasan lebih terarah, maka permasalahan akan dibatasi terhadap masalah-masalah berikut :

1. Target platform adalah iOS dan Android. 2. Untuk iOS test dilakukan di iPhone 5.

3. Untuk Android test dilakukan di Lenovo P700i.

1.4. Tujuan

Maksud dari penulisan skripsi ini adalah untuk mengimplementasikan framework Cocos2d-x untuk Game Edukasi pada platform iOS dan Android.

Adapun tujuan dari penulisan skripsi ini adalah :

1. Menerapkan penggunaan framework Cocos2d-x pada Game Edukasi.

2. Mengetahui kelebihan dan kekurangan framework Cocos2d-x dalam

(5)

2

1.5. Manfaat

Hasil dari penelitian ini diharapkan dapat memberikan manfaat sebagai berikut:

1. Bagi pengguna aplikasi, game ini bisa membantu anak-anak untuk belajar

matematika.

2. Bagi peneliti sendiri adalah sebagai pembelajaran untuk menggunakan

framework dalam pembuatan game.

2. LANDASAN Teori

2.1. Pengertian Games

Game” berasal dari bahasa Inggris yang dalam bahasa Indonesia berarti

“permainan”. Permainan yang dimaksud dalam game juga merujuk pada pengertian sebagai

“kelincahan intelektual” (intellectual playability). Sementara kata “game” bisa diartikan

sebagai arena keputusan dan aksi permainannya. Ada target-target yang ingin dicapai pemainnya. Kelincahan intelektual, pada tingkat tertentu merupakan sejauh mana game itu menarik untuk dimainkan secara maksimal.

2.2. Perkembangan Game

Game pada awal tahun 1970-an merupakan awal dari perkembangan game di dunia, dimana game yang dibuat hanya terdiri atas teks dan grafik standar. Beberapa game pada awal perkembangannya antara lain :

1. Teks Game, Jenis game ini hanya terdiri atas teks, tidak ada grafik apa pun di dalam game ini. Pemain berinteraksi dengan mengetikkan teks. Contohnya

adalah The Adventurers' Museum, The Castle, Adventure in The Island.

2. Grafik Game, Jenis game ini sdah menggunakan grafik meskipun masih dalam

grafik bentuk standar yaitu VGA, SVGA. Contoh The Murderer, Radical

Dreamers.

2.3. Konsep Pengembangan Game

Dari berbagai elemen-elemen yang telah dibahas sebelumnya, berikut adalah konsep pengembangan game secara garis besar. Konsep yang akan dibahas adalah konsep pengembangan secara umum. Secara garis besar, konsep pengembangan game terbagi menjadi beberapa bagian, yaitu :

2.5.1, Perancangan Konsep Game

Pada bagian ini kita menentukan ide dasar game secara keseluruhan, pada bagian ini pula ditentukan apakah game tersebut bergenre puzzle, action, RPG, atau genre lainnya. Selain itu pada bagian ini juga bisa kita tentukan konsep keseluruhan dari game tersebut, apakah tentang peperangan, persahabatan, pendidikan dan lain sebagainya.

2.5.2, Implementasi Engine Game

Engine game merupakan intu atau mesin utama dari game yang mengendalikan seluruh aktivitas dan interaksi yang terjadi di dalam game. Engine dapat dibangun dengan berbagai basa pemrograman seperti C, C++, C#, Java, atau bahkan Assembly.

Saat ini sudah banyak game engine yang bisa digunakan untuk membuat game sesuai dengan kebutuhan pembuatnya. Ada banyak pilihan baik itu open source ataupun engine yang berbayar. Contoh engine yang berbayar antara lain Corona, Marmalade, Unity3d pro, dll. Contoh engine yang open source antara lain Cocos2d, Cocos2D-X, AndEngine, LibGDX, dll. Game engine Cocos2D-X ini lah yang digunakan untuk pembuatan

Game Edukasi, dan akan dibahas lebih lanjut.

Selain game engine terdapat juga tools pembantu dalam pembuatan game. Biasanya tools ini berhubungan erat dengan suatu engine tertentu. Misalnya hasil eksport dari tools

(6)

3

bernama CocosBuilder hanya bisa dibaca dari engine Cocos2d. Tools ini berfungsi untuk memudahkan game designer dalam mendesign level, user interface, dan juga flow game.

2.5.3, Penanaman Visual dan Audio pada Game

Pada bagian inilah para artist atau seniman baik pada bidang grafis maupun audio bekerja. Mereka dapat mengolah dan menghasilkan aspek visual maupun aspek audio dari game sehingga game tersebut dapat dinikmati oleh pemainnya.

2.5.4, Pengujian

Pengujian dilakukan untuk menjaga mutu dan kualitas game yang kita buat. Tentunya sebelum game dipasarkan harus bebas dari bug. Karena itu bagian ini sangat diperlukan. Pengujian meliputi pengujian engine game, pengujian interaksi game dengan pemain melalui pengendali (controller), debugging, dan perbaikan. Bagian ini disebut Alpha Testing. Sedangkan Beta Testing adalah pengujian pihak ketiga yang merupakan pemain untuk mengetahui apakah di dalam game tersebut masih ada bug yang mengganggu atau tidak.

2.4. Platform Game

Sebuah game biasanya dibuat untuk platform tertentu. Namun saat ini karena banyaknya pilihan platform seorang pembuat game terkadang membuat gamenya untuk banyak platform sekaligus. Berikut adalah beberapa target platform :

2.6.1, Mobile

Mobile disebut juga dengan Handheld/Handphone. Mulai banyak mobile game yang dibuat dan dirancung khusus di platfomr ini. Bahkan tidak terlalu berlebihan jika platfom ini bisa menjadi pesaing untuk beberapa jenis game seperti game online. Walaupun kemampuannya tidak sehebat game di komputer atau konsol, tetapi dengan kemudahan dan jumlah peralatan yang banyak digunakan untuk komunikasi akan membuat platform ini menjadi pilihan bagi pengembang. Pada platform mobile ini juga masih bisa dibagi menjadi beberapa platform lagi berdasarkan OS yang digunakan. Pembagian platform tersebut antara lain :

1. Java2 Micro Edition (J2ME), digunakan pada ponsel-ponsel lama. Platform ini memiliki memory yang kecil, dan kemampuan memproses agak lambat. Hal ini membuat game-game yang dibuat untuk platform ini tidak memiliki begitu banyak fitur.

2. Android, platform smart phone yang dibuat oleh google. Berbasis pada kernel Linuk. Banyak pengembang memilih platform ini karena kemudahan mendapatkan tutorial dan kemudahan dalam memasarkan gamenya.

Platfrom ini lah yang nanti akan menjadi salah satu target dari Game

Edukasi.

3. IOS, platform ini dibuat oleh Apple, beberapa perangkat yang menggunakan

OS iOS ini antara lain iPhone, iPad, dan iPod. Platform ini juga nanti akan

dijadikan target untuk Game Edukasi.

4. Windows Phone, platform smart phone buatan Microsoft. Dibuat untuk menyaingi pasar smart phone. Pengembangan game untuk platform ini pun cukup mudah karena banyak tutorial yang tersedia. Selain itu tools untuk membuat game atau aplikasi di platform ini gratis.

(7)

4

2.5. Frame Work Cocos2D-X

Sebelumnya sudah dibahas tentang apa itu game dan berbagai elemen-elemennya. Salah satu elemen penting dalam game adalah engine game. Dari sekian banyaknya engine game disini akan dibahas tentang engine Cocos2D-X.

Cocos2D-X adalah game engine (frame work) gratis berbasis 2 dimensi yang bisa digunakan untuk membuat game atau aplikasi pada platform iOS, Android, Windows, Mac, dan berbagai platform lainnya yang sampai saat ini masih terus bertambah. Cocos2D-X menggunakan bahasa pemrograman C++ untuk basisnya, tapi tersedia juga Lua binding, dan juga javascript binding namun tetap menggunakan struktur API yang sama yaitu struktur API dari C++ itu sendiri, sehingga masih memungkinkan untuk pengembang menggunakan Lua atau JavaScript untuk scripting pada high levelnya. Cocos2D-X mempunyai fitur-fitur dasar yang dimiliki oleh game engine pada umumnya, seperti kemampuan untuk menangani graphic rendering, kemampuan untuk menangani sound, dan bahkan kemampuan untuk menangani masalah networking.

Cocos2D-X merupakan implementasi ulang dari Cocos2d for iPhone dengan menggunakan bahasa pemrograman C++. Sedangkan Cocos2d for iPhone adalah pengembangan dari Cocos2d yang berbasis pada bahasa pemrograman phyton.

Cocos2D-X adalah project open source, sehingga kita bisa melihat dan bahkan mengubah game engine tersebut sesuai dengan kebutuhan yang diperlukan. Gambar 2.6 menunjukan kontributor yang berperan dalam pengembangan Cocos2D-X.

2.7.1, Kelebihan Cocos2d-X

1. Multi Platform

Fitur powerfull yang ada pada Cocos2D-X adalah fitur build multi platform, yaitu satu source code bisa di build untuk beberapa platform sekaligus dengan sedikit penyesuian. Fitur inilah yang sangat berguna

dalam implementasi Game Edukasi.

2. Banyak Pengguna dan Forum

Dengan banyaknya pengguna dan forum yang aktif, menjadikan framework ini mudah dipelajari, karena kita bisa berbagi pengetahuan dengan sesama pengguna. Pengguna framework ini sudah banyak baik dari perusahaan game kecil ataupun perusahaan game yang sudah dewasa. Selain itu forum diskusi resmi Cocos2D-X pun sangat aktif, sudah lebih dari 5000 topik yang dibicarakan dalam sub forum framework C++.

3. Open Source

Cocos2d-X merupakan project open source, dengan open source ini kita bisa mempelajari tentang kinerja game engine ini. Kita bisa melihat dan bahkan memodifikasi source code dari game engine ini sesuai dengan kebutuhan kita.

4. Banyak Add On / Plug In

Karena sifatnya yang open source, secara tidak langsung Cocos2d-X mengundang berbagai developer atau service provider untuk membuat produknya bisa terintegrasi pada Cocos2D-X. Contoh yang paling sering ditemui adalah pada provider iklan, provider iklan biasanya membuat integrasi iklanya pada berbagai game engine. Untuk yang tidak bersiftat komersial misalnya adalah Tiled Map Editor, CocosBuilder.

(8)

5

2.7.2, Kekurangan Cocos2D-X

Saat tulisan ini dibuat versi Cocos2D-X yang paling terbaru adalah versi 2.1.3. Kekurangan yang masih ada adalah belum adanya sound engine yang cukup baik. Fitur-fitur untuk menangani sound hanya sebatas fitur-fitur dasar saja, contohnya memainkan music, dan sound effect. Belum ada pembagian channel dalam menangani suara yang sedang diputar.

3. ANALISIS DAN PERANCANGAN SISTEM 3.1. Gambaran Umum

Perkembangan smart phone saat ini sudah sangat cepat, persaingan antar vendor membuat developer harus bekerja ekstra agar aplikasi buatannya bisa berjalan di semua platform. Tanpa adanya integrasi frame work yang digunakan akan menyebabkan seorang developer bekerja dua kali, tiga kali, bahkan lebih dari tiga kali untuk membuat aplikasi buatannya bisa berjalan di berbagai platform.

3.1. Analisis Masalah

Sebuah aplikasi yang dibuat berjalan native untuk suatu platform tertentu tidak bisa langsung berjalan pada platform lainnya. Terdapat perbedaan pada struktur Application Programming Interface (API), arsitektur prosesor, dan perbedaan bahasa pemrograman. Agar aplikasi tersebut bisa berjalan pada platform lainnya diperlukan proses porting. Proses porting ini memakan banyak waktu, seorang developer memerlukan waktu ekstra untuk mempelajari struktur API, dan juga bahasa pemrograman yang berbeda pada tiap platform yang menjadi target. Selain itu tiap aplikasi juga harus dibuat dari nol, karena source code untuk tiap platform harus disesuakan dengan bahasa pemrograman target platfrom.

3.2. Perancangan Aplikasi

Pada bagian ini akan dibahas tentang perancangan Game Edukasi berdasarkan landasan teori yang sudah dijelaskan pada bab sebelumnya. Yaitu dimulai dari perancangan konsep, lalu implementasi game engine, kemudian penanaman visual dan audio. Untuk bagian pengujian akan dibahas pada bab selanjutnya.

3.4.1. Perancangan Konsep Dasar Game

Game Edukasi dirancang dengan membawa genre Education Game, namun

terdapat juga unsur-unsur genre Action Game. Jadi Game Edukasi merupakan game ber

genre hybrid, yaitu gabungan antara genre edukasi dan juga genre action. Tujuan dari game ini adalah untuk membantu pemain dalam belajar matematika. Khususnya untuk menghafal penjumlahan dan pengurangan.

4. IMPLEMENTASI DAN PEMBAHASAN 4.1. Implementasi

Tujuan implementasi adalah menerapkan perancangan yang telah dilakukan terhadap sistem. Implementasi dilakukan agar sistem yang sudah dirancang bisa digunakan oleh pengguna. Setelah implementasi selesai akan dilakukan test, agar diketahui sistem yang telah dirancang sudah bebas dari bug atau belum.

4.1.1. Implementasi Art

Sesuai dengan perancangan yang sudah dijelaskan pada bab sebelumnya, tema art dari Game Edukasi adalah anak-anak dan colorfull.

(9)

6

4.1.2. Implementasi Program

Setelah user interface selesai diimplementasikan menggunakan tools CocosBuilder maka langkah selanjutnya adalah implementasi program. Pada tahapan ini source code aplikasi sudah mulai ditulis.

5. PENUTUP 5.1. Kesimpulan

Berdasarkan dari hasil penelitian, analisis, perancangan sistem, dan implementasi program, maka penulis dapat mengambil kesimpulan sebagai berikut :

1. Cocos2D-X merupakan frame work yang bisa digunakan untuk membangun aplikasi berplatform iOS dan Android.

2. Proses pembuatan game hanya memerlukan satu kode sumber, baik itu untuk iOS atau untuk Android, yang membedakan adalah proses compilenya.

5.1. Saran

Game Edukasi ini masih dapat dikembangkan lebih lanjut, dari sisi game mekanik, sisi art, dan sisi optimisasi programming. Berikut adalah saran untuk pengembangan lebih lanjut :

1. Diharapkan untuk pengembangan selanjutnya tampilan art dibuat lebih menarik. 2. Soal-soal yang ada pada Game Edukasi bisa ditambah dengan soal-soal yang

belum ada, misalnya soal perkalian atau pembagian

DAFTAR PUSTAKA

Taru, Andi. 2010. Pemrograman Game dengan Java dan GTGE. Yogyakarta: Andi

Offset.

Jasson. 2009. Role Playing Game (RPG) Maker. Yogyakarta: Andi Offset.

Anonym. 2013. http://www.cocos2d-x.org/ . Online Documentation. diakses pada

tanggal 11 Mei 2013

Anonym. 2013. http://cocosbuilder.com/ . Online Documentation. diakses pada

Referensi

Dokumen terkait

Karsten sangat terkesan dengan penataan Kota Paris yang mempuyai keindahan simetrisnya berupa sumbu-sumbu sejumlah jalan yang bertumpu pada satu persimpangan dengan

Hasil uji penetrasi secara in vitro dengan membran lepasan kulit ular menunjukkan penggunaan span 60 sebagai penyusun niosom dalam sediaan gel dapat meningkatkan

Hasil produk pelarutan teramati pada sampel-sampel pengamatan berupa mineral/butiran yang telah berinteraksi dengan fluida, hal ini mengakibatkan berkembangnya

Adanya inkonsistensi dalam beberapa studi yang mencoba mencari hubungan antara PCT dengan dengan skor prognostik seperti PSI dan CURB-65 mendorong Kruger dkk melakukan suatu

Acute Respiratory Distress Syndrome: New Definition, Current and Future Therapeutic Options.. Raghavendran K, Napolitano

Promosi bukan hanya memperkenalkan suatu produk atau keunggulan pada produk tersebut tetapi kegiatan promosi dimaksudkan untuk dapat berkomunikasi dengan konsumen, sehingga

Sedangkan Suherman dan Sukjaya menyatakan bahwa kemampuan analisis adalah kemampuan untuk merinci atau menguraikan suatu masalah (soal) menjadi bagian-bagian yang lebih

Sedangkan Suherman dan Sukjaya menyatakan bahwa kemampuan analisis adalah kemampuan untuk merinci atau menguraikan suatu masalah (soal) menjadi bagian-bagian yang lebih