Anda di halaman 1dari 17

MODUL PELATIHAN PRODUKSI

PELATIHAN PEMROGRAMAN
ACTION SCRIPT
MACROMEDIA FLASH 8

Oleh :
Toni Setyawan, ST
NIP : 132299006
Tim Produksi Multimedia

BALAI PENGEMBANGAN MULTIMEDIA


SEMARANG
2007
Property Movie Clip
Movie clip adalah salah satu jenis simbol yang tersimpan dalam library. Cara
membuatnya dengan mengambar langsung di stage lalu di klik kanan > convert to symbol >
pilih type movie clip >ok atau dengan pulldown menu insert > new symbol. Jangan lupa
untuk memberi nama yang sesuai agar kita dapat membedakan saat tampil di library.
Dalam penggunaanya movie clip dapat di modivikasi propertynya mengunakan script.
Sebelum kita ubah propertiesnya jangan lupa memberi instance name pada movie clip yang
sudah terpasang pada state. Caranya :
Clik movie clip pada stage lalu ubah namanya pada posisi seperti pada gambar
dibawah ini :

Pada gambar di atas instance name dari movie clip tersebut adalah mc. Untuk
merubah propertiesnya mengunakan scrip gunakan perintah dibawah ini (jangan dijalankan
semua Action Script bersama-sama) :

mc._x = 0; koordinat x
mc._y = 0; koordinat y
mc._xscale = 100; rasio x (%)
mc._yscale = 100; rasio y (%)
mc._width = 100; lebar (pixel)
mc._height = 100; tinggi (pixel)
mc._alpha = 50; tranparan (max 100)
mc._rotation = 15; rotasi (derajat)
mc._visible = false; nampak
mc._x = _xmouse; disamakan koor mouse
mc._y = _ymouse; disamakan koor mouse
warna = new Color(mc); digunakan untuk merubah
warna.setRGB(0x77FF23); warna

Buatlah Movie clip dengan instance name mc kemudian isi dengan salah satu AS properties
seperti teks diatas.

Pada saat dilakukan test movie (Ctrl-Enter) scrip hanya dibaca sekali saat loading
saja. Jika ingin mc berjalan mengunakan perintah scrip kita dapat mengunakan perintah
dibawah ini

mc._x +=1; menambah 1 koordinat x

Karena scrip tersebut hanya dibaca sekali (saat loading) maka perubahannya hanya
sekali saja. Bila kita menginginkan script dibaca terus maka kita harus membuat script
tersebut selalu dibaca hingga properties movie clip selalu berubah. Ada dua cara yang dapat
dilakukan :
1. Menambah 1 frame (frame 1 dan frame 2 sama) pada time line.
2. Tambahkan scrip berikut ini :

onEnterFrame = function () {
mc._x +=1;
}

Scrip diatas membuat perintah dibaca berulang-ulang sesuai pergerakan frame (meski
frame hanya 1 sebenarnya flash tetap menjalankan frame sesuai dengan frame rate
yang telah di set pada properties dokumennya)
Latihan :
1. Buatlah perubahan properties yang berkelanjutan untuk properties yang lain.

Modul pelatihan Action Script Flash oleh Toni Setyawan, ST 1


Posisi Action Script
Perbedaan pemrograman Action Script (AS) Flash dengan pemrogramman yang lain
adalah flash memiliki posisi yang berbeda-beda dan format pengunaan yang berbeda pula.
Hal ini menjadi keunggulan sekaligus kelemahan AS Flash. Dengan posisi yang berbeda kita
dapat menempatkan AS pada posisi yang lebih menguntungkan, tetapi disisi lain akan
sangat membingungkan karena kita harus tahu apakan AS tersebut terbaca atau tidak. Jadi
ada kemungkinan AS benar tetapi tidak terbaca hingga jalannya program tidak sesuai
dengan keinginan.
1. Action Script pada Frame
Pada posisi ini keberadaan AS ditandai dengan simbul huruf a pada frame yang
bersangkutan.

Agar kita membuat script pada posisi yang tepat, clik dahulu posisi yang dikehendaki.
Bila ingin membuat AS pada frame, clik frame hingga muncul tulisan Action – Frame di
atas docker AS seperti gambar dibawah ini. Lalu ketik listing program pada tempat yang
disediakan.

Buatlah Movie clip dengan instance name mc dan button dengan instance name bt
kemudian isi AS seperti gambar diatas.
2. Action Script pada Button
Pengunaan AS pada button selalu diikuti dengan event. Jadi AS tersebut akan dijalankan
pada saat event berlangsung. Bila ingin membuat AS pada button, clik button hingga
muncul tulisan Action – Button di atas docker AS seperti gambar dibawah ini. Lalu ketik
listing program pada tempat yang disediakan.

Modul pelatihan Action Script Flash oleh Toni Setyawan, ST 2


