Pengertian dan Sejarah Algoritma Beserta Contohnya

Edukasi383 views

Pengertian dan Sejarah Algoritma – Algoritma adalah cabang dari ilmu komputer yang mempelajari cara menyelesaikan masalah melalui langkah-langkah yang terstruktur dan terurut. Pelajaran ini memfokuskan pada pemahaman dan penerapan algoritma sebagai solusi untuk masalah yang berbeda. Pelajaran ini meliputi berbagai konsep seperti pemrograman dasar, pengurutan data, pencarian, pemodelan masalah, dan analisis algoritma. Algoritma memberikan dasar bagi pemahaman bagaimana komputer dapat menyelesaikan masalah dan membantu siswa memahami cara kerja sistem komputer. Algoritma biasanya dipelajari pada jenjang SMK jurusan TKJ atau RPL dan dilanjutkan pada jenjang Kuliah jurusan teknik komputer.

Untuk penjelasan lebih lengkap terkait pengertian dan sejarah algoritma silakan baca artikel berikut sampai akhir agar dapat memahami tentang algoritma.

Pengertian Algoritma Secara Lengkap

Algoritma adalah serangkaian langkah-langkah yang terstruktur dan terurut yang digunakan untuk menyelesaikan masalah atau mencapai tujuan tertentu. Algoritma dapat digunakan dalam berbagai bidang, termasuk matematika, komputer, dan pengambilan keputusan. Untuk menemukan solusi yang efisien dan terukur untuk masalah yang ada.

Berikut adalah beberapa definisi algoritma menurut para ahli:

Donald Knuth: “Algoritma adalah serangkaian langkah-langkah definitif dan terurut untuk menyelesaikan masalah yang bisa diikuti oleh mesin.”

Thomas H. Cormen dalam buku “Introduction to Algorithms”: “Algoritma adalah proses formal yang menggambarkan bagaimana memecahkan masalah”.

Adi S. Gunawan dalam buku “Algoritma dan Struktur Data”: “Algoritma adalah suatu proses atau teknik yang digunakan untuk menyelesaikan masalah yang spesifik.”

John Hopcroft dan Jeffrey Ullman dalam buku “Introduction to Automata Theory, Languages, and Computation”: “Algoritma adalah serangkaian instruksi yang terstruktur untuk menyelesaikan masalah yang spesifik.”

Kesimpulannya, algoritma adalah proses atau teknik yang terstruktur dan terurut untuk menyelesaikan masalah spesifik dengan cara yang bisa diterapkan oleh mesin.

Sejarah Lengkap Algoritma

Sejarah algoritma bermula dari filsafat matematika kuno, di mana matematikawan seperti Euklidus dan Al-Khwarizmi mengembangkan konsep algoritma untuk menyelesaikan masalah matematika.

Al-Khwarizmi, seorang matematikawan Persia abad ke-9, memperkenalkan istilah “al-jabr” dalam bukunya “Kitab al-jabr wa’l-muqabala”. Kemudian diterjemahkan menjadi “algoritma” dalam bahasa Latin. Buku ini menjelaskan cara memecahkan masalah matematika seperti operasi aritmetika dan pemecahan persamaan linear.

Pada abad ke-17, matematikawan Isaac Newton dan Gottfried Wilhelm Leibniz memperkenalkan konsep dasar algoritma. Digunakan untuk menyelesaikan masalah matematika melalui pengembangan notasi matematika.

Di abad ke-19, algoritma mulai digunakan dalam bidang komputer, dengan pengembangan mesin Analytical Engine oleh Charles Babbage. Algoritma menjadi dasar bagi perkembangan komputer dan pemrograman. Namun seiring waktu algoritma semakin canggih dan banyak digunakan dalam berbagai bidang, seperti komunikasi, pembelajaran mesin, dan pengolahan data.

Seiring perkembangan teknologi dan kemajuan ilmu komputer, algoritma menjadi lebih kompleks dan banyak digunakan untuk menyelesaikan masalah-masalah yang lebih sulit. Algoritma saat ini memegang peran penting dalam banyak bidang, termasuk ekonomi, keamanan informasi, dan bahkan kesehatan.

Secara umum, sejarah algoritma adalah sejarah evolusi dari konsep matematika kuno menjadi teknologi modern yang penting dan sangat berguna dalam berbagai bidang.

BACA JUGA:
Interaksi Manusia dengan Komputer Secara Lengkap

Konsep Algoritma

