• Tidak ada hasil yang ditemukan

KU1072 Pengenalan Teknologi Informasi B

N/A
N/A
Protected

Academic year: 2018

Membagikan "KU1072 Pengenalan Teknologi Informasi B"

Copied!
91
0
0

Teks penuh

(1)

KU1072/Pengenalan Teknologi Informasi B

Tahap Tahun Pertama Bersama

Institut Teknologi Bandung

Pengantar Berpikir Komputasional

dan Pemrograman Prosedural

(2)

Tujuan Pertemuan

Mahasiswa mampu:

Menjelaskan apa itu berpikir komputasional dan

teknik-teknik 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

(3)

Berpikir Komputasional

19/01/2017 KU1072/Pengantar Berpikir Komputasi

(4)

Pengantar

(5)

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

(6)

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

(7)

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

(8)

Teknik-Teknik yang Digunakan

Dekomposisi persoalan (

problem

decomposition)

Pengenalan pola (

pattern recognition

)

Generalisasi pola dan abstraksi (

pattern

generalization and abstraction

)

Rancangan algoritma (

algorithm design

)

(9)

Pemanasan

19/01/2017 KU1072/Pengantar Berpikir Komputasi

(10)

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

(11)

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

(12)

Cafe Pojok

Bubur Ayam Pak Kumis

Rumah Kuning Anjing Galak

Pet shop Warung Tegal Sedap

Gerbang Gerbang

Selatan

Pos Polisi Supermarket

Besar

Anjing Galak

3

1

PETA DADAN

(13)

19/01/2017 KU1072/Pengantar Berpikir Komputasi

dan Pemrograman Prosedural 13

1) Temukan semua rute yang dari kos

Asep ke gedung kuliah

(14)

Cafe Pojok

Bubur Ayam Pak Kumis

Rumah Kuning Anjing Galak

Pet shop Warung Tegal Sedap

Gerbang Gerbang

Selatan

Pos Polisi Supermarket

Besar

Anjing Galak

3

1

Semua rute yang

digambar Dadan bisa

mengantar Asep ke

gedung kuliah

Tapi

…..

Angka pada segmen

Ada rute dengan

(15)

19/01/2017 KU1072/Pengantar Berpikir Komputasi

dan Pemrograman Prosedural 15

2) Temukan rute yang setidaknya aman

buat Asep

artinya dia tidak melewati

anjing galak

Apa yang harus diubah dari

langkah-langkah yang sudah dituliskan

(16)

Cafe Pojok

Bubur Ayam Pak Kumis

Rumah Kuning Anjing Galak

Pet shop Warung Tegal Sedap

Gerbang Gerbang

Selatan

Pos Polisi Supermarket

Besar

Anjing Galak

3

1

Asal tidak melewati

segmen jalan yang

diberi warna merah,

aman

….

Tapi

…..

Angka pada segmen

Ada rute yang

(17)

19/01/2017 KU1072/Pengantar Berpikir Komputasi

dan Pemrograman Prosedural 17

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 <= 25 menit)

Apa yang harus diubah dari

langkah-langkah yang sudah dituliskan

(18)

4) Bonus: Temukan rute paling pendek

yang aman dan Asep bisa sampai di

gedung kuliah tepat waktu.

Apa yang harus diubah dari

langkah-langkah yang sudah dituliskan

(19)

19/01/2017 KU1072/Pengantar Berpikir Komputasi

dan Pemrograman Prosedural 19

Cafe Pojok

Bubur Ayam Pak Kumis

Rumah Kuning Anjing Galak

Pet shop Warung Tegal Sedap

Gerbang Utara Gerbang

Selatan

Pos Polisi Supermarket

Besar

Gedung Kuliah

Kos

Anjing Galak

3

1

Alt. 1

Alt. 2

Merah

: rute terpendek

dan aman dengan

(20)

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

(21)

Nama Terpendek

Pak Budi, dosen PTI-B kelas X, ingin menunjuk ketua kelas dan

wakil ketua kelas di kelasnya. Pak Budi paling malas menghafal

nama orang, jadi dia akan menunjuk mahasiswa dengan nama

panggilan 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

abjadnya berada di urutan terkecil dari alfabet (A lebih kecil dari

B, dst.). Kalau ternyata masih sama, baru mereka disuruh suit

