Pemrograman Dasar

28
Pemrograman Dasar Pengantar Algoritma PTIIK - UB

description

Pemrograman Dasar. Pengantar Algoritma. PTIIK - UB. Algoritma. Diambil dari nama ilmuwan asal Persia Al Khawarizmi (Abu Abdallah Muhammad ibn Musa Al Khawarizmi) Al Khawarizmi: On Calculation with Hindu–Arabic numeral system, 825M - PowerPoint PPT Presentation

Transcript of Pemrograman Dasar

Pemrograman Dasar

Pengantar Algoritma

PTIIK - UB

Algoritma

Diambil dari nama ilmuwan asal Persia Al Khawarizmi (Abu Abdallah Muhammad ibn Musa Al Khawarizmi) Al Khawarizmi: On Calculation with Hindu–Arabic numeral

system, 825M Tulisan di atas awalnya berbahasa Arab, lalu diterjemahkan

ke Latin. Al Khawarizmi menjadi Algoritmi. Berkembang menjadi “algorismus”, yang berarti sistem

bilangan desimal. Dalam bahasa Perancis di abad ke-17, algorismus menjadi

“algorithm”, kemudian diadopsi dalam bahasa Inggris dengan nama sama.

Mulai abad ke-19 istilah ini mulai memiliki arti yang agak berbeda (lihat halaman selanjutnya).

Pengantar Algoritma - PTIIK UB 2012 2

Algoritma

Komputer(Keluaran/Output)

Problem

Algoritma

Data yg diolah

(Masukan/Input)

Data hasil olahan

Pengantar Algoritma - PTIIK UB 2012

Algoritma adalah sekumpulan instruksi atau langkah-langkah yang jelas (unambiguous) dan terbatas untuk mencari solusi suatu masalah.

Untuk mendapatkan keluaran yang dibutuhkan dari masukan yang sah dalam waktu yang terbatasAlgoritma sebenarnya cara, bukan hasil atau solusi

3

Algoritma

Di pemrograman komputer, algoritma diimplementasikan ke dalam program komputer, yaitu: satu set instruksi atau langkah-langkah yang dijalankan

dengan komputer untuk menyelesaikan suatu masalah.

Pengantar Algoritma - PTIIK UB 2012 4

Pemodelan Komputer Sederhana

5

Pengolah Data (Processor)

(berbasis Aritmetika dan Logika)

(Keluaran/Output)

COMPUTER TO – COMPUTE + ER

menghitung/mengolah bilangan

mengolah data

Data yg diolah

(Masukan/Input)

Data hasil olahan

Pengantar Algoritma - PTIIK UB 2012

Penyimpanan Data (Storage, e.g. memory)

Tahap Pengembangan Algoritma

Pengantar Algoritma - PTIIK UB 2012 6

MASALAH / IDE

PEMECAHAN SOLUSI / HASIL

Algoritma Source Code

Executable Code

Tahap Pengembangan Algoritma

Pengantar Algoritma - PTIIK UB 2012 7

DEFINISI MASALAH

BUAT MODEL

RANCANG ALGORITMA TULIS PROGRAM

COMPILE

Compile Error

Executable code: => Run

Runtime Error

DOKUMENTASI

Y

Y

T

T

Pengantar Algoritma - PTIIK UB 2012 8

DEFINISI MASALAH

BUAT MODEL

RANCANG ALGORITMA

TULIS PROGRAM

COMPILE

Error

Executable code: => Run

Error

DOKUMENTASI

Masalah:Menentukan akar-akar dari suatu persamaan kuadrat.

Definisi:Persamaan kuadrat : ax2 + bx + c = 0

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

Tahap Pengembangan Algoritma

Pengantar Algoritma - PTIIK UB 2012 9

DEFINISI MASALAH

MEMBUAT MODEL

RANCANG ALGORITMA

TULIS PROGRAM

COMPILE

Error

Executable code: => Run

Error

DOKUMENTASI

Model Matematika :

Rumus ABC

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

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

Tahap Pengembangan Algoritma

1010

TULIS PROGRAM

COMPILE

Error

Executable code: => Run

Error

DOKUMENTASI

DEFINISI MASALAH

MEMBUAT MODEL

RANCANG ALGORITMA

Start

d = b2 – 4ac

d < 0

Masukkan a,b,c

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

Stop

YT

Cetak: x1, x2

Cetak: “Akar imajiner”

Tahap Pengembangan Algoritma

Pengantar Algoritma - PTIIK UB 2012

11

DEFINISI MASALAH

MEMBUAT MODEL

RANCANG ALGORITMA

TULIS PROGRAM

COMPILE

Error

Executable code: => Run

Error

DOKUMEN TASI

Tahap Pengembangan Algoritma

Pengantar Algoritma - PTIIK UB 2012

12

DEFINISI MASALAH

MEMBUAT MODEL

RANCANG ALGORITMA

TULIS PROGRAM

COMPILE

Error

Executable code: => Run

Error

DOKUMENTASI

Tahap Pengembangan Algoritma

Pengantar Algoritma - PTIIK UB 2012

13

DEFINISI MASALAH

MEMBUAT MODEL

RANCANG ALGORITMA

TULIS PROGRAM

COMPILE

Error

Executable code: => Run

Error

DOKUMENTASI

Tahap Pengembangan Algoritma

