8.1 Aplikasi Kuis Menggunakan Adobe Flash

Pada kesempatan kali ini PANDUANBS akan membagikan mengenai project latihan saya belajar menggunakan flash. Ini adalah lanjutan dari project-project sebelumnya. project latihan ini merupakann bagian dari tutorial di buku “Desain Pemograman Multimedia Pembelajaran Interaktif ” yang ditulis oleh Wandah Wibawanto, S.Sn., M.Ds dosen mata kuliah Multimedia Interaktif di Universitas Negeri Semarang.

Preview Aplikasi Kuis

Berikut adalah preview dari project Aplikasi kuis yang saya buat menggunakan adobe flash CS6.

https://updown.panduanbs.com/files/aplikasi%20kuis.swf

Yang Harus Disiapkan

Bagi sobat yang ingin membuat aplikasi kuis, sepetri contoh diatas. alangkah baiknya dapat terlebih dahulu mempersiapkan beberapa tool berikut ini. diantaranya:

  • Adobe Flash (Cs5, CS6, CC, atau seri terbarunya)
  • Komputer/Laptop (dapat milik sendiri atau pinjam)
  • SDM Manusianya Wkwk

Cara Membuat Aplikasi Kuis

Cara membuatnya cukup mudah. Seperti biasa silahkan buka terlebih dahulu buku panduan yang telah disediakan dibawah ini.

Kemudian silahkan buka pada BAB X Aplikasi Kuis halaman 147 atau jika ada search di navbar tulis saja 164. Silahkan lihat gambar dibawah ini.

Screenshot Bab X Aplikasi Kuis

Setelah mengikuti semua hingga masuk pada script. Sobat PANDUANBS dapat copy lalu pastekan pada layer 2 frame 1.

Code Script

var nilai: Number = 0;
var no_soal: Number = 0;
var max_soal: Number = 10;
var hasil: hasil_mc;
// struktur soal [0]= Soal [1-4]= jawaban, Jawaban benar diletakkan no 1
var soal: Array = [
    ["Siapakah penemu mesin uap ?", "James Watt", "Davinci", "Issac Newton", "James bond"],
    ["Akar dari 676 adalah ?", "26", "24", "16", "34"],
    ["Bagian tumbuhan yang berperan penting dalam fotosintesis adalah ?", "Klorofil", "Kambium", "Epidermis", "Kromatin"],
    ["Penulis trilogi Lord of The Ring adalah?", "JRR Tolkien", "JK Rowling", "J Cameron", "J Thomas"],
    ["Jumlah seluruh sudut segitiga siku-siku adalah ?", "180", "270", "90", "360"],
    ["Provinsi termuda di Indonesia adalah ? ", "Banten", "Bangka belitung", "Batam", "Gorontalo"],
    ["Hukum gravitasi ditemukan oleh ? ", "Issac Newton", "Einstein", "T. A. Edison", "Kopernicus"],
    ["(sin 30) x 8 + (sin 90) = ? ", "5", "8", "0", "1"],
    ["Penemu arus listrik bolak balik adalah ?", "Nicola Tesla", "T. Alpha Edison", "James Watt", "A. Graham bell"],
    ["Komponen elektronik yang mengubah arus bolak-balik menjadi searah adalah? ", "Diode", "Transistor", "Resistor", "Trafo"],
    ["Planet ke 5 dari Matahari adalah?", "Yupiter", "Mars", "Uranus", "Saturnus"],
    ["Dinosaurus terbesar dalam film Jurrasic World adalah?", "Mousaurus", "Indominus Rex", "Tyranosaurus", "Spinosaurus"],
    ["Gedung tertinggi di dunia sampai dengan 2015 adalah?", "Burj Al Khaifa", "Burj Dubai", "Beijing Tower", "Petronas"],
    ["Pesawat komersial dengan kapasitas terbesar di dunia adalah?", "Airbus 380", "Boeing 777", "Beluga", "Antonov"],
    ["Juara Dunia MotoGP 2014 adalah?", "Mark Marquez", "Jorge Lorenzo", "Valentino Rossi", "Dani Pedrosa"]
];

var temp_soal: Array;
var temp_jawaban: Array;
function acak_soal(): void {
    //mengacak soal
    temp_soal = soal.slice(0, soal.length);
    for (var i: Number = 0; i < soal.length; i++) {
        var acak: Number = Math.floor(Math.random() * soal.length);
        var temp: Array = temp_soal[acak];
        temp_soal[acak] = temp_soal[i];
        temp_soal[i] = temp;
    }
}
function restart(): void {
    //restart kuis, semua variabel reset
    acak_soal();
    nilai = 0;
    no_soal = 0;
    max_soal = 10;
    score_txt.text = "0";
    restart_btn.visible = false;
}

