Pengenalan Bahasa Pembrograman Brainfuck dan Contoh Penerapannya

Bahasa pemrograman seperti Java, C++, dan PHP mungkin sudah biasa terdengar, namun pernakah kalian mendegar bahasa pemrograman "Brainfuck"? mungkin terdengar sedikit asing, tapi brainfuck juga salah satu bahasa pemograman yang ada di dunia saat ini.

Berikut Ulasan Tentang Bahasa Pembrograman Brainfuck

A. Sejarah Brainfuck

Pada tahun 1992, urban muller, seorang pelajar fizik Switzerland, mengambil alih arkib dalam talian kecil untuk Amiga perisian. Arkib ini semakin populer, dan segera dicerminkan di seluruh dunia. Hari ini, ia adalah Arkib terbesar di dunia, yang dikenali sebagai Aminet.

Muller merancang Brainfuck dengan tujuan untuk melaksanakannya dengan sekecil mungkin penyusun, diilhamkan oleh penyusun 1024-byte untuk bahasa pengatucaraan SALAH. Penyusun asal Muller dilaksanakan dalam bahasa mesin dan disusun menjadi binari dengan ukuran 296-byte. dia membuat naik kompilator Brainfuck pertama ke Aminet pada tahun 1993. Program ini dilengkapi dengan file "Readme", yaitu menarangkan bahsa secara ringkas, dan mencabar pembaca "Siapa yang dapat memprogram sesuatu yang berguna dengannya?". Muller juga menyertakan jurubahasa dan beberapa contoh yang cukup rumit. Versi kedua penyusun hanya menggunakan 240-byte.

Semasa Aminet berkembang, penyusun menjadi populer di kalangan masyarakat Amiga, dan pada waktunya ia laksanakan untuk platform lain.

  • p``: "Bahasa ibu bapa" rasmi Brainfuck
Kecuali untuk dua perintah I / O, Brainfuck adalah variasi kecil dari bahasa pengaturcaraan formal P`` diciptakan oleh Corrado Bohm pada tahun 1964, yang pada gilirannya secara eksplisit berdasarkan pada mesin penarik. Sebenarnya, menggunakan enam simbol yang setara dengan perintah Brinfuck masing-masing +,-,<,>, [,], Bohm menyediakan program eksplisit untuk setiap fungsi asa yang bersama-sama berfungsi untuk mengira mana-mana fungsi yang boleh dikira. Oleh itu, program "Brainfuck" pertama muncul dalam makalah Bohm tahun 1964 dan program itu cukup untuk dibuktikan melengkapkan kelengkapan.
  • Abacus Tak Terbatas: Bahasa "grand-parent" Brainfuck 
Versi dengan memori eksplisit menangani bukan tanpa timbunan dan lompatan bersyarat diperkenalkan oleh joachim Lambek pada tahun 1961 dengan nama Abacus Tak Terbatas, terdiridaripada bilangan sel yang tidak terhingga dan dua arahan.
x + (sel kanan x)
x- lain lompat T (penurunan x jika positif lain lompat ke T)

Mesinnya diimulasi oleh mesin Melzac, pengiraan pemodelan melalui aritmatik (bukan logik binari) meniru pengendali manusia yang menggerakkan kerikil di sempoa, oleh itu syarat bahwa semua nombor mesti positif. Melzac, yang satu komputer set arahan setaraf dengan Abacus Tak Terbatas, Memberikan program untuk penderaban, gcd, nika nombor perdana, perwakilan di pangkalanb, menysun mengikut magnitud, dan menunjukan cara mensimulasikan mesin Turing sewenang-wenangnya.

B. Pengertian Brainfuck

Brainfuck adalah bahasa pengaturcaraan esoterik yang diciptakan tahun 1993 oleh Urban Muller. Terkenal dengan minimalisnya yang melampau, bahsa ini hanya terdiri dari delapan perintah sederhana dan satu petunjuk arah, meskipun sepenuhnya merupakan bahasa komplit-turing, Brainfuck tidak dimaksudkan untuk penggunaan praktis, tapi lebih untuk menantang dan menghibur pembrogram.

