04/03/2013
By: Vilia Eka Meyana, M.Kom Institute Bisnis dan Informatika Indonesia
Email:
[email protected] Website: http://viliaekameyana.blogspot.com
• • • •
Absensi : 10% UTS : 30% UAS : 40% Tugas & Kuis : 20%
1
04/03/2013
Selama kuliah…. • Ajukan pertanyaan dan berikan feedback • Jika Anda merasa saya terlalu cepat, silakan interupsi • There’s no point in giving classes if nobody understands me • Do Exercise! – You’re deluding yourself if you think you can learn the material without doing the exercises
Pendahuluan LOGIKA DAN ALGORITMA Diperkenalkan Oleh Ahli Matematika : Abu Ja’far Muhammad Ibnu Musa Al Khawarizmi. Definisi Algoritma 1. Langkah- langkah yg dilakukan agar solusi masalah dapat
diperoleh. 2. Suatu prosedur yg merupakan urutan langkah-langkah yg berintegrasi. 3. Suatu metode khusus yg digunakan untuk menyelesaikan suatu masalah yg nyata.(Webster Dictionary) 4. Urutan langkah atau kegiatan untuk memecahkan masalah
TAHAP PENYELESAIAN MASALAH Masalah
Analisis
Model Algoritma
Analisis
Analisis
Program Eksekusi Data Hasil
2
04/03/2013
Kriteria Pemilihan Algoritma 1. 2. 3. 4. 5.
Ada Output, Efektifitas dan Efesiensi, Jumlah Langkahnya Berhingga, Berakhir, ( SEMI ALGORITMA ) Terstruktur,
Suatu Algoritma yg terbaik (The Best) : “ Suatu algoritma harus menghasilkan output yg tepat guna (efektif) dlm waktu yg relatif singkat & penggunaan memori yg relatif sedikit (efesien) dgn langkah yg berhingga & prosedurnya berakhir baik dlm keadaan dip’oleh suatu solusi ataupun tdk ada solusinya. “
Kriteria Algoritma (Donald E. Knuth)
• Input: algoritma dapat memiliki nol atau lebih inputan dari luar. • Output: algoritma harus memiliki minimal satu buah output keluaran. • Definiteness (pasti): algoritma memiliki instruksiinstruksi yang jelas dan tidak ambigu. • Finiteness (ada batas): algoritma harus memiliki titik berhenti (stopping role). • Effectiveness (tepat dan efisien): algoritma sebisa mungkin harus dapat dilaksanakan dan efektif. Contoh instruksi yang tidak efektif adalah: A = A + 0 atau A = A * 1
Pernyataan dan Aksi langkah penyelesaian pernyataan (Statement) aksi (action) dieksekusi operasi dikerjakan oleh pemroses Algoritma dan Pemrograman I
3
04/03/2013
Contoh Pernyataan dan Aksi : • Pernyataan pada algoritma : Tulis “Hello, world” • menggambarkan aksi menuliskan “Hello, world” ke piranti keluaran (layar). • efek dari aksi ini, dilayar akan tertera tulisan Hello, world
Algoritma dan Pemrograman I
Struktur Dasar Algoritma 1. Runtunan (Sequence) instruksi dikerjakan secara sekuensial, berurutan. 2. Pemilihan (Selection) instruksi dikerjakan jika memenuhi kriteria tertentu 3. Pengulangan (Repetition) instruksi dikerjakan selama memenuhi suatu kondisi tertentu. Algoritma dan Pemrograman I
Runtunan (Sequence) • Algoritma merupakan runtunan (sequence) satu atau lebih instruksi/pernyataan, • setiap pernyataan dikerjakan secara berurutan sesuai dengan urutan penulisannya. Sebuah instruksi dilaksanakan setelah instruksi sebelumnya selesai dilaksanakan. • Urutan instruksi menentukan keadaan akhir algoritma Algoritma dan Pemrograman I
4
04/03/2013
Contoh 1 (Runtunan) : Diberikan 2 buah gelas, A dan B; gelas A berisi air berwarna merah, gelas B berisi air berwarna biru. Pertukarkan isi kedua gelas itu sedemikian sehingga gelas A berisi air berwarna biru dan gelas B berisi air berwarna merah.
A
A
B
B
Algoritma dan Pemrograman I
ALGORITMA: Tuangkan air dari gelas A kedalam gelas B Tuangkan air dari gelas B kedalam gelas A Caranya : Kita siapkan satu buah gelas C untuk menampung sementara air dari gelas A sebelum dipindah ke gelas B
Algoritma dan Pemrograman I
ilustrasi BA BA
AC
AC
Algoritma dan Pemrograman I
5
04/03/2013
ilustrasi C B
A B C
Algoritma dan Pemrograman I
Program Tukar_isi Diberikan 2 buah gelas, A dan B; gelas A berisi air berwarna merah, gelas B berisi air berwarna biru. Isi kedua gelas A dan B ditukar sedemikian sehingga gelas A berisi air berwarna biru dan gelas B berisi air berwarna merah. KAMUS : gelas A,gelas B, gelas C : air ALGORITMA: Tuangkan air dari gelas A kedalam gelas C Tuangkan air dari gelas B kedalam gelas A Tuangkan air dari gelas C kedalam gelas B Hasil akhir algoritma adalah: gelas A berisi air dari gelas B, dan gelas B berisi air dari gelas A semula
Contoh 2 (runtunan): Misal nilai A=8, B=5. Tukarkan nilai A dan B, sehingga menjadi A=5, B=8.
Algoritma : BA AB Algoritma : CA AB BC
Algoritma dan Pemrograman I
6
04/03/2013
Pemilihan (Selection) If kondisi then aksi endIf If kondisi then aksi1 else aksi2 endIf
Algoritma dan Pemrograman I
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
Algoritma dan Pemrograman I
Pengulangan (Repetition) for var awal to akhir do aksi Endfor repeat aksi until kondisi_stop while kondisi_ulang do aksi endwhile Algoritma dan Pemrograman I
7
04/03/2013
Contoh (Pengulangan) : For i 1 to 5 do output(“MAAF”) EndFor i1 Repeat output(“MAAF”) ii+1 Until (i>5) i1 While (i<=5) do output(“MAAF”) ii+1 endwhile Algoritma dan Pemrograman I
ATURAN PENULISAN TEKS ALGORITMA 1. KEPALA ALGORITMA Kepala algoritma adalah bagian yang terdiri atas nama algoritma dan penjelasan (spesifikasi) tentang algoritma tersebut. 2. DEKLARASI bagian untuk mendefinisikan semua nama yang dipakai didalam algoritma. 3. DESKRIPSI Bagian ini berisi uraian langkahlangkah penyelesaian masalah.
Flowchart • Bentuk gambar/diagram yang mempunyai aliran satu atau dua arah secara sekuensial • Simbol-simbol dalam flowchart
8
04/03/2013
Lanjutan Flowchart
Pseudo Code • Adalah Kode atau tanda yang menyerupai (pseudo) program atau merupakan pejelasan cara menyelesaikan suatu masalah.
Contoh Algortima • Problem: mencari bilangan terbesar dari dua bilangan yang diinputkan • Contoh Algoritma: 1. Masukkan bilangan pertama 2. Masukkan bilangan kedua 3. Jika bilangan pertama > bilangan kedua maka kerjakan langkah 4, jika tidak, kerjakan langkah 5. 4. Tampilkan bilangan pertama 5. Tampilkan bilangan kedua
9
04/03/2013
Contoh Pseudo-code • Contoh Pseudo-code: Input a Input b If a > b then kerjakan langkah 4 print a print b
TAHAPAN ANALISA ALGORITMA 1. Bagaimana merencanakan suatu algoritma. 2. Bagaimana menyatakan suatu algoritma Dengan bahasa semu (pseudocode), Contoh : Hitung konversi jam Deklarasi jam, mnt, dtk, jum_dtk; Deskripsi 1. input jam, mnt, dtk 2. Jum_dtk (jam * 3600) + (mnt * 60) + dtk 3. Cetak jum_dtk
Dengan diagram alur atau flowchart start
input Jam,mnt,dtk
scanf ( “%d %d %d”,&jam, &mnt, &dtk);
Jum_dtk := (jam* 3600) +(mnt * 60) + dtk
Printf (“%d”, jum_dtk)
Jum_dtk =(jam * 3600) +(mnt* 60) + detik
write jum_dtk
end
10
04/03/2013
1. Buatlah Algoritma untuk mencari luas persegi panjang disertai flowchart dan pseudocodenya 2. Buatlah Algoritma untuk menampilkan NIM dan Nama Anda disertai flowchart dan Psudocodenya
11