Laman

Selasa, 17 April 2012

Bahasa Pemrograman Ruby


Ruby

Ruby adalah
Bahasa pemrograman open source dinamis, mudah dimengerti dan produktif. Sintaks Ruby elegan, natural, mudah dibaca dan ditulis.
Tentang Ruby
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?
Idealisme Pencipta Ruby
Ruby merupakan bahasa yang seimbang. Pencipta Ruby, Yukihiro “matz” Matsumoto, menggabungkan bagian-bagian dari bahasa-bahasa favorit beliau (Perl, Smalltalk, Eiffel, Ada dan Lisp) untuk membentuk bahasa baru yang seimbang antara pemrograman fungsional dengan pemrograman imperatif.
Matz sering menyebutkan bahwa beliau sedang “mencoba membuat Ruby natural, bukan sederhana,” dengan cara membuatnya mirip dengan kehidupan nyata.
Berprinsip pada hal ini, Matz menambahkan:
Penampilan Ruby dari luar sederhana, tetapi sangat rumit di bagian dalam, seperti badan manusia kita ini1.
Tentang Perkembangan Ruby
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.

Ruby-Talk, milis utama untuk diskusi Ruby (dalam bahasa Inggris) telah mencapai kisaran 200 email setiap hari.
TIOBE index, yang menghitung perkembangan bahasa-bahasa pemrograman, menempatkan Ruby pada peringkat ke 10 diantara bahasa-bahasa pemrograman di seluruh dunia. Melihat pada perkembangan ini, mereka memperkirakan, “Kesempatan Ruby memasuki peringkat atas 10 besar adalah dalam waktu setengah tahun.” Kebanyakan dari perkembangan Ruby beratribut pada terkenalnya software yang ditulis dengan Ruby, terutama framework web Ruby on Rails2.
Ruby juga sepenuhnya bebas. Tidak hanya gratis, tetapi juga bebas untuk menggunakan, memodifikasi dan mendistribusikan Ruby.
Melihat Semua sebagai Obyek
Pertama kali, Matz melihat bahasa-bahasa lain untuk mencari sintaks yang ideal. Terkenang pencariannya, Matz berkata, “Saya mau bahasa scripting yang lebih hebat daripada Perl dan lebih berorientasi obyek daripada Python3.”
Di Ruby, semua adalah obyek. Setiap informasi dan kode bisa diberi property dan action. Pemrograman berorientasi obyek memanggil property dengan nama variabel instan dan action, yang disebut sebagai metode. Pendekatan murni berorientasi obyek terutama terlihat pada demonstrasi sedikit kode yang diberikan pada number.
5.times { print "Kami *cinta* Ruby -- Ruby sungguh aduhai!" }

Di banyak bahasa-bahasa lain, number dan tipe primitif bukan obyek. Ruby mengikuti pengaruh bahasa Smalltalk dengan memberikan metode dan variabel instan pada semua tipe. Ini memudahkan menggunakan Ruby, karena peraturan-peraturan mengenai obyek semua berlaku pada Ruby.
Ruby Fleksibel
Ruby dianggap sebagai bahasa yang fleksibel, karena bagian-bagian dari Ruby bisa diubah-ubah dengan bebas. Bagian-bagian yang esensi di Ruby bisa dihapus maupun didefinisikan ulang. Bagian-bagian yang sudah ada bisa ditambahkan. Ruby mencoba untuk tidak membatasi programmer.
Misalnya, penambahan dilakukan dengan operator plus (+). Tetapi, jika Anda ingin menggunakan kata plus yang lebih mudah dibaca, maka Anda dapat menambahkan metode tersebut pada kelas builtinNumeric.
class Numeric
  def plus(x)
    self.+(x)
  end
end

y = 5.plus 6
# y sekarang adalah 11

Demi kemudahan, operator-operator Ruby adalah juga metode. Anda juga bisa mendefinisikan ulang operator.
Blok, Fitur yang sungguh Ekspresif
Blok Ruby juga dianggap sebagai sumber kekuatan Ruby yang sangat fleksibel. Programmer dapat menyertakan closure pada setiap metode, menjelaskan bagaimana metode yang bersangkutan seharusnya berperilaku. Closure disebut blok dan telah menjadi satu diantara banyak fitur-fitur Ruby yang paling populer pada banyak pendatang baru Ruby dari bahasa-bahasa imperatif lain seperti PHPatau Visual Basic.
Blok terinspirasi dari bahasa-bahasa fungsional. Matz berkata, “Saya ingin menghormati kultur Lisp di closure Ruby4.”
search_engines =
  %w[Google Yahoo MSN].map do |engine|
    "http://www." + engine.downcase + ".com"
  end

