Pengenalan Algoritma dan Pemrograman 4/7/2017 Chapter 1 Pengenalan Algoritma dan Pemrograman -Alpro 2009-
Apakah Algoritma itu ? Algorism, proses menghitung dengan bahasa Arab Algorism berasal dari nama penulis buku Arab yang terkenal yaitu Abu Ja’far Muhammad ibnu Musa al-Khuwarizmi yang menulis Kitab al jabar wal-muqabala
Apakah Algoritma itu ? Urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis Urutan logis pengambilan keputusan untuk pemecahan masalah Logis : hasil dari urutan langkah tersebut harus dapat ditentukan benar atau salah Dalam bidang pemrograman, Algoritma didefinisikan sebagai suatu metode khusus yang tepat dan terdiri dari serangkaian langkah yang terstruktur dan dituliskan secara sistematis yang akan dikerjakan untuk menyelesaikan suatu masalah dengan bantuan komputer.
Proses Penyelesaian masalah dengan Algoritma 4/7/2017 Proses Penyelesaian masalah dengan Algoritma Pemecahan Masalah Implementasi Masalah Algoritma Solusi -Alpro 2009-
Contoh Ibu Tati Mengupas Kentang
Ruang Lingkup Apakah kentangnya harus dibeli dulu atau sudah ada di dapur ? Apakah yang dimaksud dengan mengupas kentang untuk makan malam berarti sampai kentang terhidang? Ketika kentangnya terhidang,jadi sup,digoreng atau direbus saja?
Constraint Initial State : Kentang sudah ada di kantong kentang, yang ditaruh di rak di dapur dimana ibu tati akan mengupasnya Final State : Kentang dalam keadaan terkupas di panci, siap untuk dimasak dan kantong kentangnya dikembalikan ke rak lagi
Sub-Aksi Ambil kantong kentang dari rak Ambil panci dari almari Kupas kentang Kembalikan kantong kentang ke rak
Ambil kantong kentang dari rak Ambil panci dari almari Depend on warna baju Berwarna muda : pakai celemek Tidak berwarna muda : - Kupas kentang Kembalikan kentang ke rak
Ambil kantong kentang dari rak Ambil panci dari almari Depend on baju Berwarna muda : pakai celemek Tidak berwarna muda : - While jumlah kentang terkupas belum cukup do Kupas 1 kentang Kembalikan kantong kentang ke rak
Kasus lain A B A B Bagaimana Algoritmanya ??
5 ciri penting algoritma Algoritma harus berhenti setelah mengerjakan sejumlah langkah terbatas Setiap langkah harus didefinisikan dengan tepat dan tidak memiliki dua arti (ambigu) Algoritma memiliki nol atau lebih masukan (input) Algoritma memiliki nol atau lebih keluaran (output) Algoritma harus efektif
Program dan Bahasa Pemrograman Program adalah formulasi sebuah algoritma dalam bentuk bahasa pemrograman sehingga siap untuk dijalankan pada mesin komputer Bahasa pemrograman adalah bahasa buatan yang digunakan untuk mengendalikan perilaku dari sebuah mesin, biasanya berupa mesin komputer, sehingga dapat digunakan untuk memberitahu komputer tentang apa yang harus dilakukan.
Klasifikasi Bahasa Pemrograman Menurut Generasi First Generation Language (1GL), kode mesin Second Generation Language (2GL), bahasa assembly Generasi Ketiga, C,C++,Pascal,Java Generasi Keempat, SQL,PL/SQL,ABAP Generasi Kelima, Prolog,LISP AI Menurut Tingkatan Low-level programming language, 1GL & 2GL High-level programming language (HLL), 3GL Very High-level programming language (VHLL), 4GL
Bagaimana Algoritma dapat menjadi program? Piranti Masukan CPU Memori Keluaran
Belajar Memrogram Vs Belajar Bahasa Pemrograman Belajar memprogram adalah belajar tentang metodologi pemecahan masalah, kemudian menuangkannya dalam suatu notasi tertentu yang mudah dibaca dan dipahami. Belajar bahasa pemrograman berarti belajar memakai suatu bahasa, aturan-aturan tata bahasanya, instruksi-instruksinya, tata cara pengoperasian compiler-nya, dan memanfaatkan instruksi-instruksi tersebut untuk membuat program yang ditulis hanya dalam bahasa itu saja.
Belajar Memprogram Tidak sama dengan belajar bahasa pemrograman belajar tentang strategi pemecahan masalah, metodologi dan sistematika pemecahan masalah kemudian menuliskannya dalam notasi yang disepakati bersama bersifat pemahaman persoalan, analisis dan sintesis titik berat : designer program
Belajar Bahasa Pemrograman belajar memakai suatu bahasa pemrograman, aturan sintaks, tatacara untuk memanfaatkan instruksi yang spesifik untuk setiap bahasa titik berat : coder
Syarat Program yang Baik benar berlaku umum untuk beragam data (valid) mudah dibaca mudah dimodifikasi dan dikembangkan efisiensi dalam penggunaan ruang dan waktu (kompleksitas rendah)
Notasi Algoritmik Teks algoritma terdiri atas 3 bagian: Judul Kamus
Perhatikan: Pada setiap bagian akan didefinisikan & dituliskan NAMA atau komentar. Komentar dituliskan diantara tanda kurung kurawal. Teks yang dituliskan diluar tanda kurung kurawal adalah teks algoritma
NAMA Definisi : Sesuatu yang dipakai sebagai identifikasi: Modul program, algoritma, skema program, Fungsi, Prosedur, Type, Tempat penyimpanan (nama variabel), Konstanta. Aturan pemberian NAMA 1. Dalam bahasa pemrograman, setiap namamempunyai aturan penulisan. Pada teks algoritma tidak ada aturan ketat. 2. Pemilihan nama harus interpretatif, tidak menimbulkan kerancuan, jika singkat harus disertai penjelasan. contoh: x-y akan membingungkan sebab mungkin “x minus y”
3. Nama merupakan satu kesatuan leksikal, maka sebuah nama harus dituliskan secara utuh (tidak dipisah blank) supaya satu namadapat dibedakan dengan namalainnya (besaran leksikal lain) Semua nama dalam program harus unik, artinya suatu nama hanya didefinisikan satu kali saja Semua nama yang dipakai dalam teks algoritma harus sudah didefinisikan pada salah satu bagian teks algoritma
JUDUL Bagian teks algoritma tempat mendefinisikan apakah teks tsb adalah program, prosedur, fungsi, atau modul Setelah judul tuliskan spesifikasi singkat dari teks algoritma. Bagian judul identik dengan judul buku dan intisari pada suatu teks ilmiah dalam suatu makalah berbahasa Indonesia
Judul Tidak diawali dengan angka atau karakter lain selain alphabet Tidak terdapat karakter spasi atau karakter selain alphabet kecuali karakter underscore ‘_’ (sebagai pengganti karakter spasi) Mana yang benar ? Algoritma berhitung; Algoritmakonversisuhu; Algoritma hitungan_pajak; Algoritma 2bilangan; Algoritma *kecil.
KAMUS Definisi : Bagian teks algoritma tempat mendefinisikan : Nama type, Nama konstanta, Nama informasi (nama variabel), Nama prosedur (sekaligus spesifikasi), Nama fungsi (sekaligus spesifikasi). Kamus digunakan sebagai tempat untuk mencantumkan variabel, konstanta, dan record. Hal-hal yang dideklarasikan pada bagian ini digunakan sebagai ‘reservasi’ alokasi memory untuk penyimpanan data dan akan digunakan selama program bekerja
Algoritma digunakan untuk meletakkan semua algoritma atau kode-kode program Diawali dengan ‘BEGIN’ dan diakhiri dengan ‘END’
Struktur dasar algoritma Komponen Algoritma Komponen teks algoritmik dalam pemrograman prosedural dapat berupa: instruksi dasar, seperti I/O, assignment struktur sequence struktur seleksi struktur pengulangan analisa kasus Struktur dasar algoritma
Flowchart dan Pseudocode
Flowchart bagan yang menggambarkan urutan instruksi untuk proses dengan komputer dan hubungan antara suatu proses dengan proses lainnya dengan menggunakan simbol tidak digunakan untuk menggambarkan urutan langkah untuk memecahkan masalah, tetapi hanya untuk menggambarkan prosedur dalam sistem yang dibentuk
Flowchart Terminator Input/Output Proses Condisional / Decision -Alpro 2009-
Flowchart (cont’) Preparation Arrow Connector (on page) Connector (off page) Display -Alpro 2009-
Flowchart (cont’) Keuntungan : lebih mudah dilihat dan dipahami Kelemahan : jika digunakan untuk menggambarkan proses atau algoritma untuk skala kasus yang besar, maka akan dibutuhkan banyak kertas -Alpro 2009-
Contoh: Hitunglah keliling persegi panjang Solusi: Anda dapat menuangkan algoritma sebagai berikut, Peroleh nilai panjang dan lebar persegi panjang Hitung keliling persegi panjang dengan menggunakan rumus: 2x(panjang+lebar) Tampilkan nilai keliling persegi panjang Kita bisa gunakan diagram alir/flowchart sbb: