CINXE.COM

Tentang Ruby

<!DOCTYPE html> <html> <head><script type="text/javascript" src="/_static/js/bundle-playback.js?v=HxkREWBo" charset="utf-8"></script> <script type="text/javascript" src="/_static/js/wombat.js?v=txqj7nKC" charset="utf-8"></script> <script>window.RufflePlayer=window.RufflePlayer||{};window.RufflePlayer.config={"autoplay":"on","unmuteOverlay":"hidden"};</script> <script type="text/javascript" src="/_static/js/ruffle/ruffle.js"></script> <script type="text/javascript"> __wm.init("https://web.archive.org/web"); __wm.wombat("https://www.ruby-lang.org/id/about/","20240802231924","https://web.archive.org/","web","/_static/", "1722640764"); </script> <link rel="stylesheet" type="text/css" href="/_static/css/banner-styles.css?v=S1zqJCYt" /> <link rel="stylesheet" type="text/css" href="/_static/css/iconochive.css?v=3PDvdIFv" /> <!-- End Wayback Rewrite JS Include --> <meta charset="utf-8"> <title>Tentang Ruby</title> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta itemprop="image" content="https://web.archive.org/web/20240802231924im_/https://www.ruby-lang.org/images/header-ruby-logo@2x.png"> <meta name="description" content=""> <link rel="stylesheet" type="text/css" href="/web/20240802231924cs_/https://www.ruby-lang.org/stylesheets/normalize.css"> <link rel="stylesheet" type="text/css" href="/web/20240802231924cs_/https://www.ruby-lang.org/stylesheets/main.css"> <link rel="stylesheet" type="text/css" href="/web/20240802231924cs_/https://www.ruby-lang.org/stylesheets/pygments.css"> <link rel="stylesheet" type="text/css" href="/web/20240802231924cs_/https://www.ruby-lang.org/stylesheets/mobile.css"> <link rel="stylesheet" type="text/css" href="/web/20240802231924cs_/https://www.ruby-lang.org/stylesheets/print.css"> <link href="https://web.archive.org/web/20240802231924cs_/https://fonts.googleapis.com/css?family=Noto+Sans:400,700,400italic,700italic&amp;subset=latin,cyrillic,greek,vietnamese" rel="stylesheet" type="text/css"> <link rel="canonical" href="https://web.archive.org/web/20240802231924/https://www.ruby-lang.org/id/about/"> <link rel="shortcut icon" type="image/x-icon" href="/web/20240802231924im_/https://www.ruby-lang.org/favicon.ico"> <link href="/web/20240802231924/https://www.ruby-lang.org/id/feeds/news.rss" rel="alternate" title="Umpan Web (RSS)" type="application/rss+xml"> <script type="text/javascript" src="/web/20240802231924js_/https://www.ruby-lang.org/javascripts/jquery.min.js"></script> <script type="text/javascript" src="/web/20240802231924js_/https://www.ruby-lang.org/javascripts/page.js"></script> </head> <body> <div id="header"> <div id="header_content" class="container"> <a href="/web/20240802231924/https://www.ruby-lang.org/id/"> <h1>Ruby</h1> <h2>Sahabat Terbaik Programmer</h2> </a> <div class="site-links"> <a href="/web/20240802231924/https://www.ruby-lang.org/id/" class="home">Beranda</a> <a href="/web/20240802231924/https://www.ruby-lang.org/id/downloads/">Unduh</a> <a href="/web/20240802231924/https://www.ruby-lang.org/id/documentation/">Dokumentasi</a> <a href="/web/20240802231924/https://www.ruby-lang.org/id/libraries/">Pustaka</a> <a href="/web/20240802231924/https://www.ruby-lang.org/id/community/">Komunitas</a> <a href="/web/20240802231924/https://www.ruby-lang.org/id/news/">Berita</a> <a href="/web/20240802231924/https://www.ruby-lang.org/id/security/">Keamanan</a> <a href="/web/20240802231924/https://www.ruby-lang.org/id/about/">Tentang Ruby</a> <a href="#" class="menu selected">Menu</a> </div> <div id="search-box"> <form id="search-form" action="https://web.archive.org/web/20240802231924/https://www.google.com/cse"> <table class="fieldset"> <tr> <td> <input class="field" type="text" name="q" size="31" style="background: white url(//web.archive.org/web/20240802231924im_/https://www.google.com/coop/intl/id/images/google_custom_search_watermark.gif) left no-repeat" onfocus="this.style.background='white'" onblur="if (/^\s*$/.test(this.value)) this.style.background='white url(//www.google.com/coop/intl/id/images/google_custom_search_watermark.gif) left no-repeat'"/> </td> <td> <input type="hidden" name="cx" value="013598269713424429640:g5orptiw95w"/> <input type="hidden" name="ie" value="UTF-8"/> <input class="button" type="submit" name="sa" value="Cari"/> </td> </tr> </table> </form> </div> </div> </div> <div id="page"> <div id="main-wrapper" class="container"> <div id="main"> <div id="content-wrapper"> <h1>Tentang Ruby</h1> <div id="content"> <p class="summary">Anda heran mengapa Ruby sangat populer? Penggemar Ruby menyebut Ruby sebagai bahasa yang cantik dan artistik. Mereka juga menyebut Ruby praktis dan mudah. Apa lagi?</p> <h3>Idealisme Pencipta Ruby</h3> <p>Ruby merupakan sebuah bahasa yang seimbang. Pencipta Ruby, <a href="https://web.archive.org/web/20240802231924/http://www.rubyist.net/~matz/">Yukihiro “Matz” Matsumoto</a>, menggabungkan bagian-bagian dari bahasa-bahasa favorit beliau (Perl, Smalltalk, Eiffel, Ada dan Lisp) untuk membentuk sebuah bahasa baru yang seimbang antara pemrograman fungsional dengan pemrograman imperatif.</p> <p>Matz sering menyebutkan bahwa beliau sedang “mencoba membuat Ruby natural, bukan sederhana,” dengan cara membuatnya mirip dengan kehidupan nyata.</p> <p>Berprinsip pada hal ini, Matz menambahkan:</p> <blockquote> <p>Penampilan Ruby dari luar sederhana, tetapi sangat rumit di bagian dalam, seperti badan manusia kita ini<sup><a href="#fn1">1</a></sup>.</p> </blockquote> <h3>Tentang Perkembangan Ruby</h3> <p>Sejak Ruby pertama kali dirilis ke publik pada tahun 1995, banyak programmer profesional dari seluruh dunia serius ikut mengembangkan Ruby. Pada tahun 2006, Ruby diterima oleh banyak orang. Dengan komunitas pengguna Ruby yang aktif di banyak kota-kota di seluruh dunia dan konferensi-konferensi beserta pertemuan Ruby terkait.</p> <p>Ruby-Talk, <a href="/web/20240802231924/https://www.ruby-lang.org/id/community/mailing-lists/">milis</a> utama untuk diskusi Ruby (dalam bahasa Inggris), telah mencapai kisaran 200 email setiap hari pada tahun 2006. Namun, telah menurun di beberapa tahun terakhir karena ukuran diskusi komunitas dari satu tempat terpusat menjadi banyak kelompok-kelompok lebih kecil.</p> <p>Ruby berada di peringkat 10 teratas pada indeks yang menghitung perkembangan dan popularitas bahasa-bahasa pemrograman di seluruh dunia (seperti <a href="https://web.archive.org/web/20240802231924/http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html">TIOBE index</a>). Kebanyakan dari perkembangan Ruby beratribut pada terkenalnya <em>software</em> yang ditulis dengan Ruby, terutama <em>web framework</em> <a href="https://web.archive.org/web/20240802231924/http://rubyonrails.org/">Ruby on Rails</a>.</p> <p>Ruby juga <a href="/web/20240802231924/https://www.ruby-lang.org/en/about/license.txt">sepenuhnya bebas</a>. Tidak hanya gratis, tetapi juga bebas untuk digunakan, dimodifikasi dan didistribusikan.</p> <h3>Melihat Semua sebagai Sebuah Objek</h3> <p>Pertama kali, Matz melihat bahasa-bahasa lain untuk mencari sintaks yang ideal. Terkenang pencariannya, Matz berkata, “Saya mau bahasa <em>scripting</em> yang lebih hebat daripada Perl dan lebih berorientasi objek daripada Python<sup><a href="#fn2">2</a></sup>.”</p> <p>Di Ruby, semua adalah sebuah objek. Setiap informasi dan kode bisa diberi <em>property</em> dan <em>action</em>. Pemrograman berorientasi objek memanggil <em>property</em> dengan nama <em>variabel instan</em> dan <em>action</em>, yang disebut sebagai <em>metode</em>. Pendekatan murni berorientasi objek terutama terlihat pada demonstrasi sedikit kode yang diberikan pada sebuah <em>number</em>.</p> <figure class="highlight"><pre><code class="language-ruby" data-lang="ruby"><span class="mi">5</span><span class="p">.</span><span class="nf">times</span> <span class="p">{</span> <span class="nb">print</span> <span class="s2">"Kami *cinta* Ruby -- Ruby sungguh aduhai!"</span> <span class="p">}</span></code></pre></figure> <p>Di banyak bahasa-bahasa lain, <em>number</em> dan tipe primitif bukan objek. Ruby mengikuti pengaruh bahasa Smalltalk dengan memberikan metode dan variabel instan pada semua tipe. Ini memudahkan menggunakan Ruby, karena peraturan-peraturan mengenai objek semua berlaku pada Ruby.</p> <h3>Fleksibilitas Ruby</h3> <p>Ruby dianggap sebagai sebuah bahasa yang fleksibel, karena bagian-bagian dari Ruby bisa diubah-ubah dengan bebas. Bagian-bagian penting di Ruby bisa dihapus maupun didefinisikan ulang. Bagian-bagian yang sudah ada bisa ditambahkan. Ruby mencoba untuk tidak membatasi <em>programmer</em>.</p> <p>Misalnya, penambahan dilakukan dengan operator plus (<code class="language-plaintext highlighter-rouge">+</code>). Tetapi, jika Anda ingin menggunakan kata <code class="language-plaintext highlighter-rouge">plus</code> yang lebih mudah dibaca, maka Anda dapat menambahkan metode tersebut pada kelas builtin <code class="language-plaintext highlighter-rouge">Numeric</code>.</p> <figure class="highlight"><pre><code class="language-ruby" data-lang="ruby"><span class="k">class</span> <span class="nc">Numeric</span> <span class="k">def</span> <span class="nf">plus</span><span class="p">(</span><span class="n">x</span><span class="p">)</span> <span class="nb">self</span><span class="p">.</span><span class="nf">+</span><span class="p">(</span><span class="n">x</span><span class="p">)</span> <span class="k">end</span> <span class="k">end</span> <span class="n">y</span> <span class="o">=</span> <span class="mi">5</span><span class="p">.</span><span class="nf">plus</span> <span class="mi">6</span> <span class="c1"># y sekarang adalah 11</span></code></pre></figure> <p>Demi kemudahan, operator-operator Ruby adalah juga metode. Anda juga bisa mendefinisikan ulang operator.</p> <h3>Blok: Sebuah Fitur yang sungguh Ekspresif</h3> <p>Blok Ruby juga dianggap sebagai sumber kekuatan Ruby yang sangat fleksibel. <em>Programmer</em> dapat menyertakan <em>closure</em> pada setiap metode, menjelaskan bagaimana metode yang bersangkutan seharusnya berperilaku. <em>Closure</em> disebut <em>blok</em> dan telah menjadi satu diantara banyak fitur-fitur Ruby yang paling populer pada banyak pendatang baru Ruby dari bahasa-bahasa imperatif lain seperti PHP atau Visual Basic.</p> <p>Blok terinspirasi dari bahasa-bahasa fungsional. Matz berkata, “Saya ingin menghormati kultur Lisp di closure Ruby<sup><a href="#fn3">3</a></sup>.”</p> <figure class="highlight"><pre><code class="language-ruby" data-lang="ruby"><span class="n">search_engines</span> <span class="o">=</span> <span class="sx">%w[Google Yahoo MSN]</span><span class="p">.</span><span class="nf">map</span> <span class="k">do</span> <span class="o">|</span><span class="n">engine</span><span class="o">|</span> <span class="s2">"http://www."</span> <span class="o">+</span> <span class="n">engine</span><span class="p">.</span><span class="nf">downcase</span> <span class="o">+</span> <span class="s2">".com"</span> <span class="k">end</span></code></pre></figure> <p>Pada kode diatas, blok dijelaskan dalam bentuk <code class="language-plaintext highlighter-rouge">do ... end</code>. Metode <code class="language-plaintext highlighter-rouge">map</code> memberlakukan blok agar menerima array kata-kata (Google, Yahoo dan MSN). Banyak metode-metode lain di Ruby dibiarkan mempunyai hole yang dibuka untuk <em>programmer</em> agar menulis blok mereka sendiri untuk mengisi dengan lebih lengkap apa saja yang seharusnya sebuah metode lakukan.</p> <h3>Ruby dan Mixin</h3> <p>Tidak seperti banyak bahasa-bahasa berorientasi objek lain, Ruby hanya menyediakan <em>single inheritance</em> <strong>dengan sengaja</strong>. Tetapi Ruby mengetahui konsep <em>module</em> (disebut sebagai Categories di Objective-C). <em>Module</em> merupakan kumpulan dari metode-metode.</p> <p>Kelas dapat me-<em>mixin</em> (menggabungkan) sebuah <em>module</em> dan menerima semua metode-metode (dari <em>module</em> yang bersangkutan) dengan bebas. Contoh, setiap kelas yang mengimplementasikan metode <code class="language-plaintext highlighter-rouge">each</code> bisa <em>mixin module</em> <code class="language-plaintext highlighter-rouge">Enumerable</code>, yang menambahkan banyak metode-metode yang menggunakan <code class="language-plaintext highlighter-rouge">each</code> untuk melakukan perulangan.</p> <figure class="highlight"><pre><code class="language-ruby" data-lang="ruby"><span class="k">class</span> <span class="nc">MyArray</span> <span class="kp">include</span> <span class="no">Enumerable</span> <span class="k">end</span></code></pre></figure> <p>Secara umum, <abbr title="Matz telah mendeklarasikan pengguna Ruby disebut Rubyist">Rubyist</abbr> menganggap ini sebagai cara yang lebih jelas ketimbang <em>multiple inheritance</em>, yang rumit dan bahkan terlalu membatasi.</p> <h3>Tampilan Ruby secara Visual</h3> <p>Ruby jarang menggunakan tanda baca dan biasanya cenderung menggunakan kata kunci berbahasa Inggris, beberapa tanda baca digunakan untuk memperjelas kode Ruby. Ruby tidak perlu deklarasi variabel. Ruby menggunakan aturan penamaan yang mudah untuk menyatakan <em>scope</em> dari variabel-variabel.</p> <ul> <li><code class="language-plaintext highlighter-rouge">var</code> adalah variabel lokal.</li> <li><code class="language-plaintext highlighter-rouge">@var</code> adalah variabel instan.</li> <li><code class="language-plaintext highlighter-rouge">$var</code> adalah variabel global.</li> </ul> <p><a href="https://web.archive.org/web/20240802231924/http://en.wikipedia.org/wiki/Sigil_%28computer_programming%29">Sigil-sigil</a> tersebut bertujuan untuk memudahkan dan memperjelas ketika dibaca bagi programmer untuk mengidentifikasi fungsi dari setiap variabel. Sigil juga bisa menjadi hal yang tidak perlu bila harus digunakan pada setiap member instan <code class="language-plaintext highlighter-rouge">self.</code></p> <h3>Langkah Selanjutnya</h3> <p>Ruby kaya fitur, antara lain sebagai berikut:</p> <ul> <li> <p>Ruby memiliki fitur-fitur yang menangani <em>exception</em>, seperti Java atau Python, untuk mempermudah menangani <em>error</em>.</p> </li> <li> <p>Ruby menyediakan <em>mark-and-sweep garbage collector</em> untuk semua objek Ruby. Tidak perlu menjaga <em>reference count</em> pada <em>extension</em>. Seperti yang Matz katakan, “Ini lebih baik untuk kesehatan Anda.”</p> </li> <li> <p>Menulis <em>extension</em> C di Ruby lebih mudah daripada di Perl ataupun di Python, dengan API yang elegan untuk memanggil Ruby dari C. Ini termasuk memanggil Ruby <em>embedded</em> di <em>software</em>, untuk digunakan sebagai bahasa <em>scripting</em>. <em>Interface</em> SWIG juga tersedia.</p> </li> <li> <p>Ruby bisa memuat <em>extension library</em> secara dinamis jika sistem operasi mengizinkan.</p> </li> <li> <p>Ruby menyediakan fitur OS <em>threading</em> yang independen. Maka, untuk semua <em>platform</em> dimana Ruby berjalan, Anda juga punya <em>multithreading</em>, terlepas dari apakah sistem operasi mendukung <em>multithreading</em> atau tidak, bahkan pada MS-DOS sekalipun!</p> </li> <li> <p>Ruby sangat <em>portable</em>: Ruby kebanyakan dikembangkan di GNU/Linux, tetapi juga berjalan di banyak tipe UNIX, macOS, Windows, DOS, BeOS, OS/2, dan lain-lain.</p> </li> </ul> <h3>Implementasi Lain dari Ruby</h3> <p>Ruby, sebagai sebuah bahasa, memiliki beberapa implementasi yang berbeda. Halaman ini telah mendiskusikan referensi implementasi, di dalam komunitas sering disebut sebagai <strong>MRI</strong> (“Matz’s Ruby Interpreter”) atau <strong>CRuby</strong> (karena ditulis dalam bahasa C), tetapi ada juga bahasa lainnya. Mereka sangat bermanfaat pada situasi tertentu, menyediakan integrasi dengan bahasa atau lingkungan lainnya, atau memiliki fitur khusus yang tidak dimiliki oleh MRI.</p> <p>Berikut ini daftarnya:</p> <ul> <li><a href="https://web.archive.org/web/20240802231924/http://jruby.org/">JRuby</a> adalah Ruby yang berjalan di atas JVM (Java Virtual Machine), memanfaatkan optimisasi JIT <em>compiler</em>-nya JVM, <em>garbage collector</em>, <em>concurrent thread</em>, <em>tool ecosystem</em>, dan kumpulan pustaka yang luas.</li> <li><a href="https://web.archive.org/web/20240802231924/http://rubini.us/">Rubinius</a> adalah ‘Ruby written in Ruby’. Dibuat di atas LLVM, Rubinius memakai sebuah <em>virtual machine</em> yang bagus yang bahasa lainnya sedang dibuat di atasnya, juga.</li> <li><a href="https://web.archive.org/web/20240802231924/https://github.com/oracle/truffleruby">TruffleRuby</a> adalah sebuah implementasi Ruby di atas GraalVM yang memiliki performa tinggi.</li> <li><a href="https://web.archive.org/web/20240802231924/http://www.mruby.org/">mruby</a> adalah sebuah implementasi <em>lightweight</em> dari bahasa Ruby yang dapat dihubungkan dan ditanamkan dengan sebuah aplikasi.</li> <li><a href="https://web.archive.org/web/20240802231924/http://www.ironruby.net/">IronRuby</a> adalah sebuah implementasi “tightly integrated with the .NET Framework”.</li> <li><a href="https://web.archive.org/web/20240802231924/http://maglev.github.io/">MagLev</a> adalah “a fast, stable, Ruby implementation with integrated object persistence and distributed shared cache”.</li> <li><a href="https://web.archive.org/web/20240802231924/https://github.com/parrot/cardinal">Cardinal</a> adalah “Ruby compiler for <a href="https://web.archive.org/web/20240802231924/http://parrot.org/">Parrot</a> Virtual Machine” (Perl 6).</li> </ul> <p>Untuk daftar lebih lengkapnya, lihat <a href="https://web.archive.org/web/20240802231924/https://github.com/planetruby/awesome-rubies">Awesome Rubies</a>.</p> <h3>Referensi</h3> <p id="fn1"><sup>1</sup> Matz, berbicara di milis Ruby-Talk, <a href="https://web.archive.org/web/20240802231924/https://blade.ruby-lang.org/ruby-talk/2773">12 Mei 2000</a>.</p> <p id="fn2"><sup>2</sup> Matz, <a href="https://web.archive.org/web/20240802231924/http://www.linuxdevcenter.com/pub/a/linux/2001/11/29/ruby.html">An Interview with the Creator of Ruby</a>, (Wawancara dengan Pencipta Ruby, dalam Bahasa Inggris), 29 November 2001.</p> <p id="fn3"><sup>3</sup> Matz, <a href="https://web.archive.org/web/20240802231924/http://www.artima.com/intv/closures2.html">Blocks and Closures in Ruby</a>, (Blok dan Closure di Ruby, dalam Bahasa Inggris), 22 Desember 2003.</p> </div> </div> <hr class="hidden-modern"/> <div id="sidebar-wrapper"> <div id="sidebar"> <div class="navigation"> <h3><strong>Coba Sekarang</strong>, sangat mudah!</h3> <ul class="menu"> <li><a href="https://web.archive.org/web/20240802231924/https://try.ruby-lang.org/">Try Ruby! (langsung di browser Anda)</a></li> <li><a href="/web/20240802231924/https://www.ruby-lang.org/id/documentation/quickstart/">Menguasai Ruby dalam 20 Menit</a></li> <li><a href="/web/20240802231924/https://www.ruby-lang.org/id/documentation/ruby-from-other-languages/">Dari Bahasa Pemrograman Lain ke Ruby</a></li> </ul> </div> <div class="navigation"> <h3><strong>Jelajahi</strong> sebuah dunia baru…</h3> <ul class="menu"> <li><a href="/web/20240802231924/https://www.ruby-lang.org/id/documentation/">Dokumentasi</a></li> <li><a href="https://web.archive.org/web/20240802231924/https://rubybib.org/">Penelitian Akademis</a></li> <li><a href="/web/20240802231924/https://www.ruby-lang.org/id/libraries/">Pustaka</a></li> <li><a href="/web/20240802231924/https://www.ruby-lang.org/id/documentation/success-stories/">Kisah Sukses</a></li> </ul> </div> <div class="navigation"> <h3><strong>Bergabunglah</strong> dalam komunitas yang ramah dan makin berkembang.</h3> <ul> <li><a href="/web/20240802231924/https://www.ruby-lang.org/id/community/mailing-lists/">Mailing List</a>: Berdiskusi dengan programmer Ruby dari Indonesia dan seluruh dunia.</li> <li><a href="/web/20240802231924/https://www.ruby-lang.org/id/community/user-groups/">Komunitas Pengguna</a>: Berpartisipasilah dengan Rubyist di lokasi Anda.</li> <li><a href="/web/20240802231924/https://www.ruby-lang.org/id/community/weblogs/">Blog</a>: Ulasan terbaru dari komunitas Ruby.</li> <li><a href="/web/20240802231924/https://www.ruby-lang.org/id/community/ruby-core/">Ruby Core</a>: Silakan berkontribusi untuk versi Ruby terbaru.</li> <li><a href="https://web.archive.org/web/20240802231924/https://bugs.ruby-lang.org/">Laporkan Masalah</a>: Lapor atau bantu memecahkan masalah yang ada di Ruby.</li> </ul> </div> <h3>Sindikasi Web</h3> <p><a href="/web/20240802231924/https://www.ruby-lang.org/id/feeds/news.rss">Umpan Web (RSS)</a></p> </div> </div> <hr class="hidden-modern"/> </div> </div> </div> <div class="container"> <div id="footer"> <div class="site-links"> <a href="/web/20240802231924/https://www.ruby-lang.org/id/" class="home">Beranda</a> <a href="/web/20240802231924/https://www.ruby-lang.org/id/downloads/">Unduh</a> <a href="/web/20240802231924/https://www.ruby-lang.org/id/documentation/">Dokumentasi</a> <a href="/web/20240802231924/https://www.ruby-lang.org/id/libraries/">Pustaka</a> <a href="/web/20240802231924/https://www.ruby-lang.org/id/community/">Komunitas</a> <a href="/web/20240802231924/https://www.ruby-lang.org/id/news/">Berita</a> <a href="/web/20240802231924/https://www.ruby-lang.org/id/security/">Keamanan</a> <a href="/web/20240802231924/https://www.ruby-lang.org/id/about/">Tentang Ruby</a> </div> <p> Situs ini dalam bahasa lain: <a href="/web/20240802231924/https://www.ruby-lang.org/bg/">Български</a>, <a href="/web/20240802231924/https://www.ruby-lang.org/de/">Deutsch</a>, <a href="/web/20240802231924/https://www.ruby-lang.org/en/">English</a>, <a href="/web/20240802231924/https://www.ruby-lang.org/es/">Español</a>, <a href="/web/20240802231924/https://www.ruby-lang.org/fr/">Français</a>, <a href="/web/20240802231924/https://www.ruby-lang.org/id/">Bahasa Indonesia</a>, <a href="/web/20240802231924/https://www.ruby-lang.org/it/">Italiano</a>, <a href="/web/20240802231924/https://www.ruby-lang.org/ja/">日本語</a>, <a href="/web/20240802231924/https://www.ruby-lang.org/ko/">한국어</a>, <a href="/web/20240802231924/https://www.ruby-lang.org/pl/">polski</a>, <a href="/web/20240802231924/https://www.ruby-lang.org/pt/">Português</a>, <a href="/web/20240802231924/https://www.ruby-lang.org/ru/">Русский</a>, <a href="/web/20240802231924/https://www.ruby-lang.org/tr/">Türkçe</a>, <a href="/web/20240802231924/https://www.ruby-lang.org/vi/">Tiếng Việt</a>, <a href="/web/20240802231924/https://www.ruby-lang.org/zh_cn/">简体中文</a>, <a href="/web/20240802231924/https://www.ruby-lang.org/zh_tw/">繁體中文</a>. </p> <p><a href="/web/20240802231924/https://www.ruby-lang.org/id/about/website/">Situs ini</a> dengan bangga dirawat oleh anggota komunitas Ruby.</p> </div> </div> </body> </html> <!-- FILE ARCHIVED ON 23:19:24 Aug 02, 2024 AND RETRIEVED FROM THE INTERNET ARCHIVE ON 21:35:16 Nov 27, 2024. JAVASCRIPT APPENDED BY WAYBACK MACHINE, COPYRIGHT INTERNET ARCHIVE. ALL OTHER CONTENT MAY ALSO BE PROTECTED BY COPYRIGHT (17 U.S.C. SECTION 108(a)(3)). --> <!-- playback timings (ms): captures_list: 0.632 exclusion.robots: 0.029 exclusion.robots.policy: 0.016 esindex: 0.085 cdx.remote: 7.605 LoadShardBlock: 216.062 (3) PetaboxLoader3.datanode: 122.204 (4) PetaboxLoader3.resolve: 138.856 (3) load_resource: 74.6 -->

Pages: 1 2 3 4 5 6 7 8 9 10