Skip to content
Berikut ini kita membuat contoh program Python untuk menemukan faktor suatu bilangan. Sebelumnya, Anda sudah harus memahami dasar Python berikut: Source Code Output Penjelasan Program Pada program di atas, bilangan yang akan dicari faktornya diinput dan disimpan dalam variabel num. Kita mendefinisikan sebuah fungsi yaitu print_faktor(), yang
memiliki satu parameter yaitu x. Di fungsi ini kita menggunakan perulangan dari 1 s/d x + 1. Semua bilangan yang bisa membagi x dengan sempurna akan ditampilkan ke layar. Pada baris terakhir, kita memanggil fungsi print_faktor(num), dan hasilnya faktor – faktor dari num ditampilkan ke layar.
Faktor Persekutuan Terbesar (FPB) atau dalam bahasa Inggris sering disebut Greatest Common Divisor (GCD) dari dua buah bilangan adalah bilangan positif terbesar yang dapat membagi habis kedua bilangan tersebut. Sebelumnya memahami contoh ini, Anda sudah harus menguasai dasar – dasar pemrograman Python yaitu: Ada dua cara yang akan kita gunakan. Pertama dengan menggunakan looping biasa, dan kedua menggunakan algoritma Euclidean. Source Code Output Pada contoh di atas, kita menyimpan bilangan 1 dan 2 di dalam variabel num1 dan num2. Variabel tersebut kita masukkan sebagai argumen
fungsi hitung_FPB. Di fungsi tersebut, kita menentukan bilangan terkecil di antara dua bilangan karena FPB hanya bisa lebih kecil atau sama dengan bilangan yang terkecil. Kita menggunakan loop for dari 1 sampai bilangan tersebut.
# Program Python untuk menemukan FPB dua buah bilangan
# mendefinisikan fungsi
def hitung_FPB(x, y):
# memilih bilangan yang paling kecil
if x > y:
smaller = y
else:
smaller = x
for i in range(1, smaller+1):
if((x % i == 0) and (y % i == 0)):
fpb = i
return fpb
num1 = 96
num2 = 24
# hilangkan tanda # untuk meminta inputan dari user
# num1 = int(input("Enter first number: "))
# num2 = int(input("Enter second number: "))
print("FPB dari", num1,"dan", num2," =", hitung_FPB(num1, num2))
Di tiap perulangan, kita mengecek apakah bilangan kita membagi habis kedua bilangan input. Jika iya, maka itulah FPB yang dicari.
2. Source code menggunakan algoritma Euclidean
Dalam algoritma Euclidean, kita membagi bilangan yang lebih besar dengan yang lebih kecil dan menyimpan sisanya. Kemudian kita bagi bilangan yang lebih kecil dengan sisanya. Begitu terus berulang sampai sisanya 0.
def hitung_FPB(x, y): # Fungsi ini menggunakan algoritma Euclidean while(y): x, y = y, x % y return x fpb = hitung_FPB(200, 150) print("FPB dari", num1,"dan", num2," =", hitung_FPB(num1, num2))Output
FPB dari 200 dan 150 = 50Pada contoh di atas, kita melakukan perulangan sampai y bernilai 0. Pernyataan x, y = y, x % y adalah tips melakukan pertukaran nilai di Python. Di tiap perulangan, kita menyimpan nilai y dalam x dan sisanya (x % y) di dalam y. Ketika y sudah bernilai 0 maka perulangan akan berhenti dan x berisi FPB.
Menemukan KPK (Kelipatan Persekutuan Terkecil)
Kelipatan Persekutuan Terkecil adalah bilangan terkecil yang merupakan kelipatan persekutuan dari kedua bilangan tersebut.
Contoh:
Temukan KPK dari dua angka berikut
import numpy as np num1 = 4 num2 = 6 x = np.lcm(num1, num2) print(x)
Mengembalikan: 12 karena 12 adalah kelipatan persekutuan terendah dari kedua bilangan (4 * 3 = 12 dan 6 * 2 = 12).
Menemukan KPK dalam Array
Untuk menemukan Kelipatan Persekutuan Terkecil dari semua nilai dalam array, kita dapat menggunakan metode reduce().
Metode reduce() akan menggunakan ufunc, dalam hal ini fungsi lcm(), pada setiap elemen, dan mengurangi array per satu dimensi.
Contoh:
Temukan KPK dari nilai-nilai dari array berikut
import numpy as np arr = np.array([3, 6, 9]) x = np.lcm.reduce(arr) print(x)
Mengembalikan: 18 karena 18 adalah kelipatan persekutuan terendah dari ketiga bilangan (3 * 6 = 18, 6 * 3 = 18 dan 9 * 2 = 18).
Contoh
Temukan KPK dari semua array di mana array tersebut berisi semua
bilangan bulat dari 1 hingga 10
import numpy as np arr = np.arange(1, 11) x = np.lcm.reduce(arr) print(x)