Anda di halaman 1dari 24

PENULISAN

ALGORITMA
dengan
PSEUDOCODE &
FLOWCHART

NOTASI ALGORITMA
Notasi algoritma dapat berupa :
Uraian kalimat deskriptif (narasi)
Contoh : Algoritma Kelulusan_mhs
Diberikan nama dan nilai mahasiswa, jika nilai tersebut lebih besar
atau sama dengan 56 maka mahasiswa tersebut dinyatakan lulus
jika nilai lebih kecil dari 56 maka dinyatakan tidak lulus.
DESKRIPSI :
baca nama dan nilai mahasiswa.
jika nilai >= 56 maka
keterangan = lulus
selain itu
keterangan = tidak lulus.
cetak nama dan keterangan

Jenis Proses dalam Algoritma


Runtunan

/ Sequence
Pemilihan / Selection
Pengulangan / Repetition

Runtunan / Sequence
Algoritma menukar isi 2 buah ember, A dan B
1. Tuangkan isi ember A ke dalam ember C
2. Tuangkan isi ember B ke dalam ember A
3. Tuangkan isi ember C ke dalam ember B

Pemilihan / Selection

Jika Nilai lebih besar atau sama dengan 56


maka Keterangan diisi dengan Lulus
selain dari itu Keterangan diisi dengan Tidak
Lulus

Pengulangan / Repetition

Contoh Kasus :
Input nilai 10 Siswa
Proses :
Ulangi
Input Nilai Siswa
Maju ke Siswa berikutnya
Hingga Siswa ke 10

PSEUDOCODE &
FLOWCHART

Pseudocode dan Flowchart adalah tools untuk


menulis algoritma.
PSEUDOCODE menggunakan instruksi berupa
kalimat (kata)
FLOWCHART menggunakan instruksi berupa
gambar / simbol / chart.

FLOWCHART
Terminator, Start, Selesai
Proses
Pemilihan
Dokumen
Konektor
Konektor antar halaman

FLOWCHART
Mulai
Baca
Nama & Nillai
Ketr tdk Lulus

Tidak

Ya

Nilai >= 56

Tulis
Nama & Ketr
Selesai

Ketr Lulus

PSEUDOCODE
Mulai

Baca Nama, Nilai


Jika Nilai>=56 maka
Ketr Lulus
Ketr tdk Lulus
selain itu
Ketr Tidak Lulus
cetak Nama dan Ketr

Baca
Nama & Nillai
Tidak

Ya

Nilai >= 56

Tulis
Nama & Ketr
Selesai

Ketr Lulus

Contoh A
Masalah
Tentukan mutu nilai akhir (grade) suatu mata kuliah di
UMN
Masukan (Input)
Nilai Tugas, Nilai UTS, Nilai UAS
Pemecahan (Proses)
langkah 1
langkah 2

langkah n
Keluaran (Output)
grade = X

Contoh A (Model 1)
Perhitungan untuk Pemecahan
nilai akhir = nilai tugas * 30% +
nilai UTS * 30% +
nilai UAS * 40%
jika 0,00 nilai akhir 44,99 maka grade = E
jika 45,00 nilai akhir 55,99 maka grade = D
jika 56,00 nilai akhir 67,99 maka grade = C
jika 68,00 nilai akhir 79,99 maka grade = B
jika 80,00 nilai akhir 100,00 maka grade = A

Pseudocode Contoh A (Model 1)


baca n_tugas, n_UTS, n_UAS
n_akhir n_tugas * 30% + n_UTS * 30% +
n_UAS * 40%
jika n_akhir > 79,99 maka grade A
jika n_akhir > 67,99 maka grade B
jika n_akhir > 55,99 maka grade C
jika n_akhir > 44,99 maka grade D
selain itu grade E
cetak grade

Flowchart Contoh A (Model 1)

Contoh A (Model 2)
Perhitungan untuk Pemecahan
nilai akhir = nilai tugas * %nilai tugas +
nilai UTS * %nilai UTS +
nilai UAS * % nilai UAS
jika nilai akhir > 79,99 maka grade = A
selain itu
jika nilai akhir > 67,99 maka grade = B
selain itu
jika nilai akhir > 55,99 maka grade = C
selain itu
jika nilai akir > 44,99 maka grade = D
selain itu grade = E

Pseudocode Contoh A (Model 2)


baca n_tugas, n_UTS, n_UAS
baca %tugas, %UTS, %UAS
n_akhir n_tugas * %tugas + n_UTS * %UTS +
n_UAS * %UAS
jika n_akhir > 79,99 maka grade A
selain itu jika n_akhir > 67,99 maka grade B
selain itu jika n_akhir > 55,99 maka grade C
selain itu jika n_akhir > 44,99 maka grade D
selain itu grade E
cetak grade

Flowchart contoh A (Model 2)

Masalah

Contoh B

Tentukan rata-rata nilai algoritma, nilai tertinggi dan nilai terendah

Masukan (Input)
jumlah mahasiswa
nilai mahasiswa ke-1
nilai mahasiswa ke-2

nilai mahasiswa ke n

Pemecahan
langkah 1
langkah 2

langkah n

Keluaran (Output)
Rata - rata = X
Nilai tertinggi = Y
Nilai terendah = Z

Contoh B (algoritma 1)
MODEL PERHITUNGAN
jumlah nilai = nilai1 + nilai2 +
nilai rerata = jumlah nilai / jumlah mhs
jika nilai1 > nilai2 dan nilai1 > nilai3 dan nilai1 > nilai4
nilai tertinggi = nilai1
jika nilai2 > nilai1 dan nilai2 > nilai3 dan nilai2 > nilai4
nilai tertinggi = nilai2

jika nilai1 < nilai2 dan nilai1 < nilai3 dan nilai1 < nilai4
nilai terendah = nilai1
jika nilai2 < nilai1 dan nilai2 < nilai3 dan nilai2 < nilai4
nilai terendah = nilai2

Contoh B (Algoritma 2)
MODEL PERHITUNGAN
jumlah nilai = 0
ulangi sebanyak jumlah mhs
baca nilai
akumulasikan nilai ke jumlah nilai
akhir pengulangan
hitung nilai rata = jumlah nilai / jumlah mhs
nilai tertinggi = -1000
nilai terendah = 1000
ulangi sebanyak jumlah mhs
baca nilai
jika nilai > nilai tertinggi maka nilai tertinggi = nilai
jika nilai < nilai terendah maka nilai terendah = nilai
akhir pengulangan

Contoh B (Algoritma 3)
MODEL PERHITUNGAN
jumlah nilai = 0
nilai tertinggi = -1000
nilai terendah = 1000
ulangi sebanyak jumlah mhs
baca nilai
akumulasikan nilai ke jumlah nilai
jika nilai > nilai tertinggi maka nilai tertinggi = nilai
jika nilai < nilai terendah maka nilai terendah = nilai
akhir pengulangan
hitung nilai rata = jumlah nilai / jumlah mhs

Pseudocode Contoh B (Alg. 3)


baca jml_mhs
jml_nilai 0
nilai_terendah 1000
nilai_tertinggi -1000
counter 0
ulang
baca nilai
jml_nilai jml_nilai + nilai
jika nilai < nilai_terendah maka nilai_terendah nilai
jika nilai > nilai_tertinggi maka nilai_tertinggi nilai
counter counter + 1
selama counter < jml_mhs
nilai_rerata jml_nilai / jml_mhs
cetak nilai_rerata, nilai_tertinggi, nilai_terendah

Flowchart Contoh B (Alg 3)

References :
Thompson SN, 2009, Algoritma dan Struktur Data dengan C.
Deitel, PJ, HM.Deitel, 2007, C How to Program, 5th Edition.