PENGANTAR ALGORITMA -...

33
PENGANTAR ALGORITMA Pemrograman Dasar

Transcript of PENGANTAR ALGORITMA -...

Page 1: PENGANTAR ALGORITMA - afif.lecture.ub.ac.idafif.lecture.ub.ac.id/files/2013/09/ProgDas02-Pengantar-Algoritma.pdf · Contoh Pseudocode Algoritma Menggunakan Kalkulator Mulai Nyalakan

P E N G A N T A R A L G O R I T M A

Pemrograman Dasar

Page 2: PENGANTAR ALGORITMA - afif.lecture.ub.ac.idafif.lecture.ub.ac.id/files/2013/09/ProgDas02-Pengantar-Algoritma.pdf · Contoh Pseudocode Algoritma Menggunakan Kalkulator Mulai Nyalakan

Pemodelan Komputer Sederhana

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

Penyimpanan Data (Storage, e.g. memory)

2

Page 3: PENGANTAR ALGORITMA - afif.lecture.ub.ac.idafif.lecture.ub.ac.id/files/2013/09/ProgDas02-Pengantar-Algoritma.pdf · Contoh Pseudocode Algoritma Menggunakan Kalkulator Mulai Nyalakan

Algoritma

Algoritma adalah sekumpulan langkah-langkahterbatas 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 dariAlgoritmus), yang akhirnya menjadi Algorithm, metodekalkulasi.

Di pemrograman komputer, algoritmadiimplementasikan dalam program komputer, i.e. satuset instruksi atau langkah-langkah yang dijalankandengan komputer untuk menyelesaikan suatumasalah.

3

Page 4: PENGANTAR ALGORITMA - afif.lecture.ub.ac.idafif.lecture.ub.ac.id/files/2013/09/ProgDas02-Pengantar-Algoritma.pdf · Contoh Pseudocode Algoritma Menggunakan Kalkulator Mulai Nyalakan

Tahap Pengembangan Algoritma

MASALAH / IDE

PEMECAHAN SOLUSI / HASIL

Algoritma Source Code

Executable Code

4

Page 5: PENGANTAR ALGORITMA - afif.lecture.ub.ac.idafif.lecture.ub.ac.id/files/2013/09/ProgDas02-Pengantar-Algoritma.pdf · Contoh Pseudocode Algoritma Menggunakan Kalkulator Mulai Nyalakan

Tahap Pengembangan Algoritma

DEFINISI MASALAH

BUAT MODEL RANCANG ALGORITMA TULIS PROGRAM

COMPILE

Compile Error

Executable code: => Run

Error

DOKUMEN TASI

Y

Y

T

T

5

Page 6: PENGANTAR ALGORITMA - afif.lecture.ub.ac.idafif.lecture.ub.ac.id/files/2013/09/ProgDas02-Pengantar-Algoritma.pdf · Contoh Pseudocode Algoritma Menggunakan Kalkulator Mulai Nyalakan

Tahap Pengembangan Algoritma

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

6

Page 7: PENGANTAR ALGORITMA - afif.lecture.ub.ac.idafif.lecture.ub.ac.id/files/2013/09/ProgDas02-Pengantar-Algoritma.pdf · Contoh Pseudocode Algoritma Menggunakan Kalkulator Mulai Nyalakan

Tahap Pengembangan Algoritma

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

7

Page 8: PENGANTAR ALGORITMA - afif.lecture.ub.ac.idafif.lecture.ub.ac.id/files/2013/09/ProgDas02-Pengantar-Algoritma.pdf · Contoh Pseudocode Algoritma Menggunakan Kalkulator Mulai Nyalakan

Tahap Pengembangan Algoritma

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”

8

Page 9: PENGANTAR ALGORITMA - afif.lecture.ub.ac.idafif.lecture.ub.ac.id/files/2013/09/ProgDas02-Pengantar-Algoritma.pdf · Contoh Pseudocode Algoritma Menggunakan Kalkulator Mulai Nyalakan

Tahap Pengembangan Algoritma

DEFINISI MASALAH

MEMBUAT MODEL

RANCANG ALGORITMA

TULIS PROGRAM

COMPILE

Error

Executable code: => Run

Error

DOKUMEN TASI

9

Page 10: PENGANTAR ALGORITMA - afif.lecture.ub.ac.idafif.lecture.ub.ac.id/files/2013/09/ProgDas02-Pengantar-Algoritma.pdf · Contoh Pseudocode Algoritma Menggunakan Kalkulator Mulai Nyalakan

