k suara dari
linkage bgm
2. musik.play(0,999); // memainkan musik loop 999x
3.
4. function atur_musik(e:MouseEvent):void{
5. var nama_tombol:String = e.currentTarget.name;
6. if (nama_tombol == "t_play"){
7. SoundMixer.stopAll();
8. musik.play(0,999);
9. }
10. if (nama_tombol == "t_mute"){
11. SoundMixer.stopAll(); //mengentikan semua suara
12. }
13. }
14.
15. t_play.addEventListener(MouseEvent.CLICK, atur_musik);
16. t_mute.addEventListener(MouseEvent.CLICK, atur_musik);
5. Jalankan aplikasi dengan menekan Ctrl+Enter. Maka suara akan terdengar dan
dapat diatur dengan ke 2 tombol ini .
Memainkan File Suara di Luar Aplikasi
Cara lain dalam menambahkan audio ke aplikasi multimedia pembelajaran interaktif
yaitu dengan memainkan file suara yang berada di luar aplikasi. Keuntungan metode ini
yaitu ukuran file aplikasi yang tidak terpengaruh oleh ukuran file suara. Akan tetapi
kelemahan dari metode ini yaitu file suara harus selalu disertakan bersama aplikasi agar
tidak menghasilkan error. Untuk memahami proses membuka suara eksternal berikut
tombol pengatur suara seperti tombol play lagu, pause lagu dan stop lagu, ikuti langkah
berikut :
1. Siapkan file suara bertipe MP3 atau WAV lalu copy ke folder yang sama
dengan folder aplikasi, sebagai contoh digunakan file bernama bgm.mp3.
2. Buatlah sebuah file baru, lalu buatlah 5 buah tombol pengatur suara,
tambahkan instance name pada masing-masing tombol ini . (Lihat gambar).
Gambar 178. Tombol pengatur suara
3. Buatlah sebuah layer baru (layer 2). Klik frame 1 layer 2 buka panel Action
(F9) dan saat n kode berikut :
1. var lagu:Sound = new Sound();
2. lagu.load(new URLRequest("bgm.mp3"));
3.
4. var musik:SoundChannel = new SoundChannel();
5. musik = lagu.play(0,1);
6.
7. var pengatur_suara:SoundTransform = new
SoundTransform();
8. var suara_aktif:Boolean = true;
9. var posisi:Number = 0;
10.
11. function tombolSuara(e:MouseEvent):void{
12. var nama_tombol:String = e.currentTarget.name;
13. if (nama_tombol == "t_play"){
14. if (! suara_aktif){
15. musik = lagu.play(posisi,1);
16. suara_aktif = true;
17. musik.soundTransform = pengatur_suara;
18. }
19. }
20. if (nama_tombol == "t_pause"){
21. posisi = musik.position;
22. musik.stop();
23. suara_aktif = false;
24. }
25. if (nama_tombol == "t_stop"){
26. posisi = 0;
27. musik.stop();
28. suara_aktif = false;
29. }
30. if (nama_tombol == "t_vol_min"){
31. pengatur_suara.volume = pengatur_suara.volume -
0.2;
32. if (pengatur_suara.volume <= 0){
33. pengatur_suara.volume = 0;
34. }
35. musik.soundTransform = pengatur_suara;
36. }
37. if (nama_tombol == "t_vol_plus"){
38. pengatur_suara.volume = pengatur_suara.volume +
0.2;
39. if (pengatur_suara.volume >= 1){
40. pengatur_suara.volume = 1;
41. }
42. musik.soundTransform = pengatur_suara;
43. }
44. }
45.
46. t_play.addEventListener(MouseEvent.CLICK, tombolSuara);
47. t_pause.addEventListener(MouseEvent.CLICK, tombolSuara);
141
48. t_stop.addEventListener(MouseEvent.CLICK, tombolSuara);
49. t_vol_min.addEventListener(MouseEvent.CLICK,
tombolSuara);
50. t_vol_plus.addEventListener(MouseEvent.CLICK,
tombolSuara);
4. Jalankan aplikasi dengan menekan Ctrl+Enter. Maka suara akan terdengar dan
dapat diatur dengan tombol-tombol yang ada.
Menambahkan Video ke dalam Multimedia Pembelajaran
Menambahkan video ke dalam aplikasi Flash relatif mudah, hal ini di karenakan sejak
Flash Player 5 Flash sudah mendukung fitur import video, baik itu secara langsung
memasukkan video ke dalam aplikasi atau membuka file video yang berada di luar
aplikasi dengan metode streaming. Syarat utama yang harus dipenuhi yaitu file video
yang digunakan memiliki format yang bisa di"baca" oleh Flash Player. Saat ini kita dapat
memperoleh file video dengan berbagai format seperti AVI, WMV, 3GP, MOV, MKV,
FLV, MP4 dan sebagainya. Akan tetapi Flash hanya bisa membuka file-file jenis tertentu
dengan codec tertentu.
Pada umumnya file yang bisa dibaca oleh flash player yaitu FLV, AVI, MP4, dan
MPG. Cara termudah untuk mendeteksi apakah file video anda bisa dibaca oleh flash
yaitu dengan melakukan proses import, seperti yang akan dijelaskan berikutnya.
Apabila setelah dipublish video tidak muncul, berarti format video masih salah dan harus
anda ubah terlebih dahulu menjadi format FLV. Video yang anda unduh dari Youtube
misalnya atau situs sejenis biasanya berformat FLV, namun demikian file ini
biasanya tidak bisa anda import, hal ini dikarenakan codec yang berbeda - sehingga anda
harus mengconvert ulang file ini .
Untuk mengconvert video menjadi format lain anda bisa memakai software video
editor seperti Adobe Premiere, Windows Movie Maker, Videopad, dan sejenisnya.
Setelah file siap, pastikan file ini berada dalam satu folder yang sama dengan file
FLA aplikasi, hal ini akan mempermudah anda dalam menuliskan path (lokasi file
video). Selanjutnya ikuti langkah-langkah berikut :
1. Buatlah sebuah file baru atau melanjutkan projek yang sedang dikembangkan.
Selanjutnya klik frame tempat dimana anda akan meletakkan video ini .
lalu pilih menu File > Import > Import Video.
Gambar 179. Import video
2. lalu panel Select Video muncul. lalu klik browse dan pilih file
video yang akan anda import, selanjutnya klik tombol next.
Gambar 180. Panel Select video
3. lalu pada bagian Skinning, pilihlah skin yang anda inginkan. Skin yaitu
bagian dari video playback component yang dapat digunakan untuk mengontrol
video, skin disini memiliki tombol seperti play, pause, stop, dan tombol suara.
Tombol-tombol, ini dapat berfungsi secara otomatis tanpa menambahkan
kode. Selanjutnya klik tombol next.
Gambar 181. Skinning video
4. Lanjutkan proses dengan menekan tombol Next sampai dengan tombol Finish.
Setelah itu video akan muncul di stage, lengkap dengan skin nya.
143
5. Jalankan movie dengan menekan Ctrl+Enter dan test apakah video dapat
dimainkan. Apabila video tidak muncul, berarti ada kesalahan (yang paling
umum yaitu salah format, dan salah folder).
Gambar182. Video yang berhasil di import ke dalam aplikasi
6. Jika proses diatas benar, akan anda dapati video ini langsung di mainkan.
Ada dapat mengubah opsi video dengan membuka panel Properties di bagian
component parameter Pada panel ini terdapat beberapa opsi yang dapat
diubah seperti opsi auto play, skin, warna skin, auto hide dsb. Atur opsi ini
sesuai dengan kebutuhan.
Gambar 183. Pengaturan properties component video
Menambahkan tombol Play alternatif
Apabila anda tidak suka dengan skin yang telah disediakan dan ingin membuat tombol
alternatif pengatur video (seperti tombol play dan pause) maka ikutilah langkah-langkah
berikut :
7. Klik video, lalu buka Properties. Selanjutnya di bagian component
parameter pilih skin none untuk menghilangkan skin dari video ini .
8. buatlah sebuah layer baru di atas layer video, lalu ubah nama layer menjadi
layer tombol. Klik frame 1 layer tombol, lalu buatlah sebuah tombol
play.
Gambar 184.Tombol play alternatif
9. Untuk tombol stop atau pause kita membutuhkan sebuah tombol yang tidak
terlihat. Untuk membuatnya - Klik layer tombol, lalu buatlah sebuah kotak
dengan ukuran yang sama dengan ukuran video. Seleksi kotak ini dan
Convert to Symbol menjadi button dengan nama “invisible”.
10. Dobel klik tombol invisible, untuk mengeditnya. lalu drag keyframe UP
menuju frame HIT.
Gambar 185. Mengatur tombol invisible
145
11. Kembali ke scene 1 dengan menekan Ctrl+E.
12. Tahapan selanjutnya yaitu memberi instance name pada masing-masing object.
Berikan nama videoku untuk video, t_play untuk tombol play dan t_stop untuk
tombol invisible.
13. Buatlah sebuah layer baru (layer 2). Klik frame 1 layer 2 lalu saat n
kode berikut :
1. function klikVideo(e:MouseEvent):void{
2. var nama_tombol:String = e.currentTarget.name;
3. if (nama_tombol == "t_play"){
4. videoku.play();
5. t_play.visible = false;
6. t_stop.visible = true;
7. }
8. if (nama_tombol == "t_stop"){
9. videoku.stop();
10. t_play.visible = true;
11. t_stop.visible = false;
12. }
13. }
14.
15. t_play.addEventListener(MouseEvent.CLICK, klikVideo);
16. t_stop.addEventListener(MouseEvent.CLICK, klikVideo);
14. Jalankan aplikasi dengan menekan Ctrl+Enter. Klik pada video untuk
memainkan video dan klik kembali untuk menghentikan sementara (pause)
147
Bab X
Aplikasi Kuis
Salah satu bentuk kompleksitas dari multimedia pembelajaran interaktif yaitu adanya
evaluasi. Evaluasi dapat digunakan sebagai salah satu indikator atau tolak ukur untuk
menguji kefektifan penyampaian materi. Salah satu bentuk evaluasi yang umum
ditemukan yaitu kuis. Model kuis dengan soal yang acak dan jawaban acak menjadi
sebuah daya tarik tersendiri dalam sebuah media pembelajaran. Akan tetapi para pemula
pemrograman biasanya mengalami kesulitan dalam membuat sistem soal acak, jawaban
acak dan sistem penilaian. Pada tutorial berikut ini akan dijelaskan secara sederhana
tentang pembuatan kuis interaktif dengan sistem pengacakan soal, pengacakan jawaban
dan sistem penilaian. Hasil akhir dari aplikasi ini dapat dikembangkan lebih lanjut
menjadi sesuatu yang lebih kompleks semacam game Who Want to be Millionaire, Who
has biggest brain dan sebagainya. Hasil akhir yang diharapkan kurang lebih sebagai
berikut :
Gambar 186. Rencana layout kuis
Untuk membuat aplikasi kuis ini , perhatikan langkah-langkah berikut :
1. Buatlah sebuah file baru. Selanjutnya buatlah sebuah tampilan untuk aplikasi kuis
meliputi background, beberapa static text sebagai pemanis tampilan, dan
dynamic text untuk soal dan untuk score. Perhatikan gambar :
Gambar 187. Pengaturan awal asset aplikasi kuis
2. Seleksi dynamic text untuk soal lalu buka panel properties lalu atur
jenis huruf, matikan opsi selectable dan opsi line type menjadi multi line. Opsi
multi line digunakan agar sebuah dynamic text mampu menampilkan beberapa
baris teks. Selain itu anda harus menekan tombol embed untuk menyertakan file
huruf ke dalam aplikasi, sehingga aplikasi dapat dijalankan di semua tempat
tanpa mengalami distorsi huruf. Perhatikan gambar :
Gambar 188. Pengaturan dynamic text
3. Untuk membuat tombol pilihan jawaban, buatlah sebuah Movieclip baru dengan
memilih menu Insert > New Symbol. Berikan nama “alternatif jawaban” dan
registrasi point berada di tengah, lalu tekan OK.
Selanjutnya buatlah 2 buah Layer, pada Layer 2 (atas) buatlah sebuah dynamic
text untuk menampilkan jawaban. Klik dynamic text ini , buka panel
properties dan tambahkan instance name "jawaban_txt". Pada Layer 1
(bawah) buatlah sebuah background berupa kotak.
149
Untuk mendapatkan efek mouse over, klik frame 2 layer 1 tambahkan
KeyFrame (F6), lalu ubah warna background jawaban menjadi warna lain.
Selanjutnya klik frame 2 layer 2 dan tambahkan Frame (F5). (Catatan : Efek
mouse over dapat ditampilkan secara otomatis pada symbol bertipe button, akan
tetapi button atau tombol tidak dapat menampilkan objek lain seperti dynamic
text di dalamnya, sehingga kita harus memakai symbol bertipe Movieclip).
Perhatikan gambar :
Gambar 189. Susunan movieclip “alternatif jawaban”
4. Kembali ke Scene 1 dengan menekan Ctrl+E, lalu drag Movieclip
alternatif jawaban dari Library ke Stage sebanyak 4 kali. Atur posisinya
masing-masing.
5. Agar masing-masing objek dapat diakses oleh kode, maka perlu ditambahkan
instance name, klik objek, lalu buka panel properties, dan saat n
instance name sesuai dengan gambar berikut:
Gambar 190. Pengaturan instance name
6. lalu untuk menampilkan apakah jawaban pemain benar atau salah,
digunakan metode pop up dengan sedikit animasi. Untuk itu diperlukan sebuah
movieclip yang di dalamnya terdapat beberapa pesan pop up.
Untuk membuatnya buatlah sebuah tampilan popup saat jawaban benar seperti
pada gambar, lalu seleksi dan Convert to Symbol dengan nama hasil_mc,
registrasi point tepat di tengah, centang opsi Export for Actionscript, lalu tekan
OK. Perhatikan gambar :
Gambar 191. Pengaturan popup jawaban pada movieclip “hasil_mc”
7. Edit Movieclip hasil_mc dengan cara dobel klik movieclip ini , lalu
klik frame 2 dan tambahkan Keyframe (F6), lalu edit konten di frame 2 menjadi
tampilan saat jawaban salah. Dengan cara yang sama pada frame 3 buatlah
tampilan saat permainan berakhir (soal telah habis). Perhatikan gambar :
Gambar 192. Struktur movieclip “hasil_mc”
8. Keluar dari mode edit dengan menekan Ctrl+E. lalu buatlah sebuah
layer baru (layer 2). Klik frame 1 layer 2 lalu saat n kode berikut :
151
1. var nilai:Number = 0;
2. var no_soal:Number = 0;
3. var max_soal:Number = 10;
4. var hasil:hasil_mc;
5. // struktur soal [0]= Soal [1-4]= jawaban, Jawaban benar
diletakkan no 1
6. var soal:Array = [["Siapakah penemu mesin uap ?", "James
Watt", "Davinci", "Issac Newton", "James bond"],
7. ["Akar dari 676 yaitu ?", "26", "24",
"16", "34"],
8. ["Bagian tumbuhan yang berperan penting
dalam fotosintesis yaitu ?", "Klorofil", "Kambium",
"Epidermis", "Kromatin"],
9. ["Penulis trilogi Lord of The Ring
yaitu ?", "JRR Tolkien", "JK Rowling", "J Cameron", "J
Thomas"],
10. ["Jumlah seluruh sudut segitiga siku-siku
yaitu ?", "180", "270", "90", "360"],
11. ["Provinsi termuda di Indonesia yaitu ? ",
"Banten", "Bangka belitung", "Batam", "Gorontalo"],
12. ["Hukum gravitasi ditemukan oleh ? ",
"Issac Newton", "Einstein", "T. A. Edison", "Kopernicus"],
13. ["(sin 30) x 8 + (sin 90) = ? ", "5", "8",
"0", "1"],
14. ["Penemu arus listrik bolak balik yaitu ?
", "Nicola Tesla", "T. Alpha Edison", "James Watt", "A.
Graham bell"],
15. ["Komponen elektronik yang mengubah arus
bolak-balik menjadi searah yaitu ? ", "Diode",
"Transistor", "Resistor", "Trafo"],
16. ["Planet ke 5 dari Matahari yaitu ?",
"Yupiter", "Mars", "Uranus", "Saturnus"],
17. ["Dinosaurus terbesar dalam film Jurrasic
World yaitu ?", "Mousaurus", "Indominus Rex",
"Tyranosaurus", "Spinosaurus"],
18. ["Gedung tertinggi di dunia sampai dengan
2015 yaitu ?", "Burj Al Khaifa", "Burj Dubai", "Beijing
Tower", "Petronas"],
19. ["Pesawat komersial dengan kapasitas
terbesar di dunia yaitu ?", "Airbus 380", "Boeing 777",
"Beluga", "Antonov"],
20. ["Juara Dunia MotoGP 2014 yaitu ?", "Mark
Marquez", "Jorge Lorenzo", "Valentino Rossi", "Dani
Pedrosa"]];
21.
22.
23. var temp_soal:Array;
24. var temp_jawaban:Array;
25.
26. function acak_soal():void{
27. //mengacak soal
28. temp_soal = soal.slice(0, soal.length);
29. for (var i:Number = 0; i < soal.length; i++){
30. var acak:Number =
Math.floor(Math.random()*soal.length);
31. var temp:Array = temp_soal[acak];
32. temp_soal[acak] = temp_soal[i];
33. temp_soal[i] = temp;
34. }
35. }
36. function restart():void{
37. //restart kuis, semua variabel reset
38. acak_soal();
39. nilai = 0;
40. no_soal = 0;
41. max_soal = 10;
42. score_txt.text = "0";
43. restart_btn.visible = false;
44. }
45.
46. function tampilkan_soal():void{
47. //tampilkan soal
48. soal_txt.text = temp_soal[no_soal][0];
49. //acak jawaban
50. temp_jawaban = temp_soal[no_soal].slice(1, 5);
51. for (var i:Number = 0; i < temp_jawaban.length; i++){
52. var acak:Number =
Math.floor(Math.random()*temp_jawaban.length);
53. var temp:String = temp_jawaban[acak];
54. temp_jawaban[acak] = temp_jawaban[i];
55. temp_jawaban[i] = temp;
56. }
57. //tampilkan jawaban
58. jawaban_1.jawaban_txt.text = temp_jawaban[0];
59. jawaban_2.jawaban_txt.text = temp_jawaban[1];
60. jawaban_3.jawaban_txt.text = temp_jawaban[2];
61. jawaban_4.jawaban_txt.text = temp_jawaban[3];
62. }
63.
64. function setup_awal():void{
65. restart();
66. tampilkan_soal();
67. //mengatur jawaban
68. jawaban_1.stop();
69. jawaban_2.stop();
70. jawaban_3.stop();
71. jawaban_4.stop();
72. jawaban_1.addEventListener(MouseEvent.CLICK,
cek_jawaban);
73. jawaban_2.addEventListener(MouseEvent.CLICK,
cek_jawaban);
74. jawaban_3.addEventListener(MouseEvent.CLICK,
cek_jawaban);
75. jawaban_4.addEventListener(MouseEvent.CLICK,
cek_jawaban);
76. //listener untuk efek tombol
153
77. jawaban_1.addEventListener(MouseEvent.MOUSE_OVER,
mouse_over);
78. jawaban_2.addEventListener(MouseEvent.MOUSE_OVER,
mouse_over);
79. jawaban_3.addEventListener(MouseEvent.MOUSE_OVER,
mouse_over);
80. jawaban_4.addEventListener(MouseEvent.MOUSE_OVER,
mouse_over);
81. //mouse out
82. jawaban_1.addEventListener(MouseEvent.MOUSE_OUT,
mouse_out);
83. jawaban_2.addEventListener(MouseEvent.MOUSE_OUT,
mouse_out);
84. jawaban_3.addEventListener(MouseEvent.MOUSE_OUT,
mouse_out);
85. jawaban_4.addEventListener(MouseEvent.MOUSE_OUT,
mouse_out);
86. //tombol restart
87. restart_btn.addEventListener(MouseEvent.CLICK,
ulangi);
88. }
89. function mouse_over(e:MouseEvent):void{
90. e.currentTarget.gotoAndStop(2);
91. }
92.
93. function mouse_out(e:MouseEvent):void{
94. e.currentTarget.gotoAndStop(1);
95. }
96.
97. function cek_jawaban(e:MouseEvent):void{
98. var no_jawaban:Number =
Number(e.currentTarget.name.substr(8))-1;
99. if (temp_jawaban[no_jawaban] ==
temp_soal[no_soal][1]){
100. //jawaban benar
101. tampilkan_hasil(1);
102. nilai+=10;
103. score_txt.text = String(nilai);
104. }else{
105. //jawaban salah
106. tampilkan_hasil(2);
107. }
108. }
109.
110. function tampilkan_hasil(tp:Number):void{
111. hasil = new hasil_mc();
112. hasil.x = 400;
113. hasil.y = 275;
114. hasil.gotoAndStop(tp);
115. hasil.scaleX = 0.2;
116. hasil.scaleY = 0.2;
117. hasil.waktu = 0;
118. hasil.tp = tp;
119. hasil.addEventListener(Event.ENTER_FRAME,
gerak_hasil);
120. addChild(hasil);
121. }
122.
123. function gerak_hasil(e:Event):void{
124. var ob:Object = e.currentTarget;
125. if (ob.scaleX < 1){
126. ob.scaleX+=0.1;
127. ob.scaleY+=0.1;
128. }
129. if (ob.waktu > -1 && ob.tp < 3){
130. ob.waktu++;
131. if (ob.waktu > 60){
132. ob.waktu = -1;
133. //tambah no soal
134. no_soal++;
135. ob.removeEventListener(Event.ENTER_FRAME,
gerak_hasil);
136. removeChild(DisplayObject(ob));
137. if (no_soal < max_soal){
138. tampilkan_soal();
139. }else{
140. tampilkan_hasil(3);
141. restart_btn.visible = true;
142. }
143. }
144. }
145. }
146. function ulangi(e:MouseEvent):void{
147. hasil.removeEventListener(Event.ENTER_FRAME,
gerak_hasil);
148. removeChild(DisplayObject(hasil));
149. restart();
150. tampilkan_soal();
151. }
152. setup_awal();
9. Jalankan aplikasi dengan menekan Ctrl+Enter. Ujicoba kuis mulai dari awal
sampai akhir, dan restart kembali. Jika langkah benar, maka akan dihasilkan kuis
yang dinamis dari sisi pengacakan kuis, jawaban, dan penilaian.
Untuk pengembangan selanjutnya kuis ini dapat ditambahkan waktu dan variasi
soal dengan memakai XML sebagai database soal.
155
Membuka data XML
XML (eXtended Markup Language) yaitu sebuah bahasa markup yang dapat digunakan
untuk keperluan penyimpanan data secara ringkas dengan format yang dibakukan oleh
W3C (format standar untuk pengkodean web / HTML). XML memiliki format yang
sangat sederhana dan dapat diakses oleh beberapa aplikasi termasuk oleh kode
Actionscript. Contoh dari XML sederhaa yaitu sebagai berikut:
Gambar 193. Contoh XML
Pada contoh XML di atas, terdapat beberapa tag < > yang dapat didefinisikan secara
bebas. Tag pertama yaitu <datasoal> berisi tag <soal>, selanjutnya di dalam tag soal
ini terdapat beberapa tag seperti tag <tanya> dan tag <jawab>. Setiap tag disebut
sebagai node dan nilai dari masing-masing tag disebut sebagai node value. Untuk
menuliskan kode XML ini dapat dilakukan dengan text editor sederhana seperti
Notepad++.
Untuk memahami cara pemakaian XML perhatikan contoh berikut :
1. Buatlah sebuah file XML dengan memakai aplikasi Notepad seperti pada
contoh berikut. Tambahkan data soal sesuai kebutuhan. lalu simpan
dengan nama dataSoal.XML.
<datasoal>
<soal>
<tanya>Siapakah penemu mesin uap ?</tanya>
<jawab1>James Watt</jawab1>
<jawab2>Davinci</jawab2>
<jawab3>Issac Newton</jawab3>
<jawab4>James bond</jawab4>
</soal>
<soal>
<tanya>Provinsi termuda yaitu ?</tanya>
<jawab1>Banten</jawab1>
<jawab2>Bangka belitung</jawab2>
<jawab3>Batam</jawab3>
<jawab4>Gorontalo</jawab4>
</soal>
dst......
<dataSoal>
2. Selanjutnya buat file baru Flash. Klik frame 1 layer 1, lalu buka panel
Action (F9) dan saat n kode berikut :
1. var databaseSoal:XML;
2. var loader:URLLoader = new URLLoader();
3. loader.load(new URLRequest("dataSoal.xml"));
4. loader.addEventListener(Event.COMPLETE, olahData);
5.
6. function olahData(e:Event):void {
7. databaseSoal = new XML(e.target.data);
8. for (var i:int = 0; i < databaseSoal.*.length(); i++){
9. trace((i+1) + ". soal = " +
databaseSoal.soal[i].tanya)
10. trace ("a. "+databaseSoal.soal[i].jawab1);
11. trace ("b. "+databaseSoal.soal[i].jawab2);
12. trace ("c. "+databaseSoal.soal[i].jawab3);
13. trace ("d. "+databaseSoal.soal[i].jawab4);
14. };
15. }
3. Simpan file pada folder yang sama dengan tempat file XML, lalu jalankan
dengan menekan Ctrl+Enter. Maka akan didapati soal dan jawaban tampil pada
output panel.
Mengintegrasi XML ke dalam aplikasi kuis
Setelah memahami proses membuka file XML dan mengolah data yang ada, maka
metode ini dapat diintegrasikan ke dalam aplikasi kuis yang telah dibuat
sebelumnya dengan metode Array. Untuk melakukannya, ubah kode pada aplikasi kuis
di atas, menjadi sebagai berikut :
1. var nilai:Number = 0;
2. var no_soal:Number = 0;
3. var max_soal:Number = 10;
4. var hasil:hasil_mc;
5. var soal:Array = [];
6.
7. var temp_soal:Array;
157
8. var temp_jawaban:Array;
9.
10. var databaseSoal:XML;
11. var loader:URLLoader = new URLLoader();
12. loader.load(new URLRequest("dataSoal.xml"));
13. loader.addEventListener(Event.COMPLETE, olahData);
14.
15. function olahData(e:Event):void {
16. databaseSoal = new XML(e.target.data);
17. for (var i:int = 0; i < databaseSoal.*.length(); i++){
18. var dataSoal:Array = new Array();
19. dataSoal.push(databaseSoal.soal[i].tanya);
20. dataSoal.push(databaseSoal.soal[i].jawab1);
21. dataSoal.push(databaseSoal.soal[i].jawab2);
22. dataSoal.push(databaseSoal.soal[i].jawab3);
23. dataSoal.push(databaseSoal.soal[i].jawab4);
24. soal.push(dataSoal);
25. };
26. setup_awal();
27. }
28.
29. function acak_soal():void{
30. //mengacak soal
31. temp_soal = soal.slice(0, soal.length);
32. for (var i:Number = 0; i < soal.length; i++){
33. var acak:Number =
Math.floor(Math.random()*soal.length);
34. var temp:Array = temp_soal[acak];
35. temp_soal[acak] = temp_soal[i];
36. temp_soal[i] = temp;
37. }
38. }
39. function restart():void{
40. //restart kuis, semua variabel dikembalikan ke posisi
semula
41. acak_soal();
42. nilai = 0;
43. no_soal = 0;
44. max_soal = 10;
45. score_txt.text = "0";
46. restart_btn.visible = false;
47. }
48.
49. function tampilkan_soal():void{
50. //tampilkan soal
51. soal_txt.text = temp_soal[no_soal][0];
52. //acak jawaban
53. temp_jawaban = temp_soal[no_soal].slice(1, 5);
54. for (var i:Number = 0; i < temp_jawaban.length; i++){
55. var acak:Number =
Math.floor(Math.random()*temp_jawaban.length);
56. var temp:String = temp_jawaban[acak];
57. temp_jawaban[acak] = temp_jawaban[i];
58. temp_jawaban[i] = temp;
59. }
60. //tampilkan jawaban
61. jawaban_1.jawaban_txt.text = temp_jawaban[0];
62. jawaban_2.jawaban_txt.text = temp_jawaban[1];
63. jawaban_3.jawaban_txt.text = temp_jawaban[2];
64. jawaban_4.jawaban_txt.text = temp_jawaban[3];
65. }
66.
67. function setup_awal():void{
68. restart();
69. tampilkan_soal();
70. //mengatur jawaban
71. jawaban_1.stop();
72. jawaban_2.stop();
73. jawaban_3.stop();
74. jawaban_4.stop();
75. jawaban_1.addEventListener(MouseEvent.CLICK,
cek_jawaban);
76. jawaban_2.addEventListener(MouseEvent.CLICK,
cek_jawaban);
77. jawaban_3.addEventListener(MouseEvent.CLICK,
cek_jawaban);
78. jawaban_4.addEventListener(MouseEvent.CLICK,
cek_jawaban);
79. //listener untuk efek tombol
80. jawaban_1.addEventListener(MouseEvent.MOUSE_OVER,
mouse_over);
81. jawaban_2.addEventListener(MouseEvent.MOUSE_OVER,
mouse_over);
82. jawaban_3.addEventListener(MouseEvent.MOUSE_OVER,
mouse_over);
83. jawaban_4.addEventListener(MouseEvent.MOUSE_OVER,
mouse_over);
84. //mouse out
85. jawaban_1.addEventListener(MouseEvent.MOUSE_OUT,
mouse_out);
86. jawaban_2.addEventListener(MouseEvent.MOUSE_OUT,
mouse_out);
87. jawaban_3.addEventListener(MouseEvent.MOUSE_OUT,
mouse_out);
88. jawaban_4.addEventListener(MouseEvent.MOUSE_OUT,
mouse_out);
89. //tombol restart
90. restart_btn.addEventListener(MouseEvent.CLICK,
ulangi);
91. }
92.
93. function mouse_over(e:MouseEvent):void{
94. e.currentTarget.gotoAndStop(2);
95. }
96.
97. function mouse_out(e:MouseEvent):void{
98. e.currentTarget.gotoAndStop(1);
99. }
159
100.
101. function cek_jawaban(e:MouseEvent):void{
102. var no_jawaban:Number =
Number(e.currentTarget.name.substr(8))-1;
103. if (temp_jawaban[no_jawaban] ==
temp_soal[no_soal][1]){
104. //jawaban benar
105. tampilkan_hasil(1);
106. nilai+=10;
107. score_txt.text = String(nilai);
108. }else{
109. //jawaban salah
110. tampilkan_hasil(2);
111. }
112. }
113.
114. function tampilkan_hasil(tp:Number):void{
115. hasil = new hasil_mc();
116. hasil.x = 400;
117. hasil.y = 275;
118. hasil.gotoAndStop(tp);
119. hasil.scaleX = 0.2;
120. hasil.scaleY = 0.2;
121. hasil.waktu = 0;
122. hasil.tp = tp;
123. hasil.addEventListener(Event.ENTER_FRAME,
gerak_hasil);
124. addChild(hasil);
125. }
126.
127. function gerak_hasil(e:Event):void{
128. var ob:Object = e.currentTarget;
129. if (ob.scaleX < 1){
130. ob.scaleX+=0.1;
131. ob.scaleY+=0.1;
132. }
133. if (ob.waktu > -1 && ob.tp < 3){
134. ob.waktu++;
135. if (ob.waktu > 60){
136. ob.waktu = -1;
137. //tambah no soal
138. no_soal++;
139. ob.removeEventListener(Event.ENTER_FRAME,
gerak_hasil);
140. removeChild(DisplayObject(ob));
141. if (no_soal < max_soal){
142. tampilkan_soal();
143. }else{
144. tampilkan_hasil(3);
145. restart_btn.visible = true;
146. }
147. }
148. }
149. }
150.
151. function ulangi(e:MouseEvent):void{
152. hasil.removeEventListener(Event.ENTER_FRAME,
gerak_hasil);
153. removeChild(DisplayObject(hasil));
154. restart();
155. tampilkan_soal();
156. }
Penjelasan program :
Jika sebelumnya format soal diatur dalam variabel soal yang bertipe Array, maka pada
contoh ini variabel soal bernilai Array kosong ( [ ] ). Selanjutnya dengan fungsi
olahData, file XML yang berisi data base soal dibuka. Dengan memakai operasi
berulang for loops, data dari tiap-tiap node XML dimasukkan ke dalam variabel soal
dengan memakai metode array push. Dengan cara ini variabel soal akan
terbentuk secara otomatis, sesuai dengan data XML yang terbaca. Setelah proses
pembentukan variabel soal selesai, maka fungsi setup_awal() baru dijalankan.
Candy Eye (Pemanis Tampilan)
Multimedia interaktif sebagai produk desain harus memenuhi prinsip AIDA (Attention –
Interest – Desire – Action), dimana kesan pertama dari aplikasi harus baik sehingga
menarik pengguna untuk menjelajahi media lebih lanjut. Salah satu upaya untuk
memberikan kesan pertama yang baik yaitu dengan memberikan pemanis tampilan atau
diistilahkan dengan candy eye. Beberapa efek sederhana seperti kursor mouse
bergambar, percikan bintang, efek zoom dan sebagainya akan menambah daya tarik
multimedia pembelajaran.
Mengubah kursor mouse
Mouse trail atau objek mengikuti mouse atau mengganti kursor mouse dengan gambar
lain sangat menarik untuk ditambahkan dalam sebuah aplikasi multimedia. Pada
dasarnya untuk mengubah kursor mouse, kita hanya membutuhkan sebuah objek (bisa
berupa moveclip dan mengubah kordinat layar objek ini mengikuti kordinat mouse.
Untuk mendeteksi posisi mouse dengan AS 3, kita dapat memakai kode mouseX
dan mouseY. Setelah itu cukup ditambahkan sebuah listener yang dijalankan secara terus
menerus - yang mengubah posisi objek agar sesuai dengan posisi mouse. Untuk lebih
jelasnya ikuti langkah berikut:
1. Buatlah sebuah file baru. Selanjutnya buatlah movieclip baru yang akan
digunakan sebagai kursor mouse dengan nama tawon.
Gambar 194. Animasi frame by frame movieclip tawon
2. lalu klik movieclip tawon ini , buka panel properties dan saat n
tawon pada kolom instance name.
3. Buatlah sebuah layer baru (layer 2). Klik frame 1 layer 2 lalu saat n
kode berikut :
1. //menyembunyikan kursor mouse
2. Mouse.hide();
3.
4. function ikut_mouse(e:Event):void{
5. tawon.x = mouseX;
6. tawon.y = mouseY;
7. }
8.
9. tawon.addEventListener(Event.ENTER_FRAME, ikut_mouse);
4. Jalankan aplikasi dengan menekan Ctrl+Enter, maka kursor mouse akan
digantikan oleh movieclip tawon.
5. Untuk membuat gerakan tawon lebih natural dapat ditambahkan perlambatan,
sehingga gerakan tawon menjadi lebih lembut dalam mengikuti kursor mouse.
Untuk melakukannya, ubah kode menjadi sebagai berikut :
1. var perlambatan:Number = 20;
2.
3. function ikut_mouse(e:Event):void{
4. tawon.x+= (mouseX-tawon.x)/perlambatan;
5. tawon.y+= (mouseY-tawon.y)/perlambatan;
6. }
7.
8. tawon.addEventListener(Event.ENTER_FRAME, ikut_mouse);
6. Jalankan kembali aplikasi dengan menekan Ctrl+Enter.
Efek Starburst (Percikan bintang)
Salah satu efek yang populer dipakai dalam beberapa aplikasi multimedia yaitu efek
percikan bintang (starburst), contoh saat pengguna selesai melakukan aktifitas tertentu,
saat nilai evaluasi muncul, dan sebagainya. Untuk membuat efek ini perhatikan
langkah berikut :
1. Buatlah file baru. Selanjutnya dengan memakai Polystar Tool, buatlah
sebuah bintang dengan ukuran yang tidak terlalu besar (40 x 40pixel).
163
2. Seleksi bintang ini lalu Convert to Symbol menjadi movieclip
“bintang_mc”, registrasi point tepat di tengah dan centang opsi Export for
Actionscript dengan nama class “bintang_mc”.
Gambar 195. Movieclip “bintang_mc”
3. Hapus movieclip ini dari layar. Selanjutnya klik frame 1 layer 1, buka
panel Action dan saat n kode berikut :
1. function gerakBintang(e:Event):void{
2. var ob:Object = e.currentTarget;
3. ob.x += ob.kecX;
4. ob.y += ob.kecY;
5. ob.kecY++;
6. ob.waktu--;
7. ob.scaleX *= 0.95;
8. ob.scaleY *= 0.95;
9. if (ob.waktu < 0){
10. ob.removeEventListener(Event.ENTER_FRAME,
gerakBintang);
11. removeChild(DisplayObject(ob));
12. }
13. }
14.
15. function tambahBintang(px:int, py:int):void{
16. var bintang:bintang_mc = new bintang_mc;
17. bintang.x = px;
18. bintang.y = py;
19. bintang.kecX = Math.random()*10 - Math.random()*10;
20. bintang.kecY = -Math.random()*15;
21. bintang.waktu = 20 + Math.random()*20;
22. bintang.scaleX = 0.2 + Math.random();
23. bintang.scaleY = bintang.scaleX;
24. bintang.addEventListener(Event.ENTER_FRAME,
gerakBintang);
25. addChild(bintang);
26. }
27.
28. function starBurst(e:MouseEvent):void{
29. for (var i:int = 0; i < 20; i++){
30. tambahBintang(mouseX, mouseY);
31. }
32. }
33.
34. stage.addEventListener(MouseEvent.CLICK, starBurst);
4. Jalankan aplikasi dengan menekan Ctrl+Enter. Klik di area stage untuk
menampilkan efek percikan bintang.
Gambar 196. Hasil efek percikan bintang.
Menampilkan Waktu
Sering kita temui dalam sebuah aplikasi atau widget sebuah blog yang menampilkan
waktu secara realtime. Waktu dalam aplikasi terkadang juga dapat berfungsi sebagai
pengingat, time counter, limitasi pemakaian software dan sebagainya. Untuk
menampilkan waktu dengan kode Actionscript sebenarnya cukup mudah, yaitu dengan
memakai class Date. Untuk lebih jelasnya ikuti langkah berikut :
1. Buatlah file baru. Selanjutnya dengan memakai Text Tool buatlah sebuah
Dynamic Text. Selanjutnya buka panel properties, berikan instance name
“waktu_txt” dan atur beberapa parameter seperti ukuran font, jenis font, warna,
paragraf dan opsi selectable. Jangan lupa untuk mengembed font agar tampil
baik di semua platform.
2. Buatlah sebuah layer baru (layer 2). Klik frame 1 layer 2 lalu saat n
kode berikut :
1. var nama_hari:Array = ["Minggu", "Senin", "Selasa",
"Rabu", "Kamis", "Jumat", "Sabtu"];
2. var nama_bulan:Array = ["Jan", "Feb", "Mar", "Apr",
"Mei", "Jun", "Jul", "Ags", "Sep", "Okt", "Nov", "Des"];
3. var waktu:Date = new Date();
4.
5. function update_waktu(e:Event):void{
6. var waktu_sekarang:String = "";
7. var waktu:Date = new Date();
8. waktu_sekarang = nama_hari[waktu.getDay()]+",
"+waktu.getDate()+" "+nama_bulan[waktu.getMonth()]+"
"+waktu.getFullYear()+".
165
"+waktu.getHours()+":"+waktu.getMinutes()+":"+waktu.getS
econds();
9. waktu_txt.text = waktu_sekarang;
10. }
11.
12. addEventListener(Event.ENTER_FRAME, update_waktu);
3. Jalankan aplikasi dengan menekan Ctrl+Enter. Maka akan didapati tampilan
waktu secara realtime berdasarkan waktu aktif komputer.
Gambar 197. Tampilan waktu
4. Untuk menambahkan gambar jam klasik dengan jarum, buatlah 3 buah
movieclip jarum (detik, menit dan jam) dan 1 background lingkaran. Tambahkan
instance name “detik”, “menit” dan “jam”, lalu atur posisinya sesuai
gambar.
Gambar 198. Pengaturan jarum jam
5. Ubah kode pada frame 1 layer 2 menjadi sebagai berikut :
1. var nama_hari:Array = ["Minggu", "Senin", "Selasa",
"Rabu", "Kamis", "Jumat", "Sabtu"];
2. var nama_bulan:Array = ["Jan", "Feb", "Mar", "Apr",
"Mei", "Jun", "Jul", "Ags", "Sep", "Okt", "Nov", "Des"];
3. var waktu:Date = new Date();
4.
5. function update_waktu(e:Event):void{
6. var waktu_sekarang:String = "";
7. var waktu:Date = new Date();
8. waktu_sekarang = nama_hari[waktu.getDay()]+",
"+waktu.getDate()+" "+nama_bulan[waktu.getMonth()]+"
"+waktu.getFullYear()+".
"+waktu.getHours()+":"+waktu.getMinutes()+":"+waktu.getS
econds();
9. waktu_txt.text = waktu_sekarang;
10. //menampilkan waktu pada jarum jam
11. detik.rotation = waktu.getSeconds()*6;
12. menit.rotation = waktu.getMinutes()*6;
13. jam.rotation = waktu.getHours()*30;
14. }
15.
16. addEventListener(Event.ENTER_FRAME, update_waktu);
6. Jalankan aplikasi dengan menekan Ctrl+Enter. Maka akan didapati tampilan
jarum jam yang tepat.
Gambar 199. Tampilan jarum jam
Pada contoh diatas digunakan listener ENTER_FRAME, agar fungsi update_waktu
dijalankan secara terus menerus. Di dalam fungsi ini terdapat kode var
waktu:Date = new Date(); sehingga aplikasi secara terus menerus mengambil data
waktu yang aktif pada komputer pengguna, lalu beberapa kode seperti getDay,
getDate dan sebagainya digunakan untuk mengakses detail dari class Date.
Pada baris awal terdapat variabel bertipe array yaitu nama_hari dan nama_bulan,
variabel ini diperlukan karena kode getDay() dan getMonth() menghasilkan nilai
bertipe Number antara 0 - 7 untuk day dan 0-11 untuk month. Dengan variabel array,
kita dapat menampilkan nama hari/bulan berdasarkan nilai yang dihasilkan, sebagai
contoh getMonth() menghasilkan nilai 11, maka yang akan muncul yaitu
nama_bulan[11] yaitu "Des".
Membuka file SWF Eksternal
Pada beberapa kasus tertentu, diperlukan akses file SWF dari luar aplikasi. Sebagai
contoh untuk menambahkan intro (animasi di awal) aplikasi, membuka materi berupa
animasi SWF dan sejenisnya. Perhatikan langkah-langkah berikut, dimana aplikasi akan
membuka sebuah file swf animasi bumi dan bulan yang telah dibuat sebelumnya.
1. Buatlah sebuah file baru. Selanjutnya pastikan file yang akan dibuka berada di
folder yang sama.
2. Buatlah 2 buah tombol untuk membuka dan menutup file, lalu tambahkan
instance name “tombol_buka” dan “tombol_tutup”. Letakkan di bagian kiri
bawah layar.
3. Buatlah sebuah layer baru (layer 2). Klik frame 1 layer 2 lalu saat n
kode berikut :
1. var nama_file:String = "animasi bumi bulan.swf";
2. var loader:MovieClip = new MovieClip();
3. var terbuka:Boolean = false;
4. addChild(loader);
5.
6. function bukaFile(e:MouseEvent):void{
7. if (!terbuka){
8. terbuka = true;
9. var fileSWF:Loader = new Loader();
10. var link:URLRequest = new URLRequest(nama_file);
11. fileSWF.load(link);
12. loader.addChild(fileSWF);
13. }
14. }
15.
16. function tutupFile(e:MouseEvent):void{
17. removeChild(loader);
18. loader = new MovieClip();
19. addChild(loader);
20. terbuka = false;
21. }
22.
23. tombol_buka.addEventListener(MouseEvent.CLICK,
bukaFile);
24. tombol_tutup.addEventListener(MouseEvent.CLICK,
tutupFile);
4. Simpan, lalu jalankan aplikasi dengan menekan Ctrl+Enter. Lalu coba klik
tombol buka dan tombol tutup, jika proses benar maka file SWF yang berada di
luar aplikasi dapat dibuka dan ditutup.
Gambar 200. Hasil aplikasi membuka file SWF.
Penambahan efek visual untuk mempercantik tampilan multimedia pembelajaran masih
dapat dikembangkan lagi seiring berkembangnya pemahaman kita terhadap pemakaian
kode.
Publishing
Langkah terakhir dalam proses pengembangan media pembelajaran interaktif yaitu
publishing. Publishing berarti menjadikan proyek yang kita buat menjadi aplikasi yang
dapat dijalankan di komputer pengguna. Flash versi terbaru mendukung beberapa output
diantaranya yaitu :
1. SWF (Desktop dan Web Browser)
File bertipe SWF merupakan file output standart yang dihasilkan oleh aplikasi
flash. File bertipe SWF dapat dijalankan langsung pada PC Desktop apabila
memiliki aplikasi Flash Player (yang dapat di download di situs Adobe), atau
dijalankan di browser yang telah terinstall plugin flash player.
2. Windows Projector (.exe Desktop)
Format Windows projector akan menghasilkan file bertipe EXE yang dapat
dijalankan secara langsung oleh PC Desktop, meskipun komputer pengguna tidak
memiliki aplikasi Flash player.
3. Adobe AIR (Desktop installer)
Format Adobe AIR hampir sama dengan format Windows Projector (.exe).
Dengan format Adobe AIR hasil akhir akan berekstensi .air dan dapat diinstall di
desktop sebagaimana aplikasi berekstensi exe.
4. HTML 5 (Web Browser)
Standart baru HTML yaitu HTML 5 memiliki fitur baru yaitu canvas.
Mempublish flash dengan output HTML 5 akan menghasilkan file HTML yang
menghandle aplikasi flash dalam format HTML canvas.
5. AIR for Android (APK)
Format baru AIR for Android ditujukan untuk pengguna mobilephone berbasis
android.
6. AIR for iOS (IPA)
7. Format baru AIR for iOS akan menghasilkan file berekstensi IPA dan ditujukan
untuk pengguna mobilephone berbasis iOS.
Mempublish Aplikasi untuk PC Desktop
Untuk menghasilkan file bertipe exe untuk media pembelajaran interaktif yang
dijalankan di PC Desktop, perhatikan langkah-langkah berikut :
1. Bukalah projek yang akan dipublish, pastikan semua kode telah bekerja dengan
baik. Pilih menu File>Publish Setting. Agar menghasilkan file bertipe exe,
centang opsi Windows Projector (.exe). lalu klik sub option Flash lalu
naikkan opsi JPEG quality menjadi 100 agar gambar tidak terdistorsi.
Gambar 201. Publish settings
2. Tekan tombol Publish, setelah proses publishing selesai, maka akan
menghasilkan 3 buah file yaitu file bertipe EXE, SWF dan HTML. Buka
Windows explorer anda dan jalankan file yang bertipe EXE (Aplication). Jika
proses yang anda lakukan benar, saat ini movie anda sudah menjadi sebuah
Interactive Multi Media yang bisa dijalankan di sebagian besar komputer .
Gambar 202. Hasil proses publishing bertipe exe.
171
Pada dasarnya proses publishing tidak berhenti sampai disini, terdapat beberapa hal yang
harus ditambahkan dan diperhatikan, diantaranya yaitu :
1. Tampilan media pembelajaran interaktif yang baik yaitu tampil fullscreen.
Untuk menjadikan fullscreen, pada awal kode tambahkan kode berikut :
stage.displayState = StageDisplayState.FULL_SCREEN;
2. Penambahan intro, tombol keluar, dan beberapa pemanis tampilan seperti
animasi, kursor yang kustom dan sebagainya dapat menambah daya tarik media.
3. Aplikasi dapat dipublish ulang memakai software-software tambahan untuk
menambah fitur seperti mencegah klik kanan, menganti icon, membuat installer
dan sebagainya. Salah satu aplikasi yang dapat dipakai yaitu aplikasi MDM
Zinc.
4. Konten aplikasi dapat menampilkan objek 3 dimensional. Untuk menambahkan
fitur 3 Dimensi digunakan aplikasi tambahan seperti Flare3D atau Away 3D dan
akan dibahas di buku lain.
Mempublish menjadi Aplikasi Mobile Android
Pengguna mobile phone berbasi Android di Indonesia sangatlah besar. Hampir 50 juta
pengguna di tahun 2016 merupakan sebuah peluang untuk mempublikasikan media
pembelajaran melalui platform Android. Pada dasarnya mempublish projek Flash
menjadi aplikasi Android tidak terlalu sulit, hanya saja fitur ini dimiliki oleh aplikasi
Flash terbaru seperti Adobe CS6 ke atas dan versi terbaru yaitu Adobe Animate CC.
Pada contoh berikut, projek dipublish dengan memakai aplikasi Adobe Animate
CC. Untuk lebih jelasnya perhatikan langkah berikut :
1. Bukalah projek yang akan dipublish, pastikan semua kode telah bekerja dengan
baik. Pilih menu File>Publish Setting. Pada opsi target pilih AIR for Android.
Gambar 203. Target AIR for Android
2. Sebelum menekan tombol Publish, terdapat beberapa seting yang harus diatur
terkait dengan kebutuhan spesifik untuk mobile phone. Untuk itu klik ikon kunci
pas di pojok kanan atas.
Gambar 204. Tombol setting
3. Pada General Setting, saat n nama pada kolom Outputfile. Atur juga Aspect
ratio untuk menentukan aplikasi berjalan secara landscape atau portrait. Centang
opsi Fullscreen agar aplikasi tampil penuh.
Gambar 205. General Setting
4. Selanjutnya dalam setiap pembuatan aplikasi berbasis Android selalu diperlukan
file sertifikat (.p12). Untuk itu aktifkan tab Deployment dan klik tombol create
untuk membuat certificate.
Gambar 206. Create certificate
5. Isilah semua kolom isian. Isikan nama dan password. Selanjutnya klik OK dan
file berekstensi .p12 akan terbentuk ditandai dengan pesan sukses.
173
Gambar 207. Panel Create Certificate
6. Setelah itu pada panel Deployment kolom certificate akan terisi oleh sertifikat
yang barusaja dibuat. Pada opsi Android deployment type aktifkan opsi Device
release. Pada opsi AIR runtime aktifkan opsi Embed AIR runtime, agar pengguna
langsung dapat menjalankan aplikasi tanpa menginstall Adobe AIR terlebih
dahulu di mobile phonenya.
Gambar 208. Deployment setting
7. Pada panel selanjutnya siapkan file untuk icon aplikasi dengan beberapa ukuran
yang telah ditentukan, yaitu : 36x36 pixel, 48x48 pixel, 72x72 pixel dan 96x96
pixel. Buka masing-masing file dengan menekan tombol browse.
Gambar 209. Icon aplikasi
8. Untuk panel selanjutnya yaitu mengatur ijin pemakaian perangkat. Untuk saat
ini tidak ada fitur khusus yang membutuhkan ijin, sehingga 2 panel ini dapat
dilewati. lalu klik publish dan proses pembentukan file APK akan
berlangsung. Dalam beberapa saat lalu file APK akan tersedia di folder
tempat bekerja.
Gambar 210. File APK hasil proses publishing
9. Copy file APK ini ke perangkat mobile berbasis Android, install dan
jalankan. Apabila tidak ada kesalahan, secara umum aplikasi akan bekerja
dengan baik di berbagai perangkat dengan berbagai ukuran layar.
Gambar 211. Ujicoba media pembelajaran dengan perangkat mobile berbasis
Android
Multimedia Pembelajaran Interaktif merupakan salah satu media yang dapat digunakan
untuk menyampaikan materi pembelajaran kepada peserta didik dengan sangat efektif
dan efisien. Keunggulan utama media pembelajaran interaktif yaitu interaktivitas itu
sendiri membuka berbagai peluang interaksi antara pengguna dengan media. Namun
demikian untuk membentuk interaktivitas yang baik diperlukan pengetahuan yang baik
tentang desain antar muka dan teknik pemrograman, dua hal yang menjadi kelemahan
bagi sebagian besar tenaga pengajar di Indonesia.
Melalui buku ini, penulis mencoba mendeskripsikan proses pembuatan multimedia
pembelajaran interaktif mulai dari desain hingga teknik pemrograman. Meskipun dalam
buku ini telah dibahas beberapa teknik dasar terkait proses pembuatan multimedia
pembelajaran interaktif, akan tetapi pengembangan yang sesungguhnya dikembalikan
kepada masing-masing pembaca.
Multimedia pembelajaran interaktif yang dihasilkan dapat digunakan secara personal,
maupun dipublikasikan untuk kepentingan komersial. Secara personal pemakaian
multimedia pembelajaran interaktif akan sangat membantu peserta didik dalam
memahami suatu materi dengan cara baru yang menyenangkan. Secara komersial, pasar
multimedia pembelajaran interaktif masih terbuka luas dengan banyaknya pemilik
perangkat yang mampu menjalankan aplikasi dan masih sedikit pengembang tanah air
yang melirik bidang multimedia pembelajaran interaktif secara serius.
Semoga buku ini memberikan wawasan dan manfaat bagi pembacanya, sekaligus sebagai
bahan acuan dalam pengembangan multimedia pembelajaran interaktif. Pada akhirnya
penulis ingin berterimakasih kepada seluruh pembaca dan semoga buku ini ditindak
lanjuti dengan banyaknya multimedia pembelajaran interaktif yang berkualitas.



