Algoritma berasal dari kata algoris dan ritmis yang pertama kali diungkapkan oleh Abu Ja’far Mohammad Ibn Musa Al Khowarizmi (825M) dalam buku Al-Jabr Wa-al Muqobla.
Algoritma dapat didefinisikan sebagai urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis untuk mencapai tujuan tertentu. Kata logis berarti bahwa nilai kebenarannya harus dapat ditentukan, benar atau salah. Langkah-langkah yang tidak benar dapat memberikan hasil yang salah.
Contoh :
Misalkan terdapat dua buah gelas, gelas A dan gelas B. Gelas A berisi air berwarna merah dan gelas B berisi air berwarna biru, kita ingin menukarkan isi air kedua gelas tersebut, sehingga gelas A berisi air berwarna biru dan gelas B berisi air berwarna merah.
Algoritma diatas tidak menghasilkan pertukaran yang benar, langkah-langkahnya tidak logis, karena yang terjadi bukan pertukaran tetapi percampuran antara air di gelas A dengan air di gelas B. Sehingga algoritma Tukar Isi Gelas diatas Salah.
Dari permasalahan diatas algoritma yang benar adalah bahwa untuk menukarkan isi air pada gelas A dengan isi air pada gelas B maka dibutuhkan sebuah gelas bantuan yang dipakai untuk menampung salah satu air dalam gelas tersebut misalkan gelas C.
Algoritma : Rangkaian
langkah-langkah/alur pikiran
untuk menyelesaikan suatu masalah yang
sifatnya logis
dan sistimatis
Sifat-sifat
Algoritma
:
ü Definiteness (jelas) : Mudah dibaca/jelas
maksudnya (tiap
langkah jelas uraiannya)
dan
tidak
ambigu
ü Finiteness:
Berawal dan berakhir
ü Input :
Tidak harus ada data masukan yang dimasukkan
dari luar
ü Output
: Paling tidak harus ada satu
keluaran
ü Effectiveness: Tiap
instruksi harus efektif (tepat
dan efisien)
Bahasa pemrograman :
Bahasa komputer yang digunakan
dalam penulisan program
Pemrogram/Programmer :
Orang yang membuat
program
komputer
Pemrograman
:
Kegiatan
merancang atau menulis
program computer
KELOMPOK BAHASA
PEMROGRAMAN
1. Bahasa
Tingkat
Rendah (Low Level
Language), bahasa yang berorientasi pada mesin. Pemrogram dengan
bahasa ini harus berpikir
berdasarkan logika mesin
berpikir, sehingga bahasa ini kurang
fleksibel dan sulit dipahami. Contoh : Bahasa mesin,
Bahasa rakitan (assembly).
Bahasa
Tingkat
Menengah (Middle Level
Language),
bahasa pemrograman yang
menggunakan aturan-aturan gramatikal dalam
penulisan ekspresi atau
pernyataan dengan standar yang mudah
dipahami manusia serta memiliki instruksi-instruksi tertentu yang langsung bisa diakses
oleh komputer.
3. Bahasa Tingkat Tinggi (Hight Level
Language),
bahasa pemrograman yang menggunakan aturan-aturan gramatikal dalam
penulisan ekspresi atau
pernyataan
dengan standar bahasa yang langsung dapat dipahami oleh manusia. Contoh : Pascal, C/C++, Delphi, Visual Basic
Interpreter dan Compiller
Agar komputer memahami program yang disusun
dengan bahasa pemrograman, maka
dibutuhkan suatu penerjemah yaitu Interpreter
dan
Compiller.
• Interpreter
merupakan
penerjemah
bahasa pemrograman yang menerjemahkan instruksi
demi instruksi pada saat eksekusi program.
Pada saat penerjemahan interpreter akan memeriksa sintaksis (sintak
program), semantik (arti
perintah), dan kebenaran logika. Jika
ditemukan kesalahan
sintaksis (syntak error) maka interpreter
akan
menampilkan pesan kesalahan
dan
eksekusi program
langsung terhenti.
• Compiler merupakan
penerjemah
bahasa pemrograman yang menerjemahkan
instruksi-instruksi dalam satu
kesatuan modul ke dalam
bahasa mesin (objek
program), kemudian objek program akan mengalami linking
yang berfungsi
untuk menggabungkan modul-modul tersebut
dengan modul-modul lain yang berkaitan
seperti
data tentang karakteristik
mesin,
file-file pustaka atau objek
program lainnya yang berkaitan
dengan objek
lainnya menghasilkan file
Executable program yang
akan
dieksekusi oleh komputer.
Langkah Pemecahan Masalah
(1) Inisiasi
solusi secara umum:
1.
Deskripsi masalah,
2. Merancang algoritma-algoritma untuk memecahkan masalah
(bisa lebih dari satu solusi untuk satu permasalahan)
dan
3.
Menekankan pada ketepatan solusi
(2) Analisa algoritma :
1.
Menekankan pada efisiensi
seperti efisiensi
waktu dan efisiensi ruang
2.
Melakukan analisa algoritma dari
solusi-solusi yang dirancang
3.
Memilih metode struktur data yang tepat
Contoh: analisis kompleksitas
algoritma
(Asymptotic Analysis) untuk membandingkan
dua metode sorting, yakni insertion sort dan merge sort (akan dijelaskan
di pertemuan berikutnya)
(3) Implementasi solusi
1.
Menggambar flowchart
dan atau menulis pseudocode
2.
Menerjemahkan
ke dalam
bahasa pemrograman
tertentu
3.
Melakukan pengujian (debugging)
dan
perbaikan program
Standar
Program yang Baik
1. Standar
Penyusunan Program a. Kebenaran logika
b.
Waktu untuk penulisan program
c. Kecepatan maksimum eksekusi program d.
Ekspresi penggunaan
memori
e. User friendly (bisa dikembangkan programmer developer lain)
f. Portability (instalasi dan inisiasi
mudah)
g. Pemrograman
Modular (memudahkan perawatan)
2. Standar Perawatan Program
a. Dokumentasi
pemakaian untuk pengguna
b. Dokumentasi pengembangan
untuk programmer (biasanya berbentuk
komentar- komentar pada source code program)
c. Konvensi
penulisan instruksi (memudahkan pengerjaan program oleh programmer
lain)
STRUKTUR DASAR ALGORITMA
Algoritma
berupa langkah-langkah
penyelesaian suatu masalah. Langkah-langkah
tersebut yaitu
:
1. Sequence Structure (struktur runtunan)
Digunakan untuk program yang instruksinya sequential/urutan.
2.
Selection Structure (struktur percabangan)
Digunakan untuk program yang menggunakan pilihan/penyeleksian kondisi
.
3.
Repetition Structure (struktur perulangan)
Digunakan untuk program yang instruksinya akan
dieksekusi berulang-ulang.
NOTASI ALGORITMIK
Notasi Algoritmik
bukan notasi bahasa pemrograman sehingga
siapapun dapat
membuat
notasi algoritmik yang berbeda. Namun demikian ketaatan atas notasi
perlu diperhatikan untuk menghindari kekeliruan.Beberapa notasi yang digunakan untuk menulis algoritma
:
1) Untaian
kalimat
deskriptif, dimana setiap langkah dinyatakan dengan
bahasa yang gamblang/jelas
2) Menggunakan diagram alir
(flow chart)
3) Menggunakan pseudo-code
Pseudo : semu, tidak
sebenarnya,
pura-pura;
adalah notasi yang menyerupai notasi bahasa pemrograman tingkat tinggi
Contoh Penyajian Algoritma
Contoh 1 : Algoritma untuk mencari
rata-rata dari 3 bilangan bulat yang diinputkan:
a. Algoritma dengan struktur
bahasa Indonesia
1) Baca bilangan a, b, dan
c
2) Jumlahkan ketiga bilangan tersebut
3) Bagi jumlahnya dengan 3
4) Tulis hasilnya
Lihat Selengkapnya bisa download disini





