Wire World dan Link Download File Referensi
https://eu2.contabostorage.com/00f3241116844f24b628f46d81abb929:st1/folder1/1477/jmuser_file_1640448922_b7deef6e286135f7bc342ca46444002b.docx
2026-05-29 15:45:05 - Admin
<style> body{ font-family: Arial, sans-serif; line-height: 1.6; margin:0; padding:0 1rem; background:#f9f9f9; color:#333; } h1, h2, h3{ color:#2c3e50; } a{ color:#2980b9; text-decoration:none; } a:hover{ text-decoration:underline; } .container{ max-width: 800px; margin:auto; background:#fff; padding:2rem; box-shadow:0 0 10px rgba(0,0,0,0.1); } .grid{ display:flex; flex-wrap:wrap; gap:1rem; margin-top:1rem; } .grid div{ flex:1 1 45%; background:#ecf0f1; padding:0.5rem; text-align:center; } canvas{ border:1px solid #bdc3c7; width:100%; height:auto; } </style><div class="container"> <h1>Wire World: Seluler Otomata untuk Simulasi Sirkuit Digital</h1> <p>Wire World adalah sebuah <em>cellular automaton</em> dua dimensi yang dirancang khusus untuk meniru perilaku sirkuit logika digital. Meski sederhana, ia mampu menampilkan gerakan elektron yang tampak seperti aliran arus listrik pada kawat, gerbang logika, dan komponen lain. Wire World pertama kali diperkenalkan oleh Brian Silverman pada tahun 1987 dalam buku <em>Cellular Automata</em> bersama dengan John Conway.</p> <h2>Aturan Dasar</h2> <p>Setiap sel pada grid berukuran persegi dapat berada dalam satu dari empat keadaan:</p> <ol> <li><strong>Empty (kosong)</strong> tidak ada apaapa, warna biasanya hitam.</li> <li><strong>Wire (kabel)</strong> jalur konduktif, biasanya berwarna kuning.</li> <li><strong>Head (kepala elektron)</strong> bagian depan gelombang elektron, biasanya berwarna merah.</li> <li><strong>Tail (ekor elektron)</strong> sisa jejak yang sedang dingin, biasanya berwarna biru.</li> </ol> <p>Perubahan keadaan sel diatur oleh aturan berikut, yang dieksekusi secara sinkron pada setiap langkah (generasi):</p> <ul> <li>Empty tetap Empty.</li> <li>Head Tail.</li> <li>Tail Wire.</li> <li>Wire menjadi Head bila tepat 1 atau 2 tetangganya (di dalam 8neighbourhood) berada dalam keadaan Head; kalau tidak, tetap Wire.</li> </ul> <h2>Mengapa Wire World Menarik?</h2> <p>Berbeda dengan <a href="https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life" target="_blank">Game of Life</a> yang lebih berfokus pada pertumbuhan pola organik, Wire World meniru logika digital sehingga dapat dipakai untuk:</p> <ul> <li>Menggambarkan gerbang logika (AND, OR, NOT, XOR) hanya dengan pola kawat.</li> <li>Menyusun rangkaian yang mampu melakukan perhitungan aritmetika sederhana.</li> <li>Menunjukkan bagaimana <em>emergent computation</em> dapat muncul dari aturan lokal yang sangat terbatas.</li> </ul> <h2>Komponen Dasar dalam Wire World</h2> <div class="grid"> <div> <strong>Kabel (Wire)</strong><br> <canvas id="wire" width="120" height="20"></canvas> </div> <div> <strong>Kepala Elektron (Head)</strong><br> <canvas id="head" width="120" height="20"></canvas> </div> <div> <strong>Ekor Elektron (Tail)</strong><br> <canvas id="tail" width="120" height="20"></canvas> </div> <div> <strong>Ruang Kosong (Empty)</strong><br> <canvas id="empty" width="120" height="20"></canvas> </div> </div> <h2>Gerbang Logika</h2> <p>Berikut contoh beberapa gerbang logika yang dapat dibuat dengan Wire World. Semua gerbang bekerja secara <em>asynchronous</em> artinya sinyal akan menunggu sampai jalur di depannya kosong sebelum melanjutkan.</p> <h3>Gerbang NOT</h3> <p>Merupakan gerbang inverter yang hanya membutuhkan satu kabel input dan satu output. Pola dasar dapat ditulis dengan kode ASCII berikut (X = Wire, H = Head, T = Tail, . = Empty):</p><pre>.X.XHX.X.</pre><p>Jika sinyal masuk pada sisi kiri, kepala elektron akan bergerak melintasi pola dan menghasilkan kepala pada sisi kanan, yang kemudian menjadi ekor dan kembali menjadi kabel.</p> <h3>Gerbang AND</h3> <p>Gerbang AND membutuhkan dua input. Kedua sinyal harus tiba bersamaan (atau sangat berdekatan) supaya output muncul. Pola tipikal:</p><pre>..X..X...X..X..</pre><p>Jika hanya satu sinyal yang masuk, ia akan menyebar ke arah luar tanpa menghasilkan output. Kedua sinyal bersatu pada sel tengah dan menghasilkan kepala di jalur output.</p> <h3>Gerbang OR</h3> <p>Gerbang OR menghasilkan output jika setidaknya satu input hadir. Pola yang paling sederhana:</p><pre>X...X..X..X...X</pre><p>Head yang datang dari salah satu sisi akan langsung diteruskan ke jalur output.</p> <h2>Membuat Sirkuit Lebih Kompleks</h2> <p>Dengan menggabungkan gerbanggerbang di atas, Anda dapat membangun rangkaian yang melakukan operasi aritmetika, seperti penambah biner (adder) atau register shift. Contoh paling terkenal adalah <strong>binary counter</strong> yang dapat menghitung hingga 21 dengan hanya menggunakan sejumlah kawat dan gerbang AND/OR/NOT.</p> <h2>Alat Simulasi Online</h2> <p>Banyak situs web menyediakan simulator Wire World berbasis JavaScript. Berikut beberapa yang populer:</p> <ul> <li><a href="https://www.quantumgamelab.com/wireworld" target="_blank">Quantum Game Lab</a> editor visual dengan fitur impor/ekspor pola.</li> <li><a href="https://playgameoflife.com/wireworld" target="_blank">Play Game of Life</a> simulasi cepat dengan kontrol kecepatan.</li> <li><a href="https://www.cheshirecat.com/wireworld" target="_blank">Cheshire Cat WireWorld</a> memungkinkan pembuatan skrip untuk otomatisasi.</li> </ul> <h2>Contoh Implementasi: Penjumlah Biner 1Bit</h2> <p>Berikut skema sederhana penjumlah satu bit (HalfAdder) yang menghasilkan sum dan carry. Pola ini menggabungkan satu gerbang XOR (dibuat dari kombinasi NAND) dan satu gerbang AND untuk carry.</p><pre>Input A: -----Input B: ----- XOR gate AND gate (sum) (carry)Output Sum: -----Output Carry: -----</pre><p>Dengan menambahkan rangkaian serupa secara berurutan, Anda dapat membuat adder 4bit atau lebih.</p> <h2>Tips Memulai</h2> <ol> <li>Mulailah dengan menggambar jalur kabel yang jelas; hindari crossing yang ambigu.</li> <li>Gunakan kepala elektron (biasanya merah) sebagai sumber sinyal.</li> <li>Uji setiap modul (gerbang) secara terpisah sebelum menggabungkannya.</li> <li>Perhatikan fase waktu: dua kepala yang tiba pada sel yang sama pada generasi yang sama tidak menghasilkan output yang diharapkan.</li> </ol> <h2>Kesimpulan</h2> <p>Wire World menampilkan kekuatan <em>cellular automata</em> dalam mensimulasikan sistem digital dengan aturan yang sangat sederhana. Meskipun hanya terdiri dari empat keadaan sel dan lima baris aturan, ia berhasil merepresentasikan rangkaian logika, penghitungan, bahkan komputer mini secara teoritis. Bagi siapa saja yang tertarik pada pemrograman kreatif, teori kompleksitas, atau sekadar bersenangsenang dengan pola bergerak, Wire World menyediakan kanvas yang menarik untuk bereksperimen.</p> <script> // Simple drawing of cell states for demonstration const colors = {wire:'#f1c40f', head:'#e74c3c', tail:'#3498db', empty:'#2c3e50'}; function draw(id, state){ const canvas=document.getElementById(id); const ctx=canvas.getContext('2d'); ctx.fillStyle=colors[state]; ctx.fillRect(0,0,canvas.width,canvas.height); } draw('wire','wire'); draw('head','head'); draw('tail','tail'); draw('empty','empty'); </script></div>