WORKSHOP 3
TUGAS ALGORITMA PEMOGRAMAN
6. Analisis dan algoritma untuk menghitung selisih 2 waktu. Output ditampilkan
dalam bentuk jam:menit:detik. Asumsikan menggunakan sistem jam 24-an.
Buat contoh kasus, misalnya berapa selisih waktu antara jam 3.45 sore dengan jam 10.23
malam. Selesaikan secara manual lebih dulu.
· Kasusselisihdetik:
If((detik.detik-detik.detik)<0){
det.detik = (60+detik.detik)-detik.detik;
men.menit*60-60;} else{det.detik=detik.detik-deti.detik;}
· kasusselisihmenit:
if((menit.menit-meni.menit)<0){
men.menit=(60+meni.menit)-menit.menit;
j.jam*60-60;} else { men.menit=menit.menit-meni.menit;}
· kasusselisih jam:
j.jam=jam.jam-ja.jam;
{membacanilaiwaktupertama [jam(jam.jam), menit(menit),detik(detik)], nilaiwaktukedua [jam(ja.jam),menit(meni,menit), detik(deti.detik)]. Menghitungselisihdenganmengurangkanwaktuperjamdenganwaktukedua}
Deklarasi:
//function
Structsatu ();
Structdua ();
Structselisih ();
//didalamstructberisi:
jam (integer)
jenit (integer)
detik (integer)
//main()
Jam, menit, detik (satu)
Ja, meni, deti (dua)
J, men, det (selisih)
Deskripsi:
//waktupertama
Baca jam.jam (integer)
Baca menit.menit (integer)
Baca detik.detik (integer)
//waktukedua
Baca ja.jam (integer)
Baca meni.menit (integer)
Baca detik.detik (integer)
Write (j.jam, men.menit, det.detik)
#include <iostream>/* run this program using the console pauser or add your own getch, system("pause") or input loop */using namespace std;struct satu{ int jam; int menit; int detik;};struct dua{ int jam; int menit; int detik;};struct selisih{ int jam; int menit; int detik;};int main(int argc, char** argv) { satu jam, menit, detik; dua ja, meni, deti; selisih j, men, det; cout<<" PROGRAM MENCARI SELISIH WAKTU"<<endl; cout<<" Ubah ke detikterlebih dahulu"<<endl<<endl; cout<<"PERTAMA"<<endl; cout<<"jam : "; cin>>jam.jam; cout<<"menit : "; cin>>menit.menit; cout<<"detik : "; cin>>detik.detik; cout<<endl<<endl; cout<<"KEDUA"<<endl; cout<<"jam : "; cin>>ja.jam; cout<<"menit : "; cin>>meni.menit; cout<<"detik : "; cin>>deti.detik; if((detik.detik-deti.detik)<0){ det.detik=(60+deti.detik)-detik.detik; men.menit*60-60; }else{ det.detik=detik.detik-deti.detik; } if((menit.menit-meni.menit)<0){ men.menit=(60+meni.menit)-menit.menit; j.jam*60-60; }else{ men.menit=menit.menit-meni.menit; } j.jam=jam.jam-ja.jam; cout<<endl<<endl; cout<<"SELISIH"; cout<<"jam : "<<j.jam<<endl; cout<<"menit : "<<men.menit<<endl; cout<<"detik : "<<det.detik<<endl; return 0;}
8. [Pengamatan] Buatlah analisis dan algoritma untuk menghitung luas sebuah plat CD.
Diameter lingkaran luar = …. cm.
Diameter lingkaran dalam = …. cm.
Kasus rumusD:
Phi*dalam*dalam.
Kasus rumusL:
Phi*luar*luar.
Kasus luasCD:
rumusL-rumusD.
{membacajari-jaridalam(dalam) danjari-jari(luar). MenghitungluasCDdenganrumusrumusL-rumusD)
Deklarasi:
Dalam (integer).
Luar (integer).
rumusD (integer).
rumusL (integer).
luasCD (integer).
Phi (float, nilai 3.14).
Deskripsi:
Baca (dalam).
Baca (luar).
luasCDßrumusL-rumusD.
Write (luasCD).
#include <iostream>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
using namespace std;
int main(int argc, char** argv) {
int dalam,luar,rumusD, rumusL,luasCD;
float phi=3.14;
cout<<"Masukkan jari-jari bagian dalam CD= "; cin>>dalam;
cout<<"Masukkan jari-jari bagian luar CD = "; cin>>luar;
rumusD=phi*dalam*dalam;
rumusL=phi*luar*luar;
luasCD=rumusL-rumusD;
cout<<"Luas plat CD= "<<luasCD<<" cm";
return 0;
}
12. Buatlah analisis untuk menghitung jumlah dari dua tanggal yang di masukan user
#include <iostream>
#include <iomanip>
using namespace std;
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int main(int argc, char** argv) {
int tg1, b1, tahun1;
int tg2, b2, tahun2;
int uBulan=0, uTahun=0, uHari=0;
cout<<"masukan tanggal AWAL"<<endl;
cout <<"Tanggal : ";
cin >> tg1;
cout << "Bulan : ";
cin >> b1;
cout << "Tahun : ";
cin >> tahun1;
cout<<endl;
for(int i=0; i<45; ++i)
{
cout<<(char)196;
}
endl(cout); cout<<endl;
cout<<"masukan tanggal yang DITUJU "<<endl;
cout << "Tanggal : ";
cin >> tg2;
cout << "Bulan : ";
cin >> b2;
cout << "Tahun : ";
cin >> tahun2;
if(b1 > b2 && tg1 > tg2)
{
uHari = tg1-tg2;
uBulan = 12-(b1-b2);
uTahun = (tahun2-tahun1)-1;
}
else if(b1 > b2 && tg1 < tg2)
{
uHari = tg2-tg1;
uBulan = 12-(b1-b2);
uTahun = (tahun2-tahun1)-1;
}
if(b1 < b2 && tg1 > tg2)
{
uHari = tg1-tg2;
uBulan = b2-b1;
uTahun = tahun2-tahun1;
}
else if(b1 < b2 && tg1 < tg2)
{
uHari = tg2-tg1;
uBulan = b2-b1;
uTahun = tahun2-tahun1;
}
cout <<"jarak tanggal Anda adalah "<< uTahun;
cout <<" tahun "<< uBulan << " bulan " << uHari<< " hari" <<endl;
return 0;
}


itulah beberapa analisis, dari tugas diktat algoritma pemograman. semoga dari postingan tersebut kita menjadi paham, insyallah ya :D.
okey, untuk saran dan kritikan bisa agan-agan coret-coret di kolom komentar dibawah, makin banyak komentar makin tinggi nilai tugas saya hahaah. be te we, bila masih belum jelas dengan apa yang saya posting kalian bisa lihat blog teman saya
Blog Ilham Setiawan