Archive for June 16th, 2010

A. SEKILAS PHP
PHP pertama kali ditemukan oleh Rasmus Lerdorf, dia adalah seorang programer unix dan perl pada waktu itu . Pada saat itu, Rasmus adalah seorang pengangguran, sehingga ia berusaha untuk meluangkan waktu kekosongannya dengan membuat sebuah skrip makro perl CGI, yang pada awal tujuannya hanya untuk mengetahui siapa saja yang melihat resume tulisan pada homepage pribadinya. Saat ini PHP berkembang dengan sangat cepatnya, dan menjadikan andalan (populer)bagi situs-situs web, baik besar maupun kecil.
PHP secara mendasar dapat mengerjakan semua yang dapat dikerjakan oleh program CGI, seperti mendapatkan data dari form, menghasilkan isi halaman web yang dinamik, dan menerima cookies. Kemampuan ( Feature ) PHP yang paling diandalkan dan signifikan adalah dukungan kepada banyak database. Membuat halaman web yang menggunakan data dari database dengan sangat mudah dapat dilakukan. Berikut adalah daftar database yang didukung oleh PHP :

Adabas D
• Dbase
• Empress
• FilePro ( read only )
• FrontBase
• Hyperwave
• IBM DB2
• Informix
• Ingres
• Interbase
• MSQL
• Direct MS SQL
• MySQL
• ODBC
• Oracle ( OCI7 dan OCI8 )
• Ovrimos
• PostgreSQL
• Solid
• SQLit
• Sybase
• Velocis
• Unix DBM

PHP juga mendukung untuk berkomunikasi dengan layanan lain menggunakan protokol IMAP, SNMP, NNTP, POP3, HTTP, dan lainnya. Pemrogram juga dapat membuka soket jaringan secara mentah dan beinteraksi dengan menggunakan protocol lainnya.

B. KONSEP PHP
Konsep PHP sangat sederhana, bahkan lebih sederhana daripada CGI. Sehingga dalam membuat dokumen PHP, cukup membuat sebuah HTML biasa, hanya saja ditambahkan dengan kode-kode program yang diapit dalam tanda . Dalam hal ini, Interpreter PHP dalam mengeksekusi kode PHP ini berjalan pada sisi server (disebut server-side), sehingga sangat berbeda sekali dengan program maya java yang mengeksekusi program pada sisi client (client-side).

C. PENULISAN PHP
PHP dalam penulisannya dapat dengan berbagai cara. Ada beberapa model penulisan PHP seperti dibawah ini:
Berikut ini adalah cara menyisipkan kode PHP pada halaman HTML biasa.

Cara yang lebih singkat adalah:
. . . . kode PHP ditaruh disini . . . .
?>
Atau bisa juga
. . . . kode PHP ditaruh disini. . . .
?>

D. MENJALANKAN KODE PHP
Secara default semua file PHP harus diletakkan didalam direktori root. Biasanya terletak di didalam direktori htdocs bila anda menggunakan engine phpTriad atau menggunakan paket Apache secara sendiri. Atau direktori www bila anda menggunakan engine appServer. Contoh pemanggilan pada browser adalah sebagai berikut:
gbr1
Buat namafile dibawah ini:
gaya_tulis.php

Contoh penulisan kode php
dengan berbagai gaya

“;
echo “Cara yang lebih singkat adalah”;

print(“Model penulisan seperti XML dokumen success”);
echo”
Atau bisa juga

“;
print(” Model paling sederhana ini juga success akan kita gunakan seterusnya, karena paling mudah\n”);
?>

akhir skrip gaya_tulis.php

E. MENGENAL VARIABEL
Semua bahasa pemrograman pasti menyediakan variable, yang berfungsi menyimpan suatu nilai dan nilai yang ada didalamnya dapat diubah-ubah sewaktu-waktu. Penulisan variable dalam PHP diawali dengan tanda $. Ada dua buah skrip yang dapat anda coba untuk memahami variable dalam PHP.
Ada beberapa aturan yang diikuti berkenaan dengan penggunaan nama variabel. Aturan pemberian nama variabel :

• Dimulai dengan tanda $
• Karakter pertama harus huruf atau garis bawah ( _ )
• Karakter berikutnya boleh huruf, angka, atau garis bawah.

var1.php

“);
print(“Sekarang adalah tanggal:”);
print(date(” d F Y”));
print(“”);

echo”

Sebelum membuat web secara profesional, tugas penting sebagai seorang pengembang web adalah memberikan ide dan gagasan tentang point apa saja yang akan ditampilkan dalam sebuah halaman web. Dengan demikian, seorang pengembang web juga perlu berkonsultasi dengan pemilik web itu sendiri agar segala sesuatu yang menjadi tujuan pemilik web dapat terpenuhi.

Lain halnya dengan seorang pengembang web (web developer) yang diberikan kebebasan dalam membuat sebuah web. Pemiliki web umumnya mempercayakan sepenuhnya kepada pengembang web (web developer). Nah, jika demikian maka sebagai seorang pengembang web harus benar-benar membuktikan keterampilannya dalam membuat web secara profesional agar para pemiliki web tidak kecewa dengan karya yang telah dibuat.

Untuk menjadi seorang pengembang web profesional tidaklah mudah karena harus memadukan antara bahasa pemrograman web dengan nilai seni yang terdapat dalam setiap halaman web. Keduanya harus dimiliiki, jika salah satu saja maka belum bisa disebut sebagai seorang pengembang web profesional. Meskipun pintar bahasa php dalam membuat web, tapi jika tidak didukung oleh jiwa seni maka hasilnya kurang maksimal. Begitu pula sebaliknya, jika hanya pandai membuat tampilan halaman web tapi tidak didukung oleh pengetahuan tentang bahasa pemrograman web maka hal itu akan sia-sia saja.

Sebagai seorang pengembang web pemula, tidak perlu berkecil hati jika ingin menjadi seorang pengembang web profesional. Yang terpenting adalah adanya kemauan untuk terus belajar dan belajar lagi agar wawasan tentang pengembangan web terus bertambah. Ada beberapa hal yang perlu diketahui oleh para pengembang web pemula ketika pertama kali ingin membangun sebuah web dari awal. Agar web yang dibuat nampak profesional perlu memahami beberapa konsep dasar dalam mengolah web, mulai dari tool yang digunakan, format gambar yang sesuai, hingga pemilihan warna teks dan latar belakang sebuah halaman web.

