PENGANTAR ALGORITMA - afif.lecture.ub.ac.id · Di pemrograman komputer, algoritma ... Dokumen...

33
PENGANTAR ALGORITMA Pemrograman Dasar

Transcript of PENGANTAR ALGORITMA - afif.lecture.ub.ac.id · Di pemrograman komputer, algoritma ... Dokumen...

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

Pemrograman Dasar

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

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

Tahap Pengembangan Algoritma

MASALAH / IDE

PEMECAHAN SOLUSI / HASIL

Algoritma Source Code

Executable Code

4

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

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

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

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

Tahap Pengembangan Algoritma

DEFINISI MASALAH

MEMBUAT MODEL

RANCANG ALGORITMA

TULIS PROGRAM

COMPILE

Error

Executable code: => Run

Error

DOKUMEN TASI

9

Tahap Pengembangan Algoritma

DEFINISI MASALAH

MEMBUAT MODEL

RANCANG ALGORITMA

TULIS PROGRAM

COMPILE

Error

Executable code: => Run

Error

DOKUMEN TASI

10

Tahap Pengembangan Algoritma

DEFINISI MASALAH

MEMBUAT MODEL

RANCANG ALGORITMA

TULIS PROGRAM

COMPILE

Error

Executable code: => Run

Error

DOKUMEN TASI

11

Tahap Pengembangan Algoritma

DEFINISI MASALAH

MEMBUAT MODEL

RANCANG ALGORITMA

TULIS PROGRAM

COMPILE

Error

Executable code: => Run

Error

DOKUMEN TASI

12

Tahap Pengembangan Algoritma

DEFINISI MASALAH

MEMBUAT MODEL

RANCANG ALGORITMA

TULIS PROGRAM

COMPILE

Error

Executable code: => Run

Error

DOKUMEN TASI

13

Tahap Pengembangan Algoritma

DEFINISI MASALAH

MEMBUAT MODEL

RANCANG ALGORITMA

TULIS PROGRAM

COMPILE

Error

Executable code: => Run

Error

DOKUMENTASI

14

Penyajian Algoritma

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

15

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

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

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

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

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

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

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

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

Contoh Pseudocode

Algoritma Menggunakan KalkulatorMulai

Nyalakan kalkulatorKosongkan KalkulatorUlangi

Input hargaTekan tombol Plus (+)

Sampai semua harga diinputTampilkan total hargaMatikan kalkulator

Selesai

24

Contoh Pseudocode

Algoritma Berangkat Kuliah

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

Selesai

25

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

Flowchart

Terminator

Proses

Pemilihan

Input/Output

Dokumen

Pengulangan

Arah

Konektor antar halaman

Konektor

Pemanggilan Procedure

27

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

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

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

Latihan

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

31

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### ####*** ****### ####

****

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