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 tertinggiPermasalahan 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(“Silakan 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 di atas 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?