Rabu, 04 Oktober 2017

konsep dasar algoritma



 ALGORITMA
Definisi Algoritma
Ditinjau dari asal usul katanya kata Algoritma sendiri mempunyai sejarah yang aneh. Orang hanya  menemukan  kata  Algorism  yang  berarti  proses  menghitung  dengan  angka  arab. Anda dikatakan Algorist jika anda menghitung menggunakan Angka Arab. Para ahli bahasa berusaha menemukan asal kata ini namun hasilnya kurang memuaskan. Akhirnya para ahli sejarah matematika menemukan asal kata tersebut yang berasal dari nama seorang ahli matematika dari Uzbekistan Abu Abdullah Muhammad Ibnu Musa Al‐Khuwarizmi (770‐840). Al‐Khuwarizmi dibaca orang barat menjadi Algorism. Al‐Khuwarizmi menulis buku yang   berjudul   Kitab   Al   Jabar   Wal‐Muqabala   yang   artinya   Buku   pemugaran   dan pengurangan” (The book of restoration and reduction). Dari judul buku itu kita juga memperoleh akar kata “Aljabar” (Algebra). Perubahan kata dari Algorism menjadi Algorithm muncul karena kata Algorism sering dikelirukan dengan Arithmetic, sehingga akhiran  –sm  berubah  menjadi  –thm.  Karena  perhitungan  dengan  angka  Arab  sudah menjadi  hal  yang  biasa.  Maka  lambat  laun  kata  Algorithm  berangsur‐angsur  dipakai sebagai metode perhitungan (komputasi) secara umum, sehingga kehilangan makna kata aslinya. Dalam Bahasa Indonesia, kata Algorithm diserap menjadi Algoritma.

Kita bisa mendefinisikan algoritma sebagai berikut:

Algoritma adalah logika, metode dan tahapan (urutan) sistematis yang digunakan untuk memecahkan suatu permasalahan.”

Dan kamus besar bahasa Indonesia (Balai Pustaka 1988) secara formal mendefinisikan algoritma sebagai berikut:
Algoritma adalah urutan logis pengambilan putusan untuk pemecahan masalah.”

Hubungan Algoritma dan Struktur Data

Program adalah kumpulan instruksi komputer, sedangkan metode dan tahapan sistematis dalam  program  adalah  algoritma.  Program  ini  ditulis  dengan  menggunakan  bahasa pemrograman.  Jadi  bisa  kita  sebut  bahwa  program  adalah  suatu  implementasi  bahasa pemrograman. Beberapa pakar memberi formula bahwa:
program = struktur data + algoritma
Bagaimanapun juga struktur data dan algoritma berhubungan sangat erat pada sebuah program. Algoritma yang baik tanpa pemilihan struktur data yang tepat akan membuat program menjadi kurang baik, semikian juga sebaliknya. Menilai Sebuah Algoritma ketika manusia berusaha memecahkan masalah, metode atau teknik yang digunakan untuk memecahkan masalah kemungkinan bisa lebih dari satu. Dan kita memilih mana yang terbaik diantara teknik‐teknik itu. Hal ini sama juga dengan algoritma, yang memungkinkan suatu permasalahan dipecahkan dengan metode dan logika yang berlainan. Lalu bagaimana mengukur mana algoritma yang terbaik ? Beberapa  persyaratan untuk menjadi algoritma yang baik adalah:

    Tingkat kepercayaannya tinggi (realibility). Hasil yang diperoleh dari proses harus berakurasi tinggi dan benar.
    Pemrosesan yang efisien (low cost). Proses harus diselesaikan secepat mungkin dan jumlah kalkulasi yang sependek mungkin.
    Bersifat general. Bukan sesuatu yang hanya untuk menyelesaikan satu kasus saja,

tapi juga untuk kasus lain yang lebih general.

    Bisa dikembangkan (expandable). Haruslah sesuatu yang dapat kita kembangkan lebih jauh berdasarkan perubahan requirement yang ada.
    Mudah dimengerti. Siapapun yang melihat, dia akan bisa memahami algoritma
      anda. Sulit dimengertinya suatu program akan membuat sulit pengelolaan.
    Portabilitas  yang  tinggi  (portability).  Bisa  dengan  mudah  diimplementasikan  di berbagai platform komputer.

Contoh Algoritma dan Implementasinya

Sebagai contoh sederhana, mari kita berlatih melihat permasalahan, mencoba menyusun algoritma, dan menerapkan dalam bahasa Pascal.

Permasalahan :
Bagaimana  mengkonversi  nilai  yang  diraih  mahasiswa  peserta  kuliah  Algoritma  dan Struktur Data II menjadi Huruf Mutu (A / B / C / D / E) ?
Untuk memecahkan masalah tersebut maka dapat disusun algoritma sebagai berikut :
1.   Buat satu variable (misalnya Nilai)
2.   Bandingkan nilai dengan rentang huruf mutu dengan menggunakan selection
3.   Tampilkan huruf mutu
Lalu  jika  diimplementasikan  dengan  menggunakan  program  Pascal,  maka  dibawah  ini adalah listing programnya :
{ Program Huruf Mutu }
Uses crt;
Var n :
integer; Begin 

Clrscr;
Write(‘Nilai Anda : 
‘); Repeat

GoToXY(13,1); ClrEol; Read(n); 
Until (n>=0) and (n<=100); 
Case n of

85 . . 100 : write(‘ Anda mendapat Huruf Mutu A ‘);
75 . . 84   : write(‘ Anda mendapat Huruf Mutu B ‘);
65 . . 74   : write(‘ Anda mendapat Huruf Mutu C ‘); 
Else write(‘ Anda mendapat Huruf Mutu D ‘);

End. 
End; ReadKey;
Output :

Nilai Anda : 90

Anda mendapat Huruf Mutu A

Algoritma Tidak Tergantung Bahasa Pemrograman Dan Mesin Komputer

Notasi   Algoritma   dapat   diterjemahkan   ke   dalam   berbagai   bahasa   pemrograman. Analoginya sama dengan resep membuat kue. Sebuah resep dapat ditulis dalam bahasa apapun. Bahasa Jepang, Inggris, Perancis, Indonesia, dan lain sebagainya. Apapun bahasanya,  kue  yang  dihasilkan  tetap  sama  asalkan  semua  aturan  pada  resep  diikuti.
Mengapa  demikian?  Karena  setiap  juru  masak  (sebagai  pemroses)  dapat  melakukan operasi dasar yang sama, seperti mengocok telur, menimbang berat gula, dan lain sebagainya. Demikian juga halnya dengan komputer. Meskipun setiap komputer berbeda teknologinya,  tetapi  secara  umum  semua  komputer  dapat  melakukan  operasi‐operasi dasar dalam pemrograman seperti operasi pembacaan data, operasi perbandingan, operasi aritmatika, dan sebagainya. Perkembangan teknologi komputer tidak mengubah operasi‐ operasi dasar itu, yang berubah hanyalah kecepatan, biaya, atau tingkat ketelitian. Pada sisi lain  setiap  program  dalam  bahasa  tingkat  tinggi  selalu  diterjemahkan  kedalam  bahasa mesin sebelum akhirnya dikerjakan oleh CPU. Setiap instruksi dalam bahasa mesin menyajikan operasi dasar yang sesuai, dan menghasilkan efek yang sama pada setiap komputer.

0 komentar:

Posting Komentar

Template by:

Free Blog Templates