Tampilkan postingan dengan label praktikum Alpro. Tampilkan semua postingan
Tampilkan postingan dengan label praktikum Alpro. Tampilkan semua postingan

Minggu, 08 April 2012

menghitung nilai x pangkat y secara rekursif

dalam fungsi pangkat xy,kita tahu bahwa semua bilangan selain 0, jika dipangkatkan dgn 0 nilainya sama dengan 1. jika x dipangkatkan dgn y, dgn y>0 maka hasilnya sama dgn x dikalikan dgn x dipangkatkan (y-1). gambar flowchartnya kurang lebihnya seperti berikut:
programnya:

#include<cstdlib>
#include<iostream>
using namespace std;
class Pangkat{
friend istream& operator>>(istream&, Pangkat&);
friend ostream& operator<<(ostream&, Pangkat&);
public:
Pangkat();
int proses(int x,int y);
int output();
private:
int x,y,i;
int hasil;
};
Pangkat::Pangkat() {
cout<<"mencari X pangkat Y"<<endl;
}
istream& operator>>(istream& in, Pangkat& masukan){
cout<<"masukan x:";
in>>masukan.x;
cout<<"masukan y:";
in>>masukan.y;
}
int Pangkat::proses(int x, int y){
if(y==1)
return x;
else if (y==0)
return 1;
else
return x*proses(x,y-1);
}
int Pangkat::output(){
hasil=proses(x,y);
cout<<"Maka hasilnya adalah:"<<hasil;
return hasil;
}
int main()
{
Pangkat X;
cin>>X;
X.output();
cout<<endl<<endl;
system ("Pause");
return EXIT_SUCCESS;
}

Sabtu, 07 April 2012

menentukan bangun persegi atau persegi panjang


Masalahmenentukan apakah bangun itu persegi atau persegi panjang
            a.         Analisis MasalahTabel Input-Proses-Output
Contoh Kasus
Input
Process
Output
Persegi mempunyai panjang sisi-sisi yg sama,sedangkan persegi panjang memiliki panjang dan lebar yg berbeda.
Sebagai contoh apabila diinputkan bil1=4 dan bil2=4 maka outputnya persegi karena mempunyai sisi yg sama, sedangkan bila diintpukan bil1=6 dan bil2=2 maka outputnya persegi panjang karena panjang dan lebarnya berbeda.



bil1, bil2



If(a==b) then write (‘Persegi’)
Else write (‘Persegi Panjang’)
Persegi atau Persegi panjang
           




b.         Algorithm DesignFlowchart



          
programnya:

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

class beda{
friend istream& operator>>(istream&, beda&);
public:
beda(){};
void bedakan (){
if(a==b)
cout<<"persegi";
else
cout<<"persegi panjang";
}
private:
int a,b;
};
istream& operator>>(istream& in, beda& masukan){
cout<<"masukan bil1=";
in>>masukan.a;
cout<<"masukan bil2=";
in>>masukan.b;  
return in;
}
main(){
beda masukan;
cin>>masukan;
masukan.bedakan();
getch();
           

menghitung volum dan luas permukaan kubus

Masalahmenghitung volume dan luas permukaan kubus
            a.         Analisis MasalahTabel Input-Proses-Output
Contoh Kasus
Input
Process
Output
Menghitung volume dan luas permukaan kubus

Untuk volum:
Misal: s=2 maka v=s*s*s
V=2*2*2=8

Untuk luas permukaan:
misal: s=2 maka
Luas=6*s*s
Luas=6*2*2=24






Sisi(s)




sisi (s)




volum = s*s*s





lp= 6*s*s




volum





lp
            
b.         Algorithm DesignFlowchart
 
programnya:


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

class Hitung{
friend ostream& operator << (ostream& ,const Hitung&);
friend istream& operator << (istream& , Hitung&);
public:
Hitung();
void Hitung_v(){v=(s*s*s);}
void Hitung_lp(){lp=(6*s*s);}
private:
double s,v,lp;
};
Hitung::Hitung(){
cout<<"program menghitung volume dan luas permukaan kubus"<<endl;
}
istream& operator>>(istream& in, Hitung& masukan){
cout<<"masukkan nilai s:";
in>>masukan.s;
return in;
}
ostream& operator<<(ostream& out, const Hitung& keluaran){
out<<"volume="<<keluaran.v<<endl;
out<<"luas permukaan="<<keluaran.lp<<endl;
return out;
}
main(){
Hitung x;
cin>>x;
x.Hitung_v();
x.Hitung_lp();
cout<<x;
getch();
}