Newsticker: 

Mengenal Quine

Pernahkah Anda berpikir, mungkinkah sebuah program “berani” dalam menampilkan source code-nya sendiri? Suatu hal yang terdengar mustahil bukan? Kenyataannya, hal tersebut bisa saja terjadi. Lhah??? Bukannya program yang didistribusikan harus menyembunyikan source code-nya? Kalaupun harus menyertakan source code-nya, bukannya harus open source? Tentu saja, program/aplikasi yang closed source juga bisa menampilkan source code-nya melalui perantara, entah itu melalui Message Box ataupun yang lainnya. Bagaimana caranya?

Istilah “quine” pertama kali diungkapkan oleh Douglas Hofstadter. Istilah tersebut diambil dari filsuf bernama Willard Van Orman Quine yang terkenal dengan paradoksnya:

“Yields falsehood when preceded by its quotation” yields falsehood when preceded by its quotation

Contoh quine yang paling sederhana adalah sebuah program kosong (program tanpa kode). Tentu saja bukan program seperti itu yang akan ditampilkan di sini, melainkan program yang memiliki kode. Untuk memahami hal tersebut, berikut ditampilkan contoh quine dalam bahasa Java.

quine-java

Jika program tersebut dijalankan, maka hasilnya adalah

quine-java-output

Terkejut dengan hasil akhirnya? Ya, memang begitulah hasilnya. Coba bandingkan hasil running program dengan kodenya. Tidak ada perbedaannya ‘kan?

Berikut ini contoh quine dalam bahasa C++.

quine-c

Dalam bahasa Pascal:

quine-pascal

Jika Anda berpikir bahwa quine hanya dapat diterapkan dalam bahasa pemrograman, maka pikiran Anda salah. Quine dapat juga diterapkan pada bahasa lainnya, contohnya bahasa kueri (SQL) sebagai berikut.

quine-sql

Sebuah quine tidak boleh “curang”. “Curang” dalam hal ini maksudnya adalah quine tidak boleh membaca variabel masukan, termasuk membaca file programnya sendiri. Contoh berikut merupakan quine yang “curang” dalam bahasa Pascal.

quine

Quine tersebut dikatakan “curang” karena ia membaca file programnya sendiri. Dalam hal ini, nama file programnya adalah “self.pas”. Sebuah quine yang tidak “curang” tidak mengharuskan kodenya untuk disimpan terlebih dahulu.

Contoh-contoh quine yang lainnya dapat Anda lihat di sini.

Bagikan...

Cari pada situs ini

Drs. Djaetun H.S (Pendiri Yayasan Atma Luhur)

..."Cerdas berbudi luhur adalah dua hal yang tak terpisahkan. Kecerdasan tanpa diimbangi budi luhur akan digunakan untuk membodohi dan mencelakakan orang lain. Sebaliknya, budi luhur tanpa diimbangi kecerdasan akan menjadi sasaran kejahatan dan penindasan orang lain"...

April  2020
Mon Tue Wed Thu Fri Sat Sun
   
  1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30  

Arsip

April 2020
M T W T F S S
« Mar    
 12345
6789101112
13141516171819
20212223242526
27282930  

Arsip

Kategori