Saya ingin sedikit berbagi pengenalan konsep dasar class, object, dan properties pada PHP 5.

In PHP 5 there is a new Object Model. PHP’s handling of objects has been completely rewritten, allowing for better performance and more features.

Dari keterangan diatas dapat dijelaskan bahwa object PHP5 memuat pemodelan object yang baru dan dukungan object yang lebih lengkap untuk mengatasi berbagai macam kompleksitas, dan PHP5 memberikan performa dan fitur yang lebih baik dibandingkan pada versi sebelumnya.

Sebenarnya PHP4 sudah mempunyai dukungan cukup untuk object, hanya saja, PHP4 dan PHP5 ada perbedaan dalam handling object. Menurut saya, PHP5 lebih ke arah Java saat assigning object. Penggunaan class, penciptaan object, inisialisasi variable yang dipanggil oleh object, serta penggunaan fungsi dan pemanggilannya dengan object di PHP5, “nyaris sama” dengan Java. Hanya saja pada PHP5 cenderung lebih luwes, diantaranya nama file-nya sendiri tidak harus sama dengan nama class.

Class

Setiap pendefinisian kelas (class) dimulai dengan nama kelas itu sendiri, penamaannya bisa apa saja, asal tidak menggunakan nama predefined-variable PHP yang sudah ada.

Sebuah kelas dengan nama jenisMakanan sudah berhasil kita buat, tetapi belum dapat dilakukan apa-apa pada kelas tersebut, karena kita belum menambahkan properti (properties) atau metode (methods) didalamnya.

Nah, sekarang kita sudah menaruh sebuah fungsi ringan() pada kelas makanan. Fungsi pada kelas disebut juga metode (method). Kelas tersebut belum dapat digunakan, karena kita belum mendeklarasikan sebuah instance pada kelas tersebut. Untuk dapat menggunakan kelas tersebut, beserta metode dan properti-nya, maka harus dibuatkan instance dari kelas tersebut menggunakan perintah ‘new ‘. Dengan mendeklarasikan sebuah instance, maka kita dapat menciptakan sebuah obyek (object).

ringan(); // Hasil: krupuk udang

?>

Object

Seperti pada contoh diatas, digunakan “new” untuk menciptakan sebuah instance dari kelas jenisMakanan dan ditetapkan (assigned) pada variabel $makanan, kemudian memanggil metode ringan() dengan obyek $makanan.

Yang perlu diperhatikan adalah perbedaan antara kelas dengan obyek. Kelas, pada contoh diatas adalah jenisMakanan(), dan $makanan adalah sebuah obyek (object). Kelas hanya bisa dibuat satu saja, semisal dibuat dua kelas dengan nama yang sama, yaitu jenisMakanan, maka akan terjadi kesalahan (error). Walaupun begitu, kita dapat membuat beberapa instance menggunakan satu kelas yang sama.

ringan(); // Hasil: krupuk udang

$makanan2 = new jenisMakanan();
$makanan2->ringan(); // Hasil: krupuk udang

?>

Dari contoh diatas dapat kita lihat terdapat dua instance yang dibuat dari kelas jenisMakanan dimana kita mempunyai 2 obyek, $makanan dan $makanan2. Masing-masing instance memanggil metode ringan().

Properties

Sebuah kelas dapat memiliki variabel-variabel yang disebut properti (properties) atau bisa disebut juga attributes. Tipe-tipe properti tersebut adalah public, private, dan protected.

rasa;
}
}

$makanan = new jenisMakanan();
$makanan->rasa = “enak sekali”;
$makanan->ringan(); // Hasil: krupuk udang enak sekali

?>

Pada contoh diatas, kita telah menambahkan sebuah baris, yaitu “public $rasa;“, yang disebut juga access modifiers. Maksudnya adalah kita telah menambahkan sebuah properti public dengan nama $rasa pada kelas yang telah kita buat sebelumnya. Pada metode ringan() juga sudah ditambahkan properti $rasa, dimana variable dari properti $rasa akan ikut ditampilkan. Dapat anda lihat, digunakan $this->rasa untuk memanggil properti $rasa.

Pseudo-variable, $this, adalah sebuah variable yang sudah tersedia ketika suatu metode dipanggil oleh sebuah obyek. $this adalah sebuah acuan yang dapat digunakan untuk memanggil sebuah metode atau properti pada sebuah kelas.

public;
// Hasil: Public

echo $object->protected;
// Fatal error: Cannot access protected property MyClass::$protected

echo $object->private;
// Fatal error: Cannot access private property MyClass::$private

$object->helloWorld();
// Hasil: Public, Protected, dan Private

?>

Pada contoh diatas dijelaskan bahwa.

* Properti public dapat di akses dari dalam kelas itu sendiri maupun dari luar kelas. Public adalah properti bebas yang dapat diakses darimana saja.
* Properti protected dapat di akses dari dalam kelas itu sendiri, tetapi tidak dapat diakses dari luar kelas. Protected dapat di akses pada kelas itu sendiri (parent class) maupun dari kelas lain (inherited class) yang berasal/pewarisan dari kelas tersebut (parent class). Hal ini dapat dilakukan dengan inheritance yang dijelaskan pada bagian akhir tulisan ini.
* Properti private dapat di akses dari dalam kelas itu sendiri, tetapi tidak dapat diakses dari luar kelas maupun dari kelas lain.

Seperti halnya properti, kontrol terhadap metode/fungsi dalam kelas dapat dilakukan menggunakan access modifiers.

MyPublic();
$this->MyProtected();
$this->MyPrivate();
}
}

$object = new MyClass();
$object->MyPublic(); // Dapat berjalan dengan baik
$object->MyProtected(); // Terjadi kesalahan (error)
$object->MyPrivate(); // Terjadi kesalahan (error)
$object->Foo(); // MyPublic, MyProtected, MyPrivate berjalan baik.

