Mencari bilangan prima dengan Python
![](http://3.bp.blogspot.com/_ypU0iaR- LmM/TDIhx5nD31I/AAAAAAAAARE/7HegaxuEUG8/s320/python-prime.png)
#!/usr/bin/env python
import sys # untuk mengambil argument yang diberikan
ret=True # return value
def itsPrime(val): # definisi fungsi itsprime, return(1=prime, 0=not prime, -1=error value )
global ret; # agar ret bisa diakses dari fungsi
if val >= 2: # jika nilai yang diberikan besar dari 2
if val > 9: # jika nilai yang diberikan besar dari 9
up=10 # nilai maksimum untuk pembagian =10
else:
up=val # jika tidak maka nilai maksimum=nilai yang diberikan
for p in range(2,up): # perulangan selama p=2 dan kecil dari nilai up
if val % p == 0: # jika nilai modulus p == 0
ret=False # berarti bukan bilangan prime
break # langsung keluar dari perulangan
else: # nilai yang dimasukkan kecil dari 2
ret=-1
return ret
if __name__ == "__main__":
try:
prime=itsPrime(int(sys.argv[1]))
if prime==1:
print 'prime'
elif prime==0:
print 'Not prime'
else:
print 'Please integer above 2'
except ValueError:
print "Please enter an integer number"
except IndexError:
print "Please input one argument"
Penjelasan dari kode diatas bisa dilihat di setiap baris komentarnya, untuk yang lainnya bisa dilihat dibawah ini
-
baris ke 20 -> untuk mencegah kemungkinan error maka digunakan try
-
baris ke 21 -> melakukan checking terhadap nilai yang diberikan kemudian nilai return dari fungsi itsPrime dimasukkan ke variabel prime, selanjutnya untuk yang dibawahnya adalah melakukan checking pada nilai prime. Jika nilainya sama dengan 1 berarti bilangan prima, 0 jika bukan, -1 jika nilainya kecil dari 2.
-
baris ke 28 -> jika nilai yang dimasukkan bukan bilangan bulat positif(>0)
-
baris ke 30 -> jika tidak ada nilai yang dimasukkan.
Sedangkan algoritma dari code diatas adalah seperti berikut:
Tulisan ini dibuat dengan OS Ubuntu 9.10, Gimp 2.6.7, Dia 0.97, so its OPENSOURCE