LAPORAN PRAKTIKUM PYTHON WEEK 5

Azzahra Febia M
5 min read5 days ago

--

Mata Kuliah : Algoritma Pemrograman Dan Struktur Data

  • DASAR TEORI

Pernyataan Nested-If dalam Python adalah pernyataan if yang bersarang di dalam pernyataan if yang lain dengan atau tanpa pernyataan else. Dalam beberapa kasus, pasti memerlukan pernyataan if yang bersarang untuk membuat seluruh aliran kode program dalam urutan semantik dan membuatnya mudah dibaca. Dengan struktur Nested-If, bisa menciptakan alur logika yang lebih rumit dan mendalam berdasarkan beberapa kondisi bersarang.

  • TUJUAN PRAKTIKUM

Setelah melakukan praktikum diharapkan dapat mengetahui bagaimana cara menggunakan pernyataan bersarang (Nested-If) dalam Python.

  • WEEKLY EXERCISE 1
1.0 Exercise 1

Disini diminta untuk membuat program untuk mengecek apakah tahun yang di input user tahun kabisat atau bukan.

  1. Input Untuk Memasukkan Angka (tahun)
# Masukkan Tahun
Tahun = int(input("Masukkan Tahun"))

Diatas mengunakan ‘int’ bukan ‘float’ karena tahun tidak mungkin ada angka desimal.

2. Menentukan Tahun Kabisat Atau Bukan

# Coba Tahun
if tahun % 4 == 0:
print("Merupakan Tahun Kabisat")
else:
print("Bukan Merupakan Tahun Kabisat")

Seperti yang kita tahu, bahwa tahun kabisat merupakan tahun yang habis dibagi 4 atau kelipatan 4. Maka diatas dituliskan ‘if tahun % 4 == … :’ yang dimana operator (%) akan mengembalikan sisa pembagian 2 bilangan. Sebagai contoh, jika hasil dari ‘tahun % 4 == 0’ berarti tahun tersebut adalah tahun kabisat karena tidak ada sisa (0), sedangkan jika hasil dari ‘tahun % 4 == 1’ berarti tahun tersebut bukan tahun kabisat karena memiliki sisa (1).

3. Program Akan Menampilkan Output

Setelah dirasa benar, press shift+enter kemudian user akan diminta untuk memasukkan tahun. Setelah press enter, program akan mengecek dan menunjukkan apakah tahun tersebut termasuk kabisat atau bukan.

1.1 contoh tahun kabisat
1.2 contoh bukan tahun kabisat
  • WEEKLY EXERCISE 2
1.3 exercise 2

Untuk exercise ini diminta membuat program untuk membandingkan dari 3 angka mana yang terbesar.

  1. Memasukkan Angka Pertama, Kedua, Ketiga
# Masukkan Angka
angka1 = float(input('masukkan angka pertama '))
angka2 = float(input('masukkan angka kedua '))
angka3 = float(input('masukkan angka ketiga '))

Berbeda dengan exercise pertama yang menggunakan ‘int’, disini menggunakan ‘float’ karena memungkinka adanya angka berbentuk desimal.

2. Pengecekan Angka Terbesar

# Mengecek Angka Terbesar
terbesar = max(angka1, angka2, angka3)

Dimana kegunaan ‘max()” tersebut adalah mengambil beberapa angka kemudian mengembalikan nilai terbesar dari beberapa angka tersebut.

3. Menampilkan Output

# Menampilkan Hasil
print(f"angka pertama: {angka1}")
print(f"angka kedua: {angka2}")
print(f"angka ketiga: {angka3}")
print(f"angka terbesar: {terbesar}")

Kegunaan f”...” atau dikenal dengan f-string adalah untuk menyisipkan variabel ke dalam string lebih ringkas dan jelas, variabel yang ingin disisipkan dimasukkan dalam kurung kurawal {} dalam string. Sebagai contoh:

# Input
angka1 = 12
angka2 = 14

print(f"angka sebelum 13 adalah {angka1} dan setelah 13 adalah {angka2}")

# Tampilan pada output
angka sebelum 13 adalah 12 dan setelah 13 adalah 14

Nah, untuk contoh output dari exercise ini sebagai berikut:

1.4 hasil
  • WEEKLY EXERCISE 3
1.5 exercise 3

Disini akan membuat program yang dimana konsumen member akan mendapat tambahan diskon sedangkan non-member tidak.

  1. Menentukan Tipe Konsumen
