RANGKUMAN PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK



A.      Instalasi Java
Instal aplikasi Java SDK pada komputer. Berikut langkah-langkah untuk instalasi java:
a.      Jalankan installer Java SDK
a.      Ikuti semua proses sampai selesai
a.      Set variabel system path pada komputer. Caranya:




x
-       Buka Windows Explorer
-       Klik kanan icon My Computer, klik Properties
-       Klik Advanced system settings
-       Klik tab Advanced
-       Klik Tombol Environment Variables
-        Pada bagian system variable, cari variabel path, kemudian klik Edit, tambahkan alamat dari folder bin pada Java kompiler Anda ke dalam value variable path.
-     Pada bagian user variable, tambahkan variable classpath kemudian isi nilainya dengan “ .; ” (titik dan titik koma) alamat_folder_lib_anda
-       Cobalah Java Anda, buka command line
·         Ketikkan java<<enter>>
Ketikkan javac<<enter>>
selesai..

A.      Konsep Dasar Pemrograman Berorientasi Objek
Java adalah salah satu bahasa pemograman yang menggunakan paradigma pemograman berorientasi obyek. Pemograman berorientasi obyek menjadikan object dan class sebagai konsep utamanya. Jadi dalam pemograman java object dan class menjadi suatu yang paling sentral. Java adalah salah satu bahasa pemograman yang tidak tergantung pada operating system (operating system independent), yang sekarang mulai populer dikalangan programmer.
B.       Konsep Dasar Variabel
Variabel adalah satuan yang dipakai oleh program sebagai basis untuk penyimpanan data. Penggunaan variable harus terlebih dahulu dideklarasikan nama dan tipenya.
Tipe dasar (primitive) dalam java adalah sebagai berikut ;





















Short
Tipe variable short adalah bilangan bulat 16 bit yang mempunyai jangkauan nilai dari  -215  sampai dengan 215-1 atau dari -32768 sampai dengan  ±32767.
Type variable int adalah bilangan bulat 32 bit dengan jangkaun nilai dari -231 sampai dengan 231-1.

Long
Tipe variable long adalah bilangan bulat 64 bit dengan jangkauan nilai dari -263 sampai dengan 263-1.
Contoh:
     Long 11 = 5456469;
     Long 12 = 0x08ea73aaea4f25d23;

Byte
Type variable byte adalah bilangan bulat 8 bit yang mempunyai jangkauan niali dari 27 sampai dengan 27-1 atau dari -128 sampai dengan +127.
Contoh :
     Byte b1 = 50;
     Byte b2 = 120;
     Byte b3 = 127;

