Sabtu, 15 Maret 2014

Kasus 3.3 Carilah akar-akar persamaan kuadrat


·         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