Cara menggunakan menampilkan deret bilangan python

Nurul Huda 6 March 2021

  1. Beranda
  2. Python
  3. Latihan Logika
  4. Python: Membuat Program Bilangan Prima 🐍

  • Python
  • Latihan Logika

Daftar Isi

    • Pendahuluan
    • Definisi Bilangan Prima
    • Kegunaan Bilangan Prima
    • Algoritma Pengecekan Bilangan Prima
    • Persiapan Ngoding
    • Membuat Fungsi Pengecekan Bilangan Prima
    • Membuat Fungsi Pencarian Bilangan Prima
    • Finishing
    • Kode Program Lengkap
    • Pertemuan Selanjutnya
    • Referensi

Pendahuluan

Ada beberapa seri tutorial python di Jago Ngoding. Salah satunya adalah seri tutorial python dasar –itu kelas untuk pemula, ada juga seri tutorial python tingkat menengah, ada juga seri tutorial pyside, dan seri latihan logika dengan python yang sedang kita ikuti pada pertemuan ini.

Beberapa tutorial sudah selesai ditulis. Beberapa lagi masih proses. Sebagian lainnya juga masih perlu direview dan diimprovisasi lagi.

Intinya, pada seri tutorial ini kita akan membuat contoh-contoh kasus dan bagaimana cara memecahkannya dengan python, agar logika dan skill python kita bisa terasah dan terlatih.

Pada pertemuan ini, kita akan membuat aplikasi python yang akan menyelesaikan problem bilangan prima.

Definisi Bilangan Prima

Apa itu bilangan prima?

Bilangan prima adalah bilangan lebih dari 1 yang hanya memiliki 2 faktor (pembagi) saja: yaitu 1 dan dirinya sendiri. Artinya, sebuah bilangan prima tidak bisa dibagi dengan pembagi apa pun kecuali dengan angka 1 dan dirinya sendiri [1].

Contoh bilangan prima adalah angka 2: ia tidak memiliki pembagi apa pun selain 1 dan 2.

Contoh lain adalah bilangan 3. Bilangan 3 tidak bisa dibagi kecuali dengan angka 1 dan 3.

Dan contoh yang bukan bilangan prima adalah 4: karena ia memiliki pembagi lain selain angka 1 dan dirinya sendiri, yaitu angka 2.

Berikut ini deret bilangan prima dari angka 1 sampai 30:

2, 3, 5, 7, 11, 13, 17, 19, 23, 29

Kegunaan Bilangan Prima

Ada beberapa kegunaan bilangan prima. Di antaranya adalah untuk menentukan pohon faktor (prima) dari suatu bilangan. Nanti dari pohon faktor tersebut bisa dicari faktor persekutuan terbesar (FPB) dan kelipatan persekutuan terkecil (KPK) [2].

Yang insyaallah keduanya (yaitu FPB dan KPK) akan kita coba juga penyelesaiannya pada pertemuan-pertemuan yang akan datang.

Algoritma Pengecekan Bilangan Prima

Kita sepakati dulu logika pemecahan masalahnya.

Untuk memeriksa apakah suatu bilangan adalah bilangan prima, saya akan memeriksa semua kemungkinan pembagi dari suatu bilangan. Kemungkinan faktor pembaginya adalah:

  • bilangan 2
  • sampai bilangan itu sendiri - 1

Misalkan kita akan memeriksa apakah bilangan 21 termasuk bilangan prima, maka:

  1. Kita akan mulai memeriksanya dengan membagikannya dengan 2. Bisa atau tidak?
  2. Kalau tidak bisa, lanjut ke kemungkinan berikutnya, yaitu bilangan 3. Bisa atau tidak?
  3. Kalau bisa, berarti bukan bilangan prima. Kita stop.
  4. Tapi kalau tidak bisa, kita lakukan iterasi berikutnya hingga ke angka 20 (bilangan itu sendiri - 1).

Tentu saja logika ini bukan logika terbaik. Ada banyak ruang dari algoritma ini yang bisa kita improve lagi lebih dalam. Tapi, untuk pemula saya kira algoritma ini cukup untuk menyelesaikan permasalahan bilangan prima dengan akurat.

Persiapan Ngoding

Langsung saja kita akan mulai ngoding. Teman-teman di sini bisa mulai membuka senjatanya masing-masing.

Agar bisa memahami kode program dengan baik, pastikan juga teman-teman telah familiar dengan beberapa materi python dasar berikut:

  • List
  • For dan Range
  • Operator
  • Fungsi yang mengembalikan data

Dan satu lagi, jangan lupa secangkir kopi panas agar bisa lebih rileks.

Membuat Fungsi Pengecekan Bilangan Prima

Langkah yang pertama, kita akan membuat sebuah fungsi.

