Empat kaki, satu selimut, magic number
Sebut saja namanya Mawar, dia ingin membelikan baju untuk suaminya sebagai hadiah karena puasanya full sebulan, saat di toko, terjadi percakapan antara Mawar dan si penjual baju, sebut saja namanya Joko
Mawar : Bang, beli baju batiknya dua
Joko : Dua lusin?
Mawar : Engga, dua biji aja
Joko : Nyari ukuran berapa?
Mawar : 1,56 panjangnya
Joko : 1,56 meter?
Mawar : Iya
Joko : Ada nih, 1,5 aja
Mawar : 1,5 juta?
Joko : Engga, 150 ribu
Setelah terjadi negosiasi sengit antara keduanya, Mawar berhasil membeli baju di harga yang diinginkannya. Poin yang ingin saya tekankan disini adalah tidak jelasnya satuan dari angka-angka yang diucapkan sehingga terjadi dialog tidak penting, seperti dua biji ternyata dua lusin, 1,56 apakah meter atau bukan, 1,5 juta ternyata 150 ribu.
Begitu juga dalam pemrograman, sering kali kita menulis angka-angka yang hanya dimengerti oleh kita sendiri, contohnya seperti di bawah ini
$umur=20;
if($umur>=30){
//skrip jika dibawah 30
}
Pada skrip di atas, apakah kita tahu maksud dari 30? tidak, apakah 30 adalah batasan umur? apakah 30 tahun? atau 30 dekade? atau 30 abad? Akan lebih jelas kalau 30 itu dimasukan ke dalam sebuah variable, seperti contoh di bawah ini
$umur=20;
$batasumur=30;
if($umur>=$batasumur){
//skrip jika dibawah batas umur
}
Skrip di atas lebih mudah dipahami, pembaca tahu bahwa program di atas mencoba mengenali apakah nilai umur melebihi batas umur atau tidak, contoh lainnya adalah skrip di bawah ini
$jumlahorder=5;
$hargasatuan=50000;
$totalharga=$jumlahorder*$hargasatuan;
$hargadibayar=$totalharga;
if($totalharga>250000){
$hargadibayar=$totalharga*30/100;
}
Pada skrip di atas, sulit dipahami apa itu 250000, dan apa itu 30/100, akan lebih mudah dipahami kalau skripnya seperti ini
$jumlahorder=5;
$hargasatuan=50000;
$totalharga=$jumlahorder*$hargasatuan;
$hargadibayar=$totalharga;
$syaratdiskon=250000;
$diskon=30/100;
if($totalharga>$syaratdiskon){
$hargadibayar=$totalharga*$diskon;
}
Sekarang kita tahu, bahwa program diatas akan menentukan apakah total harga telah melebihi syarat diskon, jika iya, maka harga yang harus dibayar sudah termasuk diskon.
Dan masih banyak lagi kasus-kasus skrip lainnya yang berisi Magic Number, yaitu angka-angka yang hanya dimengerti oleh si programmer dan Allah SWT.
Memang kelihatannya ini hal remeh, tetapi bukankah setiap masalah besar berasal dari hal-hal kecil yang diremehkan? Mari kita minimalkan jumlah angka-angka ajaib di kodingan kita mulai saat ini. Apabila ada masukan, silahkan isi kotak komentar di bawah artikel ini, syukron
Tidak ada komentar:
Catatan: Hanya anggota dari blog ini yang dapat mengirim komentar.