SKA#2 Function | Python

This entry is part 5 of 12 in the series SK A Grade Mahasiswa

Contoh kasus A artikel ke-3 untuk bahasa pemrograman python

Sebelum mencoba memahami artikel ini, pastikan anda terlebih dahulu membaca artikel tentang fungsi pada bahasa pemrograman python.

Kode sederhana pada contoh sebelumnya (artikel #1), tidak efisien jika kita harus menghitung lebih dari satu orang mahasiswa. Akan terjadi penulisan kode yang sama berulang-ulang untuk mengakomodasi lebih dari satu orang mahasiswa, baik untuk kalkulasi nilai akhir, maupun untuk konversi nilai akhir ke dalam grade nilai yang sesuai.

Selain itu, jika jumlah mahasiswa bertambah, struktur kode juga akan semakin terlihat rumit oleh bertambahnya baris pada kode.

Contoh kode berikut menunjukkan cara yang lebih efisien, dengan memisahkan kode program yang khusus berfungsi untuk kalkulasi nilai akhir dan konversi nilai tersebut menjadi grade, dalam dua fungsi terpisah.

Kalkulasi nilai akhir ditangani oleh fungsi hitung_nilai_akhir dengan return type float (berisi nilai akhir), sedangkan konversi nilai akhir ke bentuk grade ditangani oleh fungsi nilai_ke_grade dengan return type str (berisi grade)

def hitung_nilai_akhir(nilai_hadir,nilai_tugas,nilai_uts,nilai_uas):
    bobot_hadir = 0.15
    bobot_tugas = 0.25
    bobot_uts = 0.3
    bobot_uas = 0.3    
    nilai_akhir = bobot_hadir * nilai_hadir + bobot_tugas * nilai_tugas + bobot_uts * nilai_uts + bobot_uas * nilai_uas
    return nilai_akhir

def nilai_ke_grade(nilai_akhir):
    grade = 'E'
    if nilai_akhir >= 85:
        grade = 'A'
    elif nilai_akhir >= 70:
        grade = 'B'
    elif nilai_akhir >= 50:
        grade = 'C'
    elif nilai_akhir >= 40:
        grade = 'D'
    return grade

nilai_agus = hitung_nilai_akhir(80, 75, 30, 70);
grade_agus = nilai_ke_grade(nilai_agus)

nilai_rina = hitung_nilai_akhir(90, 95, 80, 80);
grade_rina = nilai_ke_grade(nilai_rina)

print('Nilai akhir Agus = {}, dengan grade= {}'.format(nilai_agus,grade_agus))
print('Nilai akhir Rina = {}, dengan grade= {}'.format(nilai_rina,grade_rina))
Series Navigation<< SKA#2 Method | JavaSKA#3 Array | Java >>

You may also like...

Berikan komentar