Sejarah Algoritma

Sejarah Algoritma – Kata algoritma datang dari nama matematikawan Persia abad ke-9 Abu Abdullah Muhammad ibnu Musa Al-Khwarizmi, yang hasil kerjanya dibangun dari matematikawan India abad ke-7 Brahmagupta. Kata algorisma mulanya mengacu hanya pada aturan-aturan dalam Melaksanakan aritmatika menggunakan bilangan Hindu-Arab namun berkembang via penerjemahan Latin Eropa dari nama Al-Khwarizmi menjadi algoritma pada abad ke-18.
Dalam matematika dan ilmu komputer, algoritma ialah prosedur langkah demi langkah untuk penghitungan. Algoritma digunakan untuk penghitungan, pemrosesan data, dan penalaran otomatis. Algoritma ialah Sistem efektif diekspresikan sebagai rangkaian terbatas dari perintah perintah yang telah didefinisikan dengan bagus untuk menghitung sebuah fungsi. Dimulai dari sebuah dianalisa awal dan input awal (mungkin kosong), perintah-perintah hal yang demikian menjelaskan sebuah komputasi yang, bila dieksekusi, diproses via sejumlah urutan dianalisa terbatas yang terdefinisi dengan bagus, yang pada akhirnya menghasilkan “keluaran” dan stop di dianalisa akhir. Transisi dari satu dianalisa ke dianalisa selanjutnya tak sepatutnya deterministik; beberapa algoritma, diketahui dengan algoritma pengacakan, menggunakan masukan acak.

Sejarah Algoritma
Sejarah Algoritma

Walaupun algorism-nya al-Khawarizmi dirujuk sebagai aturan-aturan Melaksanakan aritmatika menggunakan bilangan Hindu-Arab dan solusi sistematis dan persamaan kuadrat, beberapa formalisasi yang nantinya menjadi algoritma modern dimulai dengan usaha untuk memecahkan permasalahan keputusan (Entscheidungsproblem) yang diajukan oleh David Hilbert di tahun 1928. Formalisasi selanjutnya dilihat sebagai usaha untuk menentukan “penghitungan efektif” atau “Sistem efektif”; formalisasi hal yang demikian mengikutkanGodel- Herbrand-Kleene fungsi rekursif-nya Kurt Godel – Jacques Herbrand – Stephen Cole Kleene di tahun 1930, 1934, dan 1935,kalkulus lambda-nya Alonzo Church di tahun 1936, “Formulasi 1”-nya Emil Post di tahun 1936, dan Mesin Turing-nya Alan Turing di tahun 1936-7 dan 1939. 


Etimologi
Kata “Algoritma”, atau “Algorisma” pada versi penulisan lain datang dari nama al-Khwarizmi. dieja dalam Arab klasik sebagai Al-Khwarithmi. Al-khwarizmi (bahasa Persia: خوارزمي, 780-850) ialah matematikawan, spesialis astronomi, spesialis geografi dari Persia dan sarjana House of Wisdom di Baghdad, yang arti namanya “penduduk asli Khwarezm”, sebuah kota yang merupakan bagian dari Wilayah Iran pada masanya dan sekarang Uzbekistan. Sekitar tahun 825, dia menulis risalah dalam bahasa Arab, yang diterjemahkan dalam Latin pada abad ke-12 dengan judul Algoritmi de numero Indorum. Judul ini artinya “Algoritmi pada bilangan India”, dimana “Algoritmi” ialah pelatinan penerjemah dari nama Al-Khwarizmi. Al-Khwarizmi dulunya ialah matematikawan yang paling banyak dibaca di Eropa pada akhir Abad Pertengahan, pada biasa via bukunya yang lain, Aljabar. Pada akhir abad pertengahan, algorismus perubahan dari namanya, berarti “sistem bilangan desimal” yang masih merupakan arti dari kata Inggris moderen algorism. Pada abad ke-17 Prancis kata hal yang demikian berubah, namun tak maknanya. Di ubah menjadi algorithme. Inggris mengadopsi Prancis setelahnya, namun tak pada akhir abad ke-19 lah “Algorithm” mengambil makna dari kata Inggris masa sekarang. 