?>

Inheritance

Salah satu kelebihan menggunakan sebuah kelas yaitu kita dapat membuat kelas inherits. Pewarisan (inheritance) dilakukan dengan memperpanjang (extends) kelas yang sudah ada dengan cara membuat kelas baru yang mewarisi (inherits) semua properti dan metode yang ada pada kelas aslinya (parent class).

public . ” ” . $this->protected;
}

function rasa2()
{
echo $this->public . ” ” . $this->private;
}
}

$makanan = new rasaMakanan();
$makanan->rasa1(); // Hasil: krupuk udang enak sekali
$makanan->rasa2(); // Hasil: krupuk udang

?>

Pada contoh diatas, terlihat jelas bahwa properti public dan protected dapat ditampilkan dengan memanggil obyek yang ada pada kelas inherits, yaitu kelas rasaMakanan. Sedangkan properti private tidak dapat ditampilkan pada kelas inherits tersebut. Perlakuan access modifiers pada metode-metode yang ada pada kelas tersebut sama perlakuannya terhadap properti-properti seperti yang sudah dijelaskan.

1.1 Pendahuluan

Tulisan ini merupakan pengenalan kepada pemrograman berorientasi objek (Object-oriented Programming, selanjutnya disebut OOP) dengan menggunakan ANSI C++. Disarankan agar Anda menguasai dasar-dasar pemrograman struktural terlebih dahulu dengan menggunakan salah satu bahasa pemrograman, baik C, Pascal, Basic atau yang lainnya. Sedikit sejarah tentang C++, C++ diciptakan oleh Bjarne Stroustrup di laboratorium Bell pada awal tahun 80-an, sebagai pengembangan dari bahasa C dan Simula. Saat ini, C++ merupakan salah satu bahasa yang paling populer untuk pengembangan software berbasis OOP. Tulisan ini memperkenalkan paradigma pemrograman berorientasi objek dengan menggunakan C++.

1.2 Bagaimana Konsep OOP?

Konsep utama pemrograman berorientasi objek yaitu melakukan permodelan objek dari kehidupan nyata ke dalam tipe data abstrak. Jelasnya, pemrograman berorientasi objek merupakan konsep pemrograman untuk memodelkan objek yang kita gunakan dalam kehidupan sehari-hari, dan konsep seperti ini membawa perubahan yang mendasar dalam konsep pemrograman terstruktur. Perubahan dramatis dalam konsep dasar disebut paradigma, maka jangan heran bila banyak orang yang menyebut “paradigma OOP” karena memang OOP membawa konsep yang sama sekali berbeda dengan bahasa pemrograman generasi sebelumnya (bahasa pemrograman terstruktur). Setiap objek dalam kehidupan nyata dapat kita pandang sebagai kelas, misalnya kelas Hewan, kelas Manusia, kelas Mobil. Sedangkan objek dari kelas tersebut misalnya sapi dan ayam untuk kelas Hewan, Budi dan Tono untuk kelas Manusia serta Toyota dan VW untuk kelas Mobil. Dengan OOP, kita dapat mengimplementasikan objekt data yang tidak hanya memiliki ciri khas (attribut), melainkan juga memiliki metode untuk memanipulasi attribut tersebut. Singkatnya, OOP memiliki keunggulan dari konsep pemrograman terstruktur, selain itu juga memiliki kemampuan untuk mengimplementasikan objek dalam kehidupan nyata.

1.3 Struktur Kelas

Sebagai langkah pertama dalam OOP akan kita bahas pendefinisian kelas di C++. Dalam bagian 1.2 penulis telah mencontohkan beberapa kelas yang lazim kita temui dalam kehidupan sehari-hari. Mari kita amati contoh lain dari kehidupan kita, dengan mendeklarasikan sebuah kelas bernama BilanganRasional :

class BilanganRasional

{

public :

void assign (int,int);

void cetak();

private :

int pembilang, penyebut;

};

Perhatikan contoh di atas. Untuk mendefinisikan sebuah kelas, dipakai kata kunci class, diikuti dengan pendeklarasian nama kelas tersebut. Fungsi assign() dan cetak() disebut member function (member fungsi). Sedangkan variabel pembilang dan penyebut disebut member data (member data atau member variabel). Disebut member karena kesemuanya merupakan anggota dari kelas BilanganRasional.

Perhatikan kata kunci Public dan Private. Member functions pada contoh di atas dideklarasikan sebagai fungsi global, sedangkan member data dideklarasikan sebagai lokal. Perbedaannya, member global dapat diakses dari luar kelas, sedangkan member lokal hanya dapat diakses dari kelas itu sendiri.

Sekarang, dimana kita telah menciptakan kelas Bilangan Rasional, kita dapat mendeklarasikan sebuah objek dari kelas BilanganRasional sebagai berikut :

BilanganRasional objekBilangan;

Perhatikan bahwa disini objekBilangan merupakan nama dari objek tersebut, dan BilanganRasional merupakan nama kelas yang ingin kita buat objeknya. Proses pembuatan sebuah objek biasa disebut penginstansian (bukan penginstalasian), dan sebuah objek disebut instans (instance) dari sebuah kelas.

Untuk lebih jelasnya, perhatikan listing selengkapnya :

class BilanganRasional

{

public :

void assign (int,int);

void cetak();

private :

int pembilang, penyebut;

};

void main()

{

//mendeklarasikan objekBilangan seperti telah dibahas di atas

BilanganRasional objekBilangan;

// member fungsi assign() dipanggil.

objekBilangan.assign (22,7);

// member fungsi cetak() dipanggil.

ObjekBilangan.cetak();

}

void BilanganRasional::assign(int pemb, int peny)

{

pembilang = pemb;

penyebut = peny;

}

void BilanganRasional::cetak()

{

cout<<pembilang<<' / '<<penyebut;

}

