pemrograman dasar - afif.lecture.ub.ac.id · diambil dari nama al khawarizmi (al khawarizmi: on...

24
Pemrograman Dasar Pengantar Algoritma Sutrisno Chandra Dewi Marji Ismiarta Aknuranda Issa Arwani A. Afif Supianto PTIIK- UB

Upload: lecong

Post on 17-Mar-2019

227 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Pemrograman Dasar - afif.lecture.ub.ac.id · Diambil dari nama Al Khawarizmi (Al Khawarizmi: On Calculation with Hindu–Arabic numeral system, 825M). Disalahpami sebagai Algoritmi

Pemrograman DasarPengantar Algoritma

Sutrisno

Chandra Dewi

Marji

Ismiarta Aknuranda

Issa Arwani

A. Afif Supianto

PTIIK- UB

Page 2: Pemrograman Dasar - afif.lecture.ub.ac.id · Diambil dari nama Al Khawarizmi (Al Khawarizmi: On Calculation with Hindu–Arabic numeral system, 825M). Disalahpami sebagai Algoritmi

Pemodelan Komputer Sederhana

2

Pengolah Data (Processor)

(berbasis Aritmatika dan Logika)

(Keluaran/Output)

COMPUTER TO – COMPUTE + ER

menghitung/mengolah bilangan

mengolah data

Data yg diolah

(Masukan/Input)

Data hasil olahan

Pengantar Algoritma - TIF UB 2010

Penyimpanan Data (Storage, e.g. memory)

Page 3: Pemrograman Dasar - afif.lecture.ub.ac.id · Diambil dari nama Al Khawarizmi (Al Khawarizmi: On Calculation with Hindu–Arabic numeral system, 825M). Disalahpami sebagai Algoritmi

Algoritma

Algoritma adalah sekumpulan langkah-langkah terbatas untuk mencari solusi suatu masalah.

Diambil dari nama Al Khawarizmi (Al Khawarizmi: On Calculation with Hindu–Arabic numeral system, 825M). Disalahpami sebagai Algoritmi (jamak latin dari Algoritmus), yang akhirnya menjadi Algorithm, metode kalkulasi.

Di pemrograman komputer, algoritma diimplementasikan dalam program komputer, i.e. satu set instruksi atau langkah-langkah yang dijalankan dengan komputer untuk menyelesaikan suatu masalah.

Pengantar Algoritma - TIF UB 2010 3

Page 4: Pemrograman Dasar - afif.lecture.ub.ac.id · Diambil dari nama Al Khawarizmi (Al Khawarizmi: On Calculation with Hindu–Arabic numeral system, 825M). Disalahpami sebagai Algoritmi

Tahap Pengembangan Algoritma

Pengantar Algoritma - TIF UB 2010 4

MASALAH / IDE

PEMECAHAN SOLUSI / HASIL

Algoritma Source Code

Executable Code

Page 5: Pemrograman Dasar - afif.lecture.ub.ac.id · Diambil dari nama Al Khawarizmi (Al Khawarizmi: On Calculation with Hindu–Arabic numeral system, 825M). Disalahpami sebagai Algoritmi

Tahap Pengembangan Algoritma

Pengantar Algoritma - TIF UB 2010 5

DEFINISI MASALAH

BUAT MODEL RANCANG ALGORITMA TULIS PROGRAM

COMPILE

Compile Error

Executable code: => Run

Error

DOKUMEN TASI

Y

Y

T

T

Page 6: Pemrograman Dasar - afif.lecture.ub.ac.id · Diambil dari nama Al Khawarizmi (Al Khawarizmi: On Calculation with Hindu–Arabic numeral system, 825M). Disalahpami sebagai Algoritmi

Pengantar Algoritma - TIF UB 2010 6

DEFINISI MASALAH

BUAT MODEL RANCANG ALGORITMA

TULIS PROGRAM

COMPILE

Error

Executable code: => Run

Error

DOKUMEN TASI

Masalah:Tentukan akar-akar dari suatu persamaan kwadrat.

Definisi:Persamaan kwadrat : ax^2 + bx + c = 0

Data yg diperlukan :Nilai dari a, b dan c : tipe real

Tahap Pengembangan Algoritma

Page 7: Pemrograman Dasar - afif.lecture.ub.ac.id · Diambil dari nama Al Khawarizmi (Al Khawarizmi: On Calculation with Hindu–Arabic numeral system, 825M). Disalahpami sebagai Algoritmi

Pengantar Algoritma - TIF UB 2010 7

DEFINISI MASALAH

MEMBUAT MODEL

RANCANG ALGORITMA

TULIS PROGRAM

COMPILE

Error

Executable code: => Run

Error

DOKUMEN TASI

Model Matematika :

Rumus ABC

x1 = (-b + sqrt(b^2 - 4ac))/2a

x2 = (-b – sqrt(b^2 - 4ac))/2a

Tahap Pengembangan Algoritma

Page 8: Pemrograman Dasar - afif.lecture.ub.ac.id · Diambil dari nama Al Khawarizmi (Al Khawarizmi: On Calculation with Hindu–Arabic numeral system, 825M). Disalahpami sebagai Algoritmi

88

TULIS PROGRAM

COMPILE

Error

Executable code: => Run

Error

DOKUMEN TASI

DEFINISI MASALAH

MEMBUAT MODEL

RANCANG ALGORITMA

Start

d = b^2 – 4ac

d < 0

Masukkan a,b,c

x1=(-b+sqrt(d))/2ax2 =(-b-sqrt(d))/2a

Stop

YT

Cetak: x1, x2

Cetak: “Akar majiner”

Tahap Pengembangan Algoritma

Pengantar Algoritma - TIF UB 2010

Page 9: Pemrograman Dasar - afif.lecture.ub.ac.id · Diambil dari nama Al Khawarizmi (Al Khawarizmi: On Calculation with Hindu–Arabic numeral system, 825M). Disalahpami sebagai Algoritmi

9

DEFINISI MASALAH

MEMBUAT MODEL

RANCANG ALGORITMA

TULIS PROGRAM

COMPILE

Error

Executable code: => Run

Error

DOKUMEN TASI

Tahap Pengembangan Algoritma

Pengantar Algoritma - TIF UB 2010

Page 10: Pemrograman Dasar - afif.lecture.ub.ac.id · Diambil dari nama Al Khawarizmi (Al Khawarizmi: On Calculation with Hindu–Arabic numeral system, 825M). Disalahpami sebagai Algoritmi

10

DEFINISI MASALAH

MEMBUAT MODEL

RANCANG ALGORITMA

TULIS PROGRAM

COMPILE

Error

Executable code: => Run

Error

DOKUMEN TASI

Tahap Pengembangan Algoritma

Pengantar Algoritma - TIF UB 2010

Page 11: Pemrograman Dasar - afif.lecture.ub.ac.id · Diambil dari nama Al Khawarizmi (Al Khawarizmi: On Calculation with Hindu–Arabic numeral system, 825M). Disalahpami sebagai Algoritmi

11

DEFINISI MASALAH

MEMBUAT MODEL

RANCANG ALGORITMA

TULIS PROGRAM

COMPILE

Error

Executable code: => Run

Error

DOKUMEN TASI

Tahap Pengembangan Algoritma

Pengantar Algoritma - TIF UB 2010

Page 12: Pemrograman Dasar - afif.lecture.ub.ac.id · Diambil dari nama Al Khawarizmi (Al Khawarizmi: On Calculation with Hindu–Arabic numeral system, 825M). Disalahpami sebagai Algoritmi

12

DEFINISI MASALAH

MEMBUAT MODEL

RANCANG ALGORITMA

TULIS PROGRAM

COMPILE

Error

Executable code: => Run

Error

DOKUMEN TASI

Tahap Pengembangan Algoritma

Pengantar Algoritma - TIF UB 2010

Page 13: Pemrograman Dasar - afif.lecture.ub.ac.id · Diambil dari nama Al Khawarizmi (Al Khawarizmi: On Calculation with Hindu–Arabic numeral system, 825M). Disalahpami sebagai Algoritmi

13

DEFINISI MASALAH

MEMBUAT MODEL

RANCANG ALGORITMA

TULIS PROGRAM

COMPILE

Error

Executable code: => Run

Error

DOKUMEN TASI

Tahap Pengembangan Algoritma

Pengantar Algoritma - TIF UB 2010

Page 14: Pemrograman Dasar - afif.lecture.ub.ac.id · Diambil dari nama Al Khawarizmi (Al Khawarizmi: On Calculation with Hindu–Arabic numeral system, 825M). Disalahpami sebagai Algoritmi

14

DEFINISI MASALAH

MEMBUAT MODEL

RANCANG ALGORITMA

TULIS PROGRAM

COMPILE

Error

Executable code: => Run

Error

DOKUMEN TASI

Tahap Pengembangan Algoritma

Pengantar Algoritma - TIF UB 2010

Page 15: Pemrograman Dasar - afif.lecture.ub.ac.id · Diambil dari nama Al Khawarizmi (Al Khawarizmi: On Calculation with Hindu–Arabic numeral system, 825M). Disalahpami sebagai Algoritmi

Penyajian Algoritma

Algoritma dapat diekspresikan dalam bentuk:

Tulisan, misal: structured english, pseudocode, notasi lain

Visual, misal: flow chart, activity diagram

Pengantar Algoritma - TIF UB 2010 15

Page 16: Pemrograman Dasar - afif.lecture.ub.ac.id · Diambil dari nama Al Khawarizmi (Al Khawarizmi: On Calculation with Hindu–Arabic numeral system, 825M). Disalahpami sebagai Algoritmi

Outline dari sebuah program komputer

Ditulis dalam bahasa Inggris atau Indonesia sederhana

Kata kunci (keyword) digunakan untuk menjelaskan struktur kendali (misalnya: “jika”, “ulangi”, “sampai”,”if”,”repeat”, “until”)

16

Pseudocode

Pengantar Algoritma - TIF UB 2010

Page 17: Pemrograman Dasar - afif.lecture.ub.ac.id · Diambil dari nama Al Khawarizmi (Al Khawarizmi: On Calculation with Hindu–Arabic numeral system, 825M). Disalahpami sebagai Algoritmi

Algoritma Menggunakan Kalkulator

Mulai

Nyalakan kalkulator

Kosongkan Kalkulator

Ulangi

Input harga

Tekan tombol Plus (+)

Sampai semua harga diinput

Tampilkan total harga

Matikan kalkulator

Selesai17

Contoh pseudocode

Pengantar Algoritma - TIF UB 2010

Page 18: Pemrograman Dasar - afif.lecture.ub.ac.id · Diambil dari nama Al Khawarizmi (Al Khawarizmi: On Calculation with Hindu–Arabic numeral system, 825M). Disalahpami sebagai Algoritmi

Algoritma Berangkat Kuliah

Mulai

Bangun dari tempat tidur

Mandi Pagi

Sarapan Pagi

Pergi Ke Kampus

Cari Ruang Kuliah

Masuk kelas untuk Kuliah

Selesai

18

Contoh pseudocode

Pengantar Algoritma - TIF UB 2010

Page 19: Pemrograman Dasar - afif.lecture.ub.ac.id · Diambil dari nama Al Khawarizmi (Al Khawarizmi: On Calculation with Hindu–Arabic numeral system, 825M). Disalahpami sebagai Algoritmi

Algoritma Sarapan Pagi

MulaiAmbil piringMasukkan nasi dan lauk dalam piringAmbil sendok dan garpuUlangi

Angkat sendok dan garpuAmbil nasi dan laukSuapkan ke dalam mulutTaruh sendok dan garpuKunyah

Sampai (nasi dan lauk habis) ATAU kekenyangan Bereskan piring, sendok dan garpu

Selesai19

Contoh pseudocode

Pengantar Algoritma - TIF UB 2010

Page 20: Pemrograman Dasar - afif.lecture.ub.ac.id · Diambil dari nama Al Khawarizmi (Al Khawarizmi: On Calculation with Hindu–Arabic numeral system, 825M). Disalahpami sebagai Algoritmi

20

Terminator

Proses

Pemilihan

Input/Output

Dokumen

Pengulangan

Arah

Konektor antar halaman

Konektor

Pemanggilan Procedure

Flow Chart

Pengantar Algoritma - TIF UB 2010

Page 21: Pemrograman Dasar - afif.lecture.ub.ac.id · Diambil dari nama Al Khawarizmi (Al Khawarizmi: On Calculation with Hindu–Arabic numeral system, 825M). Disalahpami sebagai Algoritmi

Pengantar Algoritma - TIF UB 2010 21

Start

d = b^2 – 4ac

d < 0

x1=(-b+sqrt(d))/2ax2 =(-b-sqrt(d))/2a

Stop

Y

T

Masukkana,b,c

Cetak x1,x2

Cetak Pesan“Akar imajiner”

Contoh flow chart

Page 22: Pemrograman Dasar - afif.lecture.ub.ac.id · Diambil dari nama Al Khawarizmi (Al Khawarizmi: On Calculation with Hindu–Arabic numeral system, 825M). Disalahpami sebagai Algoritmi

Mempunyai logika yang tepat untuk memecahkan masalah.

Menghasilkan keluaran yang benar dalam waktu yang singkat.

Ditulis dengan bahasa baku terstruktur sehingga tidak menimbulkan arti ganda atau ambigu.

Ditulis dengan format baku sehingga mudah diimplementasikan kedalam bahasa pemrograman.

Semua operasi didefinisikan dengan jelas dan berakhir sesudah sejumlah langkah.

22

Kriteria algoritma yang baik

Pengantar Algoritma - TIF UB 2010

Page 23: Pemrograman Dasar - afif.lecture.ub.ac.id · Diambil dari nama Al Khawarizmi (Al Khawarizmi: On Calculation with Hindu–Arabic numeral system, 825M). Disalahpami sebagai Algoritmi

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.

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

23

Latihan

Pengantar Algoritma - TIF UB 2010

Page 24: Pemrograman Dasar - afif.lecture.ub.ac.id · Diambil dari nama Al Khawarizmi (Al Khawarizmi: On Calculation with Hindu–Arabic numeral system, 825M). Disalahpami sebagai Algoritmi

Ulangi latihan no. 1 s/d no. 5 diatas dengan menggunakan Flow Chart

24

Tugas

Pengantar Algoritma - TIF UB 2010