Senin, 07 November 2011

Bahasa Pemrograman C++

C++ adalah bahasa pemrograman komputer C++ dikembangkan di Bell Labs (Bjarne Stroustrup) pada awal tahun 1970-an, Bahasa itu diturunkan dari bahasa sebelumnya, yaitu BCL, Pada awalnya, bahasa tersebut dirancang sebagai bahasa pemrograman yang dijalankan pada sistem Unix, Pada perkembangannya, versi ANSI (American National Standart Institute) Bahasa pemrograman C menjadi versi dominan, Meskipun versi tersebut sekarang jarang dipakai dalam pengembangan sistem dan jaringan maupun untuk sistem embedded, Bjarne Stroustrup pada Bell labs pertama kali mengembangkan C++ pada awal 1980-an, Untuk mendukung fitur-fitur pada C++, dibangun efisiensi dan sistem support untuk pemrograman tingkat rendah (low level coding).  Pada C++ ditambahkan konsep-konsep baru seperti class dengan sifat-sifatnya seperti inheritance dan overloading. Salah satu perbedaan yang paling mendasar dengan bahasa C adalah dukungan terhadap konsep pemrograman berorientasi objek (Object Oriented Programming).
Perbedaan Antara Bahasa pemrograman C dan C++ meskipun bahasa-bahasa tersebut menggunakan sintaks yang sama tetapi mereka memiliki perbedaan, C merupakan bahasa pemrograman prosedural, dimana penyelesaian suatu masalah dilakukan dengan membagi-bagi masalah tersebut kedalam sub-sub masalah yang lebih kecil, Selain itu, C++ merupakan bahasa pemrograman yang memiliki sifat Pemrograman berorientasi objek, Untuk menyelesaikan masalah, C++ melakukan langkah pertama dengan menjelaskan class-class yang merupakan anak class yang dibuat sebelumnya sebagai abstraksi dari object-object fisik, Class tersebut berisi keadaan object, anggota-anggotanya dan kemampuan dari objectnya, Setelah beberapa Class dibuat kemudian masalah dipecahkan dengan Class.

Bahasa Pemrograman CGI


Bahasa pemrograman yang dibuat oleh programmer dan digunakan untuk Common Gateway Interface (CGI)  hampir bisa dibuat oleh berbagai bahasa pemrograman yang ada contoh : perl, sh, C, C++, tcl, Python, Java, dan masih banyak lainnya. Bahasa perl, dalam bentuk perl-script, memang paling sering digunakan karena kemampuannya dalam memproses teks (string). Karena CGI sering diimplementasikan dalam bentuk script.Sering kali CGI yang dibuat disebut CGI-script.
Common Gateway Interface atau disingkat CGI adalah suatu standar untuk menghubungkan berbagai program aplikasi ke halaman web.CGI mirip sebuah program komputer yang menjadi perantara antara standar HTML yang menjadikan tampilan web dengan program lain, seperti basis data (database).
Dengan CGI web server dapat memanggil program yang dibuat dari berbagai bahasa pemrograman (Common).Interaksi antara pengguna dengan berbagai aplikasi, misalnya database, dapat dijembatani oleh CGI (Gateway).

Bahasa Pemrograman Perl

Perl (Practical Extraction Report Language) merupakan bahasa pemrograman script yang ditulis pertama kali oleh Larry Wall dengan melakukan kombinasi utilitas UNIX dan kemampuan beberapa bahasa pemrograman. Diperkenalkan pertama kali pada tahun 1987, Perl didesain untuk menangani berbagai fungsi administrasi sistem dan fungsi manipulasi string. Bahasa ini kerap digunakan untuk menulis program web server seperti otomatasasi task di internet, mengupdate user account, posting newsgroup dan Iain-lain.
Perl sendiri sering disebut sebagai bahasa dengan "there's more than one way to do it". Sebutan ini tidak lepas karena Perl banyak digunakan untuk mengatasi berbagai kesulitan pembuatan program dalam kerjanya sehari-hari. Hal ini berarti bahasa Perl sudah teruji secara matang dalam aplikasi dunia nyata, karena kelahirannya pun berawal dari masalah yang dihadapi oleh Larry Wall.

