STRUKTUR KENDALI
PROSES
STRUKTUR KENDALI
PEMILIHAN
Suatu Struktur dasar algoritma yang memiliki satu atau
lebih kondisi tertentu dimana sebuah instruksi dilaksanakan
jika sebuah kondisi/persyaratan terpenuhi. Ada beberapa
bentuk struktur dasar pemilihan ini :
Sebuah pernyataan yang dapat dipakai muntuk mengambil
keputusan berdasarkan suatu kondisi. Bentuk pernyataan
ini ada dua macam :
- if dan
- if else
PEMILIHAN (SELECTION)
if (kondisi) pernyataan;
Pernyataan dilaksanakan jika dan
hanya jika kondisi yang diinginkan
terpenuhi, jika tidak program tidak
memberikan hasil apa-apa.
Contoh ptongan program :
If(nilai >= 56)
puts(“Lulus”);
kondisi
pernyataan
truefalse
PEMILIHAN (SELECTION)
if(kondisi) pernyataan1; else pernyataan2;
•Pernyataan1 dilaksanakan jika dan hanya jika
kondisi yang diinginkan terpenuhi, jika tidak,
lakukan pernyataan2.
•Jika Anda tidak mempergunakan
pernyataan else program tidak akan error,
namun jika anda mempergunakan pernyataan
else tanpa didahului pernyataan if, maka
program akan error.
•Jika pernyataan1 atau pernyataan2 hanya
terdiri dari satu baris, maka tanda { } tidak
diperlukan, namun jika lebih maka
diperlukan.
•Selain dari if … else, juga dikenal
bentuk if … else if.
kondisi
pernyataan1
truefalse
pernyataan2
PEMILIHAN (SELECTION)
 Instruksi switch
 Pernyataan swich adalah pernyataan yang digunakan untuk menjalankan
salah satu pernyataan dari beberapa kemungkinan pernyataan,
berdasarkan nilai dari sebuah ungkapan dan nilai penyeleksian.
 Pernyataan if…else jamak dapat dibangun dengan pernyataan switch.
Switch (ekspresi) {
case konstanta1 : pernyataan_1;
[break;]
case konstanta2 : pernyataan_2;
[break;]
…
case konstantan : pernyataan_n;
[break;]
[default] : pernyataan_x
}
Ekspresi dievaluasi, jika hasilnya konstanta1,
maka pernyataan_1 dikerjakan, jika hasilnya
konstanta2, maka pernyataan_2 dikerjakan.
Jika hasilnya bukan merupakan semua
konstanta1.. n, maka pernyataan_x
dikerjakan.
Klausa [default] dan [break] bersifat oprtional
PEMILIHAN (SELECTION)
//contoh : Switch : 1 = senin, 2= selasa dst.
#include <stdio.h>
#include <stdlib.h>
int main() {
int angka;
printf(“input Angka 1 - 7: “);scanf(“%d”,&angka);
switch(angka) {
case 1 : puts(“senin”);break;
case 2 : puts(“selasa”);break;
case 3 : puts(“rabu”);break;
case 4 : puts(“kamis”);break;
case 5 : puts(“jumat”);break;
case 6 : puts(“sabtu”);break;
case 7 : puts(“minggu”); // PERLU BREAK ATAU TIDAK?
}
system(“PAUSE”);
}
PEMILIHAN (SELECTION)
//contoh : Switch
#include <stdio.h>
#include <stdlib.h>
int main() {
int nilai;
printf(“input nilai : “);scanf(“%d”,&nilai);
switch(nilai/10) {
case 10 :
case 9 :
case 8 : puts(“hebat”);break;
case 7 :
case 6 : puts(“cukup”);break;
case 5 : puts(“buruk”);break;
default: puts(“Anda harus mengulang !”);
}
system(“PAUSE”);
}
break dan continue
 break digunakan untuk menghentikan sebuah loop, walaupun
sebenarnya kondisi dalam loop tersebut masih mungkin bernilai
true.
 Selain untuk statement looping juga bisa digunakan untuk switch
