• Tidak ada hasil yang ditemukan

BAB II TINJAUAN PUSTAKA

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB II TINJAUAN PUSTAKA"

Copied!
24
0
0

Teks penuh

(1)

BAB II

TINJAUAN PUSTAKA

Bab tinjauan pustaka ini dipaparkan teori penunjang yang menjadi dasar dalam analisis hasil. Teori penunjang yang disertakan antara lain teori tentang game, kecerdasan buatan (Artificial Intelligence), Algoritma Basic Probability, Android, Bahasa Pemrograman Lua, Corona SDK, Adobe Illustrator, Adobe Audition, dan UML (Unified Modeling Language).

2.1. State of the Art

Banyak game yang sudah berkembang pesat saat ini seiring dengan kemajuan teknologi. Tujuan pembuatan game pun beragam mulai dari sebagai media hiburan, media pembelajaran bahkan sampai ada game yang bersifat adiktif. Membuat sebuah game yang mengangkat budaya di Indonesia masih lemah dan jarang ditemui di Indonesia dan perlu dikembangkan lagi. Budaya bisa dikatakan sebagai identitas unik dari suatu negara, salah satunya budaya dari Indonesia dalah wayang yang sudah diakui oleh UNESCO. Untuk itu perlu dilakukannya pelestarian terhadap budaya wayang tersebut dengan cara mengadaptasi budaya ke dalam media digital. Berikut merupakan beberapa penelitian yang mengembangkan budaya wayang yang dibuat dalam bentuk media game.

Penelitian dari Kade Chandra Mahardika yang berjudul “Rancang Bangun Game Flash Petualangan Panca Pandawa Dalam Cerita Sorga Rohana Parwa” yang mengadaptasi Cerita Pewayangan Mahabharata ke dalam sebuah game berbasis Flash. Game Flash terdiri atas grafik, teks, animasi dan aplikasi, yang mengutamakan grafik berbasis vektor. Flash memiliki akses lebih cepat dan akan terlihat halus pada skala resolusi layar besar atau kecil, selain itu juga mempunyai kemampuan untuk mengimpor video, gambar dan suara dan aplikasi. Game Flash Pertualangan Panca Pandawa dapat menyediakan referensi baru bagi masyarakat yang ingin mengetahui tentang cerita Sorga Rohana Parwa dalam kisah Mahabharata. Game Flash Petualangan Panca Pandawa dibuat dengan menggunakan gambar karakter yang menarik dan alur permainan yang mudah

(2)

dinikmati oleh semua kalangan. Melalui media game ini, cerita Mahabharata tentang Sorga Wahana Parwa yaitu perjalanan Panca Pandawa menuju sorga menjadi lebih mudah untuk dipahami dan lebih menarik, mudah diterima oleh beragam kalangan masyarakat dan kemampuannya untuk survival.

Penelitian dari Arief Dwinugroho yang berjudul “Aplikasi game Turn Based Strategy (TBS) War of Baratayuda” yang mengangkat Cerita Pewayangan Mahabharata ke dalam sebuah game. Aplikasi game Turn Based Strategy (TBS) War of Baratayuda merupakan sebuah game yang menceritakan penggalan kisah perang baratayuda dan memperkenalkan tokoh Bima dan Duryudana yang terkait dalam perang tersebut. Game ini diterapkan kecerdasan buatan yaitu Algoritma A* untuk pergerakan enemy dalam pencarian rute terpendek. Aplikasi ini dibangun menggunakan Game Maker 8.0 dan menggunakan metode pemrograman berorientasi objek. Berdasarkan hasil penelitian dengan menggunakan pengujian alpha dan beta, dapat disimpulkan bahwa game ini dapat dijadikan sebagai media pengenalan budaya kepada generasi muda serta dapat menambah pengetahuan dan ketertarikan akan budayanya sendiri kepada masyarakat terutama generasi muda.

2.2. Wayang

Wayang adalah salah satu kebudayaan milik Indonesia yang telah dikenal sekurang-kurangnya sejak abad ke-10. Wayang merupakan seni pertunjukan bayangan yang berkembang di Pulau Jawa dan Bali. Wayang diartikan sebagai bayangan atau merupakan pencerminan dari sifat-sifat yang ada dari dalam jiwa manusia seperti watak angkara murka, kebajikan, serakah, dan lain sebagainya. Beberapa jenis wayang berupa wayang dua dimensi, terbuat dari kulit yang ditatah dan disungging, dipentaskan oleh dalang di depan layar kain, diterangi lampu, sehingga dapat ditonton dari depan maupun dari belakang layar, misalnya Wayang Kulit Purwa Jawa.

Keistimewaan wayang sebagai bentuk kesenian adalah sifat-sifatnya yang adiluhung dan edipeni, yaitu seni yang sarat dengan falsafah serta sangat indah. Bisa juga disebut mengandung nilai etika dan estetika. Para pakar budaya

(3)

Barat menyebutkan wayang sebagai bentuk drama yang canggih di dunia. Wayang berfungsi sebagai tontonan dan juga sebagai tuntunan dalam Masyarakat Indonesia sejak berabad-abad yang lalu sampai sekarang. UNESCO memproklamirkan Wayang Indonesia sebagai Karya Agung Budaya Dunia, pada Tanggal 7 November 2003.

2.3. Baratayuda

