Apakah Algoritma ?

Berasal dari kata algorism yang dinisbatkan kepada nama penulis buku Arab yang terkenal, yaitu Abu Ja’far Muhammad ibnu Musa al-Khuwarizmi. Perubahan dari kata algorism menjadi algorithm muncul karena kata algorism sering dikelirukan dengan arithmetic, sehingga akhiran -sm berubah menjadi thm. Maka lambat laun kata algorithm berangsur-angsur dipakai sebagai metode perhitungan (komputasi) secara umum sehingga kehilangan makna aslinya. Dalam bahasa Indonesia kata algorithm diserap menjadi algoritma.

Definisi Algoritma

  • Langkah-langkah yang dilakukan agar solusi masalah dapat diperoleh
  • Suatu prosedur yang merupakan urutan langkah-langkah yang berintegrasi
  • Suatu metode khusus yang digunakan untuk menyelesaikan suatu masalah yang nyata (Webster Dictionary)

Tahap Penyelesaian Masalah

Kriteria Pemilihan Algoritma

  1. Ada Output
  2. Efektifitas dan efisiensi
  3. Jumlah langkahnya berhingga
  4. Berakhir …..( Semi Algoritma )
  5. Terstruktur

Suatu Algoritma yang terbaik (The Best) : “Suatu algoritma harus menghasilkan output yang tepat guna (efektif) dalam waktu yang relatif singkat dan penggunaan memori yang relatif sedikit (efisiensi) dengan langkah yang berhingga dan prosedurnya berakhir, baik dalam keadaan diperoleh suatu solusi ataupun tidak ada solusinya.”

Contoh :

A. Sebuah Prosedur ketika akan mengirimkan surat kepada teman :

  1. Tulis surat pada secarik kertas surat
  2. Ambil sampul surat dalam amplop
  3. Masukkan surat ke dalam amplop
  4. Tutup amplop surat dengan lem perekat
  5. Tulis alamat surat yang dituju, ika tidak ingat, lebih dahulu ambil buku alamat dan cari alamat yang dituju, lalu tulis alamat tersebut pada amplop surat
  6. Tempelkan perangko pada amplop surat
  7. Bawa surat ke kantor pos untuk diserahkan pada pegawai pos atau menuju bis surat untuk memasukkan surat ke dalam kotak/bis surat

B. Sebuah prosedur untuk masalah menentukan akar kwadrat dari suatu bilangan Bulat Positif yang diinput :

  1. Baca bilangan bulat positif yang diinput, sebut saja sebagai A
  2. Dinyatakan nilai B adalah 0 (nol)
  3. Hitung Nilai C yang berisikan Nilai B dikalikan Nilai A
  4. Jika Nilai C sama dengan nilai A, maka nilai B adalah akar dari nilai A, lalu stop
  5. Jika tidak, maka nilai B akan bertambah a
  6. Kembali ke langkah pada no. 3

Tahapan Analisa Algoritma

Bagaimana merencanakan suatu algoritma

Bagaimana menyatakan suatu algoritma

Dengan bahasa Semu (pseudocode)

contoh :

Untuk menghitung Luas Segitiga :

  1. Masukkan Nilai Alas
  2. Masukkan Nilai Tinggi
  3. Hitung Luas = (Alas * Tinggi) / 2
  4. Cetak Luas

Dengan Diagram Alur atau flowchart

contoh :

Dengan Statement program / penggalan program

contoh :

  1. Read Alas
  2. Read Tinggi
  3. Luas = (Alas*Tinggi)/2
  4. Write(Luas)

Bagaimana validitas suatu rpgram

Bagaimana menganalisa suatu program

Bagaimana menguji program dari suatu algoritma

Tahap Proses Uji Algoritma :

  • Fase debugging
  • Fase Profilling

Analisis Suatu Algoritma
(Untuk melihat faktor efisiensi dan efektifitas dari algoritma tersebut) dapat dilakukan terhadap suatu algoritma dengan melihat pada :

1. Waktu Tempuh (Running Time) dari suatu Algoritma

Hal-hal yang mempengaruhi daripada waktu tempuh adalah :

  1. banyaknya langkah
  2. besar dan jenis input data
  3. jenis operasi
  4. komputer dan kompilator

2. Jumlah memori yang digunakan

Sifat-sifat Algoritma

  1. Banyaknya langkah Instruksi harus berhingga
  2. Langkah atau instruksi harus jelas
  3. Proses harus jelas dan mempunyai batasan
  4. Input dan output hatus mempunyai batasan
  5. Efektifitas
  6. Adanya Batasan Ruang Lingkup

Latihan : (Gunakan bahasa sehari-hari)

  1. Buat langkah untuk penggantian ban mobil yang pecah
  2. Buat langkah yang dilakukan dalam membuat makanan Nasi Goreng