Algoritme dan Pemrograman dengan R ttg Flow

Download Report

Transcript Algoritme dan Pemrograman dengan R ttg Flow

ALGORITMA & PEMROGRAMAN
Abdul Kudus, SSi., MSi., PhD.
e-mail: 1) [email protected]
2) [email protected]
blog:
abdulkudus.staff.unisba.ac.id
Komponen Nilai Akhir:
1. Tugas (10%)
2. Kuis (10%)
3. UTS (35%)
4. UAS (45%)
Syarat kehadiran: minimal 75% (11 kali dari 14 pertemuan)
PENDAHULUAN
Konsep Algoritme
Pondasi untuk menyelesaikan suatu masalah secara berstruktur,
efektif dan efisien. Terutama untuk menyelesaikan suatu masalah
dengan bantuan program komputer.
Definisi:
Algoritme :
Teknik penyusunan langkah-langkah penyelesaian
masalah dalam bentuk kalimat yang tersusun secara
logis dan sistematis.
Catatan Sejarah:
Pencetus algoritma adalah Abu Ja’far Muhammad ibnu Musa alKhwarizmi dalam bukunya Aljabar wal muqobala pada abad IX.
al-Khwarizmi  algorism  algorithm  algoritma
Ciri Algoritma
Donald E. Knuth (penulis beberapa buku algoritma abad XX)
menyatakan ciri algoritma:
- Punya awal dan akhir.
- Didefinisikan secara tepat dan tidak bermakna ganda (tidak
ambigu).
- Punya input
- Punya output
- Efektif
Contoh algoritma dalam kehidupan sehari-hari:
Proses
Algoritma
Langkah-langkah
1. Membuat kue
Resep kue
Campurkan 2 butir telur ke
dalam adonan, lalu kocok
hingga mengembang
2. Membuat pakaian
Pola pakaian
Gunting kain dari pinggir
kiri bawah ke kanan atas
sepanjang 15 cm
3. Praktikum kimia
Petunjuk praktikum
Campurkan 10 ml H2S04
sulfat ke dalam 15 ml
NaOH
Contoh:
Algoritma untuk mencari angka terbesar (maksimum) dari suatu
kumpulan bilangan bulat.
Solusi:
1. Anggap angka pertama adalah yang terbesar.
2. Bandingkan dengan angka berikutnya. Jika angka berikut
tersebut lebih besar, maka jadikan sebagai yang terbesar.
3. Ulangi langkah 2, sehingga angka terakhir.
4. Angka terbesar adalah angka terbesar yang terakhir.
Cari angka terbesar dari himpunan:
1. A = {12, 7, 15, 26, 10}
2. B = {9, 12, 17, 21, 27}
3. C = {15, 10, 8, 6, 2}
• Suatu algoritma dapat ditulis dengan menggunakan bahasa
sehari-hari, tapi akan sulit diimplementasikan ke dalam bahasa
pemrograman komputer.
• Perlu langkah peralihan.
Struktur Algoritma
Agar dapat ditulis lebih teratur, maka dibagi ke dalam beberapa
bagian:
• Bagian kepala
• Bagian deklarasi variabel
• Bagian deskripsi/rincian langkah
Contoh 1:
Algoritma Luas_lingkaran
Deklarasi phi = 3.14
jari_jari = 13
Deskripsi luas = phi*jari_jari^2
Contoh 2:
Algoritma Cari_Rata_rata
Deklarasi data = (2, 1, 3, 5, 8)
n=5
Rincian Langkah
akumulasi = 0
for (i in 1:n)
{
akumulasi = akumulasi + data[i]
}
Nilai_rata = akumulasi/n
Contoh 2b:
Algoritma Cari_Rata_rata
Deklarasi data = (2, 1, 3, 5, 8)
n=5
Rincian Langkah
akumulasi = data[1]
for (i in 2:n)
{
akumulasi = akumulasi + data[i]
}
Nilai_rata = akumulasi/n
Contoh 3:
Algoritma Cari_Terbesar
Deklarasi data = (2, 1, 3, 5, 8)
n=5
Rincian Langkah
terbesar = data[1]
for (i in 2:n)
{
if (data[i] > terbesar) then terbesar = data[i]
}
Diagram Alir (Flowchart)
Untaian simbol diagram yang menunjukkan aliran proses yang
dikerjakan terhadap data. Simbol-simbol flowchart dibagi menjadi
simbol untuk program dan simbol untuk sistem (computer
hardware).
Simbol untuk program
Terminator: untuk mulai atau selesai
Proses: proses terhadap data
Input/Output: menerima input atau menampilkan output
Seleksi/Pilihan: memilih aliran berdasarkan syarat
Predefined-Data: definisi awal dari variabel
Predifened-Process: lambang sub-program
Connector: penghubung pada halaman yang sama
Off-page Connector: penghubung pada halaman yang berbeda
Simbol untuk sistem
Keyboard
Printer
File
Monitor
Contoh 1:
Pengaturan jadwal dan ruangan kuliah
C
Mulai
1. Memetakan jadwal
dengan ruangan
yang ada
Jadwal kuliah
sementara
A
Ruangan terisi
sarana / fasilitas
yang sesuai
Ya
Tidak
Data sarana /
fasilitas
B
4. Menambah sarana /
fasilitas yang
sesuai
Memeriksa
apakah pemakaian
ruangan penuh
Tidak
Jadwal
disetujui
Ya
2. Mencari
ruangan lain
Ya
Alat bantu
pengajaran tersedia
sesuai jadwal
C
Ruangan
lain ada?
Tidak
B
3. Mengganti
jadwal
A
Tidak
5. Tambah alat bantu
pengajaran
Selesai
Ya
Contoh 2:
Bilangan yang lebih besar dari dua bilangan
Mulai
1. Mulai
2. Masukkan A dan B
3. Apakah A > B?
• Bila Ya, cetak A
• Bila Tidak, cetak B
4. Selesai
A…
B…
A > B?
Tidak
Cetak B
Selesai
Ya
Cetak A
Contoh 3:
Bilangan yang terbesar dari tiga bilangan
Mulai
A …
B…
C ….
A > B?
Tidak
Ya
A > C?
B > C?
Ya
Cetak B
Tidak
Tidak
Cetak C
Ya
Cetak A
Selesai
Tugas:
1. Buat makalah tentang al-khwarizmi (sumber: perpustakaan
atau internet seperti google dan wikipedia)
2. Gambar flowchart untuk menyiapkan secangkir kopi (dimulai
dari memasak air sampai menghidangkan kopi)!
3. Gambar flowchart untuk mencari bilangan terbesar dari
empat bilangan!
4. Gambar flowchart untuk mencari bilangan terbesar dari
sekumpulan bilangan!
[email protected]
deadline: 10 Oktober jam 12 tengah malam