DAFTAR PUSTAKA
Sunyoto, A. (2010). Adobe Flash + XML = Rich Multimedia Application. Yogyakarta : Andi Offset.
Binanto, I. (2010). Multimedia Digital Dasar Teori dan Pengembangannya. Yogyakarta : Andi.
Dharwiyanti, S dan Wahono, S. (2003). Pengantar Unified Modelling Language (UML). From http://ilmukomputer.com. Diakses, 20 September 2012.
Suhendar, Gunadi H (2002). Visual Modeling Menggunakan UML dan Rational Rose, Bandung: Informatika Bandung. Fowler, M. (2005). UML Distilled. Yogyakarta : Andi dan Sommerville.
Hofstetter, F T. (2001). Multimedia Literacy. Third Edition. McGraw-Hill International Edition, New York.
Surya, M. (2004). Psikologi Pembelajaran dan Pengajaran. Bandung : Pustaka Bani Quraisi.
Oemar, H. (2003). Perencanaan Pengajaran Berdasarkan Pendekatan Sistem. Jakarta : PT. Bumi Aksara.
Suetopo, A H. (2003). Metode Pengembangan Multimedia. Yogyakarta : Graha ilmu.
Suhendar, A dan Gunadi, H. (2002). Visual Modeling Menggunakan UML dan Rational Rose. Informatika : Bandung.
80
Zaki, A dan Smitdev. (2008). SPP AJAX Untuk Pemula. Jakarta : PT Elex Media Komputindo.
Dradjad P. (2008). MATH TRICK (trik cepat mengerjakan soal perkalian). Jakarta : PT Bhuana Ilmu Populer.
LAMPIRAN
Halaman Menu Utama Actionscript untuk frame utama sebagai berikut: //supaya tidak jalan kemana-mana stop(); //stop semua suara stopAllSounds(); //menuju materi on(press){ gotoAndStop(2); } //menuju soal on(press){ gotoAndStop(40); } //menuju video on(press){ gotoAndStop(46); } //menuju game on(press){ gotoAndStop(52); } //menuju admin on(press){ gotoAndStop(38); } //menuju profil on(press){ gotoAndStop(54); } //untuk keluar on (release) { fscommand("quit"); }
Halaman Soal Actionscript untuk frame soal sebagai berikut: //supaya ngga jalan kemana-mana stop(); score = 0; //menuju halaman utama soal startbutton.onPress = function() { nextFrame(); }; //deklarasi objek soal var arraySoal:Array = new Array(); //waktu var time = 1800; //deklarasi XML var myXML:XML = new XML(); myXML.ignoreWhite = true; myXML.load("soal.xml"); myXML.onLoad = function(success) { if (success) { var myNode = myXML.firstChild.childNodes; for (i=0; i<myNode.length; i++) { //mengambil data dari XML var soal = myNode[i].childNodes[0].firstChild; var jawaban1 = myNode[i].childNodes[1].attributes.label; var jawaban2 = myNode[i].childNodes[2].attributes.label; var jawaban3 = myNode[i].childNodes[3].attributes.label; var jawaban4 = myNode[i].childNodes[4].attributes.label; var jawabanBenar = myNode[i].childNodes[5].attributes.no; //memasukkannya ke dalam object var obj = new Object(); obj.soal = soal; obj.jawaban1 = jawaban1; obj.jawaban2 = jawaban2; obj.jawaban3 = jawaban3; obj.jawaban4 = jawaban4; obj.jawabanBenar = jawabanBenar; //memasukkan ke dalam array arraySoal.push(obj); } prosesSoal(); } }; //counter digunakan sebagai nomor soal
var counter = 0; //jawaban benar akan terisi pada proses soal var jawabanBenar = 0; //nilai awal var nilai = 0; function prosesSoal() { //jika soal masih ada if (counter<arraySoal.length) { //mengambil soal pada nomor ke-counter var obj = arraySoal[counter]; //mengubah tampilan pertanyaan_txt.text = obj.soal; JwbA.text = obj.jawaban1; JwbB.text = obj.jawaban2; JwbC.text = obj.jawaban3; JwbD.text = obj.jawaban4; jawabanBenar = obj.jawabanBenar; JwbA.selected = false; JwbB.selected = false; JwbC.selected = false; JwbD.selected = false; //meingkatkan counter counter++; } else { //jika soal habis, maka menuju ke halaman 42 gotoAndStop(42); } } function cekSoal(jawaban:Number) { if (jawaban == jawabanBenar) { //menambah nilai nilai += 4; trace("benar"); } prosesSoal(); } var listenerObject:Object = new Object(); listenerObject.click = function(eventObj:Object) { //saat di-klik if (eventObj.target == radio1) { cekSoal(1); } else if (eventObj.target == radio2) { cekSoal(2); } else if (eventObj.target == radio3) { cekSoal(3);
} else if (eventObj.target == radio4) { cekSoal(4); } }; //memberikan event click pada button radio1.addEventListener("click",listenerObject); radio2.addEventListener("click",listenerObject); radio3.addEventListener("click",listenerObject); radio4.addEventListener("click",listenerObject); waktu.onEnterFrame=function() { if (_root.time==0) { _root.gotoAndPlay(44); _root.time =0; } } // Simpan nilai function simpanNilai (nilai,name) { DataNilai = SharedObject.getLocal("masukkanSkor"); if (!DataNilai.data.siswa) { DataNilai.data.siswa = new Array(); DataNilai.data.siswa.push({nilaix:0, namax:"None"}); DataNilai.data.siswa.push({nilaix:0, namax:"None"}); DataNilai.data.siswa.push({nilaix:0, namax:"None"}); DataNilai.data.siswa.push({nilaix:0, namax:"None"}); DataNilai.data.siswa.push({nilaix:0, namax:"None"}); DataNilai.data.siswa.push({nilaix:0, namax:"None"}); DataNilai.data.siswa.push({nilaix:0, namax:"None"}); DataNilai.data.siswa.push({nilaix:0, namax:"None"}); } DataNilai.data.siswa.push({nilaix:nilai, namax:name}); DataNilai.flush(); } kirim.onRelease = function() { simpanNilai(nilai, nama); gotoAndStop(43); }; //Tabel nilai stop(); tampil_nama = ""; tampil_nilai = ""; DataNilai = SharedObject.getLocal("masukkanskor");
DataNilai.data.siswa.sortOn("nilaix", Array.DESCENDING Array.NUMERIC); if (!DataNilai.data.siswa) { DataNilai.data.siswa = new Array(); DataNilai.data.siswa.push({nilaix:0, namax:"None"}); DataNilai.data.siswa.push({nilaix:0, namax:"None"}); DataNilai.data.siswa.push({nilaix:0, namax:"None"}); DataNilai.data.siswa.push({nilaix:0, namax:"None"}); DataNilai.data.siswa.push({nilaix:0, namax:"None"}); DataNilai.data.siswa.push({nilaix:0, namax:"None"}); DataNilai.data.siswa.push({nilaix:0, namax:"None"}); DataNilai.data.siswa.push({nilaix:0, namax:"None"});
|
DataNilai.data.siswa.sortOn("nilaix", Array.DESCENDING Array.NUMERIC); } for (i=0; i<8; i++) { tampil_nilai += DataNilai.data.siswa[i].nilaix+newline; } for (i=0; i<8; i++) { tampil_nama += DataNilai.data.siswa[i].namax+newline; } kembali.onRelease = function() { gotoAndStop(1); };
|
// Kembali awal stop(); kembali.onRelease = function() { gotoAndStop(40); };
Halaman admin Actionscript untuk frame admin sebagai berikut: //supaya tidak jalan kemana-mana stop(); //deklarasi XML var myXML:XML = new XML(); myXML.ignoreWhite = true; myXML.load("admin.xml"); myXML.onLoad = function(success) { if (success) { var nama = myXML.firstChild.childNodes[0].firstChild.toString(); var pasword = myXML.firstChild.childNodes[1].firstChild.toString();
cek.onRelease = function() { if (nama == username.text && pasword == passinput.text) { trace("betul"); admin = true; gotoAndStop(39); //masukkan apa yang diinginkan jika benar } else { trace("salah"); wrning.text="Pasword atau username Salah"; //masukkan apa yang diinginkan jika salah } }; } }; //tombol cancel cncl.onRelease = function() { gotoAndStop(1); } buka.onRelease=function() { fscommand("exec","soal.bat")
}
// soal.bat adalah nama file pemanggil file yang akan dibuka lewat flash ganti.onRelease=function() { fscommand("exec","admin.bat") } // soal.bat adalah nama file pemanggil file yang akan dibuka lewat flash out.onRelease = function () { admin = false; gotoAndStop(38); };
Halaman Game Actionscript untuk frame game sebagai berikut: //awal game setupgame() function setupgame() { bodypart0.gotoAndStop(1) direction = '' if (bodypartsy) { for (i=bodypartsy.length-1;i > 0; i--) { removeMovieClip(eval('bodypart'+i)) } } popup._visible = false bodypart._visible = false do { food._x = snakepit._x + Math.floor(((snakepit._widthfood._width)/food._width)*Math.random())*food._width food._y = snakepit._y + Math.floor(((snakepit._heightfood._height)/food._height)*Math.random())*food._height bodypart0._x = snakepit._x + Math.floor(((snakepit._widthfood._width)/food._width)*Math.random())*food._width bodypart0._y = snakepit._y + Math.floor(((snakepit._heightfood._height)/food._height)*Math.random())*food._height } while(bodypart0._x == food._x && bodypart0._y == food._y); framecount = 0; score = 0 game = true; bodypartsx = new Array(); bodypartsy = new Array(); bodypartsx.push(bodypart0._x) bodypartsy.push(bodypart0._y) } this.onEnterFrame = function () { if (game) {
if (framecount/5 == Math.ceil(framecount/5)) { if (!(bodypart0._y <= snakepit._y && direction == 'up') && !(bodypart0._y+bodypart0._height >= snakepit._y+snakepit._height-2 && direction=='down') && !(bodypart0._x+bodypart0._width >= snakepit._x+snakepit._width - 2 && direction =='right') && !(bodypart0._x <= snakepit._x && direction == 'left')) { bodypartsy[0] = bodypart0._y bodypartsx[0] = bodypart0._x for (i=bodypartsy.length-1;i > 0; i--) { eval('bodypart'+i)._y = bodypartsy[(i-1)] eval('bodypart'+i)._x = bodypartsx[(i-1)] bodypartsy[i] = eval('bodypart'+i)._y bodypartsx[i] = eval('bodypart'+i)._x } } if (food._x == bodypart0._x && food._y == bodypart0._y) { eat() } if (direction) { if (direction == 'up') { if (bodypart0._y <= snakepit._y) { dead() } else { bodypart0._y-= bodypart0._width } } else if (direction == 'down') { if (bodypart0._y+bodypart0._height >= snakepit._y+snakepit._height-2) { dead() } else { bodypart0._y+= bodypart0._width } } else if (direction == 'right') { if (bodypart0._x+bodypart0._width >= snakepit._x+snakepit._width - 2) { dead() } else { bodypart0._x+= bodypart0._width } } else if (direction == 'left') {
if (bodypart0._x <= snakepit._x) { dead() } else { bodypart0._x-= bodypart0._width } } } if (game) { if (insideSnake(bodypart0._x,bodypart0._y,true)) { dead() } } } framecount++ } } keyListener = new Object(); keyListener.onKeyDown = function () { keycode = Key.getCode() if (keycode == 37) { direction = 'left' } else if (keycode == 38) { direction = 'up' } else if (keycode == 39) { direction = 'right' } else if (keycode == 40) { direction = 'down' } }; Key.addListener(keyListener); function dead() { popup.score = 'score: '+(bodypartsx.length-1) popup.swapDepths(this.getNextHighestDepth()) popup._visible = true bodypart0.gotoAndStop(2) game = false; } function eat() { duplicateMovieClip(bodypart,'bodypart'+bodypartsy.length,this.getNextHi ghestDepth()) bodypart0.swapDepths(this.getNextHighestDepth()) eval('bodypart'+bodypartsy.length)._y = eval('bodypart'+(bodypartsy.length-1))._y
eval('bodypart'+bodypartsx.length)._x = eval('bodypart'+(bodypartsy.length-1))._x bodypartsy.push(eval('bodypart'+bodypartsy.length)._y) bodypartsx.push(eval('bodypart'+bodypartsx.length)._x) do { food._x = snakepit._x + Math.floor(((snakepit._widthfood._width)/food._width)*Math.random())*food._width food._y = snakepit._y + Math.floor(((snakepit._heightfood._height)/food._height)*Math.random())*food._height } while(insideSnake(food._x,food._y)); score = bodypartsx.length-1 } function insideSnake(xneedle, yneedle,skiphead) { if (skiphead) { startat = 1; } else { startat = 0; } for (q=startat; q
Halaman Video Actionscript untuk video game sebagai berikut:
// memuat file xml xmlData = new XML(); xmlData.ignoreWhite = true; xmlData.onLoad = loadXML; xmlData.load("videos.xml"); // memasukkan xml ke dalam array function loadXML(){ vidArray = new Array(); aNode = this.firstChild.childNodes; len = aNode.length; for(var n=0;n!=len;n++){ vidArray[n] = aNode[n].attributes.url; } }; // tombol pemanggil video video1_btn.onRelease = function(){ trace(vidArray[0]); // video yang di putar videoObj_1.contentPath = vidArray[0]; }; video2_btn.onRelease = function(){ trace(vidArray[1]); // video yang di putar videoObj_2.contentPath = vidArray[1]; }; video3_btn.onRelease = function(){ trace(vidArray[2]); // video yang di putar videoObj_3.contentPath = vidArray[2]; };