Teori Algoritma. Literatur

dokumen-dokumen yang mirip
Contoh algoritma 1. Ada 2 buah gelas. Satu berisi teh dan satunya lagi berisi kopi. Bagaimana caranya menukar isi masing-masing gelas?

IT234 ALGORITMA DAN STRUKTUR DATA

Algoritma & Pemrograman

MATA KULIAH : LOGIKA DAN ALGORITMA

Algoritma dan Flowchart

1: Pengertian Dasar Logika dan Algoritma STRUKTUR DASAR. Oleh: Imana Malia kondou, S.T.

Praktikum Algoritma dan Pemrograman. By Faizah, S.Kom. Lab. Komputasi Dasar Prodi Ilmu Komputer UGM

PENGENALAN ALGORITMA & PEMROGRAMAN P E N G A N T A R T E K N O L O G I I N F O R M A S I ( T I F )

Zaenal Abidin, S.Si., M.Cs. Riza Arifudin, S.Pd., M.Cs.

Apa Itu Algoritma? Algoritma berasal dari: ahli

ALGORITMA, PEMROGRAMAN DAN BAGAN ALIR

PENULISAN ALGORITMA. Algoritma dan Pemrograman. Rajif Agung Yunmar, S.Kom, M.Cs.

Algoritma, Pseudo Code Flow Chart

POKOK BAHASAN - 1 ALGORITMA & PEMROGRAMAN

Pertemuan 1. Algoritma dan PHP


Algoritma & Pemrograman #1. Antonius Rachmat C, S.Kom, M.Cs

PENGENALAN KOMPUTER. Sistem Komputer. Dian Palupi Rini, M.Kom

BAB I PENGANTAR ALGORITMA

ALGORITMA, PEMROGRAMAN DAN BAGAN ALIR. Pertemuan Ke-1

Khusnawi, S.Kom, M.Eng

Pengantar Algoritma & Flow Chart

BAB I PENGANTAR ALGORITMA

PENGANTAR ALGORITMA. Brigida Arie Minartiningtyas, M.Kom

04/03/2013. Absensi : 10% UTS : 30% UAS : 40% Tugas & Kuis : 20% By: Vilia Eka Meyana, M.Kom Institute Bisnis dan Informatika Indonesia

BAB II NOTASI ALGORITMA

Pemrograman Dasar Kelas X RPL KONSEP DASAR ALGORITMA

BAB II DASAR-DASAR DAN ATURAN PENULISAN ALGORITMA

Algoritma & Flowchart

Pengantar Algoritma dan Program

Algoritma dan Struktur Data

Algoritma dan Pemrograman #1. Arif Dwi Laksito, M.Kom

Algoritma & Pemrograman #1

Algoritma. Contoh Algoritma

PERTEMUAN 2 ALGORITMA & PEMROGRAMAN

Algoritma & Flowchart. Brigida Arie Minartiningtyas, M.Kom

PSEUDOCODE TIPE DATA, VARIABEL, DAN OPERATOR

# ONE PENGANTAR ALGORITMA PEMROGRAMAN

Algoritma dan Diagram Alir (Flowchart)

MATERI SIMKOMDIG PENGERTIAN DASAR LOGIKA DAN ALGORITMA

@copyright by Emy PENGANTAR ALGORITMA & PROGRAM & PROGRAM PENGERTIAN ALGORITMA NOTASI UNTUK ALGORITMA

Algoritma Pemrograman I

Algoritma & Struktur Data. Eko Puji Widiyanto, ST

KONTRAK PEMBELAJARAN (KP) MATA KULIAH. Algoritma dan Pemrograman

Yudha Dwi P. N. Pertemuan 2 Pengantar Algoritma

ALGORITMA (KOMPUTER) : ATURAN PENULISAN DAN STRUKTUR DASARNYA

Alih Kontrol dengan Flowchart

Algoritma dan Struktur Data

4/1/2015. Bisa dihubungi melalui: HP

ALGORITMA & FLOWCHART

PROGRAM STUDI S1 SISTEM KOMPUTER UNIVERSITAS DIPONEGORO. Oky Dwi Nurhayati, ST, MT

