SHARE
TWEET

Untitled

raptor74 Aug 21st, 2019 152 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import flash.events.MouseEvent;
  2.  
  3. stop();
  4.  
  5. //Musik
  6. musikManager.volume = 1;
  7. trace(musikPilihan);
  8. channel.soundTransform = musikManager;
  9. if(s == true && musikPilihan != "lama") {
  10.     musikPilihan = "lama";
  11.     channel = musik.play();
  12. }
  13. btnPetunjuk.addEventListener(MouseEvent.CLICK, menuPetunjuk);
  14. btnQuiz.addEventListener(MouseEvent.CLICK, menuQuiz);
  15. btnLatihan.addEventListener(MouseEvent.CLICK, menuLatihan);
  16. btnBelajar.addEventListener(MouseEvent.CLICK, menuBelajar);
  17. btnProfile.addEventListener(MouseEvent.CLICK, profil);
  18. btnTujuanBelajar.addEventListener(MouseEvent.CLICK, tujuanBelajar);
  19.  
  20. function menuPetunjuk(e:MouseEvent):void {
  21.     gotoAndStop("petunjuk");
  22. };
  23.  
  24. function menuQuiz(e:MouseEvent):void {
  25.     gotoAndStop("frameQuiz");
  26. };
  27.  
  28. function menuLatihan(e:MouseEvent):void {
  29.     //ganti musik
  30.     channel.stop();
  31.     musikPilihan = "baru";
  32.     if(s == true) {
  33.         channel = musikBaru.play();
  34.     }
  35.     gotoAndStop("latihan");
  36. };
  37.  
  38. function menuBelajar(e:MouseEvent):void {
  39.     gotoAndStop("pembelajaran");
  40. };
  41.  
  42. function profil(e:MouseEvent):void {
  43.     gotoAndStop("menuProfile");
  44. }
  45. function tujuanBelajar(e:MouseEvent):void {
  46.     gotoAndStop("tujuanPembelajaran");
  47. }
  48.  
  49. // EXIT SCRIPT - BEGIN
  50.  
  51. btnKeluar.addEventListener(MouseEvent.CLICK, keluar);
  52. function keluar(e:MouseEvent):void {
  53.     fscommand("quit");
  54. }
  55.  
  56. // EXIT SCRIPT - END
  57.  
  58. // SOUND SCRIPT - BEGIN
  59. rubahGambarSuara(s);
  60. btnSound.stop();
  61. btnSound.addEventListener(MouseEvent.CLICK, setSuara);
  62. function setSuara(e:MouseEvent):void {
  63.     if(s == false) {
  64.         // Suara HIDUP
  65.         s = true;
  66.         channel = musik.play();
  67.     } else {
  68.         // Suara MATI
  69.         s = false;
  70.         channel.stop();
  71.     }
  72.     rubahGambarSuara(s);
  73. }
  74.  
  75. function rubahGambarSuara(b:Boolean) {
  76.     if(b == true) {
  77.         btnSound.gotoAndStop("on");
  78.     } else {
  79.         btnSound.gotoAndStop("off");
  80.     }
  81. }
  82. // SOUND SCRIPT - END
  83.  
  84. // MAIN SCRIPT - BEGIN
  85. import flash.events.MouseEvent;
  86. import flash.utils.Timer;
  87. import flash.events.TimerEvent;
  88. import flash.text.TextFormat;
  89.  
  90. stop();
  91.  
  92. var nomor_soal:int = 1;
  93. var kumpulanSoal:Array;
  94. // Score
  95. var score:int = 0;
  96. var nomor_quiz:int;
  97.  
  98. // Mempersiapkan Paket Soal yang akan diberikan
  99. function persiapanSoal(nomor_quiz:int):void {
  100.     // Soal LATIHAN
  101.     if (nomor_quiz == 0) {
  102.         kumpulanSoal= [
  103.             // Nomor 1
  104.             ["Nilai tempat angka 3 pada lambang bilangan 135 adalah...", ["Puluhan", "Ratusan", "Satuan"], "A" ],
  105.             // Nomor 2
  106.             ["Diketahui nilai bilangan 83, maka nilai bilangan angka 3 adalah...", ["3", "30", "300"], "A" ],
  107.             // Nomor 3
  108.             ["Nilai tempat pada lambang bilangan 412 adalah...", ["4 ratusan + 1 satuan + 2 puluhan", "4 ratusan + 1 puluhan + 2 satuan", "4 ratusan + 1 ratusan + 2 satuan"], "B" ],
  109.             // Nomor 4
  110.             ["Diketahui suatu bilangan yang terbentuk oleh angka 1 menempati puluhan dan angka 1 menempati satuan, maka lambang bilangannya adalah...", ["11", "101", "1001"], "A" ],
  111.             // Nomor 5
  112.             ["Nilai bilangan 523, maka nilai bilangannya...", ["500 + 20 + 3 ", "500 + 2 + 3", "5 + 2 + 3"], "A" ]
  113.         ];
  114.     } else if (nomor_quiz == 1) {
  115.         kumpulanSoal= [
  116.             ["Nilai tempat angka 3 pada lambang bilangan 435 adalah ...", ["Puluhan", "Ratusan", "Satuan"], "A" ],
  117.             ["Diketahui lambang bilangan 62, maka nilai tempat angka 2 adalah ...", ["Ratusan", "Puluhan", "Satuan"], "C" ],
  118.             ["Nilai tempat angka 0 pada lambang bilangan 310 adalah ...", ["Satuan", "Puluhan", "Ratusan"], "A" ],
  119.             ["Diketahui lambang bilangan 750, maka nilai tempat angka 5 adalah ...", ["Satuan", "Puluhan", "Ratusan"], "B" ],
  120.             ["Nilai tempat bilangan angka 4 yang pertama pada lambang bilangan 44 adalah ..", ["Satuan", "Ratusan", "Puluhan"], "C" ],
  121.             ["Diketahui lambang bilangan 632, maka nilai tempat angka 6 adalah ...", ["Puluhan", "Satuan", "Ratusan"], "C" ],
  122.             ["Nilai tempat bilangan angka 1 yang terakhir pada lambang bilangan 111 adalah ...", ["Satuan", "Ratusan", "Puluhan"], "A" ],
  123.             ["Diketahui lambang bilangan 28, maka nilai tempat angka 2 adalah ...", ["Puluhan", "Ratusan", "Satuan"], "A" ],
  124.             ["Nilai tempat bilangan angka 7 yang pertama pada lambang bilangan 707 adalah ..", ["Satuan", "Ratusan", "Puluhan"], "B" ],
  125.             ["Diketahui lambang bilangan 285, maka nilai tempat angka 5 adalah ...", ["Satuan", "Ratusan", "Puluhan"], "A" ]
  126.         ];
  127.     } else if (nomor_quiz == 2) {
  128.         kumpulanSoal= [
  129.             ["Nilai bilangan angka 5 pada lambang bilangan 512 adalah ...", ["50", "500", "5"], "B" ],
  130.             ["Diketahui lambang bilangaan 231, maka nilai bilangan angka 1 adalah ...", ["10", "100", "1"], "C" ],
  131.             ["Nilai bilangan angka 8 yang terakhir pada lambang bilangan 88 adalah..", ["8", "80", "800"], "A" ],
  132.             ["Diketahui lambang bilangaan 925, maka nilai bilangan angka 2 adalah ...", ["20", "200", "2"], "A" ],
  133.             ["Nilai bilangan angka 4 pada lambang bilangan 45 adalah ...", ["40", "4", "400"], "A" ],
  134.             ["Diketahui lambang bilangan 444, maka nilai bilangan angka 4 yang pertama adalah ..", ["40", "400", "4"], "B" ],
  135.             ["Nilai bilangan angka 2 pada lambang bilangan 372 adalah ...", ["20", "2", "200"], "B" ],
  136.             ["Diketahui lambang bilangan 27, maka nilai bilangan angka 2 adalah ...", ["20", "200", "2"], "A" ],
  137.             ["Nilai bilangan angka 0 pada lambang bilangan 250 adalah ...", ["0", "0 Ratusan", "0 Puluhan"], "A" ],
  138.             ["Diketahui lambang bilangan 403, maka nilai bilangan angka 4 adalah ...", ["40", "4", "400"], "C" ]
  139.         ];
  140.     } else if (nomor_quiz == 3) {
  141.         kumpulanSoal= [
  142.             // Nomor 1
  143.             ["Nilai tempat pada lambang bilangan 642 adalah...", ["6 ratusan + 4 puluhan + 2 satuan", "6 ratusan + 4 ratusan + 2 satuan", "6 ratusan + 4 satuan + 2 puluhan"], "A" ],
  144.             // Nomor 2
  145.             ["Diketahui lambang bilangan 196, maka nilai tempatnya adalah...", ["1 ratusan + 9 ratusan + 6 satuan", "1 ratusan + 9 puluhan + 6 satuan", "1 ratusan + 9 satuan + 6 puluhan"], "B" ],
  146.             // Nomor 3
  147.             ["Nilai tempat pada lambang bilangan 77 adalah...", ["7 ratusan + 7 puluhan", "7 puluhan + 7 puluhan", "7 puluhan + 7 satuan"], "C" ],
  148.             // Nomor 4
  149.             ["Diketahui lambang bilangan 275, maka nilai tempatnya adalah...", ["2 ratusan + 7 ratusan + 5 satuan", "2 ratusan + 7 puluhan + 5 satuan", "2 ratusan + 7 satuan + 5 puluhan"], "B" ],
  150.             // Nomor 5
  151.             ["Nilai tempat pada lambang bilangan 48 adalah...", ["4 puluhan + 8 satuan", "4 puluhan + 8 puluhan", "4 ratusan+ 8 satuan"], "A" ],
  152.             // Nomor 6
  153.             ["Diketahui lambang bilangan 555, maka nilai tempatnya adalah...", ["5 ratusan + 5 ratusan + 5 satuan", "5 ratusan + 5 satuan + 5 puluhan", "5 ratusan + 5 puluhan + 5 satuan"], "C" ],
  154.             // Nomor 7
  155.             ["Nilai tempat pada lambang bilangan 369 adalah...", ["3 satuan + 6 puluhan + 9 satuan", "3 ratusan + 69 puluhan", "3 ratusan + 6 puluhan + 9 satuan"], "C" ],
  156.             // Nomor 8
  157.             ["Diketahui lambang bilangan 18, maka nilai tempatnya adalah...", ["1 puluhan + 8 satuan", "1 puluhan + 8 puluhan", "1 ratusan+ 8 satuan"], "A" ],
  158.             // Nomor 9
  159.             ["Nilai tempat pada lambang bilangan 650 adalah...", ["6 ratusan + 50 puluhan", "6 ratusan + 5 puluhan + 0 satuan", "6 satuan + 5 puluhan + 0 satuan"], "B" ],
  160.             // Nomor 10
  161.             ["Diketahui lambang bilangan 302, maka nilai tempatnya adalah...", ["3 ratusan + 0 puluhan + 2 satuan", "3 ratusan + 0 ratusan + 2 satuan", "3 ratusan + 0 satuan + 2 puluhan"], "A" ]
  162.         ];
  163.     } else if (nomor_quiz == 4) {
  164.         kumpulanSoal= [
  165.             // Nomor 1
  166.             ["Nilai bilangan pada lambang bilangan 296 adalah...", ["200 + 9 + 6", "200 + 90 + 6", "2 + 9 + 6"], "B" ],
  167.             // Nomor 2
  168.             ["Diketahui lambang bilangan 154, maka nilai bilangannya adalah...", ["100 + 50 + 4", "10 + 5 + 4", "1 + 5 + 4"], "A" ],
  169.             // Nomor 3
  170.             ["Nilai bilangan pada lambang bilangan 22 adalah...", ["2 + 2", "20 + 2", "200 + 2"], "B" ],
  171.             // Nomor 4
  172.             ["Diketahui lambang bilangan 916, maka nilai bilangannya adalah...", ["900 + 10 + 6", "90 + 1 + 6", "9 + 1 + 6"], "A" ],
  173.             // Nomor 5
  174.             ["Nilai bilangan pada lambang bilangan 23 adalah...", ["2 + 3", "200 + 3", "20 + 3"], "C" ],
  175.             // Nomor 6
  176.             ["Diketahui lambang bilangan 111, maka nilai bilangannya adalah...", ["100 + 10 + 1", "10 + 1 + 1", "1 + 1 + 1"], "A" ],
  177.             // Nomor 7
  178.             ["Nilai bilangan pada lambang bilangan 354 adalah...", ["3 + 5 + 4", "300 + 5 + 4", "300 + 50 + 4"], "C" ],
  179.             // Nomor 8
  180.             ["Diketahui lambang bilangan 47, maka nilai bilanganya adalah...", ["40 + 7", "400 + 7", "4 + 7"], "A" ],
  181.             // Nomor 9
  182.             ["Nilai bilangan pada lambang bilangan 280 adalah...", ["2 + 8 + 0", "20 + 8 + 0", "200 + 80 + 0"], "C" ],
  183.             // Nomor 10
  184.             ["Diketahui lambang bilangan 403, maka nilai bilangannya adalah...", ["400 + 0 + 3", "40 + 0 + 3", "4 + 0 + 3"], "A" ]
  185.         ];
  186.     } else if (nomor_quiz == 5) {
  187.         kumpulanSoal= [
  188.             // Nomor 1
  189.             ["Suatu bilangan yang terbentuk oleh angka 7 menempati ratusan, angka 8 menempati puluhan, dan angka 2 menempati satuan, maka lambang bilangannya adalah...", ["782", "287", "70082"], "A" ],
  190.             // Nomor 2
  191.             ["Diketahui suatu bilangan yang terbentuk oleh angka 3 menempati ratusan, angka 3 menempati puluhan, dan angka 1 menempati satuan, maka lambang bilangannya adalah...", ["133", "331", "313"], "B" ],
  192.             // Nomor 3
  193.             ["Suatu bilangan yang terbentuk oleh angka 1 menempati puluhan dan angka 1 menempati satuan, maka lambang bilangannya adalah...", ["111", "101", "11"], "C" ],
  194.             // Nomor 4
  195.             ["Diketahui suatu bilangan yang terbentuk oleh angka 5 menempati ratusan, angka 2 menempati puluhan, dan angka 7 menempati satuan, maka lambang bilangannya adalah...", ["527", "725", "50025"], "A" ],
  196.             // Nomor 5
  197.             ["Suatu bilangan yang terbentuk oleh angka 7 menempati satuan dan angka 6 menempati puluhan, maka lambang bilangannya adalah...", ["76", "67", "607"], "B" ],
  198.             // Nomor 6
  199.             ["Diketahui suatu bilangan yang terbentuk oleh angka 4 menempati ratusan, angka 8 menempati puluhan, dan angka 6 menempati satuan, maka lambang bilangannya adalah...", ["486", "684", "846"], "A" ],
  200.             // Nomor 7
  201.             ["Suatu bilangan yang terbentuk oleh angka 8 menempati puluhan, angka 2 menempati ratusan, dan angka 1 menempati satuan, maka lambang bilangannya adalah...", ["821", "128", "281"], "C" ],
  202.             // Nomor 8
  203.             ["Diketahui suatu bilangan yang terbentuk oleh angka 1 menempati puluhan dan angka 5 menempati satuan, maka lambang bilangannya adalah...", ["15", "51", "105"], "A" ],
  204.             // Nomor 9
  205.             ["Suatu bilangan yang terbentuk oleh angka 1 menempati ratusan, angka 9 menempati puluhan, dan angka 0 menempati satuan, maka lambang bilangannya adalah...", ["109", "190", "10090"], "B" ],
  206.             // Nomor 10
  207.             ["Diketahui  suatu bilangan yang terbentuk oleh angka 6 menempati ratusan, angka 0 menempati puluhan, dan angka 8 menempati satuan, maka lambang bilangannya adalah...", ["608", "680", "6008"], "A" ]
  208.         ];
  209.     }
  210. }
  211. var klik:int = 0;   // BUG FIX
  212. // Menyiapkan Quiz
  213. function setupQuiz(nomor_quiz:int):void {
  214.     tanda.visible = false;
  215.     tombolNext.visible = false;
  216.     persiapanSoal(nomor_quiz);
  217.     setButton();
  218.     setSoal();
  219.     setJawaban();
  220.     if(nomor_quiz != 0) {
  221.         setTimer();
  222.     }
  223. }
  224.  
  225. function setButton():void {
  226.     jawabanA.buttonMode = true;
  227.     jawabanB.buttonMode = true;
  228.     jawabanC.buttonMode = true;
  229.    
  230.     jawabanA.pilA.enabled = true;
  231.     jawabanB.pilB.enabled = true;
  232.     jawabanC.pilC.enabled = true;
  233.    
  234.     // Setting Tombol Jawaban
  235.     if(klik < 1) {
  236.         // BUG FIX
  237.         klik += 1;
  238.         jawabanA.pilA.addEventListener(MouseEvent.CLICK, cekJawaban);
  239.         jawabanB.pilB.addEventListener(MouseEvent.CLICK, cekJawaban);
  240.         jawabanC.pilC.addEventListener(MouseEvent.CLICK, cekJawaban);
  241.     }
  242.    
  243.     // Setting Tombol Next
  244.     tombolNext.addEventListener(MouseEvent.CLICK, lanjutQuiz);
  245. }
  246. var jawabBenar:int = 0, jawabSalah:int = 0;
  247.  
  248. function cekJawaban(e:MouseEvent):void {
  249.     // Mengunci Jawaban agar tidak dapat diubah lagi
  250.     kunciJawaban();
  251.     // Cek Jawaban
  252.     var jawaban:String = e.target.name.charAt(e.target.name.length-1);
  253.     trace(kumpulanSoal[nomor_soal-1][2]);
  254.     trace(jawaban);
  255.     if(jawaban == kumpulanSoal[nomor_soal-1][2]) {
  256.         // Jika Jawaban Benar
  257.         jawabBenar += 1;
  258.         tanda.visible = true;
  259.         tanda.gotoAndStop("benar");
  260.         tanda.benar.play();
  261.         score += ((1/kumpulanSoal.length) * 100 );
  262.     } else {
  263.         // Jika Jawaban Salah
  264.         jawabSalah += 1;
  265.         tanda.visible = true;
  266.         tanda.gotoAndStop("salah");
  267.         tanda.salah.play();
  268.     }
  269.     // Tampilkan Tanda Benar atau Salah
  270.     tanda.visible = true;
  271.     // Tampilkan Tombol Next
  272.     tombolNext.visible = true;
  273.     if(timer != null) {
  274.         timer.stop();
  275.     }
  276. }
  277.  
  278. function kunciJawaban():void {
  279.     // Menon-aktifkan Event Button Pilihan
  280.     jawabanA.pilA.removeEventListener(MouseEvent.CLICK, cekJawaban);
  281.     jawabanB.pilB.removeEventListener(MouseEvent.CLICK, cekJawaban);
  282.     jawabanC.pilC.removeEventListener(MouseEvent.CLICK, cekJawaban);
  283.    
  284.     // Menon-aktifkan Button Pilihan
  285.     jawabanA.pilA.enabled = false;
  286.     jawabanB.pilB.enabled = false;
  287.     jawabanC.pilC.enabled = false;
  288. }
  289.  
  290. function lanjutQuiz(e:MouseEvent):void {
  291.     // BUG FIX
  292.     klik = 0;
  293.     // Nomor Selanjutnya
  294.     nomor_soal++;
  295.     // Jika Soal sudah Habis
  296.     if( nomor_soal > kumpulanSoal.length ) {
  297.         trace("Soal Habis");
  298.         // Kembali ke Menu Quiz
  299.         //if( nomor_quiz == 0 ) {
  300.         //  channel.stop();
  301.         //  gotoAndStop(2);
  302.         //} else {
  303.         //  gotoAndStop(3);
  304.         //}
  305.         gotoAndStop("hasil_score");
  306.     } else {
  307.         if( nomor_quiz != 0 ) {
  308.             tampilWaktu.text = "";
  309.         }
  310.         setupQuiz(nomor_quiz);
  311.     }
  312. }
  313.  
  314. // Untuk Penebalan Teks
  315. var mulaiTebal:int = 0;
  316. var akhirTebal:int = 0;
  317. var tempTebal:String = "";
  318.  
  319. // Setting Soal
  320. function setSoal():void {
  321.     soal.nomor.text = String(nomor_soal);
  322.     var pertanyaan:String = kumpulanSoal[nomor_soal-1][0];
  323.     soal.teks.text = pertanyaan;
  324.     /*
  325.     var boldText:TextFormat = new TextFormat();
  326.     boldText.bold = true;
  327.     mulaiTebal = pertanyaan.indexOf("<b>");
  328.     akhirTebal = pertanyaan.indexOf("</b>");
  329.     trace(mulaiTebal);
  330.     trace(akhirTebal);
  331.     if(mulaiTebal == 0) {
  332.         for (var i:int = mulaiTebal; i <= akhirTebal ;i++) {
  333.             tempTebal = tempTebal.concat(pertanyaan[i]);
  334.         }
  335.     }
  336.     */
  337. }
  338.  
  339. // Setting Jawaban
  340. function setJawaban():void {
  341.     jawabanA.teks.text = kumpulanSoal[nomor_soal-1][1][0];
  342.     jawabanB.teks.text = kumpulanSoal[nomor_soal-1][1][1];
  343.     jawabanC.teks.text = kumpulanSoal[nomor_soal-1][1][2];
  344. }
  345.  
  346. // TIMER UNTUK SOAL
  347. var timer:Timer;
  348. // Batas Waktu Pengerjaan tiap soal
  349. var waktu:Number = 60;
  350.  
  351. function setTimer():void {
  352.     timer = new Timer(1000, waktu);
  353.     timer.addEventListener(TimerEvent.TIMER, hitungWaktu);
  354.     timer.addEventListener(TimerEvent.TIMER_COMPLETE, waktuHabis);
  355.     timer.start();
  356. }
  357.  
  358. function hitungWaktu(e:TimerEvent):void {
  359.     tampilWaktu.text = String(waktu - int(timer.currentCount));
  360.     if(int(tampilWaktu.text) == 0) {
  361.         waktuHabis(e);
  362.         trace("Waktu Habis");
  363.     }
  364. }
  365.  
  366. function waktuHabis(e:TimerEvent):void {
  367.     timer.stop();
  368.     // Mengunci Jawaban
  369.     kunciJawaban();
  370.     tanda.visible = true;
  371.     tanda.gotoAndStop("salah");
  372.     tanda.salah.play();
  373.     tombolNext.visible = true;
  374.  
  375. }
  376. // MAIN SCRIPT - END
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Not a member of Pastebin yet?
Sign Up, it unlocks many cool features!
 
Top