12 Latihan Komparasi dan Logika Python Contoh dan Pembahasan

ViaByte.Net

Latihan Komparasi dan Logika Python

Pemrograman adalah tentang pemecahan masalah dan pengembangan solusi yang efisien menggunakan algoritma dan logika.

Dalam artikel ini, kami akan memberikan beberapa latihan komparasi dan logika Python yang akan membantu Anda meningkatkan pemahaman Anda tentang konsep-konsep dasar dalam pemrograman dan bahasa pemrograman Python.

Mari kita mulai dengan beberapa latihan sederhana yang akan menguji kemampuan Anda!

Latihan 1: Pengecekan Bilangan Ganjil atau Genap

Tugas pertama kita adalah membuat program Python sederhana yang memeriksa apakah suatu bilangan adalah bilangan ganjil atau genap.

def cek_ganjil_genap(angka):
    if angka % 2 == 0:
        print(angka, "adalah bilangan genap")
    else:
        print(angka, "adalah bilangan ganjil")

# Panggil fungsi untuk memeriksa bilangan
cek_ganjil_genap(10)
cek_ganjil_genap(15)

Dalam kode tersebut, kita mendefinisikan sebuah fungsi bernama cek_ganjil_genap(angka) yang memiliki satu parameter angka. Fungsi ini bertujuan untuk memeriksa apakah suatu bilangan merupakan bilangan genap atau ganjil.

Dalam fungsi tersebut, kita menggunakan struktur kondisional if-else untuk memeriksa apakah sisa bagi (%) dari angka terhadap 2 sama dengan 0 atau tidak. Jika sisa bagi tersebut sama dengan 0, maka kita menganggap bahwa bilangan tersebut genap, karena bilangan genap adalah bilangan yang habis dibagi 2. Jika sisa bagi tersebut tidak sama dengan 0, maka bilangan tersebut adalah ganjil.

Setelah kondisi dievaluasi, fungsi akan mencetak pesan yang sesuai sesuai dengan hasil pengecekan, yaitu apakah bilangan tersebut genap atau ganjil.

Contoh pemanggilan fungsi:

  1. cek_ganjil_genap(10): Kita memanggil fungsi cek_ganjil_genap() dengan argumen 10. Karena 10 adalah bilangan genap (sisa bagi 10 dibagi 2 adalah 0), maka output yang dihasilkan adalah “10 adalah bilangan genap”.
  2. cek_ganjil_genap(15): Kita memanggil fungsi cek_ganjil_genap() dengan argumen 15. Karena 15 adalah bilangan ganjil (sisa bagi 15 dibagi 2 tidak sama dengan 0), maka output yang dihasilkan adalah “15 adalah bilangan ganjil”.

Latihan 2: Menghitung Jumlah Digit dalam Sebuah Angka

Tugas selanjutnya adalah membuat program Python yang menghitung jumlah digit dalam sebuah angka.

def hitung_digit(angka):
    jumlah_digit = len(str(angka))
    print("Jumlah digit dalam angka", angka, "adalah", jumlah_digit)

# Panggil fungsi untuk menghitung jumlah digit
hitung_digit(12345)
hitung_digit(987654321)

Dalam kode tersebut, kita mendefinisikan sebuah fungsi bernama hitung_digit(angka) yang memiliki satu parameter angka. Fungsi ini bertujuan untuk menghitung jumlah digit dalam suatu angka.

Dalam fungsi tersebut, langkah-langkahnya adalah sebagai berikut:

  1. Mengonversi angka menjadi string menggunakan fungsi str(angka). Hal ini dilakukan agar kita dapat menggunakan fungsi len() untuk menghitung panjang string, yang dalam konteks ini merepresentasikan jumlah digit.
  2. Menghitung jumlah karakter (digit) dalam string yang dihasilkan dari langkah pertama menggunakan fungsi len(), dan menyimpan hasilnya dalam variabel jumlah_digit.
  3. Mencetak pesan yang menyatakan jumlah digit dalam angka yang diberikan.

Contoh pemanggilan fungsi:

  1. hitung_digit(12345): Kita memanggil fungsi hitung_digit() dengan argumen 12345. Langkah-langkah di dalam fungsi akan menghitung jumlah digit dalam angka tersebut, yang dalam hal ini adalah 5 digit. Maka output yang dihasilkan adalah “Jumlah digit dalam angka 12345 adalah 5”.
  2. hitung_digit(987654321): Kita memanggil fungsi hitung_digit() dengan argumen 987654321. Langkah-langkah di dalam fungsi akan menghitung jumlah digit dalam angka tersebut, yang dalam hal ini adalah 9 digit. Maka output yang dihasilkan adalah “Jumlah digit dalam angka 987654321 adalah 9”.

Latihan 3: Pengecekan Bilangan Prima

Selanjutnya, mari buat program Python untuk memeriksa apakah suatu bilangan adalah bilangan prima atau tidak.

def cek_prima(angka):
    if angka <= 1:
        print(angka, "bukan bilangan prima")
        return

    for i in range(2, int(angka ** 0.5) + 1):
        if angka % i == 0:
            print(angka, "bukan bilangan prima")
            return

    print(angka, "adalah bilangan prima")

# Panggil fungsi untuk memeriksa bilangan prima
cek_prima(11)
cek_prima(15)

Dalam kode tersebut, kita mendefinisikan sebuah fungsi bernama cek_prima(angka) yang memiliki satu parameter angka. Fungsi ini bertujuan untuk memeriksa apakah suatu bilangan adalah bilangan prima atau bukan.

Langkah-langkah dalam fungsi cek_prima(angka) adalah sebagai berikut:

  1. Pertama, kita melakukan pengecekan apakah angka kurang dari atau sama dengan 1. Jika ya, maka angka bukanlah bilangan prima, karena bilangan prima harus lebih besar dari 1. Dalam hal ini, kita cetak pesan bahwa angka bukanlah bilangan prima, kemudian fungsi dihentikan menggunakan pernyataan return.
  2. Jika angka lebih besar dari 1, kita lakukan iterasi untuk memeriksa apakah angka habis dibagi oleh bilangan lain selain 1 dan dirinya sendiri. Iterasi dilakukan dengan menggunakan loop for yang akan berjalan dari 2 hingga akar kuadrat dari angka (dinyatakan sebagai int(angka ** 0.5) + 1). Hal ini karena faktor-faktor prima dari suatu bilangan tidak akan lebih besar dari akar kuadrat dari bilangan itu sendiri. Dalam setiap iterasi, kita periksa apakah angka habis dibagi oleh i. Jika ya, maka angka bukanlah bilangan prima, karena i adalah faktor dari angka. Dalam hal ini, kita cetak pesan bahwa angka bukanlah bilangan prima, kemudian fungsi dihentikan menggunakan pernyataan return.
  3. Jika tidak ditemukan pembagi untuk angka dari 2 hingga akar kuadrat dari angka, maka angka adalah bilangan prima, dan kita cetak pesan bahwa angka adalah bilangan prima.

Contoh pemanggilan fungsi:

  1. cek_prima(11): Kita memanggil fungsi cek_prima() dengan argumen 11. Karena 11 adalah bilangan prima, maka output yang dihasilkan adalah “11 adalah bilangan prima”.
  2. cek_prima(15): Kita memanggil fungsi cek_prima() dengan argumen 15. Karena 15 bukanlah bilangan prima (dapat dibagi oleh 3), maka output yang dihasilkan adalah “15 bukan bilangan prima”.
Baca juga:  Latihan Perhitungan Sederhana dengan Python

Latihan 4: Pengecekan Kata Palindrom

Terakhir, mari buat program Python untuk memeriksa apakah sebuah kata adalah kata palindrom atau tidak.