Float
Float adalah bilangan real (pecahan, dengan format floating point yang menggunakan tempat penyimpanan 32 bit. Tipe float mempunyai jangkaun nilai dari 3.4e-038 sampai dengan 3.4e+038. Ketelitian float sampai 10 angka dibelakang koma.
Contoh :
     Float f1 ;
     Float f2 = 0.13f;
     Float f3 = 0.34f;
Perhatikan bahwa angka float ditambah suffix huruf f yang berarti float. Hal ini diperlukan karena notasi default untuk tipe variable double.

Double
Dobel adalah bilangan real (pecahan) dengan presisi 2 kali lebih baik dari variable float.
Dobel membutuhkan 64 bit untuk penyimpanannya yang mempunyai jangkauan nilai dari 1.7e-308 sampai dengan 1.7e+308.

Char
Tipe variable char menyimpan kode Unicode (karakter internasional), karena itu membutuhkan 16 bit.
Contoh:
     Char c;
Char c1=’c’;
Char c5=’\t’;

Boolean
Variable Boolean berisi dua nilai, yaitu true dan false. Variabel Boolean dapat diperoleh dari operasi logika seperti perbandingan dua bilangan, perbandingan dua string, dan lain – lain;

Casting
Casting adalah teknik konversi suatu data tipe ke data tipe yang lain secara eksplisit. Yang menerangkan kepada compiler bahwa terjadi perubahan tipe variable, sehingga hasilnya harus dikonversi ke tipe variable tersebut.
Contoh :
     Int I;
     Double d;
     Byte b;
     I = 250;
     D = I; // tidak terjadi kesalahan, penyesuain otomatis
     B = I; // terjadi kesalahan, tipe tidak compatible
     B = (byte); //tidak terjadi kesalahan, casting dari integer ke byte

C.       Konsep Dasar Array
Array adalah sekumpulan data yang sama tipenya. Isi array dapat diakses melaui index yang dimulai dari 0 sampai dengan jumlah_elemen_array-i.

     Tipe_variabel nama_array[];

Contoh
     Int MyArr[];
    
Pada saat didefinisikan (dideklarasikan), jumlah elemen array belum diketahui. Jumlah elemen yang sesungguhnya diciptakan dengan 2. Array MyArr dapat diakses dengan cara sbb;
     MyArr[0] = 340;
     MyArr[1] = -129;
     MyArr[2] = 499;

Array dapat diinialisasi secara otomatis pada saat pendeklarasian dengan cara sbb:     
     Int MyArr[] = {340,-129, 499};
    
Pada saat runtime jika indeks array yang diakses melebihi jumlah elemen yang ada maka java akan mengeluarkan pesan kesalahan berupa kesalahan runtime error.
Array Multidimesi
Kita dapat mendeklarasikan array lebih dari satu dimensi. Sebagai contoh kita akan membahas array dua dimensi. Untuk array berdimensi lebih dari dua dapat kita analogikan dengan array dimensi dua. Contoh pendeklarasian array dua dimensi:
     Double Matrik[ ] [ ];
Menciptakan element array dua dimensi
     Matrik = new double [2] [3];
Atau dengan cara diciptakan satu persatu (per baris)
     Matrik=new double [2] [ ]; // dimensi berikutnya belum disiapkan
     Matrik[0] = new double[3];
     Matrik[1] = new double[3];
     Matrik[0] [0] = 9.5;
     Matrik[0] [2] = 10.0;
     Matrik[1] [2] = 340.9;
Atau kita dapat menginisialisasi array multi demensi pada saat pendeklarasian dengan cara :
     Double Matrik [ ] [ ] ={
                 {20.5, 10.9, 309.0}
                 {-8.8, 98.7, 100.0}

D.      Kerangka Program Java

Progam dalam java dibagi- bagi menjadi class-class. Oleh karena itu program dalam java dimulai dengan kata kunci class atau public class. Lihat Contoh Berikut :
public class Hello {
     public static void main(String argv []) {
     System.out.println("Hello java programmer UMSIDA");
     }}

Progam selalu dimulai dengan pembuka blok yaitu kurung kurawal buka, dan diakhiri dengan penutup blok yaitu kurung kurawal tutup. Perlu juga diperhatikan bahwa class dalam java yang bersifat public harus disimpan dalam file sama dengan nama class dan ditambah ekstensi java dalam hal ini bersifat case sensitive. Jadi program di atas harus disimpan dalam file yang bernama Hello java.
Prasyarat sebuah program aplikasi (yang bisa dieksekusi) dalam java adalah mempunyai metoda (fungsi) sebagai entry point (pintu masuk) yang bernama main () untuk memulai eksekusi.
main () adalah sebuah metode dengan argument array dari String yang bernama argv. Klasifikasi dari metode main () adalah public static yang artinya bisa diakses oleh metoda diluar class tersebut. Sedangkan kata kunci void menjelaskan bahwa metoda main () tidak memberikan nilai balik (return value) ke pemanggil.

Perintah (statement) System.out.println(), merupakan perintah untuk mencetak string yang menjadi argument ke layar dan setelah pencetakan akan ganti baris. Perlu diperhatikan bahwa antara satu perintah yang lain dipisah dengan semi colon (;).

Program dalam java yang kita tulis harus kita compile dengan java compiler dengan perintah :
C:\>javac Hello.Java
Javac adalah program java compiler, sedangkan Hello java adalah program yang akan di compile. Jika proses compile berjalan lancar maka akan dibuat file sesuai dengan nama file yang di compile ditambah dengan ekstensi class. Jadi proses compile di atas akan menghasilkan file class yang bernama Hello.class.File class yang dihasilkan dari proses kompilasi dapat kita eksekusi dengan java interpreter dengan perintah :
C:\>java Hello
Setelah File Hello.class dieksekusi maka akan muncul di monitor :
Hello java programmer UMSIDA

Komentar
Pemberian komentar dalam proram adalah penting karena akan memperjelas alur program serta akan memberikan dokumentasi yang jelas.

Pemberian komentar dalam java dapat dilakukan dengan memberikan karakter //.  Semua teks setelah // akan dianggap komentar dan diabaikan dalam proses kompilasi sampai dengan garis baru (new line). Contoh :

            System.out.println(“Hello”);               //mencetak kata hello

Selain dengan tanda //, penulisan komentar juga dapat menggunakan sepasang tanda /* dan */. Jadi semua teks diantara tanda /* dan tanda */ adalah dianggap komentar dan diabaikan dalam proses kompilasi. Contoh :

            /* perintah di bawah ini
                akan mencetak teks
                 Hello java programmer */
            System.out.println(“Hello java programmer”);

Kata Kunci
Program java mempunyai beberapa kata kunci yang tidak boleh kita gunakan sebagai nama variable, nama class dan yang lainnya. Kata kunci tersebut adalah :


OPERATOR , CONTROL FLOW dan STRING

Operator dan Control Flow adalah jantung dari program Control Flow mempunyai kemampuan untuk mengendalikan jalan dari program. Tanpa Operator dan Control Flow, program tidak akan mampu melakukan banyak hal. Ada beberapa jenis Operator dan Control Flow dalam Java, yaitu:
1. Aritmatika Operator
2. Logika Operator
3. Bit per bit operator
4.  Relasional
5.  Prioritas
6. Pernyataan if
7. Pernyataan if-else
8.  Pernyataan switch, case dan break
9.  Pengulangan (Loop)

CLASS
Class merupakan bagian pokok dari Pemrograman Berorientasi Obyek (Object Oriented Programming). Class merupakan cara merakit data-data dan menentukan semua metode yang diperlukan untuk mengakses, menggunakan dan mengubah data-data tersebut. Dalam java class juga bisa dianggap sebagai type dari object.
     Setiap class memiliki dua hal utama. Yang pertama adalah yang kita sebut state/atribut/property. State dalam obyek tidak lain adalah nilai dari setiap variable. Bagian yang kedua adalah tool atau method yang menentukan utility yang dimiliki oleh class. 
   1. Pendeklarasian class
2. Konstruktur
Konstruktur adalah method dengan property yang unik dan untuk keperluan inialisasi pada saat obyek diciptakan. Jadi konstruktur digunakan memberikan niali kepada attribute tertentu pada saat obyek diciptakan.Kontruktor didefinisikan dengan nama yang sama dengan nama class

3. Inherintance (Pewarisan)
Inheritance (Pewarisan) adalah suatu mekanisme yang memungkinkan satu class mewarisi (memiliki) attribute dan method dari class lain. Mekanisme pewarisan ini diperlukan untuk mengembangkan class-class yang sudah ada tanpa harus membuka source code dari class-class tersebut. 

4. Kata Kunci this
this adalah referensi yang menunjuk pada obyek aktual. Nilai this ini menunjukkan bahwa obyek yang dimaksud adalah obyek yang sedang aktif itu sendiri. 

5. Overriding Method
Overriding method adalah suatu mekanisme pewarisan class di mana subclass mendefinisikan ulang satu atau lebih method (fungsi) yang ada di supper class. Dalam overriding ini subclass bisa mendefinisikan method (fungsi) yang di-override dengan fungsi yang baru sama sekali, atau menambahi method (fungsi) yang di-override yang sudah ada dengan fungsinal-fungsinal yang lain.

THREADS
 Property unik dari java adalah bahwa Java memberi suport adanya threads. Threads memperbolehkan kita melakukan banyak hal pada waktu yang bersamaan. Threads adalah komponen java yang memungkinkan kita untuk membuat program yang bersifat multitasking programming. Sebenarnya setiap program dalam java selalu menggunakan paling tidak satu thread
Kita bias membuat aplikasi dan class berjalan dalam threads yang terpisah dengan dua cara, yaitu :
·         Mengembangkan dari class Thread (extending class Thread)
·         Mengimplementasikan Runnable interface

Mengembangkan class Thread
Dengan menggunakan extends Thread, mekanisme Thread dapat diaplikasikan dengan membuat fungsi run ( )
Untuk melihat concurrency (multitasking) pada program tersebut tambahkan method sleep( ) untuk actual Thread (current Thread). Method sleep( ) hanya dapat dilakukan dengan menangkap sinyal
Method yang berhubungan dengan Thread
start( )
Mengaktifkan Thread Obyek Thread kemudian akan menjalankan method run( ).
stop( )
Menghentikan Thread yang sedang aktif.
sleep( int delta)
Menunda aktifitas Thread untuk delta millisecond.

Mengimplementasikan Runnable interface
Pada contoh di atas Thread digunakan dengan mengembangkan class Thread, yang mana berarti bahwa Subclass Thread hanya dapat mewarisi sifat-sifat dari Thread. Pengikatan Class ini dapat dihindari dengan menggunakan konsep interface. Dengan mengimplementasikan Runnable interface. Interface Runnable ini hanya berisi satu method yang harus diimplementasikan, yaitu run().
Konstruktor Thread adalah :
            Thread(Runnable ThreadObject)
Atau
            Thread(Runnable ThreadObject, String nama Thread)
ThreadObject pada contoh di atas adalah this, yang merupakan Obyek itu sendiri yang mengimplementasikan Runnable.
            Method is Active( ) akan memberikan nilai true jika Thread actual aktif, dan false jika tidak aktif.

 EXCEPTION (EKSEPSI) 
Eksepsi adalah mekanisme yang memungkinkan program untuk menangkap kondisi-kondisi tertentu yang membutuhkan penanganan khusus. Eksepsi dapat berupa kesalahan yang terjadi dalam program pada saat run time. Format eksepsi adalah :
Try {
          // blok program
          . . . . . .
} catch (EksepsiTipe1 e) {
          // blok program untuk EksepsiTipe1
          . . . . . .
} catch (EksepsiTipe2 e) {
          // blok program untuk EksepsiTipe2
          . . . . . .
} catch (EksepsiTipe3 e) {
          // blok program untuk EksepsiTipe3
          . . . . . .
} finally {
          // blok program
          . . . . . . }
try menyatakan bahwa dalam blok try dapat terjadi suatu ekspresi dan bila ekspresi terjadi, maka aktifkan program yang berada dalam kelompok (blok) catch sesuai dengan tipe ekspresinya.
Object dari tipe ekspresi dapat digunakan sebagai referensi penanganan eksepsi aktual.  
finally menyatakan bahwa apapun jenis tipe ekspresinya, maka program dalam blok ini harus tetap dijalankan.
Dengan menangkap eksepsi program tidak langsung berhenti dan melaporkan kesalahan tersebut, melainkan membelokkan dengan program pengaman tertentu.
Pada saat run time, jika java menemukan kesalahan dan melempar pesan ke program. Dengan pesan ini, program akan melakukan suatu aksi tertentu. Mekanisme melempar ini disebut juga sebagai throw, alur program akan dihentikan, kemudian program pengendali (exception handling) akan diaktifkan.

throw
Throw digunakan secara eksplisit untuk membuang sebuah eksepsi. Contoh berikutnya, TestThrow mendefinisikan Obyek Eksepsi “NullPointerException” pada sebuah variabel t.
Dengan instruksi throw, program Eksepsi untuk kemudian ditangkap oleh instruksi catch. Namun tentunya yang ditangkap harus sesuai degan tipe eksepsi yang dilemparkan. Dalam hal ini program
throws
Eksepsi selalu ditangkap dengan catch pada blok dimana eksepsi tersebut dilempar. Tanpa catch, program tidak akan dikompilasi. Program dibawah ini menghilangkan try dan catch pada subroutine demo( ), namun dengan menggunakan tambahan kata kunci throws Exception.


JAVA GRAPHICAL USER INTERFACE
Graphical User Interface
Graphical User Interface merupakan antar muka grafis yang memfasilitasi interaksi antara pengguna dengan program aplikasi.  Salah satu komponen dalam bahasa pemrograman Java untuk membangun GUI adalah Swing. Komponen ini didefinisikan di dalam paket javax.swing. Swing diturunkan dari Abstract Windowing Toolkit dalam paket java.awt. Hirarki dari komponen Swing adalah :
java.swing.Jcomponent à java.awt.Container  à  java.awt.Component à Java.Lang. Object
JComponent adalah superclass dari semua komponen Swing. Sebagian besar fungsionalitas komponen diturunkan dari superclass ini. Beberapa komponen utama dalam GUI adalah:
1.      Containers: merupakan wadah yang berfungsi untuk menempatkan komponen-komponen lain di dalamnya.
2.      Canvas.: merupakan komponen GUI yang berfungsi untuk menampilkan gambar atau untuk membuat program grafis. Dengan canvas, kita bisa menggambar berbagai bentuk seperti lingkaran, segitiga, dll.
3.      User Interface (UI) components: contohnya adalah buttons, list, simple popup menus, check boxes, text fields, dan elemen lain
Komponen pembentuk window: seperti frames, menu bars, windows, dan dialog boxes. 








Comments