Menghitung Konversi Detik jadi Jam-Menit-Detik

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 :

  1. 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.
  2. 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.
  3. 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).
  4. Mengurangi jumlah detik sekarang dengan jumlah menit yang sudah kita dapatkan tadi, detik = 698 – ( 11 * 60).
  5. 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…

33 thoughts on “Menghitung Konversi Detik jadi Jam-Menit-Detik

  1. luki October 12, 2010 / 12:50 pm

    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?

  2. situkangsayur October 18, 2010 / 4:17 am

    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…

    • erwanto March 1, 2016 / 1:19 pm

      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

  3. Eric Fristomyson December 7, 2011 / 10:35 am

    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 🙂

    • situkangsayur December 16, 2011 / 11:18 am

      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…

  4. evan August 3, 2012 / 10:54 am

    Tanya donk sy sdh cb di android kok kluarnya unrecognized /xc2

    • situkangsayur October 20, 2012 / 7:27 pm

      saya tidak tahu code mas di android kaya gimana =))

  5. justy October 10, 2012 / 11:25 pm

    Thanks !

  6. nasrul October 15, 2012 / 12:33 am

    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

  7. ria October 18, 2012 / 10:07 am

    tny dong
    algoritma dr detik ke jam gmn y?
    mohon bantuannyaa yaa
    tq

    • situkangsayur October 20, 2012 / 7:24 pm

      kan itu tadi ada di atas ditambah beberapa komen yang menejelaskan algoritmanya..

  8. ahmad ripaldi November 26, 2012 / 8:09 pm

    saya juga gak paham soal 7.395 detik=……….jam+………menit+…….detik lalu bagaimana caranya

  9. Ella Mabadi C March 14, 2013 / 7:02 pm

    Maaf, saya kurang mengerti bagian yg ini
    printf(“\n===============================================”);
    itu dibuat apa ya? terima kasih

  10. Amanda kartika puri October 2, 2013 / 1:45 pm

    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……????

    • situkangsayur October 6, 2013 / 11:26 am

      itu kan ada di atas algoritma dan implementasi dalam bahasa C nya

  11. Supiyan Sauri October 27, 2013 / 8:44 am

    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.

  12. Dimas Prihtian Ismiraz November 12, 2013 / 2:50 pm

    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…

  13. endang January 18, 2014 / 7:41 pm

    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

  14. PRAYOGA September 29, 2014 / 9:50 pm

    tolong dong jangan jelasin pake bahasa C. bahasa java saja pak. makasih

  15. desspite November 26, 2014 / 3:56 am

    maaf ka mau tanya, kok saya coba pake C++ tidak menampilkan hasilnya yah? saya mencoba pake perulangan FOR.

  16. gusti dani July 1, 2015 / 10:00 am

    tanya dong cara menghitung program parkir kurang dari 60 menit terus harganya juga tampil

  17. Nia wardani August 5, 2015 / 11:13 am

    Boleh nanya ini pr saya 2700 dtk berapa jam yh dan cranya bgaimana.

  18. Muhammad Fahrizal October 13, 2015 / 10:16 am

    blognya bermanfaat gun, ngeliat bales” pertanyaan juga simpel sama berbobot *dua jempol
    lanjutkann

  19. Natasya Christania Susanto October 26, 2015 / 8:52 pm

    Kalau 20,3 itu berapa jam?

  20. yani sasumbar April 7, 2016 / 7:44 pm

    mau nanya dong gimana cara konversiin 105000 detik menjadi 1hari,3jam,5menit.

  21. GIgih Hadi April 7, 2016 / 7:54 pm

    mau nanya gimana cara konversiin 105000detik menjadi 1 hari 3 jam 5 menit, terimakasih.

  22. muh arief dork March 23, 2017 / 11:46 pm

    mau nanya bagaimana cara buatnya kalau 100.000 detik akan menghasilkan 1 hari,3 jam,46 menit

  23. rodry October 22, 2017 / 9:01 pm

    Kalo dalam bahasa javascript gimana bang???

  24. yoshi December 7, 2020 / 9:15 pm

    kak kalau ditambhain konversi harinya gimana ya kak

    • situkangsayur December 29, 2021 / 5:55 pm

      ya jamnya kali aja 24, kan 1 hari 24 jam

Leave a reply to ahmad ripaldi Cancel reply