ARNOLD'S BLOG WORLD

BLOK INI MEMAUT PENULISAN DAN SEMUA YANG TELAH DIKERJAKAN OLEH SANG PENULIS ARNOLD. DALAM BLOG INI JUGA TERDAPAT ILMU YANG MUNGKIN BISA ANDA AMBIL DARI PENULISA-PENULISANNYA

MARI KITA KENAL LAN (Local Area Network)

TCP/IP (Transmission Control Protocol/Internet Protocol) adalah sekelompok protokol yang mengatur komunikasi data komputer di internet. Komputer-komputer yang terhubung ke internet berkomunikasi dengan protokol TCP/IP, karena menggunakan bahasa yang sama perbedaan jenis komputer dan sistem operasi tidak menjadi masalah. Komputer PC dengan sistem operasi Windows dapat berkomunikasi dengan komputer Macintosh atau dengan Sun SPARC yang menjalankan solaris. Jadi, jika sebuah komputer menggunakan protokol TCP/IP dan terhubung langsung ke internet, maka komputer tersebut dapat berhubungan dengan komputer di belahan dunia mana pun yang juga terhubung ke internet
Ciri-ciri jaringan komputer:

1. berbagi perangkat keras (hardware).

2. berbagi perangkat lunak (software).

3. berbagi saluran komunikasi (internet).

4. berbagi data dengan mudah.

5. memudahkan komunikasi antar pemakai jaringan.

Local Area Network (LAN) adalah sejumlah komputer yang saling dihubungkan bersama di dalam satu areal tertentu yang tidak begitu luas, seperti di dalam satu kantor atau gedung. Secara garis besar terdapat dua tipe jaringan atau LAN, yaitu jaringan Peer to Peer dan jaringan Client-Server.

Pada jaringan peer to peer, setiap komputer yang terhubung ke jaringan dapat bertindak baik sebagai workstation maupun server. Sedangkan pada jaringan Client-Server, hanya satu komputer yang bertugas sebagai server dan komputer lain berperan sebagai workstation. Antara dua tipe jaringan tersebut masing-masing memiliki keunggulan dan kelemahan, di mana masing-masing akan dijelaskan.

LAN tersusun dari beberapa elemen dasar yang meliputi komponen hardware dan software, yaitu :

  1. Komponen Fisik

Personal Computer (PC), Network Interface Card (NIC), Kabel, Topologi jaringan

  1. Komponen Software

Sistem Operasi Jaringan, Network Adapter Driver, Protokol Jaringan.

Personal Komputer (PC)

Tipe personal komputer yang digunakan di dalam jaringan akan sangat menentukan unjuk kerja dari jaringan tersebut. Komputer dengan unjuk kerja tinggi akan mampu mengirim dan mengakses data dalam jaringan dengan cepat. Di dalam jaringan tipe Client-Server, komputer yang difungsikan sebagai server mutlak harus memiliki unjuk kerja yang lebih tinggi dibandingkan komputerkomputer lain sebagai workstation-nya, karena server akan bertugas menyediakan fasilitas dan mengelola operasional jaringan tersebut.

Network Interface Card (NIC)

Berdasarkan tipe bus, ada beberapa tipe network interface card (nic) atau network card, yaitu ISA dan PCI.

Saat ini terdapat jenis network card yang banyak digunakan, yaitu PCI

Gambar Jenis kartu jaringan Ethernet

Tipe Pengkabelan

Terdapat beberapa tipe pengkabelan yang biasa digunakan dan dapat digunakan untuk mengaplikasikan Jaringan, yaitu:

  1. Thin Ethernet (Thinnet)

Thin Ethernet atau Thinnet memiliki keunggulan dalam hal biaya yang relatif lebih murah dibandingkan dengan tipe pengkabelan lain, serta pemasangan komponennya lebih mudah. Panjang kabel thin coaxial/RG-58 antara 0.5 – 185 m dan maksimum 30 komputer terhubung.

  1. Thick Ethernet (Thicknet)

Dengan thick Ethernet atau thicknet, jumlah komputer yang dapat dihubungkan dalam jaringan akan lebih banyak dan jarak antara komputer dapat diperbesar, tetapi biaya pengadaan pengkabelan ini lebih mahal serta pemasangannya relatif lebih sulit dibandingkan dengan Thinnet. Pada Thicknet digunakan transceiver untuk menghubungkan setiap komputer dengan sistem jaringan dan konektor yang digunakan adalah konektor tipe DIX. Panjang kabel transceiver maksimum 50 m, panjang kabel Thick Ethernet maksimum 500 m dengan maksimum 100 transceiver terhubung.

  1. Twisted Pair Ethernet

Kabel Twisted Pair ini terbagi menjadi dua jenis yaitu shielded dan unshielded. Shielded adalah jenis kabel yang memiliki selubung pembungkus sedangkan unshielded tidak mempunyai selubung pembungkus. Untuk koneksinya kabel jenis ini menggunakan konektor RJ-11 atau RJ-45. Pada twisted pair (10 BaseT) network, komputer disusun membentuk suatu pola star. Setiap PC memiliki satu kabel twisted pair yang tersentral pada HUB. Twisted pair umumnya lebih handal (reliable) dibandingkan dengan thin coax karena HUB mempunyai kemampuan data error correction dan meningkatkan kecepatan transmisi.

Saat ini ada beberapa grade, atau kategori dari kabel twisted pair. Kategori 5 adalah yang paling reliable dan memiliki kompabilitas yang tinggi, dan yang paling disarankan. Berjalan baik pada 10Mbps dan Fast Ethernet (100Mbps). Kabel kategori 5 dapat dibuat straight-through atau crossed.

Kabel straight through digunakan untuk menghubungkan komputer ke HUB. Kabel crossed digunakan untuk menghubungkan HUB ke HUB dan Modem Broadband lansung ke PC (tanpa HUB). Panjang kabel maksimum kabel Twisted-Pair adalah 100 m.

  1. Fiber Optic

Jaringan yang menggunakan Fiber Optic (FO) biasanya perusahaan besar, dikarenakan harga dan proses pemasangannya lebih sulit. Namun demikian, jaringan yang menggunakan FO dari segi kehandalan dan kecepatan tidak diragukan. Kecepatan pengiriman data dengan media FO lebih dari 100Mbps dan bebas pengaruh lingkungan.

Protokol TCP/IP

Karena penting peranannya pada sistem operasi Windows dan juga karena protokol TCP/IP merupakan protokol pilihan (default) dari Windows. Protokol TCP berada pada lapisan Transport model OSI (Open System Interconnection), sedangkan IP berada pada lapisan Network mode OSI

IP Address

IP address adalah alamat yang diberikan pada jaringan komputer dan peralatan jaringan yang menggunakan protokol TCP/IP. IP address terdiri atas 32 bit angka biner yang dapat dituliskan sebagai empat kelompok angka desimal yang dipisahkan oleh tanda titik seperti 192.168.0.1.

Network ID Host ID

IP address terdiri atas dua bagian yaitu network ID dan host ID, dimana network ID menentukan alamat jaringan komputer, sedangkan host ID menentukan alamat host (komputer, router, switch). Oleh sebab itu IP address memberikan alamat lengkap suatu host beserta alamat jaringan di mana host itu berada.

Kelas-kelas IP Address

Untuk mempermudah pemakaian, bergantung pada kebutuhan pemakai, IP address dibagi dalam tiga kelas seperti diperlihatkan pada tabel 1.2.

Kelas Network ID Host ID Default Subnet Mask

A xxx.0.0.1 s/d xxx.255.255.254 – Defaul subnet mask : 255.0.0.0

B xxx.xxx.0.1 s/d xxx.xxx.255.254 – Defaul subnet mask : 255.255.0.0

C xxx.xxx.xxx.1 s/d xxx.xxx.xxx.254 – Defaul subnet mask : 255.255.255.0

