700 likes | 1.28k Views
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
E N D
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 • Level kedekatan dengan kode program: mulai dari teks bebas sampai pseudocode • Diagram, misal: bagan alir (flowchart)
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
Contoh 2: Persoalan 1 • Menentukan apakah suatu bilangan bulat positif adalah bilangan genap atau bilangan ganjil.
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.
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
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.
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.
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.
Simbol Flowchart [3] Dll.
Kontrol Struktur : • Dibagi dalam 4 katagori yaitu: • Statement • Sequence • Selection • Iteration (Looping)
Statement: • Control berupa instruksi/perintah yang harus dikerjakan oleh komputer. • Setiap bahasa pemrograman memiliki instruksi yang berlainan.
Sequence : • Beberapa statement diurutkan menjadi urutan perintah
Selection (IF/THEN/ELSE): • pemilihan 2 kemungkinan berdasarkan evaluasi dari suatu expresi, dapat benar (true) atau salah (False).
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
awal iterasi pada akhir iterasi
Program Terstruktur : • Terdapat dua model pemrograman • tak terstruktur • terstruktur • Perbedaan dari keduanya adalah:
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.
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
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 :
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)
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
Structured program : • Program terdiri atas program utama dan 2 buah modul: Program Utama: Inisialisasi variable Link ke modul InputData Link ke modul LinearRegresi
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
Dokumentasi • Kegunaan dokumentasi adalah untuk • memudahkan saat penulisan program • memudahkan debugging (mencari kesalahan) • memudahkan orang lain mengembangkan program tersebut
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
IF .. THEN .. ELSE .. Format: • IF [kondisi] THEN Pernyataan Benar ELSE Pernyataan salah END IF
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
Kolom (A s/d IV=256 kolom) • baris (1 s/d 65536) • sheet (max 255) • max array(255,65536,256)
IF .. THEN .. FORMAT: • IF [kondisi] THEN Pernyataan
IF .. THEN .. ELSE .. Format: IF [kondisi1] THEN Pernyataan Benar1 ELSEIF [kondisi2] THEN Pernyataan Benar2 ELSEIF [kondisi..] THEN Pernyataan Benar.. ELSE Pernyataan salah END IF
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
SELECT.. CASE • Format: SELECT CASE variable CASE IS kondisi A Pernyataan A CASE IS kondisi B Pernyataan B ... CASE ELSE Pernyataan END SELECT
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
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
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.