Tahap Pengembangan Algoritma

DEFINISI MASALAH

MEMBUAT MODEL

RANCANG ALGORITMA

TULIS PROGRAM

COMPILE

Error

Executable code: => Run

Error

DOKUMEN TASI

10

Page 11: PENGANTAR ALGORITMA - afif.lecture.ub.ac.idafif.lecture.ub.ac.id/files/2013/09/ProgDas02-Pengantar-Algoritma.pdf · Contoh Pseudocode Algoritma Menggunakan Kalkulator Mulai Nyalakan

Tahap Pengembangan Algoritma

DEFINISI MASALAH

MEMBUAT MODEL

RANCANG ALGORITMA

TULIS PROGRAM

COMPILE

Error

Executable code: => Run

Error

DOKUMEN TASI

11

Page 12: PENGANTAR ALGORITMA - afif.lecture.ub.ac.idafif.lecture.ub.ac.id/files/2013/09/ProgDas02-Pengantar-Algoritma.pdf · Contoh Pseudocode Algoritma Menggunakan Kalkulator Mulai Nyalakan

Tahap Pengembangan Algoritma

DEFINISI MASALAH

MEMBUAT MODEL

RANCANG ALGORITMA

TULIS PROGRAM

COMPILE

Error

Executable code: => Run

Error

DOKUMEN TASI

12

Page 13: PENGANTAR ALGORITMA - afif.lecture.ub.ac.idafif.lecture.ub.ac.id/files/2013/09/ProgDas02-Pengantar-Algoritma.pdf · Contoh Pseudocode Algoritma Menggunakan Kalkulator Mulai Nyalakan

Tahap Pengembangan Algoritma

DEFINISI MASALAH

MEMBUAT MODEL

RANCANG ALGORITMA

TULIS PROGRAM

COMPILE

Error

Executable code: => Run

Error

DOKUMEN TASI

13

Page 14: PENGANTAR ALGORITMA - afif.lecture.ub.ac.idafif.lecture.ub.ac.id/files/2013/09/ProgDas02-Pengantar-Algoritma.pdf · Contoh Pseudocode Algoritma Menggunakan Kalkulator Mulai Nyalakan

Tahap Pengembangan Algoritma

DEFINISI MASALAH

MEMBUAT MODEL

RANCANG ALGORITMA

TULIS PROGRAM

COMPILE

Error

Executable code: => Run

Error

DOKUMENTASI

14

Page 15: PENGANTAR ALGORITMA - afif.lecture.ub.ac.idafif.lecture.ub.ac.id/files/2013/09/ProgDas02-Pengantar-Algoritma.pdf · Contoh Pseudocode Algoritma Menggunakan Kalkulator Mulai Nyalakan

Penyajian Algoritma

Algoritma dapat diekspresikan dalam bentuk: Tulisan, misal: structured english, pseudocode, notasi lain Visual, misal: flow chart, activity diagram

15

Page 16: PENGANTAR ALGORITMA - afif.lecture.ub.ac.idafif.lecture.ub.ac.id/files/2013/09/ProgDas02-Pengantar-Algoritma.pdf · Contoh Pseudocode Algoritma Menggunakan Kalkulator Mulai Nyalakan

Pseudocode

Outline dari sebuah program komputer

Ditulis dalam bahasa Inggris atau Indonesia sederhana

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

16

Page 17: PENGANTAR ALGORITMA - afif.lecture.ub.ac.idafif.lecture.ub.ac.id/files/2013/09/ProgDas02-Pengantar-Algoritma.pdf · Contoh Pseudocode Algoritma Menggunakan Kalkulator Mulai Nyalakan

Pseudocode17

Tujuh operasi dasar komputer : Membaca data (input) Menampilkan data (output) Melakukan perhitungan aritmatika (compute) Memberikan nilai ke suatu identifier (store) Membandingkan dan memilih (compare) Melakukan pengulangan (loop) Procedure dan atau function

Page 18: PENGANTAR ALGORITMA - afif.lecture.ub.ac.idafif.lecture.ub.ac.id/files/2013/09/ProgDas02-Pengantar-Algoritma.pdf · Contoh Pseudocode Algoritma Menggunakan Kalkulator Mulai Nyalakan

Membaca Data18

Sewaktu komputer menerima informasi atauinput, maka statement yang biasa digunakanadalah “Read”, “Get”, “Baca” ,”Input” atau“KeyIn”

