Mengungkap Jejak: Bahasa Pemrograman Pertama di Dunia

Input Data Awal Representasi Logika Digital

Visualisasi sederhana dari instruksi mesin awal.

Ketika kita berbicara tentang "bahasa pemrograman pertama," kita seringkali langsung berpikir tentang bahasa tingkat tinggi seperti FORTRAN atau Lisp. Namun, untuk memahami evolusi perangkat lunak, kita harus menelusuri lebih jauh ke masa ketika instruksi komputer masih sangat mendasar dan terikat erat dengan perangkat keras fisik. Konsep pemrograman itu sendiri lahir dari kebutuhan untuk mengotomatisasi perhitungan yang rumit, yang jauh sebelum adanya monitor dan keyboard modern.

Dari Mekanik ke Elektronik: Fondasi Pemrograman

Jauh sebelum era komputer elektronik, sudah ada upaya untuk memprogram mesin. Charles Babbage dan Ada Lovelace, misalnya, merancang konsep untuk Mesin Analitis pada abad ke-19. Lovelace dikenal karena menulis algoritma yang dimaksudkan untuk dijalankan oleh mesin tersebut, yang menjadikannya kandidat kuat sebagai programmer pertama dalam sejarah. Meskipun mesinnya tidak pernah selesai dibangun sepenuhnya pada masa itu, konsep instruksi sekuensial dan memori yang dapat diprogram sudah ada dalam gagasan mereka. Ini adalah pemrograman dalam bentuk instruksi mekanis.

Namun, jika kita membatasi definisi pada bahasa yang benar-benar diimplementasikan pada mesin komputasi elektronik, kita harus melihat era Perang Dunia II dan pasca-perang. Komputer pertama seperti ENIAC (Electronic Numerical Integrator and Computer) menggunakan metode pemrograman yang sangat primitif. ENIAC, yang selesai pada tahun 1945, tidak memiliki program yang tersimpan dalam memori seperti yang kita kenal sekarang. Pemrogram harus secara fisik mengatur ulang kabel dan sakelar pada panel mesin. Proses ini bisa memakan waktu berhari-hari hanya untuk menyiapkan satu perhitungan baru.

Bahasa Tingkat Rendah: Bahasa Mesin dan Assembly

Bahasa pemrograman pertama yang sesungguhnya, dalam arti instruksi yang dapat ditulis dan disimpan secara elektronik, adalah **Bahasa Mesin (Machine Code)**. Bahasa ini terdiri dari urutan biner (0 dan 1) yang secara langsung dipahami oleh unit pemrosesan pusat (CPU) komputer. Setiap instruksi dalam bahasa mesin adalah operasi dasar seperti "tambah," "pindahkan data," atau "lompat." Menulis program dalam kode biner murni sangat rentan terhadap kesalahan dan hampir mustahil untuk dibaca atau diperbaiki oleh manusia.

// Contoh konseptual instruksi Bahasa Mesin (Bukan kode aktual ENIAC/EDSAC) 00101101 // Pindahkan data ke register A 01100010 // Tambahkan nilai dari alamat memori X 11110000 // Simpan hasilnya

Untuk membuat proses ini sedikit lebih manusiawi, lahirlah **Bahasa Assembly**. Bahasa Assembly adalah tingkat abstraksi satu langkah di atas bahasa mesin. Assembly menggunakan singkatan mnemonik (seperti `ADD`, `MOV`, `JMP`) untuk menggantikan urutan biner. Meskipun masih terikat erat pada arsitektur perangkat keras spesifik, bahasa Assembly adalah langkah monumental pertama menuju pemrograman yang lebih terstruktur dan dapat dibaca. Para insinyur seperti Kathleen Booth mulai mengembangkan assembler, yaitu program yang menerjemahkan kode mnemonik ini kembali menjadi bahasa mesin yang dapat dieksekusi.

Lahirnya Bahasa Tingkat Tinggi Pertama

Titik balik sejati dalam sejarah pemrograman terjadi ketika para ilmuwan berusaha menciptakan bahasa yang memungkinkan programmer fokus pada logika masalah daripada detail instruksi mesin. Inilah yang disebut bahasa tingkat tinggi. Banyak yang setuju bahwa **FORTRAN (Formula Translation)**, yang dikembangkan oleh tim IBM yang dipimpin oleh John Backus, adalah bahasa tingkat tinggi pertama yang sukses secara komersial dan luas digunakan.

FORTRAN dirilis pada pertengahan tahun 1950-an. Tujuannya adalah untuk menyederhanakan pemrograman komputasi ilmiah dan teknik. Meskipun FORTRAN membutuhkan waktu yang signifikan untuk pengembangan kompiler pertamanya (yang menerjemahkan kode FORTRAN menjadi kode mesin), keberhasilannya membuktikan bahwa bahasa yang lebih dekat dengan notasi matematika manusia bisa seefisien, atau bahkan lebih efisien, daripada kode Assembly yang ditulis tangan. Keberhasilan FORTRAN membuka pintu bagi semua bahasa modern yang kita gunakan hari ini, mulai dari C, Python, hingga JavaScript.

Singkatnya, bahasa pemrograman pertama bervariasi tergantung definisi kita: apakah itu algoritma konseptual (Lovelace), pemrograman fisik kabel (ENIAC), instruksi biner langsung (Bahasa Mesin), atau bahasa yang dapat dikompilasi dan dipahami manusia (FORTRAN). Namun, semuanya menunjukkan satu hal: dorongan manusia untuk menginstruksikan mesin secara efektif adalah fondasi dari era digital.