Kamis, 30 Oktober 2008

Pengertian Algoritma


Dosen : Teguh Cahyono, ST.M.Kom

Kata algoritma sendiri berasal dari kata algorism yang berarti proses sebagai metode perhitungan komputasi ( Urutan logis pengambilan keputusan intuk penyelesaian masalah )
Penemu : Abu Abdullah Muhammad Ibnu Musa Al-Khuwarizm.
Pada tahun 1950, algoritma sering dihubungkan dengan “ algoritma Eucledean “ yaitu proses untuk menentukan pembagi bersama terbesar dari dua bilangan bulat. Yaitu ;
diberikan dua buah bilangan bulat positif m dan n ( dalam hal ini m >=n), carilah pembagi bersama terbesar,pbt, dari kedua bilangan tersebut, yaitu bilangan bulat positif terbesar yang habis membagi m dan n.
E1 bagilah m dengan n dan misalkan hasil baginya adalah r.
E2 apakah r = 0 ? Jika r=0, algoritma selesai, n adalah jawabannya , tetapi jika tidak maka dilanjutkan ke langkah E3.
E3 ganti nilai m dengan nilai n, nilai n dengan nilai r, dan ulang kembali kelangkah E1.

Menurut Donald E. Knuth dalam bukunya yang berjudul the art of computer programmming, algoritma harus mempunyai lima ciri :
  • Algoritma harus berhenti setelah mengerjakan sejumlah langkah terbatas.
  • Setiap langkah harus didefinisikan dengan tepat dan tidak berarti-dua.
  • Algoritma memiliki 0 atau lebih masukan (input). Masukan ialah besaran yang diberikan kepada algoritma sebelum algoritma mulai bekerja.
  • Algoritma mempunyai satu atau lebih keluaran (output). Keluaran ialah besaran yang memiliki hubungan dengan masukan
  • Algoritma harus sangkil ( efective ).Setiap langkah harus sederhana sehingga dapat dikerrjakan dengan sejumlah waktu yang masuk akal.
Proses, Langkah dan Aksi
  1. Algoritma disusun oleh sederetan langkah yg logis.
  2. Tiap langkah tsb mengerjakan suatu tindakan/aksi.
  3. to : keadaan sebelum aksi dikerjakan aksi, t1 : keadaan setelah aksi dikerjakan

Algoritma Euclidean dpt dipandang sebagai sebuah proses mencari pembagi bersama terbesar dari dua buah bilangan bulat positif, m dan n.
  • to : m dan n sudah terdefinisi nilainya, m>0, n>0 dan m>n
  • E.1.Bagilah m dengan n dan misalkan r adalah sisanya
  • t1 : r adalah sisa hasil bagi, 0≤ r < n
  • t0 : r adalah sisa hasil bagi, 0≤ r < n
  • E.2. Apakah r = 0? Jika r = 0, algoritma selesai; n adalah jawabannya, tapi jika tidak, lanjutkan ke langkah E3.
  • t1 : r = 0 (n adalah jawabannya) atau r ≠ 0
  • t0 : r ≠ 0
  • E.3. Ganti nilai m dengan nilai n, nilai n dengan nilai r dan ulang kembali ke langkah E1.
  • t1 : m = n dan n = r
Analisis yang tidak tajam terhadap permasalahan dapat menghasilkan algoritma yang tidak benar untuk beberapa kasus.
Contoh : Menghitung lama percakapan di wartel.
Algoritma menghitung selisih dua buah jam
  • A1. baca jam mulai percakapan, misalkan j1:m1:d1
  • A2. baca jam selesai percakapan, misalkan j2:m2:d2
  • A3. hitung selisih (j2:m2:d2) dengan (j1:m1:d1)
  • A4. tulis selisih langkah A3.
