SlideShare a Scribd company logo
1 of 33
NO
ContohContoh
• RequirementRequirement
• Buat sebuah algoritma untuk memilih bilanganBuat sebuah algoritma untuk memilih bilangan
terbesar dari 3 buah bilanganterbesar dari 3 buah bilangan
• Nantinya ini bisa digeneralisir menjadiNantinya ini bisa digeneralisir menjadi nn buahbuah
bilanganbilangan
Add
Algoritma Dalam Bahasa NaturalAlgoritma Dalam Bahasa Natural
1.1. Ambil bilangan pertama dan setAmbil bilangan pertama dan set maksmaks samasama
dengan bilangan pertamadengan bilangan pertama
2.2. Ambil bilangan kedua dan bandingkan denganAmbil bilangan kedua dan bandingkan dengan
maksmaks
3.3. Apa bila bilangan kedua lebih besar dariApa bila bilangan kedua lebih besar dari maksmaks,,
setset maksmaks sama dengan bilangan keduasama dengan bilangan kedua
4.4. Ambil blangan ketiga dan bandingan denganAmbil blangan ketiga dan bandingan dengan
maksmaks
5.5. Apabila bilangan ketiga lebih besar dariApabila bilangan ketiga lebih besar dari maksmaks,,
setset maksmaks sama dengan bilangan ketigasama dengan bilangan ketiga
6.6. VariabelVariabel maksmaks berisi bilangan terbesar.berisi bilangan terbesar.
Tayangkan hasilnyaTayangkan hasilnya
Add
Algoritma dengan FlowchartAlgoritma dengan Flowchart
Add
Algoritma denganAlgoritma dengan pseudo-codepseudo-code
maksmaks ← bilangan pertama← bilangan pertama
if (if (maksmaks < bilangan kedua)< bilangan kedua)
maksmaks ← bilangan kedua← bilangan kedua
if (if (maksmaks < bilangan ketiga)< bilangan ketiga)
maksmaks ← bilangan ketiga← bilangan ketiga
Add
Aspek Penting dari AlgoritmaAspek Penting dari Algoritma
1.1. FinitenessFiniteness
• Algoritma harus berhentiAlgoritma harus berhenti after a finite number of stepsafter a finite number of steps
1.1. DefinitenessDefiniteness
• Setiap langkah harus didefinisikan secara tepat, tidak bolehSetiap langkah harus didefinisikan secara tepat, tidak boleh
membingungkan (ambiguous)membingungkan (ambiguous)
1.1. InputInput
• Sebuah algoritma memiliki nol atau lebih input yang diberikanSebuah algoritma memiliki nol atau lebih input yang diberikan
kepada algoritma sebelum dijalankankepada algoritma sebelum dijalankan
1.1. OutputOutput
• Sebuah algoritma memiliki satu atau lebih output, yang biasanyaSebuah algoritma memiliki satu atau lebih output, yang biasanya
bergantung kepada inputbergantung kepada input
1.1. EffectivenessEffectiveness
• Setiap algoritma diharapkan miliki sifat efektifSetiap algoritma diharapkan miliki sifat efektif
Add
TugasTugas
• Buat algoritma untukBuat algoritma untuk
• Mengurutkan bilangan (Mengurutkan bilangan (sortingsorting) untuk) untuk nn buahbuah
data (misalnya data nilai mahasiswa)data (misalnya data nilai mahasiswa)
• Tower of hanoiTower of hanoi
• ……
Add
Algoritma danAlgoritma dan PseudocodePseudocode
• Algoritma: urutan langkah-langkah yang dapatAlgoritma: urutan langkah-langkah yang dapat
digunakan untuk memecahkan suatu masalahdigunakan untuk memecahkan suatu masalah
• PseudocodePseudocode::
• Bahasa buatan yang bersifat informal yang dapatBahasa buatan yang bersifat informal yang dapat
membantu untuk mengembangkan algoritmamembantu untuk mengembangkan algoritma
• Serupa dengan bahasa sehari-hariSerupa dengan bahasa sehari-hari
• Membantu mempermudah penulisan program; denganMembantu mempermudah penulisan program; dengan
menggunakanmenggunakan statement-statementstatement-statement yang dapatyang dapat
dieksekusi, mempermudah konversi ke bahasadieksekusi, mempermudah konversi ke bahasa
pemrogramanpemrograman
Struktur KontrolStruktur Kontrol
• Semua program ditulis dalam 3 macam bentuk struktur kontrol:Semua program ditulis dalam 3 macam bentuk struktur kontrol:
• SequenceSequence atau berturutan: struktur ini tersedia secaraatau berturutan: struktur ini tersedia secara built-inbuilt-in. Secara. Secara
defaultdefault program dieksekusi secara berturutan sesuai urutan perintahprogram dieksekusi secara berturutan sesuai urutan perintah
• SelectionSelection atau pilihan: ada 3 macam dalam bahasa C:atau pilihan: ada 3 macam dalam bahasa C: ifif,, if…elseif…else, dan, dan
switchswitch
• RepetitionRepetition atau pengulangan: ada 3 macam dalam bahasa C:atau pengulangan: ada 3 macam dalam bahasa C: whilewhile,, do…do…
whilewhile, dan, dan forfor
• FlowchartFlowchart
• Representasi grafis dari algoritmaRepresentasi grafis dari algoritma
• Menggunakan simbol-simbol khusus yang dihubungkan dengan garisMenggunakan simbol-simbol khusus yang dihubungkan dengan garis
beranak panahberanak panah
• SimbolSimbol kotakkotak melambangkanmelambangkan aksiaksi
• SimbolSimbol ovaloval melambangkanmelambangkan awalawal dandan akhirakhir suatu program atau bloksuatu program atau blok
programprogram
• SimbolSimbol berlianberlian melambangkan keputusan/pilihanmelambangkan keputusan/pilihan
Selection ControlSelection Control [1] ([1] (ifif))
• StatementStatement ifif::
• Digunakan untuk seleksi suatu kondisiDigunakan untuk seleksi suatu kondisi
• ContohContoh pseudocodepseudocode::
If student’s grade is greater than or equal to 60If student’s grade is greater than or equal to 60
Print “Passed”Print “Passed”
• ContohContoh FlowchartFlowchart::
true
false
grade >= 60 print “Passed”
Selection ControlSelection Control [2] ([2] (ifif))
• Jika kondisiJika kondisi truetrue
• StatementStatement PrintPrint dieksekusi dan program dilanjutkan kedieksekusi dan program dilanjutkan ke statementstatement
berikutnyaberikutnya
• Jika kondisiJika kondisi falsefalse
• StatementStatement PrintPrint diabaikan dan program dilanjutkan kediabaikan dan program dilanjutkan ke statementstatement berikutnyaberikutnya
• DalamDalam bahasa C:bahasa C:
if ( grade >= 60 )if ( grade >= 60 )
printf( "Passedn" );printf( "Passedn" );
Selection ControlSelection Control [3] ([3] (if…elseif…else))
• StatementStatement if…elseif…else::
• Menspesifikasikan aksi baik untuk kondisiMenspesifikasikan aksi baik untuk kondisi truetrue maupun untuk kondisimaupun untuk kondisi
falsefalse
• ContohContoh pseudocodepseudocode::
If student’s grade is greater than or equal to 60If student’s grade is greater than or equal to 60
Print “Passed”Print “Passed”
elseelse
Print “Failed”Print “Failed”
• ContohContoh FlowchartFlowchart:: truefalse
print “Failed” print “Passed”
grade >= 60
Selection ControlSelection Control [4] ([4] (if…elseif…else))
• Dalam C :Dalam C :
if ( grade >= 60 )if ( grade >= 60 )
printf( "Passedn");printf( "Passedn");
elseelse
printf( "Failedn");printf( "Failedn");
• Ternary conditional operatorTernary conditional operator ((?:?:))
• Memerlukan tiga argumen (kondisi, nilai jikaMemerlukan tiga argumen (kondisi, nilai jika truetrue, nilai jika, nilai jika falsefalse))
• Contoh di atas dapat ditulis sbb:Contoh di atas dapat ditulis sbb:
printf( "%sn", grade >= 60 ? "Passed" : "Failed" );printf( "%sn", grade >= 60 ? "Passed" : "Failed" );
• Atau dapat ditulis sbb:Atau dapat ditulis sbb:
grade >= 60 ? printf( “Passedn” ) :grade >= 60 ? printf( “Passedn” ) :
printf( “Failedn” );printf( “Failedn” );
Selection ControlSelection Control [5] ([5] (if…elseif…else))
• StatementStatement if…elseif…else bertingkat/bersarang:bertingkat/bersarang:
• Digunakan untuk menguji banyak kondisi dimana menempatkanDigunakan untuk menguji banyak kondisi dimana menempatkan statementstatement
seleksiseleksi ifif……elseelse di dalamdi dalam statementstatement ifif……elseelse
• Sekali kondisi terpenuhi, sisaSekali kondisi terpenuhi, sisa statementstatement lainnya dilewatkan/diabaikanlainnya dilewatkan/diabaikan
• ContohContoh pseudocodepseudocode::
IIf student’s grade is greater than or equal to 90f student’s grade is greater than or equal to 90
Print “A”Print “A”
elseelse
If student’s grade is greater than or equal to 80If student’s grade is greater than or equal to 80
Print “B”Print “B”
elseelse
If student’s grade is greater than or equal to 70If student’s grade is greater than or equal to 70
Print “C”Print “C”
elseelse
If student’s grade is greater than or equal to 60If student’s grade is greater than or equal to 60
Print “D”Print “D”
elseelse
Print “F”Print “F”
Selection ControlSelection Control [6] ([6] (if…elseif…else))
• Compound statementCompound statement
• Ada lebih dari satuAda lebih dari satu statementstatement/aksi yang harus dieksekusi setelah suatu kondisi/aksi yang harus dieksekusi setelah suatu kondisi
dipenuhidipenuhi
• Sering disebut jugaSering disebut juga blokblok karena ditandai dengan pasangankarena ditandai dengan pasangan {{ dandan }}
• Contoh:Contoh:
if ( grade >= 60 )if ( grade >= 60 )
printf( "Passed.n" );printf( "Passed.n" );
else {else {
printf( "Failed.n" );printf( "Failed.n" );
printf( "You must take this courseprintf( "You must take this course
again.n" );again.n" );
}}
• Tanpa tanda kurung kurawal,Tanpa tanda kurung kurawal, statementstatement
printf( "You must take this courseprintf( "You must take this course
again.n" );again.n" );
Akan dieksekusi secara otomatis.Akan dieksekusi secara otomatis.
Selection ControlSelection Control [7] ([7] (switchswitch))
• Multiple-Selection StatementMultiple-Selection Statement switch:switch:
• Berguna pada waktu sebuah variabel atau ekspresi diuji terhadap semuaBerguna pada waktu sebuah variabel atau ekspresi diuji terhadap semua
nilai yang mungkin dan masing-masing mengambil aksi yang berbedanilai yang mungkin dan masing-masing mengambil aksi yang berbeda
• Format penulisan:Format penulisan:
• Sederetan labelSederetan label casecase dan opsionaldan opsional defaultdefault casecase
switchswitch ( value ){( value ){
casecase '1':'1':
actionsactions
casecase '2':'2':
actionsactions
defaultdefault::
actionsactions
}}
• breakbreak;; keluar darikeluar dari statementstatement
Selection ControlSelection Control [8] ([8] (switchswitch))
• Flowchart statementFlowchart statement switchswitch::
true
false
.
.
.
case a case a action(s) break
case b case b action(s) break
false
false
case z case z action(s) break
true
true
default action(s)
Repetition ControlRepetition Control [1] ([1] (whilewhile))
• Struktur pengulangan structureStruktur pengulangan structure
• Programmer menentukan aksi yang akan diulang selama kondisi tetapProgrammer menentukan aksi yang akan diulang selama kondisi tetap
truetrue
• PsuedocodePsuedocode::
While there are more items on my shopping listWhile there are more items on my shopping list
Purchase next item and cross it off my listPurchase next item and cross it off my list
• whilewhile loop diulang hingga kondisi menjadiloop diulang hingga kondisi menjadi falsefalse
• Contoh:Contoh:
int product = 2;int product = 2;
while ( product <= 1000 )while ( product <= 1000 )
product = 2 * product;product = 2 * product;
Repetition ControlRepetition Control [2] ([2] (whilewhile))
product <= 1000 product = 2 * product
true
false
• Flowchart:
Repetition ControlRepetition Control [3] ([3] (whilewhile))
• Pengulangan yang dikontrol sebuahPengulangan yang dikontrol sebuah countercounter
• LoopLoop diulang hinggadiulang hingga countercounter mencapai angka tertentumencapai angka tertentu
• Disebut jugaDisebut juga definite repetitiondefinite repetition karena jumlah pengulangan dapat kitakarena jumlah pengulangan dapat kita
ketahuiketahui
• Contoh: Sebuah kelas dengan 10 orang mahasiswa mengikuti kuis. NilaiContoh: Sebuah kelas dengan 10 orang mahasiswa mengikuti kuis. Nilai
kuis adalah bilangan bulat dari 0 hingga 100. Tentukan nilai rata-rata kuiskuis adalah bilangan bulat dari 0 hingga 100. Tentukan nilai rata-rata kuis
tersebut.tersebut.
• Pseudocode:Pseudocode:
Set total to zeroSet total to zero
Set grade counter to oneSet grade counter to one
While grade counter is less than or equal to tenWhile grade counter is less than or equal to ten
Input the next gradeInput the next grade
Add the grade into the totalAdd the grade into the total
Add one to the grade counterAdd one to the grade counter
Set the class average to the total divided by tenSet the class average to the total divided by ten
Print the class averagePrint the class average
Flowchart