Pendahuluan. program

ALGORITMA. Bahasa Pemrograman adalah prosedur atau tata cara penulisan program.

Algoritma Pemrograman

PENGANTAR ALGORITMA PEMROGRAMAN

Pendahuluan. Algoritma

Algoritma dan Pemrograman. Pertemuan Ke-1 Pengantar Algoritma

LOGIKA & ALGORITMA PENGERTIAN & CONTOH ALGORITMA. Pertemuan ke 2. 9/24/2017 Logika Algoritma

Dasar-dasar Algoritma Dan Representasi Algoritma. Pengampu : Muhammad Zidny Naf an, M.Kom

SELAMAT MENEMPUH MATAKULIAH

ALGORITMA & PEMROGRAMAN

Pengampu : Agus Priyanto, M.KOM

Pemrograman Komputer Oleh : Agus Priyan : Agus Priy t an o t, o M.Kom M.K

Pengenalan Algoritma

Pengenalan Algoritma & Pemrograman

Algoritma Pemrograman

Algoritma Pemrograman Fery Updi,M.Kom

3 sks (2,1) 1 sks: Lab Session. Course material: History Algorithm. Programming (C/C++):codeblock,gnu compiler

BUANA. Distribusi 01 September 2017

Algoritma & Pemrograman 1. Muhamad Nursalman Pendilkom/Ilkom Universitas Pendidikan Indonesia

PETUNJUK PENGERJAAN SOAL ULUM TIK

Findra Kartika Sari Dewi

Algoritma dan Pemrograman. Pertemuan Ke-2 Dasar-dasar Algoritma

IT234 - Algoritma dan Struktur Data. Ramos Somya

Bahasa Pemrograman- TIS SKS

Analisis Sistem Informasi Pedoman Membuat Flowchart

I. PENGANTAR ALGORITMA

Pemrograman Komputer Oleh : Agus Priyan : Agus Priy t an o t, o M.Kom M.K

ALGORITMA berasal dari seorang ilmuwan Muslim bernama Al-Khowarizmi

Analisis dan Strategi Algoritma

ALGORITMA & PENGEMBANGAN

Algoritma Dan Pemrograman [algoritma, program, flowchart] Presented by Rijal Fadilah, S.Si

SMA SANTO PAULUS PONTIANAK

ALGORITHM. 6 Algoritma, Flowchart & Program. Dahlia Widhyaestoeti, S.Kom dahlia74march.wordpress.

Materi Pelajaran : Algoritma Pemrograman. Siswa memahami tentang dasar dasar Algoritma Pemrograman

Algoritma dan Pemrograman DEPARTEMEN PENDIDIKAN NASIONAL UNIVERSITAS PENDIDIKAN INDONESIA 2008

7. Logika dan Algoritma Pemrograman

MODUL 1 ALGORITMA PEMROGRAMAN

MATERI TIK KELAS 5 SEMESTER 1 SD KATOLIK SANTA MARIA MAGELANG

Instalasi Code::Blocks, Tipe Data, Variabel, Konstanta, Operator, Input-Output dan Flowchart

BAB I PENGANTAR ALGORITMA DAN PROGRAM

SILABUS MATA KULIAH: LOGIKA ALGORITMA

Jurnal Mahajana Informasi, Vol.1 No 2, 2016 e-issn: SIMULASI PENGURUTAN DATA DENGAN ALGORITMA HEAP SORT

SILABUS MATA KULIAH: LOGIKA ALGORITMA

Pengantar Algoritma Pemrograman. # Kusnawi, S.Kom, M.Eng#

MAKALAH ALGORITMA, PSEUDOCODE DAN FLOWCHART TENTANG YUFI EKO FIRMANSYAH 1 D3 IT B OLEH

Kontrak Perkuliahan & Introduction

Algoritma Dan Pemrograman

Bab I Pengantar Algorithma & Pemrograman

Pengenalan Algoritma dan Pemrograman Pascal

Transkripsi:

