Anda di halaman 1dari 24

Penyajian Algoritma

Penyajian algoritma
Terdapat 2 bentuk penyajian :
1. Menggunakan bahasa natural
Naratif Pseudocode Flowchart Postsaript, Nassischneidermann Diagram

2. Menggunakan simbol/gambar

Tiap penyajian terdiri dari :


1. Bagian deklarasi
Yaitu bagian yang mendekalarasikan variabelvariabel yang dibutuhkan dalam algoritma beserta tipe datanya (bil. Bulat, bil. Pecahan, karakter, text, pilihan/boolean)

2. Bagian deskripsi
Yaitu 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


Operasi inputoutput Penghubung dalam satu halaman

Proses

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
Proses A Proses B

Pemilihan
True Kondisi False

If condition is true Do task A else Do task B end-if

Task A

Task B

True

Kondisi
T

False

Task A
Task B

Kondisi
True

False false

Kondisi Task B

Task B

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

Kondisi 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

Iterasi/Looping/pengulangan

Proses A

Kondisi
True False kondisi True

Proses B

Proses A

Proses B

For .todo atau for downto .do Proses A

Mulai

Contoh

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 (Nilai_1 + nilai_2 + nilai_3+Nilai_4 ) 4 T Rerata < 60 Y Predikat lulus

Predikat gagal

Selesai

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 karen atidak ada GOTO dan JUMP

Struktur Data
1. Urutan / Sequence
Operation A Operation B Operation C Operation

3. Pengulangan / iterasi/looping
While Condition

2. Pilihan/ selection
Case Of Condition Yes Operation A No Operation B
Value A Operasi A Value B Operasi B Value C Operasi C Value D Operasi D

Condition Yes Operation A No No.Operation

Contoh : Mencari total & Rata-rata


Total 0 , Counter 0, bil 0 Read bil While bil not = 99 Total total + bil Counter Counter + 1

Read bil
If Counter > 0 Yes Average total / counter Average 0 No

Print Total, Average

Pseudocode
Syarat penulisan
1. 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. 2.

Sequence/urutan operasi dihasilkan dengan penulisan instruksi yang berurutan Selection/pilihan dilakukan dengan menggunakan statement : (tunggal, nested if, case of)
If kondisi then
Statement A Statement B :

If kondisi then
Statement A :

Case of variabel Statemen A Statemen A

Else If kondisi then


Statement A : Else If kondisi then
Statement A :

Endif
If kondisi then
Statement A Statement B :

:
End case

Else
Statement A Statement B :

Else Statement A : Endif Endif

Endif

Endif

Struktur dasar algoritma


3.

Iterasi/Looping/pengulangan dihasilkan dengan mengikuti statement :


Repeat
Statement A Statement B :

While kondisi Statement A Statement B : End while For batas_awal to batas_ akhir do Statement A Statement B : End for

Until Kondisi For Batas_akhir downto batas_awal do Statement A Statement B : End for

Contoh :
1. Pilihan sederhana => Untuk menghitung jumlah orang dewasa dan anakanak If Employe_age >= 18 then Adult_counter adult_counter + 1 Else Junior_counter junior_counter +1 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

2.

End case
3. Pengulangan => menampilkan STIKI sebanyak lima Counter 5 While Counter > 0 then Write(STIKI) Counter counter - 1 End while

Bahasa Algoritma
Disajikan 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

Anda mungkin juga menyukai