Di sini kita akan mencoba contoh program Python untuk menentukan apakah suatu bilangan adalah bilangan prima atau bukan. Sebelumnya Anda sudah harus memahami tentang dasar Python berikut:
Bilangan prima adalah bilangan yang lebih besar dari 1 yang tidak memiliki faktor pembagi lain kecuali 1 dan dirinya sendiri. Contohnya adalah 2, 3, 5, 7, dan seterusnya. Bilangan 6 bukanlah prima karena memiliki faktor lain, 2 x 3 = 6.
Source Code
# Program python untuk menentukan bilangan prima atau tidak # Meminta input bilangan dari user num = int(input("Masukkan bilangan: ")) # bilangan prima harus lebih besar dari 1 if num > 1: for i in range(2,num): if (num % i) == 0: print(num, "bukan bilangan prima") print(i, "kali", num//i, "=", num) break else: print(num,"adalah bilangan prima") # bila bilangan kurang atau sama dengan satu else: print(num, "bukan bilangan prima")
Output
Masukkan bilangan: 147 147 bukan bilangan prima 3 kali 49 = 147
Masukkan bilangan: 157 157 adalah bilangan prima
Penjelasan Program
Pada program di atas, kita memeriksa apakah variabel num
merupakan bilangan prima atau tidak. Kita meminta input num dari user, dan mengubahnya menjadi tipe integer menggunakan fungsi int()
.
Berikutnya, kita cek variabel num apabila num > 1. Kita lakukan perulangan dengan for
untuk melihat pembagian utuh dari 2 s/d num - 1
yaitu dengan menggunakan operator modulus %. Bila kita menemukan ada hasil pembagian utuh pada range tersebut, maka bilangan tersebut bukan bilangan prima. Sebaliknya, bila tidak ada hasil bagi yang utuh, maka bilangan tersebut adalah bilangan prima.
Programmnya memang berjalan dengan benar.. Cuma saya heran kenapa rangenya dimulai dari 2? Memang saya tahu kalau 2 adalah bilangan prima.. namun dengan menginput angka 2 berarti di dalam kode tersebut kita sudah tahu bahwa 2 adalah bilangan prima sebelum menguji bahwa 2 adalah bilangan prima atau tidak.
Mohon pencerahannya.
setau saya sudah teori bilangan primanya memang begitu. 🙂
karena range 2 dimaksudkan untuk minimal jumlah perkalian yang menghasilkan bilangan tersebut, kalo range nya di ganti 1 semua bilangan akan jadi bukan bilangan prima
sisa pembagian 2 itu 0 tapi kenapa pas di run bilangan prima
berartikan program sudah tau 2 itu bilangan prima
Kenapa angka 15 adalah bilangan prima?
Padahal 15 itu bukan bilangan prima
kan memang bukan Mas. 157 yang bilangan prima
else yg pertama untuk for, jadi coba lurusin sama sama for. semoga membantu