13/10/2010
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
13/10/2010
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
13/10/2010
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
13/10/2010
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
13/10/2010
• 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
13/10/2010
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
13/10/2010
Start
Masukkan A
Bagi A dengan 2
ya
Apakah sisa hasil bagi = 0 ?
“Genap”
tidak
“Ganjil”
End
Gambar 1.3
Pseudo Code • Pseudo Code adalah urutan baris algoritma seperti kode pemrograman dan tidak memiliki sintak yang baku. • Pseudo Code 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.
Pseudo Code • 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
13/10/2010
1. Mulai 2. Masukkan sebuah angka 3. Masukkan sebuah angka dan tampilkan 4. Ambil angka yang sebelumnya dan tampilkan 5. Selesai
Pseudo Code • 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. • Pseudo Code diatas dapat dimodifikasi menjadi seperti berikut :
1. 2. 3. 4. 5.
Start Masukkan A Masukkan B, Tampilkan B Tampilkan A End
8
13/10/2010
Pseudo Code • Pseudo Code 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. 2. 3. 4. 5.
Start Masukkan A dan B C=A+B Tampilkan C End
Pseudo Code • Cobalah ubah flowchart pada gambar 1.3 menjadi pseudo code!
9