Pada pertemuan kali ini kita akan bermain-main dengan membuat sebuah game sederhana: yaitu game tebak angka.
Seperti apa game-nya?
Jadi saat pertama kali dijalankan, sistem akan men-generate sebuah angka secara acak, kemudian kita harus menebak angka tersebut.
Setiap kali kita salah menebak angka, komputer akan memberikan petunjuk kepada kita: apakah tebakan kita terlalu tinggi? Ataukah tebakan kita terlalu rendah?
Jadi nebaknya juga enggak asal nebak π
Kira-kira begini contoh hasil akhir game-nya:
========================================
Kami telah memiliki angka, silakan tebak!
========================================
Masukkan angka: 20
Tebakanmu terlalu besar
Masukkan angka: 15
Tebakanmu terlalu besar
Masukkan angka: 10
Tebakanmu terlalu besar
Masukkan angka: 5
Tebakanmu terlalu kecil
Masukkan angka: 8
Tebakanmu terlalu besar
Masukkan angka: 7
Selamat, tebakanmu benar!
Sebelum Mulai
Sebelum memulai ngoding, ada baiknya teman-teman telah familiar dengan materi python dasar, terutama materi-materi berikut:
Hal itu karena program yang kita buat nantinya akan berkaitan dengan materi-materi di atas, sehingga akan memudahkan teman-teman dalam mengikuti setiap langkahnya!
Oke, langsung aja kita mulai.
1. Membuat Angka Secara Acak
Langkah yang pertama harus kita lakukan adalah: mengacak angka.
Untuk mengacak angka pada python, kita bisa menggunakan modul random
kemudian memanggil fungsi randint()
.
Fungsi randint()
bertugas untuk mengacak angka bilangan bulat sesuai dengan argumen yang kita berikan.
Fungsi randint
sendiri menerima dua argumen:
- Yang pertama adalah nilai bawah
- Dan yang kedua adalah nilai atas
Misal kita akan mengacak angka dari 1-100:
>>> import random
>>>
>>> random.randint(1, 100)
61
>>> random.randint(1, 100)
52
>>> random.randint(1, 100)
98
>>> random.randint(1, 100)
5
>>> random.randint(1, 100)
76
>>> random.randint(1, 100)
8
>>>
Nah, pada contoh di atas terlihat bagaimana kita mengeksekusi kode program yang sama berkali-kali, akan tetapi menghasilkan nilai yang berbeda-beda secara acak.
Menerapkannya ke kode program
Setelah kita tahu cara membuat angka secara random, sekarang kita bisa simpan angka tersebut ke dalam sebuah variabel agar bisa kita gunakan untuk tahap selanjutnya.
Mari kita beri nama variabel untuk menyimpan angka random dengan nama: angka_rahasia
.
Berikut ini kode programnya:
import random
angka_rahasia = random.randint(1, 100)
Agar lebih informatif, tambahkan juga kode program berikut:
print('=' * 40)
print('Kami telah memiliki angka, silakan tebak!')
print('=' * 40)
2. Membuat Perulangan Tak Berbatas
Selanjutnya, kita akan membuat perulangan tak berbatas menggunakan while
.
Pada setiap iterasi, kita akan:
- Meminta user untuk memasukkan angka tebakan.
- Memeriksa apakah hasil tebakan benar.
- Jika benar, kita hentikan paksa perulangannya.
- Jika tidak, kita akan berikan informasi apakah tebakannya terlalu tinggi atau terlalu rendah. Setelah itu, kita akan ulangi lagi prosesnya dari awal.
Berikut ini kode programnya:
while True:
jawaban = int(input('\nMasukkan angka: '))
if jawaban == angka_rahasia:
print('Selamat, tebakanmu benar!')
break # berhenti paksa
else:
print(
'Tebakanmu terlalu',
'kecil' if jawaban < angka_rahasia else 'besar'
)
Sampai sini, game tebak angka yang kita buat sudah selesai!
Silakan coba jalankan program, kemudian tebak angkanya dengan benar, ya!
3. Kesempatan Menjawab Hanya 5x
Pada kode program yang sekarang, user bisa menebak angka berkali-kali sampai berhasil.
Itu karena kita menggunakan while True
di mana perulangannya tidak akan pernah berhenti sampai kita hentikan paksa, atau karena terjadi suatu error tertentu.
Nah, bagaimana caranya untuk memberi batas agar user hanya bisa menebak sekian kali?
Kita bisa menggunakan perulangan for
! Seperti berikut:
batas_percobaan = 5
for percobaan in range(batas_percobaan):
jawaban = int(input(f'\n[Percobaan {percobaan + 1}] Masukkan angka: '))
if jawaban == angka_rahasia:
print('Selamat, tebakanmu benar!')
break
else:
print(
'Tebakanmu terlalu',
'kecil' if jawaban < angka_rahasia else 'besar'
)
else:
print(f'\nSayang sekali, kamu sudah salah menebak sebanyak {batas_percobaan}x!')
Penjelasan:
- Pada kode program terbaru ini, kita menggunakan perulangan
for
sebanyak nilai dari variabelbanyak_percobaan
. - Kita juga menggunakan
for-else
, dimana blok kodeelse
akan dieksekusi jika perulanganfor
telah mencapai akhirnya (dan tidak pernah diinterupsi).
Berikut ini contoh outputnya ketika gagal:
========================================
Kami telah memiliki angka, silakan tebak!
========================================
[Percobaan 1] Masukkan angka: 50
Tebakanmu terlalu kecil
[Percobaan 2] Masukkan angka: 30
Tebakanmu terlalu kecil
[Percobaan 3] Masukkan angka: 90
Tebakanmu terlalu kecil
[Percobaan 4] Masukkan angka: 96
Tebakanmu terlalu kecil
[Percobaan 5] Masukkan angka: 99
Tebakanmu terlalu besar
Sayang sekali, kamu sudah salah menebak sebanyak 5x!
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 membuat sebuah program untuk mencari permutasi dan kombinasi!
Gimana caranya?
Simak terus tutorial latihan logika python di jagongoding!
Jika ada pertanyaan atau sesuatu yang ingin didiskusikan, error, atau bahkan request tutorial, jangan sungkan-sungkan untuk berkomentar, ya! π
Terima kasih banyak!