Anda di halaman 1dari 26

Bab 1: Pengenalan Algoritma

NF Computer
Salman El Farisi salman@nurulfikri.com

Algoritma & Programming

Senin, 31 Maret 2014 Slide ke:1

Review Minggu Lalu


1. Program komputer merupakan serangkaian perintah yang dibuat oleh programmer
2. Program komputer dibuat dengan menggunakan bahasa pemrograman berisi syntaks tertentu yang dapat dimengerti oleh compiler / interpreter 3. Setiap program komputer berisikan instruksi yang direpresentasikan dalam bentuk kode biner (binary code) agar dapat dimengerti oleh mesin / komputer 4. Dibutuhkan adanya compiler atau interpreter untuk mengubah bahasa pemrograman menjadi bahasa mesin (binary code)
NF Computer
Salman El Farisi salman@nurulfikri.com

Algoritma & Programming

Senin, 31 Maret 2014 Slide ke:2

Review Minggu Lalu


1. Jenis bahasa pemrograman menurut modelnya:
a) b) c) d) e) a) b) Procedural Languages Functional Languages Declarative, non-algorithmic Language Scripting Languages Object-oriented Languages High Level Languages Low Level Languages
Senin, 31 Maret 2014 Slide ke:3

2. Jenis Bahasa Pemrograman menurut tingkatannya:

NF Computer
Salman El Farisi salman@nurulfikri.com

Algoritma & Programming

Review Minggu Lalu


1. Compiler : Alat yang digunakan untuk membaca seluruh isi program dan menerjemahkan program yang dibuat agar menjadi satu set instruksi utuh yang dimengerti oleh komputer (permanen)
2. Interpreter: Alat yang digunakan untuk menerjemahkan secara langsung setiap baris instruksi yang dibuat agar dapat langsung dieksekusi oleh komputer (just in time)

NF Computer
Salman El Farisi salman@nurulfikri.com

Algoritma & Programming

Senin, 31 Maret 2014 Slide ke:4

Apa Yang Akan Kita Pelajari?

Apa itu algoritma ?


Struktur dasar algoritma

Flow Chart
Algoritma Serching dan Sorting

NF Computer
Salman El Farisi salman@nurulfikri.com

Algoritma & Programming

Senin, 31 Maret 2014 Slide ke:5

Algoritma

Definition of Algorithm: : a procedure for solving a mathematical problem (as of finding the greatest common divisor) in a finite number of steps that frequently involves repetition of an operation; broadly : a step-by-step procedure for solving a problem or accomplishing some end especially by a computer (Merriam-Webster)

NF Computer
Salman El Farisi salman@nurulfikri.com

Algoritma & Programming

Senin, 31 Maret 2014 Slide ke:6

Algoritma

Algoritma yang umum digunakan


1. Pengurutan (Sorting) 2. Pencarian (Searching) 3. Kompresi (Compression)

NF Computer
Salman El Farisi salman@nurulfikri.com

Algoritma & Programming

Senin, 31 Maret 2014 Slide ke:7

Algoritma (Sequencial Search)


Mencari Angka 7 dalam daftar:
Apakah 1 = 7 ?

Membutuhkan: max. N langkah


3 4 5 6 7 8 9 10

Step 1:

Apakah 2 = 7 ?

Step 2:

1
. . .

10

Apakah 7 = 7 ? 2 3 4 5 6 7 8 9 10

Step 7:

NF Computer
Salman El Farisi salman@nurulfikri.com

Algoritma & Programming

Senin, 31 Maret 2014 Slide ke:8

Agoritma (Binary Search)


Mencari Angka 7 dalam daftar: Apakah 7 <, >, atau = 5 ?

10

Apakah 7 <, >, atau = 8 ?

Apakah 7 <, >, atau = 6 ?

10

Membutuhkan: Max. Log2 N langkah

NF Computer
Salman El Farisi salman@nurulfikri.com

Algoritma & Programming

Senin, 31 Maret 2014 Slide ke:9

Algoritma

Guessing Number Game :)

(permainan tebak angka)

Silahkan Pilih angka antara 1 100 dan kita hanya memiliki kesempatan max. 7 kali menebak Jawab dengan Lebih, Kurang, atau Ya!

NF Computer
Salman El Farisi salman@nurulfikri.com

Algoritma & Programming

Senin, 31 Maret 2014 Slide ke:10

Algoritma

Struktur Dasar Algoritma:


a) Sequence (urutan) b) Selection (pemilihan) c) Repetition (pengulangan)

NF Computer
Salman El Farisi salman@nurulfikri.com

Algoritma & Programming

Senin, 31 Maret 2014 Slide ke:11

Algoritma

Sequence
Merupakan rangkaian instruksi yang dijalankan secara berurutan.

Selection
Rangkaian instruksi yang dikerjakan apabila ada kondisi yang terpenuhi.

Repetition Rangkaian instruksi yang dikerjakan secara berulang sampai batas yang ditentukan.

NF Computer
Salman El Farisi salman@nurulfikri.com

Algoritma & Programming

Senin, 31 Maret 2014 Slide ke:12

Algoritma (Sequence)

Membeli susu di toko:


Pergi ke toko Ambil susu yang diinginkan

Bawa ke kasir
Bayar tagihan Pulang

NF Computer
Salman El Farisi salman@nurulfikri.com

Algoritma & Programming