def cek_palindrom(kata):
    if kata == kata[::-1]:
        print(kata, "adalah kata palindrom")
    else:
        print(kata, "bukan kata palindrom")

# Panggil fungsi untuk memeriksa kata palindrom
cek_palindrom("radar")
cek_palindrom("python")

Dalam kode tersebut, kita mendefinisikan sebuah fungsi bernama cek_palindrom(kata) yang memiliki satu parameter kata. Fungsi ini bertujuan untuk memeriksa apakah suatu kata adalah kata palindrom atau bukan.

Langkah-langkah dalam fungsi cek_palindrom(kata) adalah sebagai berikut:

  1. Pertama, kita melakukan pengecekan apakah kata sama dengan kebalikannya (kata[::-1]). Dalam Python, menggunakan kata[::-1] akan menghasilkan kata dengan urutan karakternya terbalik. Jika kata sama dengan kebalikannya, maka kata tersebut adalah kata palindrom.
  2. Jika kata sama dengan kebalikannya, kita cetak pesan bahwa kata adalah kata palindrom.
  3. Jika kata tidak sama dengan kebalikannya, maka kata bukanlah kata palindrom, dan kita cetak pesan yang menyatakan bahwa kata bukanlah kata palindrom.

Contoh pemanggilan fungsi:

  1. cek_palindrom("radar"): Kita memanggil fungsi cek_palindrom() dengan argumen “radar”. Karena “radar” adalah kata palindrom (bacaannya sama terbalik), maka output yang dihasilkan adalah “radar adalah kata palindrom”.
  2. cek_palindrom("python"): Kita memanggil fungsi cek_palindrom() dengan argumen “python”. Karena “python” bukanlah kata palindrom, maka output yang dihasilkan adalah “python bukan kata palindrom”.

Latihan 5: Pengecekan Kata Terpanjang

Buatlah sebuah program Python yang menerima sebuah daftar kata-kata dan kemudian mencetak kata terpanjang dari daftar tersebut.

def kata_terpanjang(daftar_kata):
    kata_terpanjang = ""
    for kata in daftar_kata:
        if len(kata) > len(kata_terpanjang):
            kata_terpanjang = kata
    print("Kata terpanjang dalam daftar:", kata_terpanjang)

# Panggil fungsi untuk mencetak kata terpanjang
daftar_kata = ["apel", "jeruk", "pisang", "nanas", "anggur"]
kata_terpanjang(daftar_kata)

Dalam kode tersebut, kita mendefinisikan sebuah fungsi bernama kata_terpanjang(daftar_kata) yang memiliki satu parameter yaitu daftar_kata, yang merupakan sebuah list yang berisi sejumlah kata.

Langkah-langkah dalam fungsi kata_terpanjang(daftar_kata) adalah sebagai berikut:

  1. Pertama, kita inisialisasi sebuah variabel kata_terpanjang dengan string kosong (“”). Variabel ini akan digunakan untuk menyimpan kata terpanjang dalam daftar.
  2. Selanjutnya, kita melakukan iterasi melalui setiap kata dalam daftar_kata menggunakan loop for. Setiap kali iterasi, kita akan memeriksa panjang kata tersebut.
  3. Dalam setiap iterasi, kita bandingkan panjang kata saat ini dengan panjang kata_terpanjang. Jika panjang kata saat ini lebih besar dari panjang kata_terpanjang, maka kita update nilai kata_terpanjang dengan kata saat ini.
  4. Setelah selesai iterasi, kita akan memiliki nilai kata_terpanjang yang merupakan kata terpanjang dalam daftar.
  5. Terakhir, kita cetak pesan yang menyatakan kata terpanjang dalam daftar.

Contoh pemanggilan fungsi: Kita memanggil fungsi kata_terpanjang() dengan argumen daftar_kata yang merupakan list ["apel", "jeruk", "pisang", "nanas", "anggur"]. Setelah dieksekusi, fungsi akan mencetak kata terpanjang dalam daftar, yang dalam kasus ini adalah “pisang”.

