Representasi Alg Dan Deskcheck
description
Transcript of Representasi Alg Dan Deskcheck
Algoritme dan pemecahan masalah
Konsep dasar algoritme Penerapan algoritme
dalam pemecahan masalah
Representasi algoritme dengan menggunakan pseudocode dan flowchart
Desk checking Contoh kasus
Algoritme dan pemecahan masalah
Konsep dasar algoritme Penerapan algoritme dalam
pemecahan masalah Representasi algoritme dengan
menggunakan pseudocode dan flowchart
Desk checking Contoh kasus
Sejarah Algoritme
Asal kata algoritme Mohammed Ibn Musa al-Khowarizmi,
• Ilmuan yang menulis kitab Al jabr w’al-muqabala (Calculation by Completion and Balancing) sekitar tahun 825 M.
• Diterjemahkan (abad ke-12 M) menjadi “Liber algebrae et almucabola” "algebra".
• Al-jabr "x2 = 40x − 4x2 " is transformed into "5 x2 = 40x".
• Al-Muqabala " x2 + 5 = 40x + 4 x2 " is turned into "5 = 40x + 3x2 ".
• Practical examples of the application of the rules.
Sejarah Algoritme– Karena perhitungan dengan angka Arab
sudah menjadi hal yang biasa, maka lambat laun kata Algorithm berangsur-angsur dipakai sebagai metode perhitungan (komputasi) secara umum.
• Algoritme merupakan basic semua pemrograman komputer.
• Arti modern algoritme : resep, proses, metode, teknik, prosedure, routine.
DefinisiALGORITME adalah urutan langkah logis tertentu untuk
memecahkan masalah yang dituangkan secara tertulis
Dalam bidang komputer, algoritme sangat diperlukan dalam menyelesaikan berbagai masalah
pemrograman, terutama dalam komputasi numeris Tanpa algoritme yang dirancang baik maka proses
pemrograman akan menjadi salah, rusak, atau lambat dan tidak efisien
Sifat Algoritme
Algoritme bersifat umum artinya : Tidak menggunakan simbol atau sintaks dari
suatu bahasa pemrograman Tidak tergantung pada suatu bahasa
pemrograman Notasi-notasinya dapat digunakan untuk seluruh
bahasa manapun
Kriteria algoritme (Donald E. Knuth)
Input: algoritme dapat memiliki nol atau lebih inputan dari luar.
Output: algoritme harus memiliki minimal satu buah output keluaran.
Definiteness (pasti): algoritme memiliki instruksi-instruksi yang jelas dan tidak ambigu.
Finiteness (ada batas): algoritme harus memiliki titik berhenti (stopping role).
Effectiveness (tepat dan efisien): algoritme sebisa mungkin harus dapat dilaksanakan dan efektif.
Jenis Proses algoritme Sequence Process: instruksi dikerjakan secara
sekuensial, berurutan. Selection Process: instruksi dikerjakan jika memenuhi
kriteria tertentu Iteration Process: instruksi dikerjakan selama
memenuhi suatu kondisi tertentu. Concurrent Process: beberapa instruksi dikerjakan
secara bersama.
Notasi algoritme Scholl 88Teks algoritme terdiri dari 3 bagian yaitu : Judul (Header) berisi tentang judul program/modul/subrutin ada deskripsi singkat ttg intisari tujuan/kegunaan
program tersebut Kamus merupakan tempat mendefinisikan input, output, tipe
data, variabel, konstannta, spesifikasi subrutin/modul Langkah urutan proses algoritme berisi urutan instruksi-instruksi atau pemanggilan
aksi
Format algoritmeJudul{Tujuan, spesifikasi dan keterangan algoritme secara
fokus }Kamus{definisi nama dan tipe input, output, variabel, nama
konstanta, spesifikasi subrutin-subrutin}algoritme{ berisi urutan-urutan langkah instruksi dari awal
sampai akhir}Langkah 1 …..Langkah 2 …..…Langkah N Selesai
Contoh algoritmeLuas_Persegi_Panjang{Tujuan untuk menghitung luas persegi panjang}{input P panjang bangun bertipe data real, L lebar
bangun bertipe real, output LP bertipe real}Langkah 1 : Masukkan PLangkah 2 : Masukkan LLangkah 3 : LP = P * LLangkah 4 : Cetak LPLangkah 5 : Selesai
FLOWCHART Flowchart adalah bentuk gambar/diagram yang
mempunyai aliran satu atau dua arah secara sekuensial yang digunakan untuk menentukan alur logika program.
Flowchart digunakan untuk merepresentasikan maupun mendesain program. Oleh karena itu flowchart harus bisa merepresentasikan komponen-komponen dalam bahasa pemrograman.
Flowchart adalah penggambaran secara grafik dari langkah-langkah dan urut-urutan instruksi dari suatu program.
Pseudo-codePseudocode berasal dari kata pseudo (mirip) dan
code (kode).Pseudocode merupakan salah satu metode menuliskan
algoritme yang mirip dengan kode pemrograman yang sebenarnya.
Pseudocode merupakan notasi singkat untuk pemrograman yang menggunakan kombinasi struktur pemrograman informal dan deskripsi secara verbal.
Pseudocode berbasis pada bahasa pemrograman yang sesungguhnya seperti : Basic, Pascal, C sehingga lebih tepat digunakan untuk menggambarkan algoritme yang akan dikomunikasikan kepada programmer.
Ketentuan Penulisan Pseudocode Pernyataan ditulis dalam bahasa Inggris
sederhana Tiap instruksi ditulis dalam baris terpisah Digunakan keyword dan indentasi untuk
membedakan struktur kendali tertentu Setiap set instruksi ditulis dari atas ke bawah Kelompok pernyataan dapat dibentuk menjadi
modul dan diberi nama
Operasi-operasi yang dipakai1. Operasi penerimaan informasi • Read digunakan ketika algoritme menerima input
dari record atau file• Get digunakan ketika algoritme menerima input
dari keyboard
Contoh : Read namaMhsGet tanggal
• Print digunakan ketika output dikirim ke printer• Write digunakan ketika output dikirim ke file• Put, Output, Display digunakan ketika output
dikirim ke screen• Prompt diperlukan sebelum instruksi Get• Contoh : Print `Program Completed´
Write customer record to master filePut out name, address and postcodeOutput total_taxDisplay ´End of data´
Prompt for student_markGet student_mark
2. Operasi pengeluaran informasi
3. Operasi Aritmetika
Verb used: • Compute• Calculate
Symbols used: +, -, *, /, ()
Contoh : Add number to totalTotal = total + numberDivide total_marks by student_countSales_tax = cost_price * 0.10Compute C = (F – 32) * 5/9
4. Operasi pemberian nilai pada variabel
1. Pemberian nilai awal (initial value) digunakan verbs Initialise atau Set
2. Pemberian nilai sebagai hasil dari suatu pemrosesan atau operasi aritmetik, maka digunakan simbol ´=´or ´´
3. Penyimpan variabel untuk digunakan kemudian, maka digunakan verb Save atau Store
Contoh :• Initialize total_price to zero• Set student_count to 0• Total_price = cost_price + sales_tax• Total_price cost_price + sales_tax• Store customer_num in last_customer_num
5. Membandingkan 2 variabel dan memilih 1 dari dua alternatif langkah operasi
IF, THEN, ELSE Contoh : IF student_attendance_status is part_time THEN
add 1 to part_time_countELSE
Add 1 to full_time_countENDIF
6. Pengulangan dari beberapa operasi
DOWHILE, ENDDO
Contoh :
DOWHILE student_total < 50Read student recordPrint student name, address to reportAdd 1 to student_total
ENDDO
DESK CHECKING Menguji logika algoritme dengan beberapa data yang
dipilih
Langkah Desk Checking
1. Pilih nilai untuk tes yang sederhana (2-3 cukup)2. Menentukan hasil dan memeriksa apakah hasilnya
sesuai dengan yg seharusnya.3. Membuat tabel nama variabel yang relevan4. Memeriksa garis ujian demi baris, langkah demi
langkah5. Ulangi proses 4 untuk kasus uji lainnya
Contoh Desk Checking
A program is required to read three numbers, add them together and print their total.
Develop algorithm using• Flowchart• pseudocode
Pseudocode : Add_three_numbers
Read number1, number2, number3Total = number1 + number2 + number3Print total
END
1. Choose two sets input test data. Set 1: 10,20, 30 and Set 2: 40, 41, 42
Data Set 1 Data Set 2
Number 1 10 40
Number 2 20 41
Number 3 30 42
2. Establish the expected result for each test case
Data Set 1 Data Set 2
Total 60 123
3. Set up a table of relevant variable names, and pass each test data set statement by statement.
Statement number
number1 number2 number3 total
First Pass
1 10 20 30
2 60
3 Print
Second Pass
1 40 41 42
2 123
3 Print
4. Check the expected results (60 and 123) match the actual results.