Bab 1: Pengenalan Algoritma
Review Minggu Lalu <ul><li>Program komputer merupakan serangkaian perintah yang dibuat oleh programmer </li></ul><ul><li>P...
Review Minggu Lalu <ul><li>Jenis bahasa pemrograman menurut modelnya: </li></ul><ul><ul><li>Procedural Languages </li></ul...
Review Minggu Lalu <ul><li>Compiler :  Alat yang digunakan untuk membaca seluruh isi program dan menerjemahkan program yan...
Apa Yang Akan Kita Pelajari? <ul><li>Apa itu algoritma ? </li></ul><ul><li>Struktur dasar algoritma </li></ul><ul><li>Flow...
Definition of Algorithm: : a  procedure  for solving a mathematical  problem  (as of finding the greatest common divisor) ...
Algoritma <ul><li>Algoritma yang umum digunakan </li></ul><ul><ul><li>Pengurutan (Sorting) </li></ul></ul><ul><ul><li>Penc...
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 Apaka...
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 ...
Algoritma <ul><li>Guessing Number Game :)  </li></ul><ul><li>(permainan tebak angka) </li></ul>Silahkan Pilih angka antara...
Algoritma <ul><li>Struktur Dasar Algoritma: </li></ul><ul><ul><li>Sequence (urutan) </li></ul></ul><ul><ul><li>Selection (...
Algoritma <ul><li>Sequence </li></ul><ul><ul><li>Merupakan rangkaian instruksi yang dijalankan secara berurutan. </li></ul...
Algoritma (Sequence) <ul><li>Membeli susu di toko: </li></ul><ul><ul><li>Pergi ke toko </li></ul></ul><ul><ul><li>Ambil su...
Algoritma (Selection) <ul><li>Pergi membeli Roti dan Susu di toko: </li></ul><ul><ul><li>Pergi ke toko </li></ul></ul><ul>...
Algoritma (Repetition) <ul><li>Memecahkan batu: </li></ul><ul><ul><li>Ambil alat pemecah batu (palu) </li></ul></ul><ul><u...
Flow Chart Salah satu cara untuk menggambarkan algoritma adalah dengan menggunakan Flow Chart (Diagram Alir)
Flow Chart (Notasi) Awal / Akhir Proses Alur Data Proses Pemilihan Connector Report / Print
Flow Chart Membeli Susu Pergi ke Toko Ambil Susu Yg diinginkan Bayar Di Kasir Pulang Membeli Susu Pergi ke Toko Ambil Susu...
Flow Chart Memecah batu Ambil palu Letakkan batu Di tempat keras Pukul Batu Sudah Pecah ? Belum Masukan Ke keranjang Seles...
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...
Flow Chart (Binary Search) <ul><li>Tentukan Langkahnya </li></ul><ul><ul><li>X = yang dicari </li></ul></ul><ul><ul><li>Ba...
Flow Chart (Binary Search) start X =  Input (angka yg dicari) bandingkan Atas = akhir Bawah = awal Cocokan niai X dengan  ...
Bubble Sort <ul><li>Bubble sort adalah salah satu algoritma yang digunakan untuk mengurutkan data </li></ul><ul><li>Disebu...
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...
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
Bubble Sort Bagaimana Membuat  Flow Chart nya? Saya tunggu jawabannya minggu depan :) Dikumpulkan di: [email_address] Deng...
Upcoming SlideShare
Loading in …5
×

Bab1 algoritma

3,085 views

Published on

Slide yang saya gunakan untuk mengajar algoritma dan pemrogramman di kelas ppst nurul fikri :)

Published in: Technology, Business
  • Be the first to comment