Pada kode diatas, blok dijelaskan dalam bentuk do ... end. Metode mapmemberlakukan blok agar menerima array kata-kata (Google, Yahoo dan MSN). Banyak metode-metode lain di Ruby dibiarkan mempunyai hole yang dibuka untuk programmer agar menulis blok mereka sendiri untuk mengisi dengan lebih lengkap apa saja yang seharusnya sebuah metode lakukan.
Ruby dan Mixin
Tidak seperti banyak bahasa-bahasa berorientasi obyek lain, Ruby hanya menyediakan single inheritance dengan sengaja. Tetapi Ruby mengetahui konsep module (disebut sebagai Categories di Objective-C). Module merupakan kumpulan dari metode-metode.
Kelas dapat me-mixin (menggabungkan) sebuah module dan menerima semua metode-metode (dari module yang bersangkutan) dengan bebas. Contoh, setiap kelas yang mengimplementasikan metode eachbisa mixin module Enumerable, yang menambahkan banyak metode-metode yang menggunakan each untuk melakukan perulangan.
class MyArray
  include Enumerable
end

Secara umum, Rubyist menganggap ini sebagai cara yang lebih jelas ketimbang multiple inheritance, yang rumit dan bahkan terlalu membatasi.
Tampilan Ruby secara Visual
Ruby jarang menggunakan tanda baca dan biasanya cenderung menggunakan keyword berbahasa Inggris, biasanya beberapa tanda baca digunakan untuk memperjelas kode Ruby
Ruby tidak perlu deklarasi variabel. Ruby menggunakan aturan penamaan yang mudah untuk menyatakan scope suatu variabel.
  • var adalah variabel lokal.
  • @var adalah variabel instan.
  • $var adalah variabel global.
Sigil-sigil 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 self.
Langkah Selanjutnya
Ruby kaya fitur, antara lain sebagai berikut:
  • Ruby memiliki fitur-fitur yang menangani exception, seperti Java atau Python, untuk mempermudah menangani error.
  • Ruby menyediakan mark-and-sweep garbage collector untuk semua obyek Ruby. Tidak perlu me-maintain reference count pada library extension. Seperti yang Matz katakan, “Ini lebih baik untuk kesehatan Anda.”
  • Menulis extension C di Ruby lebih mudah daripada di Perl ataupun di Python, dengan API yang elegan untuk memanggil Ruby dari C. Ini termasuk memanggil Ruby embedded di software, untuk digunakan sebagai bahasa scripting. InterfaceSWIG juga tersedia.
  • Ruby bisa load library extension secara dinamis jika Sistem Operasi mengijinkan.
  • Ruby menyediakan fitur OS threading yang independent. Maka, untuk semua platform dimana Ruby berjalan, Anda juga punya multithreading, terlepas dari apakah Sistem Operasi mendukung multithreading atau tidak, bahkan pada MS-DOS sekalipun!
  • Ruby sangat portable: Ruby kebanyakan dikembangkan diGNU/Linux, tetapi juga berjalan di banyak tipe UNIX, Mac OS X, Windows 95/98/Me/NT/2000/XP, DOS, BeOS, OS/2, dan lain-lain.
Referensi
1 Matz, berbicara di milis Ruby-Talk, 12 Mei 2000.
2 Lihat situs Ruby on Rails untuk info lebih lengkap.
3 Matz, An Interview with the Creator of Ruby, (Wawancara dengan Pencipta Ruby, dalam Bahasa Inggris), 29 November 2001.
4 Matz, Blocks and Closures in Ruby, (Blok dan Closure di Ruby, dalam Bahasa Inggris), 22 Desember 2003.
 Kalo mau lebih lengkap lagi tentang keterangannya lihat di sini:  http://www.ruby-lang.org.


Senin, 16 April 2012

MODALS AUXILIARY


*MODALS AUXILIARY*

Auxiliaries jenis ini mengandung makna khhusus yang digunakan melalui ungkapan tertentu, sperti, ability, permission, possibility, dll. Berbeda dengan jenis di atas, modal tidak pernah bisa berdiri sendiri dan berfungsi menjadi ordinary verb.
A.   Ability : can, could,be able to
a.   He can/is able to climb that tree
b.   She can/is able to speak arabic
c.   I can see you tonight
·         Can/ could dalam hal hal tertentu berbeda maksudnya dari be able to jadi tidak selalu dapat dipertukarkan;
·         Could adalah past abliity dari can.


B.   Permission: may, might, can, could
a.   You can use my pencil.
b.   May I go home now?
c.   The teacher said that we might collect the homework tomorrow.
d.   He told us that we couldn’t meet him on Sunday.

C.   Advisability: should, ought to, had better
We should/ought to /had better study harder.
Should have dan ought to have digunakan untuk past time
-          He should have / ought to have washed the car this morning. (He did not wash the car this morning )
Had better tidak memiliki past form.







D.   Possibility: May, Can
1.   Present/future
It can/may/might rain tomorrow.
2.   Past
a.   I can’t find my purse. I could have might have left it at the office.
b.   He was not at home when I called him. He could have/ might have been at the library.
-  In this lesson we will work with this form: subject + modal + verb. 
- Different things can happen during the winter. There are different possibilities. We
can use the following modal auxiliaries to talk about these possibilities.
can
could
will
might
may
be going to
Practice using these modal auxiliaries with the following possibilities. Think of a verb to go
with a modal auxiliary.
cold
slippery
get sick
catch a cold
dangerous roads 
snowstorm
difficult to see
icy sidewalks
  Icy roads
