Representasi Alg Dan Deskcheck

31
Algoritme dan pemecahan masalah Konsep dasar algoritme Penerapan algoritme dalam pemecahan masalah Representasi algoritme dengan menggunakan pseudocode dan flowchart Desk checking Contoh kasus

description

aaa

Transcript of Representasi Alg Dan Deskcheck

Page 1: 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

Page 2: 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

Page 3: Representasi Alg Dan Deskcheck

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.

Page 4: Representasi Alg Dan Deskcheck

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.

Page 5: Representasi Alg Dan Deskcheck

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

Page 6: Representasi Alg Dan Deskcheck

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

Page 7: Representasi Alg Dan Deskcheck

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.

Page 8: Representasi Alg Dan Deskcheck

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.

Page 9: Representasi Alg Dan Deskcheck

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

Page 10: Representasi Alg Dan Deskcheck

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

Page 11: Representasi Alg Dan Deskcheck

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

Page 12: Representasi Alg Dan Deskcheck

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.

Page 13: Representasi Alg Dan Deskcheck
Page 14: Representasi Alg Dan Deskcheck
Page 15: Representasi Alg Dan Deskcheck
Page 16: Representasi Alg Dan Deskcheck
Page 17: Representasi Alg Dan Deskcheck

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.

Page 18: Representasi Alg Dan Deskcheck

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

Page 19: Representasi Alg Dan Deskcheck

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

Page 20: Representasi Alg Dan Deskcheck

• 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

Page 21: Representasi Alg Dan Deskcheck

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

Page 22: Representasi Alg Dan Deskcheck

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

Page 23: Representasi Alg Dan Deskcheck

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

Page 24: Representasi Alg Dan Deskcheck

6. Pengulangan dari beberapa operasi

DOWHILE, ENDDO

Contoh :

DOWHILE student_total < 50Read student recordPrint student name, address to reportAdd 1 to student_total

ENDDO

Page 25: Representasi Alg Dan Deskcheck

DESK CHECKING Menguji logika algoritme dengan beberapa data yang

dipilih

Page 26: Representasi Alg Dan Deskcheck

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

Page 27: Representasi Alg Dan Deskcheck

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

Page 28: Representasi Alg Dan Deskcheck

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

Page 29: Representasi Alg Dan Deskcheck

2. Establish the expected result for each test case

Data Set 1 Data Set 2

Total 60 123

Page 30: Representasi Alg Dan Deskcheck

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

Page 31: Representasi Alg Dan Deskcheck

4. Check the expected results (60 and 123) match the actual results.