Contoh :
#include <stdio.h>
#include <stdlib.h>
int main() {
int a;
for(a=1;a < 5;a ++) {
printf(“a = %dn”,a);
if(a==3) break;
}
system(“PAUSE”);
}
break dan continue
 continue digunakan untuk melanjutkan loop ke nilai
counter berikutnya dengan mengabaikan semua
statement yang ada setelah statement continue tersebut
Contoh :
#include <stdio.h>
#include <stdlib.h>
int main() {
int i;
for(i=0;i<=100;i++)
if(i % 2 == 0) continue;
printf(“%3d”,i);
}
Latihan
IF (1)
 Masukkan Nilai Akhir
 Contoh: Nilai Akhir ? 90
 Cari Grade berdasarkan aturan sbb:
 Jika Nilai Akhir lebih besar dari 79.99 dan lebih kecil sama
dengan 100 maka Grade A
 Jika Nilai Akhir lebih besar dari 67.99 dan lebih kecil sama
dengan 79.99 maka Grade B
 Jika Nilai Akhir lebih besar dari 55.99 dan lebih kecil sama
dengan 67.99 maka Grade C
 Jika Nilai Akhir lebih besar dari 49.99 dan lebih kecil sama
dengan 55.99 maka Grade D
 Jika Nilai Akhir lebih besar sama dengan 0 dan lebih kecil sama
dengan 44.99 maka Grade E
 Cetak Grade:
 Contoh: Grade = A
IF (2)
GUNAKAN STATEMEN IF SAJA
 Input : Nilai Grade Algoritma ? (isinya adalah 1 huruf ‘A’ – ‘E’);
 Proses:
 jika Grade = ‘A’ atau ‘B’ atau ‘C’ maka dinyatakan Lulus Mata
kuliah algoritma
 jika Grade = ‘D’ atau ‘E’ atau ‘F’ maka Mata Kuliah Algoritma
Harus diulang
 Selain itu berikan warning “ Salah isi Grade “ (Misalkan user
menginput grade ‘R’.
 Output : “Lulus Mata Kuliah Algoritma” ATAU “Mata Kuliah
Algoritma harus diulang” atau “SALAH ISI GRADE”
IF (3)
Tulis program untuk menampilkan bilangan bulat
terbesar di antara ketiga bilangan bulat yang berbeda.
GUNAKAN IF
•Input: 3 buah bilangan
Misalkan Input 3 bilangan: 15 90 20
• Proses: Cari Bilangan terbesar diantara 3 bilangan
yang diinput
•Output: Bilangan Terbesar : (misalkan 90)
IF ELSE (1)
 Input: IPK ? (Contoh 1.75)
SKS? (contoh 20)
 Proses: Seorang mahasiswa kemungkinan
akan jadi calon sarjana jika Jika IPK lebih
besar dari 2.00 dan SKS yang sudah
ditempuh MINIMAL 60 SKS.
Selain itu mahasiswa tersebut Calon Drop
Out.
 Output: Calon Sarjana atau Calon Drop Out.
IF ELSE (2)
GUNAKAN STATEMEN IF-ELSE (untuk kondisi ke 2 dan 3)
 Input : Nilai Grade Algoritma ? (isinya adalah 1 huruf ‘A’ – ‘E’);
 Proses:
1. jika Grade = ‘A’ atau ‘B’ atau ‘C’ maka dinyatakan Lulus Mata
kuliah algoritma
2. jika Grade = ‘D’ atau ‘E’ atau ‘F’ maka Mata Kuliah Algoritma
Harus diulang
3. Selain itu berikan warning “ Salah isi Grade “ (Misalkan user
menginput grade ‘R’.
 Output : “Lulus Mata Kuliah Algoritma” ATAU “Mata Kuliah
Algoritma harus diulang” atau “SALAH ISI GRADE”
IF ELSE (4)
Tulis program untuk menampilkan bilangan bulat
terbesar di antara ketiga bilangan bulat yang berbeda.
GUNAKAN IF ELSE
•Input: 3 buah bilangan
Misalkan Input 3 bilangan: 15 90 20
• Proses: Cari Bilangan terbesar diantara 3 bilangan
yang diinput
•Output: Bilangan Terbesar : (misalkan 90)
IF ELSE (5)
Terdapat tiga bilangan bulat (a, b, c dengan a <= b dan b
<= c) yang menyatakan panjang tiga ruas garis. Tulis
program untuk menguji apakah ketiga ruas garis ini dapat
membentuk sebuah segitiga.
a b
c
??
RUMUS ?
Switch – Break – Continue (1)
 Input : Kode Pos (5 digit) , Contoh 15180
 Proses: jika 2 digit pertama dari Kode Pos adalah:
 10 maka wilayah tersebut : Jakarta Pusat
 11 maka wilayah tersebut : Jakarta Barat
 12 maka wilayah tersebut : Jakarta Selatan
 13 maka wilayah tersebut : Jakarta Timur
 14 maka wilayah tersebut : Jakarta Utara
 15 maka wilayah tersebut : Tangerang
 16 maka wilayah tersebut : Bogor
 17 maka wilayah tersebut : Bekasi
 Selain itu wilayah tersebut : diluar Jabotake;
 Output : Contoh : Wilayah = Tangerang.
Switch – Break – Continue (2)
 Input : Nilai Grade Algoritma ? (isinya adalah 1 huruf ‘A’ – ‘E’);
 Proses:
 jika Grade = ‘A’ atau ‘B’ atau ‘C’ maka dinyatakan Lulus Mata
kuliah algoritma
 jika Grade = ‘D’ atau ‘E’ atau ‘F’ maka Mata Kuliah Algoritma
Harus diulang
 Selain itu berikan warning “ Salah isi Grade “ (Misalkan user
menginput grade ‘R’.
 Output : “Lulus Mata Kuliah Algoritma” ATAU “Mata Kuliah
Algoritma harus diulang” atau “SALAH ISI GRADE”
Switch – Nested (3)
 Program Menghitung Uang Sekolah
 Input:
 A) Program: 1 Jika kelas Internasional, 2 Jika Kelas Nasional
 B) Kelas: 1. Preschool, 2. Kindergarten
Program / Kelas Preschool Kindergarten
1 Rp. 500.000 Rp. 750.000
2 Rp. 600.000 Rp. 850.000
Output : Uang Sekolah : Rp. 999.999

04 if-ifelse-switch-break

  • 1.
  • 2.
    STRUKTUR KENDALI PEMILIHAN Suatu Strukturdasar algoritma yang memiliki satu atau lebih kondisi tertentu dimana sebuah instruksi dilaksanakan jika sebuah kondisi/persyaratan terpenuhi. Ada beberapa bentuk struktur dasar pemilihan ini : Sebuah pernyataan yang dapat dipakai muntuk mengambil keputusan berdasarkan suatu kondisi. Bentuk pernyataan ini ada dua macam : - if dan - if else
  • 3.
    PEMILIHAN (SELECTION) if (kondisi)pernyataan; Pernyataan dilaksanakan jika dan hanya jika kondisi yang diinginkan terpenuhi, jika tidak program tidak memberikan hasil apa-apa. Contoh ptongan program : If(nilai >= 56) puts(“Lulus”); kondisi pernyataan truefalse
  • 4.
    PEMILIHAN (SELECTION) if(kondisi) pernyataan1;else pernyataan2; •Pernyataan1 dilaksanakan jika dan hanya jika kondisi yang diinginkan terpenuhi, jika tidak, lakukan pernyataan2. •Jika Anda tidak mempergunakan pernyataan else program tidak akan error, namun jika anda mempergunakan pernyataan else tanpa didahului pernyataan if, maka program akan error. •Jika pernyataan1 atau pernyataan2 hanya terdiri dari satu baris, maka tanda { } tidak diperlukan, namun jika lebih maka diperlukan. •Selain dari if … else, juga dikenal bentuk if … else if. kondisi pernyataan1 truefalse pernyataan2
  • 5.
    PEMILIHAN (SELECTION)  Instruksiswitch  Pernyataan swich adalah pernyataan yang digunakan untuk menjalankan salah satu pernyataan dari beberapa kemungkinan pernyataan, berdasarkan nilai dari sebuah ungkapan dan nilai penyeleksian.  Pernyataan if…else jamak dapat dibangun dengan pernyataan switch. Switch (ekspresi) { case konstanta1 : pernyataan_1; [break;] case konstanta2 : pernyataan_2; [break;] … case konstantan : pernyataan_n; [break;] [default] : pernyataan_x } Ekspresi dievaluasi, jika hasilnya konstanta1, maka pernyataan_1 dikerjakan, jika hasilnya konstanta2, maka pernyataan_2 dikerjakan. Jika hasilnya bukan merupakan semua konstanta1.. n, maka pernyataan_x dikerjakan. Klausa [default] dan [break] bersifat oprtional
  • 6.
    PEMILIHAN (SELECTION) //contoh :Switch : 1 = senin, 2= selasa dst. #include <stdio.h> #include <stdlib.h> int main() { int angka; printf(“input Angka 1 - 7: “);scanf(“%d”,&angka); switch(angka) { case 1 : puts(“senin”);break; case 2 : puts(“selasa”);break; case 3 : puts(“rabu”);break; case 4 : puts(“kamis”);break; case 5 : puts(“jumat”);break; case 6 : puts(“sabtu”);break; case 7 : puts(“minggu”); // PERLU BREAK ATAU TIDAK? } system(“PAUSE”); }
  • 7.
    PEMILIHAN (SELECTION) //contoh :Switch #include <stdio.h> #include <stdlib.h> int main() { int nilai; printf(“input nilai : “);scanf(“%d”,&nilai); switch(nilai/10) { case 10 : case 9 : case 8 : puts(“hebat”);break; case 7 : case 6 : puts(“cukup”);break; case 5 : puts(“buruk”);break; default: puts(“Anda harus mengulang !”); } system(“PAUSE”); }
  • 8.
    break dan continue break digunakan untuk menghentikan sebuah loop, walaupun sebenarnya kondisi dalam loop tersebut masih mungkin bernilai true.  Selain untuk statement looping juga bisa digunakan untuk switch Contoh : #include <stdio.h> #include <stdlib.h> int main() { int a; for(a=1;a < 5;a ++) { printf(“a = %dn”,a); if(a==3) break; } system(“PAUSE”); }
  • 9.
    break dan continue continue digunakan untuk melanjutkan loop ke nilai counter berikutnya dengan mengabaikan semua statement yang ada setelah statement continue tersebut Contoh : #include <stdio.h> #include <stdlib.h> int main() { int i; for(i=0;i<=100;i++) if(i % 2 == 0) continue; printf(“%3d”,i); }
  • 10.
  • 11.
    IF (1)  MasukkanNilai Akhir  Contoh: Nilai Akhir ? 90  Cari Grade berdasarkan aturan sbb:  Jika Nilai Akhir lebih besar dari 79.99 dan lebih kecil sama dengan 100 maka Grade A  Jika Nilai Akhir lebih besar dari 67.99 dan lebih kecil sama dengan 79.99 maka Grade B  Jika Nilai Akhir lebih besar dari 55.99 dan lebih kecil sama dengan 67.99 maka Grade C  Jika Nilai Akhir lebih besar dari 49.99 dan lebih kecil sama dengan 55.99 maka Grade D  Jika Nilai Akhir lebih besar sama dengan 0 dan lebih kecil sama dengan 44.99 maka Grade E  Cetak Grade:  Contoh: Grade = A
  • 12.
    IF (2) GUNAKAN STATEMENIF SAJA  Input : Nilai Grade Algoritma ? (isinya adalah 1 huruf ‘A’ – ‘E’);  Proses:  jika Grade = ‘A’ atau ‘B’ atau ‘C’ maka dinyatakan Lulus Mata kuliah algoritma  jika Grade = ‘D’ atau ‘E’ atau ‘F’ maka Mata Kuliah Algoritma Harus diulang  Selain itu berikan warning “ Salah isi Grade “ (Misalkan user menginput grade ‘R’.  Output : “Lulus Mata Kuliah Algoritma” ATAU “Mata Kuliah Algoritma harus diulang” atau “SALAH ISI GRADE”
  • 13.
    IF (3) Tulis programuntuk menampilkan bilangan bulat terbesar di antara ketiga bilangan bulat yang berbeda. GUNAKAN IF •Input: 3 buah bilangan Misalkan Input 3 bilangan: 15 90 20 • Proses: Cari Bilangan terbesar diantara 3 bilangan yang diinput •Output: Bilangan Terbesar : (misalkan 90)
  • 14.
    IF ELSE (1) Input: IPK ? (Contoh 1.75) SKS? (contoh 20)  Proses: Seorang mahasiswa kemungkinan akan jadi calon sarjana jika Jika IPK lebih besar dari 2.00 dan SKS yang sudah ditempuh MINIMAL 60 SKS. Selain itu mahasiswa tersebut Calon Drop Out.  Output: Calon Sarjana atau Calon Drop Out.
  • 15.
    IF ELSE (2) GUNAKANSTATEMEN IF-ELSE (untuk kondisi ke 2 dan 3)  Input : Nilai Grade Algoritma ? (isinya adalah 1 huruf ‘A’ – ‘E’);  Proses: 1. jika Grade = ‘A’ atau ‘B’ atau ‘C’ maka dinyatakan Lulus Mata kuliah algoritma 2. jika Grade = ‘D’ atau ‘E’ atau ‘F’ maka Mata Kuliah Algoritma Harus diulang 3. Selain itu berikan warning “ Salah isi Grade “ (Misalkan user menginput grade ‘R’.  Output : “Lulus Mata Kuliah Algoritma” ATAU “Mata Kuliah Algoritma harus diulang” atau “SALAH ISI GRADE”
  • 16.
    IF ELSE (4) Tulisprogram untuk menampilkan bilangan bulat terbesar di antara ketiga bilangan bulat yang berbeda. GUNAKAN IF ELSE •Input: 3 buah bilangan Misalkan Input 3 bilangan: 15 90 20 • Proses: Cari Bilangan terbesar diantara 3 bilangan yang diinput •Output: Bilangan Terbesar : (misalkan 90)
  • 17.
    IF ELSE (5) Terdapattiga bilangan bulat (a, b, c dengan a <= b dan b <= c) yang menyatakan panjang tiga ruas garis. Tulis program untuk menguji apakah ketiga ruas garis ini dapat membentuk sebuah segitiga. a b c ?? RUMUS ?
  • 18.
    Switch – Break– Continue (1)  Input : Kode Pos (5 digit) , Contoh 15180  Proses: jika 2 digit pertama dari Kode Pos adalah:  10 maka wilayah tersebut : Jakarta Pusat  11 maka wilayah tersebut : Jakarta Barat  12 maka wilayah tersebut : Jakarta Selatan  13 maka wilayah tersebut : Jakarta Timur  14 maka wilayah tersebut : Jakarta Utara  15 maka wilayah tersebut : Tangerang  16 maka wilayah tersebut : Bogor  17 maka wilayah tersebut : Bekasi  Selain itu wilayah tersebut : diluar Jabotake;  Output : Contoh : Wilayah = Tangerang.
  • 19.
    Switch – Break– Continue (2)  Input : Nilai Grade Algoritma ? (isinya adalah 1 huruf ‘A’ – ‘E’);  Proses:  jika Grade = ‘A’ atau ‘B’ atau ‘C’ maka dinyatakan Lulus Mata kuliah algoritma  jika Grade = ‘D’ atau ‘E’ atau ‘F’ maka Mata Kuliah Algoritma Harus diulang  Selain itu berikan warning “ Salah isi Grade “ (Misalkan user menginput grade ‘R’.  Output : “Lulus Mata Kuliah Algoritma” ATAU “Mata Kuliah Algoritma harus diulang” atau “SALAH ISI GRADE”
  • 20.
    Switch – Nested(3)  Program Menghitung Uang Sekolah  Input:  A) Program: 1 Jika kelas Internasional, 2 Jika Kelas Nasional  B) Kelas: 1. Preschool, 2. Kindergarten Program / Kelas Preschool Kindergarten 1 Rp. 500.000 Rp. 750.000 2 Rp. 600.000 Rp. 850.000 Output : Uang Sekolah : Rp. 999.999