SlideShare a Scribd company logo
1 of 28
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 saja, 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”);
}
STRUKTUR KENDALI PENGULANGAN
 Sebuah / kelompok instruksi diulang untuk jumlah
pengulangan tertentu. Baik yang terdifinisikan
sebelumnya ataupun tidak.
 Struktur pengulangan terdiri atas dua bagian :
1. Kondisi pengulangan yaitu ekspresi boolean yang harus
dipenuhi untuk melaksanakan pengulangan
2. Isi atau badan pengulangan yaitu satu atau lebih
pernyataan (aksi) yang akan diulang.
 Perintah atau notasi dalam struktur pengulangan
adalah :
1. Pernyataan for
2. Pernyataan while
3. Pernyataan do .. while
4. Pernyataan continue dan break
5. Pernyataan go to
STRUKTUR KENDALI PENGULANGAN
 Instruksi for
 Instruksi for digunakan untuk menghasilkan pengulangan(looping)
beberapa kali tanpa penggunaan kondisi apapun. Pada umumnya
looping yang dilakukan oleh for telah diketahui batas awal, syarat
looping dan perubahannya. Selama kondisi terpenuhi, maka
pernyataan akan terus dieksekusi.
Syntax : for ([expr1];[expr2];[expr3]) statement;
Expr1 untuk inisialisasi, berupa satu atau beberapa instruksi yang
dipisahkan koma.
Expr2 berupa ekspresi kondisional untuk menentukan kondisi
pengulangan. Selama menghasilkan nilai true, maka statement
dikerjakan
Expr3 untuk menaikkan atau menurunkan nilai pengendali
STRUKTUR KENDALI PENGULANGAN
for(expr1;expr2;expr3) statement;
expr1
expr2 statement expr3
true
false
Expr1 dikerjakan hanya
sekali (nilai awal)
Expr2 diperiksa, jika
true, kerjakan statement
Expr3 dikerjakan
Expr2 diperiksa, jika
true, kerjakan statement
Expr3 dikerjakan
Proses berulang
sehingga expr2 bernilai
false
Statement for : contoh 1
int main() {
int i;
printf("percobaan 1:n");
for (i = 0; i < 10; i++) printf("%d ", i);
printf("npercobaan 2:n");
for (i = 1; i <= 10; i++) printf("%d ", i);
printf("npercobaan 3:n");
for (i = 0; i < 10; i = i+2) printf("%d ", i);
...
}
int main() {
int i;
printf("percobaan 1:n");
for (i = 0; i < 10; i++) printf("%d ", i);
printf("npercobaan 2:n");
for (i = 1; i <= 10; i++) printf("%d ", i);
printf("npercobaan 3:n");
for (i = 0; i < 10; i = i+2) printf("%d ", i);
...
}
percobaan 1:
0 1 2 3 4 5 6 7 8 9
percobaan 2:
1 2 3 4 5 6 7 8 9 10
percobaan 3:
0 2 4 6 8
percobaan 1:
0 1 2 3 4 5 6 7 8 9
percobaan 2:
1 2 3 4 5 6 7 8 9 10
percobaan 3:
0 2 4 6 8
Statement for : contoh 2
int main() {
...
printf("npercobaan 4:n");
for (i = 9; i >= 0; i--) printf("%d ", i);
printf("npercobaan 5:n");
for (i = 9; i >= 0; i -= 2) printf("%d ", i);
return 0;
}
int main() {
...
printf("npercobaan 4:n");
for (i = 9; i >= 0; i--) printf("%d ", i);
printf("npercobaan 5:n");
for (i = 9; i >= 0; i -= 2) printf("%d ", i);
return 0;
}
percobaan 4:
9 8 7 6 5 4 3 2 1 0
percobaan 5:
9 7 5 3 1
percobaan 4:
9 8 7 6 5 4 3 2 1 0
percobaan 5:
9 7 5 3 1
Statement for : contoh 3
int main() {
int i, batas;
printf("Tabel Perkalian Liman");
printf("sampai dengan ? ");
scanf("%d", &batas);
for (i = 1; i <= batas; i++)
printf("5 * %d = %dn", i, 5 * i);
return 0;
}
int main() {
int i, batas;
printf("Tabel Perkalian Liman");
printf("sampai dengan ? ");
scanf("%d", &batas);
for (i = 1; i <= batas; i++)
printf("5 * %d = %dn", i, 5 * i);
return 0;
}
Tabel Perkalian Lima
sampai dengan ? 3
5 * 1 = 5
5 * 2 = 10
5 * 3 = 15
Tabel Perkalian Lima
sampai dengan ? 3
5 * 1 = 5
5 * 2 = 10
5 * 3 = 15
Statement for : contoh 3
for (i = 1; i <= batas; i++)
printf("5 * %d = %dn", i, 5 * i);
for (i = 1; i <= batas; i++)
printf("5 * %d = %dn", i, 5 * i);
Langkah Instruksi i batas i <= batas Keluaran
1 scanf( ) ? 3
2 i = 1 1 3
3 i <= batas 1 3 true
4 printf("...", i, 5*i) 1 3 5 * 1 = 5
5 i++ 2 3
6 i <= batas 2 3 true
7 printf("...", i, 5*i) 2 3 5 * 2 = 10
8 i++ 3 3
Statement for : contoh 3
Langkah Instruksi i batas i <= batas Keluaran
9 i <= batas 3 3 true
10 printf("...", i, 5*i) 3 3 5 * 3 = 5
11 i++ 4 3
12 i <= batas 4 3 false
for (i = 1; i <= batas; i++)
printf("5 * %d = %dn", i, 5 * i);
for (i = 1; i <= batas; i++)
printf("5 * %d = %dn", i, 5 * i);
Statement for : contoh 4
Tulis program untuk
menampilkan bilangan-
bilangan genap antara
dua bilangan. Kedua
bilangan batas ini ikut
ditampilkan bila
merupakan bilangan
genap.
13 19
13 14 15 16 17 18 19 20
15 10
10 11 12 13 14 15 16
baca bil1, bil2
jika bil1 <= bil2
cacah ← bil1
ulangi selama cacah <= bil2
jika cacah habis dibagi 2
cetak cacah
akhir jika
cacah ← cacah + 1
akhir pengulangan
selain itu
cacah ← bil2
ulangi selama cacah <= bil1
jika cacah habis dibagi 2
cetak cacah
akhir jika
cacah ← cacah + 1
akhir pengulangan
akhir jika
baca bil1, bil2
jika bil1 <= bil2
cacah ← bil1
ulangi selama cacah <= bil2
jika cacah habis dibagi 2
cetak cacah
akhir jika
cacah ← cacah + 1
akhir pengulangan
selain itu
cacah ← bil2
ulangi selama cacah <= bil1
jika cacah habis dibagi 2
cetak cacah
akhir jika
cacah ← cacah + 1
akhir pengulangan
akhir jika
Statement for : contoh 4
int main() {
int bil1, bil2, cacah;
scanf("%d %d", &bil1, &bil2);
if (bil1 <= bil2) {
for (cacah = bil1; cacah <= bil2; cacah++)
if ((cacah % 2) == 0) printf("%d ", cacah);
} else {
for (cacah = bil2; cacah <= bil1; cacah++)
if ((cacah % 2) == 0) printf("%d ", cacah);
}
return 0;
}
int main() {
int bil1, bil2, cacah;
scanf("%d %d", &bil1, &bil2);
if (bil1 <= bil2) {
for (cacah = bil1; cacah <= bil2; cacah++)
if ((cacah % 2) == 0) printf("%d ", cacah);
} else {
for (cacah = bil2; cacah <= bil1; cacah++)
if ((cacah % 2) == 0) printf("%d ", cacah);
}
return 0;
}
13 25
14 16 18 20 22 24
13 25
14 16 18 20 22 24
16 9
10 12 14 16
16 9
10 12 14 16
STRUKTUR KENDALI PENGULANGAN
while (kondisi) statement;
 while biasanya digunakan untuk
