ALGORITMA DALAM PEMROGRAMAN
Hai guys,,.Kali ini aku mau post tentang Algoritma pemrograman.Happy reading yha guys..
Pengertian Algoritma
Ada beberapa pengertian algoritma diantaranya adalah :
* Algoritma adalah penyusunan langkah-langkah penyelesaian masalah dalam bentuk kalimat dengan jumlah kata terbatas tetapi tersusun secara logis dan matematis.
* Algoritma adalah suatu prosedur yang jelas untuk menyelesaikan suatu persoalan dengan menggunakan langkah-langkah tertentu dan terbatas jumlahnya.
* Algoritma adalah susunan langkah yang pasti, yang bila diikuti maka akan mentransformasi data input menjadi output yang berupa informasi.
Sejarah Algoritma
Sejarah mencatat bahwa algoritma berasal dari sebuah kata al-khawarizmi yang berasal dari seorang muslim yang bernama lengkap Abu Ja’far Muhammad Ibnu Musa Al-Kwarizmi, beliau merupakan ahli matematika dan astronomi dari Persia, dan juga merupakan penulis buku “Aljabar wal Muqobala”. Beliau dianggap sebagai pencetus pertama algoritma karena di dalam buku tersebut Abu Ja’far menjelaskan langkah-langkah dalam menyelesaikan berbagai persoalan arirmatika (aljabar).
Ciri-ciri Algoritma
Menurut Donald E. Knuth penulis buku algoritma abad XX, menyatakan bahwa ada beberapa ciri algoritma, yaitu :
Algoritma mempunyai awal dan akhir, suatu algoritma harus berhenti setelah mengerjakan serangkaian tugas. Dengan kata lain, suatu algoritma memiliki langkah yang terbatas.
Setiap langkah harus didefinisikan dengan tepat, sehingga tidak memiliki arti ganda, tidak membingungkan (not ambiguous)
1 Memiliki masukan (input) atau kondisi awal
2 Memiliki keluaran (output) atau kondisi akhir
3 Algoritma harus efektif, bila diikuti benar-benar maka akan menyelesaikan masalah.
Sifat Algoritma
Sesuai dengan ciri-ciri dari algoritma pada penjelasan di atas, maka dapat disimpulkan bahwa sifat suatu algoritma adalah :
a) Input : Suatu algoritma mempunyai input atau kondisi awal sebelum dilaksanakan, bias berupa nilai-nilai peubah yang diambil dari himpunan khusus.
b) Output : Suatu algoritma akan menghasilkan output setelah dilaksanakan. Suatu algoritma akan mengubah sebuah kondisi awal menjadi kondisi akhir, dimana nilai output diperoleh dari nilai input yang telah diproses melalui algoritma.
c) Definiteness : Langkah-langkah yang dituliskan dalam algoritma terdefini dengan jelas sehingga mudah dilaksanakan oleh pengguna algoritma.
d) Finiteness : Suatu algoritma harus memiliki kondisi akhir atau output setelah sejumlah langkah yang terbatas jumlahnya dilakukan terhadap setiap kondisi awal atau input yang diberikan.
e) Effevtiveness : Setiap langkah dalam algortima dilaksanakan dalam suatu selang waktu tertentu sehingga pada akhirnya didapatkan solusi sesuai dengan yang diharapkan.
f) Generality : Langkah-langkah algoritma berlaku untuk setiap himpunan input yang sesuai dengan persoalan yang diberikan, tidak hanya untuk himpunan tertentu.
Struktur Algoritma
Agar algoritma yang ditulis lebih teratur, maka struktur algoritma sebaiknya dibagi ke dalam beberapa bagian. Diantaranya :
1. Bagian kepala (header) : memuat nama algoritma serta informasi atau keterangan tentang algoritma yang ditulis
2. Bagian Deklarasi ( definisi variable ) : memuat definisi nama variable, nama tetapan, nama prosedur, nama fungsi, tipe data yang akan digunakan dalam algoritma.
3. Bagian Deskripsi (rincian langkah ) : memuat langkah-langkah penyelesaian masalah, termasuk beberapa perintah seperti baca data, tampilkan, ulangi, yang mengubah data input menjadi output.
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.
1) Sistem Stuctured English
Merupakan alat yang cukup efisien untuk menggambarkan suatu algoritma. Basis dari stuctured english adalah bahasa Inggris, tetapi juga dapat menggunakan bahasa Indonesia. Oleh karena bahasa manusia yang digunakan sebagai dasar penggambaran algoritma, maka stuctured english lebih tepat untuk menggambarkan suatu algoritma yang akan dikomunikasinan kepada pemakai sistem.
2) Sistem Flowchart
Sistem flowchart merupakan diagram alir yang menggambarkan suatu sistem peralatan komputer yang digunakan dalam proses pengolahan data serta hubungan antar peralatan tersebut. Sistem flow chart tidak digunakan untuk menggambarkan urutan langkah untuk memecahkan masalah , tetapi hanya untuk menggambarkan prosedur dalam sistem yang dibentuk.
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 menjadi file di dalam media lain, dalam suatu sistem pengolahan data. Beberapa contoh Flowchart sistem:
- Flowchart program yaitu bagan dengan simbol-simbol tertentu yang menggambarkan urutan proses dan hubungan antar proses secara mendetail di dalam suatu program.
Kaidah-Kaidah Umum Pembuatan Flowchart 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,
- Proses pengolahan dan
- Output
- 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.
- WRITE, berisi pernyataan untuk merekam hasil kegiatan ke peralatan output.
- END, mengakhiri kegiatan pengolahan.
- 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.
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 :
- Simbol pertama menunjukkan dimulainya sebuah program.
- Simbol kedua menunjukkan bahwa input data dari p dan l.
- Data dari p dan l akan diproses pada simbol ketiga dengan menggunakan perumusan L = p. l.
- Simbol keempat menunjukkan hasil output dari proses dari simbol ketiga.
- Simbol kelima atau terakhir menunjukkan berakhirnya program dengan tanda End.
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:
- Struktur Runtunan
- Digunakan untuk program yang pernyataannya sequential atau urutan.
- Struktur Pemilihan
- Digunakan untuk program yang menggunakan pemilihan atau penyeleksian kondisi.
- Struktur Perulangan
- Digunakan untuk program yang pernyataannya akan dieksekusi berulang-ulang.
See you next post guys... :)