Alam Santosa Teori Algoritma Pendahuluan Literatur Thomas H. Cormen et.al, Introduction to Algorithms Second Edition, MIT Press, McGraw-Hill Book Company, 2001 Robert L. Kruse, Data Structures & Program Design Third Edition, Prentice Hall, 1994 Rinaldi Munir, Algoritma & Pemrograman, Informatika, Bandung, 2003

Asal Kata Algoritma Asal kata Algoritma berasal dari nama Abu Ja far Mohammed Ibn Musa al-khowarizmi Ilmuan Persia yang menulis kitab al jabr w al-muqabala (rules of restoration and reduction) Tahun 825 M Berasal dari Iran Pengertian Algoritma Urutan langkah-langkah untuk memecahkan masalah Kamus Besar Bahasa Indonesia: Algoritma adalah urutan logis pengambilan putusan untuk pemecahan masalah Algorthm is problem-solving computer program: a logical sequence of steps for solving a problem, often written out as a flow chart, that can be translated into a computer program.

Algoritma TUKAR_ISI_BEJANA CONTOH Diberikan dua buah bejana, A dan B; bejana A berisi larutan berwarna merah, bejana B berisi larutan berwarna biru. Pertukaran isi kedua bejana itu sedemikian sehingga bejana A berisi larutan berwarna biru dan bejana B berisi larutan berwarna merah. DESKRIPSI 1. Tuangkan larutan dari bejana A ke dalam bejana B. 2. Tuangkan larutan dari bejana B ke dalam bejana A. Bejana A Bejana B Algoritma TUKAR_ISI_BEJANA Diberikan dua buah bejana, A dan B; bejana A berisi larutan berwarna merah, bejana B berisi larutan berwarna biru. Pertukaran isi kedua bejana itu sedemikian sehingga bejana A berisi larutan berwarna biru dan bejana B berisi larutan berwarna merah. DESKRIPSI 1. Tuangkan larutan dari bejana A ke dalam bejana C. 2. Tuangkan larutan dari bejana B ke dalam bejana A. 3. Tuangkan larutan dari bejana C ke dalam bejana B. Bejana A Bejana B Bejana C

Keadaan Awal Sebelum Pertukaran: PROSES Keadaan Akhir Setelah Pertukaran: Proses Pertukaran 1. Tuangkan larutan dari bejana A ke dalam bejana C 2. Tuangkan larutan dari bejana B ke dalam bejana A 3. Tuangkan larutan dari bejana C ke dalam bejana B BACK

Algoritma Sehari-hari Mamasak Menulis surat Registrasi Mahasiswa Ujian Nasional Mengendarai Sepeda Motor dll Use Your Mind 1. 2 kanibal naik perahu ke seberang kiri 2. Pindahkan 1 kanibal ke seberang kiri 3. Perahu kembali ke seberang kanan dgn 1 kanibal 4. Ulangi langkah 1-3 5. 2 misionaris naik perahu ke seberang kiri 6. Di seberang kiri, tukar 1 kanibal dgn 1 misionaris di perahu 7. Perahu kembali ke seberang kanan dgn 1 kanibal dan 1 misionaris 8. Di seberang kanan, tukar kanibal di perahu dgn 1 misionaris di seberang kanan 9. Perahu kembali ke seberang kiri dgn 2 misionaris 10. Turunkan semua misionaris di perahu ke seberang kiri 11. Perahu kembali ke seberang kanan dgn 1 kanibal 12. Ulangi langkah 1-3 13. 2 kanibal naik perahu ke seberang kiri 14. Turunkan kedua kanibal ke seberang kiri Berapa Jumlah Misionaris dan Kanibal yang ada disana?

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 Contoh Buat sebuah algoritma untuk memilih bilangan terbesar dari 3 buah bilangan Nantinya ini bisa digeneralisir menjadi n buah bilangan

