Skenario Kasus
Pada pertemuan kali ini kita kembali akan mengasah logika kita dengan memecahkan sebuah kasus pemrograman.
Kasus yang akan kita pecahkan adalah kasus bilangan genap ganjil, ada dua skenario:
- Diberikan satu bilangan tertentu, lalu sistem akan menentukan apakah bilangan tersebut bilangan ganjil atau genap.
- Diberikan dua buah rentang nilai, lalu sistem akan menampilkan semua bilangan genap saja atau ganjil saja di antara rentang nilai tersebut.
Sebelum Memulai
Sebelum memulai, pastikan teman-teman telah familiar dengan materi-materi python dasar berikut:
Satu lagi, ini hal yang cukup penting meskipun sering disepelekan:
- pastikan kalian saat ngoding ditemani secangkir kopi panas π
Memeriksa Apakah Suatu Bilangan Adalah Genap atau Ganjil
Untuk memeriksa apakah suatu bilangan adalah bilangan ganjil atau bukan, kita bisa menggunakan operator modulus.
Operator modulus didefinisikan dengan simbol %
, dan berfungsi untuk mengembalikan hasil bagi dari dua buah operan.
Kita coba beberapa contoh berikut:
print(10 / 2) # output: 5
print(10 % 2) # output: 0
print(5 / 2) # output 2.5
print(5 % 2) # output 1
print(10 / 2.5) # output 2.5
print(10 % 4) # output 2
Nah, untuk menentukan bilangan ganjil genap, kita akan memeriksa apakah suatu bilangan bisa dibagi dengan 2. Jika bisa, berarti dia bilangan genap, dan jika tidak berarti ia adalah bilangan ganjil.
Bagaimana cara menentukan bisa atau tidak?
Ya pakai modulus. Jika bilangan tersebut habis dibagi 2 –alias tidak ada sisanya atau modulus = 0*, maka ia genap, jika sebaliknya maka ia ganjil.
Sehingga, praktiknya cukup dengan 2 baris saja seperti berikut:
x = int(input('Masukkan x: '))
print('x adalah bilangan', 'genap' if (x % 2 == 0) else 'ganjil')
Contoh output:
Masukkan x: 9
x adalah bilangan ganjil
Masukkan x: 10
x adalah bilangan genap
Menampilkan List Bilangan Genap/Ganjil dari Range tertentu
Kasus kedua adalah menampilkan bilangan genap saja atau ganjil saja dari dua range tertentu.
Awalnya kita minta user untuk memasukkan nilai awal dan nilai akhir.
Kemudian kita minta user untuk memilih, apakah ingin menampilkan bilangan ganjil atau kah bilangan genap?
Berikut ini kode program untuk meminta inputan dari user:
print('Masukkan nilai awal dan nilai akhir')
nilai_awal = int(input(' nilai awal: '))
nilai_akhir = int(input(' nilai akhir: '))
print("""\nTampilkan bilangan
1. Ganjil
2. Genap""")
pilihan = int(input('Pilihan: '))
Pada kode program di atas, kita telah meminta user untuk memasukkan 3 buah isian, lalu masing-masing kita simpan pada 3 buah variabel:
nilai_awal
nilai_akhir
pilihan
Selanjutnya, kita akan menampilkan bilangan ganjil saja jika pilihan
sama dengan 1
, dan menampilkan bilangan genap saja jika pilihan
sama dengan 2
.
Berikut ini kira-kira kode programnya:
# periksa kalau pilihan bukan 1 dan 2
if pilihan not in [1, 2]:
print('Pilihan salah')
else:
for x in range(nilai_awal, nilai_akhir + 1):
if pilihan == 1 and x % 2 == 1:
print(x, end=' ')
elif pilihan == 2 and x % 2 == 0:
print(x, end=' ')
else:
# ganti baris ketika perulangan selesai
print('')
Contoh output:
Masukkan nilai awal dan nilai akhir
nilai awal: 1
nilai akhir: 20
Tampilkan bilangan
1. Ganjil
2. Genap
Pilihan: 1
1 3 5 7 9 11 13 15 17 19
Contoh 2:
Masukkan nilai awal dan nilai akhir
nilai awal: 95
nilai akhir: 119
Tampilkan bilangan
1. Ganjil
2. Genap
Pilihan: 2
96 98 100 102 104 106 108 110 112 114 116 118
Kesimpulan
Sampai sini kita telah menyelesaikan 2 kasus bilangan ganjil genap pada python. Inti dari proses penentuan apakah suatu bilangan itu ganjil atau genap, kita memanfaatkan hasil bagi dari operator modulus %
.
Apakah ada cara lain?
Ya, ada.
Kita juga bisa mengetahui apakah suatu bilangan itu ganjil atau genap dengan cara memeriksa tipe data hasil bagi jika dibagi dengan 2, jika tipe datanya adalah float
maka ia ia ganjil, dan apa bila int
berarti dia genap. Ya.. konsepnya sama saja π
Kode Program Lengkap
Jika kalian ingin mendapatkan kode program lengkap dari pertemuan kali ini, kalian bisa mendapatkannya pada repositori python-latihan-logika di github.
Jangan lupa kasih star ya!βπ
Pertemuan Selanjutnya
Insyaallah pada pertemuan yang akan datang kita akan membahas 4 cara untuk menghitung perpangkatan pada python! Apa saja caranya? Simak terus tutorial latihan logika python di jagongoding!
Jika ada pertanyaan atau sesuatu yang ingin didiskusikan, atau bahkan request tutorial, jangan sungkan-sungkan untuk berkomentar, ya! π
Terima kasih banyak!