Buatlah fungsi untuk konversi nilai detik ke jam, menit, detik.

Berikut ini adalah pertanyaan dari aldanuprasetia pada mata pelajaran Matematika untuk jenjang Sekolah Menengah Atas

Buatlah fungsi untuk konversi nilai detik ke jam, menit, detik.Contoh output Masukkan detik: 3661
Hasil konversi (h:m:s) : 1:1:1
mohon di bantu kak​

Jawaban dan Penjelasan

Berikut ini adalah pilihan jawaban terbaik dari pertanyaan diatas.

Jawaban:

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();

}

Penjelasan dengan langkah-langkah:

maaf ya cuma bisa ngasih contoh susah soal nya maaf ya

Semoga dengan pertanyaan yang sudah terjawab oleh sriswandi123 dapat membantu memudahkan mengerjakan soal, tugas dan PR sekolah kalian.

Apabila terdapat kesalahan dalam mengerjakan soal, silahkan koreksi jawaban dengan mengirimkan email ke yomemimo.com melalui halaman Contact

Last Update: Sat, 02 Apr 22