Pertemuan#01 - Membuat sebuah soal himpunan untuk mencari banyak siswa yang gemar kedua ekstrakulikuler
- Bagian pendukung :
- Mendapatkan sebuah angka acak
function RandomAngkaAtoB(a,b){
var r = a+Math.ceil(Math.random() * b);
return r;
}
- 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
}
- Mendapatkan nomor urut jawaban benar
function NoJawabanBenar(Arr, jwb){
for (var i=0; i<Arr.length; i++){
if (Arr[i]==jwb){
return i;
break;
}
}
}
- Mendapatkan huruf jawaban
function GetABCD(no){
var ABCD = ["A","B","C","D"]
return ABCD[no]
}
- 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;
}
- 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];
}
-------------------------------------------
- Bagian utama :
- 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;
}
- Mencetak soal
var ss
ss = GetSoal1();
document.write("<p>"+ss[0]+"</p>");
document.write("Jawaban : "+ss[1]);
-------------------------------------------