Mesin analitikBagian dari mesin penghitung dengan mekanisme pencetak dari mesin analitik, dibuat oleh Charles Babbage, seperti yang dipamerkan di Science Museum, London[1]
Mesin analitik adalah rancangan komputer digitalmekaniskomputer tujuan umum yang diusulkan oleh matematikawan dan pelopor komputer asal Inggris Charles Babbage.[2][3] Mesin ini pertama kali dijelaskan pada tahun 1837 sebagai penerus mesin beda karya Babbage, yang merupakan rancangan untuk kalkulator mekanis yang lebih sederhana.[4]
Mesin analitik mencakup sebuah unit logika aritmetika, alur kendali dalam bentuk percabangan bersyarat dan perulangan, serta memori terintegrasi, menjadikannya rancangan pertama untuk komputer tujuan umum yang dalam istilah modern dapat digambarkan sebagai lengkap Turing.[5][6] Dengan kata lain, struktur mesin analitik pada dasarnya sama dengan desain komputer yang mendominasi era elektronik.[3] Mesin analitik merupakan salah satu pencapaian paling luar biasa dari Charles Babbage.
Babbage tidak pernah dapat menyelesaikan pembangunan salah satu mesinnya karena konflik dengan insinyur utamanya dan kurangnya pendanaan.[7][8] Baru pada tahun 1941 Konrad Zuse membangun komputer tujuan umum pertama, Z3, lebih dari satu abad setelah Babbage mengusulkan mesin analitik perintisnya pada tahun 1837.[3]
Desain
Dua jenis kartu berlubang yang digunakan untuk memprogram mesin. Depan: "kartu operasional", untuk memasukkan instruksi; belakang: "kartu variabel", untuk memasukkan data
Upaya pertama Babbage dalam membuat perangkat komputasi mekanis, mesin beda, adalah mesin tujuan khusus yang dirancang untuk membuat tabel logaritma dan fungsi trigonometri dengan mengevaluasi beda hingga guna membentuk polinomial aproksimasi. Pembangunan mesin ini tidak pernah selesai; Babbage berselisih dengan insinyur utamanya, Joseph Clement, dan akhirnya pemerintah Inggris menarik pendanaannya.[9][10][11]
Selama proyek ini, Babbage menyadari bahwa desain yang jauh lebih umum, yaitu mesin analitik, dimungkinkan.[9] Pekerjaan pada desain mesin analitik dimulai sekitar tahun 1833.[12][4]
Masukan, yang terdiri dari program (“rumus”) dan data,[13][9] akan diberikan ke mesin melalui kartu berlubang, metode yang saat itu digunakan untuk mengendalikan alat tenun mekanis seperti alat tenun Jacquard.[4] Untuk keluaran, mesin akan memiliki pencetak, pembuat grafik lengkung, dan lonceng.[9] Mesin ini juga dapat melubangi angka pada kartu untuk dibaca kembali kemudian. Mesin ini menggunakan aritmetika titik tetap basis-10 biasa.[9]
Akan ada tempat penyimpanan (yaitu memori) yang mampu menampung 1.000 angka dengan 40 digit desimal[4] masing-masing (sekitar 16,6 kB). Sebuah unit aritmetika (“penggilingan”) dapat melakukan keempat operasi aritmetika, serta perbandingan dan secara opsional akar kuadrat.[4] Awalnya (1838) mesin ini dirancang sebagai mesin beda yang melengkung ke dalam dirinya sendiri, dalam tata letak melingkar, dengan tempat penyimpanan panjang di salah satu sisi.[4] Gambar-gambar kemudian (1858) menggambarkan tata letak kisi yang lebih teratur.[14][15] Seperti unit pemroses pusat (CPU) dalam komputer modern, “penggilingan” akan bergantung pada prosedur internalnya sendiri, kira-kira setara dengan mikrokode dalam CPU modern, yang disimpan dalam bentuk pasak yang dimasukkan ke dalam drum berputar yang disebut “barrel”, untuk melaksanakan beberapa instruksi kompleks yang mungkin ditentukan oleh program pengguna.[7]
Bahasa pemrograman yang digunakan oleh pengguna mirip dengan bahasa rakitan modern. Perulangan dan percabangan bersyarat dimungkinkan, sehingga bahasa yang dirancang ini akan lengkap Turing seperti yang kemudian didefinisikan oleh Alan Turing. Tiga jenis kartu berlubang digunakan: satu untuk operasi aritmetika, satu untuk konstanta numerik, dan satu untuk operasi pemuatan dan penyimpanan, yaitu memindahkan angka dari penyimpanan ke unit aritmetika atau sebaliknya. Ada tiga pembaca terpisah untuk ketiga jenis kartu tersebut. Babbage mengembangkan sekitar dua lusin program untuk mesin analitik antara 1837 dan 1840, dan satu program tambahan kemudian.[4][16] Program-program ini membahas polinomial, rumus iteratif, eliminasi Gauss, dan bilangan Bernoulli.[4][17]
Pada tahun 1842, matematikawan Italia Luigi Federico Menabrea menerbitkan deskripsi mesin ini dalam bahasa Prancis,[18] berdasarkan kuliah yang diberikan Babbage saat ia mengunjungi Torino pada tahun 1840.[19] Pada tahun 1843, deskripsi tersebut diterjemahkan ke dalam bahasa Inggris dan diberi catatan luas oleh Ada Lovelace, yang telah tertarik pada mesin ini delapan tahun sebelumnya.[13] Sebagai pengakuan atas tambahan yang dibuatnya pada makalah Menabrea — termasuk cara menghitung bilangan Bernoulli menggunakan mesin tersebut (yang secara luas dianggap sebagai program komputer lengkap pertama) — ia telah digambarkan oleh banyak orang sebagai programer komputer pertama, meskipun pandangan ini diperdebatkan oleh sebagian pihak.
Bromley, Allan G. (1990). "Difference and Analytical Engines". Dalam Aspray, William (ed.). Computing Before Computers(PDF). Ames: Iowa State University Press. hlm.59–98. ISBN978-0-8138-0047-9. Diarsipkan(PDF) dari versi aslinya tanggal 2022-10-09.
Rojas, Raul (January–March 2021). "The Computer Programs of Charles Babbage". IEEE Annals of the History of Computing. 43 (1): 6–18. doi:10.1109/MAHC.2020.3045717. S2CID232149889.
Wilkes, Maurice Vincent (1971). "Babbage as a Computer Pioneer". Proc. Babbage Memorial Meeting. London: British Computer Society. hlm.415–440.