Nama bahasa itu merujuk kepada istilah slanga cetusan otak, yang merujuk kepada perkara-perkara yang sangat rumit atau tidak biasa sehingga melebihi batas pemahaman seseorang.

C. Reka Bentuk Bahasa Brainfuck

Bahasa terdiri dari delapan arahan. Program Brainfuck adalah urutan arahan ini, sifat lain (which is not ignored). Perintah dijalankan secara berurutan, dengan beberapa pengecualian. Petunjuk arahan bermula pada perintah pertama, dan setiap perintah yang ditunjukan dilaksanakan, setelah itu biasanya bergerak maju ke perintah berikutnya. Program ini berakhir apabila petunjuk arahan bergerak melewati perintah terakhir.

Bahasa Brainfuck menggunakan model mesin sederhana yang terdiri dari program dan petunjuk arahan, serta susunan sekurang-kurangnya 30.000-byte sel dimulakan menjadi sifar: bergerak penunjuk data (dimulakan untuk menunjuk ke byte paling kiri array), dan dua aliran byte untuk input dan output (paling sering disambung ke papan kekunci dan  monitor masing-masing, dan menggunakan ASCII pengekodan sifat).

D. Perintah Brainfuck

Delapan perintah bahasa masing-masing terdiri dari satu sifat.

Sebagai alternatif, ] arahan sebaliknya boleh diterjemahkan sebagai lompatan tanpa syarat ke yang sepadan [ arahan, atau sebaliknya, program akan berkelakuan sama tetapi akan berjalan lebih perlahan, karena pencarian dua kali yang tidak perlu. [dan] sepadan seperti tanda kurung biasanya masing-masing [ sepadan dengan tepat ] dan sebaliknya, yang [ yang pertama, dan tidak ada yang tiada tandingannya [ atau ] antara keduanya.

Program Brainfuck boleh diterjemahkan ke dalam C menggunakan penggantian berikut, dengan andaian ptr adalah jenis char * dan telah diinisialisasi untuk menunjukan array byte seroed.

Seperti namanya program Brainfuck cenderung sukar difahami. Ini Part of it karena setiap tugas yang agak rumit memerlukan urutan perintah yang panjang dan Part of it karena teks program tidak memberikan petunjuk langsung mengenai program negeri ini, serta ketidakcekapan Brainfuck dan kemampuan input / output yang limited, adalah beberapa sebab ia tidak digunakan untuk arrangement  yang serius. walaupun demikian, Brainfuck secara teorinya mampu menghitung fungsi yang dapat dikira atau mensimulasikan model komputasi lain, jika diberi akses kejumlah memori yang tidak limited. 

Brainfuck adalah contoh yang disebut alluring tarpit ia boleh digunakan untuk menulis program, tetapi tidak pratiket untuk melakukannya, karena Brainfuck memberi sedikit abstraksi sehingga program menjadi sangat panjang dan rumit.


E. Contoh Penerapan Brainfuck

  • Menambah 2 nilai
Sebagai contoh sederhana coretan kod berikut akan menambahkan nilai sel semasa ke sel berikutnya: "Setiap kali gelung di jalankan, sel semasa dikurangkan, petunjuk data bergerak ke kanan, sel berikutnya bertambah, dan penunjuk data bergerak ke kiri lagi. urutan di ualng sehingga sel permulaan 0"
[->+<]

Dapat dimasukan kedalam program penambahan sederhana seperti berikut:



KESIMPULAN

Brainfuck adalah bahasa pemograman yang di buat oleh Urban Muller pada tahun 1993, yang hanya terdiri dari delapan perintah sederhana dan sebuah point intruksi, dan dirancang untuk menantang dan menghibur pemogram dan tidak dimaksud untuk penggunaan praktis.


Penulis : Hermalinda Putri (Mahasiswa kelas 1F Prodi Sistem Informasi FST UIN Sulthan Thana Saifuddin Jambi)

Sumber

Brainfuck (wikitrev.com) 


Post a Comment

Lebih baru Lebih lama