Mencari bilangan prima dengan Python


 #!/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