Posted by : BayuBayyz
Senin, 10 Februari 2014
Tampilan Program Tarif Parkir |
Setelah
kita mengetahui div dan mod serta mengetahui cara mengonversi berbagai macam
satuan dalam pembahasan di artikel yang sudah saya post sebelumnya Mengenal Div dan Mod serta Mengonversi Detik dalam Algoritma dan Pemrograman Bahasa Pascal dan mengetahui struktur pemilihan (selection) dalam algoritma dan pemrograman, kita dapat membuat sebuah algoritma
dan program untuk menentukan tarif parkir sebuah kendaraan perjam disuatu
tempat parkir.
Contohnya persoalan berikut :
Buatlah algoritma dan program
untuk menentukan tarif parkir perjam sebuah kendaraan dengan ketentuan diantaranya:
1. No. Polisi dimasukkan oleh user dan beri validasi dgn menggunakan struktur pemilihan (if … then …) agar tidak melebihi 4 digit angka.
2. Waktu
masuk dan waktu keluar sebuah kendaraan di input atau dimasukkan oleh user
(diberi validasi dgn menggunakan struktur pemilihan) agar waktu yang terdiri
dari Jam, menit, detik yang dimasukkan valid atau sesuai.1. No. Polisi dimasukkan oleh user dan beri validasi dgn menggunakan struktur pemilihan (if … then …) agar tidak melebihi 4 digit angka.
3. Tampilkan Keterangan yang telah diinput tersebut (Tampilkan No.Polisi, Waktu masuk, dan waktu keluar)
4. Tentukan berapa waktu lamanya parkir dan tampilkan waktu lamanya parkir.
5. Tentukan tarif perjam dan tampilkan tarif perjam (tarif perjam bias anda tentukan sendiri)
Nah dari persoalan diatas kita
dapatkan algoritma sebagai berikut :
menghitung_lama_parkir_kendaraan_motor_dan_tarif_parkir;
{ I.S. : user memasukan No
Polisi, Jam Masuk, dan Jam Keluar }
{ F.S. : menampilkan No Polisi,
Jam Masuk, Jam Keluar dan lama parkirnya }
Kamus :
J1hh,J1mm,J1ss : integer {waktu saat masuk}
J2hh,J2mm,J2ss : integer {waktu saat keluar}
J3hh,J3mm,J3ss : integer {waktu lamanya parkir}
nopol : integer
TotalDetik1,TotalDetik2,selisihdetik,sisa : integer
bayar_parkir : integer
Algoritma :
Input (nopol)
{validasi No.Polisi}
if (nopol > 9999)
then
Output ('No polisi tidak boleh melebihi
4 digit !')
Input (nopol);
Endif
{memasukkan waktu (jam, menit, detik) masuk }
Input (J1hh) {memasukkan jam}
{validasi jam}
if (J1hh > 24)
then
Output ('Jam yang anda masukkan tidak
valid !')
Input (J1hh)
endif
Input (J1mm) {memasukkan menit}
{validasi menit}
if (J1mm > 59)
then
Output ('Menit yang anda masukkan tidak
valid !')
Input (J1mm)
endif
Input (J1ss) {memasukkan detik}
{validasi detik}
if (J1ss > 59)
then
Output ('Detik yang anda masukkan tidak
valid !')
Input (J1ss)
Endif
{Memasukkan waktu (jam,menit,detik) keluar}
Input (J2hh) {memasukkan jam}
{validasi jam}
if (J2hh > 24)
then
Output ('Jam yang anda masukkan tidak
valid !')
Input (J2hh)
endif
Input (J2mm) {memasukkan menit}
{validasi menit}
if (J2mm > 59)
then
Output ('Menit yang anda masukkan tidak
valid !')
Input (J2mm)
endif
Input (J2ss) {memasukkan detik}
{validasi detik}
if (J2ss > 59)
then
Output ('Detik yang anda masukkan tidak
valid !')
Input (J2ss)
endif
{konversi masing masing jam ke detik dulu bro :)}
TotalDetik1 ← (J1hh*3600) + (J1mm*60) + J1ss
TotalDetik2 ← (J2hh*3600) + (J2mm*60) + J2ss
{selisih detik}
selisihdetik ← TotalDetik2 - TotalDetik1
{konversi selisih detik ke jam-menit-detik agar dapet waktu lamanya
parkir :) }
J3hh ← selisihdetik div 3600
sisa ←
selisihdetik mod 3600
J3mm ← sisa div 60
J3ss ← sisa mod 60
{menampilkan hasil input dan penghitungan}
Output (nopol)
Output (J1hh,':') Output (J1mm,':') Output (J1ss) {menampilkan waktu
masuk parkir}
Output (J2hh,':') Output (J2mm,':') Ouput (J2ss) {menampilkan waktu
keluar parkir}
{menampilkan waktu lamanya parkir}
Output (nopol)
Output (J3hh,':') Output (J3mm,':') Output (J3ss) {menampilkan lamanya
parkir}
{Menentukan Tarif Parkir}
if j3hh < 2
then
bayar_parkir ← 1000
else
if j3hh <= 4
then
bayar_parkir ← 2000
else
if j3hh <= 6
then
bayar_parkir ← 4000
else
bayar_parkir ← 5000
endif
endif
endif
{menampilkan biaya atau tarif parkir}
Output (bayar_parkir)
Kita berhasil membuat
algoritmanya, sekarang kita buat deh program parkirnya, berikut adalah coding programnya
:
program menghitung_lama_parkir_kendaraan_motor_dan_tarif_parkir;
{ I.S. : user memasukan No
Polisi, Jam Masuk, dan Jam Keluar }
{ F.S. : menampilkan No Polisi,
Jam Masuk, Jam Keluar dan lama parkirnya }
uses crt;
{Deklarasi / Kamus}
var
J1hh,J1mm,J1ss : integer;
J2hh,J2mm,J2ss : integer;
J3hh,J3mm,J3ss : Integer;
nopol : integer;
TotalDetik1,TotalDetik2,selisihdetik,sisa : integer;
bayar_parkir : integer;
begin
gotoxy(14,1);textcolor(white);write('SELAMAT DATANG');
gotoxy(5,2);textcolor(white);write('DI UNIVERSITAS KOMPUTER INDONESIA');
gotoxy(12,3);textcolor(white);writeln('JL.DIPATIUKUR NO.112');
writeln('-----------------------------------------');
write(' No. POL (max 4 digit) : ');readln(nopol);
{validasi No.Polisi}
if nopol > 9999
then
begin
gotoxy(2,6);
write('No polisi tidak boleh melebihi 4
digit !');
readln;
gotoxy(2,6);clreol;
gotoxy(26,5);clreol;
gotoxy(26,5);readln(nopol);
end;{endif}
gotoxy(1,6);
write(' MASUK JAM : ');readln(J1hh);
{validasi jam}
if (J1hh > 24)
then
begin
gotoxy(2,7);
write('Jam yang anda masukkan tidak
valid !');
readln;
gotoxy(2,7);clreol;
gotoxy(26,6);clreol;
gotoxy(26,6);readln(J1hh);
end;{endif}
gotoxy(1,7);
write(' MENIT : ');readln(J1mm);
{validasi menit dgn if}
if (J1mm > 59)
then
begin
gotoxy(2,8);
write('Menit yang anda masukkan tidak
valid !');
readln;
gotoxy(2,8);clreol;
gotoxy(26,7);clreol;
gotoxy(26,7);readln(J1mm);
end;{endif}
gotoxy(1,8);
write(' DETIK : ');readln(J1ss);
{validasi detik}
if (J1ss > 59)
then
begin
gotoxy(2,9);
write('Detik yang anda masukkan tidak
valid !');
readln;
gotoxy(2,9);clreol;
gotoxy(26,8);clreol;
gotoxy(26,8);readln(J1ss);
end;{endif}
gotoxy(1,9);
write(' KELUAR JAM :
');readln(J2hh);
{validasi jam}
if (J2hh > 24)
then
begin
gotoxy(2,10);
write('Jam yang anda masukkan tidak
valid !');
readln;
gotoxy(2,10);clreol;
gotoxy(26,9);clreol;
gotoxy(26,9);readln(J2hh);
end;{endif}
gotoxy(1,10);
write(' MENIT : ');readln(J2mm);
{validasi menit}
if (J2mm > 59)
then
begin
gotoxy(2,11);
write('Menit yang anda masukkan tidak
valid !');
readln;
gotoxy(2,11);clreol;
gotoxy(26,10);clreol;
gotoxy(26,10);readln(J2mm);
end;{endif}
gotoxy(1,11);
write(' DETIK : ');readln(J2ss);
{validasi detik}
if (J2ss > 59)
then
begin
gotoxy(2,12);
write('Detik yang anda masukkan tidak
valid !');
readln;
gotoxy(2,12);clreol;
gotoxy(26,11);clreol;
gotoxy(26,11);readln(J2ss);
end;{endif}
{konversi masing masing jam ke detik dulu bro :)}
TotalDetik1 := (J1hh*3600) + (J1mm*60) + J1ss;
TotalDetik2 := (J2hh*3600) + (J2mm*60) + J2ss;
{selisih detik}
selisihdetik := TotalDetik2 - TotalDetik1;
{konversi selisih detik ke jam-menit-detik lagi :)}
J3hh := selisihdetik div 3600;
sisa := selisihdetik mod 3600;
J3mm := sisa div 60;
J3ss := sisa mod 60;
{menampilkan hasil input dan penghitungan}
textcolor(green);
gotoxy(1,12);
writeln('-----------------------------------------');
gotoxy(1,13);
write(' No. POL :
',nopol);
gotoxy(1,14);
write(' MASUK :
');write(J1hh,':');write(J1mm,':',J1ss);
gotoxy(1,15);
write(' KELUAR :
');write(J2hh,':');writeln(J2mm,':',J2ss);
gotoxy(0,16);
writeln('-----------------------------------------');
gotoxy(1,17);
write(' No. POL :
',nopol);
gotoxy(1,18);
write(' PARKIR SELAMA :
');write(J3hh,':');write(J3mm,':',J3ss);
writeln;
{Menentukan Tarif Parkir}
if j3hh < 2
then
bayar_parkir := 1000
else
if j3hh <= 4
then
bayar_parkir := 2000
else
if j3hh <= 6
then
bayar_parkir := 4000
else
bayar_parkir := 5000;
//endif
//endif
//endif
write(' Tarif Parkir :
Rp. ');write(bayar_parkir);
writeln;
writeln('-----------------------------------------');
gotoxy(14,21);
writeln('Selamat Jalan');
gotoxy(11,22);
write('Selamat Sampai Tujuan');
readln;
end.Anda juga dapat mendapatkan program menghitung tarif parkirnya, bisa anda download programnya disini !
Note : Validasi dengan menggunakan struktur pemilihan (if...then) hanya berlaku 1 kali validasi, sebenarnya validasi itu harus menggunakan struktur pengulangan. Nanti akan saya postingkan juga artikel mengenai struktur pengulangan. Dan tempat Di Universitas Komputer Indonesia hanyalah keinginan saya untuk membuat program parkir yang bertempatkan di Universitas Komputer Indonesia serta tarifnyapun saya yang karang sendiri.
Bila anda tidak mempunyai aplikasi pemrograman pascalnya, bisa anda download dan anda pelajari tipsnya disini Download Dev-Pascal 1.9 dengan Penjelasan serta Tipsnya
Alhamdulillah
artikel tentang Menghitung Lama Parkir dan Menentukan Tarif Parkir
Perjam Dalam Algoritma Dan Pemrograman telah selesai. Semoga bermanfaat bagi kita semua !
Bisnis online termudah, Bahkan jika Anda seorang yang awam sekalipun, Anda pasti bisa menjalankan bisnis ini. "Bukan member get member". Isi survei terlebih dahulu dan jalankan bisnisnya
Bisnis online termudah, Bahkan jika Anda seorang yang awam sekalipun, Anda pasti bisa menjalankan bisnis ini. "Bukan member get member". Isi survei terlebih dahulu dan jalankan bisnisnya
Related Posts :
- Back to Home »
- Algorithms and Programming , Pascal »
- Menghitung Lama Parkir dan Menentukan Tarif Parkir Perjam Dalam Algoritma Dan Pemrograman
:d (k)
BalasHapusTerima kasih telah berkunjung dan membaca artikel sederhana tentang "Menghitung lama parkir dan menentukan tarif parkir dengan bahasa Pascal"
Hapusgan, gimana cra mkek rumus hitungan itu
BalasHapusSangat membantu sekali artikel ini :)
BalasHapus