Jumat, 04 November 2016




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 tidaambigu
ü  FinitenessBerawal dan berakhir
ü  Input : Tidaharus ada data masukan yang dimasukkan dari luar
ü  Output : Paling tidak harus ada satu keluaran
ü  Effectiveness: Tiap instruksi harus efektif (tepat daefisien)
Bahasa pemrograman :
Bahasa komputer yang digunakan dalam penulisan program
Pemrogram/Programmer :
Orang yang membuat program komputer
Pemrograman :
Kegiatan merancang atau menulis program computer
KELOMPOK BAHASPEMROGRAMAN
1.   Bahasa Tingkat Rendah (Low Level Language)bahasa yang berorientasi pada mesin. Pemrogram dengan bahasa ini harus berpikir berdasarkan logika mesin berpikir, sehinggabahasa ini kurang fleksibel dan sulit dipahami. Contoh : Bahasa mesin, Bahasa rakitan (assembly).

  Bahasa Tingkat Menengah (Middle Level Language), bahasa pemrograman yang menggunakaaturan-aturan gramatikal dalam penulisaekspresi atapernyataan dengan standar yang mudah dipahami manusia serta memiliki instruksi-instruksi tertentu yanglangsung bisa diakses oleh komputer.
3.   Bahasa Tingkat Tinggi (Hight Level Language), bahasa pemrograman yang menggunakaaturan-aturan gramatikal dalam penulisan  ekspresi  atapernyataan dengan standar bahasa yanglangsung 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 Interpretedan Compiller.
•     Interpreter  merupakapenerjemah bahasa pemrograman yang menerjemahkan instruksi demiinstruksi pada saat eksekusi program. Pada saat penerjemahan interpreter akan memeriksasintaksis (sintak program), semantik (arti perintah), dan kebenaran logika. Jika ditemukan kesalahan sintaksis (syntak error) maka interpreter akan menampilkan pesan kesalahadaneksekusi progralangsung 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 dengamodul-modul lain yang berkaitan seperti data tentang karakteristik mesin, file-filepustaka atau objeprogram lainnyyang berkaitadengaobjek lainnya menghasilkan fileExecutablprogram yanakan 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 daefisiensi ruang
2.   Melakukaanalisa algoritma dari solusi-solusi yang dirancang
3.   Memilih metode struktur data yang tepat
Contoh: analisis kompleksitaalgoritma  (Asymptotic Analysis) untuk membandingkan duametode sorting, yakninsertion sort dan merge sort (akan dijelaskan di pertemuanberikutnya)
(3) Implementasi solusi
1.   Menggambar flowchart daatau menulis pseudocode
2.   Menerjemahkan ke dalam bahasa pemrograman tertentu
3.   Melakukan pengujian (debuggingdan perbaikan program
StandaProgram yang Baik
1. Standar PenyusunaProgra
      a.   Kebenaran logika
b.   Waktu untuk penulisan program
c.   Kecepatan maksimum eksekusi program d.   Ekspresi penggunaan memori
e.   Usefriendly (bisa dikembangkan programmedeveloper 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 pengerjaaprogram oleprogrammer lain)

STRUKTUR DASAR ALGORITMA
Algoritma berupa langkah-langkah penyelesaian suatu masalah. Langkah-langkah tersebut yaitu :
1.   Sequence Structure (struktur runtunan)
Digunakan untuk program yang instruksinysequential/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 dapamembuat notasi algoritmik yang berbedaNamun demikian ketaatan atas notasi perlu diperhatikan untuk menghindarkekeliruan.Beberapa notasi yang digunakan untuk menulialgoritma :
1)  Untaian kalimat deskriptif, dimana setiap langkah dinyatakan dengan bahasa yangamblang/jelas
2)  Menggunakan diagram alir (flow chart)
3)  Menggunakan pseudo-code
Pseudo : semu, tidak sebenarnya, pura-pura; adalah notasi yang menyerupai notasi bahasapemrograman tingkatinggi
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)  Bagjumlahnya dengan 3
4)  Tulis hasilnya

0 komentar:

Posting Komentar