Mari kita namakan fungsi ini dengan nama is_prima(). Fungsi ini akan mengembalikan nilai True jika suatu bilangan yang diperiksa adalah bilangan prima, dan sebaliknya akan mengembalikan nilai False jika bilangan yang diperiksa ternyata bukan prima.

Berikut ini kode programnya:

def is_prima (x): return True

Pada kode program di atas, kita langsung mengembalikan nilai True sebagai default.

Selanjutnya, mari kita periksa apakah bilangan x adalah bilangan prima atau bukan.

def is_prima (x): for i in range(2, x): if x % i == 0: return False return True

Sekarang, kita bisa panggil fungsi is_prima() untuk memeriksa beberapa bilangan, apakah termasuk bilangan prima atau bukan:

print(is_prima(5)) # True print(is_prima(2)) # True print(is_prima(4)) # False print(is_prima(11)) # True

Untuk mengetahui apakah suatu bilangan bisa dibagi oleh bilangan lain adalah dengan operator modulus (%). Operator tersebut akan mengembalikan hasil bagi dari 2 operan. Jika hasil bagi dari 2 operan bernilai 0, maka itu artinya bilangan tersebut memang bisa dibagi oleh angka pembagi.

Membuat Fungsi Pencarian Bilangan Prima

Hal selanjutnya yang bisa kita manfaatkan dari fungsi di atas adalah:

  • Mencari bilangan prima dari range angka tertentu.

Seperti misalkan kita akan mencari bilangan prima dari 1 - 10, atau dari 100 - 200, dan seterusnya.

Mari kita langsung buat saja.

Yang kita buat pertama kali adalah sebuah fungsi yang menerima 2 parameter yaitu angka awal dan angka akhir.

def cari_bilangan_prima (awal, akhir): list_bilangan_prima = [] # di sini logika kita return list_bilangan_prima

Pada fungsi di atas, kita akan mengembalikan sebuah list yang berisi bilangan prima yang terdapat di antara angka awal sampai angka akhir.

Untuk melakukannya kita bisa memanfaatkan fungsi is_prima() yang telah kita buat sebelumnya.

Berikut penampakan akhir:

def cari_bilangan_prima (awal, akhir): list_bilangan_prima = [] for x in range(awal, akhir + 1): if is_prima(x): list_bilangan_prima.append(x) return list_bilangan_prima

Sekarang kita coba panggil:

print(cari_bilangan_prima(1, 40)) print(cari_bilangan_prima(100, 150)) print(cari_bilangan_prima(1050, 1100))

Output:

[1, 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37] [101, 103, 107, 109, 113, 127, 131, 137, 139, 149] [1051, 1061, 1063, 1069, 1087, 1091, 1093, 1097]

Pejelasan

  • Pada fungsi di atas kita membuat satu buah list dengan nama list_bilangan_prima
  • List tersebut selanjutnya akan kita isi dengan bilangan-bilangan prima menggunakan fungsi list.append()
  • Kita melakukan perulangan dari range angka awal sampai angka akhir + 1.
    • Kenapa pakai + 1? Itu akibat dari fungsi range() yang tidak menjadikan batas sebagai angka terakhir, sehingga kita perlu menambahkannya dengan angka 1–jika ingin memasukkannya.
  • Pada setiap iterasi, kita memanggil fungsi is_prima(x) untuk memeriksa apakah nilai x adalah bilangan prima atau bukan.
  • Jika iya, maka ia akan dimasukkan ke dalam list.
  • Dan jika tidak, program akan melanjutkan ke iterasi berikutnya.

Finishing

Program yang kita tulis secara umum telah berfungsi dengan baik.

Akan tetapi jika kalian ingin menjadi lebih baik lagi, kalian bisa menambahkan input agar angka yang kita periksa bisa ditentukan secara dinamis oleh user.

Kode Program Lengkap

Bagi kalian yang ingin mendapatkan kode program lengkap, silakan mengunjungi repositori python-latihan-logika di github.

Jangan lupa kasih ⭐⭐ ya!

Pertemuan Selanjutnya

Untuk pertemuan berikutnya, insyaallah kita akan membahas hal yang sederhana. Kita akan membuat logika untuk mencari bilangan mana yang paling besar dari 3 bilangan.

Misal kita memiliki 3 bilangan berikut: 5 13 9.

Bilangan mana yang paling besar? Dan mana yang terbesar kedua? Dan mana yang terkecil?

Insyaallah kita akan membuat logikanya hanya dengan if saja tanpa menggunakan list.

Terima kasih banyak! Jangan sungkan-sungkan untuk berkomentar!

Referensi

[1] //www.zenius.net/blog/24719/bilangan-prima-dan-contohnya – diakses tanggal 4 Maret 2021
[2] //id.wikipedia.org/wiki/Bilangan_prima – diakses tanggal 4 Maret 2021

Mengangkangi Python: Level 1

Ikuti Kursus Cara Paling Cepat Menguasai Bahasa Python.

Postingan terbaru

LIHAT SEMUA