Latihan 6: Menentukan Tahun Kabisat

Buatlah program Python untuk menentukan apakah sebuah tahun yang dimasukkan pengguna adalah tahun kabisat atau bukan.

def cek_tahun_kabisat(tahun):
    if (tahun % 4 == 0 and tahun % 100 != 0) or (tahun % 400 == 0):
        print(tahun, "adalah tahun kabisat")
    else:
        print(tahun, "bukan tahun kabisat")

# Panggil fungsi untuk menentukan tahun kabisat
cek_tahun_kabisat(2020)
cek_tahun_kabisat(2021)

Dalam kode tersebut, kita mendefinisikan sebuah fungsi bernama cek_tahun_kabisat(tahun) yang memiliki satu parameter yaitu tahun, yang merupakan tahun yang akan diperiksa apakah merupakan tahun kabisat atau tidak.

Langkah-langkah dalam fungsi cek_tahun_kabisat(tahun) adalah sebagai berikut:

  1. Pertama, kita memeriksa apakah tahun tersebut habis dibagi 4 (tahun % 4 == 0) dan tidak habis dibagi 100 (tahun % 100 != 0). Jika kondisi ini terpenuhi, maka tahun tersebut adalah tahun kabisat karena tahun kabisat adalah tahun yang habis dibagi 4 tetapi tidak habis dibagi 100.
  2. Atau, jika tahun tersebut habis dibagi 400 (tahun % 400 == 0), maka tahun tersebut juga merupakan tahun kabisat. Hal ini karena tahun yang habis dibagi 400 juga merupakan tahun kabisat, meskipun habis dibagi 100.
  3. Jika salah satu dari kondisi di atas terpenuhi, maka kita cetak pesan bahwa tahun tersebut adalah tahun kabisat.
  4. Jika kedua kondisi di atas tidak terpenuhi, maka tahun tersebut bukanlah tahun kabisat, dan kita cetak pesan yang menyatakan hal tersebut.

Contoh pemanggilan fungsi: Kita memanggil fungsi cek_tahun_kabisat() dengan argumen 2020 dan 2021. Setelah dieksekusi, fungsi akan mencetak pesan apakah tahun tersebut merupakan tahun kabisat atau bukan. Pada pemanggilan pertama (cek_tahun_kabisat(2020)), output yang dihasilkan adalah “2020 adalah tahun kabisat”, sedangkan pada pemanggilan kedua (cek_tahun_kabisat(2021)), output yang dihasilkan adalah “2021 bukan tahun kabisat”.

Latihan 7: Pengecekan Pangram

Buatlah program Python untuk memeriksa apakah sebuah kalimat adalah pangram atau tidak. Sebuah pangram adalah kalimat yang mengandung setidaknya satu dari setiap huruf abjad.

import string

def cek_pangram(kalimat):
    huruf_abjad = set(string.ascii_lowercase)
    kalimat = kalimat.lower().replace(" ", "")
    if set(kalimat) >= huruf_abjad:
        print("Kalimat tersebut adalah pangram")
    else:
        print("Kalimat tersebut bukan pangram")

# Panggil fungsi untuk memeriksa pangram
cek_pangram("The quick brown fox jumps over the lazy dog")
cek_pangram("Hello World")

Dalam kode tersebut, kita mendefinisikan sebuah fungsi bernama cek_pangram(kalimat) yang memiliki satu parameter yaitu kalimat, yang merupakan sebuah string yang akan diperiksa apakah merupakan pangram atau tidak.

