LATIHAN WORKSHOP DIKTAT BAB VI SUB PROGRAM OOP DAN REKURSI
Prosedur dikategorikan sebagai sub algoritma (atau subprogram) yang menghasilkan
output lebih dari satu atau hanya sekedar melakukan tindakan tertentu. Fungsi (Function)
Sebagaimana pengertian fungsi dalam matematika, fungsi dalam algoritma adalah sub
program yang menghasilkan satu nilai. Dalam subprogram dapat dideklarasikan variabel sendiri, yang nantinya akan digunakan. Variabel yang dideklarasikan dalam subprogram bersifat lokal, artinya hanya dikenal dalam procedure itu sendiri, dan tidak dikenal di luar procedure.
Latihan
Buatlah procedure untuk:
1. Menghitung ganjil dan genap
Analisis
Untuk membuat program
C++ yang menentukan bilangan ganjil atau bilangan genap, terlebih dahulu kita
harus tahu bagaimana membedakan bilangan ganjil dan genap. Contoh bilangan
ganjil adalah 1, 3, 5, 7, 9 dan seterusnya. Contoh bilangan genap adalah 2, 4, 6,
8 dan seterusnya. Sebelum bisa menentukan bilangan ganjil dan genap, anda harus
mengetahui operator sisa pembagian (MOD) / modulus.
Analisis kasusnya:
Kasus 1. Jika x mod 2 = 0, maka tulis
genap
Kasus 2. Jika x mod 2 = 1, maka tulis
ganjil
Algoritma
prosedur GanjilGenap(input/output n : integer)
{mencetak bilangan ganjil dan genap}
Deklarasi
n : integer
Deskripsi
read (n)
if (n>=1) then
GenapGanjil(n-1)
if (n % 2==0)then
else
write (n)
endif
endif
Flowchart Ganjil dan Genap
Translasi Ganjil dan Genap
#include <iostream>
#include <string>
using namespace std;
void GenapGanjil (int n)
{
if (n>=1)
{
GenapGanjil(n-1);
if (n % 2==0)
{
cout << n<<" Bilangan Genap" << endl; }
else
{
cout << n<<" Bilangan Ganjil" << endl; }
}
else
{
}
}
int main()
{
string raptor_prompt_variable_zzyz;
int n;
cout<< "===================================="<<endl;
cout <<"||Menghitung Bilangan Ganjil Genap||" << endl;
cout<< "===================================="<<endl;
cout<<endl;
n =0;
raptor_prompt_variable_zzyz ="Masukan Batas N: ";
cout << raptor_prompt_variable_zzyz;
cin >> n;
cout<<endl;
cout<< "==================="<<endl;
cout <<"||Hasilnya Adalah||" << endl;
cout<< "==================="<<endl;
cout<<endl;
GenapGanjil(n);
return 0;
}
Hasil Kasus Genap Dan Ganjil
2. Menghitung luas persegi panjang
Analisis
Untuk menghitung luas persegi panjang pada C++ kita harus mengetahui dahulu rumus luas persegi panjang, setelah kita tau rumus nya, barulah kita akan membuat program C++ Menghitung Luas Persegi Panjang. Di situ saya misalkan inputan panjang 4 dan lebar 3 untuk menghitung luas persegi panjang dengan rumus yaitu (PxL) panjang kali lebar.
Untuk menghitung luas persegi panjang pada C++ kita harus mengetahui dahulu rumus luas persegi panjang, setelah kita tau rumus nya, barulah kita akan membuat program C++ Menghitung Luas Persegi Panjang. Di situ saya misalkan inputan panjang 4 dan lebar 3 untuk menghitung luas persegi panjang dengan rumus yaitu (PxL) panjang kali lebar.
L=PxL
L=4x3
L=12
cm2
Algoritma
prosedur Luas(input p : integer, l : integer, output hasil : hasil)
{mencari luas persegi panjang dan di cetak di piranti keluaran}
Deklarasi
p,l,hasil : integer
Deskripsi
read (p,l)
hasil <- p*l
write (hasil)
Flowchart Luas Persegi Panjang
Translasi Luas Persegi Panjang
#include <iostream>
#include <string>
using namespace std;
void Luas (int p,int l,int hasil)
{
hasil =p*l;
cout << "Luas Persegi Panjang : "<<hasil<<" cm2" << endl;}
int main()
{
string raptor_prompt_variable_zzyz;
int hasil,p,l;
cout<< "==================================="<<endl;
cout << "||Menghitung Luas Persegi Panjang||" << endl;
cout<< "==================================="<<endl<<endl;;
raptor_prompt_variable_zzyz ="Masukan Panjang : ";
cout << raptor_prompt_variable_zzyz;
cin >> p;
raptor_prompt_variable_zzyz ="Masukan Lebar : ";
cout << raptor_prompt_variable_zzyz;
cin >> l;
hasil =0;
cout<<endl;
cout<<"================================"<<endl;
Luas(p,l,hasil);
return 0;
}
Hasil Kasus Luas Persegi Panjang
3. Menghitung keliling persegi panjang
Analisis
Untuk menghitung Keliling persegi panjang pada C++ kita harus mengetahui rumus keliling persegi panjang, barulah kita akan membuat program C++ Menghitung Keliling Persegi Panjang. Di situ saya misalkan inputan panjang 3 dan lebar 2 untuk menghitung keliling persegi panjang dengan rumus yaitu 2x(P+L).
hasil <- p*l
write (hasil)
Flowchart Luas Persegi Panjang
Translasi Luas Persegi Panjang
#include <iostream>
#include <string>
using namespace std;
void Luas (int p,int l,int hasil)
{
hasil =p*l;
cout << "Luas Persegi Panjang : "<<hasil<<" cm2" << endl;}
int main()
{
string raptor_prompt_variable_zzyz;
int hasil,p,l;
cout<< "==================================="<<endl;
cout << "||Menghitung Luas Persegi Panjang||" << endl;
cout<< "==================================="<<endl<<endl;;
raptor_prompt_variable_zzyz ="Masukan Panjang : ";
cout << raptor_prompt_variable_zzyz;
cin >> p;
raptor_prompt_variable_zzyz ="Masukan Lebar : ";
cout << raptor_prompt_variable_zzyz;
cin >> l;
hasil =0;
cout<<endl;
cout<<"================================"<<endl;
Luas(p,l,hasil);
return 0;
}
Hasil Kasus Luas Persegi Panjang
3. Menghitung keliling persegi panjang
Analisis
Untuk menghitung Keliling persegi panjang pada C++ kita harus mengetahui rumus keliling persegi panjang, barulah kita akan membuat program C++ Menghitung Keliling Persegi Panjang. Di situ saya misalkan inputan panjang 3 dan lebar 2 untuk menghitung keliling persegi panjang dengan rumus yaitu 2x(P+L).
K=2x(P+L)
K=2x(3+2)
K=2x5
K=10 cm
#include <iostream>
#include <string>
using namespace std;
void Lingkaran (int r)
{
float phi,luas;
phi =3.14;
luas =phi*r*r;
cout << "Luas Lingkaran : "<<luas<<" cm" << endl;}
int main()
{
string raptor_prompt_variable_zzyz;
int r;
float luas;
cout<< "============================="<<endl;
cout << "||Menghitung Luas Lingkaran||" << endl;
cout<< "============================="<<endl<<endl;
raptor_prompt_variable_zzyz ="Masukan Jari-Jari Lingkaran: ";
cout << raptor_prompt_variable_zzyz;
cin >> r;
luas =0;
cout<<endl;
cout<< "================================"<<endl;
Lingkaran(r);
return 0;
}
Hasil Kasus Luas Lingkaran
5. Menhitung keliling lingkaran
Analisis
Pada dasarnya sebuah lingakran memiliki sebuah jari-jari, untuk menghitung sebuah kelilingf lingkaran makan kita akan gunakan ketetapan phi yang sudah ditetapkan yaitu dengan phi 22/7 atau 3,14. untuk membuat program mencari luas saya menetapkan phi 3,14 dan inputan manual untuk jari-jarinya. berikut ini rumus mencari luas lingkran:
k=2*phi*r
Contoh:
k=2*3.14*7
k=43,96 cm
phi <- 3.14
keliling <- 2*phi*r
write (keliling)
Flowchart Keliling Lingkaran
Translasi Keliling Lingkaran
#include <iostream>
#include <string>
using namespace std;
void Lingkaran (int r)
{
float keliling,phi;
phi =3.14;
keliling =2*phi*r;
cout << "Keliling Lingkaran : "<<keliling<<" cm" << endl;}
int main()
{
string raptor_prompt_variable_zzyz;
int r;
float keliling;
cout<< "================================="<<endl;
cout << "||Menghitung Keliling Lingkaran||" << endl;
cout<< "================================="<<endl<<endl;
raptor_prompt_variable_zzyz ="Masukan Jari-Jari Lingkaran : ";
cout << raptor_prompt_variable_zzyz;
cin >> r;
keliling =0;
cout<<endl;
cout<< "================================"<<endl;
Lingkaran(r);
return 0;
}
Hasil Kasus Keliling Lingkaran
6. Menghitung luas segitiga
Analisis
untuk menghitung luas segitiga kita harus memberikan inputan alas dan tinggi, karena pada dasarnya segitiga hanya memiliki alas dan tinggi, berikut ini adalah rumus untuk mencari luas segitiga:
Luas=1/2*a*t
contoh soal
misalkan alas=5 dan tinggi 7
luas=1/2*5*7
luas=17,5 cm
luas <- (a*t)/2
write (luas)
Flowchart Luas Segitiga
Translasi Luas Segitiga
#include <iostream>
#include <string>
using namespace std;
void Segitiga (int a,int t)
{
float luas;
luas =(a*t)/2;
cout << "Luas Segitiga : "<<luas<<" cm2" << endl;}
int main()
{
string raptor_prompt_variable_zzyz;
int a,t;
float luas;
cout<< "============================"<<endl;
cout << "||Menghitung Luas Segitiga||" << endl;
cout<< "============================"<<endl<<endl;;
raptor_prompt_variable_zzyz ="Masukan Alas Segitiga : ";
cout << raptor_prompt_variable_zzyz;
cin >> a;
raptor_prompt_variable_zzyz ="Masukan Tinggi Segitiga: ";
cout << raptor_prompt_variable_zzyz;
cin >> t;
luas =0;
cout<<endl;
cout<< "================================"<<endl;
Segitiga(a,t);
return 0;
}
Hasil Kasus Luas Segitiga
7. Menghitung keliling segitiga
Analisis
untuk mencari keliling segitiga kita akan memberikan sebuah inputan sisi, dimana segitiga memiliki tiga sisi, dan untuk mencari keliling segitiga yaitu dengan cara S+S+S. berikut contoh pengerjaan mencari keliling segitiga
Keliling=S+S+S
Keliling=3+5+3
Keliling=11 cm
keliling <- sia+sib+sic
write (keliling)
Flowchart Keliling Segitiga
Translasi Keliling Segitiga
#include <iostream>
#include <string>
using namespace std;
void Segitiga (int sia,int sib,int sic)
{
int keliling;
keliling =sia+sib+sic;
cout << "Keliling Segitiga : "<<keliling<<" cm" << endl;}
int main()
{
string raptor_prompt_variable_zzyz;
int sia,sib,sic,keliling;
cout << "================================="<<endl;
cout << "||Menghitung Kelilinng Segitiga||" << endl;
cout << "================================="<<endl<<endl;
raptor_prompt_variable_zzyz ="Masukan Sisi Pertama : ";
cout << raptor_prompt_variable_zzyz;
cin >> sia;
raptor_prompt_variable_zzyz ="Masukan Sisi Kedua : ";
cout << raptor_prompt_variable_zzyz;
cin >> sib;
raptor_prompt_variable_zzyz ="Masukan Sisi Ketiga : ";
cout << raptor_prompt_variable_zzyz;
cin >> sic;
keliling =0;
cout<<endl;
cout << "================================"<<endl;
Segitiga(sia,sib,sic);
return 0;
}
Hasil Kasus Keliling Segitiga
8. Menghitung tinggi segitiga
Analisis
untuk menghitung tinggi segitiga kita harus memasukan luas dan alas, berikut ini adalah rumus untuk mencari luas segitiga:
Luas=1/2*a*t
contoh soal
misalkan alas=5 dan luas=20
t=(2*l)/a
t=(2*20)/a
tinggi <- (2*l)/a
write (tinggi)
Flowchart Tinggi Segitiga
Translasi Tinggi Segitiga
#include <iostream>
#include <string>
using namespace std;
void Tinggi (int l, int a, int t)
{
t =2*l/a;
cout << "Tinggi Segitiga : "<<t << endl;}
int main()
{
string raptor_prompt_variable_zzyz;
float t;
int a,l;
cout << "=============================="<<endl;
cout << "||Menghitung Tinggi Segitiga||" << endl;
cout << "=============================="<<endl<<endl;
raptor_prompt_variable_zzyz ="Masukan Luas Segitiga : ";
cout << raptor_prompt_variable_zzyz ;
cin >> l;
raptor_prompt_variable_zzyz ="Masukan Alas Segitiga : ";
cout << raptor_prompt_variable_zzyz ;
cin >> a;
cout<<endl;
cout << "================================"<<endl;
Tinggi(l,a,t);
t =0;
return 0;
}
Hasil Kasus Tinggi Segitiga
K=2x5
K=10 cm
Algoritma
prosedur Keliling(input p : integer, l : integer, output hasil : hasil)
{mencari keliling persegi panjang dan di cetak di piranti keluaran}
Deklarasi
p,l,hasil : integer
Deskripsi
read (p,l)
hasil <- 2*(p+l)
write (hasil)
Flowchart Keliling Persegi Panjang
Translasi Keliling Persegi Panjang
#include <iostream>
#include <string>
using namespace std;
void Keliling (int p,int l,int hasil)
{
hasil =2*(p+l);
cout << "Keliling Persegi Panjang "<<hasil<<" cm" << endl;}
int main()
{
string raptor_prompt_variable_zzyz;
int hasil,p,l;
cout<< "======================================="<<endl;
cout << "||Menghitung Keliling Persegi Panjang||" << endl;
cout<< "======================================="<<endl<<endl;
raptor_prompt_variable_zzyz ="Masukan Panjang : ";
cout << raptor_prompt_variable_zzyz;
cin >> p;
raptor_prompt_variable_zzyz ="Masukan Lebar : ";
cout << raptor_prompt_variable_zzyz;
cin >> l;
cout<<endl;
cout<< "================================"<<endl;
hasil =0;
Keliling(p,l,hasil);
return 0;
}
Hasil Kasus Keliling Persegi Panjang
4. Menghitung Luas lingkaran
Analisis
Pada dasarnya sebuah lingakran memiliki sebuah jari-jari, untuk menghitung sebuah Luas lingkaran makan kita akan gunakan ketetapan phi yang sudah ditetapkan dari sebuah perjanjian yaitu dengan phi 22/7 atau 3,14. untuk membuat program mencari luas saya menetapkan phi 3,14 dan inputan manual untuk jari-jarinya. berikut ini rumus mencari luas lingkran:
L=phi*r*r
Contoh:
L=3,14*7*7
L=153,86 cm2
hasil <- 2*(p+l)
write (hasil)
Flowchart Keliling Persegi Panjang
#include <iostream>
#include <string>
using namespace std;
void Keliling (int p,int l,int hasil)
{
hasil =2*(p+l);
cout << "Keliling Persegi Panjang "<<hasil<<" cm" << endl;}
int main()
{
string raptor_prompt_variable_zzyz;
int hasil,p,l;
cout<< "======================================="<<endl;
cout << "||Menghitung Keliling Persegi Panjang||" << endl;
cout<< "======================================="<<endl<<endl;
raptor_prompt_variable_zzyz ="Masukan Panjang : ";
cout << raptor_prompt_variable_zzyz;
cin >> p;
raptor_prompt_variable_zzyz ="Masukan Lebar : ";
cout << raptor_prompt_variable_zzyz;
cin >> l;
cout<<endl;
cout<< "================================"<<endl;
hasil =0;
Keliling(p,l,hasil);
return 0;
}
Hasil Kasus Keliling Persegi Panjang
4. Menghitung Luas lingkaran
Analisis
Pada dasarnya sebuah lingakran memiliki sebuah jari-jari, untuk menghitung sebuah Luas lingkaran makan kita akan gunakan ketetapan phi yang sudah ditetapkan dari sebuah perjanjian yaitu dengan phi 22/7 atau 3,14. untuk membuat program mencari luas saya menetapkan phi 3,14 dan inputan manual untuk jari-jarinya. berikut ini rumus mencari luas lingkran:
L=phi*r*r
Contoh:
L=3,14*7*7
L=153,86 cm2
#include <iostream>
#include <string>
using namespace std;
void Lingkaran (int r)
{
float phi,luas;
phi =3.14;
luas =phi*r*r;
cout << "Luas Lingkaran : "<<luas<<" cm" << endl;}
int main()
{
string raptor_prompt_variable_zzyz;
int r;
float luas;
cout<< "============================="<<endl;
cout << "||Menghitung Luas Lingkaran||" << endl;
cout<< "============================="<<endl<<endl;
raptor_prompt_variable_zzyz ="Masukan Jari-Jari Lingkaran: ";
cout << raptor_prompt_variable_zzyz;
cin >> r;
luas =0;
cout<<endl;
cout<< "================================"<<endl;
Lingkaran(r);
return 0;
}
Hasil Kasus Luas Lingkaran
5. Menhitung keliling lingkaran
Analisis
Pada dasarnya sebuah lingakran memiliki sebuah jari-jari, untuk menghitung sebuah kelilingf lingkaran makan kita akan gunakan ketetapan phi yang sudah ditetapkan yaitu dengan phi 22/7 atau 3,14. untuk membuat program mencari luas saya menetapkan phi 3,14 dan inputan manual untuk jari-jarinya. berikut ini rumus mencari luas lingkran:
k=2*phi*r
Contoh:
k=2*3.14*7
k=43,96 cm
Algoritma
prosedur keliling(input r : integer)
{mencari keliling lingkaran dengan inputan jar-jarinya dan di cetak di piranti keluaran}
Deklarasi
r : integer
phi,keliling : float
phi,keliling : float
Deskripsi
read (r)phi <- 3.14
keliling <- 2*phi*r
write (keliling)
Flowchart Keliling Lingkaran
Translasi Keliling Lingkaran
#include <iostream>
#include <string>
using namespace std;
void Lingkaran (int r)
{
float keliling,phi;
phi =3.14;
keliling =2*phi*r;
cout << "Keliling Lingkaran : "<<keliling<<" cm" << endl;}
int main()
{
string raptor_prompt_variable_zzyz;
int r;
float keliling;
cout<< "================================="<<endl;
cout << "||Menghitung Keliling Lingkaran||" << endl;
cout<< "================================="<<endl<<endl;
raptor_prompt_variable_zzyz ="Masukan Jari-Jari Lingkaran : ";
cout << raptor_prompt_variable_zzyz;
cin >> r;
keliling =0;
cout<<endl;
cout<< "================================"<<endl;
Lingkaran(r);
return 0;
}
Hasil Kasus Keliling Lingkaran
6. Menghitung luas segitiga
Analisis
untuk menghitung luas segitiga kita harus memberikan inputan alas dan tinggi, karena pada dasarnya segitiga hanya memiliki alas dan tinggi, berikut ini adalah rumus untuk mencari luas segitiga:
Luas=1/2*a*t
contoh soal
misalkan alas=5 dan tinggi 7
luas=1/2*5*7
luas=17,5 cm
Algoritma
prosedur Segitiga(input a : integer, input t : integer )
{mencari luas segitiga dengan menginputkan alas dan tinggi ke piranti keluaran}
Deklarasi
a,t : integer
luas : float
luas : float
Deskripsi
read (a,t)luas <- (a*t)/2
write (luas)
Flowchart Luas Segitiga
Translasi Luas Segitiga
#include <iostream>
#include <string>
using namespace std;
void Segitiga (int a,int t)
{
float luas;
luas =(a*t)/2;
cout << "Luas Segitiga : "<<luas<<" cm2" << endl;}
int main()
{
string raptor_prompt_variable_zzyz;
int a,t;
float luas;
cout<< "============================"<<endl;
cout << "||Menghitung Luas Segitiga||" << endl;
cout<< "============================"<<endl<<endl;;
raptor_prompt_variable_zzyz ="Masukan Alas Segitiga : ";
cout << raptor_prompt_variable_zzyz;
cin >> a;
raptor_prompt_variable_zzyz ="Masukan Tinggi Segitiga: ";
cout << raptor_prompt_variable_zzyz;
cin >> t;
luas =0;
cout<<endl;
cout<< "================================"<<endl;
Segitiga(a,t);
return 0;
}
Hasil Kasus Luas Segitiga
7. Menghitung keliling segitiga
Analisis
untuk mencari keliling segitiga kita akan memberikan sebuah inputan sisi, dimana segitiga memiliki tiga sisi, dan untuk mencari keliling segitiga yaitu dengan cara S+S+S. berikut contoh pengerjaan mencari keliling segitiga
Keliling=S+S+S
Keliling=3+5+3
Keliling=11 cm
Algoritma
prosedur Segitiga(input sia : integer, sib : integer, sic : integer )
{mencari keliling segitiga dengan menginputkan sisi sebanyak tiga kali ke piranti keluaran}
Deklarasi
sia,sib,sic,keliling : integer
Deskripsi
read (sia,sib,sic)keliling <- sia+sib+sic
write (keliling)
Flowchart Keliling Segitiga
Translasi Keliling Segitiga
#include <iostream>
#include <string>
using namespace std;
void Segitiga (int sia,int sib,int sic)
{
int keliling;
keliling =sia+sib+sic;
cout << "Keliling Segitiga : "<<keliling<<" cm" << endl;}
int main()
{
string raptor_prompt_variable_zzyz;
int sia,sib,sic,keliling;
cout << "================================="<<endl;
cout << "||Menghitung Kelilinng Segitiga||" << endl;
cout << "================================="<<endl<<endl;
raptor_prompt_variable_zzyz ="Masukan Sisi Pertama : ";
cout << raptor_prompt_variable_zzyz;
cin >> sia;
raptor_prompt_variable_zzyz ="Masukan Sisi Kedua : ";
cout << raptor_prompt_variable_zzyz;
cin >> sib;
raptor_prompt_variable_zzyz ="Masukan Sisi Ketiga : ";
cout << raptor_prompt_variable_zzyz;
cin >> sic;
keliling =0;
cout<<endl;
cout << "================================"<<endl;
Segitiga(sia,sib,sic);
return 0;
}
Hasil Kasus Keliling Segitiga
Analisis
untuk menghitung tinggi segitiga kita harus memasukan luas dan alas, berikut ini adalah rumus untuk mencari luas segitiga:
Luas=1/2*a*t
contoh soal
misalkan alas=5 dan luas=20
t=(2*l)/a
t=(2*20)/a
Algoritma
prosedur Segitiga(input a : integer, input l : integer )
{mencari tinggi segitiga dengan menginputkan alas dan luas ke piranti keluaran}
Deklarasi
a,l : integer
t : float
t : float
Deskripsi
read (a,l)tinggi <- (2*l)/a
write (tinggi)
Flowchart Tinggi Segitiga
Translasi Tinggi Segitiga
#include <iostream>
#include <string>
using namespace std;
void Tinggi (int l, int a, int t)
{
t =2*l/a;
cout << "Tinggi Segitiga : "<<t << endl;}
int main()
{
string raptor_prompt_variable_zzyz;
float t;
int a,l;
cout << "=============================="<<endl;
cout << "||Menghitung Tinggi Segitiga||" << endl;
cout << "=============================="<<endl<<endl;
raptor_prompt_variable_zzyz ="Masukan Luas Segitiga : ";
cout << raptor_prompt_variable_zzyz ;
cin >> l;
raptor_prompt_variable_zzyz ="Masukan Alas Segitiga : ";
cout << raptor_prompt_variable_zzyz ;
cin >> a;
cout<<endl;
cout << "================================"<<endl;
Tinggi(l,a,t);
t =0;
return 0;
}
Hasil Kasus Tinggi Segitiga

















0 komentar:
Posting Komentar