Baratayuda adalah istilah yang dipakai di Indonesia untuk menyebut perang saudara di Kurukshetra antara Keluarga Pandawa melawan Korawa. Perang ini merupakan klimaks dari kisah Mahabharata.

Istilah Baratayuda berasal dari kata Bharatayuddha, yaitu judul sebuah naskah kakawin berbahasa Jawa Kuna yang ditulis pada Tahun 1157 oleh Mpu Sedah atas perintah Maharaja Jayabhaya, Raja Kerajaan Kadiri. Kisah Kakawin Bharatayuddha kemudian diadaptasi ke dalam Bahasa Jawa Baru dengan judul Serat Bratayuda oleh Pujangga Yasadipura I pada zaman Kasunanan Surakarta (Arief Dwinugroho 2013 h. 8).

2.2.1 Sebab Peperangan

Awal perselisihan antara Pandawa dan Korawa dimulai sejak orang tua mereka masih sama-sama muda. Pandu, ayah para Pandawa suatu hari membawa pulang tiga orang putri dari tiga negara, bernama Kunti, Gandari, dan Madrim. Salah satu dari mereka dipersembahkan kepada Dretarastra, kakaknya yang buta. Dretarastra memutuskan untuk memilih Gandari. Karena sekali lagi Dretarastra buta, ia tidak dapat melihat apapun, jadi ketika dirinya memilih ketiga putri itu yang dengan cara mengangkat satu per satu, terpilih lah Gandari yang mempunyai bobot paling berat, sehingga Dretarastra berpikir bahwa kelak Gandari akan mempunyai banyak anak, sama seperti impian Dretarastra. Gandari merasa dirinya tak lebih dari piala bergilir. Gandari pun bersumpah keturunannya kelak akan menjadi musuh bebuyutan anak-anak Pandu.

Gandari dan adiknya, bernama Sangkuni, mendidik anak-anaknya yang berjumlah seratus orang untuk selalu memusuhi anak-anak Pandu. Ketika Pandu meninggal, anak-anaknya semakin menderita. nyawa mereka selalu diincar oleh

(4)

sepupu mereka, yaitu para Korawa. Kisah-kisah selanjutnya tidak jauh berbeda dengan versi Mahabharata, antara lain usaha pembunuhan Pandawa dalam istana yang terbakar, sampai perebutan Kerajaan Amarta melalui permainan dadu.

Akibat kekalahan dalam perjudian tersebut, para Pandawa harus menjalani hukuman pengasingan di Hutan Kamiyaka selama 12 tahun, ditambah dengan setahun menyamar sebagai orang rakyat jelata di Kerajaan Wirata. Namun setelah masa hukuman berakhir, para Korawa menolak mengembalikan hak-hak para Pandawa. Sebenarnya Yudhistira (Saudara sulung dari Pandawa), hanya menginginkan 5 desa saja untuk dikembalikan ke Pandawa. Tidak utuh satu Amarta yang dituntut. tetapi Korawa pun tidak sudi memberikan satu jengkal tanah pun ke pandhawa. Akhirnya keputusan diambil lewat perang Baratayuda yang tidak dapat dihindari lagi.

2.3 Kecerdasan Buatan atau Artificial Intelligence

Berbagai definisi diungkapkan oleh para ahli untuk dapat memberi gambaran mengenai kecerdasan buatan diantaranya:

1. Kecerdasan Buatan (Artificial Intelligence) merupakan kawasan penelitian, aplikasi dan instruksi yang terkait dengan pemrograman komputer untuk melakukan sesuatu hal yang dalam pandangan manusia adalah cerdas (H. A. Simon 1987).

2. Kecerdasan Buatan (Artificial Intelligence) merupakan sebuah studi tentang bagaimana membuat komputer melakukan hal-hal yang pada saat ini dapat dilakukan lebih baik oleh manusia (Rich and Knight 1991).

Kecerdasan Buatan (Artificial Intelligence) merupakan cabang dari ilmu komputer yang dalam merepresentasi pengetahuan lebih banyak menggunakan bentuk simbol-simbol daripada bilangan, dan memproses informasi berdasarkan Metode Heuristic atau dengan berdasarkan sejumlah aturan.

2.3.1 Jenis-Jenis Kecerdasan Buatan

Jenis-jenis kecerdasan buatan dalam perkembangannya dapat dikelompokkan sebagai berikut:

(5)

1. Sistem Pakar (Expert System), komputer sebagai sarana untuk menyimpan pengetahuan para pakar sehingga komputer memiliki keahlian menyelesaikan permasalahan dengan meniru keahlian yang dimiliki pakar.

2. Pengolahan Bahasa Alami (Natural Language Processing), user dapat berkomunikasi dengan komputer menggunakan bahasa sehari-hari, misal Bahasa Inggris, Bahasa Indonesia, dan sebagainya.

3. Pengenalan Ucapan (Speech Recognition), manusia dapat berkomunikasi dengan komputer menggunakan suara.

4. Robotika & Sistem Sensor.

5. Computer Vision, menginterpretasikan gambar atau objek-objek tampak melalui komputer.

6. Intelligent Computer-Aided Instruction, komputer dapat digunakan sebagai tutor yang dapat melatih & mengajar.

7. Game Playing.

