penyajian algoritma
DESCRIPTION
Algoritma & PemrogramanTRANSCRIPT
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 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