Pengenalan FlowChart

advertisement
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
Download