bab1 algoritma
Post on 03-Jul-2015
2.583 Views
Preview:
DESCRIPTION
TRANSCRIPT
Slide ke:1
Rabu 9 November 2011NF ComputerSalman El Farisisalman@nurulfikri.com
Algoritma & Programming
Bab 1: Pengenalan Algoritma
Slide ke:2
Rabu 9 November 2011NF ComputerSalman El Farisisalman@nurulfikri.com
Algoritma & Programming
Review Minggu Lalu
• Program komputer merupakan serangkaian perintah yang dibuat oleh programmer
• Program komputer dibuat dengan menggunakan bahasa pemrograman berisi syntaks tertentu yang dapat dimengerti oleh compiler / interpreter
• Setiap program komputer berisikan instruksi yang direpresentasikan dalam bentuk kode biner (binary code) agar dapat dimengerti oleh mesin / komputer
• Dibutuhkan adanya compiler atau interpreter untuk mengubah bahasa pemrograman menjadi bahasa mesin (binary code)
Slide ke:3
Rabu 9 November 2011NF ComputerSalman El Farisisalman@nurulfikri.com
Algoritma & Programming
Review Minggu Lalu
• Jenis bahasa pemrograman menurut modelnya:
– Procedural Languages
– Functional Languages
– Declarative, non-algorithmic Language
– Scripting Languages
– Object-oriented Languages
• Jenis Bahasa Pemrograman menurut tingkatannya:
– High Level Languages
– Low Level Languages
Slide ke:4
Rabu 9 November 2011NF ComputerSalman El Farisisalman@nurulfikri.com
Algoritma & Programming
Review Minggu Lalu
• 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)
• Interpreter: Alat yang digunakan untuk menerjemahkan secara langsung setiap baris instruksi yang dibuat agar dapat langsung dieksekusi oleh komputer (just in time)
Slide ke:5
Rabu 9 November 2011NF ComputerSalman El Farisisalman@nurulfikri.com
Algoritma & Programming
Apa Yang Akan Kita Pelajari?
Apa itu algoritma ? Struktur dasar algoritma Flow Chart Algoritma Serching dan Sorting
Slide ke:6
Rabu 9 November 2011NF ComputerSalman El Farisisalman@nurulfikri.com
Algoritma & Programming
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)
Algoritma
Slide ke:7
Rabu 9 November 2011NF ComputerSalman El Farisisalman@nurulfikri.com
Algoritma & Programming
Algoritma
Algoritma yang umum digunakan
– Pengurutan (Sorting)
– Pencarian (Searching)
– Kompresi (Compression)
Slide ke:8
Rabu 9 November 2011NF ComputerSalman El Farisisalman@nurulfikri.com
Algoritma & Programming
Algoritma (Sequencial Search)
1 2 3 4 5 6 7 8 9 10
Mencari Angka 7 dalam daftar:
Apakah 1 = 7 ?
1 2 3 4 5 6 7 8 9 10
Apakah 2 = 7 ?
1 2 3 4 5 6 7 8 9 10
Apakah 7 = 7 ?...
Step 1:
Step 2:
Step 7:
Membutuhkan: max. N langkah
Slide ke:9
Rabu 9 November 2011NF ComputerSalman El Farisisalman@nurulfikri.com
Algoritma & Programming
Agoritma (Binary Search)
1 2 3 4 5 6 7 8 9 10
Mencari Angka 7 dalam daftar:Apakah 7 <, >, atau = 5 ?
6 7 8 9 10
Apakah 7 <, >, atau = 8 ?
6 7
Apakah 7 <, >, atau = 6 ?
Membutuhkan:Max. Log
2 N langkah
Slide ke:10
Rabu 9 November 2011NF ComputerSalman El Farisisalman@nurulfikri.com
Algoritma & Programming
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!”
Slide ke:11
Rabu 9 November 2011NF ComputerSalman El Farisisalman@nurulfikri.com
Algoritma & Programming
Algoritma
Struktur Dasar Algoritma:
– Sequence (urutan)
– Selection (pemilihan)
– Repetition (pengulangan)
Slide ke:12
Rabu 9 November 2011NF ComputerSalman El Farisisalman@nurulfikri.com
Algoritma & Programming
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.
Slide ke:13
Rabu 9 November 2011NF ComputerSalman El Farisisalman@nurulfikri.com
Algoritma & Programming
Algoritma (Sequence)
Membeli susu di toko:
Pergi ke toko Ambil susu yang diinginkan Bawa ke kasir Bayar tagihan Pulang
Slide ke:14
Rabu 9 November 2011NF ComputerSalman El Farisisalman@nurulfikri.com
Algoritma & Programming
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
Slide ke:15
Rabu 9 November 2011NF ComputerSalman El Farisisalman@nurulfikri.com
Algoritma & Programming
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
Slide ke:16
Rabu 9 November 2011NF ComputerSalman El Farisisalman@nurulfikri.com
Algoritma & Programming
Flow Chart
Salah satu cara untuk menggambarkan algoritma adalah dengan menggunakan Flow Chart (Diagram Alir)
Slide ke:17
Rabu 9 November 2011NF ComputerSalman El Farisisalman@nurulfikri.com
Algoritma & Programming
Flow Chart (Notasi)
Awal / Akhir Proses
Alur
Data
Proses
Pemilihan
Connector
Report / Print
Slide ke:18
Rabu 9 November 2011NF ComputerSalman El Farisisalman@nurulfikri.com
Algoritma & Programming
Flow Chart
MembeliSusu
Pergi keToko
Ambil SusuYg diinginkan
BayarDi Kasir Pulang
MembeliSusu
Pergi keToko
Ambil SusuYg diinginkan
HitungKembalian
Beli susu1 Liter
Beli susu1/2 Liter
>= 5000
< 5000
BayarDi Kasir
Pulang
SEQUENCE
SELECTION
Slide ke:19
Rabu 9 November 2011NF ComputerSalman El Farisisalman@nurulfikri.com
Algoritma & Programming
Flow Chart
Memecahbatu
Ambil paluLetakkan batu
Di tempat keras Pukul Batu SudahPecah ?
Belum
MasukanKe keranjang
Selesai
REPETITION
sudah
Slide ke:20
Rabu 9 November 2011NF ComputerSalman El Farisisalman@nurulfikri.com
Algoritma & Programming
Flow Chart (Binary Search)
1 2 3 4 5 6 7 8 9 10
Mencari Angka 7 dalam daftar:Apakah 7 <= 5 ?
6 7 8 9 10
Apakah 7 <= 8 ?
6 7
Apakah 7 <= 6 ?
Bagaimana MembuatFlowchartnya?
Slide ke:21
Rabu 9 November 2011NF ComputerSalman El Farisisalman@nurulfikri.com
Algoritma & Programming
Flow Chart (Binary Search)
• Tentukan Langkahnya
– 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)
– Jika x > tengah
Batas bawah = tengah + 1 Ulangi langkah (d)
– Jika x = tengah : selesai :D
Slide ke:22
Rabu 9 November 2011NF ComputerSalman El Farisisalman@nurulfikri.com
Algoritma & Programming
Flow Chart (Binary Search)
startX = Input
(angka yg dicari)
bandingkan
Atas = akhirBawah = awal
Cocokan niaiX dengan
nilai Tengah
Atas = Tengah - 1
Bawah = Tengah + 1
Tengah =(Atas + Bawah) / 2
Selesai
X < Tengah
X > Tengah
X = Tengah
Slide ke:23
Rabu 9 November 2011NF ComputerSalman El Farisisalman@nurulfikri.com
Algoritma & Programming
Bubble Sort
• Bubble sort adalah salah satu algoritma yang digunakan untuk mengurutkan data
• Disebut bubble karena elemen yang paling “ringan” akan terus naik ke atas
• Selain bubble sort ada juga metode lain seperti quick sort dan merge sort.
Slide ke:24
Rabu 9 November 2011NF ComputerSalman El Farisisalman@nurulfikri.com
Algoritma & Programming
Bubble Sort
1 5 3 4 2
1 5 3 4 2
Mana yg lebih ringan?Tukar angka yg ringan ke kanan
5 1 3 4 2
5 3 1 4 2
5 3 4 1 2
5 3 4 2 1
5 3 4 2 1Tidak berubahKarena 3 lebih ringan dari 5
0 1 2 3 4 index
Bagian yg hijauTidak akan di check Lagi Karena sudah urut
Slide ke:25
Rabu 9 November 2011NF ComputerSalman El Farisisalman@nurulfikri.com
Algoritma & Programming
Bubble Sort
5 4 3 2 1
5 4 3 2 1
5 4 3 2 1
5 4 3 2 1
5 4 3 2 1
5 4 3 2 1
5 4 3 2 1
Slide ke:26
Rabu 9 November 2011NF ComputerSalman El Farisisalman@nurulfikri.com
Algoritma & Programming
Bubble Sort
Bagaimana Membuat Flow Chart nya?
Saya tunggu jawabannya minggu depan :)
Dikumpulkan di:salman@nurulfikri.com
Dengan subjek:[ALGO] Tugas_1_Nama
top related