perulangan stetment yang
jumlah perulangannya tidak
menentu. Statement yang ada
didalam while bisa diabaikan
sama sekali (tidak dikerjakan)
apabila kondisi awal tersebut
bernilai false.
 Statement akan terus
dikerjakan selama kondisi
masih bernilai true.
kondisi statement
true
false
STRUKTUR KENDALI PENGULANGAN
do statement while (kondisi);
 Sama seperti while, do..
while biasanya digunakan
untuk perulangan stetment
yang jumlah perulangannya
tidak menentu.
Perbedaannya statement
yang ada didalam do .. while
minimal dikerjakan satu kali.
 Statement akan terus
dikerjakan selama kondisi
masih bernilai true.
kondisi
statement
true
false
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;1<=100;i++)
if(i % 2 == 0) continue;
printf(“%3d”,i);
}
Infinite Loop: Pengulangan tanpa akhir
Infinite loop
Pengulangan tanpa akhir
for ( ; ; )
for ( ; 1 ;)
while (1)
do while (1)
Statement while: contoh 1
int main() {
unsigned n;
scanf("%u", &n);
while (n > 3) {
printf("%u ", n);
n--;
}
return 0;
}
int main() {
unsigned n;
scanf("%u", &n);
while (n > 3) {
printf("%u ", n);
n--;
}
return 0;
}
8
8 7 6 5 4
8
8 7 6 5 4
00
Statement while: contoh 2
 Apa hasil dari potongan program dibawah ini