Pak Budi malas melihat daftar hadir. Dia meminta mahasiswa di

kelasnya untuk menentukan siapa mahasiswa dengan nama

terpendek.

19/01/2017 KU1072/Pengantar Berpikir Komputasi

(22)

Palindrom

Suatu kata disebut

palindrom

jika dibaca dari

belakang dan dari depan sama.

Contoh kata palindrom adalah:

TAMAT

KATAK

KASURRUSAK

NABABAN

Jika diberikan suatu kata, bagaimana kita

menentukan kata itu palindrom atau bukan?

SOAL UTS

SEMESTER

(23)

Sebenarnya apa yang baru saja

kalian lakukan??

23 19/01/2017 KU1072/Pengantar Berpikir Komputasi

(24)

CT is about logical thinking

Bagaimana kalian memecahkan setiap persoalan?

DIPIKIRKAN DENGAN KEPALA

membangun

MENTAL MODEL

Berpikir komputasional adalah

cara bagaimana

MANUSIA

(bukan KOMPUTER)

(25)

Dekomposisi Persoalan (1)

Pada saat memecahkan persoalan:

dekomposisi

persoalan menjadi persoalan yang sederhana dan

dapat dipecahkan terlebih dahulu

Pencarian rute: Tahapan memecahkan masalah:

1. Temukan semua rute dari kos Asep ke gedung kuliah

2. Cari rute aman (tidak ada anjing galak)

3. Cari rute yang < 25 menit

4. Cari rute yang paling pendek dan aman

19/01/2017 KU1072/Pengantar Berpikir Komputasi

(26)

Dekomposisi Persoalan (2)

Problem Decomposition

:

Ability to break down a task into minute details so

that we can clearly explain a process to another

person or to a computer or even to just write

notes for ourselves

(27)

Dekomposisi Persoalan (3-1)

Contoh lain:

Dekomposisi masakan menjadi bahan-bahan dan

langkah pembuatannya

Dekomposisi bilangan 256.37 menjadi 2*10

2

+

5*10

1

+ 6*10

0

+ 3*10

-1

+ 7*10

-2

Dekomposisi bilangan menjadi faktor prima,

misalnya: 20 = 2 * 2 * 5

19/01/2017 KU1072/Pengantar Berpikir Komputasi

(28)

Dekomposisi Persoalan (3-2)

Contoh lain:

(29)

Pengenalan Pola (1)

Pattern recognition

:

Ability to notice

similarities

or

common

differences

that help us make predictions or lead

us to shortcuts

Dekomposisi persoalan

sering memberikan

petunjuk ke arah ditemukannya pola

19/01/2017 KU1072/Pengantar Berpikir Komputasi

(30)

Pengenalan Pola (2)

Contoh: Pola langkah pada persoalan mencari 1 buah

rute dari kos Asep ke gedung kuliah:

1. Pilih satu segmen jalan dari kos Asep. Simpan waktu

tempuhnya dan tandai bahwa segmen itu sudah dilalui.

Catat bahwa: masih ada alternatif segmen jalan dari kos

Asep yang belum dicoba.

2. Jika ditemukan cabang, pilih salah satu segmen jalan yang

belum ditandai. Akumulasikan waktu tempuh pada segmen

jalan itu dan tandai lagi bahwa segmen jalan itu sudah

dilalui. Catat bahwa: ada alternatif jalan dari cabang yang

belum dicoba.

(31)

Pengenalan Pola (3)

Contoh lain:

Orang yang bekerja di pasar saham mengamati pola-pola dalam harga

saham untuk menentukan kapan mereka harus jual atau beli

Dalam ilmu matematika, kita dapat mengikuti suatu pola untuk

menjelaskan logika mengapa perkalian antara dua buah bilangan

negatif hasilnya adalah positif:

-3 * 3 = -9

19/01/2017 KU1072/Pengantar Berpikir Komputasi

dan Pemrograman Prosedural 31

to

t1

t2

t3

t4

t5

t6

Apakah di

t6 akan

turun atau

(32)

Generalisasi Pola dan Abstraksi (1)

Abstraction:

ability to filter information that is not necessary to

solve a certain type of problem

Pulling out important details, identifying principles to

other problems/situations

Pattern generalization:

ability to generalize information that is necessary

(33)

Generalisasi Pola dan Abstraksi

Contoh generalisasi pola (dan karenanya

membutuhkan abstraksi):

Pada persoalan pencarian rute: bagaimana jika

langkah-langkah pencarian rute dari kos Asep ke gedung kuliah,

dipakai juga pada persoalan mencari rute dari X ke Y ?

Pada persoalan nama terpendek: bagaimana jika ingin

dicari mahasiswa yang paling tinggi/pendek, atau ingin

dicari bola yang paling berat/paling ringan?

Pada persoalan palindrom: bagaimana kalau ingin dicari

tanggal yang palindrom? Contoh: 21-11-12 (21 November

2012)

19/01/2017 KU1072/Pengantar Berpikir Komputasi

(34)

Generalisasi Pola dan Abstraksi (2)

Contoh abstraksi:

Peta dunia merupakan abstraksi dari bumi dalam bentuk

garis lintang dan bujur yang membantu kita

mendeskripsikan lokasi geografis dari suatu tempat

Dalam matematika, kita dapat men-generalisasi

rumus/formula untuk pemecahan persoalan dengan

menggunakan berbagai variabel, misalnya:

(35)

Bandung on Google Maps (1)

35 19/01/2017 KU1072/Pengantar Berpikir Komputasi

(36)
(37)

Desain Algoritma (1)

Algorithm design:

ability to develop step-by-step

strategy for solving a problem

Berbasis pada dekomposisi persoalan, pengenalan

pola, dan disusun berdasarkan generalisasi pola dan

abstraksi

Contoh: Pada persoalan pencarian rute: tuliskan

langkah-langkah general untuk menemukan rute dari

titik X ke Y.

19/01/2017 KU1072/Pengantar Berpikir Komputasi

(38)

Desain Algoritma (2)

Contoh lain:

Chef menulis resep masakan sebagai algoritma yang bisa diikuti

oleh orang lain untuk memasak masakan yang sama

Coach sepak bola membuat algoritma strategi pertandingan

berupa langkah-langkah dan tindakan yang harus diikuti oleh

para pemainnya

Dalam matematika, algoritma untuk menjumlahkan dua buah

pecahan adalah sbb:

1.

Hitung KPK dari penyebut kedua pecahan

2.

Kalikan pembilang kedua pecahan dengan hasil pembagian KPK oleh

penyebut pecahan tersebut

3.

Tambahkan pembilang baru hasil perkalian pada langkah 2 dari

pecahan pertama dan kedua untuk menghasilkan pembilang hasil

penjumlahan, dan gunakan KPK sebagai penyebut hasil

(39)

Analisis Data dan Visualisasi

Strategi lain dalam problem solving

Tidak dibahas dalam kuliah ini

19/01/2017 KU1072/Pengantar Berpikir Komputasi

(40)

Kemampuan Berpikir Komputasional

dalam Kuliah PTI-B

Kemampuan melakukan dekomposisi persoalan

Kemampuan mengenali pola

Kemampuan menggeneralisasi pola dan

mengabstraksi

Kemampuan merancang

algoritma

(41)

Kesimpulan

Berpikir komputasional adalah:

Mengembangkan

konsep

, bukan memrogram

Tidak terkait dengan detil teknis menggunakan komputer

Bersifat fundamental, tidak hanya sekedar keterampilan

hafalan

Adalah bagaimana manusia (bukan komputer) berpikir

Ide…

bukan sekedar kode program (artefak)

Untuk semua orang, di mana pun

bukan hanya untuk

computer scientist

19/01/2017 KU1072/Pengantar Berpikir Komputasi

dan Pemrograman Prosedural 41

(42)

Dari Algoritma Menjadi

Program Komputer

Algoritma didapatkan dari logika berpikir

memecahkan suatu masalah

Bisa dituliskan dengan teks atau gambar

Agar persoalan bisa diselesaikan secara otomatis

dengan agen komputasi (aka. KOMPUTER), maka

algoritma harus diubah menjadi

program komputer

(43)

User

Software

Hardware

19/01/2017 KU1072/Pengantar Berpikir Komputasi

(44)

Komponen Hardware

Input devices

(piranti

masukan)

Output devices

(piranti

Keluaran

Microprocessor

(CPU)

Memory

dan

storage

device

(piranti

penyimpanan)

Primary storage

(45)

Software

Algorithm

Program (1)

Perangkat Lunak (

software

)

memungkinkan

pengguna mengkomunikasikan suatu persoalan

kepada komputer dan komputer memberikan

solusinya kepada pengguna

Tanpa perangkat lunak, komputer hanya mesin bodoh!

19/01/2017 KU1072/Pengantar Berpikir Komputasi

dan Pemrograman Prosedural 45

(46)

Software

Algorithm

Program (2)

Algoritma

: himpunan prosedur langkah per langkah

untuk menyelesaikan suatu persoalan

Pekerjaan programmer adalah mengubah

algoritma

menjadi

program

komputer dengan menggunakan

bahasa pemrograman

Program komputer dituliskan oleh programmer dalam bentuk

source code

Compiler/interpreter

akan mentransformasi source code

(47)

Bahasa Komputer

Setiap komputer memproses instruksi dalam

bahasa

mesin

(

machine language

)

Kode-kode numerik yang digunakan untuk mengerjakan

operasi-operasi dasar:

Adding and subtracting numbers

Comparing numbers

Moving numbers

Repeating instructions

Programmer menggunakan

bahasa pemrograman

tingkat tinggi

(

high-level languages

)

Pascal, C/C++, Fortran, Basic, Java, dll.

19/01/2017 KU1072/Pengenalan Teknologi

(48)

Dari

Source Code

menjadi Program

Source code

Programmer

membuat

source code

Compiler

Object code

Dalam bahasa

pemrograman tingkat

tinggi (mis. C++,

Pascal, Fortran)

kompilasi

source code

menjadi

object code

Dalam bahasa

mesin

Pengguna

Link

Executable

(49)

Contoh Kompilasi dan Eksekusi

19/01/2017 KU1072/Pengantar Berpikir Komputasi

(50)
(51)

Paradigma Pemrograman

Pemrograman

[komputer] adalah proses untuk

memformulasi persoalan komputasi menjadi

program [komputer]

Paradigma

[pemrograman] adalah sudut pandang

penyelesaian persoalan dengan [program]

Contoh paradigma pemrograman:

Paradigma prosedural (imperatif)

akan diajarkan di

kuliah ini

Paradigma berorientasi objek

Paradigma deklaratif

Dll.

19/01/2017 KU1072/Pengantar Berpikir Komputasi

(52)

Pemrograman Prosedural

Program didasari oleh

strukturisasi informasi

di

dalam memori dan

manipulasi

dari informasi yang

disimpan tersebut

(53)

Berpikir Prosedural

Sejumlah aksi dijalankan secara berurutan

(sekuensial)

Setiap aksi akan memberikan efek eksekusi tertentu

Aksi harus selesai (tidak bisa terus-menerus)

harus ada

kontrak

mulai dan selesai

Jelas

keadaan awal (initial state)

Jelas

keadaan akhir (final state)

KU1072/Pengantar Berpikir Komputasi dan Pemrograman Prosedural

(54)

Contoh-1:

Memasak Kentang untuk Makan Malam

Untuk makan malam, sejumlah kentang harus

dikupas dan dimasak

Keadaan awal: kantong kentang tersedia di dapur

Belum jelas apakah kentang tersedia cukup atau tidak

Keadaan akhir: masakan dengan bahan dasar

(55)

Memasak kentang untuk makan malam

KU1072/Pengantar Berpikir Komputasi dan Pemrograman Prosedural

Kentang

tersedia?

Kupas Kentang

Beli kentang

Mau

dimasak

apa?

Goreng ?

Rebus ?

Sup ?

Ya

Tidak

(56)
(57)

Struktur Dasar Program Prosedural

19/01/2017 KU1072/Pengantar Berpikir Komputasi

dan Pemrograman Prosedural 57

Program

<JudulProgram>

{ Spesifikasi Program }

KAMUS

{ Deklarasi type, variabel, konstanta, fungsi, prosedur }

ALGORITMA

{ Deretan langkah algoritmik untuk penyelesaian

persoalan }

(58)

Flow Chart

(Diagram Alir)

Selesai

Mulai

Proses

Pilihan

Alur

Alur

pilihan

(59)

Contoh-1:

Memasak Kentang untuk Makan Malam

19/01/2017 KU1072/Pengantar Berpikir Komputasi

dan Pemrograman Prosedural 59

Program

MakanMalam

{ Mempersiapkan dan memasak kentang untuk makan malam }

{ Keadaan awal: kantong kentang tersedia di dapur }

{ Keadaan akhir: masakan dengan bahan dasar kentang tersedia

dan siap dihidangkan untuk makan malam}

KAMUS

... { belum digunakan }

ALGORITMA

(60)

Flowchart:

Memasak Kentang untuk Makan Malam

Beli Kentang

Kentang

Tersedia?

Goreng Kentang

Tidak

Ya

Selesai

Mulai

Kupas Kentang

Dimasak

apa?

Rebus Kentang

goreng

rebus

Beli Kentang

Kentang

(61)

Notasi Algoritmik:

Memasak Kentang untuk Makan Malam

19/01/2017 KU1072/Pengantar Berpikir Komputasi

dan Pemrograman Prosedural 61

if

kentang_tersedia? = tidak

then

Beli_Kentang

{ Di titik ini kentang sudah tersedia }

Kupas_Kentang

if

pilihan_masakan = goreng

then

Goreng_Kentang

else if

pilihan_masakan = rebus

then

Rebus_Kentang

else { pilihan_masakan = sup }

(62)

Contoh-2:

Perbaikan Jam Dinding

Keadaan awal: Jam dinding tidak menunjukkan

waktu yang tepat

Keadaan akhir: Jam dinding menunjukkan waktu

yang tepat

Bila jarum tidak bergerak, ganti baterai

Jika bergerak berarti Baterai masih hidup tinggal

dilakukan perbaikan letak jarum jam

(63)

Program Perbaikan Jam Dinding

19/01/2017 KU1072/Pengantar Berpikir Komputasi

dan Pemrograman Prosedural 63

Program

PerbaikanJamDinding

{ Memperbaiki jam dinding yang tidak menunjukkan waktu yang

tepat }

{ Keadaan awal: Jam dinding tidak menunjukkan waktu yang

tepat }

{Keadaan akhir: Jam dinding menunjukkan waktu yang tepat }

KAMUS

... { belum digunakan }

ALGORITMA

(64)

Flowchart-1:

Perbaikan Jam Dinding

Mulai

Jarum

Bergerak

?

Ganti

Baterai Baru

Perbaiki Jarum

panjang dan pendek

pada lokasi yang tepat

Tidak

Ya

Apa yang salah

dengan flowchart

(65)

Flowchart-2:

Perbaikan Jam Dinding

Mulai

Jarum

Bergerak

?

Ganti

Baterai Baru

Perbaiki Jarum

panjang dan pendek

pada lokasi yang tepat

Tidak

Ya

Selesai

Bagaimana jika

ternyata setelah

dua hari jam

kembali tidak

tepat?

(66)

Notasi Algoritmik

Setara dengan Flowchart-2

if

jarum_bergerak? = tidak

then

Ganti_Baterai_Baru

{ Di titik ini jarum jam sudah pasti bergerak }

(67)

Jarum

Bergerak

?

Ganti

Baterai Baru

Perbaiki Jarum

panjang dan

pendek pada

lokasi yang tepat

Tidak

Ya

Periksa jam

setelah 2 hari

Jam

Perbaikan Jam Dinding

(68)

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

(69)

Data

19/01/2017 KU1072/Pengantar Berpikir Komputasi

(70)

Abstraksi Data

90

Suhu Air?

Berat Badan?

Kecepatan

Kendaraan

Bergerak

kemampuan kita untuk

menginterpretasikan

(71)

Persoalan Abstraksi Data

KU1072/Pengantar Berpikir Komputasi dan Pemrograman Prosedural

Suhu Air?

Berat Badan?

Kecepatan

Kendaraan

Bergerak

75

derajat

Celcius

Kilogram

Km/jam

kemampuan kita untuk

mengerti konteks dan

merepresentasikan

menjadi bentuk lain.

(72)

Data Mahasiswa vs Data Penduduk

NIM:

Nama

Kota Lahir

Tanggal Lahir

Nama Ayah

Nama Ibu

Nomor KTP:

Nama

Kota Lahir

Tanggal Lahir

Nama Ayah

Nama Ibu

(73)

Bahasa Pemrograman Prosedural

19/01/2017 KU1072/Pengantar Berpikir Komputasi

(74)

Bahasa Pemrograman Prosedural

Ada

RIBUAN

bahasa pemrograman di dunia saat ini

termasuk bahasa pemrograman prosedural

Tidak mungkin semua bahasa pemrograman

dipelajari di kuliah

Oleh karena itu yang diajarkan adalah belajar

pemrograman

melalui

pola pikir komputasional

dan

paradigma pemrograman prosedural

(75)

Contoh-3: Menghitung Tabungan

Tabungan di bank selalu bertambah setiap tahun

Bank memiliki bunga yang setiap tahun bertambah

BNI memiliki bunga tahunan 10% per tahun

Untuk uang 100 ribu, maka setelah satu tahun akan

menjadi 110 ribu.

Buatlah program yang menghitung uang kita setelah

satu tahun.

Program akan menanyakan uang kita saat ini,

kemudian program akan menampilkan uang kita

setelah satu tahun

KU1072/Pengantar Berpikir Komputasi dan Pemrograman Prosedural

(76)

Contoh Eksekusi Program Menghitung Tabungan

Masukkan tabungan: 1000

(77)

Bagaimana Program

dibuat?

KU1072/Pengantar Berpikir Komputasi dan Pemrograman Prosedural

(78)

Program Menghitung Tabungan

Program

MenghitungTabungan

{ Menghitung tabungan setelah 1 tahun berdasarkan masukan

dari pengguna }

KAMUS

NilaiTabungan : real { nilai simpanan dalam tabungan, dlm.

rupiah }

ALGORITMA

(79)

Flowchart-1: Menghitung Tabungan

19/01/2017 KU1072/Pengantar Berpikir Komputasi

dan Pemrograman Prosedural 79

mulai

selesai

input

(NilaiTabungan)

NilaiTabungan = NilaiTabungan +

(NilaiTabungan * 0.1)

output

(NilaiTabungan)

Input variabel NilaiTabungan

dari keyboard (masukan

pengguna)

Mengubah nilai variabel

NilaiTabungan sesuai rumus

Menampilkan isi variabel

NilaiTabungan saat ini (setelah

(80)

Notasi Algoritmik-1:

Menghitung Tabungan

input

( NilaiTabungan )

NilaiTabungan

NilaiTabungan + ( NilaiTabungan * 0.1 )

(81)

Flowchart-2: Menghitung Tabungan

19/01/2017 KU1072/Pengantar Berpikir Komputasi

dan Pemrograman Prosedural 81

mulai

selesai

input

(NilaiTabungan)

NilaiTabungan = NilaiTabungan +

(NilaiTabungan * 0.1)

output

(NilaiTabungan)

Menampilkan ke layar tulisan

Masukka ta u ga

Menampilkan ke layar tulisan

Tahu depa =>

output

Masukka ta u ga :

(82)

Notasi Algoritmik-2:

Menghitung Tabungan

output

Masukkan tabungan:

input

( NilaiTabungan )

NilaiTabungan

NilaiTabungan + ( NilaiTabungan * 0.1 )

(83)

KU1072/Pengantar Berpikir Komputasi dan Pemrograman Prosedural

input

(NilaiTabungan)

NilaiTabungan

NilaiTabungan +

(NilaiTabungan * 0.1)

output

( NilaiTabungan )

Program = Algoritma + Struktur Data

Algoritma

Struktur

Data

(84)

Kode Program Bahasa C++

input

(NilaiTabungan)

NilaiTabungan

NilaiTabungan + (NilaiTabungan * 0.1)

output

(NilaiTabungan)

cin >> NilaiTabungan;

NilaiTabungan = NilaiTabungan +

NilaiTabungan * 0.1;

cout << NilaiTabungan;

cin: Console Input

(diketikkan lewat

keyboard)

(85)

Kode Program Bahasa Pascal

KU1072/Pengantar Berpikir Komputasi dan Pemrograman Prosedural

input

(NilaiTabungan)

NilaiTabungan ← NilaiTabungan +

(NilaiTabungan * 0.1)

output

(NilaiTabungan)

readln(NilaiTabungan);

NilaiTabungan := NilaiTabungan +

NilaiTabungan * 0.1;

writeln(NilaiTabungan);

readln akan

membaca dari hasil

ketik di keyboard

writeln akan menulis

hasil di layar

komputer

(86)

Kode Program Bahasa Fortran

read *, NilaiTabungan

NilaiTabungan = NilaiTabungan +

NilaiTabungan * 0.1;

print *, NilaiTabungan

read akan membaca

dari hasil ketik di

keyboard

print akan menulis hasil di

layar komputer

Tanda ‘*’ mengindikasikan

keluaran/masukan

standard (keyboard/layar)

input

(NilaiTabungan)

NilaiTabungan ← NilaiTabungan + NilaiTabungan * 10%

(87)

Program Lengkap (Notasi Algoritmik)

19/01/2017 KU1072/Pengantar Berpikir Komputasi

dan Pemrograman Prosedural 87

Program

MenghitungTabungan

{ Menghitung tabungan setelah 1 tahun berdasarkan masukan

dari pengguna }

KAMUS

NilaiTabungan : real { nilai simpanan dalam tabungan, dlm.

rupiah }

ALGORITMA

input

( NilaiTabungan )

NilaiTabungan

NilaiTabungan + ( NilaiTabungan * 0.1 )

(88)

Program Lengkap (C++)

// Program MenghitungTabungan

// Menghitung tabungan setelah 1 tahun berdasarkan

// masukan dari pengguna

#include <iostream>

using namespace std;

int main() {

// KAMUS

float NilaiTabungan;

// ALGORITMA

cin >> NilaiTabungan;

NilaiTabungan = NilaiTabungan + NilaiTabungan * 0.1;

cout << NilaiTabungan;

(89)

Program Lengkap (Pascal)

19/01/2017 KU1072/Pengantar Berpikir Komputasi

dan Pemrograman Prosedural 89

Program MenghitungTabungan;

{ Menghitung tabungan setelah 1 tahun berdasarkan

masukan dari pengguna }

{ KAMUS }

var

NilaiTabungan : real;

{ ALGORITMA }

begin

readln(NilaiTabungan);

NilaiTabungan := NilaiTabungan + NilaiTabungan * 0.1;

writeln(NilaiTabungan);

(90)

Program Lengkap (Fortran)

Program MenghitungTabungan

! Menghitung tabungan setelah 1 tahun berdasarkan

! masukan dari pengguna

! KAMUS

real :: NilaiTabungan

! ALGORITMA

read *, NilaiTabungan

NilaiTabungan := NilaiTabungan + NilaiTabungan * 0.1

print *, NilaiTabungan

(91)

Terima Kasih

19/01/2017 KU1072/Pengantar Berpikir Komputasi

Referensi

Dokumen terkait

– Komputer sangat baik untuk melaksanakan komputasi mekanikal atas perintah program,hal ini memungkinkan mesin artifisial untuk melakukan pekerjaan mudah yang monoton [ di mana

Dalam masyarakat dimana teknologi informasi yang digunakan belum maju, paradigma yang berlaku adalah paradigma memori, sedangkan yang sudah modern berubah menjadi paradigma

Agar dapat dilaksanakan oleh komputer, algoritma harus ditulis dalam notasi bahasa pemrograman sehingga dinamakan program.jadi, program adalah perwujudan atau

untuk menjalankan program atau aplikasi melalui komputer – komputer yang terkoneksi pada waktu yang sama, tetapi tak semua yang terkonekasi melalui internet menggunakan

Sound Card adalah perangkat keras komputer yang berfungsi sebagai media pengolah data berupa audio atau suara yang. menghubungkan

Terlepas dari persoalan perbedaan sudut pandang tersebut, dengan menghadirkan sebuah desain dan program museum yang akan menjadi dasar pendirian konsep museum arkeologi

Pemrograman paralel adalah teknik pemrograman komputer yang memungkinkan eksekusi perintah/operasi secara bersamaan (komputasi paralel), baik dalam komputer dengan satu

Android Pemrograman Aplikasi Mobile Smartphone dan Tablet PC Berbasis Android, Informatika, Bandung Safaat, Nazruddin.. Pemrograman Aplikasi Mobile Smartphone Dan Tablet PC Berbasis