Langkah-langkah dalam fungsi cek_pangram(kalimat) adalah sebagai berikut:

  1. Pertama, kita mengimpor modul string yang berisi berbagai konstanta string seperti ascii_lowercase yang berisi semua huruf kecil dalam alfabet bahasa Inggris.
  2. Selanjutnya, kita membuat sebuah set huruf_abjad yang berisi semua huruf kecil dalam alfabet bahasa Inggris menggunakan set(string.ascii_lowercase).
  3. Kemudian, kita mengubah kalimat menjadi lowercase dan menghapus semua spasi menggunakan metode lower() dan replace(" ", ""). Hal ini dilakukan agar kita hanya memiliki karakter huruf kecil dalam kalimat.
  4. Selanjutnya, kita memeriksa apakah set karakter dalam kalimat (set(kalimat)) merupakan subset dari huruf_abjad. Jika set karakter dalam kalimat mencakup set huruf_abjad atau lebih besar, itu berarti kalimat tersebut mengandung setidaknya satu salinan dari setiap huruf kecil dalam alfabet bahasa Inggris, sehingga merupakan pangram.
  5. Jika kondisi tersebut terpenuhi, kita cetak pesan bahwa kalimat tersebut adalah pangram. Jika tidak, kita cetak pesan bahwa kalimat tersebut bukan pangram.
Baca juga:  Mengambil Input Data dari Pengguna (User) dalam Python

Contoh pemanggilan fungsi: Kita memanggil fungsi cek_pangram() dengan dua argumen yaitu “The quick brown fox jumps over the lazy dog” dan “Hello World”. Setelah dieksekusi, fungsi akan mencetak pesan apakah kalimat tersebut merupakan pangram atau bukan. Pada pemanggilan pertama (cek_pangram("The quick brown fox jumps over the lazy dog")), output yang dihasilkan adalah “Kalimat tersebut adalah pangram”, sedangkan pada pemanggilan kedua (cek_pangram("Hello World")), output yang dihasilkan adalah “Kalimat tersebut bukan pangram”.

Latihan 8: Pengecekan Polindrom Angka

Buatlah program Python untuk memeriksa apakah sebuah angka adalah angka polindrom atau tidak. Sebuah angka polindrom adalah angka yang sama jika dibalik.

def cek_polindrom_angka(angka):
    if str(angka) == str(angka)[::-1]:
        print(angka, "adalah angka polindrom")
    else:
        print(angka, "bukan angka polindrom")

# Panggil fungsi untuk memeriksa angka polindrom
cek_polindrom_angka(121)
cek_polindrom_angka(123)

Dalam kode tersebut, kita mendefinisikan sebuah fungsi bernama cek_palindrom_angka(angka) yang memiliki satu parameter yaitu angka, yang merupakan sebuah bilangan bulat.

Langkah-langkah dalam fungsi cek_palindrom_angka(angka) adalah sebagai berikut:

  1. Pertama, kita mengonversi angka menjadi string menggunakan str(angka). Hal ini dilakukan agar kita bisa menggunakan slicing untuk membalikkan angka menjadi angka[::-1].
  2. Selanjutnya, kita membandingkan angka dengan kebalikannya menggunakan operator kesamaan (==). Jika angka sama dengan kebalikannya (angka[::-1]), maka angka tersebut adalah angka palindrom.
  3. Jika kondisi tersebut terpenuhi, kita cetak pesan bahwa angka adalah angka palindrom. Jika tidak, kita cetak pesan bahwa angka bukanlah angka palindrom.

Contoh pemanggilan fungsi: Kita memanggil fungsi cek_palindrom_angka() dengan dua argumen yaitu 121 dan 123. Setelah dieksekusi, fungsi akan mencetak pesan apakah angka tersebut merupakan angka palindrom atau bukan. Pada pemanggilan pertama (cek_palindrom_angka(121)), output yang dihasilkan adalah “121 adalah angka polindrom”, sedangkan pada pemanggilan kedua (cek_palindrom_angka(123)), output yang dihasilkan adalah “123 bukan angka polindrom”.

Latihan 9: Penjumlahan Unik

Buatlah sebuah program Python yang menerima dua bilangan bulat dan mencetak hasil penjumlahan keduanya hanya jika keduanya memiliki nilai yang berbeda.

