Rabu, 05 April 2017

LATIHAN WORKSHOP DIKTAT BAB VI SUB PROGRAM OOP DAN REKURSI

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.
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).
K=2x(P+L)
K=2x(3+2)
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

Algoritma 
prosedur Lingkaran(input r : integer)
{mencari Luas lingkaran dengan inputan jar-jarinya dan di cetak di piranti keluaran}
Deklarasi
r : integer
phi,luas : float

Deskripsi
read (r)
phi <- 3.14
luas <- phi*r*r
write (luas)

Flowchart Luas Lingkaran



Translasi Luas Lingkaran

#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

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
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


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


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
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

Popular Posts

Diberdayakan oleh Blogger.