Buatlah Movie clip dengan instance name mc2 dan button kemudian isi AS pada button
tersebut seperti gambar di halaman sebelumnya.

Macam event pada button dapat dilihat pada gambar berikut

Untuk memunculkan event seperti gambar diatas, klik listing On lalu klik Script Assist.
Event pada button diatas dapat berjalan bersama-sama.

Coba ubah atau tambahkan eventnya lalu rasakan bedanya!


3. Action Script pada Movie clip
Sama seperti AS pada button, pengunaan AS pada movie clip selalu diikuti dengan event.
Jadi AS tersebut akan dijalankan pada saat event berlangsung. Bila ingin membuat AS
pada movie clip, clik movie clip hingga muncul tulisan Action – Movie Clip di atas docker
AS seperti gambar dibawah ini. Lalu ketik listing program pada tempat yang disediakan.

Buatlah Movie clip dengan kemudian isi AS pada movie clip tersebut seperti gambar di
atas.

Macam event pada movie clip dapat dilihat pada gambar berikut

Untuk memunculkan event seperti gambar diatas, klik listing On lalu klik Script Assist.
Event pada button diatas dapat berjalan bersama-sama.

Coba ubah atau tambahkan eventnya lalu rasakan bedanya!

Latihan :
1. Buatlah beberapa movie clip dan button kemudian isikan program untuk mengatur movie
clip dengan berbagai cara.

Modul pelatihan Action Script Flash oleh Toni Setyawan, ST 3


Click and Drag
Ada beberapa cara untuk mengaplikasikan fungsi clik and drag mengunakan flash.
Selain digunakan untuk apilkasi menjodohkan gambar, click and drag juga digunakan untuk
membuat input slider, puzzle dan lain-lain.

Buat movie clip kemudian masukkan listring program dibawah ini sebagai AS pada movieclip
tersebut lalu test movie (Ctrl-Enter).

onClipEvent (load) {
this.onPress = function() {
this.startDrag();
};
this.onRelease = function() {
this.stopDrag();
};
}

Ubah baris ketiga menjadi seperti dibawah ini dan rasakan bedanya!

this.startDrag(false, 100, 100, 450, 300);

Keterangan AS :
- false : menyatakan mc tidak dikunci dengan center (coba ubah dengan true)
- angka 1 : batas kiri
- angka 2 : batas atas
- angka 3 : batas kanan
- angka 4 : batas bawah

Buatlah aplikasi menjodohkan dengan menambahkan movie clip dengan instance name
mctarget (buat lebih besar dari movie clip sebelumnya, buat dalam layer yang berbeda dan
tempatkan dibawah layer pertama) sebagai tempatnya. Kemudian ubah AS pada movieclip
pertama dengan listing berikut :

onClipEvent (load) {
this.onPress = function() {
this.startDrag();
};
this.onRelease = function() {
this.stopDrag();
if (eval(this._droptarget) == _parent.mctarget) {
this._x = _parent.mctarget._x;
this._y = _parent.mctarget._y;
}
};
}

Keterangan AS :
- Perintah if (eval(this._droptarget) == _parent.mctarget) digunakan untuk menyatakan
apakah saat dilepas mouse berada pada mctarget atau tidak. Mctarget ditambahkan
_parent karena mctarget berada diluar mc tempat AS ditempatkan.
- Pada perintah if ini dapat ditambahkan perintah yang lain untuk menyatakan apakah
peletakkanya sesuai atau tidak, misalkan ditambahkan effek suara yang sesuai.
- Perintah this._x = _parent.mctarget._x; digunakan untuk menyatakan bila target sesuai
maka koordinat x dari mc akan digeser tepat ditengah mctarget, begitu pula untuk
koordinat y.

Listing lengkap menjodohkan


Dari listng program yang terakhir kita telah membuat sebuah program menjodohkan
yang sudah bisa memberikan respon sesuai atau tidak tempatnya, tetapi program tersebut
belum lengkap. Coba kita klik and drag lagi mc yang sudah tepat pada posisinya. Pada
kondisi ini mc masih dapat di gerakkan. Pada program menjodohkan yang tepat, setelah mc
sesuai maka mc tersebut tak bisa digerakkan.

Buatlah aplikasi menjodohkan dengan kriteria movieclip terkunci bila sudah berada pada
posisi yang tepat dan akan kembali ke tempat semula bila salah.

Modul pelatihan Action Script Flash oleh Toni Setyawan, ST 4


Ubah AS di mc dengan listing berikut ini :

1 onClipEvent (load) {
2 bunyi = new Sound();
3 orix = this._x;
4 oriy = this._y;
5 kondisi = false;
6 this.onPress = function() {
7 if (!kondisi) {
8 this.startDrag(true);
9 }
10 };
11 this.onRelease = function() {
12 this.stopDrag();
13 if (eval(this._droptarget) == _parent.mctarget) {
14 this._x = _parent.mctarget._x;
15 this._y = _parent.mctarget._y;
16 kondisi = true;
17 bunyi.attachSound("resbenar");
18 bunyi.start();
19 } else {
20 this._x = orix;
21 this._y = oriy;
22 bunyi.attachSound("ressalah");
23 bunyi.start();
24 }
25 };
26 }