a) While (a < 10) printf(“%d”,a);
b) b = 10;
while (b < 20) { printf(“%d”,b); b += 2; }
c) jawab = ‘’;
while (jawab != ‘Y’ && jawab != ‘T’)
jawab = getchar();
d) while (jawab != ‘Y’ && jawab != ‘T’)
jawab = getchar();
a) While (a < 10) printf(“%d”,a);
b) b = 10;
while (b < 20) { printf(“%d”,b); b += 2; }
c) jawab = ‘’;
while (jawab != ‘Y’ && jawab != ‘T’)
jawab = getchar();
d) while (jawab != ‘Y’ && jawab != ‘T’)
jawab = getchar();
Statement while: contoh 3
Ketik sejumlah bilangan, diakhiri 0
45 37 29 66 83 7 0
Jumlah Nilai = 267
Rerata = 44.5
Ketik sejumlah bilangan, diakhiri 0
45 37 29 66 83 7 0
Jumlah Nilai = 267
Rerata = 44.5
Buatlah program untuk memasukkan bilangan-bilangan.
Kemudian jumlahkan bilangan-bilangan tersebut dan
juga hitung reratanya.
Jika user mengetikkan 0 berarti selesai dan 0
tersebut tidak dimasukkan ke dalam perhitungan.
Gunakan statement while
Buatlah program untuk memasukkan bilangan-bilangan.
Kemudian jumlahkan bilangan-bilangan tersebut dan
juga hitung reratanya.
Jika user mengetikkan 0 berarti selesai dan 0
tersebut tidak dimasukkan ke dalam perhitungan.
Gunakan statement while
Statement while: contoh 3
Statement do while: contoh 1
 Buat program untuk menebak angka yang
dimasukkan user (antara 1-100). Angka yang
ditebak dikeluarkan secara random ( function
random).
 Jika angka terlalu kecil / besar / tepat berikan
pesan ke user.
 Jika user menebak dengan tepat, maka
program selesai.
Statement do while: contoh 1

More Related Content

What's hot

Tugas kelompok
Tugas kelompokTugas kelompok
Tugas kelompokAidil Kun
 
5. struktur kontrol alur program lanjutan
5. struktur kontrol alur program lanjutan5. struktur kontrol alur program lanjutan
5. struktur kontrol alur program lanjutanAnna Fitria
 
2. teknik pemilihan dalam_pemrograman
2. teknik pemilihan dalam_pemrograman2. teknik pemilihan dalam_pemrograman
2. teknik pemilihan dalam_pemrogramanRoziq Bahtiar
 
Pertemuan iv
Pertemuan ivPertemuan iv
Pertemuan ivwindi1
 
Review Operator, Boolean, Selection, Repetition
Review Operator, Boolean, Selection, RepetitionReview Operator, Boolean, Selection, Repetition
Review Operator, Boolean, Selection, RepetitionHerbert Abdillah
 
Pertemuan 4 : Algoritma & Pemrograman
Pertemuan 4 : Algoritma & PemrogramanPertemuan 4 : Algoritma & Pemrograman
Pertemuan 4 : Algoritma & PemrogramanTri Retna
 
Pertemuan 6 - Struktur Perulangan
Pertemuan 6 - Struktur PerulanganPertemuan 6 - Struktur Perulangan
Pertemuan 6 - Struktur PerulanganAchmad Solichin
 
Pemrograman C++ - Pemilihan keputusan
Pemrograman C++ - Pemilihan keputusanPemrograman C++ - Pemilihan keputusan
Pemrograman C++ - Pemilihan keputusanKuliahKita
 
Pertemuan 1 - Pengantar Algoritma
Pertemuan 1 - Pengantar AlgoritmaPertemuan 1 - Pengantar Algoritma
Pertemuan 1 - Pengantar AlgoritmaAchmad Solichin
 
Algoritma&Pemrograman C++ Pertemuan 5
Algoritma&Pemrograman C++ Pertemuan 5Algoritma&Pemrograman C++ Pertemuan 5
Algoritma&Pemrograman C++ Pertemuan 5Menny SN
 
3 strtuktur kondisi dan perulangan
3 strtuktur kondisi dan perulangan3 strtuktur kondisi dan perulangan
3 strtuktur kondisi dan perulanganpandutpoo
 
