KU1072 Pengenalan Teknologi Informasi B

Pengantar Berpikir Komputasional
dan Pemrograman Prosedural
Tim Penyusun Materi KU1072

KU1072/Pengenalan Teknologi Informasi B
Tahap Tahun Pertama Bersama
Institut Teknologi Bandung

Tujuan Pertemuan
• Mahasiswa mampu:

– Menjelaskan apa itu berpikir komputasional dan teknikteknik di dalamnya
– Menjelaskan bagaimana komputasi dimanfaatkan dalam
keilmuan fakultas/sekolah
– Memahami representasi dan pemrosesan data dan program
dalam mesin komputer
– Menjelaskan bagaimana proses dari source code menjadi
program dengan menggunakan kompilator/interpreter
– Menjelaskan apa yang dimaksud paradigma pemrograman
prosedural


19/01/2017

KU1072/Pengantar Berpikir Komputasi
dan Pemrograman Prosedural

2

Berpikir Komputasional

19/01/2017

KU1072/Pengantar Berpikir Komputasi
dan Pemrograman Prosedural

3

Pengantar
• Video: Computational Thinking_ A Digital Age Skill
for Everyone - YouTube [720p].mp4


19/01/2017

KU1072/Pengantar Berpikir Komputasi
dan Pemrograman Prosedural

4

Computational Thinking (CT)
Computational thinking is the thought processes
involved in formulating problems and their solutions
so that the solutions are represented in a form that can
be effectively carried out by an information-processing
agent.
Jan Cuny, Larry Snyder, and Jeannette M. Wing, "Demystifying
Computational Thinking for Non-Computer Scientists", 2010

19/01/2017

KU1072/Pengantar Berpikir Komputasi
dan Pemrograman Prosedural


5

Vision
A fundamental skill used by everyone by
the middle of the 21st century (i.e., like
readi g, riti g, a d arith eti .
J.M. Wi g, Co putatio al Thi ki g, CACM ie poi t, ol. 49
no. 3, March 2006, pp. 33-35.

19/01/2017

KU1072/Pengantar Berpikir Komputasi
dan Pemrograman Prosedural

6

Kemampuan Berpikir Komputasional (2)
Merepresentasikan himpunan keterampilan (skill) dan
perilaku (attitude) yang secara universal harus

dipelajari dan digunakan, tidak hanya oleh para
computer scientist

Jea ette M. Wi g, Co putatio al Thi ki g , 2006

19/01/2017

KU1072/Pengantar Berpikir Komputasi
dan Pemrograman Prosedural

7

Teknik-Teknik yang Digunakan
• Dekomposisi persoalan (problem
decomposition)
• Pengenalan pola (pattern recognition)
• Generalisasi pola dan abstraksi (pattern
generalization and abstraction)
• Rancangan algoritma (algorithm design)
• Analisis data dan visualisasi


19/01/2017

KU1072/Pengantar Berpikir Komputasi
dan Pemrograman Prosedural

8

Pemanasan

19/01/2017

KU1072/Pengantar Berpikir Komputasi
dan Pemrograman Prosedural

9

Instruksi-0
• Siapkan di atas meja selembar kertas A4, pensil,
pulpen (jika ada pulpen merah lebih bagus) dan

penghapus
• Berikan nama, NIM, dan kelas di pojok kanan atas

• Carilah seorang teman sebagai partner diskusi

19/01/2017

KU1072/Pengantar Berpikir Komputasi
dan Pemrograman Prosedural

10

Balada Mahasiswa TPB...
• Asep, seorang mahasiswa TPB ITB, pada hari pertama kuliah,
terlambat bangun. Malam sebelumnya dia terlalu asik main
game sehingga baru tidur jam 1 malam. Padahal dia ada
jadwal kuliah jam 7 pagi yang dosennya kabarnya galak.
• Teman sekelas dan sekosnya, Dadan, yang lebih rajin, sudah
berangkat ke kampus. Masalahnya Asep belum hafal jalan ke
kampus (dia baru pindah kos).

• Untungnya Dadan adalah teman yang baik hati. Sebelum
berangkat dia meninggalkan sebuah peta jalan ke kampus
yang berisi beberapa alternatif jalan ke Gedung Kuliah.
• Ada beberapa masalah: Asep takut pada anjing galak dan
sekarang sudah pukul 6.35.
19/01/2017

KU1072/Pengantar Berpikir Komputasi
dan Pemrograman Prosedural

11

10
Cafe Pojok

PETA DADAN

2

Bubur Ayam

Pak Kumis

3

4

3
Supermarket
Besar

Warung Tegal
Sedap

19/01/2017

Anjing Galak

3
Pet shop


2

7

Pos Polisi

1

Anjing Galak

Gedung Kuliah

3
2

10

5

1


3

5

Gerbang
Selatan

Kos

Rumah
Kuning

5
3

2

4


1

Gerbang
Utara

9
KU1072/Pengantar Berpikir Komputasi
dan Pemrograman Prosedural

Angka pada segmen
jalan adalah waktu
tempuh (dalam menit)
12

1) Temukan semua rute yang dari kos
Asep ke gedung kuliah

Coba tuliskan langkah-langkah yang
Anda lakukan untuk persoalan tersebut.

19/01/2017

KU1072/Pengantar Berpikir Komputasi
dan Pemrograman Prosedural

13

10

Semua rute yang
digambar Dadan bisa
mengantar Asep ke
gedung kuliah
Tapi …..