def penjumlahan_unik(a, b):
    if a != b:
        hasil = a + b
        print("Hasil penjumlahan:", hasil)
    else:
        print("Kedua bilangan memiliki nilai yang sama, tidak dapat menjumlahkan.")

# Panggil fungsi untuk menjumlahkan dua bilangan
penjumlahan_unik(5, 7)
penjumlahan_unik(10, 10)

Dalam kode tersebut, kita mendefinisikan sebuah fungsi bernama penjumlahan_unik(a, b) yang memiliki dua parameter yaitu a dan b, yang merupakan dua bilangan yang akan dijumlahkan.

Langkah-langkah dalam fungsi penjumlahan_unik(a, b) adalah sebagai berikut:

  1. Pertama, kita melakukan pengecekan apakah nilai a tidak sama dengan nilai b menggunakan operator pertidaksamaan (!=). Jika a tidak sama dengan b, maka kita dapat menjumlahkan kedua bilangan tersebut.
  2. Jika kondisi tersebut terpenuhi, kita menjumlahkan a dan b dan menyimpan hasilnya dalam variabel hasil.
  3. Setelah itu, kita cetak pesan yang menyatakan hasil penjumlahan dari kedua bilangan.
  4. Jika kondisi pada langkah 1 tidak terpenuhi, artinya nilai a sama dengan nilai b, maka kita cetak pesan yang menyatakan bahwa kedua bilangan memiliki nilai yang sama, sehingga tidak dapat menjumlahkan keduanya.

Contoh pemanggilan fungsi: Kita memanggil fungsi penjumlahan_unik() dengan dua pasangan argumen yaitu (5, 7) dan (10, 10). Setelah dieksekusi, fungsi akan mencetak pesan apakah kedua bilangan tersebut dapat dijumlahkan atau tidak. Pada pemanggilan pertama (penjumlahan_unik(5, 7)), output yang dihasilkan adalah “Hasil penjumlahan: 12”, sedangkan pada pemanggilan kedua (penjumlahan_unik(10, 10)), output yang dihasilkan adalah “Kedua bilangan memiliki nilai yang sama, tidak dapat menjumlahkan.”.

Latihan 10: Pengecekan Segitiga Siku-siku

Buatlah program Python yang menerima panjang sisi-sisi segitiga dan menentukan apakah segitiga tersebut adalah segitiga siku-siku atau tidak.

def cek_segitiga_siku_siku(a, b, c):
    sisi_terpanjang = max(a, b, c)
    if sisi_terpanjang == a:
        sisi_pendek_1 = b
        sisi_pendek_2 = c
    elif sisi_terpanjang == b:
        sisi_pendek_1 = a
        sisi_pendek_2 = c
    else:
        sisi_pendek_1 = a
        sisi_pendek_2 = b
    
    if sisi_terpanjang ** 2 == sisi_pendek_1 ** 2 + sisi_pendek_2 ** 2:
        print("Segitiga tersebut adalah segitiga siku-siku")
    else:
        print("Segitiga tersebut bukan segitiga siku-siku")

# Panggil fungsi untuk memeriksa segitiga siku-siku
cek_segitiga_siku_siku(3, 4, 5)
cek_segitiga_siku_siku(5, 12, 13)

Dalam kode tersebut, kita mendefinisikan sebuah fungsi bernama cek_segitiga_siku_siku(a, b, c) yang memiliki tiga parameter yaitu a, b, dan c, yang merupakan panjang sisi-sisi dari segitiga.