Perl adalah bahasa pemrograman untuk segala keperluan, dikembangkan pertama kali oleh Larry Wall di mesin Unix. Perl dirilis pertama kali pada tanggal 18 Desember 1987 ditandai dengan keluarnya Perl 1. Pada versi-versi selanjutnya, Perl tersedia pula untuk berbagai sistem operasi varian Unix (SunOS, Linux, BSD, HP-UX), juga tersedia untuk sistem operasi seperti DOS, Windows, PowerPC, BeOS, VMS, EBCDIC, dan PocketPC. Dukungan terhadap pemrograman berbasis obyek (object oriented programming/OOP) ditambahkan pada Perl 5, yang pertama kali dirilis pada tanggal 31 Juli 1993. Proyek pengembangan Perl 6 dimulai pada tahun 2000, dan masih berlangsung hingga kini tanpa tanggal yang jelas kapan mau dirilis. Ini dikatakan sendiri oleh Larry Wall[1] dalam satu pidatonya yang dikenal dengan seri The State of the Onion.
Dua di antara karakteristik utama Perl adalah penanganan teks dan berbagai jalan pintas untuk menyelesaiakn persoalan-persoalan umum. Tidak heran jika Perl sangat populer digunakan dalam program-program CGI (Common Gateway Interface) dan berbagai protokol Internet lainnya. Seperti diketahui, TCP/IP sebagai basis bagi semua protokol Internet yang dikenal sekarang ini menggunakan format teks dalam komunikasi data. Seperti juga bahasa populer lainnya, Perl menerima banyak kritikan. Meski banyak di antaranya hanya berupa mitos, atau berlebih-lebihan, tapi terdapat juga sejumlah kritikan yang valid. Salah satunya adalah, sintaksnya susah dibaca, karena banyak menggunakan simbol-simbol yang bukan huruf dan angka.
Larry Wall menegaskan bahwa bahasa pemrograman yang diciptakannya diberi nama Perl (dengan P besar), sedangkan perl (dengan p kecil) adalah nama untuk program interpreter yang menjalankan kode sumber yang ditulis dengan bahasa Perl. Korelasi kedua nama ini ditegaskan oleh Tom Christiansen dalam ungkapan only perl can parse Perl, atau Nothing but perl can parse Perl. Nama perl sebagai sebuah program, mengikuti konsensus penamaan program di sistem Unix, yaitu pendek dan semua ditulis huruf kecil (kalau di Windows nama program ini adalah perl.exe). Baik Perl maupun perl bukanlah sebuah singkatan atau akronim. Jadi, penulisan PERL (semua huruf besar) dianggap salah, tidak berdasar, dan sama sekali tidak akurat jika dihubungkan dengan Perl sebagai bahasa pemrograman[2].
Baru belakangan Larry Wall memberikan kepanjangan Practical Extraction and Reporting Language. Mungkin karena terkesan serius dan sangat relevan, kepanjangan ini secara salah sering dirujuk sebagai kepanjangan resmi dari Perl. Barangkali untuk mencegah kesalahpahaman, atau karena Larry Wall memang suka bercanda, dia mengumumkan kepanjangan lain, yaitu Pathologically Eclectic Rubbish Lister. Dan, yang terbaru adalah People Excel at Relational Labor, untuk menggambarkan bahwa perkembangan Perl tidak terlepas dari keterlibatan dan komimen komunitas[3].
Di luar itu, berkembang kreasi-kreasi lain untuk membuat kepanjangan Perl, baik yang bermaksud serius maupun bercanda, bahkan ada juga yang sifatnya merendahkan atau melecehkan.
Buku “Programming Perl” yang diterbitkan oleh O’Reilly Media memiliki sampul depan yang bergambar unta. Setelah itu buku ini dikenal sebagai Buku Unta. Gambar unta ini kemudian digunakan secara luas sebagai lambang dari Perl.
O’Reilly memiliki hak cipta atas gambar ini tetapi menyatakan bahwa mereka hanya akan menggunakan jalur hukum untuk melindungi ketepatan dan kesamaan lambang unta ini. O’Reilly memperbolehkan penggunaan non-komersial atas lambang ini dan menyediakan logo “Programming Republic of Perl” dan gambar tombol “Powered by Perl”
Lihat Pemrograman Perl untuk pembahasan yang lebih komprehensif dan bersifat teknis.
Kode sumber Perl tidak perlu dikompilasi, melainkan bisa langsung dijalankan oleh sebuah program interpreter bernama perl. Misalnya,
#!/usr/bin/perl
print “Hello, world!\n”;
Jika program di atas ditulis dalam sebuah berkas bernama hello.pl, lalu dijalankan dengan perintah (contoh di Linux):

$ perl hello.pl
Maka di layar akan tercetak:
Hello, World!
$

Bahkan, sebuah program yang mengerjakan proses rumit bisa ditulis dengan jumlah karakter yang lebih pendek daripada jumlah kolom layar standar, misalnya:
perl -lane ‘$h{$_}++ for @F; END { print “$_: $h{$_} ” for keys %h}’ <nama_berkas>
Program ini membaca sebuah berkas teks dan mencetak setiap kata unik dan jumlahnya di dalam berkas. Contoh hasil cetakan dengan sebuah berkas berisi kode SQL:

password: 2
category: 2
DROP: 20
TABLE: 40
varchar(12): 9
dst.

Tentu saja, yang dimaksud dengan “kata” di sini adalah rentetan karakter tanpa spasi. Jika dituangkan dalam sebuah berkas, program di atas bisa menjadi lima hingga sepuluh baris, tergantung gaya pemrograman. Program semacam ini disebut juga oneliner, dan sering digunakan untuk keperluan sederhana dan cepat. Contoh lain penggunaan oneliner adalah mengubah nama berkas di suatu direktori menjadi huruf kecil semua, seperti:
perl -e ‘rename $_, lc for <*>’

