Latihan Kode Program C++: Menghitung Tarif Parkir

Latihan kode program C++ kali ini akan membahas cara menghitung tarif parkir. Materi ini sering dipakai untuk latihan algoritma dasar dengan berbagai kombinasi soal.


Soal Menghitung Tarif Parkir

Buatlah kode program C++ untuk menghitung tarif parkir. Agar lebih beragam, kita akan bahas dalam 2 kombinasi soal:

  1. Biaya parkir Rp.5000 per jam. Program butuh inputan jam masuk dan jam keluar. Hasil akhir berupa jumlah biaya yang harus dibayarkan.
  2. Biaya parkir Rp.5000 per jam untuk mobil, dan Rp.3000 untuk motor. User bisa memilih apakah ingin memarkir mobil atau motor. Setelah itu input jam masuk dan jam keluar. Hasil akhir berupa jumlah biaya yang harus dibayarkan.

Untuk menyederhanakan soal, jam di input dalam format 24 jam.

Berikut contoh tampilan akhir yang diinginkan (soal no. 1):

##  Program C++ Menghitung Tarif Parkir ##
==========================================

Input jam masuk (format 24 jam): 9
Input jam keluar (format 24 jam): 14

Total biaya parkir: Rp 25000 (5 jam)

Berikut contoh tampilan akhir yang diinginkan (soal no. 2):

##  Program C++ Menghitung Tarif Parkir ##
==========================================

1. Motor
2. Mobil

Pilih Jenis Kendaraan : 1
Input jam masuk (format 24 jam): 15
Input jam keluar (format 24 jam): 22

Total biaya parkir: Rp 21000 (7 jam)

Silahkan coba sebentar membuat kode program ini.


Tips Membuat Kode Program Menghitung Tarif Parkir

Soal ini melatih pemahaman terkait logika matematika, operator aritmatika, dan kondisi if-else. Berikut tutorial pendahuluan yang bisa diikuti:

Program butuh membaca inputan jam masuk, jam keluar dan jenis kendaraan (khusus soal 2). Setelah nilai input didapat, kurangi jam keluar dengan jam masuk untuk mencari total jam. Kemudian kalikan dengan biaya tarif parkir per jam.

Untuk menghindari total jam negatif, yakni jika user menginput jam masuk lebih besar dari jam keluar, kita anggap saja itu berarti keluar parkir keesokan harinya. Sebagai contoh, jika di input jam masuk: 22 dan jam keluar: 2, maka total parkir adalah 4 jam.


Kode Program C++ Menghitung Tarif Parkir (Soal 1)

Berikut salah satu solusi dari soal menghitung tarif parkir menggunakan bahasa pemrograman C++:

#include <iostream>
using namespace std;

int main() {
  cout << "##  Program C++ Menghitung Tarif Parkir ##" << endl;
  cout << "==========================================" << endl;
  cout << endl;

  int jamMasuk, jamKeluar, totalJam, totalBiaya;

  cout << "Input jam masuk (format 24 jam): ";
  cin >> jamMasuk;

  cout << "Input jam keluar (format 24 jam): ";
  cin >> jamKeluar;
  cout << endl;

  // Hitung total waktu parkir
  totalJam = jamKeluar - jamMasuk;
  if (totalJam < 0){
    // Dianggap parkir keluar keesokan harinya
    totalJam = jamKeluar + 24 - jamMasuk;
  }

  // Hitung total biaya parkir
  totalBiaya = totalJam * 5000;

  cout << "Total biaya parkir: Rp " << totalBiaya
       << " (" << totalJam <<" jam)" << endl;

  return 0;
}

Latihan Kode Program Cpp - Menghitung Tarif ParkirDi baris 10-11, terdapat perintah untuk mendeklarasikan 4 variabel, yakni jamMasuk, jamKeluar, totalJam, dan totalBiaya. Semuanya variabel ini bertipe integer.

Kemudian user diminta untuk menginput jam masuk dan jam keluar di baris 11-15. Nilai ini ditampung ke dalam variabel jamMasuk dan jamKeluar.

Total waktu parkir dihitung dengan mengurangi jamMasuk dari jamKeluar di baris 19. Jika totalJam kurang dari 0, ini berarti parkir dilakukan hingga keesokan harinya, sehingga totalJam dihitung dengan menambahkan 24 jam ke jamKeluar dan mengurangi jamMasuk.

Logika ini juga dipakai agar kita tidak mendapati hasil negatif seandainya jamKeluar lebih besar dari jamMasuk.

Total biaya parkir didapat dengan mengalikan totalJam dengan tarif parkir per jam. Dalam contoh kita , tarif parkir adalah Rp 5000 per jam.

Terakhir, kode program menampilkan biaya parkir kepada user, beserta jumlah jam parkir dengan perintah cout di baris 28-29.


Kode Program C++ Menghitung Tarif Parkir (Soal 2)

Untuk soal nomor 2, ada tambahan jenis kendaraan. Untuk soal ini kita perlu menambah kondisi if else dan menampung jenis kendaraan yang dipilih user. Berikut kode programnya:

#include <iostream>
using namespace std;

int main() {
  cout << "##  Program C++ Menghitung Tarif Parkir ##" << endl;
  cout << "==========================================" << endl;
  cout << endl;

  int jenisKendaraan, jamMasuk, jamKeluar, totalJam, totalBiaya;

  // Pilih jenis kendaraan
  cout << "1. Motor" << endl;
  cout << "2. Mobil" << endl;
  cout << endl;
  cout << "Pilih Jenis Kendaraan : ";
  cin >> jenisKendaraan;

  // Input jam masuk dan jam keluar
  cout << "Input jam masuk (format 24 jam): ";
  cin >> jamMasuk;

  cout << "Input jam keluar (format 24 jam): ";
  cin >> jamKeluar;
  cout << endl;

  // Menghitung total waktu parkir
  totalJam = jamKeluar - jamMasuk;
  if (totalJam < 0){
    // Dianggap selesai parkir keesokan harinya
    totalJam = jamKeluar + 24 - jamMasuk;
  }

  // Menghitung total biaya parkir
  if (jenisKendaraan == 1) {
    totalBiaya = totalJam * 3000; // Untuk motor
  }
  else {
    totalBiaya = totalJam * 5000; // Untuk mobil
  }

  // Menampilkan total biaya parkir
  cout << "Total biaya parkir: Rp " << totalBiaya
       << " (" << totalJam <<" jam)" << endl;

  return 0;
}

Latihan Kode Program Cpp - Menghitung Tarif Parkir 2

Kode ini butuh sedikit modifikasi dari versi sebelumnya.

Di baris 12 – 16 terdapat beberapa perintah cout untuk menampilkan informasi agar user bisa memilih Motor atau Mobil. Pilihan user ditampung ke dalam variabel jenisKendaraan menggunakan perintah cin di baris 16.

Variabel jenisKendaraan ini selanjutnya dipakai untuk kondisi if di baris 34-39. Total biaya parkir akan berbeda-beda tergantung pilihan kendaraan. Sebagai contoh, jika user memilih motor, maka perintah di baris 35 lah yang akan dipakai (tarif parkir 3000 per jam).


Itulah soal latihan kita untuk menghitung tarif parkir dalam bahasa C++ berdasarkan hitungan jam masuk, jam keluar dan jenis kendaraan.

Soal ini bisa memiliki banyak variasi lain, misal menggunakan perbedaan biaya setiap jam, atau modifikasi lain yang akan kita bahas di lain kesempatan.

Add Comment