Contoh: Read Bilangan Get kode_pajak Baca nama_mahasiswa

Page 19: PENGANTAR ALGORITMA - afif.lecture.ub.ac.idafif.lecture.ub.ac.id/files/2013/09/ProgDas02-Pengantar-Algoritma.pdf · Contoh Pseudocode Algoritma Menggunakan Kalkulator Mulai Nyalakan

Menampilkan Data19

Sewaktu komputer menampilkan informasiataupun output, maka statement yang biasadigunakan adalah “Print”, “Write”, “Put”, “Output”, “Display” ataupun “Cetak”

Contoh: Print “Universitas Brawijaya” Cetak “Pemrograman Dasar” Output Total

Page 20: PENGANTAR ALGORITMA - afif.lecture.ub.ac.idafif.lecture.ub.ac.id/files/2013/09/ProgDas02-Pengantar-Algoritma.pdf · Contoh Pseudocode Algoritma Menggunakan Kalkulator Mulai Nyalakan

Perhitungan Aritmatika20

Untuk melakukan operasi aritmetika digunakanpseudocode berikut: + untuk penjumlahan (add) - Untuk pengurangan (subtract) * Untuk perkalian (multiply) / Untuk pembagian (divide) () Untuk kurung

Statement “Compute”, “Calculate” ataupun“Hitung” juga dapat digunakan.

Contoh: Add number to total Total = Total + number

Page 21: PENGANTAR ALGORITMA - afif.lecture.ub.ac.idafif.lecture.ub.ac.id/files/2013/09/ProgDas02-Pengantar-Algoritma.pdf · Contoh Pseudocode Algoritma Menggunakan Kalkulator Mulai Nyalakan

Memberikan Nilai Ke Identifier21

Ada tiga cara untuk memberikan nilai ke dalamvariabel : Memberikan nilai awal, menggunakan statement

“Initialize” atau “Set” Memberikan nilai sebagai hasil dari suatu proses, maka

tanda “=“ digunakan Untuk menyimpan suatu nilai maka statement “Save”

atau “Store” digunakan Contoh: Set Counter to 0 Total = Harga * Jumlah

Page 22: PENGANTAR ALGORITMA - afif.lecture.ub.ac.idafif.lecture.ub.ac.id/files/2013/09/ProgDas02-Pengantar-Algoritma.pdf · Contoh Pseudocode Algoritma Menggunakan Kalkulator Mulai Nyalakan

Membandingkan dan Memilih22

Salah satu operasi terpenting yang dapatdilakukan komputer adalah membandingkandan memilih salah satu alternatif solusi.

Keyword yang digunakan : “IF”, “THEN” dan“ELSE”

Contoh IF Pilih=‘1’ THEN Discount = 0.1 * harga ELSE Discount = 0.2 * harga ENDIF

Page 23: PENGANTAR ALGORITMA - afif.lecture.ub.ac.idafif.lecture.ub.ac.id/files/2013/09/ProgDas02-Pengantar-Algoritma.pdf · Contoh Pseudocode Algoritma Menggunakan Kalkulator Mulai Nyalakan

Pengulangan23

Jika ada beberapa perintah yang harusdiulang, maka dapat digunakan keyword “DOWHILE” dan “ENDDO”.

Contoh Bil = 0 DOWHILE bil < 10 cetak bil bil = bil +1 ENDDO

Page 24: PENGANTAR ALGORITMA - afif.lecture.ub.ac.idafif.lecture.ub.ac.id/files/2013/09/ProgDas02-Pengantar-Algoritma.pdf · Contoh Pseudocode Algoritma Menggunakan Kalkulator Mulai Nyalakan

Contoh Pseudocode

Algoritma Menggunakan KalkulatorMulai

Nyalakan kalkulatorKosongkan KalkulatorUlangi

Input hargaTekan tombol Plus (+)

Sampai semua harga diinputTampilkan total hargaMatikan kalkulator

Selesai

24

Page 25: PENGANTAR ALGORITMA - afif.lecture.ub.ac.idafif.lecture.ub.ac.id/files/2013/09/ProgDas02-Pengantar-Algoritma.pdf · Contoh Pseudocode Algoritma Menggunakan Kalkulator Mulai Nyalakan

Contoh Pseudocode

Algoritma Berangkat Kuliah

MulaiBangun dari tempat tidurMandi PagiSarapan PagiPergi Ke KampusCari Ruang KuliahMasuk kelas untuk Kuliah

Selesai

25

