Code 1 - Untuk teks saja

Pertemuan#01 - Membuat sebuah soal himpunan untuk mencari banyak siswa yang gemar kedua ekstrakulikuler

  1. Bagian pendukung :
    1. Mendapatkan sebuah angka acak
function RandomAngkaAtoB(a,b){ var r = a+Math.ceil(Math.random() * b); return r; }
    1. Mengacak isi sebuah array
function RandomMyArray(Arr){ for (var i=0; i<Arr.length; i++){ var r = Math.floor(Math.random() * Arr.length); var a = Arr[i]; Arr[i] = Arr[r]; Arr[r] = a; } return Arr }
    1. Mendapatkan nomor urut jawaban benar
function NoJawabanBenar(Arr, jwb){ for (var i=0; i<Arr.length; i++){ if (Arr[i]==jwb){ return i; break; } } }
    1. Mendapatkan huruf jawaban
function GetABCD(no){ var ABCD = ["A","B","C","D"] return ABCD[no] }
    1. Mendapatkan nama ekskul acak
function NamaEkskul(){ var Ekskul = ["berenang", "sepakbola", "pencak silat", "komputer", "bola voli", "bola basket", "panahan", "pramuka", "catur", "menari", "PMR"]; Ekskul = RandomMyArray(Ekskul); return Ekskul; }
    1. Mendapatkan Data soal
function MyFungsi1(){ //1. Sekelompok siswa terdiri dari 25 orang. //Terdapat 14 orang gemar berenang, //15 orang gemar sepakbola, //dan yang tidak gemar keduanya 5 orang. //Banyak siswa yang gemar keduanya adalah ... var a0,a1,a2,a3,a4,a5; var arDari = ["≤","≥"]; arDari = RandomMyArray(arDari); do{ a0 = 25; a1 = RandomAngkaAtoB(10,6); a2 = RandomAngkaAtoB(10,6); a3 = RandomAngkaAtoB(2,9); a4 = (a1+a2)-(a0-a3); }while (a1==a2 || a4<3) var soal = a1+"x + "+a2+" "+arDari[0]+" "+a4; var benar = a4; var salah1 = a4+1; var salah2 = a4+2; var salah3 = a4+3; var salah4 = a4-1; var salah5 = a4-2; var salah6 = a4-3; var arrSalah = [salah1,salah2,salah3,salah4,salah5,salah6]; arrSalah = RandomMyArray(arrSalah); return [a0,a1,a2,a3,benar,arrSalah]; }
-------------------------------------------
  1. Bagian utama :
    1. Program Utama
function GetSoal1(){ const MyData = MyFungsi1(); //[a0,a1,a2,a3,benar,arrSalah]; var a0=MyData[0]; var a1=MyData[1]; var a2=MyData[2]; var a3=MyData[3]; var benar=MyData[4]; var arrSalah=MyData[5]; //1. Sekelompok siswa terdiri dari 25 orang. //Terdapat 14 orang gemar berenang, //15 orang gemar sepakbola, //dan yang tidak gemar keduanya 5 orang. //Banyak siswa yang gemar keduanya adalah ... var Ekskul = NamaEkskul(); var ss ss = "Sekelompok siswa terdiri dari "+a0+" orang. "; ss += "Terdapat "+a1+" orang gemar "+Ekskul[0]+", "; ss += ""+a2+" orang gemar "+Ekskul[1]+", "; ss += "dan yang tidak gemar keduanya "+a3+" orang. "; ss += "Banyak siswa yang gemar keduanya adalah ... "; var Ar = []; // jawaban Ar[0] = benar; Ar[1] = arrSalah[0]; Ar[2] = arrSalah[1]; Ar[3] = arrSalah[2]; var jawab = Ar[0]; Ar = RandomMyArray(Ar); var noBenar = NoJawabanBenar(Ar, jawab); var textSoal = ss+" <p>A. "+Ar[0]+"<br>B. "+Ar[1]+"<br>C. "+Ar[2]+"<br>D. "+Ar[3]+"</p>"; var ArFix = []; ArFix.push(textSoal); ArFix.push(GetABCD(noBenar)); return ArFix; }
    1. Mencetak soal
var ss ss = GetSoal1(); document.write("<p>"+ss[0]+"</p>"); document.write("Jawaban : "+ss[1]);
-------------------------------------------