SlideShare a Scribd company logo
Review Operator, Boolean, Selection,
Repetition
(Pemrograman)
September 2018
Bidang Komputer
Science Club SMA Negeri 5 Depok
README.MD
Bukan materi, Hanya review karena seringkali ada
beberapa hal yang terlewatkan di materi ini.
Pembahasan secara teknis pemrograman dan sedikit
logika.
Keterangan
C C++ Java
printf(“Nomor %dn”, i); cout>>“Nomor “ >> i >>endl; System.out.println(“Nomor “ + i);
scanf(“%d”, &i); cin >> i; i = Input.nextInt();
ASIGMENT VS COMPARSION
Assigment vs Comparsion Operator
▫ Assigment : mengubah nilai
contoh
x = 7;
x = x + 3;
▫ Comparsion : membandingkan nilai, menghasilkan nilai Boolean
TRUE atau FALSE
contoh
x == y;
3 == 2;
x > 5;
Comprasion C++ Contoh
Apakah sama? == a == b , apakah a sama dengan b?
Apakah beda? != a != b, apakah a tidak sama dengan b?
Lebih dari > a > b, apakah a lebih besar dari b?
Kurang dari < a < b, apakah a lebih kecil dari b?
Lebih dari atau sama
dengan
>= a >= b, apakah a lebih besar atau sama
dengan b?
Kurang dari atau sama
dengan
<= a <= b, apakah a lebih kecil atau sama
dengan b?
Contoh
int a, b, c, d, e,;
a = 20;
b = 31;
c = 20;
d = 1;
e = 5;
a == b; //apakah 20 sama dengan 31?, SALAH.
d != a; //apakah 1 tidak sama dengan 20?, BENAR
c < b; //apakah 20 lebih kecil dari 31?, BENAR
e == 5;// apakah e sama dengan 5?, BENAR
c > 100;// apakah 20 lebih besar dari 100, SALAH
Review Logic Gates
LG Keternagan C++
AND Bernilai BENAR jika semua yang di AND
kan bernilai BENAR
&&
OR Bernilai BENAR jika minimal 1 yang di
OR kan BENAR
||
NOT Merubah nilai, yang sebelumnya SALAH
menjadi BENAR. dan sebaliknya
!
BOOLEAN
Boolean
▫ Boolean adalah tipe data yang berupa BENAR/SALAH
▫ Bisa dinyatakan langsung atau disimpan ke variabel
Dinyatakan Langsung
int a, b, c, d, e,;
a = 20;
b = 31;
c = 20;
d = 1;
e = 5;
a == b;
d != a;
c < b;
e == 5;
c > 100;
Disimpan di variabel
int a, b, c, d, e,;
a = 20;
b = 31;
c = 20;
d = 1;
e = 5;
bool v = a == b; //bernilai FALSE
bool w = d != a; //bernilai TRUE
bool x = c < b; // bernilai TRUE
bool y = e == 5; // bernilai TRUE
bool z = c > 100; //bernilai FALSE
Cara Pernyataan
Contoh Boolean dengan Logic Gates
int a, b, c, d, e;
a = 20;
b = 31;
c = 20;
d = 1;
e = 5;
bool v = a == b; //bernilai FALSE
bool w = d != a; //bernilai TRUE
bool x = c < b; // bernilai TRUE
bool y = e == 5; // bernilai TRUE
bool z = c > 100; //bernilai FALSE
bool iseng = v && w; //bernilai FALSE
bool iseng2 = w && y; //bernilai TRUE
bool iseng3 = !z; //bernilai TRUE
bool iseng4 = (w || z) && !(x && y); //bernilai FALSE
SELECTION
if ( kondisi )
{
//perintah
}
▫ Jika kondisi bernilai true,
maka melaksanakan
perintah di dalam kurung
kurawal
Contoh 1
if(kondisi_1) {
//perintah 1
} else if(kondisi_2) {
//perintah 2
} else if(kondisi_3) {
//perintah 3
} else if(kondisi_4) {
//perintah 4
}
Contoh 2
if(kondisi_1) {
//perintah 1
} else if(kondisi_2) {
//perintah 2
} else if(kondisi_3) {
//perintah 3
} else {
//perintah 4
}
Struktur if (b)
Problem A
▫ Rincian
Buatlah program untuk konversi nilai N dari skala 100
menjadi skala huruf dengan kriteria berikut :
A : 86 - 100
B : 76 - 85
C : 61 - 75
D : 51 - 60
E : 0 - 50
dan memunculkan tulisan "Nilai invailid!" jika dimasukan
input yang lebih besar dari 100
▫ Format Input
nilai awal N
▫ Format Output
konversi nilai N menjadi skala huruf. Jika input tidak sesuai, tampilkan "Nilai invailid!"
▫ Contoh Input (1)
73
▫ Contoh Output (1)
C
▫ Contoh Input (2)
122
▫ Contoh Output (2)
Nilai invailid!
Ide
▫ Input nilai awal N
▫ jika 86≤N≤100, tampilkan "A"
▫ jika 76≤N≤85, tampilkan "B"
▫ jika 61≤N≤75, tampilkan "C"
▫ jika 51≤N≤60, tampilkan "D"
▫ jika N≤50, tampilkan "E"
▫ jika input tidak sesuai, tampilkan "Nilai
invailid!"
▫ Di dalam pemrograman, kita tidak dapat
melakukan seperti ini :
if(76<=nilai<=85) {
cout<<"B"<<endl;
}
▫ Melainkan harus dipecah dulu
76≤nilai≤85
nilai antara 76 sampai 85
sama dengan :
nilai ≥76 ∩ nilai ≤85
nilai lebih besar sama dengan 76 dan nilai lebih kecil sama
dengan 85
▫ sehingga menjadi seperti ini :
if(nilai>=76 && nilai <=85) {
cout<<"B"<<endl;
}
Kode Kiri
int nilai;
cin>>nilai;
if( nilai >= 90 ) {
cout<<"A";
}
if( nilai >=70 && nilai < 90 )
{
cout<<"B";
}
if( nilai < 70) {
cout<<"C";
}
Kode Kanan
int nilai;
cin>>nilai;
if( nilai >= 90 ) {
cout<<"A";
}
else if( nilai >=70 && nilai <
90 ) {
cout<<"B";
}
else( nilai < 70) {
cout<<"C";
}
Untuk input tidak lebih dari 100, kode ini bernilai sama. Tapi
adakah perbedaanya?
▫ Perbedaan nya di keefektifannya
▫ Kode kiri tidak efektif, karena jika kondisi 1 BENAR, program masih
mengecek kondisi 2 dan 3
▫ Kode kanan efektif, karena jika kondisi 1 BENAR, program tidak
mengecek kondisi 2 dan 3. melainkan langsung lompat ke perintah
selanjutnya
▫ Begitu juga ketika kondisi 2 BENAR. kondisi 1 tetap di cek tapi
kondisi 3 tidak dicek.
int nilai;
cin>>nilai;
if( nilai >= 90 ) {
cout<<"A";
}
if( nilai >=70 && nilai < 90 )
{
cout<<"B";
}
if( nilai < 70) {
cout<<"C";
}
int nilai;
cin>>nilai;
if( nilai >= 90 ) {
cout<<"A";
}
else if( nilai >=70 && nilai <
90 ) {
cout<<"B";
}
else( nilai < 70) {
cout<<"C";
}
Kode Kiri Kode Kanan
Untuk input tidak lebih dari 100, kode ini bernilai sama.
Tapi adakah perbedaanya?
1 grup if
3 grup if
grup 1
grup 3
grup 2
Grup If
▫ Satu grup if dimulai oleh if dan
ditutup oleh else if atau else
▫ JIka SALAH satu kondisi di
grup if tersebut BENAR, maka
kondisi lain tidak di cek.
Contoh Lain
Grup If
Kode Kiri
Sebenarnya kode tadi bisa ditulis
lebih singkat seperti di kanan (Dan
lebih baik ditulis seperti ini).
Kode yang tadi hanya untuk
menunjukan cara pakai logic gates
Kode yang ini jika tidak memakai else
if (memakai if semua) akan
menghasilkan hasil yang tidak
diinginkan (misal jika inlainya 91, abc
akan tercetak)
Kode Kanan
int nilai;
cin>>nilai;
if( nilai >= 90 ) {
cout<<"A";
}
else if( nilai >=70) {
cout<<"B";
}
else{
cout<<"C";
}
Catatan
REPETITION
While, Do-While, For
Review
x = x + 1;
di c++ bisa disingkat menjadi
x++;
x = x-1;
di c++ bisa disingkat menjadi
x--;
While
▫ Kondisi berupa tipe data
boolean (BENAR atau
SALAH)
▫ Selama kondisi bernilai
BENAR, maka perintah di
dalam kurung kurawal akan
dijalankan, dan mengecek
kondisi lagi dan seterusnya
while( kondisi ) {
//perintah yang
dijalankan jika kondisi
bernilai BENAR
}
int i = 1;
while( i < 4) {
cout<<i<<endl;
i++;
}
▫ While pertama
1 kurang dari 4, BENAR.
Maka menjalankan perintah di
dalam kurung kurawal.
Mencetak angka 1.
Menambah nilai i menjadi 2;
▫ While kedua
2 kurang dari 4, BENAR.
Maka menjalankan perintah di
dalam kurung kurawal.
Mencetak angka 2.
Menambah nilai i menjadi 3;
Contoh 1
int i = 1;
while( i < 4) {
cout<<i<<endl;
i++;
}
▫ While pertama
3 kurang dari 4, BENAR.
Maka menjalankan perintah di
dalam kurung kurawal.
Mencetak angka 3.
Menambah nilai i menjadi 4;
▫ While kedua
4 kurang dari 4, SALAH.
Maka perintah di dalam kurung
kurawal tidak dikerjakan.
▫ Output :
1
2
3
Contoh 1
int i = 10;
bool iseng = true;
while( iseng ) {
cout<<i<<endl;
i--;
iseng = i >7
}
▫ While pertama
kondisi iseng bernilai true.
Maka menjalankan perintah di dalam
kurung kurawal.
Mencetak angka 10.
Mengurang nilai i menjadi 9;
Mengupdate nilai iseng.
9 lebih besar dari 7, BENAR. maka
iseng bernilai true
▫ While kedua
kondisi iseng bernilai true.
Maka menjalankan perintah di dalam
kurung kurawal.
Mencetak angka 9.
Mengurang nilai i menjadi 8;
Mengupdate nilai iseng.
8 lebih besar dari 7, BENAR. maka
iseng bernilai true
Contoh 2
int i = 10;
bool iseng = true;
while( iseng ) {
cout<<i<<endl;
i--;
iseng = i >7
}
▫ While ketiga
kondisi iseng bernilai true.
Maka menjalankan perintah di dalam
kurung kurawal.
Mencetak angka 8.
Mengurang nilai i menjadi 7;
Mengupdate nilai iseng.
7 lebih besar dari 7, SALAH. maka
iseng bernilai false
▫ While keempat
kondisi iseng bernilai false.
Maka perintah di dalam kurung
kurawal tidak dijalankan.
▫ Output :
10
9
8
Contoh 2
DO WHILE
do {
//perintah
} while ( kondisi );
▫ Mengerjakan perintah di dalam
kurung kurawal terlebih dahulu.
▫ Lalu mengecek kondisi
▫ Selama Kondisi BENAR,
melakukan perintah di dalam
kurung kurawal. Dan mengecek
kondisi lagi dan seterusnya
▫ Kalau kondisi SALAH, perintah di
dalam kurung kurawlal hanya
dikerjakan sekali
Contoh 2
int n;
do {
cin>>n;
} while ( n <= 0 ).
▫ Kasus 1
kita menginput nilai 15.
15 lebih kecil atau sama dengan
0? SALAH. berarti kondisi bernilai
false.
berarti perintah di dalam kurung
kurawal hanya dilakasankan
sekali.
Contoh 1
int n;
do {
cin>>n;
} while ( n <= 0 ).
▫ Kasus 2
kita menginput nilai -5.
-5 lebih kecil atau sama dengan 0?
BENAR. berarti kondisi bernilai true.
berarti perintah di dalam kurung
kurawal hanya dilakasankan lagi dan
mengecek kondisi lagi dan
seterusnya.
kita menginput nilai 0
program meminta masukan lagi
kita mengimput nilai -1
program meminta masukan lagi
kita menginput nilai 4
program tidak meminta masukan lagi.
Contoh 1
While vs Do While
While Do-While
Mengecek kondisi dulu Menjalankan perintah di
kurung kurawal terlebih
dahulu, tidak pedulu kondisi
BENAR atau SALAH
Jika kondisi BENAR, maka
menjalankan perintah di
dalam kurawal
Lalu mengecek kondisi
Mengecek Kondisi lagi Jika kondisi BENAR, maka
menjalankan perintah di
dalam kurawal
Jika kondisi BENAR, maka
menjalankan perintah di
dalam kurawal
Mengecek Kondisi lagi
Mengecek Kondisi lagi Jika kondisi BENAR, maka
menjalankan perintah di
dalam kurawal
DAN SETERUSNYA ...
For
for(/*perintah yang dikerjakan sekali di awal
(inisialisasi)*/ ; kondisi ; /*perintah yang dikerjakan
setiap setelah mengerjakan semua perintah di kurung
kurawal*/ ) {
//Perintah di dalam kurung kurawal
}
For sama dengan while, cuma bentuknya
saja yang beda
while( kondisi ) {
//perintah yang
dijalankan jika kondisi
bernilai BENAR
}
for(/*perintah yang
dikerjakan sekali di awal
(inisialisasi)*/ ; kondisi
; /*perintah yang
dikerjakan setiap setelah
mengerjakan semua perintah
di kurung kurawal*/ ) {
//Perintah di dalam
kurung kurawal
}
int i = 1;
while( i < 4) {
cout<<i<<endl;
i++;
}
for( int i = 1; i < 4;
i++ ) {
cout<<i<<endl;
}
Contoh 1
Kedua contoh ini sama dan menghasilkan output yang sama juga
(Perhatikan warnanya)
int i = 1;
while( i < 4) {
cout<<i<<endl;
i++;
}
int i = 1
for( ; i < 4; i++ ) {
cout<<i<<endl;
}
Contoh 2
Kedua contoh ini sama dan menghasilkan output yang sama juga
int i = 1;
while( i < 4) {
cout<<i<<endl;
i++;
}
int i = 1
for( ; i < 4; ) {
cout<<i<<endl;
i++
}
Contoh 3
Kedua contoh ini sama dan menghasilkan output yang sama juga
int i = 1;
while( i < 20) {
cout<<i<<endl;
i = i + 2;
}
for(int i = 1 ; i < 20;
i = i + 2;) {
cout<<i<<endl;
}
Contoh 4
Kedua contoh ini sama dan menghasilkan output yang sama juga
LICENSE
CONTRIBUTING.MD
Author, License
Herbert Abdillah
abdillah.herbert@gmail.com
▫ https://www.linkedin.com/in/herbert
abdillah
▫ http://herbertabdillah.my.id/
This license lets others distribute, remix, tweak,
and build upon your work, even commercially, as
long as they credit you for the original creation.
This is the most accommodating of licenses
offered. Recommended for maximum
dissemination and use of licensed materials.
Daftar Pustaka/Referensi Untuk Belajar
Sololearn
(Play store/appstore)
https://play.google.com/store/apps/details
?id=com.sololearn
https://apps.apple.com/us/app/sololearn-l
earn-to-code/id1210079064
TLX Training Gate
https://training.ia-toki.org/
RETURN 0;