Algoritma&Pemrograman C++ Pertemuan 1
Algoritma&Pemrograman C++ Pertemuan 1Algoritma&Pemrograman C++ Pertemuan 1
Algoritma&Pemrograman C++ Pertemuan 1Menny SN
 
Pemrograman algoritma (IF,else)
Pemrograman algoritma (IF,else)Pemrograman algoritma (IF,else)
Pemrograman algoritma (IF,else)Mr. FM
 
JENI Slides-Intro1-Bab06-Struktur kontrol
JENI Slides-Intro1-Bab06-Struktur kontrolJENI Slides-Intro1-Bab06-Struktur kontrol
JENI Slides-Intro1-Bab06-Struktur kontrolDimara Hakim
 

What's hot (18)

Tugas kelompok
Tugas kelompokTugas kelompok
Tugas kelompok
 
5. struktur kontrol alur program lanjutan
5. struktur kontrol alur program lanjutan5. struktur kontrol alur program lanjutan
5. struktur kontrol alur program lanjutan
 
2. teknik pemilihan dalam_pemrograman
2. teknik pemilihan dalam_pemrograman2. teknik pemilihan dalam_pemrograman
2. teknik pemilihan dalam_pemrograman
 
Modul ii operatorlogika
Modul ii operatorlogikaModul ii operatorlogika
Modul ii operatorlogika
 
Pertemuan iv
Pertemuan ivPertemuan iv
Pertemuan iv
 
Cc++
Cc++Cc++
Cc++
 
Review Operator, Boolean, Selection, Repetition
Review Operator, Boolean, Selection, RepetitionReview Operator, Boolean, Selection, Repetition
Review Operator, Boolean, Selection, Repetition
 
Pertemuan 4 : Algoritma & Pemrograman
Pertemuan 4 : Algoritma & PemrogramanPertemuan 4 : Algoritma & Pemrograman
Pertemuan 4 : Algoritma & Pemrograman
 
Pertemuan 6 - Struktur Perulangan
Pertemuan 6 - Struktur PerulanganPertemuan 6 - Struktur Perulangan
Pertemuan 6 - Struktur Perulangan
 
Pemrograman C++ - Pemilihan keputusan
Pemrograman C++ - Pemilihan keputusanPemrograman C++ - Pemilihan keputusan
Pemrograman C++ - Pemilihan keputusan
 
Pertemuan 1 - Pengantar Algoritma
Pertemuan 1 - Pengantar AlgoritmaPertemuan 1 - Pengantar Algoritma
Pertemuan 1 - Pengantar Algoritma
 
Algoritma&Pemrograman C++ Pertemuan 5
Algoritma&Pemrograman C++ Pertemuan 5Algoritma&Pemrograman C++ Pertemuan 5
Algoritma&Pemrograman C++ Pertemuan 5
 
Algo
AlgoAlgo
Algo
 
3 strtuktur kondisi dan perulangan
3 strtuktur kondisi dan perulangan3 strtuktur kondisi dan perulangan
3 strtuktur kondisi dan perulangan
 
Algoritma&Pemrograman C++ Pertemuan 1
Algoritma&Pemrograman C++ Pertemuan 1Algoritma&Pemrograman C++ Pertemuan 1
Algoritma&Pemrograman C++ Pertemuan 1
 
Topik 8 Perulangan
Topik 8 PerulanganTopik 8 Perulangan
Topik 8 Perulangan
 
Pemrograman algoritma (IF,else)
Pemrograman algoritma (IF,else)Pemrograman algoritma (IF,else)
Pemrograman algoritma (IF,else)
 
JENI Slides-Intro1-Bab06-Struktur kontrol
JENI Slides-Intro1-Bab06-Struktur kontrolJENI Slides-Intro1-Bab06-Struktur kontrol
JENI Slides-Intro1-Bab06-Struktur kontrol
 

Similar to SELEKSI ALGORITMA

Similar to SELEKSI ALGORITMA (20)

Java (Netbeans) - Looping - Object Oriented Programming
Java (Netbeans) - Looping - Object Oriented ProgrammingJava (Netbeans) - Looping - Object Oriented Programming
Java (Netbeans) - Looping - Object Oriented Programming
 
Mod 4 pengambilan keputusan
Mod 4 pengambilan keputusanMod 4 pengambilan keputusan
Mod 4 pengambilan keputusan
 
04 if-ifelse-switch-break
04 if-ifelse-switch-break04 if-ifelse-switch-break
04 if-ifelse-switch-break
 
Pertemuan 07 - Pemrograman C
Pertemuan 07 - Pemrograman CPertemuan 07 - Pemrograman C
Pertemuan 07 - Pemrograman C
 
06 nested
06 nested06 nested
06 nested
 
