Membuat Program Billing Warnet Sederhana dengan Pascal
Kali ini kita akan coba membuat program billing warnet sederhana memakai bahasa pascal. Warnet yang akan kita buat billingnya, memiliki tarif harga 20 rupiah per 10 detik. Tetapi, jika user menggunakan inernet selama 30 detik atau kurang, maka user diwajibkan membayar sebanyak 1000 rupiah. Sebelum kita masuk ke coding, alangkah baiknyakita memahami algoritmanya terlebih dahulu. Berikut penjelasan algoritmanya.
Judul
program_billing_warnetKamus
const biaya : 20 {per pulsa 20 rupiah}
const pulsa : 10 {satu pulsa = 10 detik}
TYPE jam: < hh : integer[0..23] {jam dibatasi antara pukul 0 sampai 23}
mm : integer[0..59] {menit dibatasi antara 0 sampai 59}
ss : integer[0..59] {detik dibatasi antara 0 sampai 59} >jam1, jam2, jam3 : jam
detik1, detik2, detik3 : integral
harga : realAlgoritma
{masukkan waktu mulai, hh, mm, ss}
input(jam1.hh,jam1.mm,jam1.ss){masukkan waktu selesai, hh, mm, ss}
input(jam2.hh,jam2.mm,jam2.ss){convert ke satuan detik}
detik1 <– (jam1.hh*3600)+(jam1.mm*60)+jam1.ss; {waktu awal}
detik2 <– (jam2.hh*3600)+(jam2.mm*60)+jam2.ss; {waktu akhir}
detik3 <– detik2-detik1; {mencari selisih waktu dalam detik}{karena 30 detik pertama harganya 1000 rupiah, kita buat dengan if}
if detik3<=30 then {30 detik pertama}
output(detik3)
output(’biaya yang harus dibayar 1000 rupiah)else
{mengubah detik ke format hh,mm,ss}
jam3.hh <– detik3 div 3600
jam3.mm <– detik3 mod 3600 div 60
jam3.ss <– detik3 mod 3600 mod 60{menghitung biaya}
harga <– (detik3/pulsa)*biaya{tampilkan lama penggunaan dan biaya}
output(jam3.hh,jam3.mm,jam3.ss,harga)
endif
Penjelasan :
- Buat konstanta bernama “biaya” dan “pulsa”. “Biaya” diisi dengan nilai 20, sedangkan “pulsa” diisi dengan 10.
- Kita buat suatu tipe baru dengan nama jam, yang berisi variabel hh,mm,dan ss. Type ini digunakan untuk mendefinisikan waktu.
- Definisikan variabel jam1, jam2, dan jam3 sebagai type “jam”. Definisikan variabel detik1, detik2, dan detik3 sebagai integer. Definisikan variabel harga sebagai real.
- Input waktu mulai dan selesai. Formatnya hh,mm,ss.
- kemudian convert waktu ke dalam satuan detik melalui rumus detik1 <– (jam1.hh*3600)+(jam1.mm*60)+jam1.ss; Lakukan langkah ini untuk waktu awal dan waktu akhir.
- Hitung selisih waktu dengan rumus detik3 <– detik2-detik1.
- Karena 30 detik pertama harganya 1000 rupiah, kita buat dengan IF. Jika waktu >= 30, maka tampilkan waktu penggunaan, dan biayanya sebesar 1000 rupiah.
- Jika lebih dari 30 detik, ubah jam dalam satuan detik tadi dalam format hh,mm,ss.
- Lalu hitung biayanya dengan rumus harga <– (detik3/pulsa)*biaya
- Tampilkan lama penggunaan dan biaya..
Sekarang langsung saja masuk ke kode.. Here is the code..
program warnet;
uses WinCrt;
const
biaya=20; {per pulsa 20 rupiah}
pulsa=10; {satu pulsa = 10 detik}type
jam = record
hh : integer; {jam dibatasi antara pukul 0 sampai 23}
mm, ss : integer; {menit dan detik dibatasi antara 0 sampai 59}
end;var
jam1,jam2,jam3 : jam;
detik1,detik2,detik3 : integer;
harga : real;begin
clrscr;
write(’jam awal : ‘; readln(jam1.hh); {catat jam awal}
write(’menit awal : ‘;readln(jam1.mm); {catat menit awal}
write(’detik awal : ‘;readln(jam1.ss); {catat detik awal}
writeln;
write(’jam akhir : ‘;readln(jam2.hh); {catat jam akhir}
write(’menit akhir : ‘;readln(jam2.mm); {catat menit akhir}
write(’detik akhir : ‘;readln(jam2.ss); {catat detik akhir}
writeln;
{mengubah waktu ke satuan detik}
detik1:=(jam1.hh*3600)+(jam1.mm*60)+jam1.ss; {waktu awal}
detik2:=(jam2.hh*3600)+(jam2.mm*60)+jam2.ss; {waktu akhir}
detik3:=detik2-detik1; {mencari selisih waktu dalam detik}{karena 30 detik pertama harganya 1000 rupiah, kita buat dengan if}
if detik3<=30 then {30 detik pertama}
begin
writeln(’waktu anda ‘,detik3,’ detik. Anda dikenakan biaya 1000 rupiah. Terima kasih’;
endelse
begin
{mengubah detik ke format hh,mm,ss}
jam3.hh:=detik3 div 3600;
jam3.mm:=detik3 mod 3600 div 60;
jam3.ss:=detik3 mod 3600 mod 60;{menghitung biaya}
harga:=(detik3/pulsa)*biaya;writeln(’waktu anda : ‘,jam3.hh,’ jam ‘,jam3.mm,’ menit ‘,jam3.ss,’ detik.’
;
writeln(’Anda dikenakan biaya ‘,harga:0:2,’ rupiah. Terima kasih’;
end;
end.
Sekian dari saya.. Sampai jumpa lain waktu..









10 Comments on “Membuat Program Billing Warnet Sederhana dengan Pascal”
mantap sharenya sob.. tapi kalo kita mau koneksikannya dengan komputer lain atau dalam kasus ini server, gimana ya ?? :jedug:
andro_simar´s last blog ..Mohon Sarannya ya
maksudnya koneksikan??
TOP abiz deh.. makasiiiiiiiiiii banyak… aku ada tugas bikin billing warnet… hahaha.
aku masih cupu.. thnks atas bantuannya, Sob…
:hore: bikinin algoritmanya buat peminjaman buku perpus dunk… hehehehe
rodez´s last blog ..Bismillah
oke deh,, saya coba bikin.
Tapi tolong kasih tahu programnya mau kayak gimana?? Konsepnya gimana??
wah perlu di coba nih
tukeran link yuk bos
aRi isTiadi´s last blog ..Menjalin Tali Silahturahmi Antar Blog Mania
wewwwwww……. nice…. :licik::heem:
mas mau konfirmasi untuk tukaran link, linknya dah saya add di blog, tolong dilink balik yah mas!
ciph bgt nih gan….
Agak berbau tugas atau kuis, bener kagak tif?
Adnan´s last blog ..Chrome Experiment
haha..
iya..
ini tugas pemrograman..