Anda di halaman 1dari 19

DASAR

ALGORITMA
Minggu 1 - Teori

Imam Fahrur Rozi


Target
Setelah menempuh materi ini, mahasiswa
hendaknya mampu:
O Memahami tentang konsep dasar
pemrograman komputer
O Memahami tentang dasar algoritma dan
tahap pengembangannya
Pokok Bahasan
O Definisi Algoritma
O Tahap Pengembangan Algoritma
O Langkah membuat algoritma
Definisi
O Algortima : urutan langkah-langkah logis
penyelesaian masalah yang disusun secara
sistematis dan logis.
O Sistematis : urutan langkah-langkah yang
disusun harus jelas, memiliki pola tertentu
O Logis : masuk akal, bisa dibaca dan diterima
oleh akal
O Bisa dinilai benar salahnya
Penilaian Algoritma
O Hasilnya harus benar, sesuai dengan yang
diinginkan
O Seberapa baik hasil dari algoritma tersebut
O Efisiensi algoritma  waktu dan memori

Dimungkinkan antara orang satu dengan yang lain, dari masalah yang
sama, akan mendapatkan algoritma yang berbeda. Semuanya dianggap
benar, asal hasil yang dikeluarkan sesuai dengan harapan. Namun
demikian, diantara perbedaan algoritma tersebut, bisa dipilih mana
yang lebih efisien
Struktur Dasar Algoritma
O Struktur runtutan/sekuensial :
Digunakan untuk program yang pernyataannya
sequential atau urutan.
O Struktur pemilihan
Digunakan untuk program yang menggunakan
pemilihan atau penyeleksian kondisi.
O Struktur perulangan
Digunakan untuk program yang pernyataannya
akan dieksekusi berulang-ulang.
Langkah membuat Algoritma
O Pahami masalah
O Tentukan kondisi awal  Data Input
O Tentukan kondisi akhir Data output
O Data lain (jika ada)
O Data pendukung lain yang dibutuhkan pada proses
penyelesaian masalah
O Tentukan langkah penyelesaian masalah mulai dari
kondisi awal, hingga bisa tercapai kondisi akhir.
Dalam menyusun langkah mungkin melibatkan:
O Urutan/sequence
O Pemilihan
O Perulangan
Contoh
O Masalah: memasak nasi menggunakan rice
cooker
O Input : beras, air
O Output : nasi
O Data lain : rice cooker, listrik
O Proses :
O Cuci beras
O Masukan beras ke ricecooker, tambah air
O Ricecooker dinyalakan
O Nasi masak
Contoh
O Masalah: mengupas kentang
O Input: kentang
O Output: kentang yang sudah terkupas
O Data lain: pisau
O Proses:
O Ambil kentang
O Ambil pisau
O kupas
Contoh
O Menghitung biaya percakapan melalui HP

O Input : durasi pembicaraan


O Output : total biaya yang harus dibayar
O Data lain: biaya bicara per menit = 1000
O Proses:
O Masukan durasi
O Hitung total biaya= durasi*biaya bicara per menit
O Output total biaya
Contoh
O Masalah: mencari luas lingkaran (tanpa
memperhitungkan satuan)
O Input: jari2,
O Output: luas lingkaran,
O Data lain: nilai phi = 3.14
O Langkah:
O Masukan/input jari2
O Hitung rumus, luas lingkaran= phi*jari2*jari2
O Output luas lingkaran
Contoh
O Masalah: menghitung luas lingkaran sesuai dengan
satuan yang diinginkan (memperhitungkan satuan
jari2 dan satuan luas)
O Input: jari2, satuan jari2, satuan luas
O Output: nilai luas dengan satuan yg ditentukan
O Data lain: phi = 3.14
O Proses:
O Masukan jari2, satuan jari2, satuan luas
O Konversi jari2 ke satuan luas
O Hitung luas = phi*jari2*jari2
O Tampilkan nilai luas dengan satuan yg diinginkan
Contoh
O Masalah : Ada 2 gelas. Gelas A berisi kopi, gelas
B berisi susu. Pindahkan sehingga B berisi kopi
dan A berisi susu.
O Input: gelas A (kopi), gelas B (susu)
O Output: gelas A (susu), gelas B (kopi)
O Data lain: gelas kosong C
O Proses:
O A ke C
O B ke A
O C ke B
Contoh
A B
C
1
2
3
O Masalah: Pindahkan cakram dari tiang A ke
tiang B. Yang tersedia adalah 3 tiang
tersebut. Aturannya, setiap pemindahan,
hanya boleh 1 cakram saja, dan tidak ada
cakram yang lebih kecil berada di bawah
cakram yang lebih besar
Contoh (lanjutan)
O Input: Cakram (3buah), tiang (3buah)
O Output: ketiga cakram semua pindah ke B
O Data lain: -
O Proses:
O Cakram 1 ke B
O Cakram 2 ke C
O Cakram 1 dari B ke C
O Cakram 3 dari A ke B
O Cakram 1 dari C ke A
O Cakram 2 dari C ke B
O Cakram 1 dari A ke B
Contoh
O Mencari hasil bagi dari 2 bilangan
O Input: 2 bilangan (bilangan1, bilangan2 atau
pembiagi, yang dibagi atau pembilang,
penyebut)
O Output: hasil bagi
O Data lain: /
O Proses:
O Input pembilang, input penyebut
O Jika penyebut tidak sama dengan 0, maka
O Hitung pembilang/penyebut
O Output hasil
Latihan
O Seberangkan Orang, Kambing, Serigala dan
Sayur dari satu sisi sungai (A) ke sisi sungai
lain (B) menggunakan perahu. Perahu hanya
bisa mengangkut satu jenis barang saja dan
perahu hanya bisa dikendalikan oleh Orang.
Serigala tidak dapat ditinggalkan sendirian
dengan Kambing. Dan Kambing tidak dapat
ditinggalkan sendirian dengan Sayur. Buat
algoritmanya.
Latihan
O Terdapat 2 buah ember, masing-masing
memiliki volume 5 liter dan 3 liter. Buat
algoritma untuk mendapatkan air sebanyak
1 liter
Latihan
O Tiga pasang suami istri yang sedang menempuh
perjalanan sampai ke sebuah sungai. Di situ
mereka menemukan sebuah perahu kecil yang
hanya bisa membawa tidak lebih dari dua orang
setiap kali menyeberang. Penyeberangan sungai
dirumitkan oleh kenyataan bahwa para suami
sangat pencemburu dan tidak mau
meninggalkan istri- istri mereka jika ada lelaki
lain. Tulislah algoritma untuk menunjukkan
bagaimana penyeberangan itu bisa dilakukan.