Pengenalan Algoritma dan Pemrograman Mata kuliah Algoritma dan

  • Slides: 39
Download presentation
Pengenalan Algoritma dan Pemrograman Mata kuliah Algoritma dan Pemrograman Pertemuan ke-1 Yan Puspitarani, ST

Pengenalan Algoritma dan Pemrograman Mata kuliah Algoritma dan Pemrograman Pertemuan ke-1 Yan Puspitarani, ST -Alpro 2009 -

Apakah Algoritma itu ? ► Algorism, proses menghitung dengan bahasa Arab ► Algorism berasal

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 - 2

Apakah Algoritma itu ? ► Urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis

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 - 3

Proses Penyelesaian masalah dengan Algoritma Pemecahan Masalah Algoritma -Alpro 2009 - Implementasi Solusi 4

Proses Penyelesaian masalah dengan Algoritma Pemecahan Masalah Algoritma -Alpro 2009 - Implementasi Solusi 4

Contoh ► Ibu Tati Mengupas Kentang -Alpro 2009 - 5

Contoh ► Ibu Tati Mengupas Kentang -Alpro 2009 - 5

Ruang Lingkup ► Apakah kentangnya harus dibeli dulu atau sudah ada di dapur ?

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 - 6

Constraint ► Initial State : Kentang sudah ada di kantong kentang, yang ditaruh di

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 - 7

Sub-Aksi ► Ambil kantong kentang dari rak ► Ambil panci dari almari ► Kupas

Sub-Aksi ► Ambil kantong kentang dari rak ► Ambil panci dari almari ► Kupas kentang ► Kembalikan kantong kentang ke rak -Alpro 2009 - 8

► Ambil kantong kentang dari rak ► Ambil panci dari almari ► Depend on

► 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 - 9

► Ambil kantong kentang dari rak ► Ambil panci dari almari ► Depend on

► Ambil kantong kentang dari rak ► Ambil panci dari almari ► Depend on baju § Berwarna muda : pakai celemek § Tidak berwarna muda : ► While do jumlah kentang terkupas belum cukup § Kupas 1 kentang ► Kembalikan kantong kentang ke rak -Alpro 2009 - 10

► While pakaian berwarna muda do § Kupas 1 kentang berikutnya -Alpro 2009 -

► While pakaian berwarna muda do § Kupas 1 kentang berikutnya -Alpro 2009 - 11

Kasus lain A A B B Bagaimana Algoritmanya ? ? -Alpro 2009 - 12

Kasus lain A A B B Bagaimana Algoritmanya ? ? -Alpro 2009 - 12

5 ciri penting algoritma ► Algoritma harus berhenti setelah mengerjakan sejumlah langkah terbatas ►

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 - 13

Program dan Bahasa Pemrograman ► Program adalah formulasi sebuah algoritma dalam bentuk bahasa pemrograman

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 - 14

Klasifikasi Bahasa Pemrograman ► Menurut Generasi § First Generation Language (1 GL), kode mesin

Klasifikasi Bahasa Pemrograman ► Menurut Generasi § First Generation Language (1 GL), kode mesin § Second Generation Language (2 GL), 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, 1 GL & 2 GL § High-level programming language (HLL), 3 GL § Very High-level programming language (VHLL), 4 GL -Alpro 2009 - 15

Bagaimana Algoritma dapat menjadi program? Piranti Masukan CPU Piranti Keluaran Memori -Alpro 2009 -

Bagaimana Algoritma dapat menjadi program? Piranti Masukan CPU Piranti Keluaran Memori -Alpro 2009 - 16

Belajar Memrogram Vs Belajar Bahasa Pemrograman ► Belajar memprogram adalah belajar tentang metodologi pemecahan

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 - 17

Belajar Memprogram ► belajar bahasa pemrograman ► belajar tentang strategi pemecahan masalah, metodologi dan

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 - 18

Belajar Bahasa Pemrograman ► belajar memakai suatu bahasa pemrograman, aturan sintaks, tatacara untuk memanfaatkan

Belajar Bahasa Pemrograman ► belajar memakai suatu bahasa pemrograman, aturan sintaks, tatacara untuk memanfaatkan instruksi yang spesifik untuk setiap bahasa ► titik berat : coder -Alpro 2009 - 19

Syarat Program yang Baik 1. 2. 3. 4. 5. benar berlaku umum untuk beragam

Syarat Program yang Baik 1. 2. 3. 4. 5. benar berlaku umum untuk beragam data (valid) mudah dibaca mudah dimodifikasi dan dikembangkan efisiensi dalam penggunaan ruang dan waktu (kompleksitas rendah) -Alpro 2009 - 20