Bahasa Pemrograman Python

Python merupakan bahasa pemrograman untuk kegunaan umum yang juga bagus.
secara umum hanya perlu mempelajari perbedaan sintaks antara Ruby dengan Python.

Contoh Source Code

Berikut ini adalah contoh program untuk menjumlahkan dua angka (diinputkan dari keyboard) di Python:
import sys



a = sys.stdin.readline()

b = sys.stdin.readline()

c = int(a) + int(b)

print c
Anda dapat menuliskan program tersebut di Ruby sebagai berikut:
a = gets.to_i

b = gets.to_i

c = a + b

puts c


Kemiripan Ruby dan Python

Sama dengan Python, di Ruby…
  • Ada Ruby Interaktif (dinamakan irb).
  • Anda bisa membaca dokumentasi di command line (dengan ri, setara dengan pydoc di Python).
  • Tidak ada karakter khusus untuk akhir baris (newline biasa atau biasa kita sebut “enter”).
  • Isi string bisa dipisah ke banyak baris seperti string triple-quoted di Python. Di Ruby hal ini tidak membutuhkan sintaks khusus, cukup menggunakan petik tunggal atau petik ganda seperti biasanya, tapi Anda juga bisa menggunakan heredoc dan sintaks lain (misalnya %q{ halo }) jika Anda suka.
  • Buka kurung dan tutup kurung siku ([]) untuk list, buka kurung dan tutup kurung kurawal ({}) untuk hash (istilah Ruby untuk dict.)
  • Array mempunyai fungsionalitas yang sama. Menambahkan array menghasilkan array gabungan. Memasukkan array ke dalam array lain menghasilkan array bersarang atau nested array: a3 = [ a1, a2 ]
  • Obyek bersifat dinamis dan strongly typed.
  • Semua adalah obyek, dan variabel hanya merupakan reference ke obyek.
  • Meskipun keyword yang digunakan berbeda (Ruby menggunakan raise dan rescue), fitur exception setara dengan Python.
  • Anda mendapatkan fitur dokumentasi dalam kode (di Ruby disebut rdoc).

Perbedaan Ruby dan Python

Tidak seperti di Python, di Ruby…
  • String dapat diubah isinya (mutable.)
  • Anda dapat membuat konstanta (variabel yang nilainya tidak akan diubah).
  • Ada aturan penamaan (misalnya: nama kelas diawali dengan huruf kapital, nama variabel lokal diawali dengan huruf kecil).
  • Hanya ada satu jenis tipe kontainer yang berisi daftar data, yaitu Array. Array bersifat mutable yaitu dapat diubah-ubah.
  • Interpolasi string didukung menggunakan sintaks petik ganda. Interpolasi yang didukung adalah escape sequence (misalnya \t untuk tab) dan substitusi ekspresi: "Selamat Datang, #{nama}!" akan menghasilkan string yang juga disisipkan isi variabel nama. Di Ruby, string berpetik tunggal (misalnya: 'halo semua') berfungsi persis seperti raw string di Python (tanpa interpolasi.)
  • Tidak ada kelas “new style” dan “old style”. Cuma ada satu macam kelas.
  • Anda tidak akan pernah langsung mengakses atribut. Di Ruby, semua menggunakan pemanggilan metode. Cara praktisnya adalah dengan menggunakan attr_reader, attr_writer, maupun attr_accessor.
  • Buka dan tutup kurung untuk pemanggilan metode biasanya dihilangkan (opsional / boleh dipakai boleh juga tidak).
  • Ada public, private, dan protected untuk mengatur akses ke instance member, yang biasanya di Python diakali menggunakan aturan penamaan _seperti_ __ini__.
  • Menggunakan “mixin”, bukan multiple inheritance.
  • Anda bisa “membuka” sebuah kelas kapan saja untuk mengubah atau menambahkan metode-metode ke kelas tersebut.
  • Ruby menggunakan true, false, dan nil, sedangkan Python menggunakan True dan False, dan None.
  • Kalau dites logika untuk true, hanya false dan nil yang dianggap bernilai false. Semua nilai lain dianggap true (termasuk 0, 0.0, "", dan []).
  • Menggunakan elsif sebagai ganti elif.
  • Menggunakan require sebagai ganti import. Cara penggunaannya sama.
  • Penggunaan komentar biasanya di atas yang ingin didokumentasikan (jadi bukan di bawahnya.) Biasa digunakan untuk menghasilkan dokumentasi secara otomatis dari source code.
  • Ada banyak shortcut yang bisa dapat Anda pelajari untuk melakukan hal-hal yang sering digunakan dengan lebih cepat. Shortcut tersebut membuat Ruby menyenangkan (fun!) dan membuat Anda sangat produktif.