IP address kelas A diberikan untuk jaringan dengan jumlah host yang sangat besar. Range IP 1.xxx.xxx.xxx. – 126.xxx.xxx.xxx, terdapat 16.777.214 (16 juta) IP address pada tiap kelas A. IP address kelas A diberikan untuk jaringan dengan jumlah host yang sangat besar. Pada IP address kelas A, network ID ialah 8 bit pertama, sedangkan host ID ialah 24 bit berikutnya.

Dengan demikian, cara membaca IP address kelas A, misalnya 113.46.5.6 ialah:

Network ID = 113

Host ID = 46.5.6

Sehingga IP address diatas berarti host nomor 46.5.6 pada network nomor 113.

IP address kelas B biasanya dialokasikan untuk jaringan berukuran sedang dan besar. Pada IP address kelas B, network ID ialah 16 bit pertama, sedangkan host ID ialah 16 bit berikutnya.

Dengan demikian, cara membaca IP address kelas B, misalnya 132.92.121.1

Network ID = 132.92

Host ID = 121.1

Sehingga IP address di atas berarti host nomor 121.1 pada network nomor 132.92. dengan panjang host ID 16 bit, network dengan IP address kelas B dapat menampung sekitar 65000 host. Range IP 128.0.xxx.xxx – 191.255.xxx.xxx

IP address kelas C awalnya digunakan untuk jaringan berukuran kecil (LAN). Host ID ialah 8 bit terakhir. Dengan konfigurasi ini, bisa dibentuk sekitar 2 juta network dengan masing-masing network memiliki 256 IP address. Range IP 192.0.0.xxx – 223.255.255.x.

Pengalokasian IP address pada dasarnya ialah proses memilih network Id dan host ID yang tepat untuk suatu jaringan. Tepat atau tidaknya konfigurasi ini tergantung dari tujuan yang hendak dicapai, yaitu mengalokasikan IP address seefisien mungkin.

Domain Name System (DNS)

Domain Name System (DNS) adalah suatu sistem yang memungkinkan nama suatu host pada jaringan komputer atau internet ditranslasikan menjadi IP address. Dalam pemberian nama, DNS menggunakan arsitektur hierarki.

1. Root-level domain: merupakan tingkat teratas yang ditampilkan sebagai tanda titik (.).

2. Top level domain: kode kategori organisasi atau negara misalnya: .com untuk dipakai oleh perusahaan; .edu untuk dipakai oleh perguruan tinggi; .gov untuk dipakai oleh badan pemerintahan. Selain itu untuk membedakan pemakaian nama oleh suatu negara dengan negara lain digunakan tanda misalnya .id untuk Indonesia atau .au untuk australia.

3. Second level domain: merupakan nama untuk organisasi atau perusahaan, misalnya : microsoft.com; yahoo.com, dan lain-lain.

DHCP (Dynamic Host Configuration Protocol)

IP address dan subnet mask dapat diberikan secara otomatis menggunakan Dynamic Host

Configuration Protocol atau diisi secara manual. DHCP berfungsi untuk memberikan IP address secara otomatis pada komputer yang menggunakan protokol TCP/IP. DHCP bekerja dengan relasi client-server, dimana DHCP server menyediakan suatu kelompok IP address yang dapat diberikan pada DHCP client. Dalam memberikan IP address ini, DHCP hanya meminjamkan IP address tersebut. Jadi pemberian IP address ini berlangsung secara dinamis.

Topologi Jaringan adalah gambaran secara fisik dari pola hubungan antara komponen-komponen jaringan, yang meliputi server, workstation, hub dan pengkabelannnya. Terdapat tiga macam topologi jaringan umum digunakan, yaitu Bus, Star dan Ring.

Topologi Bus

Pada topologi Bus digunakan sebuah kabel tunggal atau kabel pusat di mana seluruh workstation dan server dihubungkan. Keunggulan topologi Bus adalah pengembangan jaringan atau penambahan workstation baru dapat dilakukan dengan mudah tanpa mengganggu workstation lain. Kelemahan dari topologi ini adalah bila terdapat gangguan di sepanjang kabel pusat maka keseluruhan jaringan akan mengalami gangguan.

1. Topologi Star

Pada topologi Star, masing-masing workstation dihubungkan secara langsung ke server atau hub. Keunggulan dari topologi tipe Star ini adalah bahwa dengan adanya kabel tersendiri untuk setiap workstation ke server, maka bandwidth atau lebar jalur komunikasi dalam kabel akan semakin lebar sehingga akan meningkatkan unjuk kerja jaringan secara keseluruhan. Dan juga bila terdapat gangguan di suatu jalur kabel maka gangguan hanya akan terjadi dalam komunikasi antara workstation yang bersangkutan dengan server, jaringan secara keseluruhan tidak mengalami gangguan. Kelemahan dari topologi Star adalah kebutuhan kabel yang lebih besar dibandingkan dengan topologi lainnya.

2. Topologi Ring

Di dalam topologi Ring semua workstation dan server dihubungkan sehingga terbentuk suatu pola lingkaran atau cincin. Tiap workstation ataupun server akan menerima dan melewatkan informasi dari satu komputer ke komputer lain, bila alamat- alamat yang dimaksud sesuai maka informasi diterima dan bila tidak informasi akan dilewatkan.

Kelemahan dari topologi ini adalah setiap node dalam jaringan akan selalu ikut serta mengelola informasi yang dilewatkan dalam jaringan, sehingga bila terdapat gangguan di suatu node maka seluruh jaringan akan terganggu.

Keunggulan topologi Ring adalah tidak terjadinya collision atau tabrakan pengiriman data seperti pada topologi Bus, karena hanya satu node dapat mengirimkan data pada suatu saat.

Network Adapter Card (LAN Card)

Setiap network card akan memiliki driver atau program yang berfungsi untuk mengaktifkan dan mengkonfigurasi network adapter tersebut disesuaikan dengan lingkungan dimana network card tersebut dipasang agar dapat digunakan untuk melakukan komunikasi data.

Sistem Operasi Jaringan

Untuk mengelola suatu jaringan diperlukan adanya sistem operasi jaringan. Sistem operasi jaringan dibedakan menjadi dua berdasarkan tipe jaringannnya, yaitu sistem operasi client-server dan system operasi jaringan peer to peer.

1. Jaringan Client-Server

Server adalah komputer yang menyediakan fasilitas bagi komputer-komputer lain didalam jaringan dan client adalah komputer-komputer yang menerima atau menggunakan fasilitas yang disediakan oleh server. Server dijaringan tipe client-server disebut dengan Dedicated Server karena murni berperan sebagai server yang menyediakan fasilitas kepada workstation dan server tersebut tidak dapat berperan sebagai workstation.

Keunggulan

  1. Kecepatan akses lebih tinggi karena penyediaan fasilitas jaringan dan pengelolaannya dilakukan secara khusus oleh satu komputer (server) yang tidak dibebani dengan tugas lain sebagai workstation.
  2. Sistem keamanan dan administrasi jaringan lebih baik, karena terdapat seorang pemakai yang bertugas sebagai administrator jaringan, yang mengelola administrasi dan sistem keamanan jaringan.
  3. Sistem backup data lebih baik, karena pada jaringan client-server backup dilakukan terpusat di server, yang akan membackup seluruh data yang digunakan di dalam jaringan.

Kelemahan

1. Biaya operasional relatif lebih mahal.

2. Diperlukan adanya satu komputer khusus yang berkemampuan lebih untuk ditugaskan sebagai server.

3. Kelangsungan jaringan sangat tergantung pada server. Bila server mengalami gangguan maka secara keseluruhan jaringan akan terganggu.

2.1. Setting Jaringan Komputer Lokal (LAN – Local Area Network) menggunakan Windows XP