Perhatikan blok main(). Sekarang Anda sudah mempunyai sebuah objek bernama objekBilangan dari kelas BilanganRasional. Seperti Anda lihat, pendeklarasian sebuah objek sama seperti mendeklarasikan sebuah variabel. Atau dengan kata lain objekBilangan adalah sebuah objek dengan tipe BilanganRasional. Sekarang, bagaimana memanggil fungsi dari sebuah objek? Hal ini dapat dicapai dengan menghubungkan nama objek dan fungsi yang ingin dipanggil dengan operator tanda titik (.). Sehingga untuk memanggil fungsi assign(), dapat dilakukan dengan cara sebagai berikut :

objekBilangan.assign(22,7);

Nilai 22 dan 7 merupakan parameter yang diterima oleh fungsi assign(). Di dalam fungsi tersebut, nilai 22 diinisialisasikan ke dalam member data pembilang, dan nilai 7 diinisialisasikan ke dalam member data penyebut. Sehingga bila fungsi cetak() dipanggil, maka akan diperoleh hasil sebagai berikut :

22 / 7

Sebagai tambahan perhatikan ilustrasi di bawah ini :

Gambar di atas merupakan ilustrasi dari objek objekBilangan dengan 2 member data, yakni pembilang dan penyebut.

Perhatikan juga bahwa semua pendeklarasian fungsi, baik fungsi assign() maupun fungsi cetak() didahului dengan penanda BilanganRasional:: . Hal ini untuk menunjukkan kepada compiler agar compiler tidak "bingung", untuk kelas mana fungsi tersebut dideklarasikan, karena di C++ biasanya sebuah fungsi diletakkan di file yang terpisah.

1.4 Konstruktor

Sebelumnya kita telah menggunakan member fungsi assign() untuk memasukkan nilai ke dalam member variabel pembilang dan penyebut. Sebuah konstruktor melakukan tugas yang sama dengan fungsi assign(), sehingga Anda tidak perlu repot-repot memanggil fungsi assign() untuk setiap objek yang Anda deklarasikan. Sebuah konstruktor harus mempunyai nama yang sama dengan kelas dimana konstruktor tersebut berada, dan dideklarasikan tanpa return value (nilai balik), juga tanpa kata kunci void. Mari kita kembangkan kelas BilanganRasional yang telah kita bahas sebagai berikut :

class BilanganRasional

{

public :

//KONSTRUKTOR BilanganRasional

BilanganRasional(int pemb, int peny)

{

pembilang = pemb;

penyebut = peny;

}

private :

int pembilang, penyebut;

};

pembilang

penyebut

objekBilangan

Bandingkan struktur konstruktor dengan fungsi assign() yang telah kita bahas sebelumnya. Konstruktor BilanganRasional melakukan tugas yang sama dengan member fungsi assign(). Bedanya hanya terletak pada pemanggilan fungsi dan konstruktor tersebut. Jika fungsi assign() harus kita panggil dengan didahului oleh pendeklarasian sebuah objek, kemudian fungsi dari objek tersebut dipanggil dengan operator titik disertai nilai yang ingin kita input, misal

BilanganRasional x;

x.assign(22,7);

maka konstruktor cukup dipanggil sebagai berikut :

BilanganRasional x(22,7);

Kedua varian tersebut melakukan hal yang sama, yakni menginitialisasikan nilai 22 ke member variabel pembilang, dan nilai 7 ke variabel penyebut.

1.5 Konstruktor Dengan Initialization Lists

Penulisan konstruktor dengan daftar initialisasi (initialization lists) merupakan fasilitas yang disediakan oleh C++ untuk menyederhanakan struktur konstruktor. Ini berarti, contoh konstruktor di atas dapat pula ditulis sebagai berikut :

class BilanganRasional

{

public :

BilanganRasional(int pemb, int peny) : pembilang(pemb), penyebut(peny) { }

private :

int pembilang, penyebut;

};

Contoh di atas menghasilkan fungsi yang sama dengan konstruktor yang kita bahas sebelumnya.

1.6 CopyConstructor

Sampai sejauh ini kita telah mempelajari bagaimana struktur sebuah konstruktor serta bagaimana membuat objek dari konstruktor yang telah didefinisikan. Akan tetapi, coba bayangkan apabila Anda telah mempunyai sebuah objek x, dan kemudian Anda menginginkan membuat sebuah objek y yang memiliki nilai member data dan member fungsi yang sama. Tentu saja Anda dapat mendeklarasikan objek baru dengan memanggil konstruktor yang sama sebanyak 2 kali :

BilanganRasional x(22,7);

BilanganRasional y(22,7);

Perintah di atas mendeklarasikan 2 objek, yakni x dan y yang masing-masing memiliki nilai 22 pada member variabel pembilang dan 7 pada member variabel penyebut. Akan tetapi, Anda dapat juga mempersingkat kode diatas dengan perintah berikut :

BilanganRasional x(22,7);

BilanganRasional y(x);

Berikut listing contoh untuk Copy Constructor :

class BilanganRasional

{

public :

BilanganRasional(int pemb, int peny) : pembilang(pemb), penyebut(peny) { }

//CopyConstructor terdapat disini

BilanganRasional(const BilanganRasional& br) : pembilang(br.pembilang), penyebut(br.penyebut) { }

private :

int pembilang, penyebut;

};

void main()

{

BilanganRasional x(22,7);

BilanganRasional y(x);

}

Deklarasi CopyConstructor otomatis dipanggil ketika Anda mengkopi objek x ke objek y. Perhatikan bahwa x menjadi parameter ketika kita mendeklarasikan objek y.

1.6 Destruktor

Jika kita mendeklarasikan konstruktor untuk membuat sebuah objek, maka kita juga harus mendeklarasikan sebuah destruktor untuk menghapus sebuah objek. Setiap kelas mempunyai tepat satu destruktor. Jika Anda tidak mendeklarasikan sebuah destruktor dalam sebuah kelas, maka destruktor otomatis akan diciptakan sendiri oleh compiler C++. Destruktor dapat kita definisikan sendiri dengan simbol ~. Disarankan untuk mendefinisikan sendiri destruktor walaupun secara otomatis compiler C++ akan mendeklarasikan sebuah destruktor pada saat program Anda dicompile, tetapi dengan mendefinisikan sendiri sebuah destruktor maka Anda mempunyai kontrol penuh terhadap apa yang dilakukan destruktor dari kelas Anda. Perhatikan listing di bawah :

