Halaman

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

Bilangan p dan q bilangan cacah dan p + q = p, maka ...

A. p unsur identitas perkalian
B. p unsur identitas penjumlahan
C. q unsur identitas perkalian
D. q unsur identitas penjumlahan

Jawaban : D

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)




Python - FPB beberapa angka

 def findFPB(a,b):

    if b==0:

        return a

    else :

        return findFPB(b, a%b)

  

def Long_get_FPB(*arr):

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

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

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

 return a

 

 

FPB = Long_get_FPB(16,48,8,144)

print ("FPB = " ,FPB)

FPB = Long_get_FPB(1,15,20,40,35)

print ("FPB = " ,FPB)




Senin, 17 Maret 2025

Python - Statistik - Mean, Median, Modus - data tunggal

import random


#random data -------------------------------

mydata = [[10,1],[20,1],[30,1],[40,1],[50,1],[60,1],[70,1],[80,1],[90,1],[100,1]]

frek = [1,2,3,4,5,5,6,7,8,9]

nn = len(frek)


def acakfrek(_frek):

    nn = int(len(_frek))

    for i in range(nn):

        m = random.randint(0, nn-1)

        n = random.randint(0, nn-1)

        temp = _frek[m]

        _frek[m] = _frek[n]

        _frek[n] = temp

    return _frek  

frek = acakfrek(frek)


#mengisi data khusus frekuensi

def isiDataf(_data, _frek):

    _mydata = _data

    for i in range(nn):

        _mydata[i][1] = frek[i]



#mencari total frekuensi

def totf(arr):

    totalf = 0

    for i in range(len(arr)):

        totalf += arr[i]

    return totalf

    


#mean ------------------------------------

def meanf(arr,totf):

    totnil = 0

    for i in range(len(arr)):

        totnil += arr[i][0]*arr[i][1]

    _mean = totnil/totf 

    return _mean



#median ----------------------------------

def fkumulatif(arr):

    ffk = []

    for i in range(len(arr)):

        tfk = 0

        for j in range(i+1):

            tfk+=arr[j]

        ffk.append(tfk)

    return ffk


def medianf(arrdata,totf):

    a1 = 0

    a2 = 0

    cektotal = totf%2

    if cektotal==0 :

        #ada2

        a1 = int(totf/2)

        a2 = a1+1 

    else :

        #ada1

        a1 = int((totf+1)/2)

        a2 = a1

    med1=0

    med2=0

    i=0

    while a1>fk[i] :

        i+=1

    med1 = i

    i=0

    while a2>fk[i] :

        i+=1

    med2 = i

    _median = (1/2)*(arrdata[med1][0]+arrdata[med2][0])

    return _median



#modus ------------------------------------

def modusf(arrdata):

    _modus = arrdata[0][0]

    fmodus = arrdata[0][1]

    for i in range(nn):

        if fmodus<arrdata[i][1]:

            fmodus = arrdata[i][1]

            _modus = arrdata[i][0]

    return _modus

 

 

isiDataf(mydata, frek)

totalfrek = totf(frek)

fk = fkumulatif(frek)

mean = meanf(mydata,totalfrek)

median = medianf(mydata, totalfrek)

modus = modusf(mydata)

print("mydata     = ",mydata)

print("totalfrek  = ",totalfrek)

print("fkumulatif = ",fk)

print("Mean       = ",mean)

print("Median     = ",median)    

print("Modus      = ",modus)




Minggu, 16 Maret 2025

Python - mencari KPK dua bilangan

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)

  


KPK = get_kpk(12,15)

print("KPK dari 12 dan 15 adalah ", KPK)

Python - mencari fpb 2 bilangan dengan euclid dan rekursif

def find_fpb(a,b): 

 if b == 0: 

  return a

 else: 

  return find_fpb(b,a%b)


myFPB = find_fpb(6,8)

print("FPB dari 6 dan 8 adalah",myFPB)



Sumber : https://koding.alza.web.id/algoritma-untuk-mencari-faktor-persekutuan-terbesar-fpb/


x y dan trigonometri

Posisi x dan y jika diketahui xpusat, ypusat, sudut, dan jarak


x = xpusat + jarak*cos(sudut*Pi/180)