Prosedur yang dilakukan untuk mengkonfigurasi Network Adapter Card (bisa dilihat di gambar seperti diatas).

1. Click Start à Setting à Control Panel sampai keluar kotak dialog Control Panel (seperti terlihat digambar dibawah ini)

2. Double-Click Icon Network Connection sampai keluar kotak dialog Network Connection

3. Double-click Icon Local Area Connection sampai keluar kotak dialog Local Connection Area Status

4. Click Properties sampai keluar kotak dialog Local Area Connection Properties

5. Double-Click Internet Protocol (TCP/IP) yang ada di dalam kotak dialog Local Area Connection Properties sampai keluar kotak dialog baru : Internet Protocol (TCP/IP) Protocol

Masukkan data-data IP Address seperti gambar diatas. Data IP Address setiap UAD akan berbeda-beda dan unik (tidak boleh sama antara satu AUD Kampus III dengan UAD Kampus lain ). Data IP Address ini, nanti akan diberikan saat instalasi Broadband selesai (saat aktifasi jaringan)

Data-data IP Address yang paling diperlukan oleh setiap PC yang akan disetting di setiap remote UAD adalah sbb :

1. Default Gateway à IP Address dari modem Broadband. Diberikan menyusul saat aktifasi.

2. IP Address à IP Address ini merupakan satu class dengan IP Modem Broadband (IP Default Gateway) nantinya.

3. Subnet Mask à Data Blok IP yang akan diberikan, mestilah meng-ingclude-kan data Subnet Mask ini.

4. Setelah data-data setting TCP/IP ini dimasukkan, click OK untuk menutup kotak dialog Internet Connection (TCP/IP) Properties

5. click OK untuk menutup kotak dialog “Local Area Connection Properties”

6. Click Star à Run à sampai keluar kotak dialog RUN, dan ketikkan CMD sampai keluar kotak dialog baru “command”

7. Di kotak dialog “Command” tadi, ketikkan : ipconfig

Jika Ethernet dari computer belum tersambung dengan LAN, akan keluar hasil seperti gambar dibawah.

7.1. Jika dilakukan test PING saat kondisi Komputer belum tersambung ke LAN, akan didapat hasil seperti gambar dibawah.

7.2. Setelah computer tersambung ke LAN, ketik IPCONFIG /ALL untuk melihat IP Address yang terpasang di Komputer user tersebut. Hasilnya bisa dilihat seperti gambar dibawah ini.

Jika didapatkan hasil ping test (Request timed out), Kemungkinan ada problem di jaringan Lokal.

Kemungkinan problem ada bisa dari sbb :

- Konektor kabel jaringan (kabel LAN) terpasang kurang kencang. à Kencangkan koneksi pemasangan kabel LAN ke port Hub Ethernet dan ke Card PC LAN

- Kabel LAN yang tidak bagus (ada pin-pin koneksi kabel yang putus ditengah) Ganti dengan kabel LAN lain yang bagus

- Port Hub Ethernet yang tidak bagus (longgar atau bad contact) à Coba pindah port

Jika didapatkan hasil ping test seperti gambar diatas (Reply from x.x.x.x ), bisa dipastikan bahwa jaringan beroperasi dengan normal.

Setiap user jaringan di remote UAD, diharapkan paling tidak, bisa melakukan action seperti diatas. Target user di UAD adalah memastikan jaringan local LAN terhubung dengan IP Ethernet dari Modem Broadband yang merupakan Gateway jaringan UAD menuju Jaringan Server UAD Pusat dan Internet.

Jika PC user telah bisa melakukan ping test seperti diatas, dan mendapatkan hasil Reply from x.x.x.x à (Ip modem), maka bisa dipastikan jaringan LAN di UAD tersebut tidak ada masalah.

Setelah memastikan di jaringan LAN tersebut tidak bermasalah, user di UAD diarahkan untuk melakukan TEST PING IP Address Server Pusat. Cara melakukan test ping ini sama dengan melakukan test ping IP Modem di jaringan local. Perbedaannya hanya di IP ADDRESS yang akan di ping dimasukkan IP Address computer yang ada di kantor pusat, atau IP Address yang ada di internet. Selanjutnya dilakuka test aplikasi – aplikasi internet.

BAHASA INGRIS BISNIS 2

Past Perfect Tense – Past Perfect Progressive (continous)
Past Perfect
Subject + had + [verb in past participle]
The past perfect is used to indicate :
• An action that happened before another action in the past; there usually are two actions in the sentence.
John had gone to the store before he went home
Had gone = 1st action went = 2nd action

Subject + had + V3 + before + subject + V2
John told us yesterday that he had visited England in 1970
Had visited = 1st action told = 2nd action

Subject + had + V3 + before + subject + V2
John went home after he had gone to the store
Subject + V2 + after + subject + had + V3
Before John went home, he had gone to the store
Before + Subject + V2 + subject + had + V3
After John had gone to the store, he went home
After + Subject + had + V3 + subject + V2
• A state which continued for a time in the past, but stopped before now.

Past Perfect Progressive
The past perfect progressive for category 2 of past perfect only, we can use the past perfect continous.
Subject + had + been + [verb + ing]
Exercises :

1. The policeman read the suspect his rights after he (arrest) him.
Answer : had arrested
2. After John (wash) his clothes, he began study.
Answer : had washed
3. George (wait) for one hour before the bus came.
Answer : has waited
4. Maria (enter) the university after she had graduated from the community college.
Answer : entered
5. Jeanette (wash) the pipettes after she had completed the experiment.
Answer : washed
6. Jane sent a letter to her university after she (receive) her scholarship check.
Answer : has received
7. After the stewardesses had served lunch to the passengers, they (sit) down.
Answer : sat
8. The car (flip) ten times before it landed on its roof.
Answer : had flipped
9. We corrected our papers after we (take) the quiz.
Answer : had taken
10. John (live) in Miami for one year when his parents came to visit.
Answer : had lived

BAHASA INGRIS BISNIS 2

1. The Armory Show, held in New York in 1913, was a important exhibition of modern European art.

2. Ripe fruit is often stored in a place who contains much carbon dioxide so that the fruit will not decay too rapidly.

3. In 1852 Massachusetts passed a law requiring all children from four to eighteen years of old to attend school.

4. The main purpose of classifying animals is to show the most probable evolutionary relationship of the different species to each another.

5. Matthew C Perry, a United States naval commander, gained fame not in war and through diplomacy.

6. One of the most impressive collections of nineteenth-century European paintings in the United States can be found to the Philadelphia Museum of Art.

7. Three of every four migrating water birds in North America visits the Gulf of Mexico's winter wetlands.

8. Charleston, West Virginia, was named for Charles Clendenin, who son George acquired land at the junction of the Elk and Kanawha rivers in 1787.

9. Financier Andrew Mellon donated most of his magnificent art collection to the National Galerry of Art, where it is now locating.

10. Soil temperatures in Death Valley, California, near the Nevada border, have been known to reach 90 of degrees Celcius.

11. When the Sun, Moon, and Earth are alignment and the Moon crosses the Earth's orbital plane, a solar eclipse occurs.

12. Mary Cassatt's paintings of mothers and children are known for its fine linear rhythm, simple modelings, and harmonies of clear color.

13. Plants synthesize carbohydrates from water and carbon dioxide with the aid of energy is derived from sunlight.

14. The best American popular music balances a powerful of emotions of youth with tenderness, grace, and wit.

15. In the nineteenth century, women used quilts to inscribe their responses to social, economics, and politics issues.

16. Fossils in 500-million-year-old rocks demonstrate that life forms in the cambrian period were mostly marine animals capability of secreting calcium to from shells.

17. Rainbows in the shape of complete circles are sometimes seen from airplanes because they are not cutting off by the horizon.

18. Hot at the equator causes the air to expand, rise, and flow toward the poles.