8. Soft Computing merupakan sebuah inovasi dalam membangun sistem cerdas yaitu sistem yang memiliki keahlian seperti manusia pada domain tertentu, mampu beradaptasi dan belajar agar dapat bekerja lebih baik jika terjadi perubahan lingkungan. Soft Computing mengeksploitasi adanya toleransi terhadap ketidaktepatan, ketidakpastian, dan kebenaran parsial untuk dapat diselesaikan dan dikendalikan dengan mudah agar sesuai dengan realita (Prof. Lotfi A Zadeh 1992). Metodologi-metodologi yang digunakan dalam Soft Computing adalah

a. Logika Fuzzy atau Fuzzy Logic

b. Jaringan Syaraf Tiruan atau Neurall Network c. Probabilistic Reasoning

d. Algoritma Genetika atau Evolutionary Computing

2.4 Basic Probability

Algoritma ini akan menilai semua kemungkinan yang akan komputer lakukan, sebelum player mengambil keputusan. Algoritma ini sebelum dibuat,

(6)

terlebih dahulu harus membuat sebuah nilai probilitas pada setiap aksi yang akan player lakukan. Komputer akan mencari nilai probilitas terbasar atau yang paling menguntungkan untuk komputer.

Pengembang game menggunakan probabilitas dalam sebuah game untuk hal-hal seperti Hit Probabilities, Damage Probabilities, dan Personality seperti kecenderungan untuk menyerang, lari, dan lainnya (David M. Bourg & Glenn Seeman 2004, h.303).

2.4.1 Randomness

Fungsi standar C untuk menghasilkan nomor acak adalah rand(), yang menghasilkan integer acak dalam kisaran 0 sampai RAND_MAX. Biasanya RAND_MAX diatur ke 32727. Untuk mendapatkan integer acak antara 0 dan 99, dibuat dengan menuliskan kode rand()%100. Begitu juga untuk mendapatkan nomor acak antara 0 dan setiap bilangan bulat N-1 dibuat dengan menuliskan kode rand ()%N.

Misalnya membuat pergerakan suatu objek yang bergerak ke kiri dengan probabilitas 25% atau bergerak ke kanan dengan probabilitas 25% atau kembali dengan probabilitas 50%. Mengingat probabilitas ini hanya perlu menghasilkan nomor acak antara 0 dan 99 dan melakukan beberapa tes untuk menentukan arah mana untuk memindahkan onjek.

Tes ini dilakukan dengan menetapkan kisaran bilangan 0-24 sebagai kemungkinan rentang nilai untuk event pindah kiri. Demikian pula, ditetapkan rentang nilai 75-99 sebagai kemungkinan rentang nilai untuk event bergerak kanan. Nilai lain antara 25 dan 74 menunjukkan event cadangan. Setelah nomor acak dipilih, kemudian ditentukan event untuk mengambil langkah yang tepat. Ini adalah contoh yang sangat sederhana, dan dapat mengatakan bahwa ini bukan gerakan cerdas. Developer sering menggunakan teknik ini untuk menyajikan beberapa ketidakpastian pada game, sehingga lebih sulit untuk memprediksi ke mana objek akan bergerak ketika berhadapan.

(7)

2.4.2 Hit Probabilities

Penggunaan lain yang umum dari probabilitas dalam game melibatkan peluang pemain untuk memukul lawan dalam pertempuran. Biasanya, pengembang game mendefinisikan beberapa probabilitas dengan mengingat karakteristik tertentu dari pemain dan lawannya. Contohnya dalam sebuah Role-Playing Game dapat dikatakan bahwa seorang pemain dengan peringkat ketangkasan moderat memiliki probabilitas 60% mencolok lawannya dengan pisau dalam pertempuran jarak dekat. Apabila peringkat ketangkasan pemain tinggi, mungkin memberinya peluang lebih baik mencolok dengan pisau. Probabilitas pemain keberhasilannya adalah 90% mengingat bahwa pemain sangat terampil, sedangkan probabilitasnya sukses adalah 60% mengingat bahwa pemain cukup terampil. Semua probabilitas tersebut tergantung pada beberapa peristiwa lain, meskipun tidak mungkin secara eksplisit menyatakan kondisi atau menetapkan probabilitas untuk menyerang.

2.4.3 Character Abilities

Contoh lain menggunakan probabilitas dalam game adalah untuk menentukan kemampuan kelas karakter. Contohnya dalam Role-Playing Game di mana pemain dapat mengambil kepribadian dari wizard, fighter, rouge, atau ranger. Setiap kelas memiliki kekuatan sendiri dan kelemahan yang relatif terhadap kelas-kelas lain.

(8)

Tabel 2.1 Character class ability (David M. Bourg & Glenn Seeman 2004, h.305)

Berdasarkan Tabel 2.1, sebagai contoh jika player adalah Wizard dan komputer adalah Rouge. Player menggunakan Ability jenis Use Magic kemungkinan berhasilnya 90% ketimbang Rouge yang hanya kemungkinan berhasilnya hanya 20%. Melalui penilai tersebut komputer mencari probilitas yang paling menguntung yaitu Wield Sword yang kemungkinan berhasilnya 70%.

2.4.4 State Transition

Kemampuan AI lebih lanjut dapat dilakukan dengan langkah menggabungkan probabilitas dengan state transition dalam finite state machine yang dapat digunakan untuk mengelola berbagai keadaan AI.

(9)

Gambar 2.1 mengambarkan nilai probilitas dan komputer akan membaca kondisi yang terjadi pada player, lalu komputer akan mencari kemungkinan yang ada, dan memilih kemungkinan yang paling menguntungkan untuk melakukan tindakan.

2.5 Game

Game adalah kata berbahasa Inggris yang berarti permainan atau pertandingan, atau bisa diartikan sebagai aktifitas terstruktur yang biasanya dilakukan untuk bersenang-senang.

2.5.1 Pengertian Game

Menurut Anggra (Zulfadli Fahrul Rozi, c2010, h.6) game atau permainan adalah sesuatu yang dapat dimainkan dengan aturan tertentu sehingga ada yang menang dan ada yang kalah, biasanya dalam konteks tidak serius dengan tujuan mencari kesenangan..

2.5.2 Jenis-jenis Game

Seiring dengan perkembangan industri game, jenis-jenis game semakin bervariasi. Perbedaan jenis game terletak pada gameplay, interaksi, dan kategori. Gameplay merupakan sebuah sistem yang berjalan pada game. Sistem tersebut meliputi storyline, cara bermain, menu, area permainan, dan lain sebagainya. Jenis-jenis game tersebut yaitu:

1. Maze game

Jenis game ini merupakan game yang paling awal muncul. Contoh yang paling dikenal di Indonesia adalah Game Pacman. Konsep dasar dari jenis ini adalah mengitari maze (lorong-lorong yang berhubungan) dan memakan beberapa item untuk menambah tenaga atau kekebalan. Tentunya dalam permainan ini ada musuh yang mengejar, tetapi dengan kekebalan yang dimiliki kita dapat mengejar balik.

2. Board game

Jenis game ini sama dengan game board tradisional seperti Monopoly. Tidak ada variasi yang memunculkan gameplay ataupun perubahan desain dari versi tradisonal keversi elektronik. Versi elektronik benar-benar hanya

(10)

memindahkan versi tradisional kelayar komputer. Umumnya game ini lebih menekankan pada kemampuan komputer menjadi lawan tanding dari pemain. Game ini melibatkan AI (Artificial Intelegence) atau kecerdasan buatan yang handal untuk bisa menjadikan game ini menantang pemain dengan baik.

3. Card Game

Game ini hampir sama dengan board game dan tidak memberikan perubahan yang berarti dari game versi tradisional yang sejenisnya. Variasi yang diberikan adalah kemampuan multiplayer dan tampilan yang lebih bervariasi dari versi tradisional. Contoh dari game jenis ini adalah Solitaire dan Hearts.

4. Battle card game

Jenis game ini jarang masuk ke Indonesia. Versi game ini sangat digemari di luar negeri dimana kita bisa membeli card untuk dikoleksi dan dipertarungkan dengan pemain lain. Contoh dari game ini adalah Battle Card Digimon.

5. Quiz game

Salah satu yang umum dikenal adalah game kuis “Who wants to be a millioner”, sebuah game dengan nama yang sama dari acara kuis televisi. Game ini sederhana dalam cara bermain yaitu hanya memilih jawaban benar dari beberapa pilihan jawaban. Biasanya pertanyaaan yang diberikan memang memiliki topik tertentu.

6. Puzzle Game

Game jenis ini memberikan tantangan kepada pemainnya dengan menjatuhkan sesuatu dari sebelah atas ke bawah. Pemain harus menyusun sedemikian rupa dan tidak ada yang tersisa ketika susunan diatasnya sudah akan dibuat. Susunan ini dilakukan secepat dan sebaik mungkin. Semakin lama akan semakin cepat dan semakin banyak objek yang jatuh. Contoh yang terkenal adalah Tetris.

7. Shooting game

Jenis ini banyak diminati karena mudah dimainkan. Biasanya musuh adalah berbentuk pesawat atau jenis lain. Datang dari sebelah atas dengan jumlah

(11)

yang banyak dan tugas pemain adalah menembak dan menghancurkannya secepat dan sebanyak mungkin.

8. First Person Shooting (FPS)

Jenis game ini merupakan jenis game yang paling popular. Game jenis ini membutuhkan kemampuan refleks pemain dan timing yang tepat. Game ini memerlukan kecepatan berpikir dan seolah-olah pemain berada dalam suasana dalam game tersebut. Contoh dari game ini Call of Duty: Modern Warfare.

9. Side scrolling game

Pemain bergerak sepanjang alur permainan kesatu arah dan menyelesaikan tugasnya. Ada yang meloncat, berlari, mengendap, dan menghindari halangan seperti proyektil, jurang, dan sebagainya. Contoh dari game ini adalah Prince of Persia, Sonic the Hedgehog.

10. Fighting game

Game ini memberikan kesempatan kepada pemain untuk saling bertarung dengan menggunakan berbagai kombinasi gerakan dalam petarungan. Ada yang mengadopsi gerakan bela diri, ada yang sama sekali tidak bisa dikategorikan alias gerakan liar. Terkadang musuh berbentuk bukan manusia melainkan makhluk yang tidak masuk akal sama sekali. Contoh dari game ini adalah Street Fighter, Tekken 2, Dragon Ball GT.

11. Racing game

Game ini memberikan permainan lomba kecepatan dari kendaraan yang dimainkan pemain. Terkadang di dalam arena, terkadang di luar arena balap. Contoh dari game ini adalah Crash Team Racing, Need for Speed Underground, Superbike GP.

12. Simulation

