Memeriksa bilangan prima

Berikut adalah contoh kode dalam bahasa pemrograman python untuk memeriksa apakah sebuah bilangan tergolong bilangan prima atau tidak.

Bilangan prima, adalah bilangan yang hanya dapat dibagi habis oleh bilangan satu dan dirinya sendiri (hanya memiliki dua faktor). Dengan kata lain, sebuah bilangan bukan merupakan bilangan prima jika terdapat bilangan yang membagi habis bilangan tersebut, selain 1 dan bilangan itu sendiri.

Dengan memanfaatkan definisi sebelumnya, kita dapat memeriksa sebuah bilangan apakah tergolong prima atau tidak dengan memeriksa setiap bilangan ganjil mulai dari 2 hingga akar kuadrat bilangan tersebut. Jika salah satu bilangan dapat membagi habis bilangan dimaksud, maka ia bukan bilangan prima, dan sebaliknya.

Mengapa hanya sampai bilangan senilai nilai akar kuadrat bilangan yang diperiksa? Karena nilai lebih besar dari itu, seandainya ada yang dapat digunakan membagi habis bilangan yang diperiksa, akan berpasangan dengan bilangan yang lebih kecil dari nilai akar kuadrat dimaksud. Ini berarti bahwa pasangannya (jika ada) sudah diperiksa terlebih dahulu, sebelum nilai akar kuadrat dicapai.

Jika diimplementasikan dalam sebuah fungsi, maka kodenya dapat disusun sebagai berikut.

def is_prime(bil):
    if bil==2 or bil==3: return True
    if bil%2==0 or bil<2: return False
    for i in range(3,int(bil**0.5)+1,2):
        if bil%i==0:
            return False    
    return True

Penjelasan kode:

  1. Baris kedua langsung menghasilkan True untuk bilangan 2 dan 3
  2. Baris ketiga menghasilkan False untuk bilangan genap dan bilangan yang lebih kecil dari 2
  3. Baris keempat, loop untuk mencari bilangan ganjil pembagi diantara 3 dan akar dari bilangan bersangkutan, jika ada berarti bilangan dimaksud bukan bilangan prima
  4. Baris ketujuh, jika loop tidak menemukan pembagi pada poin 3 berarti bilangan dimaksud adalah bilangan prima.

Untuk lebih jelasnya jalankan contoh berikut:

Sumber rujukan:

https://stackoverflow.com/questions/15285534/isprime-function-for-python-language

You may also like...

Berikan komentar