Retrotektakular: Pemrograman Dengan Kartu | Hackaday

Lencana Supercon 6 baru-baru ini, jika Anda belum melihatnya, adalah komputer tipe kuno dengan panel depan yang berkedip-kedip. Itu mengingatkan pada Altair 8800, PDP-11, atau DG Nova. Namun, bahkan di masa lalu, hanya sedikit orang yang benar-benar memprogram komputer dengan sakelar. Biasanya, Anda dapat menggunakan sakelar untuk beralih di bootloader tingkat pertama yang kemudian akan memuat bootloader yang lebih baik dari beberapa jenis penyimpanan seperti pita magnetik atau kertas. Kebanyakan orang tidak benar-benar menggunakan sakelar.

Apa yang kebanyakan orang lakukan, bagaimanapun, adalah kartu punch. Secara teknis, kartu Hollerith, meskipun kami kebanyakan hanya menyebutnya kartu, kartu berlubang, atau kartu IBM. Ada banyak mesin berbeda yang dapat Anda gunakan untuk membuat kartu punch, tetapi tidak ada yang sepopuler IBM 029. Tentu saja, model dalam seri ini sangat mirip dengan yang digunakan orang untuk membuat kartu punch.

Untuk yang belum tahu, sebuah kartu seukuran uang dolar kuno — yang sedang bergaya ketika Herman Hollerith menemukannya. Kartu itu terbuat dari bahan yang tidak setebal folder file standar dan dibagi menjadi 80 kolom dan 12 baris. Kartu selanjutnya memiliki lebih banyak kolom, tetapi kartu tersebut tidak pernah benar-benar sesuai dengan skala yang sama dengan kartu 80 kolom klasik.

Untuk meninju angka pada kartu, mesin membuat lubang di salah satu dari 10 kolom terbawah. Jadi lubang di baris “1” adalah 1 dan lubang di baris “4” adalah 4. Kartu asli menggunakan lubang bundar dan 45 kolom, tetapi seorang penemu IBM bernama Lake menyadari bahwa lubang persegi sempit dapat memuat lebih banyak data pada tahun 1928. Baris ke-11 dan ke-12, dan terkadang baris “0”, digunakan untuk menunjukkan karakter khusus atau, terkadang, tanda angka.

Dek dengan “garis penyortiran” oleh ArnoldReinhold, CC-BY-SA-3.0

Sejujurnya, Anda dapat menafsirkan kartu sesuka Anda, tetapi dalam praktiknya, ada beberapa skema umum. Namun, tidak diketahui ada kartu yang dilubangi dalam biner di mana setiap lubang adalah 1 atau 0 dan setiap kolom membentuk angka biner. Di atas pengkodean karakter, ada konvensi format lain, seperti memiliki checksum atau nomor baris di kolom kartu tertentu. Nomor baris, khususnya, bagus karena memungkinkan Anda mengurutkan dek setelah dijatuhkan dan urutannya diacak. Trik umum lainnya adalah menggambar garis penanda diagonal di tepi setumpuk kartu sehingga Anda dapat dengan cepat melihat jika satu atau lebih kartu rusak.

Kartu kosong sering digunakan sebagai “penjaga” atau yang sekarang kita sebut sebagai penanda “akhir file”. Namun, beberapa program akan mencari nilai yang tidak mungkin seperti -9999999, misalnya.

Membaca

Pembaca kartu relatif sederhana. Sebagian besar pembaca menggunakan serangkaian sikat kawat tempat kartu dipindahkan. Di mana ada lubang, sikat bisa menyentuh pelat logam di bawah kartu dan menyelesaikan sirkuit. Jika ini terdengar tidak dapat diandalkan, itu karena tidak.

Peringatan lama “jangan melipat, menggulung, atau memotong” adalah permintaan bagi pengguna untuk tidak membuat kartu macet atau membuat lubang baru di dalamnya. Spindel, jika Anda tidak ingat, mungkin adalah paku yang tidak sesuai dengan OSHA di meja Anda sehingga Anda mendorong kertas untuk menahannya di tempatnya. Bukan strategi yang bagus untuk kartu berlubang.

Faktanya, lelucon yang umum adalah meninju setiap kolom di kartu sehingga menjadi tipis dan mengganggu pembaca, yang tentu saja tidak dihargai oleh operator. Ini kadang-kadang disebut kartu “renda” karena halus seperti renda.

