4 1
3
Supermarket 3
Besar
3
5 Pos Polisi
2
Warung Tegal
10 Sedap Anjing Galak
1
Anjing Galak
3
2 Pet shop
Gerbang Rumah
5 4
Selatan Kuning 2
3
1
5
> 25 menit
Gerbang Rumah
5 4
Selatan Kuning 2
3
1
5
Gerbang Rumah
5 4
Selatan Kuning 2
3
1
5
menit
4 1
3
Supermarket Alt. 1 3
Besar
3
5 Pos Polisi
2
Warung Tegal
10 Sedap Anjing Galak
1
Anjing Galak
3
2 Pet shop
Gerbang Rumah
5 4
Selatan Kuning 2
3
1
5
Alt. 2
Gedung Kuliah
7 Gerbang 9
Utara
KU1072/Pengantar Berpikir Komputasi
01/26/2021 19
dan Pemrograman Prosedural
5) Asumsikan Anda diberi peta lengkap
dengan waktu tempuh untuk setiap segmen
jalan dari satu tempat ke tempat lain….
Bisakah Anda menemukan rute
terpendek antara:
- Kampus ITB dan Gedung Sate
- Kos Anda dengan Taman Hutan
Raya Juanda
Bagaimana langkahnya?
KU1072/Pengantar Berpikir Komputasi
01/26/2021 20
dan Pemrograman Prosedural
Nama Terpendek
• Pak Budi, dosen PTI-B kelas X, ingin menunjuk ketua kelas dan wa
kil ketua kelas di kelasnya. Pak Budi paling malas menghafal nam
a orang, jadi dia akan menunjuk mahasiswa dengan nama panggi
lan paling pendek (dari jumlah huruf) sebagai ketua kelas.
• Kalau ada lebih dari satu mahasiswa yang jumlah hurufnya sama,
maka yang akan diminta menjadi ketua kelas adalah yang abjadn
ya berada di urutan terkecil dari alfabet (A lebih kecil dari B, ds
t.). Kalau ternyata masih sama, baru mereka disuruh suit
• Pak Budi malas melihat daftar hadir. Dia meminta mahasiswa di k
elasnya untuk menentukan siapa mahasiswa dengan nama terpe
ndek.
Apakah di
t6 akan
turun atau
naik ?
to t1 t2 t3 t4 t5 t6
– Dalam ilmu matematika, kita dapat mengikuti suatu pola untuk menjelaskan logika meng
apa perkalian antara dua buah bilangan negatif hasilnya adalah positif:
• -3 * 3 = -9
• -3 * 2 = -6
• -3 * 1 = -3
• -3 * 0 = 0
• -3 * -1 = 3
• -3 * -2 = 6 dst
KU1072/Pengenalan Teknologi
01/26/2021 48
Informasi B
Contoh Kompilasi dan Eksekusi
Beli kentang
Pilihan
Proses
Alur
pilihan
Alur
KAMUS
... { belum digunakan }
ALGORITMA
... { flowchart dan notasi algoritmik lihat pada slide-slide
berikutnya }
KU1072/Pengantar Berpikir Komputasi
01/26/2021 59
dan Pemrograman Prosedural
Flowchart:
Memasak Kentang untuk Makan Malam
Mulai
Kentang
Kentang Tidak Beli
Beli Kentang
Kentang
Tersedia?
Tersedia?
Ya
Kupas Kentang
Goreng Kentang
goreng
Rebus Kentang Selesai
rebus
Dimasak
apa? Buat Sup
supKU1072/Pengantar Berpikir Komputasi
01/26/2021 60
dan Pemrograman Prosedural
Notasi Algoritmik:
Memasak Kentang untuk Makan Malam
KAMUS
... { belum digunakan }
ALGORITMA
... { flowchart dan notasi algoritmik lihat pada slide-slide
berikutnya }
Ya Perbaiki Jarum
Jarum panjang dan pendek
Bergerak pada lokasi yang tepat
?
Tidak
Ganti
Baterai Baru Apa yang salah
dengan flowchart
Selesai ini??
KU1072/Pengantar Berpikir Komputasi
01/26/2021 64
dan Pemrograman Prosedural
Flowchart-2:
Perbaikan Jam Dinding
Mulai
Ya Perbaiki Jarum
Jarum panjang dan pendek
Bergerak pada lokasi yang tepat
?
Tidak
Perbaiki Jarum
Jarum Ya panjang dan
Bergerak pendek pada
? lokasi yang tepat
Tidak
Ya
Selesai
KU1072/Pengantar Berpikir Komputasi
01/26/2021 67
dan Pemrograman Prosedural
Notasi Algoritmik
Setara dengan Flowchart-3
if jarum_bergerak? = tidak then
Ganti_Baterai_Baru
{ Di titik ini jarum jam sudah pasti bergerak }
repeat
Perbaiki_Letak_Jarum_Jam
Periksa_Jam_Setelah_2_Hari
if jarum_jam_tepat? = tidak then
Ganti_Baterai_Baru
until (jarum_jam_tepat? = ya)
Berat Badan?
Kecepatan
Kendaraan
Bergerak
Kecepatan
75 Kendaraan
Bergerak
derajat
Celcius Km/jam
Kilogram
KU1072/Pengantar Berpikir Komputasi
01/26/2021 71
dan Pemrograman Prosedural
Data Mahasiswa vs Data Penduduk
Struktur
Data
NIM: Nomor KTP:
Nama Nama
Kota Lahir Kota Lahir
Tanggal Lahir Tanggal Lahir
Nama Ayah Nama Ayah
Nama Ibu Nama Ibu
output
(NilaiTabungan) Menampilkan isi variabel
NilaiTabungan saat ini (setelah
perhitungan) ke monitor
selesai
input ( NilaiTabungan )
output ( NilaiTabungan )
NilaiTabungan = NilaiTabungan +
(NilaiTabungan * 0.1)
selesai
KU1072/Pengantar Berpikir Komputasi
01/26/2021 81
dan Pemrograman Prosedural
Notasi Algoritmik-2:
Menghitung Tabungan
output (“Masukkan tabungan:”)
input ( NilaiTabungan )
Struktur
Data
input (NilaiTabungan)
NilaiTabungan NilaiTabungan +
Algoritma (NilaiTabungan * 0.1)
output( NilaiTabungan )
input (NilaiTabungan)
NilaiTabungan NilaiTabungan + (NilaiTabungan * 0.1)
output(NilaiTabungan)
KAMUS
! KAMUS
NilaiTabungan : real { nilai simpanan dalam tabungan, dlm.
real :: NilaiTabungan
rupiah }
! ALGORITMA
read *, NilaiTabungan
ALGORITMA
NilaiTabungan := NilaiTabungan + NilaiTabungan * 0.1
input ( NilaiTabungan )
print *, NilaiTabungan
NilaiTabungan NilaiTabungan + ( NilaiTabungan * 0.1 )
endoutput
program( NilaiTabungan )
HitungUangDiBank