Halaman

Sabtu, 09 Agustus 2025

Mengambil anggota yang sama alias irisan - javascript

 Jika ada dua array mempunyai beberapa anggota yang sama, maka untuk mengambil beberapa anggota yang sama tersebut bisa menggunakan fungsi ini :

function irisan(arrA,arrB){

var arr = [];

for(var i=0;i<arrA.length;i++){

for(var j=0;j<arrB.length;j++){

if(arrA[i]==arrB[j]){

arr.push(arrA[i]);

}

}

}

return arr;

}


Saya gunakan dalam mencari irisan dari dua buah himpunan seperti di nomor 6 di soal ini : https://soulmathonline.blogspot.com/2025/05/soal-himpunan-1-15.html

Semoga bermanfaat

Menggabungkan dua array, diurutkan, dan delete anggota yang sama - javascript

Fungsi di bawah ini adalah untuk menggabungkan dua buah array yang berbeda, di urutkan dari terkecil ke terbesar, dan jika ada anggota yang sama maka akan di delete salah satunya.

function gabungan(arrA,arrB){

var arr = arrA.concat(arrB);

arr.sort(function(a, b){return a-b});

var fixArr = [];

var cek=arr[0];

fixArr.push(arr[0]);

for(var i=1;i<arr.length;i++){

if(arr[i]!==cek){

fixArr.push(arr[i]);

cek=arr[i];

}

}

return fixArr;

}


Penggunaannya ada di soal nomor 5 di kumpulan soal himpunan https://soulmathonline.blogspot.com/2025/05/soal-himpunan-1-15.html

Semoga bermanfaat

Mods(a,b) - Sisa pembagian a oleh b - javascript

Berikut adalah cara mencari sisa pembagian a oleh b dengan menggunakan bahasa pemrograman javascript. Saya gunakan untuk mencari bilangan ganjil, yaitu a adalah bilangan ganjil jika mods(a,2) == 1. Contoh penggunaan dalam soal matematika bisa di lihat soal himpunan di https://soulmathonline.blogspot.com/2025/05/soal-himpunan-1-15.html untuk nomor 2.

function Mods(m,n){

var m0 = m;
var m0b = m0;
var ct = 0;
do{
m0b = m0;
m0-=n;
ct++;
}while(m0>=0);
var sisa = Math.abs(m0b);
return sisa;

}


Silahkan komentar jika punya ide lain dari bentuk di atas ya ..

Terimakasih dan semoga bermanfaat

Rabu, 19 Maret 2025

Javascript - random tempat jawaban ABCD

function RandomMyArray(Arr){

/* ---- RANDOM isi Array ---- */

/* Global */

for (i=0; i<Arr.length; i++){

r = Math.floor(Math.random() * Arr.length);

a = Arr[i];

Arr[i] = Arr[r];

Arr[r] = a;

}

return Arr

}

function NoJawabanBenar(Arr, jwb){

for (i=0; i<Arr.length; i++){

if (Arr[i]==jwb){

return i;

break;

}

}

}

function GetABCD(no){

var ABCD = ["A","B","C","D"]

return ABCD[no]

}


function GetSoal1(){

var ss, Ar, jawab, noBenar, textSoal, textJawab, ArFix;

ss = "Bilangan p dan q bilangan cacah dan p + q = p, maka ... </p>";

Ar = [];

Ar.push("p unsur identitas penjumlahan");

Ar.push("p unsur identitas perkalian");

Ar.push("q unsur identitas penjumlahan");

Ar.push("q unsur identitas perkalian");

jawab = Ar[2];


Ar=RandomMyArray(Ar);


noBenar = NoJawabanBenar(Ar, jawab);

textSoal = ss+" <p>A. "+Ar[0]+" <br>B. "+Ar[1]+" <br>C. "+Ar[2]+" <br>D. "+Ar[3]+"</p>";

textJawab = jawab+"</p>";


ArFix = []

ArFix.push(textSoal);

ArFix.push(textJawab);

//ArFix.push(noBenar);

ArFix.push(GetABCD(noBenar));

//console.log(ArFix);

return ArFix

}


var ss;

var ss = GetSoal1();

document.write("<p>"+ss[0]+"</p>");

document.write("Jawaban : "+ss[2]);




Untuk melihat hasil : https://galihwidosamodra.blogspot.com/2025/03/soal-random-abcd-01-identitas-operasi.html << Refresh link untuk random ABCD

Coba html dan javascript

Soal Random Jawaban

Selasa, 18 Maret 2025

Python - membuat soal SPLDV - beserta jawaban

 import random

a1 = 1

a2 = 2

b1 = 1

b2 = 2


def rdmKoef():

    return random.randint(1, 5)


def rdmSoal():

    return random.randint(1, 10)


while a1/a2== b1/b2 :

    x = rdmSoal()

    y = rdmSoal()

    a1 = rdmKoef()

    b1 = rdmKoef()

    a2 = rdmKoef()

    b2 = rdmKoef()


    c1 = a1*x + b1*y

    c2 = a2*x + b2*y


if a1==1: strA1 = "x"

else: strA1 = str(a1)+"x"

if b1==1: strB1 = "y"

else: strB1 = str(b1)+"y"

if a2==1: strA2 = "x"

else: strA2 = str(a2)+"x"

if b2==1: strB2 = "y"

else: strB2 = str(b2)+"y"


pers1 = strA1+" + "+strB1+" = "+str(c1)

pers2 = strA2+" + "+strB2+" = "+str(c2)

jawab = "x = "+str(x)+" dan y = "+str(y)


print(pers1)

print(pers2)

print(jawab)







Python - KPK beberapa angka

 def get_kpk(a,b): 

 m=a

 n=b

 p = m%n

 if p == 0: 

  return a

 elif m<n :

  m=b

  n=a

  return get_kpk(m,n)

 else :

  while m%n != 0 :

   m+=a

  return get_kpk(m,n)


def Long_get_kpk(*arr):

 a = get_kpk(arr[0],arr[1])

 for i in range(len(arr)-2):

  a = get_kpk(a,arr[i+2])

 return a


kpk = Long_get_kpk(2,3,9)

print(kpk)