Daftar Isi:
- Definisi - Apa yang dimaksud dengan Transparansi Referensial?
- Techopedia menjelaskan Transparansi Referensial
Definisi - Apa yang dimaksud dengan Transparansi Referensial?
Transparansi referensial adalah properti dari bagian tertentu dari suatu program atau bahasa pemrograman, terutama bahasa pemrograman fungsional seperti Haskell dan R. Ekspresi dalam suatu program dikatakan transparan secara referensi jika dapat diganti dengan nilainya dan perilaku yang dihasilkan adalah sama seperti sebelum perubahan. Ini berarti bahwa perilaku program tidak berubah apakah input yang digunakan adalah referensi atau nilai aktual yang ditunjuk oleh referensi.
Techopedia menjelaskan Transparansi Referensial
Transparansi referensial berakar pada filsafat analitis, yang merupakan cabang filsafat yang mempelajari konstruksi, argumen, dan pernyataan bahasa alami berdasarkan metode matematika dan logika dan tidak ada hubungannya dengan pemrograman, meskipun telah diadopsi oleh para ilmuwan komputer.
Konsepnya sederhana, "rujukan, " hal yang dirujuk oleh suatu ungkapan, dapat digunakan untuk menggantikan "perujuk" tanpa mengubah makna ungkapan. Misalnya, pernyataan "Ayah Luke adalah orang jahat, " "Ayah Luke" merujuk "Darth Vader" dalam kisah Star Wars. Jadi pernyataan itu bersifat transparan karena "ayah Luke" dapat diganti kapan saja dengan "Darth Vader" dan pernyataan itu tidak akan berubah artinya. Namun, dalam pernyataan "hadirin tidak tahu sampai 'The Empire Strikes Back' bahwa ayah Luke sebenarnya Darth Vader" bukan ekspresi yang secara transparan transparan karena jika "ayah Luke" diganti dengan "Darth Vader" ekspresi menjadi "the Penonton tidak tahu sampai 'The Empire Strikes Back' bahwa Darth Vader sebenarnya adalah Darth Vader, "yang memiliki arti yang sama sekali berbeda.
Dalam kaitannya dengan pemrograman, pada awalnya konsepnya sama, tetapi banyak filsuf tidak setuju bahwa konsep itu diterapkan atau dijalankan dengan baik dalam bahasa pemrograman. Tetapi dalam pemrograman umum, ini hanya berarti bahwa ekspresi dapat diganti dengan nilai yang dihasilkan tanpa mempengaruhi perilaku program. Misalnya, fungsi plusOne (x) hanya menambahkan satu ke nilai x apa pun, jadi jika kita tahu bahwa x = 5 maka kita dapat dengan aman mengganti fungsi dengan nilai 6 dalam ekspresi yang menghasilkan perilaku yang sama ketika menggunakan plusOne (x). Tetapi jika ada variabel eksternal dalam ekspresi yang dikontrol secara eksternal, katakan dalam fungsi plusY (x) di mana Y dalam fungsi dikontrol secara eksternal, perilaku yang dihasilkan mungkin tidak sama - dalam hal ini ini bukan transparan referensial transparan ekspresi.