y = ypusat + jarak*sin(sudut*Pi/180)

Python - pola bilangan segitiga

def PolaSegitiga(n):

 return int(n*(n+1)/2)


def PrintPolaNsuku(n):

 for i in range(n):

  print(PolaSegitiga(i+1), end=" ")


PrintPolaNsuku(10)

Python - pola bilangan persegipanjang

def PolaPersegiPanjang(n):

 return n*(n+1)


def PrintPolaNsuku(n):

 for i in range(n):

  print(PolaPersegiPanjang(i+1), end=" ")


PrintPolaNsuku(10)

Python - pola bilangan persegi

def PolaPersegi(n):

 return n*n


def PrintPolaNsuku(n):

 for i in range(n):

  print(PolaPersegi(i+1), end=" ")


PrintPolaNsuku(10)

Python - triple pythagoras

#Triple pythagoras adalah pasangan 3 angka bulat yang memenuhi rumus pythagoras a² + b² = c², dimana c adalah angka terbesar dari pasangan tersebut.


#Triple pythagoras 20 pasang

max = 20

print ("Triple pythagoras")

for i in range(max):

 p = i+3

 n = i+4

 if n%2 != 0 :

  a = n

  b = n*n/2 - 0.5

  c = n*n/2 + 0.5

 else:

  a = n

  b = n*n/4 - 1

  c = n*n/4 + 1

 a = int(a)

 b = int(b)

 c = int(c)

 print(a," ",b," ",c)


Sabtu, 15 Maret 2025

Python - segitiga pascal - dengan rumus kombinasi nCr

#Segitiga Pascal #Mencari_kombinasi 

def faktorial(n): 

 if n==0:

  return 1

 else:

  return n*faktorial(n-1)


def kombinasi(n,r):

 tmp = ((faktorial(n))/(faktorial(n-r)*faktorial(r)))

 return int(tmp)


def SegitigaPascal(m):

 n = m+1

 for i in range(n):

  for j in range(i+1):

  tmp = str(kombinasi(i,j))

  print(tmp, end=" ")

 print()


SegitigaPascal(6)

Python - Deret Fibonacci

def fibo(n):

 if n<3 :

  return 1

 else :

  return fibo(n-1)+fibo(n-2)


def deretFibo(n):

 tmp = ""

 for i in range(n):

  tmp+=str(fibo(i+1))+" "

 return tmp

  

y = deretFibo(6)

print(y)

Python - Fibonacci - Un

def fibo(n):

if n<3 :
  return 1
else :
  return fibo(n-1)+fibo(n-2)

x = fibo(6)
print(x)

Python - mencari Sn deret Geometri

Bentuk dasar

Function Sn_Geometri(a, r, n)

  if n == 1

      return a

  else 

   return Sn_Geometri(a, r, n-1) + (a*Pow(r, n-1))


--------------------------------------------------

#Format python 

import math

def Sn_Geometri(a, r, n) :

  if n == 1 :

   return a

  else :

   return Sn_Geometri(a, r, n-1) + (a*math.pow(r, n-1))


Sn = Sn_Geometri(1,2,3)

print(Sn)

Python - mencari Sn deret Aritmatika

Bentuk dasar

Function Sn_Aritmatika(a, b, n)

  if n == 1

      return a

  else 

   return Sn_Aritmatika(a, b, n-1) + (a+(n-1)*b)


--------------------------------------------------

Format python

def Sn_Aritmatika(a, b, n) :

  if n == 1 :

      return a

  else :

   return Sn_Aritmatika(a, b, n-1) + (a+(n-1)*b)


Sn = Sn_Aritmatika(1,1,10)

print(Sn)

Pecahan di Python

from fractions import Fraction

a = Fraction(1,4)

b = Fraction(2,4)

c = a + b

print(c)

print(a," ",b)


Hasil output

3/4 

1/4 1/2


-----

3/4 adalah c setelah penjumlahan a+b

1/4 adalah a

1/2 adalah b (penyederhanaan dari 2/4)








Online editor untuk Python

Barusan ketemu online editor untuk python. Catet ah di sini.

https://www.online-python.com/

Jumat, 14 Maret 2025

Python - faktorial dengan rekursif