More Related Content

Similar to Flowchart

Similar to Flowchart (20)

Tugas algoritma arif
Tugas algoritma arifTugas algoritma arif
Tugas algoritma arif
 
Tugas algoritma arif
Tugas algoritma arifTugas algoritma arif
Tugas algoritma arif
 
2. teknik pemilihan dalam_pemrograman
2. teknik pemilihan dalam_pemrograman2. teknik pemilihan dalam_pemrograman
2. teknik pemilihan dalam_pemrograman
 
Punya awan
Punya awanPunya awan
Punya awan
 
04 if-ifelse-switch-break
04 if-ifelse-switch-break04 if-ifelse-switch-break
04 if-ifelse-switch-break
 
Tugas algoritma
Tugas algoritmaTugas algoritma
Tugas algoritma
 
Pemrograman algoritma (IF,else)
Pemrograman algoritma (IF,else)Pemrograman algoritma (IF,else)
Pemrograman algoritma (IF,else)
 
C programming language notes (6)
C programming language notes (6)C programming language notes (6)
C programming language notes (6)
 
Program
ProgramProgram
Program
 
Pengertian algoritma
Pengertian algoritmaPengertian algoritma
Pengertian algoritma
 
Control Statement I
Control Statement IControl Statement I
Control Statement I
 