Langkah-langkah dalam fungsi cek_segitiga_siku_siku(a, b, c) adalah sebagai berikut:

  1. Pertama, kita mencari sisi terpanjang dari segitiga tersebut menggunakan fungsi max(a, b, c). Variabel sisi_terpanjang akan menyimpan panjang sisi terpanjang dari segitiga.
  2. Selanjutnya, kita tentukan sisi-sisi lainnya yang akan menjadi sisi-sisi pendek dari segitiga. Sisi-sisi ini akan menjadi sisi-sisi yang tidak sama dengan sisi terpanjang. Kita lakukan pengecekan untuk menentukan pasangan sisi pendek berdasarkan nilai sisi terpanjang.
  3. Setelah menentukan sisi-sisi pendek, kita lakukan pengecekan apakah segitiga dengan sisi-sisi tersebut merupakan segitiga siku-siku atau tidak. Kondisi segitiga siku-siku adalah jika sisi terpanjang kuadrat sama dengan jumlah kuadrat dari kedua sisi pendek. Dalam hal ini, kita menggunakan teorema Pythagoras untuk memeriksa kondisi tersebut.
  4. Jika kondisi pada langkah 3 terpenuhi, artinya segitiga memiliki sisi yang memenuhi syarat segitiga siku-siku, maka kita cetak pesan bahwa segitiga tersebut adalah segitiga siku-siku. Jika tidak, kita cetak pesan bahwa segitiga tersebut bukan segitiga siku-siku.
Baca juga:  Memahami Tipe Data Python: Panduan Lengkap

Contoh pemanggilan fungsi: Kita memanggil fungsi cek_segitiga_siku_siku() dengan dua pasangan argumen yaitu (3, 4, 5) dan (5, 12, 13). Setelah dieksekusi, fungsi akan mencetak pesan apakah segitiga tersebut merupakan segitiga siku-siku atau bukan. Pada pemanggilan pertama (cek_segitiga_siku_siku(3, 4, 5)), output yang dihasilkan adalah “Segitiga tersebut adalah segitiga siku-siku”, sedangkan pada pemanggilan kedua (cek_segitiga_siku_siku(5, 12, 13)), output yang dihasilkan adalah “Segitiga tersebut adalah segitiga siku-siku”.

Latihan 11: Konversi Nilai Numerik ke Grade

Buatlah program Python yang menerima nilai numerik dari pengguna dan mengonversinya menjadi grade berdasarkan rentang nilai tertentu.

def konversi_nilai_ke_grade(nilai):
    if nilai >= 85:
        grade = "A"
    elif nilai >= 70:
        grade = "B"
    elif nilai >= 55:
        grade = "C"
    elif nilai >= 40:
        grade = "D"
    else:
        grade = "E"
    
    print("Nilai", nilai, "mendapatkan grade", grade)

# Panggil fungsi untuk mengonversi nilai ke grade
konversi_nilai_ke_grade(90)
konversi_nilai_ke_grade(60)

Dalam kode tersebut, kita mendefinisikan sebuah fungsi bernama konversi_nilai_ke_grade(nilai) yang memiliki satu parameter yaitu nilai, yang merupakan nilai numerik yang akan dikonversi menjadi grade.

Langkah-langkah dalam fungsi konversi_nilai_ke_grade(nilai) adalah sebagai berikut:

  1. Pertama, kita memeriksa nilai dari parameter nilai untuk menentukan grade yang sesuai.
    • Jika nilai nilai lebih besar dari atau sama dengan 85, maka grade-nya adalah “A”.
    • Jika tidak, tetapi nilai nilai lebih besar dari atau sama dengan 70, maka grade-nya adalah “B”.
    • Jika tidak, tetapi nilai nilai lebih besar dari atau sama dengan 55, maka grade-nya adalah “C”.
    • Jika tidak, tetapi nilai nilai lebih besar dari atau sama dengan 40, maka grade-nya adalah “D”.
    • Jika tidak memenuhi kondisi di atas, maka grade-nya adalah “E”.
  2. Setelah menentukan grade, kita simpan grade tersebut dalam variabel grade.
  3. Terakhir, kita cetak pesan yang menyatakan nilai yang diberikan dan grade yang telah ditentukan.

