B. Flowchart
C. Bahasa C++
· 1.
Masalah:
Mencari akar-akar persamaan kuadrat.
· 2
Analisis:
Input
: a, b, dan c adalah bilangan real.
Proses
: Mencari akar-akar persamaan kuadrat.
Output
: Akar-akar kuadrat.
·
Algoritma akar-akar kuadrat:
(Menghitung akar-akar persamaan
kuadrat ax^2+bx+c=0)
·
Deklarasi:
a, b, c : integer
(koefisien-koefisien persamaan)
D
: longint (diskriminan)
x1, x2 : real
(nilai akar untuk D>=0)
·
Deskripsi:
read(a, b, c)
D ß (b*b) – (4*a*c)
if (a=0) then write (‘Bukan
persamaan kuadrat’)
else if D>0 then
x1 ß-b + sqrt(D)/2*a
x2 ß -b – sqrt(D)/2*a
else if D=0 then
x1 ß -b/2*a
x2 ß x1
else write(‘Akar imajiner’)
end if
write(x1,x2)
·
C++
#include <cstdlib>
#include <iostream>
#include <math.h>
using namespace std;
class Akar{
private:
int a;
int b;
int c;
float D;
float x1, x2;
public:
Akar();
void akarku();
float caraku();
};
Akar::Akar(){
cout<<"Menghitung akar-akar persamaan\n\n";
}
void Akar::akarku(){
cout<<"Masukkan A: ";
cin>>a;
cout<<"Masukkan B: ";
cin>>b;
cout<<"Masukkan C: ";
cin>>c;
}
float Akar::caraku(){
D=(b*b)-(4*a*c);
if (a=0){
cout<<"Bukan persamaan kuadrat\n";
cout<<"Harga akar: "<<-c/b;}
else if (D>0){
x1=(-b +(sqrt(D)))/(2*a);
x2=(-b -(sqrt(D)))/(2*a);
cout<<"Diskriminan: "<<D<<endl;
cout<<"x1= "<<x1<<endl;
cout<<"x2= "<<x2<<endl;}
else if (D=0){
x1=-b/2*a;
x2=x1;
cout<<"Diskriminan= "<<D<<endl;
cout<<"x1= "<<x1<<endl;
cout<<"x2= "<<x2<<endl;}
else
cout<<"Akar imajiner"<<endl;
}
int main(int argc, char *argv[])
{
Akar x;
x.akarku();
x.caraku();
system("PAUSE");
return
EXIT_SUCCESS;
}
Tidak ada komentar:
Posting Komentar