Politik dan Komputer

Filsafat Itu Apa
Apa yang Anda pikirkan tentang filsafat? Menurut definisi kamus, filsafat adalah kegiatan memikirkan kehidupan dunia dan pertanyaan-pertanyaan mendasar serta mencari jawabannya secara bertahap. Kita juga dapat mengajukan definisi perilaku, yaitu bahwa filsafat bukanlah penyelesaian soal yang jawabannya sudah pasti, melainkan perluasan pemikiran melalui pertanyaan yang sama atau pertanyaan yang berantai tanpa henti, serta pembagian jawabannya kepada orang lain.
Pada masa lalu, ketika saya sedang menempuh program sarjana, saya pernah mengambil mata kuliah yang berkaitan dengan filsafat politik. Pada saat perkenalan diri saya, dosen saya menyampaikan pernyataan yang kurang lebih serupa dengan filsafat politik dan ilmu komputer adalah disiplin ilmu yang berada di puncak dari filsafat yang berbeda satu sama lain. Saya ingat itu. Kata dan kalimat yang persis tidak seperti itu, tetapi kira-kira maksudnya demikian.
Ilmu Komputer
Saya berpendapat bahwa ilmu komputer adalah penelitian mendasar untuk menyelesaikan masalah logis. Oleh karena itu, setiap orang yang memikirkan suatu masalah dapat menghasilkan berbagai jawaban. Contoh yang paling representatif adalah pengurutan (sorting). Terdapat banyak metode untuk mengurutkan data yang tersusun dengan cara yang sama, seperti bubble, insertion, selection, merge, quick, heap, dan tim sort. Lalu, dengan membagi-bagi persoalan tersebut, dapat lahir algoritma yang lebih baik.
Selain itu, jika dilihat secara lokal, dapat dikatakan bahwa ilmu komputer adalah membuat dan membuktikan. Bahkan pengurutan di atas pun terus dibuat dengan cara mengurutkannya dan membuktikan hasilnya. Bagi mereka yang berprofesi sebagai pengembang, contoh yang lebih dekat adalah ketika ada perencanaan proyek, maka perlu diimplementasikan dan dibuktikan bahwa program tersebut berjalan dengan baik.
Filsafat Politik
Saya berpendapat bahwa filsafat politik adalah penelitian mendasar untuk menyelesaikan masalah sosial. Pada setiap zaman, terdapat masalah yang sudah ada tetapi berbeda, yang diajukan secara berulang, dijawab, dan kemudian dibagikan kepada masa kini dan masa depan. Filsafat politik terutama membahas nilai-nilai abstrak seperti keadilan, kebebasan, kesetaraan, dan kekuasaan, yang ditafsirkan secara berbeda menurut zaman dan budaya. Filsafat politik tidak memiliki garis yang jelas antara baik dan buruk, atau antara jawaban benar dan salah, dan karena itu ia memiliki sifat yang tidak pasti.
Selain itu, jika dilihat secara lokal seperti ilmu komputer, dapat dikatakan bahwa filsafat politik adalah bertanya dan merefleksikan. Terhadap masalah yang muncul, terus-menerus diajukan pertanyaan: mengapa hal itu terjadi, arah mana yang lebih baik, lalu dilakukan refleksi dan dihasilkan jawaban. Hal ini juga menghasilkan banyak jawaban yang sebanding dengan jumlah orang yang berpikir.
Mengapa Kita Perlu Memahami Politik dan Komputer
Hubungan Saling Memanggil
Kedua dunia ini tampak menggali bidang yang berbeda, tetapi pada kenyataannya keduanya memiliki banyak kesamaan dan sangat banyak titik yang saling menjadi sebab dan akibat.
Izinkan saya memberikan satu contoh.
- Jika data kesehatan pribadi disimpan dengan aman di awan, maka ketika diperlukan, data tersebut dapat diakses dengan cepat oleh setiap rumah sakit ⇒ hal ini diimplementasikan dengan pemrograman agar aman dan mudah diakses, dengan memanfaatkan fungsi dari setiap bidang.
- Lalu, data tersebut milik siapa? Saya? Petugas yang mendaftarkan? Atau penyelenggara? Pengembang? Negara? Sejauh mana mereka dapat melihat data saya? Sampai sejauh mana dan dengan cara apa perlindungan atas informasi pribadi saya dapat dijamin? ⇒ Akan terjadi wacana politik mengenai posisi dan perbedaan kepentingan antara berbagai komunitas serta masing-masing individu.
- Setelah itu, wacana politik dan perancangan serta implementasi pemrograman akan terus saling menyambung dan berulang dari waktu ke waktu.
Dengan demikian, ketika ilmu komputer digunakan untuk menyelesaikan masalah sosial yang ada, lalu masalah yang muncul darinya dikenali dan dipecahkan, filsafat politik digunakan untuk mengajukan pertanyaan dan kemudian menyelesaikan masalah berikutnya. Dalam masyarakat informasi modern, hal ini adalah fenomena yang wajar.
Apakah Politik dan Komputer Itu Serupa
Hal yang Tampaknya Tidak Serupa
Kedua dunia ini juga berkembang dengan bentuk yang serupa. Namun, dasarnya memiliki perbedaan antara ekspresi yang ambigu dan ekspresi yang jelas, sebagaimana hubungan antara filsafat sosial dan filsafat alam. Dalam filsafat politik, dasarnya adalah definisi yang berubah-ubah dan ambigu yang tersusun dalam bahasa alami, sedangkan ilmu komputer didasarkan pada proposisi yang tidak berubah dan jelas yang tersusun dalam rumus, bukan bahasa alami.
Selain itu, arah yang dituju juga berbeda secara halus. Ilmu komputer memandang bahwa solusi optimal dapat ada. Sementara itu, dalam filsafat politik dibicarakan konsep yang ambigu seperti argumen yang lebih persuasif, argumen yang lebih berdasar, atau argumen yang lebih etis. Namun, menurut saya, arah kedua bidang ini hampir sama. Pada akhirnya, keduanya tampak berupaya menuju hari esok yang lebih baik. Misalnya, ilmu komputer pun memiliki berbagai bidang, tetapi secara representatif, dalam bidang kompresi media yang disebut codec, orang berupaya menghasilkan rasio kompresi, kinerja kompresi, dan biaya lisensi yang lebih baik.
Hal yang Tampaknya Mirip
Secara representatif, bahasa pemrograman dan ideologi pemerintahan tampaknya diterapkan pada manusia dengan cara yang serupa. Setiap bahasa dan ideologi tidak dapat dipetakan secara langsung satu sama lain, tetapi saya akan mencoba menjajarkannya untuk kesenangan.
- Bahasa C (
pengembang mengetahui apa yang sedang ia lakukan): Saya ingin mengaitkannya dengan republikanisme. Hal ini karena secara historis ia mirip dengan republik yang menjadi dasar sistem politik Barat, dan juga karena ia mirip dengan komunitarianisme yang menghargai kesadaran setiap warga negara serta upaya individu untuk bergerak menuju cita-cita yang lebih baik. Selain itu, saya merasa bahwa hak disertai tanggung jawab adalah kesamaannya. - Java (
sekali tulis, dijalankan di mana saja): Saya tidak tahu. Ada hukum yang kuat, dan orang menjalani hidup yang seragam dengan mematuhinya, tetapi itu stabil dan di dalamnya orang bebas. Lalu, jika masuk ke Spring, berbagai kesejahteraan sudah menanti Anda. Apakah kita sebut liberalisme? - C# (
keselarasan antara produktivitas pengembang dan prinsip rekayasa perangkat lunak): Di bawah perlindungan pemerintah yang kuat, semuanya dirancang dengan baik, dan di dalam apa yang telah direncanakan, produktivitas serta kinerja dapat didorong hingga batas maksimum. Ekonomi terencana cocok di sini. Perbedaannya dengan komunisme adalah bahwa alat produksi telah dilepaskan dan produsen tidak dibatasi. - Go (
meninggalkan kompleksitas, mengambil kepraktisan dan efisiensi): Tidak ada yang serupa. Karena semuanya diberikan secara melimpah, sebaiknya Anda menjadi negara kesejahteraan. - Rust (
keamanan tanpa penurunan kinerja): Kepemilikan (ownership) dan lifetime dalam Rust dikelola oleh penguasa yang berupa compiler yang ketat. Hal ini, untuk mencegah ketidakadilan dan risiko yang lahir dari kegiatan ekonomi bebas individu, komunitas mengelola dan merencanakan alat produksi untuk menjamin kehidupan yang stabil, sehingga tampak sebagai upaya untuk mengejar keamanan dan kesetaraan bagi seluruh sistem dengan membatasi sebagian kebebasan individu; oleh karena itu saya menganggapnya sosialisme. - JavaScript (
fleksibilitas dan toleransi, serta keberadaannya di mana-mana): Saya ingin mengaitkannya dengan kapitalisme. Bahasa ini membuat alat produksi dimiliki oleh setiap individu, bahkan peralatan pun dimiliki individu secara melimpah. Berkat itu, muncul berbagai produk industri, dan melalui persaingan bebas setiap orang dapat mengejar keuntungan. Namun, pasar tanpa regulasi segera jatuh ke dalam kekacauan. - TypeScript (
JavaScript yang diperluas): Tentu saja ia adalah kapitalisme yang dimodifikasi. Kepercayaan terhadap kapitalisme runtuh, dan untuk mengatasi ketidakstabilan pasar, pemerintah ikut campur sampai batas tertentu. Kebebasan penuh sebelumnya relatif mundur, tetapi setiap orang tetap bebas memasuki pasar dan bersaing.
Selain itu, tidak sedikit pengembang yang saling berperang dengan bahasa, seolah-olah sedang berperang ideologi dalam kenyataan. Bahasa itu sendiri adalah ideologi yang akrab bagi pengembang, sekaligus cita-cita yang harus dikejar.
Negara dan Arsitektur
- Arsitektur monolitik dan negara sentralistik: Seluruh isi berada dalam satu basis kode yang besar dan satu biner. Struktur ini mirip dengan negara kesatuan dengan pemerintahan pusat yang kuat atau monarki absolut. Seluruh fungsi negara dikendalikan oleh satu sistem kekuasaan.
- Keunggulannya adalah bahwa bentuk negara paling mudah dibangun dan keputusan dapat diambil dengan cepat. Hal ini sejalan dengan keunggulan seluruh perangkat lunak yang dapat dirilis dengan cepat. Karena semua sumber daya dan informasi terkumpul di satu tempat, pengelolaannya jelas.
- Namun, semakin besar negara, semakin sulit meresponsnya terhadap perubahan, dan bahkan untuk mengubah satu peraturan kecil, seluruh sistem harus ditinjau dan diterapkan. Ada pula risiko bahwa masalah di satu bidang melumpuhkan seluruh negara. Monolitik juga sulit merespons perubahan karena basis kode besar dan kode yang saling terkait; untuk mengubah satu baris kode pun harus dihitung cakupan dampaknya, dan masalah pada satu modul mudah berdampak pada seluruh sistem.
- MSA dan negara federal: Setiap fungsi sistem dipisahkan menjadi layanan yang independen. Hal ini memiliki kesamaan dengan negara federal, yang setiap bagiannya terdiri dari banyak negara bagian yang independen. Selain itu, setiap layanan dan negara bagian memiliki infrastruktur independen. Campur tangan pemerintah pusat cenderung longgar, dan kapan kemerdekaan atau penggabungan akan terjadi juga tidak diketahui, yang juga merupakan kesamaan.
- Pada dasarnya, setiap negara bagian dan layanan independen dapat merevisi undang-undang atau menulis kodenya sendiri secara mandiri. Dengan demikian, tidak perlu menyamakan tempo satu sama lain. Selain itu, meskipun masalah muncul di satu tempat, seluruh federasi sulit lumpuh. Setiap wilayah atau bidang juga dapat memilih sistem (teknologi) yang sesuai.
- Namun, mencapai kesepakatan bersama atau membuat saluran komunikasi antarnegara bagian adalah hal yang sulit. Sulit untuk menjalankan kebijakan yang konsisten, sehingga dapat menimbulkan kekacauan.
- EDA (Event Driven Architecture) dan masyarakat sipil: Alih-alih pemerintah pusat atau wakilnya memberi perintah secara langsung, masalah sosial yang muncul diambil dan diselesaikan secara mandiri dan proaktif oleh setiap individu. Hal ini mirip dengan ciri EDA, yaitu ketika suatu peristiwa terjadi, salah satu pelanggan (subscriber) mengambilnya secara mandiri dan memprosesnya.
- Siapa pun dapat berpartisipasi dengan mudah. EDA juga memungkinkan layanan baru dengan mudah menjadi pelanggan baru dan ikut serta dalam proses.
- Namun, ada kelemahan bahwa alur keseluruhan tidak dapat dipahami. Sulit melacak siapa yang memproses dan bagaimana, serta tidak diketahui reaksi berantai apa yang akan ditimbulkan oleh satu peristiwa.
- Layered Architecture dan feodalisme: Feodalisme adalah struktur di mana setiap orang di lapisannya menjalankan peran dan tanggung jawab yang diberikan, dan melaksanakan kewajiban terhadap lapisan di atasnya. Hubungan ini terjalin dalam bentuk semacam kontrak, dan dapat ditemukan persamaan dengan layered architecture karena membentuk struktur kekuasaan vertikal yang ketat.
Demikian, masih banyak analogi lain yang mungkin, tetapi inti dari tulisan ini bukan terletak pada strukturnya itu sendiri, melainkan pada proses dalam membangun struktur tersebut.
Apakah Penyelesaian Masalah dalam Pengembangan dan Politik Sama?
Jika arsitektur perangkat lunak dan sistem negara itu mirip, maka proses dalam membangun keduanya juga membentuk garis paralel yang mengejutkan. Proses pengembangan perangkat lunak pada dasarnya tidak berbeda dari tindakan politik yang membangun dan mengembangkan tatanan baru di ruang digital.
- Publikasi masalah sosial dan analisis kebutuhan**:** Segalanya dimulai dari pertanyaan "Apa masalahnya?" Sebagaimana penderitaan dan ketidaknyamanan masyarakat sipil menjadi agenda politik setelah dipublikasikan, ketidaknyamanan dan kebutuhan pengguna, setelah melalui analisis, menjadi tonggak pertama pengembangan berupa "spesifikasi kebutuhan".
- Perancangan konstitusi dan desain arsitektur**:** Negara seperti apa yang akan dibangun? Sistem seperti apa yang akan dibuat? Sebagaimana para politisi meletakkan kerangka konstitusi dan undang-undang berdasarkan ideologi dan filsafat, arsitek menggambar cetak biru arsitektur yang menjadi dasar sistem berdasarkan keyakinan teknis. Keputusan pada tahap ini menentukan nasib sistem.
- Pelaksanaan kebijakan dan implementasi perangkat lunak**:** Setelah rancangan selesai, pengembang menulis kode sesungguhnya, dan birokrat menjalankan kebijakan sesuai undang-undang. Ini adalah proses ketika rencana yang abstrak lahir menjadi wujud konkret yang berfungsi di dunia nyata.
- Penilaian melalui pemilihan umum dan pengujian perangkat lunak**:** Kebijakan dinilai legitimasinya melalui pemilihan umum dan opini publik. Perangkat lunak diverifikasi nilainya melalui pengujian tim QA dan umpan balik pengguna. Keduanya pada akhirnya harus memperoleh persetujuan dari pemegang kedaulatan (warga negara, pengguna) agar dapat bertahan.
- Reformasi kelembagaan dan pemeliharaan sistem**:** Undang-undang dan sistem yang sudah dibuat tidak bersifat abadi. Sebagaimana hukum lama direvisi dan lembaga direformasi mengikuti perubahan zaman, perangkat lunak pun harus beradaptasi dengan lingkungan yang berubah dan memperbaiki inefisiensi internal melalui "refaktorisasi"; begitu berhenti, ia akan menjadi kode mati.
Demikianlah, seluruh proses, mulai dari definisi masalah, perancangan, implementasi, verifikasi, hingga perbaikan yang tiada henti, menunjukkan bahwa kedua dunia ini berbagi ritme penyelesaian masalah yang sama.
Hari bagi Para Legislator Baru
Masyarakat informasi telah membuat jarak antara dua puncak filsafat tersebut menjadi tidak bermakna. Kode tidak lagi sekadar sirkuit logika sederhana, melainkan menjadi "hukum (Code is Law)" yang mengatur hubungan antarmanusia, mendistribusikan kekuasaan, dan mewujudkan nilai-nilai sosial. Jika arsitektur yang kita rancang mirip dengan struktur pemerintahan negara, dan proses pengembangan yang kita ikuti sama dengan proses kesepakatan politik, maka siapakah sebenarnya kita para pengembang ini? Dan apa yang seharusnya dilakukan para politisi? Oleh karena itu, pengembang kini harus merefleksikan tidak hanya logika kode, tetapi juga masyarakat yang akan dibentuk oleh kode tersebut, dan politisi harus memahami tidak hanya logika suara, tetapi juga logika teknologi yang menggerakkan dunia. Hal ini karena kekuasaan besar yang kita jalankan di dunia masing-masing disertai dengan tanggung jawab etis yang sama besarnya.