Contoh pemanggilan fungsi: Kita memanggil fungsi konversi_nilai_ke_grade() dengan dua argumen yaitu 90 dan 60. Setelah dieksekusi, fungsi akan mencetak pesan yang menyatakan nilai yang diberikan dan grade yang telah ditentukan. Pada pemanggilan pertama (konversi_nilai_ke_grade(90)), output yang dihasilkan adalah “Nilai 90 mendapatkan grade A”, sedangkan pada pemanggilan kedua (konversi_nilai_ke_grade(60)), output yang dihasilkan adalah “Nilai 60 mendapatkan grade C”.

Latihan 12: Pengecekan Tahun Kabisat dalam Rentang Tertentu

Buatlah program Python yang menerima tahun awal dan tahun akhir dari pengguna, lalu mencetak semua tahun kabisat di antara dua tahun tersebut.

def tahun_kabisat_di_rentang(tahun_awal, tahun_akhir):
    for tahun in range(tahun_awal, tahun_akhir + 1):
        if (tahun % 4 == 0 and tahun % 100 != 0) or (tahun % 400 == 0):
            print(tahun, "adalah tahun kabisat")

# Panggil fungsi untuk mencetak tahun kabisat dalam rentang
tahun_kabisat_di_rentang(2000, 2020)
tahun_kabisat_di_rentang(2010, 2030)

Dalam kode tersebut, kita mendefinisikan sebuah fungsi bernama tahun_kabisat_di_rentang(tahun_awal, tahun_akhir) yang memiliki dua parameter yaitu tahun_awal dan tahun_akhir, yang merupakan rentang tahun yang akan diperiksa.

Langkah-langkah dalam fungsi tahun_kabisat_di_rentang(tahun_awal, tahun_akhir) adalah sebagai berikut:

  1. Pertama, kita menggunakan loop for untuk iterasi melalui setiap tahun dalam rentang yang diberikan, dimulai dari tahun_awal hingga tahun_akhir (inklusif), menggunakan range(tahun_awal, tahun_akhir + 1).
  2. Dalam setiap iterasi, kita periksa apakah tahun tersebut adalah tahun kabisat atau bukan. Kondisi tahun kabisat adalah jika tahun habis dibagi 4 tetapi tidak habis dibagi 100, atau tahun habis dibagi 400. Kondisi ini diimplementasikan dalam statement if.
  3. Jika kondisi pada langkah 2 terpenuhi untuk suatu tahun, kita cetak pesan bahwa tahun tersebut adalah tahun kabisat.
  4. Iterasi akan terus berlanjut sampai semua tahun dalam rentang telah diperiksa.

Contoh pemanggilan fungsi: Kita memanggil fungsi tahun_kabisat_di_rentang() dengan dua pasangan argumen yaitu (2000, 2020) dan (2010, 2030). Setelah dieksekusi, fungsi akan mencetak tahun-tahun kabisat dalam rentang yang diberikan. Pada pemanggilan pertama (tahun_kabisat_di_rentang(2000, 2020)), output yang dihasilkan adalah tahun-tahun kabisat dalam rentang 2000 hingga 2020. Pada pemanggilan kedua (tahun_kabisat_di_rentang(2010, 2030)), output yang dihasilkan adalah tahun-tahun kabisat dalam rentang 2010 hingga 2030.

Kesimpulan

Melalui latihan-latihan di atas, Anda telah mempraktikkan berbagai konsep dasar dalam pemrograman Python, termasuk operasi komparasi, kondisional, dan looping.

Latihan ini membantu Anda memperkuat pemahaman Anda tentang bahasa pemrograman Python dan meningkatkan kemampuan Anda dalam merancang dan mengimplementasikan solusi dalam pemrograman.

Jangan ragu untuk mencoba latihan-latihan ini dengan variasi yang berbeda atau membuat latihan Anda sendiri untuk terus meningkatkan keterampilan Anda dalam pemrograman! Semoga artikel ini bermanfaat bagi Anda dalam perjalanan belajar pemrograman Python.

Bagikan:

Tinggalkan komentar