class BilanganRasional

{

public :

BilanganRasional() {cout <<"Konstruktor dipanggil\n";}

//Destruktor dari kelas BilanganRasional

~BilanganRasional() {cout <<"Destruktor dipanggil\n";}

private :

int pembilang, penyebut;

};

void main()

{

BilanganRasional x;

cout<<"Disini main program\n" ;

}

Listing di atas akan menghasilkan output sebagai berikut :

Konstruktor dipanggil

Disini main program

Destruktor dipanggil

Dari contoh di atas dilihat bahwa konstruktor dipanggil ketika objek x dibuat. Sedangkan destruktor secara otomatis dipanggil oleh compiler ketika objek x meninggalkan blok main(). Hal ini sesuai dengan kaidah kelokalan objek di C++.

1.7 Ringkasan

Pada bab ini Anda telah mengetahui konsep OOP, mengapa OOP disebut paradigma serta apa bedanya konsep pemrograman berorientasi objek dengan konsep pemrograman terstruktur. Anda juga telah belajar mendefinisikan sebuah kelas, mendefinisikan member fungsi dan member data serta struktur konstruktor dan destruktor dari sebuah kelas. C++ juga menyediakan fasilitas jika Anda ingin membuat duplikat sebuah objek, yaitu menggunakan fasilitas CopyConstructor. Selain itu Anda juga telah belajar mendeklarasikan sebuah konstruktor dengan Initialization Lists, sehingga pendeklarasian konstruktor Anda menjadi lebih efisien.

Java Sebagai Suatu Platform

Platform adalah suatu lingkungan hardware atau software dimana suatu program dapat berjalan di dalamnya. Contoh platform adalah Microsoft Windows, Linux, Solaris OS dan Mac OS. Suatu platform biasanya merupakan kombinasi dari sistem operasi dan seperangkat hardware. Terminologi Java bukan hanya merujuk pada suatu bahasa pemrogramman. Melainkan juga sebagai suatu platform. Tapi platform Java hanya terdiri dari komponen software (tanpa komponen hardware).

Java sebenernya mewakili tiga hal berikut :

1. Bahasa Pemrogramman
Sebagai suatu bahasa pemrogramman, java memiliki sintak (dalam bahasa manusia adalah kosa kata, grammer dan kalimat) yang mirip dengan bahasa C. Paradigma pemrogrammannya adalah object oriented programmin (OOP) atau pemrogramman berorientasi objek. Penekanannya bukan pada alur (struktur) tapi pada objek, properti dan state-state yang dimiliki oleh objek tersebut. Di sini Java hadir untuk mengatasi kendala-kendala (kompleksitas) bahasa pendahulunya dan menghilangkan hambatan antar sistem operasi. Java memiliki jargon yang sangat terkenal yaitu write once run anywhere yang disingkat dengan WORA.

2. Sebagai Mesin Virtual

Java Virtual Machine (JVM) adalah suatu mesin virtaul yang menginterpretasikan bytecode-bytecode java ke dalam bahasa mesin. Bytecode java adalah adalah file hasil kompilasi kode java (ekstension filenya adalah .class). Jika sutu program java bernama ProgramA.java dikompilasi maka hasilnya adalah ProgramA.class (inilah yang disebut bytecode java). Sebenernya paradigma pemrogramman dengan cara menginterpretasikan kode (dalam java adalah bytecode) menurut para ahli kurang bagus dari sisi performance (kecepatan). Tapi JVM mencoba mengatasi masalah ini dengan menerapkan teknik just in time (JIT) compilation yaitu java bytecode langsung dikompilasi menjadi bahasa mesin untuk kode-kode program yang dijalankan secara berulang-ulang.

3. Application Programming Interface (API)

Adalah sekumpulan komponen software (kelas-kelas dan interface-interface java) siap pakai yang memiliki berbagai kegunaan dan kemampuan yang berbeda-beda. Sekumpulan kelas-kelas dan interface-interface yang saling berkaitan diorganisasikan dalam suatu library. Library ini dikenal dengan sebutan package (paket).

Berikut adalah kumpulan library dasar di java :
• java.lang : adalah paket yang berisi kelas-kelas elemen dasar (untuk melakukan pemrogramman). Jika kita menggunakan kelas-kelas ini dalam kode kita tidak perlu melakukan import lagi.
• java.io : adalah paket yang berisi kelas-kelas untuk melakukan manipulasi masukan dan keluaran (input dan output) termasuk penanganan masalah file.
• java.util : adalah paket yang berisi kelas-kelas pelengkap seperti kelas struktur data dan kelas penanggalan.
• java.net : adalah paket yang berisi kelas-kelas yang memungkinkan komputer saling berinteraksi dengan komputer yang lainnya melalui jaringan TCP/IP.
• java.awt : adalah paket yang berisi kelas-kelas yang memungkin programmer untuk membuat aplikasi dengan antarmuka grafis, Graphical User Interface (GUI).
• java.applet : adalah paket yang berisi kelas-kelas yang memungkin programmer untuk membuat antarmuka (applet) yang interaktif di web.Semua program yang ditulis dalam java pasti memanfaatkan API Java ini.

Cara Kerja Java

Ada dua paradigma yang digunakan dalam pembuatan suatu bahasa pemrogramman. Pertama dengan cara menginterpretasi kode-kode program, setiap kali suatu kode akan diekseksui oleh mesin, kode-kode tersebut diterjemahkan dulu ke bahasa yang dapat dimengerti oleh mesin (bahasa biner). Dalam hal ini percis seperti posisi seorang penerjemah yang menjembatani dua orang yang saling berkomunikasi dengan menggunakan dua bahasa yang berbeda. Posisi si penerjemah sangat sibuk, mendengarkan si pembicara kemudian menyampaikannya dengan bahasa yang dapat dimengerti oleh lawan bicaranya. Si interpreter menerjemahkan kode-kode program ke suatu bahasa yang bisa dimengerti oleh mesin. Contoh bahasa pemrogramman dengan teknik interpreter adalah Phyton, PHP dan PERL. Kedua dengan meng-compile kode-kode program tersebut langsung menjadi bahasa yang dapat dimengerti oleh mesin. Mungkin analoginya ini seperti orang yang menerjemahkan suatu surat dari bahasa yang satu kepada bahasa yang lain. Ketika surat tersebut sudah diterjemahkan, si penerima langsung mengerti isi keseluruhan surat tersebut tanpa memerlukan perantara lagi. Contoh bahasa pemrogramman dengan teknik kompilasi adalah C dan C++.

