• Tidak ada hasil yang ditemukan

DAFTAR PUSTAKA. Sunyoto, A. (2010). Adobe Flash + XML = Rich Multimedia Application. Yogyakarta : Andi Offset.

N/A
N/A
Protected

Academic year: 2021

Membagikan "DAFTAR PUSTAKA. Sunyoto, A. (2010). Adobe Flash + XML = Rich Multimedia Application. Yogyakarta : Andi Offset."

Copied!
13
0
0

Teks penuh

(1)

80

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.

(2)

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.

(3)

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"); }

(4)

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(); }

};

(5)

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);

(6)

} 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");

(7)

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); };

(8)

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") }

(9)

// 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._width-food._width)/food._width)*Math.random())*food._width

food._y = snakepit._y + Math.floor(((snakepit._height-food._height)/food._height)*Math.random())*food._height

bodypart0._x = snakepit._x + Math.floor(((snakepit._width-food._width)/food._width)*Math.random())*food._width

bodypart0._y = snakepit._y + Math.floor(((snakepit._height-food._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) {

(10)

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 } }

(11)

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

(12)

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._width-food._width)/food._width)*Math.random())*food._width

food._y = snakepit._y + Math.floor(((snakepit._height-food._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<bodypartsx.length; q++) {

//each entry is compared to the required value if (bodypartsx[q] == xneedle) {

if (bodypartsy[q] == yneedle) {

//true is returned when found

return true;

}

}

}

//otherwise, false is returned return false;

}

popup.againbutton.onRelease = function() { setupgame()

(13)

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]; };

Referensi

Dokumen terkait

Peserta didik diberikan stimulus berupa pemberian materi oleh guru mengenai cara menyelesaikan operasi hitung (penjumlahan, pengurangan, perkalian, pembagian, pangkat, dan akar)

Pokja Pengadaan untuk Paket Pengadaan Jasa Angkutan Lebaran pada Dinas Perhubungan Kabupaten Wonogiri Tahun Anggaran 2017 Pokja ULP Pemerintah Kabupaten

Penulisan ini bertujuan memberikan informasi geografis yang interaktif dan menarik kepada pengguna mengenai pemetaan penyakit HIV/AIDS, dengan mengaplikasikan program Integrated

Surat undangan ini disamping dikirimkan melalui e-mail juga ditempatkan dalam pojok berita website LPSE Provinsi Jawa Tengah, oleh karenanya Panitia Pengadaan Pekerjaan

Berdasarkan Penetapan Pemenang Nomor : 09/PPBJ/Penetapan/RKB SMPN 15/DISDIK/IX/2012, tanggal 28 September 2012, Panitia Pengadaan Barang/Jasa Dinas Pendidikan Kota

[r]

Akses ke pendidikan Peningkatan kesadaran masyarakat Peningkatan kesadaran masyarakat Rumah yang layak, higienis dan aman Rumah yang layak, higienis dan aman. Akses ke pusat

Selain penelitian ini diarahkan untuk meneliti kebijakan penanggulangan judi dari sisi penegakan hukum, juga membahas kelemahan substantif dalam perundang- undangan yang