19. Although research has been on going since 1930, the existence of ESP-perception and communication without the use of sight, hear, taste, touch, or smell - is still disputed.

20. As many as 50 percent of the income from motion pictures produced in the United States comes from marketing the films abroad.

21. Sleep is controlled by the brain and associated by characteristic breathing rhythms.

22. The walls around the city of Quebec, which was originally a fort millitary, still stand, making Quebec the only walled city in North America.

23. The manufacture of authomobile was extremely expensive until assembly-line techniques made them cheaper to produce.

24. The ballad is characterized by informal diction, by a narrative largely dependent on action and dialogue, by thematic intense, and by stress on repetition.

25. Eleanor Roosevelt set the standard against which the wives of all United States Presidents since have evaluated.

TUGAS PENGANTAR KECERDASAN 3

Jalur (track) : Pembelian Tiket Bus
Role (peran) : Pelanggan, Kasir, Security
Prop (pendukung) : Bus, Kursi, Tiket, dll
Kondisi input : Pelanggan ingin membeli tiket

Scene 1
Persiapan Security
> Security membuka pintu gerbang
> Security memeriksa keadaan sekitar

Scene 2
Persiapan Kasir
> Kasir membuka loket
> Kasir merapihkan ruangan kasir

Scene 3
Pelanggan mulai membeli
> Pelanggan masuk gerbang pemesanan tiket
> Pelanggan parkir kendaraan
> Security memberikan karcis kendaraan
> Pelanggan menuju loket pembelian tiket
> pelanggan membeli tiket pemberangkatan

Scene 4
Kasir melayani Pelanggan
> Kasir mencatat pesanan pelanggan
> kasir memberikan tiket kepada pelanggan
> pelanggan membayar tiket
> kasir mengambil uang pembayaran dari pelanggan
> Kasir mempersilhkan pelanggan menunggu diruang tunggu bus

Scene 5
Proses pembrangkatan Bus
> Bus disiapkan dilapangan bus/parkiran bus
> Pelanggan diberikan informasi keberangkatan bus
> Pelanggan menuju parkiran bus
> pelanggan masuk kedalam bus
> Supir memeriksa tiket pelanggan
> Pelanggan duduk di bangku sesuai dengan tiketnya
> Bus menunggu palanggan yang lain
> Bus berangkat


Hasil :
> Pelanggan menuju tempat tujuannya
> Pelanggan puas dan senang
> Uang pelanggan kurang

BAHASA PEMROGRAMAN JAVA

1. Pengenalan Java

Java adalah bahasa pemrograman berorientasi objek yang dikembangkan oleh Sun Microsystems sejak tahun 1991. Bahasa ini dikembangkan dengan model yang mirip dengan bahasa C++ dan Smalltalk, namun dirancang agar lebih mudah dipakai dalam platform independent. Platform independent yaitu sebuah bahasa pemrograman yang dapat dijalankan di berbagai jenis sistem operasi dan arsitektur komputer¬¬. Semua tipe data dalam bahasa Java mempunyai ukuran yang konsisten di semua jenis platform. Source code program Java sendiri tidak perlu dirubah sama sekali jika anda ingin mengkompile ulang di platform lain. Hasil dari mengkompile source code Java bukanlah kode mesin atau instruksi prosesor yang spesifik terhadap mesin tertentu, melainkan berupa bytecode yang berupa file berekstensi .class. Bytecode tersebut dapat langsung dieksekusi di tiap platform yang dengan menggunakan Java Virtual Machine (JVM) sebagai interpreter terhadap bytecode tersebut.. Sebagai sebuah bahasa pemrograman, Java dapat membuat seluruh bentuk aplikasi, desktop, web dan lainnya, sebagaimana dibuat dengan menggunakan bahasa pemrograman konvensional yang lain.
Java Virtual Machine (JVM) sendiri adalah sebuah aplikasi yang berjalan di atas sebuah sistem operasi dan menerjemahkan bytecode program Java dan mengeksekusinya, sehingga secara konsep bisa dianggap sebagai sebuah interpreter. Sebuah program Java yang telah dikompilasi akan dapat berjalan di platform mana saja, asalkan ada Java Virtual Machine (JVM) di sana

2. KELEBIHAN JAVA

Bahasa pemrograman java memiliki banyak kelebihan, beberapa diantaranya seperti dibawah ini :
A.Berorientasi objek (Object Oriented Programming). Dengan ciri-ciri sebagai berikut
B.Abstraction : menandai masing-masing objek dengan karakteristik yang unik sehingga mudah dibedakan dan dipahami.
C.Encapsulation : memisahkan elemen-elemen yang menyusunnya. Dengan menyembunyikan detail dari class; memaksa user untuk menggunakan interface dalam mengakses data; membuat code lebih mudah di-maintain.
D.Inheritance : sebuah objek memerlukan properti dari objek yang lain.
E.Polymorphism : membuat objek menjadi modular sehingga mudah untuk dipindah/dipakai lagi.
F.Open platform/portable maksudnya ialah Dapat digunakan pada platform yang berbeda (Windows, Linux/UNIX, Solaris, Macintosh, etc) tanpa harus dilakukan perubahan. Java juga merupakan bahasa yang paling sesuai digunakan bersama XML, sehingga data menjadi portable
G.Java sebagai bahasa, platform dan sekaligus arsitektur. Java memiliki fleksibilitas dan portabilitas yang sangat tinggi. Java dapat berada pada smartcard, handphone, PDA, Palm, TV, embedded device, etc.
H.Multi-threading. Dalam program yang sama, memungkinkan untuk dilakukaan banyak thread secara independen dan kontinyu dalam sebuah eksekusi program.
I.Automatic garbage collection. Fitur ini dapat membersihkan objek yang tidak terpakai dari memori.
J.Secure. Java memang didisain untuk eksekusi yang aman pada jaringan. Banyak fitur-fitur C dan C++ yang dieliminasi, seperti pointer. Dan pada Java, program tidak dapat mengakses arbitrary memory.
Bahasa Java yang berkembang dapat dikategorikan menjadi :
K.Java Micro Edition (JME). Khusus untuk aplikasi skala kecil, dan biasa digunakan untuk membuat aplikasi pada PDA atau mobile divice dan wireless lain. Contoh keluaran Sun adalah J2ME.
L.Java Standart Edition (JSE). Ini yang biasa dikenal dengan bahasa Java. Banyak subset dari JSE untuk aplikasi yang berbeda-beda. Misalnya untuk networking, database, web, security, dll
M.Java Enterprise Edition (JEE). Untuk aplikasi skala makro dengan kompleksitas tinggi. Aplikasi ini berbasis web.
N.Java Card (JC). Untuk aplikasi khusus diimplementasikan pada pemrograman java


3. FITUR JAVA

Java api menyediakan fitur-fitur yang menarik bagi yang ingin menggunakan Java untuk mengembangkan aplikasi. Ada berbagai fitur yang ditawarkan oleh Java api antara lain sebagai berikut :
• Applet
Java applet merupakan program Java yang berjalan di atas browser. Dengan menggunakan Java applet, maka halaman html akan lebih dinamis dan menarik, sangat cocok untuk pengembangan aplikasi-aplikasi berbasis web.

• Java networking
Java networking merupakan sekumpulan api (application programming interface). Yang menyediakan fungsi-fungsi untuk aplikasi-aplikasi jaringan. Java networking menyediakan akses untuk tcp, udp, ip address dan url. Java networking tidak menyediakan akses untuk icmp dikarenakan alasan keamanan dan pada kondisi umum hanya administrator (root) yang bisa memanfaatkan protokol icmp.
• Java database connectivity (jdbc)
Jdbc menyediakan sekumpulan api yang dapat digunakan untuk mengakses database seperti oracle, mysql, postgresql, microsoft sql server.
• Java security
Java security menyediakan sekupulan api untuk mengatur security dari aplikasi Java baik secara high-level ataupun low-level, seperti public private key management dan certificates.
• Java swing
Java swing menyediakan sekumpulan api untuk membangun aplikasiaplikasi gui (graphical user interface) dan model gui yang diinginkan bisa bermacam-macam, bisa model Java, model motif/cde atau model yang dependent terhadap platform yang digunakan.
• Java rmi
Java rmi menyediakan sekumpulan api untuk membangun aplikasiaplikasi Java yang mirip dengan model rpc (remote procedure call) jadi object-object Java bisa di-call (dipanggil) secara remote (acak) pada jaringan komputer.