Senin, 31 Maret 2014 Slide ke:13

Algoritma (Selection)

Pergi membeli Roti dan Susu di toko:


Pergi ke toko Ambil Roti yang diinginkan

Hitung sisa uang:


Apabila sisa uang >= 5000 beli susu 1 Liter Apabila sisa uang < 5000 beli susu liter Bawa barang ke kasir Bayar tagihan Pulang

NF Computer
Salman El Farisi salman@nurulfikri.com

Algoritma & Programming

Senin, 31 Maret 2014 Slide ke:14

Algoritma (Repetition)

Memecahkan batu:

Ambil alat pemecah batu (palu) Letakkan batu di tempat yang keras

Selama batu belum pecah:


Pukul batunya Letakkan batu yang sudah pecah di keranjang

Selesai

NF Computer
Salman El Farisi salman@nurulfikri.com

Algoritma & Programming

Senin, 31 Maret 2014 Slide ke:15

Flow Chart

Salah satu cara untuk menggambarkan algoritma adalah dengan menggunakan Flow Chart (Diagram Alir)

NF Computer
Salman El Farisi salman@nurulfikri.com

Algoritma & Programming

Senin, 31 Maret 2014 Slide ke:16

Flow Chart (Notasi)


Awal / Akhir Proses Pemilihan

Alur Connector Data

Report / Print Proses

NF Computer
Salman El Farisi salman@nurulfikri.com

Algoritma & Programming

Senin, 31 Maret 2014 Slide ke:17

Flow Chart
Membeli Susu
SEQUENCE

Pergi ke Toko

Ambil Susu Yg diinginkan

Bayar Di Kasir

Pulang

>= 5000
Membeli Susu Pergi ke Toko Ambil Susu Yg diinginkan
Hitung Kembalian

Beli susu 1 Liter

Bayar Di Kasir Beli susu 1/2 Liter

Pulang

SELECTION

< 5000

NF Computer
Salman El Farisi salman@nurulfikri.com

Algoritma & Programming

Senin, 31 Maret 2014 Slide ke:18

Flow Chart
REPETITION Belum
Memecah batu Letakkan batu Di tempat keras Sudah Pecah ?

Ambil palu

Pukul Batu

sudah
Masukan Ke keranjang

Selesai

NF Computer
Salman El Farisi salman@nurulfikri.com

Algoritma & Programming

Senin, 31 Maret 2014 Slide ke:19

Flow Chart (Binary Search)


Mencari Angka 7 dalam daftar: Apakah 7 <= 5 ?

10

Apakah 7 <= 8 ?

Apakah 7 <= 6 ?

10

Bagaimana Membuat Flowchartnya?

NF Computer
Salman El Farisi salman@nurulfikri.com

Algoritma & Programming

Senin, 31 Maret 2014 Slide ke:20

Flow Chart (Binary Search)


1. Tentukan Langkahnya
a) b) c) d) e) X = yang dicari Batas bawah = elemen pertama Batas atas = elemen terakhir Tengah = (batas atas + batas bawah) / 2 Jika x < tengah

Batas atas = tengah 1

Ulangi langkah (d)


Batas bawah = tengah + 1 Ulangi langkah (d)

f)

Jika x > tengah


g)

Jika x = tengah : selesai :D


Senin, 31 Maret 2014 Slide ke:21

NF Computer
Salman El Farisi salman@nurulfikri.com

Algoritma & Programming

Flow Chart (Binary Search)


start X = Input (angka yg dicari) Atas = akhir Bawah = awal Tengah = (Atas + Bawah) / 2 Cocokan niai X dengan nilai Tengah

X < Tengah Atas = Tengah - 1

X = Tengah Selesai

bandingkan

X > Tengah

Bawah = Tengah + 1

NF Computer
Salman El Farisi salman@nurulfikri.com

Algoritma & Programming

Senin, 31 Maret 2014 Slide ke:22

Bubble Sort
a) Bubble sort adalah salah satu algoritma yang digunakan untuk mengurutkan data
b) Disebut bubble karena elemen yang paling ringan akan terus naik ke atas c) Selain bubble sort ada juga metode lain seperti quick sort dan merge sort.

NF Computer
Salman El Farisi salman@nurulfikri.com

Algoritma & Programming

Senin, 31 Maret 2014 Slide ke:23

Bubble Sort
0 1 1 5 2 3 3 4 4 2 index Mana yg lebih ringan? Tukar angka yg ringan ke kanan

Bagian yg hijau Tidak akan di check Lagi Karena sudah urut Tidak berubah Karena 3 lebih ringan dari 5

NF Computer
Salman El Farisi salman@nurulfikri.com

Algoritma & Programming

Senin, 31 Maret 2014 Slide ke:24

Bubble Sort
5 4 3 2 1 5 4 3 2 1

NF Computer
Salman El Farisi salman@nurulfikri.com

Algoritma & Programming

Senin, 31 Maret 2014 Slide ke:25

Bubble Sort

Bagaimana Membuat Flow Chart nya?


Saya tunggu jawabannya minggu depan :)

Dikumpulkan di: salman@nurulfikri.com


Dengan subjek: [ALGO] Tugas_1_Nama

NF Computer
Salman El Farisi salman@nurulfikri.com

Algoritma & Programming

Senin, 31 Maret 2014 Slide ke:26

Anda mungkin juga menyukai