More Related Content

What's hot

Struktur Algoritma
Struktur AlgoritmaStruktur Algoritma
Struktur Algoritma
daffa12
 
C programming language notes (6)
C programming language notes (6)C programming language notes (6)
C programming language notes (6)
nakomuri
 
2. algoritma
2. algoritma2. algoritma
2. algoritma
mmwildan
 
Pertemuan 4 - Struktur Kondisi IF
Pertemuan 4 - Struktur Kondisi IFPertemuan 4 - Struktur Kondisi IF
Pertemuan 4 - Struktur Kondisi IF
Achmad Solichin
 
Percabangan - Logika dan Algoritma
Percabangan - Logika dan AlgoritmaPercabangan - Logika dan Algoritma
Percabangan - Logika dan Algoritma
Ari Septiawan
 
207 p04
207 p04207 p04
207 p04
itranus
 
Bab 5 diagram alur (flowchart)
Bab 5 diagram alur (flowchart)Bab 5 diagram alur (flowchart)
Bab 5 diagram alur (flowchart)
risal07
 
Algoritma 1 pertemuan 5
Algoritma 1 pertemuan 5Algoritma 1 pertemuan 5
Algoritma 1 pertemuan 5
adekurnia solihin
 
Tipe data
Tipe dataTipe data
9. algoritma perulangan pada java
9. algoritma perulangan pada java9. algoritma perulangan pada java
9. algoritma perulangan pada java
Saprudin Eskom
 
