Algoritma dan Pemrograman
description
Transcript of Algoritma dan Pemrograman
Algoritma dan PemrogramanAlgoritma dan Pemrograman
Dedy Trisanto, S.Kom, MMSIDedy Trisanto, S.Kom, MMSI
Departemen PerindustrianDepartemen Perindustrian
Sekolah Tinggi Manajemen IndustriSekolah Tinggi Manajemen IndustriJl. Letjen Suprapto No. 26 – Cempaka Putih, Jakarta 10510Jl. Letjen Suprapto No. 26 – Cempaka Putih, Jakarta 10510
Telp. : (021) 42886064 Ext. 133, 107, 110, 115 Fax : (021) 42888206Telp. : (021) 42886064 Ext. 133, 107, 110, 115 Fax : (021) 42888206www.stmi.ac .idwww.stmi.ac .id
Algoritma & PemrogramanAlgoritma & Pemrograman
• SKSSKS : 3 SKS (Teory) dan 3 SKS (Praktek): 3 SKS (Teory) dan 3 SKS (Praktek)• DosenDosen : Dedy Trisanto, S.Kom, MMSI: Dedy Trisanto, S.Kom, MMSI• PhonePhone : 021-80886160 HP. 08161967967: 021-80886160 HP. 08161967967• EmailEmail : - : - [email protected]@yahoo.com, ,
- [email protected],- [email protected],- [email protected] [email protected]
Jadwal Kuliah Kelas:Jadwal Kuliah Kelas: ::• Algoritma & Pemrograman SI (Teory & Praktek): Senin, 08:00 – 13:30Algoritma & Pemrograman SI (Teory & Praktek): Senin, 08:00 – 13:30• PAK II C (Teory & Praktek): Rabu, 08:00 – 13:30PAK II C (Teory & Praktek): Rabu, 08:00 – 13:30• PAK II E (Teory): Sabtu, 08:00 – 10:30PAK II E (Teory): Sabtu, 08:00 – 10:30
Deskripsi MatakuliahDeskripsi Matakuliah
• Matakuliah ini mengajarkan tentang konsep Matakuliah ini mengajarkan tentang konsep dan logika berpikir komputer, cara dan logika berpikir komputer, cara perancangan dan analisis masalah, yang perancangan dan analisis masalah, yang kemudian dipecahkan dengan menggunakan kemudian dipecahkan dengan menggunakan komputer menggunakan algoritma dan komputer menggunakan algoritma dan pemrograman terstruktur. Selain itu juga pemrograman terstruktur. Selain itu juga diperkenalkan dan diajarkan penggunaan diperkenalkan dan diajarkan penggunaan bahasa pemrograman (Bahasa VB), dan bahasa pemrograman (Bahasa VB), dan flowchartflowchart
Kompetensi MatakuliahKompetensi Matakuliah
• Mahasiswa mampu memahami logika berpikir Mahasiswa mampu memahami logika berpikir komputer, memahami prinsip kerja program, komputer, memahami prinsip kerja program, memahami alasan-alasan komputer dapat memahami alasan-alasan komputer dapat mengerjakan perintah-perintah yang diberikan, mengerjakan perintah-perintah yang diberikan, dan mampu menggambarkan logika jalannya dan mampu menggambarkan logika jalannya program secara tertulis dengan algoritma program secara tertulis dengan algoritma (pseudo code) dan dilengkapi dengan diagram (pseudo code) dan dilengkapi dengan diagram alir (flow chart) menggunakan suatu bahasa alir (flow chart) menggunakan suatu bahasa pemrograman tertentupemrograman tertentu
Materi-MateriMateri-Materi
• Pengantar Algoritma Pengantar Algoritma • Konsep Bahasa PemrogramanKonsep Bahasa Pemrograman• FlowchartFlowchart• Tipe Data, Keywords, Konstanta, VariabelTipe Data, Keywords, Konstanta, Variabel• Struktur Input/OutputStruktur Input/Output• PercabanganPercabangan• PerulanganPerulangan• Pemrograman ModularPemrograman Modular• Fungsi: parameter, kembalian fungsi by valueFungsi: parameter, kembalian fungsi by value• Array 1 dimensiArray 1 dimensi• Array 2 dimensiArray 2 dimensi• Manipulasi StringManipulasi String
ReferensiReferensi
• Thomas H. Cormen et.al, Thomas H. Cormen et.al, Introduction to Algorithms Second EditionIntroduction to Algorithms Second Edition, , MIT Press, McGraw-Hill Book Company, 2001MIT Press, McGraw-Hill Book Company, 2001
• Simon Harris and James Ross, Simon Harris and James Ross, Beginning AlgorithmsBeginning Algorithms, Willey , Willey Publishing Inc, 2006Publishing Inc, 2006
• Antonie Pranata, Antonie Pranata, Algoritma dan PemrogramanAlgoritma dan Pemrograman, J&J Learning , J&J Learning Yogyakarta, 2000Yogyakarta, 2000
• Iwan Binanto, Iwan Binanto, Konsep Bahasa PemrogramanKonsep Bahasa Pemrograman, Penerbit Andi , Penerbit Andi Yogyakarta, 2005Yogyakarta, 2005
• Moh. Sjukani, Moh. Sjukani, Algoritma dan Struktur Data dengan C, C++, dan Algoritma dan Struktur Data dengan C, C++, dan JavaJava, Mitra Wacana Media, 2005, Mitra Wacana Media, 2005
• Suryadi H.S. Dan Agus Sumun, Pengantar Algoritma dan Suryadi H.S. Dan Agus Sumun, Pengantar Algoritma dan Pemrograman, Penerbit GunadarmaPemrograman, Penerbit Gunadarma
PenilaianPenilaian
NilaiNilai Point/IPPoint/IP RangeRange
AA 44 >=85>=85
BB 33 >=70 - <85>=70 - <85
CC 22 >=50 – <70>=50 – <70
DD 11 >=35 – <50>=35 – <50
EE 00 < 35< 35
Komponen Penilaian:Tugas, Praktikum dan Quiz: 40%UTS: 30%UAS: 30%
Ketentuan LainKetentuan Lain
• Kehadiran minimal 75%Kehadiran minimal 75%• Penambahan nilai untuk UTS or UAS dari Penambahan nilai untuk UTS or UAS dari
Aktifitas kelas, Kehadiran, Maju Depan, Kritikan Aktifitas kelas, Kehadiran, Maju Depan, Kritikan atau Saran yang membangun atau Saran yang membangun
• Tidak ada tugas tambahan untuk meningkatkan Tidak ada tugas tambahan untuk meningkatkan nilai yang kurangnilai yang kurang
• Dosen berhak mengurangi nilai jika MHS yang Dosen berhak mengurangi nilai jika MHS yang bersangkutan melakukan kecurangan atau bersangkutan melakukan kecurangan atau melakukan tindakan yang tidak baik di kelas melakukan tindakan yang tidak baik di kelas maupun pada saat ujianmaupun pada saat ujian
SilabusSilabus
• Pengantar Algoritma dan Konsep Bahasa PemrogramanPengantar Algoritma dan Konsep Bahasa Pemrograman• Flowchart dan Pengenalan VBFlowchart dan Pengenalan VB• Tipe Data, Keywords, Konstanta dan Input/OutputTipe Data, Keywords, Konstanta dan Input/Output• Percabangan SederhanaPercabangan Sederhana• Percabangan Kompleks dan SwitchPercabangan Kompleks dan Switch• Loop SederhanaLoop Sederhana• Loop KompleksLoop Kompleks• Modular ProgrammingModular Programming• Fungsi by value: parameter, void dan non-voidFungsi by value: parameter, void dan non-void• Array 1 DimensiArray 1 Dimensi• Array 2 DimensiArray 2 Dimensi• String Manipulation pada VBString Manipulation pada VB
Sistem KomputerSistem Komputer
• Sebuah sistem komputer terdiri dari Sebuah sistem komputer terdiri dari HardwareHardware (perangkat keras)(perangkat keras) , Software, Software (perangkat lunak)(perangkat lunak) dandan BrainwareBrainware, , sedangkan sedangkan SoftwareSoftware dapat dikelompokkan dapat dikelompokkan menjadi menjadi Operating System Software, Operating System Software, Programming Language Software Programming Language Software dandan Application Program Software.Application Program Software.
Bagan Sistem KomputerBagan Sistem Komputer
Definisi Program/PemrogramanDefinisi Program/Pemrograman
• Adalah kumpulan instruksi-instruksi tersendiri yang biasanya disebut Adalah kumpulan instruksi-instruksi tersendiri yang biasanya disebut source code yang dibuat oleh programmer (pembuat program)source code yang dibuat oleh programmer (pembuat program)
• Program adalah kumpulan instruksi atau perintah yang disusun Program adalah kumpulan instruksi atau perintah yang disusun sedemikian rupa sehingga mempunyai urutan nalar yang tepat untuk sedemikian rupa sehingga mempunyai urutan nalar yang tepat untuk menyelesaikan suatu persoalan yang diimplementasikan dengan menyelesaikan suatu persoalan yang diimplementasikan dengan bahasa pemrograman yang dapat dieksekusi oleh komputer. Dibuat bahasa pemrograman yang dapat dieksekusi oleh komputer. Dibuat dengan tujuan untuk mempermudah user dalam memberikan dengan tujuan untuk mempermudah user dalam memberikan instruksi / perintah ke komputer.instruksi / perintah ke komputer.
• Instruksi (Instruksi (statementstatement) yang dimaksud adalah syntax (cara penulisan) ) yang dimaksud adalah syntax (cara penulisan) sesuai dengan bahasa pemrograman yang digunakan yang mempunyai sesuai dengan bahasa pemrograman yang digunakan yang mempunyai komponen-komponen : Input, Output, Proses, Percabangan dan komponen-komponen : Input, Output, Proses, Percabangan dan Perulangan. Perulangan.
Bahasa PemrogramanBahasa Pemrograman
• Adalah alat untuk membuat programAdalah alat untuk membuat program• Contoh: C, C++, C#, Pascal, Basic, Perl, Contoh: C, C++, C#, Pascal, Basic, Perl,
PHP, ASP, JHP, Java, dll.PHP, ASP, JHP, Java, dll.
• Perbedaan: cara memberikan instruksiPerbedaan: cara memberikan instruksi• Persamaan: bertujuan menghasilkan Persamaan: bertujuan menghasilkan output output
yang samayang sama
Paradigma PemrogramanParadigma Pemrograman
• Pemrograman ProseduralPemrograman Prosedural• Berdasarkan urutan-urutan, sekuensialBerdasarkan urutan-urutan, sekuensial• Program adalah suatu rangkaian prosedur untuk memanipulasi data. Prosedur Program adalah suatu rangkaian prosedur untuk memanipulasi data. Prosedur
merupakan kumpulan instruksi yang dikerjakan secara berurutan.merupakan kumpulan instruksi yang dikerjakan secara berurutan.• Harus mengingat prosedur mana yang sudah dipanggil dan apa yang sudah diubah.Harus mengingat prosedur mana yang sudah dipanggil dan apa yang sudah diubah.
• Pemrograman FungsionalPemrograman Fungsional• Berdasarkan teori fungsi matematikaBerdasarkan teori fungsi matematika• Fungsi merupakan dasar utama program.Fungsi merupakan dasar utama program.
• Pemrograman TerstrukturPemrograman Terstruktur• Secara berurutan dan terstrukrtur.Secara berurutan dan terstrukrtur.• Program dapat dibagai-bagi menjadi prosedur dan fungsi.Program dapat dibagai-bagi menjadi prosedur dan fungsi.• Contoh: PASCAL dan CContoh: PASCAL dan C
• Pemrograman ModularPemrograman Modular• Pemrograman ini membentuk banyak modul.Pemrograman ini membentuk banyak modul.• Modul merupakan kumpulan dari prosedur dan fungsi yang berdiri sendiriModul merupakan kumpulan dari prosedur dan fungsi yang berdiri sendiri• Sebuah program dapat merupakan kumpulan modul-modul.Sebuah program dapat merupakan kumpulan modul-modul.• Contoh: MODULA-2 atau ADA Contoh: MODULA-2 atau ADA
Paradigma PemrogramanParadigma Pemrograman
• Pemrograman Berorientasi ObyekPemrograman Berorientasi Obyek• Pemrograman berdasarkan prinsip obyek, dimana obyek memiliki Pemrograman berdasarkan prinsip obyek, dimana obyek memiliki
data/variabel/property dan method/event/prosedur yang dapat data/variabel/property dan method/event/prosedur yang dapat dimanipulasidimanipulasi
• Contoh: C++, Object Pascal, dan Java.Contoh: C++, Object Pascal, dan Java.• Pemrograman Berorientasi FungsiPemrograman Berorientasi Fungsi
• Pemrograman ini berfokus pada suatu fungsi tertentu saja. Sangat Pemrograman ini berfokus pada suatu fungsi tertentu saja. Sangat tergantung pada tujuan pembuatan bahasa pemrograman ini.tergantung pada tujuan pembuatan bahasa pemrograman ini.
• Contoh: SQL (Structured Query Language), HTML, XML dan lain-Contoh: SQL (Structured Query Language), HTML, XML dan lain-lain.lain.
• Pemrograman DeklaratifPemrograman Deklaratif• Pemrograman ini mendeskripsikan suatu masalah dengan pernyataan Pemrograman ini mendeskripsikan suatu masalah dengan pernyataan
daripada memecahkan masalah dengan implementasi algoritma.daripada memecahkan masalah dengan implementasi algoritma.• Contoh: PROLOG Contoh: PROLOG
Siklus Hidup Perangkat Lunak Siklus Hidup Perangkat Lunak (Software)(Software)
• Dilihat dari Struktur Sistem Komputer dan Siklus diatas, Dilihat dari Struktur Sistem Komputer dan Siklus diatas, Algoritma Pemrograman menempati posisi dibagian Algoritma Pemrograman menempati posisi dibagian implementasi karena bagian implementasi merupakan implementasi karena bagian implementasi merupakan bagian dimana pemrogram melakukan proses coding bagian dimana pemrogram melakukan proses coding (pembuatan program). (pembuatan program).
AlgoritmaAlgoritma
• Game : Game :
Use Your Mind!Use Your Mind!
Langkah Use Your MindLangkah Use Your Mind
1.1. 2 kanibal naik perahu ke seberang kiri 2 kanibal naik perahu ke seberang kiri 2.2. Pindahkan 1 kanibal ke seberang kiriPindahkan 1 kanibal ke seberang kiri3.3. Perahu kembali ke seberang kanan dgn 1 kanibalPerahu kembali ke seberang kanan dgn 1 kanibal4.4. Ulangi langkah 1-3Ulangi langkah 1-35.5. 2 misionaris naik perahu ke seberang kiri2 misionaris naik perahu ke seberang kiri6.6. Di seberang kiri, tukar 1 kanibal dgn 1 misionaris di perahuDi seberang kiri, tukar 1 kanibal dgn 1 misionaris di perahu7.7. Perahu kembali ke seberang kanan dgn 1 kanibal dan 1 misionarisPerahu kembali ke seberang kanan dgn 1 kanibal dan 1 misionaris8.8. Di seberang kanan, tukar kanibal di perahu dgn 1 misionaris di seberang Di seberang kanan, tukar kanibal di perahu dgn 1 misionaris di seberang
kanankanan9.9. Perahu kembali ke seberang kiri dgn 2 misionarisPerahu kembali ke seberang kiri dgn 2 misionaris10.10. Turunkan semua misionaris di perahu ke seberang kiriTurunkan semua misionaris di perahu ke seberang kiri11.11. Perahu kembali ke seberang kanan dgn 1 kanibalPerahu kembali ke seberang kanan dgn 1 kanibal12.12. Ulangi langkah 1-3Ulangi langkah 1-313.13. 2 kanibal naik perahu ke seberang kiri2 kanibal naik perahu ke seberang kiri14.14. Turunkan kedua kanibal ke seberang kiriTurunkan kedua kanibal ke seberang kiri
NO
ContohContoh
• RequirementRequirement• Buat sebuah algoritma untuk memilih bilangan Buat sebuah algoritma untuk memilih bilangan
terbesar dari 3 buah bilanganterbesar dari 3 buah bilangan• Nantinya ini bisa digeneralisir menjadi Nantinya ini bisa digeneralisir menjadi nn buah buah
bilanganbilangan
Add
Algoritma Dalam Bahasa NaturalAlgoritma Dalam Bahasa Natural1.1. Ambil bilangan pertama dan set Ambil bilangan pertama dan set maksmaks sama dengan sama dengan
bilangan pertamabilangan pertama2.2. Ambil bilangan kedua dan bandingkan dengan Ambil bilangan kedua dan bandingkan dengan maksmaks3.3. Apa bila bilangan kedua lebih besar dari Apa bila bilangan kedua lebih besar dari maksmaks, set , set
maksmaks sama dengan bilangan kedua sama dengan bilangan kedua4.4. Ambil blangan ketiga dan bandingan dengan Ambil blangan ketiga dan bandingan dengan maksmaks5.5. Apabila bilangan ketiga lebih besar dari Apabila bilangan ketiga lebih besar dari maksmaks, set , set
maksmaks sama dengan bilangan ketiga sama dengan bilangan ketiga6.6. Variabel Variabel maksmaks berisi bilangan terbesar. Tayangkan berisi bilangan terbesar. Tayangkan
hasilnyahasilnya
Add
Algoritma dengan FlowchartAlgoritma dengan Flowchart
Maks = bilangan pertama
Maks < bilangan kedua
Maks = bilangan kedua
Maks < bilangan ketiga
Maks = bilangan ketiga
Ya
Ya
Selesai
Mulai
Tidak
Tidak
Add
Algoritma dengan Algoritma 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 berhenti Algoritma harus berhenti after a finite number of stepsafter a finite number of steps
2.2. DefinitenessDefiniteness• Setiap langkah harus didefinisikan secara tepat, tidak boleh Setiap langkah harus didefinisikan secara tepat, tidak boleh
membingungkan (ambiguous)membingungkan (ambiguous)
3.3. InputInput• Sebuah algoritma memiliki nol atau lebih input yang diberikan kepada Sebuah algoritma memiliki nol atau lebih input yang diberikan kepada
algoritma sebelum dijalankanalgoritma sebelum dijalankan
4.4. OutputOutput• Sebuah algoritma memiliki satu atau lebih output, yang biasanya Sebuah algoritma memiliki satu atau lebih output, yang biasanya
bergantung kepada inputbergantung kepada input
5.5. 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 buah buah
data (misalnya data nilai mahasiswa)data (misalnya data nilai mahasiswa)• Tower of hanoiTower of hanoi• ……
Add
Algoritma dan Algoritma dan PseudocodePseudocode
• Algoritma: urutan langkah-langkah yang dapat Algoritma: urutan langkah-langkah yang dapat digunakan untuk memecahkan suatu masalahdigunakan untuk memecahkan suatu masalah
• PseudocodePseudocode::• Bahasa buatan yang bersifat informal yang dapat Bahasa 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; dengan Membantu mempermudah penulisan program; dengan menggunakan menggunakan statement-statementstatement-statement yang dapat yang dapat dieksekusi, mempermudah konversi ke bahasa dieksekusi, mempermudah konversi ke bahasa pemrograman pemrograman
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 secara atau 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 garis Menggunakan simbol-simbol khusus yang dihubungkan dengan garis
beranak panahberanak panah• Simbol Simbol kotakkotak melambangkan melambangkan aksiaksi• Simbol Simbol ovaloval melambangkan melambangkan awalawal dan dan akhirakhir suatu program atau blok suatu program atau blok
programprogram• Simbol Simbol berlianberlian melambangkan keputusan/pilihan melambangkan keputusan/pilihan
Selection ControlSelection Control [1] ( [1] (ifif))
• StatementStatement ifif::• Digunakan untuk seleksi suatu kondisiDigunakan untuk seleksi suatu kondisi
• Contoh Contoh 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”• Contoh Contoh FlowchartFlowchart::
true
false
grade >= 60 print “Passed”
Selection ControlSelection Control [2] ( [2] (ifif))
• Jika kondisi Jika kondisi truetrue• Statement Statement PrintPrint dieksekusi dan program dilanjutkan ke dieksekusi dan program dilanjutkan ke statementstatement
berikutnyaberikutnya
• Jika kondisi Jika kondisi falsefalse• Statement Statement PrintPrint diabaikan dan program dilanjutkan ke diabaikan dan program dilanjutkan ke statementstatement berikutnya berikutnya
• DalamDalam bahasa C:bahasa C:if ( grade >= 60 ) if ( grade >= 60 )
printf( "Passed\n" ); printf( "Passed\n" );
Selection ControlSelection Control [3] ( [3] (if…elseif…else))
• StatementStatement if…elseif…else::• Menspesifikasikan aksi baik untuk kondisi Menspesifikasikan aksi baik untuk kondisi truetrue maupun untuk kondisi maupun untuk kondisi
falsefalse• Contoh Contoh 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”• Contoh Contoh 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( "Passed\n");printf( "Passed\n");
elseelse
printf( "Failed\n");printf( "Failed\n"); • Ternary conditional operatorTernary conditional operator ( (?:?:) )
• Memerlukan tiga argumen (kondisi, nilai jika Memerlukan tiga argumen (kondisi, nilai jika truetrue, nilai jika , nilai jika falsefalse))
• Contoh di atas dapat ditulis sbb:Contoh di atas dapat ditulis sbb:
printf( "%s\n", grade >= 60 ? "Passed" : "Failed" ); printf( "%s\n", grade >= 60 ? "Passed" : "Failed" );
• Atau dapat ditulis sbb:Atau dapat ditulis sbb:
grade >= 60 ? printf( “Passed\n” ) : printf( “Failed\grade >= 60 ? printf( “Passed\n” ) : printf( “Failed\n” );n” );
Selection ControlSelection Control [5] ( [5] (if…elseif…else))
• StatementStatement if…elseif…else bertingkat/bersarang: bertingkat/bersarang:• Digunakan untuk menguji banyak kondisi dimana menempatkan Digunakan untuk menguji banyak kondisi dimana menempatkan statementstatement seleksi seleksi
ifif……elseelse di dalam di dalam statementstatement ifif……elseelse • Sekali kondisi terpenuhi, sisa Sekali kondisi terpenuhi, sisa statementstatement lainnya dilewatkan/diabaikan lainnya dilewatkan/diabaikan• Contoh Contoh pseudocodepseudocode::
IIf student’s grade is greater than or equal to 90f student’s grade is greater than or equal to 90Print “A”Print “A”
else else 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”else else If student’s grade is greater than or equal to 70 If student’s grade is greater than or equal to 70 Print “C” Print “C” else else If student’s grade is greater than or equal to 60 If student’s grade is greater than or equal to 60 Print “D” Print “D” else else Print “F” Print “F”
Selection ControlSelection Control [6] ( [6] (if…elseif…else))• Compound statementCompound statement
• Ada lebih dari satu Ada lebih dari satu statementstatement/aksi yang harus dieksekusi setelah suatu kondisi /aksi yang harus dieksekusi setelah suatu kondisi dipenuhidipenuhi
• Sering disebut juga Sering disebut juga blokblok karena ditandai dengan pasangan karena ditandai dengan pasangan {{ dan dan }}• 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, statementstatementprintf( "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 semua Berguna 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 label Sederetan label casecase dan opsional dan opsional defaultdefault case caseswitchswitch ( value ){ ( value ){
casecase '1': '1':actionsactions
casecase '2': '2':actionsactions
defaultdefault::actionsactions
}}• breakbreak;; keluar dari keluar 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 tetap Programmer 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 list Purchase next item and cross it off my list
• whilewhile loop diulang hingga kondisi menjadi loop 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 * producttrue
false
• Flowchart:
Repetition ControlRepetition Control [3] ( [3] (whilewhile))
• Pengulangan yang dikontrol sebuah Pengulangan yang dikontrol sebuah countercounter• LoopLoop diulang hingga diulang hingga countercounter mencapai angka tertentu mencapai angka tertentu• Disebut juga Disebut juga definite repetitiondefinite repetition karena jumlah pengulangan dapat kita karena jumlah pengulangan dapat kita
ketahuiketahui• Contoh: Sebuah kelas dengan 10 orang mahasiswa mengikuti kuis. Nilai Contoh: Sebuah kelas dengan 10 orang mahasiswa mengikuti kuis. Nilai
kuis adalah bilangan bulat dari 0 hingga 100. Tentukan nilai rata-rata kuis kuis 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 oneWhile grade counter is less than or equal to tenWhile grade counter is less than or equal to ten
Input the next gradeInput the next gradeAdd the grade into the totalAdd the grade into the totalAdd 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 tenPrint the class averagePrint the class average