Tugas 6 Membuat Program Sederhana Pemilihan Di Kombinasi Dengan Perulangan
Ini adalah coding phyton nya :
Input :
Output :
https://colab.research.google.com/drive/1pZV0Yh8jNktYaxeqpCLphu6u6cA2lm1P?usp=sharing
Mohon maaf jika ada kesalahan pak, Di bawah ini adalah Kesimpulannya
Ringkasan Umum :
Bayangkan program ini adalah sebuah asisten pribadi kalkulator faktorial.
Tugasnya hanya satu: menghitung faktorial dari angka yang Anda berikan. Asisten ini akan terus bertanya, "Ada angka berapa yang mau dihitung?" sampai Anda bilang, "Sudah, cukup" (dengan mengetik `0`).
Penjelasan Bagian-Perbagian:
Kita bisa bagi program ini menjadi dua bagian utama:
1. Resep (Fungsi `hitung_faktorial`): Ini adalah instruksi langkah demi langkah tentang cara menghitung faktorial.
2. Dapur Utama (Perulangan `while True`): Ini adalah tempat di mana program berinteraksi dengan Anda, menggunakan "resep" yang sudah dibuat.
Bagian 1: Fungsi `hitung_faktorial(n)` — Resepnya.
```python
def hitung_faktorial(n):
"""Menghitung faktorial menggunakan perulangan for"""
hasil = 1
for i in range(1, n + 1):
hasil = i
return hasil.
Bayangkan ini adalah resep khusus atau mesin kecil yang tugasnya hanya menghitung faktorial.
* `def hitung_faktorial(n):`
* `def` adalah singkatan dari define (mendefinisikan). Kita sedang membuat sebuah resep.
* `hitung_faktorial` adalah nama resepnya.
* `(n)` adalah bahan yang kita butuhkan untuk resep ini. `n` adalah angka yang akan kita hitung faktorialnya.
* `hasil = 1`
* Siapkan sebuah wadah atau kotak bernama `hasil`. Di awal, kita isi kotak ini dengan angka 1. Kenapa 1? Karena dalam perkalian, mengalikan dengan 1 tidak akan mengubah hasilnya (ini adalah angka awal yang netral).
* `for i in range(1, n + 1):`
* Ini adalah perulangan atau proses pengulangan.
* `range(1, n + 1)` artinya kita akan membuat urutan angka mulai dari 1 sampai n (termasuk `n` itu sendiri). Contoh, jika `n` adalah 4, maka urutannya adalah 1, 2, 3, 4.
* `for i in ...` artinya: "Untuk setiap angka `i` dalam urutan tersebut, lakukan hal berikut:"
* `hasil *= i`
* Ini adalah inti dari perhitungan. Simbol `*=` adalah singkatan dari `hasil = hasil * i`.
* Artinya: "Ambil isi kotak `hasil` saat ini, kalikan dengan angka `i` yang sedang diproses, lalu simpan kembali hasilnya di kotak `hasil`."
Contoh jika `n` = 4:
1. Awal: `hasil` = 1
2. Loop 1 (`i`=1): `hasil` = 1 * 1 = 1
3. Loop 2 (`i`=2): `hasil` = 1 * 2 = 2
4. Loop 3 (`i`=3): `hasil` = 2 * 3 = 6
5. Loop 4 (`i`=4): `hasil` = 6 * 4 = 24
`return hasil`
Setelah semua perulangan selesai, resep ini memberikan hasil akhir (isi kotak `hasil`) kepada yang memintanya. Dalam contoh di atas, yang dikembalikan adalah 24.
Bagian 2: Program Utama
python
while True:
try:
# ... kode di dalamnya ...
except ValueError:
# ... kode untuk menangani error ...
```
* `while True:`
* Ini adalah gerbang utama yang tidak pernah tutup. Artinya, program akan mengulang semua kode yang ada di dalam blok ini selamanya, sampai ada perintah `break` (keluar).
* `try:`
* Ini adalah jaring pengaman. Program akan mencoba menjalankan semua kode di dalam blok `try`.
* `angka = int(input("Masukkan bilangan bulat positif (0 untuk keluar): "))`
* `input(...)`: Program menampilkan pesan di layar dan menunggu Anda mengetik sesuatu.
* `int(...)`: Apa yang Anda ketik akan diubah menjadi **angka bulat (integer)**.
* `angka = ...`: Hasilnya disimpan dalam sebuah kotak bernama `angka`.
* `if angka == 0:`
* Ini adalah pintu darurat untuk keluar.
* Jika Anda mengetik `0`, program akan menampilkan "Program selesai. Terima kasih!" lalu menjalankan `break`.
* `break`: Perintah khusus untuk **menghentikan** perulangan `while True`. Program selesai.
* `if angka < 0:`
* Ini adalah penjaga gerbang yang memastikan inputnya valid.
* Jika Anda memasukkan angka negatif, program akan menampilkan "Harap masukkan bilangan bulat positif!".
* `continue`: Perintah untuk **mengabaikan sisa kode** di bawahnya dan langsung memulai lagi dari awal perulangan `while True` (yaitu meminta input baru).
* `print(f"Faktorial dari {angka} adalah {hitung_faktorial(angka)}\n")`
* Baris ini hanya dijalankan jika angkanya positif (bukan 0 dan bukan negatif).
* `hitung_faktorial(angka)`: Di sinilah program memanggil resep yang kita buat di Bagian 1. Program memberikan angka yang Anda masukkan ke resep tersebut, menunggu resep selesai dihitung, dan menerima hasilnya.
* `print(f"...")`: Ini adalah cara modern Python untuk mencampur teks dengan nilai variabel. Program akan menampilkan hasilnya dengan format yang rapi, misalnya: "Faktorial dari 4 adalah 24".
* `except ValueError:`
* Ingat jaring pengaman `try` tadi? Nah, ini bagian yang menangkapnya.
* Jika di blok `try` terjadi kesalahan `ValueError` (misalnya, Anda mengetik "hello" bukan angka, sehingga `int("hello")` gagal), program tidak akan "crash".
* Sebaliknya, ia akan menjalankan kode di sini: menampilkan pesan "Input tidak valid! Harap masukkan angka bulat.".
Kesimpulan Alur Kerja :
1. Program Mulai: Masuk ke perulangan `while True` yang tak terbatas.
2. Meminta Input: Program menanyakan sebuah angka kepada Anda.
3. Coba Proses: Program mencoba mengubah input Anda menjadi angka.
Jika gagal(Anda ketik huruf): Program kasih tahu input salah, lalu kembali ke langkah 2.
4. Cek Kondisi Keluar: Jika angkanya `0`, program ucapkan selamat tinggal dan selesai.
5. Cek Validasi: Jika angkanya negatif, program kasih tahu input salah, lalu kembali ke langkah 2.
6. Hitung dan Tampilkan: Jika angkanya positif, program panggil "resep" `hitung_faktorial`, hitung hasilnya, lalu tampilkan di layar.
7. Ulangi: Setelah menampilkan hasil, program kembali ke langkah 2 dan menunggu input berikutnya.
Secara keseluruhan, kode ini dirancang dengan baik untuk menjadi robust (kuat menangani error) dan user-friendly (mudah digunakan).


Comments
Post a Comment