Senin, 26 Juli 2010

Algoritma Session 01

DEFINISI ALGORITMA

Terdapat beberapa definisi mengenai kata Algoritma :
  1. Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis (Rinaldi Munir :2002).
  2. Algoritma adalah urutan logis pengambilan keputusan untuk pemecahan masalah (KBBI :1988).
  3. Algoritma adalah suatu himpunan hingga dari instruksi-instruksi yang secara jelas memperinci langkah-langkah proses pelaksanaan, dalam pemecahan suatu masalah tertentu, atau suatu kelas masalah tertentu, dengan dituntut pula bahwa himpunan instruksi tersebut dapat dilaksanakan secara mekanik (Team Gunadarma :1988).
CIRI ALGORITMA

Menurut Donald E. Knuth, algoritma mempunyai lima ciri penting :
  1. Algoritma harus berhenti setelah mengerjakan sejumlah langkah terbatas.
  2. Setiap langkah harus didefinisikan secara tepat dan tidak berarti dua.
  3. Algoritma memiliki nol atau lebih masukan (input).
  4. Algoritma mempunyai nol atau lebih keluaran (output).
  5. Algoritma harus sangkil (efektif)
NOTASI PENULISAN

Di bawah ini dikemukakan beberapa notasi yang digunakan dalam penulisan algoritma, antara lain :
  • Notasi yang dinyatakan dalam kalimat deskriptif
Dengan notasi ini, deskripsi setiap langkah dijelaskan dengan bahasa yang jelas. Notasi ini cocok untuk algoritma yang pendek, namun untuk masalah yang algoritmanya besar, notasi ini jelas tidak efektif. Selain itu, pengkonversian notasi algoritma ke notasi bahasa pemrograman cenderung relatif sukar.
Contoh :
Algoritma Bilangan_Maksimum
Diberikan tiga buah bilangan bulat. Carilah bilangan bulat maksimum diantara ketiga bilangan tersebut.
Deskripsi :
(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
  • Notasi yang dinyatakan dengan pseudo code
Pseudocode adalah notasi yang menyerupai bahasa pemrograman tingkat tinggi. Keuntungan menggunakan notasi pseudo code adalah kemudahan mengkonversinya lebih tepat yang disebut mentranslasi ke notasi bahasa pemrograman, karena terdapat korespondensi antara setiap pseudo code dengan notasi bahasa pemrograman.
Contoh :
Algoritma Bilangan_Maksimum
{ Dibaca tiga buah bilangan dari piranti masukan. Carilah bilangan bulat maksimum diantara ketiga bilangan tersebut }
Deklarasi :
Bil1, Bil2, Bil3 : integer {bilangan yang dicari maksimumnya}
MAX : integer {variabel bantu}
Deskripsi :
Read (Bil1,Bil2)
If Bil1 >= Bil 2 then
Bil1 = MAX
Else Bil2 = MAX
Read (Bil3)
If Bil3 >= MAX then
Bil3 = MAX
Write (MAX)
  • Notasi yang dinyatakan dalam flow chart
Sama halnya dengan notasi deskriptif, notasi ini cocok untuk algoritma yang pendek, namun untuk masalah yang algoritmanya besar, notasi ini jelas tidak efektif. Selain itu, pengkonversian notasi algoritma ke notasi bahasa pemrograman cenderung relatif sukar.
Contoh : Algoritma Bilangan_Maksimum dalam flow char


TEKS ALGORITMA
Pada dasarnya, teks algoritma disusun atas tiga bagian (blok) : bagian judul (header) agoritma, bagian deklarasi, dan bagian deskripsi. Setiap bagian dapat diberi komentar untuk memperjelas maksud teks yang dituliskan. Komentar biasanya ditulis menggunakan kurung kurawal.
  • Judul Algoritma
Judul algoritma adalah bagian yang terdiri atas nama algoritma dan penjelasan (spesifikasi) tentang algoritma tersebut. Nama algoritma sebaiknya singkat, namun cukup menggambarkan apa yang akan dilakukan oleh algoritma tersebut. Di bawah nama algoritma disertai dengan penjelasan singkat (intisari) tentang apa yang dilakukan oleh algoritma. Penjelasan di bawah nama algoritma sering dinamakan juga spesifikasi algoritma. Algoritma harus ditulis sesuai dengan spesifikasi yang didefinisikan.
Contoh :
Algoritma Luas_Lingkaran
{ Menghitung luas lingkaran untuk ukuran jari-jari tertentu. Algoritma menerima masukan jari-jari lingkaran, menghitung luasnya, lalu cetak luasnya ke piranti keluaran }
  • Deklarasi
Di dalam algoritma, deklarasi nama adalah bagian untuk mendefinisikan semua nama yang dipakai di dalam algoritma. Nama tersebut dapat berupa nama terapan, nama peubah, nama tipe, nama prosedur dan nama fungsi.
Contoh :
Deklarasi :
Panjang = integer {tipe data bilangan bulat}
Lebar = integer
Luas = real {tipe data bilangan pecahan}
  • Deskripsi
Deskripsi adalah bagian terpenting dari struktur algoritma. Bagian ini berisi uraian langkah-langkah penyelesaian masalah. Langkah-langkah ini dituliskan dengan notasi yang lazim dalam penulisan algoritma. Setiap langkah algoritma dibaca dari langkah paling atas hingga langkah paling bawah. Urutan penulisan menentukan urutan pelaksanaan perintah.
Contoh :
Deskripsi :
Read (nama)
Read (NIM)
Read (nilai)
If (nilai <>
Grade = E
Else if (nilai >= 45) and (nilai <>
Grade = D
Else if (nilai >= 60) and (nilai <>
Grade = C
Else if (nilai >= 70) and (nilai <>
Grade = B
Else
Grade = A
Write (nama)
Write (NIM)
Write (nilai)

{-------------------------------------------------}
- Original file name : Pengantar Dasar Algoritma -
- Author : Yoga Prihastomo -
- Subject : Algoritma & Pemrograman -
{-------------------------------------------------}

Download original file disini