Algoritma dan Diagram Alir (Flowchart)
Algoritma Algoritma adalah urutan langkah-langkah logis yang disusun secara sistematis untuk menyelesaikan suatu masalah. Kata logis (logika) merupakan kunci dalam algoritma. Langkah-langkah dalam algoritma harus logis, hasil algoritma harus dapat ditentukan bernilai benar atau salah. Langkah yang salah akan memberikan hasil yang salah.
Algoritma dalam Kehidupan Algoritma dapat dikatakan jantung dalam ilmu komputer dan informatika. Banyak cabang ilmu komputer yang diacu dalam terminologi algoritma. Selain itu algoritma juga dapat ditemukan dalam kehidupan sehari-hari
Kriteria Algoritma Input: algoritma dapat memiliki nol atau lebih inputan dari luar. Output: algoritma harus memiliki minimal satu buah output keluaran. Definiteness (pasti): algoritma memiliki instruksi-instruksi yang jelas dan tidak ambigu.
Kriteria Algoritma 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
Jenis Proses Algoritma Sequence Process: instruksi dikerjakan secara sekuensial/berurutan. Selection Process: instruksi dikerjakan jika memenuhi kriteria tertentu Iteration Process: instruksi dikerjakan selama memenuhi suatu kondisi tertentu. Concurrent Process: beberapa instruksi dikerjakan secara bersama.
Jenis Proses Algoritma Sequence Process: instruksi dikerjakan secara sekuensial/berurutan. Selection Process: instruksi dikerjakan jika memenuhi kriteria tertentu Iteration Process: instruksi dikerjakan selama memenuhi suatu kondisi tertentu. Concurrent Process: beberapa instruksi dikerjakan secara bersama.
Sifat Algoritma Tidak menggunakan simbol atau sintaks dari suatu bahasa pemrograman. Tidak tergantung pada suatu bahasa pemrograman. Notasi-notasinya dapat digunakan untuk seluruh bahasa manapun.
Contoh Algoritma 1 Menggoreng Ayam Hidupkan Kompor Ambil Penggorengan dan Minyak Goreng Panaskan Minyak goreng menggunakan penggorengan Setelah minyak panas, masukkan ayam dan adukaduk menggunakan sendok penggorengan sampai matang Setelah matang, tiriskan dan letakkan di atas tempat atau piring
Contoh Algoritma 2 Mengupas Kentang Ibu Dwi mengambil kantong kentang dari rak Ibu Dwi mengambil panci dari almari Ibu Dwi mengupas kentang Ibu Dwi mengembalikan kantong kentang dari rak
Contoh Algoritma 2 - Lanjut Ada hal yang tergantung pada sesuatu: 1. Ibu Dwi mengambil kantong kentang dari rak 2. Ibu Dwi mengambil panci dari almari 3. Lakukan persiapan, menggunakan celemek -> Tergantung pada Pakaian 4. Ibu Dwi mengupas kentang 5. Ibu Dwi mengembalikan kantong kentang dari rak
Kondisi dari Algo. 2 Warna cerah: Ibu Dwi melihat bahwa bajunya berwarna muda karena itu ia memakai celemek Warna tidak cerah: Ibu Tati melihat bahwa bajunya tidak berwarna muda/cerah karena itu ia tidak memakai celemek (berarti tidak ada aksi memakai celemek)
Kondisi dari Algo. 2 Jadi: Ambil kantong kentang dari rak Ambil panci dari almari Depend on warna baju berwarnamuda: Pakai celemek tidak berwarna muda: Tidak pakai celemek Kupas kentang Kembalikan kantong kentang ke rak
Kondisi dari Algo. 2 Karena dapat pesanan, maka kentang yg harus dikupas 500 buah tergantung pada jumlah kentang yang sudah dikupas Belum cukup: kupas 1 kentang Cukup: selesai Atau: while jumlah kentang terkupas belum cukup do Kupas 1 kentang
Kondisi dari Algo. 2 Bisa jadi pada saat mengupas kentang tergantung pada kentangnya, jika rusak / busuk, maka kentang dibuang/tidak dikupas Jadi: Jika jumlah kentang terkupas belum cukup do -> Tergantung pada kondisi kentang Busuk: buang dan cari kentang berikutnya, tidak dihitung. Tidak Busuk: kupas 1 kentang.
Kondisi dari Algo. 2 Bisa jadi pada saat mengupas kentang tergantung pada kentangnya, jika rusak / busuk, maka kentang dibuang/tidak dikupas Jadi: Jika jumlah kentang terkupas belum cukup do -> Tergantung pada kondisi kentang Busuk: buang dan cari kentang berikutnya, tidak dihitung. Tidak Busuk: kupas 1 kentang.
Contoh Algoritma Sebagai contoh, menukarkan isi dua buah gelas. Gelas A berisi cairan biru dan gelas B berisi cairan merah. Tukarkanlah isi kedua gelas tersebut.
Contoh Algoritma Sebagai contoh, menukarkan isi dua buah gelas. Gelas A berisi cairan biru dan gelas B berisi cairan merah. Tukarkanlah isi kedua gelas tersebut.
Contoh Algoritma Algoritma 1 : 1. Tuangkan isi gelas A ke gelas B 2. Tuangkan isi gelas B ke gelas A
Contoh Algoritma Jawaban pada Algoritma 1 diatas tidak menghasilkan pertukaran yang benar. Cairan pada kedua gelas bisa saja tercampur
Contoh Algoritma Algoritma 2 : 1. Tuangkan isi gelas A ke gelas C 2. Tuangkan isi gelas B ke gelas A 3. Tuangkan isi gelas C ke gelas B
Contoh Algoritma Algoritma 2 : 1. Tuangkan isi gelas A ke gelas C 2. Tuangkan isi gelas B ke gelas A 3. Tuangkan isi gelas C ke gelas B
Latihan 1 : Menghitung apakah suatu Bilangan Ganjil atau Genap Menghitung Luas Persegi Panjang Menghitung Luas Segitiga
Latihan 1.1 : Menentukan apakah suatu bilangan merupakan bilangan ganjil atau genap: 1. Masukkan sebuah bilangan sembarang. 2. Bagi bilangan tersebut dengan bilangan 2. 3. Hitung sisa hasil bagi pada langkah 2. 4. Bila sisa hasil bagi sama dengan 0 maka bilangan itu adalah bilangan genap tetapi bila sisa hasil bagi sama dengan 1 maka bilangan itu adalah bilangan ganjil.
Latihan 1.2: Algoritma menghitung luas persegi panjang: 1. Masukkan panjang (P) 2. Masukkan lebar (L) 3. Luas P * L 4. Tulis Luas
Latihan 1.3: Algoritma menghitung luas Segitiga: 1. Masukkan alas (a) 2. Masukkan tinggi (t) 3. Luas -> a * t / 2 4. Tulis Luas
Flowchart Flowchart merupakan representasi secara diagram dari urutan langkah-langkah untuk mendapatkan suatu hasil. Algoritma dapat dituangkan dalam notasi gambar flowchart. Flowchart dapat membantu kita menyusun dan mengerti algoritma yang ditampilkan dalam bentuk gambar dan simbol tertentu.
Simbol Flowchart Simbol Arti Start / End Proses Input / Output Percabangan Koneksi 2 bagian flowchart
Simbol Flowchart Simbol Keterangan Koneksi dengan halaman yang berbeda Perulangan Posedur /Fungsi Aliran Data
Contoh Flowchart Sebagai contoh algoritma untuk menjumlahkan dua buah bilangan adalah sebagai berikut :
Contoh Flowchart
Contoh Flowchart Contoh lain, misalkan kita ingin mengetahui apakah sebuah bilangan ganjil atau genap. Untuk itu kita harus membuat flowchart seperti berikut :
Contoh Flowchart
SEKIAN