Anda di halaman 1dari 32

Pengantar Teknologi Informasi:

Algoritma
S E M E S TE R 1 2017 /20 18
AD E IRAWAN

9/9/17 1
P
Per engan
kul tar
i ah
an

9/9/17
E
Dun ksplo
ia D rasi
igit
al
Tug
kom Be as 1
put rpik
asio ir
nal
Pem Ba
rog hasa
ram
an
PTI: Algoritma

Kuis
Pem
ro B 1
gra ahasa
ma
n II
Ana Pra
ktk
Per lisis Ka
cab u mM
ang sus od u
an l1
Komputasional

Per
cab
a
Lan ngan
juta
n
Pra
Week 2 Berpikir

Rev ktk
iew u
Ma mM
teri od u
l2
Tug
as 2
,
Ujia
di K
n Te e las
Sem ngah
est
er
Ana
Pen lisis Ka
gul
ang sus
an
Ana Pra Kuis
Pen lisis ktk 2
gul Kas
ang us u mM
an odu
l
II 3
Sub Tug
as 3
p rog
ram

Pra
ktk
Fun u mM
g si od u
l4

Arr
ay
Pra
ktk
Arr u mM
ay I
I odu
l 5
Rev
iew
Ma
teri
Tug
as 4
,
Ujia
n
2

di K
elas
Sem Akhir
est
er
Tujuan
1. Mahasiwa mampu menjelaskan apa yang
dimaksud berpikir secara komputasional
2. Mahasiswa mampu merancang algoritma
dalam menyelesaikan suatu permasalahan
sederhana
3. Mahasiswa mampu merepresentasikan
algoritma dalam flowchart
https://s3.wp.wsu.edu/uploads/sites/90/2015/06/image13.jpg

9/9/17 3
Why Computational Thinking ?
It is a fundamental skill for the modern world
Learn to approach and solve problem effectvely
Define the problem well
How should data be organized, structured?
What procedures could be applied to create the outcome that need to be
produced
Think creatvely about different approaches
How should we break it down into parts?
Implement a suitable soluton
Test and check that it works properly
Consider whether it can be improved

9/9/17 4
Keuntungan Berpikir Komputasi
Percaya diri dalam berhadapan dengan kompleksitas
masalah yang lebih besar dan lebih sulit
Toleransi terhadap ambiguitas
Mampu berhubungan dengan masalah yang open ended
Mampu berkomunikasi dan bekerjasama untuk mencapai
tujuan yang sama

9/9/17 5
What is
Computatio
nal
Thinking?

6 9/9/17 https://blogit.itu.dk/ethos/wp-content/uploads/sites/14/2015/11/t_computatonalthinking.jpg
Computational Thinking
Computational Thinking is the thought process involved in
formulating a problem and expressing its solution(s) in
such a way that a computerhuman or machinecan
effectively carry out. Computng device Executed by a human or a machine

(Jeannette M. Wing, 2014)

9/9/17 7
Understand which aspects of a problem are
Computational amenable to computaton,
thinking for Evaluate the match between computatonal tools
everyone means and techniques and a problem,
being able to: Understand the limitatons and power of
computatonal tools and techniques,
Apply or adapt a computatonal tool or technique to
a new use,
Recognize an opportunity to use computaton in a
new way, and
Apply computatonal strategies such divide and
conquer in any domain.

9/9/17 8
Apply new computatonal methods to their
problems,
Reformulate problems to be amenable to
Computational computatonal strategies,
thinking for
scientists, engineers, Discover new science through analysis of large
and other data,
professionals further
means being able to: Ask new questons that were not thought of or
dared to ask because of scale, but which are
easily addressed computatonally, and
Explain problems and solutons in
computatonal terms.

9/9/17 9
Computational Thinking Examples in
Daily Life
1. Mencari NIM dari buku database seluruh mahasiswa
UP
- Bagaimana mengurangi waktu pencarian?
Binary search
2. Antrian tket
- Ada 5 line antrian, bagaimana mendapatkan tket
dengan cepat?
Parallel processing
sources: https://pixabay.com

3. Bagaimana cara ke Pondok Indah Mall dari UP ?

9/9/17 10
Direction From UP to PIM,
How Do You Think ?
1. Thought it through your head Mental Model
2. Developed step-by-step route Algorithm
What is the best way to get there ? Reduce number of lights and turns
Efficiency

3. What if scenarios Logical Thinking


Football game
Weather
Accidents

4. How to effectvely give any directons ? Abstracton


5. How to design a system like Google Maps ? Automaton
9/9/17 11
Computational Thinking Process
3 Stages:
1. Problem Formulaton (abstracton)
2. Soluton Expression (automaton)
3. Soluton Executon and Evaluaton (analyses)
Core:
4. What process to formulate
and resolve a problem
5. How to combine the abilites of
human thinking + computer
to do so source: https://magazine.swissinformatcs.org/en/computatonal-thinking--programming/

9/9/17 12
Terms in Problem Formulation
1. Decompositon: reformulatng a seemingly difficult problem into one we
know how to solve
2. Pattern recogniton
3. Abstracton:
- pulling out the important details
- Identfying principles that apply to other problems/situatons
Example: Queue
- People standing in line at the store
- List of print jobs waitng to be printed
- Vehicles lined up behind a toll booth
- Patents waitng to see the doctor
9/9/17 13
Decomposition
Suatu masalah dipecah menjadi
beberapa sub-masalah yang lebih kecil
Matematka: 256 = 2 * 100 + 5 * 10 + 6 * 1
Sistem perpustakaan
Peminjaman buku
Anggota
Dosen
Mahasiswa
Program komputer: ?

9/9/17 14
Algorithm
for
Solution
Expressio
n

http://www.smartworkforcestrategies.com/Portals/0/SunBlogNuke/263/photodune-11682657-algorithm-puzzle-on-the-place-of-missing-pieces-m.jpg

9/9/17 15
Muammad bin Ms
al-Khawrizm a
9th century Persian
mathematcian

What is Algorithm?
A sequence of steps for solving a problem.
Why it is important ?
- we use it in daily life to describe a solutons to
problems
- computer programs execute algorithms to
perform specific tasks.

https://fthmb.tqn.com/zNipah4mrhzmS1CnOSPvzmTs-7E=/1200x805/filters:fill(auto,1)/about/Al-Khwarizmi-head-5693a8955f9b58eba491f07c.jpg

9/9/17 16
Berpikir Prosedural
Sejumlah aksi dijalankan secara
berurutan (sekuensial)
Setap aksi akan memberikan efek
eksekusi tertentu
Jika diikut terus menerus, aksi-aksi
ini harus selesai
Tidak bisa terus menerus

9/9/17 17
How do you go to
school every
morning?

9/9/17 18
Take this example

9/9/17 19
Example (Contd)
1. Jika alarm berbunyi
2. Matkan alarm
3. Bangun
4. Mandi
5. Berpakaian
6. Makan
7. Cek cuaca
1. Jika hari cerah, jalan ke sekolah
2. Jika hari hujan, pergi dengan orang tua
Bagaimana cara merepresentasikan algoritma sehingga mudah dipahami?

9/9/17 20
Flowchart
Graphical representaton of a process or the
step-by-step soluton of a problem, using
suitably annotated geometric figures
connected by flowlines for the purpose of
designing or documentng a process or
program

https://upload.wikimedia.org/wikipedia/commons/thumb/9/91/LampFlowchart.svg/1200px-LampFlowchart.svg.png

9/9/17 21
Flowchart Notation
The terminator symbol marks the startng or ending point of the system. It
terminator
usually contains the word Start or End

flow lines Lines indicate the sequence of steps and the directon of flow

A box can represent a single step (add two cups of flour), or and entre sub-
process process (make-bread) within a larger process

Represents material or informaton entering or leaving the system, such as


Input/output customer order (input) or a product (output)

A decision or branching point. Lines representng different decisions emerge


decision
from different points of the diamond

9/9/17 22
Flowchart Rerpresentation: Go to
School
start

end

9/9/17 23
How to think
computationally?
memberikan pemecahan masalah menggunakan komputer atau
perangkat computng lain
mengorganisasi dan menganalisa data
melakukan representasi data melalui abstraksi dengan suatu model
atau simulasi
melakukan otomatsasi solusi melalui cara berpikir algoritma
(sekumpulan langkah terurut)
melakukan identfikasi, analisa dan implementasi solusi dengan
berbagai kombinasi langkah/cara dan sumberdaya yang efisien dan
efektf
melakukan generalisasi solusi untuk berbagai masalah berbeda

http://wordpress.inteligistcs.com/wordpress/wp-content/uploads/2015/11/data_small.jpg

9/9/17 24
Data
Abstracti
on

http://www.yunaxtech.com/wp-content/uploads/2017/02/data-abstracton-2.png

9/9/17 25
70
abstraksi data adalah
representasi suatu data
Suhu air dengan konteks masalahnya

Kecepatan
Berat badan benda bergerak

celcius kilogram Km/h

9/9/17 26
Data Mahasiswa dengan 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

9/9/17 27
Your turn!
9/9/17 28
Summary: What this type of
thinking is
and What it is NOT
1. It is conceptualizing, not programming.
2. It is a fundamental skill, not a rote skill.
3. It is a way that humans, not computng device, think.
Thinking with a computng device, not thinking like it.
4. It complements and combines mathematcal and engineering thinking,
not dissociate.
5. The products are ideas, not artfacts.
6. It is for everyone, not for a computer scientst only.

9/9/17 29
Conclusion
1. Kita sudah mengetahui apa itu berpikir komputasional
2. Hubungan antara berpikir komputasional dan algoritma
3. Flowchart
4. Berpikir prosedural

9/9/17 30
P
Per engan
kul tar
i ah
an

9/9/17
E
Dun ksplo
ia D rasi
igit
al
Tug
kom Be as 1
put rpik
asio ir
nal
Pem Ba
PE2104

rog hasa
ram
an
Kuis
Pem
ro B 1
gra ahasa
ma
n II
Ana Pra
ktk
Per lisis Ka
cab u mM
Pengantar Teknologi Informasi - Algoritma

ang sus od u
an l1
Per
cab
a
Lan ngan
juta
n
Rev Pra
iew ktk
Ma u mM
teri od u
l2
Tug
as 2
,
Ujia
di K
n Te e las
Sem ngah
est
er
Ana
Pen lisis Ka
gul
ang sus
an
Pertemuan Minggu Ke - 2

Ana Pra Kuis


Pen lisis ktk 2
gul Kas
ang us u mM
an odu
l
II 3
Sub Tug
as 3
p rog
ram

Pra
ktk
Fun u mM
g si od u
l4

Arr
ay
Pra
ktk
Arr u mM
ay I
I odu
l 5
Rev
iew
Ma
teri
Tug
as 4
,
Ujia
n
31

di K
elas
Sem Akhir
est
er
Terima kasih
CS0012 PENGANTAR TEKNOLOGI INFORMASI -
ALGORITMA

9/9/17 32