ALGORITMA & PEMROGRAMAN 2 POKOK BAHASAN - 1 ALGORITMA & PEMROGRAMAN Oleh : NAZARUDDIN AHMAD, S.T, M.T Design By mytemplate 2013 1. Konsep Dasar Algoritma • Apa itu Algoritma ? – Urutan langkah-langkah untuk memecahkan masalah – Kamus Besar Bahasa Indonesia: Algoritma adalah urutan logis pengambilan putusan untuk pemecahan masalah • Algoritma dibutuhkan untuk memerintah komputer mengambil langkah-langkah tertentu dalam menyelesaikan masalah 2 Penulisan Algoritma • Dalam bahasa natural (Bahasa Indonesia, Bahasa Inggris dan bahasa manusia lainnya) - Tapi sering membingungkan (ambiguous) • Menggunakan flow chart (diagram alir) - Bagus secara visual akan tetapi repot kalau algoritmanya panjang. • Menggunakan pseudo-code - Sudah lebih dekat ke bahasa pemrograman, namun sulit dimengerti oleh orang yang tidak mengerti pemrograman. 3 Perbedaan Algoritma dan Program • Algoritma ditulis dalam notasi bahasa pemrograman sehingga dinamakan program. • Program merupakan : perwujudan atau implementasi teknis Algoritma yang ditulis dalam bahasa pemrograman tertentu sehingga dapat dilaksanakan oleh komputer. 4 Tahapan Pelaksanaan Algoritma oleh Komputer 5 Notasi Algoritmik • Notasi algoritmik merupakan standard yang dipakai dalam menuliskan teks algoritma. • Notasi algoritmik bukan bahasa pemrograman. • Notasi algoritmik ini lebih berorientasi kepada detail design dibandingkan coding. • Notasi algoritmik ini dapat diterjemahkan ke dalam berbagai bahasa pemrograman. 6 Notasi Algoritmik Dapat dituliskan dalam bentuk : Algoritma Flowchart Pseudo-code 7 Notasi Algoritmik : Algoritma 8 Notasi Algoritmik : Flowchart 9 Notasi Algoritmik : Pseudo-code 10 2. Konsep Dasar Pemrograman • Komputer merupakan alat bantu penyelesaian masalah di berbagai bidang : Pendidikan, Perbankan, Industri, Penerbangan, Kedokteran, Permainan, dll. Program adalah : urutan atau kumpulan instruksi (perintah) tertulis yang dimasukkan ke dalam komputer untuk menyelesaikan masalah. Pemrograman adalah : pengerjaan penulisan instruksi oleh programmer untuk menyelesaikan suatu masalah 11 Tahapan Penyelesaian Masalah Oleh Komputer Masalah Program Komputer Solusi / Hasil 12 Bahasa Pemrograman Program harus dibuat dalam bahasa yang dimengerti oleh komputer yang disebut bahasa pemrograman agar instruksi yang ditulis oleh programmer dapat dilaksanakan oleh komputer. 13 Bahasa Pemrograman Bahasa Pemrograman Bahasa Mesin (Mnemonic Code) 0 dan 1 Bahasa Assembly Bahasa Tingkat Tinggi ADD, MUL, SUB Pascal, Basic, C/C++, Java 14 Bahasa Pemrograman Bahasa Pemrograman Translator Interpreter Compiler 15 Bahasa Pemrograman Belajar memprogram Belajar tentang strategi, metodologi, dan sistematika pemecahan masalah, kemudian menuangkannya dalam suatu notasi tertentu yang mudah dibaca dan dipahami. Sifat : Pemahaman persoalan, analisis Titik berat : Designing Program 16 Bahasa Pemrograman Belajar bahasa pemrograman Belajar memakai suatu bahasa, aturan tata bahasanya, instruksi-instruksinya, tata cara pangoperasian compiler-nya untuk membuat program yang ditulis dalam bahasa itu saja. Sifat : Keterampilan Titik berat : Coding Program 17 Langkah-langkah Pemrograman Komputer Mendefenisikan Masalah Menentukan Solusi Memilih Algoritma Menulis Dokumentasi Menguji Program Menulis Program Merawat Program 18 Contoh Program C++ Kode Program : Hasil Program 19 Contoh Program Pascal Kode Program : Hasil Program 20 Pemrograman Prosedural • Algoritma berisi urutan langkah-langkah penyelesaian masalah. • Langkah-langkah di dalam algoritma menyatakan proses yang prosedural Prosedur : • Tahap-tahap kegiatan untuk menyelesaikan suatu aktifitas. • Metode langkah demi langkahsecara eksak dalam memecahkan suatu masalah 21 Pemrograman Berorientasi Objek • Data dan instruksi dibungkus (encapsulation) menjadi satu. • Kesatuan ini disebut Kelas (class) • Inisialisasi kelas pada saat run-time disebut Objek (object). Objek Jodie Kelas Daria Jane wanita Brittany 22 ALGORITMA & PEMROGRAMAN 2 DISKUSI Design By mytemplate 2013 Contoh Kasus 1: Misalkan ada dua ember atau bejana yang berisi air berwarna, sebut saja ember A dan ember B. Ember A berisi air yang berwarna merah dan ember B berisi air berwarna biru. Volume air di dalam kedua ember sama. Bagaimana mempertukarkan isi kedua ember itu sedemikian sehingga nantinya ember A akan berisi air berwarna biru dan ember B berisi air berwarna merah. Keadaan Awal : Ember A Ember B Ember A Ember B Keadaan Akhir : 24 Contoh Kasus 2: (water jug problem) Misalkan anda mempunyai dua buah ember, masing-masing bervolume 5-liter dan 3-liter. Anda diminta mendapatkan air (dari sebuah danau) sebanyak 4-liter dengan menggunakan bantuan hanya kedua ember tersebut. Terserah bagaimana caranya. Anda boleh memindahkan air dari satu ember ke ember lain, membuang seluruh air dari ember, dan sebagainya. Bagaimana Algoritmanya ? 5 Liter 3 Liter 25 Penyelesaian Kasus 2: 26