• Java 2d/3d
Java 2d/3d menyediakan sekumpulan api untuk membangun grafik-grafik 2d/3d yang menarik dan juga akses ke printer.
• Java server pages
Berkembang dari Java servlet yang digunakan untuk menggantikan aplikasi-aplikasi cgi, jsp (Java server pages) yang mirip asp dan php merupakan alternatif terbaik untuk solusi aplikasi internet.
• Jni (Java native interface)
Jni menyediakan sekumpulan api yang digunakan untuk mengakses fungsi-fungsi pada library (*.dll atau *.so) yang dibuat dengan bahasa pemrograman yang lain seperti C, C++, dan basic.
• Java sound
Java sound menyediakan sekumpulan api untuk manipulasi sound.
• Java idl + corba
Java idl (interface definition language) menyediakan dukungan Java untuk implementasi corba (common object request broker) yang merupakan model distributed-object untuk solusi aplikasi besar di dunia networking.
• Java card
Java card utamanya digunakan untuk aplikasi-aplikasi pada smart card, yang sederhana wujudnya seperti sim card pada handphone.


• Jtapi (Java telephony api)
Java telephony api menyediakan sekumpulan api untuk memanfaatkan devices-devices telephony, sehingga akan cocok untuk aplikasi-apliaksi cti (computer telephony intergration) yang dibutuhkan seperti acd (automatic call distribution), pc-pbx dan lainnya.

4. VARIABEL DALAM JAVA

Seperti halnya pada bahasa pemrograman pada umumnya, Java juga memungkinkan untuk mendeklarasikan variabel. Variabel merupakan satuan dasar penyimpanan dalam program Java. Suatu variabel didefinisikan dengan kombinasi identifier, tipe, dan cakupan. Pada dasarnya ada dua macam tipe variabel data bahasa Java, yakni tipe primitif dan tipe reference.
1. Tipe Data Primitif
Delapan macam tipe data primitif dalam pemrograman Java, yaitu :
a. Integer ( Bilangan Bulat )
Integer merupakan tipe data numerik yang digunakan apabila tidak berurusan dengan pecahan atau bilangan desimal.
Bilangan integer biasanya menggunakan int, dan bukan byte, short maupun long. Bilangan integer juga mengenal nilai positif dan negatif ( signed number ). Tipe data byte dan short hanya digunakan pada aplikasi khusus yang memperhatikan penggunaan memori. Sedangkan long jarang digunakan karena jarang memerlukan bilangan sebesar kapasitas long.

b. Floating Point ( Bilangan Pecahan )
Floating Point digunakan untuk menangani bilangan desimal atau perhitungan yang lebih detail dibanding integer.
Semua bilangan pecahan atau desimal dalam Java tanpa diakhiri huruf f akan dianggap sebagai double. Sedangkan bilangan yang ingin dikategorikan sebagai float harus diakhiri dengan huruf F. Misalnya : 4.22 F atau 2.314f. Sedangkan untuk bilangan double, bisa menambah dengan huruf D, karena secara default bilangan dengan koma atau pecahan atau desimal akan dianggap sebagai double.

c. Char
Char adalah karakter tunggal yang didefinisikan dengan diawali dan diakhiri dengan tanda ‘ ( petik tunggal ). Char berbeda dengan String, karena String bukan merupakan tipe data primitif, tetapi sudah merupakan sebuah objek. Tipe char mengikuti aturan unicode, sehingga dapat menggunakan kode /u kemudian diikuti bilangan dari 0 sampai 65535, tetapi yang biasa digunakan adalah bilangan heksadesimal dari 0000 sampai FFFF. Misalnya : ‘\u123’ Selain karakter biasa, juga terdapat karakter khusus yang didefinisikan dengan cara mengawalinya menggunakan tanda \ .

d. Boolean
Dalam Java dikenal tipe data boolean yang terdiri dari dua nilai saja, yaitu true dan false. Boolean sangat penting dalam mengevaluasi suatu kondisi, dan sering digunakan untuk menentukan alur program.




2. Tipe Data Referensi
Kelebihan pemrograman berorientasi objek adalah dapat mendefinisikan tipe data baru yang merupakan objek dari class tertentu. Tipe data ini digunakan untuk mereferensikan objek atau class tertentu, seperti String.

5. CONTOH PROGRAM SEDERHANA JAVA

A. Source Code Java
Berikut kode untuk HelloWorld.java:
public class HelloWorld
{
public static void main(String[] args)
{
System.out.println("Apa Kabar Dunia?");
}
}
Dan ini sebuah contoh lain, yaitu applet sederhana untuk menampilkan teks di applet. Sebutlah file ini bernama HelloWorldApplet.java:
import java.awt.Graphics;

public class HelloWorldApplet extends java.applet.Applet
{
public void paint(Graphics g)
{
g.drawString("Apa Kabar Dunia?", 5, 25);
}
}