Melihat gambaran yang diberikan, biasanya suatu bahasa pemrogramman dengan menggunakan teknik kompilasi jauh lebih cepat dibandingkan bahasa pemrogramman yang menggunakan teknik interpreter (penerjemah). Tapi pemrogramman dengan teknik kompilasi biasanya memilik kelemahan yaitu OS Dependent (ketergantungan pada Operating System – Sistem Operasi), artinya hasil kompilasi program pada system operasi tertentu tidak bisa dijalankan pada sistem operasi yang berbeda. Misal anda membuat aplikasi dengan menggunakan bahasa C (C menggunakan teknik kompilasi) pada Windows XP maka program tersebut tidak bisa dijalankan pada sistem operasi linux. Sementara pada program dengan teknik interpretasi, ketergantungan OS ini dapat diatasi. Anda menulis skrip python, baik menjalankannya pada linux ataupun windows hasilnya akan sama saja.

Terus teknik apa yang digunakan oleh java? Java menggunakan kedua teknik tersebut. Pertama kode-kode bahasa java di-compile menjadi byte code, kemudian oleh JVM, byte code – byte code ini diterjemahkan ke dalam bahasa mesin. Berikut gambaran bagaimana suatu program java dikonstruksi sampai dijalankan.

Mengenal Pengenal

Pengenal (identifier) adalah suatu nama yang ditentukan oleh pembuat program untuk pemberian nama variabel, konstanta, fungsi atau label. Terdapat beberapa aturan umum yang berlaku, baik pada bahasa C maupun C++. Aturan-aturan tersebut antara lain:

* Berawalan: huruf kapital, huruf kecil, atau karakter garis bawah ( _ ). Karakter selain dari yang disebutkan akan dianggap salah.

Contoh (benar): bilangan, Panjang, _identitas

Contoh (salah): 1_kelompok, @alamat

* Karakter berikutnya yang diperbolehkan yaitu: huruf, angka (0..9), atau karakter garis bawah ( _ ). Karakter selain dari yang disebutkan akan dianggap salah.

Contoh (benar): rata_rata, test23, TitikNormal

Contoh (salah): rata-rata, test|23, Titik Normal

* Huruf besar dan huruf kecil dianggap berbeda (case sensitive). Nama pengenal seperti TitikNormal akan dianggap berbeda dengan titik normal.
* Nama pengenal tidak boleh sama/tidak boleh menggunakan kata kunci dalam bahasa C

Mengenal Tipe Data

Bahasa C dan C++ menyediakan beberapa tipe data dasar, seperti:

(Tipe = Ket; lebar; jangkauan)

char = Menyatakan sebuah karakter (bisa berupa huruf (A..Z / a..z), digit (0..9), atau simbol (contoh: * & ^)); 8 bit; -128 sampai 127

double = Menyatakan bilangan titik-mengambang (bilangan real) dengan ketelitian tinggi; 64 bit; 1.7E-308 sampai 1.7E+308

float = Menyatakan bilangan titik-mengambang (bilangan real) dengan ketelitian rendah; 32 bit; 3.4E-38 sampai 3.4E+38

int = Menyatakan bilangan bulat; 16 bit; -32768 sampai 32767.

long int = Menyatakan bilangan bulat (jangkauan lebih besar dari int); 32 bit; -2147483648 sampai 2147483647

selain itu terdapat beberapa modifikasi dari tipe dasar di atas, seperti:

signed int = (lebar dan jangkauan sama dengan int)

unsigned int = Lebar 16 bit, jangkauan 0 sampai 65535

signed long int = (lebar dan jangkauan sama dengan long int)

unsigned long int = Lebar 32 bit, jangkauan 4294967296

long double = Lebar 80 bit, jangkauan 3.4E-4932 sampai 1.1E+4932

signed char = (lebar dan jangkauan sama dengan char)

unsigned char = Lebar 8 bit, jangkauan 0 sampai 255.
Pendeklarasian Variabel

Variabel adalah suatu pengenal yang digunakan untuk menyimpan suatu nilai dan nilai variabel dapat diubah/berubah-ubah selama proses dari program. Variabel harus punya nama supaya nilai didalamnya dapat dijalankan selama proses dari program. Nama dari variabel sendiri ditentukan oleh pembuat program.

Pendeklarasian variabel sendiri mempunyai format tipe_data nama_variabel.

Contoh:

int x,y; /* mendeklarasikan variabel x dan y dengan tipe integer */

char nama; /* mendeklarasikan variabel nama dengan tipe character */

Adapun yang dimaksud dengan perubahan nilai variabel adalah seperti contoh dibawah ini

#include

int main ()

{

int k;

k = 7;

printf(”k = %u”, k);

printf(”\n”);

k = 8;

printf(”k = %u”, k);

return 0;

}

Bila program di atas dijalankan akan menghasilkan luaran

k = 7

k = 8

Dapat dilihat bahwa variabel info mengalami 2 kali perubahan nilai, pertama variabel k memiliki nilai 7, dan kedua variabel info diubah nilainya menjadi 8.

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 dan platform independent, yaitu dapat dijalankan di berbagai jenis sistem operasi dan arsitektur komputer . Bahasa ini juga dirancang untuk pemrograman di Internet sehingga dirancang agar aman dan portabel. Kelebihan Java dibandingkan dapat beroperasi lintas platform (sistem operasi), dikenal dengan istilah platform independent. Artinya sekali kita menulis kode java dan melakukan kompilasi kode tersebut, hasil kompilasinya bisa dijalankan di semua sistem operasi. Hasil kompilasi kode java di windows dapat langsung dijalankan di linux. Begitu juga sebaliknya hasil kompilasi di linux dapat langsung dijalankan di Windows. Hal ini tidak bisa dilakukan untuk kode program C, C++ dan Smaltalk. Kode program C++ hasil kompilasi di windows agar bisa jalan di linux harus dilakukan kompilasi ulang di linux. Hal yang sama terjadi juga pada Smaltalk dan bahasa pemrogramman lain yant tidak bebas platform.

