PEMILIHAN
LATIHAN
Buatlah algoritma dan class beserta method untuk mengecek apakah pemakai memasukkan bilangan bulat atau bilangan real
Jawab :
a. Algortima
1. Algoritma menerima masukan a
2. Proses pengecekan degan if else
3. Mencetak bilangan bulat atau bilangan real
Deklarasi
Input : a(integer)
Proses : a(integer)
Output : hasil (a)
Deskripsi
a=a
if(a==a) then cek <= "adalah bilangan bulat "
else cek <= "adalah bilangan real"
end if
write cek
b. Program
#include <iostream>
using namespace std;
class cek{
public:
void hitung();
private:
float a;
};
void cek::hitung(){
cout<<"-------------------------------"<<endl;
cout<<"\tMENGECEK BILANGAN\t"<<endl;
cout<<"-------------------------------"<<endl;
cout<<"Masukan bilangan : ";
cin>>a;
if(a==int (a)){
cout<<"adalah bilangan bulat"<<endl;
}
else{
cout<<"adalah bilangan real"<<endl;
}
}
int main(){
cek x;
x.hitung();
return 0;
}
WORKSHOP BAB 4
1. Buatlah flowchart dan translasi program dari algoritma mencari nilai terbesar dari 3 bilangan
Jawab:
a. Flowchart
b. Program
#include <iostream>
#include <conio.h>
using namespace std;
class Terbesar{
friend istream& operator>>(istream&, Terbesar&);
public:
Terbesar();
void bilangan_terbesar(){
int max = x;
if(y > max) max = y;
if(z > max) max = z;
cout<<"\nBilangan terbesar adalah : "<<max;
}
private:
int x, y, z;
};
Terbesar::Terbesar(){
cout<<"----------------------------------------------"<<endl;
cout<<" MENENTUKAN NILAI TERBESAR DARI 3 BILANGAN "<<endl;
cout<<"----------------------------------------------"<<endl;
}
istream& operator>>(istream& cin, Terbesar& masukan){
cout<<"Masukkan nilai X : ";
cin>>masukan.x;
cout<<"Masukkan nilai Y : ";
cin>>masukan.y;
cout<<"Masukkan nilai Z : ";
cin>>masukan.z;
return cin;
}
int main(){
Terbesar bil;
cin>>bil;
bil.bilangan_terbesar();
return 0;
}
2. Sempurnakan algoritma 3.3 dengan akar imajiner berbentuk:
a+bi dengan a dan b bilangan real dan bila harga b2-4ac<0. Perhatikan nahwa nilai a dan b dihitung terpisah.
Jawab:
#include <iostream>
#include <math.h>
#include <conio.h>
using namespace std;
class Imajiner{
friend ostream& operator<<(ostream&, const Imajiner&);
friend istream& operator>>(istream&, Imajiner&);
public:
Imajiner();
int diskriminan(){ return b*b - 4*a*c;}
float akar1(){ return (-b + sqrt(diskriminan())) / (2*a);}
float akar2(){ return (-b - sqrt(diskriminan())) / (2*a);}
void hitung_akar();
void cetak_diskriminan(){
cout<<"Diskriminan = "<<diskriminan()<<endl;}
void cetak_akar(){
cout<<"Akar x1 = "<<akar1()<<endl;
cout<<"Akar x2 = "<<akar2()<<endl;
}
private:
int a, b,c, D;
float x1, x2;
};
Imajiner::Imajiner(){
cout<<"-------------------------------------"<<endl;
cout<<" MENGHITUNG AKAR PERSAMAAN KUADRAT "<<endl;
cout<<"-------------------------------------"<<endl;
}
istream& operator>>(istream& cin, Imajiner& masukan){
cout<<"Masukkan nilai A :";
cin>>masukan.a;
cout<<"Masukkan nilai B :";
cin>>masukan.b;
cout<<"Masukkan nilai C :";
cin>>masukan.c;
return cin;
}
ostream& operator<<(ostream& out, Imajiner& keluaran) {
keluaran.cetak_diskriminan();
if (keluaran.diskriminan() >= 0) keluaran.cetak_akar();
else out << "Akar imajiner";
return out;
}
void Imajiner::hitung_akar(){
if (a == 0){
cout<<"Bukan persamaan kuadrat";
cout<<"Akar = "<< -c/b;
}
else {
if (diskriminan() > 0){
x1 = akar1();
x2 = akar2();
}
else if(diskriminan()==0){
x1 = akar1();
x2 = x1;
}
}
}
int main(){
Imajiner bilangan;
cin>>bilangan;
bilangan.hitung_akar();
cout<<bilangan;
return 0;
}
3. Buatlah program dari algoritma menkonversi nilai angka menjadi nilai huruf dengan menggunakan case of
Jawab:
#include <iostream>
using namespace std;
int main(){
int pilihan;
char huruf;
cout<<"--------------------------------------------------"<<endl;
cout<<" PROGRAM MENGKONVERSI NILAI MENGGUNAKAN CASE OF "<<endl;
cout<<"--------------------------------------------------"<<endl;
cout<<"1. Nilai 0-20 "<<endl;
cout<<"2. Nilai 21-40 "<<endl;
cout<<"3. Nilai 51-60 "<<endl;
cout<<"4. Nilai 61-80 "<<endl;
cout<<"5. Nilai 81-100 "<<endl;
cout<<"6. Nilai >100 "<<endl;
cout<<"\nMasukkan nilai angka : ";
cin>>pilihan;
cout<<endl;
switch(pilihan){
case 1 : huruf = 'E'; break;
case 2 : huruf = 'D'; break;
case 3 : huruf = 'C'; break;
case 4 : huruf = 'B'; break;
case 5 : huruf = 'A'; break;
default: huruf = '-'; break;
}
cout<<"Nilai huruf = "<<huruf<<endl;
return 0;
}

Komentar
Posting Komentar