bab ii kajian pustaka 2.1 state of the art ii.pdf · cerita wayang yang merupakan ciri khas adat...
TRANSCRIPT
-
1
BAB II
KAJIAN PUSTAKA
2.1 State of the Art
Aplikasi Dalang berbasis Android merupakan sebuah aplikasi yang
berkaitan dengan pemahaman masyarakat Bali terhadap cerita dan pengarangan
cerita wayang yang merupakan ciri khas adat Bali. Aplikasi Dalang berbasis
Android ini dibuat agar masyarakat Bali khususnya generasi muda dapat
melestarikan profesi dalang.
Game wayang telah dipaparkan pada jurnal yang berjudul Rancang
Bangun Game Pertempuran Lakon Wayang Sebagai Sarana Pengenalan Tokoh
Pewayangan Indonesia yang disusun oleh Aditya Yoga Prahara dan Taqwa
Hariguna. Jurnal tersebut membuat sebuah aplikasi game bertempur lakon wayang
yang menggunakan tombol maju mundur dan dapat bertempur layaknya manusia
biasa dengan teknik memukul dan menendang. (Aditya, 2013)
Game ini dilatarbelakangi akibat masuknya budaya luar yang
mengakibatkan masyarakat Indonesia lupa dengan kearifan lokal, nilai-nilai
keluhuran pada zaman dahulu. Menurut Aditya yoga prahara masyarakat Indonesia
kurang tertarik akan cerita pewayangan Indonesia. Masyarakat Indonesia lebih
tertarik akan cerita fantasi yang berasal dari luar negeri dan budaya barat yang
masuk ke dalam Indonesia. Akibat dari hal tersebut yaitu mengakibatkan
terbuangnya cerita pewayangan dari Indonesia dan akhirnya cerita pewayangan
tersebut akan hilang dan dapat di klaim oleh negara lain jika masyarakat belum
menyadari bahwa pentingnya untuk melestarikan budaya asli Indonesia.
Masyarakat yang masih peduli dengan pentingnya melestarikan budaya
asli indonesia telah melakukan berbagai macam cara untuk mengenalkan kembali
cerita pewayangan kepada generasi muda Indonesia diantaranya yaitu, dengan
tulisan, gambar ataupun animasi. Aditya yoga prahara mengenalkan kembali cerita
pewayangan dalam bentuk sebuah game. Game yang dibuat oleh Aditya Yoga
Prahara yaitu game pertempuran lakon wayang. Game ini seperti game fighter
biasanya. Tetapi, yang membedakannya yaitu karakter yang digunakan yaitu
-
2
karakter pewayangan sehingga secara tidak langsung Aditya Yoga Prahara
membantu generasi muda untuk mengenal cerita pewayangan Indonesia.
Ensiklopedia wayang telah dipaparkan pada jurnal yang berjudul
Rancang Bangun Aplikasi Ensiklopedia Wayang Berbasis Android yang disusun
oleh Sani Cahyadi Firdaus. Jurnal tersebut membuat sebuah ensiklopedia wayang
sebagai media pembelajaran yang menjadi alternatif belajar bagi pelajar dan
mahasiswa.(Sani Cahyadi, 2013)
Ensiklopedia yang dirancang oleh Sani Cahyani Firdaus berbeda dengan
ensiklopedia biasanya. Ensiklopedia yang dirancang ini dapat diakses kapanpun
tanpa menggunakan koneksi internet sehingga dapat memudahkan pengguna untuk
mengaksesnya. Ensiklopedia ini dibangun pada platform Android yang
menjelaskan tentang definisi wayang, asal usul wayang, istilah-istilah yang sering
digunakan di dunia wayang, kisah-kisah wayang, dan tokoh-tokoh pewayangan
Mahabaratha.
Implementasi teknik sabetan telah dipaparkan pada jurnal yang berjudul
Implementasi Teknik Sabetan melalui Kinect (Studi Kasus Pengenalan Gerak
Wayang Kulit Tokoh Pandawa) yang disuun oleh Toto Haryadi. Jurnal tersebut
akan mengimplementasikan sensor Kinect dengan menggunakan teknologi motion
capture melalui penelitian dan eksperimen.(Toto,2013)
Metode yang digunakan dalam penelitian ini yaitu, pengumpulan data,
analisa data dan perancangan aplikasi berbasis multimedia (MDLC) dan teori
interaksi desain. Data dikumpulkan dengan menggunakan metode deskriptif
kualitatif, wawancara, observasi, dokumentasi dan studi literatur. Penelitian ini
menghasilkan prototype dari aplikasi interaktif Dalang Virtual yang
mengimplementasikan variasi teknik gerakan wayang pandawa yang pada
umumnya digunakan dalam pertunjukan wayang.
Teknologi baru pada pendidikan dan proses mengajar tidak hanya
berkontribusi pada proses kognitif tetapi juga untuk tingkat emosional siswa. Dalam
sebuah permainan kita melihat pengaruh unur-unsur lain seperti desain, estetika,
plot, serta nilai-nilai sikap dan perilaku. Contohnya, permainan puzzle dan
-
3
permainan daya ingat yang digunakan untuk membangun pembentukan pendidikan
untuk anak-anak dan dewasa.
Penelitian ini telah berhasil mamasukkan teknologi ke dalam dunia
pendidikan dengan menggunakan teknologi yang interaktif dan menarik untuk
anak-anak. Maka dari itu Aplikasi Pewayangan yang dibuat mengambil teknologi
tersebut agar aplikasi pewayangan ini dapat berhasil seperti media pembelajaran
matematika pada penelitian ini.
Storytelling wayang kulit ini telah dipaparkan pada jurnal yang berjudul
Innovation in Wayang Kulit Storytelling using Digital Interactive Method yang
disusun oleh Muhammad Colmann Abdullah. Jurnal tersebut membuat sebuah
Cerita wayang kulit dengan menggunakan metode digital interaktif. (Muhammad,
2014).
Kemajuan teknologi sangat memungkinkan antarmuka pengguna yang
interaktif. Penelitian ini akan memberikan wawasan dalam mengenali karakter
dalam wayang kulit Kelantan. Wayang kulit Kelantan merupakan sebuah wayang
kulit yang berasal dari Malaysia. Wayang kulit Kelantan ini juga dimainkan oleh
sebuah dalang yang bernama Tok Dalang. Penelitian ini membuat sebuah dongeng
wayang kulit dengan memanfaatkan media digital yang inovatif sehingga anak-
anak dapat mengenali dan mempelajari wayang kulit Kelantan.
2.2 Sejarah Pewayangan Bali
Sejarah pewayangan hingga saat ini belum diketahui penyebab, asal usul,
bentuk dan proses perkembangannya sehingga menjadi seperti pertunjukan wayang
saat ini. Banyak hipotesis dari peneliti yang mengatakan bahwa wayang digunakan
sebagai sarana dalam pemujaan roh-roh leluhur. Hipotesis tersebut dapat diterima
oleh masyarakat dan hipotesis tersebut telah berlaku di banyak daerah yang
mengenal wayang. (Ketut Rota, 1977)
Beberapa prasasti yang ditemukan di Bali yang menyebutkan keberadaan
wayang tidak dapat membantu usaha peneliti untuk mengetahui secara pasti
bagaimana wujud /bentuk pertunjukan wayang pada abad- abad sebelumnya,
Seperti yang telah disebutkan oleh Drs Ketut Rota pada tahun 1977. Prasasti yang
-
4
ditemukan peneliti hanya dapat diketahui bahwa pertunjukan wayang pada sekitar
abad IX XI merupakan suatu profesi diantara profesi yang dilakukan oleh
masyarakat pada zaman itu. Berikut ini merupakan prasasti prasasti yang
ditemukan oleh beberapa peneliti :
1. Prasasti Bebetin (Tahun 818 Caka / 896 M)
Prasasti bebetin ditemukan oleh Dr. R. Goris yang ditemukan pada tahun
896 Masehi menyatakan bahwa :
. . . pande tambaga, pamukul, pagending, pabujing, papadaha, barbhangci,
partapukan, parbwayang, panekan, dihyang api, tikasanna, metani kasiddhan
dudukyan hu . . . . .
Prasasti bebetini ini menyatakan beberapa kelompok orang yang
menggambarkan profesi tertentu seperti, pande tambaga sebagai pandai tembaga,
pamukul sebagai penabuh gambelan, pagending sebagai juru kidung (juru gending),
pabunjing sebagai juru tabuh angklung bambu, papadaha sebagai juru tabuh
kendang, parbhangai sebagai juru tiup suling, partapukan sebagai para penari
topeng, dan parbwayang sebagai orang yang mempertunjukkan wayang (Dalang).
2. Prasasti Dawan (Tahun 975 Caka / 1053 M)
Prasasti Dawan yang berangka tahun 975 Caka atau 1053 Masehi
menyatakan :
. . . yan hana agending ambaran ku 1 amukul sa 3 pawehanya ing satuhan aringgit
atali tali banjuran wehanya ku 1 ri satuhan . . . .
Prasasti dawan tersebut memiliki arti setiap juru gending yang memainkan
kidungnya dihadapan raja maka akan diberikan upah sebesar 2 kupang, juru kidung
yang nglawang diberikan upah 1 kupang, juru tabuh gambelan diberikan 3 kupang,
dan perkumpulan wayang diberikan 1 kupang.
3. Prasasti Blantih (Tahun 980 Caka / 1058 M)
Prasasti Blantih yang berangka tahun 980 Caka atau 1058 Masehi
menyatakan :
-
5
. . . mang kana yan hana abanwal, atapukan, aringgit, pirus, menmen, I haji
maranmak ku 2 pawehanya I riya anuling ku 3, agending ambaran maranmak ku 2
pawehanya I riya ameling ku 1, amukul ku 2 pawehanya i riya . . . . .
Prasasti Blantih ini menyatakan bahwa jika ada pertunjukan lawak, topeng,
wayang, badut, (pemain drama) yang bermain dihadapan raja maka akan diberi
upah 2 kupang, juru kidung 2 kupang, juru suling 1 kupang, juru tabuh 2 kupang.
Prasasti - prasasti yang telah disebutkan sebelumnya menunjukkan bahwa
sekitar tahun 896 Masehi pertunjukkan wayang di Bali telah berkembang dalam
keadaan yang sudah teratur. Keahlian seseorang dalam memainkan wayang juga
telah menjadi suatu profesi tersendiri. Drs Ketut Rota dapat menduga bahwa
sebelum tahun 896 permainan wayang sudah berdiri walaupun dalam wujud yang
sederhana. (Ketut Rota, 1978)
2.3 Wayang
Wayang merupakan sebuah seni pertunjukkan yang menayangkan
pertunjukan boneka-boneka dua dimensi yang sebagian besar dibuat menggunakan
kulit yang ditatah dan diukir. Wayang dipertunjukkan kepada khalayak masyarakat
dengan seorang Dalang. Wayang memiliki karakter yang berbeda-beda sesuai
dengan bentuk dan ukirannya. Wayang kulit biasanya menggunakan tokoh-tokoh
dari cerita Mahabharata, Ramayana, Cupak dan Grantang, dan lain sebagainya.
2.4 Dalang
Dalang merupakan orang yang meengatur alur cerita dari sebuah
pertunjukan Wayang. Dalang dikenal juga dengan sebutan pakeliran, pengertian
pakeliran yaitu orang yang menyajikan peristiwa-peristiwa atau adegan yang ada di
dalam suatu cerita atau lakon. Pertunjukan Wayang Kulit dikendalikan oleh seorang
Dalang. Dalang berperan sebagai sutradara, pemeran, sekaligus stage manager di
dalam sebuah pertunjukan Wayang. Dalang juga merupakan figure sentral yang
menentukan segala sesuatu yang berhubungan dengan jalannya sebuah pertunjukan
-
6
Wayang, jadi seberapa menarik pertunjukan Wayang tergantung dari seberapa
menarik dan unik dari seorang Dalang. (Bambang Murtoyoso,2007)
Seni Pedalangan memiliki empat unsur penting yang harus dimiliki dan
dikuasai oleh seorang Dalang. Berikut ini merupakan empat unsur penting yang
harus dikuasai oleh seorang dalang :
1. Bahasa
Bahasa merupakan unsur yang paling penting yang harus dikuasai oleh
seorang Dalang. Dalang harus memperhatikan tutur kata yang digunakan untuk
memainkan sebuah Wayang. Wacana yang diucapkan oleh seorang Dalang disebut
dengan basa pedalangan. Bahasa yang digunakan yaitu Bahasa Bali halus sesuai
dengan sor singgih bahasanya. Bahasa yang digunakan oleh Dalang menjadi sebuah
media komunikasi antara Dalang dengan penonton, sehingga ungkapan Dalang
dapat berupa narasi dan dialog dari tokoh-tokoh Wayang.
2. Suara
Suara merupakan sebuah ungkapan yang dilantunkan oleh seorang Dalang.
Ungkapan dapat berupa wacana, vokal Dalang, maupun karawitan. Ungkapan
dalam sebuah pertunjukan Wayang tidak hanya sebagai sarana komunikai,
melainkan sebuah ungkapan yang mengacu pada wujud, karakter, dan suasana
tokoh Wayang. Pengolahan suara sangat menentukan sebuah keberhasilan dari
pertunjukan Wayang karena dengan pengolahan suara yang tepat akan memperjelas
perbedan wujud karakter dan suasana tiap-tiap tokoh. Suara merupakan unsur yang
mutlak harus ada di dalam sebuah pertunjukan Wayang, tanpa adanya suara Dalang
tidak dapat mengungkapkan kesan estetik melalui suara wacana dan vocal sesuai
dengan dialog dan alur cerita dari pertunjukan Wayang.
3. Gerak
Gerak merupakan sebuah ekspresi gerak dari sebuah Wayang. Tugas
seorang dalang yaitu, untuk menghidupkan tampilan wayang melalui ekspresi
gerak. Penampilan gerak Wayang tidak sekedar gerak dari titik a ke titik b,
melainkan gerakan yang ekspresif, berkesan hidup dan sesuai dengan karakter
wayang yang ditampilkan. Seorang Dalang untuk menggerakkan wayang harus
-
7
menguasai teknik-teknik dasar dari pedalangan yang meliputi bentuk, volume,
intonasi, tempo, dan kesesuaian dengan iringan. Kepiawaian seorang Dalang untuk
mengolah gerak melalui penampilan Wayang akan menimbulkan kesan estetik
lewat gerakan dari Wayang yang tampak hidup. Gerak merupakan unsur yang harus
ada di dalam sebuah pertunjukan wayang, karena tanpa adanya gerak seorang
Dalang tidak dapat mengungkapkan keindahan yang ada di dalam sebuah cerita
Wayang.
4. Rupa
Rupa merupakan sebuah sarana pengungkapan wujud sebuah Wayang.
Rupa meliputi tampilan bentuk, warna, dan karakter dari sebuah Wayang. Penonton
atau khalayak masyarakat megenal karakter dari masing-masing Wayang dengan
melihat dari rupa wayang tersebut. Rupa merupakan sebuah unsur yang harus ada
di dalam sebuah pertunjukan wayang, karena tanpa adanya rupa, peonton atau
khalayak masyarakat tidak dapat membedakan perbedaan karakter Wayang a
dengan karakter Wayang b.
2.5 Corona SDK
Corona Sdk merupakan sebuah Software Development Kit yang di rancang
oleh walter luh, dimana walter luh merupakan penemu dari Corona Labs Inc.
Developer dapat membangun aplikasi mobile berbasis Android, iPhone dan iPad
dengan menggunakan Cororna Sdk.
Gambar 2.1 Icon Corona Sdk
-
8
Pemrograman dengan menggukan Corona Sdk sangat mudah, dikarenakan
Corona Sdk telah dirancang dengan sifat easy to learn sehingga developer pemula
dapat dengan mudah membuat sebuah aplikasi ber-platform android dan iPhone.
Berikut ini merupakan fitur-fitur yang disediakan oleh Corona Sdk :
1. Corona Sdk dapat membangun sebuah aplikasi berbasis Android, iOS,
Kindle, dan NOOK
2. Corona Sdk bersifat One-Click Builds
3. Limited Corona Plugins
Corona Sdk juga memiliki beberapa kelebihan dan juga kekurangan.
Berikut ini merupakan kelebihan mengembangkan aplikasi mobile menggunakan
Corona Sdk:
1. Corona Sdk dapat mengembangkan aplikasi 10 kali lebih cepat, karena
Corona Sdk menggunakan Bahasa lua.
2. Proses debugging dari aplikasi yang dibuat menggunakan corona secara
otomatis dapat terbaca pada platform android dan iOS.
3. Corona Sdk secara otomatis dapat memilih asset berdasarkan resolusi
layar, sehingga pengguna tidak perlu men-setting ulang resolusi layar
untuk men-debug aplikasi pada resolusi layar yang kecil.
Corona Sdk juga memiliki beberapa kelemahan yang harus diperhatikan,
berikut ini merupakan kekurangan dari Corona Sdk :
1. Corona Sdk tidak menggunakan GUI dalam proses layouting, sehingga
menyulitkan pengguna awam dalam penggunaannya.
2. Proses debugging pada Corona Sdk belum akurat.
2.6 Lua
Lua merupakan sebuah Bahasa pemrograman yang cepat dan ringan. Lua
mengkombinasikan syntax terprosedur yang sederhana dengan konstruksi
penjelasan data yang kuat berbasis array asosiatif. Lua berifat dinamis, berjalan
dengan menerjemahkan bytecode dan memiliki management memory otomatis. Hal
-
9
tersebut membuat pemrograman dengan menggunakan lua sangat bagus untuk
configurasi, scripting dan prototype yang cepat. (Lua, 2016)
Gambar 2.2 Icon Lua
Lua di design, diimplementasikan dan dipelihara oleh sebuah tim pada
PUC Rio, Pontifical Catholic University of Rio de Janeiro di Brazil. Lua saat ini
berada pada LabLua, sebuah laboraturium dari Department of Computer Science of
PUC-Rio.
2.7 Physics Joints
Physics Joint merupakan sebuah teknik yang dapat digunakan untuk
merakit benda-benda fisik yang kompleks dari beberapa badan kaku seperti
persendian. Physics joint dapat digunakan untuk menggabungkan anggota badan
dari ragdoll, memutar roda kendaraan dari badannya, menciptakan sebuah platform
lift bergerak dan lainnya. Kebanyakan Physics joint digunakan untuk
menghubungkan dua badan kaku sehingga kedua badan kaku tersebut dapat
bergerak berlawanan. Physics joint memiliki beberapa sifat yang berbeda-beda
sesuai dengan penggunaannya. Sifat-sifat dari physics joint yaitu, pivot joint,
distance joint, piston joint, weld joint, wheel joint, pulley joint, touch joint, rope
joint, dan gear joint.
2.7.1 Pivot Joint
Pivot joint yang dikenal sebagai revolute joint pada istilah Box2D, pivot
joint menggabungkan dua body pada titik yang berhimpitan, seperti dua papan yang
bergabung dengan titik tengah yang berputar, seperti yang terlihat pada Gambar
2.3.
-
10
Gambar 2.3 Contoh Pivot joint
Argumen pertama adalah body A dan Body B yang akan digabungkan
kemudian di deklarasikan, diikuti oleh titik koordinat x dan y sebagai titik anchor
yang dinyatakan dalam koordinat ruang.
local pivotJoint = physics.newJoint( "pivot", bodyA, bodyB,
anchor_x, anchor_y )
Kode Program 2.1 Kode program pivot joint
Kode Program 2.1 merupakan contoh dari pembuatan pivot joint. Body A
dan Body B merupakan argument dari badan A dan badan B yang akan digunakan.
Anchor x dan Anchor y merupakan peletakan dari titik tengah yang akan diputar.
2.7.2 Distance Joint
Distance joint merupakan sebuah joint yang menempelkan dua body pada
jarak yang tetap. Argumen pertama adalah body A dan body B yang akan
digabungkan kemudian dideklarasikan, diikuti oleh titik koordinat x dan y sebagai
titik anchor yang dinyatakan dalam koordinat ruang.
local distanceJoint = physics.newJoint( "distance", bodyA, bodyB,
anchorA_x, anchorA_y, anchorB_x, anchorB_y )
Kode Program 2.2 Kode Program Distance joint
Kode Program 2.2 merupakan contoh dari pembuatan distance joint. Body
A dan Body B merupakan argument dari badan A dan badan B yang akan
digunakan. Anchor x dan Anchor y merupakan peletakan dari titik tengah.
-
11
Gambar 2.4 Contoh Penggunaan Distance joint
Distance joint dapat dibuat halus, seperti sambungan semi peredam.
Banyak faktor yang dapat mempengaruhi kelembutan distant joint, termasuk massa
kelekatan tubuh dan kekuatan dari kedua body tersebut. Sehingga untuk mencapai
kelembutan tersebut maka perlu berhati-hati untuk menguji nilai yang ditetwapkan
untuk mencapai simulasi yang diinginkan, seperti yang terlihat pada Gambar 2.4.
2.7.3 Piston Joint
Piston joint yang dikenal sebagai prismatic joint pada istilah box2D, piston
joint menggabungkan dua titik pada satu koordinat gerak, seperti mesin piston atau
elevator yang gerakannya dibatasi sepanjang sumbu vertical, seperti yang terlihat
pada Gambar 2.5.
Gambar 2.5 Contoh Penggunaan Piston joint
-
12
Argumen pertama adalah body A dan body B yang akan digabungkan
kemudian di deklarasikan, diikuti oleh titik koordinat x dan y sebagai titik anchor
yang dinyatakan dalam koordinat ruang.
local pistonJoint = physics.newJoint( "piston", bodyA, bodyB,
anchor_x, anchor_y, axisX, axisY )
Kode Program 2.3 Kode Program Piston joint
Kode Program 2.3 merupakan contoh dari pembuatan piston joint. Body
A dan Body B merupakan argument dari badan A dan badan B yang akan
digunakan. Anchor x dan Anchor y merupakan peletakan dari titik tengah. Piston
joints memiliki sumbu terbatas dari gerakan linear yang didefinisikan dengan axisX
dan axisY. Sumbu pada piston joints bersifat bi-directional dan tidak dianggap
sebagai vector arah.
Piston joint dapat dikendalikan dengan joint motor. Tidak seperti gerakan
rotasi yang terdapat pada pivot joint. Gerakan pada piston joint bersifat linear,
contohnya, gerakan piston joint dapat digunakan untuk memindahkan elevator naik
dan turun mengikuti sumbunya.
2.7.4 Weld Joint
Weld joint menempelkan dua buah body pada sebuah titik anchor yang
spesifik pada sebuah ruang koordinat. Contoh penggunaan weld joint dapat dilihat
pada Gambar 2.6.
Gambar 2.6 Contoh Penggunaan Weld joint
-
13
Argumen pertama adalah body A dan Body B yang akan digabungkan
kemudian di deklarasikan, diikuti oleh titik koordinat x dan y sebagai titik anchor
yang dinyatakan dalam koordinat ruang.
local weldJoint = physics.newJoint( "weld", bodyA, bodyB, anchor_x,
anchor_y )
Kode Program 2.4 Kode Program Weld joint
Kode Program 2.4 merupakan contoh dari pembuatan weld joint. Body A
dan Body B merupakan argument dari badan A dan badan B yang digunakan.
Anchor x dan Anchor y merupakan peletakan dari titik tengah.
2.7.5 Wheel Joint
Wheel joint yang biasa dikenal dengan line joint hampir sama dengan
piston joint, kecuali body yang menempel dapat berputar bebas seperti sebuah roda
yang dipasang pada sebuah mobil. Gambar 2.7 merupakan contoh penggunaan
wheel joint.
Gambar 2.7 Contoh Penggunaan Wheel joint
Argumen pertama adalah body A dan Body B yang akan digabungkan
kemudian di deklarasikan, diikuti oleh titik koordinat x dan y sebagai titik anchor
yang dinyatakan dalam koordinat ruang, diikuti oleh nilai nilai yang menentukan
sumbu gerak linier dari wheel joint tersebut.
local wheelJoint = physics.newJoint( "wheel", bodyA, bodyB,
anchor_x, anchor_y, axisX, axisY )
Kode Program 2.5 Kode Program Wheel joint
-
14
Kode Program 2.5 merupakan contoh dari pembuatan wheel joint. Body A
dan Body B merupakan argument dari badan A dan badan B yang digunakan.
Anchor x dan Anchor y merupakan peletakan dari titik tengah. Piston joints
memiliki sumbu terbatas dari gerakan linear yang didefinisikan dengan axisX dan
axisY. Sumbu pada piston joints bersifat bi-directional dan tidak dianggap sebagai
vector arah.
2.7.6 Pulley Joint
Pulley joint menempelkan dua buah body dengan sebuah tali yang tidak
terlihat dengan panjang yang tetap konstan. Jika satu body ditarik atau didorong,
body yang lainnya akan mengimbagi sesuai dengan gerakan body yang pertama.
Gambar 2.8 Contoh Penggunaan Pulley joint
Argument pertama adalah body A dan B yang akan digabungkan, diikuti
dengan dua koordinat berpasangan yang mewakili titik anchor statis. Empat
argument selanjutnya yaitu titik koordinat x dan y, yang diikuti oleh nilai ratio
akhir, dimana dapat disesuaikan untuk simulasi block dan pengaturan tackle.
Gambar 2.8 merupakan contoh penggunaan pulley joint.
local pulleyJoint = physics.newJoint( "pulley", bodyA, bodyB,
statA_x, statA_y, statB_x, statB_y, bodyA_x, bodyA_y, bodyB_x,
bodyB_y, 1.0 )
Kode Program 2.6 Kode Program Pulley joint
-
15
Fitur dari pulley joint adalah sebuah ratio property sebagai parameter final
di dalam constructor. Ratio ini dapat disesuaikan untuk simulasi block dan
pengaturan tackle. Pada sebuah scenario, satu sisi dari tali pulley berpindah lebih
cepat dari yang lainnya. Default ratio bernilai 1.0 dimana dengan default ratio dapat
mensimulasikan pulley joint yang sederhana. Kode Program 2.6 merupakan kode
program untuk membuat pulley joint sederhana.
2.7.7 Touch Joint
Touch joint yang sering dikenal sebagai mouse joint menghubungkan
single object pada sebuah on screen target point. Touch joint dapat digunakan untuk
memindahkan object pada sebuah target point menggunakan elastic joint teoritis
dengan variable yang kuat dan elastis. Argument pertama yaitu body A untuk
dihubungkan yang diikuti oleh titik koordinat x dan y pada ruang konten, seperti
yang dapat dilihat pada Kode Program 2.7.
local touchJoint = physics.newJoint( "touch", body, anchor_x,
anchor_y )
Kode Program 2.7 Kode Program Touch joint
Anchor point pada touch joint dapat dianggap titik yang menghubungkan
body. Contohnya, untuk menghubungkan sebuah body menggunakan titik tengah,
misalkan body.x dan body.y sebagai dua argumen. Untuk memindahkan sebuah
object yang disentuh menggunakan nilai event.x dan event.y yang dikembalikan
dengan event touch. Anchor point ini umumnya dikonfigurasikan sebagai titik
dalam batas-batas body, meskipun anchor point dapat berada di luar batas yang
diinginkan. Gambar 2.9 merupakan contoh penggunaan touch joint.
-
16
Gambar 2.9 Contoh Penggunaan Touch joint
2.7.8 Rope Joint
Rope joint menghubungkan dua object dengan sebuah tali non elastis.
Rope joint membatasi jarak maksimum antara dua body bahkan jika terdapat
kecepatan lain yang signifikan diatasnya. Seperti yang terlihat pada Gambar 2.10.
Gambar 2.10 Contoh Penggunaan Rope joint
Argument pertama yaitu body A dan B digabungkan, diikuti dengan
optional localized offset points dimana dapat digunakan untuk menentukan non-
center anchor point untuk masing-masing ujung tali. Seperti yang terlihat pada
Kode Program 2.8.
local ropeJoint = physics.newJoint( "rope", bodyA, bodyB,
offsetA_x, offsetA_y, offsetB_x, offsetB_y )
Kode Program 2.8 Kode Program Rope joint
-
17
Ketika mengkonfigurasi sebuah rope joint, nilai offset bersifat optional
dan default bernilai 0 kecuali jika nilai offset ditentukan sebaliknya. Tidak seperti
joints lainnya, nilai x dan y tidak harus bersifat spesifik.
2.7.9 Gear Joint
Gear joint digunakan untuk mensimulasikan sophisticated mechanical
contraptions involving gears. Gear joint dapat menghubungkan dua body atau
kelipatannya sesuai urutan. Satu putaran body yang dikendalikan dapat bersifat
realistically power seperti mesin asli. Contohnya dapat dilihat pada Gambar 2.11.
Gambar 2.11 Contoh Penggunaan Gear joint
Perbedaan gear joint dari joint yang lainnya yaitu, gear joint dioperasikan
langsung oleh dua joint yang berbeda lainnya.
local gearJoint = physics.newJoint( "gear", bodyA, bodyB, joint1,
joint2, ratio )
Kode Program 2.9 Kode Program Gear joint
Dua joint tersebut harus dibuat terlebih dahulu sebelum mengoperasikan
gear joint dan joint yang digunakan harus pivot joint atau piston joint. Salah satu
dari pivot joint atau piston joint dapat dihidupkan dengan putaran atau berbenturan
dengan pivot joint atau piston joint lainnya yang menempel pada induk gear joint,
seperti yang terlihat pada Kode Program 2.9.
-
18
2.8 Event Listener
Event Listener merupakan sebuah event yang dikirim ke dalam fungsi
Event Listener yang mana ditulis pada sebuah fungsi dasar.
local function myTouchListener( event )
print( "Touch X location"..event.x )
print( "Touch Y location"..event.y )
end
local myButton = display.newRect( 100, 100, 200, 50 )
myButton:addEventListener( "touch", myTouchListener )
Kode Program 2.10 Kode Program Event Listener
Kode Program 2.10 menjelaskan bagaimana sebuah event melalui fungsi
myTouchListener mengandung titik x dan y dimana kedua titik tersebut dijadikan
sebagai tempat touch event terjadi. Event Listener dapat dibuat menggunakan
metode addEventListener(). Event Listener dibuat dengan menggunakan nama
string dari jenis event dan nama dari fungsi event listener, Seperti yang terlihat pada
Kode Program 2.11.
--standard touch listener on an object
myButton:addEventListener( "touch", myTouchListener )
--Runtime 'system' event listener
Runtime:addEventListener( "system", onSystemEvent )
myButton:removeEventListener( "touch", myTouchListener )
Kode Program 2.11 Kode Program Pembuatan Event
Event Listener dapat dihapus secara otomatis dengan menggunakan fungsi
removeEventListener(), Contohnya ketika user ingen menghentikan Event Listener
yang berada pada object myButton, seperti yang terlihat pada Kode Program 2.11.
2.8.1 Touch Event
Touch event menyediakan tingkatan yang lebih besar dari interaktifitas
layar. Touch event dapat mendeteksi ketika user menyentuh layar pertama kalinya
dan ketika user melepaskan sentuhan dari layar. Touch event juga dapat mendeteksi
-
19
gerakan yang bergerak disekitaran layar dengan menggunakan event.phase, seperti
yang terlihat pada Kode Program 2.12.
local function myTouchListener( event )
if ( event.phase == "began" ) then
--code executed when the button is touched
print( "object touched = "..tostring(event.target) ) --
'event.target' is the touched object
elseif ( event.phase == "moved" ) then
--code executed when the touch is moved over the object
print( "touch location in content coordinates =
"..event.x..","..event.y )
elseif ( event.phase == "ended" ) then
--code executed when the touch lifts off the object
print( "touch ended on object "..tostring(event.target) )
end
return true --prevents touch propagation to underlying
objects
end
local myButton = display.newRect( 100, 100, 200, 50 )
myButton:addEventListener( "touch", myTouchListener ) --add a
"touch" listener to the object
Kode Program 2.12 Kode Program Touch Event
Event.phase began menunjukkan bahwa sebuah touch memulai
menyentuh layar, event.phase moved menunjukkan bahwa sebuah touch
berpindah posisi pada layar, dan event.phase ended menunjukan bahwa sebuah
touch terlepas dari layar.
2.8.2 Tap Event
Tap event merupakan teknik dasar dari interaksi di dalam layar. Tap event
akan menunjukkan bahwa user telah menyentuh layar dan melepaskannya pada titik
perkiraan yang sama. Tap event dianggap berhasil hanya ketika user menyentuh
dan melepaskannya pada satu titik yang sama.
local function myTapListener( event )
--code executed when the button is tapped
print( "object tapped = "..tostring(event.target) ) --
'event.target' is the tapped object
-
20
return true
end
local myButton = display.newRect( 100, 100, 200, 50 )
myButton:addEventListener( "tap", myTapListener ) --add a "tap"
listener to the object
Kode Program 2.13 Kode Program Tap Event
Kode Program 2.13 merupakan contoh sederhana dari penggunaan tap
event. Event.target merupakan acuan untuk object yang telah di tap. Event.name
merupakan sebuah nilai string dari tap, event.x / event.y merupakan posisi x dan
y dari tap, event.numTaps merupakan jumlah dari tap yang akan diaplikasikan ke
layar. Delay default antara tap awal dan tap selanjutnya adalah 0 detik, tetapi waktu
delay dapat diatur dengan fungsi system.setTapDelay().Hal itu dikarenakan tap
merupakan sebuah action singular yang melibatkan keduanya termasuk ketika
disentuh dan dilepas.
local function myTapListener( event )
if ( event.numTaps == 2 ) then
print( "object double-tapped = "..tostring(event.target) )
else
return true
end
end
local myButton = display.newRect( 100, 100, 200, 50 )
myButton:addEventListener( "tap", myTapListener )
Kode Program 2.14 Kode Program Double Tap Event
Menggunakan event.numTaps, user dapat dengan mudah menentukan
apakah sebuah object termasuk double tap dan single tap. Untuk menentukan
sebuah tap bernilai double ataupun single dengan mengubah event.numTaps dengan
nilai 2, seperti yang terlihat pada Kode Program 2.14.
-
21
21
KAJIAN PUSTAKA2.1 State of the Art2.2 Sejarah Pewayangan Bali2.3 Wayang2.4 Dalang2.5 Corona SDK2.6 Lua2.7 Physics Joints2.7.1 Pivot Joint2.7.2 Distance Joint2.7.3 Piston Joint2.7.4 Weld Joint2.7.5 Wheel Joint2.7.6 Pulley Joint2.7.7 Touch Joint2.7.8 Rope Joint2.7.9 Gear Joint
2.8 Event Listener2.8.1 Touch Event2.8.2 Tap Event