Platform independent berarti program yang ditulis dalam bahasa Java dapat dengan mudah dipindahkan antar berbagai jenis sistem operasi dan berbagai jenis arsitektur komputer. Aspek ini sangat penting untuk dapat mencapai tujuan Java sebagai bahasa pemrograman Internet di mana sebuah program akan dijalankan oleh berbagai jenis komputer dengan berbagai jenis sistem operasi. Sifat ini berlaku untuk level source code dan binary code dari program Java. Berbeda dengan bahasa C dan C++, 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 Anda eksekusi di tiap platform yang dengan menggunakan Java Virtual Machine (JVM) sebagai interpreter terhadap bytecode tersebut.

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.

Dengan cara ini, sebuah program Java yang telah dikompilasi akan dapat berjalan di platform mana saja, asalkan ada JVM di sana.

Kompiler dan interpreter untuk program Java berbentuk Java Development Kit (JDK) yang diproduksi oleh Sun Microsystems. JDK ini dapat didownload gratis. Interpreter untuk program Java sendiri sering juga disebut Java Runtime atau Java Virtual Machine. Interpreter Java, tanpa kompilernya, disebut Java Runtime Environment (JRE) dapat didownload juga di situs yang sama. Untuk mengembangkan program Java dibutuhkan JDK, sementara jika hanya ingin menjalankan bytecode Java cukup dengan JRE saja. Namun untuk mengeksekusi applet (sebuah bytecode Java juga) Anda biasanya tidak perlu lagi mendownload JRE karena browser yang Java-enabled telah memiliki JVM sendiri.

Library

Selain kompiler dan interpreter, bahasa Java sendiri memiliki library yang cukup besar yang dapat mempermudah Anda dalam membuat sebuah aplikasi dengan cepat. Library ini sudah mencakup untuk grafik, desain user interface, kriptografi, jaringan, suara, database, dan lain-lain.

OO

Java adalah bahasa pemrograman berorientasi objek. Pemrograman berorientasi objek secara gamblang adalah teknik untuk mengorganisir program dan dapat dilakukan dengan hampir semua bahasa pemrograman. Namun Java sendiri telah mengimplementasikan berbagai fasilitas agar seorang programer dapat mengoptimalkan teknik pemrograman berorientasi objek.

Sedikit perbandingan tambahan dengan bahasa C dan C++, Java banyak mewarisi konsep orientasi objek dari C++ namun dengan menghilangkan aspek-aspek kerumitan dalam bahasa C++ tanpa mengurangi kekuatannya. Hal ini mempermudah programer pemula untuk mempelajari Java namun mengurangi keleluasaan programer berpengalaman dalam mengutak-atik sebuah program. Di balik kemudahan yang ditawarkan Java, luasnya fasilitas library Java sendiri membuat seorang programer membutuhkan waktu yang tidak singkat untuk dapat menguasai penggunaan library-library tersebut.

Java sebagai salah satu bahasa pemrograman baru menjanjikan banyak kemudahan bagi programer junior maupun senior. Tutorial ini akan membawa Anda mengenal lebih jauh bahasa ini melalui pembahasan konsep model perancangan dan petunjuk sederhana penggunaannya.
Apakah 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 dan ­platform independent, yaitu dapat dijalankan di berbagai jenis sistem operasi dan arsitektur komputer­­. Bahasa ini juga dirancang untuk pemrograman di Internet sehingga dirancang agar aman dan portabel.
Platform Independent

Platform independent berarti program yang ditulis dalam bahasa Java dapat dengan mudah dipindahkan antar berbagai jenis sistem operasi dan berbagai jenis arsitektur komputer. Aspek ini sangat penting untuk dapat mencapai tujuan Java sebagai bahasa pemrograman Internet di mana sebuah program akan dijalankan oleh berbagai jenis komputer dengan berbagai jenis sistem operasi. Sifat ini berlaku untuk level source code dan binary code dari program Java. Berbeda dengan bahasa C dan C++, 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 Anda eksekusi di tiap platform yang dengan menggunakan Java Virtual Machine (JVM) sebagai interpreter terhadap bytecode tersebut.

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. Proses pengeksekusian program Java dapat dilukiskan seperti di Gambar 1. Dengan cara ini, sebuah program Java yang telah dikompilasi akan dapat berjalan di platform mana saja, asalkan ada JVM di sana.

Kompiler dan interpreter untuk program Java berbentuk Java Development Kit (JDK) yang diproduksi oleh Sun Microsystems. JDK ini dapat didownload gratis dari situs java.sun.com. Interpreter untuk program Java sendiri sering juga disebut Java Runtime atau Java Virtual Machine. Interpreter Java, tanpa kompilernya, disebut Java Runtime Environment (JRE) dapat didownload juga di situs yang sama. Untuk mengembangkan program Java dibutuhkan JDK, sementara jika hanya ingin menjalankan bytecode Java cukup dengan JRE saja. Namun untuk mengeksekusi applet (sebuah bytecode Java juga) Anda biasanya tidak perlu lagi mendownload JRE karena browser yang Java-enabled telah memiliki JVM sendiri.
Library

Selain kompiler dan interpreter, bahasa Java sendiri memiliki library yang cukup besar yang dapat mempermudah Anda dalam membuat sebuah aplikasi dengan cepat. Library ini sudah mencakup untuk grafik, desain user interface, kriptografi, jaringan, suara, database, dan lain-lain.
OO

Java adalah bahasa pemrograman berorientasi objek. Pemrograman berorientasi objek secara gamblang adalah teknik untuk mengorganisir program dan dapat dilakukan dengan hampir semua bahasa pemrograman. Namun Java sendiri telah mengimplementasikan berbagai fasilitas agar seorang programer dapat mengoptimalkan teknik pemrograman berorientasi objek.

