1 / 64

ALGORITMA

ALGORITMA. Urut-urutan langkah pengerjaan (Al-Khawarizmi) Atau sejumlah urutan perintah untuk mengerjakan sesuatu atau menyelesaikan suatu masalah, masalah apapun tidak terbatas pada pembuatan program saja. Menuliskan Algoritma. Algoritma dapat dituliskan dengan berbagai cara: Teks

jacie
Download Presentation

ALGORITMA

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ALGORITMA • Urut-urutan langkah pengerjaan (Al-Khawarizmi) • Atau sejumlah urutan perintah untuk mengerjakan sesuatu atau menyelesaikan suatu masalah, masalah apapun tidak terbatas pada pembuatan program saja.

  2. Menuliskan Algoritma • Algoritma dapat dituliskan dengan berbagai cara: • Teks • Level kedekatan dengan kode program: mulai dari teks bebas sampai pseudocode • Diagram, misal: bagan alir (flowchart)

  3. Contoh 1: Algoritma pembuatan kue • Memanaskan oven • Penyiapan bahan • Pencampuran bahan dalam mangkuk • Memasukkannya kedalam loyang • Membakarnya • Mencek kematangan kue setiap 5 menit sampai dengan bagian atas kue tidak lengket. • Mendinginkannya dan memotongnya

  4. Contoh 2: Persoalan 1 • Menentukan apakah suatu bilangan bulat positif adalah bilangan genap atau bilangan ganjil.

  5. Contoh Algoritma Persoalan 1: Menggunakan Teks Bebas • Bagi bilangan dengan bilangan 2 • Hitung sisa hasil bagi pada langkah 1. • Bila sisa hasil bagi sama dengan 0 maka bilangan itu adalah bilangan genap tetapi bila sisa hasil bagi sama dengan 1 maka bilangan itu adalah bilangan ganjil.

  6. Contoh Algoritma Persoalan 1:Menggunakan Pseudocode

  7. A Start m = 0 input (n) Tidak m = n mod 2 { Hitung sisa bagi n dengan 2 } output (‘Genap’) output (‘Ganjil’) End A Contoh Algoritma Persoalan 1:Menggunakan Flowchart Keterangan: n : integer > 0 m : integer > 0 Ya

  8. Flowchart/Bagan Alir • visualisasi dari algoritma dalam bentuk bagan • Agar pengertian tentang masalah dan penyelesaiannya dapat tergambarkan dengan jelas. • Dalam pemrograman akan menggambarkan logika aliran pemrograman.

  9. Bagan Alir (Flowchart) • Kelebihan (umum): • Bentuk grafis memudahkan interpretasi dan pembacaan • Relatif mudah dimengerti • Relatif mudah untuk dibuat • Kekurangan (umum): • Tidak ringkas (membutuhkan media penulisan yang relatif besar) • Untuk algoritma dalam ukuran besar menjadi tidak praktis • Kurang fleksibel untuk menjelaskan konsep-konsep spesifik dalam pemrograman • Misalnya: struktur data (type data tidak terdefinisi eksplisit), kondisional dengan banyak kasus, dsb.

  10. Manfaat Bagan Alir: • Identifikasi masalah • Pengertian tentang masalah • Proses penyelesaian suatu masalah • Hubungan tiap-tiap bagian dari proses. • Kendala-kendala dalam penyelesaian masalah. • Ide-ide baru menyelesaikan masalah. • Relatif lebih dapat dimengerti & oleh orang lain.

  11. Simbol Flowchart [1]

  12. Simbol Flowchart [2]

  13. Simbol Flowchart [3] Dll.

  14. Kontrol Struktur : • Dibagi dalam 4 katagori yaitu: • Statement • Sequence • Selection • Iteration (Looping)

  15. Statement: • Control berupa instruksi/perintah yang harus dikerjakan oleh komputer. • Setiap bahasa pemrograman memiliki instruksi yang berlainan.

  16. Sequence : • Beberapa statement diurutkan menjadi urutan perintah

  17. Selection (IF/THEN/ELSE): • pemilihan 2 kemungkinan berdasarkan evaluasi dari suatu expresi, dapat benar (true) atau salah (False).

  18. Iteration (Looping): • pengulangan atas dasar eveluasi suatu test, • bila benar perulangan akan dilakukan • bila salah akan berhenti. • Dibagi 2 dari segi posisi pengetesan • awal iterasi • pada akhir iterasi

  19. awal iterasi pada akhir iterasi

  20. Program Terstruktur : • Terdapat dua model pemrograman • tak terstruktur • terstruktur • Perbedaan dari keduanya adalah:

  21. Program Tak Terstruktur : • Program dibuat secara berurutan kebawah. • Dimulai dari baris pertama hingga baris terakhir program • Susah untuk dipahami, sehingga tidak mudah untuk memodifikasi program buatan orang lain • Akan tetapi untuk program yang sederhana dapat digunakan.

  22. Program Terstruktur : • Desain program top – down, • solusi masalah dimulai dari general, kearah solusi detail hingga bagian yang paling detail • Desain program berbentuk modul-modul • Setiap bagian solusi masalah di buat subprogram tersendiri (prosedur). • Tiap modul dapat dites tersendiri • Mudah untuk difahami

  23. Contoh Program Linear Regresi • Program ini didesign untuk mencari persamaan Linear dari sejumlah data X, Y • Input : sejumlah data X, Y • Output : Persamaan Linear Y=aX+b (par a & b) • Solusi numerik :

  24. Design Variable yang digunakan : X = data x Y = data y N = jumlah data sX = jumlah x sY = jumlah y sXY = jumlah perkalian xy sXX = jumlah x kuadrat sXsX = jumlah x dikuadratkan Xrata = rata-rata x Yrata = rata-rata y a = gradien garis b = konstanta Tanya$ = jawaban yang diharapkan untuk mengulangi proses input data atau melanjutkan proses hingga selesai (Y/T)

  25. Unstructured program: • Inisialisasi variable • hitung jumlah data N • Masukkan data X dan Y • Hitung X2, X*Y • Hitung jumlah X, Y, X*Y, X2 • Hitung rata-rata X, Y • Hitung kuadrat jumlah X • Hitung a, b • Tampilkan harga a dan b

  26. Unstructured program cont:

  27. Structured program : • Program terdiri atas program utama dan 2 buah modul: Program Utama: Inisialisasi variable Link ke modul InputData Link ke modul LinearRegresi

  28. Structured program (cont.): Module InputData: Inisialisasi variable Tentukan jumlah data X dan Y Masukkan data X dan Y Modul LinearRegresi: Hitung jumlah X, Y, X*Y, X2 Hitung rata-rata X, Y Hitung kuadrat jumlah X Hitung a, b Tampilkan harga a dan b

  29. Structured program (cont.):

  30. Structured program (cont.):

  31. Dokumentasi • Kegunaan dokumentasi adalah untuk • memudahkan saat penulisan program • memudahkan debugging (mencari kesalahan) • memudahkan orang lain mengembangkan program tersebut

  32. Dokumentasi • Bagian yang perlu dibuat dokumentasinya: • Input, output • Komentar-komentar proses utamanya • Penjelasan setiap variable (terutama input & output) • Bagan alirnya. • Tanggal modifikasi, dan nama programer • Spesifikasi program • Buku manualnya • Program Help

  33. LOGIKA (BOOLEAN)

  34. IF .. THEN .. ELSE .. Format: • IF [kondisi] THEN Pernyataan Benar ELSE Pernyataan salah END IF

  35. MS EXCEL • Worksheet pada Excel adalah variable array 2D atau 3D pada keseluruhan file excel • tidak diperlukan perintah Input, output, print • perintah disimpan dalam cell dan hasilnya langsung ditampilkan pada cell tersebut • dapat menggunakan operator logika AND, OR, NOT, True, False serta perintah IF • variable dan konstanta tergantung dari penggunaannya dlam perhitungan

  36. Kolom (A s/d IV=256 kolom) • baris (1 s/d 65536) • sheet (max 255) • max array(255,65536,256)

  37. IF .. THEN .. ELSE .. (EXCEL)

  38. IF .. THEN .. FORMAT: • IF [kondisi] THEN Pernyataan

  39. IF .. THEN .. (EXCEL)

  40. IF .. THEN .. ELSE .. Format: IF [kondisi1] THEN Pernyataan Benar1 ELSEIF [kondisi2] THEN Pernyataan Benar2 ELSEIF [kondisi..] THEN Pernyataan Benar.. ELSE Pernyataan salah END IF

  41. Contoh lain: INPUT “Ukuran Butir”;UBTR IF UBTR <= 1/256 THEN PRINT “Batulempung” ELSEIF UBTR<=1/16 THEN PRINT “Batulanau” ELSEIF UBTR<=2 THEN PRINT “Batupasir” ELSE PRINT “Konglomerat/Breksi” END IF

  42. SELECT.. CASE • Format: SELECT CASE variable CASE IS kondisi A Pernyataan A CASE IS kondisi B Pernyataan B ... CASE ELSE Pernyataan END SELECT

  43. SELECT.. CASE • Format: SELECT CASE UBTR CASE IS<=1/256:PRINT “Batulempung” CASE IS<=1/16: PRINT “Batulanau” CASE IS<=2: PRINT “Batupasir” CASE ELSE : PRINT “Breksi” END SELECT

  44. LOGICAL EVALUATION USING BOOLEAN OPERATOR • Comparing 2 variables • The answer: • T(RUE) • F(FALSE) • Each answer will be connected to some different statement • Can be program termination, do another job with or without correlated to the evaluate variable, do another job • Usually in IF…..THEN form

  45. BOOLEAN TRUTH TABLE

  46. BOOLEAN ALGEBRA • A Boolean operator can be completely described using a truth table. • The truth table for the Boolean operators AND and OR are shown at the right. • The AND operator is also known as a Boolean product. The OR operator is the Boolean sum.

More Related