·
Masalah:
Mencari akar-akar persamaan kuadrat.
·
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;
}
·
Flowchart:
Tugas (10 maret '14)
Tidak ada komentar:
Posting Komentar