Algoritma dan Pemrograman
Program Konversi Detik (Pascal)
Dalam
hal ini kita akan membuat sebuah program untuk mengkonversi jumlah
detik kedalam bentuk jam,menit,detik. Sebelum itu, kita harus membuat
algoritmanya dengan menentukan konversi yang akan dilakukan.
Pertama,
kita harus menentukan konversi detik ke menit terlebih dahulu dengan
mencari berapa detik yang terdapat dalam satu menit. Dan tentu saja kita
dapatkan hasil 1 menit = 60 detik (anak TK juga tau). Setelah itu, kita
cari lagi konversi dari detik ke jam. Karena 1 jam = 60 menit, dan 1
menit = 60 detik maka untuk mencari berapa detik dalam satu jam kita
hanya perlu mengalikan jumlah menit dalam satu jam dengan jumlah detik
dalam satu menit. Dengan begitu kita kalikan 60 x 60 = 3600 (sebenarnya
ga perlu dijelaskan).
Kemudian, yang perlu kita fikirkan adalah bagaimana merubah bentuk detik kedalam bentuk seperti ini :
... detik = ... jam ... menit ... detik.
Pertama
melihat bentuk seperti ini, saya sendiri sedikit pusing karena untuk
mendapatkan hasil dalam bentuk seperti itu, kita harus mencari sisa dari
proses konversi dari konversi sebelumnya. Karena yang kita inginkan
hasilnya adalah seperti ini:
Contoh
3605 detik = 1 jam 0 menit 5 detik
Kemudian setelah browsing kesana kemari, saya menemukan perintah MOD dan DIV.... #JENGJENGJENG... (efek suara biar keliatan dramatis)
Pasti
banyak yang bertanya apa itu MOD dan DIV??? Apasih gunanya dalam
perintah pascal??? karena saat saya menemukan mereka, saya juga bingung
dan bertanya - tanya. Kemudian saya googling lagi sama si Mbah Google dan menemukan pengertian dari perintah tersebut. Fungsi dari perintah div adalah untuk mencari integer dari sebuah pembagian tertentu, sedangkan mod adalah untuk mencari sisa dari pembagian tertentu. Masih kedengeran agak ribet dan belum ngerti ya???
Kita contohin aja dengan operasi bilangan 5 dan 2 :
5 mod 2 = 1 (5:2 = 2 sisa 1)
sedangkan
5 div 2 = 2 (5:2 = 2 bersisa 1)
udah pada ngerti kan??? kalo masih ga ngerti silahkan hubungi dokter kejiwaan setempat...
Ya
udah, ga usah panjang lebar lagi... Kita langsung ke intinya saja yaitu
cara pembuatan programnya. Sebelum menulis program dalam pascal, tentu
kita perlu membuat algoritmanya dalam bentuk pseudocode. Berikut
pseudocodenya :
Algoritma Program_Konversi_Detik
{I.S: Jumlah detik diisi}
{F.S: Hasil konversi didapatkan dengan format jam,menit,detik}
Deklarasi
detik,menit,jam,sisa_detik : integer;
Algoritma
write('Masukkan jumlah detik = ');
input(detik);
jam <= detik div 3600 {1 jam = 3600 detik}
sisa_detik <= detik mod 3600
menit <= sisa_detik div 60 {1 menit = 60 detik}
sisa_detik <= sisa_detik mod 60
write(detik,' detik = ',jam,' jam ');
write(menit,' menit ',sisa_detik,' detik');
Kemudian
setelah mengetahui dan membuat pseudocodenya, kita dapat langsung
menuliskan syntaxnya dalam bahasa pascal ke dalam program Dev-Pascal
sebagai compilernya. Berikut syntax program konversi detik dalam bahasa
Pascal (versi saya):
- programkonversi_detik;{I.S: Jumlah detik diisi}{F.S: Hasil konversi didapatkan dengan format jam,menit,detik}vardetik,menit,jam,sisa_detik : integer;begin//INPUT Jumlah detikwriteln('Program Konversi Detik');writeln('--------------------------------------------------------------------------------');write('Masukkan jumlah detik = ');readln(detik);//HITUNG konversi detik ke jam,menit,detikjam := detik div 3600;sisa_detik := detik mod 3600;menit := sisa_detik div 60;sisa_detik := sisa_detik mod 60;//TAMPILKAN hasil konversiwriteln('--------------------------------------------------------------------------------');writeln('Tekan ENTER untuk melihat hasil konversi');readln;writeln('--------------------------------------------------------------------------------');write(detik,' detik = ',jam,' jam ');write(menit,' menit ',sisa_detik,' detik');readln;end.
Setelah syntax tersebut di tuliskan dan di compile menggunakan program dev-pascal, kita mendapatkan hasil seperti ini:
Gambar1. Bentuk program yang sudah jadi
Untuk
menguji program tersebut, coba masukkan jumlah nilai detik yang akan
kita konversikan. Contohnya kita akan mengkonversi 3789 detik maka akan
kita dapatkan hasil seperti ini :
Gambar2. Contoh hasil proses konversi detik