Belajar Java dasar
Belajar Java dasarBelajar Java dasar
Belajar Java dasar
 
207 p05
207 p05207 p05
207 p05
 
Pertemuan 5 Perulangan (Looping)
Pertemuan 5 Perulangan (Looping)Pertemuan 5 Perulangan (Looping)
Pertemuan 5 Perulangan (Looping)
 
Pertemuan 5 Perulangan (Looping)
Pertemuan 5 Perulangan (Looping)Pertemuan 5 Perulangan (Looping)
Pertemuan 5 Perulangan (Looping)
 
C programming language notes (6)
C programming language notes (6)C programming language notes (6)
C programming language notes (6)
 
Pt6 pt-loop komplek
Pt6 pt-loop komplekPt6 pt-loop komplek
Pt6 pt-loop komplek
 
ALOGARITMA 4
ALOGARITMA 4ALOGARITMA 4
ALOGARITMA 4
 
Pertemuan 5b.pptx
Pertemuan 5b.pptxPertemuan 5b.pptx
Pertemuan 5b.pptx
 
M05b perulangan
M05b  perulanganM05b  perulangan
M05b perulangan
 
Laporan5
Laporan5Laporan5
Laporan5
 
Tipe data dan array
Tipe data dan arrayTipe data dan array
Tipe data dan array
 
Struktur perulangan dalam c++
Struktur perulangan dalam c++Struktur perulangan dalam c++
Struktur perulangan dalam c++
 
modul algoritma Bab 4
modul algoritma Bab 4modul algoritma Bab 4
modul algoritma Bab 4
 
Tugas algoritma arif
Tugas algoritma arifTugas algoritma arif
Tugas algoritma arif
 
Tugas algoritma arif
Tugas algoritma arifTugas algoritma arif
Tugas algoritma arif
 

More from Evert Sandye Taasiringan

Introductory maths analysis chapter 15 official
Introductory maths analysis   chapter 15 officialIntroductory maths analysis   chapter 15 official
Introductory maths analysis chapter 15 officialEvert Sandye Taasiringan
 
Introductory maths analysis chapter 14 official
Introductory maths analysis   chapter 14 officialIntroductory maths analysis   chapter 14 official
Introductory maths analysis chapter 14 officialEvert Sandye Taasiringan
 
Introductory maths analysis chapter 16 official
Introductory maths analysis   chapter 16 officialIntroductory maths analysis   chapter 16 official
Introductory maths analysis chapter 16 officialEvert Sandye Taasiringan
 
Introductory maths analysis chapter 17 official
Introductory maths analysis   chapter 17 officialIntroductory maths analysis   chapter 17 official
Introductory maths analysis chapter 17 officialEvert Sandye Taasiringan
 
Introductory maths analysis chapter 13 official
Introductory maths analysis   chapter 13 officialIntroductory maths analysis   chapter 13 official
Introductory maths analysis chapter 13 officialEvert Sandye Taasiringan
 
Introductory maths analysis chapter 12 official
Introductory maths analysis   chapter 12 officialIntroductory maths analysis   chapter 12 official
Introductory maths analysis chapter 12 officialEvert Sandye Taasiringan
 
Introductory maths analysis chapter 11 official
Introductory maths analysis   chapter 11 officialIntroductory maths analysis   chapter 11 official
Introductory maths analysis chapter 11 officialEvert Sandye Taasiringan
 
Introductory maths analysis chapter 10 official
Introductory maths analysis   chapter 10 officialIntroductory maths analysis   chapter 10 official
Introductory maths analysis chapter 10 officialEvert Sandye Taasiringan
 
Introductory maths analysis chapter 09 official
Introductory maths analysis   chapter 09 officialIntroductory maths analysis   chapter 09 official
Introductory maths analysis chapter 09 officialEvert Sandye Taasiringan
 
Introductory maths analysis chapter 03 official
Introductory maths analysis   chapter 03 officialIntroductory maths analysis   chapter 03 official
Introductory maths analysis chapter 03 officialEvert Sandye Taasiringan
 
Introductory maths analysis chapter 05 official
Introductory maths analysis   chapter 05 officialIntroductory maths analysis   chapter 05 official
Introductory maths analysis chapter 05 officialEvert Sandye Taasiringan
 
Introductory maths analysis chapter 04 official
Introductory maths analysis   chapter 04 officialIntroductory maths analysis   chapter 04 official
Introductory maths analysis chapter 04 officialEvert Sandye Taasiringan
 

More from Evert Sandye Taasiringan (20)

03 i-o
03 i-o03 i-o
03 i-o
 
07 function 2
07 function 207 function 2
07 function 2
 