bab3_alpro1.pptx
bab3_alpro1.pptxbab3_alpro1.pptx
bab3_alpro1.pptx
 
Materi algoritma perulangan
Materi algoritma perulanganMateri algoritma perulangan
Materi algoritma perulangan
 
Algoritma 1 pertemuan 5
Algoritma 1 pertemuan 5Algoritma 1 pertemuan 5
Algoritma 1 pertemuan 5
 
Pertemuan 6 - Struktur Perulangan
Pertemuan 6 - Struktur PerulanganPertemuan 6 - Struktur Perulangan
Pertemuan 6 - Struktur Perulangan
 
Pertemuan 2 Pemrograman Dasar
Pertemuan 2 Pemrograman DasarPertemuan 2 Pemrograman Dasar
Pertemuan 2 Pemrograman Dasar
 
modul algoritma Bab 3
modul algoritma Bab 3modul algoritma Bab 3
modul algoritma Bab 3
 
05 for-dowhile-while
05 for-dowhile-while05 for-dowhile-while
05 for-dowhile-while
 
4 fungsi if
4  fungsi   if4  fungsi   if
4 fungsi if
 
Algo temu 4 struktur dasar algoritma
Algo temu 4 struktur dasar algoritmaAlgo temu 4 struktur dasar algoritma
Algo temu 4 struktur dasar algoritma
 