Review algoritma percabangan dan perulangan - Pertemuan Teori Minggu 2
Review algoritma percabangan dan perulangan - Pertemuan Teori Minggu 2Review algoritma percabangan dan perulangan - Pertemuan Teori Minggu 2
Review algoritma percabangan dan perulangan - Pertemuan Teori Minggu 2
rahmantoyuri
 
5. struktur kontrol alur program lanjutan
5. struktur kontrol alur program lanjutan5. struktur kontrol alur program lanjutan
5. struktur kontrol alur program lanjutan
Anna Fitria
 
Topik 7 Pemilihan
Topik 7 PemilihanTopik 7 Pemilihan
Topik 7 Pemilihan
I Komang Agustino
 
Algoritma dan Pemrograman C++ (Perulangan)
Algoritma dan Pemrograman C++ (Perulangan)Algoritma dan Pemrograman C++ (Perulangan)
Algoritma dan Pemrograman C++ (Perulangan)
Nabil Muhammad Firdaus
 
6. percabangan 2 kondisi
6. percabangan 2 kondisi6. percabangan 2 kondisi
6. percabangan 2 kondisi
Saprudin Eskom
 
Pertemuan 5 - Struktur Kondisi IF (lanjutan)
Pertemuan 5 - Struktur Kondisi IF (lanjutan)Pertemuan 5 - Struktur Kondisi IF (lanjutan)
Pertemuan 5 - Struktur Kondisi IF (lanjutan)
Achmad Solichin
 
