Sub Program
Membangun kalkulator kasir modular dengan memecah kode menjadi blok-blok kecil yang efisien dan mudah dibaca.
Studi Kasus: Sistem Kasir "ITERA Mart"
Bayangkan Anda ditugaskan membuat program kasir. Setiap kali pelanggan selesai belanja, sistem harus mencetak header struk yang panjang, menghitung pajak, dan menghitung diskon. Jika semua kode ini ditulis menumpuk di dalam int main(), kode Anda akan mencapai ribuan baris, berantakan, dan sulit diperbaiki jika ada bug.
Solusinya? Kita gunakan Sub Program. Kita akan memecah tugas-tugas spesifik menjadi blok kode terpisah yang bisa dipanggil berkali-kali.
Konsep Inti & Hands-On
Dalam C++, ada dua jenis pekerja (sub program) yang bisa kita suruh:
- Prosedur (
void): Pekerja yang disuruh melakukan sesuatu, lalu selesai tanpa membawa hasil laporan. Contoh: Menyuruh mesin kasir mencetak garis putus-putus. - Fungsi: Pekerja yang disuruh memproses data, lalu wajib membawa hasil laporan kembali kepada kita (
return). Contoh: Menghitung total setelah diskon.
Perhatikan Starter Code di editor Anda. Coba jalankan!
Analisis Operasi Dasar
Di dalam kode tersebut, kita melakukan Passing Parameter. Saat kita memanggil hitungHargaDiskon(totalBelanja, diskonHariIni), nilai 150000 dan 15 disalin (di-copy) dan dikirim ke dalam fungsi.
Fungsi hitungHargaDiskon mengembalikan nilai bertipe
double, sehingga kita bisa menampungnya ke dalam variabel
totalBayar di dalam fungsi main.
Pastikan tipe data pada nilai yang di-return oleh fungsi sama
dengan tipe data deklarasi fungsinya. Jika fungsinya int, jangan
me-return nilai desimal!