Anda di halaman 1dari 22

BABI

PENGENALANFLASHDANACTIONSCRIPT3.0

Bab ini akan dibahas:

Komponen-komponen Flash beserta dengan fitur-fiturnya


Contoh-contoh penggunaan beberapa komponen Flash untuk membuat disain animasi.
Dasar-dasar pemrograman menggunakan ActionScript 3.0 seperti pengenalan variabel, tipe data, fungsi,
dan statemen kontrol

dobeActionScriptmerupakanbahasapemrogramanyangbekerjadidalamplatformAdobeFlash.
AdobeActionScriptmemangdibangunsebagaicarauntukmengembangkanpemrogramaninteraktif
secaraefisienmenggunakanplatformaplikasiadobeFlashActionScriptmulaidarianimasiyang
sederhanasampaidenganyangkomplekssekalipun,penggunaandata,danaplikasiinterfaceyang
interaktif.PertamakalidiperkenalkandalamFlashPlayer9,ActionScriptmerupakanbahasa
pemrogramanberorientasiobjekdidasarkanpadaECMAScriptstandaryangsamayangmenjadidasar
JavaScriptdanmemberikanhasilyangluarbiasadalamkinerjadanproduktifitaspengembang.ActionScript2,
versiActionScriptyangtelahdigunakandalamFlashPlayer8dansebelumnya,tetapdidukungdalamFlash
Player9danFlashPlayer10.(http://www.adobe.com/devnet/actionscript/)

BabiniakandimulaidenganpengenalanelemenelemendasardariFlashCS3danPembuatanprogram
HelloWorldsederhanamenggunakanActionScript.Sebelummasukdalampembuatanprogramaplikasi,
terlebihdahuluakandiperkenalkansecarasingkattentangFlashdanpembuatanFileFlash.
UntukmembangunaplikasidenganmenggunakankodeActionScript3.0,andamembutuhkansalahsatu
dariberikutini.

AdobeFlex2(atauyanglebihbaru)SoftwareDevelopmentKit(SDK)besertadengantekseditornya.

AdobeFlashCS3(ataureleaseyanglebihbaru)

AdobeFlexBuilder2(ataureleaseyanglebihbaru)

AdobeFlexBuilderdanAdobeFlashCS3merupakanintegrateddevelopmentenvironment(IDE)yangdidesain
untukmembantuandamembangunaplikasiFlexsecaracepatdanmudah.FlexBuilderdanFlashCS3tidak
gratis,artinyaandaharusmembayarlisensidariAdobe.Saatpenulisanbukuini,Andabisamencoba
mendownloadversimencoba30hari.FlexbuilderdanFlashCS3jugamenyediakanvisualinterfaceyang
mempermudahdalammembuataplikasiFlexatauFlash.
Flex2SDK(ataureleaseyanglebihbaru)bersifatgratisuntukkomersilmaupunnonkomersildanbisa
didownloaddariwebsiteAdobe.SetelahandamenginstallFlexSDK,andamasihmemerlukansebuahteks
editoruntukmemasukkanprogramActionScriptanda.SelainFlexBuilderyangberlisensiterdapateditoryang
bersifatopensourceyangsangatbaik,yaitu:FlashDevelopyangbekerjadalamsistemoperasiWindows.
FlashDevelopdidesainsecarakhususuntukbekerjadenganFlashmaupunFlex.FlashDevelopmenjadipilihan
penulisuntukmembuataplikasiFlashanimasidalambukuinikarenagratis,relatifmudah,dansangat
menolongdalammenuntunpemrograman,sehinggacocokuntukorangyangsedangbelajarpemrograman
ataupunyangsudahmahirsekalipun.DalamawalbukuiniakandijelaskansecarasingkatpenggunaanAdobe
FlashCS3danpenggunaanFlashDevelop.

FLASHCS3DANELEMENELEMENNYA
PadasaatpertamakaliandamembukaFlash,andadapatmembuatfileFlashdenganmemilihmenu
FileNew.AndaakanditunjukkanjendelaNewDocumentsepertiterlihatdalamGambar1.1.

Gambar 1.1. Pilih Flash

File (ActionScript 3.0)

untuk membuat file


Flash baru

SetelahandamenekantombolOK,andaakanmendapatsebuahfileFlashbarudengannamaUntitled1dalam
jendeladokumenFlashsepertidiperlihatkandalamGambar1.2.

Gambar 1.2. Flash CS3

dengan tampilan
Workspace Default

PANELTIMELINE

STAGE

Panel
T l

PANEL
LIBRARY

PANELPROPERTIES

Untukmemunculkansuatupanel,andabisamemilihmenuWindowPanelyangandainginkan.Panelpanel
yangadadapatandabukaataututupataupindahpindahsesuaidengankeinginananda.Apabilaandaingin
kembalikemodeljendelayangawallagi,andabisamemilihmenuWindowWorkspaceDefault.
Berikutinidiberikanpenjelasansingkatmengenaipanelpanelyangseringdipakai.

PanelStagemerupakantempatandamembuataplikasidanjugamenunjukkanisiaplikasiandayang
akanmunculsetelahandaselesaimembuatdanmenjalankanaplikasi.Andadapatmenambahkan
objekobjek(bisaberupagraphic,text,komponeninteraktif,buttondansebagainya)kedalamStage.
Andadapatjugamemodifikasiobjekobjektersebutataumembuatobjekbaruataupunmembuat
animasiobjekandamenggunakanprogramActionScript.

PanelTimelinemenyediakanframeframeyangdapatdigunakanuntukmembuatanimasiobjektanpa
menggunakanprogramScript.PadapanelTimelinejugaterdapatlayerlayeryangbisaandabuat.

PanelPropertiesmembantuandamengaturbeberapapropertidariobjekterpilihyangadadiStage.
Apabilatidakadaobjekyangdipilih,makapanelpropertiakanberkaitlangsungdenganproperti
Stage.

PanelToolsmemuatalatbantuuntukmembuatobjekgraphicyangdapatditambahkandalamStage.

PanelLibrarymemuatobjekobjekyangandagunakandalamfileFlashanda.

Nugroho Agus H., M.Si.

PEMBUATANPROGRAMTEKSSEDERHANA
UntukmengawalipembuatanprogrammenggunakanActionScriptakandibuatprogramuntuk
menampilkantulisansederhanaHelloWorlddanpenggunaantomboldaricommonlibrary.Flash
mempunyaibeberapakomponenuserinterfacebawaandanjugaelemenelemenlibrarybawaanuntuk
membantumembuatdesaindengancepatdanmudah.
LangkahpertamaadalahsimpanfileflashandadenganmemilihmenuFileSaveAs(atautekanCtrl+S
bersamaan)danberinamaHelloWorld.fladalamfolderkerjaanda.Selanjutnya,buatlahsebuahtombolmulai
denganmengambildarimenuWindow>CommonLibraries>Buttons,danandaakandiperlihatkankotakdialog
sepertidalamGambar1.3.

Gambar
1.3. Double-Click

folder Classic buttons>Arcade

buttons,
pilih arcade buttongreen.
Gunakan mouse anda

untuk objek button tersebut


ke dalam Stage.

Nama
instance

PadaPanelPropertiberinamainstance(namayanghanyaberlakudalamfileflashaktifanda)andadengan
namatmbMulai(ataunamalainyangmudahandaingatdanmenunjukkantomboluntukmemulaianimasi).
NamainstancetmbMulaiakandigunakandalamprogramscriptkitauntukmenunjukpadaobjekdalamStage.
Bilaandasudahselesai,andabisamelanjutkandenganmenuliskankodescriptuntukmembuatsesuatudalam
flashanda.

PembuatanKodeActionScript
PembuatankodedilakukanpadapanelAction.UntukmasukkedalampanelActions,PilihLayer1,
kemudianpilihmenuWindowAction(atautekantombolF9),danketikkankodeScriptberikutdalampanel
ActionssepertidalamGambar1.4.
1 trace (Selamat Datang, Silahkan Tekan Tombol Hijau);
2 tombolMulai.addEventListener(MouseEvent.CLICK,tekanTombol);
3 function tekanTombol(mevt:MouseEvent):void{
4

trace("Hello World");

Gambar 1.4. Panel Actions


untuk menuliskan

program ActionScript

Nugroho Agus H., M.Si.

JalankanhasilprogramandadenganmemilihmenuControlTestMovie(atautekanCtrl+Enter).PadaStage
andaakanmunculobjektombolhijau.Padasaattombolandaclickdenganmouse,andaakanmelihattulisan
HelloWorldpadapanelOutputsepertipadaGambar1.5.

Gambar 1.5.

Flash hasil Test Movie dan


panel Output

FLASHDEVELOPUNTUKPEMROGRAMANACTIONSCRIPT3.0
FlashDevelopmerupakansebuaheditoryanggratisyangbisabekerjadalamsistemoperasiWindows,
maupunMacOSX,ataupunLinux.AkantetapisejakmembutuhkanMicrosoft.NET2.0runtime,FlashDevelop
hanyaberjalandiWindows.FlashDevelopmendukungkodingyangdilakukanolehActionScript3.0.
PenggunaanFlashDevelopsebagaisebagaikompilerdaneditorActionScriptmembutuhkanbeberapa
persyaratansebagaiberikut.

Microsoft.NETframework

FlashPlayer10.1ActiveXruntime(dibutuhkanuntukmenampilkan,bertindaksebagaibrowser)

Java1.6runtime(JRE)(dibutuhkanjikaandamenggunakanFlexSDK)

INSTALASI FLASHDEVELOP
UntukmemulaimenginstallFlashDevelop,pertamakalidownloaddaninstall.NETruntime(dengan
namafiledotnetfx.exe)dariwebsiteMicrosoft(http://www.microsoft.com)dengankatakuncipencarian
Microsoft.NETFramework.Setelahandamenginstall.NETruntime,lanjutkandenganmenginstall
FlashDevelop.DownloadfileFlashDevelopreleaseyangterbarudarihalamanRelease
(http://www.flashdevelop.org/community/viewforum.php?f=11).LanjutkandenganmenginstallFlashDevelop
padakomputerAndasesuaidenganinstruksistandarselamaprosesinstalasi.Lakukanbeberapakonfigurasi
sesuaiinstruksiyangadadalamhalamankonfigurasi
(http://www.flashdevelop.org/wikidocs/index.php?title=Configuration)

Nugroho Agus H., M.Si.

Nugroho Agus H., M.Si.

Nugroho Agus H., M.Si.

Nugroho Agus H., M.Si.


LanjutkandenganmendownloadFlexSDKdarihalamanFlexSDKyangFree
(http://opensource.adobe.com/wiki/display/flexsdk/Downloads).Setelahandaselesaimendownload,anda
bisamengekstraksfileFlexSDKandadalamdirectoryandayangnantinyaakandiacudalamkonfigurasi
settinganprogramdariFlashDevelop.
SetelahandaselesaimenginstallFlexSDKdanFlashDevelop,padasaatpertamaandamenggunakan,
andaperlumengkonfigurasibeberapasettinganprogram.JalankanFlashDevelop.PilihmenuToolsProgram
Setting(atautekanF10),yangakanmemunculkankotakdialogSettingsepertipadaGambar1.6

Gambar1.6.
kotakdialog
Setting
program

Nugroho Agus H., M.Si.

Dalamkotakdialogini,pilihPluginsAS3ContextkemudianaturbagianFlexSDKLocationmenuju
pathdirectorytempatandamenaruhAdobeFlexSDKyangsudahandaekstrak.Lanjutkandenganmemilih
PluginsFlashViewerkemudianaturpathuntukFlashPlayeranda,sepertiterlihatpadaGambar1.7.

Gambar1.7.
kotakdialog

Setting
program

untuk
memilih

FlashViewer

Nugroho Agus H., M.Si.

Untukmemulaimembuatproyeksederhanadanmengkompilasinya,pilihmenuProjectNew
ProjectyangakanmemunculkankotakdialogNewProjectsepertiterlihatpadaGambar1.8.PilihAS3Project
dibawahjudulActionScript3.BerinamaPengenalanFlash,pilihlokasifileandadenganmemilihBrowsefile.
AndabisajugacentangCreatedirectoryforproject,supayadibuatkandirektorikhususuntukproyekanda.
ProyekAndaakansecaraotomatistersimpandalamfolderPengenalanFlashdengannamafileproyeknya
adalahPengenalanFlash.as3proj.

Gambar1.8.
kotakdialog
NewProject

FlashDevelopakanmemunculkantampilansepertipadaGambar1.9.Andaakanlangsungmempunyai
fileMain.asdidalamdirectorysrcanda.IsidarifileMain.asberupastandarkodedalamsebuahfile
ActionScript3(.as)tanpaandaperlumengetikkannya.

Gambar1.9.
TampilanAwal

FileMain.as
pada

FlashDevelop

Nugroho Agus H., M.Si.

DalamfileMain.asandatinggalmenambahkankodeActionScript3.0anda.Contohpembuatan
tulisanHelloWorlddapatdilakukandenganmenambahkansebuahvariabelteksdengantipeTextField,mengisi
parametertextdengansebuahstringHelloWorld,danmenampilkannyakedalamstage.Halinisamapersis
denganmenuliskannyapadapanelActionFlashProfesional.Sederhananyaadalahbayangkanbahwapanel
ActiondariAdobeFlashituadalahfungsiMaindalamFlashDevelop.Haliniakanmempermudahandadalam
bermigrasiantaraAdobeFlashProfesionaldenganFlashDevelop.

publicclassMainextendsSprite
{

publicfunctionMain():void

if(stage)init();

elseaddEventListener(Event.ADDED_TO_STAGE,init);

varteks:TextField=newTextField
teks.text="HelloWorld"

stage.addChild(teks)

}
}

UntukmelihathasildariprogramdiatasandabisamenjalankannyadenganmemilihmenuProject
TestMovie(atautekanF5,atautekanCtrl+Enter).Bilaandabenarmengetikkankodenyaakanmunculhasil
sepertipadaGambar1.10.FileflashSWFhasilpengujianandaakandisimpandalamdirektoribindengannama
PengenalanFlash.swf.

Gambar
1.10Hasil
program
HelloWorld

Nugroho Agus H., M.Si.

BAB2
DASARDASARPROGRAMACTIONSCRIPT3.0

Dalambabiniakandibahasmengenai

Babinidimulaidenganpenjelasanmengenaikonsepkonsepdasarpemrogramanbesertadengancontoh
pengkodeannyadalamActionScript.Supayalangsungbisamelihathasilpengkodeananda,buatprojectbarudalam
FlashDevelopandadenganmemilihmenuProjectNewProject,pilihtemplateAS3Project,berinamaproject
andaDasarAS3.Masukpadadirektorisrc,doubleclickfileMain.as,yangakanmemunculkanpackageberikut.
package
{

importflash.display.Sprite;

importflash.events.Event;

/**

*...

*@authorNugrohoAgusH

*/

publicclassMainextendsSprite

publicfunctionMain():void

if(stage)init();

elseaddEventListener(Event.ADDED_TO_STAGE,init);

privatefunctioninit(e:Event=null):void

removeEventListener(Event.ADDED_TO_STAGE,init);

//entrypoint

1.

Pemberiankomentar.Komentaradalahpotonganpotonganteksyangtidakikutdijalankan//dieksekusioleh
program.Komentarhanyadigunakanuntukdokumentasiprogramsehinggabisadigunakandalam
pendeteksiankesalahanmaupunpengembanganprogram.DalamActionScriptterdapatduatipekomentar,
yaitu:komentardalamsatubarisdankomentardalamsatublokbaris.
1.1. Untukmemberikankomentarhanyadalamsatubarisdigunakantandaduaforwardslash(//),misalnya:
Trace(HelloWorld)//komentarnyaadalahuntukmenampilkantulisanHelloWorld.
1.2. Untukmemberikankomentardalambeberapabarisdiawalidengantanda/*dandiakhiridengantanda
*/,misalnya:
/*
copyrightbynugroho
F.TeknologiInformasi
UKDW
*/

2.

PenggunaanperintahTrace
PerintahTracedigunakanuntukmenampilkaninformasipadapanelOutput.PanelOutputhanyadigunakan
untukmengujijalannyaprogramsaja,bukansebagaitampilanutamaprogram.Yangmenjaditampilanutama
programadalahStagekita.
Misalnya:
publicfunctionMain():void{

if(stage)init();

elseaddEventListener(Event.ADDED_TO_STAGE,init);
trace(2+5)//akanmenampilkanbilangan7

}
3.

PendeklarasianVariabel
Sebuahvariabel(misalnyavariabelxdalampelajaranmatematikayangmenyajikansebuahbilanganyangbisa
diberidengansuatunilai)adalahsebuahpenampunginformasiyangbisadiambilataupundiganti.Variabel
variabelyangakandigunakandalamActionScriptharusdideklarasikanterlebihdahulu.Beberapatipe
data/tipevariabelyangseringdigunakanantaralain:TextField,Number,String,Array,Sprite,Shape,dan
MovieClip.KitajugadapatmembuattipevariabelsendiriberupaobjekClassuntukaplikasikita.Perintah
deklarasivariabelmempunyaibentukumum:
var namaVariabel:TipeVariabel;

ataucarakeduaberikutjugamemberikanhasilyangsama:
var namaVariabel:TipeVariabel=new TipeVariabel();

AndabisamenambahkanprogramberikutkedalamkodeprogramandadidalamlingkupfungsiMain()untuk
memunculkantulisanHelloWorldkedalamStageAnda.
publicfunctionMain():void{
var textSaya:TextField=new TextField();
textSaya.text="Hello World";
stage.addChild(textSaya);

LanjutkandenganmengujihasilprogramandadenganmenekanF5atauCtrl+Enter,makaandaakanmelihat
tulisanHelloWorldpadaujungkiriatasStageanda.

Lakukanhalserupauntukcontohcontohselanjutnya,yaitutambahkankodeyanginginandajalankandi
dalamlingkupfungsipublicMain().LanjutkandenganmengujiprogramandadenganmenekanF5.
Namavariabelharusmemenuhiaturanaturanberikut:

Hanyaterdiridarihuruf,angka,karkatergarisbawah,dansimbol$.
Tidakdiawalidenganangka
TidaksamadengankatakhususyangsudahdipakaiolehActionScript(reservedword),sepertivar,Sprite,
danlainlain.
Harusunik

Untukpenulisandalampenamaanvariabel,andadapatmenggunakanmodeKataKapital(CamelCase)yang
merupakanprosespenulisanbeberapakatatanpatandaspasinamundenganmengkapitalisasi(menulis
denganhurufbesar)setiapkatapembentuknya,misalnyatextSaya,radiusBola,dantinggiAwalStage.Untuk
tipedatakompleks(movieClip,button,textField)yangadadalamstageyangdibuatdenganAdobeFlashCS3
Profesional,andadapatmendeklarasikannyadenganmenuliskannyapadanamainstan(instancename)pada
bagianpropertiobjeknya.FlashCS3akanmembuatvariabeldengannamasamadengannamainstantersebut.
4.

TipetipeData
ActionScript3.0mempunyaibeberapatipedataprimitifsepertiyangdiberikandalamTabel2.1.Selainitu
ActionScriptjugamempunyaibeberapatipedatakompleksyangdibangundaritipedataprimitifsepertiyang
diberikandalamTabel2.2.Bahkankitabisamembanguntipedatasendiri,dalambahasapemrogramanobjek
seringdikenaldengannamaclassobjek.
Tabel2.1.TipedataprimitifActionScript3.0
TipeData

Pengertian

Contoh

String

Sebuahkarakteratausederet
karakter

vartextSaya:String=HelloWorld,
bisajugaditulisdengan:
vartextSaya:String
textSaya=HelloWorld

Boolean

Hanyabernilaibenar(true)atausalah
(false)

varsudahSelesai:Boolean=true

Number

Bilanganriilpositifdannegatif

varpercepatan:Number=0.01

Int

Bilanganbulatpositifdannegatif

varradiusBola:int=10

(2.147.483.648s.d.2.147.483.647)
Uint

Bilanganbulatpositif

varwarnaBola:uint=0xFF00FF

(0s.d.4.294.967.295)
*

Tipedatasembarang(biasanya
digunakanuntukmenampungdata
yangbelumdiketahuitipenya)

vardataBaru:*=dataSembarang

Tabel2.2.BeberapaTipedatakompleksActionScript3.0
TipeData

Pengertian

Contoh

MovieClip

Sebuahsimbolmovieclip

vartokohSaya:MovieClip=newMovieClip()

Sprite

SebuahSprite

varkotak:Sprite=newSprite()

TextField

Sebuahfieldteksyangbertipe
dynamicataufieldteksyangbertipe

vartulisan:TextField=newTextField()

input(secaradefaultakanbertipe
dynamic)

tulisan.text=TulisanDinamis

SimpleButton

Sebuahsimbolbutton(tombol)

varstart:SimpleButton=newSimpleButton()

Date

Datadalamformattanggal

varultah:Date=newDate()

Array

Larikatauarrayyangdapatmemuat
lebihdarisatunilai

vararrayBilangan:Array=newArray()
arrayBilangan=[2,3,15]

Objek

Strukturdasardarisetiapentitas
vargambar:Objek:newObject
ActionScript.Objekjugamerupakan
gambar.nama=fotoaction
suatubentukvariabelyangbisadiatur
gambar.panjang=600
sendiriuntukmenyimoanberbagai
nilaisebagaialternatifdariArray

Untuktipedatakompleksakanlebihmudahdipahamipadasaatnantikitamemakainya.
Apabilaandamulaibekerjadengankonseppemrogramanberorientasiobjekyangmenggunakanbeberapa
Class,andaperlumenggunakanbeberapakatatambahandidepanvariabelyangmenunjukkanruanglingkup
pengaksesanvariabel,misalnya:
publicvarradiusBola:int
PenjelasanmengenaiClassakandibahasdalambab3,namundemikianruanglingkupvariabeldalam
ActionScript3.0akandiberikandiawalkarenasudahkitabutuhkandalampemrogramandengan
FlashDevelop.ActionScript3.0mendefinisikanempatkatauntukmenunjukkanruanglingkupvariabel(atau
punfungsi/method),yaitu:

5.

Operator

6.

public:dapatdiaksesolehsemuabagiankodedidalamkeseluruhanaplikasi/projecttempatvariabel
didefinisikan
private:hanyadapatdiaksesolehmethod/fungsitempatvariabeldidefinisikan
internal:dapatdiaksesolehsebarangclassyangdidefinisikandalampackageyangsama.
protected:hanyadapatdiaksesolehmethod/fungsitempatvariabeldidefinisikandanclassyangextend
classtempatvariabeldidefinisikan

Aritmetika(+,,*,/).ActionScriptmengakomodasisemuaoperatoraritmetikasesuaidenganaturan
aturanperhitungannya,denganperkaliandituliskandengan*sedangkanpembagiandituliskandengan/.
Modulo(%).ActionScriptjugamengakomodasioperatormodulodengansimbol%,misal:5%3
//menghasilkan2.
Increment(++)dandecrement().ActionScriptdapatmenambahataumengurangi1darisuatubilangan
denganoperatortunggal(++atau),misalnya:
varbilangan:int=10
bilangan++//menghasilkan11
bilangan//menghasilkan10lagi
Operatormajemuk(+=,=,*=,/=,dan%=).ActionScriptmenyediakanoperatormajemukuntuk
mempersingkatpenulisan,misalnya:
varbilangan:int=10
bilangan+=2//artinyasamadenganbilangan=bilangan+2,menghasilkan12
bilangan/=3//artinyasamadenganbilangan=12/3,menghasilkan4

Penggunaanpernyataankondisional
6.1. PernyataanIfdigunakanuntukmengijinkanpemrosesanbagiandariblokActionScripthanyajikakondisi
yangdimintabenar.PernyataanIfmempunyaibentukpenyajiansebagaiberikut:

If(kondisi){

Prosesyangakandikerjakanjikakondisibenar

}
Jikakondisibenar,makaprosesakandijalankan.Silahkanmencobapotonganprogramberikutdalam
FlashDevelopfileDasarAS3anda
publicfunctionMain():void{

varx:Number=2
if(x<3){
trace(xlebihkecildari3)
}
Else{

trace(xlebihbesaratausamadenganxtidakakanditulisapapun)

Andadapatmenggunakanoperatorlogikaataupunperbandingansepertidalamtabel2.3

Tabel2.3.SimbolsimbolyangdigunakanuntukmembentukEkspresilogika

Simbol

Peterangan

Contoh

==

Samadengan

If(a==1){trace(asamadengan1)}

!=

Tidaksamadengan

If(a!=1){trace(atidaksamadengan1)}

<,<=,>,>=

Perbandingan

If(a>=1){trace(alebihbesaratausamadengan1)}

And(&&),atau(||)

Operatormajemuk

If(a=1&&b=2){trace(a=1danb=2)}

6.2. IfElse.PenambahankataElsesebagaitambahblokpernyataanIfberartiprogramakanmengerjakan
blokprogramdidalamblokElsejikakondisididalampengujianIftidakbenar.
If(a==1){
trace(asamadengan1
}
Else{
trace(atidaksamadengan1)
}

6.3. Switchcase.PernyataanSwitchCasedigunakanuntukmengujibeberapakemungkinankondisi.
PernyataanSwitchmemuatvariabelyangakandiuji,sedangkansetiappernyataanCasemenyatakan
kemungkinannilaiuntukmenguji.DiberikanjugapernyataanBreakuntukmencegahpengerjaaninstruksi
intruksiselanjutnya.Perhatikancontohberikutini.
Switch(a){
case1:trace(satu)
case2:trace(dua)
break}
7.

Penggunaankalang(Loop)

7.1. ForPernyataanFordigunakanuntukmengerjakanprosesiterasidalamjumlahtertentu.
for (var i:Number = 0; i < 3; i++) {
trace(i)
} // akan menampilkan 012

7.2. whileProsesdidalamblokWhileakandiujiselamakondisididalampernyataanWhilebenar.
vari:int=0
while(i<5){

trace(i)

i++

}//akanmenampilkan01234
7.3. doWhile.Prosesdidalamblokdowhileminimalakandikerjakansekali,kemudianakandilanjutkan
pengujiankondisididalampernyataanWhile.Prosesakandijalankanberulangkaliselamakondisimasih
benar.
vari:int=0
do{

trace(i)

i++
}while(i<5)//akanmenampilkan01234
8.

BekerjadenganClass
SalahsatukelebihanActionScript3.0adalahdukungannyaterhadappemrogramanmenggunakanclassclass.
Denganpenggunaanclass,andadapatmenerapkankonseppemrogramanberorientasiobjekdalam
pengkodeanprogramanda.Sebuahclassadalahcetakbirudarisebuahobjek.Classmendefinisikanobjek
secarapenuh,meliputidataobjekdanoperasioperasinya.Untukmembuatclassperludiperhatikanbeberapa
halberikutini.
a.

b.
c.

d.

e.

PembuatanClassdalamActionScriptharusdiawalidengansebuahpackage.Sebuahpacketadalahgrup
dariclass(bisahanyasatuclassataubeberapaclass).AndabisajugamenambahkannamaFolderdi
belakangkatapackageyangmenunjukkandirektoritempatandamenyimpanclassanda.Misalnyaanda
bisamembuatclassBolayangakanandataruhdalamfolderlibdenganmanambahkankatalibdibelakang
katapackage
Dokumendariclassharusdisimpandengannamayangsamadengannamadariclass,misalnya
namaClass.as.MisalnyaclassBolayangandabuatharusandasimpandengannamaBola.as
SebaiknyaclassyangandabuatmerujukkeclassyangsudahdimilikiFlash,misalnyaSpriteatauMovie
Clip.GunakantambahankataextendsSpritepadalanjutannamaClassanda,misalnya
publicclassBolaextendsSprite.
Andabisajugamenambahkanvariabeldenganruanglingkuppublic,internalataupunyanglainnyasesuai
kebutuhan.Misalnyaandabisamenambahkanvariabelvariabelyangbersifatpublic,seperti:radiusyang
menunjukkanjarijaribola,warnayangmenunjukkanwarnabola,vxyangmenunjukkankecepatanbola
searahsumbux,danvyyangmenunjukkanbolasearahsumbuy.
Andabisajugamenambahkanmethodberupafungsidenganruanglingkupyangandainginkan.Didalam
fungsi.Salahsatufungsiyangsebaiknyaadaadalahfungsidengannamafungsisamadengannamaclass
anda.JadibuatlahfungsiBoladenganruanglingkuppublicdengammodelpengirimanparametervariabel
radiusdanwarna.

MisalnyaandadapatmembuatclassBolayangandataruhdidalamFolderlibdariprojectDasarAS3.as3proj
denganlangkahberikutini.BukaprojectDasarAS3yangsudahandabuatsebelumnya.Lanjutkandengan
membuatfileclassAS3melaluimenuFileNewAS3Document.Lanjutkandenganmemberinama
dokumenandamelaluimenuFileSaveAs(Ctrl+Shift+S),pilihsubfolderlibdarifolderDasarAS3,berinama
Bola.as.

Misalkanobjekbolaandamempunyaibeberapavariabelyangbersifatpublic,yaitu:radius,vx,danvy

packagelib{//tambahkanfoldertempatandamenyimpanfileBola.asAndajikamenginginkan,

//misalpackagesport{....isiclass.....}artinyaandamenyimpanfileBola.aspadafoldersport

importflash.display.Sprite;

publicclassBolaextendsSprite{

//deklarasivariabelprivateyanghanyaberlakudandigunakandidalamclassBolasaja

privatevarradius:Number;//jarijaribolayangakandibuat

privatevarcolor:uint;//warnabolayangakandibuat

//deklarasivariabelpublicyangberlakudandigunakanolehfileyanglain.

publicvarvx:Number=0;//kecepatanbolasearahsumbuxdenganrumusvx=v*cosq

publicvarvy:Number=0;//kecepatanbolasearahsumbuydenganrumusvy=v*sinq

publicvarv:Number=0;//kecepatanbola

publicvarmassa:Number=0;

publicvarindeks:Number=0;

propertibola

publicfunctionBola(radius:Number=40,color:uint=0xff0000){//pemberiannilaidefault

fungsibola

this.radius=radius;//menyamakanpropertiboladenganparameterinputdari

fungsibola

this.color=color;//menyamakanpropertiboladenganparameterinputdari

graphics.beginFill(color);//mulaimewarnaibola

danjarijari=radius

graphics.drawCircle(0,0,radius);//mulaimenggambarboladenganpusat(0,0)

graphics.endFill();//mengakhirimewarnaibola

}
package
{

publicclass

}
f.
g.
h.
i.
j.

packagenamaFolder{

publicclassnamaClass{
}
}

9.

Fungsi

10. Event,Listener,danEventHandler
SemuainteraksiuserdidalamFlashdikelolaoleheventeventbeberapacontoheventadalah:mouseclick,
mousemove,inputkeyboard,loadingfile,danlainlain.Dalambukuiniakanbanyakmenggunakan
pengaturaneventuntukmendisaininteraksiuser.
DalamActionScript,suatuobjekbisamendengarkan(listen)eventyangterjadipadadirinyadengan
menggunakanmethodaddEventListenerpadaobjektersebut.Methodinimembutuhkanduaargumen,
yaitu:

Eventapayangakandidengarkan,misalnyaMouseEventataupunKeyboardEvent

Fungsiapayangakansayakerjakanapabilasayamendegarkanevent.

Dalamcontohkita,baris:
tombolMulai.addEventListener(MouseEvent.CLICK,tekanTombol);
function tekanTombol(mevt:MouseEvent):void{
ISI FUNGSI
}

Mempunyaimaksudsebagaiberikut:

TomboldengannamainstancetombolMulaiakanmendengarkaneventMouseClick
(MouseEvent.CLICK)

ApabilatombolMulaidiclickdenganmouse,makafungsitekanTomboolakandipanggildan
dikerjakan.FungsitekanTomboldinamakanEventHandler.Sebuaheventhandlerharusberupa
fungsidengansatunilaiinput(misalnyadalamcontohkitaadalahmevt:MouseEvent)dantidak
mengembalikannilaiapaapa(yaitumempunyaitipekeluaranvoid).

berinamalayerpertamasebagaiutama
buatsebuahtextstatisdengantulisan"berapajumlahbolayangandalihat?"
buatsebuahtextboxlagidenganmodeinputTextberinamainstace"txtJawab.namatxtJawabiniyangakankita
gunakandalamkodeprogramsebagaivariabelyangmenunjukketextjawaban

buatsebuahlayerlagiberinamascript.disinilahtempatkitaakanmenempatkankodeprogramdalamactionscript
3.0
tambahkansebuahobjekspritedengannamaspPapansebagaitempatmeanruhbolayangakankitatampilkhan.

buatlahsebuahobjekshapeberbentukpapankotakdenganukuran300x300.taruhlahkotaktersebutdidalam
objekSprite,denganmenjadikanshapetersebutsebagaianakdariSpritespPapan
denganmenuliskanspPapan.addChild(shpKotak)

buatfungsiuntukmembuatbolaberinamafungsibuatBoladenganparameterkyangnantinyamenunjukkpada
bolakek

bangkitkanbilanganrandomrkemudianlakukanloopinguntukmembuatbola

buatTombolOKCekuntukmelihatbenartidaknyajawaban

masukkemenuwindowlibrarycommonbuttonpilihtombolbuttonayngandainginkan,misalnyatombollbulat
arcade,sayapilihclassicbuttonarcadebuttonred.berinamatmbCek(diambildarikatatombolCek)

padabuttontmbCektambahkanaddEvenListeneruntukmendengarkanevent,misalnyamouse.Click,dihubungkan
denganfungsicekJawab,artinyajikatombolinidiklikdenganmousemakaakanmengerjakanfungsicekJawab

dalamfungsicekJawab.lakukanpengujianapakahisidaritxtJawabsamadenganjumlahbola,jikaya,maka
keluarkanpesan
jawabanandabenar.denganmenuliskannyadidalamtextdinamiktxtPesan.

varspPapan:Sprite=newSprite();

spPapan.x=20;
spPapan.y=20;
spPapan.graphics.lineStyle(2,0);
spPapan.graphics.beginFill(0xFFFFFF,0.9);
spPapan.graphics.drawRect(0,0,300,300);
spPapan.graphics.endFill();
stage.addChild(spPapan);

varshpBola:Shape=newShape();
functionbuatBola(k:int):void{

shpBola.graphics.lineStyle(2,0);

varindeksWarna:int;

indeksWarna=k*25+255;

varposisiBola:int;

posisiBola=10+k*25;

shpBola.graphics.beginFill(indeksWarna,0.9);

shpBola.graphics.drawCircle(posisiBola,20,10);

shpBola.graphics.endFill();

spPapan.addChild(shpBola);

varr:int;
r=1+Math.round(Math.random()*9);
for(vari:int=1;i<=r;i++){

buatBola(i);

tmbCek.addEventListener(MouseEvent.CLICK,cekJawab);
functioncekJawab(mevt:MouseEvent):void{

varjawab:int=int(txtJawab.text);

if(jawab==r){

txtPesan.text="AndaBenar";

else{

txtPesan.text="Maaf,Salah";

tmbAcak.addEventListener(MouseEvent.CLICK,acak);
functionacak(mevt:MouseEvent):void{
shpBola.graphics.clear();

r=1+Math.round(Math.random()*9);
for(i=1;i<=r;i++){

buatBola(i);

Anda mungkin juga menyukai