Menulis

Jadi bagaimana Anda meninju kartu? Meskipun ada beberapa skema untuk meninju kartu precut secara manual, itu sebagian besar digunakan untuk aplikasi khusus seperti pemungutan suara, sekolah kecil tanpa peralatan, atau kontrol inventaris. Untuk penggunaan yang serius, Anda menggunakan keypunch. Anda dapat melihat video instruksional University of Michigan dari tahun 1967 tentang pengoperasian 029 di bawah ini.

Drum program 029

Ada tiga stasiun di 029: Yang paling kanan memegang kartu yang menunggu untuk dilubangi. Slot tengah adalah kartu yang saat ini Anda pukul. Paling kiri adalah kartu yang baru saja Anda tekan (biasanya). Karena mesin memiliki kartu kiri yang dapat dibaca, Anda dapat menduplikasi kolom dari kartu tersebut ke kartu yang sedang Anda kerjakan. Ini penting untuk melakukan koreksi. Anda dapat menyalin kartu sebelumnya hingga titik kesalahan, memperbaikinya, dan kemudian menyalin pukulan yang tersisa.

029 dapat melakukan banyak trik, termasuk meninju kartu yang akan mengatur opsi khusus untuk mesin itu sendiri. Anda akan mengambil kartu dan membungkusnya di sekitar drum yang akan mengontrol pengoperasian mesin. Misalnya, Anda dapat menentukan bidang atau mengatur mesin untuk secara otomatis melewati atau menduplikasi kolom. Operasi umum lainnya adalah mengatur pergeseran huruf atau angka secara otomatis untuk bidang tertentu.

Jika Anda tidak mendapatkan cukup dalam video pertama, bagian dua menunjukkan penggunaan lanjutan. Untuk perangkat elektromekanis yang dibuat pada 1960-an, ini adalah perangkat keras yang canggih.

Menafsirkan

Keypunches modern akan mencetak teks di sepanjang tepi atas sehingga Anda dapat melihat dan membacanya. Jika Anda memiliki kartu yang tidak ditafsirkan, Anda dapat memasukkannya melalui mesin untuk melakukan pencetakan. Misalnya, sebagian besar keluaran kartu dari suatu program tidak memiliki cetakan interpretasi di atasnya.

Untuk membantu Anda membaca kartu, banyak dari mereka memiliki panduan yang tercetak di atasnya. Kartu dasar hanya memiliki baris dan kolom yang dicetak. Tetapi kartu khusus akan menunjukkan bidang khusus untuk nomor baris atau data lain yang spesifik untuk program. Itu juga umum untuk melihat kartu dengan logo perusahaan atau sekolah.

Kartu Anda Sendiri

Gambar kartu khusus dari keypunch virtual

Ingin membuat kartu sendiri? Nah, cara terbaik adalah dengan membangun perangkat keras Anda sendiri. Yang terbaik kedua adalah mengambil beberapa kelebihan peralatan lama dan mengembalikannya — manual tersedia. Tetapi kebanyakan dari kita akan puas mencobanya secara online. Coba buat kartu dengan keypunch virtual. Ingin membacanya kembali? Anda juga bisa melakukannya.

Kami memang merindukan beberapa teknologi lama, tetapi kami tidak melewatkan kartu, sungguh. Ada banyak variasi. Kartu 96 kolom digunakan dengan Sistem IBM 3. Ada juga kartu berlubang tangan 40 kolom, kartu UNIVAC 90 kolom, dan bahkan kartu Powers-Samas 130 kolom. Kartu format aperture adalah kartu biasa dengan lubang untuk menerima sepotong kecil mikrofilm untuk menyimpan hal-hal seperti grafik.

Bahkan komputer IBM yang mengira mereka menggunakan kartu tidak berakhir. Sebuah komputer IBM khas mengambil “dek kartu virtual” dari pita magnetik atau floppy sebelum kartu akhirnya mati. Bisakah Arduino membaca kartu? Ya, ya bisa. Kartu berlubang terkenal dikembangkan bukan untuk komputer, tetapi untuk alat tenun. Mereka juga digunakan jauh kemudian untuk penguji tabung.

Judul grafis dari Universitas Columbia.