More from farizky berian

Pengantar teknologi informasi
Pengantar teknologi informasiPengantar teknologi informasi
Pengantar teknologi informasifarizky berian
 
Makalahtekniksimulasidanpemodelan 130614114836-phpapp02
Makalahtekniksimulasidanpemodelan 130614114836-phpapp02Makalahtekniksimulasidanpemodelan 130614114836-phpapp02
Makalahtekniksimulasidanpemodelan 130614114836-phpapp02farizky berian
 
Algoritma dan pemrograman; teori dan praktik dalam pascal edisi kedua normal ...
Algoritma dan pemrograman; teori dan praktik dalam pascal edisi kedua normal ...Algoritma dan pemrograman; teori dan praktik dalam pascal edisi kedua normal ...
Algoritma dan pemrograman; teori dan praktik dalam pascal edisi kedua normal ...farizky berian
 
Menjadiwebmasterdalam30harinp 140714013235-phpapp01
Menjadiwebmasterdalam30harinp 140714013235-phpapp01Menjadiwebmasterdalam30harinp 140714013235-phpapp01
Menjadiwebmasterdalam30harinp 140714013235-phpapp01farizky berian
 
Modulpraktikumdesaingrafis 110805031502-phpapp01(1)
Modulpraktikumdesaingrafis 110805031502-phpapp01(1)Modulpraktikumdesaingrafis 110805031502-phpapp01(1)
Modulpraktikumdesaingrafis 110805031502-phpapp01(1)farizky berian
 
