Teori ketidaklengkapan Godel
June 8, 2015
Salah satu artikel terbaik yang bisa menjelaskan tentang Teori Ketidaklengkapan Godel (Godel’s Incompleteness Theorem) adalah artikel yang ditulis oleh Solomon Feferman. Artikel ini berjudul “The Nature and Significance of Godel’s Incompleteness Theorem“.
Teori Ketidaklengkapan Godel berusaha untuk menunjukkan bahwa dalam setiap sistem formal (formal system), terdapat pernyataan yang benar (true), namun pernyataan tersebut tidak dapat dibuktikan baik kebenarannya maupun ketidakbenarannya di dalam sistem tersebut.
Pada dasarnya, Teori Ketidaklengkapan Godel menunjukkan bahwa sebuah sistem formal, tidak dapat membuktikan dirinya sendiri. Untuk dapat membuktikan dirinya sendiri, sistem tersebut harus memperluas batasannya. Akan tetapi, sistem yang telah diperluas ini, juga tidak akan bisa membuktikan dirinya sendiri. Demikian seterusnya.
Beberapa berspekulasi bahwa Teori Ketidaklengkapan Godel membuktikan bahwa pikiran manusia tidak sama dengan suatu alat mekanis, bahwa manusia tidak dapat membuktikan dirinya sendiri. Bahwa logika, dasar dari semua pemikiran manusia, hanyalah sebuah asumsi. Logika tidak bisa membuktikan dirinya sendiri.
Mengapa memakai LaTeX
June 8, 2015
Bagi beberapa orang, mungkin latex bisa jadi adalah bahan sintetis seperti karet. Akan tetapi, dalam tulisan ini, LaTeX berarti bahasa markup untuk menyiapkan dokumen dengan menggunakan sistem pencetakkan (typesetting) TeX yang dibuat oleh Donald Knuth (Orang yang sama yang menulis buku klasik The Art of Computer Programming).
Di dunia tunjuk dan klik (point-and-click) sekarang, mungkin orang akan berpikir aneh jika ada yang menyarankan penggunaan LaTeX untuk membuat dokumen. Dengan menggunakan program pengolah kata, seperti Microsoft Words atau OpenOffice (dan saudaranya LibreOffice), tampaknya sebuah dokumen dapat dihasilkan dengan mudah. Lalu, untuk apa bersusah payah menggunakan LaTeX?
Jika Anda belum tahu, membuat dokumen dengan menggunakan LaTeX membutuhkan pengetahuan akan bahasa markup seperti kita menulis dokumen HTML (HyperText Markup Language). Dengan demikian, setiap efek terhadap tulisan, dituliskan dengan menggunakan markup. Ada markup untuk menulis miring, tebal, dan seterusnya.
Dengan cara menulis seperti itu, LaTeX dijuluki pembuat dokumen yang bersifat WYMIWYG (What You Mean Is What You Get — Kamu mendapatkan yang kamu maksud). Bandingkan dengan program pengolah kata yang bersifat WYSIWYG (What You See Is What You Get — Kamu mendapatkan yang kamu lihat).
Lalu, mengapa menggunakan LaTeX?
Jawaban yang paling sederhana adalah bahwa dengan LaTeX, kita lebih memiliki kendali terhadap hasil keluaran dokumen yang kita buat agar sesuai dengan keinginan kita. Hal ini terutama terasa ketika kita harus mengelola dokumen yang tebal.
Sebab lain adalah dengan LaTeX, otomatisasi merupakan sesuatu yang mudah. Daftar Isi, Daftar Gambar, Daftar Istilah, Daftar Tabel, Daftar Singkatan, Acuan terhadap nomor gambar dan letak halamannya, Daftar Pustaka, serta Indeks, semua dihasilkan secara otomatis oleh LaTeX. Dengan demikian, kita hanya perlu menulis, dan tak perlu memikirkan semua itu.
Terakhir, LaTeX menyimpan tulisan kita dalam file teks. Dengan demikian, kita bisa menggunakan program versioning (seperti svn) untuk merekam jejak perubahan dalam dokumen yang kita buat. Seperti tahapan penerbitan perangkat lunak, kita bisa menggunakan istilah alfa, beta, dan versi untuk tulisan kita.
Jika Anda tertarik, selamat mencoba LaTeX. Saya menemukan menulis jadi lebih menyenangkan dengan LaTeX. 🙂
Sistem formal dan teka-teki MU
June 8, 2015
Sistem formal (formal system) adalah sistem yang dibangun dari bahasa formal (formal language). Bahasa formal terdiri dari alfabet, yaitu sekedar simbol tanpa memiliki arti tertentu. Dari alfabet tersebut kita dapat membuat string (runtutan alfabet). Misalnya, kita memiliki sebuah kumpulan (set) S = {%, &, #}. Contoh string adalah (tanpa tanda petik) “%#”, “%&”, “%%%”, “%%&#”, dan seterusnya.
Sistem formal dibangun dengan cara menambahkan aturan untuk membentuk string di dalam suatu bahasa formal. Jadi, tidak sembarang string dapat dibangun dari alfabet. Dilihat dari sudut pandang tertentu, sistem formal seperti sebuah permainan dengan aturan-aturan yang harus ditaati. Semua kemungkinan yang muncul dalam permainan tersebut, adalah hasil dari penerapan aturan-aturan yang berlaku (tentu saja dalam sistem formal, kemungkinan-kemungkinan ini juga merupakan string).
Dalam buku yang ditulis oleh Douglas Houfstadter, yang berjudul Godel, Escher, Bach, terdapat satu teka-teki yang berkaitan dengan sistem formal ini. Teka-teki tersebut diberi nama teka-teki MU (MU-Puzzle). Teka-teki tersebut digambarkan sebagai berikut.
Terdapat satu bahasa formal yang terdiri atas tiga alfabet, yaitu M, I, dan U.
Dalam bahasa formal ini, dibuat sebuah sistem formal dengan aturan-aturan sebagai berikut.
Peraturan 1: Jika sebuah string berakhiran I, maka dapat ditambahkan U di akhir string tersebut. Contoh UI menjadi UIU.
Peraturan 2: Jika sebuah string memiliki bentuk Mx, dengan x adalah variabel yang juga berupa string, maka di akhir string dapat ditambahkan juga x. Misal, string MUI dapat kita ubah menjadi MUIUI. Contoh lain, string MIIU dapat kita ubah menjadi MIIUIIU.
Peraturan 3: Jika dalam satu string muncul III, maka dapat digantikan dengan U. Contoh MIII menjadi MU. IIIUI menjadi UUI.
Peraturan 4: Jika dalam satu string muncul UU, maka UU tersebut dapat dihilangkan. Misalkan, MUUU menjadi MU.
Teka-tekinya adalah sebagai berikut. Dimulai dari string MI, coba bentuk string MU dengan menerapkan aturan-aturan yang berlaku (yaitu aturan-aturan 1-4). Ada yang bisa? 🙂
Mengganti kata “Contents” menjadi “Daftar Isi” di LaTeX
June 8, 2015
Daftar Isi dihasilkan secara otomatis ketika kita menggunakan LaTeX. Akan tetapi, judul dari daftar isi itu menggunakan Bahasa Inggris, yaitu “Contents”. Untuk mengganti judul tersebut, misalnya ke “Daftar Isi”, gunakan perintah berikut.
\renewcommand{\contentsname}{Daftar Isi}
Menggunakan vim sebagai hex editor
June 8, 2015
Untuk menggunakan Vim sebagai Hex Editor, cukup buka file binari dan masukkan perintah berikut (tekan ESC dulu)
:%! xxd
Untuk kembali ke mode normal, ketikkan perintah berikut (tekan ESC dulu)
:%! xxd -r
Cerita di balik Ctrl-Alt-Del
June 8, 2015
Ctrl-Alt-Delete adalah kombinasi tombol di papan ketik komputer kita yang biasanya kita gunakan baik untuk melakukan reboot ataupun memunculkan Task Manager (Windows). Kombinasi tiga tombol ini terkenal dengan sebutan “Three-finger salute“.
Adalah David Bradley yang merancang tiga tombol ini saat dia bersama 12 teknisi lain merancang IBM PC. Saat itu, para teknisi harus sering kali melakukan restart ulang terhadap IBM PC dengan cara mematikan komputer, yaitu menghentikan asupan listrik ke komputer dan menyambungkannya lagi. Akan tetapi, cara ini membutuhkan waktu relatif lama padahal pekerjaan melakukan restart perlu dilakukan berulang-ulang. Ini memerlukan waktu lama karena setelah dimatikan, para teknisi harus menunggu terlebih dahulu sebelum komputer kembali dihidupkan. Hal ini dilakukan untuk mencegah kerusakan catu daya dan hard disk.
Untuk mengatasi ini, David Bradley merancang cara untuk melakukan warm reboot, yaitu me-restart ulang komputer tanpa harus menghentikan asupan listrik. Bradley memilih Ctrl-Alt-Del karena kombinasi ketiga tombol ini kecil kemungkinan ditekan secara bersamaan secara tidak sengaja.
Ketiga tombol ini, yang awalnya hanya dirancang untuk para teknisi, ternyata dianggap berguna oleh para pengembang sistem operasi sehingga digunakan untuk satu fungsi tertentu di sistem operasi. Demikianlah muncul pernyataan David Bradley “I may have invented it (control-alt-delete), but I think Bill [Gates] made it famous“.
Mengganti nama bab di LaTeX
June 8, 2015
LaTeX mendefinisikan bab suatu tulisan dengan markup \chapter{nama chapter}. Dengan markup ini, setiap bab akan ditulis chapter + penomoran chapter tersebut. Jika ingin mengubah kata “Chapter” menjadi “Bab”, tuliskan seperti ini
\renewcommand{\chaptername}{Bab}