Algoritma Pemrograman - Flowchart
Algoritma Pemrograman - Flowchart
Algoritma
Asal kata Algoritma berasal dari nama Abu Ja’far Mohammed Ibn Musa al-Khowarizmi,
ilmuan Persia yang menulis kitab al jabr w’al-muqabala (rules of restoration and reduction)
sekitar tahun 825 M
Definisi Algoritma
Algoritma adalah urutan langkah logis tertentu untuk memecahkan suatu masalah. Yang
ditekankan adalah urutan langkah logis, yang berarti algoritma harus mengikuti suatu urutan
tertentu, tidak boleh melompat-lompat. (Dari Microsoft Press Computer and Internet
Dictionaary 1997, 1998).
Alur pemikiran dalam menyelesaikan suatu pekerjaan yang dituangkan secara tertulis. Yang
ditekankan pertama adalah alur pikiran, sehingga algoritma seseorang dapat juga berbeda
dari algoritma orang lain. Sedangkan penekanan kedua adalah tertulis, yang artinya dapat
berupa kalimat, gambar, atau tabel tertentu.
Algoritma adalah jantung ilmu komputer atau informatika. Banyak cabang ilmu komputer
yang mengarah ke dalam terminologi algoritma. Namun, jangan beranggapan algoritma
selalu identik dengan ilmu komputer saja. Dalam kehidupan sehari-hari pun banyak terdapat
proses yang dinyatakan dalam suatu algoritma, sebagai contoh:
Jika seorang ingin memasak atau membuat kue, baik itu melihat resep ataupun tidak
kuenya jadi.
Jika seseorang ingin mengirim surat kepada kenalannya di tempat lain, langkah yang
Menulis surat
Surat dimasukkan ke dalam amplop tertutup
Bahasa pemrograman sangat bermacam-macam: C, C++, Pascal, Java, C#, Basic, Perl, PHP,
ASP, JSP, J#, J++ dan masih banyak bahasa lainnya. Dari berbagai bahasa pemrograman cara
memberikan instruksinya berbeda-beda namun bertujuan menghasilkan output yang sama.
Program adalah kumpulan pernyataan komputer, sedangkan metode dan tahapan sistematis
dalam program adalah algoritma. Program ditulis dengan menggunakan bahasa
pemrograman. Jadi bisa disebut bahwa program adalah suatu implementasi dari bahasa
pemrograman.
Bagaimanapun juga struktur data dan algoritma berhubungan sangat erat pada sebuah
program. Algoritma yang baik tanpa pemilihan struktur data yang tepat akan membuat
program menjadi kurang baik, demikian juga sebaliknya.
Pembuatan atau penulisan algoritma tidak tergantung pada bahasa pemrograman manapun,
artinya penulisan algoritma independen dari bahasa pemrograman dan komputer yang
melaksanakannya.
1. Input: algoritma dapat memiliki nol atau lebih inputan dari luar.
3. Definiteness (pasti): algoritma memiliki instruksi-instruksi yang jelas dan tidak ambigu.
4. Finiteness (ada batas): algoritma harus memiliki titik berhenti (stopping role).
5. Effectiveness (tepat dan efisien): algoritma sebisa mungkin harus dapat dilaksanakan
dan efektif.
Namun ada beberapa program yang memang dirancang untuk unterminatable: contoh
Sistem Operasi.
Jenis-jenis Algoritma
Iteration Process: instruksi dikerjakan selama memenuhi suatu kondisi tertentu. PROGRAM
YANG PERNYATAANNYA AKAN DIEKSEKUSI BERULANG-ULANG
1. Definisikan Masalah
Berikut adalah hal-hal yang harus diketahui dalam analisis masalah supaya kita mengetahui
bagaimana permasalahan tersebut:
Contoh kasus:
Menghitung biaya percakapan telepon di wartel. Proses yang perlu diperhatikan adalah:
a. Input yang tersedia adalah jam mulai bicara dan jam selesai bicara.
c. Data lain yang tersedia adalah besarnya pulsa yang digunakan dan biaya per pulsa.
d. Operator yang tersedia adalah pengurangan (-), penambahan (+), dan perkalian (*).
e. Syarat kendala yang harus dipenuhi adalah aturan jarak dan aturan waktu.
Cara pendekatan ini sangat bermanfaat dalam pembuatan algoritma untuk masalah yang
kompleks. Penghalusanlangkah dengan cara memecah langkah menjadi beberapa langkah.
Setiap langkah diuraikan lagi menjadi beberapa langkah yang lebih sederhana. Penghalusan
langkah ini akan terus berlanjut sampai setiap langkah sudah cukup rinci dan tepat untuk
dilaksanakan oleh pemroses.
3. Menulis Program
Algoritma yang telah dibuat, diterjemahkan dalam bahasa komputer menjadi sebuah
program. Perlu diperhatikan bahwa pemilihan algoritma yang salah akan menyebabkan
program memiliki untuk kerja yang kurang baik.
- Teknik Top-Down
Teknik pemecahan masalah yang paling umum digunakan.Prinsipnya adalah suatu masalah
yang kompleks dibagi-bagi ke dalam beberapa kelompok masalah yang lebih kecil. Dari
masalah yang kecil tersebut dilakukan analisis. Jika dimungkinkan maka masalah tersebut
akan dipilah lagi menjadi subbagian-subbagian dan setelah itu mulai disusun langkah-
langkah penyelesaian yang lebih detail.
- Teknik Bottom-Up
Prinsip teknik bottom up adalah pemecahan masalah yang kompleks dilakukan dengan
menggabungkan prosedur-prosedur yang ada menjadi satu kesatuan program sebagai
penyelesaian masalah tersebut.
- User Friendly.
- Portability.
4. Mencari Kesalahan
Pertama kali harus diuji apakah program dapat dijalankan. Apabila program tidak dapat
dijalankan maka perlu diperbaiki penulisan sintaksisnya tetapi bila program dapat dijalankan,
maka harus diuji dengan menggunakan data-data yang biasa yaitu data yang diharapkanoleh
sistem.
Contoh data ekstrem, misalnya, program menghendaki masukan jumlah data tetapi user
mengisikan bilangan negatif. Program sebaiknya diuji menggunakan data yang relatif
banyak.
6. Dokumentasi Program
Dokumentasi program ada dua macam yaitu dokumentasi internal dan dokumentasi
eksternal. Dokumentasi internal adalah dokumentasi yang dibuat di dalam program yaitu
setiap kita menuliskan baris program sebaiknya diberi komentar atau keterangan supaya
mempermudah kita untuk mengingat logika yang terdapat di dalam instruksi tersebut, hal ini
sangat bermanfaat ketika suatu saat program tersebut akan dikembangkan. Dokumentasi
eksternal adalah dokumentasi yang dilakukan dari luar program yaitu membuat user guide
atau buku petunjuk aturan atau cara menjalankan program tersebut.
7. Pemeliharaan Program
PENYAJIAN ALGORITMA
Penyajian algoritma secara garis besar bisa dalam 2 bentuk penyajian yaitu tulisan dan
gambar. Algoritma yang disajikan dengan tulisan yaitu dengan struktur bahasa tertentu
(misalnya bahasa Indonesia atau bahasa Inggris) dan pseudocode. Sedangkan algoritma
disajikan dengan gambar, misalnya dengan flowchart.
Definisi Pseudo-code
Kode atau tanda yang menyerupai (pseudo) atau merupakan penjelasan cara menyelesaikan
suatu masalah. Pseudo-code sering digunakan oleh manusia untuk menuliskan algoritma.
Pseudocode adalah kode yang mirip dengan kode pemrograman yang sebenarnya seperti
Pascal, atau C, sehingga lebih tepat digunakan untuk menggambarkan algoritma yang akan
dikomunikasikan kepada pemrogram.
Contoh Pseudo-code:
3. Jika bilangan pertama > bilangan kedua maka kerjakan langkah 4, jika tidak, kerjakan
langkah 5.
4. Tampilkan bilangan pertama
Contoh Algoritma
4. print a
5. print b
Pseudo-
Contoh Algoritma
3. L ← P * L
4. Tulis L
Dalam Algoritma, tidak dipakai simbol-simbol / sintaks dari suatu bahasa pemrograman
tertentu, melainkan bersifat umum dan tidak tergantung pada suatu bahasa pemrograman
apapun juga. Notasi-notasi algoritma dapat digunakan untuk seluruh bahasa pemrograman
manapun.
Definisi Flowchart
Flowchart merupakan gambar atau bagan yang memperlihatkan urutan dan hubungan antar
proses beserta pernyataannya. Gambaran ini dinyatakan dengan simbol. Dengan demikian
setiap simbol menggambarkan proses tertentu. Sedangkan antara proses digambarkan
dengan garis penghubung.
Flowchart sistem yaitu bagan dengan simbol-simbol tertentu yang menggambarkan urutan
prosedur dan proses suatu file dalam suatu media menjadi file di dalam media lain, dalam
suatu sistempengolahan data.
Flowchart program yaitu bagan dengan simbol-simbol tertentu yang menggambarkan urutan
proses dan hubungan antar proses secara mendetail di dalam suatu program.
Dalam pembuatan flowchart Program tidak ada rumus atau patokan yang bersifat mutlak.
Karena flowchart merupakan gambaran hasil pemikiran dalam menganalisis suatu masalah
dengan komputer. Sehingga flowchart yang dihasilkan dapat bervariasi antara satu
pemrogram dengan yang lainnya.
Namun secara garis besar setiap pengolahan selalu terdiri atas 3 bagian utama, yaitu:
Input,
Output
Untuk pengolahan data dengan komputer, urutan dasar pemecahan suatu masalah:
START, berisi pernyataan untuk persiapan peralatan yang diperlukan sebelum menangani
pemecahan persoalan.
READ, berisi pernyataan kegiatan untuk membaca data dari suatu peralatan input.
PROSES, berisi kegiatan yang berkaitan dengan pemecahan persoalan sesuai dengan data
yang dibaca.
Walaupun tidak ada kaidah-kaidah yang baku dalam penyusunan flowchart, namun ada
beberapa anjuran:
Hindari pengulangan proses yang tidak perlu dan logika yang berbelit sehingga jalannya
proses menjadi singkat.
Jalannya proses digambarkan dari atas ke bawah dan diberikan tanda panah untuk
memperjelas.
Sebuah flowchart diawali dari satu titik START dan diakhiri dengan END.
Berikut merupakan beberapa contoh simbol flowchart yang disepakati oleh dunia
pemrograman:
Untuk memahami lebih dalam mengenai flowchart ini, akan diambil sebuah kasus
sederhana.
Kasus:
Buatlah sebuah rancangan program dengan menggunakan flowchart, mencari luas persegi
panjang.
Solusi:
L �= p. l
di mana, L adalah Luas persegi panjang, p adalah panjang persegi, dan l adalah lebar persegi.
Keterangan 1:
3. Data dari p dan l akan diproses pada simbol ketiga dengan menggunakan perumusan L =
p. l
4. Simbol keempat menunjukkan hasil output dari proses dari simbol ketiga.
5. Simbol kelima atau terakhir menunjukkan berakhirnya program dengan tanda End.