LECTURE NOTES
T0456 - Algoritma dan Metode Object Oriented Programming
Week 2
Operator & Struktur Kendali
LEARNING OUTCOMES
1. Peserta diharapkan mampu menerapkan struktur kendali pemilihan dan perulangan dalam program C++ dengan benar.
OUTLINE MATERI (Sub-Topic):
1. Operators
2. Jenis struktur kendali 3. Struktur Kendali Pemilihan 4. Simple if Structrure
5. if else Structrure 6. Nested if Structrure 7. Switch Case Structrure
8. Struktur Kendali Pengulangan 9. for Structure
10. while Structure 11. do while Structure
12. Penggunaan Keywords continue dan break
ISI MATERI
Operators
Operator adalah simbol dari proses yang mengolah nilai operand dan menghasilkan sebuah nilai baru. Setiap operator memproses data dengan cara tertentu. Operator dikelompokkan berdasarkan jumlah oeperand nya. Operator dengan satu operand disebut unary operator. Operator dengan dua operand disebut binary operator. Operator dengan tiga operand disebut ternary operator.
Tabel 1: Operator Aritmatika Simbol
Operator
Operasi Tipe Data Contoh
+ Unary Plus Numerik x=+y+3;
- Unary Minus Numerik x=-y;
+ Penambahan Numerik x=y+z;
- Pengurangan Numerik x=y-z;
* Perkalian Numerik x=y*z;
/ Pembagian Numerik x=y/z;
% Modulus Integer x=y%z;
Operator Increment dan decrement
Operator Increment ++ : operator ini melakukan penambahan nilai satu kepada nilai sebuah variabel. Biasanya variabel harus dari tipe data integer. Ada dua bentuk increment yaitu post-increment dan pre-increment. Jika kedua operator ini berdiri sendiri, implikasinya sama. Keduanya akan berbeda jika melibatkan operator lain.
Sintaks:
variable++ // post-increment ++variable // pre-increment Contoh:
LineNumber++; // Nilai LineNumber bertambah satu ++index; // Nilai index bertambah satu
x=y++; // nilai y dipakai untuk merubah nilai x kemudian nilai y ditambah satu
x=++y; // nilai y ditambah satu kemudain nilai y yang baru dipakai untuk merubah nilai x
Operator Decrement -- : operator ini melakukan pengurangkan nilai satu dari nilai sebuah variabel. Biasanya variabel harus dari tipe data integer. Ada dua bentuk decrement yaitu post-decrement dan pre-decrement. Jika kedua operator ini berdiri sendiri, implikasinya sama. Keduanya akan berbeda jika melibatkan operator lain.
Sintaks:
variable-- // post-decrement --variable // pre-decrement Contoh:
LineNumber--; // Nilai LineNumber berkurang satu --index; // Nilai index berkurang satu
x=y--; // nilai y dipakai untuk merubah nilai x kemudian nilai y dikurang satu
x=--y; // nilai y dikurang satu kemudain nilai y yang baru dipakai untuk merubah nilai x
Opertor Assignment
Operator ini memiliki simbol = dan bekerja dengan cara mengambil nilai dari simbol atau kumpulan simbol di sebelah kanannya untuk merubah nilai dari variabel yang ada di sebelah kirinya. Yang di sebelah kiri harus selalu satu variabel dan disebut L-Value dan yang di sebelah kanan boleh konstatnta, variabel atau ekspresi aritmatika dan disebut sebagai R- Value.
Tabel 2: Assignment Operators
Operator Assignment Operasi Contoh
x=y; x=y; x=34; artinya x=34;
x+=y; x=x+y; x+=34; artinya x=x+34;
x-=y; x=x-y; x-=34; artinya x=x-34;
x*=y; x=x*y; x*=34; artinya x=x*34;
x/=y; x=x/y; x/=34; artinya x=x/34;
x%=y; x=x%y; x%=34; artinya x=x%34;
Operator Relasional dan Logikal
Operator relasional adalah operator yang memproses hubungan antara operand-nya.
Hubungan itu bisa sama ==, tidak sama !=, kecil dari <, besar dari >, kecil sama <= dan besar sama >=.
Operator lojikal adalah operator yang memproses nilai yang dimiliki oleh operand- nya seperti operator AND dengan simbol &&, operator OR dengan simbol || dan operator NOT dengan simbol !.
Operator relasional dan operator lojikal biasanya dipakai dalam membangun kondisi pada perintah pemilihan dan pada perintah pengulangan.
Tabel 3: Operator relational dan Lojikal
Operator Definisi Contoh
== Sama
!= Tidak sama
< Lebih kecil
> Lebih besar
<= Lebih kecil atau sama
>= Lebih besar atau sama
&& Lojikal AND
|| Lojikal OR
! Lojikal NOT
Jenis struktur kendali
Pemrograman adalah pencerminan kehidupan sehari-hari. Dalam kehadiran sehari- hari terdapat aktivitas pemilihan dan pengulangan. Oleh karena itu dalam pemrograman terdapat struktur kendali pemilihan dan struktur kendali pengulangan.
Struktur Kendali Pemilihan
Struktur kendali pemilihan digunakan untuk memeriksa sebuah kondisi dan berdasar hasil pemeriksaan kondisi tersebut ditentukan perintah yang akan dieksekusi. Struktur kendali pemilihan dalam bahasa C++ mencakup:
- Simple if structure - if else structure - switch case structure Simple if Structrure
Struktur kendali pemilihan ini memiliki satu kondisi dan satu perintah atau deretan perintah.
Jika kondisi benar, satu perintah atau deretan perintah dieksekusi. Jika kondisi salah, tidak ada yang dieksekusi.
Syntax
if ( kondisi ) perintah ; atau
if ( kondisi ) { deretan perintah ; } Contoh program:
// Example C++ program using if
# include <iostream.h>
void main () { double x;
cout << "Enter x (not 0):";
cin >> x;
if (x! = 0)
cout << "Reciprocal of" << x << "Is" << (1 / x) << "\ n";
}
if else Structrure
Struktur kendali pemilihan ini memiliki satu kondisi dan dua perintah atau dua deretan perintah. Jika kondisi benar, satu perintah atau deretan perintah dieksekusi. Jika kondisi salah, perintah yang lain atau deret perintah yang lain dieksekusi.
Syntax:
if (condition) {
<Perintah atau deretan Perintah 1 >
} else {
< Perintah atau deretan Perintah 2>
}
Contoh Program:
// Example C++ program using if-else
# include <iostream.h>
# include <ctype.h>
void main () { char c;
cout << "Enter a letter:";
cin >> c;
c = ToUpper (c) // change to uppercase if (c> = 'A' && c <= 'Z')
cout << "Your input is a letter \ n";
else
cout << "Your input is not a letter \ n";
}
Nested if Structrure
Perintah yang terdapat pada cabang dari if-else structure dapat berupa if-else structure lagi.
Hal ini disebut dengan nested if structure.
Syntax:
if (tested_condition1)
statement1 {<sequence #1 of statement>}
else if (tested_condition2) {<sequence #2 of statement>}
else if (tested_conditionN) ...
statementN {<sequence #N of statement>}
Contoh Program:
// Example C++ program using nested if-else
# include <iostream.h>
# include <ctype.h>
void main () { int nilai;
cout << "Masukan nilai:";
cin >> nilai;
if (nilai <=100) {
if (nilai >=85)
cout << "Nilai Anda A. \ n";
else if (nilai >=75)
cout << "Nilai Anda B. \ n";
else if (nilai >=65)
cout << "Nilai Anda C. \ n";
else if (nilai >=55)
cout << "Nilai Anda D. \ n";
else if (nilai >=0)
cout << "Nilai Anda E. \ n";
else cout << “Input terlalu kecil.”;
}
else cout << “Input terlalu besar.”;
}
Switch Case Structrure
Penggunaan nested if structure dianjurkan agar tidak melebihi lima tingkat. Bahasa C++ memiliki perintah sebagai pengganti nested if structure dengan level lebih dari lima yaitu switch case structure.
Syntax:
switch (expression) { case constant1_1:
[ case constant1_2: ...]
<one or more statements>
break;
case constant2_1:
[ case constant2_2: ...]
<one or more statements>
break;
...
case constantN_1:
[ case constantN_2: ...]
<one or more statements>
break;
default:
<one or more statements>
Contoh Program:
#include <constrea.h>
#include <ctype.h>
void main () {
int weight; char grade;
cout << "Enter a grade:"; cin >> grade;
grade = ToUpper (grade);
switch (grade) {
case 'A': weight = 4; break;
case 'B': weight = 3; break;
case 'C': weight = 2; break;
case 'D': weight = 1; break;
case 'E': weight = 0; break;
default: cout << “input is not correct" << endl;
}
cout << "weight =" << weight << endl;
}
Struktur Kendali Pengulangan
Struktur kendali pengulangan adalah salah satu fasilitas yang dimiliki bahasa C++.
Realita bisnis yang menggunakan pengulangan banyak sekali seperti kredit di bank.
Penagihan selalu dilakukan berulang-ulang sampai jumlah tagihan sama dengan 0. Jika realita bisnis ini mau diimplementasikan dalam program, maka diperlukan struktur kendali pengulangan.
Pengulangan dalam bahasa C++ dapat berupa:
- for structure - do-while structure - while structure
for Structure
Bahasa C++ memiliki dua jenis pengulangan dengan for - Fixed for
- Conditional for Syntax:
for (<intialisasi variable>; <kondisi>;
<penambahan/pengurangan variable>) {
<statement-sequence>
}
Contoh fixed for structure:
for (i = 0; i <10; i++)
cout << "The square of" << i << "=" << i * i << "\ n";
Contoh condtional for structure:
i=0;
for (; i <10;) {
cout << "The square of" << i << "=" << i * i << "\ n";
i++;
}
Bahasa C++ memungkinkan programmer menulis infinite loop dengan menghilangkan ketiga ekspresi yang ada di for structure, seperti inisialisasi variabel, kondisi dan penambahan/pengurangan variabel..
for (;;) {
<statement-sequence>
}
do while Structure
Struktur kendali pengulangan ini disebut juga conditional loop, dimana kondisi pengulangan diperiksa pada akhir dari blok pengulangan.
Syntax:
do {
<sequence of statements>
} while (condition);
Contoh Program:
// Example C++ program using do-while loop
# include <math.h>
void main () {
char c; double x, y;
do {
do {
cout << "Enter a Number:";
cin >> x;
} while (x <0);
y = sqrt (x);
cout << "Sqrt (" << x << ") =" << y << "\ n"
<< "Enter another number? (Y / N)";
cin >> c;
cout << "\ n";
} while (c == 'Y' | | c == 'y');
} while Structure
Stuktur kendali ini juga disebut sebagai conditional loop, dimana kondisi pengulangan diperiksa pada awal blok pengulangan.
Syntax:
while (condition) {
sequence of statements }
SIMPULAN
Operator adalah simbol dari proses yang mengolah nilai operand dan menghasilkan sebuah nilai baru. Setiap operator memproses data dengan cara tertentu. Operator dikelompokkan berdasarkan jumlah oeperand nya. Operator dengan satu operand disebut unary operator. Operator dengan dua operand disebut binary operator. Operator dengan tiga operand disebut ternary operator.
Berdasar jenisnya operator dapat dikategorikan sebagai operator aritmatika, operator increment dan decrement, operator relasional dan lojikal dan operator asignment.
Pemrograman adalah pencerminan kehidupan sehari-hari. Dalam kehadiran sehari- hari terdapat aktivitas pemilihan dan pengulangan. Oleh karena itu dalam pemrograman terdapat struktur kendali pemilihan dan struktur kendali pengulangan.
Struktur kendali pemilihan digunakan untuk memeriksa sebuah kondisi dan berdasar hasil pemeriksaan kondisi tersebut ditentukan perintah yang akan dieksekusi. Struktur kendali pemilihan dalam bahasa C++ mencakup:
- Simple if structure - if else structure - switch case structure
Simple if structure memiliki satu kondisi dan satu perintah atau deretan perintah. Jika kondisi benar, satu perintah atau deretan perintah dieksekusi. Jika kondisi salah, tidak ada yang dieksekusi.
if else structure memiliki satu kondisi dan dua perintah atau dua deretan perintah.
Jika kondisi benar, satu perintah atau deretan perintah dieksekusi. Jika kondisi salah, perintah yang lain atau deret perintah yang lain dieksekusi. Perintah yang terdapat pada cabang dari if- else structure dapat berupa if-else structure lagi. Hal ini disebut dengan nested if structure.
Penggunaan nested if structure dianjurkan agar tidak melebihi lima tingkat. Bahasa C++ memiliki perintah sebagai pengganti nested if structure dengan level lebih dari lima yaitu switch case structure. Struktur kendali pengulangan adalah salah satu fasilitas yang dimiliki bahasa C++. Struktur kendali pengulangan dalam bahasa C++ dapat berupa:
- for structure - do-while structure - while structure
Bahasa C++ memiliki dua jenis pengulangan dengan for
- Fixed for - Conditional for
Bahasa C++ memungkinkan programmer menulis infinite loop dengan menghilangkan ketiga ekspresi yang ada di for structure, seperti inisialisasi variabel, kondisi dan
penambahan/pengurangan variabel. do while Structure disebut juga conditional loop, dimana kondisi pengulangan diperiksa pada akhir dari blok pengulangan. while Structure disebut sebagai conditional loop, dimana kondisi pengulangan diperiksa pada awal blok
pengulangan.
DAFTAR PUSTAKA
1. Deitel & Deitel. (2010). C++ How To Program. 7th Edition. Prentice Hall Intern.
New Jersey. ISBN:0-13-246540-X, Chapter 4 & 5