belajar action script pada flash macromedia
TRANSCRIPT
1MACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASH
Ariesto Hadi S
MACROMEDIAMACROMEDIAMACROMEDIAMACROMEDIAMACROMEDIAFLASHFLASHFLASHFLASHFLASH
Ariesto HadiAriesto HadiAriesto HadiAriesto HadiAriesto Hadi
ACTIONSCRIPTACTIONSCRIPTACTIONSCRIPTACTIONSCRIPTACTIONSCRIPT
2MACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASH
Ariesto Hadi S
DDDDDAFTAFTAFTAFTAFTAR ISIAR ISIAR ISIAR ISIAR ISI
1. Pendahuluan ................................................................................................................. 3
1. Pengenalan ActionScript ............................................................................................... 7
2. Sintaks .......................................................................................................................... 10
3. Tipe Data ....................................................................................................................... 16
4. Variabel ........................................................................................................................... 20
5. Operator ....................................................................................................................... 26
6. Penggunaan Action ..................................................................................................... 35
3MACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASH
Ariesto Hadi S
PENDAHULUANPENDAHULUANPENDAHULUANPENDAHULUANPENDAHULUAN
Komputer adalah bidang yang berkembang dengan pesat dan menakjubkan
untuk menunjang teknologi informasi. Setiap orang mengharapkan informasi dapat
diperoleh dengan cepat dan akurat. Informasi yang diperlukan oleh masyarakat secara
umum adalah berita yang dimuat dalam surat kabar, majalah, buku, televisi, internet
dan lain-lain.
Penyajian seperti presentasi dapat merupakan suatu sarana untuk memberikan
informasi yang berisi laporan, usulan dan lain-lain dalam organisasi dan perusahaan.
Penyajian presentasi yang komunikatif dan estetis sangat berpengaruh pada pemahaman
dan keberhasilan dari informasi tersebut.
Perkembangan teknologi informasi dapat meningkatkan kualitas dari penyajian
informasi tersebut dengan penyajian yang berbasis multimedia.
1. Definisi Multimedia1. Definisi Multimedia1. Definisi Multimedia1. Definisi Multimedia1. Definisi Multimedia
Arti multimedia berbeda dari sudut pandang orang yang berbeda. Secara umum,
multimedia berhubungan dengan penggunaan lebih dari satu macam cara untuk
menyajikan informasi. Rekaman musik hanya menggunakan suara (mungkin disebut
"unimedia"), music video adalah bentuk multimedia karena informasi menggunakan suara
dan video. [TWA 92].
Dalam dunia komputer, multimedia berhubungan dengan perrangkat lunak yang
digunakan dalam pengembangan dengan lebih dari satu cara untuk mernyampaikan
informasi kepada pengguna , seperti teks dan suara. Secara teknis, multimedia dalam
komputer bukan merupakan hal baru, karena integrasi antara teks dan gambar merupakan
komponen utama dalam banyak perangkat lunak aplikasi sudah lama dilakukan.
Informasi yang mernyajikan teks dengan diagram meruopakan salah satu contoh yang
telah banyak dibuat.
Pada saat ini, multimedia mempunyai arti tidak hanya integrasi antara teks dan
grafik sedarhana saja, tetapi dilengkapi dengan suara dan animasi. Sambil mendengarkan
penjelasan, dapat melihat gambar, animasi maupun membaca penjelasan dalam bentuk
teks.
4MACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASH
Ariesto Hadi S
2. K2. K2. K2. K2. Komponen Multimediaomponen Multimediaomponen Multimediaomponen Multimediaomponen Multimedia
Mulrtimedia terdiri dari beberapa komponen, yaitu:
� TeksHampir semua orang yang biasa menggunakan komputer sudah terbiasa denga
teks. Teks merupakan dasar dari pengolahan kata dan informasi berbasis multime-dia. Dalam kenyataannya, multimedia menyajikan informasi kepada audiens dengancepat, karena tidak diperlukan membaca secara rinci dan teliti.
� GrafikSecara umum grafik berarti gambar garis (line drawing). Manusia sangat
berorientasi pada visual (visual oriented), dan gambar merupakan sarana yang sangatbaik untuk menyajikan informasi. Grafik merupakan komponen penting dalammultimedia.
� ImagesSecara umum images berarti gambar raster (halftone drawing), seperti foto.
Basis data karyawan dengan atribut seperti nama, alamat dan lainnya lebih efektifbila foto karyawan yang bersangkutan dapat ditampilkan. Demikian juga foto-fotoseperti gedung dan lain-lain sangat memerlukan penyimpanan yang besar. Hal inilahyang menyebabkan aplikasi multimedia disimpan dalam media penyimpanan yangcukup besar kapasitasnya seperti CD ROM.
� AnimasiAnimasi berarti gerakan image atau video, contohnya, gerakan orang yang
sedang melakukan suatu kegiatan. Kosep dari animasi adalah sulitnyamenggambarkan informasi dengan satu gambar saja, atau sekumpulan gambar,juga tidak dapat menggunakan teks untuk menerangkan informasi. Arsip animasimemerlukan penyimpanan yang jauh lebih besar dari pada satu gambar.
� SuaraSuara dapat lebih memperjelas pengertian yang ditampilkan dengan cara lain.
Contohnya, narasi merupakan kelengkapan dari penjelasan yang dilihat melaluivideo. Suara dapat memberi lebih menjelaskan karakteristik suatu gambar, misalnyamusik dan suara efek (sound effect).
5MACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASH
Ariesto Hadi S
� Interactive linkSebagian dari multimedia adalah interaktif, dimana pengguna dapat menekan
mouse atau obyek pada screen seperti button atau teks dan menyebabkan programmelakukan perintah tertentu.
Interactive link dengan informasi yang dihubungkannya sering kali dihubungkansecara keseluruhan sebagai hypermedia. Secara spesifik, dalam hal ini termasukhypertext (hotword), hypergraphics dan hypersound menjelaskan jenis informasi yangdihubungkan.
Interactive link diperlukan bila pengguna menunjuk pada suatu obyek ataubutton supaya dapat mengakses program tertentu. Interactive link diperlukan untukmenggabungkan beberapa elemen multimedia sehingga menjadi informasi yangterpadu. Cara pengaksesan informasi pada multimedia terdapat dua macam, yaitulinier dan non-linier.
Informasi linier adalah informasi yang ditampilkan secara sekuensial, yaitu dariatas ke bawah atau halaman demi halaman., sedangkan pada informasi non-linierinformasi dapat ditampilkan langsung sesuai dengan kehendak pengguna.
Gambar. Informasi linier
Gambar. Informsi non linier
6MACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASH
Ariesto Hadi S
3. Macromedia Flash3. Macromedia Flash3. Macromedia Flash3. Macromedia Flash3. Macromedia Flash
Macromedia Flash merupakan standard profesional yang digunakan untuk
pembuatan animasi di web. Semakin berkembangnya Macromedia Flash, kini tidak
hanya digunakan pada pengembangan web saja, tetapi untuk berbagai keperluan mul-
timedia, baik linier maupun non linier. Pemrograman dengan ActionScript dapat
digunakan pembuatan visualisasi di segala bidang terutama aplikasi interaktif dengan
basis web. ActionScript adalah pemrograman visual berorientasi objek. Seperti
JavaScript, ActionScript merupakan inheritance (penurunan) dari bahasa pemrograman
C++.
Animasi hasil dari Macromedia Flash dapat diubah ke dalam format lain untuk
digunakan pada pembuatan desain web yang tidak langsung mengadaptasi Flash.
Animasi tersebut juga dapat digunakan pada pengembangan multimedia dengan
Macromedia Director.Macromedia Flash
Macromedia Flash merupakan standard profesional yang digunakan untuk
pembuatan animasi di web. Semakin berkembangnya Macromedia Flash, kini tidak
hanya digunakan pada pengembangan web saja, tetapi untuk berbagai keperluan mul-
timedia, baik linier maupun non linier. Pemrograman dengan ActionScript dapat
digunakan pembuatan visualisasi di segala bidang terutama aplikasi interaktif dengan
basis web. ActionScript adalah pemrograman visual berorientasi objek. Seperti
JavaScript, ActionScript merupakan inheritance (penurunan) dari bahasa pemrograman
C++.
Animasi hasil dari Macromedia Flash dapat diubah ke dalam format lain untuk
digunakan pada pembuatan desain web yang tidak langsung mengadaptasi Flash.
Animasi tersebut juga dapat digunakan pada pengembangan multimedia dengan
Macromedia Director.
7MACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASH
Ariesto Hadi S
1.1.1.1.1.PENGENALAN ACTIONSCRIPTPENGENALAN ACTIONSCRIPTPENGENALAN ACTIONSCRIPTPENGENALAN ACTIONSCRIPTPENGENALAN ACTIONSCRIPT
Bahasa Pemrograman
ActionScipt merupakan bahasa pemrograman (scripting) yang digunakan dalam
Macromedia Flash.
Penggunaan scripting
ActionScipt digunakan dengan tujuan:
- memberikan kebebasan berkreasi bagi desainer
- membuat animasi interaktif
- dapat menampilkan animasi tertentu (non linier)
Pengenalan
ActionScipt pada Flash 5 mirip dengan JavaScript. European Computers Manu-
facturer Association (ECMA) membuat dokumen ECMA-262 yang diambil dari
JavaScript, dan ECMA-262 menjadi spesifikasi ActionScript.
PPPPPanel Actionanel Actionanel Actionanel Actionanel Action
Panel Action adalah tempat untuk membuat perintah yang ditujukan pada objek
atau frame. Terdapat dua macam panel, yaitu:
Normal Mode
- memberikan kemudahan bagi pemula untuk membuat script
- action dapat dipilih dari daftar
- parameter diisi setelah pemilihan action
Expert Mode
- script ditulis dan diedit langsung pada editor box
8MACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASH
Ariesto Hadi S
Untuk menggunakan panel action:
1. Pilih Window −−−> Action. Standar panel action adalah Normal Mode.
Untuk mengubah ke expert mode, klik tanda panah di atas panel action.
Setelah menu yang muncul, dapat dipilih Expert Mode.
2. Untuk membuat membuat action dapat dilakukan dengan klik tanda +,
maka akan muncul kotak dengan berbagai pilihan, seperti Basic Actions,
Actions, Operators, Fuction dan Objects.
9MACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASH
Ariesto Hadi S
Bila dipilih Basic Actios, maka akan muncul tampilan seperti berikut.
Cara lain adalah sebagai berikut:
Klik tanda panah pada pull down menu Basic Actions, maka akan muncul
tampilan sebagai berikut.
Action belum aktif karena
frame, object atau instance
belum dipilh.
10MACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASH
Ariesto Hadi S
2. SINT2. SINT2. SINT2. SINT2. SINTAKSAKSAKSAKSAKS
ActionScript mempunyai aturan tata bahasa dan tanda baca tersendiri sehingga
mengenali awal dan akhir sebuah pernyataan. Suatu pernyataan diakhiri dengan tanda
tanda semicolon (;). Terdapat dua macam syntax, yaitu
� Dot syntaxDot syntaxDot syntaxDot syntaxDot syntax
Dalam ActionScript, suatu dot (.) digunakan untuk:
- menunjukkan property dari method dari object atau movie clip
- mengenali target path ke suatu movie clip atau variable.
Dot syntax dimulai dengan nama dari objek atau movie clip, diikuti dengan dot,
dan diakhiri dengan property, method, atau variable.
Contohnya, Movie clip mempunyai property:
_x menunjukkan posisi x axis pada stage.
ball._x adalah posisi x axis dari movie clip ball
Selain property, movie clip juga mempunyai method play()
Ekspresi suatu method dari object atau movie clip mengikuti pola yang sama.
Contohnya, method play dari instans ballMc menggerakkan playhead padaTimeline dari
ball, seperti pernyataan berikut:
ballMC.play();
Dot syntax juga digunakan untuk dua alias khusus yaitu _root and _parent.
- Alias _root berhubungan dengan Timeline utama.
- Alias _root dapat digunakan untuk membuat target path yang absolut.
Contohnya, pernyataan berikut memanggil fungsi calculate pada fungsi
movie clip dari Timeline utama:
_root.functions.calculate();
11MACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASH
Ariesto Hadi S
- Alias _parent mengacu pada movie clip bila movie clip tersebut mempunyai
hirarki
- Alias _parent dapat digunakan untuk membuat target path yang relatif.
Contohnya, bila movie clip dog terdapat dalam movie clip animal, pernyataan
instance movie clip dog memerintahkan animal untuk berhenti:
_parent.stop();
� Slash syntaxSlash syntaxSlash syntaxSlash syntaxSlash syntax
Slash syntax digunakan dalam Flash 3 and 4 untuk menunjukkan target path
dari movie clip atau variabel. Sintaks ini masih dapat digunakan pada Flash 5, tetapi tidak
disarankan. Dalam slash syntax, slash digunakan untuk menunjukkan target path atau
variabel di samping dot syntax.Untuk menunjukkan suatu variabel, nama varabel
dituliskan sesudah colon (:).
myMovieClip/childMovieClip:myVariable
Target path dapat dituliskan dengan dot syntax, sebagai berikut:
myMovieClip.childMovieClip.myVariable
Slash syntax biasanya digunakan dengan action tellTarget, yang juga tidak
disarankan.
12MACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASH
Ariesto Hadi S
� Kurung KurawalKurung KurawalKurung KurawalKurung KurawalKurung Kurawal
Pernyataan pada ActionScript dikelompokkan bersama ke dalam satu blok dengan
kurung kurawal ({ }), seeprti script berikut:
on(release)
{
myDate = new Date();
currentMonth = myDate.getMonth();
}
� Semicolons Semicolons Semicolons Semicolons SemicolonsSuatu pernyataan dalam ActionScript diakhiri dengan semicolon, tetapi bila tanda
tersebut dihilangkan, kompilasi oleh Flash masih dapat dilakukan dengan sukses.
Contohnya, pernyataan-pernyataan ini diakhiri dengan semicolcon.
column = passedDate.getDay();
row = 0;
Pernyataan yang sama dapat ditulis tanpa menggunakan semicolon.
column = passedDate.getDay()
row = 0
� Kurung Kurung Kurung Kurung KurungUntuk mendefinisikan suatu fungsi, argumen harus ditempatkan di antara tanda
kurung
function myFunction (name, age, reader)
{
...
}
13MACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASH
Ariesto Hadi S
Untuk memanggil suatu fungsi, setiap argumen (parameter) dilewatkan dalam
fungsi di antara tanda kurung, seperti berikut.
myFunction (“Steve”, 10, true);
Tanda kurung juga digunakan untuk mengevaluasi ekspresi di sebelah kiri dari
dot pada dot syntax. Contohnya seperti pernyataan berikut, tanda kurung mengakibatkan
new color(this) dievaluasi dan membuat suatu objek warna baru.
onClipEvent(enterFrame)
{
(new Color(this)).setRGB(0xffffff));
}
Bila tidak menggunakan tanda kurung, perlu ditambahkan pernyataan pada code
untuk mengevaluasinya.
onClipEvent(enterFrame)
{
myColor = new Color(this);
myColor.setRGB(0xffffff);
}
� Huruf besar dan k Huruf besar dan k Huruf besar dan k Huruf besar dan k Huruf besar dan kecilecilecilecilecil
Huruf besar dan kecil dapat digunakan sesuai keinginan, kecuali keywirds.
Contohnya, pernyataan berikut menunjukkan bahwa penggunaan huruf besar dan kecil
adalah ekivalen.
cat.hilite = true;
CAT.hilite = true;
14MACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASH
Ariesto Hadi S
Namun, kebiasaan menuliskan secara konsisten, memudahkan ActionScript
untuk mengrenali nama fungsi dan variabel dengan baik.
� Komentar Komentar Komentar Komentar Komentar
Penggunaan komentar (comment) sangat bermanfaat dalam pengembangan
sistem dan pihak lain yang memerlukannya. Dalam ActionScript, komentar diawali
dengan tanda //. Komentar digunakan untuk mwemberikan catatan yang diperlukan
pada suatu pernyataan. Untuk pernyataan yang sangat sederhana juga diperlukan supaya
memudahkan pemahaman bila tertulis dalam catatan.
on(release)
{
// membuat object baru
myDate = new Date();
currentMonth = myDate.getMonth();
// convert month number to month name
monthName = calcMonth(currentMonth);
year = myDate.getFullYear();
currentDate = myDate.getDat ();
}
Dalam script window, komentar ditampilkan berwarna warna pink, dengan
panjang yang tidak terbatas dan tidak mengikuti aturan sintaks atau keywords.
� Keywords Keywords Keywords Keywords Keywords
Keywords atau kata kunci digunakan untuk keperluan tertentu, sehingga tidak
dapat digunakan sebagai variabel, fungsi atanu nama label. Keywods dalam ActionScript
seperti dalam tabel berikut:
15MACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASH
Ariesto Hadi S
break for new var
continue function return void
delete if this while
else in typeof with
� Konstanta Konstanta Konstanta Konstanta Konstanta
Konstanta adalah nilai tetap yang sudah diisediakan oleh Flash. Contoh konstanta
adalah BACKSPACE, ENTER, QUOTE, RETURN, SPACE, secangkan TAB adalah
property dari objek Key yang berhubungan dengan tombol pada keyboard. Untuk
memeriksa apakah pengguna menekan tombol Enter, digunakan pernyataan berikut:
if(keycode() == Key.ENTER)
{
alert = “Are you ready to play?”
}
16MACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASH
Ariesto Hadi S
3. TIPE D3. TIPE D3. TIPE D3. TIPE D3. TIPE DAAAAATTTTTAAAAA
Tipe data menggambarkan macam elemen informasi yang dapat ditangani oleh
variabel dalam ActionScript. Terdapat dua macam tipe data yaitu
Tipe data primitif (string, number, dan Boolean)
- mempunyai nilai konstanta, sehingga dapat menangani nilai aktual dari
elemen yang ada.
Tipe data referensi (movie clip dan object)
- mempunyai nilai yang dapat berubah, sehingga berisi referensi dari nilai
aktual yang dimiliki oleh elemen.
� String String String String String
Sebuah string adalah deretan dari karakter seperti huruf, angka dan tanda baca.
Dalam ActionScript, string dituliskan di antara tanda petik dobel .
favoriteBand = “L7”;
Operator tambah (+) dapat digunakan untuk menggabungkan atau
menyambung dua buah string. Dalam ActionScript spasi pada awal atau akhir string
diperlakukan sebagai bagian dari string tersebut. Eksprsesi berikut termasuk spasi setelah
tanda koma:
greeting = “Welcome, ” + firstName;
Penulisan string sangat sensitif, walaupun ActionScript tidak membedakan antara
huruf besar dan kecil untuk nama variabel, instans, label. Contohnya, dua pernyataan
berikut menempatkan teks yang berbeda pada variabel field, karena “Hello” dan
“HELLO” adalah literal string.
17MACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASH
Ariesto Hadi S
invoice.display = “Hello”;
invoice.display = “HELLO”;
Untuk memasukkan tanda baca dalam string, daat dimulai dengan karakter
backslaeh (\) yang disebut dengan "escaping" karakter. Terdapat beberapa karakter yang
ditampilkan pada ActionScript kecuali menggunakan karakter escape. Daftar karakter
escape seperti tercantum sebagai berikut.
Escape sequence Character
\b Backspace character (ASCII 8)
\f Form-feed character (ASCII 12)
\n Line-feed character (ASCII 10)
\r Carriage return character (ASCII 13)
\t Tab character (ASCII 9)
\” Tanda petik dobel
\’ Tanda Petik tunggal
\\ Backslash
\000 - \377 Byte yang dinyatakan dalam bilangan oktal
\x00 - \xFF Byte yang dinyatakan dalam bilangan heksadesimal
\u0000 - \uFFFF Karakter yang dinyatakan dalam heksadesimal
� Number Number Number Number Number
Tipe data number adalah double-precision floating-point number. Manipulasi
number dilakukan menggunakan operator aritmatik seperti:
+ tambah
- kurang
* perkalian
/ pembagian
% modulo
++ increment
-- decrement
18MACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASH
Ariesto Hadi S
Method dari predifined object Math juga dapat digunakan untuk memanipulasi
bilangan. Contoh berikut menggunakan metoda sqrt (square root) untuk menghitung akar
dari bilangan 100.
Math.sqrt(100);
� Boolean Boolean Boolean Boolean Boolean
Boolean adalah tipe data yang mempunyai nilai true atau false. ActionScript
megkonversi nilai true and false menjadi 1 and 0 bila sesuai. Boolean sering digunakan
dengan operator logika untuk mengontrol aliran dari script. Contohnya, pada script
berikut menggambarkan movie akan berjalan bila variabel password mem;unyai nilai true:
onClipEvent(enterFrame)
{
if ((userName == true) && (password == true))
{
play();
}
}
� Object Object Object Object Object
Suatu objek adalah koleksi dari properti, dimana setiap properti mempunyai nama
dan nilai. Nilai dari properti dapat berupa tipe data Flash atau tipe data objek. Hal ini
dapat dimungkinkan menempatkan objek di dalam satu sama lain, atau membuatnya
'nest'. Untuk membuat spesifikasi objek dan propertinya dapat digunakan dot (.), seperti
contoh code berikut.
employee.weeklyStats.hoursWorked
19MACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASH
Ariesto Hadi S
� Movie clip Movie clip Movie clip Movie clip Movie clip
Movie clips adalah simbol yang dapat menjalankan animasi pada Flash movie,
berisi tipe data dan berhubungan dengan elemen grafik. Tipe data movie clip dapat
mengontrol simbol movie clip dengan menggunakan metoda dari objek MovieClip.
Metoda dapat dipanggil dengan dot (.) operator, seperti contoh berikut.
myClip.play();
Method dari movie clip myClip adalah play().
20MACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASH
Ariesto Hadi S
4. V4. V4. V4. V4. VARIABELARIABELARIABELARIABELARIABEL
Variabel berisi data yang menyimpam informasi. Variabel dapat menangani semua
tipe data number, string, Boolean, object, atau movie clip. Penulisan data variabel
mempengaruhi perubahan nilai variabel pada saat dinyatakan dalam script.
Informasi yang umum dapat disimpan dalam variabel termasuk URL, nama
pengguna, hasil dari operasi matematik, jumlah event yang terjadi, atau melakukan klik
pada sebuah button. Setiap movie dan instance movie clip mempunyai satu set variabel
sendiri dimana setiap variabel mempunyai nilai independen terhadap variabel dari movie
atau movie clip lain.
� Nama variabel Nama variabel Nama variabel Nama variabel Nama variabel
Nama variabel mengikuti aturan sebagai berikut:
� harus sebuah identifier
� tidak boleh menggunakan keyword atau Boolean literal (true atau false).
� harus unik
� Menulisk Menulisk Menulisk Menulisk Menuliskan variabelan variabelan variabelan variabelan variabel
Penulisan script memerlukan pernyataan tipe data tertentu yang ekslisit dari suatu
variabel, seperti number, string, dan lain-lain. Flash mengenali tipe data suatu variabel
pada saat variabel tersebut dinyatakan.
x = 3;
Pada ekspresi x = 3, Flash mengevaluasi elemen di sebelah kanan operator dan
mengenali bahwa elemen tersebut mempunyai tipe data number. Pernyataan berikutnya
mungkin mengubah tipe data dari x; contohnya, x = “hello” menyebabkan tipe data dari
x menjadi string. Variabel yang belum ditentukan nilainya dituliskan dengan undefined.
21MACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASH
Ariesto Hadi S
ActionScript mengkonversi tipe data secara otomatis bila ekspresi
memerlukannya. Contohnya, pada saat suatu nilai diberikan pada action trace, secara
otomatis trace mengkonversi nilai ke dalam string dan mengirimkannya. Dalam ekspresi
dengan operator, bila diperlukan tipe data dikonversi. Contohnya, pada saat
mengguanakan string, operator + menghendaki operan yang lain juga string.
“Next in line, number “ + 7
ActionScript mengkonversi bilangan 7 ke dalam string “7” dan menambahkan
pada akhir string sehingga hasilnya seperti berikut:
“Next in line, number 7”
Pada saat melakukan debug scripts, tipe data dikenali dari ekspresi atau variabel.
Hal ini dapat dilakukan dengan menggunakan oparator typeof, seperti contoh:
trace(typeof(variableName));
Konversi string ke dalam nilai numerik, dapat dilakukan dengan fungsi Number.
Sebaliknya, untuk melakukan konversi nilai numerik ke dalam string, dapat digunakan
fungsi String..
� Jangk Jangk Jangk Jangk Jangkauan variabelauan variabelauan variabelauan variabelauan variabel
Variabel dalam ActionScript dapat bersifat global atau local. Variabel global
digunakan bersama seluruh Timelines, sedangkan variabel local hanya disediakan untuk
satu blok dari code (antara kurung kurawal).
Pernyataan var dapat digunakan untuk mendeklarasikan variabel local dalam suatu
script. Contohnya, variabel i dan j sering digunakan untuk menghitung perulangan. Pada
contoh berikut i hanya digunakan sebagai variabel local; variabel tersebut hanya ada
dalam fungsi makeDays.
22MACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASH
Ariesto Hadi S
function makeDays()
{
var i
for( i = 0; i < monthArray[month]; i++ )
{
_root.Days.attachMovie( “DayDisplay”, i, i + 2000 );
_root.Days[i].num = i + 1;
_root.Days[i]._x = column * _root.Days[i]._width;
_root.Days[i]._y = row * _root.Days[i]._height;
column = column + 1;
if (column == 7 )
{
column = 0;
row = row + 1;
}
}
}
Variabel local juga dapat digunakan untuk menghindari kolisi karena kesalahan
dalam movie. Contohnya, suatu nama untuk variabel local, dapat digunakan untuk
menyimpan nama pengguna dalam suatu konteks dan nama instans movie clip lain.
Hal ini disebabkan oleh perbedaan jangkauan variabel, sehingga tidak akan terjadi kolisi.
Dalam suatu fungsi, sebaiknya menggunakan variabel local, sehingga fungsi
tersebut dapat dijalankan sebagai code yang independen. Variabel local hanya berubah
oleh code dalam blok dimana variabel tersebut berada. Ekspresi dari fungsi yang
menggunakan variabel global, menyebabkan suatu nilai di luar fungsi dapat berubah.
� Deklarasi variabel Deklarasi variabel Deklarasi variabel Deklarasi variabel Deklarasi variabel
Untuk mendeklarasikan variabel global, digunakan action setVariables atau opera-
tor assignment (=), keduanya mempunyai hasil yang sama. Untuk mendeklarasikan
variabel local dapat digunakan pernyataan var dalam blok dari fungsi. Variabel local
berlaku dalam blok fungsi dan tidak berlaku setelah akhir dari blok tersebut.
Catatan: action call juga menciptakan variabel local yang mempunyai jangkauan
dimana script dipanggil. Bila terdapat script yang dipanggil, jangkauan variabel hilang.
23MACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASH
Ariesto Hadi S
namun hal ini tidak disarankan, karena action call dihapus oleh action with yang lebih
kompatibel dengan dot sytntax.
Untuk memeriksa nilai variabel, dapat menggunakan action trace untuk
mengirimkan nilai pada Output window. Contohnya, trace(hoursWorked) mengirimkan nilai
variabel hoursWorked ke Output window dalam mode test-movie. Nilai variabel juga dapat
diperiksa dan diatur pada Debugger dalam mode test-movie.
� Menggunak Menggunak Menggunak Menggunak Menggunakan variabel dalam suatu scriptan variabel dalam suatu scriptan variabel dalam suatu scriptan variabel dalam suatu scriptan variabel dalam suatu script
Variabel harus dideklarasikan lebih dulu dalam script sebelum digunakan dalam
ekspresi. Dalam contoh berikut, nilai variabel tidak akan dikenali dalam script dan script
akan menghasilkan kesalahan.
getURL(myWebSite);
myWebSite = “http://www.shrimpmeat.net”;
Variabel myWebSite harus dideklarasikan lebih dulu sehingga variabel dalam action
getUrl dapat diberikan nilai. Nilai variabel dapat diubah berkali-kali dalam script. Pengaruh
perubahan sangat dipengaruhi oleh tipe data yang disimpan oleh variabel. Tipe data
primitif seperti string dan number dapat menerima setiap nilai. Pada contoh berikut, x
diberi nilai 15, dan nilainya disalin ke dalam y. Bila x berubah menjadi 30, nilai y tetap
15.
var x = 15;
var y = x;
var x = 30;
Contoh lain, variabel in berisi nilai primitif 9, sehingga nilai tersebut dapat
dilewatkan oleh fungsi sqrt dan mengembalikan nilai 3.
24MACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASH
Ariesto Hadi S
function sqrt(x)
{
return x * x;
}
var in = 9;
var out = sqr(in);
Tipe data object dapat berisi informasi yang luas dan kompleks, karena veriabel
dengan tipe data ini tidak mempunyai nilai aktual. Variabel ini mempunyai hubungan
dengan suatu nilai, seperti alias yang menunjuk isi dari suatu variabel. Contoh berikut
memperlihatkan nilai dengan melewatkan referensi.
var myArray = [“tom”, “dick”];
var newArray = myArray;
myArray[1] = “jack”;
trace(newArray);
Code di atas membuat objek Array myArray yang mempunyai dua elemen.Variabel
newArray diciptakan dan dilewatkan secara referensi dengan myArray. Pada saat elemen kedua
dari myArray berubah, mengakibatkan perubahan pada semua variabel yang mempunyai
referensi terhadapnya. Action trace akan mengirim [“tom”, “jack”] pada Output window.
Pada contoh berikutnya, myArray berisi sebuah objek Array, kemudian dilewatkan
sebagai referensi dengan fungsi zeroArray, dimana fungsi tersebut mengubah isi dari ar-
ray dalam myArray.
function zeroArray (array)
{
var i;
for (i=0; i < array.length; i++)
{
array[i] = 0;
}
}
25MACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASH
Ariesto Hadi S
var myArray = new Array();
myArray[0] = 1;
myArray[1] = 2;
myArray[2] = 3;
var out = zeroArray(myArray)
Fungsi zeroArray menerima objek Array sebagai argumen dan memberi nilai semua
elemen 0. Hal ini dapat mengubah array karena array dilewatkan sebagai referensi.
.
Referensi pada semua objek selain movie clips adisebut hard references karena
bila suatu objek dihubungkan dengan referensi, objek tersebut tidak dapat dihilangkan.
Referensi pada movie clip adalah referensi khusus yang disebut soft reference. Soft ref-
erence tidak memaksakan objek untuk ada. Bila movie clip dihilangkan dengan suatu
action seperti removeMovieClip, setiap referensi kepadanya tidak akan bekerja.
26MACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASH
Ariesto Hadi S
5. OPERA5. OPERA5. OPERA5. OPERA5. OPERATORTORTORTORTOR
Operator adalah karakter yang mempunyai karekteristik spssifik untuk
menggabungkan, membandingkan atau mengubah nilai suatu ekspresi. Elemen dimana
operator melakukan performansi disebut operan. Contohnya, operator + menambahkan
nilai literal numerik pada nilai variabel foo; sedangkan foo dan 3 adalah operan.
foo + 3
Operator terdiri dari beberapa macam seperti dijelaskan seperti berikut.
1. Operator precedence
Bila dua atau lebih operator digunakan pada suatu pernyataan, beberapa opera-
tor mendapatkan prioritas lebih tinggi dari lainnya. ActionScript mengikuti hirarki dengan
pasti untuk menjelaskan operator yang mana mendapatkan prioritas pertama.
Contohnya, perkalian selalu dilakukan lebih dulu dari penjumlahan, namun tanda kurung
menyebabkan prioritas diberikan kepada operator yang berada di dalam kurung.
total = 2 + 4 * 3;
Hasil perhitungan 14.
total = (2 + 4) * 3;
Hasil perhitungan 18.
Untuk mengetahui urutan prioritas dapat dilihat pada daftar oparator.
27MACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASH
Ariesto Hadi S
Operator Description Associativity
Highest Precedence
+ Unary plus Right to left
- Unary minus Right to left
~ Bitwise one’s complement Right to left
! Logical NOT Right to left
not Logical NOT (Flash 4 style) Right to left
++ Post-increment Left to right
— Post-decrement Left to right
( ) Function call Left to right
[ ] Array element Left to right
. Structure member Left to right
++ Pre-increment Right to left
— Pre-decrement Right to left
new Allocate object Right to left
delete Deallocate object Right to left
typeof Type of object Right to left
void Returns undefined value Right to left
* Multiply Left to right
/ Divide Left to right
% Modulo Left to right
+ Add Left to right
add String concatenation (formerly &) Left to right
- Subtract Left to right
<< Bitwise Left Shift Left to right
>> Bitwise Right Shift Left to right
>>> Bitwise Right Shift (Unsigned) Left to right
< Less than Left to right
<= Less than or equal to Left to right
> Greater than Left to right
>= Greater than or equal to Left to right
28MACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASH
Ariesto Hadi S
lt Less than (string version) Left to right
le Less than or equal to (string version) Left to right
gt Greater than (string version) Left to right
ge Greater than or equal to (string version) Left to right
== Equal Left to right
!= Not equal Left to right
eq Equal (string version) Left to right
ne Not equal (string version) Left to right
& Bitwise AND Left to right
^ Bitwise XOR Left to right
| Bitwise OR Left to right
&& Logical AND Left to right
and Logical AND (Flash 4) Left to right
|| Logical OR Left to right
or Logical OR (Flash 4) Left to right
?: Conditional Right to left
= Assignment Right to left
“*=, /=, %=, +=, -=, &=, |=, ^=, <<=, >>=, >>>=” Compound assignment Right to left
, Multiple evaluation Left to right
Lowest Precedence
2. Operator asociatif2. Operator asociatif2. Operator asociatif2. Operator asociatif2. Operator asociatif
Bila dua atau lebih oparator bersama-sama mempunyai prioritas sama, asosiatif
menentukan bahwa urutan dilakukan menurut performasinya. Asosiatif dapat terjadi
dari kiri ke kanan atau dari kanan ke kiri. Contohnya, perkalian mempunyai asosiatif kiri
ke kanan, sehingga kedua pernyataan berikut ekivalen.
total = 2 * 3 * 4;
total = (2 * 3) * 4;
29MACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASH
Ariesto Hadi S
3. Operator numerik3. Operator numerik3. Operator numerik3. Operator numerik3. Operator numerik
Operator numerik (numeric operator) seperti tambah, kurang, kali, bagi,
menjalankan operasi aritmatika. Tanda kurung dan minus juga termasuk dalam opera-
tor aritmatika. Operator numerik seperti pada daftar berikut:
Operator Operation performed
+ Tambah
* Perkalian
/ Pembagian
% Modulo
- Kurang
++ Penambahan
— Pengurangan
4. Operator pembanding4. Operator pembanding4. Operator pembanding4. Operator pembanding4. Operator pembanding
Operator pembanding (comparasion oparator) membandingkan nilai pada suatu
ekspresi dan mengembalikan nilai Boolean (true atau false). Operator ini biasa digunakan
pada perulangan dan pernyataan kondisi. Pada contoh berikut, bila variable score adalah
100, movie tertentu diambil; bila tidak, movie lain dijalankan.
if (score == 100)
{loadMovie(“winner.swf”, 5);}
else
{loadMovie(“loser.swf”, 5);}
Operator pembanding seperti pada daftar berikut:
30MACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASH
Ariesto Hadi S
Operator Operation performed
< Lebih kecil dari pada
> Lebih besar dari pada
<= Lebih kecil atau sama dengan
>= Lebih besar atau sama dengan
5. Operator string5. Operator string5. Operator string5. Operator string5. Operator string
Operator + mempunyai akibat khusus bila digunakan untuk operasi pada string,
yaitu menggabungkan dua operan string. Contoh berikut menjelaskannya.
“Congratulations,” to “Donna!”:
“Congratulations, “ + “Donna!”
Hasil dari operasi tersebut adalah “Congratulations, Donna!” Bila hanya ada satu
operator string +, Flash mengkonversi operan menjadi string.
Operator pembanding >, >=, <, and <=juga mempunya akibat khusus bila
digunakan untuk operasi pada string. Operator ini membandingkan yang mana
mendahului dalam urutan alfabet. Operator pembanding hanya membandingkan string
bila kedua operan adalah string. Bila hanya satu operan string, ActionScript
mengkonversi kedua operan menjadi number dan membandingkan sebagai pembanding
numerik.
6. Operator logik6. Operator logik6. Operator logik6. Operator logik6. Operator logikaaaaa
Operator logika membandingkan nilai Boolean (true and false) dan
mengembalikan nilai Boolean ketiga. Contohnya, bila kedua operan mempunyai nilai
true maka operator logika AND (&&) mengembalikan nilai true. Bila satu atau kedua
operan mempunyai nilai true, operator logika OR (||) mengembalikan nilai true. Op-
erator logika sering digunakan pada konjungsi dengan pembanding operator untuk
mengetahui kondisi dari action IF. Contohnya, pada script berikut, bila kedua ekspresi
true action IF akan mengeksekusi:
31MACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASH
Ariesto Hadi S
if ((i > 10) && (_framesloaded > 50))
{
play();
}
Daftar operator logika, sebagai berikut:
Operator Operation performed
&& Logika AND
|| Logika OR
! Logika NOT
7. Operator bitwise7. Operator bitwise7. Operator bitwise7. Operator bitwise7. Operator bitwise
Operator bitwise memanipulasi angka floating points dan berubah menjadi inte-
ger 32 bit yang lebih mudah dikerjakan. Operator bitwise mengevaluasi 8 digit angka
floating point terpisah untuk menghitung nilai baru.
Tabel berikut berisi daftar operator bitwise.
Operator Operation performed
& Bitwise And
| Bitwise Or
^ Bitwise Xor
~ Bitwise Not
<< Shift left
>> Shift right
>>> Shift right zero fill
32MACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASH
Ariesto Hadi S
8. Operator k8. Operator k8. Operator k8. Operator k8. Operator kesamaan dan assignmentesamaan dan assignmentesamaan dan assignmentesamaan dan assignmentesamaan dan assignment
Oparator kesamaan (==) dapat digunakan untuk mengenali apakah nilai dari
dua operan identik. Perbandingan ini mengembalikan suatu nilai Boolean (true or false).
Bila operan adalah string, number, atau nilai Boolean, operator membandingkan nilainya.
Bila operan adalah objek atau array, operan membandingkan menurut referensi.
Penggunaan operator assignment:
� memberikan nilai pada suatu varabel
password = “Sk8tEr”;
� memberikan nilai pada banyak variabel dalam satu ekspresi
a = b = c = d;
� membuat kombinasi dari operasi.
Contohnya, pernyataan berikut adalah ekivalen.
x += 15;
x = x + 15;
Tabel berikut berisi operator kesamaan dan assignment::
Operator Operation performed
== Equality
!= Inequality
= Assignment
+= Addition and assignment
-= Subtraction and assignment
*= Multiplication and assignment
%= Modulo and assignment
/= Division and assignment
<<= Bitwise shift left and assignment
>>= Bitwise shift right and assignment
>>>= Shift right zero fill and assignment
^= Bitwise Xor and assignment
|= Bitwise Or and assignment
&= Bitwise And and assignment
33MACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASH
Ariesto Hadi S
9. Dot dan array akses operator9. Dot dan array akses operator9. Dot dan array akses operator9. Dot dan array akses operator9. Dot dan array akses operator
Dot operator (.) dan array access operator ([ ]) dapat digunakan untuk
mengakses properti predefined object atau custom, termasuk movie clip. Pasda dot
operator nama objek di sebelah kiri dan nama properti atau variabel di sebelah kanan.
Nama properti atau variabel harus merupakan nama identifier, dan tidak boleh
menggunakan string atau variabel yang dievaluasi ke dalam string.
year.month = “June”;
year.month.day = 9;
Dot operator dan array oparator mempunyai peranan yang sama, tetapi
mempunyai perbedaan sebegai berikut:
� dot operator menggunakan identifier sebagai properti
� array access operator untuk mengisi dan mengakses isi dari array
Contohnya, kedua pernyataan mengakses variabel velocity pada movie clip rocket.
rocket.velocity;
rocket[“velocity”];
Array access operator digunakan untuk mengatur dan mengambil nama instans
dan variabel secara dinamis. Pada contoh berikut, ekspresi di dalam operator [ ] dievaluasi
dan hasil evaluasi digunakan sebagai nama variabel yang diambil dari nama movie clip.
name[“mc” + i ]
Array access operator juga dapat digunakan pada sebelah kiri pernyataan assign-
ment. Hal ini mengikuti secara dinamis inisialisasi nama instance, variabel, and objek.
name[index] = “Gary”;
Array access operator dapat juga nested dengan dirinya sendiri untuk
menggambarkan array multidimensi.
chessboard[row][column]
34MACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASH
Ariesto Hadi S
6. PENGGUNA6. PENGGUNA6. PENGGUNA6. PENGGUNA6. PENGGUNAAN AAN AAN AAN AAN ACTIONCTIONCTIONCTIONCTION
Actions adalah pernyataan atau perintah ActionScript. Beberapa action
ditempatkan pada satu frame atau objek untuk menciptakan script. Action dapat
independen satu dengan lainnya, seperti pernyataan berikut:
swapDepths(“mc1”, “mc2”);
gotoAndPlay(15);
Acion bersarang dapat dibuat dengan menggunakan satu action dalam action lain,
sehingga action akan saling mempengaruhi. Dalam contoh berikut, action if
memerintahkan gotoAndPlay untuk dieksekusi
if (i >= 25)
{ gotoAndPlay(10);}
Action dapat menggerakkan playhead pada Timeline (gotoAndPlay), kontrol aliran
script dengan perulangan (do while) atau kondisi logika (if), atau membuat fungsi dan
variabel baru (function, setVariable). Tabel berikut berisi daftar semua action.
Actions
break evaluate include print stopDrag
call for loadMovie printAsBitmap swapDepths
comment for...in loadVariables removeMovieClip tellTarget
continue fsCommand nextFrame return toggleHighQuality
nextScene
delete function on setVariable stopDrag
do...while getURL onClipEvent setProperty trace
duplicateMovieClip gotoAndPlay play startDrag unloadMovie
gotoAndStop
else if prevFrame stop var
else if ifFrameLoaded prevScene stopAllSounds while
35MACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASH
Ariesto Hadi S
1. Menulisk1. Menulisk1. Menulisk1. Menulisk1. Menuliskan taran taran taran taran target pathget pathget pathget pathget path
Penggunaan action untuk mengontrol atau load, maka harus menuliskan
spesifikasi nama dan alamat yang disebut target path. Action menggunakan satu atau
lebih target path sebagai argumen.
� loadMovie
� loadVariables
� unloadMovie
� setProperty
� startDrag
� duplicateMovieClip
� removeMovieClip
� printAsBitmap
� tellTarget
Contohnya, action loadMovie menggunakan argumen URL, Location, dan Variables.
URL adalah lokasi dari movie pada yang akan diambil. Location adalah target path
yang akan dimasukkan ke dalam movie yang dikehendaki.
loadMovie(URL, Location, Variables);
Catatan: Argumen Variables tidak diperlukan dalam contoh berikut.
Pernyataan berikut mengambil URL http://www.mySite.com/myMovie.swf ke dalam
instans bar pada Timeline utama, _root; _root.bar adalah target path;
loadMovie(“http://www.mySite.com/myMovie.swf”, _root.bar);
Dalam ActionScript suatu movie clip dapat dikenali dari nama instans. Contohnya,
pada pernyataan berikut, properti _alpha dari movie clip star diberi nilai dengan 50%
visibility:
star._alpha = 50;
36MACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASH
Ariesto Hadi S
Memberi nama suatu instans dari movie clip
1. Pilih movie clip pada Stage.
2. Pilih Window −−−−> Panels −−−−> Instance
3. Masukkan nama instans pada field Name.
Mengenali movie yang diambil
Dengan menggunakan _levelX dimana X adalah nomor level yang menjadi
spesifikasi dalam action loadMovie.
Contohnya, suatu movie diambil ke level 5 mempunyai nama instans _level5.
Dalam contoh berikut, suatu movie diambil ke level 5 dengan visibility diberikan nilai
false.
onClipEvent(load)
{
loadMovie(“myMovie.swf”, 5);
}
onClipEvent(enterFrame)
{
_level5._visible = false;
}
Memasukkan target path dari suatu movie
Klik button Insert Target Path dalam panel Action, dan pilih movie clip dari daftar
yang muncul.
37MACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASH
Ariesto Hadi S
7. MENGNTROL ALIRAN SCRIPT7. MENGNTROL ALIRAN SCRIPT7. MENGNTROL ALIRAN SCRIPT7. MENGNTROL ALIRAN SCRIPT7. MENGNTROL ALIRAN SCRIPT
ActionScript menggunakan action if, for, while, do...while, dan for...in untuk
memperoleh performasi suatu action terganuing dari kondisi yang ada.
1. P1. P1. P1. P1. Penggunan pernyataan “ifenggunan pernyataan “ifenggunan pernyataan “ifenggunan pernyataan “ifenggunan pernyataan “if ”””””
Pernyatan yang memeriksa suatu keadaan mempunyai nilai true atau false dimulai
dengan bentuk if. Bila kondisi dipenuhi, ActionScript melakukan eksekusi pernyataan
yang mengikutinya. Bila kondisi tidak dipenuhi ActionScript melewatinya dan menuju
ke pernyataan berikut di luar blok dari code.
Untuk menghasilkan performasi optimal dari code, periksa kondisi yang
menyerupainya. Pernyataan berikut memeriksa beberapa kondisi. Bentuk else if
memberikan spesifikasi alternatif untuk memeriksa performasi bila kondisi sebelumnya
salah.
if ((password == null) || (email == null))
{
gotoAndStop(“reject”);
}
else
{
gotoAndPlay(“startMovie”);
}
38MACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASH
Ariesto Hadi S
2. Action perulangan2. Action perulangan2. Action perulangan2. Action perulangan2. Action perulangan
ActionScript dapat melakukan perulangan sebanyak tertentu atau selama kondisi
tertentu berlaku. Penggunaan while, do...while, for, dan for...in pada action untuk
menciptakan perulangan.
Pernyataan whilePerulangan while mengevaluasi suatu ekspresi dan mengeksekusi code dalam blok
bila ekspresi tersebut true. Setelah semua pernyataan dalam blok tersebut dieksekusi,
ekspresi dievaluasi lagi. Pada contoh berikut, perulangan dilakukan empat kali.
i = 4
while (i > 0)
{
myMC.duplicateMovieClip(“newMC” + i, i );
i - -;
}
Pernyataan do...while dapat digunakan untuk perulangan yang sama. Pada
perulangan do...while ekspresi dievaluasi di bawah dari blok code, serhingga perulangan
selalu dilakukan laping sedikit sekali., eperti contoh berikut.
i = 4
do {
myMC.duplicateMovieClip(“newMC” +i, i );
i - - ;
} while (i > 0);
Pernyataan forHampir semua perulangan menggunakan counter yang digunakan untuk
mengontrol berapa banyak perulangan dilakukan. Suatu variabel dapat dideklarasikan
dan menuliskan pernyataan yang menambah atau mengurangi setiap kali perulangan
dieksekusi. Contoh berikut menggambarkan penggunaan pernyataan for.
39MACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASH
Ariesto Hadi S
for (i = 0; i < 4; i++)
{
myMC.duplicateMovieClip(“newMC” + i, i + 10);
}
Pernyataan for..inTurunan termasuk movie clip lainnya, fungsi, objek, dan variabel. Contoh berikut
menggunakan trace untuk mencetak hasil pada Output window:
myObject = { name:’Joe’, age:25, city:’San Francisco’ };
for (propertyName in myObject)
{
trace(“myObject has the property: “ + propertyName + “, with the value: “ +
myObject[propertyName]);
}
Bila diekasekusi maka hasilnya pada Output window:
myObject has the property: name, with the value: Joe
myObject has the property: age, with the value: 25
myObject has the property: city, with the value: San Francisco
Script kadang-kadang diperlukan untuk membuat perulangan pada tipe tertentu
dari turunan, contohnya, hanya pada tununan movie clip. Pernyataan for...in digunakan
dalam konjungsi dengan oparator typeof.
for (name in myMovieClip) {
if (typeof (myMovieClip[name]) == “movieclip”) {
trace(“I have a movie clip child named “ + name);
}
}
40MACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASH
Ariesto Hadi S
7. PREDEFINED7. PREDEFINED7. PREDEFINED7. PREDEFINED7. PREDEFINED FUNCTION DAN OBJECT FUNCTION DAN OBJECT FUNCTION DAN OBJECT FUNCTION DAN OBJECT FUNCTION DAN OBJECT
Fungsi adalah satu blok dari code yang bisa digunakan kembali di manapun dalam
movie. Bila nilai spesifik atau argumen dilewatkan dalam suatu fungsi, fungsi akan
dioperasikan dengan nilai tersebut. Fungsi juga dapat mengembalikan suatu nilai. Flash
mempunyai predefined function yang dapat digunakan untuk mengakses dan
menampilkan informasi tertentu. Contohnya, seperti pendeteksian kolisi (hitTest),
mendapatkan nilai tombol yang ditekan terakhir (keycode), dan mendapatkan nomor
versi dari Flash Player yang digunakan untuk menjalankan movie (getVersion).
1. Memanggil fungsi1. Memanggil fungsi1. Memanggil fungsi1. Memanggil fungsi1. Memanggil fungsi
Fungsi dapat dipanggil pada setiap Timeline, termasuk mengambil movie. Setiap
fungsi mempunyai karakteristik dan keharusan tertentu untuk melewatkan suatu nilai.
Bila argumen yang dilewatkan lebih banyak dari pada persyaratan yang ada pada fungsi,
nilai lainnya akan diabaikan. Bila tidak dilewatkan persyaratan argumen, argumen yang
kosong dinyatakan sebagai tipe data undefined, yang dapat menyebabkan kesalahan
pada saat script diekspor. Untuk memanggil fungsi harus berada dalam frame yang
terjangkau oleh playhead.
Daftar berikut berisi macam-macam predefined function:
Boolean getTimer isFinite newline scroll
escape getVersion isNaN number String
eval globalToLocal keycode parseFloat targetPath
false hitTest localToGlobal parseInt true
getProperty int maxscroll random unescape
Catatan: Fungsi untuk string tidak masuk dalam daftar ini.
41MACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASH
Ariesto Hadi S
2. Memanggil fungsi dalam Expert Mode2. Memanggil fungsi dalam Expert Mode2. Memanggil fungsi dalam Expert Mode2. Memanggil fungsi dalam Expert Mode2. Memanggil fungsi dalam Expert Mode
Untuk memanggil fungsi dalam Expert Mode, dapat dilakukan menggunakan
nama fungsi serta memberikan argumen yang diperlukan. Contoh berikut adalah
memanggil suatu fungsi tanpa argumen, yaitu fungsi initialize yang tidak mempunyai
argumen.
initialize();
42MACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASH
Ariesto Hadi S
3. Memanggil fungsi dalam Normal Mode3. Memanggil fungsi dalam Normal Mode3. Memanggil fungsi dalam Normal Mode3. Memanggil fungsi dalam Normal Mode3. Memanggil fungsi dalam Normal Mode
Untuk memanggil fungsi dalam Normal Mode, dapat dilakukan menggunakan
nama fungsi serta memberikan argumen yang diperlukan dalam field Expressi. Untuk
memanggil fungsi pada Timelina lain, gunakan target path. Contohnya, untuk
memanggil fungsi calculateTax yang dideklarasikan pada instans functionsMovieClip,
gunakan path berikut:
_root.functionsMovieClip.calculateTax(total);
43MACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASH
Ariesto Hadi S
7. CUSTOM7. CUSTOM7. CUSTOM7. CUSTOM7. CUSTOM FUNCTION FUNCTION FUNCTION FUNCTION FUNCTION
Fungsi dapat ditentukan untuk mengeksekusi serangkaian pernyataan dan
melewatkan nilai. Fungsi juga dapat mengembalikan nilai. Sekali fungsi ditentukan,
fungsi tersebut dapat dipanggil dari setiap Timeline, termasuk Timeline movie yang
berjalan.
Suatu fungsi dapat merupakan “black box” pada saat fungsi dipanggil,
dilengkapi dengan input (argumen). Hal ini menampilkan beberapa operasi dan
menghasilkan nilai output (nilai yang dikembalikan). Fungsi yang ditulis dengan baik
dan sangat teliti menempatkan komentar tentang input, output dan kegunaan dari
pernyataan.
1. Mendefinisik1. Mendefinisik1. Mendefinisik1. Mendefinisik1. Mendefinisikan fungsian fungsian fungsian fungsian fungsi
Seperti halnya variabel, fungsi dihubungkan dengan movie clip yang ditentukan
dalam fungsi tersebut. Pada saat suatu fungsi didefinisikan kembali, fungsi baru
menggantikan definisi fungsi yang lama.
Untuk mendefinisikan suatu fungsi, gunakan action function yang diikuti dengan
nama dari fungsi, argumen yang digunakan untuk melewatkan fungsi, dan pernyataan
yang mengindikasikan apa yang dikerjakan fungsi tersebut.
Fungsi berikut disebut Circle dengan argumen radius:
function Circle(radius)
{
this.radius = radius;
this.area = Math.PI * radius * radius;
}
Catatan: Keyword this, digunakan pada blok fungsi adalah referensi ke movie
clip yang dimiliki oleh fungsi. .
44MACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASH
Ariesto Hadi S
Fungsi juga dapat ditentukan dengan membuat literal function. Literal function
dapat digunakan untuk mengembalikan nilai dan memberi nilai suatu variabel pada
ekspresi, seperti contoh berikut.
area = (function () {return Math.PI * radius *radius;})(5);
2. Melewatk2. Melewatk2. Melewatk2. Melewatk2. Melewatkan Aran Aran Aran Aran Argumen pada Fgumen pada Fgumen pada Fgumen pada Fgumen pada Fungsiungsiungsiungsiungsi
Argumen adalah elemen dimana fungsi mengeksekusi code. (Dalam buku ini
pengertian argumen dan parameter adalah sama). Contohnya, fungsi berikut mengambil
argumen initials dan finalScore:
function fillOutScorecard(initials, finalScore)
{
scorecard.display = initials;
scorecard.score = finalScore;
}
Bila suatu fungsi dipanggil, argumen yang diperlukan harus dilewatkan pada
fungsi tersebut. Contohnya, scorecard adalah nama instans dari movie clip; mempunyai
score yaitu field input dari instans. Fungsi berikut memanggil variabel dan menampilkan
nilai “JEB” dan variabel score diberi nilai 4000.
fillOutScorecard(“JEB”, 45000);
Argumen initials pada fungsi fillOutScorecard serupa dengan variabel local yang
keberadaannya ditentukan oleh pemanggilan fungsi. Bila argumen itu dihilangkan selama
fungsi dipanggil, argumen dinyatakan sebagai undefined. Bila terdapat argumen lain
yang tidak diperlukan, maka argumen tersebut akan diabaikan.
45MACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASH
Ariesto Hadi S
3. Menggunak3. Menggunak3. Menggunak3. Menggunak3. Menggunakan Van Van Van Van Variabel Lariabel Lariabel Lariabel Lariabel Local dalam Focal dalam Focal dalam Focal dalam Focal dalam Fungsiungsiungsiungsiungsi
Variabel local adalah perangkat yang bermanfaat untuk mengorganisasi dan
membuat lebih mudah memahami code. Bila fungsi menggunakan variabel local, variabel
tersebut terlindungi dari script di luar fungsi. Variabel local akan musnah bila fungsi yang
berkaitan tidak ada. Setiap argumen yang dilewatkan pada fungsi juga diperlakukan
seperti variabel local.
Catatan: Bila menggunakan variabel global dalam fungsi, maka perintah script
pada dokumen script harus dimodifikasi.
4. Mengembalik4. Mengembalik4. Mengembalik4. Mengembalik4. Mengembalikan Nilai dari Fan Nilai dari Fan Nilai dari Fan Nilai dari Fan Nilai dari Fungsiungsiungsiungsiungsi
Action return digunakan untuk mengembalikan nilai dari action. Action return
menghentikan fungsi dan menggantikan dengan nilai yang diperoleh dari action return
Bila tidak ada action return sebelum akhir uatu fungsi, string kosong menjadi nilai
kembali yang diperolehnya. Contohnya, fungsi berikut mengembalikan kuadrat dari
argumen x.
function sqr(x)
{
return x * x;
}
Beberapa fungsi menampilkan sejumlah permintaan, tanpa mengembalikan nilai.
Contohnya, fungsi berikut menginisialisasi beberapa variabel global,
function initialize()
{
boat_x = _root.boat._x;
boat_y = _root.boat._y;
car_x = _root.car._x;
car_y = _root.car._y;
}
46MACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASHMACROMEDIA FLASH
Ariesto Hadi S
5. Memanggil fungsi5. Memanggil fungsi5. Memanggil fungsi5. Memanggil fungsi5. Memanggil fungsi
Untuk meminta suatu fungsi dapat dilakukan dengan menggunakan Action Panel
pada Normal Mode. Fungsi dapat dipanggil dari setiap Timeline, termasuk mengambil
movie. Contohnya, pernyataan ini meminta fungsi sqrt pada movieClip MathLib.
var temp = _root.MathLib.sqr(3);