Penyajian algoritma
Terdapat 2 bentuk penyajian :
1. Menggunakan bahasa natural
Naratif Pseudocode Flowchart Postsaript, Nassischneidermann Diagram
2. Menggunakan simbol/gambar
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)
Proses
Simbol persiapan
Simbol keputusan
Simbol harddisk
Simbol diskette
Simbol display
Struktur Dasar
Sequence / urutan
Proses A Proses B
Pemilihan
True Kondisi False
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
: : End-case
Iterasi/Looping/pengulangan
Proses A
Kondisi
True False kondisi True
Proses B
Proses A
Proses B
Mulai
Contoh
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
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
Read bil
If Counter > 0 Yes Average total / counter Average 0 No
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 :
Endif
If kondisi then
Statement A Statement B :
:
End case
Else
Statement A Statement B :
Endif
Endif
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