Anda di halaman 1dari 7

Web Programming Konsep OOP & Awt

Pemrograman berorientasi objek (OOP) ialah sebuah metode pemrograman berbasiskan hirarki kelas-kelas dan melibatkan objek. Pemrograman Berorientasi Objek merupakan fitur utama pada Java dimana syarat utamanya kita harus membuat program berupa kelas . Sebuah kelas ialah sebuah struktur yang mendefinisikan data dan method untuk bekerja pada data tersebut. Ketika kita membuat program OOP di java, semua data diselubung oleh sebuah kelas. Berikut rumus umum dari OOP : //membuat objek dari suatu kelas menggunakan new nama kelas nama_objek = new nama_kelas //memanggil method dari objeknya nama_objek.nama_method(); //mengeset properties nama_objek.nama_properties=value; Kelas Di dalam kelas kita mendeklarasikan berbagai variabel/properties dan method, contoh berikut menampilkan contoh dasar pembuatan kelas di java : //deklarasi nama kelas StudInfo class StudInfo { //deklarasi variabel String name; String id; String classcode; //deklarasi dan inisialisasi method printDetails() void printDetails() { System.out.println( name + " " + id + " " + classcode ); } } //kelas utama StudentDetails class StudentDetails { public static void main ( String args[] ) { // membuat objek bernama student dari kelas StudInfo StudInfo student = new StudInfo(); // inisialisasi variable/properties objek dengan data student.name = "Johny Purwanto"; student.id = "0208-0101-1001"; student.classcode = "AD0101PT"; // memanggil method printDetails untuk menampilkan data student.printDetails(); } } Pada program diatas, kita menggunakan 2 kelas yaitu StudentInfo yang berisi variabel dan method siswa dan kelas StudentDetails yang berisi inisialisasi variabel dan pemanggilan fungsi printDetails, dengan terlebih dahulu membuat objek dengan nama student. Perlu diperhatikan di sini, ketika anda akan menyimpan nama sebuah file, maka wajib berikan nama file dari kelas yang ada fungsi main. Dari contoh diatas , kelas yang mempunyai fungsi main ialah kelas StudentDetails, oleh karena itu nama file yang tepat ialah StudentDetails.java.

Widodo Budiharto D2637

Web Programming
Ketika program ini dijalankan ,hasilnya :

Johny Purwanto 0208 0101-1001 AD0101 PT Inheritance Untuk membuat kelas baru dari komponen kelas yang sudah ada, dapat kita gunakan turunan atau inheritance. Di java kita menggunakan fungsi extends untuk menandakan suatu kelas ialah turunan dari kelas lain //kelas Human ialah kelas yang akan diturunkan (base class atau super class) class Human { int hands = 2; } //kelas Employee ialah kelas turunan dari kelas Human (subclass) class Employee extends Human { String name; double salary ; //membuat konstruktor untuk inisialisasi //idealnya untuk menginisialisasi variable kita gunakan konstruktor Employee ( String n, double s ) { name = n; salary = s; } String getDetails() { return "\nName : " + name + "\nSalary : " + salary; } } //Kelas manager turunan dari kelas Employee class Manager extends Employee { String dept ; Manager ( String n, double s, String d ) { super(n,s);//memanggil konstruktor kelas atas (Employee) dept = d; } String getDetails() { return super.getDetails() + "\nDept : " + dept + "\nHands : " + super.hands;} } class SuperTestEmployee { public static void main ( String args[] ) { Manager m1 = new Manager("Ginger", 1000.0, "Mgt"); System.out.println(m1.getDetails()); Manager m2 = new Manager ("Swee Lim", 2000.0,"Finance"); System.out.println(m2.getDetails());

Widodo Budiharto D2637