Keterangan AS :
Baris 2 adalah deklarasi object suara untuk sound effeck
Baris 3 dan 4 adalah memasukan properties mc ke dalam variabel untuk mengetahui posisi
awal mc
Baris 5 mendeklarasikan variabel kondisi yang menyatakan mc belum menempati posisi
yang benar
Baris 7 jika posisi masih salah maka mc dapat di drag saat di klik, berarti bila variabel
kondisi true maka mc tak dapat digerakkan
Baris 16 jika if pada baris ke 13 berisi true (posisi mc sudah benar) maka variabel kondisi
diubah menjadi true.
Baris 17 memasukkan suara “resbenar” yang terdapat pada library ke dalam object suara
dengan nama bunyi (lihat perhatian).
Baris 18 membunyikan object suara dengan nama bunyi
Baris 20 dan 21 mengembalikan posisi mc ke tempat semula (karena salah)
Baris 22 memasukkan suara “ressalah” yang terdapat pada library ke dalam object suara
dengan nama bunyi (lihat perhatian).
Baris 23 membunyikan object suara dengan nama bunyi

Perhatian :
- Untuk membunyikan suara dengan AS pastikan suara sudah di import ke dalam library.
- Selanjutnya suara dalam library dibuat linkage dengan cara klik kanan suara di library
tersebut lalu pilih linkage maka akan muncul pop up seperti gambar dibawah ini.

Indentifier adalah nama


yang akan dipanggil oleh
attach sound

Cek seting linkage seperti


ini

Agar aplikasi dapat di ulang buatlah tombol ulang, kemudian isikan AS pada button tersebut
dengan listing di halaman berikut ini :

Modul pelatihan Action Script Flash oleh Toni Setyawan, ST 5


on (release) {
mc.kondisi = false;
mc._x = mc.orix;
mc._y = mc.oriy;
}

Latihan :
1. Buatlah aplikasi menjodohkan dengan mc dan target lebih dari satu.
Tips
- Untuk mempercepat proses copy kan saja mc dan mctarget, kemudian ubah instance
namenya.
- Untuk AS hasil copyan sesuaikan listing program yang mengandung instnce name.
- Pada tombol ulang tambahkan seperti baris 2 – 4 dan sesuaikan dengan instance
name yang baru.
- Bila menginginkan toleransi yang tinggi, kecilkan ukuran mctarget. Dan untuk
tempatnya buat gambar biasa diluar mctarget.

Graphic User Interface


Dalam pembuatan simulasi haruslah diperhitungkan dahulu sisi masukan dan sisi
keluaran. Sisi masukan atau input dan sisi keluaran atau output dapat di implementasikan
ke dalam flash dengan membaca/merubah properties movie clip :
1. Keluaran (output)
Ada beberapa vasilitas dalam flash yang dapat mengakomodir GUI output. Dalam modul
ini yang akan dibahas adalah :
1. ukuran benda
2. posisi benda
3. kecepatan gerakan benda
4. kecepatan putar
5. warna
6. dynamic teks (tampilan teks yang isinya dapat berubah karena program)
2. Masukkan (input)
Ada beberapa vasilitas dalam flash yang dapat mengakomodir GUI input. Dalam modul
ini yang akan dibahas adalah :
1. posisi benda (slider)
2. input teks (tampilan teks yang isinya dapat kita ubah dengan mengetik)
3. radio button
4. button
3. Slider
Buatlah movieclip dengan instance name knop di dalam movie clip dengan instance name
slider. Kemudian pasangkan AS pada movieclip Slider listing program sebagai berikut :

onClipEvent (load) {
knob.onPress = function() {
this.startDrag(false,0,0,100,0);
};
knob.onRelease = function() {
this.stopDrag();
};
knob.onReleaseOutside = function() {
this.stopDrag();
};
}

keterangan listing sudah dibahas pada materi sebelumnya, sedangkan pemakaian


knop.onReleaseOutside digunakan untuk mengantisipasi bila mouse dilepas kliknya
diluar mc knob. Hal ini membuat slider akan terlihat lebih flexibel.

Test Movie tersebut (Ctrl-Enter) bila berfungsi selayaknya slider, kemudian buatlah
dynamic teks dengan show border around text aktif dan var : out1. Setelah itu
pasangkan AS pada frame root (utama) listing program pada halaman berikut ini :

Modul pelatihan Action Script Flash oleh Toni Setyawan, ST 6


onEnterFrame = function () {
out1 = this.slider.knob._x;
};

cara merubah properties teks dari statik menjadi dynamic dapat dilihat dari gambar
berikut ini :

