510 likes | 848 Views
Pengenalan Algoritma dan Pemrograman. Mata kuliah Algoritma dan Pemrograman Pertemuan ke-1 Yan Puspitarani,ST. Apakah Algoritma itu ?. Algorism, proses menghitung dengan bahasa Arab
E N D
Pengenalan Algoritma dan Pemrograman Mata kuliah Algoritma dan Pemrograman Pertemuan ke-1 Yan Puspitarani,ST
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 menulih Kitab al jabar wal-muqabala -Alpro 2009-
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. -Alpro 2009-
Masalah Algoritma Solusi Proses Penyelesaian masalah dengan Algoritma Pemecahan Masalah Implementasi -Alpro 2009-
Contoh • Ibu Tati Mengupas Kentang -Alpro 2009-
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? -Alpro 2009-
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 -Alpro 2009-
Sub-Aksi • Ambil kantong kentang dari rak • Ambil panci dari almari • Kupas kentang • Kembalikan kantong kentang ke rak -Alpro 2009-
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 -Alpro 2009-
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 -Alpro 2009-
While pakaian berwarna muda do • Kupas 1 kentang berikutnya -Alpro 2009-
Kasus lain A A B B Bagaimana Algoritmanya ?? -Alpro 2009-
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 -Alpro 2009-
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. -Alpro 2009-
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 -Alpro 2009-
Piranti Masukan CPU Piranti Keluaran Memori Bagaimana Algoritma dapat menjadi program? -Alpro 2009-
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. -Alpro 2009-
Belajar Memprogram • 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 -Alpro 2009-
Belajar Bahasa Pemrograman • belajar memakai suatu bahasa pemrograman, aturan sintaks, tatacara untuk memanfaatkan instruksi yang spesifik untuk setiap bahasa • titik berat : coder -Alpro 2009-
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) -Alpro 2009-
Struktur Dasar Algoritma • Runtunan (Sequence) • Pemilihan (Selection) • Pengulangan(Repetition) -Alpro 2009-
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 -Alpro 2009-
Flowchart -Alpro 2009-
Flowchart (cont’) -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-
Kasus • Pemimpin sebuah perusahaan otomotif perlu menentukan besarnya bonus yang akan diberikan kepada para pegawainya yang bekerja sebagai account executive. Jika terdapat pegawai yang dalam bulan ini telah menjual mobil lebih dari dua unit, maka akan mendapatkan bonus sebesar Rp 1.000.000,- kemudian pegawai yang bisa menjual mobil tepat dua buah maka, akan mendapatkan bonus Rp 500.000,- namun jika pegawai yang dalam bulan ini penjualannya kurang dari dua unit maka, pegawai tersebut tidak mendapatkan bonus. -Alpro 2009-
Pseudocode • Diarahkan untuk menyerupai aturan penulisan bahasa pemrograman tertentu -Alpro 2009-
Judul Kamus Algoritma Pseudocode -Alpro 2009-
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; • Algoritma konversi suhu; • Algoritma hitungan_pajak; • Algoritma 2bilangan; • Algoritma *kecil; -Alpro 2009-
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 -Alpro 2009-
Algoritma • digunakan untuk meletakkan semua algoritma atau kode-kode program • Diawali dengan ‘BEGIN’ dan diakhiri dengan ‘END’ -Alpro 2009-
Pemilihan (Selection) Ifkondisithen aksi endIf Ifkondisithen aksi1 else aksi2 endIf -Alpro 2009-
Contoh (Pemilihan) : If A>B then Max A endIf If B>A then Max B endIf If A>B then Max A Else Max B endIf -Alpro 2009-
Pengulangan (Repetition) for var awaltoakhirdo aksi Endfor repeat aksi untilkondisi_stop whilekondisi_ulangdo aksi endwhile -Alpro 2009-
Contoh (Pengulangan) : For i 1 to 5 do output(“Algoritma dan Pemrograman”) EndFor i1 Repeat output(“Algoritma dan Pemrograman”) ii+1 Until (i>5) i1 While (i<=5) do output(“Algoritma dan Pemrograman”) ii+1 endwhile -Alpro 2009-
Input dan Output Algoritma Masukkan_data Kamus data x : integer BEGIN input(x) /*x adalah variabel penampung nilai*/ END. Algoritma Masukkan_nilai Kamus data x : integer BEGIN x 5 /*panah ke kiri arah masuknya nilai*/ END. -Alpro 2009-
Input dan Output Algoritma Tampilan Kamus data x : integer BEGIN output(x) /*x adalah variabel yang berisi nilai*/ END. -Alpro 2009-
Reference • Rinaldi Munir. “Algoritma dan Pemrograman” • Inggriani Liem.”Diktat Kuliah Algoritma dan Pemrograman”. ITB • “Diktat Kuliah Algoritma dan Pemrograman”. Politeknik Telkom -Alpro 2009-