Deret Bilangan Prima dalam Python

Galih Hermawan
4 min readOct 6, 2021

--

Prime Numbers
Prime Numbers | Photo by Dr. Thomas R. Nicely on trnicely.net

Bismillaah Alhamdulillaah.

Sebuah bilangan prima (atau integer prima) adalah sebuah bilangan integer positif (p) lebih dari satu (p>1) dimana tidak memiliki pembagi bilangan integer positif lainnya selain angka 1 dan dirinya sendiri (p)¹.

Misal: angka 5, pembaginya adalah angka 1 dan 5 itu sendiri, makanya dapat dianggap sebagai bilangan prima. Sedangkan angka 12, pembaginya adalah 1, 2, 3, 4, 6, dan 12. Hal ini menjadikan angka 12 tidak termasuk bilangan prima. Bilangan positif integer selain angka 1 yang tidak termasuk dalam kelompok bilangan prima disebut bilangan komposit.

Photo by Rod Pierce on mathsisfun.com

Dalam gambar tersebut dapat kita lihat bahwa angka 2, 3, 5, 7 merupakan bilangan prima. Sedangkan angka 4, 6, 8, 9 adalah bilangan komposit.

Angka 4 diperoleh dari 2x2.
Angka 6 diperoleh dari 2x3.
Angka 8 diperoleh dari 2x2x2.
Angka 9 diperoleh dari 3x3.

Dengan demikian, yang termasuk dalam 10 bilangan pertama terkecil adalah 2, 3, 5, 7, 11, 13, 17, 19, 23, 29.

Apabila kita kaitkan dengan logika pemrograman, kita dapat memanfaatkan operasi modulo dalam sebuah perulangan. Operasi modulo (disingkat “mod”, atau dioperasikan dengan simbol “%” dalam beberapa bahasa pemrograman) merupakan sisa hasil bagi dari suatu operasi pembagian².

Misalnya, “5 mod 2 = 1”, artinya sisa hasil bagi 5 dengan 2 adalah 1.
Cara menguraikannya seperti ini, 2 dikali berapa untuk mendekati (masih di bawah) angka 5? jawabannya 2. Tepatnya, 2 x 2 = 4, untuk menuju angka 5 kurang 1 poin. Kurangnya ini yang kita sebut dengan sisa hasil bagi.
Contoh lain, “6 mod 3 = 0”. Kalau diuraikan, 3 x 2 = 6, kurangnya tidak ada alias pas alias sisa 0 (nol).

Sehingga dapat dikatakan, setiap bilangan yang dibagi dengan bilangan lain dan menyisakan “sisa hasil bagi” sama dengan 0, maka bilangan tersebut dikatakan dapat dibagi dengan bilangan lain. Sebaliknya, jika sisa hasil baginya lebih dari 0, maka dapat dikatakan bilangan tersebut tidak dapat dibagi dengan bilangan lain.

Sekarang kita coba bedah bilangan 3 s/d 7. (Angka 2 tidak disertakan karena bilangan tersebut hanya dapat dibagi dengan angka 1 dan dirinya sendiri, otomatis kita anggap bilangan prima).

3 mod 2 = 1, tidak dapat dibagi -> 3 termasuk bilangan prima
4 mod 2 = 0, dapat dibagi -> 4 tidak termasuk bilangan prima
5 mod 2 = 1, tidak dapat dibagi
5 mod 3 = 2, tidak dapat dibagi
5 mod 4 = 1, tidak dapat dibagi -> 5 termasuk bilangan prima
6 mod 2 = 0, dapat dibagi -> 6 tidak termasuk bilangan prima
7 mod 2 = 1
7 mod 3 = 1
7 mod 4 = 3
7 mod 5 = 2
7 mod 6 = 1, tidak dapat dibagi -> 7 termasuk bilangan prima

** perhatikan bahwa untuk pengecekan suatu bilangan (p) itu prima atau bukan adalah dengan cara membagi dengan semua bilangan dari 2 hingga (p-1). Jika dalam pembagian awal diketahui bahwa suatu bilangan dapat dibagi, maka tidak perlu melanjutkan ke angka berikutnya. Lihat cara pembagian pada angka 4 dan 6.

Dalam bahasa pemrograman Python, potongan kodenya adalah sebagai berikut. [Ket: karakter % merupakan operator mod (modulo)].

Dalam potongan kode di atas, sebagai parameter masukan adalah angka 5. Berikutnya akan dilakukan pemeriksaan 5 dibagi dengan angka 2 s/d 4. Jika ada salah satu sisa hasil bagi = 0, maka dianggap bukan prima. Tapi jika sisa hasil bagi hingga pembagi tertinggi (yaitu 4) tidak ditemukan sisa hasil bagi 0, maka dianggap bilangan prima. Luaran dari kode tersebut adalah nilai boolean True atau False.

Untuk mendapatkan deret bilangan prima di antara dua bilangan adalah sebagai berikut.

Dalam potongan kode tersebut di atas, parameter masukan adalah bilangan batas bawah (min) dan batas atas (max). Dalam perulangan, setiap angkanya kita periksa apakah termasuk bilangan prima atau bukan dengan menggunakan fungsi CekPrima. Apabila luarannya True, maka kita keluarkan.

Source code lengkap terkait Deret Prima dapat dicek di tautan berikut.

Demo program secara online ada di tautan berikut.

Demikian sedikit tutorial terkait bilangan prima dan bagaimana cara memperoleh deret bilangan prima. Semoga bermanfaat.

Terima kasih.

Bacaan Lebih Lanjut.

  1. https://mathworld.wolfram.com/PrimeNumber.html
  2. https://betterexplained.com/articles/fun-with-modular-arithmetic/
  3. https://www.mathsisfun.com/prime_numbers.html

--

--

Galih Hermawan
Galih Hermawan

Written by Galih Hermawan

Lecturer and Researcher. Informatics Engineering. UNIKOM. New blog https://blog.galih.eu

No responses yet