M05a pengambilan keputusan
M05a  pengambilan keputusanM05a  pengambilan keputusan
M05a pengambilan keputusan
Billy Alhamra
 
Pertemuan 3 - Konsep Dasar Pemrograman
Pertemuan 3 - Konsep Dasar PemrogramanPertemuan 3 - Konsep Dasar Pemrograman
Pertemuan 3 - Konsep Dasar Pemrograman
Achmad Solichin
 
Bab Iii Kondisi
Bab Iii KondisiBab Iii Kondisi
Bab Iii Kondisi
formatik
 

What's hot (20)

Struktur Algoritma
Struktur AlgoritmaStruktur Algoritma
Struktur Algoritma
 
Cc++
Cc++Cc++
Cc++
 
C programming language notes (6)
C programming language notes (6)C programming language notes (6)
C programming language notes (6)
 
2. algoritma
2. algoritma2. algoritma
2. algoritma
 
Pertemuan 4 - Struktur Kondisi IF
Pertemuan 4 - Struktur Kondisi IFPertemuan 4 - Struktur Kondisi IF
Pertemuan 4 - Struktur Kondisi IF
 
Percabangan - Logika dan Algoritma
Percabangan - Logika dan AlgoritmaPercabangan - Logika dan Algoritma
Percabangan - Logika dan Algoritma
 
207 p04
207 p04207 p04
207 p04
 
Bab 5 diagram alur (flowchart)
Bab 5 diagram alur (flowchart)Bab 5 diagram alur (flowchart)
Bab 5 diagram alur (flowchart)
 
Algoritma 1 pertemuan 5
Algoritma 1 pertemuan 5Algoritma 1 pertemuan 5
Algoritma 1 pertemuan 5
 
Tipe data
Tipe dataTipe data
Tipe data
 
9. algoritma perulangan pada java
9. algoritma perulangan pada java9. algoritma perulangan pada java
9. algoritma perulangan pada java
 
Review algoritma percabangan dan perulangan - Pertemuan Teori Minggu 2
Review algoritma percabangan dan perulangan - Pertemuan Teori Minggu 2Review algoritma percabangan dan perulangan - Pertemuan Teori Minggu 2
Review algoritma percabangan dan perulangan - Pertemuan Teori Minggu 2
 
5. struktur kontrol alur program lanjutan
5. struktur kontrol alur program lanjutan5. struktur kontrol alur program lanjutan
5. struktur kontrol alur program lanjutan
 
Topik 7 Pemilihan
Topik 7 PemilihanTopik 7 Pemilihan
Topik 7 Pemilihan
 
Algoritma dan Pemrograman C++ (Perulangan)
Algoritma dan Pemrograman C++ (Perulangan)Algoritma dan Pemrograman C++ (Perulangan)
Algoritma dan Pemrograman C++ (Perulangan)
 
6. percabangan 2 kondisi
6. percabangan 2 kondisi6. percabangan 2 kondisi
6. percabangan 2 kondisi
 
Pertemuan 5 - Struktur Kondisi IF (lanjutan)
Pertemuan 5 - Struktur Kondisi IF (lanjutan)Pertemuan 5 - Struktur Kondisi IF (lanjutan)
Pertemuan 5 - Struktur Kondisi IF (lanjutan)
 
M05a pengambilan keputusan
M05a  pengambilan keputusanM05a  pengambilan keputusan
M05a pengambilan keputusan
 
