Ariandy Wiki

1 Introduksi

Apa yang dimaksud dengan "software"? Apa esensi dari "software"?

2 Definisi "software" di kamus populer

  • Wikitionary1
  • dictionary.com2
  • Oxford3 , 4
  • Merriam-Webster5
  • Collins6
  • Cambridge7
  • Longman8

Dari semua pendefinisian dari kata "software" di kamus tersebut, semuanya terlalu sempit dan tidak menjelaskan tentang esensi dari apa itu software. Kita memerlukan ontologi. Selain software, kita juga perlu mendefinisikan terma-terma berikut:

  • Hardware
  • Computer
  • Machine
  • Calculator
  • Program
  • Programmable
  • Code
  • Language
  • Error
  • Mistake
  • Bug
  • Fault
  • Malfunction

9 10

3 Tentang kata "Software"

Apa yang bisa kita simpulkan dari etimologi dan sintaks dari "software"?

Kata "software" muncul (setidaknya, selambat-lambatnya) oleh Tukey pada tahun 195811, dan bermakna sama seperti apa yang orang sebut sebagai "software" di tahun 2023, yang mana maknanya adalah "suatu hal yang tak berwujud, namun adalah bagian yang vital dari komputer". Dengan demikian, agar komputer dapat berguna, hardware dan /software/nya pun harus berguna.

Lalu, apa yang membedakan antara komputer tanpa software dengan kotak kosong?

Kata "hardware" muncul selambat-lambatnya pada abad ke-15 yang mana bermakna sebagai "small metal goods". Sedangkan frasa "hardware store" muncul selambat-lambatnya pada tahun 1789.12

Kata software sendiri adalah mass noun, yang mana ia digolongkan sebagai hal yang tak terhitung. Di saat seorang English non-native speaker menuliskan atau mengucapkan "a software", maka yang ia maksud sebenarnya adalah "a program".

Uncountable nouns tidak selalu tentang abstract nouns. Jika kita bisa membuat list mengenai sesuatu, maka ia akan dideskripsikan sebagai countable nouns. Contoh dari countable nouns yang bersifat abstrak, misalnya "failure", "achievement", "invitation", "friend". Dan ada juga uncountable nouns dari hal yang berwujud (konkrit), misalnya "water".

Dari situ kita mengetahui bahwa ada beberapa hal yang bersifat abstrak itu countable (bisa dihitung). Dan ada pula beberapa hal yang konkrit itu uncountable (tidak bisa dihitung). Uncountable disini maksudnya adalah "impractical to count".

Lebih lanjut mengenai semantik dari mass nouns 13

Bahasa natural (yang dalam konteks pembahasan ini adalah bahasa Inggris) terkadang menghambat cara berfikir14. Kita menerima keanehan sintaksis ini sebagai harga yang harus dibayar untuk menggunakan bahasa Inggris. Labih baik kita berpindah saja ke isu semantik yang lebih penting.

4 Tabiat orang-orang yang ada di status quo (2017-2022)

Sedari webdev sedang naik daun. Banyak para webdev yang mendefinisikan software hanya sebagai web. Ini saya bahas pada catatan saya yang berjudul "Apakah mempelajari pemrograman memerlukan matematika? / Apakah untuk menjadi Programmer perlu untuk memahami beberapa topik matematika?"

5 Perpektif Platonisme

Software pada Hardware sebagaimana koreografi ke penari. Yang mana, tentu saja koreografi "adalah" software. Koreografi tanpa penari, menjadikan koreografi tersebut hanyalah ide yang sia-sia. Penari15 tanpa koreografi pun juga adalah hal yang tak berguna.

Penari adalah hardware, koreografinya adalah software, dan apa yang mereka perform itu adalah sebuah running computer.

Gambar yang ada pada dance notation16 di atas sebuah kertas adalah "representasi" dari beberapa koreografi-koreografi yang berhubungan dekat dengan notasi-notasi tersebut. Ya, gambar-gambar tersebut bukanlah koreografi, melainkan hanya "representasi" dari koreografi. Koreografi yang dideskripsikan dengan notasi tersebut sebenarnya adalah objek abstrak yang eksistensinya bersifat eternal dan berada di dalam sebuah tempat yang kita sebut sebagai idea space. Jika kertas tersebut hilang/hancur/rusak, koreografinya tentu masih tetap ada; misalnya, koreografinya mungkin saja ter-representasikan di dalam ingatan para penari. Meskipun nantinya koreografi tersebut terlupa dan tidak ada yang mengingatnya lagi, atau bahkan koreografi tersebut sama sekali tidak pernah di-temukan oleh umat manusia, koreografi tersebut akan tetap exist di dalam tempat yang kita sebut dengan idea space tadi.

