Flash 8, XML dan Excel 2000
“Judgement without collision is ain’t cool…!”
Flash 8 (Actionscript 2.0) sudah menyediakan fungsi built-in untuk membaca dan parsing file XML, tapi bagaimana dengan menambah dan edit data di XML ?
Untuk yang expert di PHP, bisa menggunakan SimpleXML/LibXML. Tapi anda harus menginstall terlebih dahulu Webserver (Apache), sangat tidak efisien apalagi jika anda hanya berurusan dengan data yang sedikit. Pada artikel ini, saya menggunakan Excel 2000 untuk menambah dan memanipulasi data, lalu pertanyaannya kenapa tidak menggunakan Excel 2003? struktur XML Excel 2000 dan 2003 berbeda, jadi saya harus memilih salah satu dari kedua software tersebut, akhirnya setelah saya memantapkan hati, niat tulus, bismilLah, akhirnya saya memilih Excel 2000.
Membuat XML dengan Excel 2000
Buka program Excel 2000, dan ketikkan data seperti gambar di bawah ini:

Kolom pertama menandakan field “id” dan kolom kedua adalah field “nama”. Setelah itu simpan dokumen excel tersebut dengan tipe file XML Spreadsheet, lihat contoh gambar di bawah ini:

Simpan file di c:\xml\book1.xml
Harap diingat ketika ingin menjalankan flash, dokumen XML di Excel 2000 harus ditutup.
Membuat Flash Movie
Buka program Flash 8, ketikkan actionscript di frame 1, layer 1 sebagai berikut:
var my_array:Array = new Array();
[as]dataXML = new XML();
dataXML.ignoreWhite = true;
dataXML.load(‘book1.xml’);
dataXML.onLoad = function(success) {
if(success) {
var xml = this.firstChild.childNodes[4].childNodes[0];
var lengthNode = xml.childNodes.length;
for (i=0; i < lengthNode; i++) {
if (xml.childNodes[i].childNodes[0].childNodes[0].firstChild ne “undefined”) {
_root.my_array.push({id:xml.childNodes[i].childNodes[0].childNodes[0].firstChild,
nama:xml.childNodes[i].childNodes[1].childNodes[0].firstChild});
}
}
_root.my_array.sortOn(“id”, Array.NUMERIC);
for(j=0;j < _root.my_array.length;j++) {
_root.cb.addItem({data:_root.my_array[j]["nama"], label:_root.my_array[j]["id"]});
}
}
}[/as]
Kemudian ketikkan actionscript lagi di baris baru:
[as]myListener = new Object();
cb.addEventListener(“change”, myListener);
myListener.change = function(evt){
if (evt.target.value != “0″) {
ta.text = evt.target.value;
}
}[/as]
Setelah selesai, masuk ke lembar kerja, tambah layer baru dengan nama layer: Objek, letakkan layer “objek” ke posisi paling bawah dengan layer-layer lainnya. Masukkan komponen Combobox, ketikkan instance-name “cb”, seperti gambar di bawah ini:

Setelah itu isikan parameter data di data pertama dengan nilai “0″, dan label “Choose ID ——”, seperti gambar di atas.
Letakkan komponen Textarea di bawah komponen combobox, dan beri instance-name dengan nama “ta”, tentukan paramater editable dengan nilai “false”, seperti gambar di bawah ini:

