@@ -11,9 +11,9 @@ praktis dan mudah. Apa lagi?
11
11
12
12
### Idealisme Pencipta Ruby
13
13
14
- Ruby merupakan bahasa yang seimbang. Pencipta Ruby, [ Yukihiro “Matz”
14
+ Ruby merupakan sebuah bahasa yang seimbang. Pencipta Ruby, [ Yukihiro “Matz”
15
15
Matsumoto] [ matz ] , menggabungkan bagian-bagian dari bahasa-bahasa favorit
16
- beliau (Perl, Smalltalk, Eiffel, Ada dan Lisp) untuk membentuk bahasa
16
+ beliau (Perl, Smalltalk, Eiffel, Ada dan Lisp) untuk membentuk sebuah bahasa
17
17
baru yang seimbang antara pemrograman fungsional dengan pemrograman
18
18
imperatif.
19
19
@@ -35,49 +35,48 @@ pengguna Ruby yang aktif di banyak kota-kota di seluruh dunia dan
35
35
konferensi-konferensi beserta pertemuan Ruby terkait.
36
36
37
37
Ruby-Talk, [ milis] ( /id/community/mailing-lists/ ) utama untuk diskusi
38
- Ruby (dalam bahasa Inggris) telah mencapai kisaran 200 email setiap
39
- hari.
40
-
41
- [ TIOBE index ] [ tiobe ] , yang menghitung perkembangan bahasa-bahasa pemrograman,
42
- menempatkan Ruby pada peringkat ke 10 diantara bahasa-bahasa pemrograman
43
- di seluruh dunia. Melihat pada perkembangan ini, mereka memperkirakan,
44
- “Kesempatan Ruby memasuki peringkat atas 10 besar adalah dalam waktu
45
- setengah tahun.” Kebanyakan dari perkembangan Ruby beratribut pada
46
- terkenalnya software yang ditulis dengan Ruby, terutama framework web
38
+ Ruby (dalam bahasa Inggris), telah mencapai kisaran 200 email setiap
39
+ hari pada tahun 2006. Namun, telah menurun di beberapa tahun terakhir
40
+ karena ukuran diskusi komunitas dari satu tempat terpusat menjadi banyak
41
+ kelompok-kelompok lebih kecil.
42
+
43
+ Ruby berada di peringkat 10 teratas pada indeks yang menghitung
44
+ perkembangan dan popularitas bahasa-bahasa pemrograman di seluruh dunia
45
+ (seperti [ TIOBE index ] [ tiobe ] ). Kebanyakan dari perkembangan Ruby beratribut
46
+ pada terkenalnya * software* yang ditulis dengan Ruby, terutama * web framework *
47
47
[ Ruby on Rails] [ ror ] .
48
48
49
49
Ruby juga [ sepenuhnya bebas] ({{ site.license.url }}). Tidak hanya gratis,
50
- tetapi juga bebas untuk menggunakan, memodifikasi dan mendistribusikan
51
- Ruby.
50
+ tetapi juga bebas untuk digunakan, dimodifikasi dan didistribusikan.
52
51
53
- ### Melihat Semua sebagai Obyek
52
+ ### Melihat Semua sebagai Sebuah Objek
54
53
55
54
Pertama kali, Matz melihat bahasa-bahasa lain untuk mencari sintaks yang
56
- ideal. Terkenang pencariannya, Matz berkata, “Saya mau bahasa scripting
57
- yang lebih hebat daripada Perl dan lebih berorientasi obyek daripada
55
+ ideal. Terkenang pencariannya, Matz berkata, “Saya mau bahasa * scripting*
56
+ yang lebih hebat daripada Perl dan lebih berorientasi objek daripada
58
57
Python<sup >[ 2] ( #fn2 ) </sup >.”
59
58
60
- Di Ruby, semua adalah obyek . Setiap informasi dan kode bisa diberi
61
- property dan action. Pemrograman berorientasi obyek memanggil property
62
- dengan nama * variabel instan* dan action, yang disebut sebagai * metode* .
63
- Pendekatan murni berorientasi obyek terutama terlihat pada demonstrasi
64
- sedikit kode yang diberikan pada number.
59
+ Di Ruby, semua adalah sebuah objek . Setiap informasi dan kode bisa diberi
60
+ * property* dan * action* . Pemrograman berorientasi objek memanggil * property*
61
+ dengan nama * variabel instan* dan * action* , yang disebut sebagai * metode* .
62
+ Pendekatan murni berorientasi objek terutama terlihat pada demonstrasi
63
+ sedikit kode yang diberikan pada sebuah * number* .
65
64
66
65
{% highlight ruby %}
67
66
5.times { print "Kami * cinta* Ruby -- Ruby sungguh aduhai!" }
68
67
{% endhighlight %}
69
68
70
- Di banyak bahasa-bahasa lain, number dan tipe primitif bukan obyek . Ruby
69
+ Di banyak bahasa-bahasa lain, * number* dan tipe primitif bukan objek . Ruby
71
70
mengikuti pengaruh bahasa Smalltalk dengan memberikan metode dan
72
71
variabel instan pada semua tipe. Ini memudahkan menggunakan Ruby, karena
73
- peraturan-peraturan mengenai obyek semua berlaku pada Ruby.
72
+ peraturan-peraturan mengenai objek semua berlaku pada Ruby.
74
73
75
- ### Ruby Fleksibel
74
+ ### Fleksibilitas Ruby
76
75
77
- Ruby dianggap sebagai bahasa yang fleksibel, karena bagian-bagian dari
78
- Ruby bisa diubah-ubah dengan bebas. Bagian-bagian yang esensi di Ruby
76
+ Ruby dianggap sebagai sebuah bahasa yang fleksibel, karena bagian-bagian
77
+ dari Ruby bisa diubah-ubah dengan bebas. Bagian-bagian penting di Ruby
79
78
bisa dihapus maupun didefinisikan ulang. Bagian-bagian yang sudah ada
80
- bisa ditambahkan. Ruby mencoba untuk tidak membatasi programmer.
79
+ bisa ditambahkan. Ruby mencoba untuk tidak membatasi * programmer* .
81
80
82
81
Misalnya, penambahan dilakukan dengan operator plus (` + ` ). Tetapi, jika
83
82
Anda ingin menggunakan kata ` plus ` yang lebih mudah dibaca, maka Anda
@@ -97,12 +96,12 @@ y = 5.plus 6
97
96
Demi kemudahan, operator-operator Ruby adalah juga metode. Anda juga
98
97
bisa mendefinisikan ulang operator.
99
98
100
- ### Blok, Fitur yang sungguh Ekspresif
99
+ ### Blok: Sebuah Fitur yang sungguh Ekspresif
101
100
102
101
Blok Ruby juga dianggap sebagai sumber kekuatan Ruby yang sangat
103
- fleksibel. Programmer dapat menyertakan closure pada setiap metode,
102
+ fleksibel. * Programmer* dapat menyertakan * closure* pada setiap metode,
104
103
menjelaskan bagaimana metode yang bersangkutan seharusnya berperilaku.
105
- Closure disebut * blok* dan telah menjadi satu diantara banyak
104
+ * Closure* disebut * blok* dan telah menjadi satu diantara banyak
106
105
fitur-fitur Ruby yang paling populer pada banyak pendatang baru Ruby
107
106
dari bahasa-bahasa imperatif lain seperti PHP atau Visual Basic.
108
107
@@ -119,20 +118,20 @@ search_engines =
119
118
Pada kode diatas, blok dijelaskan dalam bentuk ` do ... end ` . Metode
120
119
` map ` memberlakukan blok agar menerima array kata-kata (Google, Yahoo
121
120
dan MSN). Banyak metode-metode lain di Ruby dibiarkan mempunyai hole
122
- yang dibuka untuk programmer agar menulis blok mereka sendiri untuk
121
+ yang dibuka untuk * programmer* agar menulis blok mereka sendiri untuk
123
122
mengisi dengan lebih lengkap apa saja yang seharusnya sebuah metode
124
123
lakukan.
125
124
126
125
### Ruby dan Mixin
127
126
128
- Tidak seperti banyak bahasa-bahasa berorientasi obyek lain, Ruby hanya
129
- menyediakan single inheritance ** dengan sengaja** . Tetapi Ruby
130
- mengetahui konsep module (disebut sebagai Categories di Objective-C).
131
- Module merupakan kumpulan dari metode-metode.
127
+ Tidak seperti banyak bahasa-bahasa berorientasi objek lain, Ruby hanya
128
+ menyediakan * single inheritance* ** dengan sengaja** . Tetapi Ruby
129
+ mengetahui konsep * module* (disebut sebagai Categories di Objective-C).
130
+ * Module* merupakan kumpulan dari metode-metode.
132
131
133
- Kelas dapat me-mixin (menggabungkan) sebuah module dan menerima semua
134
- metode-metode (dari module yang bersangkutan) dengan bebas. Contoh,
135
- setiap kelas yang mengimplementasikan metode ` each ` bisa mixin module
132
+ Kelas dapat me-* mixin* (menggabungkan) sebuah * module* dan menerima semua
133
+ metode-metode (dari * module* yang bersangkutan) dengan bebas. Contoh,
134
+ setiap kelas yang mengimplementasikan metode ` each ` bisa * mixin module*
136
135
` Enumerable ` , yang menambahkan banyak metode-metode yang menggunakan
137
136
` each ` untuk melakukan perulangan.
138
137
@@ -144,17 +143,16 @@ end
144
143
145
144
Secara umum, <abbr title="Matz telah mendeklarasikan pengguna Ruby
146
145
disebut Rubyist">Rubyist</abbr > menganggap ini sebagai cara yang lebih
147
- jelas ketimbang multiple inheritance, yang rumit dan bahkan terlalu
146
+ jelas ketimbang * multiple inheritance* , yang rumit dan bahkan terlalu
148
147
membatasi.
149
148
150
149
### Tampilan Ruby secara Visual
151
150
152
151
Ruby jarang menggunakan tanda baca dan biasanya cenderung menggunakan
153
- keyword berbahasa Inggris, biasanya beberapa tanda baca digunakan untuk
154
- memperjelas kode Ruby
155
-
156
- Ruby tidak perlu deklarasi variabel. Ruby menggunakan aturan penamaan
157
- yang mudah untuk menyatakan scope suatu variabel.
152
+ kata kunci berbahasa Inggris, beberapa tanda baca digunakan untuk
153
+ memperjelas kode Ruby. Ruby tidak perlu deklarasi variabel. Ruby
154
+ menggunakan aturan penamaan yang mudah untuk menyatakan * scope*
155
+ dari variabel-variabel.
158
156
159
157
* ` var ` adalah variabel lokal.
160
158
* ` @var ` adalah variabel instan.
@@ -169,27 +167,27 @@ digunakan pada setiap member instan `self.`
169
167
170
168
Ruby kaya fitur, antara lain sebagai berikut:
171
169
172
- * Ruby memiliki fitur-fitur yang menangani exception, seperti Java atau
173
- Python, untuk mempermudah menangani error.
170
+ * Ruby memiliki fitur-fitur yang menangani * exception* , seperti Java atau
171
+ Python, untuk mempermudah menangani * error* .
174
172
175
- * Ruby menyediakan mark-and-sweep garbage collector untuk semua obyek
176
- Ruby. Tidak perlu me-maintain reference count pada library extension.
173
+ * Ruby menyediakan * mark-and-sweep garbage collector* untuk semua objek
174
+ Ruby. Tidak perlu me-* maintain reference count* pada * extension* .
177
175
Seperti yang Matz katakan, “Ini lebih baik untuk kesehatan Anda.”
178
176
179
- * Menulis extension C di Ruby lebih mudah daripada di Perl ataupun di
177
+ * Menulis * extension* C di Ruby lebih mudah daripada di Perl ataupun di
180
178
Python, dengan API yang elegan untuk memanggil Ruby dari C. Ini
181
- termasuk memanggil Ruby embedded di software, untuk digunakan sebagai
182
- bahasa scripting. Interface SWIG juga tersedia.
179
+ termasuk memanggil Ruby * embedded* di * software* , untuk digunakan sebagai
180
+ bahasa * scripting* . * Interface* SWIG juga tersedia.
183
181
184
- * Ruby bisa load library extension secara dinamis jika Sistem Operasi
185
- mengijinkan .
182
+ * Ruby bisa memuat * extension library * secara dinamis jika sistem operasi
183
+ mengizinkan .
186
184
187
- * Ruby menyediakan fitur OS threading yang independent . Maka, untuk
188
- semua platform dimana Ruby berjalan, Anda juga punya multithreading,
189
- terlepas dari apakah Sistem Operasi mendukung multithreading atau
185
+ * Ruby menyediakan fitur OS * threading* yang independen . Maka, untuk
186
+ semua * platform* dimana Ruby berjalan, Anda juga punya * multithreading* ,
187
+ terlepas dari apakah sistem operasi mendukung * multithreading* atau
190
188
tidak, bahkan pada MS-DOS sekalipun!
191
189
192
- * Ruby sangat portable: Ruby kebanyakan dikembangkan di GNU/Linux,
190
+ * Ruby sangat * portable* : Ruby kebanyakan dikembangkan di GNU/Linux,
193
191
tetapi juga berjalan di banyak tipe UNIX, Mac OS X,
194
192
Windows, DOS, BeOS, OS/2, dan lain-lain.
195
193
0 commit comments