Secara gamblang dapat diperhatikan bahwa struktur kedua program sangat mirip, dan hanya berbeda dalam konteks eksekusi. setelah kita membahas cara mengkompile dan mengeksekusi program tersebut.
Perlu diingat bahwa bahasa Java bersifat case sensitive, sehingga Anda harus memperhatikan penggunaan huruf besar dan kecil. Selain itu penulisan source code program tidak harus memperhatikan bentuk tertentu, sehingga Anda bisa saja menuliskan semua baris source code tersebut dalam satu baris asal Anda tidak lupa membubuhkan tanda titik koma (;), atau menuliskan tiap kata dalam satu baris tersendiri. Namun dianjurkan Anda mengikuti layout seperti pada contoh agar program Anda mudah dibaca dan dimengerti.
B. Kompilasi Java
Setelah kedua file disave dengan nama HelloWorld.java dan HelloWorldApplet.java, kita akan mengkompile kedua program tersebut dengan perintah:
prompt> javac HelloWorld.java
prompt> javac HelloWorldApplet.java
Perlu diperhatikan bahwa direktori aktif Anda saat ini adalah direktori tempat Anda meletakkan file-file program tersebut. Anda tetap dapat mengkompile program Anda dari direktori berbeda dengan perintah:
prompt> javac (direktori program)/namafile.java
Setelah perintah ini selesai, Anda akan melihat bahwa telah tercipta dua buah file .class, yaitu bytecode hasil kompilasi source code kita.
C. Sintaks Program Java
Sekarang kita akan mencoba membahas elemen-elemen dalam kedua source code tersebut.
Pada awal Listing 2 kita menemukan perintah import. Pada tahap awal ini Anda perlu mengetahui bahwa pernyataan tersebut hanya berfungsi mempermudah penulisan metode atau dalam bahasa pemrograman lain disebut prosedur atau fungsi. Jadi Anda hanya perlu menulis Graphics sebagai pengganti java.awt.Graphics, karena kita telah mengimpor java.awt.Graphics.
Kemudian di masing-masing listing terdapat pernyataan public class. Pernyataan ini adalah pernyataan pembuka sebuah kelas. Kelas sendiri digunakan untuk menciptakan objek. Ingat bahwa Java berorientasi objek. Kata public di depannya berfungsi agar kelas tersebut dapat diakses oleh semua program lain. Untuk saat ini anggaplah objek sebagai suatu item yang dapat dimanipulasi oleh sebuah program. Dalam Listing 2 terdapat tambahan kata extends. Hal ini berarti kelas yang kita buat akan mewarisi sifat-sifat dari kelas yang kita extends. Dengan kata lain kita menjadikan kelas yang kita extends sebagai himpunan bagian dari kelas kita buat.
Kemudian kita menemukan baris pernyataan public static void main(String[] args) dan public void paint(Graphics g). Keduanya adalah pernyataan pembuka sebuah metode. Metode sendiri adalah kumpulan pernyataan untuk melakukan suatu tugas tertentu dalam kelas. Keduanya sebenarnya mempunyai fungsi yang sama namun dalam konteks yang berbeda. Dalam setiap aplikasi harus ada sebuah metode yang bernama main yang akan dieksekusi pertama kali saat program tersebut dieksekusi. Sementara dalam applet, metode yang pertama kali akan dieksekusi ketika applet diload adalah paint. Kata public di depannya mempunyai fungsi yang sama dengan kata public yang ada di depan baris permulaan kelas. Namun nantinya Anda akan menemukan juga bentuk lain seperti private dan protect yang akan kita bahas nanti.
Pada Listing 1 terdapat kata static pada pernyataan pembuka metode main. Hal ini berarti metode main tidak mengubah atau menggunakan objek yang diciptakan oleh kelas tersebut, sehingga dapat dikatakan berdiri sendiri dan tidak terikat dengan objek. Dalam metode main dalam aplikasi, parameternya adalah selalu String[] args, di mana args hanyalah sebuah nama dari objek array dari String. Array ini nantinya akan berisi parameter-parameter yang diberikan user sebagai argumen command line. Sementara Anda tidak perlu mengerti mengenai parameter tersebut, cukup diingat bahwa bentuk metode main harus selalu demikian.
Kemudian di dalam kedua metode pada kedua listing tersebut, kita menemukan sebuah pernyataan. Anda tentu dapat saja meletakkan lebih dari satu pernyataan dalam sebuah metode. Setiap pernyataan dalam sebuah metode dipisahkan oleh titik koma dan akan dieksekusi satu persatu. Kedua pernyataan pada listing ternyata memanggil sebuah metode lain yaitu metode println dan paint. Tentunya dapat Anda perhatikan bahwa untuk memanggil sebuah metode diperlukan tiga komponen yaitu:
1. Objek yang ingin kita pakai. Dalam hal ini objek System.out dan Graphics g.
2. Nama metode yang ingin kita pakai. Dalam hal ini println dan paint.
3. Sepasang tanda kurung yang berisi informasi tambahan yang diperlukan oleh metode yang dipanggil, yaitu parameter.
Dalam Listing 1, pernyataan System.out.println("Apa Kabar Dunia?"); berarti carilah objek out dalam kelas System kemudian panggil metode println dari objek out dengan parameter berupa string "Apa Kabar Dunia?". Sedang dalam Listing 2, pernyataan g.drawString("Apa Kabar Dunia?", 5, 25); berarti carilah objek g kemudian panggil metode drawString pada objek g dengan parameter "Apa Kabar Dunia?”, 5, 25);.

PEMBAHASAN E-LEARNING

E-learning merupakan singkatan dari Elektronic Learning, merupakan cara baru dalam proses belajar mengajar yang menggunakan media elektronik khususnya sebagai sistem pembelajarannya. E-learning merupakan dasar dan konsekuensi logis dari perkembangan teknologi informasi dan komunikasi. Beberapa ahli mencoba menguraikan pengertian e-learning menurut versinya masing-masing, diantaranya :

- Dong(dalamKamarga,2002)
e-learning sebagai kegiatan belajar asynchronous melalui perangkat
elektronik komputer yang memperoleh bahan belajar yang sesuai dengan kebutuhannya.

- LearnFrame.Com dalam Glossary of eLearning Terms [Glossary, 2001]
e-Learning adalah sistem pendidikan yang menggunakan aplikasi elektronik untuk mendukung belajar mengajar dengan media komputer.

E-learning dalam arti luas bisa mencakup pembelajaran yang dilakukan di media elektronik baik secara formal maupun informal. E-learning secara formal misalnya adalah pembelajaran dengan kurikulum, silabus, mata pelajaran dan tes yang telah diatur dan disusun berdasarkan jadwal yang telah disepakati pihak-pihak terkait (pengelola e-learning dan pembelajar sendiri). Pembelajaran seperti ini biasanya tingkat interaksinya tinggi dan diwajibkan oleh perusahaan pada karyawannya atau pembelajaran jarak jauh yang dikelola oleh universitas dan perusahaan-perusahaan (biasanya perusahaan konsultan) yang memang bergerak dibidang penyediaan jasa e-learning untuk umum. E-learning bisa juga dilakukan secara informal dengan interaksi yang lebih sederhana.

BAHASA PEMROGRAMAN RUBY

1.1 Pengenalan Ruby

Ruby merupakan bahasa scripting yang memiliki string processing yang sangat akurat misalnya regular expression sehingga sangat cocok untuk administrator sistem untuk membuat shell script yang powerfull. Di pihak lain, bahasa scripting menawarkan pengembangan aplikasi yang cepat misalnya pembuatan aplikasi GUI, web scripts, system utilities, dan aplikasi yang membutuhkan pemrosesan string ataupun perhitungan yang akurat. Pencipta Ruby, Yukihiro Matsumoto (Matz), 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.

1.1.1 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 RailS. Ruby juga sepenuhnya bebas. Tidak hanya gratis, tetapi juga bebas untuk menggunakan, memodifikasi dan mendistribusikan Ruby.

1.1.2 Kelebihan Ruby

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 Python.” Di Ruby, semua adalah obyek. Setiap informasi dan kode bisa diberi property dan action. Pemrograman berorientasi obyek memanggil property dengan nama variabel instant dan action, yang disebut sebagai metode. Pendekatan murni berorientasi obyek terutama terlihat pada demonstrasi sedikit kode yang diberikan pada number.

Di banyak bahasa-bahasa lain, number dan tipe primitif bukan obyek. Ruby mengikuti pengaruh bahasa Smalltalk dengan memberikan metode dan variabel instant pada semua tipe. Ini memudahkan menggunakan Ruby, karena peraturan-peraturan mengenai obyek semua berlaku pada Ruby. 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 ingin menggunakan kata plus yang lebih mudah dibaca, maka dapat menambahkan metode tersebut pada kelas Numeric.

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. Kita juga bisa mendefinisikan ulang operator. 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 PHP atau Visual Basic.

Blok terinspirasi dari bahasa-bahasa fungsional. Matz berkata, “Saya ingin menghormati kultur Lisp di closure Ruby.”

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 map memberlakukan 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.

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 menggabungkan sebuah module dan menerima semua metode-metode (dari module yang bersangkutan) dengan bebas. Contoh, setiap kelas yang mengimplementasikan metode each bisa mixin module Enumerable, yang menambahkan banyak metode-metode yang menggunakan each untuk melakukan perulangan.

Secara umum, Rubyist menganggap ini sebagai cara yang lebih jelas ketimbang multiple inheritance, yang rumit dan bahkan terlalu membatasi. 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 instant.
  • $var adalah variabel global.

Simbol-simbol 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 instant.

Ruby kaya fitur, antara lain sebagai berikut:

  • Ruby merupakan bahasa interpreter.
  • Ruby memiliki sintaks yang sederhana, mudah dipelajari dan dipahami.
  • 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.
  • 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. Interface SWIG 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, kita juga punya multithreading, terlepas dari apakah Sistem Operasi mendukung multithreading atau tidak, bahkan pada MS-DOS sekalipun.
  • Ruby sangat portable: Ruby kebanyakan dikembangkan di GNU/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.
  • Dan yang terakhir, tentunya Ruby gratis bahkan untuk aplikasi komersial.

1.1.3 Dasar Pemrograman Ruby

