MODUL I
Penyajian Algoritme
(Flowchart dan Pseudocode)
I. Tujuan
1. Mahasiswa mampu membuat flowchart menggunakan aplikasi tertentu
2. Mahasiswa mampu membuat pseudocode dari algoritme/flowchart
3. Mahasiswa mampu membuat program berdasarkan flowchart dan
pseudocode
II. Dasar Teori
2.1 Flowchart
Skema penggambaran dari algoritme atau penggambaran secara grafik dari
langkah-langkah pemecahan masalah yang harus diikuti oleh pemroses. Flow
chart terdiri atas sekumpulan simbol, dimana masing-masing simbol
menggambarkan suatu kegiatan tertentu. Flow chart pada dasarnya terdiri dari 3
proses utama yakni, penerimaan masukan (input), pemrosesan masukan, dan
diakhiri dengan menampilkan hasilnya (output).
Notasi Keterangan
Terminator merupakan notasi flowchart yang
Start/End berfungsi sebagai permulaan (start) atau akhir
(stop) dari suatu aktifitas.
Input/Output merupakan notasi flowchart yang
digunakan untuk menyatakan proses
I/O
memasukkan dan menampilkan/ mengeluarkan
data
Input manual merupakan notasi flowchart yang
digunakan untuk menyatakan input manual dari
Input Manual
keyboard
Notasi flowchart yang berfungsi untuk
Process menunjukkan pengolahan atau proses yang
dilakukan oleh komputer/pc.
Notasi flowchart berfungsi yang menyatakan
Decission proses yang membutuhkan keputusan. Notasi
pemilihan/percabangan/ decision.
Preparation adalah notasi yang berfungsi untuk
mempersiapkan penyimpanan yang sedang/akan
Preparation
digunakan sebagai tempat pengolahan di dalam
storage atau notasi untuk pemberian nilai awal.
Connector adalah notasi flowchart yang berfungsi
untuk menyatakan keluar – masuk atau
Connector
penyambungan proses dalam lembar / halaman
yang sama.
Connector adalah notasi flowchart yang berfungsi
untuk menyatakan keluar – masuk atau
Connector
penyambungan proses dalam lembar / halaman
yang berbeda.
Arrow/tanda panah, merupakan notasi flowchart
yang berfungsi untuk menghubungkan antara
notasi satu dengan notasi yang lainnya atau
Arrow
menyatakan jalannya alur dalam suatu aktifitas.
Simbol arus ini sering disebut juga dengan
connecting line.
Tabel 01. Notasi Flowchart
2.2 Pseudocode
Kode atau tanda yang menyerupai (pseudo) program atau merupakan
penjelasan cara menyelesaikan suatu masalah. Pseudocode sering digunakan
oleh manusia (programmer) untuk menuliskan algoritme sebab mudah dipahami
dan digunakan karena mirip dengan kode-kode program sebenarnya.
Bagian-bagian dari psedocode yakni,
JUDUL / PENJELASAN PROGRAM DAN KETERANGANNYA
{Penjelasan tentang algoritme, berisi uraian singkat mengenai masalah yang akan
diselesaikan}
KAMUS/DEKLARASI
{Semua nama yang dipakai, meliputi nama tipe, nama konstanta, nama peubah,
nama prosedur, dan nama fungsi}
ALGORITME
{semua langkah/aksi algoritme dituliskan disini}
2.3 Aplikasi Perancang Diagram Flowchart
Gambar 01. Ikon Aplikasi DIA
Perangkat lunak untuk membantu dalam perancangan diagram flowchart
ada begitu banyak, terdapat yang bersifat open source dan berbayar. Setiap
aplikasi sudah menyediakan notasi-notasi flowchart yang dibutuhkan. Salah satu
aplikasi untuk membuat diagram flowchart yakni DIA. DIA adalah sebuah aplikasi
untuk membuat diagram-diagram teknis bukan hanya flowchart tetapi dapat
juga membuat diagram UML, Peta Jaringan, dll. DIA memiliki banyak fitur yang
sangat bermanfaat diantaranya fitur ekspor kedalam banyak format (EPS, SVG,
CGM, dan PNG) dan fitur untuk mengubah/mengatur bentuk-bentuk dari notasi.
Gambar 02. Tampilan Awal DIA
III. GUIDED
1. Latihan 1
Tentukan algoritme (deskriptif, flowchart, pseudocode) untuk mengetahui jenis
bilangan (ganjil atau genap) dari sebuah bilangan yang diinputkan.
A. Algoritme
1. Mulai
2. Masukkan bilangan 1 (A)
3. sisa_bagi = A % 2
4. Jika sisa_bagi = 0, maka kerjakan langkah 5 jika tidak kerjakan langkah 6
5. Tampilkan A bilangan Genap, kerjakan langkah 7
6. Tampilkan A bilangan Ganjil
7. Selesai
B. Flowchart
Mulai
Masukkan
Bilangan A
sisa_bagi <- A % 2
Ya Tidak
Bilangan Genap sisa_bagi = 0 ? Bilangan Ganjil
Selesai
C. Pseudocode
Program Ganjil Genap
Menentukan jenis bilangan ganjil atau genap dari sebuah bilangan yang
dimasukkan
Deklarasi
A : integer
sisa_bagi : Integer
Algoritme
Masukkan (A)
sisa_bagi = A mod 2
Sisa_bagi = 0, tampilkan bilangan genap
Sisa_bagi != 0, tampilkan bilangan ganjil
2. Latihan 2
Diberikan 3 buah bilangan bulat acak, urutkanlah ketiganya sehingga berurut
menurun dari bilangan besar ke bilangan kecil (Descending).Tentukan
algoritmenya dalam bentuk deskriptif, flowchart, dan pseudocode.
A. Algoritme
1. Mulai
2. Sediakan variabel Z
3. Masukkan bilangan A, B, C
4. Jika A lebih kecil dari B, maka kerjakan langkah 5 jika tidak maka kerjakan
langkah 6
5. Z isi dengan nilai A, lalu A diisi dengan nilai B, kemudian nilai B diisi dengan
nilai Z
6. Jika A lebih kecil dari C, maka kerjakan langkah 7 jika tidak maka kerjakan
langkah 8
7. Z isi dengan nilai A, lalu A diisi dengan nilai C, kemudian nilai C diisi dengan
nilai Z
8. Jika B lebih kecil dari C, maka kerjakan langkah 9 jika tidak maka kerjakan
langkah 10
9. Z isi dengan nilai B, lalu B diisi dengan nilai C, kemudian nilai C diisi dengan
nilai Z
10. Tampilkan A, B, C
11. Selesai
B. Flowchart
Mulai
Sediakan Z
Masukkan A, B, C
Z=A Ya
A=B A<B?
B=Z
Tidak
1
1
Ya Z=A
A<C? A=C
C=Z
Tidak
Z=B
B=C
Ya
B<C?
C=Z
Tidak
Tampilkan A, B, C
Selesai
C. Pseudocode
Program Pengurutan
Mengurutkan 3 bilangan bulat secara menurun dimulai dari bilangan paling
besar hingga paling kecil (Descending)
Deklarasi
A, B, C, Z : Interger;
Algoritme
Deklarasi variabel Z
Masukkan A, B, C
If A < B then Z = A, A = B, B = Z
If A < C then Z = A, A = C, C = Z
If B < C then Z = B, B = C, C = Z
Tampilkan A, B, C
3. Latihan 3
Seorang karyawan suatu perusahaan menerima gaji tahun pertama sebesar
Rp3.000.000,00. Setiap tahun gaji tersebut naik Rp500.000,00. Berapakah besar
gaji karyawan tersebut pada tahun ke 13 ?
Challenge : Bagaimanakah penyelesaiannya ? Algoritme Deskriptif, Flowchart,
Pseudocode ?
Gaji awal + (kenaikan gaji * (tahun – 1))
3.000.000 + (500.000 * (13-1))
3.000.000 + (500.000 * 12)
3.000.000 + 6.000.000
9.000.000
1. Mulai
2. Persiapkan variable gaji_sekarang
3. Masukkan Gaji awal (gaji_awal)
4. Masukkan kenaikan gaji pertahun (gaji_naik)
5. Masukkan lama kerja (lama_kerja)
6. gaji_sekarang = gaji_awal + (gaji_naik * (lama_kerja – 1))
7. Tampilkan gaji_sekarang
8. Selesai
IV. Unguided
1. Pada permasalahan latihan 2 bagaimanakah penyelesaiannya jika diurutkan
secara menaik (Ascending) ? Algoritme Deskriptif, Flowchart, Pseudocode ?
2. Pada permasalahan latihan 3 bagaimanakah penyelesaiannya jika akan dicari
total gaji yang akan diterima oleh karyawan tersebut setelah bekerja selama 17
tahun ? Algoritme Deskriptif, Flowchart, Pseudocode ?
V. Sumber
A.Munir, Rinaldi dan Lidya, Leony. 2016. Algoritme dan Pemrograman dalam
Bahasa Pascal, C, dan C++; Edisi Keenam. Bandung: Penerbit Informatika.
Harris, Simon dan Ross, James. 2006. Beginning Algorithms. Indianapolis,
Indiana: Penerbit Wiley.