04 if-ifelse-switch-break
DESCRIPTION
TRANSCRIPT
STRUKTUR KENDALI PROSES
STRUKTUR KENDALI PEMILIHANSuatu 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 = %d\n”,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 algoritma2. jika Grade = ‘D’ atau ‘E’ atau ‘F’ maka Mata Kuliah Algoritma
Harus diulang3. 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