1
SKS : 3 SKS
Dosen : Dewi Rahmawati, S.Kom., M.Kom.
Email : dewi@ittelkom-sby.ac.id
Jadwal Kuliah Kelas: :
• Group S1: senin, 16.30
• Ruang: Multimedia
Model Perkuliahan: Brainstorming, Tatap Muka dan Praktikum
Kategori Persentase
tugas-tugas (lembar kerja) 15%
evaluasi tengah semester 15%
evaluasi akhir semester 15%
paper individu 20%
paper utama 30%
keaktifan dalam diskusi 5%
Partisipas
i
UTS
Paper
utama
Paper
individu Tugas
UAS
A [80 - 100]
B [66 - 79]
C [56 - 65]
D [46 - 55]
E [<=45]
Algoritma dan
Pemrograman I
4
Pengantar AlPro
Program komputer
Error handling dan bahasa
pemrograman
Lingkup
Percabangan dan
perulangan Mata Definisi dan prinsip-
prinsip algoritma
Kuliah
Konsep algoritma
Input, output dan menggunakan
operator Pseudocode dan
Flowchart
6
Konsep
algoritma
Definisi
Pseudocode Flowchart
Algoritma Berangkat Kuliah
Mulai
Bangun dari tempat tidur
Mandi Pagi
Sarapan Pagi
Pergi Ke Kampus
Cari Ruang Kuliah
Masuk kelas untuk Kuliah
Selesai
8
Algoritma Sarapan Pagi
Mulai
Ambil piring
Masukkan nasi dan lauk dalam piring
Ambil sendok dan garpu
Ulangi
Angkat sendok dan garpu
Ambil nasi dan lauk
Suapkan ke dalam mulut
Taruh sendok dan garpu
Kunyah
Sampai (nasi dan lauk habis) ATAU kekenyangan
Bereskan piring, sendok dan garpu
Selesai
9
Terminator Arah
Proses Konektor
Pemilihan
Pengulangan
10
Start
Masukkan
a,b,c
d = b^2 – 4ac
Y
d<0
T
x1=(-b+sqrt(d))/2a Cetak Pesan
x2 =(-b-sqrt(d))/2a “Akar imajiner”
Cetak
x1,x2
Stop
11
1. Buatlah algoritma menggunakan pseudocode
untuk menerapkan TATA CARA SHOLAT
JAMAAH BAGI YANG TERLAMBAT (MAKMUM
MASBUK) !
12
Mampu menjelaskan Prinsip-prinsip Algoritma
Mampu menjelaskan Konsep Bahasa Pemrograman
Mampu membuat Flowchart dan Pseudocode
Mampu menjelaskan Konsep Dasar Bahasa C
Mampu menjelaskan tipe data dan variabel
Mampu membuat program Struktur Input/Output
Mampu membuat program Percabangan
Mampu membuat program Perulangan
Mampu menjelaskan Pemrograman Modular
Mampu membuat exception handling dan error handling
Sub Kompentensi
Konsep Pemrograman
Algoritma Terstruktur
Konsep
algoritma
Definisi
Pseudocode Flowchart
Pemrograman
Terstruktur
Percabangan
Class dan Tipe data dan Input dan Error
operator dan
objek variabel output handling
perulangan
Kontrak Perkuliahan & Pengantar
Algoritma dan Pemrograman 30/9
Algoritma, Pseudocode dan Flowchart
Pengantar Bahasa Pemrograman (dengan
Bahasa C)
Tipe data dan Variabel
Input & Output pada Bahasa C
Penggunaan operator aritmatika dan
logika
Struktur Kontrol Percabangan
Struktur Kontrol Perulangan
Struktur Kontrol Perulangan Bertingkat
Error handling
Brian W. Kernighan, Dennis M. Ritchie (1988). The C
Programming Language, Second Edition, Prentice Hall
Deitel, H.M. and Deitel, P.J. (2001). C HOW TO
PROGRAM. 3rd edition. Prentice Hall, NJ.
Gottfried, B.S. (1996). Schaum’s Outline Series. Theory
and Problems of Programming with C. McGraw Hill, NY.
Ngoen. Th. S. (2004). Pengantar Algoritma dengan
Bahasa C. Penerbit Salemba Teknika.
Sedgewick, R. (1992). Algorithms in C++. Addison
Wesley.
Deitel, H.M. (2005). Visual c# - How to Program. 2nd
Edition. Prentice Hall,NJ.
19
COMPUTER TO – COMPUTE + ER
(Menghitung/Mengolah bilangan)
(Mengolah Data)
Penyimpanan Data
20
Algoritmaadalah sekumpulan langkah-langkah
terbatas untuk mencari solusi suatu masalah.
Berasal
dari kata algoris dan ritmis. Awalnya
diungkapkan oleh Al Khowarizmi.
Dipemrograman, algoritma didefinisikan
sebagai metode yang terdiri dari langkah-
langkah terstuktur untuk mencari solusi suatu
masalah dengan bantuan komputer.
22
Adalah kumpulan instruksi-instruksi tersendiri yang
biasanya disebut source code yang dibuat oleh
programmer (pembuat program)
Program adalah kumpulan instruksi atau perintah yang
disusun sedemikian rupa sehingga mempunyai urutan
nalar yang tepat untuk menyelesaikan suatu persoalan.
Instruksi (statement) yang dimaksud adalah syntax
(cara penulisan) sesuai dengan bahasa pemrograman
yang digunakan yang mempunyai komponen-
komponen : Input, Output, Proses, Percabangan dan
Perulangan.
Adalah alat untuk membuat program
Contoh: C, C++, C#, Pascal, Basic, Perl,
PHP, ASP, JHP, Java, dll.
COMPILE
Y Sintak Err
T
Executable code:
=> Run
Y
Output Err
T
DOKUMEN TASI
30
DEFINISI MEMBUAT RANCANG TULIS PROGRAM
MASALAH MODEL ALGORITMA
COMPILE
Masalah:
Tentukan akar-akar dari suatu persamaan Sintak Err
kwadrat.
Definisi: Executable code:
Persamaan kwadrat : ax^2 + bx + c = 0 => Run
Data yg diperlukan :
Nilai dari a, b dan c : tipe real Output Err
DOKUMEN TASI
31
DEFINISI MEMBUAT RANCANG TULIS PROGRAM
MASALAH MODEL ALGORITMA
COMPILE
Rumus ABC
Executable code:
x1 = (-b + sqrt(b^2 - 4ac))/2a => Run
x2 = (-b – sqrt(b^2 - 4ac))/2a
Output Err
DOKUMEN TASI
32
DEFINISI MEMBUAT RANCANG TULIS PROGRAM
MASALAH MODEL ALGORITMA
Start COMPILE
Masukkan a,b,c
Sintak Err
d = b^2 – 4ac
COMPILE
Sintak Err
Executable code:
=> Run
Output Err
DOKUMEN TASI
34
DEFINISI MEMBUAT RANCANG TULIS PROGRAM
MASALAH MODEL ALGORITMA
COMPILE
Sintak Err
Executable code:
=> Run
Output Err
DOKUMEN TASI
35
DEFINISI MEMBUAT RANCANG TULIS PROGRAM
MASALAH MODEL ALGORITMA
COMPILE
Sintak Err
Executable code:
=> Run
Output Err
DOKUMEN TASI
36
DEFINISI MEMBUAT RANCANG TULIS PROGRAM
MASALAH MODEL ALGORITMA
COMPILE
Sintak Err
Executable code:
=> Run
Output Err
DOKUMEN TASI
37
DEFINISI MEMBUAT RANCANG TULIS PROGRAM
MASALAH MODEL ALGORITMA
COMPILE
Sintak Err
Executable code:
=> Run
Output Err
DOKUMEN TASI
38
DEFINISI MEMBUAT RANCANG TULIS PROGRAM
MASALAH MODEL ALGORITMA
COMPILE
Sintak Err
Executable code:
=> Run
Output Err
DOKUMEN TASI
39
Algoritma bisa dibuat dengan:
• Teknik tulisan seperti : Structure english dan
Pseudocode.
• Teknik visual seperti : Flow chart.
40
Outline dari sebuah program komputer
Ditulis
dalam bahasa Inggris atau Indonesia
sederhana
Katakunci (keyword) digunakan untuk
menjelaskan struktur kendali (misalnya:
“jika”, “ulangi”, “sampai”,”if”,”repeat”, “until”)
41
Tujuh operasi dasar komputer:
1. Membaca data (Input)
2. Menampilkan data (Output)
3. Melakukan perhitungan aritmetika (Compute)
4. Memberikan nilai ke suatu identifier (Store)
5. Membandingkan dan Memilih (Compare)
6. Melakukan pengulangan (Loop)
7. Procedure dan atau Function
42
Sewaktu komputer menerima informasi atau
input, maka statement yang biasa digunakan
adalah “Read”, “Get”, “Baca” ,”Input” atau
“KeyIn”
Contoh:
Read Bilangan
Get kode_pajak
Baca nama_mahasiswa
43
Sewaktu komputer menampilkan informasi
ataupun output, maka statement yang biasa
digunakan adalah “Print”, “Write”, “Put”,
“Output”, “Display” ataupun “Cetak”
Contoh:
Print “Universitas Bina Nusantara”
Cetak “Metode Perancangan Program”
Output Total
44
Untuk melakukan operasi aritmetika digunakan
pseudocode berikut:
+ untuk penjumlahan (add)
- Untuk pengurangan (subtract)
* Untuk perkalian (multiply)
/ Untuk pembagian (divide)
() Untuk kurung
Statement “Compute”, “Calculate” ataupun
“Hitung” juga dapat digunakan.
Contoh:
Add number to total
Total = Total + number
45
Ada tiga cara untuk memberikan nilai ke dalam
variabel :
• Memberikan nilai awal, menggunakan statement
“Initialize” atau “Set”
• Memberikan nilai sebagai hasil dari suatu proses,
maka tanda “=“ digunakan
• Untuk menyimpan suatu nilai maka statement
“Save” atau “Store” digunakan
Contoh:
Set Counter to 0
Total = Harga * Jumlah
46
Salah satu operasi terpenting yang dapat
dilakukan komputer adalah membandingkan dan
memilih salah satu alternatif solusi.
Keyword yang digunakan : “IF”, “THEN” dan
“ELSE”
Contoh
IF Pilih=‘1’ THEN
Discount = 0.1 * harga
ELSE
Discount = 0.2 * harga
ENDIF
47
Jika
ada beberapa perintah yang harus diulang,
maka dapat digunakan keyword “DOWHILE”
dan “ENDDO”.
Contoh
48
Algoritma Menggunakan Kalkulator
Mulai
Nyalakan kalkulator
Kosongkan Kalkulator
Ulangi
Input harga
Tekan tombol Plus (+)
Sampai semua harga diinput
Tampilkan total harga
Matikan kalkulator
Selesai
49
Algoritma Berangkat Kuliah
Mulai
Bangun dari tempat tidur
Mandi Pagi
Sarapan Pagi
Pergi Ke Kampus
Cari Ruang Kuliah
Masuk kelas untuk Kuliah
Selesai
50
Algoritma Sarapan Pagi
Mulai
Ambil piring
Masukkan nasi dan lauk dalam piring
Ambil sendok dan garpu
Ulangi
Angkat sendok dan garpu
Ambil nasi dan lauk
Suapkan ke dalam mulut
Taruh sendok dan garpu
Kunyah
Sampai (nasi dan lauk habis) ATAU kekenyangan
Bereskan piring, sendok dan garpu
Selesai
51
Terminator Arah
Proses Konektor
Pemilihan
Pengulangan
52
Start
Masukkan
a,b,c
d = b^2 – 4ac
Y
d<0
T
x1=(-b+sqrt(d))/2a Cetak Pesan
x2 =(-b-sqrt(d))/2a “Akar imajiner”
Cetak
x1,x2
Stop
53
Mempunyai logika yang tepat untuk memecahkan
masalah.
Menghasilkan output yang benar dalam waktu
yang singkat.
Ditulis dengan bahasa baku terstruktur sehingga
tidak menimbulkan arti ganda.
Ditulis dengan format baku sehingga mudah
diimplementasikan kedalam bahasa
pemrograman.
Semua operasi didefinisikan dengan jelas dan
berakhir sesudah sejumlah langkah.
54
Pemrograman terstruktur merupakan pola
penyusunan program komputer hanya
dengan menggunakan tiga struktur kontrol
yaitu:
1. Sequence
2. Selection
3. Repetition
55
Sequence merupakan urutan pengerjaan dari
perintah/statement pertama sampai dengan
perintah/statement terakhir.
Umumnya bahasa pemrograman mempunyai
sequence (urutan pengerjaan dari perintah /
statement ) mulai dari atas ke bawah dan dari
kiri ke kanan.
Top-down
56
Contoh:
Cetak “Jumlah Mahasiswa”
Set Jumlah to 49
Cetak “Tambahan mahasiswa baru”
Baca mhs_baru
Jumlah = Jumlah + mhs_baru
Cetak “Jumlah Mahasiswa”
Cetak jumlah
Penjelasan
• Urutan pengerjaan adalah mulai dari urutan pertama sampai
dengan urutan terakhir, jika mhs_baru diisi dengan 2, maka
jumlah yang tercetak adalah 51
57
Struktur Kontrol Selection adalah
penggambaran sebuah kondisi dan pilihan
diantara dua aksi.
58
Contoh :
IF Hari=1 THEN
Cetak “Senin”
ELSE
Cetak “Bukan hari Senin”
Penjelasan
• Tulisan “Senin” akan ditampilkan jika Hari bernilai
1, jika tidak maka tulisan “Bukan hari Senin” yang
akan ditampilkan
59
Beberapa statement / perintah dapat diulang
dengan menggunakan struktur kontrol
repetition.
Statement/ perintah akan tetap diulang selama
kondisi perulangan memenuhi (jika
menggunakan DOWHILE – ENDDO)
60
Contoh:
Bintang = 0
DOWHILE bintang < 5
Cetak bintang
bintang = bintang + 1
ENDDO
Penjelasan:
• Pertama kali bintang akan diisi dengan 0, setelah itu isi
dari bintang akan dicetak sebanyak lima kali, sehingga
tampilannya akan sebagai berikut:
01234
61
1. Buatlah algoritma menggunakan pseudocode
untuk menghitung luas persegi panjang
2. Buatlah algoritma menggunakan pseudocode
untuk mengubah jam dan menit yang diinput
ke dalam satuan detik.
3. Buatlah algoritma menggunakan pseudocode
untuk menentukan apakah bilangan yang
diinput adalah bilangan ganjil atau bilangan
genap.
62
4. Buatlah algoritma menggunakan pseudocode
untuk menghitung luas lingkaran.
5. Buatlah algoritma menggunakan pseudocode
untuk menginput 3 buah bilangan, kemudian
tentukan bilangan terbesar, terkecil dan rata-
ratanya.
63
Ulangi
latihan no. 1 s/d no. 5 diatas
dengan menggunakan Flow Chart.
64
1. 2 kanibal naik perahu ke seberang kiri
2. Pindahkan 1 kanibal ke seberang kiri
3. Perahu kembali ke seberang kanan dgn 1 kanibal
4. Ulangi langkah 1-3
5. 2 misionaris naik perahu ke seberang kiri
6. Di seberang kiri, tukar 1 kanibal dgn 1 misionaris di perahu
7. Perahu kembali ke seberang kanan dgn 1 kanibal dan 1 misionaris
8. Di seberang kanan, tukar kanibal di perahu dgn 1 misionaris di
seberang kanan
9. Perahu kembali ke seberang kiri dgn 2 misionaris
10. Turunkan semua misionaris di perahu ke seberang kiri
11. Perahu kembali ke seberang kanan dgn 1 kanibal
12. Ulangi langkah 1-3
13. 2 kanibal naik perahu ke seberang kiri
14. Turunkan kedua kanibal ke seberang kiri
Ada 2 gelas kosong berukuran: 5 liter
dan 3 liter
Bagaimana cara kita mendapatkan air
berukuran 4 liter?
Bagaimana cara mendapatkan air
berukuran 2 liter?
Masukkan air ke 3 liter hingga penuh
Masukkan air 3 liter ke 5 liter, sisa 2 liter kosong
Masukkan air ke 3 liter hingga penuh
Tuangkan air 3 liter ke sisa 2 liter, berarti sisa 1 liter di
gelas 2 liter
Buang seluruh air di gelas 5 liter tadi
Tuangkan air 1 liter yg ada di gelas 3 liter tadi hingga
ke 5 liter kosong
Masukkan air ke 3 liter hingga penuh
Tuangkan 3 liter ke gelas 5 liter yang sudah ada 1 liter
tadi, hingga kita dapat 4 liter
Gelas 5 liter diisi penuh
Buang isinya ke gelas 3 liter
Sisa 2 liter di gelas 5 liter!
Mahasiswa mampu menjelaskan
Algoritma dan membuat Flowchart