Jumat, 22 Januari 2016

Pseudocode Menghitung selisih durasi

*/buatlah sebuah pseudocode tentang program dimana program tersebut menerima 2 inputan 6/5 digit nomor(jika kurang dari 5 error) yang mana 6/5 digit ini akan di
convert menjadi jam, menit, detik dan dicari selisihnya , jika jam lebih dari 23 dan menit lebih dari 59 dan detik lebih dari 59 maka error dan jam ke 2 harus lebih
kecil daripada jam1/*

Start
input jam1
input jam2
IF lenghtofstring(jam1) < 5 or leghtofstring (jam2) < 5 THEN
print "Error"
ELSE
IF leghtofstring(jam1) = 5 THEN
waktu1 = "0" + jam1
ELSE
IF lenghtofstring (jam1) = 6 THEN
waktu1 = jam1
ELSE
print "Error"
ENDIF
ENDIF
IF lenghtofstring(jam2) = 5 THEN
waktu2 = "0" + jam2
ELSE
IF lenghtofstring (jam2) = 6 THEN
waktu2 = jam2
ELSE
print "Error"
ENDIF
ENDIF
IF waktu1[1] * 10 + waktu1[2] > 23 OR waktu1[3]*10 + waktu1[4] > 59 OR waktu1 [5]*10 + waktu1[6] >59 THEN
print "Error"
ELSE
IF waktu2[1] * 10 + waktu2[2] > 23 OR waktu2[3]*10 + waktu2[4] > 59 OR waktu2 [5]*10 + waktu2[6] >59 THEN
print "Error"
ELSE
pukul1 = (waktu1[1] * 10 + waktu1[2]*3600) + (waktu1[3]*10 + waktu1[4])*60 + waktu1 [5]*10 + waktu1[6]
pukul2 = (waktu2[1] * 10 + waktu2[2]*3600) + (waktu2[3]*10 + waktu2[4])*60 + waktu2 [5]*10 + waktu2[6]
IF pukul2 > pukul1 THEN
print "Error"
ELSE
a1 = pukul1 div 3600
b1 = pukul1 - (3600*a1) div 60
c1 = pukul1 - (3600*a1) mod 60
a2 = pukul1 div 3600
b2 = pukul1 - (3600*a1) div 60
c2 = pukul1 - (3600*a1) mod 60
print "JAM 1 =" ,a1, "MENIT 1 =",b1, "DETIK 1 =",c1, newline
print "JAM 2 =" ,a2, "MENIT 2 =",b2, "DETIK 2 =",c2, newline
selisih = pukul1 - pukul1
print "SELISIH =" ,selisih, newline
a3 = pukul1 div 3600
b3 = pukul1 - (3600*a1) div 60
c3 = pukul1 - (3600*a1) mod 60
print "SELISIH JAM =" ,a3, "SELISIH MENIT =",b3, "SELISIH DETIK  =",c3
ENDIF
ENDIF
ENDIF
END





Tidak ada komentar:

Posting Komentar