function tampilkan_soal(): void {
    //tampilkan soal
    soal_txt.text = temp_soal[no_soal][0];
    //acak jawaban
    temp_jawaban = temp_soal[no_soal].slice(1, 5);
    for (var i: Number = 0; i < temp_jawaban.length; i++) {
        var acak: Number = Math.floor(Math.random() * temp_jawaban.length);
        var temp: String = temp_jawaban[acak];
        temp_jawaban[acak] = temp_jawaban[i];
        temp_jawaban[i] = temp;
    }
    //tampilkan jawaban
    jawaban_1.jawaban_txt.text = temp_jawaban[0];
    jawaban_2.jawaban_txt.text = temp_jawaban[1];
    jawaban_3.jawaban_txt.text = temp_jawaban[2];
    jawaban_4.jawaban_txt.text = temp_jawaban[3];
}

function setup_awal(): void {
    restart();
    66. tampilkan_soal();
    //mengatur jawaban
    jawaban_1.stop();
    jawaban_2.stop();
    jawaban_3.stop();
    jawaban_4.stop();
    jawaban_1.addEventListener(MouseEvent.CLICK, cek_jawaban);
    jawaban_2.addEventListener(MouseEvent.CLICK, cek_jawaban);
    jawaban_3.addEventListener(MouseEvent.CLICK, cek_jawaban);
    jawaban_4.addEventListener(MouseEvent.CLICK, cek_jawaban);
    //listener untuk efek tombol
    jawaban_1.addEventListener(MouseEvent.MOUSE_OVER, mouse_over);
    jawaban_2.addEventListener(MouseEvent.MOUSE_OVER, mouse_over);
    jawaban_3.addEventListener(MouseEvent.MOUSE_OVER, mouse_over);
    jawaban_4.addEventListener(MouseEvent.MOUSE_OVER, mouse_over);
    //mouse out
    jawaban_1.addEventListener(MouseEvent.MOUSE_OUT, mouse_out);
    jawaban_2.addEventListener(MouseEvent.MOUSE_OUT, mouse_out);
    jawaban_3.addEventListener(MouseEvent.MOUSE_OUT, mouse_out);
    jawaban_4.addEventListener(MouseEvent.MOUSE_OUT, mouse_out);
    //tombol restart
    restart_btn.addEventListener(MouseEvent.CLICK, ulangi);
}
function mouse_over(e: MouseEvent): void {
    e.currentTarget.gotoAndStop(2);
}

function mouse_out(e: MouseEvent): void {
    e.currentTarget.gotoAndStop(1);
}

function cek_jawaban(e: MouseEvent): void {
    var no_jawaban: Number = Number(e.currentTarget.name.substr(8)) - 1;
    if (temp_jawaban[no_jawaban] == temp_soal[no_soal][1]) {
        //jawaban benar
        tampilkan_hasil(1);
        nilai += 10;
        score_txt.text = String(nilai);
    } else {
        //jawaban salah
        tampilkan_hasil(2);
    }
}

function tampilkan_hasil(tp: Number): void {
    hasil = new hasil_mc();
    hasil.x = 400;
    hasil.y = 275;
    hasil.gotoAndStop(tp);
    hasil.scaleX = 0.2;
    hasil.scaleY = 0.2;
    hasil.waktu = 0;
    hasil.tp = tp;
    hasil.addEventListener(Event.ENTER_FRAME, gerak_hasil);
    addChild(hasil);
}

function gerak_hasil(e: Event): void {
    var ob: Object = e.currentTarget;
    if (ob.scaleX < 1) {
        ob.scaleX += 0.1;
        ob.scaleY += 0.1;
    }
    if (ob.waktu > -1 && ob.tp < 3) {
        ob.waktu++;
        if (ob.waktu > 60) {
            ob.waktu = -1;
            //tambah no soal
            no_soal++;
            ob.removeEventListener(Event.ENTER_FRAME, gerak_hasil);
            removeChild(DisplayObject(ob));
            if (no_soal < max_soal) {
                tampilkan_soal();
            } else {
                tampilkan_hasil(3);
                restart_btn.visible = true;
            }
        }
    }
}
function ulangi(e: MouseEvent): void {
    hasil.removeEventListener(Event.ENTER_FRAME, gerak_hasil);
    removeChild(DisplayObject(hasil));
    restart();
    tampilkan_soal();
}
setup_awal();

Naah bagaimana? sangat mudah bukan. Tunggu project-project selanjutnya. 🙂

Baca Juga  [Open Source] Cara Menampilkan Layar Hp ke Laptop dengan USB

Oh iya jika kalian masih bingung silahkan bisa download file yang sudah saya buat. kalau mau dipakai jangan lupa di edit-edit sedikit. intinya jangan sama persih hehe 😀

Terima kasih telah mengunjungi dam membaca artikel 8.1 Aplikasi Kuis Pengajaran Berbantuan Komputer (PBK). Semoga artikel ini dapat membantu sobat PANDUANBS. Tunggu update artikel selanjutnya.

Leave a Reply

Your email address will not be published. Required fields are marked *