Etimologi alternatif mengklaim asal mulanya dari istilah algebra (aljabar) dari makna abad pertengahan “aritmatika Arab” dan arithmos istilah Yunani untuk angka (yang secara harfiah berarti “bilangan Arab” atau “perhitungan Arab”). Karya algoritma Al-Kharizmi bukan berbentuk seperti pada masa modern sekarang namun sebagai tipe dari pengulangan kalkulus (disini disebutkan bahwa karya fundamentalnya yang diketahui sebagai algebra pada mulanya berjudul “Buku Ringkasan tentang Kalkulasi dengan Penyempurnaan dan Pengimbangan” menjelaskan tipe-tipe dari pengulangan perhitungan dan persamaan kuadrat). Dalam makna hal yang demikian, algoritima diketahui di Eropa jauh sebelum Al-Kharizmi. Algoritma paling tua yang diketahui sekarang ialah Algoritma Euklid (lihat juga Pengembangan algoritma Euklid). Sebelum ditemukan istilah algorithm orang Yunani menyebutnyaanthyphairesis secara harfiah berarti anti-substraksi atau substraksi timbal-balik (untuk bacaan lebih lanjut disini dan ini. Algoritma diketahui oleh orang Yunani berabad sebelum Euclid. Bukannya kata algebra orang Yunani menggunakan istilah arithmetica(ἀριθμητική, yaitu dalam karya Diophantus yang diketahui “bapak dari Aljabar” – 


DEFINISI ALGORITMA 
“Algoritma ialah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis dan logis”. Kata Logis merupakan kata kunci dalam Algoritma. Langkah-langkah dalam Algoritmaharus logis dan sepatutnya bisa ditentukan bernilai salah atau benar. 

1. Algoritma Merupakan Jantung Ilmu Informatika 
Algoritma ialah jantung ilmu komputer atau informatika. Banyak cabang ilmu computer yang diacu dalam terminologi algoritma. Namun, jangan beranggapan algoritma senantiasa 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 dalam suatu resep juga bisa disebut sebagai algoritma. Pada tiap resep senantiasa ada urutan langkah-lankah membuat masakan. Bila langkah-langkahnya tak logis, tak bisa dihasilkan masakan yang diinginkan. Ibu-ibu yang mencoba suatu resep masakan akan membaca satu per satu langkah-langkah pembuatannya lalu ia mengerjakan proses pantas yang ia baca. Secara biasa, pihak (benda) yang mengerjakan proses disebut pemroses (processor). Pemroses hal yang demikian bisa berupa manusia, komputer, robot atau alat alat elektronik lainnya. Pemroses Melaksanakan suatu proses dengan melaksanakan atau “mengeksekusi” algoritma yang menjabarkan proses hal yang demikian. 

Melaksanakan Algoritma berarti mengerjakan langkah-langkah di dalam Algoritma hal yang demikian. Pemroses mengerjakan proses pantas 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 sepatutnya dinyatakan dalam format yang bisa dimengerti oleh pemroses.

Jadi suatu pemroses sepatutnya : 
  1. 1. Mengerti tiap langkah dalam Algoritma. 
  2. 2. Mengerjakan operasi yang bersesuaian dengan langkah hal yang demikian. 
2. Mekanisme Pelaksanan Algoritma Oleh Pemroses 
Komputer hanyalah salah satu pemroses. Agar bisa dilaksanakan oleh komputer, algoritma hasrus ditulis dalam notasi bahasa pemrograman sehingga dinamakan program. Jadi program ialah prwujudan atau implementasi teknis Algoritma yang ditulis dalam bahasa pemrogaman tertentu sehingga bisa dilaksanakan oleh komputer. 

3. Belajar Memprogram Dan Belajar Bahasa Pemrograman 
Belajar memprogram tak sama dengan belajar bahasa pemrograman. Belajar memprogram ialah belajar tentang metodologi pemecahan masalah, kemudian menuangkannya dalam suatu notasi tertentu yang mudah dibaca dan dipahami. Sedangakan belajar bahasa pemrograman berarti belajar memakai suatu bahasa aturan-aturan tata bahasanya, perintah-instruksinya, tata cara pengoperasian compiler-nya, dan memanfaatkan perintah-perintah hal yang demikian untuk membuat program yang ditulis hanya dalam bahasa itu saja. 

hingga ketika ini terdapat puluhan bahasa pemrogram. Yang bisa dibedakan berdasarkan tujuan dan fungsinya. Diantaranya ialah : 
Sejarah Algoritma

a. Belajar Memprogram 
  • Belajar memprogram ≠ belajar bahasa pemrograman 
  • Belajar memprogram : belajar tentang strategi pemecahan masalah, metodologi dan sistematika pemecahan masalah kemudian menuliskannya dalam notasi yang disepakati bersama. 
  • Belajar memprogram : bersifat pemahaman keadaan sulit, analisa dan sintesis. 
  • Belajar memprogram, spot berat : designer program. 
b. Belajar Bahasa Pemrograman 
  • Belajar bahasa pemrograman : belajar memakai suatu bahasa pemrograman, aturan sintaks, tatacara untuk memanfaatkan perintah yang spesifik untuk tiap bahasa. 
  • Belajar bahasa pemrograman, spot berat : coder. 

c. Produk yang dihasilkan Pemrogram : 
  • Program dengan rancangan yang bagus (metodologis, sistematis). 
  • bisa dieksekusi oleh mesin. 
  • Berfungsi dengan benar. 
  • Sanggup melayani segala kemungkinan masukan. 
  • Disertai dokumentasi. 
  • Belajar memprogram, spot berat : designer program. 

4. Algoritma 

a. Aksi : 
  • kejadian yang terjadi pada selang waktu terbatas (dimulai ketika T0 dan berakhir pada ketika T1).
  • Menghasilkan efek netto yang terdefinisi dengan bagus dan direncanakan. 
b. Model : 
  • Ibu Tati mengupas kentang untuk mempersiapkan makan malam (luas ruang lingkupnya). 
  • Karena ruang lingkup luas, maka sepatutnya didefinisikan keadaan awal dan efek netto yang direncanakan ( Initial State dan Final State). 
  • Initial State (keadaan awal) : T0 kentang sudah ada dikantong kentang, dan ditaruh di rak dapur dimana ibu Tati akan mengupasnya. 
  • Final State (keadaan akhir) : T1 kentang dalam keadaan terkupas di panci, siap untuk dimasak dan kantong kertasnya sepatutnya dikembalikan ke rak lagi. 
  • Kejadian : urut-urutan dari beberapa aksi yang terjadi secara berurutan. 
  • Efek kumulatif dari segala aksi yang terjadi menjadi efek netto dari kejadian. 
  • Penggolongan suatu kejadian menjadi aksi ialah relatif tergantung dari sudut pandang. Model mengupas kentang bisa dijelaskan : 
– Ambil kantong kentang dari rak 
– Ambil panci dari almari 
– Kupas kentang 
– Kembalikan kantong kentang ke rak 

Model lain (kalau tak dipandang perlu untuk menjelaskan kantong kentang diambil dari rak sebelum ambil panci) : 
– Ambil kantong kentang dari rak dan ambil panci dari almari 
– Kupas kentang 
– Kembalikan kantong kentang ke rak 

kalau esok hari ibu Tati mengupas kentang lagi untuk makan malam juga, dan kita mengamati hal-hal yang sama, apakah hal tsb bisa disebut sama? Ini tergantung jawabannya bisa sama bisa tak.  tak karena ibu Tati tak mungkin mengupas kentang yang sama dengan kemarin. Sama karena kemiripan pola yang dikerjakan. 

5. Notasi Algoritma Independen kepada Bahasa Pemrograman Dan Mesin Komputer 
Notasi Algoritma bisa diterjemahkan ke dalam bermacam bahasa pemrograman. Analoginya sama dengan resep membuat kue. Sebuah resep bisa ditulis dalam bahasa apapun dan hasilnya akan sama asalkan segala aturan pada resep diikuti. Mengapa demikian ? Karena tiap juru masak (sebagai pemroses) bisa Melaksanakan operasi dasar yang sama, seperti mengocok telur, menimbang berat gula, dan lain sebagainya. 

Demikian juga halnya dengan komputer. Meskipun tiap komputer berbeda teknologinya, tetapi secara biasa segala komputer bisa Melaksanakan operasi-operasi dasar dalam pemrograman seperti operasi pembacaan data, operasi perbandingan, operasi aritmatika, dan sebagainya. Perkembangan teknologi komputer tak mengubah operasi-operasi dasar itu, yang berubah hanyalah kecepatan, biaya, atau tingkat ketelitian. Pada sisi lain tiap program dalam bahasa tingkat tinggi senantiasa diterjemahkan kedalam bahasa mesin sebelum akhirnya dikerjakan oleh CPU. tiap perintah dalam bahasa mesin menyajikan operasi dasar yang pantas, dan menghasilkan efek netto yang sama pada tiap komputer. 

Demikianlah materi tentang Sejarah Algoritma yang sempat kami berikan dan jangan lupa juga untuk menyimak materi seputar Sejarah Perkembangan Sistem Operasi Android yang telah kami posting sebelumnya. semoga materi yang kami berikan bisa membantu menambah wawasan anda semikian dan terimah kasih.
Jangan Lupa Tinggalkan Komentar…!!!