Pertemuan 3 - Konsep Dasar Pemrograman
Pertemuan 3 - Konsep Dasar PemrogramanPertemuan 3 - Konsep Dasar Pemrograman
Pertemuan 3 - Konsep Dasar Pemrograman
 
Bab Iii Kondisi
Bab Iii KondisiBab Iii Kondisi
Bab Iii Kondisi
 

Similar to Review Operator, Boolean, Selection, Repetition

Pertemuan 5b.pptx
Pertemuan 5b.pptxPertemuan 5b.pptx
Pertemuan 5b.pptx
Menny SN
 
Buku c
Buku cBuku c
Percabangan.pptx
Percabangan.pptxPercabangan.pptx
Percabangan.pptx
SyafrilAndrew
 
Pembahasan ujian teori pemrograman pascal bagian 1
Pembahasan ujian teori pemrograman pascal bagian 1Pembahasan ujian teori pemrograman pascal bagian 1
Pembahasan ujian teori pemrograman pascal bagian 1
Damun Setiaji
 
Pengenalan c++ bagian 3
Pengenalan c++ bagian 3Pengenalan c++ bagian 3
Pengenalan c++ bagian 3
Fazar Ikhwan Guntara
 
Materi Pelajaran Program Pascal
Materi Pelajaran Program PascalMateri Pelajaran Program Pascal
Materi Pelajaran Program Pascal
Simon Patabang
 
Fungsi logika pada microsoft AHMAD MUSLIH R ..pptx
Fungsi logika pada microsoft AHMAD MUSLIH R ..pptxFungsi logika pada microsoft AHMAD MUSLIH R ..pptx
Fungsi logika pada microsoft AHMAD MUSLIH R ..pptx
NurulFarizal
 
WEB II PHP 03
WEB II PHP 03WEB II PHP 03
WEB II PHP 03
Rani Sarungallo Rombe
 
konsep dasar perulangan dalam pascal menggunakan while do.pptx
konsep dasar perulangan dalam pascal menggunakan  while do.pptxkonsep dasar perulangan dalam pascal menggunakan  while do.pptx
konsep dasar perulangan dalam pascal menggunakan while do.pptx
AdiLesmana8
 
Pertemuan 5C.pptx
Pertemuan 5C.pptxPertemuan 5C.pptx
Pertemuan 5C.pptx
Menny SN
 
Praktikum Pemrograman Komputer Acara 3
Praktikum Pemrograman Komputer Acara 3Praktikum Pemrograman Komputer Acara 3
Praktikum Pemrograman Komputer Acara 3
starguardianjanna
 
Algo temu 4 struktur dasar algoritma
Algo temu 4 struktur dasar algoritmaAlgo temu 4 struktur dasar algoritma
Algo temu 4 struktur dasar algoritma
Senna Hendrian
 
Pemrograman C++ - Pemilihan keputusan
Pemrograman C++ - Pemilihan keputusanPemrograman C++ - Pemilihan keputusan
Pemrograman C++ - Pemilihan keputusan
KuliahKita
 
Pertidaksamaan
PertidaksamaanPertidaksamaan
Pertidaksamaan
Ronny Sababalat
 
Mobile Application 2 Pertemuan 1 Pengantar Kotlin
Mobile Application 2 Pertemuan 1 Pengantar KotlinMobile Application 2 Pertemuan 1 Pengantar Kotlin
Mobile Application 2 Pertemuan 1 Pengantar Kotlin
Akhmad Khanif Zyen
 
Pertemuan 5a.pptx
Pertemuan 5a.pptxPertemuan 5a.pptx
Pertemuan 5a.pptx
Menny SN
 

Similar to Review Operator, Boolean, Selection, Repetition (20)

Pertemuan 5b.pptx
Pertemuan 5b.pptxPertemuan 5b.pptx
Pertemuan 5b.pptx
 
Buku c
Buku cBuku c
Buku c
 
Percabangan.pptx
Percabangan.pptxPercabangan.pptx
Percabangan.pptx
 
Pembahasan ujian teori pemrograman pascal bagian 1
Pembahasan ujian teori pemrograman pascal bagian 1Pembahasan ujian teori pemrograman pascal bagian 1
Pembahasan ujian teori pemrograman pascal bagian 1
 
04 if-ifelse-switch-break
04 if-ifelse-switch-break04 if-ifelse-switch-break
04 if-ifelse-switch-break
 
Pengenalan c++ bagian 3
Pengenalan c++ bagian 3Pengenalan c++ bagian 3
Pengenalan c++ bagian 3
 
Materi Pelajaran Program Pascal
Materi Pelajaran Program PascalMateri Pelajaran Program Pascal
Materi Pelajaran Program Pascal
 
Fungsi logika pada microsoft AHMAD MUSLIH R ..pptx
Fungsi logika pada microsoft AHMAD MUSLIH R ..pptxFungsi logika pada microsoft AHMAD MUSLIH R ..pptx
Fungsi logika pada microsoft AHMAD MUSLIH R ..pptx
 
Pernyataan bersyarat
Pernyataan bersyaratPernyataan bersyarat
Pernyataan bersyarat
 
WEB II PHP 03
WEB II PHP 03WEB II PHP 03
WEB II PHP 03
 
konsep dasar perulangan dalam pascal menggunakan while do.pptx
konsep dasar perulangan dalam pascal menggunakan  while do.pptxkonsep dasar perulangan dalam pascal menggunakan  while do.pptx
konsep dasar perulangan dalam pascal menggunakan while do.pptx
 
