September 12, 2016

Belajar Bahasa Pemrograman C++ : Kondisi dan Perulangan

Koding123 : Kondisi dan Perulangan Algoritma Bahasa Pemrograman C++
Kondisi dan Perulangan Algoritma bahasa Pemrograman C++


Statement IF C++

Membuat Keputusan ( Decision  Making )

Statement IF digunakan untuk mengeksekusi beberapa kode program apabila mempunyai kondisi True atau False
if (condition) {
   //statements
}

Statement IF menentukan kondisi ekspresi yang akan dievaluasi. Apabila kondisi benar, pernyataan dalam kurung kurawal "{}" akan dieksekusi.
Apabila kondisi salah, maka akan di abaikan Kemudian komputer akan melanjutkan program yang berada setelah tubuh dari statement IF tersebut.

Menggunakan Operator

Dalam Menggunakan Statement IF kita juga dapat memanfaatkan Operator Relational untuk membangun logika dengan Statement IF.
Misal kita akan membuat logika untuk mengetahui angka mana yang lebih besar.
if (10 > 3) {
  cout <<  "Benar"; 
}

// Outputs "Benar"

Kode Program di atas, IF menjelaskan bahwa Apabila 4 lebih dari 7 maka statement Cout akan di jalankan yang mana menampilkan kata Benar pada layar.
misal pada program di atas kita ubah operator lebih dari ">" menjadi kurang dari "<" maka kata benar tidak akan dicetak.


Relational Operator

Saat menggunakan Statement if kita dapat menggunakan beberapa Operator relasi untuk membuat suatu logika. beberapa operator relasi tersebut adalah:
Operator Ralasi
Operator Deskripsi Contoh
>= Lebih Besar Dari   10 >= 3 Benar
<= Lebih Kecil Dari   10 <= 3 Salah
== Sama Dengan   10 == 3 Salah
!= Tidak Sama Dengan   10 != 3 Benar

Contoh 1 :
if (10 == 10) {
  cout <<  "Benar";
}

// Outputs "Benar"

Kode Program di atas, IF menjelaskan bahwa Apabila 10 sama dengan 10 maka statement Cout akan di jalankan, yang mana menampilkan kata Benar pada layar.

Contoh 2 :
if (10 != 10) {
  cout <<  "Benar";
}

pada program di atas operator diubah dari "==" menjadi bukan sama dengan "!=" maka kata benar tidak akan dicetak.

Contoh Program IF C++
int a = 92;
int b = 53;
if (a > b) {
  cout << "a lebih besar dari b";
}

// Outputs "a lebih besar dari pada B b"

Statement Else C++

Statement Else adalah pengikut dari Statement IF, apabila Statement IF adalah statement Utama maka statement Else adalah statement kedua atau statement Opsional.
Statement Else akan di eksekusi apabila Statement IF tidak mendapatkan hasil atau mempunyai hasil Salah.


if (condition) {
  //statements
}
else {
 //statements
}

Compiler akan menguji kondisi:
- Apabila statement bernilai true, maka kode di dalam pernyataan IF akan dieksekusi.
- Apabila statement bernilai false, maka kode dalam pernyataan Else akan dieksekusi.

Contoh Program :
int nilai = 90;

if (nilai < 50) {
  cout << "Kamu Gagal" << endl;
}
else {
  cout << "Kamu Berhasil" << endl;
}

// Outputs "Kamu Berhasil"

If Else Statement Ganda

Dalam Contoh sebelumnya kita menggunakan Satu pernyataan dalam If dan Else. Akan tetapi kamu juga boleh membuat statement yang banyak sesuai selera.

contoh:
int nilai= 90;

if (nilai< 50) {
  cout << "Maaf" << endl;
  cout << "Kamu Gagal" << endl;
}
else {
  cout << "Selamat" << endl;
  cout << "Kamu Berhasil" << endl;
  cout << "Kamu Hebat" << endl;
}

/* Outputs
Selamat!
Kamu Berhasil
Kamu Hebat
*/


If Bercabang

Selain cara di atas kita juga dapat membuat cabang pada statement IF. Jadi dapat di asumsikan bahwa ada statement IF didalam Statement IF.

Contoh 1:
int nilai = 100;

if (nilai >= 50) {
  cout << "Kamu Berhasil" << endl;
  if (nilai == 100) {
    cout <<"Kamu Keren" << endl;
  }
}
else {
  cout << "Kamu Gagal" << endl;
}

/*Outputs
Kamu Berhasil
Kamu Keren
*/

Contoh 2:
int umur = 18;
if (umur > 14) {
  if(umur >= 18) {
    cout << "Dewasa";
  }
  else {
    cout << "Remaja";
  }
}
else {
  if (umur > 0) {
    cout << "Anak-anak";
  }
  else {
    cout << "Ada kesalahan";
  }
}


Perulangan While C++

Perulangan

Perulangan pada algoritma bahasa pemrograman memungkinkan untuk mengulang kumpulan dari beberapa fungsi atau statement sampai dengan kondisi tertentu terpenuhi.

Perulangan While berulang kali mengeksekusi statement atau pernyataan  sampai dengan suatu kondisi yang ditetapkan telah terpenuhi.

Syntax:
while (condition) {
   statement(s);
}


Pengulangan beriterasi saat kondisi bernilai benar.
Pada saat kondisi bernilai salah, kontrol program akan di alihkan ke baris yang mengikuti perulangan tersebut.



While

Tubuh Perulangan pada perulangan while adalah kumpulan blok statement yang berada di dalam kurung kurawal program.
contoh :

int nilai= 1;
while (nilai < 6) {
  cout << "Nilai: " << nilai<< endl;
  nilai = nilai + 1;
}

/* Outputs
Nilai : 1
Nilai : 2
Nilai : 3
Nilai : 4
Nilai : 5 
*/

Pada contoh di atas nilai variabel ditetapkan terlebih dahulu yaitu int nilai yang bernilai 1.
Kemudian Perulangan while akan memastikan kondisi, yang mana kondisi tersebut adalah  ( nilai < 6 ), setelah itu program akan mengeksekusi statement yang ada pada tubuh perulangan, dengan increament nilai dari variabel nilai bertambah 1 setiap pengulangan berjalan.
Setelah pengulangan ke 5 maka nilai pada variabel nilai akan bernilai 6,  dan kondisi menjadi bernilai false atau salah. saat hal tersebut terjadi maka perulangan akan berhenti.

Nilai Increament pada perulangan while dapat di rubah. apa bila nilai inceament di rubah maka jumlah pengulangan pada perulangan while akan berubah juga.

contoh :
int nilai = 1;
while (nilai < 6) {
  cout << "Nilai : " << nilai << endl;
  nilai = nilai + 3;
}

/* Outputs
Nilai : 1
Nilai : 4 
*/


Apabila kita tidak memberi pernyataan kondisi false maka pengulangan tak akan berhenti, dalam artian program akan terus mengulang pernyataan.


Increment dan Decrement

Operator Increment dan Decrement dapat digunakan untuk mengubah nilai pengulangan pada perulangan.

contoh:
int nilai= 1;
while (nilai< 6) {
  cout << "Nilai: " << nilai<< endl;
  nilai++;
}

/* Outputs
Nilai : 1
Nilai : 2
Nilai : 3
Nilai : 4
Nilai : 5 
*/

nilai++ sama dengan nilai = nilai + 1


Input Manual

Pada perulangan nilai dapat di inputkan secara manual dengan Cin.
misal kita akan membuat sebuah perulangan yang menizinkan user untuk mengisi nilai sebanyak 5 kali.
int nilai= 1;
int input;

while (nilai<= 5) {
  cin >> input;
  nilai++;
}


Jumlah Total nilai Perulangan

Sekarang kita akan mencoba menjumlahkan seluruh nilai yang telah di inputkan pada pengulangan.
int nilai= 1;
int input;
int total = 0;

while (nilai < 5) {
  cin >> input;
  total += nilai;
  nilai++;
}
cout << total << endl;


Pada kode di atas ditambahkan sebuah operasi yang dapat menambahkan nilai dari perulangan. Setelah pengulangan berhenti maka hasil dari total akan di cetak.