Sedikit perbandingan tambahan dengan bahasa C dan C++, Java banyak mewarisi konsep orientasi objek dari C++ namun dengan menghilangkan aspek-aspek kerumitan dalam bahasa C++ tanpa mengurangi kekuatannya. Hal ini mempermudah programer pemula untuk mempelajari Java namun mengurangi keleluasaan programer berpengalaman dalam mengutak-atik sebuah program. Di balik kemudahan yang ditawarkan Java, luasnya fasilitas library Java sendiri membuat seorang programer membutuhkan waktu yang tidak singkat untuk dapat menguasai penggunaan library-library tersebut.
Memulai Pemrograman Java

Untuk membuat program Java, seperti telah disebutkan sebelumnya, Anda membutuhkan JDK. Proses instalasi JDK tersebut sangat mudah dan tidak membutuhkan pengetahuan tertentu. Namun untuk menggunakannya Anda perlu melakukan beberapa penyesuaian dengan sistem operasi Anda. Umumnya yang perlu Anda lakukan adalah memasukkan path ke direktori JDK Anda ke setting path pada sistem operasi Anda. Misalkan direktori JDK Anda adalah C:\jdk1.4 maka pada Windows 98 Anda cukup menambahkan baris perintah SET PATH=C:\jdk1.4\bin pada file autoexec.bat Anda. Untuk Windows NT/2000/XP Anda cukup menambahkan direktori C:\jdk1.4\bin pada variabel path di System Environment. Caranya: klik kanan ikon My Computer, pilih Properties. Kemudian pilih tab Advanced. Lalu klik tombol Environment Variables, cari variabel path, kemudian tambahkan path direktori JDK Anda ke dalam variabel tersebut. Untuk Linux, tambahkan baris perintah SET CLASSPATH=(direktori jdk Anda) ke file profile Anda. Untuk mencoba JDK, ketikkan perintah java dan javac pada shell prompt (atau DOS Command Prompt). Jika perintah tersebut sudah dikenali maka program java atau javac akan menampilkan sintaks penggunaan. Untuk kemudahan dan berbagai fasilitas tambahan Anda dapat menggunakan Integrated Development Environment (IDE) untuk bahasa Java seperti Visual Café dari Symantec atau JBuilder dari Borland.

Urutan langkah-langkah yang harus Anda lakukan untuk membuat sebuah program Java sederhana adalah:

1. Membuat source code program dengan editor teks apapun. Ingat, file tersebut harus berekstensi .java dan case sensitive.
2. Mengkompile source code dengan perintah javac. Misalnya: javac HelloWorld.java. Jika berhasil, hasilnya adalah file bytecode berakhiran .class.
3. Mengeksekusi bytecode dengan perintah java. Parameter dari perintah ini adalah nama file hasil kompilasi tanpa ekstensi .class. Contoh: java HelloWorld.

Source Code

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. Kedua program ini akan dibahas lebih lanjut 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.
Kompilasi

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.
Sintaks Program

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);.
Eksekusi

Setelah selesai membahas sintaks dasar Java dalam kedua listing, selanjutnya kita akan mencoba mengeksekusi kedua program ini. Untuk program pertama yang berupa aplikasi biasa, kita tinggal mengetikkan perintah java HelloWorld pada prompt dan pesan Apa Kabar Dunia? akan tampil di layar (atau mungkin di tempat lain, bergantung sistem operasi Anda). Sedangkan untuk applet kita mesti membuat sebuah file HTML sebagai pembungkus—atau pemanggilnya. Berikut diberikan contoh file HTML untuk membungkus applet yang kita buat.

Coba Applet

Beri nama helloword.html dan simpanlah di direktori yang sama dengan lokasi file-file .java dan .class sebelumnya. Untuk mengeksekusi applet kita cukup membuka file HTML tersebut di browser yang Java-enabled atau mengetikkan perintah appletviewer namafile.html di prompt.

Liputan6.com, Jakarta: Piala Dunia 2010 memang digelar di Afrika Selatan. Namun, siapa sangka jika pesta empat tahunan itu memotivasi anak-anak untuk giat berlatih sepak bola. Mereka ingin menjadi pemain bintang dan bisa tampil dalam piala dunia.

Untuk mewujudkan itu, sejumlah anak-anak mengikuti sekolah sepak bola yang belakangan ini semakin marak. Satu di antaranya terletak di kawasan Gelora Bung Karno, Senayan, Jakarta. Untuk bisa belajar di sana, setiap anak dikenai uang pendaftaran Rp 50 ribu dan iuran setiap bulan Rp 100 ribu.

Di sekolah sepak bola, setiap anak diajarkan teknik bermain bola yang standar. Mereka dilatih cara menggiring bola, menendang dengan benar, termasuk trik melawati pemain lawan. “Kesulitannya masalah teknik. Dikasih teknik sederhana saja, tetap perlu waktu,” kata Totok, pelatih sekolah sepak bola.

Sedangkan peserta bermotivasi bisa menjadi pemain sepak bola profesional. Itulah sebabnya, mereka sengaja mendaftarkan diri di sekolah sepak bola. “Ingin menjadi pemain bintang,” ujar Egi, singkat. Seperti halnya Egi, peserta lain, Diko, juga ingin menjadi pemain nasional kelak.

Untungnya, para orang tua sangat mendukung anaknya ikut sekolah sepak bola. Dengan latihan dua kali dalam sepekan, mereka menganggap sekolah sepak bola sebagai sarana menyalurkan bakat. “Kalau begini, hobi anak jadi tersalurkan,” ungkap Diyono, orang tua. Selain itu, kata Kartini, anaknya tidak lagi keluyuran dengan tidak jelas.

Pelatih yang juga mantan pemain nasional Patar Tambunan mengungkapkan, pemain sepak bola saat ini bisa dijadikan profesi yang menjanjikan. Kondisi sekarang berbeda jauh dengan era Patar bermain sepak bola, sepuluh tahun silam. Terlebih, banyak klub sepak bola di Indonesia yang berani membayar gaji pemain dengan tinggi. Patar berharap, kondisi ini bisa membawa sepak bola Indonesia lebih baik lagi di masa mendatang.(ULF)