Static Text
Variabel
Dynamic Text Show border
Input Teks around text

Test Movie tersebut (Ctrl-Enter) bila berfungsi dengan benar maka gerakan knob akan
dapat dibaca (muncul pada dynamic text).

Anda juga bisa mengunakan slider bawaan dari flash dengan cara :
1. Klik pulldown windows > common libraries > Buttons.
2. Kemudian buka map classic buttons > knobs & faders
3. Tarik fader – round ke state.
4. Buat instance name slider2 pada slider baru.
5. Copykan dynamic teks dan ubah var dengan out2
6. Tambahkan AS di frame root dengan AS out1 = this.slider.knob._y; menyisip di
baris ke 3

Tips
- Anda dapat memutar slider tersebut sesuai keingginan anda tetapi jangan merubah
AS karena meski movie clip slider2 dirotasi tetapi orientasi movie clip knob pada
movie clip slider2 tetap sama.
- Setelah anda dapat membaca slider (menjadi variabel out)maka anda dapat
mengunakan variabel out sebagai perubah properties movie clip yang lain misalnya :

mc1._height = out1;
mc1._width = out2;
4. Input teks
Buatlah movieclip dengan instance name mc, kemudian buatlah input teks dengan var :
rota. Setelah itu pasangkan AS pada frame root (utama) listing program berikut ini :

onEnterFrame = function () {
mc._rotation += Number(rota);
};

Test movie (Ctrl-Enter) tersebut lalu cobalah isikan angka ke dalam kotak yang tersedia.
Jika benar maka mc akan berputar dengan kecepatan yang sesuai dengan angka yang
tertulis.
5. Radio Button
Radio button adalah kumpulan button yang hanya dapat diseleksi salah satunya. Untuk
membedakkan kelompok radio button digunakan group name. Jadi jika memiliki group
name yang sama, kelompok tersebut hanya bisa diseleksi salah satu. Cara mengeluarkan
dan mengunakan radio button sebagai berikut :
1. Keluarkan docker components dengan cara klik pulldown menu windows >
components atau dengan cara tekan Ctrl-F7.
2. Clik and drag symbol radio button ke dalam state.
3. Ubah propertiesnya dengan cara clik radio button dan lihat docker properties.
Kemudian klik tab parameters, jika benar akan muncul tampilan seperti di halaman
berikutnya :

Modul pelatihan Action Script Flash oleh Toni Setyawan, ST 7


Parameter Radio Button :
data : isi variabel yang akan ditampilkan bila radio button ini terpilih.
groupName : nama dari kelompok radio button yang akan dipilih salah satunya.
label : nama radio button yang akan ditampilkan dalam stage.
labelPlacement : sisi radio button yang akan ditempati label.
selected : apakah radio button ini diseleksi (terpilih) sejak awal digunakan?

4. Setelah Radio button muncul di stage, rubah parameternya terutama groupName,


label dan datanya.
5. Copykan radio button tersebut sesuai dengan keinginan anda. Kemudian ubah
parameter hasil copyan seperti tabel berikut ini :

object data groupName Label


Radio button 1 175 ukuran 175 %
Radio button 2 150 ukuran 150 %
Radio button 3 125 ukuran 125 %
Radio button 4 100 ukuran 100%

6. Buat movie clip dengan instance name mc.


7. Setelah itu pasangkan AS pada frame root (utama) listing program berikut ini :

onEnterFrame = function () {
mc._xscale = ukuran.getValue();
mc._yscale = ukuran.getValue();
};

perintah ukuran.getValue() digunakan untuk membaca data yang terpilih pada radio
button dengan groupName ukuran.

Latihan
1. Buatlah program apilkasi simulasi yang menampilkan :
- dua buah slider yang ditampilkan besarannya dan digunakan untuk mengatur
koordinat sebuah bola pertama yang berputar.
- teks input yang digunakan untuk mengatur kecepatan putar bola kedua dan 4 macam
ukuran bola kedua yang diatur oleh 4 radio button
tips : kombinasikan contoh-contoh program yang telah dibahas sebelumnya.
2. Buatlah program untuk mengitung dua macam teks input ke dalam sebuah teks output
dengan fungsi kali, bagi, kurang, tambah yang masing-masing diatur oleh tombol
tips :
- buat 2 teks input yang masing masing bervariabel bil1 dan bil 2.
- buat 1 teks output yang bervariabel hasil
- buat 4 button yang mengambarkan fungsi perhitungan dimana masing-masing buton
diisi AS sebagai berikut ;

untuk tombol kali :


on (release) {
hasil = Number(bil1)*Number(bil2);
}

untuk tombol bagi :


on (release) {
hasil = Number(bil1)/Number(bil2);
}

Modul pelatihan Action Script Flash oleh Toni Setyawan, ST 8


untuk tombol kurang :
on (release) {
hasil = Number(bil1)-Number(bil2);
}

untuk tombol tambah :


