author

Manfaat fungsi max() di pemrograman python


Pernahkan anda bertemu dengan kasus perbandingan suatu nilai yang terbesar? Bila menyelesaikan menggunakan if dan datanya banyak, tentu akan terasa sangat merepotkan. Karena banyak nilai yang akan dibandingkan.

Fungsi max() adalah fungsi bulid-in untuk mencari nilai tertinggi. Fungsi ini dapat diberikan sebuah parameter berupa angka. Artikel ini sebenarnya dibuat untuk menjawab sebuah pertanyaan di grup Python Indonesia.

Saya pemilik pabrik sepatu, saya menugaskan staff saya untuk menginput jumlah penjualan bulan Januari, Februari, dan Maret 2014. Sebagai pemilik saya ingin tahu dibulan mana penjualan tertinggi
Permasalahan di atas, dapat diselesaikan dengan fungsi max(). Karena si pemilik pabrik ingin mengetahui di bulan mana penjualan yang tertinggi, maka kita tinggal inputkan bulan-bulan yang ingin dicari nilai tertingginya ke dalam fungsi max()

Eksperimen di modus interaktif

Sebelum memulai membuat program, kita coba dulu ngode di modus interaktif.
>>> bulan = {‘jan’: 32, ‘feb’: 43, ‘mar’: 21}
>>> tmp = max(bulan[‘jan’], bulan[‘feb’], bulan[‘mar’])
>>> tmp
43
>>> for i in bulan:
… print i

jan
mar
feb
>>> for i in bulan:
… print bulan[i]

32
21
43
>>> for i in bulan:
… if tmp == bulan[i]:
… print i

feb
Pada expereimen di atas saya membuat sebuah dictionary (kamus) dengan nama bulan sebagai kunci. Tiap-tiap bulan ditentukan total penjualannya. Lalu menghitung nilai tertinggi dengan fungsi max(). Kita dapatkan total penjualan tertinggi adalah 43. Tapi kita belum tahu, di bulan mana yang bernilai 43. Oleh karena itu, dengan menggunakan perulangan, kemudian di dalam perulangan tersebut dibandingkan isi variabel tmp dengan nilai tiap-tiap bulan, maka kita dapatkan penjualan tertinggi terdapat pada bulan feb (februari).

Membuat Program

Setelah memahami, hasil eksperimen, sekarang saatnya membuat program untuk penyelesaian masalah tersebut.
print “Selamat datang di program penghitungan pendapatan”
print “-"50

# persiapan awal
bulan = {‘jan’: 0, ‘feb’: 0, ‘mar’: 0}

# input data
for i in bulan:
bulan[i] = input(“Silahkan masukkan pendaptan pada bulan %s: " % i)

# hitung mana yang tertinggi
tertinggi = max(bulan[‘jan’], bulan[‘feb’], bulan[‘mar’])

# cari dan cetak di bulan mana yang tertinggi
for i in bulan:
if bulan[i] == tertinggi:
print i

Uji coba program

Uji coba program dengan masukan data atau nilai yang berbeda untuk tiap bulannya.

Notabene:
Seharusnya program diatas menampilkan pesan Masukkan total penjualan pada bulan x, tapi karena sudah terlanjur menggunakan kata pendapatan, ya dibiarkan sajalah, yang penting logikanya benar.

 Ada yang mau menambahkan?