ALGORITMA & LOGIKA PEMROGRAMAN YULI ASTUTI, M.KOM
Definisi Algoritma yaitu urutan langkah-langkah logis untuk menyelesaikan sebuah masalah yang disusun dengan sistematis. Program yaitu kumpulan instruksi/perintah komputer dengan bahasa tertentu yang berfungsi menghubungan user dengan komputer. Atau bisa juga disebut implementasi dari bahasa pemrograman
Kriteria Setiap langkah/step harus jelas dan pasti Boleh tidak ada inputan tetapi harus memiliki output minimal 1 output, output ini merupakan solusi akhir dari penyelesaian masalah Efektif/tepat guna dan efisien/membutuhkan waktu singkat dan memori sedikit Jumlah langkah/step harus ada batasannya, baik ada solusi ataupun tidak Terstruktur/runtun, jelas (ipo)
Langkah-langkah dalam membuat program Mendefinisaikan masalah Menentukan solusi Memilih algoritma Menulis program Menguji program Menulis dokumentasi Merawat program
Penulisan algoritma Kalimat Deskriptif Flow Chart (bagan alir) Pseudo Code (kode semu)
Kalimat deskriptif Menggunakan untaian kalimat untuk menjelaskan langkah – langkah Contoh PROGRAM GanjilGenap Diberikan sebuah bilangan bulat positif X untuk dicek apakah termasuk ganjil atau genap ALGORITMA Jika X habis dibagi 2 maka tulis “Genap”, jika tidak maka tulis “Ganjil”
Flowchart Menggunakan simbol – simbol untuk menggambarkan aliran atau langkah – langkah Contoh mulai baca X X mod 2 = 0 selesai Tulis “Genap Tulis “Ganjil” tidak ya
Pseudocode Menggunakan kode – kode untuk menyatakan langkah – langkah Mirip bahasa pemrograman Contoh DEKLARASI X : integer ALGORITMA read(X) if X mod 2 = 0 then {apakah X habis dibagi 2} write(“Genap”) {jika ya} else write(“Ganjil) {jika tidak}
Lambang-lambang flowchart KETERANGAN SIMBOL Mulai / Selesai (Terminator) Aliran Data Input / Output Proses Percabangan (Decision) Pemberian nilai awal suatu variabel (Preparation) Memangggil prosedur / fungsi (Call)
Connector (di halaman yang sama) Connector (di halaman lain) Sequence process Perulangan
CONTOH : - Kasus : menghitung luas segitiga - Algoritma : § Masukkan alas (a) § Masukkan tinggi (t) § Hitung luas (L), yaitu 0.5 * alas * tinggi § Cetak luas (L)
Beda antara algoritma dan pseudo-code untuk kasus mencari luas persegi panjang : Masukkan panjang Input panjang Masukkan lebar Input lebar Nilai luas adalah panjang x lebar Luas panjang x lebar Tampilkan luas Print luas
Contoh lain: Algoritma Pseudo-code Jika sudah selesai, cetak invoice IF KONDISI_SELESAI = “DONE” THEN PRINT INVOICE Nilai A dibagi dengan 2 A ← A / 2 Jika nilai A lebih besar dari 2 maka nilai A dikalikan 3 IF A > 2 THEN A ← A x 3 Dari dua bilangan A dan B, cari bilangan yang terbesar IF A > B THEN PRINT A ELSE PRINT B Masukkan semua mata kuliah yang ingin diambil pada semester ini DARI MATKUL = 0 SAMPAI MATKUL <= MATKUL_DIINGINKAN, MASUKAN DATA MATKUL
Sebenarnya tidak ada aturan mengikat tentang penulisan algoritma dan pseudo-code, karena fungsi kedua hal ini adalah untuk memudahkan seseorang untuk menggambarkan urutan suatu kejadian. Sedangkan untuk para programmer, kedua hal ini berfungsi sebagai dasar alur pembuatan program. Di mana dapat merepresentasikan alur cerita dari client tentang kebutuhan dasar dari sebuah program, sehingga lebih mudah untuk dipahami. Jadi pseudo-code bisa dikatakan juga sebagai algortima yang sudah sedikit digabungkan dengan bahasa pemrograman yang akan digunakan.
Contoh Terdapat 2 buah ember A dan B masing – masing memiliki isi yang berbeda. Tuliskan algoritma untuk menukarkan isi masing – masing ember tersebut.
Jawaban ALGORITMA untuk menukar air dari ember A ke ember B,dibutuhkan satu ember kosong yaitu C. air yang ada di ember A kita pindah dahulu ke ember C. sekarang ember A kosong, kemudian isi yang ada di ember B kita pindah ke ember A. sekarang ember A terisi dan ember B kosong. kemudian isi yang ada di ember C kita pindah ke ember B. sehingga ember A dan B sudah terisi dan tertukar sedang ember C menjadi kosong.
FLOWCHART mulai baca A,B,C C = A A = B B = C Tampilkan A,B selesai
Pseudo code DEKLARASI A,B,C : integer ALGORITMA A = 2 B = 5 C A isi di variabel A sudah pindah ke variabel C A B isi yang ada di variabel B sudah pindah ke variabel A B C isi yang ada di variabel C sudah pindah ke variabel B sehingga A 5 B 2