PERCABANGAN


            Percabangan adalah suatu pemilihan statemen yang akan dieksekusi dimana pemilihan tersebut didasarkan atas kondisi tertentu.

1.    Struktur  if
Pecabangan if merupakan struktur kontrol pecabangan yang memiliki sebuah kondisi.
                      Bentuk Umum :
            If (kondisi)
            Pernyataan;
            Atau
            if(kondisi)

pernyataan1 ;
           else pernyataan2;

Bentuk ini menyatakan :
·         Jika kondisi yang di seleksi adalah benar (bernilai logika =1) maka pernyataan yang mengikutinya akan di proses.
·         Sebaliknya , jika kondisi yang di seleksi adalah tidak benar (bernilai logika =0 ) maka pernyataan yang mengikutinya tidak akan di proses.

CONTOH :




OUTPUT :


 

2.    Struktur If Else
Percabangan if-else merupakan struktur kontrol pecabangan yang memiliki sebuah kondisi yang apabila kondisi tersebut benar maka perintah yang didalamnya akan dijalankan dan apabila kondisinya salah maka ada perintah lainnya yang akan dijalankan oleh program.
Bentuk Umum :

If (kondisi)
Pernyataan-1;
Else
            Pernyataan-2;

Bentuk ini menyatakan :
·         Jika kondisi benar,maka pernyataan-1 dijalankan.
·         Sedangkan bila kondisi bernilai salah, maka pernyatan-2 yang di jalankan.


CONTOH :


OUTPUT :




3.    Struktur IF tiga kondisi (if di dalam dalam if)
Percabangan if-else if-else merupakan struktur kontrol pecabangan yang memiliki banyak kondisi. .
Bentuk Umum :

If (kondisi-1)
            If (kondisi-2)
            .
            .
                        If(kondisi-n)
Pernyataan;
                                    Else
                                                Pernyataan;
                                                .
                                                .
                        Else
                                    Pernyataan;
            Else
                        Pernyataan;

·         Kondisi yang akan di seleksi pertama kali adalh kondisi yang terluar (kondisi-1) . Jika kondisi 1 bernilai salah, maka statemen else yang terluar (pasangan if yang bersangkutan) yang akan di proses. Jika else (pasangan tsb) tidak ditulis, maka penyeleseksian kondisi akan di hentikan.
·         Jika kondisi-1 bernilai benar, maka kondisi berikutnya yang lebih dalam (kondisi-2) akan di seleksi.Jika (kondisi-2)  bernilai salah , maka  statemen else pasangan if yang bersangkutan yang akan di proses. Jika else (untuk kondisi-2) tidak ditulis, maka penyeleseksian kondisi akan di hentikan.
·         Dengan cara yang sama, penyeleksian kondisi akan dilakukan sampai kondisi-n, jika kondisi-kondisi sebelumnya bernilai benar.

CONTOH :


OUTPUT :







PERCABANGAN SWITCH


Percabangan switch merupakan struktur kontrol pecabangan yang juga memiliki banyak kondisi, akan tetapi kondisi dalam percabangan switch ini bertipe numerik. Default berfungsi untuk menjalankan perintah default/umum/dasar apabila kondisi tidak sesuai dengan nilai case yang ada.

Bentuk Umum :
switch(ekspresi)
{
      case konstanta1 :
pernyataan1;
……
Break;
      case konstanta1 :
pernyataan1;
……
Break;
……..
default :
pernyataanlain;
}

Hal – hal yang perlu diperhatikan adalah :
1.    Dibelakang keyword case harus diikuti oleh sebuah konstanta,  tidak boleh diikuti oleh ekspresi ataupun  variable.
2.    Konstanta yang digunakan bertipe int atau char
3.    Jika bentuknya seperti diatas maka apabila ekspresi sesuai dengan konstanta2 maka pernyataan2, pernyataan3 sampai dengan pernyataanlain dieksekusi. Untuk mencegah hal tersebut, gunakan keyword break;. Jika keyword break digunakan maka setelah pernyataan2 dieksekusi program langsung keluar dari pernyataan switch. Selain digunakan dalam switch,keyword break banyak digunakan untuk keluar dari pernyataan yang berulang ( looping ).
4.    Pernyataanlain dieksekusi jika konstanta1 sampai konstantaN tidak ada yang memenuhi ekspresi.

CONTOH PROGRAM :

#include <iostream>
using namespace std;
main(){
 int nilai;
 cout<<"Masukan Nilai anda 0 - 10 : ";cin>>nilai;
 cout<<"Anda masuk kategori ";
 switch(nilai){
  case 10:
  case 9:
  cout<<"A";
  break;
  case 8:
  case 7:
  cout<<"B";
  break;
  case 6:
  case 5:
  cout<<"C";
  break;
  case 4:
  case 3:
  case 2:
  case 1:
  case 0:
  cout<<"D";
  break;
  default:
  cout<<"nilai anda tidak masuk kategori!";
 }
 return 0;
}

