Program untuk menghitung pangkat positif atau negatif sesuai inputan

Pada postingan kali ini saya akan memberikan contoh flowchart dan syntaks C++ tentang program untuk menghitung pangkat positif atau negatif tergantung inputan dari user.
Apabila pangkat positif maka proses penghitungannya seperti berikut :
Input = x
Pangkat = y
Maka proses penghitungannya : x*x*x…*x(sebanyak y kali) dan akan membutuhkan 1 variabel bantuan yang berfungsi untuk mencetak hasil.

Apabila pangkat negatif maka proses penghitungannya seperti berikut :
Input= x
Pangkat = – y
Maka prosesnya : 1/(x*x*x*x…*x(sebanyak y kali)) dan akan membutuhkan 1 variabel bantuan juga yang berfungsi untuk mencetak hasil.

Daripada pusing mending langsung kita lihat versi flowchart dan C++ nya bray…🙂

Flowchart :

Main()

Procedur()

Berikut ini adalah versi C++ nya:


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

using namespace std;

class proses{
friend istream& operator>>(istream&, proses&);
friend ostream& operator<<(ostream&, proses&);
public:
int pangkat(float hasil, int x, int y);
private:
int g,h;
float f;
};

int proses::pangkat(float hasil,int x,int y){

if (x<=0)
{
hasil =1/hasil;
cout << "hasil pemangkatan = "<<hasil << endl;   }
else
{
if (y<=0)
{
if (y==0)
{
cout << "hasil pemangkatan = "<<hasil << endl;         }
else
{
pangkat((hasil*y),x-1,y);
}
}
else
{
pangkat((hasil*x),x,y-1);
}
}
};

istream& operator>>(istream& in, proses& masukan){
cout<<"Masukkan Nilai X : ";
in>>masukan.g;
cout<<"Masukkan Pangkat : ";
in>>masukan.h;
masukan.f=1;
};

ostream& operator<<(ostream& out, proses& keluaran){
keluaran.pangkat(keluaran.f,keluaran.g,keluaran.h);
};
int main()
{
proses jalankan;
cin>>jalankan;
cout<<jalankan;

getch();
}

Demikianlah program pemangkatan dengan rekursif versi saya!!🙂
Selamat mencoba!!!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s