Merupakan jenis game yang menggunakan simulasi seperti keadaan sebenarnya, terkadang kita diajak untuk menciptakan suasana lingkungan yang diinginkan. Dalam memainkan tokoh karakter tersebut pemain bertanggung jawab atas inteligen serta kemampuan fisik dari tokohnya tersebut. Tokoh karakter tersebut memerlukan kebutuhan layaknya manusia seperti kegiatan belajar, bekerja, belanja, bersosialisasi, memelihara hewan, memelihara lingkungan dan

(12)

lain-lain. Lawan mainnya bisa berupa pemain lain yang memainkan karakter sebagai tetangga maupun komputer dengan kecerdasan buatan tingkat tinggi. Contoh dari game ini adalah The Sims 3.

13. Strategy game

Game ini terbagi menjadi dua yaitu Turn-Based Strategy Game dan Real-Time Strategy Game. Perbedaannya adalah Turn-Based Strategy Game jika diilustrasikan sama dengan permainan catur, jadi terjadi pergantian antar pemain. Real-Time Strategy Game tidak perlu menunggu, jadi kecepatan pemain akan sangat memungkinkan untuk menang.

14. Role Playing Game (RPG)

RPG (role-playing game) adalah sebuah permainan yang para pemainnya memainkan peran tokoh-tokoh khayalan dan berkolaborasi untuk merajut sebuah cerita bersama. Para pemain memilih aksi tokoh-tokoh mereka berdasarkan karakteristik tokoh tersebut, dan keberhasilan aksi mereka tergantung dari sistem peraturan permainan yang telah ditentukan. Asal tetap mengikuti peraturan permainan yang ditetapkan, para pemain bisa berimprovisasi membentuk arah dan hasil akhir dari permainan ini. Pemain memiliki peran tertentu seperti kesehatan, mata-mata, kekuatan, dan keahlian. Contoh dari game ini Crytal Legacy, NaROSE online.

15. Adventure game

Game ini merupakan game petualangan dimana dalam perjalanannya, pemain akan menemukan banyak hal dan peralatan yang akan disimpan. Peralatan itu akan digunakan selama dalam perjalanan, baik untuk membantu dan menjadi petunjuk. Contoh dari game ini adalah Beyond Good and Evil.

16. Sport game

Game ini merupakan jenis game olahraga yang ada pada keadaan nyata. Seperti game sepak bola, basket, bola voli, tenis dan sebagainya.

17. Edutainment game

Game ini bertujuan lebih untuk memancing minat belajar anak sambil bermain. Contohnya adalah Game Boby Bola.

(13)

2.5.3 Komponen-komponen Game

Adapun beberapa komponen-komponen dalam sebuah game adalah sebagai berikut:

1. Fitur

Fitur merupakan hal yang bisa membedakan setiap game yang ada. Fitur juga bisa menggambarkan jalan cerita game kedalam bentuk-bentuk yang dapat dilihat maupun dirasakan.

2. Gameplay

Gameplay membantu pengembang game untuk mengetahui cara kerja suatu game, di mana fitur-fitur yang ada akan membentuk suatu gameplay.

3. Interface

Interface merupakan semua tampilan yang ada dalam suatu game. Sebuah interface yang baik adalah interface yang tidak membosankan dan memudahkan pemain game.

4. Aturan atau rules

Merupakan kumpulan aturan-aturan dalam sebuah game yang menjadi pedoman user dalam bermain.

5. Desain Level

Desain level mencakup style, background, dan jalan cerita dari sebuah game.

2.6 Android

Android adalah sistem operasi untuk telepon seluler yang berbasis Linux. Android menyediakan platform terbuka bagi para pengembang buat menciptakan aplikasi mereka sendiri untuk digunakan oleh bermacam peranti bergerak. Awalnya, Google Inc. membeli Android Inc., pendatang baru yang membuat peranti lunak untuk ponsel.

(14)

