Dalam MATEMATIKA dan KOMPUTASI,
algoritma atau algoritme merupakan kumpulan perintah untuk menyelesaikan suatu
masalah. Perintah-perintah ini dapat diterjemahkan secara bertahap dari awal
hingga akhir. Masalah tersebut dapat berupa apa saja, dengan catatan untuk
setiap masalah, ada kriteria kondisi awal yang harus dipenuhi sebelum
menjalankan algoritma. Algoritma akan dapat selalu berakhir untuk semua kondisi
awal yang memenuhi kriteria, dalam hal ini berbeda dengan HEURISTIK. Algoritma sering
mempunyai langkah pengulangan (ITERASI) atau memerlukan keputusan (LOGIKA
BOOLEAN dan PERBANDINGA) sampai tugasnya selesai.
Desain dan analisa algoritma adalah
suatu cabang khusus dalam ilmu komputer yang mempelajari karakteristik dan
performa dari suatu algoritma dalam menyelesaikan masalah, terlepas dari
implementasi algoritma tersebut. Dalam cabang disiplin ini algoritma dipelajari
secara abstrak, terlepas dari sistem komputer atau bahasa pemrograman yang
digunakan. Algoritma yang berbeda dapat diterapkan pada suatu masalah dengan
kriteria yang sama.
Kompleksitas dari suatu algoritma
merupakan ukuran seberapa banyak komputasi yang dibutuhkan algoritma tersebut
untuk menyelesaikan masalah. Secara informal, algoritma yang dapat
menyelesaikan suatu permasalahan dalam waktu yang singkat memiliki kompleksitas
yang rendah, sementara algoritma yang membutuhkan waktu lama untuk
menyelesaikan masalahnya mempunyai kompleksitas yang tinggi.
Kata algoritma berasal dari
latinisasi nama seorang ahli matematika dari Uzbekistan Al Khawarizmi (hidup
sekitar abad ke-9), sebagaimana tercantum pada terjemahan karyanya dalam bahasa
latin dari abad ke-12 "Algorithmi de numero Indorum". Pada awalnya
kataAlgorisma adalah istilah yang merujuk kepada aturan-aturan aritmetis untuk
menyelesaikan persoalan dengan menggunakan bilangan numerik arab (sebenarnya
dari India, seperti tertulis pada judul di atas). Pada abad ke-18, istilah ini
berkembang menjadialgoritma, yang mencakup semua prosedur atau urutan langkah
yang jelas dan diperlukan untuk menyelesaikan suatu permasalahan.
SEJARAH PEMOGRAMAN
Pada tahun 1822, Charles Babbage
seorang mahasiswa di Universitas Cambridge Inggris mengembangkan sebuah mesin
untuk mengelola data-data agar mudah digunakan, mesin tersebut diberi nama ‘Difference
Enggine’.
Setelah bekerja selama 10 tahun pada mesinnya, Charles
Babbage menyadari bahwa mesin yang dia ciptakan ini merupakan sebuah mesin yang
bersifat single-purpose machine artinya hanya bisa menghasilkan satu
jenis keluaran (output). Selanjutnya ia mengembangkan mesin lain yang
bersifat multi-purpose. Mesin ini diberi nama ‘Analytical Engine’.
Pekerjaan untuk membuat ‘Analytical Engine’ ini ia lakukan sampai dengan
tahun 1842.
ada tahun
1847, Charles Babbage kembali menyempurnakan ‘Difference Engine’ hingga
pada tahun 1849 ia berhasil membuat versi keduanya. Pekerjaan menyempurnakan
hasil-hasil karyanya terus ia lakukan, bahkan dilanjutkan oleh anaknya, Henry
Prevost. Charles Babbage sendiri meninggal pada tahun 1871. Untuk melindungi
karya-karya ayahnya, Henry Prevost membuat beberapa kopian unit perhitungan
aritmatika sederhana dari mesin yang dihasilkan ayahnya dan mengirimkannya ke
beberapa institusi di dunia, termasuk ke Universitas Harvard.
Perkembangan
dunia komputasi berlanjut pada tahun 1854, ketika seseorang bernama Charles
Boole berhasil menciptakan sebuah sistem logika simbolik yang diberinama Logika
Boole. Sistem ini mencakup pula logika untuk menyatakan hubungan lebih besar,
lebih kecil, sama dengan dan tidak sama dengan. Sistem logika ini masih
digunakan sampai dengan saat ini.
Pada tahun
1890, Amerika Serikat ingin melakukan sensus penduduk. Namun kendala yang
muncul adalah keterbatasan alat yang ada pada waktu itu, mengingat jumlah
penduduk yang semakin meningkat setiap tahunnya, maka diadakanlah sebuah
kompetisi komputasi untuk mencari solusinya. Kompetisi ini dimenangkan oleh
Herman Hollerith, yang akhirnya ia mendirikan sebuah perusahaan Hollerith
Tabulating, Co. yang akhirnya berubah nama menjadi CTR (Calculating Tabulating
Recording Company) setelah 3 perusahan lain ikut bergabung. Sepuluh tahun
berikutnya perusahaan ini berganti nama lagi menjadi IBM (International
Business Machine) hingga saat ini.
Selanjutnya
perkembangan komputasi digital mulai berjalan pelan dan jarang digunakan dalam
dunia bisnis sampai dengan pertengahan tahun 1920-an. Hingga pada tahun 1925,
MIT (Massachusette Institute of Technology) mengembangkan sebuah mesin yang
mampu menganalisis perhitungan differensiasi dan integrasi. Mesin yang didanai oleh
Yayasan Rockefeller ini dapat dikatakan sebagai komputer terbesar di dunia pada
tahun 1930.
Pada tahun
1935, seorang ilmuan Jerman bernama Konrad Zuse mengembangkan komputer Z-1,
komputer inilah yang menjadi awal mula diterapkannya sistem biner dalam kinerjanya.
Selain itu, Zuse juga berjasa dalam komputasi komputer digital ketika ia
menciptakan bahasa pemrograman komputer pertama ‘Plankalkul’.
Pada tahun
1945, terjadi pula peristiwa penting dalam sejarah perkembangan komputasi
komputer digital yaitu ketika terjadi kerusakan pada mesin Mark II yang ada di
Universitas Harvard. Seseorang yang bernama Grace
Murray Hopper yang mengetahui hal ini langsung menyelidiki sebab kerusakannya.
Akhirnya dia menemukan seekor ngengat yang terjebak dalam mesin tersebut. Dalam
catatan hariannya, Hopper menuliskan: “First actual case of bug being found”.
Dia menyebut ngengat ini sebagai sebuah kutu busuk (bug), selanjutnya
kata ‘bug’ ini sering digunakan untuk menunjukkan adanya ketidakberesan dalam
program. Dari kata ‘bug’ ini muncul pula istilah ‘debugging’ yang artinya
proses pembetulan kesalahan program.
Pada tahun
1954, IBM mulai mengembangkan bahasa pemrograman FORTRAN (FORmula TRANslator).
Bahasa FORTRAN merupakan bahasa pemrograman level tinggi pertama yang dikomersialkan.
Pemrograman level tinggi maksudnya adalah perintah atau kodenya mudah dibaca
dan dipahami oleh manusia.
Pada tahun
1958, FORTRAN II dan ALGOL dipublikasikan bersamaan dengan diluncurkannya LISP.
Sedangkan pada tahun 1959, bahasa pemrograman COBOL juga diluncurkan. Sejak
saat itu perkembangan bahasa pemrograman berkembang sangat cepat.
Pada tahun
1970, bahasa PASCAL mulai dipublikasikan dan hingga saat ini masih banyak
digunakan untuk keperluan pendidikan. Selain itu muncul pula dua bahasa
pemrograman yang dianggap sangat penting yaitu SMALLTALK dan B-Languange. SMALLTALK penting karena merupakan bahasa pemrograman berbasis obyek yang
pertama. Sedangkan B-Languange dikatakan penting karena merupakan cikal bakal
munculnya bahasa C. Dengan bahasa C, pemrograman akan lebih mudah, efisien, dan
fleksibel.
Pada tahun
1975, Dr. Wong merilis bahasa pemrograman hasil ciptaannya bernama TinyBASIC.
TinyBASIC merupakan bahasa pemrograman pertama yang bersifat free alias tidak
membayar dalam penggunaannya. Pada tahun yang sama, Bill Gates dan Paul Allen
juga membuat bahasa pemrograman yang diberi nama BASIC. BASIC ini selanjutnya
mereka jual ke MIT.
Bahasa
pemrograman terus berkembang demikian pesat hingga saat ini. Hal ini ditandai
dengan semakin banyaknya bahasa pemrograman yang bermunculan.
0 Response to "Sejarah Algoritma"
Posting Komentar