Anda di halaman 1dari 18

ALGORITMA & PEMROGRAMAN

Abdul Kudus, SSi., MSi., PhD.


e-mail: 1) akudus69@yahoo.com
2) kudus@unisba.ac.id
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 al-
Khwarizmi 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

Ruangan terisi Ya
sarana / fasilitas
Jadwal kuliah 1. Memetakan jadwal yang sesuai
sementara dengan ruangan A
yang ada

Data sarana / Tidak


B
fasilitas
4. Menambah sarana /
fasilitas yang
sesuai
Memeriksa Tidak
apakah pemakaian
ruangan penuh

Jadwal
disetujui Alat bantu Ya
Ya pengajaran tersedia
sesuai jadwal
C
Ya
2. Mencari Ruangan
ruangan lain lain ada? Tidak

Tidak 5. Tambah alat bantu


B
3. Mengganti pengajaran
jadwal

A
Selesai
Contoh 2:
Bilangan yang lebih besar dari dua bilangan

Mulai

1. Mulai
2. Masukkan A dan B A…
B…
3. Apakah A > B?
• Bila Ya, cetak A Ya Cetak A
• Bila Tidak, cetak B A > B?
4. Selesai Tidak

Cetak B

Selesai
Contoh 3:
Bilangan yang terbesar dari tiga bilangan

Mulai

A …
B…
C ….

Tidak Ya
A > B? B > C? Cetak B

Ya Tidak
Tidak
A > C? 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!

akudus69@yahoo.com
deadline: 10 Oktober jam 12 tengah malam