Apabila penelepon mulai percakapan pukul 21:40:12 dan selesai pukul 22:58:48, maka lama percakapan adalah (22:58:48)-(21:40:12) = (1:18:36)
kasus lain: mulai percakapan = (21:50:58)
selesai percakapan = (23:18:10)
Selisihnya bukan (23:18:10) - (21:50:58) = (2:32:-48)
Maka harus dikonversi semua jam ke detik
23:18:10 = 83890 detik
21:50:58 = 78658 detik -
Selisih = 5232 detik = (1:27:22)

Dengan demikian, algoritma menghitung selisih dua buah jam diperhalus menjadi :
Algoritma menghitung selisih dua buah jam
  • A1. baca jam mulai percakapan, misalakan j1:m1:d1
  • A2. baca jam selesai percakapan, misalkan j2:m2:d2
  • A3.1 konversi j1:m1:d1 ke dalam jumlah detik
  • A3.2 konversi j2:m2:d2 ke dalam jumlah detik
  • A3.3 kurangi hasil langkah A3.2 dengan hasil langkah A3.1
  • A3.4 konversi hasil langkah A3.3 ke dalam jam:menit:detik
  • A4. tulis hasil langkah A3.4
Langkah A3 telah diperhalus menjadi beberapa up – aksi (subaction) A3.1, A3.2, A3.3 dan A3.4.
Pendekatan desain algoritma seperti ini dinamakan penghalusan langkah atau perancangan puncak-turun (top-down design).
Pendekatan ini sangat bermanfaat dalam membuat algoritma untuk masalah yg cukup rumit atau kompleks.
Penghalusan langkah terus berlanjut sampai tiap langkah sudah cukup rinci dan tepat untuk dilaksanakan pemroses.
Dengan memperjelas langkah A3.1, A3.2, A3.3 dan memperhalus lagi langkah A3.4, maka :
Algoritma menghitung selisih dua jam
  • A1. baca jam mulai percakapan, misalkan j1:m1:d1
  • A2. baca jam selesai percakapan, misalkan j2:m2:d2
  • A3.1 hitung p = j1 x 3600 + m1 x 60 + d1
  • A3.2 hitung q = j2 x 3600 + m2 x 60 + d2
  • A3.3 hitung r = q – p {selisih jumlah detik kedua jam}
  • A3.4.1 hitung s = r/3600, misalkan sisanya adalah t {s adalah selisih dalam jam}
  • A3.4.2 hitung u = t/60, misalkan sisanya adalah v {u adalah selisih dalam menit, v adalah selisih dalam detik}
  • A4. tulis s:u:v {selisih kedua jam dalam jam:menit:detik}
Baca juga

Tidak ada komentar:

Posting Komentar



Galery Semester

- Pendidikan Pancasila

- Pendidikan Agama (Etika Muslim)

- Matematika Bisnis

- Algoritma dan Struktur Data

- Pemrograman Komputer I

- Bahasa Inggris I

- Elektronika Dasar

- Pengantar Manajemen

- Pengantar Teknologi Informasi

- Konsep Sistem Informasi

- Struktur Data

- Lingkungan Bisnis

- Komunikasi Data

- Bahasa Inggris II

- Teknik Digital

- Organisasi Komputer

- Sistem Operasi

- Statistik Dasar

- Kepemimpinan

- Matematika Diskrit - Mikroprosesor

- Pemrograman

- Tugas Pemrograman

- Pengolahan Basis Data

- Bahasa Inggris III

- Praktikum Hardware / Software

- Jaringan Komputer I

- Komputer Grafis

- E-Commerse

- Praktikum Elektronika Digital

- Jaringan Komputer II

- Manajemen Sains

- Multimedia

- Pemrograman Basis Data

- Pemrograman Komputer II

- Sistem Informasi Manajemen

 Ex-selo Band with girl vocal,and then who is she...?
 


ShoutMix chat widget



free counters
This Blog is proudly powered by Blogger.com | Template by Angga Leo Putra | Modif By Sava