Rabu, 06 April 2016

BAB 3

SOAL;
1.Buatlah analisis dan algoritma untuk mencari titik tengah sebuah garis yang ujung
titiknya adalah A(x1,y1) dan B(x2,y2).
2. Buatlah algoritma untuk mencari isi bola bila diketahui jari-jari bola.
3. Buatlah analisis dan algoritma untuk mencari hipotenusa dari segitiga Pythagoras bila
diketahui sisi siku-sikunya. (Petunjuk : gunakan fungsi sqrt yang menyatakan akar
dari).
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.
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.
6. Buatlah 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.
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 :
8. [Pengamatan] Buatlah analisis dan algoritma untuk menghitung luas sebuah plat CD.
Diameter lingkaran luar = …. cm.
Diameter lingkaran dalam = …. cm.
Rumus luas plat CD :
9. Buatlah analisis dan algoritma untuk menghitung operasi bilangan rasional :
penjumlahan, pengurangan, perkalian, pembagian dan kebalikan.
Buat contoh kasus, misalnya dua bilangan rasional 2/3 dan 4/7.
Hasil penjumlahan manual =
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.
Konversikan 1011 ke desimal :
11. Buatlah analisis dan algoritma untuk menjumlah dua bilangan scientific berbentuk aEb
dengan 0 < a < 10 dan 0 <= b <= 4.
Hitung 2.1E2 + 3.31E1 = secara manual lebih dulu.
Buat algoritmanya
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.
Hitung secara manual kasus dalam soal.

SOURCE CODE DAN RAPTOR:
1.#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;
}



2.#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;
}


4.#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;
}


5.#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;
}



7.#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;
}


8.#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;
}

10.#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;
}


12.#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;
}






1 komentar: