proses secara mendetail dan hubungan antara suatu proses (instruksi) dengan proses lainnya dalam
suatu program.
Berikut ini adalah beberapa simbol yang digunakan dalam menggambar suatu flowchart :
Flowchart Sistem
Flowchart Sistem merupakan bagan yang menunjukkan alur kerja atau apa yang sedang dikerjakan di
dalam sistem secara keseluruhan dan menjelaskan urutan dari prosedur-prosedur yang ada di dalam
sistem. Dengan kata lain, flowchart ini merupakan dekripsi secara grafik dari urutan prosedur-prosedur
yang terkombinasi yang membentuk suatu sistem.
Flowchart Sistem terdiri dari data yang mengalir melalui sistem dan proses yang mentransformasikan
data itu. Data dan proses dalam flowchart sistem dapat digambarkan secara online (dihubungkan
langsung dengan komputer) atau offline (tidak dihubungkan langsung dengan komputer, misalnya mesin
tik, cash register atau kalkulator).
Flowchart Dokumen
Bagan alir dokumen (document flowchart) atau disebut juga bagan alir formulir (form flowchart) atau
paperwork flowchart merupakan bagan alir yang menunjukkan arus dari laporan dan formulir termasuk
tembusan-tembusannya. Bagan alir dokumen ini menggunakan simbol-simbol yang sama dengan yang
digunakan di dalam bagan alir sistem.
Flowchart Skematik
Bagan alir skematik (schematic flowchart) merupakan bagan alir yang mirip dengan bagan alir sistem,
yaitu untuk menggambarkan prosedur di dalam sistem. Perbedaannya adalah, bagan alir skematik selain
menggunakan simbol-simbol bagan alir sistem, juga menggunakan gambar-gambar komputer dan
peralatan lainnya yang digunakan. Maksud penggunaan gambar-gambar ini adalah untuk memudahkan
komunikasi kepada orang yang kurang paham dengan simbol-simbol bagan alir. Penggunaan gambar-
gambar ini memudahkan untuk dipahami, tetapi sulit dan lama menggambarnya.
Flowchart Program
Bagan alir program (program flowchart) merupakan bagan yang menjelaskan secara rinci langkah-
langkah dari proses program. Bagan alir program dibuat dari derivikasi bagan alir sistem.
Bagan alir program dapat terdiri dari dua macam, yaitu bagan alir logika program (program logic
flowchart) dan bagan alir program komputer terinci (detailed computer program flowchart). Bagan alir
logika program digunakan untuk menggambarkan tiap-tiap langkah di dalam program komputer secara
logika. Bagan alir logika program ini dipersiapkan oleh analis sistem.
Flowchart Proses
Flowchart Proses merupakan teknik penggambaran rekayasa industrial yang memecah dan menganalisis
langkah-langkah selanjutnya dalam suatu prosedur atau sistem. Bagan alir proses menggunakan lima
buah simbol tersendiri seperti terlihat pada tabel di bawah ini.
Flowchart Proses digunakan oleh perekayasa industrial dalam mempelajari dan mengembangkan
proses-proses manufacturing. Dalam analisis sistem, flowchart ini digunakan secara efektif untuk
menelusuri alur suatu laporan atau form.
Pengenalan Flowchart
Flowchart merupakan gambar atau bagan yang memperlihatkan urutan dan hubungan antar proses beserta
instruksinya. Gambaran ini dinyatakan dengan simbol. Dengan demikian setiap simbol menggambarkan proses
tertentu. Sedangkan hubungan antar proses digambarkan dengan garis penghubung.
Flowchart ini merupakan langkah awal pembuatan program. Dengan adanya flowchart urutan poses kegiatan
menjadi lebih jelas. Jika ada penambahan proses maka dapat dilakukan lebih mudah. Setelah flowchart selesai
disusun, selanjutnya pemrogram (programmer) menerjemahkannya ke bentuk program dengan bahsa pemrograman.
Pengenalan Flowchart
Flowchart merupakan gambar atau bagan yang memperlihatkan urutan dan hubungan antar proses beserta
instruksinya. Gambaran ini dinyatakan dengan simbol. Dengan demikian setiap simbol menggambarkan proses
tertentu. Sedangkan hubungan antar proses digambarkan dengan garis penghubung.
Flowchart ini merupakan langkah awal pembuatan program. Dengan adanya flowchart urutan poses kegiatan
menjadi lebih jelas. Jika ada penambahan proses maka dapat dilakukan lebih mudah. Setelah flowchart selesai
disusun, selanjutnya pemrogram (programmer) menerjemahkannya ke bentuk program dengan bahsa pemrograman.
Simbol-simbol flowchart
Flowchart disusun dengan simbol-simbol. Simbol ini dipakai sebagai alat bantu menggambarkan proses di dalam
program. Simbol-simbol yang dipakai antara lain :
Yaitu simbol yang digunakan untuk menghubungkan antara simbol yang satu dengan simbol yang lain. Simbol ini
disebut juga connecting line.
Terminator Symbol
Yaitu simbol untuk permulaan (start) atau akhir (stop) dari suatu kegiatan
Connector Symbol
Yaitu simbol untuk keluar – masuk atau penyambungan proses dalam lembar / halaman yang sama.
Connector Symbol
Yaitu simbol untuk keluar – masuk atau penyambungan proses pada lembar / halaman yang berbeda.
Processing Symbol
Simbol Decision
Simbol Input-Output
Simbol yang menyatakan proses input dan output tanpa tergantung dengan jenis peralatannya
Simbol Preparation
Simbol untuk mempersiapkan penyimpanan yang akan digunakan sebagai tempat pengolahan di dalam storage.
Simbol Display
Simbol yang menyatakan peralatan output yang digunakan yaitu layar, plotter, printer dan sebagainya.
Simbol yang menyatakan input yang berasal dari disk atau disimpan ke disk.
https://rinaldimunir.wordpress.com/2008/08/01/kurikulum-baru-informatika-itb-2008-2013/
https://alifanuraniputri.wordpress.com/2012/06/04/setahun-menjalani-tpb-stei-itb-matakuliah/
https://alifanuraniputri.wordpress.com/2013/05/29/setahun-di-informatika-itb-part-1/
http://informatika.stei.itb.ac.id/~rinaldi.munir/
Halo kakak-kakak semua! Kali ini saya akan membahas mengenai Pengertian Algoritma. Kakak-kakak yang
sudah berkecimpung di dunia programming dan komputer mungkin sudah tidak asing lagi mengenai
Pengertian Algoritma. Algoritma sering diterapkan oleh manusia dalam kehidupan sehari-hari. Sebenarnya,
apakah Pengertian Algoritma itu? Berikut pembahasannya lebih mendalam.
Sistim kerja komputer memiliki brainware, hardware, dan software. Tanpa salah satu dari ketiga sistim
tersebut, komputer tidak akan berguna. Kita akan lebih fokus pada softwarekomputer. Software terbangun
atas susunan program (silahkan baca mengenai Pengertian Program) dan syntax (cara
penulisan/pembuatan program). Untuk menyusun program atau syntax, diperlukannya langkah-langkah
yang sistematis dan logis untuk dapat menyelesaikan masalah atau tujuan dalam proses pembuatan
suatu software. Maka,Algoritma berperan penting dalam penyusunan program atau syntax tersebut.
Pengertian Algoritma adalah susunan yang logis dan sistematis untuk memecahkan suatu masalah atau
untuk mencapai tujuan tertentu. Dalam dunia komputer, Algoritma sangat berperan penting dalam
pembangunan suatu software. Dalam dunia sehari-hari, mungkin tanpa kita sadari Algoritma telah masuk
dalam kehidupan kita.
Contoh nyata Algoritma dalam kehidupan sehari-hari adalah "Cara Membuat Mie Instan". Berikut langkah-
langkah cara membuat mie instan:
Kurang lebih di atas merupakan cara membuat mie instan. Langkah-langkah di atas juga termasuk dalam
Algoritma. Jadi perlu diingat bahwa Algoritma tidak hanya diterapkan pada dunia komputasi, tetapi juga
Algoritma diterapkan dalam kehidupan sehari-hari.
Sedangkan dalam dunia komputasi, contoh penggunaan Algoritma adalah dalam pembuatan program pada
bahasa pemrograman seperti bahasa C, C#, dan Visual Basic. Dengan syntax pada tiap bahasa
pemrograman dan Algoritma, maka akan tersusun program-program dan terlahirlah software.
Jadi intinya, Pengertian Algoritma adalah suatu langkah/urutan yang logis dan sistematis untuk
pemecahan suatu masalah atau untuk mencapai tujuan yang diinginkan.
Itu dia pembahasan kali ini mengenai Pengertian Algoritma versi saya. Mohon maaf dengan segala
kekurangan yang ada pada blog serta artikel mengenai Pengertian Algoritma ini. Terima kasih telah
membaca dan semoga artikel mengenai Pengertian Algoritma ini bisa bermanfaat untuk kakak-kakak
semuanya.
Mekanisme kerja keempat komponen di atas dapat dijelaskan sebagai berikut. Mula-mula program
dimasukkan ke dalam memori komputer. Ketika program dilaksanakan ( execute), setiap instruksi
yang telah tersimpan di dalam memori dikirim ke CPU. CPU mengerjakan operasioperasi yang
bersesuaian dengan instruksi tersebut. Bila suatu operasi memerlukan data, data dibaca dari piranti
masukan, disimpan di dalam memori lalu dikirim ke CPU untuk operasi yang memerlukannya tadi.
Bila proses menghasilkan keluaran atau informasi, keluaran disimpan ke dalam memori, lalu memori
menuliskan keluaran tadi ke piranti keluaran (misalnya dengan menampilkannya di layar monitor).
6. Belajar Memprogram dan Belajar Bahasa Pemrograman
Belajar memprogram tidak sama dengan belajar bahasa pemrograman. Belajar memprogram adalah
belajar tentang metodologi pemecahan masalah, kemudian menuangkannya dalam suatu notasi
tertentu yang mudah dibaca dan dipahami. Sedangkan belajar bahasa pemrograman berarti belajar
memakai suatu bahasa aturan-aturan tata bahasanya, pernyataan-pernyataannya, tata cara
pengoperasian compiler-nya, dan memanfaatkan pernyataan-pernyataan tersebut untuk membuat
program yang ditulis hanya dalam bahasa itu saja. Sampai saat ini terdapat puluhan bahasa
pemrogram, antara lain bahasa rakitan (assembly), Fortran, Cobol, Ada, PL/I, Algol, Pascal, C, C++,
Basic, Prolog, LISP, PRG, bahasabahasa simulasi seperti CSMP, Simscript, GPSS, Dinamo. Berdasarkan
terapannya, bahasa pemrograman dapat digolongkan atas dua kelompok besar :
Bahasa pemrograman bertujuan khusus. Yang termasuk kelompok ini adalah Cobol (untuk terapan
bisnis dan administrasi). Fortran (terapan komputasi ilmiah), bahasa rakitan (terapan pemrograman
mesin), Prolog (terapan kecerdasan buatan), bahasa-bahasa simulasi, dan sebagainya.
Bahasa perograman bertujuan umum, yang dapat digunakan untuk berbagai aplikasi. Yang termasuk
kelompok ini adalah bahasa Pascal, Basic dan C. Tentu saja pembagian ini tidak kaku.
Bahasabahasabertujuan khusus tidak berarti tidak bisa digunakan untuk aplikasi
lain. Cobol misalnya, dapat juga digunakan untuk terapan ilmiah, hanya saja kemampuannya
terbatas. Yang jelas, bahasabahasa pemrograman yang berbeda dikembangkan untuk bermacam-
macam terapan yang berbeda pula.
Berdasarkan pada apakah notasi bahasa pemrograman lebih “dekat” ke mesin atau ke bahasa
manusia, maka bahasa pemrograman dikelompokkan atas dua macam :
Bahasa tingkat rendah. Bahasa jenis ini dirancang agar setiap instruksinya langsung dikerjakan oleh
komputer, tanpa harus melalui penerjemah (translator). Contohnya adalah bahasa mesin. CPU
mengambil instruksi dari memori, langsung mengerti dan langsung mengerjakan operasinya. Bahasa
tingkat rendah bersifat primitif, sangat sederhana, orientasinya lebih dekat ke mesin, dan sulit
dipahami manusia. Sedangkan bahasa rakitan dimasukkan ke dalam kelompok ini karena alasan
notasi yang dipakai dalam bahasa ini lebih dekat ke mesin, meskipun untuk melaksanakan
instruksinya masih perlu penerjemahan ke dalam bahasa mesin.
Bahasa tingkat tinggi, yang membuat pemrograman lebih mudah dipahami, lebih “manusiawi”, dan
berorientasi ke bahasa manusia (bahasa Inggris). Hanya saja, program dalam bahasa tingkat tinggi
tidak dapat langsung dilaksanakan oleh komputer. Ia perlu diterjemahkan terlebih dahulu oleh
sebuahtranslator bahasa (yang disebut kompilator atau compiler) ke dalam bahasa mesin sebelum
akhirnya dieksekusi oleh CPU. Contoh bahasa tingkat tinggi adalah Pascal, PL/I, Ada, Cobol, Basic,
Fortran, C, C++, dan sebagainya.
Bahasa pemrograman bisa juga dikelompokkan berdasarkan pada tujuan dan fungsinya. Di
antaranya adalah :
7. Menilai Sebuah Algoritma
Ketika manusia berusaha memecahkan masalah, metode atau teknik yang digunakan untuk
memecahkan masalah itu ada kemungkinan bisa banyak (tidak hanya satu). Dan kita memilih mana
yang terbaik di antara teknikteknik itu. Hal ini sama juga dengan algoritma, yang memungkinkan
suatu permasalahan dipecahkan dengan metode dan logika yang berlainan. Yang menjadi
pertanyaan adalah bagaimana mengukur mana algoritma yang terbaik?. Beberapa persyaratan untuk
menjadi algoritma yang baik adalah :
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 general.
Bisa dikembangkan (expandable). Haruslah sesuatu yang dapat kita kembangkan lebih jauh
berdasarkan perubahan requirement yang ada.
Mudah dimengerti. 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). Setiap instruksi harus ditulis dengan seksama dan tidak ada keragu-
raguan, dengan demikian setiap instruksi harus dinyatakan secara eksplisit dan tidak ada bagian
yang dihilangkan karena pemroses dianggap sudah mengerti. Setiap langkah harus jelas dan pasti.
Contoh : Tambahkan 1 atau 2 pada x.
Instruksi di atas terdapat keraguan.
Jumlah langkah atau instruksi berhingga dan tertentu. Artinya, untuk kasus yang sama banyaknya,
langkah harus tetap dan tertentu meskipun datanya berbeda.
Efektif. Tidak boleh ada instruksi yang tidak mungkin dikerjakan oleh pemroses yang akan
menjalankannya.
Contoh : Hitung akar 2 dengan presisi sempurna.
Instruksi di atas tidak efektif, agar efektif instruksi tersebut diubah.
Misal : Hitung akar 2 sampai lima digit di belakang koma.
Harus terminate. Jalannya algoritma harus ada kriteria berhenti. Pertanyaannya adalah apakah bila
jumlah instruksinya berhingga maka pasti terminate?
Output yang dihasilkan tepat. Jika langkah-langkah algoritmanya logis dan diikuti dengan seksama
maka dihasilkan output yang diinginkan.
Sedangkan kriteria Algoritma menurut Donald E. Knuth adalah :
1. Input: algoritma dapat memiliki nol atau lebih inputan dari luar.
2. Output: algoritma harus memiliki minimal satu buah output keluaran.
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.
Contoh instruksi yang tidak efektif adalah: A = A + 0 atau A = A * 1
Namun ada beberapa program yang memang dirancang untuk unterminatable : contoh Sistem
Operasi.
8. 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. 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. Sedangkan algoritma
disajikan dengan gambar, misalnya dengan flowchart. Secara umum, pseudocode mengekspresikan
ide-ide secara informal dalam proses penyusunan algoritma. Salah satu cara untuk menghasilkan
kode pseudo adalah dengan meregangkan aturan-aturan bahasa formal yang dengannya versi akhir
dari algoritma akan diekspresikan. Pendekatan ini umumnya digunakan ketika bahasa pemrograman
yang akan digunakan telah diketahui sejak awal.
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.
Dengan menggunakan flowchart akan memudahkan kita untuk melakukan pengecekan bagian-
bagian yang terlupakan dalam analisis masalah. Di
samping itu flowchart juga berguna sebagai fasilitas untuk berkomunikasi antara pemrogram yang
bekerja dalam tim suatu proyek.
Ada dua macam flowchart yang menggambarkan proses dengan komputer, yaitu :
Flowchart sistem yaitu bagan dengan simbol-simbol tertentu yang menggambarkan urutan prosedur
dan proses suatu file dalam suatu media menjadifile di dalam media lain, dalam suatu sistem
pengolahan data. Beberapa contoh Flowchart sistem:
Untuk pengolahan data dengan komputer, urutan dasar pemecahan suatu masalah:
1. START, berisi pernyataan untuk persiapan peralatan yang diperlukan sebelum menangani
pemecahan persoalan.
2. READ, berisi pernyataan kegiatan untuk membaca data dari suatu peralatan input.
3. PROSES, berisi kegiatan yang berkaitan dengan pemecahan persoalan sesuai dengan data yang
dibaca.
4. WRITE, berisi pernyataan untuk merekam hasil kegiatan ke peralatan output.
5. END, mengakhiri kegiatan pengolahan.
Walaupun tidak ada kaidah-kaidah yang baku dalam penyusunan flowchart, namun ada beberapa
anjuran :
1. Hindari pengulangan proses yang tidak perlu dan logika yang berbelit sehingga jalannya proses
menjadi singkat.
2. Jalannya proses digambarkan dari atas ke bawah dan diberikan tanda panah untuk memperjelas.
3. 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 : Perumusan untuk mencari luas persegi panjang adalah :
L = p . l
di mana, L adalah Luas persegi panjang, p adalah panjang persegi, dan l adalah lebar persegi.
Keterangan :
1. Simbol pertama menunjukkan dimulainya sebuah program.
2. Simbol kedua menunjukkan bahwa input data dari p dan l.
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.
9. Struktur Dasar Algoritma
Algoritma berisi langkah-langkah penyelesaian suatu masalah. Langkah-langkah tersebut dapat
berupa runtunan aksi (sequence), pemilihan aksi (selection), pengulangan aksi (iteration) atau
kombinasi dari ketiganya. Jadi struktur dasar pembangunan algoritma ada tiga, yaitu:
1. Struktur Runtunan
2. Digunakan untuk program yang pernyataannya sequential atau urutan.
3. Struktur Pemilihan
4. Digunakan untuk program yang menggunakan pemilihan atau penyeleksian kondisi.
5. Struktur Perulangan
6. Digunakan untuk program yang pernyataannya akan dieksekusi berulang-ulang.
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 Pseudo-code
Kode atau tanda yang menyerupai (pseudo) atau merupakan penjelasan cara menyelesaikan suatu
masalah. Pseudo-code sering digunakan oleh manusia untuk menuliskan algoritma.
Contoh kasus : mencari bilangan terbesar dari dua bilangan yang diinputkan
Solusi Pseudo-code :
1. Masukkan bilangan pertama
2. Masukkan bilangan kedua
3. Jika bilangan pertama > bilangan kedua maka kerjakan langkah 4, jika tidak, kerjakan langkah 5.
4. Tampilkan bilangan pertama
5. Tampilkan bilangan kedua
Solusi Algoritma :
1. Masukkan bilangan pertama (a)
2. Masukkan bilangan kedua (b)
3. if a > b then kerjakan langkah 4
4. print a
5. print b
Contoh Lain Algortima dan Pseudo-code :