Pertemuan 5C.pptx
Pertemuan 5C.pptxPertemuan 5C.pptx
Pertemuan 5C.pptx
 
Praktikum Pemrograman Komputer Acara 3
Praktikum Pemrograman Komputer Acara 3Praktikum Pemrograman Komputer Acara 3
Praktikum Pemrograman Komputer Acara 3
 
Algo temu 4 struktur dasar algoritma
Algo temu 4 struktur dasar algoritmaAlgo temu 4 struktur dasar algoritma
Algo temu 4 struktur dasar algoritma
 
207 p05
207 p05207 p05
207 p05
 
04 percabangan
04 percabangan04 percabangan
04 percabangan
 
Pemrograman C++ - Pemilihan keputusan
Pemrograman C++ - Pemilihan keputusanPemrograman C++ - Pemilihan keputusan
Pemrograman C++ - Pemilihan keputusan
 
Pertidaksamaan
PertidaksamaanPertidaksamaan
Pertidaksamaan
 
Mobile Application 2 Pertemuan 1 Pengantar Kotlin
Mobile Application 2 Pertemuan 1 Pengantar KotlinMobile Application 2 Pertemuan 1 Pengantar Kotlin
Mobile Application 2 Pertemuan 1 Pengantar Kotlin
 
Pertemuan 5a.pptx
Pertemuan 5a.pptxPertemuan 5a.pptx
Pertemuan 5a.pptx
 