Gambar/notasi tersebut juga secara praktik tidak bisa mendeskripsikan suatu koreografi secara tepat. Karena akan selalu ada koreografi yang sedikit berbeda, yang mana, secara praktikal, gambarnya tidak memiliki ketelitian/resolusi yang cukup untuk menggambarkan perbedaannya. Sebagai contoh, anggaplah ada koreografi X yang sama dengan koreografi Z, namun dengan perbedaan gerakan tangan 1 mikrometer ke sebelah kiri. Secara praktik, tentunya tidak mungkin untuk membedakan X dan Z, karena,

  • secara praktik tentulah tidak mungkin untuk menggerakkan tangan dengan presisi mikrometer
  • pengelihatan kita pun terbatas untuk benar-benar melihat selisih perputaran tangan tersebut dengan presisi mikrometer.

Lalu munculah pertanyaan, apakah ide itu sebenarnya discovered ataukah invented? Jika saya meng-invent sebuah kata untuk memaknai sesuatu hal yang baru, konsep yang saya maknai dengan kata tersebut sebenarnya sudah ada di tempat yang tadi kita sebut sebagai idea space. Lalu, seorang Platonis akan mengatakan bahwa kata yang digunakan untuk mendeskripsikan konsep tersebut invented, sedangkan konsepnya sendiri discovered. Lalu, sebagai contoh, sewaktu Newton meng-invent kalkulus, yang dia invent adalah kata kalkulus itu sendiri dan notasi-notasi untuk konsep-konsep yang sebenarnya sudah exist, namun konsepnya belum diketahui oleh banyak orang. Konsep turunan di kalkulus akan selalu exist dan sudah exist sebelum kata kalkulus dan turunan di-invent, hanya saja kata "kalkulus" dan "derivatif" belum exist sebelum manusia exist.

Namun pertanyaan lainnya muncul: Bagaimana caranya kita menguji Platonisme? apakai Platonisme itu falsifiable?

Terlepas dari pertanyaan tersebut, bisa kita simpulkan, dalam pandangan Platonisme, koreografi adalah software. Penari adalah hardware. Resep masakan adalah software. Kertas dimana resep itu dituliskan bukanlah resep itu sendiri. Ia hanyalah representasi dari resep. Ibu kita biasanya mengajari kita memasak suatu resep tanpa menunjukkan kertas. Koki adalah hardware. Partitur adalah software. Yang memainkan musiknya adalah hardware. Hukum adalah software. Orang-orang di pemerintahan adalah hardware. Sehingga, bisa kita katakan bahwa software adalah koreografi untuk hardware. Software yang mengatur bagaimana hardware bekerja.

6 Teleologi dari Software

Apa kegunaan dari software? Apa tujuan dari perangkat lunak? Definisi dari "kursi" adalah gabungan dari ontologi dan teleologi. Secara ontologis, sebuah kursi adalah suatu benda yang memiliki sandaran punggung. Secara teleologis, kursi adalah benda yang digunakan manusia untuk duduk. Maka, sebuah kursi adalah suatu benda yang memiliki sandaran punggung dan digunakan oleh manusia untuk duduk. Semua aspek tersebut sifatnya esensial, atau dengan kata lain, apabila salah satu dari aspek tersebut tidak ada, maka objek tersebut bukanlah kursi.

7 Pendekatan Mereologi tentang komputer, hardware dan software

Secara, mereologis17, pengkategorian "software" dan "hardware" bersifat disjoint18: Jika sesuatu adalah software, maka ia bukanlah hardware. Jika sesuatu adalah hardware, maka ia bukanlah software. Komputer adalah gabungan dari hardware dan software. Atau dengan kata lain, komposisi dari komputer adalah hardware dan software, dan tidak ada yang lain.

Jadi, dengan satu-satunya kata "software" yang sebenarnya bisa kita katakan unqualified ini, di saat kita menyebutkannya, sebenarnya yang kita maksud adalah "bagian software dari semua komputer". Sehingga dalam hal ini, "software" itu seperti air, dalam artian: dengan menyebutkan bahwa "air exist", sebenarnya yang kita maksud adalah "ada suatu benda yang exist yang memiliki sifat-sifat air".

Namun software tidak sepenuhnya abstrak: Ia tersimpan di hardware sebagai pengatur hardware tersebut. Namun apakah itu adalah software? Ataukah ia hanyalah "representasi" dari software?

Hal apalagi yang dapat dianalisis sebagai gabungan dari hardware dan software? Koreografi, resep masakan, hukum.

Software house adalah perusahaan yang membuat software. Mengapa kita menyebut "hardware store" untuk tempat yang menjual hardware, namun untuk software kita menyebutnya dengan "software house"? Software house lebih mirip bengkel pandai besi (blacksmith workshop) daripada hardware store. Segala sesuatu dapat dibuat sesuai pesanan di bengkel pandai besi. Tapi hal itu tidak bisa dilakukan di hardware store19. Seperti "production house" (rumah produksi) untuk film.

Hardware menjembatani software dengan realita/kenyataan.

Hardware adalah objek konkrit yang dapat dikontrol oleh objek abstrak (software).

Software merupakan suatu pengatur untuk suatu materi/komponen (hardware) yang menjadikan hardware berguna. Namun apakah perangkat lunak harus mempunyai tujuan?

Contoh lain dari pemrograman: Merancang mechanical linkages. Kita mengatur materi/komponen (linkage) sedemikian rupa sehingga menghasilkan sesuatu yang kita inginkan.

8 Apa yang bisa dan tidak bisa dilakukan terhadap software?

Software bisa di-copy, namun ia tidak bisa dipindahkan seperti objek konkret seperti mobil.

9 Apa itu Software?

Software pengatur dari materi/komponen (yang mana dalam hal ini yang dimaksud adalah hardware).

Software adalah objek abstrak.

Software adalah matematika yang bersifat executable.

Apakah software adalah objek abstrak yang bersifat executable ?

Software adalah program, dokumen, konfigurasi, dan lain-lain.

Software adalah ide/gagasan.

Apakah ada paper dari ICSE yang menuliskan hal berikut?

  • Hukum adalah software.
  • Proses adalah software.
  • Resep adalah software.

Apa itu software? Source code bukanlah software. Jangan terjebak dengan reifikasi.

Contoh dari software?

Program, hukum, koreografi, dan resep adalah software.

Apakah pikiran juga adalah software?

Software telah exist selama ribuan tahun yang lalu, meskipun ia belum disebut sebagai "software"20.

10 Dualistic nature dari mesin; Dualisme mesin-program; Dualisme hardware-software

Hardware adalah tubuh. Software adalah pikirannya.

Apakah bit-bit ada software itu sendiri? Ataukah bit-bit tersebut adalah representasi (perwujudan) dari software ?

Apakah sebuah running machine adalah perwujudan dari software yang dijalankannya?

11 TODO Computer vs. running computer

Sebuah komputer memiliki software, namun apakah komputer tersebut "running"? Software dan listrik; running computer vs. non-running computer. Operasi dari sebuah komputer membutuhkan sumber daya/energi. Sebuah komputer yang sedang tidak menyala memiliki "potensi" untuk melakukan komputasi, sama halnya dengan sebuah benih yang memiliki potensi untuk tumbuh.

Footnotes:

9

Gruner, S. 2011. Problems for a philosophy of software engineering. Minds and Machines. 21, 2 (2011), 275–299. Pre-print url: https://repository.up.ac.za/bitstream/handle/2263/32862/Gruner_Problems_2011.pdf;sequence=1

10

Gruner, S. 2011. Problems for a philosophy of software engineering. Minds and Machines. 21, 2 (2011), 275–299. ResearchGate url: https://www.researchgate.net/publication/220636877_Problems_for_a_Philosophy_of_Software_Engineering

13

Nicolas, D. 2018. The logic of mass expressions. The stanford encyclopedia of philosophy. E.N. Zalta, ed. https://plato.stanford.edu/archives/win2018/entries/logic-massexpress/; Metaphysics Research Lab, Stanford University.

14

Bukan berarti bahasa natural selain Inggris lebih baik. Setiap bahasa natural sebenarnya memiliki cacat fiturnya sendiri

15

Mungkin ada beberapa jenis tarian yang terkadang dilihat bahwa penarinya menari tanpa koreografi, atau menari secara heuristik (misal: BBoy). Namun sebenarnya mereka telah memiliki koreografi ke dalam bentuk yang lebih modular (windmill, six-step, airbaby, indian-step). Sehingga disini jelas, bahwa bagian-bagian dari Top rock, Footwork, Powermove, Freeze beserta transisinya itu adalah bagian dari koreografi. Flow dan Flava-nya yang heuristik.

19

Mungkin akan ada yang berkata bahwa "Bukankah kita bisa memesan hardware sesuai kebutuhan kita di hardware store?" Jawabannya adalah tidak. Bedakan dua hal berikut. Di saat Anda membeli hardware, komponennya sudah terlebih dahulu ada, lalu si pemilik toko akan membantu memilihkan komponennya dan merakitkannya sesuai dengan spesifikasi yang Anda perlukan. Atau dengan kata lain, saat kita membeli hardware, kita membeli/merakit produk yang sudah jadi. Adapun "produk yang sudah jadi" yang dimaksud ini adalah komponen-komponen seperti motherboard, prosesor, RAM, dll. Sedangkan software, adalah produk yang belum jadi. Sehingga, saat kita membayarnya, produknya belum ada dan masih dalam proses pembuatan.

Created: 2023-11-16 Thu 23:26