Rabu, 19 Maret 2025
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/