Tuesday, September 30, 2014

Pemfaktoran Menggunakan Bilangan Prima di Bahasa Pemrograman Python

Pemfaktoran Menggunakan Bilangan Prima di Bahasa Pemrograman Python | pemrograman | komputer | bahasa python


Bilangan Prima adalah bilangan yang habis dibagi oleh angka 1 dan dirinya sendiri. Contohnya angka 11, angka tersebut hanya bisa dibagi 1 dan 11. Jika sobat ingin membaginya dengan angka 2 atau 3, maka akan menghasilkan sisa. Saya yakin sebagian besar dari sobat sudah banyak yang mengetahui dan memamahi apa itu bilangan prima. Di postingan saya yang berjudul Mencari Bilangan Prima di Bahasa Pemrograman Python sudah pernah saya jelaskan sedikit tentang bilangan prima. 

Pada postingan saya sebelumnya hanya membuat program bagaimana Mencari Bilangan Prima di Bahasa Pemrograman Python. Sedangkan pada postingan saya kali ini adalah bagaimana membuat program pemfaktoran suatu bilangan dengan menggunakan bilangan prima semua. Jika masih bingung dengan kalimat saya, langsung lihat contoh di bawah sob :
  • Angka 30, faktor primanya adalah 2, 3, dan 5 (Angka 2, 3, dan 5 adalah bilangan prima, sedangkan 2 x 3 x 5 akan menghasilkan angka 30).
  • Angka 50, faktor primmanya adalah 2, 5, dan 5 (Angka 2 dan 5 adalah bilangan prima, sedangkan 2 x 5 x 5 akan menghasilkan angka 50).
  • Angka 45, faktor primanya adalah 3, 3, dan 5 (Angka 3 dan 5 adalah bilangan prima, sedangkan 3 x 3 x 5 akan menghasilkan angka 45)
Saya rasa untuk permasalahan di atas tidaklah sulit, Dengan memahami contoh di atas, sobat bisa mengetahui program seperti apa yang akan kita buat nanti,  Kita akan membuat sebuah program untuk memfaktorkan suatu bilangan atau lebih spesifiknya bilangan asli, bilangan tersebut akan di faktorkan oleh bilangan-bilangan prima.
Baik langsung saja kita mulai pembelajaran kali ini, simak dengan seksama program di bawah ini :
  1. def FaktorDariPrima(x):
  2.     for i in range (2,x+1):
  3.         if x == i :
  4.             return [i]
  5.         elif x % i == 0 :
  6.             x = x / i
  7.             return [i] + FaktorDariPrima(x)
Keterangan :
  1. Membuat function dengan nama FaktorDariPrima(x) dan var x yang akan diinput oleh user.
  2. Looping, mengindeks angka 2 sampai (x+1) diwakili oleh var i.

    "Angka 2 sampai (x+1), nilai dari x sendiri adalah angka yang dimasukkan oleh user. Misalnya user memasukkan angka 30, berarti angka yang diindeks adalah 2 sampai (30+1). Sedangkan var i akan bernilai angka 2 sampai 30. Kenapa sampai 30 ? Tidak sampai 31 ? Karena di dalam python, penggunaan fungsi range diantara dua angka akan menghasilkan angka pertama yang diindeks sampai angka sebelum angka terakhir yang diindeks."
  3. Jika nilai dari var x sama dengan nilai dari var i, maka :
  4. Mengembalikan nilai dari var i itu sendiri dan nilai tersebut berada di dalam list. 
  5. Jika nilai dari var x dibagi oleh nilai dari var i menghasilkan sisa 0 (tidak bersisa), maka :
  6. Nilai var x yang baru adalah nilai dari var x itu sendiri dibagi dengan nilaii dari var i.
  7. Mengembalikan nilai dari var i di dalam list dan ditambah hasil rekursif dari nilai var x yang baru.

    "Program ini menggunakan rekursif seperti program yang telah saya buat sebelumnya yang berjudul Membuat Program Katakan Angka atau Terbilang di Bahasa Pemrograman Python (Full Program)"
Lihat gambar dari beberapa contoh di bawah setelah program dieksekusi :
bahasa pemrograman python
Demikian program Pemfaktoran Menggunakan Bilangan Prima di Bahasa Pemrograman Python. Semoga bermanfaat dan jangan lupa bagi yang sudah master memberikan saran dan komentar di bawah demi mengembangkan kemampuan saya dalam pemrograman python. Terimakasih :)


5 comments:

  1. Masih gk mudeng dengan bahasa pemrograman Python... @@,

    ReplyDelete
  2. Coba sobat explore dulu ke blog ini, banyak materi-materi dasar yang perlu dipelajari dulu sob.. Yang penting tetap semangat

    ReplyDelete
  3. keasni dulu gan buat dasar http://aananzhoverz.blogspot.com/2014/11/web-design.html

    ReplyDelete
  4. Ingin mengatahui lebih lanjut? Klik: https://mengenalpythonyuk.blogspot.com

    ReplyDelete