def faktorial(n) :

 if n==0 :

  return 1

 else :

  return n*faktorial(n-1)

  

x = faktorial(5)

print(x)


---------------- hasil : -----------

120


Python - Mencari permutasi nPr

 #Mencari_Permutasi


def faktorial(n) :

 if n==0 :

  return 1

 else :

  return n*faktorial(n-1)


def permutasi(n,r):

 return ((faktorial(n))/(faktorial(n-r)))  

  

def CariPermutasi(n,r):

 nCr = int(permutasi(n,r))

 return nCr


def Main():

 print("- Mencari Permutasi -")

 n = int(input("n   = "))

 r = int(input("r   = "))

 x = CariPermutasi(n,r)

 print("C(",n,"," ,r,") = ", x)


Main()



Di atas : coding
Gambar : ketika dijalankan

Python - Mencari kombinasi nCr

 #Mencari_Kombinasi


def faktorial(n) :

 if n==0 :

  return 1

 else :

  return n*faktorial(n-1)


def kombinasi(n,r):

 return ((faktorial(n))/(faktorial(n-r)*faktorial(r)))  

  

def CariKombinasi(n,r):

 nCr = int(kombinasi(n,r))

 return nCr


def Main():

 print("- Mencari Kombinasi -")

 n = int(input("n   = "))

 r = int(input("r   = "))

 x = CariKombinasi(n,r)

 print("C(",n,"," ,r,") = ", x)


Main()



Di atas : coding

Gambar : ketika dijalankan

Python - memanggil file py - dan menggunakannya

Buat file mymodule.py berisi :

#module kabataku

def kali(a, b):

 return a*b

def bagi(a, b):

 return a/b

def tambah(a,b):

 return a+b

def kurang(a,b):

 return a-b


-----------------------
paggil file mymodule.py dan menggunakan

#memanggil file mymodule
import mymodule

print("kali 4 x 2 : ", mymodule.kali(4,2))
print("bagi 4 / 2 : ", mymodule.bagi(4,2))
print("tambah 4 + 2 : ", mymodule.tambah(4,2))
print("kurang 4 - 2 : ", mymodule.kurang(4,2))


------------------
Hasil


Kamis, 06 Maret 2025

Jumlah n suku pertama deret aritmatika di python

 rumusnya jumlah n suku pertama dari deret aritmatika


Sn = jumlah suku ke n 

rumus

Sn = n/2 * (a + Un)


dimana

n  : banyak suku

a  : suku ke 1

Un : suku ke n


berarti harus ada 3 inputan:


inp_n = input("masukkan n : ")

inp_a = input("masukkan a : ")

inp_Ua = input("masukkan Un : ")


Jangan lupa angkanya dijadikan integer

inp_n = int(inp_n)

inp_a = int(inp_a)

inp_Un = int(inp_Un)


untuk fungsi :

def Sn(n,a,Un):

 out_Sn = n/2 * (a + Un)

 print("Sn = ", out_Sn)


misalkan deret ini : 1, 4, 7, 10

berarti 

a = 1

n = 4

Un = 10

maka



Penggunaan input di python

 Bisa dijalankan di komputer yang sudah diinstall python.


misal ada fungsi cetak angka : 

def SegitigaAngka(n):

for i in range(n):

for j in range(i):

print(j+1, end=" ")

print()


Kemudian fungsi input :

def MasukkanAngka():

    angka = input("masukkan angka : ")

    angka = int(angka)

    SegitigaAngka(angka+1)


Selanjutnya tinggal menjalankan fungsi input:







Menjadikan fungsi di python

awal :

--------------------------------------

for i in range(10):

for j in range(i):

print(j+1, end=" ")

print()


ketika dijadikan fungsi :

--------------------------------------

def SegitigaAngka(n):

for i in range(n):

for j in range(i):

print(j+1, end=" ")

print()


SegitigaAngka(10)


untuk pemanggilannya menggunakan : SegitigaAngka(10)


hasilnya sama: 



Print pola angka di python

saya ingat kembali waktu jaman kuliah di berikan tugas seperti ini: 


nah, saya coba utak utik menggunakan python, dan ketemu ....

berikut perintahnya :

for i in range(10):

for j in range(i):

print(j+1, end=" ")

print()