02 01-elemen
02 01-elemen02 01-elemen
02 01-elemen
 
02 02-operasi
02 02-operasi02 02-operasi
02 02-operasi
 
01 pseudocode
01 pseudocode01 pseudocode
01 pseudocode
 
01 algoritma
01 algoritma01 algoritma
01 algoritma
 
01 02-pseudocode
01 02-pseudocode01 02-pseudocode
01 02-pseudocode
 
01 01-algoritma
01 01-algoritma01 01-algoritma
01 01-algoritma
 
Introductory maths analysis chapter 15 official
Introductory maths analysis   chapter 15 officialIntroductory maths analysis   chapter 15 official
Introductory maths analysis chapter 15 official
 
Introductory maths analysis chapter 14 official
Introductory maths analysis   chapter 14 officialIntroductory maths analysis   chapter 14 official
Introductory maths analysis chapter 14 official
 
Introductory maths analysis chapter 16 official
Introductory maths analysis   chapter 16 officialIntroductory maths analysis   chapter 16 official
Introductory maths analysis chapter 16 official
 
Introductory maths analysis chapter 17 official
Introductory maths analysis   chapter 17 officialIntroductory maths analysis   chapter 17 official
Introductory maths analysis chapter 17 official
 
Introductory maths analysis chapter 13 official
Introductory maths analysis   chapter 13 officialIntroductory maths analysis   chapter 13 official
Introductory maths analysis chapter 13 official
 
Introductory maths analysis chapter 12 official
Introductory maths analysis   chapter 12 officialIntroductory maths analysis   chapter 12 official
Introductory maths analysis chapter 12 official
 
Introductory maths analysis chapter 11 official
Introductory maths analysis   chapter 11 officialIntroductory maths analysis   chapter 11 official
Introductory maths analysis chapter 11 official
 
Introductory maths analysis chapter 10 official
Introductory maths analysis   chapter 10 officialIntroductory maths analysis   chapter 10 official
Introductory maths analysis chapter 10 official
 
Introductory maths analysis chapter 09 official
Introductory maths analysis   chapter 09 officialIntroductory maths analysis   chapter 09 official
Introductory maths analysis chapter 09 official
 
Introductory maths analysis chapter 03 official
Introductory maths analysis   chapter 03 officialIntroductory maths analysis   chapter 03 official
Introductory maths analysis chapter 03 official
 
Introductory maths analysis chapter 05 official
Introductory maths analysis   chapter 05 officialIntroductory maths analysis   chapter 05 official
Introductory maths analysis chapter 05 official
 
Introductory maths analysis chapter 04 official
Introductory maths analysis   chapter 04 officialIntroductory maths analysis   chapter 04 official
Introductory maths analysis chapter 04 official
 

