penyajian algoritma

24
Penyajian Algoritma

Upload: abdul-rozakstmik-lombok

Post on 22-Dec-2015

165 views

Category:

Documents


37 download

DESCRIPTION

Algoritma & Pemrograman

TRANSCRIPT

Penyajian Algoritma

Penyajian algoritma

• Terdapat 2 bentuk penyajian :1. Menggunakan bahasa natural

– Naratif– Pseudocode

2. Menggunakan simbol/gambar– Flowchart– Postsaript, Nassischneidermann Diagram

• Tiap penyajian terdiri dari :1. Bagian deklarasi

Yaitu bagian yang mendekalarasikan variabel-variabel yang dibutuhkan dalam algoritma beserta tipe datanya (bil. Bulat, bil. Pecahan, karakter, text, pilihan/boolean)

2. Bagian deskripsiYaitu bagian yang menyatakan algoritma pemecahan masalah

Naratif

• Yaitu cara penyajian algoritma dengan menuliskan dalam bentuk kalimat-kalimat suatu bahasa natural tertentu

• Merupakan cara termudah namun sering membingungkan sehingga jarang digunakan

Naratif• Contoh : Seorang peserta test dengan nomor test tertentu harus

mengerjakan empat macam test. Hasil test tersebut adalah nilai_1, nilai_2, Nilai_3 dan Nilai_4. Apabila rata-rata dari kempat nilai test tersebut lebih besar atau sama dengan 60 maka peserta test itu lulus bila tidak gagal. Buat algoritma untuk mencari hasil test dan predikat kelulusan dari seorang peserta test.

• Pemecahan 1 : Deskripsi : no peserta = text, nilai_1, nilai_2, nilai_3 dan Nilai_4 = bil.

Bulat, rata-rata = bil. Pecahan, predikat = text. Deklarasi : Inputkan nomor test peserta, lalu inputkan nilai_1,

nilai_2, nilai_3 dan Nilai_4. Hitung rata-rata nilai peserta dan tentukan predikatnya dengan membandingkan rata-rata nilai dengan 60, bila nialai rata-rata lebih besar atau sama dengan 60 berarti lulus bila tidak gagal.

• Pemecahan 2 : Deklarasi : no peserta = text, nilai_1, nilai_2, nilai_3 dan Nilai_4 = bil. Bulat, rata-rata = bil. Pecahan, predikat = text Deskripsi : 1. Inputkan nomor peserta 2. Inputkan nilai_1, nilai_2, nilai_3 dan Nilai_4 3. Hitung rata-rata nilai peserta 4. Bandingkan nilai rata-rata dengan 60. Bila nilai rata-rata >= 60 lakukan langkah 5, bila tidak lakukan langkah 6 5. Nomor peserta tersebut berpredikat lulus 6. Nomor peserta tersebut berpredikat gagal

Flowchart• Merupakan suatu bagan yang menggambarkan

urutan instruksi dan hubungan antar proses dengan menggunakan simbol-simbol tertentu

• Merupakan diagram alir yang menggambarkan suatu tahapan penyelesaian masalah secara sederhana, terurai, rapi dan jelas dengan menggunakan simbol-simbol standart

• Merupakan cara klasik untuk menyajikan keseluruhan urutan proses/logika dari suatu persoalan (cocok untuk persoalan sederhana)

Flowchart

• Dibedakan menjadi :1. System flowchart

Menggambarkan suatu sistem secara global (urutan prosedur/proses dari suatu persoalan)

2. Program flowchart / Aplication Flowchart / Logic Flowchart

Menggambarkan logika suatu modul program/hubungan antar perintah/instruksi

Simbol dasar Flowchart 

 

Proses

  

Operasi input-output

  Penghubung dalam satu halaman

 

Penghubung antar halaman

  

Menunjukkan arah atau proses/langkah berikutnya

     

Simbol-simbol untuk program flowchart

   

Simbol persiapan

   Simbol awal dan akhir

   Simbol keputusan

Simbol-simbol untuk system flowchart  

Simbol dokumen (single /multi dokumen)

   

Simbol kegiatan manual

  

 Simbol Media penyimpan offline (arsip-manual)

  

Proses pengurutan data (manual)

   Simbol Pita mangnetik

   Simbol harddisk

  

Simbol diskette

   Simbol manual input

   Simbol display

 

Simbol karto plong

  

Simbol drum magnetik 

  

Simbol pita kertas berlubang

Struktur Dasar• Sequence / urutan

• Pemilihan

Proses A

Proses B

Kondisi

If condition is true Do task Aelse Do task Bend-if

Task A Task B

True

False

True

False

False

Task A

Task B

Kondisi

Kondisi

Kondisi

Task C Task B

T

Truefalse

If Condition 1 id true Do task AElse If Condition 2 is true Dos Task B Else If Condition 3 is true Do Task c Else: : End-if end-ifend-if

Task A Task B Task C Task N