Berikut adalah beberapa konsep yang penting dalam algoritma:

  1. Input: Algoritma membutuhkan input untuk melakukan tugas yang ditentukan. Input ini dapat berupa data, informasi, atau instruksi.
  2. Proses: Langkah-langkah yang spesifik yang digunakan dalam algoritma untuk mengolah input dan menghasilkan output.
  3. Output: Hasil dari tugas yang dilakukan oleh algoritma, biasanya berupa data atau informasi.
  4. Dekomposisi: Memecah masalah besar menjadi sub-masalah lebih kecil yang lebih mudah diolah.
  5. Abstraction: Menyederhanakan masalah dan memfokuskan pada aspek-aspek yang penting saja.
  6. Generalisasi: Menerapkan solusi yang sama pada masalah yang berbeda.
  7. Optimisasi: Menemukan solusi yang paling efisien dan cepat untuk masalah tertentu.

Konsep-konsep ini membantu dalam memahami algoritma dan membuat algoritma yang efektif dan efisien. Penting untuk memahami konsep-konsep ini untuk dapat membuat algoritma yang tepat untuk masalah yang spesifik.

Sifat Algoritma

Berikut adalah beberapa sifat yang harus dimiliki oleh sebuah algoritma:

  1. Unambiguity: Algoritma harus memberikan instruksi yang jelas dan tidak ambigu sehingga dapat diterapkan dengan mudah.
  2. Definiteness: Algoritma harus memiliki langkah-langkah yang jelas dan pasti sehingga dapat diterapkan dengan mudah.
  3. Finiteness: Algoritma harus memiliki jumlah langkah yang terbatas dan tidak berkelanjutan sehingga dapat berakhir pada suatu saat.
  4. Effectiveness: Algoritma harus memiliki solusi yang efektif dan efisien untuk masalah yang spesifik.
  5. Feasibility: Algoritma harus dapat diterapkan dengan sumber daya yang tersedia, seperti memori dan waktu.
  6. Input-Output Specification: Algoritma harus memiliki spesifikasi input dan output yang jelas.

Sifat-sifat ini membantu untuk memastikan bahwa algoritma dapat bekerja dengan baik. Selain itu memberikan solusi yang dapat diandalkan untuk masalah yang spesifik.

Contoh Algoritma

Contoh algoritma dapat ditemukan dalam berbagai bidang, seperti pengolahan data, pembelajaran mesin, dan bahkan dalam aktivitas sehari-hari. Berikut adalah beberapa contoh algoritma yang umum:

  1. Algoritma sorting: Algoritma ini digunakan untuk mengurutkan data, seperti urutan abjad, angka, atau tanggal. Contohnya adalah algoritma bubble sort, insertion sort, dan quick sort.
  2. Algoritma pencarian: Algoritma ini digunakan untuk mencari data tertentu dalam suatu dataset. Contohnya adalah algoritma linear search dan binary search.
  3. Algoritma pathfinding: Algoritma ini digunakan untuk menemukan jalur terpendek antara dua titik dalam suatu peta. Contohnya adalah algoritma Dijkstra dan A*
  4. Algoritma pembelajaran mesin: Algoritma ini digunakan untuk mempelajari dan membuat prediksi berdasarkan data. Contohnya adalah algoritma regression, k-nearest neighbor, dan decision tree.
  5. Algoritma kompresi data: Algoritma ini digunakan untuk mengkompresi file agar ukurannya lebih kecil. Contohnya adalah algoritma Huffman coding dan Lempel-Ziv-Welch (LZW).

Ini hanya beberapa contoh algoritma, ada banyak lagi algoritma yang digunakan dalam berbagai bidang. Penting untuk memahami sifat-sifat dan prinsip-prinsip dasar algoritma untuk dapat menentukan algoritma yang tepat untuk masalah yang spesifik.

Berikut adalah contoh soal algoritma dalam kehidupan sehari-hari :
  1. Buatlah Algoritma mencari luas persegi panjang
    Jawab :
    Input = Panjang, Lebar
    Proses = Luas = panjang x lebar
    Output = Luas
    Algoritma :
    Langkah 1 : Mulai / Start
    2 : masukan nilai Panjang
    3 : masukan nilai Lebar
    4 : Luas = Panjang x Lebar
    5 : Cetak Nilai Luas
    6 : Selesai / End

  1. Buatlah algoritma untuk menampilkan biodata mahasiswa Universitas Mitra Lampung
    Jawab :
    Input : Nama Mahasiswa, NPM, Institusi, Prodi
    Output : Nama Mahasiswa, NPM, Institusi, Prodi
    Algoritma :
    Langkah 1 : Mulai / Start
    Langkah 2 : Masukan Nama, NPM, Institusi, Prodi
    Langkah 3 : Cetak Nama, NPM, Institusi, Prodi
    Langkah 4 : Selesai / End

Algoritma merupakan bagian penting dari dunia teknologi dan informatika dan memainkan peran yang sangat besar dalam membantu untuk menyelesaikan beragam masalah kompleks.

Sekian artikel tentang pengertian, sejarah, konsep, sifat dan contoh dari algoritma. Semoga dari artikel kali ini ada sesuatu yang didapatkan dan menambah wawasan kalian 🙂

Leave a Reply

Your email address will not be published. Required fields are marked *