Web Programming
Manager m3 = new Manager ("Su Kheng", 3000.0, "Sales"); System.out.println(m3.getDetails()); } } Pada program diatas, kita membuat 3 buah kelas, yaitu kelas Human, Employee dan Manager . Untuk menginisialisasi variable idealnya kita menggunakan Konstruktor, dimana penulisannya harus sama dengan nama kelas. Jadi jika kelas bernama Employee , maka konstruktornya bernama Employee() atau terdiri dari beberapa parameter yang kita inginkan. Konstruktor yang tidak mempunyai parameter kita sebut sebagai default constructor. Penggunaan fungsi super untuk memanggil konstruktor dari kelas atas (base class). Jika kita membuat konstruktor dengan nama yang sama , namun berbeda isi parameternya, ini disebut sebagai overloading constructor Contoh : class Cload { String pname; int qty; int price; //konstruktor dengan 3 parameter Cload (int prodqty, String prodname, int prodprice ) { pname=prodname; qty=prodqty; price=prodprice; } //konstruktor dengan 2 parameter bertipe int dan String Cload (int q, String p1name) { pname=p1name; price=q; qty=price/10; } void print() { System.out.println ("nama produk : " + pname); System.out.println ("Kuantitas :" + qty); System.out.println ("Harga: " + price);} public static void main (String args[]) { Cload prods; prods = new Cload (10,"Apples", 10); prods.print(); prods = new Cload (10,"Oranges"); prods.print(); }} Program diatas akan menginisialisasi variable menggunakan konstruktor yang berbeda parameter dan menampilkan datanya.

Widodo Budiharto D2637

Web Programming

Gambar Hasil overloading constructor Pada program diatas terlihat kita bisa mengeset konstruktor dengan berbagai parameter, dan program otomatis akan mencari dan mengenal konstruktor mana yang harus dicari sesuai dengan parameter yang kita berikan. Di java, agar kita dapat menggunakan method pada berbgai kelas, namun implementasi method tersebut berbeda-beda, kita harus mendeklarasikan method tersebut di dalam kelas abstract. Contoh : abstract class Bentuk { public abstract float hitungluas(); } public class Lingkaran extends Bentuk { float radius; public float hitungluas(); { return radius *22/7; } } Pada program diatas, kita memilih sebuah method abstrak yaitu hitungluas(), oleh karena itu di kelas Lingkaran yang merupakan turunan dari kelas Bentuk, dapat mendefinisikan isi method hitungluas() untuk lingkaran. Tentu saja rumus luas untuk persegi panjang dan bidang lainnya berbeda, disinilah kelebihan penggunakan kelas abstrak. Sedangkan jika anda ingin suatu kelas tidak dapat diturunkan harus menggunakan keyword final. Penggunaan final pada variable justru membuat variabel menjadi suatu konstanta. Beberapa konsep OOP yang harus dipelajari Anda lebih jauh yaitu Polimorphisme, Interface dan method overriding.

Input Keyboard
Di Java,untuk menerima input dari keyboard pada pemrograman java application harus menggunakan kelas BufferedReader dan InputStreamReader, berikut contohnya : package aplikasijava; import java.io.*; //menyertakan seluruh kelas yang ada di dalam paket java.io

Widodo Budiharto D2637

Web Programming
//nama kelas ContohWhile public class ContohWhile { //buang error menggunakan kelas IOException public static void main (String args[] ) throws IOException { //deklarasi variable char ch; //Tampilkan pilihan System.out.print("\nSelect [F]oods [D]rinks [S]leeping [E]xit: "); //terima input dan ditangani oleh kelas BufferedReader dan InputStreamReader BufferedReader br = new BufferedReader (new InputStreamReader ( System.in)); //baca input dan masukkan ke str String str = br.readLine(); //ambil karakter pertama ch = str.charAt(0); //selagi bukan E yang diinputkan oleh user while ( ch != 'E') { switch (ch) { //jika F maka tampilan pesan Makan case 'F' : System.out.println("Anda senang makan"); break; case 'D' : System.out.println("Anda suka minum"); break; case 'S' : System.out.println("Anda suka tidur"); break; default : System.out.println("Anda golput" ); break; } System.out.print("\nSelect [F]oods [D]rinks [S]leeping [E]xit: "); br = new BufferedReader (new InputStreamReader ( System.in)); str = br.readLine(); ch = str.charAt(0); } System.out.println("Selesai"); } } Kita menggunakan method readLine() untuk menerima input dari keyboard lalu ditampung oleh variabel str. Karena kita ingin mendeteksi karakter pertama saja untuk pengecekan kondisi menggunakan switch..case, maka kita gunakan method charAt(0) .

Mengenal AWT
Aplikasi java dapat dibedakan menjadi 3 yaitu Java application , Java Applet dan servlet. Java application telah kita pelajari sebelumnya yang mana berjalan di command prompt dan bersifat text based, keculai aplikasi swing yang dapat mempunyai tampilan GUI.. Java Applet ialah aplikasi GUI yang berjalan di browser (IE,Netscape, Modzilla dan lain-lain ). Sedangkan Java servlet ialah aplikasi yang berjalan di server. Pada awal kemunculan Java, java applet menjadi bahasa yang sangat popular untuk membuat situs web menjadi lebih dinamis. Salah satu aplikasinya ialah chatting , form input ke server dan tulisan yang bergerak bervariasi dengan warna-warni yang indah . materi AWT tetap diberikan di buku ini karena AWT masih tetap diperlukan dengan berbagai kelebihan dan kekurangannya di dalam pengembangan aplikasi web berbasiskan J2EE.

Widodo Budiharto D2637

Web Programming
Abstract Windowing Toolkit (AWT) ialah sebuah API (Application Programming Interface) yang berfungsi untuk membuat aplkasi Graphical User Interface (GUI) yang merupakan bagian dari Java Foundation Classes (JFC). AWT menyertakan sekumpulan komponen untuk membangun grafik, event handling, perangkat gambar, layout manager dan mendukung arsitektur JavaBeans. Paket java.awt berisi seluruh kelas untuk membuat user interface dan gambar grafik serta image. Java applet mempunyai kemampuan untuk mencegah virus menempel di aplikasi kita, karena konsepnya ialah file.class (bytecode) itu diinterpretasi, bukan di eksekusi. Sehubungan dengan hal tersebut, beberapa batasan yang ada pada applet ialah : applet tidak dapat membaca atau menulis system file applet tidak dapat berkomunikasi dengan server lainnya applet tidak dapat menjalankan program di sistem

Untuk membuat applet, dibutuhkan kelas-kelas yang mendukung berupa paket minimum yaitu java.awt.* dan java.applet.* . Lambang * menandakan sertakan seluruh kelas yang ada di dalam paket awt atau applet tersebut. Umumnya kelas untuk program applet merupakan turunan dari kelas Applet , yaitu bersumber dari paket java.applet.Applet. Kelas Graphics Kelas graphics berisi method-method untuk menggambar string, garis, segi empat dan bentuk lainnya. Secara default java menggunakan koordinat yang umum yaitu sudut kiri atas monitor (0,0) dan semakin ke kanan nilai x semakin besar, begitujuga sumbu y semakin ke bawah nilainya semakin besar. Untuk menggambar di layar, dibutuhkan graphics context yang berfungsi mirip dengan papan tulis tempat kita menulis /menggambar sesuatu. Kelas grafis ialah kelas abstract yang tidak bisa diinstankan. Tetapi sebuah tipe kelas Graphics dapat didefinisikan menggunakan kelas Component. Kelas Component ialah superclass untuk seluruh kelas di awt yang mempunyai method paint dengan parameter sebuah objek Graphics sebagai argumen. Objek ini akan dilewati ke method paint oleh system ketika operasi penggambaran terjadi untuk sebuah komponen, deklarasinya sebagai berikut : public void paint (Graphics g) Method ini dipanggil otomatis ketika applet dieksekusi (setelah pemanggilan di method init dan start). Untuk merefresh tampilan, digunakan method repaint() dan update() untuk membersihkan penggambaran sebelumnya sebagai berikut : public void repaint() public void update(Graphics g) Applet mempunyai beberapa method yang umum digunakan yang tersimpan di kelas Applet. Berikut method tersebut : init() //dipangil ketika applet dimulai start() //dieksekusi setelah method init(), untuk menjalankan applet stop() // untuk memberhentikan applet yang sedang berjalan destroy()// untk membebaskan memori yang ditempati oleh variable dan objek paint() // untuk menggambar, menulis dan membuat background. repaint() // untuk menggambar ulang applet , bisa menggunakan 4 parameter //untuk update bagian tertentu di applet supaya lebih cepat.

Widodo Budiharto D2637

Web Programming
Program java applet yang telah jadi ditempelkan ke dalam dokumen html menggunakan tag <applet code=nama_applet.class></applet>, berikut contoh applet untuk menampilkan pesan di browser pada posisi tertentu yang umumnya merupakan turunan dari kelas Applet : import java.awt.*; //menyertakan paket awt import java.applet.*; //menyertakan paket applet //kelas Salam turunan(extends) dari kelas Applet public class Salam extends Applet { Font f = new Font ("TimesRoman", Font.BOLD, 50);//set jenis font String nama; //buat variabel nama dengan tipe data String public void init() { //tempat inisialisasi nama=getParameter ("nama"); if (nama==null) //jika kosong nama="Muhammad Subchan";//set nama nama="Hai " + nama; } public void paint (Graphics g) { g.setFont (f); /set applet dengan font g.setColor(Color.green);//berwarna hijau g.drawString(nama, 60,60);//tampilkan string di posisi 60,60 } } Setelah anda kompile di dos prompt menggunakan perintah javac Salam.java, akan menghasilkan Salam.Class, masukkan kode penempelan applet menggunakan tag applet code sebagai berikut : <html> <head> <title>Salam Applet </title> </head> <body bgcolor=pink> <font color=blue><h3> Contoh Applet</h3></font> <applet code ="Salam.class" width=300 height=200 CODEBASE="\j2se\ bin"> <align=top> <param name=nama value="Iwan"> </applet> </body> </html> Pada kode di atas, kita meload file Salam.class dengan lebar 300 dan tinggi 200. Codebase berfungsi untuk menentukan file .class pada suatu direktori, sebagai contoh file .class tersebut ada di folder \j2se\bin. Pada kenyataanya kalau sudah diupload di web server, dengan memasukkan file html dan .class pada 1 direktori, kita tidak perlu menggunakan codebase ini. Param digunakan sebagai input di program java kita , agar kita bisa dengan mudah merubah nilai tanpa perlu mengkompile ulang program java kita. Untuk menjalankannya jalankan file html tersebut seperti gambar . Tampilan tersebut akan menampilkan nama Iwan karena di dokumen html saya memasukkan nama Iwan, jika saya kosongkan nama tersebut, maka akan tampil nama Muhammad Subchan.

Widodo Budiharto D2637

Anda mungkin juga menyukai