OUTPUT :






SUMBER BUKU :
1. Algoritma dan Pemrograman dalam Bahasa Pascal dan C karya Rinaldi Munir Tahun 1999
2. 10 Langkah Belajar Logika dan Algoritma Menggunakan Bahasa C dan C++ karya Ema Utami dan Sukrisno Tahun 2005


POINTER


Pointer merupakan sebuah variabel yang berisi alamat dari variabel lain. Suatu pointer dimaksudkan untuk menunjukan ke suatu alamat memori sehingga alamat dari suatu variabel dapat diketahui dengan mudah. Arti pointer dalam bahasa sehari-hari adalah petunjuk atau bisa di bilang penentu atau pointer secara sederhana bisa diartikan sebagai tipe data yang nilainya mengarah pada nilai yang terdapat pada sebuah area memori (alamat memori). Namun dalam bahasa C, Pointer bisa berfungsi sebagai variabel array berarti pointer sebagai penunjuk elemen array ke-0 dalam variabel C.
Fungsi Pointer yang utama adalah untuk menyimpan alamat memori dari sebuah variable. Selain menyimpan alamat dari sebuah variable, Pointer juga berfungsi untuk menyimpan alamat memori dari sebuah fungsi. 
 Macam-macam Pointer :
Terdapat dua macam operator pointer yang disediakan oleh C++, yaitu :

1.    Operator Dereference (&)
       Operator ini biasa disebut dengan “address of” atau operator alamat. Dengan menggunakan operator dereference ini, suatu variable akan menghasilkan/menampilkan alamat lokasi memori.

Contoh :



Keterangan :

Jika dilihat dari gambar di atas, sudah ditentukan dimana nilai variable dari ILHAM adalah 75, sedangkan nilai variabel AMIR sama dengan nilai variabel ILHAM yaitu 75 (AMIR=ILHAM), dan nilai variabel RAKA sama dengan alamat memori dari nilai variabel ILHAM (RAKA=&ILHAM) karena menggunakan operator dereference yang ditandai dengan tanda (&). Jadi yang output untuk nilai variabel RAKA adalah hanya alamat dari memori nilai variabel ILHAM yaitu 0x0012ff88.

Cara mendeklarasikan Operator Pointer Dereference adalah sebagai berikut :

