TUJUAN
Mahasiswa diharapkan menjelaskan simbol-simbol flowchart dan bisa membuat
algoritma pemrograman untuk menyelesaikan suatu permasalahan.
A. Pengertian Flowchart
Flowchart adalah penggambaran secara grafik dari langkah-langkah dan urutan-
urutan prosedur dari suatu program.Flowchart menolong analis dan programmer
untuk memecahkan masalah kedalam segmen-segmen yang lebih kecil dan me-
nolong dalam menganalisis alternatif-alternatif lain dalam pengoperasian.
Flowchart adalah adalah suatu bagan dengan simbol-simbol tertentu yang
meng-gambarkan urutan proses secara mendetail dan hubungan antara suatu
proses (instruksi) dengan proses lainnya dalam suatu program.
Flowchart biasanya mempermudah penyelesaian suatu masalah khususnya ma-
salah yang perlu dipelajari dan dievaluasi lebih lanjut.
Tujuan Membuat Flowchart
1. Menggambarkan urutan atau tahapan dari penyelesaian masalah
2. Menggambarkan permasalahan secara sederhana, terurai, rapi dan jelas
Flowchart dibagi menjadi dua (2) bagian, yaitu :
1. Flowchart yang menggambarkan alur suatu sistem
2. Flowchart yang menggambarkan alur dari suatu program.
Cara Membuat Flowchart
Dalam pembuatan flowchart tidak ada rumus atau patokan yang bersifat mutlak.
Karena flowchart merupakan gambaran hasil pemikiran dalam menganalisa sua-
tu masalah dengan komputer. Sehingga flowchart yang dihasilkan dapat berva-
riasi antara satu pemrogram dengan pemrogram lainnya.
Namun secara garis besar, setiap pengolahan selalu terdiri dari tiga bagian uta-
ma, yaitu :
1. Input berupa bahan mentah
2. Proses pengolahan
3. Output berupa bahan jadi.
Untuk pengolahan data dengan komputer, dapat dirangkum urutan dasar untuk
pemecahan suatu masalah, yaitu :
START : Berisi intruksi untuk persiapan peralatan yang di perlukan sebelum
me-
nangani pemecahan masalah
READ : Berisi instruksi untuk membaca data dari suatu peralatan input.
PROCESS :Berisi kegiatan yang berkaitan dengan pemecahan persoalan sesuai
dengan data yang dibaca.
WRITE : Berisi instruksi untuk merekam hasil kegiatan ke perlatan output.
END : Mengakhiri kegiatan pengolahan
Bila seorang analis dan programmer akan membuat flowchart, ada beberapa pe-
tunjuk yang harus diperhatikan, seperti:
1. Flowchart digambarkan dari halaman atas ke bawah dan dari kiri ke
kanan.
2. Aktivitas yang digambarkan harus didefinisikan secara hati-hati dan
definisi ini harus dapat di mengerti oleh pembacanya
3. Kapan aktivitas dimulai dan berakhir harus ditentukan secara jelas.
4. Setiap langkah dari aktivitas harus diuraikan dengan menggunakan
deskripsi kata kerja
5. Setiap langkah dari aktivitas harus berada pada urutan yang benar.
6. Lingkup dan range dari aktifitas yang sedang digambarkan harus di-
telusuri dengan hati-hati. Percabangan-percabangan yang memotong akti-
vitas yang sedang digambarkan tidak perlu digambarkan pada flowchart
yang sama. Simbol konektor harus digunakan dan percabangannya
diletak-kan pada halaman yang terpisah atau hilangkan seluruhnya bila
percabang-annya tidak berkaitan dengan sistem.
7. Gunakan simbol-simbol flowchart yang standar.
Jenis Flowchart Dan Artinya
Flowchart terbagi atas 5 jenis, yaitu :
1. Bagan alir sistem (systems flowchart).
2. Bagan alir dokumen (document flowchart).
3. Bagan alir skematik (schematic flowchart).
4. Bagan alir program (program flowchart).
5. Bagan alir proses (process flowchart).
Simbol Flowchart
Dalam menggambar sebuah flowchart diperlukan simbol-simbol yang represen-
tatif agar urutan atau tahapan suatu penyelesaian masalah yang digambarkan
dengan flowchart dapat terlihat secara jelas dan mudah dipahami.
Simbol-simbol yang di pakai dalam flowchart dibagi menjadi 3 kelompok :
1. Flow direction symbols
Simbol ini digunakan untuk menghubungkan simbol satu dengan yang
lain
dan disebut juga connecting line.
2. Processing symbols
Simbol ini menunjukan jenis operasi pengolahan dalam suatu proses
atau
prosedur.
3. Simbol input/output
Simbol yang menunjukkan jenis peralatan yang digunakan sebagai media
input atau output.
Berikut Simbol Flowchart Dan Fungsinya :
Perbedaan DFD dan Flowchart
berikut Perbedaan antara DFD dan Flowchart
1. DFD menunjukkan alur data di suatu sistem sedangkan flowchart
sistem
menjelaskan alur kerja atau prosedur-prosedur yang ada di dalam sistem.
2. DFD prosesnya dapat dilakukan serentak atau pararel sedangkan
flowchart alur datanya harus urut.
3. DFD tidak ada looping sedangkan flowchart ada looping.
4. DFD tidak ada proses perhitungan sedangkan flowchart ada proses
perhitungan
Flowchart dapat disimpulkan Menjadi bagan-bagan yang dapat menyelesaikan
suatu masalah serta mempunyai gambar dengan menunjukkan alat media
input,output serta proses pengolahan data.
B. Definisi Algoritma
Ditinjau dari asal usul katanya kata Algoritma sendiri mempunyai sejarah
yang
aneh. Orang hanya menemukan kata Algorism yang berarti proses menghitung
dengan angka arab. Anda dikatakan Algorist jika anda menghitung mengguna-
kan Angka Arab. Para ahli bahasa berusaha menemukan asal kata ini namun
hasilnya kurang memuaskan. Akhirnya para ahli sejarah matematika menemu-
kan asal kata tersebut yang berasal dari nama seorang ahli matematika dari
Uzbekistan Abu Abdullah Muhammad Ibnu Musa Al‐Khuwarizmi (770‐840).
Al‐Khuwarizmi dibaca orang barat menjadi Algorism. Al‐Khuwarizmi menulis
buku yang berjudul Kitab Al Jabar Wal‐Muqabala yang artinya “Buku pemu-
garan dan pengurangan” (The book of restoration and reduction). Dari judul
buku itu kita juga memperoleh akar kata “Aljabar” (Algebra). Perubahan kata
dari Algorism menjadi Algorithm muncul karena kata Algorism sering dikeliru
kan dengan Arithmetic, sehingga akhiran –sm berubah menjadi –thm. Karena
per-hitungan dengan angka Arab sudah menjadi hal yang biasa. Maka lambat
laun kata Algorithm berangsur‐angsur dipakai sebagai metode perhitungan
(kompu-tasi) secara umum, sehingga kehilangan makna kata aslinya. Dalam
Bahasa Indonesia, kata Algorithm diserap menjadi Algoritma.
Ada beberapa langkah untuk mengimplementasikan algoritma pemrograman
dalam sebuah siklus pemrograman, antara lain:
Problem Definiton,
adalah proses mengurai dan memahami suatu masalah sedetail-detailnya. Dari
proses ini diharapkan kita dapat memahami inti permasalahan, kebutuhan, dan
rencana penyelsaikan yang akan dihasilkan.
Problem Analys,
adalah proses menganalisis suatu masalah dengan menentukan apa-apa yang
akan digunakan seperti variable, fungsi, dll.
Algorithm Development,
adalah proses menentukan algoritma dalam proses menyelesaian masalah. Fase
ini merupakan fase paling penting dalam tahapan pembuatan program.
Coding & Documentation,
adalah proses menerjemahkan algoritma ke dalam bahasa pemrograman.
Sedangkan proses dokumentasi adalah proses penulisan tahapan-tahapan proses
coding dalam suatu berkas agar bisa ditinjau di kemudian hari.
Testing,
adalah proses pengujian apakah program yang telah ditulis dapat menyelesaikan
permasalahan dengan melihat input dan output dari program.
Maintenance,
adalah proses perbaikan jika program mengalami error dan akan membawa
kembali ke desain dan pengembangan algoritma.
Kita bisa mendefinisikan algoritma sebagai berikut:
“ Algoritma adalah logika, metode dan tahapan (urutan) sistematis yang
digunakan untuk memecahkan suatu permasalahan.” Dan kamus besar bahasa
Indonesia (Balai Pustaka 1988) secara formal mendefinisikan algoritma sebagai
berikut: “Algoritma adalah urutan logis pengambilan putusan untuk pemecahan
Metode atau teknik yang digunakan untuk memecahkan masalah kemungkinan
bisa lebih dari satu. Dan kita memilih mana yang terbaik diantara teknik‐teknik
itu. Hal ini sama juga dengan algoritma, yang memungkinkan suatu
permasalahan dipecahkan dengan metode dan logika yang berlainan.
Lalu bagaimana mengukur mana algoritma yang terbaik ? Beberapa persyaratan
untuk menjadi algoritma yang baik adalah:
a• Tingkat kepercayaannya tinggi (realibility). Hasil yang diperoleh dari proses
harusberakurasi tinggi dan benar.
b• Pemrosesan yang efisien (low cost). Proses harus diselesaikan secepat mung-
kin dan jumlah kalkulasi yang sependek mungkin.
c• Bersifat general. Bukan sesuatu yang hanya untuk menyelesaikan satu kasus
saja, tapi juga untuk kasus lain yang lebih general.
d• Bisa dikembangkan ( expandable ). Haruslah sesuatu yang dapat kita kem-
bangkan lebih jauh berdasarkan perubahan requirement yang ada.
e• Mudah dimengerti. Siapapun yang melihat, dia akan bisa memahami
algoritma
anda. Sulit dimengertinya suatu program akan membuat sulit pengelolaan.
f• Portabilitas yang tinggi (portability). Bisa dengan mudah diimplementasikan
diberbagai platform komputer.
Contoh Algoritma
Sebagai contoh sederhana, mari kita berlatih melihat permasalahan, mencoba
menyusun algoritma
Permasalahan :
Bagaimana mengkonversi nilai yang diraih mahasiswa peserta kuliah Algoritma
dan Struktur Data II menjadi Huruf Mutu (A / B / C / D / E) ?
Untuk memecahkan masalah tersebut maka dapat disusun algoritma sebagai
berikut :
1. Buat satu variable (misalnya Nilai)
2. Bandingkan nilai dengan rentang huruf mutu dengan menggunakan selection
3. Tampilkan huruf mutu
Contoh Implementasi Sederhana pada Python
Mendefinisikan Masalah
Menentukan nilai nilai terbesar antara kedua angka
Merancang Algoritma
Mulai
Meminta masukan angka pertama
Meminta masukan angka kedua
Pemeriksaan dan penentuan hasil:
Jika angka pertama lebih besar daripada angka kedua: cetak angka pertama sebagai
angka terbesar
Selain itu, jika angka pertama lebih kecil daripada angka kedua: cetak angka kedua
sebagai angka terbesar
Selain itu, jika angka pertama sama dengan angka kedua: cetak pemberitahuan
bahwa tidak ada angka terbesar karena sama
Selain itu, cetak pemberitahuan bahwa ada kesalahan masukan
Selesai
Gunakan Python untuk Mengimplementasikan Solusi
Meminta masukan : input()
Memeriksa dan menentukan hasil : if … elif … else
Mencetak : print
Setelah itu, mengimplentasikan algoritma tersebut, dalam logika
pemrograman:
angka1 = input(“Masukkan angka pertama: “)
angka2 = input(“Masukkan angka kedua: “)
if angka1 > angka2:
print(“Nilai terbesar: “, angka1)
elif angka1 < angka2:
print(“Nilai terbesar: “, angka2)
elif angka1 == angka2:
print(“Kedua angka sama, tidak ada yang terbesar”)
else:
print(“Ada masalah dengan angka masukan anda”)
TUGAS PRAKTIKUM