Penjelasan alurnya
Keputusan menentukan besar diskon. Cabang Ya menghitung 10 persen dari total belanja, cabang Tidak mengisi diskon dengan 0. Kedua cabang mengisi variabel yang sama, diskon.
Karena kedua cabang pasti mengisi diskon, langkah sesudahnya bisa langsung menghitung bayar = total - diskon tanpa peduli cabang mana yang dilewati. Pola ini membuat flowchart tetap rapi.
Uji dengan belanja tepat Rp100.000, Rp99.999, dan Rp150.000 untuk memastikan batas diskonnya benar.
Pseudocode
1ALGORITMA Diskon belanja23DEKLARASI4 total : integer5 diskon, bayar : real67MULAI8 BACA total9 JIKA total ≥ 100000 MAKA10 diskon ← total * 10 / 10011 SELAIN ITU12 diskon ← 013 AKHIR JIKA14 bayar ← total - diskon15 TAMPILKAN "Total bayar:", bayar16SELESAIKode programnya
Kode di bawah dibuat langsung dari flowchart di atas, jadi alurnya sama persis. Coba jalankan dengan masukan 150000.
1# Diskon belanja23total = int(input("Masukkan total: "))4if total >= 100000:5 diskon = total * 10 / 1006else:7 diskon = 08bayar = total - diskon9print("Total bayar:", bayar)1// Diskon belanja23let total, diskon, bayar;45total = Number(prompt("Masukkan total:"));6if (total >= 100000) {7 diskon = total * 10 / 100;8} else {9 diskon = 0;10}11bayar = total - diskon;12console.log("Total bayar:", bayar);1<?php23// Diskon belanja45$total = (int) readline("Masukkan total: ");6if ($total >= 100000) {7 $diskon = $total * 10 / 100;8} else {9 $diskon = 0;10}11$bayar = $total - $diskon;12echo "Total bayar: " . $bayar . PHP_EOL;1// Diskon belanja2#include <stdio.h>34int main(void) {5 int total = 0;6 double diskon = 0, bayar = 0;78 printf("Masukkan total: ");9 scanf("%d", &total);10 if (total >= 100000) {11 diskon = total * 10 / 100.0;12 } else {13 diskon = 0;14 }15 bayar = total - diskon;16 printf("Total bayar: %g\n", bayar);1718 return 0;19}1// Diskon belanja2import java.util.Scanner;34public class Program {5 public static void main(String[] args) {6 Scanner input = new Scanner(System.in);7 int total = 0;8 double diskon = 0, bayar = 0;910 System.out.print("Masukkan total: ");11 total = Integer.parseInt(input.nextLine().trim());12 if (total >= 100000) {13 diskon = total * 10 / 100.0;14 } else {15 diskon = 0;16 }17 bayar = total - diskon;18 System.out.println("Total bayar: " + bayar);19 }20}Jalankan kodenya tanpa instalasi di compiler Python online atau compiler bahasa lain di Playground.
Coba ubah sendiri
- Tambahkan diskon 20 persen untuk belanja minimal Rp500.000.
- Hitung uang kembalian dari uang yang dibayarkan pembeli.
- Tambahkan pajak 11 persen setelah diskon.