Sebagai bahasa scripting yang berbasis interpreter, Ruby menawarkan modus interaktif, yakni Interactive Ruby yang disingkat dengan irb. Untuk masuk ke modus interaktif Ruby, cukup mengetikkan irb pada command prompt, untuk keluar cukup menekan tombol Ctrl-D atau ketikkan “exit”. Dapat juga menambahkan opsi ”—simple-prompt” pada irb agar bentuk prompt-nya berubah menjadi >>.

Di samping itu, tentunya program Ruby juga dapat disimpan dalam file berextension ‘.rb’. Sama halnya seperti Python, modus interaktif Ruby juga dapat digunakan sebagai kalkulator untuk perhitungan sederhana. Kemampuan menghitung Ruby tidak kalah jika dibandingkan dengan Python. Konon, Ruby memiliki kecepatan eksekusi program yang lebih cepat dibandingkan dengan Python.

Gambar 2.1 Contoh Penulisan Sintax Ruby pada Command Prompt

1. Aturan penamaan variabel

Karena Ruby bersifat dynamic-typing, Kita tidak perlu mendeklarasikan tipe dan variable yang ingin kita gunakan seperti pada bahasa C. Kita cukup memasukkan nilai ke variable yang ingin kita pakai. Aturan penamaan variabel sama dengan aturan penamaan variabel pada umumnya, yakni tidak boleh dimulai dengan angka dan tidak memakai keyword penting dari bahasa tersebut.

Berikut contoh deklarasi variabel:

Contoh variabel yang benar:

x = 888

ini_variabel_string = “halo”

Contoh variabel yang tidak benar:

8x = 888

while = “halo” # while adalah reserved keyword

2. Konstanta

Konstanta tidak lain adalah sebuah variabel yang isinya tetap (tidak berubah). Konstanta di Ruby dideklarasikan dengan huruf kapital pada huruf pertama. Suatu konstanta tetap dapat diubah nilainya. Pemberian status konstanta pada suatu variabel hanya akan memberikan suatu peringatan apabila kita mengubah isi konstanta tersebut.

3. Input Output

Untuk meminta input-an dari user, kita menggunakan perintah gets. Sedangkan untuk output ke layar monitor, kita dapat menggunakan puts, print maupun printf.

>> puts “Halo, pa kabar ?”

Halo, pa kabar?

=> nil

>> print “Halo, pa kabar ?”

Halo, pa kabar ?=> nil

>> nama = gets

Eric

=> “Eric\n”

>> printf “Nama saya %s”, nama

printf “Nama saya %s”, nama

Nama saya Eric

=> nil

Adapun perbedaan antara puts , print dan printf yakni di mana puts akan menambahkan karakter newline (‘\n’) pada akhir string dan parameternya harus string, sedangkan print hanya mencetak string tanpa menambahkan karakter newline, printf sama dengan print; bedanya printf mengenal formatting seperti %s untuk string,%f untuk float, %d untuk integer, dan seterusnya. Perintah printf ini sama dengan perintah printf di bahasa C.

4. Struktur program

Program Ruby umumnya juga memakai indentasi seperti bahasa Python. Akan tetapi indentasi tidak mutlak harus dilakukan, karena Ruby menggunakan keyword end untuk menandakan akhir dari suatu bagian program.

5. Lain-lain

Mungkin pada beberapa contoh di atas, sering melihat tulisan nil. Nil berarti suatu objek di Ruby sama dengan NULL di bahasa C. Nil berarti hasil eksekusi perintah tersebut tidak mengembalikan objek apapun alias nil (tidak memiliki return value). Misalkan perintah puts hanya mencetak string ke layar dan tidak mengembalikan objek apapun untuk disimpan alias nil. Akan tetapi lainnya halnya dengan a = “halo” akan mengembalikan objek String “halo” yang akan disimpan dalam variabel a. Untuk komentar pada program Ruby, Kita dapat menggunakan tanda # . Untuk lebih dari satu statement pada satu baris , Kita dapat menggunakan pemisah ‘;’. Sedangkan untuk statement yang lebih dari satu baris, Kita dapat menggunakan tanda ‘\’.

>> a = 1#Variabel a berisi 1
=> 1
>> print “Halo “; puts “ apa
kabar ?”
Halo apa kabar ?
=> nil
>> b = 1 + 3 + 5 \
?> + 7 + 9
=> 25

1.1.4 Tipe Data Dasar

Setelah berkenalan dengan dasar-dasar interpreter Ruby, selanjutnya dibahas beberapa tipe data dasar yang disediakan Ruby yang tentunya merupakan instansi dari kelas–kelas mengingat Ruby adalah bahasa berorientasi objek yang murni. Di samping itu, akan dibahas beberapa metode yang umum dari kelas– kelas tersebut.

1. Angka

Ruby dapat menangani angka baik yang bertipe integer maupun float. Untuk tipe data Integer di Ruby, kelas Integer dibagi dalam dua kelas yakni FixNum dan BigNum. Angka dengan batas -230 sampai 230–1 tergolong dalam kelas FixNum; apabila suatu angka telah melampaui batas tersebut, maka akan digolongkan dalam kelas BigNum. Karena Ruby bersifat dynamic–typing, Kita tidak perlu melakukan konversi dari FixNum ke BigNum karena konversi akan dilakukan secara otomatis. Sedangkan untuk angka yang bertipe float, Ruby akan menganggap objek angka tersebut merupakan instansi dari kelas Float.

Seperti bahasa pemrograman umumnya, pada Ruby dapat menggunakan prefiks (awalan) untuk menandakan arti angka tersebut, misalya untuk menyatakan bilangan negatif, 0 untuk bilangan oktal , 0b untuk bilangan biner dan 0x untuk bilangan heksadesimal serta e untuk bilangan eksponensial. Untuk mempermudah penulisan suatu angka dengan nilai yang sangat besar, Kita dapat membubuhkan karakter _ pada penulisan angka (karakter _ tidak akan disimpan, hanya untuk membantu saja).

>> a = 2
=> 2
>> a.class
=> FixNum
>> a = a ** 31
=> 2147483648
>> a.class
=> BigNum
>> 188_888_000_000
=> 188888000000
>> 0x6AF
=> 1711
>> 1.89e+18
=> 1.89e+18
>> b = 1.4
=> 1.4
>> b.class
=> Float

2. String

Tipe data String di Ruby sama dengan tipe data String pada bahasa pemrograman lain umumnya. Untuk membuat tipe data String, kita dapat menggunakan kutip satu ‘ ataupun kutip dua “ . Adapun perbedaan di antara keduanya, yakni di mana objek String yang dibuat dengan kutip dua “ akan mengerti karakter khusus seperti ‘\n’,’\r’,’\b’ ,dsb. ; sedangkan karakter dengan objek String yang dibuat dengan kutip satu ‘ tidak bisa menerjemahkan karakter khusus di atas.

Perhatikanlah contoh berikut:

>> a = “Hello\n”
=> “Hello\n”
>> print a
Hello
=> nil
>> b = ‘Hello\n’
=> “Hello\\n”
>> print b
Hello\n=> nil

Kelas String kaya akan metode-metode yang powerful. Kita dapat mencoba beberapa di antaranya seperti berikut ini:

· Length : untuk mengetahui panjang suatu string.

· Capitalize : untuk mengubah huruf pertama pada awal kalimat menjadi huruf kapital.

· Downcase : mengubah string menjadi huruf kecil.

· Upcase : mengubah string menjadi huruf besar.

· Swapcase : mengubah objek string dengan huruf kecil diubah menjadi huruf kapital dan sebaliknya.

· Strip : membuang karakter whitespace di awal dan akhir string.

· Reverse : membalikkan string.

· Include ? str : mengembalikan true jika substring str terdapat dalam string dan false jika tidak ada.

· Chop : membuang karakter terakhir dari string.

