algoritma dan diagram alir (flowchart) · algoritma dan diagram alir (flowchart) algoritma •...
TRANSCRIPT
Algoritma dan Diagram Alir(Flowchart)
Algoritma dan Diagram Alir(Flowchart)
Algoritma
• Algoritma adalah urutan langkah-langkah logisyang disusun secara sistematis untukmenyelesaikan suatu masalah.
• Kata logis (logika) merupakan kunci dalamalgoritma.
• Langkah-langkah dalam algoritma harus logis,hasil algoritma harus dapat ditentukan bernilaibenar atau salah.
• Langkah yang salah akan memberikan hasil yangsalah.
• Algoritma adalah urutan langkah-langkah logisyang disusun secara sistematis untukmenyelesaikan suatu masalah.
• Kata logis (logika) merupakan kunci dalamalgoritma.
• Langkah-langkah dalam algoritma harus logis,hasil algoritma harus dapat ditentukan bernilaibenar atau salah.
• Langkah yang salah akan memberikan hasil yangsalah.
Algoritma dalam Kehidupan
• Algoritma dapat dikatakan jantung dalam ilmukomputer dan informatika.
• Banyak cabang ilmu komputer yang diacudalam terminologi algoritma.
• Selain itu algoritma juga dapat ditemukandalam kehidupan sehari-hari
• Algoritma dapat dikatakan jantung dalam ilmukomputer dan informatika.
• Banyak cabang ilmu komputer yang diacudalam terminologi algoritma.
• Selain itu algoritma juga dapat ditemukandalam kehidupan sehari-hari
Kriteria Algoritma
• Input: algoritma dapat memiliki nol atau lebihinputan dari luar.
• Output: algoritma harus memiliki minimalsatu buah output keluaran.
• Definiteness (pasti): algoritma memilikiinstruksi-instruksi yang jelas dan tidak ambigu.
• Input: algoritma dapat memiliki nol atau lebihinputan dari luar.
• Output: algoritma harus memiliki minimalsatu buah output keluaran.
• Definiteness (pasti): algoritma memilikiinstruksi-instruksi yang jelas dan tidak ambigu.
Kriteria Algoritma
• Finiteness (ada batas): algoritma harusmemiliki titik berhenti (stopping role).
• Effectiveness (tepat dan efisien): algoritmasebisa mungkin harus dapat dilaksanakan danefektif. Contoh instruksi yang tidak efektifadalah:A = A + 0 atau A = A * 1
• Finiteness (ada batas): algoritma harusmemiliki titik berhenti (stopping role).
• Effectiveness (tepat dan efisien): algoritmasebisa mungkin harus dapat dilaksanakan danefektif. Contoh instruksi yang tidak efektifadalah:A = A + 0 atau A = A * 1
Jenis Proses Algoritma
• Sequence Process: instruksi dikerjakan secarasekuensial/berurutan.
• Selection Process: instruksi dikerjakan jikamemenuhi kriteria tertentu
• Iteration Process: instruksi dikerjakan selamamemenuhi suatu kondisi tertentu.
• Concurrent Process: beberapa instruksidikerjakan secara bersama.
• Sequence Process: instruksi dikerjakan secarasekuensial/berurutan.
• Selection Process: instruksi dikerjakan jikamemenuhi kriteria tertentu
• Iteration Process: instruksi dikerjakan selamamemenuhi suatu kondisi tertentu.
• Concurrent Process: beberapa instruksidikerjakan secara bersama.
Jenis Proses Algoritma
• Sequence Process: instruksi dikerjakan secarasekuensial/berurutan.
• Selection Process: instruksi dikerjakan jikamemenuhi kriteria tertentu
• Iteration Process: instruksi dikerjakan selamamemenuhi suatu kondisi tertentu.
• Concurrent Process: beberapa instruksidikerjakan secara bersama.
• Sequence Process: instruksi dikerjakan secarasekuensial/berurutan.
• Selection Process: instruksi dikerjakan jikamemenuhi kriteria tertentu
• Iteration Process: instruksi dikerjakan selamamemenuhi suatu kondisi tertentu.
• Concurrent Process: beberapa instruksidikerjakan secara bersama.
Sifat Algoritma
• Tidak menggunakan simbol atau sintaks darisuatu bahasa pemrograman.
• Tidak tergantung pada suatu bahasapemrograman.
• Notasi-notasinya dapat digunakan untukseluruh bahasa manapun.
• Tidak menggunakan simbol atau sintaks darisuatu bahasa pemrograman.
• Tidak tergantung pada suatu bahasapemrograman.
• Notasi-notasinya dapat digunakan untukseluruh bahasa manapun.
Contoh Algoritma 1Menggoreng Ayam• Hidupkan Kompor• Ambil Penggorengan dan Minyak Goreng• Panaskan Minyak goreng menggunakan
penggorengan• Setelah minyak panas, masukkan ayam dan aduk-
aduk menggunakan sendok penggorengansampai matang
• Setelah matang , tiriskan dan letakkan di atastempat atau piring
Menggoreng Ayam• Hidupkan Kompor• Ambil Penggorengan dan Minyak Goreng• Panaskan Minyak goreng menggunakan
penggorengan• Setelah minyak panas, masukkan ayam dan aduk-
aduk menggunakan sendok penggorengansampai matang
• Setelah matang , tiriskan dan letakkan di atastempat 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
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 - LanjutAda hal yang “tergantung” pada sesuatu:1. Ibu Dwi mengambil kantong kentang dari
rak2. Ibu Dwi mengambil panci dari almari3. Lakukan persiapan, menggunakan
celemek -> Tergantung pada Pakaian4. Ibu Dwi mengupas kentang5. Ibu Dwi mengembalikan kantong kentang
dari rak
Ada hal yang “tergantung” pada sesuatu:1. Ibu Dwi mengambil kantong kentang dari
rak2. Ibu Dwi mengambil panci dari almari3. Lakukan persiapan, menggunakan
celemek -> Tergantung pada Pakaian4. Ibu Dwi mengupas kentang5. Ibu Dwi mengembalikan kantong kentang
dari rak
Kondisi – dari Algo. 2
• Warna cerah:Ibu Dwi melihat bahwa bajunya berwarnamuda karena itu ia memakai celemek
• Warna tidak cerah:Ibu Tati melihat bahwa bajunya tidakberwarna muda/cerah karena itu ia tidakmemakai celemek (berarti tidak ada aksimemakai celemek)
• Warna cerah:Ibu Dwi melihat bahwa bajunya berwarnamuda karena itu ia memakai celemek
• Warna tidak cerah:Ibu Tati melihat bahwa bajunya tidakberwarna muda/cerah karena itu ia tidakmemakai celemek (berarti tidak ada aksimemakai 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
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 harusdikupas 500 buah• tergantung pada jumlah kentang yang sudah
dikupas• Belum cukup: kupas 1 kentang• Cukup: selesaiAtau:• while “jumlah kentang terkupas belum cukup”
do Kupas 1 kentang
Karena dapat pesanan, maka kentang yg harusdikupas 500 buah• tergantung pada jumlah kentang yang sudah
dikupas• Belum cukup: kupas 1 kentang• Cukup: selesaiAtau:• while “jumlah kentang terkupas belum cukup”
do Kupas 1 kentang
Kondisi – dari Algo. 2
• Bisa jadi pada saat mengupas kentangtergantung 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.
• Bisa jadi pada saat mengupas kentangtergantung 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 kentangtergantung 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.
• Bisa jadi pada saat mengupas kentangtergantung 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 buahgelas.
• Gelas A berisi cairan biru dan gelas B berisicairan merah.
• Tukarkanlah isi kedua gelas tersebut.
• Sebagai contoh, menukarkan isi dua buahgelas.
• Gelas A berisi cairan biru dan gelas B berisicairan merah.
• Tukarkanlah isi kedua gelas tersebut.
Contoh Algoritma
• Sebagai contoh, menukarkan isi dua buahgelas.
• Gelas A berisi cairan biru dan gelas B berisicairan merah.
• Tukarkanlah isi kedua gelas tersebut.
• Sebagai contoh, menukarkan isi dua buahgelas.
• Gelas A berisi cairan biru dan gelas B berisicairan merah.
• Tukarkanlah isi kedua gelas tersebut.
Contoh Algoritma
• Algoritma 1 :1. Tuangkan isi gelas A ke gelas B2. Tuangkan isi gelas B ke gelas A
Contoh Algoritma
• Jawaban pada Algoritma 1 diatas tidakmenghasilkan pertukaran yang benar.
• Cairan pada kedua gelas bisa saja tercampur
Contoh Algoritma
• Algoritma 2 :1. Tuangkan isi gelas A ke gelas C2. Tuangkan isi gelas B ke gelas A3. Tuangkan isi gelas C ke gelas B
• Algoritma 2 :1. Tuangkan isi gelas A ke gelas C2. Tuangkan isi gelas B ke gelas A3. Tuangkan isi gelas C ke gelas B
Contoh Algoritma
• Algoritma 2 :1. Tuangkan isi gelas A ke gelas C2. Tuangkan isi gelas B ke gelas A3. Tuangkan isi gelas C ke gelas B
• Algoritma 2 :1. Tuangkan isi gelas A ke gelas C2. Tuangkan isi gelas B ke gelas A3. Tuangkan isi gelas C ke gelas B
Latihan 1 :
• Menghitung apakah suatu Bilangan Ganjil atauGenap
• Menghitung Luas Persegi Panjang• Menghitung Luas Segitiga
• Menghitung apakah suatu Bilangan Ganjil atauGenap
• Menghitung Luas Persegi Panjang• Menghitung Luas Segitiga
Latihan 1.1 :
Menentukan apakah suatu bilangan merupakanbilangan 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 hasilbagi sama dengan 1 maka bilangan itu adalahbilangan ganjil.
Menentukan apakah suatu bilangan merupakanbilangan 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 hasilbagi sama dengan 1 maka bilangan itu adalahbilangan ganjil.
Latihan 1 .2:
• Algoritma menghitung luas persegi panjang:1. Masukkan panjang (P)2. Masukkan lebar (L)3. Luas P * L4. Tulis Luas
• Algoritma menghitung luas persegi panjang:1. Masukkan panjang (P)2. Masukkan lebar (L)3. Luas P * L4. Tulis Luas
Latihan 1 .3:
• Algoritma menghitung luas Segitiga:1. Masukkan alas (a)2. Masukkan tinggi (t)3. Luas -> a * t / 24. Tulis Luas
• Algoritma menghitung luas Segitiga:1. Masukkan alas (a)2. Masukkan tinggi (t)3. Luas -> a * t / 24. Tulis Luas
Flowchart
• Flowchart merupakan representasi secaradiagram dari urutan langkah-langkah untukmendapatkan suatu hasil.
• Algoritma dapat dituangkan dalam notasigambar flowchart.
• Flowchart dapat membantu kita menyusundan mengerti algoritma yang ditampilkandalam bentuk gambar dan simbol tertentu.
• Flowchart merupakan representasi secaradiagram dari urutan langkah-langkah untukmendapatkan suatu hasil.
• Algoritma dapat dituangkan dalam notasigambar flowchart.
• Flowchart dapat membantu kita menyusundan mengerti algoritma yang ditampilkandalam bentuk gambar dan simbol tertentu.
Simbol FlowchartSimbol Arti
Start / End
Proses
Input / Output
Percabangan
Koneksi 2 bagian flowchart
Simbol FlowchartSimbol Keterangan
Koneksi dengan halaman yang berbeda
Perulangan
Posedur /Fungsi
Aliran Data
Contoh Flowchart
• Sebagai contoh algoritma untukmenjumlahkan dua buah bilangan adalahsebagai berikut :
Contoh Flowchart
Contoh Flowchart
• Contoh lain, misalkan kita ingin mengetahuiapakah sebuah bilangan ganjil atau genap.
• Untuk itu kita harus membuat flowchartseperti berikut :
• Contoh lain, misalkan kita ingin mengetahuiapakah sebuah bilangan ganjil atau genap.
• Untuk itu kita harus membuat flowchartseperti berikut :
Contoh Flowchart
SEKIANSEKIAN