Pengantar Algoritma - PTIIK UB 2012

14

DEFINISI MASALAH

MEMBUAT MODEL

RANCANG ALGORITMA

TULIS PROGRAM

COMPILE

Error

Executable code: => Run

Error

DOKUMEN TASI

Tahap Pengembangan Algoritma

Pengantar Algoritma - PTIIK UB 2012

15

DEFINISI MASALAH

MEMBUAT MODEL

RANCANG ALGORITMA

TULIS PROGRAM

COMPILE

Error

Executable code: => Run

Error

DOKUMENTASI

Tahap Pengembangan Algoritma

Pengantar Algoritma - PTIIK UB 2012

16

DEFINISI MASALAH

MEMBUAT MODEL

RANCANG ALGORITMA

TULIS PROGRAM

COMPILE

Error

Executable code: => Run

Error

DOKUMENTASI

Tahap Pengembangan Algoritma

Pengantar Algoritma - PTIIK UB 2012

Penyajian Algoritma

Algoritma dapat diekspresikan dalam bentuk: Tulisan, mis.: structured English, pseudocode,

notasi lain Gambar, mis.: flow chart, activity diagram

Pengantar Algoritma - PTIIK UB 2012 17

Kode atau bahasa informal yang digunakan untuk mendeskripsikan algoritma atau operasi-operasi dari sebuah program komputer

Biasanya menggunakan bahasa yang dekat dengan sebuah bahasa pemrograman

Ditulis dalam bahasa natural sederhana (mis. Inggris atau Indonesia) atau bahasa matematika

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

18

Pseudocode

Pengantar Algoritma - PTIIK UB 2012

Algoritma Berangkat Kuliah

MulaiBangun dari Tempat TidurSholat/Doa PagiMandi PagiSarapan PagiPergi Ke KampusCari Ruang KuliahMasuk Kelas Mengikuti Kuliah

Selesai

19

Contoh pseudocode

Pengantar Algoritma - PTIIK UB 2012

20

Contoh pseudocode

Pengantar Algoritma - PTIIK UB 2012

Algoritma Berangkat Kuliah 2

MulaiBangun dari Tempat TidurSholat/Doa PagiJika waktu persiapan masih ada Mandi Pagi Sarapan PagiPergi Ke KampusCari Ruang KuliahMasuk Kelas Mengikuti Kuliah

Selesai

21

Contoh pseudocode

Pengantar Algoritma - PTIIK UB 2012

Algoritma Berangkat Kuliah 3

MulaiBangun dari Tempat TidurSholat/Doa PagiJika Hari ini adalah hari libur Tidur lagitetapi jika Hari ini bukan hari libur Mandi Pagi Sarapan Pagi Pergi Ke Kampus Cari Ruang Kuliah Masuk Kelas Mengikuti Kuliah

Selesai

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

Selesai

22

Contoh pseudocode

Pengantar Algoritma - PTIIK UB 2012

Algoritma Menggunakan KalkulatorMulai

Nyalakan kalkulatorKosongkan memori kalkulatorUlangi

Input hargaTekan tombol Plus (+)

Sampai semua harga diinputTampilkan total hargaMatikan kalkulator

Selesai

23

Contoh pseudocode

Pengantar Algoritma - PTIIK UB 2012

24

Terminator

Proses

Pemilihan

Input/Output

Dokumen

Pengulangan

Arah

Konektor antar halaman

Konektor

Pemanggilan Procedure

Diagram Alir (Flow Chart)

Pengantar Algoritma - PTIIK UB 2012

Pengantar Algoritma - PTIIK UB 2012 25

Start

d = b2 – 4ac

d < 0

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

Stop

Y

T

Masukkan a,b,c

Cetak x1,x2

Cetak Pesan “Akar imajiner”

Contoh Diagram Alir

Correctness (kebenaran) Menghasilkan keluaran yang benar untuk masukan yang valid

dalam waktu yang terbatas Mempunyai logika yang benar untuk memecahkan masalah.

Simplicity (kesederhanaan) Mudah dipahami, mudah diprogram

“Indah”

Efficiency (efisiensi) Time efficiency (efisiensi waktu): seberapa cepat

Space efficency (efisiensi ruang): seberapa banyak memori yang dibutuhkan

26

Kriteria algoritma yang baik

Pengantar Algoritma - PTIIK UB 2012

Generality (keumuman) Lain-lain

– Ditulis dengan bahasa baku terstruktur sehingga tidak menimbulkan arti ganda atau ambigu, dan mudah diimplementasikan kedalam bahasa pemrograman.

27

Kriteria algoritma yang baik

Pengantar Algoritma - PTIIK UB 2012

Ubahlah algortima yang tertulis dalam pseudocode pada contoh-contoh di slides kuliah Pengantar Algortima ini ke dalam diagram alir (flowchart). Algoritma tersebut:

– Algoritma berangkat kuliah

– Algoritma berangkat kuliah 2

– Algoritma berangkat kuliah 3

– Algoritma sarapan pagi

– Algoritma menggunakan kalkulator

Tuliskan identitas nama, NIM, dan kelas Anda pada lembar pekerjaan

Gunakan kertas A4 dan tulisan tangan Kumpulkan pada kuliah Pemrograman Dasar hari Senin 10

September 2012

28

PR

Pengantar Algoritma - PTIIK UB 2012