Awal dasar belajar c++
Awal dasar belajar c++Awal dasar belajar c++
Awal dasar belajar c++farizky berian
 
Akademi manajemen informasi dan komputer
Akademi manajemen informasi  dan komputerAkademi manajemen informasi  dan komputer
Akademi manajemen informasi dan komputerfarizky berian
 

More from farizky berian (16)

Pengantar teknologi informasi
Pengantar teknologi informasiPengantar teknologi informasi
Pengantar teknologi informasi
 
Makalahtekniksimulasidanpemodelan 130614114836-phpapp02
Makalahtekniksimulasidanpemodelan 130614114836-phpapp02Makalahtekniksimulasidanpemodelan 130614114836-phpapp02
Makalahtekniksimulasidanpemodelan 130614114836-phpapp02
 
Paragrafx
ParagrafxParagrafx
Paragrafx
 
Tipe data
Tipe dataTipe data
Tipe data
 
Struktur kbp
Struktur kbpStruktur kbp
Struktur kbp
 
Kbp dengan-c
Kbp dengan-cKbp dengan-c
Kbp dengan-c
 
Bahasa c
Bahasa cBahasa c
Bahasa c
 
Doc(1)
Doc(1)Doc(1)
Doc(1)
 
7 hukum alam
7 hukum alam7 hukum alam
7 hukum alam
 
Algoritma dan pemrograman; teori dan praktik dalam pascal edisi kedua normal ...
Algoritma dan pemrograman; teori dan praktik dalam pascal edisi kedua normal ...Algoritma dan pemrograman; teori dan praktik dalam pascal edisi kedua normal ...
Algoritma dan pemrograman; teori dan praktik dalam pascal edisi kedua normal ...
 
Akuntansijiid1
Akuntansijiid1Akuntansijiid1
Akuntansijiid1
 
Menjadiwebmasterdalam30harinp 140714013235-phpapp01
Menjadiwebmasterdalam30harinp 140714013235-phpapp01Menjadiwebmasterdalam30harinp 140714013235-phpapp01
Menjadiwebmasterdalam30harinp 140714013235-phpapp01
 
Modulpraktikumdesaingrafis 110805031502-phpapp01(1)
Modulpraktikumdesaingrafis 110805031502-phpapp01(1)Modulpraktikumdesaingrafis 110805031502-phpapp01(1)
Modulpraktikumdesaingrafis 110805031502-phpapp01(1)
 
Awal dasar belajar c++
Awal dasar belajar c++Awal dasar belajar c++
Awal dasar belajar c++
 
Kode html dan warna..
Kode html dan warna..Kode html dan warna..
Kode html dan warna..
 
Akademi manajemen informasi dan komputer
Akademi manajemen informasi  dan komputerAkademi manajemen informasi  dan komputer
Akademi manajemen informasi dan komputer
 

