Algoritma & Bahasa Pemrograman 📜
Sebelum kita bisa menulis kode komputer yang canggih, ada sejarah panjang tentang bagaimana manusia merumuskan logika matematika hingga berevolusi menjadi bahasa pemrograman modern.
Al-Khawarizmi
Muhammad Ibn Musa al-khawarizmi (atau Abu Abdullah Muhammad bin Ahmad bin Yussuf Al-Khawarizmi) lahir di Bukhara pada tahun 780-850M. Di dunia Barat, ia dikenal dengan berbagai ejaan seperti al-Cowarizmi, al-Goritmi, hingga al-Gorismi. Pada masa mudanya, beliau mengabdi di Baitul Hikmah, sebuah lembaga akademik paling bergengsi di Baghdad pada era Khalifah al-Ma'mun. Beliau dipercaya memimpin perpustakaan khalifah dan bekerja di observatorium untuk mendalami matematika dan astronomi.
Jejak Keabadian Al-Khawarizmi:
Revolusi Angka di Balik Lahirnya "Algoritma"
Pernahkah Anda membayangkan betapa rumitnya dunia jika kita masih harus menggunakan huruf-huruf Romawi untuk melakukan perhitungan matematika yang kompleks? Bayangkan bagaimana rasanya harus mengalikan bilangan DCLXVI (666) dengan angka lainnya. Tentu sangat memusingkan dan memakan banyak waktu. Beruntunglah peradaban manusia memiliki sosok jenius bernama Muhammad ibn Musa al-Khawarizmi, ilmuwan visioner yang warisannya tidak hanya mengubah cara manusia berhitung, tetapi juga mengabadikan namanya menjadi fondasi utama teknologi modern: Algoritma.
Karya terbesar Al-Khawarizmi bukanlah sekadar teori di atas kertas, melainkan sebuah revolusi praktis yang mendobrak kebingungan umat manusia pada masanya. Beliau sangat berjasa dalam menyederhanakan sistem bilangan menjadi sepuluh simbol magis yang kini menggerakkan roda perekonomian dan teknologi dunia: 0, 1, 2, 3, 4, 5, 6, 7, 8, dan 9.
Namun, kecerdasan Al-Khawarizmi tidak berhenti pada angka dasar. Beliau membawa lompatan-lompatan radikal yang membuat matematika menjadi jauh lebih luas, tak terbatas, dan efisien, di antaranya:
- Menembus Batas Nol (Angka Negatif): Beliau memperkenalkan konsep perhitungan mundur dengan menambahkan simbol minus, seperti -3013, yang memungkinkan manusia menghitung defisit atau nilai di bawah nol.
- Menjelajah Skala Mikro (Sistem Desimal): Dengan kepiawaiannya memanfaatkan angka nol, Al-Khawarizmi merumuskan angka desimal untuk mengukur sesuatu yang sangat kecil dan presisi, seperti 0,1 atau 00,00001.
- Efisiensi Super (Simbol Pangkat): Untuk menghindari penulisan angka raksasa yang berderet panjang dan memusingkan, beliau menggunakan simbol pangkat, sebuah teknik kompresi data paling awal di dunia matematika.
"Penemuan sistem angka praktis ini adalah titik balik (turning point) bagi peradaban manusia."
Sistem dari Al-Khawarizmi membunuh kerumitan sistem Romawi kuno. Fleksibilitas dan efisiensi yang ditawarkan oleh angka Arab-Hindu ini memicu ledakan kemajuan di bidang aritmatika dan ilmu fisika. Persamaan-persamaan alam semesta yang sebelumnya mustahil untuk dihitung, akhirnya bisa dipecahkan.
Atas dedikasinya dalam merumuskan langkah-langkah logis dan sistematis untuk memecahkan masalah, bangsa Barat yang mengagumi karya-karyanya melatinkan namanya menjadi Algoritmi. Dari serapan lidah itulah, kata "Algoritma" lahir. Sebuah nama yang kini bukan lagi sekadar sejarah, melainkan detak jantung dari setiap baris kode komputer, mesin pencari, hingga kecerdasan buatan (AI) yang kita gunakan saat ini. Al-Khawarizmi tidak sekadar menemukan angka; beliau meretas jalan kemanusiaan menuju masa depan.
Apa itu Algoritma Pemrograman?
Algoritma adalah urutan langkah-langkah logis yang disusun secara sistematis untuk menyelesaikan suatu masalah. Dalam informatika, algoritma menjadi fondasi penting merancang program karena komputer memerlukan instruksi yang terstruktur.
- Panaskan air.
- Masukkan teh ke dalam gelas.
- Tuangkan air panas ke dalam gelas.
- Tambahkan gula.
- Aduk hingga merata.
Sejarah & Struktur Bahasa C
Awal Mula Bahasa C
Bahasa pemrograman C berawal dari pengembangan sistem operasi Unix oleh Dennis Ritchie dan Ken Thompson. Saat itu, Unix masih menggunakan bahasa assembly pada komputer mini PDP-7 buatan Digital Equipment Corporation.
Ken Thompson awalnya mencoba membuat kompilator Fortran untuk komputer ini namun gagal. Ia lalu menciptakan bahasa B (bentuk sederhana dari BCPL), tetapi bahasa B ternyata sangat lambat sehingga jarang digunakan.
Pada tahun 1972, Dennis Ritchie meningkatkan bahasa B dan menciptakan bahasa pemrograman baru bernama C. C kemudian digunakan pada Unix versi 2. Puncaknya pada November 1973 (Unix versi 4), kernel (program inti) sistem operasi ditulis ulang menggunakan bahasa C.
Struktur Dasar Bahasa C
int main() {
printf("Hello World!\\n");
return 0;
}
- #include <stdio.h>: Bagian struktur untuk mengimpor fungsi-fungsi dari header file (file berekstensi .h berisi definisi fungsi seperti printf) agar bisa digunakan di program lain.
- main(): Fungsi utama yang akan dieksekusi pertama kalinya oleh program.
- printf(): Fungsi dari library stdio.h untuk menampilkan output ke layar komputer. Mendukung format specifier seperti
%suntuk string,%duntuk desimal, dan\nuntuk baris baru.
Sejarah Umum Bahasa Pemrograman
Tahun 1843
Programmer PertamaTahun 1843
Ada Lovelace & Mesin Analitik
Jauh sebelum komputer elektronik lahir, Ada Lovelace menulis algoritma pertama di dunia yang ditujukan untuk diproses oleh mesin mekanik buatan Charles Babbage (Analytical Engine). Ia adalah programmer komputer pertama di dunia.
Tahun 1940-an
Bahasa Mesin & AssemblyTahun 1940-an
Era Biner (0 dan 1)
Komputer awal diprogram secara fisik menggunakan saklar atau dengan kartu berlubang (Punch Cards). Kodenya murni berupa angka 0 dan 1 (Bahasa Mesin). Kemudian lahir Bahasa Assembly yang menggunakan singkatan bahasa Inggris (seperti ADD, SUB) untuk mempermudah pemrograman.
1950 - 1970-an
Bahasa Tingkat Tinggi Awal1950 - 1970-an
FORTRAN & COBOL
Diciptakan bahasa pemrograman yang lebih mirip dengan bahasa Inggris (High-Level Language). FORTRAN mendominasi untuk komputasi sains, dan COBOL digunakan luas untuk kebutuhan bisnis.
1990 - Sekarang
Era Internet & Modern1990 - Sekarang
Java, Python, & JavaScript
Dengan munculnya Internet, bahasa pemrograman meledak. Python (1991) rilis dengan sintaks yang bersih. Java (1995) hadir dengan moto "Tulis sekali, jalankan di mana saja". JavaScript (1995) lahir untuk membuat halaman web menjadi interaktif.
Tingkatan Bahasa Pemrograman
Low-Level Language
Bahasa tingkat rendah. Sangat dekat dengan bahasa mesin yang dipahami oleh hardware komputer. Sangat sulit dibaca oleh manusia.
- 1. Bahasa Mesin (Machine Code) Contoh: 1011001 0100101
- 2. Bahasa Assembly Contoh: MOV AL, 61h
High-Level Language
Bahasa tingkat tinggi. Sangat dekat dengan bahasa manusia (bahasa Inggris). Mudah dibaca, ditulis, dan diperbaiki oleh programmer.
- Python, Ruby, PHP print("Halo Dunia")
- C++, Java, C# System.out.println("Halo Dunia");
Macam-Macam Paradigma Pemrograman
Gaya atau cara berpikir dalam menstrukturkan sebuah kode program.
1. Pemrograman Prosedural
Kode dieksekusi secara urut dari atas ke bawah. Fokus pada urutan langkah dan fungsi (prosedur).
Contoh: C, Pascal.
2. PBO (Object-Oriented)
Program dibagi menjadi "Objek" yang memiliki data (atribut) dan perilaku (method). Sangat cocok untuk proyek skala besar.
Contoh: Java, C++, Python.
3. Pemrograman Fungsional
Fokus pada evaluasi fungsi matematika dan menghindari perubahan status data secara langsung (Immutable).
Contoh: Haskell, Lisp, JavaScript.