cold hands 
parking space 
covered with snow
Freezing rain
Icy windshield
accident
Be late

- examples: It can get very cold in the winter. 
                             The sidewalks might be slippery, so be careful. 
- note: Do not use “to” after a modal auxiliary.

E.   Necessity: must, have to, have got to
a.   I have a class at eleven. I have got to / have to/ must go now.
b.   Had to dipakai untuk mengungkapan past necessity
c.   I had to leave the office early yesterday

F.   Lack of necessity and prohibition : don’t have to, musn’t
a.   Lack of necessity
A wife doesn’t have to earn money.
It’s a sunny day. I dont have to bring my umbrella
You’ve got a lot of time.  You don’t have to hurry.     
b.   Prohibition
Moslems musn’t eat pork.
Moslems musn’t drink liquor.
Moslems musn’t gossip

G.  Inference: must, must have
A.   Present
a.   You have been workng all day. You must be tired.
b.   Those peope must be waiting for the bus.
B.   Past
a.   I cant find my spetacles anywhere. I must have lost it.
b.   Somebody knocked at the door but i didn’t hear him. I must have been asleep

H.  Preference: would rather
A.   Present
a.   The children would rather walk to school thatn take a bus.
B.   Past
a.   The children would rather have walk to scholl than take a bus this morning.

Must
Have to
Express obligation from speakers viewpoint
Express external obligation
He must stay at night.
I press him to do so.
He has to stay the night.
He can’t get back tonight.
You must call me ‘sir’.
I like it that way.
You have to call me “sir”.
This is the regulation address.
They must take it away.
I won’t have it any longer.
They have to take it away.
They’ve been told to do so.



Macam- Macam Kondisi C++


Macam- Macam Kondisi C++
Kondisi digunakan untuk mengambi keputusan berdasarkan suatu kondisi yg memenuhi syarat yg telah ditentukan dlm suatu program jika suatu nilai memenuhi kondisi maka nilai bernilai benar jika tidak maka bernilai salah. Itu pula yang terjadi pada kondisi ini:


Macam-Macam Kondisi C++

-IF 
kondisi yg digunakan untuk menyeleksi suatu kondisi tunggal bila proses yg diseleksi terpenuhi adalah bernilai benar maka pernyataan yg ada didalam blok if akan diproses dan dikerjakan.bentuk umumnya if (kondisi).

-IF ELSE
digunakan jika kondisi yang di periksa dinilai benar terpenuhi maka pernyataan pertama yang dilaksanakan,dan jaka kondisi yang di periksa bernilai salah maka pernyataan yang ke dua yang di laksanakan.
Bentuk umumnya:
if (kondisi)
statement
else
statement

-SWICTCH …CASE 
digunakan untuk penyeleksian kondisi dengan kemungkinan yang terjadi cukup banyak.

Bentuk umumnya:

switch (kondisi);
{
case1 :pernyataan -1;
break;

case2 :Pernyataan -2;
break;
…..
…..
case n:pernyataan-n;
break;
default:pernyataan-n;

3.contoh program npm ganjil:
#include
main()
{
int nilai;
cout<<”nilai \t:; cin>>(nilai>=65)
cout<<”selamat anda lulus ujian \n”; return 0; }


Rabu, 11 April 2012

Metode Regulafalsi Pada Program Pascal









Ini adalah salah satu metode Bisection and regulafalsi dengan program Pascal yang bisa anda tiru untuk belajar .
                                                                  
  LISTING PROGRAM

PROCEDURE RegulaFalsi(a,b,eps:Real; VAR xsol:Real);
{ Required condition: f(a)*f(b)<0 }
{ eps = accuracy of the root, e.g.: 0.000001 }
VAR
   c, fa, fb:Real;
BEGIN
   REPEAT
     fa:=f(a); fb:=f(b);
     c:=b - (b-a)*fb/(fb-fa);
     IF fa*f(c)<0 THEN b:=c
     ELSE a:=c
   UNTIL b-a<eps;
   xsol:=c
END; {Regula Falsi method - Pascal code}


PROCEDURE Bisection(a,b,eps:Real; VAR xsol:Real);
{ Required condition: f(a)*f(b)<0 }
{ eps = accuracy of the root, e.g.: 0.000001 }
VAR
   c:Real;
BEGIN
   REPEAT
     c:=(a+b)/2;
     IF f(a)*f(c)<0 THEN b:=c
     ELSE a:=c
   UNTIL b-a<eps;
   xsol:=c
END; {Bisection method - Pascal code}



 

Gunadarma BAAK News

Gunadarma BAAK News

Gunadarma BAAK News

Total Tayangan Halaman

Pengikut

Powered By Blogger
Copyright 2010 Anggun Blogg's. All rights reserved.
Themes by Bonard Alfin l Home Recording l Distorsi Blog