Minggu 1 - Teori Imam Fahrur Rozi DASAR ALGORITMA Minggu 1 - Teori Imam Fahrur Rozi
Target Setelah menempuh materi ini, mahasiswa hendaknya mampu: Memahami tentang konsep dasar pemrograman komputer Memahami tentang dasar algoritma dan tahap pengembangannya
Pokok Bahasan Definisi Algoritma Tahap Pengembangan Algoritma Langkah membuat algoritma
Definisi Algortima : urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis dan logis. Sistematis : urutan langkah-langkah yang disusun harus jelas, memiliki pola tertentu Logis : masuk akal, bisa dibaca dan diterima oleh akal Bisa dinilai benar salahnya
Penilaian Algoritma Hasilnya harus benar, sesuai dengan yang diinginkan Seberapa baik hasil dari algoritma tersebut 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 Struktur runtutan/sekuensial : Digunakan untuk program yang pernyataannya sequential atau urutan. Struktur pemilihan Digunakan untuk program yang menggunakan pemilihan atau penyeleksian kondisi. Struktur perulangan Digunakan untuk program yang pernyataannya akan dieksekusi berulang-ulang.
Langkah membuat Algoritma Pahami masalah Tentukan kondisi awal Data Input Tentukan kondisi akhir Data output Data lain (jika ada) Data pendukung lain yang dibutuhkan pada proses penyelesaian masalah Tentukan langkah penyelesaian masalah mulai dari kondisi awal, hingga bisa tercapai kondisi akhir. Dalam menyusun langkah mungkin melibatkan: Urutan/sequence Pemilihan Perulangan
Contoh Masalah: memasak nasi menggunakan rice cooker Input : beras, air Output : nasi Data lain : rice cooker, listrik Proses : Cuci beras Masukan beras ke ricecooker, tambah air Ricecooker dinyalakan Nasi masak
Contoh Masalah: mengupas kentang Input: kentang Output: kentang yang sudah terkupas Data lain: pisau Proses: Ambil kentang Ambil pisau kupas
Contoh Menghitung biaya percakapan melalui HP Input : durasi pembicaraan Output : total biaya yang harus dibayar Data lain: biaya bicara per menit = 1000 Proses: Masukan durasi Hitung total biaya= durasi*biaya bicara per menit Output total biaya
Contoh Masalah: mencari luas lingkaran (tanpa memperhitungkan satuan) Input: jari2, Output: luas lingkaran, Data lain: nilai phi = 3.14 Langkah: Masukan/input jari2 Hitung rumus, luas lingkaran= phi*jari2*jari2 Output luas lingkaran
Contoh Masalah: menghitung luas lingkaran sesuai dengan satuan yang diinginkan (memperhitungkan satuan jari2 dan satuan luas) Input: jari2, satuan jari2, satuan luas Output: nilai luas dengan satuan yg ditentukan Data lain: phi = 3.14 Proses: Masukan jari2, satuan jari2, satuan luas Konversi jari2 ke satuan luas Hitung luas = phi*jari2*jari2 Tampilkan nilai luas dengan satuan yg diinginkan
Contoh Masalah : Ada 2 gelas. Gelas A berisi kopi, gelas B berisi susu. Pindahkan sehingga B berisi kopi dan A berisi susu. Input: gelas A (kopi), gelas B (susu) Output: gelas A (susu), gelas B (kopi) Data lain: gelas kosong C Proses: A ke C B ke A C ke B
Contoh A B C 1 2 3 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) Input: Cakram (3buah), tiang (3buah) Output: ketiga cakram semua pindah ke B Data lain: - Proses: Cakram 1 ke B Cakram 2 ke C Cakram 1 dari B ke C Cakram 3 dari A ke B Cakram 1 dari C ke A Cakram 2 dari C ke B Cakram 1 dari A ke B
Contoh Mencari hasil bagi dari 2 bilangan Input: 2 bilangan (bilangan1, bilangan2 atau pembiagi, yang dibagi atau pembilang, penyebut) Output: hasil bagi Data lain: / Proses: Input pembilang, input penyebut Jika penyebut tidak sama dengan 0, maka Hitung pembilang/penyebut Output hasil
Latihan 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 Terdapat 2 buah ember, masing-masing memiliki volume 5 liter dan 3 liter. Buat algoritma untuk mendapatkan air sebanyak 1 liter
Latihan 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.