#include <iostream>
#include <string>
using namespace std;
class genap{
friend istream& operator>>(istream&, genap&);
friend ostream& operator<<(ostream&, genap&);
public:
genap();
int proses(int i);
private:
int i;
};
genap::genap(){
cout<<" menampilkan angka genap dari 25 sampai dengan 70"<<endl;
}
int genap::proses(int i){
if(i>70){
} else
{ if(i%2==0)
{
cout<<i<<endl;}
else
{} proses(i+1);
}
}
int main()
{
genap x;
x.proses(25);
system("PAUSE");
return EXIT_SUCCESS;
}
outputnya:
Tampilkan postingan dengan label latihan/kasus Alpro. Tampilkan semua postingan
Tampilkan postingan dengan label latihan/kasus Alpro. Tampilkan semua postingan
Selasa, 17 April 2012
Senin, 16 April 2012
integer multiplication of two functions using the sum operator(fungsi perkalian 2 bilangan bulat dengan menggunakan operator penjumlahan)
untuk menghitung perkalian bilangan bulat dengan menggunakan operator penjumlahan:
analisis:
axb=a+a+a+...+a(sebnyak b kali)
fungsi kali(input a,b:integer):integer
Deklarasi
hasil, i:integer
Deskripsi
hasil<- 0
for i<- 1 to b do
hasil<- hasil+a
kali<- hasil
main
kali()
programnya:#include <iostream>
using namespace std;
class kali{
friend istream& operator>>(istream&, kali&);
friend ostream& operator<<(ostream&, kali&);
public:
kali();
int proses(int a, int b);
int output();
private:
int a,b,i;
int hasil;
};
kali::kali(){
cout<<"menghitung hasil perkalian a dan b menggunakan operator penjumlahan"<<endl;
}
istream& operator>>(istream& in, kali& masukan){
cout<<"masukan bilangan a:";
in>>masukan.a;
cout<<"akan dikali dengan b:";
in>>masukan.b;
}
int kali::proses(int a, int b){
int i,hasil=0;
for (i=1;i<=b;i++)
hasil=hasil+a;
return(hasil);
}
int kali::output(){
hasil=proses(a,b);
cout<<"Nilai"<<a<<"x"<<b<<"="<<hasil;
return hasil;
}
int main()
{
kali x;
cin>>x;
x.output();
cout<<endl<<endl;
system("PAUSE");
return EXIT_SUCCESS;
}
outputnya:
overload program to convert decimal numbers into binary numbers
mau buat program konversi bilangan desimal ke biner? untuk konsep perhitungannya misal dimasukkan bilangan desimal(n)=12:
1). 12 dibagi 2 =6 sisa 0
2). 6 dibagi 2=3 sisa 0
3). 3 dibagi 2=1 sisa 1
4). 1 dibagi 2=0 sisa 1
maka 12 desimal=1100 biner
programnya:
1). 12 dibagi 2 =6 sisa 0
2). 6 dibagi 2=3 sisa 0
3). 3 dibagi 2=1 sisa 1
4). 1 dibagi 2=0 sisa 1
maka 12 desimal=1100 biner
programnya:
#include <cstdlib>
#include <iostream>
using namespace std;
class biner{
friend istream& operator>>(istream&, biner&);
friend ostream& operator<<(ostream&, biner&);
public:
biner();
void masukan();
void proses();
void keluar();
private:
int data[100],c,n;
};
biner::biner(){
cout<<"program mengkonversi bilangan desimal ke biner"<<endl;
}
istream& operator>>(istream& in, biner& masukan){
cout<<"masukan desimal:";
in>>masukan.n;
}
void biner::proses(){
int i;
i=0;c=0;
while(n!=1){
data[i]=n%2;
n=n/2;i=i+1;c=c+1;
}
}
void biner::keluar(){
cout<<"hasil biner adalah :"<<1;
for(int i=c-1;i>=0;i--){
cout<<data[i];}
}
int main(){
biner a;
cin>>a;
a.proses();
a.keluar();
cout<<endl;
system("PAUSE");
return EXIT_SUCCESS;
}
hasil outputnya:
Sabtu, 14 April 2012
fungsi fibonacci
deret fibonacci: 1,1,2,3,5,8,...
suku ke n dari deret fibonacci diperoleh dengan rumus:
fibonacci(n)=fibonacci(n-1) + fibonacci(n-2)
dengan nilai awal untk n=1 dan n=2 berharga 1
fungsi fibonacci (input n;integer) :integer
deskripsi
if(n=1) or (n=2) then fibonacci =1
else fibonacci =fibonacci(n-1)+fibonacci(n-2)
endif
#include <iostream.h>
#include <conio.h>
class Operator {
friend ostream& operator<<(ostream&, Operator&);
friend istream& operator>>(istream&, Operator&);
public:
long fibonacci(int);
private:
int n;
};
int fibonacci(int n)
{ if((n==1)||(n==2)) return(1);
else return(fibonacci(n-1)+fibonacci(n-2));
}
ostream& operator<<(ostream& out, Operator& a){
for (int i=1;i<=a.n;i++)
out<<fibonacci(i)<<" ";
return out;
}
istream& operator>>(istream& in, Operator& a){
cout<<"Sampai suku ke:";
in>>a.n;
return in;
}
main(){
Operator run;
cin>>run;
cout<<run;
getch();
}
suku ke n dari deret fibonacci diperoleh dengan rumus:
fibonacci(n)=fibonacci(n-1) + fibonacci(n-2)
dengan nilai awal untk n=1 dan n=2 berharga 1
fungsi fibonacci (input n;integer) :integer
deskripsi
if(n=1) or (n=2) then fibonacci =1
else fibonacci =fibonacci(n-1)+fibonacci(n-2)
endif
#include <conio.h>
class Operator {
friend ostream& operator<<(ostream&, Operator&);
friend istream& operator>>(istream&, Operator&);
public:
long fibonacci(int);
private:
int n;
};
int fibonacci(int n)
{ if((n==1)||(n==2)) return(1);
else return(fibonacci(n-1)+fibonacci(n-2));
}
ostream& operator<<(ostream& out, Operator& a){
for (int i=1;i<=a.n;i++)
out<<fibonacci(i)<<" ";
return out;
}
istream& operator>>(istream& in, Operator& a){
cout<<"Sampai suku ke:";
in>>a.n;
return in;
}
main(){
Operator run;
cin>>run;
cout<<run;
getch();
}
calculate combinations and permutations
#include <iostream.h>
#include <stdio.h>
#include <conio.h>
long int fak (long int x);
int main()
{
int n,r, Prts,pilihan,p;
char ulang;
do
{
cout<<"PERHITUNGAN KOMBINASI DAN PERMUTASI"<<endl;
cout<<"1. KOMBINASI"<<endl;
cout<<"2. PERMUTASI"<<endl;
cout<<endl<<endl;
cout<<"Pilihan Anda : ";cin>>pilihan;
switch (pilihan)
{
case 1 :
cout<<" Program Menghitung Kombinasi(nCr)";
cout<<endl;
cout<<" Masukkan Nilai n : "; cin>>n;
cout<<endl;
cout<<" Masukkan Nilai r : "; cin>>r;
cout<<endl;
if (n>r){
Prts = fak(n)/(fak(n-r)*fak (r));
cout<<endl;
printf(" Kombinasinya adalah: %d",Prts);
cout<<endl; }
else if (n<r){
cout<<"data tak valid";}
cout<<endl ;
break;
case 2 :
cout<<" Program Menghitung Permutasi(nPr)";
cout<<endl;
cout<<" Masukkan Nilai n : "; cin>>n;
cout<<endl;
cout<<" Masukkan Nilai r : "; cin>>r;
cout<<endl;
if (n>r){
Prts = fak (n)/fak(n-r);
cout<<endl;
cout<<" Permutasinya adalah: "<<Prts;
cout<<endl; }
else if (n<r){
cout<<"data tak valid";}
cout<<endl ;
break;
case 3 :
cout<<"Exit"<<endl;
break;
default:
cout<<"Menu tidak tersedia"<<endl;
break;
}
cout<<"Kembali ke Menu Utama (y/n)?";cin>>ulang;
}while(ulang == 'y');
}
long int fak (long int n)
{
int f;
if (n<=1)
{
f=1;
}
else
{
f=n*fak(n-1);
}
return (f);
}
#include <stdio.h>
#include <conio.h>
long int fak (long int x);
int main()
{
int n,r, Prts,pilihan,p;
char ulang;
do
{
cout<<"PERHITUNGAN KOMBINASI DAN PERMUTASI"<<endl;
cout<<"1. KOMBINASI"<<endl;
cout<<"2. PERMUTASI"<<endl;
cout<<endl<<endl;
cout<<"Pilihan Anda : ";cin>>pilihan;
switch (pilihan)
{
case 1 :
cout<<" Program Menghitung Kombinasi(nCr)";
cout<<endl;
cout<<" Masukkan Nilai n : "; cin>>n;
cout<<endl;
cout<<" Masukkan Nilai r : "; cin>>r;
cout<<endl;
if (n>r){
Prts = fak(n)/(fak(n-r)*fak (r));
cout<<endl;
printf(" Kombinasinya adalah: %d",Prts);
cout<<endl; }
else if (n<r){
cout<<"data tak valid";}
cout<<endl ;
break;
case 2 :
cout<<" Program Menghitung Permutasi(nPr)";
cout<<endl;
cout<<" Masukkan Nilai n : "; cin>>n;
cout<<endl;
cout<<" Masukkan Nilai r : "; cin>>r;
cout<<endl;
if (n>r){
Prts = fak (n)/fak(n-r);
cout<<endl;
cout<<" Permutasinya adalah: "<<Prts;
cout<<endl; }
else if (n<r){
cout<<"data tak valid";}
cout<<endl ;
break;
case 3 :
cout<<"Exit"<<endl;
break;
default:
cout<<"Menu tidak tersedia"<<endl;
break;
}
cout<<"Kembali ke Menu Utama (y/n)?";cin>>ulang;
}while(ulang == 'y');
}
long int fak (long int n)
{
int f;
if (n<=1)
{
f=1;
}
else
{
f=n*fak(n-1);
}
return (f);
}
algoritma menghitung konversi suhu
untuk mengkonversi suhu dari Celcius menjadi Reamur, Fahrenheit dan Kelvin dicari dengan rumus:
R=4/5*C
F=9/5*C+32
K=C+273
ini gambar flowchartnya:
R=4/5*C
F=9/5*C+32
K=C+273
ini gambar flowchartnya:
konversi nilai menjadi huruf
algoritma Konversi_nilai
mengkonversikan nilai angka menjadi nilai huruf
deklarasi
nilai :integer
nilai_huruf: char
deskripsi:
read nilai
if (nlai >0) and (nilai <=20) then nilai E
if (nlai >20) and (nilai <=40) then nilai D
if (nlai >40) and (nilai <=60) then nilai C
if (nlai >60) and (nilai <=80) then nilaiB
else nilai_huruf A
endif
write (nilai_huruf)
#include <cstdlib>
#include <iostream>
using namespace std;
class Nilai{
friend ostream& operator<<(ostream&, Nilai&);
friend istream& operator>>(istream&, Nilai&);
public:
Nilai(){
if ((nilai>0) &&(nilai <=20))
nilai_huruf ='E';
else if((nilai>20) &&(nilai <=40))
nilai_huruf='D';
else if((nilai>40) &&(nilai <=60))
nilai_huruf='C';
else if((nilai>60) &&(nilai <=80))
nilai_huruf='B';
else nilai_huruf ='A';
}
private:
int nilai;
char nilai_huruf;
};
istream& operator>>(istream& in, Nilai& masukan){
cout<<"masukkan nilai angka=";
in>>masukan.nilai;
return in;
};
ostream& operator<<(ostream& out, Nilai& keluaran){
out<<"Nilai angka:"<<keluaran.nilai<<endl;
out<<"Nilai huruf:"<<keluaran.nilai_huruf;
return out;
}
int main(){
Nilai angka;
cin>>angka;
angka.konversikan();
cout<<angka;
}
system("PAUSE");
return EXIT_SUCCESS;
}
mengkonversikan nilai angka menjadi nilai huruf
deklarasi
nilai :integer
nilai_huruf: char
deskripsi:
read nilai
if (nlai >0) and (nilai <=20) then nilai E
if (nlai >20) and (nilai <=40) then nilai D
if (nlai >40) and (nilai <=60) then nilai C
if (nlai >60) and (nilai <=80) then nilaiB
else nilai_huruf A
endif
write (nilai_huruf)
#include <cstdlib>
#include <iostream>
using namespace std;
class Nilai{
friend ostream& operator<<(ostream&, Nilai&);
friend istream& operator>>(istream&, Nilai&);
public:
Nilai(){
if ((nilai>0) &&(nilai <=20))
nilai_huruf ='E';
else if((nilai>20) &&(nilai <=40))
nilai_huruf='D';
else if((nilai>40) &&(nilai <=60))
nilai_huruf='C';
else if((nilai>60) &&(nilai <=80))
nilai_huruf='B';
else nilai_huruf ='A';
}
private:
int nilai;
char nilai_huruf;
};
istream& operator>>(istream& in, Nilai& masukan){
cout<<"masukkan nilai angka=";
in>>masukan.nilai;
return in;
};
ostream& operator<<(ostream& out, Nilai& keluaran){
out<<"Nilai angka:"<<keluaran.nilai<<endl;
out<<"Nilai huruf:"<<keluaran.nilai_huruf;
return out;
}
int main(){
Nilai angka;
cin>>angka;
angka.konversikan();
cout<<angka;
}
system("PAUSE");
return EXIT_SUCCESS;
}
membalik kata secara iteratif dan rekursif
#include <iostream.h>
#include <conio.h>
class Balik{
friend istream& operator>>(istream&, Balik&);
friend ostream& operator<<(ostream&, Balik&);
public:
void balik_kata();
void balik(int s);
private:
char kata[50];
int n;
};
void Balik::balik_kata(){//iteratif
cout<<"Masukkan Kata Yang Akan Dibalik : ";
cin>>kata;n=strlen(kata);
//strrev(kata);
cout<<"Kata Setelah Dibalik : ";
balik(n);
}
void Balik::balik(int s){//rekursif
if (s != -1){
cout<<kata[s];
balik(s-1);
}
}
int main()
{
Balik X;
X.balik_kata();
// X.balik(char *s);
system ("Pause");
return EXIT_SUCCESS;
}
Kamis, 12 April 2012
program displays the names of the months
program menampilkan nama-nama bulan ,bulan 1 : januari; bulan 2:februari;dst.
berikut programnya:
#include <iostream>
#include <string>
using namespace std;
class bulan{
friend ostream& operator <<(ostream&,const bulan&);
friend istream& operator >>(istream&,bulan&);
public:
bulan(unsigned int b=0){nama=b;}
// void nama_bulan1();
//void nama_bulan2();
//void nama_bulan3();
void bulannnya();
private:
unsigned int nama;
};
istream& operator>>(istream& masuk,bulan& x){
cout<<"masukan angka 1 - 12 : ";
masuk>>x.nama;
return masuk;
}
void bulan::bulannnya(){
switch(nama){
case 1 : cout<<"januari";break;
case 2 : cout<<"februari";break;
case 3 : cout<<"maret";break;
case 4 : cout<<"april";break;
case 5 : cout<<"mei";break;
case 6 : cout<<"juni";break;
case 7 : cout<<"juli";break;
case 8 : cout<<"agustus";break;
case 9 : cout<<"september";break;
case 10 : cout<<"oktober";break;
case 11 : cout<<"november";break;
case 12 : cout<<"desember";break;
default :cout<<"maaf angka yang anda masukan melebihi angka yang saya tentukan \n";
}
}
int main(){
bulan a;
cin>>a;
a.bulannnya();
system("PAUSE");
return 0;
}
berikut programnya:
#include <iostream>
#include <string>
using namespace std;
class bulan{
friend ostream& operator <<(ostream&,const bulan&);
friend istream& operator >>(istream&,bulan&);
public:
bulan(unsigned int b=0){nama=b;}
// void nama_bulan1();
//void nama_bulan2();
//void nama_bulan3();
void bulannnya();
private:
unsigned int nama;
};
istream& operator>>(istream& masuk,bulan& x){
cout<<"masukan angka 1 - 12 : ";
masuk>>x.nama;
return masuk;
}
void bulan::bulannnya(){
switch(nama){
case 1 : cout<<"januari";break;
case 2 : cout<<"februari";break;
case 3 : cout<<"maret";break;
case 4 : cout<<"april";break;
case 5 : cout<<"mei";break;
case 6 : cout<<"juni";break;
case 7 : cout<<"juli";break;
case 8 : cout<<"agustus";break;
case 9 : cout<<"september";break;
case 10 : cout<<"oktober";break;
case 11 : cout<<"november";break;
case 12 : cout<<"desember";break;
default :cout<<"maaf angka yang anda masukan melebihi angka yang saya tentukan \n";
}
}
int main(){
bulan a;
cin>>a;
a.bulannnya();
system("PAUSE");
return 0;
}
Calculate the distance between two points A (X1, Y1) and B (X2, Y2)
jika rumus jarak :
d=((x2-x1)*(x2-x1))+((y2-y1)*(y2-y1))
jarak AB= sqrt(d)
program:
#include<iostream.h>
#include<conio.h>
class hitung{
friend ostream& operator<<(ostream&,hitung&);
friend istream& operator>>(istream&,hitung&);
public:
hitung();
void hitung_jarak(){jarak=((Y2-Y1)*(Y2-Y1)-(X2-X1)*(X2-X1));}
private:
float X1,X2,Y1,Y2,jarak;
};
hitung::hitung(){
cout<<"Progaram untuk menghitung Jarak dari 2 titik"<<endl;
}
istream& operator>>(istream& in,hitung& masukan){
cout<<"masukan titik X1 =";
in>>masukan.X1;
cout<<"masukan titik X2 =";
in>>masukan.X2;
cout<<"masukan titik Y1 =";
in>>masukan.Y1;
cout<<"masukan titik Y2 =";
in>>masukan.Y2;
return in;
}
ostream& operator<<(ostream& out,hitung& output){
cout<<"tampilkan Jumlah jarak = "<<output.jarak<<endl;
return out;
}
main(){
hitung x;
cin>>x;
x.hitung_jarak();
cout<<x;
getch();
return 0;
}
flowchart:
d=((x2-x1)*(x2-x1))+((y2-y1)*(y2-y1))
jarak AB= sqrt(d)
program:
#include<iostream.h>
#include<conio.h>
class hitung{
friend ostream& operator<<(ostream&,hitung&);
friend istream& operator>>(istream&,hitung&);
public:
hitung();
void hitung_jarak(){jarak=((Y2-Y1)*(Y2-Y1)-(X2-X1)*(X2-X1));}
private:
float X1,X2,Y1,Y2,jarak;
};
hitung::hitung(){
cout<<"Progaram untuk menghitung Jarak dari 2 titik"<<endl;
}
istream& operator>>(istream& in,hitung& masukan){
cout<<"masukan titik X1 =";
in>>masukan.X1;
cout<<"masukan titik X2 =";
in>>masukan.X2;
cout<<"masukan titik Y1 =";
in>>masukan.Y1;
cout<<"masukan titik Y2 =";
in>>masukan.Y2;
return in;
}
ostream& operator<<(ostream& out,hitung& output){
cout<<"tampilkan Jumlah jarak = "<<output.jarak<<endl;
return out;
}
main(){
hitung x;
cin>>x;
x.hitung_jarak();
cout<<x;
getch();
return 0;
}
flowchart:
print the number is divisible by 5 and 7 between 1 to 100 are then converted into a recursive iterative
#include <iostream>
#include <string>
using namespace std;
class Bagi{
friend istream& operator>>(istream&, Bagi &);
friend ostream& operator<<(ostream&, Bagi&);
public:
Bagi();
void proses();
int bagi(int a);
private:
int a;
};
Bagi::Bagi(){
cout<<"Menampilkan bilangan yang habis dibagi 5 dan 7 antara 1 sampai 100"<<endl;
}
void Bagi::proses(){//iteratif
a =1;
while (!(a>100)){
if (a % 5==0 && a % 7==0){
cout << a << endl;
}else{}
a =a+1;
}
}
int Bagi::bagi (int a){//rekursif
if (a>100){
}else
{
if (a % 5==0 && a % 7==0)
{
cout << a << endl; }
else
{}bagi(a+1);
}}
int main(){
Bagi X;
X.proses();
X.bagi(1);
system("pause");
return 0;
}
gambar flowchartnya:
iteratif
rekursif
#include <string>
using namespace std;
class Bagi{
friend istream& operator>>(istream&, Bagi &);
friend ostream& operator<<(ostream&, Bagi&);
public:
Bagi();
void proses();
int bagi(int a);
private:
int a;
};
Bagi::Bagi(){
cout<<"Menampilkan bilangan yang habis dibagi 5 dan 7 antara 1 sampai 100"<<endl;
}
void Bagi::proses(){//iteratif
a =1;
while (!(a>100)){
if (a % 5==0 && a % 7==0){
cout << a << endl;
}else{}
a =a+1;
}
}
int Bagi::bagi (int a){//rekursif
if (a>100){
}else
{
if (a % 5==0 && a % 7==0)
{
cout << a << endl; }
else
{}bagi(a+1);
}}
int main(){
Bagi X;
X.proses();
X.bagi(1);
system("pause");
return 0;
}
gambar flowchartnya:
iteratif
rekursif
menentukan nilai maksimum dan minimum dari n bilangan [array]
procedure maks_min(input data :larik; n:integer; output m1,m2:integer)
deklarasi
i:integer
deskripsi
m1 <-data[1]
m2 <-data[1]
for i <- 2 to n do
if (data[i]>m1) then m1 <- data[i];
if (data[i]<m2) then m2 <- data[i];
endfor
flowchartnya:
deklarasi
i:integer
deskripsi
m1 <-data[1]
m2 <-data[1]
for i <- 2 to n do
if (data[i]>m1) then m1 <- data[i];
if (data[i]<m2) then m2 <- data[i];
endfor
flowchartnya:
menentukan nilai maksimum dari n bilangan dgn [array]
mencari nilai deviasi standar dari n buah kata [array]
Fungsi std(input x:array[1--10] of integer, n:integer, rata:real):real
{diberikan n data kemudian dicari rata-ratanya}
deklarasi
i,jumlah:integer
deskripsi
jumlah <- 0
for i <- 1 to n do
jumlah <- jumlah + sqrt(x[i]-rata)
endfor
std<- sqrt(jumlah/(n-1))
flowchartnya:
{diberikan n data kemudian dicari rata-ratanya}
deklarasi
i,jumlah:integer
deskripsi
jumlah <- 0
for i <- 1 to n do
jumlah <- jumlah + sqrt(x[i]-rata)
endfor
std<- sqrt(jumlah/(n-1))
flowchartnya:
mencari rata-rata dari n bilangan bulat [array]
rata-rata dari n bilangan bulat dengan menggunakan array
Fungsi rata(input x:array [1..10] of integer, n:integer):real
{diberikan n databkemudian dicari rata-ratanya}
deklarasi
i, jumlah: integer
deskripsi
jumlah <-0
for i <- 1 to n do
jumlah<-jumlah +x[i]
endfor
rata<-jumlah/n
flowchartnya:
Fungsi rata(input x:array [1..10] of integer, n:integer):real
{diberikan n databkemudian dicari rata-ratanya}
deklarasi
i, jumlah: integer
deskripsi
jumlah <-0
for i <- 1 to n do
jumlah<-jumlah +x[i]
endfor
rata<-jumlah/n
flowchartnya:
Senin, 09 April 2012
prosedur untuk menukar nilai dari dua variabel
menukar isi dua nilai a menjadi b, demikian pula sebaliknya. maka perlu tempat sementara (temp) sebelum nilai a ditukar dengan nilai b, karena tidak bisa begitu saja menukar nilai b, yang akan berakibat nilai b akan hilang.
prosedur tukar(input/output a: integer; b integer)
prosedur tukar(input/output a: integer; b integer)
main
tukar
Minggu, 25 Maret 2012
mencari nilai dari n! (n faktorial)
nilai n faktorial yaitu n!=1x2x3x.......x n
dengan 0!=1 atau 1!=1
misalnya: bila 3!=1x2x3
misalnya: bila 3!=1x2x3
= 6
Jumat, 23 Maret 2012
mencari rata-rata dari n bilangan bulat positif
Rumus rata-rata yaitu jumlah data dibagi dengan banyaknya data,dengan xi adalah data ke-i
data=x
banyak data=n
Algoritma mencari rata-rata
{diberikan n data kemudian dicari rata-ratanya}
Deklarasi:
read(n)
jumlah <— 0for i <— 1 to n do
read(x)
jumlah <— jumlah + x
endfor
rata <— jumlah/n
write(rata)
Flowchartnya:
Langganan:
Postingan (Atom)


+axb.png)

















.png)