on (release) {
hasil = Number(bil1)+Number(bil2);
}

3. Buat program untuk mensimulasikan gerakan parabola dari sebuah peluru meriam yang
ditembakkan.
Keterangan :
- input 2 slider yang diperlihatkan besarannya untuk menentukan sudut tembakan dan
kecepatan awal peluru.
- output berupa gerakan animasi peluru yang melambung dan berhenti ditanah.
- beri tombol untuk memulai tembakan dan mengulang animasi.
- rumus gerakan parabola :
x = v0 . t . cos α
y = v0 . t . sin α - t2
tips :
- buatlah time line menjadi tiga bagian utama : membaca parameter (sudut dan
kecepatan awal, animasi gerak peluru dan berhenti.
- masing-masing bagian dilompatkan dengan perintah timeline control pada kondisi
tertentu atau setelah menekan tombol.

Quis
Dalam membuat quis sebenarnya ada banyak sekali aturan atau cara yang ada.
Dalam modul ini akan mempelajari 2 macam quis yang sering digunakan dalam program on
line. Dua quis itu sering kita sebut latiha dan tes. Latihan adalah bentuk quis yang memiliki
respon dalam setiap jawaban soal dan penyelesaian bila jawaban salah. Sedang test adalah
bentuk quis yang soalnya random dan ada perhitungan nilainya.
1. Quis 1
Pembuatan quis 1 atau menurut Pustekkom bernama latihan memiliki berbagai
cara. Kemungkinan besar listing program atau analoginya akan berbeda dengan buatan
pustekkom, akan tetapi hasil akhir atau tampilannya sama yaitu quis dengan respon dan
penyelesaian bila jawaban salah. Berikut ini cara dan analogi pembuatan latihan dalam
pembelajaran online versi saya :
Sebelum memulai kita buat/masukkan dahulu komponen yang ada pada library
seperti gambar dibawah ini
symbol dengan type Compiled Clip adalah symbol yang
diambil dari docker components. Caranya click&drug
symbol di components ke library.

Symbol dengan nama resbetul dan ressalah adalah


movie clip yang dibuat sendiri dengan ukuran 150 x
150 yang akan digunakan untuk memberi respon
jawaban.

Symbol dengan nama penyel01, 03, 04 dan 05 adalah


movie clip yang dibuat sendiri dengan ukuran 300 x
150 yang akan digunakan untuk menampilkan
penyelesaian soal bila jawaban salah.

Symbol dengan nama penyel02 adalah movie clip yang


dibuat sendiri dengan ukuran 300 x 300 yang akan
digunakan untuk menampilkan penyelesaian soal bila
jawaban salah.

Symbol dengan nama penyel+s02 adalah movie clip yang dibuat sendiri guna
menampilkan penyel02 yang ukurannya lebih besar dari tempat yang akan disediakan.
Movie clip ini akan menambahkan ScrollPane pada movie clip penyel02 yang ukurannya
besar (sebagai contoh bila uraian penyelesaiannya panjang).

Modul pelatihan Action Script Flash oleh Toni Setyawan, ST 9


Tips : pastikan semua movie clip dalam library sudah di set linkage untuk script
Cara pembuatan scrollPane adalah :
1. Pada menu pulldown click Insert > New Symbol lalu pilih movie clip dan beri nama.
2. click&drug scrollPane pada library ke stage.
3. Ubah properties W = 322, H = 150, X = 161, Y = 75.
4. Click map parameter dan ubah contentPath dengan penyel02.

Perhatikan Time Line dibawah ini.

Frame 1 :
Frame ini berisi petunjuk dan button (dapat diambil dari componen yang diubah
parameter label dan instance namenya) untuk memulai yang diberi instance name mulai.
Listing AS pada frame ini sebagai berikut :

1 stop();
2 jawab.removeEventListener("click", tsListener);
3 mulai.onRelease = function() {
4 play();
5 };
6 _root.onLoad = function() {
7 import mx.managers.PopUpManager;
8 import mx.containers.Window;
9 import mx.controls.RadioButton;
10 };
11 function koreksi() {
12 if (jawab.getValue() == kunci) {
13 win = PopUpManager.createPopUp(_root, Window, true,
{title:"Jawaban anda",closeButton:true, contentPath:"resbetul"});
14 win._x = 425;
15 win._y = 200;
16 win.setSize(158, 185);
17 lo = new Object();
18 lo.click = function() {
19 win.deletePopUp();
20 play();
21 };
22 win.addEventListener("click", lo);
23 } else {
24 win = PopUpManager.createPopUp(_root, Window, true,
{title:"Jawaban anda",closeButton:true, contentPath:"ressalah"});
25 win._x = 425;
26 win._y = 200;
27 win.setSize(158, 185);
28 lo = new Object();
29 lo.click = function() {
30 win.deletePopUp();
31 win = PopUpManager.createPopUp(_root, Window, true,
{title:"Penyelesaian", closeButton:true, contentPath:penyelesaian});
32 win._x = 260;
33 win._y = 200;
34 win.setSize(325, 187);
35 lo = new Object();
36 lo.click = function() {
37 win.deletePopUp();
38 play();
39 };
40 win.addEventListener("click", lo);
41 };
42 win.addEventListener("click", lo);
43 }
44 }

Modul pelatihan Action Script Flash oleh Toni Setyawan, ST 10


Keterangan AS :
Baris 1 untuk menghentikan frame.
Baris 2 untuk memastikan tidak ada listener pada radiobutton dengan groupName jawab.
Baris 3 – 5 membuat perintah untuk button mulai.
Baris 6 – 10 mengimport perintah untuk komponen pada saat program ini loading.
Baris 11 deklarasi untuk membuat function dengan nama koreksi.
Baris 12 deklarasi untuk membuat looping if jika jawaban sama dengan kunci
Baris 13 menampilkan popup window dengan isi movieclip resbetul.
Baris 14 - 16 merubah properties popup window
Baris 17 – 18 deklarasi object lo
Baris 19 – 20 untuk mengisi perintah bila closebutton pada window di click.
Baris 21 untuk menutup perintah lo
Baris 22 untuk mendeklarasikan listener untuk closebutton pada window
Baris 23 untuk mendeklarasikan else untuk if di baris 12.
Baris 24 – 43 sama seperti keterangan baris sebelumnya, tetapi perintah ini dijalankan
bila jawaban salah. Bedanya saat respon salah ditutup tidak lompat ke soal
selanjutnya tetapi membuka popup window lagi untuk penyelesaian.
Baris 44 untuk menutup perintah function.

Frame 2
Frame ini berisi teks soal dan radio button untuk menjawab pertanyaan. Isi parameter
radio button dengan groupName = jawab dan data = a/b/c/d/e sesuai dengan
urutannya. Listing AS pada frame ini sebagai berikut :

1 stop();
2 kunci = "a";
3 penyelesaian = "penyel01";
4 var tsListener:Object = new Object();
5 tsListener.click = function() {
6 koreksi();
7 };
8 jawab.addEventListener("click", tsListener);

Keterangan AS :
Baris 1 untuk menghentikan frame.
Baris 2 untuk mendeklarasikan kunci jawaban untuk soal pada frame ini.
Baris 3 untuk mendeklarasikan isi penyelesaian yang akan ditampilkan oleh popup
window.
Baris 4 – 5 mendeklarasikan listener untuk saat di click.
Baris 6 isi perintah saat tslistener di click. Ini adalah perintah untuk memanggil function
koreksi.
Baris 7 menutup baris 5
Baris 8 mendeklarasikan tslistener itu milik radio button dengan groupname jawab.

Frame 3, 5, 7, 9, 11
Frame ini sengaja dikosongkan untuk memberi jeda frame agar radio button tidak
mempengaruhi radio button pada frame selanjutnya

Frame 4, 6, 8, 10
Frame ini isinya sama dengan frame 2 tapi untuk Asnya hanya sampai baris ke 3 sedang
baris ke 4 dan seterusnya dihilangkan. Hal ini dikarenakan tslistener untuk radio button
jawab akan berfungsi terus hingga dihilangkan (remove) seperti pada baris 2 frame1.
2. Quis 2
Pembuatan quis 2 atau menurut Pustekkom bernama tes memiliki berbagai cara.
Quis ini tidak memakai respon tetapi ada nilai hasil koreksi jawaban dan soalnya dibuat
random. Berikut ini cara dan analogi pembuatan tes dalam pembelajaran online versi
saya :
Sebelum memulai kita buat/masukkan dahulu komponen yang ada pada library
seperti gambar dibawah ini

symbol dengan type Compiled Clip adalah symbol yang


diambil dari docker components. Caranya click&drug
symbol di components ke library.

Modul pelatihan Action Script Flash oleh Toni Setyawan, ST 11


Perhatikan time line berikut ini

Pada aplikasi ini terdapat 2 layer yang dibedakaan antara tempat soal dan button.
Hal ini dilakukan karena salah satu button diinginkan untuk tampil di semua frame soal.
Sebelum membuat layer soal yang rumit kita buat dahulu layer button dulu yang lebih
mudah.

Layer button frame 1


Frame ini berisi button dengan instance name mulai dan label mulai berada di posisi
kanan bawah. Listing AS pada frame ini sebagai berikut :

mulai.onRelease = function() {
play();
};

program diatas untuk menjalankan program pada baris 2 saat button tersebut di click.

Layer button frame 2 - 12


Frame ini berisi button dengan instance name lanjut dan label soal berikutnya berada di
posisi kanan bawah. Listing AS pada frame ini sebagai berikut :

1 if (nosoal == tampil) {
2 lanjut.label = "Hasil tes";
3 }
4 lanjut.onRelease = function() {
5 if (jawab.getValue() == kunci) {
6 benar += 1;
7 }
8 if (nosoal == tampil) {
9 gotoAndStop("selesai");
10 } else {
11 nosoal += 1;
12 gotoAndPlay(2);
13 }
14 };

Keterangan AS:
Baris 1 – 3 menyatakan saat soal terakhir maka label button berubah menjadi hasil Tes.
Baris 4 untuk mendeklarasikan perintah untuk tombol lanjut.
Baris 5 – 7 untuk mengkoreksi jawaban, jika jawaban sama dengan kunci maka variabel
benar ditambah 1
Baris 8 – 13 untuk menanyakan apakah sudah sampai soal terakhir, jika ya maka goto
ke frame name selesai. Jika tidak goto ke frame 2 dan variabel nosoal ditambah 1.
Baris 14 untuk menutup deklarasi baris 4.

Layer button frame 13


Frame ini berisi button dengan instance name ulang dan label Ulangi tes berada di posisi
kanan bawah. Listing AS pada frame ini sebagai berikut :

ulang.onRelease = function() {
gotoAndPlay(1);
};

program diatas untuk menjalankan program pada baris 2 (perintah untuk jump ke
frame1) saat button tersebut di click.

Modul pelatihan Action Script Flash oleh Toni Setyawan, ST 12


Layer soal frame 1
Frame ini berisi petunjuk menjalankan test . Listing AS pada frame ini sebagai berikut :

1 stop();
2 benar = 0;
3 nosoal = 1;
4 tampil = 5;
5 semua = 5;
6 macamarray = [];
7 tampilarray = [];
8 for (n=0; n<semua; n++) {
9 macamarray[n] = n+1;
10 }
11 for (n=0; n<tampil; n++) {
12 soal = random(semua-n);
13 tampilarray[n] = macamarray[soal];
14 newArray = macamarray.splice(soal, 1);
15 }

Keterangan AS :
Baris 1 menghentikan frame.
Baris 2 mendeklarasikan variabel benar dengan isi 0.
Baris 3 mendeklarasikan variabel nosoal dengan isi 1.
Baris 4 mendeklarasikan variabel tampil dengan isi 5 = jumlah soal yang akan tampil.
Baris 5 mendeklarasikan variabel semua dengan isi 5 = total semua soal yang ada.
Baris 6 mendeklarasikan array dengan nama macamarray.
Baris 7 mendeklarasikan array dengan nama tampilarray.
Baris 8 – 10 untuk mengisi array macamarray dengan angka 1 sampai variabel semua
dalam hal ini isi array adalah [1, 2, 3, 4, 5].
Baris 11 – 15 untuk mengambil secara acak isi array macamarray ke dalam array
tampilarray sejumlah variabel tampil.

Layer soal frame 2


Frame ini hanya berisi AS yang digunakan untuk melompat ke soal secara acak sesuai
dengan array tampilarray. Listing AS pada frame ini sebagai berikut :

gotoAndStop(2+tampilarray[nosoal-1]);

Layer soal frame 3, 4, 5, 6, 7


Frame ini berisi dinamic teks dengan variabel nosoal, teks soal dan radio button untuk
menjawab pertanyaan. Isi parameter radio button dengan groupName = jawab dan data
= a/b/c/d/e sesuai dengan urutannya. Listing AS pada frame ini sebagai berikut :

stop(); menghentikan frame.


kunci = "a"; mendeklarasikan kunci jawaban

Layer soal frame 13


Frame ini berisi static teks yang berisi Hasil Tes dan 3 dinamic teks dengan variabel =
resume, nilainya dan ket. Listing AS pada frame ini sebagai berikut :

1 stop();
2 resume = (nama+", dari "+tampil+" pertanyaan anda menjawab dengan
benar "+benar+" pertanyaan.");
3 nilai = benar*10/tampil;
4 nilainya = ("Nilai anda = "+nilai);
5 if (nilai == 10) {
6 ket = ("Nilai yang sempurna !");
7 } else {
8 if (nilai>5) {
9 ket = ("Anda lulus, tetapi anda disarankan untuk menperdalam
pemahaman anda.");
10 } else {
11 ket = ("Nilai anda lebih kecil dari 6, anda disarankan untuk
mengulang lagi pelajaran.");
12 }
13 }

Modul pelatihan Action Script Flash oleh Toni Setyawan, ST 13


Keterangan AS :
Baris 1 untuk menghentikan frame.
Baris 2 untuk mengisi dinamic teks dengan instance name resume
Baris 3 untuk menhitung dan memasukkan variabel nilai
Baris 4 untuk mengisi dinamic teks dengan instance name nilainya
Baris 5 – 13 untuk menperhitungkan isi dinamic teks dengan instance name ket berdasar
nilai yang diperoleh.
Latihan
1. Modifikasilah quis 1 dengan respon yang berbeda, jumlah soal 10 dan penyelesaian soal
yang sesuai.
2. Modifikasilah quis 2 dengan jumlah soal 15 dan hanya tampil 10.

Modul pelatihan Action Script Flash oleh Toni Setyawan, ST 14


Bio Data
Nama : Toni Setyawan. ST
NIP : 132 299 006
Tempat / tanggal lahir : Klaten, 12 April 1971
Kebangsaan : Indonesia
Suku / Agama : Jawa / Islam
Hobi : Elektronika dan Komputer
Hand Phone : 08164881971
Alamat E-mail : tonimation@yahoo.com
Alamat blog : tonimation.blog.friendster.com
Alamat Rumah : Tembalang Pesona Asri Blok R No. 19, Semarang
Pendidikan Formal
• Pada tahap Penyelesaian Tesis S2 di Teknologi Pendidikan Universitas Sebelas
Maret Surakarta.
• Sarjana Teknik dari Teknik Elektro, fakultas Teknik Universitas Diponegoro
Semarang
• Sekolah Menengah Atas di SMAN 2 Klaten
• Sekolah Menengah Pertama di SMPN 1 Klaten
• Sekolah Dasar di SDN Bareng lor 2 Klaten
Pendidikan Non Vormal
• English Course di ELTI Semarang.
Pelatihan
• Linux Administrator
• Pelatihan Penulisan Naskah Multimedia
• Pelatihan Pengkaji Media Naskah Multimedia
• Pelatihan Produksi Multimedia
Workshop
• Workshop Multimedia oleh Digital Studio College Jakarta
• Workshop Analisis Kebutuhan, Penyusunan GBIPM dan Jabaran Materi untuk
Multimedia Pembelajaran Interaktif
• Workshop Pengembangan Multimedia Pembelajaran
• Workshop Pengembangan konten web untuk berita dan artikel
Lokakarya
• Lokakarya Pengembangan Program Diploma III Fakultas Teknik, Universitas
Diponegoro.
• Lokakarya Quality Control Produksi Media Pembelajaran Interaktif, Semarang.
Keahlian
1. Team Leader dalam Tim Produksi Multimedia
2. Animator dalam Tim Produksi Multimedia
3. Programer Simulasi dalam Tim Produksi Multimedia
4. Design Grafis dalam Tim Produksi Multimedia
5. Digitizer dalam Tim Produksi Multimedia
6. Cameraman dalam Tim Produksi Multimedia
7. Video Editing dalam Tim Produksi Multimedia
8. Photografer dalam Tim Produksi Multimedia
9. Trainer Produksi Animasi mengunakan Flash MX
10. Trainer Produksi Programer Simulasi mengunakan Action Script Flash MX
11. Trainer Produksi Design Grafis mengunakan Adobe PhotoShop
12. Trainer Produksi Digitizer mengunakan Cool Edit
13. Pembicara seminar dengan tema Teknik Produksi Multimedia
14. Pengkaji Media pembuatan Naskah Multimedia
15. Administrator jaringan dan perawatan peralatan di BPM Semarang

Pengalaman Kerja
Mulai Agustus 2008 : Dosen Tidak Tetap di Jurusan Teknologi Pendidikan
Universitas Negeri Semarang.
2005 - 2008 : Dosen Tidak Tetap di Jurusan Multimedia, Fakultas Ilmu
Komputer Universitas Dian Nuswantoro.
Mulai Desember 2001 : Staf Produksi di Balai Pengembangan Multimedia Semarang.
April – Juni 2001 : Anggota Tim “Technical Assistance Training Program” untuk
membuat program “Sistem Informasi Management” untuk
proyek Word Bank dengan STIE Anindyaguna Semarang.
Juli – Agustus 2000 : Anggota Tim Philarindo Perkasa untuk membuat Local Area
Network di APAC INTI Corporation, Semarang.
Desember 1999 : Anggota Tim Philarindo Perkasa untuk membuat Local Area
Network di SMK Negeri 3 Pati.
November 1999 : Anggota Tim Philarindo Perkasa untuk membuat Local Area
Network di Kantor Karantina Tumbuhan Tanjung Mas,
Semarang.
Maret 1999- Juli 2003 : Dosen Luar Biasa di Fakultas Teknik Universitas,
Pandanaran Semarang.
Mulai September 1998 : Dosen Luar Biasa di Fakultas Teknik Universitas Diponegoro
Semarang.
Juli – Agustus 1998 : Anggota Tim Philarindo Perkasa untuk membuat program
“Sistem Informasi Pendidikan dan Pelatihan” untuk Perum
Perhutani Madiun.
Maret – Mei 1998 : Anggota Tim Philarindo Perkasa untuk membuat Local Area
Network di AKA Wikajasa Semarang.

Semarang, 21 Juli 2008


Hormat saya

Toni Setyawan, ST

Anda mungkin juga menyukai