Flowchart dan Pseudocode -Alpro 2009 -

Flowchart dan Pseudocode -Alpro 2009 -

Struktur Dasar Algoritma ► Runtunan (Sequence) ► Pemilihan (Selection) ► Pengulangan(Repetition) -Alpro 2009 -

Struktur Dasar Algoritma ► Runtunan (Sequence) ► Pemilihan (Selection) ► Pengulangan(Repetition) -Alpro 2009 - 22

Flowchart ► bagan yang menggambarkan urutan instruksi untuk proses dengan komputer dan hubungan antara

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 - 23

Flowchart Terminator Input/Output Proses Condisional / Decision -Alpro 2009 - 24

Flowchart Terminator Input/Output Proses Condisional / Decision -Alpro 2009 - 24

Flowchart (cont’) Preparation Arrow Connector (on page) Connector (off page) Display -Alpro 2009 -

Flowchart (cont’) Preparation Arrow Connector (on page) Connector (off page) Display -Alpro 2009 - 25

Flowchart (cont’) ► Keuntungan : lebih mudah dilihat dan dipahami ► Kelemahan : jika

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 - 26

Kasus ► Pemimpin sebuah perusahaan otomotif perlu menentukan besarnya bonus yang akan diberikan kepada

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, - 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 - 27

Pseudocode ► Diarahkan untuk menyerupai aturan penulisan bahasa pemrograman tertentu -Alpro 2009 - 28

Pseudocode ► Diarahkan untuk menyerupai aturan penulisan bahasa pemrograman tertentu -Alpro 2009 - 28

Pseudocode Judul Kamus Algoritma -Alpro 2009 - 29

Pseudocode Judul Kamus Algoritma -Alpro 2009 - 29

Judul ► Tidak diawali dengan angka atau karakter lain selain alphabet ► Tidak terdapat

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 2 bilangan; § Algoritma *kecil; -Alpro 2009 - 30

Kamus ► digunakan sebagai tempat untuk mencantumkan variabel, konstanta, dan record ► Hal-hal yang

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 - 31

Algoritma ► digunakan untuk meletakkan semua algoritma atau kode-kode program ► Diawali dengan ‘BEGIN’

Algoritma ► digunakan untuk meletakkan semua algoritma atau kode-kode program ► Diawali dengan ‘BEGIN’ dan diakhiri dengan ‘END’ -Alpro 2009 - 32

Pemilihan (Selection) If kondisi then aksi end. If If kondisi then else aksi 1

Pemilihan (Selection) If kondisi then aksi end. If If kondisi then else aksi 1 aksi 2 end. If -Alpro 2009 - 33

Contoh (Pemilihan) : If A>B then Max A end. If If B>A then Max

Contoh (Pemilihan) : If A>B then Max A end. If If B>A then Max B end. If If A>B then Max A Else Max B end. If -Alpro 2009 - 34

Pengulangan (Repetition) for var awal to akhir do aksi Endfor repeat aksi until kondisi_stop

Pengulangan (Repetition) for var awal to akhir do aksi Endfor repeat aksi until kondisi_stop while kondisi_ulang do aksi endwhile -Alpro 2009 - 35

Contoh (Pengulangan) : For i 1 to 5 do output(“Algoritma dan Pemrograman”) End. For

Contoh (Pengulangan) : For i 1 to 5 do output(“Algoritma dan Pemrograman”) End. For i 1 Repeat output(“Algoritma dan Pemrograman”) i i+1 Until (i>5) i 1 While (i<=5) do output(“Algoritma dan Pemrograman”) i i+1 endwhile -Alpro 2009 - 36

Input dan Output Algoritma Masukkan_data Kamus data x : integer BEGIN input(x) /*x adalah

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 - 37

Input dan Output Algoritma Tampilan Kamus data x : integer BEGIN output(x) /*x adalah

Input dan Output Algoritma Tampilan Kamus data x : integer BEGIN output(x) /*x adalah variabel yang berisi nilai*/ END. -Alpro 2009 - 38

Reference ► Rinaldi Munir. “Algoritma dan Pemrograman” ► Inggriani Liem. ”Diktat Kuliah Algoritma dan

Reference ► Rinaldi Munir. “Algoritma dan Pemrograman” ► Inggriani Liem. ”Diktat Kuliah Algoritma dan Pemrograman”. ITB ► “Diktat Kuliah Algoritma dan Pemrograman”. Politeknik Telkom -Alpro 2009 - 39