Pengenalan Algoritma & Pemrograman I Gusti Agung Made Wirautama, S.Kom Agenda ALGORITMA PEMROGRAMAN BAHASA PEMROGRAMAN Definisi Algoritma Algoritma adalah urutan langkahlangkah logis penyeselaian masalah yang disusun secara sistematis dan logis. Kata logis merupakan kata kunci dalam algoritma. Langkah-langkah dalam algoritma harus dapat ditentukan bernilai benar atau salah. 1
Algoritma Dalam Kehidupan Algoritma adalah jantung ilmu komputer atau informatika. Banyak cabang ilmu komputer yang diacu dalam terminologi algoritma. Namun algoritma juga digunakan dalam kehidupan sehari-hari, contohnya resep makanan. Di dalam resep makanan terdapat langkah-langkah yang merupakan algoritma. Selain itu masih banyak contoh algoritma yang lain. PEMROGRAMAN Algoritma Flowchart Pemrograman Bahasa Pemrograman??????? Masalah Paradigma Pemrograman Prosedural atau Imperatif Fungsional Deklaratif, Prediktif atau Lojik Object Oriented 2
Bahasa Pemrograman Untuk melaksanakan suatu algoritma diperlukan suatu bahasa pemrograman. Prosedural: Algol, Pascal, Fortran, Basic, Cobol, C Fungsional: LOGO, APL, LISP Deklaratif: Prolog Object Oriented Murni: Smalltalk, Eifel Notasi algoritma dapat diterjemahkan kedalam bahasa pemrograman apapun, dengan kata lain notasi algoritma bersifat independen. Belajar Memprogram Belajar Bahasa Pemrograman Belajar Memprogram Belajar tentang strategi pemecahan masalah, metodologi, dan sistematika pemecahan masalah tersebut kemudian menuangkannya dalam suatu notasi yang disepakati bersama. Beberapa masalah akan cocok kalau diselesaikan dengan suatu paradigma tertentu. Lebih Bersifat pemahaman persoalan, analisis, sintesis 3
Belajar Bahasa Pemrograman Belajar memakai suatu bahasa, aturan sintaks (tata bahasa) setiap instruksi yang ada dan tata cara pengoperasian kompilator bahasa yang bersangkutan pada mesin tertentu. Proses Memprogram Proses yang memerlukan kepakaran, proses koding lebih merupakan proses semi otomatik dengan aturan pengkodean. Hasil Pemrograman Hasil akhir konkrit dalam bentuk program yang ditulis dan dieksekusi dalam bahasa X. Hasil pemrogram: program dengan rancangan yang baik (metodologis, sistematis) yg dapat dieksekusi oleh mesin, berfungsi dengan benar, sanggup melayani segala kemungkinan masukan, dan didukung dengan adanya dokumentasi. 4
Pengajaran pemrograman: membentuk DESAINER Pengajaran bahasa pemrograman: membentuk CODER (judu kode) Flowchart Suatu flowchart adalah suatu representasi secara diagram yang mengilustrasikan urutan dari operasi yang dilakukan untuk mendapatkan suatu hasil. Dengan kata lain, flowchart membantu kita untuk mengerti dan melihat bentuk algoritma dengan menampilkan algoritma dalam simbol-simbol gambar. Start / End Proses Input / Output Percabangan Koneksi dua bagian flowchart Garis Alir Gambar 1.1 5
Flowchart Dalam menggambar flowchart, digunakan simbol tertentu seperti diatas. Contoh berikut bisa digunakan untuk lebih mengerti perbedaan kegunaan simbol-simbol tersebut. Misal kita ingin mencari jumlah dari 2 buah bilangan, maka flowchart-nya adalah sebagai berikut : Start Masukkan A dan B C = A + B Tampilkan C End Gambar 1.2 Flowchart Contoh lain, misalkan kita ingin mengetahui apakah sebuah bilangan ganjil atau genap. Untuk itu kita harus membuat flowchart seperti ini : 6
Start Masukkan A Bagi A dengan 2 ya Apakah sisa hasil bagi = 0? tidak Genap Ganjil End Gambar 1.3 adalah urutan baris algoritma seperti kode pemrograman dan tidak memiliki sintak yang baku. lebih umum digunakan oleh programmer yang berpengalaman. Akan tetapi, flowchart lebih mudah dimengerti oleh programmer pemula. Pseudo code sangat mudah diimplementasikan ke dalam kode program dibandingkan dengan flowchart. Kita bisa bebas menulis pseudo code selama itu mudah dimengerti bagi orang lain. Tetapi disarankan untuk menggunakan keyword yang umum digunakan seperti : if, then, else, while, do, repeat, for, dan lainnya. Dan ikuti gaya penulisan pemrograman seperti Pascal, C++, dll. Perhatikan kode dibawah ini : 7
1. Mulai 2. Masukkan sebuah angka 3. Masukkan sebuah angka dan tampilkan 4. Ambil angka yang sebelumnya dan tampilkan 5. Selesai Walaupun pseudo code diatas masih bisa dimengerti tetapi ada beberapa statemen yang ambigu. Dari baris kedua, kita tidak tahu kemana angka tersebut disimpan dan kita juga tidak tahu angka yang mana yang dimaksud untuk angka yang sebelumnya. Apakah angka yang pertama atau yang kedua. diatas dapat dimodifikasi menjadi seperti berikut : 1. Start 2. Masukkan A 3. Masukkan B, Tampilkan B 4. Tampilkan A 5. End 8
di atas lebih baik dibandingkan sebelumnya. Kita bisa dengan jelas melihat dimana angka disimpan dan angka yang mana yang ditampilkan. Sekarang kita akan mengubah flowchart pada gambar 1.2 1. Start 2. Masukkan A dan B 3. C = A + B 4. Tampilkan C 5. End Cobalah ubah flowchart pada gambar 1.3 menjadi pseudo code! 9