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

DOC
Modul ii operatorlogika
PDF
2. teknik pemilihan dalam_pemrograman
PDF
Kondisional If then Algoritma
PDF
4 fungsi if
PDF
Pemrograman algoritma (IF,else)
PDF
Tugas kelompok
PPT
05 for-dowhile-while
PPTX
Algoritma Pemrograman (Flowchart) - Logika dan Algoritma
Modul ii operatorlogika
2. teknik pemilihan dalam_pemrograman
Kondisional If then Algoritma
4 fungsi if
Pemrograman algoritma (IF,else)
Tugas kelompok
05 for-dowhile-while
Algoritma Pemrograman (Flowchart) - Logika dan Algoritma

What's hot (20)

PDF
Struktur Algoritma
PDF
PDF
C programming language notes (6)
PPT
2. algoritma
PPTX
Pertemuan 4 - Struktur Kondisi IF
DOC
Percabangan - Logika dan Algoritma
PPTX
207 p04
PPTX
Bab 5 diagram alur (flowchart)
PPT
Algoritma 1 pertemuan 5
PDF
PPTX
9. algoritma perulangan pada java
PDF
Review algoritma percabangan dan perulangan - Pertemuan Teori Minggu 2
PDF
5. struktur kontrol alur program lanjutan
PPTX
Topik 7 Pemilihan
PDF
Algoritma dan Pemrograman C++ (Perulangan)
PPTX
6. percabangan 2 kondisi
PPTX
Pertemuan 5 - Struktur Kondisi IF (lanjutan)
PDF
M05a pengambilan keputusan
PPTX
Pertemuan 3 - Konsep Dasar Pemrograman
PPT
Bab Iii Kondisi
Struktur Algoritma
C programming language notes (6)
2. algoritma
Pertemuan 4 - Struktur Kondisi IF
Percabangan - Logika dan Algoritma
207 p04
Bab 5 diagram alur (flowchart)
Algoritma 1 pertemuan 5
9. algoritma perulangan pada java
Review algoritma percabangan dan perulangan - Pertemuan Teori Minggu 2
5. struktur kontrol alur program lanjutan
Topik 7 Pemilihan
Algoritma dan Pemrograman C++ (Perulangan)
6. percabangan 2 kondisi
Pertemuan 5 - Struktur Kondisi IF (lanjutan)
M05a pengambilan keputusan
Pertemuan 3 - Konsep Dasar Pemrograman
Bab Iii Kondisi
Ad

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

PPT
Pengenalan c++ bagian 3
PPT
Pertemuan iv
PDF
PPT
04 if-ifelse-switch-break
PPT
Flowchart
PPTX
Pertemuan 5C.pptx
PPTX
Algoritma pemrograman 7
DOC
Dasar Pemrograman materi kuliah
PDF
Mod 4 pengambilan keputusan
PPTX
Algoritma&Pemrograman C++ Pertemuan 5
PPTX
Operasi Seleksi
PPTX
Algo temu 5 statement pemilihan
PPTX
materi pemrograman untuk smp/mats kelas 8
PDF
Pernyataan bersyarat
PPTX
Pertemuan 5b.pptx
PDF
modul6
PPT
Bahasa Pemrograman - UAS #2
PPT
JENI Slides-Intro1-Bab06-Struktur kontrol
PDF
1. Algoritma, Struktur Data dan Pemrograman Terstruktur
PDF
pemrograman-dasar-cpp_05-percabangan.pdf
Pengenalan c++ bagian 3
Pertemuan iv
04 if-ifelse-switch-break
Flowchart
Pertemuan 5C.pptx
Algoritma pemrograman 7
Dasar Pemrograman materi kuliah
Mod 4 pengambilan keputusan
Algoritma&Pemrograman C++ Pertemuan 5
Operasi Seleksi
Algo temu 5 statement pemilihan
materi pemrograman untuk smp/mats kelas 8
Pernyataan bersyarat
Pertemuan 5b.pptx
modul6
Bahasa Pemrograman - UAS #2
JENI Slides-Intro1-Bab06-Struktur kontrol
1. Algoritma, Struktur Data dan Pemrograman Terstruktur
pemrograman-dasar-cpp_05-percabangan.pdf
Ad

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/