Latihan Kode Program Python: Cek Bilangan Prima

Latihan kode program bahasa Python kali ini akan membahas soal untuk memeriksa apakah sebuah angka merupakan bilangan prima atau tidak.

Materi ini berhubungan dengan logika matematika serta konsep perulangan for dan if else.


Soal Cek Bilangan Prima

Buatlah kode program dalam bahasa Python yang menerima satu inputan angka. Kemudian kode program akan menampilkan pesan apakah angka tersebut adalah bilangan prima atau bukan bilangan prima.

Bonus: Selain menampilkan iya atau tidak, tuliskan pula alasan kenapa bilangan tersebut bukan bilangan prima.

Berikut contoh tampilan akhir yang diinginkan (1) :

##  Program Python Cek Angka Prima  ##
======================================

Input satu angka bulat: 81
81 bukan angka prima

Berikut contoh tampilan akhir yang diinginkan (2) :

##  Program Python Cek Angka Prima  ##
======================================

Input satu angka bulat: 3137
3137 adalah angka prima

Berikut contoh tampilan akhir yang diinginkan (untuk soal bonus) :

##  Program Python Cek Angka Prima  ##
======================================

Input satu angka bulat: 125
125 bukan angka prima, karena bisa dibagi 5

Tips Membuat Kode Program Cek Bilangan Prima

Soal ini melatih pemahaman terkait logika matematika dan konsep perulangan (looping) serta kondisi if else. Berikut tutorial pendahuluan yang bisa diikuti:

Suatu angka disebut sebagai bilangan prima jika angka tersebut tidak bisa dibagi dengan angka lain, selain angka itu sendiri dan 1.

Sebagai contoh, 5 adalah bilangan prima karena hanya bisa dibagi dengan 5. 17 juga bilangan prima karena hanya bisa dibagi dengan angka 17 saja. Sedangkan 9 bukan bilangan prima karena bisa dibagi dengan 3.

Pemeriksaan apakah suatu angka habis dibagi dengan angka lain bisa dilakukan dengan operator modulus (%). Dalam bahasa Python, 12 % 2 akan menghasilkan angka 0, yang berarti 12 habis dibagi dengan 2. Konsep inilah yang bisa kita pakai untuk membuat kode program pemeriksa bilangan prima.

Idenya adalah, buat sebuah perulangan untuk memeriksa setiap kemungkinan. Jika diinput angka 17, cek apakah 17 habis dibagi 2. Jika tidak, lanjut apakah 17 habis dibagi 3, jika tidak cek lagi apakah 17 habis dibagi 4, dst.

Silahkan anda coba sebentar membuat kode program ini.


Kode Program Bahasa Python Cek Bilangan Prima

Berikut salah satu solusi dari soal cek bilangan prima menggunakan bahasa pemrograman Python:

print('##  Program Python Cek Angka Prima  ##')
print('======================================')
print()

x = int(input('Input satu angka bulat: '))

angka_prima = True
if((x == 0) or (x == 1)):
  angka_prima = False
else:
  for i in range(2,(x//2)):
    if ((x % i) == 0):
       angka_prima = False
       break

if(angka_prima):
  print(x,'adalah angka prima')
else:
  print(x,'bukan angka prima')

Hasil kode program:

Latihan Kode Program Python - Cek Bilangan Prima


Di baris 5, perintah input() dipakai untuk meminta data angka bulat dari user. Data ini ditampung ke variabel x.

Secara default perintah input() mengembalikan data bertipe string, akan tetapi kita perlu tipe data integer karena variabel x nantinya akan dipakai dalam perhitungan. Proses konversi dari tipe string menjadi integer dilakukan oleh fungsi int().

Selain itu saya membuat sebuah flag atau penanda yang disimpan di dalam variabel angka_prima. Variabel ini diisi boolean True dan akan jadi penentu apakah sebuah angka merupakan bilangan prima atau tidak.

Proses pemeriksaan pertama ada di baris 8. Jika angka yang diinput user adalah 0 atau 1, maka langsung isi angka_prima dengan false. Karena dalam matematika, 0 dan 1 tidak dianggap sebagai angka prima.

Jika angka yang diinput bukan 0 atau 1, maka masuk ke blok else yang berisi perulangan for antara baris 11 – 14.

Perulangan for ini mulai dari 2 hingga x//2. Dalam bahasa Python, // adalah operasi pembagian bilangan bulat. Tujuannya agar perulangan hanya berjalan untuk setengah angka saja, karena secara logika kita tidak perlu memeriksa pembagian dengan semua angka x.

Dalam setiap iterasi, cek apakah x habis dibagi dengan i melalui perintah (x % i) == 0. Jika kondisi ini terpenuhi, update isi variabel angka_prima menjadi False dan langsung hentikan perulangan dengan perintah break.

Setelah perulangan selesai, cek kembali isi variabel angka_prima. Jika berisi true, yakni if (angka_prima), maka x adalah angka prima. Jika berisi false, maka x bukanlah angka prima.


Kode Program Cek Bilangan Prima Bahasa Python Dengan Alasan

Untuk bonus soal, kita bisa tampilkan nilai variabel i setelah perulangan selesai. Sebab, variabel i inilah yang berisi alasan dari x bukan angka prima.

Berikut modifikasi yang diperlukan:

print('##  Program Python Cek Angka Prima  ##')
print('======================================')
print()

x = int(input('Input satu angka bulat: '))

angka_prima = True
if((x == 0) or (x == 1)):
  angka_prima = False
else:
  for i in range(2,(x//2)):
    if ((x % i) == 0):
       angka_prima = False
       break

if(angka_prima):
  print(x,'adalah angka prima')
else:
  print(x,'bukan angka prima, karena bisa dibagi',i)

Penambahan ada di baris 19, cukup tampilkan nilai variabel i jika x bukan bilangan prima. Berikut hasil kode program:

Latihan Kode Program Python - Cek Bilangan Prima Dengan Alasan


Demikian kode program cek bilangan prima menggunakan bahasa Python. Seperti yang terlihat, logika dan sedikit teori matematis sangat berperan untuk mencari solusi kode program. Semoga tutorial ini bisa bermanfaat.

Add Comment