Perulangan while dalam Python
Dalam pemrograman, sering kali terdapat perintah yang harus dilakukan berkali-kali sampai suatu kondisi tertentu terpenuhi. Misalnya, program meminta pengguna memasukkan kata sandi sampai kata sandi yang benar diberikan, meminta nilai sampai data yang dimasukkan sesuai, atau menjalankan permainan sampai pemain memilih untuk berhenti. Untuk kebutuhan seperti itu, Python menyediakan perulangan `while`.
Sebelum lebih lanjut mempelajari materi tentang Perulangan dalam Python, terlebih dahulu pelajari materi tentang: Boolean dalam Python, Percabangan if, elif, dan else dalam Python, dan Perulangan for dalam Python.
Sebelum lebih lanjut mempelajari materi tentang Perulangan dalam Python, terlebih dahulu pelajari materi tentang: Boolean dalam Python, Percabangan if, elif, dan else dalam Python, dan Perulangan for dalam Python.
Perulangan `while` memungkinkan sebuah blok perintah dijalankan berulang kali selama suatu kondisi masih bernilai benar. Ketika kondisi berubah menjadi salah, perulangan berhenti.
Konsep ini berbeda dengan perulangan `for` yang sering digunakan ketika jumlah pengulangan sudah diketahui atau ketika program perlu membaca setiap data dari suatu kumpulan. Pada `while`, perhatian utama berada pada kondisi yang menentukan apakah perulangan masih boleh dilanjutkan.
Memahami `while` penting bagi siswa karena konsep ini banyak digunakan dalam program interaktif, permainan sederhana, pemeriksaan data, menu program, dan berbagai aplikasi lainnya.
Bentuk dasarnya:
while kondisi:
perintah
Contoh sederhana:
angka = 1
while angka <= 5:
print(angka)
angka += 1
Hasil:
1
2
3
4
5
Program dimulai dengan `angka` bernilai 1. Selama `angka <= 5` bernilai benar, perintah di dalam `while` dijalankan. Setelah angka mencapai 6, kondisi menjadi salah sehingga perulangan berhenti.
Misalnya:
angka = 1
while angka <= 3:
print(angka)
angka += 1
Prosesnya adalah:
Hasil akhirnya:
1
2
3
Setelah itu, nilai `angka` menjadi 4 dan kondisi `angka <= 3` tidak terpenuhi.
Contoh:
umur = 10
while umur < 15:
print("Umur:", umur)
umur += 1
Kondisi:
umur < 15
menentukan apakah perulangan dilanjutkan.
Selama umur masih kurang dari 15, perulangan berjalan.
Contoh:
angka = 1
while angka <= 5:
print(angka)
angka += 1
Perintah:
angka += 1
sangat penting karena mengubah nilai `angka`.
Jika perintah tersebut tidak ada, program dapat menjalankan perulangan tanpa akhir.
Contoh:
angka = 1
while angka <= 5:
print(angka)
Program tersebut terus mencetak angka 1 karena nilai `angka` tidak pernah berubah. Untuk menghentikan program seperti itu, biasanya diperlukan penghentian secara manual.
Oleh karena itu, ketika menggunakan `while`, siswa perlu memastikan terdapat kemungkinan kondisi berubah menjadi `False`, kecuali memang sengaja membuat perulangan yang dihentikan menggunakan `break`.
angka = 1
while angka <= 10:
print(angka)
angka += 1
Hasil:
1
2
3
4
5
6
7
8
9
10
Program tersebut menggunakan tiga bagian penting:
Ketiganya menjadi dasar penggunaan `while`.
angka = 5
while angka >= 1:
print(angka)
angka -= 1
Hasil:
5
4
3
2
1
Setelah angka menjadi 0, kondisi `angka >= 1` bernilai salah.
angka = 2
while angka <= 10:
print(angka)
angka += 2
Hasil:
2
4
6
8
10
Setiap putaran meningkatkan nilai sebesar 2 sehingga hanya bilangan genap yang ditampilkan.
if angka == 3:
break
angka += 1
else:
print("Selesai")
Hasil:
1
2
3
Perulangan dihentikan dengan `break`, sehingga bagian `else` dilewati.
Contoh:
while True:
print()
print("=== MENU ===")
print("1. Biodata")
print("2. Nilai")
print("3. Keluar")
pilihan = input("Pilih menu: ")
if pilihan == "1":
print("Menu biodata dipilih.")
elif pilihan == "2":
print("Menu nilai dipilih.")
elif pilihan == "3":
print("Program selesai.")
break
else:
print("Pilihan tidak tersedia.")
Program akan terus menampilkan menu sampai pengguna memilih angka 3.
total = 0
angka = 1
while angka <= 5:
nilai = int(input("Masukkan angka: "))
total += nilai
angka += 1
print("Jumlah:", total)
Program meminta lima angka dan kemudian menjumlahkannya.
jumlah_data = 0
total = 0
while jumlah_data < 5:
nilai = float(input("Masukkan nilai: "))
total += nilai
jumlah_data += 1
rata_rata = total / jumlah_data
print("Rata-rata:", rata_rata)
Program meminta lima nilai dan menghitung rata-ratanya.
nilai = -1
while nilai < 0 or nilai > 100:
nilai = float(input("Masukkan nilai 0-100: "))
print("Nilai diterima:", nilai)
Jika pengguna memasukkan 150, program meminta input kembali. Jika pengguna memasukkan 85, kondisi menjadi salah sehingga perulangan berhenti.
Contoh lain:
angka = 0
while angka <= 0:
angka = int(input("Masukkan bilangan positif: "))
print("Bilangan diterima:", angka)
Program terus meminta angka sampai pengguna memasukkan bilangan yang lebih besar dari nol.
angka_rahasia = 7
tebakan = 0
while tebakan != angka_rahasia:
tebakan = int(input("Tebak angka 1-10: "))
if tebakan < angka_rahasia:
print("Terlalu kecil.")
elif tebakan > angka_rahasia:
print("Terlalu besar.")
else:
print("Tebakan benar!")
Program terus berjalan sampai pengguna berhasil menebak angka yang benar.
angka_rahasia = 7
percobaan = 0
while True:
tebakan = int(input("Tebak angka 1-10: "))
percobaan += 1
if tebakan == angka_rahasia:
print("Benar!")
print("Jumlah percobaan:", percobaan)
break
elif tebakan < angka_rahasia:
print("Terlalu kecil.")
else:
print("Terlalu besar.")
Variabel `percobaan` digunakan untuk menghitung jumlah tebakan.
Contoh:
baterai = 100
while baterai > 0:
print("Baterai:", baterai)
baterai -= 20
print("Baterai habis.")
Program terus mengurangi nilai baterai sampai nilainya tidak lebih besar dari nol. Contoh tersebut dapat membantu memahami hubungan antara kondisi dan perubahan nilai.
`for`
Cocok ketika:
Contoh:
for angka in range(1, 6):
print(angka)
`while`
Cocok ketika:
Contoh:
angka = 1
while angka <= 5:
print(angka)
angka += 1
Kedua kode tersebut menghasilkan keluaran yang serupa, tetapi pendekatan yang digunakan berbeda.
Kesalahan pertama, lupa mengubah variabel.
Contoh:
angka = 1
while angka <= 5:
print(angka)
Nilai `angka` tidak pernah berubah sehingga kondisi selalu benar.
Perbaikannya:
angka = 1
while angka <= 5:
print(angka)
angka += 1
Kesalahan kedua, kondisi awal sudah salah.
Contoh:
angka = 10
while angka < 5:
print(angka)
Perintah di dalam `while` tidak dijalankan karena kondisi sejak awal sudah `False`.
Kesalahan ketiga, salah arah perubahan.
Contoh:
angka = 5
while angka > 0:
print(angka)
angka += 1
Nilai terus bertambah sehingga kondisi `angka > 0` tidak pernah menjadi salah.
Seharusnya:
angka = 5
while angka > 0:
print(angka)
angka -= 1
Kesalahan keempat, indentasi tidak tepat
Benar:
angka = 1
while angka <= 5:
print(angka)
angka += 1
Indentasi menunjukkan perintah yang termasuk dalam blok `while`.
Mulai!
===== MENU NILAI =====
1. Tambah nilai
2. Tampilkan semua nilai
3. Hitung rata-rata
4. Tampilkan nilai tertinggi
5. Tampilkan nilai terendah
6. Keluar
Data nilai disimpan dalam sebuah list. Program harus terus menampilkan menu sampai pengguna memilih pilihan nomor 6.
Contoh:
nilai_siswa = []
while True:
print()
print("===== MENU NILAI =====")
print("1. Tambah nilai")
print("2. Tampilkan semua nilai")
print("3. Hitung rata-rata")
print("4. Nilai tertinggi")
print("5. Nilai terendah")
print("6. Keluar")
pilihan = input("Pilih menu: ")
if pilihan == "1":
nilai = float(input("Masukkan nilai: "))
nilai_siswa.append(nilai)
print("Nilai berhasil ditambahkan.")
elif pilihan == "2":
if len(nilai_siswa) == 0:
print("Belum ada nilai.")
else:
print("Daftar nilai:")
for nilai in nilai_siswa:
print(nilai)
elif pilihan == "3":
if len(nilai_siswa) == 0:
print("Belum ada nilai.")
else:
total = 0
for nilai in nilai_siswa:
total += nilai
rata_rata = total / len(nilai_siswa)
print("Rata-rata:", rata_rata)
elif pilihan == "4":
if len(nilai_siswa) == 0:
print("Belum ada nilai.")
else:
print("Nilai tertinggi:", max(nilai_siswa))
elif pilihan == "5":
if len(nilai_siswa) == 0:
print("Belum ada nilai.")
else:
print("Nilai terendah:", min(nilai_siswa))
elif pilihan == "6":
print("Program selesai.")
break
else:
print("Pilihan tidak tersedia.")
Program tantangan tersebut menggabungkan beberapa konsep Python, seperti `while`, `for`, `if`, `elif`, `else`, list, input, operator, dan fungsi bawaan.
Struktur dasar `while` terdiri atas kondisi dan blok perintah. Agar perulangan dapat berhenti secara normal, kondisi harus mengalami perubahan sehingga pada akhirnya menghasilkan `False`.
Perulangan `while` dapat digunakan untuk menghitung angka, meminta masukan pengguna, memvalidasi data, membuat menu, membuat permainan sederhana, menghitung nilai, dan berbagai keperluan lainnya.
Python juga menyediakan `break` untuk menghentikan perulangan secara langsung dan `continue` untuk melewati satu putaran. Selain itu, `while` dapat digabungkan dengan `if`, `elif`, dan `else` untuk menghasilkan program dengan alur keputusan yang lebih lengkap.
Salah satu hal yang paling penting ketika belajar `while` adalah memahami kemungkinan terjadinya perulangan tanpa akhir. Sebelum menjalankan program, pastikan variabel yang digunakan dalam kondisi memiliki perubahan yang memungkinkan kondisi menjadi salah, atau pastikan terdapat `break` sebagai mekanisme penghentian.
Perulangan `for` dan `while` sama-sama penting dalam Python. `for` biasanya lebih praktis ketika jumlah pengulangan atau kumpulan data sudah jelas, sedangkan `while` lebih sesuai ketika perulangan harus berlangsung berdasarkan kondisi tertentu.
Dengan banyak berlatih, siswa dapat memahami bagaimana program melakukan pekerjaan yang sama secara otomatis tanpa harus menuliskan perintah berkali-kali. Penguasaan `while` juga menjadi dasar yang berguna untuk membuat program interaktif dan menyelesaikan masalah pemrograman yang membutuhkan proses berulang.
Konsep ini berbeda dengan perulangan `for` yang sering digunakan ketika jumlah pengulangan sudah diketahui atau ketika program perlu membaca setiap data dari suatu kumpulan. Pada `while`, perhatian utama berada pada kondisi yang menentukan apakah perulangan masih boleh dilanjutkan.
Memahami `while` penting bagi siswa karena konsep ini banyak digunakan dalam program interaktif, permainan sederhana, pemeriksaan data, menu program, dan berbagai aplikasi lainnya.
Penjelasan Perulangan `while
Perulangan `while` adalah struktur pemrograman yang menjalankan perintah selama kondisi tertentu bernilai `True`.Bentuk dasarnya:
while kondisi:
perintah
Contoh sederhana:
angka = 1
while angka <= 5:
print(angka)
angka += 1
Hasil:
1
2
3
4
5
Program dimulai dengan `angka` bernilai 1. Selama `angka <= 5` bernilai benar, perintah di dalam `while` dijalankan. Setelah angka mencapai 6, kondisi menjadi salah sehingga perulangan berhenti.
Cara Kerja `while`
Perulangan `while` dapat dipahami melalui beberapa tahap.Misalnya:
angka = 1
while angka <= 3:
print(angka)
angka += 1
Prosesnya adalah:
- `angka` memiliki nilai 1.
- Python memeriksa `angka <= 3`.
- Kondisi benar.
- Angka 1 ditampilkan.
- Nilai `angka` ditambah 1.
- Python memeriksa kondisi lagi.
- Proses terus berlangsung sampai kondisi bernilai `False`.
Hasil akhirnya:
1
2
3
Setelah itu, nilai `angka` menjadi 4 dan kondisi `angka <= 3` tidak terpenuhi.
Pentingnya Kondisi
Kondisi merupakan bagian utama dari `while`.Contoh:
umur = 10
while umur < 15:
print("Umur:", umur)
umur += 1
Kondisi:
umur < 15
menentukan apakah perulangan dilanjutkan.
Selama umur masih kurang dari 15, perulangan berjalan.
Mengubah Nilai Variabel
Dalam banyak perulangan `while`, variabel kondisi perlu diubah agar suatu saat kondisi menjadi `False`.Contoh:
angka = 1
while angka <= 5:
print(angka)
angka += 1
Perintah:
angka += 1
sangat penting karena mengubah nilai `angka`.
Jika perintah tersebut tidak ada, program dapat menjalankan perulangan tanpa akhir.
Perulangan Tanpa Akhir
Perulangan yang tidak pernah berhenti disebut infinite loop atau perulangan tanpa akhir.Contoh:
angka = 1
while angka <= 5:
print(angka)
Program tersebut terus mencetak angka 1 karena nilai `angka` tidak pernah berubah. Untuk menghentikan program seperti itu, biasanya diperlukan penghentian secara manual.
Oleh karena itu, ketika menggunakan `while`, siswa perlu memastikan terdapat kemungkinan kondisi berubah menjadi `False`, kecuali memang sengaja membuat perulangan yang dihentikan menggunakan `break`.
Menghitung dari 1 sampai 10
Contoh paling sederhana:angka = 1
while angka <= 10:
print(angka)
angka += 1
Hasil:
1
2
3
4
5
6
7
8
9
10
Program tersebut menggunakan tiga bagian penting:
- Nilai awal.
- Kondisi perulangan.
- Perubahan nilai.
Ketiganya menjadi dasar penggunaan `while`.
Hitung Mundur
Perulangan `while` juga dapat digunakan untuk menghitung mundur.angka = 5
while angka >= 1:
print(angka)
angka -= 1
Hasil:
5
4
3
2
1
Setelah angka menjadi 0, kondisi `angka >= 1` bernilai salah.
Menampilkan Bilangan Genap
Operator sisa pembagian dapat digunakan dalam perulangan.angka = 2
while angka <= 10:
print(angka)
angka += 2
Hasil:
2
4
6
8
10
Setiap putaran meningkatkan nilai sebesar 2 sehingga hanya bilangan genap yang ditampilkan.
Menampilkan Bilangan Ganjil
Berikut dijelaskan cara untuk menampilkan bilangan ganjil menggunakan operator perulangan.Contohnya:
angka = 1
while angka <= 10:
print(angka)
angka += 2
Hasil:
1
3
5
7
9
Contoh:
angka = 1
while angka <= 10:
if angka % 2 == 0:
print(angka, "genap")
else:
print(angka, "ganjil")
angka += 1
Hasil:
1 ganjil
2 genap
3 ganjil
4 genap
5 ganjil
6 genap
7 ganjil
8 genap
9 ganjil
10 genap
Contoh tersebut memperlihatkan bahwa `while` mengatur pengulangan, sedangkan `if` menentukan tindakan untuk setiap angka.
Contoh:
jawaban = ""
while jawaban != "ya":
jawaban = input("Apakah sudah belajar Python? ")
print("Bagus, lanjutkan belajar!")
Program terus meminta jawaban selama pengguna belum memasukkan `"ya"`.
Jika pengguna memasukkan:
belum
program kembali meminta jawaban.
Jika pengguna memasukkan:
ya
kondisi menjadi salah dan perulangan berhenti.
kata_sandi = ""
while kata_sandi != "python123":
kata_sandi = input("Masukkan kata sandi: ")
print("Kata sandi benar.")
Program terus meminta masukan sampai kata sandi yang dimasukkan sesuai.
Contoh alur:
Masukkan kata sandi: abc
Masukkan kata sandi: belajar
Masukkan kata sandi: python123
Kata sandi benar.
Contoh tersebut hanya untuk pembelajaran dasar. Sistem nyata memerlukan mekanisme keamanan yang jauh lebih baik.
kata_sandi_benar = "python123"
percobaan = 0
while percobaan < 3:
kata_sandi = input("Masukkan kata sandi: ")
if kata_sandi == kata_sandi_benar:
print("Kata sandi benar.")
break
print("Kata sandi salah.")
percobaan += 1
Program tersebut memberikan kesempatan sebanyak tiga kali.
Contoh:
angka = 1
while True:
print(angka)
if angka == 5:
break
angka += 1
Hasil:
1
2
3
4
5
Kondisi `while True` sebenarnya merupakan perulangan yang akan terus berjalan. Namun, `break` menghentikannya ketika angka mencapai 5.
Contohnya pada menu program.
while True:
pilihan = input("Ketik 'keluar' untuk berhenti: ")
if pilihan == "keluar":
break
print("Pilihan:", pilihan)
Program terus berjalan sampai pengguna mengetik `"keluar"`.
Contoh:
angka = 0
while angka < 5:
angka += 1
if angka == 3:
continue
print(angka)
Hasil:
1
2
4
5
Angka 3 tidak ditampilkan karena putaran tersebut dilewati.
`break`:
Menghentikan seluruh perulangan.
`continue`:
Melewati putaran saat ini dan melanjutkan perulangan.
Contoh sederhana:
Contoh:
angka = 1
while angka <= 5:
print(angka)
angka += 1
else:
print("Perulangan selesai.")
Hasil:
1
2
3
4
5
Perulangan selesai.
Bagian `else` dijalankan setelah kondisi `while` menjadi `False`. Namun, jika perulangan dihentikan menggunakan `break`, bagian `else` tidak dijalankan.
Contoh:
angka = 1
while angka <= 5:
print(angka)
angka = 1
while angka <= 10:
print(angka)
angka += 2
Hasil:
1
3
5
7
9
`while` dengan Percabangan
Perulangan `while` dapat dikombinasikan dengan `if`.Contoh:
angka = 1
while angka <= 10:
if angka % 2 == 0:
print(angka, "genap")
else:
print(angka, "ganjil")
angka += 1
Hasil:
1 ganjil
2 genap
3 ganjil
4 genap
5 ganjil
6 genap
7 ganjil
8 genap
9 ganjil
10 genap
Contoh tersebut memperlihatkan bahwa `while` mengatur pengulangan, sedangkan `if` menentukan tindakan untuk setiap angka.
Meminta Input Sampai Benar
Salah satu penggunaan `while` yang sangat penting adalah mengulang permintaan input sampai pengguna memberikan jawaban yang sesuai.Contoh:
jawaban = ""
while jawaban != "ya":
jawaban = input("Apakah sudah belajar Python? ")
print("Bagus, lanjutkan belajar!")
Program terus meminta jawaban selama pengguna belum memasukkan `"ya"`.
Jika pengguna memasukkan:
belum
program kembali meminta jawaban.
Jika pengguna memasukkan:
ya
kondisi menjadi salah dan perulangan berhenti.
Program Memeriksa Kata Sandi
Perulangan `while` dapat digunakan untuk membuat pemeriksaan kata sandi sederhana.kata_sandi = ""
while kata_sandi != "python123":
kata_sandi = input("Masukkan kata sandi: ")
print("Kata sandi benar.")
Program terus meminta masukan sampai kata sandi yang dimasukkan sesuai.
Contoh alur:
Masukkan kata sandi: abc
Masukkan kata sandi: belajar
Masukkan kata sandi: python123
Kata sandi benar.
Contoh tersebut hanya untuk pembelajaran dasar. Sistem nyata memerlukan mekanisme keamanan yang jauh lebih baik.
Membatasi Jumlah Percobaan
Program dapat dikembangkan agar pengguna hanya memiliki beberapa kesempatan.kata_sandi_benar = "python123"
percobaan = 0
while percobaan < 3:
kata_sandi = input("Masukkan kata sandi: ")
if kata_sandi == kata_sandi_benar:
print("Kata sandi benar.")
break
print("Kata sandi salah.")
percobaan += 1
Program tersebut memberikan kesempatan sebanyak tiga kali.
Penggunaan `break`
`break` digunakan untuk menghentikan perulangan secara langsung.Contoh:
angka = 1
while True:
print(angka)
if angka == 5:
break
angka += 1
Hasil:
1
2
3
4
5
Kondisi `while True` sebenarnya merupakan perulangan yang akan terus berjalan. Namun, `break` menghentikannya ketika angka mencapai 5.
Waktu Menggunakan `break`
`break` berguna ketika program tidak mengetahui secara pasti kapan perulangan harus berhenti, tetapi terdapat kondisi tertentu yang dapat menjadi tanda penghentian.Contohnya pada menu program.
while True:
pilihan = input("Ketik 'keluar' untuk berhenti: ")
if pilihan == "keluar":
break
print("Pilihan:", pilihan)
Program terus berjalan sampai pengguna mengetik `"keluar"`.
Menggunakan `continue`
`continue` digunakan untuk melewati sisa perintah pada putaran saat ini dan langsung melanjutkan ke putaran berikutnya.Contoh:
angka = 0
while angka < 5:
angka += 1
if angka == 3:
continue
print(angka)
Hasil:
1
2
4
5
Angka 3 tidak ditampilkan karena putaran tersebut dilewati.
Perbedaan `break` dan `continue`
Perbedaan keduanya penting untuk dipahami.`break`:
Menghentikan seluruh perulangan.
`continue`:
Melewati putaran saat ini dan melanjutkan perulangan.
Contoh sederhana:
- break → berhenti sepenuhnya
- continue → melewati satu putaran
Menggunakan `while` dengan `else`
Python juga memungkinkan penggunaan `else` bersama `while`.Contoh:
angka = 1
while angka <= 5:
print(angka)
angka += 1
else:
print("Perulangan selesai.")
Hasil:
1
2
3
4
5
Perulangan selesai.
Bagian `else` dijalankan setelah kondisi `while` menjadi `False`. Namun, jika perulangan dihentikan menggunakan `break`, bagian `else` tidak dijalankan.
Contoh:
angka = 1
while angka <= 5:
print(angka)
if angka == 3:
break
angka += 1
else:
print("Selesai")
Hasil:
1
2
3
Perulangan dihentikan dengan `break`, sehingga bagian `else` dilewati.
Membuat Menu Program
Perulangan `while` sangat cocok untuk membuat menu yang terus ditampilkan sampai pengguna memilih keluar.Contoh:
while True:
print()
print("=== MENU ===")
print("1. Biodata")
print("2. Nilai")
print("3. Keluar")
pilihan = input("Pilih menu: ")
if pilihan == "1":
print("Menu biodata dipilih.")
elif pilihan == "2":
print("Menu nilai dipilih.")
elif pilihan == "3":
print("Program selesai.")
break
else:
print("Pilihan tidak tersedia.")
Program akan terus menampilkan menu sampai pengguna memilih angka 3.
Program Menjumlahkan Angka
`while` dapat digunakan untuk meminta beberapa angka.total = 0
angka = 1
while angka <= 5:
nilai = int(input("Masukkan angka: "))
total += nilai
angka += 1
print("Jumlah:", total)
Program meminta lima angka dan kemudian menjumlahkannya.
Menghitung Rata-Rata
Konsep tersebut dapat dikembangkan menjadi program rata-rata.jumlah_data = 0
total = 0
while jumlah_data < 5:
nilai = float(input("Masukkan nilai: "))
total += nilai
jumlah_data += 1
rata_rata = total / jumlah_data
print("Rata-rata:", rata_rata)
Program meminta lima nilai dan menghitung rata-ratanya.
Meminta Nilai Sampai Valid
Misalnya nilai harus berada antara 0 dan 100.nilai = -1
while nilai < 0 or nilai > 100:
nilai = float(input("Masukkan nilai 0-100: "))
print("Nilai diterima:", nilai)
Jika pengguna memasukkan 150, program meminta input kembali. Jika pengguna memasukkan 85, kondisi menjadi salah sehingga perulangan berhenti.
Program Memastikan Input Positif
Berikut diberikan contoh untuk memastikan nilai input positif.Contoh lain:
angka = 0
while angka <= 0:
angka = int(input("Masukkan bilangan positif: "))
print("Bilangan diterima:", angka)
Program terus meminta angka sampai pengguna memasukkan bilangan yang lebih besar dari nol.
Membuat Permainan Tebak Angka
Perulangan `while` dapat digunakan untuk membuat permainan sederhana.angka_rahasia = 7
tebakan = 0
while tebakan != angka_rahasia:
tebakan = int(input("Tebak angka 1-10: "))
if tebakan < angka_rahasia:
print("Terlalu kecil.")
elif tebakan > angka_rahasia:
print("Terlalu besar.")
else:
print("Tebakan benar!")
Program terus berjalan sampai pengguna berhasil menebak angka yang benar.
Menambahkan Jumlah Percobaan
Permainan tersebut dapat dikembangkan:angka_rahasia = 7
percobaan = 0
while True:
tebakan = int(input("Tebak angka 1-10: "))
percobaan += 1
if tebakan == angka_rahasia:
print("Benar!")
print("Jumlah percobaan:", percobaan)
break
elif tebakan < angka_rahasia:
print("Terlalu kecil.")
else:
print("Terlalu besar.")
Variabel `percobaan` digunakan untuk menghitung jumlah tebakan.
Mengulang Berdasarkan Kondisi
Kelebihan utama `while` adalah kemampuannya menjalankan perintah selama kondisi tertentu terpenuhi.Contoh:
baterai = 100
while baterai > 0:
print("Baterai:", baterai)
baterai -= 20
print("Baterai habis.")
Program terus mengurangi nilai baterai sampai nilainya tidak lebih besar dari nol. Contoh tersebut dapat membantu memahami hubungan antara kondisi dan perubahan nilai.
Perbandingan `for` dan `while`
`for` dan `while` sama-sama digunakan untuk melakukan pengulangan, tetapi penggunaannya dapat berbeda.`for`
Cocok ketika:
- Jumlah pengulangan sudah diketahui.
- Program ingin membaca setiap elemen dalam suatu kumpulan data.
- Program ingin mengulang berdasarkan rentang tertentu.
Contoh:
for angka in range(1, 6):
print(angka)
`while`
Cocok ketika:
- Perulangan bergantung pada suatu kondisi.
- Jumlah pengulangan belum tentu diketahui.
- Program harus terus berjalan sampai kondisi tertentu terpenuhi.
Contoh:
angka = 1
while angka <= 5:
print(angka)
angka += 1
Kedua kode tersebut menghasilkan keluaran yang serupa, tetapi pendekatan yang digunakan berbeda.
Kesalahan yang Sering Terjadi
Berikut beberapa contoh kesalahan yang sering terjadi saat melakukan perulangan.Kesalahan pertama, lupa mengubah variabel.
Contoh:
angka = 1
while angka <= 5:
print(angka)
Nilai `angka` tidak pernah berubah sehingga kondisi selalu benar.
Perbaikannya:
angka = 1
while angka <= 5:
print(angka)
angka += 1
Kesalahan kedua, kondisi awal sudah salah.
Contoh:
angka = 10
while angka < 5:
print(angka)
Perintah di dalam `while` tidak dijalankan karena kondisi sejak awal sudah `False`.
Kesalahan ketiga, salah arah perubahan.
Contoh:
angka = 5
while angka > 0:
print(angka)
angka += 1
Nilai terus bertambah sehingga kondisi `angka > 0` tidak pernah menjadi salah.
Seharusnya:
angka = 5
while angka > 0:
print(angka)
angka -= 1
Kesalahan keempat, indentasi tidak tepat
Benar:
angka = 1
while angka <= 5:
print(angka)
angka += 1
Indentasi menunjukkan perintah yang termasuk dalam blok `while`.
Latihan 1
Buat program yang menampilkan angka 1 sampai 10 menggunakan `while`.Latihan 2
Buat program yang menampilkan angka 10 sampai 1 secara menurun.Latihan 3
Buat program yang menampilkan bilangan genap dari 2 sampai 20.Latihan 4
Buat program yang menampilkan bilangan ganjil dari 1 sampai 19.Latihan 5
Buat program yang meminta pengguna memasukkan angka positif. Jika angka yang dimasukkan masih nol atau negatif, program harus meminta input kembali.Latihan 6
Buat program yang meminta pengguna memasukkan nilai antara 0 dan 100. Program tidak boleh berhenti sebelum nilai yang valid dimasukkan.Latihan 7
Buat program yang meminta lima nilai siswa menggunakan `while`. Setelah semua nilai dimasukkan, tampilkan jumlah dan rata-ratanya.Latihan 8
Buat program yang terus meminta nama sampai pengguna mengetik `"selesai"`.Latihan 9
Buat program hitung mundur dari 10 sampai 1 kemudian tampilkan:Mulai!
Latihan 10
Buat program yang meminta kata sandi. Program terus meminta kata sandi sampai pengguna memasukkan kata sandi yang benar.Latihan 11
Buat permainan tebak angka sederhana menggunakan `while`. Tentukan satu angka rahasia dan minta pengguna menebaknya sampai benar.Latihan 12
Kembangkan permainan tebak angka dengan jumlah percobaan. Tampilkan jumlah percobaan setelah jawaban benar.Latihan 13
Buat menu sederhana dengan pilihan:- Tambah
- Kurang
- Keluar
Latihan 14
Buat program yang meminta beberapa angka. Program berhenti meminta angka ketika pengguna memasukkan angka `0`. Setelah itu, tampilkan jumlah seluruh angka yang telah dimasukkan.Latihan 15
Buat program yang menerima nilai siswa satu per satu. Program berhenti ketika pengguna memasukkan angka `-1`. Setelah selesai, tampilkan jumlah data, nilai tertinggi, nilai terendah, dan rata-rata.Tantangan
Buat program pengelolaan nilai siswa menggunakan `while`. Program harus menyediakan menu seperti:===== MENU NILAI =====
1. Tambah nilai
2. Tampilkan semua nilai
3. Hitung rata-rata
4. Tampilkan nilai tertinggi
5. Tampilkan nilai terendah
6. Keluar
Data nilai disimpan dalam sebuah list. Program harus terus menampilkan menu sampai pengguna memilih pilihan nomor 6.
Contoh:
nilai_siswa = []
while True:
print()
print("===== MENU NILAI =====")
print("1. Tambah nilai")
print("2. Tampilkan semua nilai")
print("3. Hitung rata-rata")
print("4. Nilai tertinggi")
print("5. Nilai terendah")
print("6. Keluar")
pilihan = input("Pilih menu: ")
if pilihan == "1":
nilai = float(input("Masukkan nilai: "))
nilai_siswa.append(nilai)
print("Nilai berhasil ditambahkan.")
elif pilihan == "2":
if len(nilai_siswa) == 0:
print("Belum ada nilai.")
else:
print("Daftar nilai:")
for nilai in nilai_siswa:
print(nilai)
elif pilihan == "3":
if len(nilai_siswa) == 0:
print("Belum ada nilai.")
else:
total = 0
for nilai in nilai_siswa:
total += nilai
rata_rata = total / len(nilai_siswa)
print("Rata-rata:", rata_rata)
elif pilihan == "4":
if len(nilai_siswa) == 0:
print("Belum ada nilai.")
else:
print("Nilai tertinggi:", max(nilai_siswa))
elif pilihan == "5":
if len(nilai_siswa) == 0:
print("Belum ada nilai.")
else:
print("Nilai terendah:", min(nilai_siswa))
elif pilihan == "6":
print("Program selesai.")
break
else:
print("Pilihan tidak tersedia.")
Program tantangan tersebut menggabungkan beberapa konsep Python, seperti `while`, `for`, `if`, `elif`, `else`, list, input, operator, dan fungsi bawaan.
Kesimpulan
Perulangan `while` digunakan untuk menjalankan suatu blok perintah selama kondisi tertentu masih bernilai benar. Struktur ini sangat berguna ketika jumlah pengulangan belum diketahui secara pasti dan penghentian program bergantung pada suatu kondisi.Struktur dasar `while` terdiri atas kondisi dan blok perintah. Agar perulangan dapat berhenti secara normal, kondisi harus mengalami perubahan sehingga pada akhirnya menghasilkan `False`.
Perulangan `while` dapat digunakan untuk menghitung angka, meminta masukan pengguna, memvalidasi data, membuat menu, membuat permainan sederhana, menghitung nilai, dan berbagai keperluan lainnya.
Python juga menyediakan `break` untuk menghentikan perulangan secara langsung dan `continue` untuk melewati satu putaran. Selain itu, `while` dapat digabungkan dengan `if`, `elif`, dan `else` untuk menghasilkan program dengan alur keputusan yang lebih lengkap.
Salah satu hal yang paling penting ketika belajar `while` adalah memahami kemungkinan terjadinya perulangan tanpa akhir. Sebelum menjalankan program, pastikan variabel yang digunakan dalam kondisi memiliki perubahan yang memungkinkan kondisi menjadi salah, atau pastikan terdapat `break` sebagai mekanisme penghentian.
Perulangan `for` dan `while` sama-sama penting dalam Python. `for` biasanya lebih praktis ketika jumlah pengulangan atau kumpulan data sudah jelas, sedangkan `while` lebih sesuai ketika perulangan harus berlangsung berdasarkan kondisi tertentu.
Dengan banyak berlatih, siswa dapat memahami bagaimana program melakukan pekerjaan yang sama secara otomatis tanpa harus menuliskan perintah berkali-kali. Penguasaan `while` juga menjadi dasar yang berguna untuk membuat program interaktif dan menyelesaikan masalah pemrograman yang membutuhkan proses berulang.
Artikel ini akan dibaca oleh: Anggie Harsellia Suryani, Anggun Stya Mas Putri, Anindya Galuh Prabeswari, Anisa Salsa Nabila Meita, dan Annisa Ayu Farisanti.
40 komentar untuk "Perulangan while dalam Python"
Hubungi admin melalui Wa : +62-896-2414-6106
Respon komentar 7 x 24 jam, mohon bersabar jika komentar tidak langsung dipublikasi atau mendapatkan balasan secara langsung.
Bantu admin meningkatkan kualitas blog dengan melaporkan berbagai permasalahan seperti typo, link bermasalah, dan lain sebagainya melalui kolom komentar.
- Ikatlah Ilmu dengan Memostingkannya -
Apa itu buku non aset di Perpustakaan SMAN 8 Semarang?
BalasHapusBuku non aset adalah buku yang dimiliki oleh perpustakaan tetapi tidak termasuk dalam daftar inventaris sekolah. Biasanya, buku-buku ini dapat berupa sumbangan atau hibah yang tidak dicatat sebagai aset tetap sekolah.
HapusMengapa penting untuk mengetahui jadwal pengembalian buku non aset?
BalasHapusMengetahui jadwal pengembalian penting agar peminjam dapat mengembalikan buku tepat waktu, menghindari denda keterlambatan, dan memastikan ketersediaan buku untuk peminjam lain.
HapusBagaimana cara mengetahui jadwal pengembalian buku non aset?
BalasHapusJadwal pengembalian buku non aset biasanya tercantum pada kartu peminjaman atau sistem informasi perpustakaan. Petugas perpustakaan juga dapat memberikan informasi ini saat proses peminjaman.
HapusBerapa lama jangka waktu peminjaman buku non aset?
BalasHapusUmumnya, buku non aset dapat dipinjam selama 2 minggu. Namun, jangka waktu ini bisa bervariasi tergantung pada kebijakan perpustakaan.
HapusApa yang harus dilakukan jika lupa tanggal pengembalian buku?
BalasHapusSegera periksa kartu peminjaman atau hubungi petugas perpustakaan untuk memastikan tanggal pengembalian. Beberapa perpustakaan juga mengirimkan pengingat melalui email atau pesan teks.
HapusApakah bisa memperpanjang masa peminjaman buku non aset?
BalasHapusYa, peminjaman buku non aset biasanya dapat diperpanjang jika buku tersebut tidak sedang dipesan oleh orang lain. Permohonan perpanjangan dapat diajukan melalui sistem perpustakaan atau langsung ke petugas.
HapusBagaimana prosedur untuk memperpanjang masa peminjaman?
BalasHapusPeminjam harus menghubungi petugas perpustakaan atau menggunakan sistem online untuk mengajukan perpanjangan sebelum jatuh tempo pengembalian. Perpanjangan biasanya diberikan untuk periode yang sama dengan peminjaman awal.
HapusApakah ada batas maksimal perpanjangan peminjaman buku non aset?
BalasHapusBiasanya ada batas maksimal perpanjangan, misalnya dua kali perpanjangan. Kebijakan ini bertujuan agar buku tetap tersedia untuk peminjam lainnya.
HapusApa konsekuensi jika terlambat mengembalikan buku non aset?
BalasHapusKonsekuensinya bisa berupa denda harian untuk setiap hari keterlambatan atau pembatasan hak peminjaman di masa mendatang. Beberapa perpustakaan juga bisa menahan ijazah atau rapor siswa hingga buku dikembalikan.
HapusBagaimana cara membayar denda keterlambatan?
BalasHapusDenda keterlambatan biasanya dibayarkan langsung ke petugas perpustakaan. Beberapa perpustakaan mungkin menerima pembayaran melalui transfer bank atau sistem pembayaran digital.
HapusApakah ada kebijakan pengampunan denda?
BalasHapusBeberapa perpustakaan menerapkan kebijakan pengampunan denda pada periode tertentu, seperti hari ulang tahun perpustakaan atau minggu buku. Hal ini biasanya diumumkan sebelumnya.
HapusApa yang harus dilakukan jika buku non aset hilang?
BalasHapusSegera laporkan kehilangan kepada petugas perpustakaan. Peminjam mungkin diminta untuk mengganti buku yang hilang dengan buku yang sama atau membayar biaya penggantian sesuai dengan nilai buku tersebut.
HapusBagaimana cara mengetahui apakah buku non aset yang dipinjam dapat diperpanjang?
BalasHapusPeriksa status buku melalui sistem perpustakaan online atau tanyakan langsung kepada petugas perpustakaan. Jika buku tidak sedang dipesan orang lain, kemungkinan besar perpanjangan dapat dilakukan.
HapusApakah semua buku non aset di Perpustakaan SMAN 8 Semarang dapat dipinjam?
BalasHapusTidak semua buku non aset dapat dipinjam. Beberapa mungkin hanya tersedia untuk dibaca di tempat karena faktor langka atau berharga.
HapusBagaimana cara memesan buku non aset yang sedang dipinjam orang lain?
BalasHapusPeminjam bisa memesan buku melalui sistem online perpustakaan atau langsung melalui petugas perpustakaan. Setelah buku dikembalikan, peminjam akan dihubungi untuk mengambil buku tersebut.
HapusApakah ada batasan jumlah buku non aset yang dapat dipinjam?
BalasHapusYa, biasanya ada batasan jumlah buku yang dapat dipinjam secara bersamaan, misalnya maksimal 3 buku per siswa.
HapusApakah ada program khusus untuk mengingatkan siswa tentang jadwal pengembalian?
BalasHapusBeberapa perpustakaan menggunakan sistem notifikasi email atau SMS untuk mengingatkan siswa tentang jadwal pengembalian. Ini membantu mengurangi risiko keterlambatan.
HapusApakah jadwal pengembalian buku non aset bisa berbeda untuk siswa yang berbeda?
BalasHapusJadwal pengembalian biasanya seragam, tetapi bisa ada pengecualian untuk kasus tertentu, seperti kebutuhan akademis khusus atau program tertentu.
HapusBagaimana cara mengembalikan buku non aset di luar jam operasional perpustakaan?
BalasHapusBeberapa perpustakaan menyediakan drop box untuk pengembalian buku di luar jam operasional. Buku yang dikembalikan melalui drop box akan diproses pada hari kerja berikutnya.
HapusApakah perpustakaan menyediakan layanan konsultasi untuk peminjaman buku non aset?
BalasHapusYa, perpustakaan biasanya menyediakan layanan konsultasi di meja layanan atau melalui kontak online. Petugas perpustakaan siap membantu menjawab pertanyaan dan memberikan informasi terkait peminjaman buku.
Hapus