ALGORITMA
  • Urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis dan logis
  • Benar sesuai dengan logika manusia
  • Harus berhenti
  • Harus memberikan hasil yang benar

CONTOH ALGORITMA (YANG BENAR)

"Algoritma Aktifitas Pagi Hari Sebelum Berangkat Kerja"

  1. Turun dari tempat tidur
  2. Melepas piyama
  3. Mandi
  4. Berpakaian
  5. Makan pagi
  6. Baca koran
  7. Pergi kerja


CONTOH ALGORITMA (YANG SALAH)

"Algoritma Aktifitas Pagi Hari Sebelum Berangkat Kerja"

  1. Turun dari tempat tidur
  2. Melepas piyama
  3. Berpakaian
  4. Mandi
  5. Baca koran
  6. Makan pagi
  7. Berangkat kerja

CONTOH ALGORITMA

"Menghitung Luas Segitiga"

  1. Start
  2. Baca data alas dan tinggi
  3. Luas adalah alas kali tinggi kali 0.5
  4. Tampilkan Luas
  5. Stop

CONTOH ALGORITMA

"Menghitung Luas Segitiga"

  1. Start
  2. Baca data alas dan tinggi
  3. Periksa data alas dan tinggi, jika nilai data alas dan tinggi lebih besar dari nol maka lanjutkan ke langkah ke
  4. jika tidak maka stop
  5. Luas adalah alas kali tinggi kali 0.5
  6. Tampilkan Luas
  7. Stop

CONTOH ALGORITMA

"Menghitung Luas Persegi Panjang"

  1. Masukkan panjang
  2. Masukkan lebar
  3. Luas Persegi panjang adalah panjang dikalikan lebar
  4. Tampilkan luas persegi panjang

MENYUSUN ALGORITMA
  1. Tentukan apa yang menjadi masalah
  2. Tentukan data input yang diperlukan
  3. Tentukan proses yang perlu dilakukan
  4. Tentukan output yang diinginkan

BENTUK DASAR ALGORITMA
  1. Algoritma Sekuensial (Sequence Algorithm)
  2. Algoritma Perulangan (Looping Algorithm)
  3. Algoritma Percabangan atau Bersyarat (Conditional Algorithm)

ALGORITMA PERULANGAN (LOOPING ALGORITHM)
  1. Siapkan jemuran
  2. Ambil satu pakaian yang nantinya akan dijemur
  3. Peras pakaian tersebut terlebih dahulu
  4. Letakkan pakaian tersebut pada tiang jemuran
  5. Ulangi langkah dari 2 sampai 4 hingga pakaian habis

ALGORITMA PERCABANGAN ATAU BERSYARAT (CONDITIONAL ALGORITHM)
  1. Siapkan panci
  2. Masukkan air secukupnya ke dalam panci
  3. tutup panci tersebut
  4. letakkan panci tersebut di atas kompor
  5. Hidupkan kompor
  6. Apabila air sudah mendidih, lalu matikan kompor
  7. Angkat panci tersebut dari kompor

KRITERIA ALGORITMA

(MENURUT DONALD E. KNUTH)

  1. Input (0 atau lebih)
  2. Output (minimal 1)
  3. Definiteness(pasti, tidak ambigu)
  4. Finiteness(ada batas, stopping role)
  5. Effectiveness(tepat dan efisien)

Contoh instruksi yang tidak efektif adalah: A = A + 0 atau A = A * 1


PENYAJIAN ALGORITMA
  1. Tulisan
  2. Gambar

PSEUDOCODE

Kode yang mirip dengan kode pemrograman yang sebenarnya seperti Pascal, atau C, sehingga lebih tepat digunakan untuk menggambarkan algoritma yang akan dikomunikasikan kepada pemrogram


CONTOH PSEUDOCODE

"Menghitung Luas Persegi Panjang"

  1. Input panjang
  2. Input lebar
  3. Luas = panjang x lebar
  4. Print luas lingkaran

FLOWCHART
  • Gambar atau bagan yang memperlihatkan urutan dan hubungan antar proses beserta pernyataannya
  • Gambaran ini dinyatakan dengan simbol
  • Setiap simbol menggambarkan proses tertentu
  • Antara proses digambarkan dengan garis penghubung
  • Memudahkan untuk melakukan pengecekan bagian-bagian yang terlupakan dalam analisis masalah
  • Berguna sebagai fasilitas untuk berkomunikasi antara pemrogram yang bekerja dalam tim suatu proyek

SIMBOL FLOWCHART

PEMBUATAN FLOWCHART
  • Hindari pengulangan proses yang tidak perlu dan logika yang berbelit sehingga jalannya proses menjadi singkat
  • Jalannya proses digambarkan dari atas ke bawah dan diberikan tanda panah untuk memperjelas
  • Sebuahflowchartdiawali dari satu titik START/MULAI dan diakhiri dengan END/SELESAI

CONTOH FLOWCHART

"Menghitung Luas Persegi Panjang"

CONTOH KASUS

"MENENTUKAN BILANGAN GENAP/GANJIL" ALGORITMA

  1. Masukkan sebuah bilangan
  2. Bagi bilangan tersebut dengan bilangan atau angka 2
  3. Jika bilangan menghasilkan sisa pembagian 0 maka genap
  4. Jika bilangan tidak menghasilkan sisa pembagian 0 maka ganjil

PSEUDOCODE
Read Bilangan
If bil mod 2 = 
0 then,
"Output Genap"
Else
"Output Ganjil"
End if

FLOWCHART

CONTOH KASUS "MENENTUKAN BILANGAN MAKSIMUM" ALGORITMA
  1. baca bilangan 1
  2. baca bilangan 2
  3. bandingkan bilangan 1 dan bilangan 2, kita ambil yang lebih besar, jika kedua bilangan tersebut sama besar, dapat kita ambil bilangan 1, dan sebut bilangan tersebut MAX
  4. baca bilangan 3
  5. bandingkan MAX dengan bilangan 3, dan pilih yang lebih besar, jika keduanya sama besar, pilih MAX dan sebut bilangan tersebut MAX
  6. keluarkan sebagai output MAX

PSEUDOCODE
Bil1,Bil2,Bil3 : integer {bilangan yang dicari maksimumnya}
MAX : integer {variabel bantu}
Deskripsi :
Read (Bil1,Bil2)
If Bil1 >= Bil 2 then
MAX = Bil1
Else MAX = Bil2
Read (Bil3)
If Bil3 >= MAX then
MAX = Bil3
Write (MAX)

FLOWCHART

LANGKAH DALAM PEMROGRAMAN KOMPUTER
  • Mendefinisikan masalah
  • Menemukan solusi
  • Memilih algoritma
  • Menulis program
  • Menguji program
  • Menulis dokumentasi
  • Merawat program