Case of Condition Condition-1 : Do Task-A Condition-1 : Do Task-A Condition-1 : Do Task-A

::End-case

Kondisi

Iterasi/Looping/pengulangan

Proses AKondisi

Proses A

True

kondisi

Proses B

False

True Proses B

For ….to…do atau

for … downto ….do

Proses A

ContohMulai

Nilai_1 0, nilai_2 0, Nilai_3 0, Nilai_4 0, Rerata 0, predikat ’ ‘ ,

Nomor test, Nilai_1, Nilai_2, Nilai_3, Nilai_4,rerata,predikat

Selesai

Rerata (Nilai_1 + nilai_2 + nilai_3+Nilai_4 ) /4

Predikat “lulus”

Predikat “gagal”

Rerata < 60

Y

T

Postsaript, Nassischneidermann Diagram

• Yaitu penyajian Algoritma dengan menggunakan simbol-simbol tertentu

• Flowchart terstruktur yang tidak menggunakan anak panah sebagai penunjuk proses

• Strukturnya lebih baik daripada flowchart karena tidak ada GOTO dan JUMP

Struktur Data

1. Urutan / Sequence

Operation A

Operation C

Operation B

3. Pengulangan / iterasi/looping

While Condition

Operation

2. Pilihan/ selectionCondition

Operation A Operation B

Yes No

Operation A No.Operation

Yes NoCondition

Case Of

Value A Value B Value C Value D

Operasi A Operasi B Operasi C Operasi D

Contoh : Mencari total & Rata-rata

While bil not = 99

Print Total, Average

Total 0 , Counter 0, bil 0

Read bil

Total total + bil

Counter Counter + 1

Read bil

If Counter > 0Yes No

Average total / counter Average 0

Pseudocode

• Syarat penulisan1. Masing-masing operasi dijelaskan dengan

singkat dan tepat dalam statement bahasa inggris

2. Sekelompok Statement dapat dibentuk dalam modul-modul atau prosedur-prosedure yang diberi nama

Struktur Algoritma

1. Sequence/urutan operasi dihasilkan dengan penulisan instruksi yang berurutan

2. Selection/pilihan dilakukan dengan menggunakan statement : (tunggal, nested if, case of)

If kondisi thenStatement A

Statement B

:

Endif

If kondisi thenStatement A

:

Else If kondisi then Statement A

:

Else If kondisi thenStatement A

:

Else

Statement A

:

Endif

Endif

Endif

If kondisi thenStatement A

Statement B

:

Else Statement A

Statement B

:

Endif

Case of variabel

Statemen A

Statemen A

:

End case

Struktur dasar algoritma

While kondisi

Statement A

Statement B

:

End while

RepeatStatement A

Statement B

:

Until Kondisi

For batas_awal to batas_ akhir do

Statement A

Statement B

:

End for

For Batas_akhir downto batas_awal do

Statement A

Statement B

:

End for

3. Iterasi/Looping/pengulangan dihasilkan dengan mengikuti statement :

Contoh :1. Pilihan sederhana => Untuk menghitung jumlah orang dewasa dan anak-

anakIf Employe_age >= 18 then Adult_counter adult_counter + 1Else Junior_counter adult_counter -1

2. Pilihan ganda => untuk menghitung jumlah pegawai Case of Employe_skill_code

“E” : Engineer_counter Engineer_counter + 1“A” : Accountant_counter Accountant_counter + 1“ P” : Programmer_counter Programmer_counter +1

End case3. Pengulangan => menampilkan “STMIK” sebanyak lima

Counter 5While Counter > 0 then

Write(“STMIK”)Counter counter - 1

End while

Bahasa AlgoritmaDisajikan dalam bentuk urutan proses sbb :• Pada bagian dituliskan nama algoritma dan

definisi tipe variabel yang digunakan• Tiap langkah dijelaskan (tujuan/kegunaan),

penulisannya dalam tanda [ ….]• Diakhiri dengan kata exit dan tanda dipojok

kanan, yang berfungsi sebagai physical end (bila tidak ada simbol tersebut berarti logical end); atau return untuk sub algoritma

Contoh Algoritma Testing

Digunakan untuk menentukan nilai rata-rata dari empat data nilai seorang peserta test dan menentukan predikatnya. Bila nilai rata-rata >= 60 maka berhasil jika tidak gagal. Variabel yang diguankan : notest bertipe text, nilai1, nilai2, nilai3, nilai4 bertipe integer, rata bertipe real.

1. [inputkan nomor test dan keempat nilai]Read(notest, nilia1, nilai2, nilai3,nilai4)

2. [Hitung rata-rata nilai]rata (nilai1 + nilai2 + nilai3 +nilai4) 4

3. [proses pembandingan untuk menentukan apakah siswa tersebut lulus atau gagal dan menampilkan hasilnya]

If rata >= 60 then write(‘LULUS’)Else write(‘GAGAL’)endif

4. [selesai]Exit