Algoritma dan Pemrograman I MUHAMMAD FAIZAL MAHDI, ST., MKom.
Target Pembelajaran Mahasiswa mampu membuat algoritma dan mengimplementasikannya untuk menyelesaikan persoalan tertentu dengan menggunakan salah satu bahasa pemrograman prosedural Silabus Materi Pengertian Algoritma dan Pemrograman Tipe Data Dasar, Nama, Variable dan Constanta Statement Manipulasi Nilai Analisa Kasus dan Perulangan Tipe Data Bentukan Function (Fungsi) dan Procedure Pemrosesan Sekuensial dan Algoritma Dasar Studi Kasus Bahasa Pemrograman dengan Pendekatan Prosedural Target Pembelajaran Mahasiswa mampu membuat algoritma dan mengimplementasikannya untuk menyelesaikan persoalan tertentu dengan menggunakan salah satu bahasa pemrograman prosedural Referensi: Munir, Rinaldi; Algoritma dan Pemrograman dalam Bahasa Pascal dan C, Edisi Revisi, Penerbit Informatika, Bandung, 2011 Wirth, Nilaus; Algorithm + Data Structures = Program, Prentice Hall, New Jersey Liem, Inggriani; Algoritma dan Pemrograman Jilid 1. Teknik Informatika-ITB, Bandung, 1993 Email: mfmahdi@gmail.com
Apa itu Algoritma dan Pemrograman?
Sekilas Tentang Algoritma Terminologi algoritma, sangat dimungkinkan bukan sesuatu yang asing bagi kita. Penemunya adalah seorang ahli matematika dari Uzbekistan yang bernama Abu Abdullah Muhammad Ibn Musa al-Khawarizmi (770- 840). Di literature barat beliau lebih terkenal dengan sebutan Algorizm. Panggilan inilah yang kemudian ipakai untuk menyebut konsep algoritma yang ditemukannya. Beliau dilahirkan di Khawarizm (Kheva), kota di selatan sungai Oxus (sekarang Uzbekistan) tahun 770 masehi. Kedua orangtuanya kemudian pindah ke sebuah tempat di selatan kota Baghdad (Irak), ketika ia masih kecil. Buku beliau yang terkenal dan dijadikan salah satu buku rujukan dibidang matematika adalah "Al Jabr Wa Al Muqabalah“, dari buku pula kata “Algebra” atau “Aljabar” diambil. (Al- Khwarizmi; Wahono, Romi Satria Wahono; IlmuKomputer.Com)
Definisi Algoritma
Definisi Algoritma Pada buku Algoritma dan Pemrograman yang ditulis oleh Rinaldi Munir, dikutip beberapa definisi dari algoritma, yaitu: Algoritma adalah deretan langkah-langkah komputasi yang mentransformasikan data masukan (input) menjadi kelularan (output) – COR92 Algoritma adalah deretan instruksi yang jelas untuk memecahkan masalah, yaitu untuk memperoleh keluaran (output) yang diinginkan dari suatu masukan (input) dalam jumlah waktu yang terbatas – LEV03 Algoritma adalah prosedur komputasi yang terdefisini dengan baik yang menggunakan beberapa nilai sebagai masukan (input) dan menghasilkan beberapa nilai yang disebut keluaran (output). – COR89
Kriteria Algoritma Dalam buku The Art of Computer Programming, Donald E. Knuth merumuskan bahwa algoritma memiliki kriteria sebagai berikut: Finiteness – Algoritma harus berhenti setelah mengerjakan sejumlah langkah terbatas Input – Algoritma harus memiliki nol atau lebih masukan (input) Output – Algoritma harus memiliki nol atau lebih keluaran (output) Definiteness – Setiap langkah dalam algortima harus didefinisikan secara tepat, jelas dan tidak ambigu Effectiveness – Langkah yang disusun harus dapat dikerjakan dan efektif untuk memecahkan masalah
Notasi Algoritmik Penulisan notasi algoritmik dibuat independen dari spesifikasi bahasa pemrograman dan computer hardware yang digunakan Notasi algoritmik bukanlah bahasa pemrograman. Hal yang terpenting dari notasi algoritmik adalah mudah dibaca dan dimengerti Notasi algoritmik dapat ditulis dalam 3 bentuk: Kalimat deskriptif Pseudo-code Bagan-alur (flowchart)
Contoh: Algoritma Mencari Bilangan Maksimum Notasi Kalimat Deskriptif: Baca bilangan 1 Baca bilangan 2 Bandingkan bilangan 1 dan bilangan 2, kita ambil yang lebih besar, jika kedua bilangan tersebut sama besar, dapat kita ambil bilangan 1, dan sebut bilangan tersebut MAX Baca bilangan 3 Bandingkan MAX dengan bilangan 3, dan pilih yang lebih besar, jika keduanya sama besar, pilih MAX dan sebut bilangan tersebut MAX. Keluarkan sebagai output MAX
Contoh: Algoritma Menghitung Luas Segitiga Flowchart :
Contoh: Algoritma Hitung Luas dan Keliling Segitiga Pseudocode adalah notasi yang menyerupai bahasa pemrograman tingkat tinggi. Keuntungan menggunakan notasi pseudo code adalah kemudahan mengkonversinya lebih tepat yang disebut mentranslasi ke notasi bahasa pemrograman, karena terdapat korespondensi antara setiap pseudo-code dengan notasi bahasa pemrograman
Contoh Pseudo-Code untuk Mencari Bilangan Maximum Masukkan bilangan 1 dan bilangan 2 (bil1; bil2) Bandingan bil1 dan bil2 (bil1>b2?) Bila bil1 > bil2 max=bil1; bila bil1 < bil2 max=bil2; Masukkan bilangan 3 (bil3) Bandingan max dan bil3 (max>bil3?) Bila max>bil3max=max; bila max<bil3max=bil3; Tampilkan max.
Terima Kasih mfmahdi@gmail.com