Bab1 algoritma

  1. 1. Bab 1: Pengenalan Algoritma
  2. 2. Review Minggu Lalu <ul><li>Program komputer merupakan serangkaian perintah yang dibuat oleh programmer </li></ul><ul><li>Program komputer dibuat dengan menggunakan bahasa pemrograman berisi syntaks tertentu yang dapat dimengerti oleh compiler / interpreter </li></ul><ul><li>Setiap program komputer berisikan instruksi yang direpresentasikan dalam bentuk kode biner (binary code) agar dapat dimengerti oleh mesin / komputer </li></ul><ul><li>Dibutuhkan adanya compiler atau interpreter untuk mengubah bahasa pemrograman menjadi bahasa mesin (binary code) </li></ul>
  3. 3. Review Minggu Lalu <ul><li>Jenis bahasa pemrograman menurut modelnya: </li></ul><ul><ul><li>Procedural Languages </li></ul></ul><ul><ul><li>Functional Languages </li></ul></ul><ul><ul><li>Declarative, non-algorithmic Language </li></ul></ul><ul><ul><li>Scripting Languages </li></ul></ul><ul><ul><li>Object-oriented Languages </li></ul></ul><ul><li>Jenis Bahasa Pemrograman menurut tingkatannya: </li></ul><ul><ul><li>High Level Languages </li></ul></ul><ul><ul><li>Low Level Languages </li></ul></ul>
  4. 4. Review Minggu Lalu <ul><li>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) </li></ul><ul><li>Interpreter: Alat yang digunakan untuk menerjemahkan secara langsung setiap baris instruksi yang dibuat agar dapat langsung dieksekusi oleh komputer (just in time) </li></ul>
  5. 5. Apa Yang Akan Kita Pelajari? <ul><li>Apa itu algoritma ? </li></ul><ul><li>Struktur dasar algoritma </li></ul><ul><li>Flow Chart </li></ul><ul><li>Algoritma Serching dan Sorting </li></ul>
  6. 6. 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
  7. 7. Algoritma <ul><li>Algoritma yang umum digunakan </li></ul><ul><ul><li>Pengurutan (Sorting) </li></ul></ul><ul><ul><li>Pencarian (Searching) </li></ul></ul><ul><ul><li>Kompresi (Compression) </li></ul></ul>
  8. 8. 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
  9. 9. 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
  10. 10. Algoritma <ul><li>Guessing Number Game :) </li></ul><ul><li>(permainan tebak angka) </li></ul>Silahkan Pilih angka antara 1 – 100 dan kita hanya memiliki kesempatan max. 7 kali menebak Jawab dengan “Lebih”, “Kurang”, atau “Ya!”
  11. 11. Algoritma <ul><li>Struktur Dasar Algoritma: </li></ul><ul><ul><li>Sequence (urutan) </li></ul></ul><ul><ul><li>Selection (pemilihan) </li></ul></ul><ul><ul><li>Repetition (pengulangan) </li></ul></ul>
  12. 12. Algoritma <ul><li>Sequence </li></ul><ul><ul><li>Merupakan rangkaian instruksi yang dijalankan secara berurutan. </li></ul></ul><ul><li>Selection </li></ul><ul><ul><li>Rangkaian instruksi yang dikerjakan apabila ada kondisi yang terpenuhi. </li></ul></ul><ul><li>Repetition </li></ul><ul><ul><li>Rangkaian instruksi yang dikerjakan secara berulang sampai batas yang ditentukan. </li></ul></ul>
  13. 13. Algoritma (Sequence) <ul><li>Membeli susu di toko: </li></ul><ul><ul><li>Pergi ke toko </li></ul></ul><ul><ul><li>Ambil susu yang diinginkan </li></ul></ul><ul><ul><li>Bawa ke kasir </li></ul></ul><ul><ul><li>Bayar tagihan </li></ul></ul><ul><ul><li>Pulang </li></ul></ul>
  14. 14. Algoritma (Selection) <ul><li>Pergi membeli Roti dan Susu di toko: </li></ul><ul><ul><li>Pergi ke toko </li></ul></ul><ul><ul><li>Ambil Roti yang diinginkan </li></ul></ul><ul><ul><li>Hitung sisa uang: </li></ul></ul><ul><ul><ul><li>Apabila sisa uang >= 5000 beli susu 1 Liter </li></ul></ul></ul><ul><ul><ul><li>Apabila sisa uang < 5000 beli susu ½ liter </li></ul></ul></ul><ul><ul><li>Bawa barang ke kasir </li></ul></ul><ul><ul><li>Bayar tagihan </li></ul></ul><ul><ul><li>Pulang </li></ul></ul>
  15. 15. Algoritma (Repetition) <ul><li>Memecahkan batu: </li></ul><ul><ul><li>Ambil alat pemecah batu (palu) </li></ul></ul><ul><ul><li>Letakkan batu di tempat yang keras </li></ul></ul><ul><ul><li>Selama batu belum pecah: </li></ul></ul><ul><ul><ul><li>Pukul batunya </li></ul></ul></ul><ul><ul><li>Letakkan batu yang sudah pecah di keranjang </li></ul></ul><ul><ul><li>Selesai </li></ul></ul>
  16. 16. Flow Chart Salah satu cara untuk menggambarkan algoritma adalah dengan menggunakan Flow Chart (Diagram Alir)
  17. 17. Flow Chart (Notasi) Awal / Akhir Proses Alur Data Proses Pemilihan Connector Report / Print
  18. 18. Flow Chart Membeli Susu Pergi ke Toko Ambil Susu Yg diinginkan Bayar Di Kasir Pulang Membeli Susu Pergi ke Toko Ambil Susu Yg diinginkan Hitung Kembalian Beli susu 1 Liter Beli susu 1/2 Liter >= 5000 < 5000 Bayar Di Kasir Pulang SEQUENCE SELECTION
  19. 19. Flow Chart Memecah batu Ambil palu Letakkan batu Di tempat keras Pukul Batu Sudah Pecah ? Belum Masukan Ke keranjang Selesai REPETITION sudah
  20. 20. 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 Membuat Flowchartnya?
  21. 21. Flow Chart (Binary Search) <ul><li>Tentukan Langkahnya </li></ul><ul><ul><li>X = yang dicari </li></ul></ul><ul><ul><li>Batas bawah = elemen pertama </li></ul></ul><ul><ul><li>Batas atas = elemen terakhir </li></ul></ul><ul><ul><li>Tengah = (batas atas + batas bawah) / 2 </li></ul></ul><ul><ul><li>Jika x < tengah </li></ul></ul><ul><ul><ul><li>Batas atas = tengah – 1 </li></ul></ul></ul><ul><ul><ul><li>Ulangi langkah (d) </li></ul></ul></ul><ul><ul><li>Jika x > tengah </li></ul></ul><ul><ul><ul><li>Batas bawah = tengah + 1 </li></ul></ul></ul><ul><ul><ul><li>Ulangi langkah (d) </li></ul></ul></ul><ul><ul><li>Jika x = tengah : selesai :D </li></ul></ul>
  22. 22. Flow Chart (Binary Search) start X = Input (angka yg dicari) bandingkan Atas = akhir Bawah = awal Cocokan niai X dengan nilai Tengah Atas = Tengah - 1 Bawah = Tengah + 1 Tengah = (Atas + Bawah) / 2 Selesai X < Tengah X > Tengah X = Tengah
  23. 23. Bubble Sort <ul><li>Bubble sort adalah salah satu algoritma yang digunakan untuk mengurutkan data </li></ul><ul><li>Disebut bubble karena elemen yang paling “ringan” akan terus naik ke atas </li></ul><ul><li>Selain bubble sort ada juga metode lain seperti quick sort dan merge sort . </li></ul>
  24. 24. 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 1 Tidak berubah Karena 3 lebih ringan dari 5 0 1 2 3 4 index Bagian yg hijau Tidak akan di check Lagi Karena sudah urut
  25. 25. 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
  26. 26. Bubble Sort Bagaimana Membuat Flow Chart nya? Saya tunggu jawabannya minggu depan :) Dikumpulkan di: [email_address] Dengan subjek: [ALGO] Tugas_1_Nama

×