Flowchart

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12. NO
  • 13.
  • 14. ContohContoh • RequirementRequirement • Buat sebuah algoritma untuk memilih bilanganBuat sebuah algoritma untuk memilih bilangan terbesar dari 3 buah bilanganterbesar dari 3 buah bilangan • Nantinya ini bisa digeneralisir menjadiNantinya ini bisa digeneralisir menjadi nn buahbuah bilanganbilangan Add
  • 15. Algoritma Dalam Bahasa NaturalAlgoritma Dalam Bahasa Natural 1.1. Ambil bilangan pertama dan setAmbil bilangan pertama dan set maksmaks samasama dengan bilangan pertamadengan bilangan pertama 2.2. Ambil bilangan kedua dan bandingkan denganAmbil bilangan kedua dan bandingkan dengan maksmaks 3.3. Apa bila bilangan kedua lebih besar dariApa bila bilangan kedua lebih besar dari maksmaks,, setset maksmaks sama dengan bilangan keduasama dengan bilangan kedua 4.4. Ambil blangan ketiga dan bandingan denganAmbil blangan ketiga dan bandingan dengan maksmaks 5.5. Apabila bilangan ketiga lebih besar dariApabila bilangan ketiga lebih besar dari maksmaks,, setset maksmaks sama dengan bilangan ketigasama dengan bilangan ketiga 6.6. VariabelVariabel maksmaks berisi bilangan terbesar.berisi bilangan terbesar. Tayangkan hasilnyaTayangkan hasilnya Add
  • 16. Algoritma dengan FlowchartAlgoritma dengan Flowchart Add
  • 17. Algoritma denganAlgoritma dengan pseudo-codepseudo-code maksmaks ← bilangan pertama← bilangan pertama if (if (maksmaks < bilangan kedua)< bilangan kedua) maksmaks ← bilangan kedua← bilangan kedua if (if (maksmaks < bilangan ketiga)< bilangan ketiga) maksmaks ← bilangan ketiga← bilangan ketiga Add
  • 18. Aspek Penting dari AlgoritmaAspek Penting dari Algoritma 1.1. FinitenessFiniteness • Algoritma harus berhentiAlgoritma harus berhenti after a finite number of stepsafter a finite number of steps 1.1. DefinitenessDefiniteness • Setiap langkah harus didefinisikan secara tepat, tidak bolehSetiap langkah harus didefinisikan secara tepat, tidak boleh membingungkan (ambiguous)membingungkan (ambiguous) 1.1. InputInput • Sebuah algoritma memiliki nol atau lebih input yang diberikanSebuah algoritma memiliki nol atau lebih input yang diberikan kepada algoritma sebelum dijalankankepada algoritma sebelum dijalankan 1.1. OutputOutput • Sebuah algoritma memiliki satu atau lebih output, yang biasanyaSebuah algoritma memiliki satu atau lebih output, yang biasanya bergantung kepada inputbergantung kepada input 1.1. EffectivenessEffectiveness • Setiap algoritma diharapkan miliki sifat efektifSetiap algoritma diharapkan miliki sifat efektif Add
  • 19. TugasTugas • Buat algoritma untukBuat algoritma untuk • Mengurutkan bilangan (Mengurutkan bilangan (sortingsorting) untuk) untuk nn buahbuah data (misalnya data nilai mahasiswa)data (misalnya data nilai mahasiswa) • Tower of hanoiTower of hanoi • …… Add
  • 20. Algoritma danAlgoritma dan PseudocodePseudocode • Algoritma: urutan langkah-langkah yang dapatAlgoritma: urutan langkah-langkah yang dapat digunakan untuk memecahkan suatu masalahdigunakan untuk memecahkan suatu masalah • PseudocodePseudocode:: • Bahasa buatan yang bersifat informal yang dapatBahasa buatan yang bersifat informal yang dapat membantu untuk mengembangkan algoritmamembantu untuk mengembangkan algoritma • Serupa dengan bahasa sehari-hariSerupa dengan bahasa sehari-hari • Membantu mempermudah penulisan program; denganMembantu mempermudah penulisan program; dengan menggunakanmenggunakan statement-statementstatement-statement yang dapatyang dapat dieksekusi, mempermudah konversi ke bahasadieksekusi, mempermudah konversi ke bahasa pemrogramanpemrograman
  • 21. Struktur KontrolStruktur Kontrol • Semua program ditulis dalam 3 macam bentuk struktur kontrol:Semua program ditulis dalam 3 macam bentuk struktur kontrol: • SequenceSequence atau berturutan: struktur ini tersedia secaraatau berturutan: struktur ini tersedia secara built-inbuilt-in. Secara. Secara defaultdefault program dieksekusi secara berturutan sesuai urutan perintahprogram dieksekusi secara berturutan sesuai urutan perintah • SelectionSelection atau pilihan: ada 3 macam dalam bahasa C:atau pilihan: ada 3 macam dalam bahasa C: ifif,, if…elseif…else, dan, dan switchswitch • RepetitionRepetition atau pengulangan: ada 3 macam dalam bahasa C:atau pengulangan: ada 3 macam dalam bahasa C: whilewhile,, do…do… whilewhile, dan, dan forfor • FlowchartFlowchart • Representasi grafis dari algoritmaRepresentasi grafis dari algoritma • Menggunakan simbol-simbol khusus yang dihubungkan dengan garisMenggunakan simbol-simbol khusus yang dihubungkan dengan garis beranak panahberanak panah • SimbolSimbol kotakkotak melambangkanmelambangkan aksiaksi • SimbolSimbol ovaloval melambangkanmelambangkan awalawal dandan akhirakhir suatu program atau bloksuatu program atau blok programprogram • SimbolSimbol berlianberlian melambangkan keputusan/pilihanmelambangkan keputusan/pilihan
  • 22. Selection ControlSelection Control [1] ([1] (ifif)) • StatementStatement ifif:: • Digunakan untuk seleksi suatu kondisiDigunakan untuk seleksi suatu kondisi • ContohContoh pseudocodepseudocode:: If student’s grade is greater than or equal to 60If student’s grade is greater than or equal to 60 Print “Passed”Print “Passed” • ContohContoh FlowchartFlowchart:: true false grade >= 60 print “Passed”
  • 23. Selection ControlSelection Control [2] ([2] (ifif)) • Jika kondisiJika kondisi truetrue • StatementStatement PrintPrint dieksekusi dan program dilanjutkan kedieksekusi dan program dilanjutkan ke statementstatement berikutnyaberikutnya • Jika kondisiJika kondisi falsefalse • StatementStatement PrintPrint diabaikan dan program dilanjutkan kediabaikan dan program dilanjutkan ke statementstatement berikutnyaberikutnya • DalamDalam bahasa C:bahasa C: if ( grade >= 60 )if ( grade >= 60 ) printf( "Passedn" );printf( "Passedn" );
  • 24. Selection ControlSelection Control [3] ([3] (if…elseif…else)) • StatementStatement if…elseif…else:: • Menspesifikasikan aksi baik untuk kondisiMenspesifikasikan aksi baik untuk kondisi truetrue maupun untuk kondisimaupun untuk kondisi falsefalse • ContohContoh pseudocodepseudocode:: If student’s grade is greater than or equal to 60If student’s grade is greater than or equal to 60 Print “Passed”Print “Passed” elseelse Print “Failed”Print “Failed” • ContohContoh FlowchartFlowchart:: truefalse print “Failed” print “Passed” grade >= 60
  • 25. Selection ControlSelection Control [4] ([4] (if…elseif…else)) • Dalam C :Dalam C : if ( grade >= 60 )if ( grade >= 60 ) printf( "Passedn");printf( "Passedn"); elseelse printf( "Failedn");printf( "Failedn"); • Ternary conditional operatorTernary conditional operator ((?:?:)) • Memerlukan tiga argumen (kondisi, nilai jikaMemerlukan tiga argumen (kondisi, nilai jika truetrue, nilai jika, nilai jika falsefalse)) • Contoh di atas dapat ditulis sbb:Contoh di atas dapat ditulis sbb: printf( "%sn", grade >= 60 ? "Passed" : "Failed" );printf( "%sn", grade >= 60 ? "Passed" : "Failed" ); • Atau dapat ditulis sbb:Atau dapat ditulis sbb: grade >= 60 ? printf( “Passedn” ) :grade >= 60 ? printf( “Passedn” ) : printf( “Failedn” );printf( “Failedn” );
  • 26. Selection ControlSelection Control [5] ([5] (if…elseif…else)) • StatementStatement if…elseif…else bertingkat/bersarang:bertingkat/bersarang: • Digunakan untuk menguji banyak kondisi dimana menempatkanDigunakan untuk menguji banyak kondisi dimana menempatkan statementstatement seleksiseleksi ifif……elseelse di dalamdi dalam statementstatement ifif……elseelse • Sekali kondisi terpenuhi, sisaSekali kondisi terpenuhi, sisa statementstatement lainnya dilewatkan/diabaikanlainnya dilewatkan/diabaikan • ContohContoh pseudocodepseudocode:: IIf student’s grade is greater than or equal to 90f student’s grade is greater than or equal to 90 Print “A”Print “A” elseelse If student’s grade is greater than or equal to 80If student’s grade is greater than or equal to 80 Print “B”Print “B” elseelse If student’s grade is greater than or equal to 70If student’s grade is greater than or equal to 70 Print “C”Print “C” elseelse If student’s grade is greater than or equal to 60If student’s grade is greater than or equal to 60 Print “D”Print “D” elseelse Print “F”Print “F”
  • 27. Selection ControlSelection Control [6] ([6] (if…elseif…else)) • Compound statementCompound statement • Ada lebih dari satuAda lebih dari satu statementstatement/aksi yang harus dieksekusi setelah suatu kondisi/aksi yang harus dieksekusi setelah suatu kondisi dipenuhidipenuhi • Sering disebut jugaSering disebut juga blokblok karena ditandai dengan pasangankarena ditandai dengan pasangan {{ dandan }} • Contoh:Contoh: if ( grade >= 60 )if ( grade >= 60 ) printf( "Passed.n" );printf( "Passed.n" ); else {else { printf( "Failed.n" );printf( "Failed.n" ); printf( "You must take this courseprintf( "You must take this course again.n" );again.n" ); }} • Tanpa tanda kurung kurawal,Tanpa tanda kurung kurawal, statementstatement printf( "You must take this courseprintf( "You must take this course again.n" );again.n" ); Akan dieksekusi secara otomatis.Akan dieksekusi secara otomatis.
  • 28. Selection ControlSelection Control [7] ([7] (switchswitch)) • Multiple-Selection StatementMultiple-Selection Statement switch:switch: • Berguna pada waktu sebuah variabel atau ekspresi diuji terhadap semuaBerguna pada waktu sebuah variabel atau ekspresi diuji terhadap semua nilai yang mungkin dan masing-masing mengambil aksi yang berbedanilai yang mungkin dan masing-masing mengambil aksi yang berbeda • Format penulisan:Format penulisan: • Sederetan labelSederetan label casecase dan opsionaldan opsional defaultdefault casecase switchswitch ( value ){( value ){ casecase '1':'1': actionsactions casecase '2':'2': actionsactions defaultdefault:: actionsactions }} • breakbreak;; keluar darikeluar dari statementstatement
  • 29. Selection ControlSelection Control [8] ([8] (switchswitch)) • Flowchart statementFlowchart statement switchswitch:: true false . . . case a case a action(s) break case b case b action(s) break false false case z case z action(s) break true true default action(s)
  • 30. Repetition ControlRepetition Control [1] ([1] (whilewhile)) • Struktur pengulangan structureStruktur pengulangan structure • Programmer menentukan aksi yang akan diulang selama kondisi tetapProgrammer menentukan aksi yang akan diulang selama kondisi tetap truetrue • PsuedocodePsuedocode:: While there are more items on my shopping listWhile there are more items on my shopping list Purchase next item and cross it off my listPurchase next item and cross it off my list • whilewhile loop diulang hingga kondisi menjadiloop diulang hingga kondisi menjadi falsefalse • Contoh:Contoh: int product = 2;int product = 2; while ( product <= 1000 )while ( product <= 1000 ) product = 2 * product;product = 2 * product;
  • 31. Repetition ControlRepetition Control [2] ([2] (whilewhile)) product <= 1000 product = 2 * product true false • Flowchart:
  • 32. Repetition ControlRepetition Control [3] ([3] (whilewhile)) • Pengulangan yang dikontrol sebuahPengulangan yang dikontrol sebuah countercounter • LoopLoop diulang hinggadiulang hingga countercounter mencapai angka tertentumencapai angka tertentu • Disebut jugaDisebut juga definite repetitiondefinite repetition karena jumlah pengulangan dapat kitakarena jumlah pengulangan dapat kita ketahuiketahui • Contoh: Sebuah kelas dengan 10 orang mahasiswa mengikuti kuis. NilaiContoh: Sebuah kelas dengan 10 orang mahasiswa mengikuti kuis. Nilai kuis adalah bilangan bulat dari 0 hingga 100. Tentukan nilai rata-rata kuiskuis adalah bilangan bulat dari 0 hingga 100. Tentukan nilai rata-rata kuis tersebut.tersebut. • Pseudocode:Pseudocode: Set total to zeroSet total to zero Set grade counter to oneSet grade counter to one While grade counter is less than or equal to tenWhile grade counter is less than or equal to ten Input the next gradeInput the next grade Add the grade into the totalAdd the grade into the total Add one to the grade counterAdd one to the grade counter Set the class average to the total divided by tenSet the class average to the total divided by ten Print the class averagePrint the class average