Sebuah sumbangan soal lg dari teman saya.. hehe.. tentang logika konversi nilai detik menjadi Jam-Menit-Detik..
Misalkan input yang di masukan adalah 7898 detik, maka output yang di inginkan adalah :
Jam : 2
Menit : 11
Detik : 38
nah seperti itu.. sebenarnya logikanya sama seperti yang ada pada algoritma menghitung pecahan uang dari sejumlah nilai yang seblumnya sudah saya postingkan. logikanya seperti ini :
kita mengambil nilai misal detiknya = 7898 detik
maka :
- Membagi hasil bilangan bulat untuk jam = 7898 div (division) 3600 (1 jam=3600 detik), maka akan menghasilkan = 2. kenapa tida ada nilai dibelakang koma?? karena operator div berfungsi mencari hasil bagi dengan hasil bilangan bulat.
- Mengurangi jumlah jam yg tadinya berjumlah 7898 menjadi = 7898 – (jumlah jam yang tadi dihasilkan = 2 lalu dikonversikan dalam detik) == 7898 – (2 * 3600). maka hasilnya adalah 698 detik.
- Mengambil nilai menit dari sisa pengurangan detik tadi (698 detik). Cara mengambil menit dari nilai tersebut sama seperti pada jam, menit= 698 div 60 (1 menit = 60 detik).
- Mengurangi jumlah detik sekarang dengan jumlah menit yang sudah kita dapatkan tadi, detik = 698 – ( 11 * 60).
- Lalu yang tersisa tinggal detiknya, yang kurang untuk mencapai nilai 1 dalam satuan menit, sehingga kita tinggal mengeluarkan hasilnya.
Begitulah singkat cerita tentang algoritma yang dipakai untuk mengkonversi nilai detik ke jam-menit-detik dan sama seperti halnya yang terjadi pada konversi pecahan uang.
jika kita menerjemahkannya dalam bahasa C adalah sebagai berikut :
#include <stdio.h> #include <conio.h> main(){ int sec,jam,menit,detik ; printf("Masukan jumlah detik yang mau dihitung : "); scanf("%d",&sec); jam=sec / (60*60); sec= sec-((60*60)*jam); menit=sec / 60; sec= sec - (60*menit); printf("\n==============================================="); printf("\nmaka waktunya adalah : "); printf("\n Jam : %d \n Menit : %d \n Detik : %d ",jam,menit,sec); getch(); }
seperti biasa .. Ada banyak jalan menuju ROMA…
bisa juga algoritmanya dengan perulangan
#include <stdio.h> #include <conio.h> main() { int sec,i,jml[2],waktu[2]={3600,60}; printf("Masukan jumlah detik yang mau dihitung : "); scanf("%d",&sec); printf("\n==============================================="); printf("\n maka waktunya adalah : "); for(i=0;i<=1;i++) { jml[i]=sec / waktu[i]; sec= sec-(waktu[i]*jml[i]); } printf("\n Jam : %d \n Menit : %d \n Detik : %d ",jml[0],jml[1],sec); getch(); }
Semoga bermanfaat.. aminn…
Ijin membenahi untuk syntax :
jam=sec / (60*60);
_sec= sec-((60*60)*jam);
menit=sec / 60;
_sec= sec – (60*menit);
Pada bagian yang saya garis bawahi itu apakah betul seperti itu? perhitungan seken koq ada dua?
di ijinkan :))…
hmm… betul..
saya mengisi ulang nilai variable sec yg berisi nilai detik…
sebenarnya bisa saja saya buat variable temporary detik… hanya saja klo menurut saya akan lebih hemat memmory kalo hanya pakai satu variable seperti diatas… jadi seperti membuat decrement var sec…
var sec sebenernya cuman satu… cuman saya mengisi ulang yg misalnya sec = 4000 detik
maka sec = 4000/ 3600 (1 jam = 3600 detik) == 1 jam ..
maka kondisi sec harusnya berkurang karena sudah diambil 1 jam…
sec masih bernilai 4000 ..
sec = 4000 – (1×3600) == 400;
atau sama dengan sec= sec – (1x 3600)==400 , sekarang nilai sec = 400…
nah untuk mendapatkan menit maka menit= sec/60 == 6 menit ..
maka nilai sec harus berkurang karena sudah di ambil 60 menit.. (sec masih bernilai 400)
sec = 400 – (6x 60) = 40 detik atau sec = sec – (6×60) = 40 detik jg .. :D/ begitulah..
kecuali mau di satu kan di akhir.. jg bs.. tp takutnya terlihat ribet kelihatannya krna jd :
jam=sec/(60*60);
menit=(sec-(jam * 3600))/(60);
sec=sec-((jam * 3600) + (menit * 60));
nah ,, banyak jalan menuju roma hehhe…
jam=sec/(60*60);
menit=(sec-(jam * 3600))/(60);
sec=sec-((jam * 3600) + (menit * 60));
pakai jalan ini saya malah hasilnya : 2 : 0 : 0
😀
sy gunakan vb.net mas, lagi membuat report saya. tapi yg di db saya berisi total detik. sya ingin tampilkan di report menjadi jam:menit:detik
berikut sourcenya salah dimana ya :
Dim jam As Decimal = Val(TotalDetiktxt.Text) / (60 * 60)
Dim menit As Decimal = (Val(TotalDetiktxt.Text) – (jam * 3600)) / (60)
Dim SEC As Decimal = Val(TotalDetiktxt.Text) – ((jam * 3600) + (menit * 60))
‘pembulatan
Dim jams As Integer = Round(jam, 0)
Dim menits As Integer = Round(menit, 0)
Dim SECs As Integer = Round(SEC, 0)
times.Text = jams & “:” & menits & “:” & SECs
saya mao nny donk cara buat ngehitung jam + jam , menit + menit , detik + detik dengan program nested loop pada bahasa C.
misalnya kita input :
masukan jam = 10
masukan menit = 30
masukan detik = 40
masukan jam = 12
masukan menit = 20
masukan detik = 20
output nya :
jam sekarang adalah = 22
Menit sekarang adalah = 51
detik sekarang adalah = 0
kira2 gimana yah
struktur dasar nya ??
saya cmn pengen tao yg detik nya aja..
soalnya kalo pada saat saya menambahkan 40 + 30 output nya adalah 70 bukannya 10 dan 60 nya di input menjadi menit
mohon bantuannya yah mas 🙂
pake conditional aja , misalnya untuk mengisi nilai menit ketika detik sudah lebih dari 60 detik atau ketika menit sudah lebih dari 60 menit jadi jam nya bertambah:
misal:
if(detik > 59){
detik=0;
menit+=1;
}
if(menit > 59){
menit = 0;
jam+=1;
}
nah kaya gitu misalnya…
Tanya donk sy sdh cb di android kok kluarnya unrecognized /xc2
saya tidak tahu code mas di android kaya gimana =))
Thanks !
ijin mw bertanya saya masih blm paham cara penghitungan detik menjadi jam, jam ke menit, menit ke detik. bagimana ya cara penghitungannya? contoh : 2034 detik=……. jam=…….menit=…..detik
mohon bantuannya ya mas terima kasih
bagian mana yang masih belum pahamnya??
tny dong
algoritma dr detik ke jam gmn y?
mohon bantuannyaa yaa
tq
kan itu tadi ada di atas ditambah beberapa komen yang menejelaskan algoritmanya..
saya juga gak paham soal 7.395 detik=……….jam+………menit+…….detik lalu bagaimana caranya
Maaf, saya kurang mengerti bagian yg ini
printf(“\n===============================================”);
itu dibuat apa ya? terima kasih
apakah rumus untuk mencari detik/menit
MAU TANYA DONG, INI SOALNYA
BUATLAH ALGORITMA UNTUK MENGHITUNG KONVERSI JUMLAH DETIK KE DALAM JUMLAH JAM, JUMLAH MENIT, SISANYA DETIK, ASUMSINYA
1 MENIT = 60 DETIK
1 JAM = 3600 DETIK.
BUATLAH ALGORITMANYA……????
itu kan ada di atas algoritma dan implementasi dalam bahasa C nya
gan salam kenal sebelumnya ada pertanyaan ini gan mohon bantuanya:
1. masalah saya adalah menghitung jam,menit,detik+1detik,
contoh tampilan : inputkan
11: 10 : 45 (enter)= 11 : 10 : 46,
11 : 10 : 59 (enter) = 11 : 11 : 0
dst sesuai dengan aturan jam.
2. adalah sama seperti diatas tetapi dengan judul kalender dan pada bulan 2 mengikuti tahun kabisat. contoh tampilan :
10/4/2012(enter) = 11/4/2012
30/4/2012(enter) = 1/5/2012
31/5/2012(enter) = 1/6/2012
31/12/2012(enter) = 1/1/2013
28/02/2012(enter) = 1/3/2012 = kalau bisa mengikuti tahun kabisat.
tersebut diatas adalah tabel kemungkinan,,dan saya yakin mas henri pasti bisa,.,
mohon bantuanya.,.,,.salam kenal.,.sudah dicari diinternet tidak ada yang post susah carinya,.,thanks.
Makasih bgt nih Kang Admin,
Posting nya bermanfaat bgt.
Ane dapet tugas bikin konversi waktu, udah coba bikin sendiri tapi error terus.. Maklum lah newbie..
Hehehe…
saya mau tanya dunk, saya baru belajar IT dan program yang saya punya adalah programmer’s notepad, apakah aplikasi yang ada di atas bisa di pakai di program saya? thanks
tolong dong jangan jelasin pake bahasa C. bahasa java saja pak. makasih
maaf ka mau tanya, kok saya coba pake C++ tidak menampilkan hasilnya yah? saya mencoba pake perulangan FOR.
terima kasih ya kak kebetulan ada tugas bikin macem begini 😀
visit my blog
https://www.itsuka-kun.blogspot.com/
ANIME AND JAPAN CORNER
tanya dong cara menghitung program parkir kurang dari 60 menit terus harganya juga tampil
Boleh nanya ini pr saya 2700 dtk berapa jam yh dan cranya bgaimana.
blognya bermanfaat gun, ngeliat bales” pertanyaan juga simpel sama berbobot *dua jempol
lanjutkann
Kalau 20,3 itu berapa jam?
mau nanya dong gimana cara konversiin 105000 detik menjadi 1hari,3jam,5menit.
mau nanya gimana cara konversiin 105000detik menjadi 1 hari 3 jam 5 menit, terimakasih.
mau nanya bagaimana cara buatnya kalau 100.000 detik akan menghasilkan 1 hari,3 jam,46 menit
Kalo dalam bahasa javascript gimana bang???
kak kalau ditambhain konversi harinya gimana ya kak
ya jamnya kali aja 24, kan 1 hari 24 jam