Dalam melatih kemampuan berlogika kita, diperlukan latihan-latihan mengenai logika dan algoritma dari kasus yang mudah sampai yang sulit. Dalam kesempatan kali ini kita akan berlogika mengenai program penghitung kuartal menggunakan JavaScript.
Kalian dapat menggunakan bahasa pemrograman lain yang kalian kuasai, seperti PHP, Java, C, C++, C#, Python, dan lain sebagainya.
Untuk studi kasus, kita dapat mengunjungi website Codewars di https://www.codewars.com/. Disana terdapat banyak latihan logika dari berbagai macam bahasa pemrograman, juga terdapat beberapa tingkat kesulitan dari yang paling mudah (8 Kyu) dan yang paling sulit (1 kyu).
Pada kasus kali ini, kita akan menyelesaikan tantangan logika yang paling mudah terlebih dahulu, yakni 8 kyu. Kalian dapat mengerjakan program ini di dalam website codewars langsung atau membuat file javaScript sendiri. Disini saya akan mengerjakannya di dalam JavaScript yang sudah dipanggil pada halaman HTML.
Studi kasus:
kita akan diberikan bulan berupa bilangan bulat dari 1 sampai 12, dan kita disuruh mengembalikan (return) nilai bulan tersebut masuk ke dalam triwulan ke berapa.
contoh:
- bulan 2 (Februari), masuk ke dalam triwulan pertama (1).
- bulan 6 (Juni), masuk ke dalam triwulan kedua (2).
- bulan 11 (November), masuk ke dalam triwulan keempat (4).
Solusi 1:
function quarterOf(month) {
if (month < 4) {
return 1;
} else if (month < 7) {
return 2;
} else if (month < 10) {
return 3;
} else {
return 4;
}
}
untuk menampilkan hasilnya, bisa menggunakan console.log(); kita coba menampilkan hasil untuk bulan 2 (Februari) :
console.log(quarterOf(2));
Output dari program tersebut adalah 1, (bulan februari masuk ke dalam triwulan pertama).
Solusi 2:
function quarterOf(month) {
return month < 4 ? 1 : month < 7 ? 2 : month < 10 ? 3 : 4;
}
pada solusi kedua ini, hampir sama dengan yang pertama, hanya saja penulisan struktur IF yang singkat dalam satu baris, hal ini dikenal sebagai operator bersyarat (ternary).
Solusi 3:
function quarterOf(month) {
return Math.ceil(month / 3);
}
pada solusi ketiga ini, sangat singkat dan kita menggunakan fitur method Math.ceil() dari javaScript. Logikanya, kita membagi 3 bilangan bulan dan membulatkannya ke atas menggunakan method Math.ceil() tersebut.
Demikian latihan kita kali ini. Sangat menyenangkan bermain dengan logika bukan ?. Selain solusi di atas, masih banyak lagi solusi-solusi lain yang mugkin lebih singkat.
Jangan lupa Sarapan Koding !