SELEKSI ALGORITMA

  • 2. 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 saja, 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)  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
  • 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. STRUKTUR KENDALI PENGULANGAN  Sebuah / kelompok instruksi diulang untuk jumlah pengulangan tertentu. Baik yang terdifinisikan sebelumnya ataupun tidak.  Struktur pengulangan terdiri atas dua bagian : 1. Kondisi pengulangan yaitu ekspresi boolean yang harus dipenuhi untuk melaksanakan pengulangan 2. Isi atau badan pengulangan yaitu satu atau lebih pernyataan (aksi) yang akan diulang.  Perintah atau notasi dalam struktur pengulangan adalah : 1. Pernyataan for 2. Pernyataan while 3. Pernyataan do .. while 4. Pernyataan continue dan break 5. Pernyataan go to
  • 9. STRUKTUR KENDALI PENGULANGAN  Instruksi for  Instruksi for digunakan untuk menghasilkan pengulangan(looping) beberapa kali tanpa penggunaan kondisi apapun. Pada umumnya looping yang dilakukan oleh for telah diketahui batas awal, syarat looping dan perubahannya. Selama kondisi terpenuhi, maka pernyataan akan terus dieksekusi. Syntax : for ([expr1];[expr2];[expr3]) statement; Expr1 untuk inisialisasi, berupa satu atau beberapa instruksi yang dipisahkan koma. Expr2 berupa ekspresi kondisional untuk menentukan kondisi pengulangan. Selama menghasilkan nilai true, maka statement dikerjakan Expr3 untuk menaikkan atau menurunkan nilai pengendali
  • 10. STRUKTUR KENDALI PENGULANGAN for(expr1;expr2;expr3) statement; expr1 expr2 statement expr3 true false Expr1 dikerjakan hanya sekali (nilai awal) Expr2 diperiksa, jika true, kerjakan statement Expr3 dikerjakan Expr2 diperiksa, jika true, kerjakan statement Expr3 dikerjakan Proses berulang sehingga expr2 bernilai false
  • 11. Statement for : contoh 1 int main() { int i; printf("percobaan 1:n"); for (i = 0; i < 10; i++) printf("%d ", i); printf("npercobaan 2:n"); for (i = 1; i <= 10; i++) printf("%d ", i); printf("npercobaan 3:n"); for (i = 0; i < 10; i = i+2) printf("%d ", i); ... } int main() { int i; printf("percobaan 1:n"); for (i = 0; i < 10; i++) printf("%d ", i); printf("npercobaan 2:n"); for (i = 1; i <= 10; i++) printf("%d ", i); printf("npercobaan 3:n"); for (i = 0; i < 10; i = i+2) printf("%d ", i); ... } percobaan 1: 0 1 2 3 4 5 6 7 8 9 percobaan 2: 1 2 3 4 5 6 7 8 9 10 percobaan 3: 0 2 4 6 8 percobaan 1: 0 1 2 3 4 5 6 7 8 9 percobaan 2: 1 2 3 4 5 6 7 8 9 10 percobaan 3: 0 2 4 6 8
  • 12. Statement for : contoh 2 int main() { ... printf("npercobaan 4:n"); for (i = 9; i >= 0; i--) printf("%d ", i); printf("npercobaan 5:n"); for (i = 9; i >= 0; i -= 2) printf("%d ", i); return 0; } int main() { ... printf("npercobaan 4:n"); for (i = 9; i >= 0; i--) printf("%d ", i); printf("npercobaan 5:n"); for (i = 9; i >= 0; i -= 2) printf("%d ", i); return 0; } percobaan 4: 9 8 7 6 5 4 3 2 1 0 percobaan 5: 9 7 5 3 1 percobaan 4: 9 8 7 6 5 4 3 2 1 0 percobaan 5: 9 7 5 3 1
  • 13. Statement for : contoh 3 int main() { int i, batas; printf("Tabel Perkalian Liman"); printf("sampai dengan ? "); scanf("%d", &batas); for (i = 1; i <= batas; i++) printf("5 * %d = %dn", i, 5 * i); return 0; } int main() { int i, batas; printf("Tabel Perkalian Liman"); printf("sampai dengan ? "); scanf("%d", &batas); for (i = 1; i <= batas; i++) printf("5 * %d = %dn", i, 5 * i); return 0; } Tabel Perkalian Lima sampai dengan ? 3 5 * 1 = 5 5 * 2 = 10 5 * 3 = 15 Tabel Perkalian Lima sampai dengan ? 3 5 * 1 = 5 5 * 2 = 10 5 * 3 = 15
  • 14. Statement for : contoh 3 for (i = 1; i <= batas; i++) printf("5 * %d = %dn", i, 5 * i); for (i = 1; i <= batas; i++) printf("5 * %d = %dn", i, 5 * i); Langkah Instruksi i batas i <= batas Keluaran 1 scanf( ) ? 3 2 i = 1 1 3 3 i <= batas 1 3 true 4 printf("...", i, 5*i) 1 3 5 * 1 = 5 5 i++ 2 3 6 i <= batas 2 3 true 7 printf("...", i, 5*i) 2 3 5 * 2 = 10 8 i++ 3 3
  • 15. Statement for : contoh 3 Langkah Instruksi i batas i <= batas Keluaran 9 i <= batas 3 3 true 10 printf("...", i, 5*i) 3 3 5 * 3 = 5 11 i++ 4 3 12 i <= batas 4 3 false for (i = 1; i <= batas; i++) printf("5 * %d = %dn", i, 5 * i); for (i = 1; i <= batas; i++) printf("5 * %d = %dn", i, 5 * i);
  • 16. Statement for : contoh 4 Tulis program untuk menampilkan bilangan- bilangan genap antara dua bilangan. Kedua bilangan batas ini ikut ditampilkan bila merupakan bilangan genap. 13 19 13 14 15 16 17 18 19 20 15 10 10 11 12 13 14 15 16 baca bil1, bil2 jika bil1 <= bil2 cacah ← bil1 ulangi selama cacah <= bil2 jika cacah habis dibagi 2 cetak cacah akhir jika cacah ← cacah + 1 akhir pengulangan selain itu cacah ← bil2 ulangi selama cacah <= bil1 jika cacah habis dibagi 2 cetak cacah akhir jika cacah ← cacah + 1 akhir pengulangan akhir jika baca bil1, bil2 jika bil1 <= bil2 cacah ← bil1 ulangi selama cacah <= bil2 jika cacah habis dibagi 2 cetak cacah akhir jika cacah ← cacah + 1 akhir pengulangan selain itu cacah ← bil2 ulangi selama cacah <= bil1 jika cacah habis dibagi 2 cetak cacah akhir jika cacah ← cacah + 1 akhir pengulangan akhir jika
  • 17. Statement for : contoh 4 int main() { int bil1, bil2, cacah; scanf("%d %d", &bil1, &bil2); if (bil1 <= bil2) { for (cacah = bil1; cacah <= bil2; cacah++) if ((cacah % 2) == 0) printf("%d ", cacah); } else { for (cacah = bil2; cacah <= bil1; cacah++) if ((cacah % 2) == 0) printf("%d ", cacah); } return 0; } int main() { int bil1, bil2, cacah; scanf("%d %d", &bil1, &bil2); if (bil1 <= bil2) { for (cacah = bil1; cacah <= bil2; cacah++) if ((cacah % 2) == 0) printf("%d ", cacah); } else { for (cacah = bil2; cacah <= bil1; cacah++) if ((cacah % 2) == 0) printf("%d ", cacah); } return 0; } 13 25 14 16 18 20 22 24 13 25 14 16 18 20 22 24 16 9 10 12 14 16 16 9 10 12 14 16
  • 18. STRUKTUR KENDALI PENGULANGAN while (kondisi) statement;  while biasanya digunakan untuk perulangan stetment yang jumlah perulangannya tidak menentu. Statement yang ada didalam while bisa diabaikan sama sekali (tidak dikerjakan) apabila kondisi awal tersebut bernilai false.  Statement akan terus dikerjakan selama kondisi masih bernilai true. kondisi statement true false
  • 19. STRUKTUR KENDALI PENGULANGAN do statement while (kondisi);  Sama seperti while, do.. while biasanya digunakan untuk perulangan stetment yang jumlah perulangannya tidak menentu. Perbedaannya statement yang ada didalam do .. while minimal dikerjakan satu kali.  Statement akan terus dikerjakan selama kondisi masih bernilai true. kondisi statement true false
  • 20. 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”); }
  • 21. 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;1<=100;i++) if(i % 2 == 0) continue; printf(“%3d”,i); }
  • 22. Infinite Loop: Pengulangan tanpa akhir Infinite loop Pengulangan tanpa akhir for ( ; ; ) for ( ; 1 ;) while (1) do while (1)
  • 23. Statement while: contoh 1 int main() { unsigned n; scanf("%u", &n); while (n > 3) { printf("%u ", n); n--; } return 0; } int main() { unsigned n; scanf("%u", &n); while (n > 3) { printf("%u ", n); n--; } return 0; } 8 8 7 6 5 4 8 8 7 6 5 4 00
  • 24. Statement while: contoh 2  Apa hasil dari potongan program dibawah ini a) While (a < 10) printf(“%d”,a); b) b = 10; while (b < 20) { printf(“%d”,b); b += 2; } c) jawab = ‘’; while (jawab != ‘Y’ && jawab != ‘T’) jawab = getchar(); d) while (jawab != ‘Y’ && jawab != ‘T’) jawab = getchar(); a) While (a < 10) printf(“%d”,a); b) b = 10; while (b < 20) { printf(“%d”,b); b += 2; } c) jawab = ‘’; while (jawab != ‘Y’ && jawab != ‘T’) jawab = getchar(); d) while (jawab != ‘Y’ && jawab != ‘T’) jawab = getchar();
  • 25. Statement while: contoh 3 Ketik sejumlah bilangan, diakhiri 0 45 37 29 66 83 7 0 Jumlah Nilai = 267 Rerata = 44.5 Ketik sejumlah bilangan, diakhiri 0 45 37 29 66 83 7 0 Jumlah Nilai = 267 Rerata = 44.5 Buatlah program untuk memasukkan bilangan-bilangan. Kemudian jumlahkan bilangan-bilangan tersebut dan juga hitung reratanya. Jika user mengetikkan 0 berarti selesai dan 0 tersebut tidak dimasukkan ke dalam perhitungan. Gunakan statement while Buatlah program untuk memasukkan bilangan-bilangan. Kemudian jumlahkan bilangan-bilangan tersebut dan juga hitung reratanya. Jika user mengetikkan 0 berarti selesai dan 0 tersebut tidak dimasukkan ke dalam perhitungan. Gunakan statement while
  • 27. Statement do while: contoh 1  Buat program untuk menebak angka yang dimasukkan user (antara 1-100). Angka yang ditebak dikeluarkan secara random ( function random).  Jika angka terlalu kecil / besar / tepat berikan pesan ke user.  Jika user menebak dengan tepat, maka program selesai.

Editor's Notes

  1. &lt;number&gt;