Perulangan For C++

Perulangan For, berbeda dengan yang lain, perulangan For lebih efisien dalam penulisan programnya.

Syntax:
for ( init; condition; increment ) {
  statement(s);
}

Pada Syntax di atas, Init akan di eksekusi terlebih dahulu, dan tidak akan di ulang, dalam artian Init tidak masuk dalam pengulangan. Kemudian Condition akan di evaluasi, dan Selanjutnya tubuh perulangan akan di eksekusi, apabila kondisi bernilai benar.
Setelah itu pernyataan Increament akan mengatur pengulangan.
Dan pada akhirnya tubuh perulangan akan mengulang dengan sendiri, dan akan berhenti apabila kondisi bernilai salah.

contoh:
for (int x = 1; x < 10; x++) {
 // Beberapa Kode
 }

Contoh Perulangan For

Increment
Misal kita akan membuat program untuk mengulang angka dari angka 1 sampai dengan 10.
for (int a = 0; a <= 10; a++) {
  cout << a << endl;
}

/* Outputs
0
1
2
3
4
5
6
7
8
9
10
*/



Pada init kita deklarasikan dengan Variabel 'a' dan mengatur nilainya dengan angka 0.
a < 10 merupakan Kondisi.
setelah Iterasi, increment ( a++ ) akan di eksekusi.

Saat a bernilai 11 maka kondisi menjadi salah, dan pengulangan akan berhenti.

Decrement

Misal kita akan membuat program yang menghitung mundur dari angka 10 sampai angka 1 dengan selisih 3 angka.
tahu
for (int a = 10; a >= 0; a -= 3) {
  cout << a << endl;
}

/* Outputs
10
7
4
1
*/


Perulangan Do While C++

Berbeda dengan for dan While, yang mengetes pengulangan di atas tubuh perulangan, Perulangan do while mengecek kondisi di akhir statement perulangan.

Perulangan do while hampir mirip dengan perulangan while.

Syntax:

do {
   statement(s);
} while (condition);

Contoh Program do while

Misal kita akan membuat sebuah program yang menampilkan angka 0 sampai dengan 5.
int a = 0;
do {
  cout << a << endl;
  a++;
} while(a < 5);

/* Outputs
0
1
2
3
4
*/


Pada kode di atas variabel 'a' kita inisialisasikan dahulu dengan nilai 0, mengapa 0 ?, karena kita akan membuat program yang menampilkan angka mulai dari 0 sampai dengan 5. Setelah itu kita gunakan perulangan do while, yang artinya do atau lakukan, tampilkan a, a++ while atau saat 'a' kurang dari atau sama dengan 5.

Sama halnya dengan perulangan lain, ketika tidak ada pernyataan yang menyatakan kondisi bernilai salah maka pengulangan pada perulangan do while akan tetap berjalan tanpa ada henti.

contoh :
int a = 42;
do {
  cout << a << endl;
} while (a > 0);

Kode diatas akan menampilkan angka 42 terus menerus dan tidak akan berhenti.


Switch C++

Kondisi Lebih dari Satu

Dalam kondisi tertentu, misal saat kita di tugaskan untuk membuat sebuah program seperti quiz pilihan abjad. nah disinilah saat kita diuji untuk menggunakan metode apa dalam program tersebut. Hal seperti itu dapat kita jawab menggunakan metode.

IF 
Dalam kasus ini If juga dapat dimanfaatkan untuk menjawab persoalan di atas.

contoh:

int age = 42;
if (age == 16) {
  cout <<"Muda";
}
if (age == 42) {
  cout << "Remaja";
}
if (age == 70) {
  cout << "Dewasa";
}


Akan tetapi akan lebih simple dan elegant apabila kita menggunakan metode Switch.


Switch


Statement Switch memastikan persamaan antara nilai 1 dengan nilai yang ada pada case pada Switch. Apabila nilai sama, maka operasi akan di eksekusi.

contoh :

switch (expression) {
  case nilai1:
    statement(s);
    break;
  case nilai2:
    statement(s);
    break;
    ...
  case nilaiN:
    statement(s);
    break;
}