Cafe Pojok

2

Bubur Ayam
Pak Kumis

3

4

3
Supermarket
Besar

5

Gedung Kuliah

7

19/01/2017

3
2

Warung Tegal
Sedap

10

Pos Polisi

Anjing Galak

1

Anjing Galak

Ada rute yang
memakan waktu
> 25 menit
Gerbang
Selatan

1

3

5

Ada rute dengan
anjing galak…

Kos

3
Pet shop

2

Rumah
Kuning

5
3

2

4

1

Gerbang
Utara

9
KU1072/Pengantar Berpikir Komputasi
dan Pemrograman Prosedural

Angka pada segmen
jalan adalah waktu
tempuh (dalam menit)
14

2) Temukan rute yang setidaknya aman
buat Asep… artinya dia tidak melewati
anjing galak 
Apa yang harus diubah dari langkahlangkah yang sudah dituliskan
sebelumnya?

19/01/2017

KU1072/Pengantar Berpikir Komputasi
dan Pemrograman Prosedural

15

10

Asal tidak melewati
segmen jalan yang
diberi warna merah,
aman….
Tapi …..

Cafe Pojok

2

Bubur Ayam
Pak Kumis

3

4

3
Supermarket
Besar

Warung Tegal
Sedap

Gedung Kuliah

7

19/01/2017

Pos Polisi

Anjing Galak

1

Anjing Galak

3
Pet shop

2

5

3
2

10

Gerbang
Selatan

1

3

5

Ada rute yang
memakan waktu
> 25 menit

Kos

Rumah
Kuning

5
3

2

4

1

Gerbang
Utara

9
KU1072/Pengantar Berpikir Komputasi
dan Pemrograman Prosedural

Angka pada segmen
jalan adalah waktu
tempuh (dalam menit)
16

3) Temukan rute yang aman buat Asep
- artinya dia tidak melewati anjing galak
– dan dia tetap bisa sampai paling
lambat jam 7 pagi di kampus (waktu
tempuh harus 1100

19/01/2017

KU1072/Pengantar Berpikir Komputasi
dan Pemrograman Prosedural

76

Bagaimana Program
dibuat?

19/01/2017

KU1072/Pengantar Berpikir Komputasi
dan Pemrograman Prosedural

77

Program Menghitung Tabungan
Program MenghitungTabungan
{ Menghitung tabungan setelah 1 tahun berdasarkan masukan
dari pengguna }
KAMUS
NilaiTabungan : real { nilai simpanan dalam tabungan, dlm.
rupiah }
ALGORITMA
... { flowchart dan notasi algoritmik lihat pada slide-slide
berikutnya }

19/01/2017

KU1072/Pengantar Berpikir Komputasi
dan Pemrograman Prosedural

78

Flowchart-1: Menghitung Tabungan
mulai

Input variabel NilaiTabungan
dari keyboard (masukan
pengguna)

input
(NilaiTabungan)

NilaiTabungan = NilaiTabungan +
(NilaiTabungan * 0.1)

output
(NilaiTabungan)

Mengubah nilai variabel
NilaiTabungan sesuai rumus

Menampilkan isi variabel
NilaiTabungan saat ini (setelah
perhitungan) ke monitor

selesai

19/01/2017

KU1072/Pengantar Berpikir Komputasi
dan Pemrograman Prosedural

79

Notasi Algoritmik-1:
Menghitung Tabungan
input ( NilaiTabungan )

NilaiTabungan  NilaiTabungan + ( NilaiTabungan * 0.1 )
output ( NilaiTabungan )

19/01/2017

KU1072/Pengantar Berpikir Komputasi
dan Pemrograman Prosedural

80

Flowchart-2: Menghitung Tabungan
mulai
output Masukka ta u ga :

Menampilkan ke layar tulisan
Masukka ta u ga

input (NilaiTabungan)
NilaiTabungan = NilaiTabungan +
(NilaiTabungan * 0.1)
output Tahu depa =>

output
(NilaiTabungan)

Menampilkan ke layar tulisan
Tahu depa =>

selesai
19/01/2017

KU1072/Pengantar Berpikir Komputasi
dan Pemrograman Prosedural

81

Notasi Algoritmik-2:
Menghitung Tabungan
output
Masukkan tabungan:
input ( NilaiTabungan )
NilaiTabungan  NilaiTabungan + ( NilaiTabungan * 0.1 )
output
Tahun depan =>
output ( NilaiTabungan )

19/01/2017

KU1072/Pengantar Berpikir Komputasi
dan Pemrograman Prosedural

82

Program = Algoritma + Struktur Data
Struktur
Data

Algoritma

19/01/2017

input (NilaiTabungan)
NilaiTabungan  NilaiTabungan +
(NilaiTabungan * 0.1)
output( NilaiTabungan )
KU1072/Pengantar Berpikir Komputasi
dan Pemrograman Prosedural

83

Kode Program Bahasa C++
input (NilaiTabungan)
NilaiTabungan  NilaiTabungan + (NilaiTabungan * 0.1)
output(NilaiTabungan)

cin: Console Input
(diketikkan lewat
keyboard)

cout: Console Output

19/01/2017

cin >> NilaiTabungan;
NilaiTabungan = NilaiTabungan +
NilaiTabungan * 0.1;
cout > NilaiTabungan;
NilaiTabungan = NilaiTabungan + NilaiTabungan * 0.1;
cout