Bahasa Natural 1. Ambil bilangan pertama dan set maks sama dengan bilangan pertama 2. Ambil bilangan kedua dan bandingkan dengan maks 3. Apa bila bilangan kedua lebih besar dari maks, set maks sama dengan bilangan kedua 4. Ambil blangan ketiga dan bandingan dengan maks 5. Apabila bilangan ketiga lebih besar dari maks, set maks sama dengan bilangan ketiga 6. Variabel maks berisi bilangan terbesar. Tayangkan hasilnya Mulai Flowchart Maks = bilangan pertama Maks < bilangan kedua Ya Maks = bilangan kedua Tidak Maks < bilangan ketiga Ya Maks = bilangan ketiga Tidak Selesai

Pseudocode maks bilangan pertama if (maks < bilangan kedua) maks bilangan kedua if (maks < bilangan ketiga) maks bilangan ketiga 5 Ciri Penting Algoritma 1. Finiteness, berhenti setelah mengerjakan sejumlah langkah terbatas 2. Definiteness, langkah didefinisikan dengan tepat (tida ambigous) 3. Input, memiliki nol atau lebih input 4. Output, memiliki nol atau lebih keluaran 5. Effectiveness, sederhana dan waktu penyelesaian masuk akal

Algoritma Di Dunia Komputer Algoritma dibutuhkan untuk memerintah komputer mengambil langkah-langkah tertentu dalam menyelesaikan masalah Algoritma adalah dasar pembuatan program/software Algoritma harus ditulis dalam bahasa yang dimengerti komputer, yaitu bahasa pemrograman Belajar Memprogram Dan Bahasa Pemrograman Belajar memprogram adalah belajar tentang metodologi pemecahan masalah, kemudian menuangkannya dalam suatu notasi tertentu yang mudah dibaca dan dipahami. Belajar Pemrograman adalah belajar memakai suatu bahasa, aturan-aturan tata bahasanya.

Struktur Penulisan Algoritma Bagian Judul (Header) memuat nama dan informasi tentang algoritma yang dibuat Bagian Deklarasi/Definisi Variabel memuat definisi tentang nama variabel, konstanta, prosedur, fungsi, tipe data yang digunakan Bagian Deskripsi/Rincian Langkah memuat langkah-langkah penyelesaian masalah Contoh Struktur Penulisan Algoritma Algoritma Luas Lingkaran {menghitung luas lingkaran apabila jari-jarinya diketahui} Deklarasi {Definisi nama konstanta} const phi = 3.14; {Definisi nama variabel} real jari-jari, luas; Deskripsi read(jari-jari); luas = phi * jari-jari * jari-jari write(luas);

Flowchart Diagram (chart) berisi untaian simbol dalam bentuk gambar yang menunjukkan aliran (flow) dari proses terhadap data Digunakan untuk menyusun rencana program Diklasifikasikan menjadi: Simbol untuk program Simbol untuk sistem (peralatan hardware) Program Flowchart Terminator Proses Input/Output Predefined-Process Predefined-Data Seleksi/Pilihan Connector Off-page Connector

System Flowchart Keyboard Printer File/Storage Display/Monitor Off-page Connector Magnetic Disk Sorting Extract Merge Struktur Dasar Algoritma Sequence, runtunan perintah yang harus dilakukan komputer. Selection, pemilihan alternatif jika kondisi terpenuhi atau tidak. Loop, berulang jika kondisi terpenuhi atau tidak.

Hasil Pemrograman Program dengan rancangan yang baik (metodologis, sistematis) Dapat dieksekusi oleh mesin. Berfungsi dengan benar dan sesuai dengan yang diinginkan. Sanggup melayani segala kemungkinan masukan. Disertai dokumentasi. Penilaian Algoritma Penilaian algoritma didasarkan pada: Waktu eksekusi (paling utama) Penggunaan memori/sumber daya Kesederhanaan dan kejelasan algoritma Analisis algoritma tidak mudah dilakukan secara pasti, maka hanya diambil: Kondisi rata-rata (average case) Kondisi terburuk (worst case) Waktu eksekusi dipengaruhi oleh: Jenis data input Jumlah data input Pemilihan instruksi bahasa pemrograman

Tugas Menara Hanoi Tugas Hitung berapa jumlah perpindahan jika terdapat 4, 5, 6, dan 50 buah piringan.