Skip to content

Commit 12cd301

Browse files
committed
Imported the "id" content.
1 parent d946146 commit 12cd301

File tree

65 files changed

+5090
-1
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

65 files changed

+5090
-1
lines changed

id/about/index.md

+229
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,229 @@
1+
---
2+
layout: page
3+
title: "Tentang Ruby"
4+
lang: id
5+
---
6+
7+
Anda heran mengapa Ruby sangat populer? Penggemar Ruby menyebut Ruby
8+
sebagai bahasa yang cantik dan artistik. Mereka juga menyebut Ruby
9+
praktis dan mudah. Apa lagi?
10+
11+
### Idealisme Pencipta Ruby
12+
13+
![](http://redhanded.hobix.com/images/ruby-lang-matz.png){:
14+
style="padding-left:8px;"}
15+
{: style="float:right"}
16+
17+
Ruby merupakan bahasa yang seimbang. Pencipta Ruby, [Yukihiro “matz”
18+
Matsumoto][1], menggabungkan bagian-bagian dari bahasa-bahasa favorit
19+
beliau (Perl, Smalltalk, Eiffel, Ada dan Lisp) untuk membentuk bahasa
20+
baru yang seimbang antara pemrograman fungsional dengan pemrograman
21+
imperatif.
22+
23+
Matz sering menyebutkan bahwa beliau sedang “mencoba membuat Ruby
24+
natural, bukan sederhana,” dengan cara membuatnya mirip dengan kehidupan
25+
nyata.
26+
27+
Berprinsip pada hal ini, Matz menambahkan:
28+
29+
> Penampilan Ruby dari luar sederhana, tetapi sangat rumit di bagian
30+
> dalam, seperti badan manusia kita ini<sup>[1](#fn1)</sup>.
31+
32+
### Tentang Perkembangan Ruby
33+
34+
Sejak Ruby pertama kali dirilis ke publik pada tahun 1995, banyak
35+
programmer profesional dari seluruh dunia serius ikut mengembangkan
36+
Ruby. Pada tahun 2006, Ruby diterima oleh banyak orang. Dengan komunitas
37+
pengguna Ruby yang aktif di banyak kota-kota di seluruh dunia dan
38+
konferensi-konferensi beserta pertemuan Ruby terkait.
39+
40+
![Graph courtesy of
41+
Gmane.](http://gmane.org/plot-rate.php?group=gmane.comp.lang.ruby.general&amp;width=280&amp;height=140&amp;title=Ruby-Talk+Activity+over+4+Years
42+
"Graph courtesy of Gmane."){: style="padding-left:8px;"}
43+
{: style="float:right"}
44+
45+
Ruby-Talk, [milis](/id/community/mailing-lists/) utama untuk diskusi
46+
Ruby (dalam bahasa Inggris) telah mencapai kisaran 200 email setiap
47+
hari.
48+
49+
TIOBE index, yang menghitung perkembangan bahasa-bahasa pemrograman,
50+
menempatkan Ruby pada peringkat ke 10 diantara bahasa-bahasa pemrograman
51+
di seluruh dunia. Melihat pada perkembangan ini, mereka memperkirakan,
52+
“Kesempatan Ruby memasuki peringkat atas 10 besar adalah dalam waktu
53+
setengah tahun.” Kebanyakan dari perkembangan Ruby beratribut pada
54+
terkenalnya software yang ditulis dengan Ruby, terutama framework web
55+
Ruby on Rails<sup>[2](#fn2)</sup>.
56+
57+
Ruby juga [sepenuhnya bebas](/en/about/license.txt). Tidak hanya gratis,
58+
tetapi juga bebas untuk menggunakan, memodifikasi dan mendistribusikan
59+
Ruby.
60+
61+
### Melihat Semua sebagai Obyek
62+
63+
Pertama kali, Matz melihat bahasa-bahasa lain untuk mencari sintaks yang
64+
ideal. Terkenang pencariannya, Matz berkata, “Saya mau bahasa scripting
65+
yang lebih hebat daripada Perl dan lebih berorientasi obyek daripada
66+
Python<sup>[3](#fn3)</sup>.”
67+
68+
Di Ruby, semua adalah obyek. Setiap informasi dan kode bisa diberi
69+
property dan action. Pemrograman berorientasi obyek memanggil property
70+
dengan nama *variabel instan* dan action, yang disebut sebagai *metode*.
71+
Pendekatan murni berorientasi obyek terutama terlihat pada demonstrasi
72+
sedikit kode yang diberikan pada number.
73+
74+
5.times { print "Kami *cinta* Ruby -- Ruby sungguh aduhai!" }
75+
{: .code .ruby-code}
76+
77+
Di banyak bahasa-bahasa lain, number dan tipe primitif bukan obyek. Ruby
78+
mengikuti pengaruh bahasa Smalltalk dengan memberikan metode dan
79+
variabel instan pada semua tipe. Ini memudahkan menggunakan Ruby, karena
80+
peraturan-peraturan mengenai obyek semua berlaku pada Ruby.
81+
82+
### Ruby Fleksibel
83+
84+
Ruby dianggap sebagai bahasa yang fleksibel, karena bagian-bagian dari
85+
Ruby bisa diubah-ubah dengan bebas. Bagian-bagian yang esensi di Ruby
86+
bisa dihapus maupun didefinisikan ulang. Bagian-bagian yang sudah ada
87+
bisa ditambahkan. Ruby mencoba untuk tidak membatasi programmer.
88+
89+
Misalnya, penambahan dilakukan dengan operator plus (`+`). Tetapi, jika
90+
Anda ingin menggunakan kata `plus` yang lebih mudah dibaca, maka Anda
91+
dapat menambahkan metode tersebut pada kelas builtin `Numeric`.
92+
93+
class Numeric
94+
  def plus(x)
95+
    self.+(x)
96+
  end
97+
end
98+
99+
y = 5.plus 6
100+
# y sekarang adalah 11
101+
{: .code .ruby-code}
102+
103+
Demi kemudahan, operator-operator Ruby adalah juga metode. Anda juga
104+
bisa mendefinisikan ulang operator.
105+
106+
### Blok, Fitur yang sungguh Ekspresif
107+
108+
Blok Ruby juga dianggap sebagai sumber kekuatan Ruby yang sangat
109+
fleksibel. Programmer dapat menyertakan closure pada setiap metode,
110+
menjelaskan bagaimana metode yang bersangkutan seharusnya berperilaku.
111+
Closure disebut *blok* dan telah menjadi satu diantara banyak
112+
fitur-fitur Ruby yang paling populer pada banyak pendatang baru Ruby
113+
dari bahasa-bahasa imperatif lain seperti PHP atau Visual Basic.
114+
115+
Blok terinspirasi dari bahasa-bahasa fungsional. Matz berkata, “Saya
116+
ingin menghormati kultur Lisp di closure Ruby<sup>[4](#fn4)</sup>.”
117+
118+
search_engines =
119+
  %w[Google Yahoo MSN].map do |engine|
120+
    "http://www." + engine.downcase + ".com"
121+
  end
122+
{: .code .ruby-code}
123+
124+
Pada kode diatas, blok dijelaskan dalam bentuk `do ... end`. Metode
125+
`map` memberlakukan blok agar menerima array kata-kata (Google, Yahoo
126+
dan MSN). Banyak metode-metode lain di Ruby dibiarkan mempunyai hole
127+
yang dibuka untuk programmer agar menulis blok mereka sendiri untuk
128+
mengisi dengan lebih lengkap apa saja yang seharusnya sebuah metode
129+
lakukan.
130+
131+
### Ruby dan Mixin
132+
133+
Tidak seperti banyak bahasa-bahasa berorientasi obyek lain, Ruby hanya
134+
menyediakan single inheritance **dengan sengaja**. Tetapi Ruby
135+
mengetahui konsep module (disebut sebagai Categories di Objective-C).
136+
Module merupakan kumpulan dari metode-metode.
137+
138+
Kelas dapat me-mixin (menggabungkan) sebuah module dan menerima semua
139+
metode-metode (dari module yang bersangkutan) dengan bebas. Contoh,
140+
setiap kelas yang mengimplementasikan metode `each` bisa mixin module
141+
`Enumerable`, yang menambahkan banyak metode-metode yang menggunakan
142+
`each` untuk melakukan perulangan.
143+
144+
class MyArray
145+
  include Enumerable
146+
end
147+
{: .code .ruby-code}
148+
149+
Secara umum, <abbr title="Matz telah mendeklarasikan pengguna Ruby
150+
disebut Rubyist">Rubyist</abbr> menganggap ini sebagai cara yang lebih
151+
jelas ketimbang multiple inheritance, yang rumit dan bahkan terlalu
152+
membatasi.
153+
154+
### Tampilan Ruby secara Visual
155+
156+
Ruby jarang menggunakan tanda baca dan biasanya cenderung menggunakan
157+
keyword berbahasa Inggris, biasanya beberapa tanda baca digunakan untuk
158+
memperjelas kode Ruby
159+
160+
Ruby tidak perlu deklarasi variabel. Ruby menggunakan aturan penamaan
161+
yang mudah untuk menyatakan scope suatu variabel.
162+
163+
* `var` adalah variabel lokal.
164+
* `@var` adalah variabel instan.
165+
* `$var` adalah variabel global.
166+
167+
[Sigil-sigil][2] tersebut bertujuan untuk memudahkan dan memperjelas
168+
ketika dibaca bagi programmer untuk mengidentifikasi fungsi dari setiap
169+
variabel. Sigil juga bisa menjadi hal yang tidak perlu bila harus
170+
digunakan pada setiap member instan `self.`
171+
172+
### Langkah Selanjutnya
173+
174+
Ruby kaya fitur, antara lain sebagai berikut:
175+
176+
* Ruby memiliki fitur-fitur yang menangani exception, seperti Java atau
177+
Python, untuk mempermudah menangani error.
178+
^
179+
180+
* Ruby menyediakan mark-and-sweep garbage collector untuk semua obyek
181+
Ruby. Tidak perlu me-maintain reference count pada library extension.
182+
Seperti yang Matz katakan, “Ini lebih baik untuk kesehatan Anda.”
183+
^
184+
185+
* Menulis extension C di Ruby lebih mudah daripada di Perl ataupun di
186+
Python, dengan API yang elegan untuk memanggil Ruby dari C. Ini
187+
termasuk memanggil Ruby embedded di software, untuk digunakan sebagai
188+
bahasa scripting. Interface SWIG juga tersedia.
189+
^
190+
191+
* Ruby bisa load library extension secara dinamis jika Sistem Operasi
192+
mengijinkan.
193+
^
194+
195+
* Ruby menyediakan fitur OS threading yang independent. Maka, untuk
196+
semua platform dimana Ruby berjalan, Anda juga punya multithreading,
197+
terlepas dari apakah Sistem Operasi mendukung multithreading atau
198+
tidak, bahkan pada MS-DOS sekalipun!
199+
^
200+
201+
* Ruby sangat portable: Ruby kebanyakan dikembangkan di GNU/Linux,
202+
tetapi juga berjalan di banyak tipe UNIX, Mac OS X, Windows
203+
95/98/Me/NT/2000/XP, DOS, BeOS, OS/2, dan lain-lain.
204+
205+
#### Referensi
206+
207+
<sup>1</sup> Matz, berbicara di milis Ruby-Talk, [12 Mei 2000][3].
208+
{: #fn1}
209+
210+
<sup>2</sup> Lihat situs [Ruby on Rails][4] untuk info lebih lengkap.
211+
{: #fn2}
212+
213+
<sup>3</sup> Matz, [An Interview with the Creator of Ruby][5],
214+
(Wawancara dengan Pencipta Ruby, dalam Bahasa Inggris), 29 November
215+
2001.
216+
{: #fn3}
217+
218+
<sup>4</sup> Matz, [Blocks and Closures in Ruby][6], (Blok dan Closure
219+
di Ruby, dalam Bahasa Inggris), 22 Desember 2003.
220+
{: #fn4}
221+
222+
223+
224+
[1]: http://www.rubyist.net/~matz/
225+
[2]: http://en.wikipedia.org/wiki/Sigil_%28computer_programming%29
226+
[3]: http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/2773
227+
[4]: http://rubyonrails.org/
228+
[5]: http://www.linuxdevcenter.com/pub/a/linux/2001/11/29/ruby.html
229+
[6]: http://www.artima.com/intv/closures2.html

id/community/conferences/index.md

+85
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
---
2+
layout: page
3+
title: "Konferensi Ruby"
4+
lang: id
5+
---
6+
7+
Programmer Ruby di seluruh dunia semakin sering terlibat dalam berbagai
8+
jenis konferensi, untuk berkolaborasi dalam berbagi perkembangan
9+
terbaru, membahas masa depan Ruby, dan menyambut pendatang baru di
10+
komunitas Ruby.
11+
12+
### Konferensi Ruby di Indonesia
13+
14+
Komunitas Ruby Indonesia mengadakan konferensi atau pertemuan secara
15+
berkala.
16+
17+
Berita terbaru tentang pertemuan komunitas Ruby selanjutnya di Indonesia
18+
dibahas di [milis id-ruby](/id/community/mailing-lists). Silakan
19+
bergabung dengan milis tersebut untuk mengetahui perkembangan terbaru.
20+
21+
* Arsip: [Gathering Ruby Indonesia pertama di Jakarta Pusat][1]
22+
* Arsip: [Gathering Ruby Indonesia kedua di Bandung][2]
23+
* Arsip: [Gathering Ruby Indonesia ketiga di Depok][3]
24+
25+
### Konferensi Ruby Internasional
26+
27+
[RubyConf][4]
28+
: Sejak 2001, setiap tahun [Ruby Central, Inc.][5] menggelar RubyConf,
29+
konferensi Ruby tingkat internasional. Peminatnya telah berkembang
30+
sepuluh kali lipat dari tahun 2001 sampai 2006. RubyConf menyediakan
31+
forum presentasi teknologi Ruby oleh para pembuatnya, termasuk
32+
presentasi dari Nathaniel Tabot tentang Test Unit, Jim Weirich tentang
33+
Rake, David Heinemeier Hansson tentang Ruby on Rails, Why the Lucky
34+
Stiff tentang *library* YAML, dan Sasada Koichi tentang YARV. Matz
35+
selalu datang dan memberikan materi setiap kali RubyConf diadakan,
36+
hanya pernah satu kali tidak hadir.
37+
38+
[RubyKaigi][6]
39+
: Konferensi Ruby Jepang pertama, RubyKaigi 2006, diselenggarakan di
40+
Odaiba. Rencana mendatang belum diumumkan—tapi ikuti terus
41+
perkembangannya.
42+
43+
[EuRuKo <small>(Europaeische Ruby Konferenz)</small>][7]
44+
: Konferensi Ruby Eropa tahunan (EuRuKo) yang pertama digelar di
45+
Karlsruhe, Jerman, pada tahun 2003. Diselenggarakan oleh komunitas
46+
Ruby Jerman termasuk Armin Roehrl dan Michael Neumann, EuRuKo telah
47+
dikenal sebagai *event* Ruby tahunan, dimulai dua tahun setelah
48+
RubyConf.
49+
50+
### Konferensi Ruby Regional
51+
52+
[Ruby Central][5] menyediakan [Regional Conference Grant Program][8],
53+
untuk membantu kelompok lokal dan regional yang hendak mengadakan
54+
*event* tentang Ruby.
55+
56+
Ruby Central juga berkolaborasi dengan [SDForum][9] untuk mengadakan
57+
Silicon Valley Ruby Conference, yang sudah memasuki tahun kedua
58+
penyelenggaraannya di tahun 2007.
59+
60+
### Ruby di Konferensi Lain
61+
62+
[O’Reilly Open Source Conference][10] (OSCON) telah mempunyai sesi Ruby
63+
sejak tahun 2004, dan juga mempunyai semakin banyak pendukung Ruby.
64+
Berbagai konferensi lain juga diadakan untuk [Ruby on Rails][11],
65+
termasuk [RailsConf][12] oleh Ruby Central, [RailsConf Europe][13]
66+
(diselenggarakan bersama tahun 2006 oleh Ruby Central dan [Skills
67+
Matter][14], dan tahun 2007 oleh Ruby Central dan O’Reilly), dan Canada
68+
on Rails.
69+
70+
71+
72+
[1]: http://ariekusumaatmaja.wordpress.com/2007/04/29/foto-gathering-id-ruby-pertama-food-court-mal-ambasador-jakarta/
73+
[2]: http://ariekusumaatmaja.wordpress.com/2007/06/27/catatan-tercecer-bandung-sejuk-bergairah/
74+
[3]: http://ariekusumaatmaja.wordpress.com/2007/08/20/gathering-id-ruby-ketiga-19-agustus-2007-1145-1700-wib/
75+
[4]: http://www.rubycentral.org/conference
76+
[5]: http://www.rubycentral.org
77+
[6]: http://jp.rubyist.net/RubyKaigi2006/
78+
[7]: http://www.approximity.com/cgi-bin/europeRuby/tiki.cgi?c=v&amp;p=Euruko06
79+
[8]: http://www.rubycentral.org/rcg2006.pdf
80+
[9]: http://www.sdforum.org
81+
[10]: http://conferences.oreillynet.com/os2006/
82+
[11]: http://www.rubyonrails.org
83+
[12]: http://www.railsconf.org
84+
[13]: http://europe.railsconf.org
85+
[14]: http://www.skillsmatter.com

id/community/index.md

+79
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
---
2+
layout: page
3+
title: "Komunitas"
4+
lang: id
5+
---
6+
7+
Satu di antara faktor-faktor penting untuk sebuah bahasa pemrograman
8+
adalah bantuan dari komunitas di sekitar bahasa itu dalam perkembangan
9+
para anggotanya. Ruby mempunyai komunitas yang aktif, ramah dan
10+
berkembang untuk semua orang dari segala tingkatan, dari pemula sampai
11+
pakar.
12+
13+
Jika Anda tertarik untuk berpartisipasi, berikut adalah beberapa tempat
14+
untuk memulai petualangan Anda:
15+
16+
[Kelompok Pengguna Ruby](user-groups/)
17+
: Kelompok Pengguna Ruby di sekitar tempat Anda adalah tempat yang baik
18+
untuk bertemu dengan programmer Ruby lain. Kelompok-kelompok ini
19+
mempunyai otonomi sendiri-sendiri dan biasanya mempunyai pertemuan
20+
bulanan, milis, web situs, dan beberapa grup juga mengadakan codefest
21+
di mana beberapa anggota berkumpul untuk *coding* bersama-sama.
22+
23+
[Milis Ruby dan Newsgroups](mailing-lists/)
24+
: Ada bermacam-macam milis untuk macam-macam topik di beberapa bahasa.
25+
Para anggota milis tersebut akan dengan senang menjawab
26+
pertanyaan-pertanyaan anda.
27+
28+
**Ruby di IRC**
29+
: Anda bisa berbincang-bincang (*chatting*) dengan pengguna Ruby lainnya
30+
di *channel* IRC untuk Ruby. Ada dua channel yang menarik bagi Rubyist
31+
Indonesia, yaitu [#ruby-lang](irc://irc.freenode.net/ruby-lang) untuk
32+
diskusi internasional menggunakan bahasa Inggris dan
33+
[#ruby-id](irc://irc.freenode.net/ruby-id) untuk diskusi lokal. (Arsip
34+
percakapan ada di http://meme.b9.com/)
35+
36+
[Ruby Core](ruby-core/)
37+
: Selagi Ruby 2.0 sedang dikembangkan, sekarang adalah waktu yang tepat
38+
untuk mengikuti perkembangan Ruby. Jika berminat untuk membantu,
39+
mulailah dari sini
40+
41+
[Blog tentang Ruby](weblogs/)
42+
: Hampir semua hal yang terjadi di dunia Ruby dikupas tuntas oleh para
43+
blogger yang berdedikasi tinggi. Anda bisa memulai petualangan anda di
44+
dunia Ruby blogging dari daftar ini.
45+
46+
[Ruby Conferences](conferences/)
47+
: Semakin banyak pengguna Ruby di sekeliling dunia hadir di berbagai
48+
konferensi Ruby. Mereka berkumpul dengan pengguna lainnya dan
49+
berbagi-bagi pengalaman, cerita, dan membahas masa depan Ruby.
50+
Pendatang baru di komunitas Ruby janganlah sungkan, Anda dijamin akan
51+
disambut dengan ramah.
52+
53+
[The Ruby Mentor Project][1]
54+
: Sarana baru ini memasangkan pendatang baru dengan orang yang lebih
55+
berpengalaman. Tujuannya adalah untuk membantu proses belajar Ruby
56+
dengan cara menanyakan hal-hal yang butuh dibantu ke pasangannya yang
57+
lebih berpengalaman. Sarana ini adalah alternatif dari milis Ruby Talk
58+
untuk pendatang baru yang lebih suka dengan bimbingan one-on-one.
59+
60+
[Komunitas Pengguna Ruby Indonesia][2]
61+
: Komunitas Pengguna Ruby Indonesia (mayoritas diikuti oleh orang
62+
Indonesia, baik yang bertempat tinggal di seluruh penjuru Indonesia,
63+
juga orang Indonesia yang sedang tinggal di luar negeri). Berdiskusi
64+
tentang Ruby berikut semua varian-varian Ruby (seperti JRuby,
65+
Rubinius, XRuby, IronRuby, dan lain sebagainya) termasuk juga
66+
aplikasi-aplikasi yang dibuat dengan Ruby seperti Rails.
67+
68+
Informasi Umum Tentang Ruby
69+
: * [Ruby Central][3]
70+
* [Ruby at Open Directory Project][4]
71+
* [Rails at Open Directory Project][5]
72+
73+
74+
75+
[1]: http://rubymentor.rubyforge.org/
76+
[2]: http://tech.groups.yahoo.com/group/id-ruby/
77+
[3]: http://www.rubycentral.org/
78+
[4]: http://dmoz.org/Computers/Programming/Languages/Ruby/
79+
[5]: http://dmoz.org/Computers/Programming/Languages/Ruby/Software/Rails/

0 commit comments

Comments
 (0)