#BelajarPython 2: Cek Bilangan Ganjil/Genap dan Menentukan Faktor Pembagi Sebuah Bilangan

Belajar Python: Cek Bilangan Ganjil/Genap dan Menentukan Faktor Pembagi Sebuah Bilangan
Belajar Python: Cek Bilangan Ganjil/Genap dan Menentukan Faktor Pembagi Sebuah Bilangan

Dalam pemrograman dasar, operasi modulo seringkali digunakan untuk mengecek sebuah bilangan apakah menghasilkan sisa pembagian atau tidak.

Konsep operasi modulo : semisal a adalah bilangan bulat dan m adalah bilangan bulat > 0. Operasi a mod m memberikan sisa jika a dibagi dengan m. Dengan kata lain a mod m = r sedemikian sehingga a = mq + r , dengan 0 ≤ r < m. Sebagai contoh 40 mod 6 memberikan hasil = 6 dan sisa = 4. Maka 40 mod 6 = 4.

Dalam bahasa Python, modulo disimbolkan dengan %. Dengan kata lain 40 mod 6 = 4, maka dalam bahasa Python ditulis 40 % 6 = 4.

Salah satu ide memanfaatkan operasi modulo adalah untuk menentukan sebuah bilangan termasuk ganjil atau genap. Bilangan ganjil adalah bilangan bulat positif yang jika dibagi dengan 2 akan menghasilkan sisa 1, sedangkan bilangan genap adalah bilang genap positif yang jika dibagi dengan 2 akan menghasilkan sisa 0 (tidak menghasilkan sisa).

Algoritma menentukan sebuah bilangan termasuk ganjil/genap:

  1. Masukkan bilangan yang akan diuji, misal diwakili dengan variabel angka
  2. Cek variabel angka, apakah termasuk bilangan positif atau bukan. Jika termasuk bilangan positif maka proses akan dilanjutkan dengan uji modulus. Jika bukan bilangan positif maka keluar peringatan ‘bukan bilangan bulat positif’
  3. Proses uji modulus akan menghasilkan keluaran ganjil atau genap dengan cara menguji variabel angka

Kode program genapganjil.py:

# meminta input dari user
angka = int(input("Masukkan angka: "))

if angka > 0:
   if (angka % 2) == 0:
       print angka, "termasuk bilangan genap, karena", angka, "dibagi 2 =", angka/2
   else:
       print angka, "termasuk bilangan ganjil"
else:
   print angka,"bukan bilangan genap positif"

Hasil eksekusi program:


genapganjilIde lain pemanfaatan operasi modulo yaitu untuk membuat program menentukan faktor pembagi sebuah bilangan. Misal faktor pembagi dari bilangan 20 adalah 1, 2, 4, 5, 10, dan 20.

Bicara faktor bilangan, dikenal juga istilah faktor persekutuan (termasuk faktor persekutuan terbesar) dan faktorisasi prima. Kedua konsep tersebut sudah diajarkan sejak kita masih duduk di bangku sekolah dasar. Namun, bisakah kita membuat program sederhana untuk konsep-konsep tersebut?

Saya akan mengawalinya dengan membuat program sederhana untuk menentukan faktor pembagi sebuah bilangan. Untuk dua konsep yang saya sebut terakhir akan coba saya tulis di lain kesempatan.

Algoritma untuk menentukan faktor pembagi sebuah bilangan yaitu sbb:

  1. Masukkan bilangan yang akan diuji, misal diwakili dengan variabel x
  2. Uji x dengan membagi x dengan bilangan dari rentang 1 hingga x. Jika tidak menghasilkan sisa, maka tampilkan faktor pembagi tersebut
  3. Keluaran dari program ini yaitu menampilkan daftar faktor pembagi secara berurutan (bukan dalam bentuk array).

Kode program faktorisasi.py:

# mendefiniskan fungsi
def print_factors(x):
   print "Faktor dari bilangan", x, "adalah:"
   for i in range(1, x + 1):
       if x % i == 0:
           print i

# minta input dari user, bilangan apa yang ingin dicari faktornya
angka = int(input("Masukkan angka: "))
print_factors(angka)

Hasil eksekusi program:

faktorisasi


Komentar
You May Also Like