Sabtu, 23 Maret 2013

Kasus 3.3 "Algoritma Menghitung akar-akar persamaan kuadrat"

Masalah:
  • Buatlah algoritma mencari akar-akar persamaan kuadratnya
Analisis:
  • Input: a,b,c
  • Proses: mencari akar-akar persamaan kuadrat.
  • Output: akar-akar kuadrat
Deklarasi:
  • a,b,c : integer{Input}
  • disk : longint{output}
  • x1,x2 : real{output}
Deskripsi:
  • read(a,b,c)
  • disk<--b*b-4a*c
  • if (a=0) then write('Bukan persamaan kuadrat')
    else if disk>0 then
      x1<---(-b)+sqrt(disk)/2*a
      x2<---(-b)-sqrt(disk)/2*a
    else if disk=0 then
      x1<---(-b)/2*a
      x2<---x1
    else write('Akar Imajiner')
    end if
  • write(x1,x2)


Gambar Flowchart:


Program C++ Menghitung akar-akar persamaan kuadrat:

#include<cstdlib>
#include<iostream>
#include <conio.h>
#include<math.h>
using namespace std;

class persamaan{

public:
void persamaan_kuadrat();
float rumus();
private:
int x,y,z;
float x1,x2;
float disk;
};

void persamaan::persamaan_kuadrat(){
cout<<"masukkan nilai A :";
cin>>x;
cout<<"masukkan nilai B :";
cin>>y;
cout<<"masukkan nilai C :";
cin>>z;

}
float persamaan::rumus(){
disk=y*y-4*x*z;

if (disk>0)
{
cout<<"Diskriminan="<<disk<<" Maka akar-akarnya adalah:"<<endl;
x1=(-y+(sqrt(disk)))/(2*x);
cout<<"x1 :"<<x1;
cout<<endl;
x2=(-y-(sqrt(disk)))/(2*x);
cout<<"x2 :"<<x2;
}
else if(disk=0)
{
cout<<"Diskriminan="<<disk<<" Maka akar-akarnya adalah:"<<endl;
x1=-y/2*x;
cout<<"x1 :"<<x1;
cout<<endl;
x2=x1;
cout<<"x2 :"<<x2;
}
else
cout<<"akar imajiner";

}

int main(int argc, char *argv[])

{
persamaan X;
X.persamaan_kuadrat();
X.rumus();

return 0;

}

Tidak ada komentar: