Jumat, 16 Mei 2014

Laporan Praktikum Algoritma 2013 (Modul 2. Statement Control)

MODUL II
STATEMENT CONTROL

A. TUJUAN
a.    Mahasiswa bisa membuat program yang memerlukan perulangan.
b.    Mahasiswa bisa memilih / menentukan statement looping yang paling sesuai dengan permasalahan yang harus dipecahkan.
c.    Mahasiswa bisa menentukan statement control yang tepat untuk program yang dibuat.

B. DASAR TEORI
1.    Ekspresi
Ekspresi merupakan suatu operator, dimana operator ini memberikan suatu sifat atau keadaan, yang di berlakukan pada suatu variable, dengan kata lain ekspresi memberikan atau menunjukan kondisi yang ada pada suatu variable.
Contoh :
1 + 2 merupakan contoh ekspresi yang dimana “ + “ merupakan operator ekspresinya, jadi operator “ + ” menunjukan kondisi apa yang di berlakukan pada variable 1 dan 2 yakni di jumlahkan, sedangkan nilai 3 merupakan hasil ekspresi.

2.    Statement Control
Statement control merupakan sebuah statement yang terdiri dari kondisi-kondisi yang dimana jika kondisi tersebut terpenuhi program akan melakukan suatu instruksi tertentu. Jadi dapat di katakan statement control merupakan penunjuk arah bagi urutan suatu program.
Dalam bahasa C++ ada beberapa jenis statement control sebagai berikut  :



a.    Konstruksi If
Pada konstruksi if sebuah konstruktur program  hanya memiliki  sebuah kondisi, artinya dimana suatu instruksi atau beberapa instruksi akan di jalankan apabila sebuah kondisi tersebut dipenuhi, namun apabila kondisi tersebut tidak terpenuhi maka instruksi yang ada tidak akan di jalankan.
Berikut sintaks dari konstruksi if
if  (kondisi)
    { 
      Instruksi/statement;
     }

b.    Konstruksi if – else
Pada konstruksi if else sedikit berbeda dengan konstruksi if karena pada konstruksi if else . jika sebuah kondisi tidak terpenuhi maka program akan mencari kondisi lain yang ada atau menjalankan instruksi yang berada di luar bagian dari kondisi yang tidak terpenuhi.
Berikut sintaks dari konstruksi if-else :
if  (kondisi)
{   
    Statement/instruksi;
      }
else
{
        Statement/instruksi;
      }

c.    Konstruksi if – else bersarang
Pada konstruksi ini terdapat lebih dari satu buah kondisi jadi apabila sebuah kondisi tidak terpenuhi maka akan berlanjut ke kondisi berikutnya tergantung berapa banyak kondisi yang ada.
Berikut konstruksi if –else bersarang :
if  (kondisi)
{      
    Statement/instruksi;
      }
else if (kondisi)
{   
     Statement/instruksi;
     }
else
     {
        Statement/instruksi;
     }

d.   Konstruksi switch – case
Konstruksi switch – case sedikit berbeda dengan konstruksi if – else, di mana konstruksi switch – case  lebih menguntungkan digunakan pada program yang memiliki banyak pilihan kondisi dalam satu step dan jumlah kondisi sudah pasti. Jadi berbeda dengan statement if - else yang hanya memiliki 2 pilihan kondisi pada satu step.
Berikut sintaks konstruksi switch – case :
Switch (variabel)
{    Case  konstanta1
       {
          Statement;
          Break;
        }
Case konstanta ke-n
        {
Statement;
           Break;
        }
}

3.    Statement Looping
Statement Looping atau pengulangan dimana suatu instruksi dapat di laksanakan secara terus menerus tergantung jumlah pengulangan atau batas   pengulangan yang telah di tentukan.
Struktur pengulangan terdiri dari dua buah bagian yaitu :
·      Kondisi pengulangan, yaitu ekspresi Boolean yang harus di penuhi untuk melakukan pengulangan
·      Isi atau badan pengulangan, yaitu satu atau lebih pernyataan yang akan di ulang
Berikut macam konstruksi pengulangan :
a.    Konstruksi for
Konstruksi for adalah perintah pengulangan yang di gunakan apabila programmer sudah mengetahui berapa kali proses pengulangan yang akan di lakukan, dan perintah for tidak membutuhkan suatu kondisi terpenuhi.
Berikut sintaks programnya :
Deklarasi peubah ;
for (peubah=nilai awal ; peubah=nilai akhir ; kondisi)
{
Statement;
}


#include <iostream.h>
#include <conio.h>
void main() {

int i;
for ( i=0 ; i<5 ; i++ )
{
cout<<"looping 5 kali \n";
}
getch();
}


b.    Konstruksi while
Konstruksi while merupakan perintah pengulangan yang di pakai apabila programmer tidak mengetahui berapa kali jumlah pengulangan di lakukan, dan perintah while ini memungkinkan statement yang ada pada konstruksinya tidak di lakukan sama sekali jika kondisi tidak di penuhi.
Berikut sintaks programnnya :
While (kondisi)
     {
        Statement;
     }

c.    Konstruksi do – while
 Konstruksi do - while merupakan perintah pengulangan  yang di pakai apabila programmer tidak mengetahui berapa kali jumlah pengulangan di lakukan perintah do - while sedikit berbeda dengan while karena pada perintah do - while, statement yang berada pada konstruksinya harus di laksanakan satu kali walaupun kondisi yang ada tidak terpenuhi.
Berikut sintaks programnya :
Do
{
Statement;
}
While (kondisi);







C.  PERMASALAHAN
1.        Buatlah program untuk menampilkan bilangan ganjil dan bilangan genap untuk rentang nilai 1-50.
Contoh:            1 = ganjil
                         2 = genap
Ø Progam untuk penyelesaian masalah diatas:
#include <iostream.h>
#include <conio.h>

void main (){
      int i;
   for (i=1; i<=50; i++){
      if (i%2){
      cout<<i<<" = ganjil"<<endl; }
      else {
      cout<<i<<" = genap"<<endl;}
   }
   getch ();
}


2.        Buatlah program menampilkan bilangan ganjil dan genap seperti permasalahan diatas menggunakan pengulangan yang bukan for dan ada perintah untuk memberhentikan program diangka tertentu.
Ø Program untuk permasalahan di atas:
#include <iostream.h>
#include <conio.h>

void main (){
      int i = 1;
    int a;

        cout<<"ingin berhenti diangka= "<<endl;
      cin>>a;
      cout<<endl;
        while (i <= a && a<=50)
            {
            if(i%2==0){

                        cout<<i<<" = ganjil"<<endl;
               i++;
               }
                  else{
                  cout<<i<<" = genap"<<endl;
               i++;}
            }

getch ();
}




D.  ANALISA DATA
1.    Permasalahan Pertama
#include <iostream.h>
#include <conio.h>

Penggalan script di atas merupakan file header dari program tersebut. File header mengandung beberapa fungsi atau perintah yang akan digunakan dalam program. File header ini sangat penting, karena beberapa perintah tidak akan dapat dijalankan jika file header yang mendukung perintah tersebut tidak ditulis dalam program. File header ini memiliki ciri berakhiran “.h” dan diarahkan oleh preprocessor dirrective #include sebagai gambaran kepada compilator bahwa beberapa fungsi yang terdapat dalam file header tersebut diikutkan dalam pembuatan program.
File header yang digunakan dalam permasalah tersebut, yaitu:
·       #include <iostream.h>
File header ini diperlukan jika program yang kita buat melibatkan  cout dan cin, dimana dalam program ini cout diartikan sebagai output yang akan ditampilkan setelah program di compile dan cin diartikan sebagai input untuk data yang akan di compile.
·      #include <conio.h>
File header ini diperlukan untuk membaca  perintah getch () yaitu untuk menunda tampilan program (output) langsung tertutup setelah di compile.

void main (){

Penggalan script diatas merupakan fungsi utama yang pertama kali akan dieksekusi.
·      void main() merupakan fungsi utama yang tidak memiliki nilai balik.
·      { merupakan operator penunjuk awal dari fungsi main ()


int i;

·      int i adalah merupakan pendeklarasian variable i bertipe integer.

   for (i=1; i<=50; i++){

·      Didalam program tersebut menggunakan pengulangan for karena kita mengetahui berapa kali proses pengulangan akan dilakukan. Didalam tanda kurung merupakan kondisi yang kita permisalkan dimana variable i itu sama dengan 1 dan nilai i itu kurang dari dan sama dengan 50 untuk pengulangan setiap i ditambah dengan 1. Didalam           kondisi for untuk setiap pernyataan di selang dengan tanda semicolon (;)
if (i%2){
      cout<<i<<" = ganjil"<<end l; }
      else {
      cout<<i<<" = genap"<<endl;}
          }
Dalam program tersebut menggunakan kontruksi if – else dimana jika sebuah kondisi tidak terpengaruhi maka program akan menacari kondisi lain yang ada atau menjalankan intruksi yang berada di luar bagian dari kondisi yang tidak terpenuhi.
·       if (i%2){
cout<<i<<" = ganjil"<<endl; }
Merupakan kondisi pertama dimana jika int i atau nilai dari variable i memiliki sisa pembagi dengan dua, maka saat compile akan menampilkan bahwa bilangan tersebut adalah ganjil.
·      else {
cout<<i<<" = genap"<<endl;}
Merupakan kondisi kedua jika kondisi pertama tidak terpenuhi dan setelah compile akan menampilkan bahwa bilangan tersebut adalah genap.
   getch ();
}

·       getch(); merupakan statement penundaan dimana setelah compile program tidak akan langsung tertutup.
·      } merupakan akhir dari sebuah program.
Cara kerja program:
Saat program dijalankan mka compiler pertama kali akan mengeksekusi fungsi main () kemudian menampilkan statement-statement yang ada pada cout ke layar. Dalam program tersebut menggunakan perulangan for untuk menampilkan nilai 1 sampai 50. Di dalam perulangan for tersebut terdapat kontruksi if – else dimana saat compile jika bilangan ganjil dia akan memberikan keterangan ganjil dan jika bilangan genap maka akan menampilkan keterangan genap.

2.    Permasalahan kedua
#include <iostream.h>
#include <conio.h>

Penggalan script di atas merupakan file header dari program tersebut. File header mengandung beberapa fungsi atau perintah yang akan digunakan dalam program. File header ini sangat penting, karena beberapa perintah tidak akan dapat dijalankan jika file header yang mendukung perintah tersebut tidak ditulis dalam program. File header ini memiliki ciri berakhiran “.h” dan diarahkan oleh preprocessor dirrective #include sebagai gambaran kepada compilator bahwa beberapa fungsi yang terdapat dalam file header tersebut diikutkan dalam pembuatan program.
File header yang digunakan dalam permasalah tersebut, yaitu:
·       #include <iostream.h>
File header ini diperlukan jika program yang kita buat melibatkan  cout dan cin, dimana dalam program ini cout diartikan sebagai output yang akan ditampilkan setelah program di compile dan cin diartikan sebagai input untuk data yang akan di compile.
·      #include <conio.h>
File header ini diperlukan untuk membaca  perintah getch () yaitu untuk menunda tampilan program (output) langsung tertutup setelah di compile.

void main (){

Penggalan script diatas merupakan fungsi utama yang pertama kali akan dieksekusi.
·      void main() merupakan fungsi utama yang tidak memiliki nilai balik.
·      { merupakan operator penunjuk awal dari fungsi main ()


int i = 1;
int a;

·      int i=1 adalah merupakan pendeklarasian variable i bertipe integer.
·      int a adalah merupakan pendeklarasian varieble i bertipe integer dimana a meupakan nilai yang di-input-kan dalam program.
    cout<<"ingin berhenti diangka= "<<endl;
    cin>>a;
    cout<<endl;
cout<<”ingin berhenti diangka = “<<endl; merupakan statement untuk menampilkan “ingin berhenti diangka = “ dan saat nilai dimasukkan itulah fungsi dari statement cin>>a; untuk menginputkan data dengan nama variable a. Fungsi dari statement cout<<endl; adalah untuk menampilkan enter sebelum statement selajutnya.
while (i <= a && a<=50)
while (i <= a && a<=50) merupakan fungsi pengulangan dimana pengecekan kondisi dilakukan pada awal. Pengulangan akan dilakukan apabila nilai dari integer i lebih kecil dan sama dengan a dan nilai dari integer a lebih kecil dan sama dengan 50. Jika input yang dimasukkan atau nilai a yang dimasukkan tidak memenuhi kondisi tersebut, maka perulangan tidak akan dilakukan.

       {
            if(i%2==0){
                        cout<<i<<" = genap"<<endl;
               i++;
               }
                  else{
                  cout<<i<<" = ganjil"<<endl;
               i++;}
            }
Merupakan statement untuk perulangan while. if (i%2==0) maksudnya jika integer i dibagi dua memiliki sisa sama dengan nol, maka yang akan ditampilkan adalah “ = genap”. i++: maksudnya untuk setiap perulangan bilangan integer i ditambahkan satu. else maksudnya jika kondisi pertama tidak terpenuhi, maka program akan menampilkan “ = ganjil.
   getch ();
}

·       getch(); merupakan statement penundaan dimana setelah compile program tidak akan langsung tertutup.
·      } merupakan akhir dari sebuah program.
Cara kerja program:
Saat program dijalankan maka compiler pertama kali akan mengeksekusi fungsi main () kemudian menampilkan statement-statement yang ada pada cout ke layar. Dalam program tersebut menggunakan perulangan while dimana terdapat dua pernyataan kondisi yang diselang dengan operator logika AND, dimana dalam perulangan tersebut terdapat kontruksi if – else yang menampilkan ganjil apabila bilangan memiliki sisa bagi dengan dua dan akan menampilkan genap untuk kondisi yang bukan merupakan kondisi pertama. Perintah while ini memungkinkan statement yang ada pada konstruksinya tidak dilakukan sama sekali jika kondisi tidak terpenuhi, seperti berikut:

Dalam hasil compile program, jika kita memasukkan nilai atau angka yang tidak memenuhi dari kondisi yang sudah ditetapkan, maka konstruksi tidak akan dilakukan sma sekali sehingga program tidak akan dijalankan. Misalkan kita memasukkan angka 77.





E.  KESIMPULAN
Dalam praktikum tersebut, dapat disimpukkan bahwa:
1.      Statement control if – else digunakan jika terdapat dua kondisi, program akan mencari kondisi lain yang ada atau menjalankan instruksi yang berada di luar bagian dari kondisi yang tidak terpenuhi.
2.      Statement control switch – case digunakan pada program yang memiliki banyak pilihan kondisi dalam satu step dan jumlah kondisi sudah pasti. 
3.      Pengulangan for digunakan apabila programer sudah mengetahui berapa kali proses pengulangan yang akan dilakukan, dan perintah for tidak membutuhkan suatu kondisi terpenuhi. Dan untuk pengulangan for setiap penyataan kondisinya diselang dengan tanda semicolon.
4.      Pengulangan while digunakan apabila programer tidak mengetahui berapa kali jumlah pengulangan di lakukan, dan perintah while memungkinkan statement yang ada pada konstruksinya tidak dilakukan sama sekali jika kondisi tidak terpenuhi. Dan untuk pengulangan while setiap kondisinya diselang dengan operator logika.
5.      Pengulangan do - while meurpakan perintah pengulangan yang dipakai apabila programer tidak mengetahui berapa kali jumlah pengulangan dilakukan. Berbeda dengan while, pada do – while statement akan dilaksanakan minimal satu kali walaupun kondisi tidak terpenuhi.



DAFTAR PUSTAKA
Frieyadie. 2006. “Panduan pemrograman C++”. Penerbit Andi: Yogyakarta.
Utama, Ditdit N., Widyanti Riya.2005. “Algoritma dan Pemrograman dengan Borland C++”. Graha Ilmu:Yogyakarta.
Kadir, A. 2010. Algoritma & Pemograman Menggunakan C & C++. Yogyakarta:                                                                                    Penerbit  ANDI.
Firman. “Statemrnt Control dalam bahasa ++”. http://firman-rpl.blogspot.com/2012/07/statement-control-dalam-bahasa.html (diakses pada 21 Januari 2015, 22:00 WITA)



TUGAS TAMBAHAN

1.    Buatlah program dengan menampilkan yang sama seperti permasalahn satu, namun dengan perulangan do – while.

Ø Program untuk permasalahan diatas:

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

int main (){
char x;
do{
clrscr ();
int i=1;
   do{
      if (i%2 == 0){
            cout<<i<<" = genap"<<endl;
         i++;
         }
      else {
         cout<<i<<" = ganjil"<<endl;
         i++;}
      }
   while (i<=50);
cout<<"Apakah anda ingin mengulang? (y/n)";
cin>>x;
}
while (x == 'y' || x == 'Y');
getch ();
}


Ø Cara kerja program:
Saat program dijalankan maka compiler pertama kali akan mengeksekusi fungsi main () kemudian menampilkan statement-statement yang ada pada cout ke layar. Dalam program tersebut menggunakan perulangan do – while dimana pengecekan kondisinya dilakukan di akhir, jadi statement akan dijalankan minimal satu kali walaupun kondisinya tidk terpenuhi.

2.    Buatlah program dengan menggunakan statement control switch – case.
Ø Program untuk permasalahan diatas:

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

void main (){
int pilihan;
char x;
do {
cout<<"1. Perulangan for menentukan ganjil genap "<<endl;
cout<<"2. Perulangan while ganjil genap menentukan angka berhenti "<<endl;
cout<<"3. Perulangan do while ganjil genap"<<endl;
cout<<"Masukkan pilihan : ";
cin>>pilihan;

switch (pilihan)
{
case 1:{
      for (int i=1; i<=50; i++){
      if (i%2 == 0){
            cout<<i<<" = genap"<<endl;}
      else {
            cout<<i<<" = ganjil"<<endl;}
      }
      break;
   }
case 2:{
      int i=1;
   int a;
      cout<<"ingin berhenti diangka= "<<endl;
      cin>>a;
        while (i <= a && a<=50)
            {
            if(i%2 == 0){
                        cout<<i<<" = genap"<<endl;
               i++;
               }
                  else{
                  cout<<i<<" = ganjil"<<endl;
               i++;}
            }
   break;
      }
case 3:{
int i = 1;
   do{
      if (i%2 == 0){
            cout<<i<<" = genap"<<endl;
         i++;
         }
      else {
         cout<<i<<" = ganjil"<<endl;
         i++;}
      }
   while (i<=50);

   break;
   }
}
cout<<"Apakah anda ingin mengulang? (y/n)";
cin>>x;
}
while (x=='y');
getch ();
}



Ø Cara kerja program:
Saat program dijalankan maka compiler pertama kali akan mengeksekusi fungsi main () kemudian menampilkan statement-statement yang ada pada cout ke layar. Dalam program tersebut terdapat menu yang bisa kita pilih untuk ditampilkan dan kita bisa mengulang apabila kita mengunginkannya. Untuk menampilkan ketiga menu dalam program tersebut digunakan statement control switch – case dimana saat kita menginputkan angka 2 maka pilihan kedualah yang akan dijalankan. Dan untuk menanyakan apakah anda ingin mengulang digunakan perulangan do – while.


Tidak ada komentar:

Posting Komentar