Review Operator, Boolean, Selection, Repetition

  • 1. Review Operator, Boolean, Selection, Repetition (Pemrograman) September 2018 Bidang Komputer Science Club SMA Negeri 5 Depok
  • 2. README.MD Bukan materi, Hanya review karena seringkali ada beberapa hal yang terlewatkan di materi ini. Pembahasan secara teknis pemrograman dan sedikit logika.
  • 3. Keterangan C C++ Java printf(“Nomor %dn”, i); cout>>“Nomor “ >> i >>endl; System.out.println(“Nomor “ + i); scanf(“%d”, &i); cin >> i; i = Input.nextInt();
  • 5. Assigment vs Comparsion Operator ▫ Assigment : mengubah nilai contoh x = 7; x = x + 3; ▫ Comparsion : membandingkan nilai, menghasilkan nilai Boolean TRUE atau FALSE contoh x == y; 3 == 2; x > 5;
  • 6. Comprasion C++ Contoh Apakah sama? == a == b , apakah a sama dengan b? Apakah beda? != a != b, apakah a tidak sama dengan b? Lebih dari > a > b, apakah a lebih besar dari b? Kurang dari < a < b, apakah a lebih kecil dari b? Lebih dari atau sama dengan >= a >= b, apakah a lebih besar atau sama dengan b? Kurang dari atau sama dengan <= a <= b, apakah a lebih kecil atau sama dengan b?
  • 7. Contoh int a, b, c, d, e,; a = 20; b = 31; c = 20; d = 1; e = 5; a == b; //apakah 20 sama dengan 31?, SALAH. d != a; //apakah 1 tidak sama dengan 20?, BENAR c < b; //apakah 20 lebih kecil dari 31?, BENAR e == 5;// apakah e sama dengan 5?, BENAR c > 100;// apakah 20 lebih besar dari 100, SALAH
  • 8. Review Logic Gates LG Keternagan C++ AND Bernilai BENAR jika semua yang di AND kan bernilai BENAR && OR Bernilai BENAR jika minimal 1 yang di OR kan BENAR || NOT Merubah nilai, yang sebelumnya SALAH menjadi BENAR. dan sebaliknya !
  • 10. Boolean ▫ Boolean adalah tipe data yang berupa BENAR/SALAH ▫ Bisa dinyatakan langsung atau disimpan ke variabel
  • 11. Dinyatakan Langsung int a, b, c, d, e,; a = 20; b = 31; c = 20; d = 1; e = 5; a == b; d != a; c < b; e == 5; c > 100; Disimpan di variabel int a, b, c, d, e,; a = 20; b = 31; c = 20; d = 1; e = 5; bool v = a == b; //bernilai FALSE bool w = d != a; //bernilai TRUE bool x = c < b; // bernilai TRUE bool y = e == 5; // bernilai TRUE bool z = c > 100; //bernilai FALSE Cara Pernyataan
  • 12. Contoh Boolean dengan Logic Gates int a, b, c, d, e; a = 20; b = 31; c = 20; d = 1; e = 5; bool v = a == b; //bernilai FALSE bool w = d != a; //bernilai TRUE bool x = c < b; // bernilai TRUE bool y = e == 5; // bernilai TRUE bool z = c > 100; //bernilai FALSE bool iseng = v && w; //bernilai FALSE bool iseng2 = w && y; //bernilai TRUE bool iseng3 = !z; //bernilai TRUE bool iseng4 = (w || z) && !(x && y); //bernilai FALSE
  • 14. if ( kondisi ) { //perintah } ▫ Jika kondisi bernilai true, maka melaksanakan perintah di dalam kurung kurawal
  • 15. Contoh 1 if(kondisi_1) { //perintah 1 } else if(kondisi_2) { //perintah 2 } else if(kondisi_3) { //perintah 3 } else if(kondisi_4) { //perintah 4 } Contoh 2 if(kondisi_1) { //perintah 1 } else if(kondisi_2) { //perintah 2 } else if(kondisi_3) { //perintah 3 } else { //perintah 4 } Struktur if (b)
  • 16. Problem A ▫ Rincian Buatlah program untuk konversi nilai N dari skala 100 menjadi skala huruf dengan kriteria berikut : A : 86 - 100 B : 76 - 85 C : 61 - 75 D : 51 - 60 E : 0 - 50 dan memunculkan tulisan "Nilai invailid!" jika dimasukan input yang lebih besar dari 100
  • 17. ▫ Format Input nilai awal N ▫ Format Output konversi nilai N menjadi skala huruf. Jika input tidak sesuai, tampilkan "Nilai invailid!" ▫ Contoh Input (1) 73 ▫ Contoh Output (1) C ▫ Contoh Input (2) 122 ▫ Contoh Output (2) Nilai invailid!
  • 18. Ide ▫ Input nilai awal N ▫ jika 86≤N≤100, tampilkan "A" ▫ jika 76≤N≤85, tampilkan "B" ▫ jika 61≤N≤75, tampilkan "C" ▫ jika 51≤N≤60, tampilkan "D" ▫ jika N≤50, tampilkan "E" ▫ jika input tidak sesuai, tampilkan "Nilai invailid!"
  • 19. ▫ Di dalam pemrograman, kita tidak dapat melakukan seperti ini : if(76<=nilai<=85) { cout<<"B"<<endl; }
  • 20. ▫ Melainkan harus dipecah dulu 76≤nilai≤85 nilai antara 76 sampai 85 sama dengan : nilai ≥76 ∩ nilai ≤85 nilai lebih besar sama dengan 76 dan nilai lebih kecil sama dengan 85
  • 21. ▫ sehingga menjadi seperti ini : if(nilai>=76 && nilai <=85) { cout<<"B"<<endl; }
  • 22. Kode Kiri int nilai; cin>>nilai; if( nilai >= 90 ) { cout<<"A"; } if( nilai >=70 && nilai < 90 ) { cout<<"B"; } if( nilai < 70) { cout<<"C"; } Kode Kanan int nilai; cin>>nilai; if( nilai >= 90 ) { cout<<"A"; } else if( nilai >=70 && nilai < 90 ) { cout<<"B"; } else( nilai < 70) { cout<<"C"; } Untuk input tidak lebih dari 100, kode ini bernilai sama. Tapi adakah perbedaanya?
  • 23. ▫ Perbedaan nya di keefektifannya ▫ Kode kiri tidak efektif, karena jika kondisi 1 BENAR, program masih mengecek kondisi 2 dan 3 ▫ Kode kanan efektif, karena jika kondisi 1 BENAR, program tidak mengecek kondisi 2 dan 3. melainkan langsung lompat ke perintah selanjutnya ▫ Begitu juga ketika kondisi 2 BENAR. kondisi 1 tetap di cek tapi kondisi 3 tidak dicek.
  • 24. int nilai; cin>>nilai; if( nilai >= 90 ) { cout<<"A"; } if( nilai >=70 && nilai < 90 ) { cout<<"B"; } if( nilai < 70) { cout<<"C"; } int nilai; cin>>nilai; if( nilai >= 90 ) { cout<<"A"; } else if( nilai >=70 && nilai < 90 ) { cout<<"B"; } else( nilai < 70) { cout<<"C"; } Kode Kiri Kode Kanan Untuk input tidak lebih dari 100, kode ini bernilai sama. Tapi adakah perbedaanya? 1 grup if 3 grup if grup 1 grup 3 grup 2
  • 25. Grup If ▫ Satu grup if dimulai oleh if dan ditutup oleh else if atau else ▫ JIka SALAH satu kondisi di grup if tersebut BENAR, maka kondisi lain tidak di cek. Contoh Lain Grup If
  • 26. Kode Kiri Sebenarnya kode tadi bisa ditulis lebih singkat seperti di kanan (Dan lebih baik ditulis seperti ini). Kode yang tadi hanya untuk menunjukan cara pakai logic gates Kode yang ini jika tidak memakai else if (memakai if semua) akan menghasilkan hasil yang tidak diinginkan (misal jika inlainya 91, abc akan tercetak) Kode Kanan int nilai; cin>>nilai; if( nilai >= 90 ) { cout<<"A"; } else if( nilai >=70) { cout<<"B"; } else{ cout<<"C"; } Catatan
  • 28. Review x = x + 1; di c++ bisa disingkat menjadi x++; x = x-1; di c++ bisa disingkat menjadi x--;
  • 29. While ▫ Kondisi berupa tipe data boolean (BENAR atau SALAH) ▫ Selama kondisi bernilai BENAR, maka perintah di dalam kurung kurawal akan dijalankan, dan mengecek kondisi lagi dan seterusnya while( kondisi ) { //perintah yang dijalankan jika kondisi bernilai BENAR }
  • 30. int i = 1; while( i < 4) { cout<<i<<endl; i++; } ▫ While pertama 1 kurang dari 4, BENAR. Maka menjalankan perintah di dalam kurung kurawal. Mencetak angka 1. Menambah nilai i menjadi 2; ▫ While kedua 2 kurang dari 4, BENAR. Maka menjalankan perintah di dalam kurung kurawal. Mencetak angka 2. Menambah nilai i menjadi 3; Contoh 1
  • 31. int i = 1; while( i < 4) { cout<<i<<endl; i++; } ▫ While pertama 3 kurang dari 4, BENAR. Maka menjalankan perintah di dalam kurung kurawal. Mencetak angka 3. Menambah nilai i menjadi 4; ▫ While kedua 4 kurang dari 4, SALAH. Maka perintah di dalam kurung kurawal tidak dikerjakan. ▫ Output : 1 2 3 Contoh 1
  • 32. int i = 10; bool iseng = true; while( iseng ) { cout<<i<<endl; i--; iseng = i >7 } ▫ While pertama kondisi iseng bernilai true. Maka menjalankan perintah di dalam kurung kurawal. Mencetak angka 10. Mengurang nilai i menjadi 9; Mengupdate nilai iseng. 9 lebih besar dari 7, BENAR. maka iseng bernilai true ▫ While kedua kondisi iseng bernilai true. Maka menjalankan perintah di dalam kurung kurawal. Mencetak angka 9. Mengurang nilai i menjadi 8; Mengupdate nilai iseng. 8 lebih besar dari 7, BENAR. maka iseng bernilai true Contoh 2
  • 33. int i = 10; bool iseng = true; while( iseng ) { cout<<i<<endl; i--; iseng = i >7 } ▫ While ketiga kondisi iseng bernilai true. Maka menjalankan perintah di dalam kurung kurawal. Mencetak angka 8. Mengurang nilai i menjadi 7; Mengupdate nilai iseng. 7 lebih besar dari 7, SALAH. maka iseng bernilai false ▫ While keempat kondisi iseng bernilai false. Maka perintah di dalam kurung kurawal tidak dijalankan. ▫ Output : 10 9 8 Contoh 2
  • 35. do { //perintah } while ( kondisi ); ▫ Mengerjakan perintah di dalam kurung kurawal terlebih dahulu. ▫ Lalu mengecek kondisi ▫ Selama Kondisi BENAR, melakukan perintah di dalam kurung kurawal. Dan mengecek kondisi lagi dan seterusnya ▫ Kalau kondisi SALAH, perintah di dalam kurung kurawlal hanya dikerjakan sekali Contoh 2
  • 36. int n; do { cin>>n; } while ( n <= 0 ). ▫ Kasus 1 kita menginput nilai 15. 15 lebih kecil atau sama dengan 0? SALAH. berarti kondisi bernilai false. berarti perintah di dalam kurung kurawal hanya dilakasankan sekali. Contoh 1
  • 37. int n; do { cin>>n; } while ( n <= 0 ). ▫ Kasus 2 kita menginput nilai -5. -5 lebih kecil atau sama dengan 0? BENAR. berarti kondisi bernilai true. berarti perintah di dalam kurung kurawal hanya dilakasankan lagi dan mengecek kondisi lagi dan seterusnya. kita menginput nilai 0 program meminta masukan lagi kita mengimput nilai -1 program meminta masukan lagi kita menginput nilai 4 program tidak meminta masukan lagi. Contoh 1
  • 38. While vs Do While While Do-While Mengecek kondisi dulu Menjalankan perintah di kurung kurawal terlebih dahulu, tidak pedulu kondisi BENAR atau SALAH Jika kondisi BENAR, maka menjalankan perintah di dalam kurawal Lalu mengecek kondisi Mengecek Kondisi lagi Jika kondisi BENAR, maka menjalankan perintah di dalam kurawal Jika kondisi BENAR, maka menjalankan perintah di dalam kurawal Mengecek Kondisi lagi Mengecek Kondisi lagi Jika kondisi BENAR, maka menjalankan perintah di dalam kurawal DAN SETERUSNYA ...
  • 39. For for(/*perintah yang dikerjakan sekali di awal (inisialisasi)*/ ; kondisi ; /*perintah yang dikerjakan setiap setelah mengerjakan semua perintah di kurung kurawal*/ ) { //Perintah di dalam kurung kurawal } For sama dengan while, cuma bentuknya saja yang beda
  • 40. while( kondisi ) { //perintah yang dijalankan jika kondisi bernilai BENAR } for(/*perintah yang dikerjakan sekali di awal (inisialisasi)*/ ; kondisi ; /*perintah yang dikerjakan setiap setelah mengerjakan semua perintah di kurung kurawal*/ ) { //Perintah di dalam kurung kurawal }
  • 41. int i = 1; while( i < 4) { cout<<i<<endl; i++; } for( int i = 1; i < 4; i++ ) { cout<<i<<endl; } Contoh 1 Kedua contoh ini sama dan menghasilkan output yang sama juga (Perhatikan warnanya)
  • 42. int i = 1; while( i < 4) { cout<<i<<endl; i++; } int i = 1 for( ; i < 4; i++ ) { cout<<i<<endl; } Contoh 2 Kedua contoh ini sama dan menghasilkan output yang sama juga
  • 43. int i = 1; while( i < 4) { cout<<i<<endl; i++; } int i = 1 for( ; i < 4; ) { cout<<i<<endl; i++ } Contoh 3 Kedua contoh ini sama dan menghasilkan output yang sama juga
  • 44. int i = 1; while( i < 20) { cout<<i<<endl; i = i + 2; } for(int i = 1 ; i < 20; i = i + 2;) { cout<<i<<endl; } Contoh 4 Kedua contoh ini sama dan menghasilkan output yang sama juga
  • 46. Author, License Herbert Abdillah abdillah.herbert@gmail.com ▫ https://www.linkedin.com/in/herbert abdillah ▫ http://herbertabdillah.my.id/ This license lets others distribute, remix, tweak, and build upon your work, even commercially, as long as they credit you for the original creation. This is the most accommodating of licenses offered. Recommended for maximum dissemination and use of licensed materials.
  • 47. Daftar Pustaka/Referensi Untuk Belajar Sololearn (Play store/appstore) https://play.google.com/store/apps/details ?id=com.sololearn https://apps.apple.com/us/app/sololearn-l earn-to-code/id1210079064 TLX Training Gate https://training.ia-toki.org/