Workshop algoritma dan class
1. Buatlah analisis dan algoritma untuk mencari titik tengah sebuah garis yang ujung titiknya adalah A(x1,y1)
dan B(x2,y2).
Kodingan devC++
#include <cstdlib>
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
int A, B, X1, X2,Y1, Y2;
cout<<"Masukan Nilai X1,X2,Y1,dan Y2 : "<<endl;
cin>>X1>>X2>>Y1>>Y2;
A=((X1+Y1)/2);
B=((X2+Y2)/2);
cout<<"Titik Tengah Garisnya"<<X1<<"dan"<<Y1<<endl;
cout<<"Adalah ="<<A<<endl<<endl;
cout<<"Titik Tengah Garisnya"<<X2<<"dan"<<Y2<<endl;
cout<<"Adalah ="<<B<<endl;
system("pause");
return 0;
}
outputnya :
flowchart :
2. Buatlah algoritma untuk mencari isi bola bila diketahui jari-jari bola.
kodingan devC++ :
#include <iostream>
using namespace std;
int main(int argc, char** argv){
int jari;
long int luas,volume;
double phi=3.14;
cout<<"Mengitung luas dan volume bola"<<endl;
cout<<endl;
cout<<"masukan jari jari:";
cin>>jari;
volume=(4*phi*jari*jari*jari)/3;
luas=4*phi*jari*jari;
cout<<endl;
cout<<"Volume bola adalah:"<<volume;
cout<<endl;
cout<<"Luas bola adalah:"<<luas;
return 0;
}
outputnya :
flowchat :
4. Buatlah analisis dan algoritma untuk menghitung konversi detik menjadi format jam:menit:detik Buat contoh kasus, misalnya konversikan 1230 detik menjadi … jam … menit … detik.
kodingan devC++ :
#include <cstdlib>
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
long int s,jam,menit,detik;
char ulang;
ulang:
cout<<"Program menghitung konversi waktu"<<endl<<endl;
cout<<"Inputkan detik=";
cin>>s;
jam=s/3600;
menit=(s-(jam*3600))/60;
detik=(s-(jam*3600)-(menit*60));
cout<<s<<"detik = "<<jam<<"jam"<<menit<<"menit"<<detik<<"detik"<<endl;
return 0;
}
outputnya :
flowchart :
5. Buatlah analisis dan algoritma untuk menghitung konversi dari jam:menit:detik ke detik Buat contoh kasus, misalnya konversikan 2 jam 13 menit 43 detik menjadi … detik.
kodingan devC++ :
#include <cstdlib>
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
long int a,s,b,jam,menit,detik,total;
char ulang;
ulang:
cout<<"Program menghitung konversi waktu"<<endl<<endl;
cout<<"Inputkan jam=";
cin>>s;
jam=s*3600;
cout<<"Inputkan Menit=";
cin>>a;
menit=a*60;
cout<<"Inputkan Detik=";
cin>>b;
detik=b+detik;
total=jam+menit+detik;
cout<<"Total detik:"<<total;
return 0;
}
outputnya :
7. Buatlah analisis dan algoritma untuk menghitung jumlah komponen sejumlah uang menjadi pecahan-pecahannya. Misalkan Rp 188.875,- menjadi : 1 seratus ribuan, 1 lima puluh ribuan, 1 dua puluh ribuan, 1 puluhan ribu, 1 lima ribuan, 3 ribuan, 1 lima ratusan, 1 dua ratusan, 1 ratusan, 1 lima puluhan, 1 dua puluh limaan Rumus yang digunakan :
kodingan dev C++ :
#include <cstdlib>
#include <iostream>
#include <conio.h>
using namespace std;
int main(int argc, char *argv[])
{
int jumlah,ratusanribu,limapuluhribu,duapuluhribu,sepuluhribu,limaribu,seribu,limaratus,seratus,limapuluh,sisa;
cout<<"jumlah uang dalam rupiah =";
cin>>jumlah;
ratusanribu=jumlah/100000;
sisa=jumlah-(ratusanribu*100000);
limapuluhribu=sisa/50000;
sisa=sisa-(limapuluhribu*50000);
duapuluhribu=sisa/20000;
sisa=sisa-(duapuluhribu*20000);
sepuluhribu=sisa/10000;
sisa=sisa-(sepuluhribu*10000);
limaribu=sisa/5000;
sisa=sisa-(limaribu*5000);
seribu=sisa/1000;
sisa=sisa-(seribu*1000);
limaratus=sisa/500;
sisa=sisa-(limaratus*500);
seratus=sisa/100;
sisa=sisa-(seratus*100);
limapuluh=sisa/50;
sisa=-(limapuluh*50);
if(jumlah>=100000)
cout<<"pecahan 100000 ada="<<ratusanribu<<endl;
if(jumlah>=50000)
cout<<"pecahan 50000 ada="<<limapuluhribu<<endl;
if(jumlah>=20000)
cout<<"pecahan 20000 ada="<<limapuluhribu<<endl;
if(jumlah>=10000)
cout<<"pecahan sepulu ribu ada="<<sepuluhribu<<endl;
if(jumlah>=5000)
cout<<"pecahan lima rabu ada="<<limaribu<<endl;
if(jumlah>=1000)
cout<<"pecahan seribu ada="<<seribu<<endl;
if(jumlah>=500)
cout<<"lima ratus ada="<<limaratus<<endl;
if(jumlah>=100)
cout<<"seratus ada="<<seratus<<endl;
if(jumlah>=50)
cout<<"lima puluh ada="<<limapuluh<<endl;
if(jumlah>=0)
cout<<"sisa ada="<<sisa<<endl;
system("pause");
return 0;
}
outputnya :
8. [Pengamatan] Buatlah analisis dan algoritma untuk menghitung luas sebuah plat CD.
Diameter lingkaran luar = …. cm.
Diameter lingkaran dalam = …. cm.
kodingan devC++ :
#include <iostream>
#include <string>
using namespace std;
int main()
{
float hasil,phi,a,b,l2,l1;
cout<<"masukan diameter lingkaran LUAR :"<<endl;
cin >> a;
cout<<"masukan diameter lingkaran Dalam :"<<endl;
cin >> b;
phi=3,14;
l1 =(a/2)*(a/2)*phi;
l2 =(b/2)*(b/a)*phi;
hasil =l1-l2;
cout << "luas CD tersebut adalah "<<hasil << endl;
return 0;
}
outputnya :
10. Buatlah analisis dan algoritma untuk mengkonversi bilangan biner 4 digit menjadi bilangan desimal. Operator overloading input mencegah user untuk memasukkan bilangan selain 0 dan 1. Deklarasi variabel input dan output adalah bertipe integer.
kodingan devC++ :
#include <iostream>
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 biner,desi=0,dua=1;
cout<<"Masukan Bilangan BINER : ";cin>>biner;
do { desi+=(biner%2)*dua;dua*=2;biner/=10;}
while(biner);
cout<<"bilangan DESIMAL nya adalah "<<desi;
return 0;
}
outputnya :
12. Buatlah analisis dan algoritma untuk menghitung jumlah dari dari dua tanggal yang dimasukkan user. Misalnya, berapa hari dari 6/1/90 sampai 8/3/92 ? Anggap satu tahun 365 hari dan anggap semua komponen tanggal pertama SELALU LEBIH KECIL dari komponen tanggal kedua.
kodingan DevC++ :
#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;
}
outputnya :
Sekian yang bisa saya bagikan semoga bermanfaat
wassalamualaikum warahmatullahi wabarakatuh
0 komentar:
Posting Komentar