Didalam sebuah pernyataan Switch terdapat beberapa pernyataan case dengan nomor, apabila variabel yang dituju sama nilainya dengan nilai case maka pernyataan dalam case akan di eksekusi.

contoh :
int age = 42;
switch (age) {
  case 16:
    cout << "Muda";
    break;
  case 42:
    cout << "Remaja";
    break;
  case 70:
    cout << "Dewasa";
    break;
}


Dengan menggunakan Statement Switch kode diatas akan lebih terlihat simpel dan modern, coba bayangkan apabila kita menggunakan statement if pada kode di atas, Apabila menggunakan statement If maka akan ada 3 If untuk melakukan hal di atas.

Akan tetapi saat menggunakan pernyataan Switch jangan lupa menambahkan break pada akhir case.


Case Default

Didalam pernyataan Switch terdapat kata default, nah apakah default itu ? sama halnya dengan Else pada Pernyataan If, default dapat difungsikan sebagai penolakan apabila nilai variabel tidak ada yang sama dengan Case pada statement Switch.

contoh:
int age = 25;
switch (age) {
  case 16:
    cout << "Muda";
    break;
  case 42:
    cout << "Remaja";
    break;
  case 70:
    cout << "Dewasa";
    break;
  default:
    cout << "Tak Di ketahui";
}

// Outputs "Tak Di ketahui"


Break

Pernyataan Break merupakan sebuah pernyataan untuk menghentikan pernyataan Switch.
Tanpa break maka pernyataan akan terus di eksekusi sampai menemukan pernyataan break.

contoh :
int age = 42;
switch (age) {
  case 16:
    cout << "Newbi" << endl;
  case 42:
    cout << "Junior" << endl;
  case 70:
    cout << "Senior" << endl;
  default:
    cout <<"Master" << endl;
}
/* Outputs
Junior
Senior
Master
*/



Dapat kita lihat di atas, Program akan mengeksekusi pernyataan yang sama nilai nya dengan nilai pada case, Program menampilkan kata "Junior" pada layar. Tanpa adanya pernyataan break maka pernyataan akan terus berjalan. dan menampilkan pernyataan setelahnya. ( Fall Through )
akan tetapi berbeda dengan Pernyataan default, dia tidak membutuhkan break untuk mengakhiri pernyataan tersebut. karena Default sudah tentu merupakan akhir pernyataan yang berupa penolakan.

Operator Logika C++

Operator logika ( Logical Operator ) dapat digunakan untuk mengkombinasikan pernyataan.
beberapa operator logika tersebut adalah.

Operator Logika
Operator Nama Operator Contoh
&& Operator [ AND ] a && a
|| Operator [OR] 1x || y
! Operator [NOT] ! y


Logika Operator AND

Operator logika AND bekerja seperti tabel dibawah ini.

Operator Logika AND
Operand Kiri Operan Kanan Hasil
False False False
False True False
True False Flase
True True True
Kesimpulan dari Operator AND adalah, apabila kedua nilai operand benar maka hasilnya adalah benar.

Contoh Logika Operator AND

int age = 20;
if (age > 16 && age < 60) {
  cout << "Diterima!" << endl;
}
// Outputs "Diterima"

Logika Operator OR

Operator logika OR bekerja seperti tabel dibawah ini.


Operator Logika OR
Operand Kiri Operan Kanan Hasil
False False False
False True True
True False True
True True True
Kesimpulan dari Operator OR adalah, apabila kedua nilai operand salah maka hasilnya adalah salah.

Contoh Logika Operator OR

int age = 16;
int score = 90;
if (age > 20 || score > 50) {
    cout << "Accepted!" << endl;
}

// Outputs "Accepted!"


Logika Operator NOT

Operator logika NOT bekerja seperti tabel dibawah ini.


Operator Logika NOT
Operand Hasil
True False
False True


Contoh Logika Operator NOT



int age = 10;


if ( !(age > 16) ) {
  cout << "Umur mu Lebih dari 16" << endl;
}

// Outputs "Umur mu kurang dari 16"
Your Live doesn't get better by chance. It gets better by Change. 
keep your eyes and moving forward