Advertisement
raptor74

Untitled

Aug 21st, 2019
2,781
0
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
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement