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

Popular posts from this blog

Biografi Abu Ja’far Muhammad ibnu Musa Al-Khuwarizmi

TUGAS 4 Buat Uraian Deskriptif, Flowchart, Dan Pseudocode Tentang Kehidupan Sehari-hari.

TUGAS 3 STEVE JOBS