(Pertemuan 05) Logika Percabangan: IF, ELSE

Branching Logic: IF, ELSE

Offline di Departemen Matematika
Author

Tim Dosen Praktikum Algoritma dan Pemrograman

Published

September 24, 2024

Kembali ke Mata Kuliah Praktikum Algoritma dan Pemrograman

24 September 2024 - Pertemuan 5

Materi Pembahasan:

  1. Pernyataan Bersyarat IF

  2. Conditional Statement

  3. Nested Conditional Statement

  4. Penggunaan Boolean Operators

  5. Diskusi

Praktikum Algoritma dan Pemrograman PTA 2024-2025
Departemen Matematika FMIPA Universitas Indonesia

Pernyataan Bersyarat - IF

Jika memenuhi kondisi yang diinginkan, maka akan dijalankan perintah selanjutnya. Jika tidak program akan lanjut tanpa menghiraukan kondisi if.

#pengecekan bilangan positif

n = 8

if n>0:
  print("n bilangan positif")
print("Terima kasih!")
n bilangan positif
Terima kasih!

Conditional Statement

  • Else if (elif), program akan menambahkan kondisi kedua yang akan menjalankan suatu perintah tertentu apabila memenuhi kondisi dari else if (elif).

  • Else adalah conditional statement yang akan dijalankan apabila conditional statement if dan elif sebelumnya tidak dapat dipenuhi.

  • Kondisi dari conditional statement bisa berupa perbandingan >= , <=, >, <, ==, != jika berupa integer atau float.

  • Perbandingan ==, !=, dan in jika berupa suatu string.

Conditional Statement

#Conditional Statement - ELIF

n = -5

#kondisi 1
if n > 0:
  print("n bilangan positif")

#kondisi 2
elif n < 0:
  print("n bilangan negatif")

elif n == 0:
  print("n adalah nol")
#Conditional Statement - ELSE

n = 2

#kondisi 1
if n > 0:
  print("n bilangan positif")

#kondisi 2
elif n < 0:
  print("n bilangan negatif")

#jika kondisi 1 dan kondisi 2 tidak memenuhi
else:
  print("n adalah nol")
#Conditional Statement dengan Input

#pengecekan bilangan positif, negatif, atau nol

n = float(input("Masukkan bilangan real: "))

if n > 0:
  print("n bilangan positif")

elif n < 0:
  print("n bilangan negatif")

else:
  print("n adalah nol")
#Conditional Statement dengan Integer

umur = int(input("Masukkan umur anda: "))

if umur < 12:
  print("Anda masuk kategori anak-anak")

elif umur <= 21:
  print ("Anda masuk kategori remaja")

elif umur <= 60:
  print("Anda masuk kategori dewasa")

else:
  print("Anda masuk kategori lansia")
#Conditional Statement dengan String

s1 = str(input("Masukkan string pertama = "))
s2 = str(input("Masukkan string kedua = "))
if s1==s2:
  print(s1, "sama dengan", s2)
else:
  print(s1, "tidak sama dengan", s2)
Masukkan string pertama = ayam
Masukkan string kedua = kucing
ayam tidak sama dengan kucing

Nested Conditional Statement

#mencari tahu apakah suatu bilangan bulat positif, negatif, atau nol dan apakah bilangan itu ganjil atau genap

n = int(input("Masukkan bilangan bulat: "))

if n>0:
  if n%2==0: #modulo
    print("n bilangan bulat positif genap")
  else:
    print("n bilangan bulat positif ganjil")

elif n<0:
  if n%2==0: #modulo
    print("n bilangan bulat negatif genap")
  else:
    print("n bilangan bulat negatif ganjil")

else:
  print("n adalah bilangan nol")

Boolean Operators AND - OR

#mencari tahu apakah suatu bilangan bulat positif, negatif, atau nol dan apakah bilangan itu ganjil atau genap

n = int(input("Masukkan bilangan bulat: "))

if n>0 and n%2==0:
  print("n bilangan positif genap")

elif n>0 and n%2==1:
  print("n bilangan positif ganjil")

elif n<0 and n%2==0:
  print("n bilangan negatif genap")

elif n<0 and n%2==1:
  print("n bilangan negatif ganjil")

else:
  print("n adalah nol")

Diskusi 1

Program berikut untuk menampilkan grade berdasarkan nilai yang diinputkan. Rules :

  1. Predikat A untuk \(nilai \geq 85\)

  2. Predikat A- untuk \(80 \leq nilai < 85\)

  3. Predikat B+ untuk \(75 \leq nilai < 80\)

  4. Predikat B untuk \(70 \leq nilai < 75\)

  5. Predikat B- untuk \(65 \leq nilai < 70\)

  6. Predikat C+ untuk \(60 \leq nilai < 65\)

  7. Predikat C untuk \(55 \leq nilai < 60\)

  8. Predikat D untuk \(40 \leq nilai < 55\)

  9. Selain itu, maka predikat E.

Perbaiki kodenya agar program berjalan dengan baik.

nilai = float(input('Masukkan nilai: '))

if nilai >= 85:
    print('Predikat A')

elif nilai >= 80:
  print('Predikat A-')

elif nilai >= 75:
  print('Predikat B+')

elif nilai >= 70:
  print('Predikat B')

elif nilai >= 65:
  print('Predikat B-')

elif nilai >= 60:
  print('Predikat C+')

elif nilai >= 55:
  print('Predikat C')

elif nilai >= 40:
  print('Predikat D')

else:
  print('Predikat E');
Masukkan nilai: 92.5
Predikat A

Diskusi 2

Tuliskan kode program untuk mencari angka terbesar dari 3 bilangan yang diinputkan menggunakan IF - ELSE.

x1 = float(input("masukkan bilangan pertama:"))
x2 = float(input("masukkan bilangan kedua:"))
x3 = float(input("masukkan bilangan ketiga:"))
if x1 >= x2 and x1 >= x3:
  print(x1, 'adalah bilangan terbesar')
elif x2 >= x1 and x2 >= x3:
  print(x2, "adalah bilangan terbesar")
else:
  print(x3, "adalah bilangan terbesar")
masukkan bilangan pertama:3
masukkan bilangan kedua:4
masukkan bilangan ketiga:5
5.0 adalah bilangan terbesar
x1 = float(input("masukkan bilangan pertama:"))
x2 = float(input("masukkan bilangan kedua:"))
x3 = float(input("masukkan bilangan ketiga:"))

maks = x1
if x2 > maks:
  maks = x2
if x3 > maks:
  maks = x3
print('Nilai terbesar dari ketiga bilangan adalah {}'.format(maks))
masukkan bilangan pertama:3
masukkan bilangan kedua:4
masukkan bilangan ketiga:5
Nilai terbesar dari ketiga bilangan adalah 5.0

Diskusi 3

Tuliskan kode program untuk mengetahui tahun kabisat dalam perhitungan kalender masehi.

Petunjuk:
Suatu tahun disebut tahun kabisat jika memenuhi kriteria berikut:

  • Tahun tersebut habis dibagi 4, tetapi

  • Jika habis dibagi 100, maka tahun tersebut harus habis dibagi 400

tahun=int(input("Masukkan tahun:"))
if tahun%4==0 and tahun%100!=0:
  print("Tahun Kabisat")
elif tahun%100==0 and tahun%400==0:
  print("Tahun Kabisat")
else:
  print("Bukan Tahun Kabisat")
Masukkan tahun:1900
Bukan Tahun Kabisat