Selasa, 17 April 2012

Algoritma Lingkaran

Deklarasi :
Konstanta
              phi = 3,14
              r : integer         {input}
              keliling,luas : real  {output}

Deskripsi :
              read(r)
              keliling = 2*phi*r
              luas = phi*r*r
              write(keliling,luas)


Flowchart

Algoritma Menghitung Konversi Suhu

{Masukan integer derajat Celcius (C),
menghitung ekivalensinya dalam derajat Reamur (R), Fahrenheit (F), dan Kelvin(K).kemudian menampilkan hasilnya di layar}

Deklarasi:
C  : real   : {derajat Celcius, input}
R  : real  : {derajat Reamur, output}
F  : real  : {derajat Fahrenheit, output}
K  : real  : {derajat Kelvin, output}

Deskripsi:
read (C)
R = 4/5*C
F = 9/5*C+32
K = C+273
write (R,F,K)


Flowchart
 

Algoritma Mencari n Faktorial

Deklarasi :
i,n : integer
faktorial : longint

Deskripsi :
read(n)
faktorial =1
for i=1 to n do
faktorial=faktorial*i
endfor
write(faktorial)



Flowchart



programnya

#include <iostream.h>
#include <conio.h>
class Operator{
friend ostream& operator<<(ostream&, Operator&);
friend istream& operator>>(istream&, Operator&);
public :
long faktorial();
private:
int n;
long hasil;
};
long Operator::faktorial(){
long fak=1;
for(int=1; i<=n; i++)
fak=fak*i;
return fak;
}
ostream& operator<<(ostream& out, Operator){
a.hasil=a.faktorial();
out<<"Hasil cara iterasi :"<<a.n<<"! adalah "<<a.hasil;
return out;
}
istream& operator>>(istream& in, Operator){
cou<<"Masukkan integer n :";
in>>a.n;
return in;
}
void main(){
Operator run;
cin>>run;
cout<<run;
getch();
}
system ("PAUSE");
return EXIT_SUCCESS;
}

Algoritma Mencari Jumlah Deret

Deklarasi :
n,jumlah,x : integer
rata : real

Deskripsi :
jumlah=0
i=1
repeat
julmah=jumlah+(1/i)
i=1+1
selisih=(1/i)-(1/(i-1))
until about(selisih)<0,001
write(jumlah,i)


Flowchart



Programnya


#include <iostream.h>
#include <conio.h>
#include <math.h>

class Deret{
 friend ostream& operator<<(ostream&, Deret&);
 public :
         float hitung_Deret();
 private:
         int n;
         float hasil;
 };

float Deret:: hitung_Deret(){
 float selisih,jumlah=0.0;
 int i=1;
 do{
 jumlah+=1.0/(i-1)-1.0/i;
 }while(selisih>=0.001);
 cout<<"Perulangan dilakukan sebanyak :"<<i<<endl;
 return jumlah;
 }

ostream& operator<<(ostream& out, Deret&){
 out<<"Jumlah deret ="<<A.hitung_Deret();
 return out;
 }

void main(){
 Deret X;
 cout<<X;
 }
system ("PAUSE");
return EXIT_SUCCESS;
}

akar imajiner

read (a,b,c)
disk = b*b-4*a*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)

Flowchart