tipe_konsumen = input("apakah member? (ya/tidak): ")
total_belanja = float(input("total belanja: "))

Sebelum menuju perhitungan diskon, yang pertama tentukan dulu apakah user termasuk member atau bukan, supaya tidak ada kesalahan dalam pemberian diskon. Di atas mengunakan ‘float’ karna harga memungkinkan adanya angka desimal.

2. Menentukan Diskon

diskon_persentase = 0

if total_belanja > 100000:
diskon_persentase = 3
if total_belanja > 200000:
diskon_persentase = 4

Maksud dari diskon_persentase = 0 adalah bahwa pada awalnya dalam total_belanja tidak ada diskon yang diterapkan. Kemudian jika total belanja > 100.000 maka diskon 3% akan diterapkan, begitupun jika total belanja > 200.000 diskon 4% akan diterapkan.

3. Tambahan Diskon Untuk Member

Jika user adalah member, maka diskon 2% akan ditambahkan sehingga user mendapat diskon 5% atau 6%.

if tipe_konsumen.lower() == "ya":
diskon_persentase += 2

Fungsi lower() di atas adalah untuk mengubah teks yang di input pengguna menjadi huruf kecil, misal pengguna memasukkan kata “YA” maka otomatis lower() akan mengubah menjadi “ya” agar sistem dapat membaca dan tidak ada error. Sedangkan operator ‘+=” berarti diskon_persentase akan ditambah 2 dan disimpan kembali dalam variabel diskon_persentase. Ini biasa digunakan untuk menambahkan diskon pada kondisi tertentu.

4. Menampilkan Hasil

jumlah_diskon = (diskon_persentase / 100) * total_belanja
print(f"total belanja: Rp {total_belanja:.2f}")
print(f"Persentase Diskon: {diskon_persentase}%")
print(f"Jumlah Diskon: Rp {jumlah_diskon:.2f}")
print(f"Total Pembayaran: Rp {jumlah_diskon:.2f}")

Maksud dari (diskon_persentase / 100) * total_belanja di atas adalah angka dalam diskon_persentase akan dibagi 100 yang akan menghasilkan angka desimal, contoh 20 / 100 = 0.20 (nilai ini berarti 20% dalam desimal) kemudian baru dikalikan total_belanja.

Kemudian fungsi .2f yaitu untuk .2 sendiri untuk menampilkan angka dengan 2 digit desimal, sedangkan f untuk memberitahu bahwa tipe data yang digunakan adalah float (desimal/pecahan). Format ini digunakan agar hasil perhitungan lebih rapi, misal:

misal variabel jumlah diskon = jumlah_diskon : 2000.759
maka jika memakai format = {jumlah_diskon:.2f}
akan menghasilkan angka 2000.76 (dibulatkan)

Berikut contoh output exercise 3

1.6 hasil
  • WEEKLY EXERCISE 4
1.7 exercise 4

Pada exercise 4 ini akan membuat suatu program untuk membuat user baru dengan beberapa ketentuan yang harus di isi dengan tepat agar user berhasil dibuat.

  1. Memasukkan Username, Email, Password
username = input("username: ")
email = input("email: ")
password = input("password: ")

Untuk spasi setelah (:) opsional, di atas saya mengunakannya agar pada output terlihat lebih rapi.

2. Menuliskan Ketentuan-Ketentuan

if username == "":
print("Error: username wajib di isi.\n")
elif "@" not in email:
print("Error: email harus terdapat simbol '@'.\n")
elif len(password) <= 8:
print("Error: password harus lebih dari 8 karakter.\n")
else:
print("pembuatan user baru telah berhasil!")

Berdasarkan ketentuan pada modul, di input dituliskan bahwa jika username kosong, email tidak ada tanda ‘@’, password kurang dari 8 akan muncul pemberitahuan error, yang berarti pengguna harus mengulang memasukkan username/email/password sesuai dimana letak error nya agar user baru dapat berhasil dibuat.

3. Menampilkan Hasil

print(f"username: {username}")
print(f"email: {email}")
print("password: (password disembunyikan)")

Ketika berhasil dibuat, password akan otomatis disembunyikan.

1.8 contoh berhasil
1.9 contoh password error
2.0 contoh email error
2.1 contoh username error

Sekian laporan praktikum week 5, terimakasih.

--

--