Sejarah Algoritma dan Pemrograman

SEJARAH ALGORITMA

Ahli Sejarah Matematika menemukan asal kata algoritma tersebut yang berasal dari nama penulis buku arab yang terkenal yaitu Abu Ja’far Muhammad Ibnu Musa Al-Khuwarizmi. 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 itulah diperoleh akar kata “Aljabar” (Algebra).
Perubahan kata dari algorism menjadi algorithm muncul karena kata algorism sering dikelirukan dengan arithmetic, sehingga akhiran usm berubah menjadi uthm.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.


ALGORITMA
Algoritma adalah urutan langkah logis yang digunakan untuk menyelesaikan suatu masalah. Singkatnya, sebuah masalah harus diselesaikan dengan beberapa langkah yang logis. Dalam kehidupan sehari-hari, contoh algoritma bisa digambarkan dengan berbagai macam hal. Salah satu contohnya adalah aktivitas memasak air. 
Algoritmanya tentu saja berhubungan dengan aktivitas dalam memasak air. Misalnya saja yaitu siapkan panci yang sesuai, masukkan air ke dalam panci tersebut, tutup panci, letakkan panci pada kompor, hidupkan kompor dengan nyala api sedang, apabila air mendidih, matikan kompor, angkat panci dari kompor. Deretan langkah tersebut merupakan algoritma dari akitivitas memasak air. Karena urutan yang jelas, langkah diatas dianggap proses yang logis. 
Sementara itu, di dalam ilmu komputer dan matematika, algoritma didefinisikan sebagai prosedur dari berbagai macam langkah penghitungan, penalaran secara otomatis, sampai pemrosesan data. Algoritma juga diartikan sebagai metode yang diekspresikan lewat rangkaian dan instruksi yang dijabarkan untuk menghitung. Secara garis besar, algoritma dimulai dengan imput dan kondisi awal, deskripsi, eksekusi, dan menghasilkan output.

Ciri Algoritma
Lima ciri yang harus dipunyai algoritma agar menjadi algoritma yang benar adalah sebagai berikut.
  1. Algoritma harus berhenti setelah mengerjakan langkah terbatas. Dalam hal ini, jika langkah-langkah yang ada telah dipenuhi dan telah dieksekusi, algortima haruslah berhenti.
  2. Setiap langkah harus didefinisikan agar tidak memiliki arti dua (ambiguous).
  3. Algoritma mempunyai nol atau lebih masukan (input).
  4. Algoritma mempunyai nol atau lebih keluaran (output).
  5. Algoritma haruslah efektif, yakni mempunyai langkah yang sederhana agar dapat dikerjakan dengan waktu yang efektif.

Pertimbangan dalam pemilihan algoritma
Dalam memilih dan membuat algoritma,kita harus melakukan pertimbangan dan pemilihan, antara lain:


1.Algoritma haruslah benar.
Artinya algoritma akan memberikan keluaran yang dikehendaki dari sejumlah masukan yang diberikan. Tidak peduli sebagus apapun algoritma, kalau memberikan keluaran yang salah, pastilah algoritma tersebut bukanlah algoritma yang baik.


2. kita harus mengetahui seberapa baik hasil yang dicapai oleh algoritma tersebut.
Hal ini penting terutama pada algoritma untuk menyelesaikan masalah yang memerlukan aproksimasi hasil (hasil yang hanya berupa pendekatan).Algoritma yang baik harus mampu memberikan hasil yang sedekat mungkin dengan nilai yang sebenarnya.


3. Efisiensi algoritma.
Efisiensi algoritma dapat ditinjau dari 2 hal yaitu efisiensi waktu dan memori. Meskipun algoritma memberikan keluaran yang benar (paling mendekati), tetapi jika kita harus menunggu berjam-jam untuk mendapatkan keluarannya, algoritma tersebut biasanya tidak akan dipakai, setiap orang menginginkan keluaran yang cepat. Begitu juga dengan memori, semakin besar memori yang terpakai maka semakin buruklah algoritma tersebut.




Comments

Popular posts from this blog

Rekursif : Faktorial, Fibonacci, Deret.

Masalah Klasik Sinkronisasi

Pertemuan 7 : Hubugan Algoritma Ostrich dengan Deadlock, Preemptive dan Non Preemptive & Alur Graph