Simpan file Flash tersebut di c:\xml\sample.fla, setelah disimpan kita coba jalan flash Movie dengan menekan Ctrl+Enter atau Menu Utama: Control » Test Movie
PEMBAHASAN
Kita mulai dengan kode actionscript pertama:
dataXML.load(“book1.xml”);
script tersebut untuk memanggil file XML dengan nama book1.xml, karena flash movie 1 folder dengan file xml tersebut, jika file xml terdapat di subfolder “database”, maka actionscript yang digunakan adalah:
[as]dataXML.load(“database/book1.xml”);
Kemudian kita tentukan pada urutan ke berapa data berada,
var xml = this.firstChild.childNodes[4].childNodes[0];[/as]
Script diatas adalah script baku jika anda ingin menggunakan file XML yang dibuat dari program Excel 2000. Kemudian data di file “book1.xml” di looping dan dimasukkan ke variabel array,
[as]_root.my_array.push({id:xml.childNodes[i].childNodes[0].childNodes[0].firstChild,
nama:xml.childNodes[i].childNodes[1].childNodes[0].firstChild});[/as]
yang sebelumnya variabel “my_array” harus dideklrasikan terlebih dahulu,
[as]var my_array:Array = new Array();[/as]
Kenapa harus dimasukkan array terlebih dahulu? jawabannya adalah agar kita dapat mensorting urutan data , seperti script dibawah ini,
[as]_root.my_array.sortOn(“id”, Array.NUMERIC);[/as]
Script diatas mensorting data di my_array tepatnya di kolom “id” agar diurutkan secara Numeric/Ascending. Setelah proses pengurutan, data my_array di looping lagi, dan kali ini dimasukkan data-datanya ke komponen combobox, yang sudah kita isikan intance-name dengan “cb”,
[as]for(j=0;j < _root.my_array.length;j++) {
_root.cb.addItem({data:_root.my_array[j]["nama"], label:_root.my_array[j]["id"]});
}[/as]
Combobox memiliki 2 nilai, yaitu data (nilai yang disimpan) dan label (nilai yang ditampilkan).Untuk kode yang ke 2 adalah berkaitan dengan 2 komponen yang ada di flash Movie, penjelasannya sebagai berikut,
myListener = new Object();
myListener adalah nama variabel yang mewakili Object,
[as]cb.addEventListener(“change”, myListener);[/as]
Script diatas mendeklarasikan fungsi onChange (maksudnya: akan berkerja jika pengguna memilih nilai yang berbeda dari sebelumnya) pada combobox yang akan diproses lebih lanjut oleh myListener,
[as]myListener.change = function(evt){
if (evt.target.value != “0″) {
ta.text = evt.target.value;
}
}[/as]
Setelah pengguna memilih data di combobox, maka fungsi Change pada listener akan melakukan proses di dalamnya, pertama kali memeriksa apakah data pada label yang dipilih bernilai “0″, jika tidak Script menjalankan proses penulisan ke textarea yang akan berisikan nilai sesuai dengan data yang dipilih di combobox.Selamat Mencoba….., kalau mau download sourcenya, klik disini
sip banget tulisannya
huda
Januari 27, 2007 at 4:09 pm
Wah seneng juga ngliat ada yg bermain actionscript
erich
Februari 4, 2007 at 9:37 pm
bagaimana seandainya data yang ada dalam excel langsung dimunculkan diflash tanpa mengklik tombol? piye mas…..
matur nuwun…
joo
Mei 26, 2007 at 7:16 pm
maksud saya ketika file flash dibuka.. “sret” data yang di load dari file excel langsung tampil…
oh ya neh mo nanya lagi…
apa bisa data langsung di-Update dari flashnya tanpa menutup jendela terlebih dahulu.. maksudnya pada file .exe or .swf terdapat jendela Update jadi ngga perlu repot buka file .txt or excel misalnya.. “tengs bagget u/ jawabannya..
joo
Juni 6, 2007 at 5:11 am
Assalamu’alaikum ..
mau nanya klo, menampilkan 1 tab excel di flash .. bisa pake yg di atas ini .. belum sempet saya coba sih .. tapi kira-kira bisa ga ya? terus tampilannya sama persis dengan yg diexcelnya?
thanks
wassalam
mpi
Juni 15, 2007 at 11:29 am
mas gimana kalau access bisa koneksi ga? kalau bisa tolong dong minta source dan caranya..kalau bisa ke email aku he..he..
WARDOYO
Juli 13, 2007 at 3:14 pm
saya pingin tau bagaimana kalau flash mx 2004 dikombinasikan dengan xml? xml sebagai databasenya. Trims atas jawabannya:)
yani
Juli 24, 2007 at 7:21 am
mo nanya nih…
saya lagi bikin quissionare/survey pake flash. User hrs mengisi data diri, kemudian menjawab pertanyaan2 di flash (komputer stand alone, ga pake internet). Nah yg pengen saya tanya, gmana caranya supaya data diri dan jawaban2 si user dapat tersimpan di excel di komputer yg sama?
Ozzie
Juli 25, 2007 at 5:53 pm
flash ama excelnya yg satu komputer. jadi komputer ini berfungsi seperti information kiosk, di letakan di suatu tempat dan org bebas utk berinteraksi. tolongin dong mas.. buntu nih..
Ozzie
Juli 26, 2007 at 4:05 pm
komputernya offline, ga pake koneksi internet
Ozzie
Juli 28, 2007 at 7:47 pm
iya source codenya udah saya coba, tapi yg saya perluin justru kebalikannya mas.. kita inputnya dari flash, lalu disimpan ke excelnya. bisa ngga ya? makasi
Ozzie
Juli 31, 2007 at 4:30 pm
waduh.. harus pake aplikasi tambahan ya.. bikin tutorialnya dong mas.. pasti berguna bgt tuh buat byk org. makasi bgt atas info2nya mas.
Ozzie
Agustus 1, 2007 at 3:20 pm
Saya udah coba source codenya, tapi waktu saya coba untuk menampilkan semuanya *tanpa combo box* malah g berhasil, yang keluar hanya satu baris tok
mpi
Agustus 6, 2007 at 3:25 pm
alhamdulillah, akhirnya semalam berhasil jg saya coba. Saya pake Ms. Excel 2003 Mas ^_^.
Hmm.. btw, script buat nambahin panjang textField apa ya? bag yg itu masih belum nemu .. coba tolong di cek ya Mas, ada di Blog saya .. thanks ^ ^
mpi
Agustus 7, 2007 at 6:56 am
Coba cek di sini Excel_to_Flash_using_xml_sort_of_ ^__ ^
mpi
Agustus 7, 2007 at 7:11 am
btw.. selain cara ini ada cara lain ga buat nampilin excel di flash ? :-/
mpi
Agustus 8, 2007 at 5:49 pm
apa program flash itu bisa dipakai untuk menyimpan gambar “seprti print screen” ?.. piye… TQ..
Joo
September 25, 2007 at 2:15 am
artikelnya bagus, cukup jelas, jadi pengen nyoba utak atik flash dan xml
galih
November 7, 2007 at 4:59 pm
Hmm..sepertinya menarik..lebih mudah..tp bagaimana metode atau script yang harus digu nakan untuk search data, misalnya seperti contoh data di atas, qta menetik 1 lalu dapat menampilkan nama A. bagaimana scriptnya??apa seperti dgn menggunakan php n mysql de ngan script “select * where …”???tolong dijelaskan.
Thanks. ^_^
risa
Februari 12, 2008 at 12:56 pm
hallo!!ketemu lagi!!!hhmm…kok aq bingung ya mas,.maksudnya mengotak-atik component dataset nya itu yg gmn c??tolong dijelaskan lagi.. thanks..
Risa
Februari 24, 2008 at 7:09 am
kok gambarnya gak da??
hendri
November 8, 2008 at 3:28 am
tolongi gue dong, gue mo buat sistem save dan load game pada flash, nah yang lo bahas diatas bisa dipake untuk load game…
gimana kalo nilai dari variabel yang dideklarasikan pada action script disimpan ke xml, untuk save game
prayogo
Mei 20, 2009 at 10:46 am
mo nanya neh..
1. gmn cara koneksi flash 8 dengan database acces?
2. contoh pengguna mdm dalam koneksi flash 8 dengan acces?
mksh…
tari
Mei 22, 2009 at 8:27 am
mo nanya ya?boleh to?
kalo bikin aplikasi flash dengan database mysql yang dipublish jadi cd interaktif gimana caranya?
wawan
Juli 17, 2009 at 6:04 pm
Assalamu’alaikum…
slm knal..sy mw mnt bantuan..sy bikn aplikasi animasi u/ Tgs Akhir Smester sy,animasi yg sy buat sudh bers tp msh blum smpurna..pdhl Sidang tinggl hitngan hari..T_T
mslahnya d lmbr krja sy ada bbrpa pmanggilan MovieClip u/pemanggilan SWF galery yg pke xml..
nah ktka sy panggil SWF A(pke xml) sdh tampil,brarti sukses kan..nah masalahnya tuh pas sy mw manggl SWF B(pke xml)..SWF A tuh malah nimpah tampilan SWF B…
sy dah cb utak-atik hirarki pemanggilan targetnya..tp tetep,sy dah cb pke pmanggilan SWF-swf yg g pke xml dan itu berhasil tampil kedua2ny..u/ XML ny sy blu mengerti,tp mnurut sy mslahny ada pd xml ny mungkn?
gmn tu mas?apa bs pecahin masalah pd animasi sy?
sy harpkan bantuannya..tolng balas k no 085294908451
mksh byk seblumny..wasssalam…n_n
Fauzi
Agustus 6, 2009 at 8:10 am
wewww ni web skripsi ane bgt
numpang ctrl+d ya mas…
heheheee
bodjay
Oktober 7, 2009 at 2:08 am