Anda di halaman 1dari 29

Algoritma dan Flowchart

Alur Kerja Pembuatan Program


Langkah-langkah dasar menyelesaikan masalah pada
komputer:
1. Mendefinisikan masalah
2. Menganalisa masalah
3. Mendesain algoritma dan representasi atau penyajian
(Pseudocode atau flowchart)
4. Coding dan debugging
5. Testing Jalannya program
6. Implementasi program
Perbedaan algoritma dengan program:
Algoritma Program
Setelah mendapatkan desain, perlu
Algoritma adalah desain sebelum
mengimplementasikan kode untuk
membangun mesin dalam rekayasa
membangun mesin dalam rekayasa
perangkat lunak.
perangkat lunak.
Untuk menulis suatu algoritma, dibutuhkan
Untuk menulis kode pemrograman,
seseorang dengan pengetahuan domain
dibutuhkan seorang programmer.
tertentu.
Algoritma tidak tergantung pada perangkat Program sepenuhnya bergantung pada
keras dan sistem operasi. perangkat keras dan sistem operasi.
Program dapat ditulis dalam bahasa
Algoritma dapat ditulis dalam bahasa apapun
pemrograman apa pun seperti C, C++, Java,
seperti Inggris, Hindi, Prancis, Cina, dll.
C#, PHP, Python, dll.
Untuk memeriksa logika (bug atau Untuk memeriksa bug atau kesalahan dalam
kesalahan) dalam algoritma digunakan teknik bahasa pemrograman digunakan teknik
analisis. pengujian/testing techniques.
Algoritma
Definisi : urutan langkah-langkah untuk memecahkan masalah
yang disusun secara sistematis dan logis.
Algoritma adalah langkah-langkah yang disusun secara tertulis
dan berurutan untuk menyelesaikan suatu masalah.
Menurut Kamus Besar Bahasa Indonesia : algoritma adalah
urutan logis pengambilan putusan untuk pemecahan masalah.
Algoritma dibutuhkan untuk memerintah komputer mengambil
langkah langkah tertentu dalam menyelesaikan masalah.
Sedangkan Algoritma Pemrograman adalah langkah-
langkah yang ditulis secara berurutan untuk menyelesaikan
masalah pemrograman komputer.
Logika adalah hasil pertimbangan akal pikiran yang diutarakan
lewat kata dan dinyatakan dalam bahasa.
Syarat Algoritma
Tingkat kepercayaannya tinggi (realibility) Hasil yang diperoleh
dari proses harus berakurasi tinggi dan benar.
Pemrosesan yang efisien (cost rendah).
Proses harus diselesaikan secepat mungkin dan frekuensi
kalkulasi yang sependek mungkin.
Sifatnya general.
Bukan sesuatu yang hanya untuk menyelesaikan satu kasus saja,
tapi juga untuk kasus lain yang lebih.
Bisa dikembangkan (expandable).
Haruslah sesuatu yang dapat kita kembangkan lebih jauh
berdasarkan perubahan requirement yang ada.
Mudah dimengerti
Syarat Algoritma
Siapapun yang melihat, dia akan bisa memahami algoritma Anda.
Susah dimengertinya suatu program akan membuat susah di-
maintenance (kelola).
Portabilitas yang tinggi (portability)
Bisa dengan mudah diimplementasikan di berbagai platform
komputer.
Precise (tepat, betul, teliti)
Efektif
Tidak boleh ada instruksi yang tidak mungkin dikerjakan oleh
pemroses yang akan menjalankannya.
Harus terminate
Jalannya algoritma harus ada kriteria berhenti.
Output yang dihasilkan tepat.
Komponen Utama dalam Algoritma
Finiteness (keterbatasan)
Algoritma harus berhenti setelah mengerjakan sejumlah langkah terbatas, dengan kata lain ada
tujuan akhir yang dicapai, sehingga suatu program akan berhenti ketika tujuan akhir telah
tercapai. Program yang tidak pernah berhenti mengindikasikan bahwa program tersebut berisi
algoritma yang salah.
Definiteness (kepastian)
Setiap langkah harus didefinisikan dengan tepat dan tidak berarti-dua (ambiguous). Ada intruksi-
intruksi yang jelas dan juga tidak ambigu, sehingga tidak terjadi kesalahan di dalam
menghasilkan output.
Input (masukan)
Input ini merupakan suatu permasalahan yang dihadapi serta akan dicarikan solusinya.
Algoritma ini mempunyai nol atau lebih input, yaitu besaran yang diberikan kepada algoritma
untuk diproses.
Output (keluaran)
Algoritma memiliki nilai nol atau lebih keluaran (output). Output ini tentunya harus berupa
solusi atau penyelesaian dari suatu masalah. Output dapat berupa pesan atau besaran yang
berhubungan dengan input.
Effectiveness (keefektivitasan)
Algoritma harus sangkil (effective), setiap urutan atau langkah harus sesederhana mungkin,
sehingga dapat dikerjakan dalam sejumlah waktu yang masuk akal.
Komponen yang harus ada dalam
merancang algoritma:
Komponen masukan : terdiri dari pemilihan variable, jenis
variable, tipe variable, konstanta dan parameter (dalam fungsi).
Komponen keluaran: merupakan tujuan dari perancangan
algoritma dan program.
Permasalahan yang diselesaikan dalam algoritma dan program harus
ditampilkan dalam komponen keluaran. Karakteristik keluaran yang
baik adalah menjawab permasalahan dan tampilan yang ramah
Komponen proses : merupakan bagian utama dan terpenting
dalam merancang sebuah algoritma.
Dalam bagian ini terdapat logika masalah, logika algoritma (sintaksis
dan semantik), rumusan, metode (rekursi, perbandingan,
penggabungan, pengurangan dll).
Fungsi Algoritma Pemrograman
Memecahkan masalah yang rumit
Dengan menggunakan algoritma pemrograman mampu memecahkan masalah yang rumit, karena
algoritma ini mampu mengatasi segala masalah secara urut dengan logika yang tepat.
Menyederhanakan program
Algoritma pemrograman juga mampu menyederhanakan program, dari program yang besar menjadi
program yang lebih sederhana, sehingga penggunaannya lebih efektif dan efisien.
Dapat digunakan secara berulang-ulang
Sebagaimana fungsinya yang bukan merupakan sekali pakai, artinya dapat digunakan secara berulang-
ulang ini memberikan kamu keuntungan dalam meminimalisir penulisan program yang berulang-ulang.
Mampu merapikan program yang ada
Dengan menggunakan algoritma pemrograman dapat memberikan keuntungan berupa tampilan
program-program yang sudah ada menjadi lebih raphi dan terstruktur, sehingga mudah dalam pencarian
dan penemuan saat sedang dibutuhkan.
Mudah menemukan kesalahan
Dengan adanya alur yang jelas yang dimiliki oleh algoritma pemrograman, dapat dengan mudah mencari
kesalahan jika terjadi kesalahan.
Mudah dalam pendokumentasian
Pendokumentasian dengan menggunakan algoritma pemrograman, karena algoritma ini bersifat
independen atau dengan kata lain tidak bergantung pada bahasa pemrograman lainnya.
Struktur Penulisan Algoritma
Algoritma memiliki tiga struktur dasar yaitu sequence(runtutan
langkah-langkah), selection (proses seleksi atau pemilihan solusi), dan
repetition(pengulangan).
Setiap Algoritma akan selalu terdiri dari tiga bagian yaitu :
Judul (Header)
Judul adalah bagian teks algoritma yang digunakan sebagai tempat
mendefinisikan nama dengan menentukan apakah teks tersebut adalah
program, prosedur, fungsi.
Kamus
Kamus adalah bagian teks algoritma sebagai tempat untuk mendefinisikan
:
Nama type
Nama konstanta
Nama variabel
Nama fungsi
Nama prosedur
Contoh : Struktur Penulisan Algorithma
Penyajian Algoritma
Algoritma dapat disajikan dalam dua bentuk, yaitu : tulisan
dan gambar/simbol.
Penyajian algoritma dalam bentuk tulisan biasanya
menggunakan
Metode Structure Language dan Pseudocode
Bentuk penyajian algortima ini berdasarkan struktur bahasa yang
dipakai dalam sehari-hari tanpa melihat aturan-aturan yang berlaku di
algortima.
Pseudocode : kode yang mirip dengan instruksi kode program yang
sebenarnya.
Panyajian dalam bentuk gambar biasanya menggunakan metode
: Flowchart, HIPO, dan lain-lain.
Contoh languange Stucture
Program Menghitung luas persegi panjang :
1. Mulai
2. Deklarasi panjang, lebar dan luas dengan tipe data bilangan
desimal
3. Input panjang
4. Input lebar
5. Kalikan panjang dan lebar simpan dalam luas
6. Cetak luas
7. Selesai
Contoh : Pseudocode
Program Menghitung luas persegi panjang :
1. start
2. double panjang, lebar, luas
3. input (panjang, lebar)
4. luas=panjang*lebar
5. System.out.print(luas)
6. end
Flowchart
Algoritma ini menggunakan sejumlah simbol untuk
menyatakan kegiatan-kegiatan secara keseluruhan.
Tujuan utama dari penggunaan flowchart adalah untuk
menggambarkan suatu tahapan penyelesaian masalah
secara sederhana, terurai, rapi dan jelas dengan
menggunakan simbol-simbol standart.
Ada 2 macam Flowchart :
System Flowchart -> urutan proses dalam system dengan
menunjukkan alat media input, output serta jenis media
penyimpanan dalam proses pengolahan data.
Program Flowchart -> urutan instruksi yang digambarkan
dengan symbol tertentu untuk memecahkan masalah dalam
suatu program.
Simbol Flowchart Program
Algoritma : Luas persegi panjang
Tentukan variabel dan tipe data yang digunakan. Misalnya
untuk panjang, lebar dan luas bertipe integer.
Masukkan input yaitu panjang dan lebar.
Lakukan proses perhitungan luas.
Luas = panjang * lebar
Tampilkan luas
Flowchart dengan software flowgorithm
Software Flowgorithm
Untuk membuat Flowchart dapat dilakukan dengan
menggambar secara manual sesuai simbol-simbol yang
benar.
Untuk merancang flowchart dan langsung mengujinya
dapat menggunakan aplikasi Flowgorithm.
Flowgorithm ini merupakan aplikasi gratis yang dapat
digunakan untuk mempelajari algoritma pemrograman
komputer melalui diagram alir (flowchart).
Aplikasi Flowgorithm dapat diunduh di website resminya
: http://flowgorithm.org/download/index.html
Website Flowgorithm
Tampilan Aplikasi Flowgorithm

Klik untuk memilih


symbol flowchart
Symbol yang ada di flowgorithm
Contoh Menghitung luas
Output Flowgorithm
Contoh Kasus:
Tulislah algoritma untuk menghitung gaji bersih yang
diterima oleh seorang karyawan, jika diketahui gaji pokok,
besar tunjangan penghasilannya adalah 12,5% dari gaji
pokok, dan pajaknya 5% dari gaji kotor.
Gaji Kotor = gaji pokok + tunjangan penghasilan
Gaji bersih = Gaji kotor - pajak
Penyajian language struktur
Penyelesaian:
Algoritma untuk menentukan gaji bersih karyawan:
Struktur bahasa Indonesia
1. Mulai
2. Deklarasi bil desimal untuk gajipokok, tunjangan, gajikotor, pajak,
gajibersih
3. Masukkan gaji pokoknya (gajipokok)
4. Hitung tunjangan (tunj=12,5%*gajipokok)
5. Hitung gaji kotor (gajikotor= gajipokok + tunj)
6. Hitung pajak (pajak=5%*gajikotor)
7. Hitung gaji bersih (gajibersih= gajikotor – pajak)
8. Tampilkan gaji bersihnya
9. Selesai
Penyajian Pseuducode
1. Start
2. double gajipokok, tunj, gajikotor, pajak, gajibersih
3. Input (gajipokok)
4. tunj = 0.125*gajipokok
5. gajikotor = gajipokok + tunj
6. pajak =0.05*gajikotor
7. gajibersih = gajikotor – pajak
8. Output (gajibersih)
9. End
Flowchart dengan Flowgorithm
Studi kasus
Program menghitung total bayar dari pembelian 2 item
barang (1 item barang dapat dibeli lebih dari 1) Dengan
barang A harga 1500 diskon 7 % dan barang B harga 5000
diskon 4 %
Buat algorithma, flowchart

Anda mungkin juga menyukai