Salah satu hal yang unik dari Ruby adalah Kita dapat menambahkan tanda ‘!’ di akhir metode untuk menandakan metodenya bersifat destruktif di mana hasil metode tersebut berdampak langsung pada objeknya.

>> “Hello”.length
=> 5
>> “hello”.capitalize
=> “Hello”
>> “HELlo”.downcase
=> “hello”
>> “HeLLo”.upcase
=> “HELLO”
>> “hElLo”.swapcase
=> “HeLlO”
>> “hello”.reverse
=> “olleh”
>> “ hello “.strip
=> “hello”
>> “helloo”.chop
=> “hello”
>> “hello”.include? “h”
=> true
>> a = “ Hello “
=> “ Hello “
>> a.strip
=> “Hello”
>> a
=> “ Hello “
>> a.strip!
=> “Hello”
>> a
=> “Hello”

3. Array
Tipe data Array di Ruby hampir sama dengan tipe data array pada bahasa pemrograman lain umumnya. Tipe data Array di Ruby sama dengan tipe data list di Python. Untuk membuat suatu objek Array baru, Kita dapat menggunakan literal Array [] ataupun konstruktor Array.new. Isi array dapat berupa objek apapun baik angka, string, maupun objek lain termasuk objek array itu sendiri. Untuk mengakses elemen objek Array ini, kita menggunakan indeks di mana indeks awal dimulai dari 0 sampai panjang array – 1. Kita juga dapat menggunakan indeks negatif di mana indeks -1 berarti elemen terakhir , -2 berarti elemen kedua terakhir, dan seterusnya.

Apabila kita mencoba mengakses elemen Array pada indeks yang di luar jangkauan, pernyataan tersebut tidak akan menyebabkan error seperti IndexError : list index out of range di Python, Ruby akan mengembalikan objek nil. Untuk mengubah isi array ataupun menambahkan data pada objek Array dengan indeks tertentu, kita bisa menggunakan statement biasa seperti array[indeks] = nilai baru. Apabila kita ingin membuat objek Array yang berisi string, akan repot sekali untuk menambahkan tanda kutip pada setiap elemen Array. Hal tersebut dapat diatasi dengan menggunakan prefiks %w. Untuk jelasnya, lihat contoh berikut:

>> a = []
=> []
>> a = [1,2,”m”,[3,4,5]]
=> [1, 2, “m”, [3, 4, 5]]
>> a[0]
=> 1
>> a[3]
=> [3, 4, 5]
>> a[3][1]
=> 4
>> a[-1]
=> [3, 4, 5]
>> a[6]
=> nil
>> a[1] = 88
=> 88
>> a
=> [1, 88, “m”, [3, 4, 5]]
>> c = %w(Anto, Eric, Isabel)
=> [“Anto,”, “Eric,”, “Isabel”]

Metode-metode pada kelas Array :

  • Length : untuk mengetahui ukuran array.
  • Push(nilai_baru) : untuk menambah data pada array. Data terbaru akan ditempatkan paling akhir.
  • Pop : mengembalikan data pada indeks terakhir array dan menghapus data pada indeks terakhir.
  • Reverse : membalik isi data array.
  • Sort : mengurut isi array secara ascending.
    >> a = [“a”,”b”,”c”]
    => [“a”, “b”, “c”]
    >> a.length
    => 3
    >> a.push(“d”)
    => [“a”, “b”, “c”, “d”]
    >> a.pop
    => “d”
    >> a
    => [“a”, “b”, “c”]
    >> a.reverse
    => [“c”, “b”, “a”]
    >> a.sort
    => [“a”, “b”, “c”]

4. Hash
Tipe data hash di Ruby sama dengan tipe data dictionary di Python. Untuk membuat objek hash yang baru, Kita dapat menggunakan literal hash {} ataupun konstruktor Hash.new. Lain halnya dengan array, untuk mengakses elemen objek Hash kita tidak menggunakan indeks seperti array. Kita dapat mendefinisikan kunci(key) yang unik untuk setiap elemen. Sama halnya seperti array, apabila kita mengakses elemen dengan key yang tidak tercantum di hash, maka akan mengembalikan nilai nil.

>> alamat = {
?> “Amat” => “Kemanggisan Raya
50”,
?> “Budi” => “Sudirman 80”,
?> “Eric” => “Sandang 9A”,
?> “Melissa” => “Pandu 77”
?> }
=> {“Eric”=>”Sandang 9A”,
“Budi”=>”Sudirman 80",
“Amat”=>”Kemanggisan Raya 50",
“Melissa”=>”Pandu 77"}
>> alamat[“Eric”]
=> “Sandang 9A”
>> alamat[“Dani”]
=> nil

5. Range
Objek range di Ruby merupakan suatu barisan di mana terdapat nilai awal dan nilai akhir dari barisan tersebut. Objek Range ini sama dengan perintah range() di Python. Untuk membuat suatu objek Range, kita dapat menggunakan operator range ‘..’ dan ‘...’. Format ‘..’ akan menciptakan objek Range yang ikut menyertakan elemen terakhirnya, sedangkan format ‘...’ akan menghilangkan elemen terakhirnya. Range di Ruby tidak dianggap sebagai objek Array melainkan dianggap sebagai suatu objek Range sendiri. Untuk menjadikannya objek Array, Kita dapat menggunakan metode to_a . Untuk lebih jelasnya, perhatikanlah contoh berikut.

>> a = (1..5)
=> 1..5
>> a.class
=> Range
>> (1..5).to_a
=> [1, 2, 3, 4, 5]
>> (1...5).to_a
=> [1, 2, 3, 4]

1.1.5 Seleksi dan Perulangan

Dalam pemrograman, kita tentunya mengenal istilah seleksi dan perulangan. Untuk seleksi kita akan menggunakan if, sedangkan untuk perulangan kita akan menggunakan for dan while. Penulis tidak akan lagi menjelaskan detail sintaks if, for, while karena sintaksnya hampir sama seperti umumnya.

1. Seleksi If

#if.rb
#!/usr/bin/env ruby
print “Masukkan nilai Anda : “
nilai = gets
nilai.chop!
if nilai.to_i >= 85
puts “Anda mendapat grade A”
elsif nilai.to_i >= 75
puts “Anda mendapat grade B”
elsif nilai.to_i >= 65
puts “Anda mendapat grade C”
else
puts “Anda mendapat grade D”
end #end untuk if
$ ruby if.rb
Masukkan nilai Anda : 80
Anda mendapat grade B

2. Perulangan Times

>> 3.times { print “Hi “ }
Hi Hi Hi=> 3
>> 3.times do
?> print “Hi “
?> end
Hi Hi Hi=> 3

3. Perulangan While

#while.rb
#!/usr/bin/env ruby
i = 1
while i<= 5
printf “%d “, i
i = i + 1
end # end untuk while
$ ruby while.rb
1 2 3 4 5

4. Perulangan For

#for.rb
#!/usr/bin/env ruby
for i in 1..5
if i%2 == 1
puts i.to_s + “ ganjil”
else
puts i.to_s + “ genap”
end #end untuk if
end #end untuk for
$ ruby for.rb
1 ganjil
2 genap
3 ganjil
4 genap
5 ganjil

1.1.6 Fungsi

Untuk mendefinisikan suatu fungsi, kita menggunakan kata kunci def diakhiri dengan end. Kita akan membuat fungsi faktorial.

#faktorial.rb
#!/usr/bin/env ruby
def faktorial(n)
hasil = 1
ctr = 0
n.times do
ctr += 1
hasil *= ctr
end #end untuk do
return hasil
end #end untuk def
puts “Faktorial 5 = “ +
faktorial(5).to_s
puts “Faktorial 10 = “ +
faktorial(10).to_s
$ ruby faktorial.rb
Faktorial 5 = 120
Faktorial 10 = 3628800