Page 26: PENGANTAR ALGORITMA - afif.lecture.ub.ac.idafif.lecture.ub.ac.id/files/2013/09/ProgDas02-Pengantar-Algoritma.pdf · Contoh Pseudocode Algoritma Menggunakan Kalkulator Mulai Nyalakan

Contoh Pseudocode

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 kekenyanganBereskan piring, sendok dan garpu

Selesai

26

Page 27: PENGANTAR ALGORITMA - afif.lecture.ub.ac.idafif.lecture.ub.ac.id/files/2013/09/ProgDas02-Pengantar-Algoritma.pdf · Contoh Pseudocode Algoritma Menggunakan Kalkulator Mulai Nyalakan

Flowchart

Terminator

Proses

Pemilihan

Input/Output

Dokumen

Pengulangan

Arah

Konektor antar halaman

Konektor

Pemanggilan Procedure

27

Page 28: PENGANTAR ALGORITMA - afif.lecture.ub.ac.idafif.lecture.ub.ac.id/files/2013/09/ProgDas02-Pengantar-Algoritma.pdf · Contoh Pseudocode Algoritma Menggunakan Kalkulator Mulai Nyalakan

Contoh Flowchart

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”

28

Page 29: PENGANTAR ALGORITMA - afif.lecture.ub.ac.idafif.lecture.ub.ac.id/files/2013/09/ProgDas02-Pengantar-Algoritma.pdf · Contoh Pseudocode Algoritma Menggunakan Kalkulator Mulai Nyalakan

Kriteria algoritma yang baik

Mempunyai logika yang tepat untuk memecahkanmasalah.

Menghasilkan keluaran yang benar dalam waktu yang singkat.

Ditulis dengan bahasa baku terstruktur sehingga tidakmenimbulkan arti ganda atau ambigu.

Ditulis dengan format baku sehingga mudahdiimplementasikan kedalam bahasa pemrograman.

Semua operasi didefinisikan dengan jelas dan berakhirsesudah sejumlah langkah.

29

Page 30: PENGANTAR ALGORITMA - afif.lecture.ub.ac.idafif.lecture.ub.ac.id/files/2013/09/ProgDas02-Pengantar-Algoritma.pdf · Contoh Pseudocode Algoritma Menggunakan Kalkulator Mulai Nyalakan

Latihan

1. Buatlah algoritma menggunakan pseudocode untukmenghitung luas persegi panjang

2. Buatlah algoritma menggunakan pseudocode untukmengubah jam dan menit yang diinput ke dalam satuandetik.

3. Buatlah algoritma menggunakan pseudocode untukmenentukan apakah bilangan yang diinput adalahbilangan ganjil atau bilangan genap.

4. Buatlah algoritma menggunakan pseudocode untukmenghitung luas lingkaran.

5. Buatlah algoritma menggunakan pseudocode untukmenginput 3 buah bilangan, kemudian tentukan bilanganterbesar, terkecil dan rata-ratanya

30

Page 31: PENGANTAR ALGORITMA - afif.lecture.ub.ac.idafif.lecture.ub.ac.id/files/2013/09/ProgDas02-Pengantar-Algoritma.pdf · Contoh Pseudocode Algoritma Menggunakan Kalkulator Mulai Nyalakan

Latihan

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

31

Page 32: PENGANTAR ALGORITMA - afif.lecture.ub.ac.idafif.lecture.ub.ac.id/files/2013/09/ProgDas02-Pengantar-Algoritma.pdf · Contoh Pseudocode Algoritma Menggunakan Kalkulator Mulai Nyalakan

32

Buatlah algoritma (pseudocode) untukmenampilkan karakter "#" dan "*" seperti format di bawah ini jika diberikan input bilangan bulat (n)

n=1 n=2# ##

** n=3 n=4### ####*** ****### ####

****

Page 33: PENGANTAR ALGORITMA - afif.lecture.ub.ac.idafif.lecture.ub.ac.id/files/2013/09/ProgDas02-Pengantar-Algoritma.pdf · Contoh Pseudocode Algoritma Menggunakan Kalkulator Mulai Nyalakan

33

Buatlah algoritma (pseudocode) menampilkantulisan seperti format di bawah ini jika diberikaninput bilangan bulat (n)

n=3 n=21 2 3 4 5 1 2 3 4 52 3 4 5 6 2 3 4 5 63 4 5 6 7

n=41 2 3 4 52 3 4 5 63 4 5 6 74 5 6 7 8