Sejarah Algoritma dan Definisinya

Buat kamu yang belajar matematika, harus
tahu siapa yang pertama kali menemukan rumus hitungan algoritma. Dialah
Abu Abdullah Muhammad Ibn Musa al-Khawarizmi atau kamu mungkin pernah
mendengarnya dengan nama al-Khawarizmi atau kheva yang terletak
disebelah selatan sungai Oxus dan sekarang kita mengenalnya dengan
negara Uzbekistan. Ia wafat pada 840M. Ilmuan Muslim yang jenius itu
telah banyak menghasilkan risalah Artimatika. Kitabnya yang terkenal
adalah al-Jam’u wat-Tafriiq bil Hisab al-Hindu,AlJabra ,al-Maqala Fi
Hisab al-Jabr wal Muqabilah.
Selain itu Al-Khawarizmi juga telah menghasilkan buku geografi yang menumental, al-Ardh yang memuat peta-peta dunia. Hasil karya beliau banyak dijadikan pegangan dasar diuniversitas-Universitas Eropa hingga abad ke-16, selain telah banyak diterjemahkan dalam bahasa Inggris dan Latin.
Jadi semestinya, umat Islamlah yang harus maju dalam IPTEK. Karena ilmuan brillian yang lebih hebat dari seorang einsten,banyak lahir dari kaum Muslim. (Sabili)
Apakah Itu Algoritma?
Skizomia Blog
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 penulis
buku arab yang terkenal yaitu Abu Ja’far Muhammad Ibnu Musa
Al-Khuwarizmi. Skizomia Blog
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, Skizomia Blog
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.
Definisi Algoritma
“Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis dan logis”.
Skizomia Blog
Kata
Logis merupakan kata kunci dalam Algoritma. Langkah-langkah dalam
Algoritma harus logis dan harus dapat ditentukan bernilai salah atau
benar.Algoritma Merupakan Jantung Ilmu Informatika
Algoritma
adalah jantung ilmu komputer atau informatika. Banyak cabang ilmu
komputer yang diacu dalam terminologi algoritma. Namun, janganSkizomia Blog
beranggapan algoritma selalu identik dengan ilmu komputer saja.
Dalam
kehidupan sehari-haripun banyak terdapat proses yang dinyatakan dalam
suatu algoritma. Cara-cara membuat kue atau masakan yang dinyatakan Skizomia Blog
dalam suatu resep juga dapat disebut sebagai algoritma. Pada setiap
resep selalu ada urutan langkah-lankah membuat masakan. Bila
langkah-langkahnya tidak logis, tidak dapat dihasilkan masakan yang
diinginkan.
Ibu-ibu yang mencoba suatu resep masakan akan membaca satu
per satu langkah-langkah pembuatannya lalu ia mengerjakan proses sesuai
yang ia baca. Secara umum, pihak (benda) yang mengerjakan proses disebut
pemroses (processor). Pemroses tersebut dapat berupa manusia, komputer,
robot atau alat alat elektronik lainnya. Pemroses melakukan suatu
proses dengan melaksanakan atau “mengeksekusi” algoritma yang
menjabarkan proses tersebut.
Melaksanakan Algoritma berarti
mengerjakan langkah-langkah di dalam Algoritma tersebut. Pemroses
mengerjakan proses sesuai dengan algoritma yang diberikan kepadanya.
Juru masak membuat kue berdasarkan resep yang diberikan kepadanya,
pianis memainkan lagu berdasarkan papan not balok. Karena itu suatu
Algoritma harus dinyatakan dalam bentuk yang dapat dimengerti oleh
pemroses. Jadi suatu pemroses harus :
Algoritma bisa dituliskan dengan beberapa cara, yaitu:
Skizomia Blog
Sejak
dulu hingga sekarang, tentu kita mengetahui bahwa di dunia komputer
terdapat beraneka ragam bahasa pemrograman. Karena begitu banyaknya
jenis-jenis bahasa pemrograman, bahasa-bahasa tersebut juga dikelompokan
berdasarkan kriteria tertentu. Ada yang mengelompokkannya menjadi 3
level bahasa yaitu: high level (Seperti Pascal dan Basic), middle level
(Seperti Bahasa C), dan low level (Seperti Bahasa Assembly). Ada juga
yang mengelompokkannya menjadi procedural/functional programming, object
oriented programming, dan sebagainya.
Pemrograman dapat diklasifikasikan sebagai berikut [Rechenberg]:
Masing-masing
Suatu bahasa
Pemilihan
Selain itu Al-Khawarizmi juga telah menghasilkan buku geografi yang menumental, al-Ardh yang memuat peta-peta dunia. Hasil karya beliau banyak dijadikan pegangan dasar diuniversitas-Universitas Eropa hingga abad ke-16, selain telah banyak diterjemahkan dalam bahasa Inggris dan Latin.
Jadi semestinya, umat Islamlah yang harus maju dalam IPTEK. Karena ilmuan brillian yang lebih hebat dari seorang einsten,banyak lahir dari kaum Muslim. (Sabili)
Apakah Itu Algoritma?
Skizomia Blog
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 penulis
buku arab yang terkenal yaitu Abu Ja’far Muhammad Ibnu Musa
Al-Khuwarizmi. Skizomia Blog
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, Skizomia Blog
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.
Definisi Algoritma
“Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis dan logis”.
Skizomia Blog
Kata
Logis merupakan kata kunci dalam Algoritma. Langkah-langkah dalam
Algoritma harus logis dan harus dapat ditentukan bernilai salah atau
benar.Algoritma Merupakan Jantung Ilmu Informatika
Algoritma
adalah jantung ilmu komputer atau informatika. Banyak cabang ilmu
komputer yang diacu dalam terminologi algoritma. Namun, janganSkizomia Blog
beranggapan algoritma selalu identik dengan ilmu komputer saja.
Dalam
kehidupan sehari-haripun banyak terdapat proses yang dinyatakan dalam
suatu algoritma. Cara-cara membuat kue atau masakan yang dinyatakan Skizomia Blog
dalam suatu resep juga dapat disebut sebagai algoritma. Pada setiap
resep selalu ada urutan langkah-lankah membuat masakan. Bila
langkah-langkahnya tidak logis, tidak dapat dihasilkan masakan yang
diinginkan.
Ibu-ibu yang mencoba suatu resep masakan akan membaca satu
per satu langkah-langkah pembuatannya lalu ia mengerjakan proses sesuai
yang ia baca. Secara umum, pihak (benda) yang mengerjakan proses disebut
pemroses (processor). Pemroses tersebut dapat berupa manusia, komputer,
robot atau alat alat elektronik lainnya. Pemroses melakukan suatu
proses dengan melaksanakan atau “mengeksekusi” algoritma yang
menjabarkan proses tersebut.
Melaksanakan Algoritma berarti
mengerjakan langkah-langkah di dalam Algoritma tersebut. Pemroses
mengerjakan proses sesuai dengan algoritma yang diberikan kepadanya.
Juru masak membuat kue berdasarkan resep yang diberikan kepadanya,
pianis memainkan lagu berdasarkan papan not balok. Karena itu suatu
Algoritma harus dinyatakan dalam bentuk yang dapat dimengerti oleh
pemroses. Jadi suatu pemroses harus :
- Mengerti setiap langkah dalam Algoritma
- Mengerjakan operasi yang bersesuaian dengan langkah tersebut.
Algoritma bisa dituliskan dengan beberapa cara, yaitu:
- Dalam bahasa natural (Bahasa Indonesia, Bahasa Inggris, dan bahasa manusia lainnya)Contoh: Algoritma mengirimkan pesan singkat (sms)1. Ambil Handphone2. Masuk menu SMS3. Pilih Sub-Menu Tulis SMS4. Tuliskan isi SMS5. Tekan menu6. Masukkan nomor yang dituju7. Tekan ok8. Tunggu report9. Apabila SMS terkirim, Selesai10. Jika sms tak terkirim, lompat ke langkah 5
- Menggunakan flow chartcontoh: Algoritma Jam Alarm
- Menggunakan pseudo-codecontoh: Algotima Mencari Bilangan Terbesarmaks ← ilangan pertamaif (maks < bilangan kedua)maks ← bilangan keduaif (maks < bilangan ketiga)maks ← bilangan ketiga
- FinitenessAlgoritma harus berhenti (after a finite number of steps)
- DefinitenessSetiap langkah harus didefinisikan secara tepat, tidak boleh membingungkan (ambiguous)
- InputSebuah algoritma memiliki nol atau lebih input yang diberikan kepada algoritma sebelum dijalankan
- OutputSebuah algoritma memiliki satu atau lebih output, yang biasanya bergantung kepada input
- EffectivenessSetiap algoritma diharapkan miliki sifat efektif
Skizomia Blog
Sejak
dulu hingga sekarang, tentu kita mengetahui bahwa di dunia komputer
terdapat beraneka ragam bahasa pemrograman. Karena begitu banyaknya
jenis-jenis bahasa pemrograman, bahasa-bahasa tersebut juga dikelompokan
berdasarkan kriteria tertentu. Ada yang mengelompokkannya menjadi 3
level bahasa yaitu: high level (Seperti Pascal dan Basic), middle level
(Seperti Bahasa C), dan low level (Seperti Bahasa Assembly). Ada juga
yang mengelompokkannya menjadi procedural/functional programming, object
oriented programming, dan sebagainya.
Pemrograman dapat diklasifikasikan sebagai berikut [Rechenberg]:
- Berorientasi prosedur (procedural oriented)Skizomia Blog
- Berorientasi fungsi (functional oriented)
- Berorientasi logik (logic oriented)
- Berorientasi obyek (object oriented)
Masing-masing
memiliki kelebihan tersendiri. Kadangkala dalam membangun suatuSkizomia Blog
aplikasi dibutuhkan gabungan metode pemrograman tersebut. Misalnya dalam
C++ dan Java (bahasa pemrograman berorientasi obyek), kita masih dapat
menemukan tehnik-tehnik pemrograman berorientasi prosedur dalam setiap
method/function member dalam obyek-obyeknya.
Suatu bahasa
pemrograman pada asalnya hanya dapat digunakan dalam satu metode. Pascal
mulanya untuk procedural-oriented, Lisp untuk functional-oriented,
Smaltalk untuk object-oriented dan lain-lain. Seiring dengan
perkembangan tehnologi informasi dan komputer, puluhan bahkan ratusan
bahasa pemrograman baru lahir. Masing-masing memiliki keunikan dan
kelebihan spesifik. Ada yang khusus untuk jenis komputer tertentu, ada
pula yang khusus untuk paradigma pemrograman tertentu.
Pemilihan
bahasa pemrograman pertama merupakan masalah pelik. Sebab bahasa
pemrograman pertama akan mempengaruhi cara berfikir programer di masa
yang akan datang. Programer dengan bahasa pertamanya Pascal akan lebih
mudah berpindah ke bahasa pemrograman yang memiliki paradigma sama,
yaitu berorientasi prosedur seperti C, Modula, Oberon. Tetapi programer
tersebut kesulitan untuk berpindah ke bahasa pemrograman dengan
paradigma yang lain seperti CLOS dan Scheme, yaitu bahasa pemrograman
keluarga Lisp.Skizomia Blog
Selain daripada itu, setelah menentukan paradigmanya,
masalah berikutnya yang muncul adalah memilih bahasa pemrograman yang
paling dominan dalam paradigma tersebut. Misalnya, untuk paradigma
berorientasi fungsi manakah yang paling tepat diajarkan kepada pemula,
apakah CLOS atau Scheme atau EmacsLisp. Masalah kedua ini berkaitan
dengan, kemudahan dalam belajar, dialek dalam keluarga bahasa
pemrograman tersebut, atau bahkan kecenderungan pasar.