tipe_data *nama_variabel 
Contoh Program menggunakan Pointer Dereference :
/*Penggunaan Pointer Dereference*/
#include<iostream>
#include<conio>
main()
{
    int ilham,*raka,amir;
    ilham=75;
    raka=&ilham;   /*Nilai variabel raka adalah merupakan alamat memori dari nilai ilham*/
    amir=ilham;
    cout<<"Nilai Iham adalah "<<ilham<<endl;
    cout<<"Nilai Raka adalah "<<raka<<endl;
    cout<<"Nilai Amir adalah "<<amir<<endl;
    getch();

Output Program :



2.    Operator Reference (*)
Operator Reference atau biasa disebut dengan “value pointed by”. Bedanya dengan Operator Dereference, operator ini akan menampilkan nilai yang terdapat dalam suatu alamat memori, bukan menampilkan alamat memorinya.

Ilham=75;
Raka=&Ilham;
Rafli=*Raka;

Contoh :
      

                
 Keterangan :

Dari gambar di atas dimana nilai variabel ILHAM (Ilham=75) sudah ditentukan sebelumnya yaitu 75 dengan alamat memori 0x001ff88. Sedangkan nilai variabel RAKA adalah merupakan alamat memoridari nilai variabel ILHAM (Raka=&Ilham) karena menggunakan operator pointer deference (diawali dengan tanda “&”) yaitu 0x001ff88 dan untuk nilai variabel RAFLI merupakan nilai yang terdapat dalam alamat memori dari nilai variabel RAKA (Rafli=*Raka) karena menggunakan operator pointer reference (diawali dengan tanda “*”) yaitu 75.



/*Penggunaan Pointer Reference*/
#include<conio>
#include<iostream>
main()
{
   int ilham,rafli,*raka;
   ilham=75;
   raka=&ilham;
   rafli=*raka;

   cout<<"Nilai Ilham adalah : "<<ilham<<endl;
   cout<<"Nilai Raka adalah  : "<<raka<<endl;
   cout<<"Nilai Rafli adalah : "<<rafli<<endl;

   getch();
}

Output Program :





SUMBER BUKU :
1. Algoritma dan Pemrograman dalam Bahasa Pascal dan C karya Rinaldi Munir Tahun 1999
2. 10 Langkah Belajar Logika dan Algoritma Menggunakan Bahasa C dan C++ karya Ema Utami dan Sukrisno Tahun 2005

LOOPING



Looping adalah suatu fungsi pengulangan dalam sebuah script program C++.
Gunanya adalah untuk mempermudah melakukan suatu proses yang berulang-ulang, seperti membuat angka dari 1 – 10. Jika memakai script biasa kita akan memakan banyak memori, tetapi dengan looping kita dapat melakukannya dengan memori yang sedikit dan waktu yang singkat.
           1.    Pernyataan while
Digunakan untuk pengambilan keputusan dan looping.
Bentuk :
             While(kondisi)
             {
               pernyataan
              }           
          
           Jika kondisi tidak terpenuhi, maka pernyataan tidak  akan dieksekusi.


CONTOH :








 OUTPUT :







2        2.     Pernyataan do…while
Pernyataan do…while mirip seperti pernyataan while, hanya  saja pada do…while  memilikI pengecekan yang terletak setelah statement perulangan. Sehingga minimal sekali di jalankan, meskipun kondisi tidak terpenuhi.

 Bentuk :
Do       {
pernyataan;
} while(kondisi);
Terlihat, walaupun kondisi tidak terpenuhi, maka pernyataan  minimal akan dieksekusi sekali.


CONTOH :









OUTPUT :








          3.    Pernyataan for
Pernyataan for digunakan untuk melakukan looping. Pada umumnya looping yang dilakukan oleh for telah diketahui batas awal, syarat looping dan perubahannya.

          Bentuk :
                      for( inisialisasi ; kondisi ; perubahan)
                                   {
                                                      pernyataan;
                                         }
Selama kondisi terpenuhi, maka pernyataan akan terus dieksekusi. Bila pernyataan hanya terdiri atas satu baris pernyataan, maka tanda kurung { } tidak diperlukan.

CONTOH :






         OUTPUT :






SUMBER BUKU :
1. Algoritma dan Pemrograman dalam Bahasa Pascal dan C karya Rinaldi Munir Tahun 1999
2. 10 Langkah Belajar Logika dan Algoritma Menggunakan Bahasa C dan C++ karya Ema Utami dan Sukrisno Tahun 2005



ARRAY

Pengertian Array adalah sekumpulan variabel yang memiliki tipe data yang sama dan dinyatakan dengan nama yang sama. Array merupakan konsep yang penting dalam pemrograman, karna array memungkinkan untuk menyimpan data maupun referensi objek dalam jumlah banyak dan terindeks.
Variabel array dideklarasikan dengan mencantumkan tipe dan nama variable yang diikuti dengan banyaknya lokasi memori yang ingin dibuat.     
  
1       ARRAY DIMENSI SATU
Bentuknya :
                Tipe nama_var[ukuran];
Dengan:
                Tipe       : menyatakan jenis elemen array (int, char, unsigned, dan lain-lain)
                Ukuran : menyatakan jumlah maksimal elemen array.
Contoh:
                Float nilai_ujian[5];
                Pada C++, array disimpan dalam memori secara berurutan. Elemen pertama berindeks nol digambarkan sebagai berikut:

Nilai_ujian[0]
Nilai_ujian[1]
Nilai_ujian[2]
Nilai_ujian[3]
Nilai_ujian[4]

Masing-masing bertipe float dan berjumlah 5 elemen.
Contoh Program Array 1 Dimensi:




 Hasil pada program array 1 dimensi  seperti pada gambar berikut:




ARRAY DIMENSI DUA
Struktur array yang dibahas diatas mempunyai satu dimensi , sehingga variabelnya disebut dengan variabel array berdimensi satu.
Pada bagian ini ditunjukkan array berdimensi lebih dari satu, yang sering disebut dengan array berdimensi dua.
                Sebagai contoh, sebuah matrik B berukuran 2 x 3 dapat dideklarasikan dalam bahasa C++ seperti berikut:             int b[2][3] = {{2, 4, 1}, {5, 3, 7}};                   
yang akan menempati lokasi memori dengan susunan sebagai berikut:

0
1
    2
0
2
4
    1
1
5
3
    7

Dan definisi variabel untuk setiap elemen tersebut adalah:
               
0
1
2
0
b[0][0]
b[0][1]
b[0][2]
1
b[1][0]
b[1][1]
b[1][2]

Sebagai implementasi dari keterangan diatas, perhatikan contoh program berikut ini:




Bila program diatas dijalankan, akan muncul hasil:
123
456
123
450
120
400
Penjelasan:
Dari program diatas untuk matriks1, penulisannya adalah 123 456, sedangkan pada matriks2 penulisannya adalah 123 450. 0 disini mempunyai arti tempat yang disediakan untuk data kolom ke 3 dari baris ke dua tidak diisi. Sedangkan matriks3 penulisannya adalah 120 400. Dari matriks 3 disini kita bias melihat bahwa pada baris pertama kolom ketiga data tidak diisi dan dianggap 0 dan pada baris kedua kolom kedua dan ketiga juga tidak diisi juga diisi 0.



SUMBER BUKU :
1. Algoritma dan Pemrograman dalam Bahasa Pascal dan C karya Rinaldi Munir Tahun 1999
2. 10 Langkah Belajar Logika dan Algoritma Menggunakan Bahasa C dan C++ karya Ema Utami dan Sukrisno Tahun 2005