Gambar 2.2 Logo Android (http://developer.android.com/index.html)

Android sejak awal memiliki konsep sebagai software berbasis kode komputer yang didistribusikan secara terbuka (open source) dan gratis. Open source inilah sebenarnya kata kunci mengapa Android begitu seksi di mata para petualang gadget (Android 2013).

2.7 Bahasa Pemrograman Lua

Lua ditulis pertama kali oleh Roberto Ierusalimschy, Luiz Henrique de Figueiredo, dan Waldemar Celes yang merupakan anggota Computer Graphics Technology Group (Tecgraf) pada Universitas Pontifical Catholic, Rio de Janeiro, Brazil, pada Tahun 1993.

Gambar 2.3 Logo Lua (http://www.lua.org/images/lua-logo.gif)

Lua merupakan bahasa pemrograman dinamis yang ditujukan untuk digunakan sebagai bahasa skrip, dan cukup ringkas untuk disisipkan dalam berbagai jenis platform utama.

2.7.1 Kelebihan Bahasa Pemrograman Lua

Keunggulan fasilitas-fasilitas berikut menjadikan Bahasa Pemrograman Lua jauh berbeda dari bahasa-bahasa pemrograman lainnya yaitu:

(15)

1. Extensibility

Lua sangat menarik perhatian sehingga banyak orang menganggap Lua bukan sebagai suatu bahasa, tetapi sebagai suatu perangkat untuk membangun bahasa-bahasa domain spesifik. Lua telah dirancang untuk diperluas atau diaplikasikan, pada kode Lua dan kode eksternal C. Sebagai suatu bukti dari konsep, Lua menerapkan banyak kemampuan dasarnya melalui fungsi-fungsi eksternal. Kemampuan tersebut sangat mudah untuk menghubungkan Lua dengan C/C++ dan bahasa-bahasa lain, seperti Fortran, Java, Smalltalk, bahkan dengan bahasa-bahasa penulisan yang lain.

2. Simplicity

Lua adalah bahasa yang mudah dan sederhana. Lua mempunyai sedikit konsep (namun tangguh). Kesederhanaan ini membuat Lua mudah dipelajari dan memperbesar suatu implementasi yang sederhana. Distribusinya yang lengkap (source program, manual, biner-biner lebih untuk beberapa platform) sesuai dengan floopy disk.

3. Efisiensi

Lua mempunyai implementasi yang efisien. Benchmark-benchmark yang mandiri menunjukkan Lua sebagai bahasa tercepat dalam dunia bahasa penulisan (interpreted).

2.7.2 Kekurangan Bahasa Pemrograman Lua

Selain memiliki beberapa kelebihan, Bahasa Pemrograman Lua juga memiliki beberapa kekurangan. Adapun kekurangan yang dimiliki Bahasa Pemrograman Lua adalah sebagai berikut:

1. Lua tidak menyediakan fitur yang lengkap dan kompleks yang hanya berfokus pada satu paradigma pemrograman. Sebagai contoh, Lua tidak secara eksplisit mendukung inheritance yang merupakan kemampuan untuk menurunkan sifat sebuah obyek dalam konsepsi pemrograman berorientasi obyek

2. Lua hanya mendukung beberapa jenis struktur data atomik seperti boolean, floating point, serta string. Jenis-jenis tipe atau struktur data

(16)

lainnya seperti array, set, ataupun list direpresentasikan dalam Lua melalui satu bentuk tipe data yaitu table.

2.8 Corona SDK

Corona adalah Software Development Kit untuk membuat aplikasi di berbagai platform seperti Android, iOS, Amazon Kindle dan Nook. Corona mendukung perangkat dengan processor minimal ARMv7 dan Sistem Operasi Android mulai dari Versi 2.2 (froyo) dan iOS mulai dari Versi 4.3. Corona mengunakan ekstensi khusus bernama LUA (Corona2013).

Corona SDK berbeda dari bahasa pemrograman lainnya, di dalam Corona SDK sendiri telah tertanam worksheet dan sistem debugging. Corona SDK menggunakan editor teks dasar untuk menulis kode, dan editor grafis untuk membuat gambar. Corona sendiri hanya akan bertugas menyusun dan running program. Untuk memulainya dibutuhkan API Corona dan editor teks yang layak (Silvia Domenech 2013).

Gambar 2.4 Logo corona SDK (http://coronalabs.com/products/corona-sdk/)

Menggunakan Bahasa Pemrograman Lua, Corona SDK memiliki banyak API yang dapat dimanfaatkan untuk menghasilkan aplikasi yang komplit. Corona dibuat oleh Ansca (http://www.anscamobile.com), sebuah perusahaan kecil di Palo Alto, California (B. Burton 2013).

2.8.1 Kelebihan Corona SDK

Adapun kelebihan-kelebihan Corona SDK dibandingkan dengan software lainnya dalah sebagai berikut:

(17)

Corona SDK dapat mengembangkan aplikasi dengan lebih cepat. Kuncinya ada dibahasa pemrograman yang mudah untuk dipahami bahkan untuk pemula sekalipun.

2. Go cross-platform dengan mudah

Program hasil dari Corona SDK secara otomatis dapat terbaca pada platform Android dan iOS bahkan sekarang juga sudah mendukung Kindle Fire dan Nook.

3. Tanpa fragmentasi

Corona SDK otomatis memilih asset yang tepat berdasarkan resolusi layar dan skala konten tergantung pada ukuran layar perangkat pengguna.

2.8.2 Kekurangan Corona SDK

Selain memiliki beberapa kelebihan, Corona SDK juga memiliki beberapa kekurangan. Adapun kekurangan yang dimiliki Corona SDK adalah sebagai berikut:

1. Diperlukan koneksi internet untuk mem-build APK

Setelah projek game atau aplikasi selesai dibuat dan ingin build menjadi APK maka user diharuskan untuk terhubung keinternet agar bisa melakukan build ke APK.

2. Engine masih dalam pengembangan

Engine dalam Corona SDK masih dalam tahap pengembangan. Misalnya dalam tahap pembuatan game, user menggunakan Corona SDK versi lama maka source code akan error jika di-compile pada Corona SDK versi terbaru hal ini dikarenakan engine pada versi terbaru dan lama berbeda sehingga akan terjadi error.

3. Pembacaan bug atau error kurang baik

Apabila terdapat bug atau error saat compile source code projek, user akan sedikit kesulitan untuk melihat error atau bug-nya karena tidak ditampilkan pada editor melainkan pada simulator Corona SDK.

(18)

2.9 Adobe Illustrator

Adobe Illustrator adalah sebuah program perangkat lunak menggambar diciptakan oleh Adobe Systems yang menggunakan vektor. Pertama kali diciptakan pada tahun 1986, dan dirancang untuk bekerja dengan komputer Macintosh. Adobe Illustrator adalah alat yang ampuh yang memiliki kurva belajar rendah. Orang-prang telah menemukan Adobe Illustrator untuk menjadi alternatif yang berguna untuk alat desain kompleks seperti AutoCad. Adobe Illustrator tempat penekanan pada lukisan, sesuatu yang hilang dari AutoCad ketika pertama kali diperkenalkan (http://www.adobe.com/).

2.10 Adobe Audition

Adobe Audition merupakan suatu program yang digunakan untuk merekam, mengedit suara dalam bentuk digital yang berbasis Windows. Program ini dilengkapi dengan modul-modul efek suara, seperti Delay, Echo, Pereduksi Noise/Hiss, Reverb, Pengatur Tempo, Pitch, Graphic dan Parametric Equalizer. Adobe Audition memberikan fasilitas perekaman suara sampai dengan 128 track hanya dengan satu sound card, hal ini akan memberikan kemudahan bagi seorang sound editor untuk berekspresi lebih jauh. Pengeditan suara bisa dilakukan dalam bentuk .wav dan penyimpanan bisa di-convert dalam bentuk format seperti .wma, .mp3, mp3pro, dan lain-lain. Dalam arrangement sebuah musik bisa dilakukan dengan menambahkan beberapa alat musik dan dikoneksikan dengan line in atau microphone dari soundcard. Beberapa kelebihan atau fasilitas yang disediakan Adobe Audition (http://www.adobe.com/):

1. Multitrack Editing dan Mixing sampai 128 track

2. Lebih dari 40 data sound effect, mastering, perangkat analisa editing suara terdapat didalamnya, semua ini termasuk Echo, Reverb, Flanging, Chorusing, Compression, Limiting, Equalization, Noise Reduction, dan lainnya.

3. Support untuk banyak format audio

4. Visualisasi dari gelombang suara analisa dalam bentuk angka 5. Proses editing dilakukan dengan klik dan drag

(19)

2.11 UML (Unified Modeling Language)

Pemecahan masalah utama dari object oriented biasanya dengan penggambaran dalam bentuk model. Model abstrak (semu) merupakan gambaran rinci dari inti masalah yang ada, umumnya sama seperti refleksi dari masalah yang ada pada kenyataan. Beberapa modeling tool yang dipakai adalah bagian dari dasar UML yang merupakan kependekan dari United Modeling Language (T. Sumarta, 2004). UML terdiri atas beberapa diagram, yaitu:

1. Diagram Use Case 2. Diagram Class 3. Diagram Sequence 4. Diagram Activity

Semakin kompleks bentukan sistem yang akan dibuat, maka semakin sulit komunikasi antara orang-orang yang saling terkait dalam pembuatan dan pengembangan software yang akan dibuat. UML pada masa lalu mempunyai peranan sebagai Software Blueprint Language untuk analisis sistem, designer, dan programmer. Sedangkan pada saat ini, merupakan bagian dari Software Trade (bisnis software). UML memberikan jalur komunikasi dari sistem analis kemudian designer, lalu programmer mengenai rancangan software yang akan dikerjakan. Salah satu pemecahan masalah object oriented adalah dengan menggunakan UML. Orang-orang yang berminat dalam mempelajari UML harus mengetahui dasar-dasar mengenai object oriented solving (pemecahan masalah OO). Tahap pertama, pembentukan model, yaitu gambaran abstrak dari suatu dasar masalah. Dunia nyata atau tempat di mana masalah itu timbul bisa disebut dengan domain.

Model mengandung obyek-obyek yang beraktifitas dengan saling mengirimkan messages (pesan-pesan). Obyek mempunyai sesuatu yang diketahui (atribut atau attributes) dan sesuatu yang dilakukan (behaviors atau operations). Attributes hanya berlaku dalam ruang lingkup obyek itu sendiri (state). Blueprint dari suatu obyek adalah Classes (kelas) dan byek merupakan bagian-bagian dari kelas.

(20)

2.11.1 Use Case Diagram

Use case diagram menggambarkan apa saja aktifitas yang dilakukan oleh suatu sistem dari sudut pandang pengamatan luar, yang menjadi persoalan itu “apa yang dilakukan bukan bagaimana melakukannya”. Diagram use case dekat kaitannya dengan kejadian-kejadian. Kejadian merupakan contoh apa yang terjadi ketika seseorang berinteraksi dengan sistem. Gambar 2.5. adalah gambaran suatu peristiwa untuk sebuah klinik kesehatan.

Gambar 2.5 Contoh use case diagram (T. Sumarta, B. S. 2004)

Pasien menghubungi klinik untuk membuat janji (appointment) dalam pemeriksaan tahunan. Receptionist mendapatkan waktu yang luang pada buku jadwal dan memasukkan janji tersebut ke dalam waktu luang itu. Diagram Use Case berguna dalam tiga hal:

1. Menjelaskan fasilitas yang ada (requirements)

Case baru selalu menghasilkan fasilitas baru ketika sistem dianalisa dan desain menjadi lebih jelas.

2. Komunikasi dengan klien

Penggunaan notasi dan simbol dalam diagram use case membuat pengembang lebih mudah berkomunikasi dengan klien-kliennya.

3. Membuat tes dari kasus-kasus secara umum

Kumpulan dari kejadian-kejadian untuk use case bisa dijadikan tes kasus layak untuk kejadian-kejadian tersebut.

2.11.2 Class Diagram

Class diagram memberikan pandangan secara luas dari suatu sistem dengan menunjukan kelas-kelasnya dan hubungan mereka. Diagram Class bersifat

(21)

statis, “menggambarkan hubungan apa yang terjadi bukan apa yang terjadi jika mereka berhubungan”. Diagram Class mempunyai 3 macam relationships (hubungan), sebagai berikut:

1. Association

Suatu hubungan antara bagian dari dua kelas. Terjadi association antara dua kelas jika salah satu bagian dari kelas mengetahui yang lainnya dalam melakukan suatu kegiatan. Association adalah penghubung yang menghubungkan dua kelas di dalam diagram..

2. Aggregation

Suatu association dimana salah satu kelasnya merupakan bagian dari suatu kumpulan. Aggregation memiliki titik pusat yang mencakup keseluruhan bagian. Sebagai contoh: OrderDetail merupakan kumpulan dari Order.

3. Generalization

Suatu hubungan turunan dengan mengasumsikan satu kelas merupakan suatu superClass (kelas super) dari kelas yang lain. Generalization memiliki tingkatan yang berpusat pada superClass. Contohnya dalah Payment adalah superClass dari Cash, Check, dan Credit.

Untuk tambahan bahwa association mempunyai 2 titik. Salah satu titik bisa memiliki label untuk menjelaskan association tersebut, contohnya OrderDetail adalah line item untuk setiap permintaan. Panah navigability (pengatur alur arah) dalam suatu association menggambarkan arah mana association dapat ditransfer atau disusun. OrderDetail seperti dalam contoh dapat disusun dari item-nya, namun tidak bisa sebaliknya. Panah ini juga menjelaskan siapa “memiliki” implementasi dari association, dalam kasus ini OrderDetail memiliki item. Association tanpa arah panah merupakan bidirectional (bolak-balik).

(22)

Gambar 2.6 Contoh penggunaan diagram class (T. Sumarta, B. S. 2004)

Multiplicity dari suatu titik association adalah angka kemungkinan bagian dari hubungan kelas dengan single instance (bagian) pada titik yang lain. Multiplicity berupa single number (angka tunggal) atau range number (angka batasan).

2.11.3 Sequence Diagram

Sequence diagram merupakan salah satu diagram Interaction yang menjelaskan bagaimana suatu operasi itu dilakukan, message (pesan) apa yang dikirim dan kapan pelaksanaannya.

(23)

Gambar 2.7 Contoh penggunaan diagram sequence (T. Sumarta, B. S. 2004)

Diagram ini diatur berdasarkan waktu. Obyek-obyek yang berkaitan dengan proses berjalannya operasi diurutkan dari kiri ke kanan berdasarkan waktu terjadinya dalam pesan yang terurut.

2.11.4 Activity Diagram

Activity diagram sering digunakan oleh flowchart. Diagram ini berhubungan dengan diagram statechart. Diagram statechart berfokus pada obyek yang dalam suatu proses (atau proses menjadi suatu obyek), diagram activity berfokus pada aktifitas-aktifitas yang terjadi yang terkait dalam suatu proses tunggal.

(24)

Gambar 2. 8 Contoh penggunaan diagram activity (T. Sumarta, B. S. 2004)

Diagram ini dapat dikatakan sebagai penunjuk bagaimana aktifitas-aktifitas tersebut bergantung satu sama lain.

Gambar

Gambar 2.1  Hirarki probability game (David M. Bourg & Glenn Seeman 2004, h.305)
Gambar 2.3  Logo Lua ( http://www.lua.org/images/lua-logo.gif )
Gambar 2.4  Logo corona SDK ( http://coronalabs.com/products/corona-sdk/ )
Gambar 2.5 Contoh use case diagram  (T. Sumarta, B. S. 2004)
+4

Referensi

Dokumen terkait

Berdasarkan hasil wawancara dengan Ibu Hariyanti yang merupakan guru busana pria, mengatakan bahwa dengan jumlah jam pelajaran yang cukup lama sering membuat siswa

Dengan nilai signifikan sebesar 0,000 yang nilainya lebih kecil dari tingkat signifikan yang ditetapkan yaitu (α=0.05) ini menyatakan bahwa persepsi kualitas pelayanan

Melakukan etnografi virtual dengan medium internet pada prinsipnya adalah menggambarkan budaya dan artefak secara parsial atau tidak utuh. Sangat tidak mungkin bagi

Dari hasil penelitian yang telah dilaksanakan dapat disimpulkan bahwa sebagai berikut; 1). Distribusi frekuensi responden berdasarkan PHBS kebiasaan cuci tangan dalam kategori

Hal itu terjadi karena pengguaan bentuk peranti kohesi yang tidak tepat antara lain: penggunaan penyulihan (substitusi), penggunaan pelesapan (elipsis) yang kurang tepat

Ibu Riko membeli 4 pak buku tulis, ibu Fandi yang sudah mempunyai 3 buku tulis membeli 3 pak buku tulis yang sama, dan Ibu Anwar membeli membeli 24 buku tulis!. Sumber :

• Penanganan bencana bagi Rumah sakit dibagi dalam dua kelompok yaitu Internal Disaster (bencana yang terjadi pada Rumah sakit) dan.. External disaster ( Rumah sakit harus turut

Pemahaman yang mendalam terhadap arti penting materi pelajaran yang disajikan guru serta preferensi kognitif yang mementingkan aplikasi prinsip-prinsip akan meningkatkan kecakapan