Pokok Bahasan 1
Elemen Dasar JAVA
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.
- 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 ;
Tipe | Keterangan |
Short | short integer, bilangan bulat 16 bit |
Int | integer, bilangan bulat 32 bit |
Long | long integer, bilangan bulat 64 bit |
Byte | bilangan bulat 8 bit |
Float | bilangan real (pecahan) 32 bit |
double | bilangan real (pecahan) 64 bit |
Char | karakter 16 bit |
boolean | boolean value true atau false |
- 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};
- Array Multidimensi
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}
Pokok Bahasan 2
Operator, Control Flow dan String
- Aritmatika Operator
Java mempunyai operator aritmatika seperti + (penjumlahan), - (pengurangan),* (perkalian), / (pembagian) dan % (modulo). Operator – operator ini berlaku seperti dalam operasi aritmatika. Dalam Java juga dimungkinkan untuk penyederhanaan penulisan operator seperti yang terlihat di bawah ini;
Int a, b, c, d, e,
a = 15;b =10; //=80;d=100;e=20;
a+ = 5; //sama dengan a = a+5
b- =e; //sama dengan b = b-e
c* =b; //sama dengan c = c*b
d/ =4; //sama dengan d = d/4
e%=3; //sama dengan e = e % 3, hasilnya = 2
d++; //sama dengan d = d+1 (increment )
c-- ; //sama dengan c = c-1 (decrement)- Logika Operator
Ada tiga logika Operator dalam java yaitu:
&& Logika /nd
|| LogikaOr
| LogikaNot
Ketiga operator tersebut dioperasikan terhadap Boolean data tipe yang menghasilkan bolean data type juga (true atau false)
- Operator Relasional
Operator relasional digunakan untuk membandingkan dua nilai. Hasil dari perbandingan tersebut adalah data tipe Boolean (true atau false).
Operator | Keterangan |
> | Lebih Besar |
< | Lebih kecil |
>= | Lebih besar atau sama dengan |
<= | Lebih kecil atau sama dengan |
!= | Tidak sama dengan |
= = | Sama dengan |
Tipe variable di java seperti short, int, long, float, double, Boolean, dan character dapat dibandingkan satu dengan yang lainnya .
- Pernyataan IF
Pernyataan if adalah control flow yang paling sederhana Pernyataan ini mengevaluasi suatu ekspresi. Jika ekspresi benar (true) maka blok pernyataan akan dijalankan. Sebaliknya computer akan melompati blok pernyataan tersebut. Sintaks dari pernyataan if :
If (ekspresi)
Pernyataan;
- Pernyataan IF-ELSE
Pernyataan if-else mengevaluasi suatu ekspresi. Jika ekspresi benar (true) maka blok pernyataan dijalankan. Sebaliknya computer akan menjalankan blok pernyataan yang lain. Sintaks dari penyataan if-else:
If(ekspresi )
Pernyataan_1;
Else
Pernyataan_2;- Pernyataan Switch, Case, dan Break
Switch digunakan untuk percabangan (seleksi) lebih dari dua. Ini digunakan untuk menghindari pergunaan if-else yang berlapis-lapis.
- Pengulangan (Loop)
Pengulangan dengan while
Alur program blok while akan dilakukan berulang-berulang selama ekspresi benar (true)
Sintaks dari pengulangan while adalah sbb:
While (ekspresi)
Pernyataan;
Pengulangan dengan do-while
Pengulangan dengan while pemeriksaan ekspresi dilakukan sebelum pengulangan. Ada kalanya pengulangan pemeriksaan ekspresi dilakukan setelah pengulangan. Jadi minimal satu kali pengulangan dilakukan. Pengulangan ini menggunakan do-while, sintaksnya.
do
pernyataan;
while (ekspresi);
Pengulangan dengan for
Pengulangan dengan for menyerupai while, namun dilengkapi dengan inialisasi, test kondisidan update counter. Jadi sintaks pengulangan dengan for adalah :
for (inialisasi_counter ; test_kondisi ; update_counter) {
instruksi;
--------
};
Inialisasi_counter dilakukan sekali pada saat akan dilakukan pengulangan, test_kondisi diperiksa setiap kali sebelum pengulangan dilakukan, sedangkan update_counter dilakukan setiap kali selesai pengulangan.
Break, continue
Dalam pengulangan break digunakan untuk mematahkan (mengakhiri) pengulangan secara paksa. Sedangkan continue digunakan untuk melanjutkan pengulangan berikutnya secara paksa dengan mengabaikan perintah dibawah pernyataan continue.
Pokok Bahasan 3
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.
2. Konstruktor
1. Pendeklarasian class
Sintaks pendeklarasian class dalam java adalah
modifiers class NamaClass {
<class attribute list>
<class method list>
}
Modifier menentukan bagaimana class dapat ditangani pada fase development berikutnya. Ada tiga jenis modifier dalam class yaitu public, final, abstract dan friendly.
2. Konstruktor
Konstruktur adalah method dengan property yang unik dan untuk keperluan ini alisasi 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. Konstruktor tidak perlu return_type sebab konstruktur secara aktual dipanggil sebagai method. Konstruktur ini dipanggil pada saat kita memberikan perintah new.
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. Class yang mewarisi disebut subclass sedangkan calss yang diwarisi disebut super class. Pewarisan class dalam java menggunakan sintaks:
Modifier <NamaSubClass> extends <NamaSuperCalss> {
}
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. Contoh penggunaan dari this adalah sbb:
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 fungsional-fungsional yang lain. Contoh class yang menggunakan mekanisme overridingPokok Bahasan 4
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 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 .- Mengimplementasikan Runnable interface
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)
Pokok Bahasan 5
Ekspresi
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 e 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.
Pokok Bahasan 6
Java 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 .
- Komponen Dasar User Interface
- Top level containers: adalah container dasar untuk meletakkan komponen-komponen lain. Contohnya adalah JFrame, JDialog, dll.
- Intermediate level containers: merupakan container perantara. Umumnya digunakan hanya untuk meletakkan atau mengelompokkan komponen-komponen yang digunakan, baik itu container atau berupa atomic component. Contoh dari Intermediate level container adalah JPanel (panel).
- Atomic component: merupakan komponen yang memiliki fungsi khusus. Umumnya pengguna langsusng berinteraksi dengan komponen ini. Contohnya adalah JButton (tombol), JLabel (label), JTextField, JTextArea (area untuk menulis teks), dll.
- Layout Manager: Berfungsi untuk mengatur bagaiman tata letak/posisi dari komponen yang akan diletakkan, satu sama lain di dalam suatu container. Secara default ada 6 buah layout : BorderLayout, BoxLayout, FlowLayout, CardLayout, GridBagLayout & GridLayout
- Event Handling : Menangani event yang dilakukan oleh user seperti menekan tombol, memperbesar atau memperkecil ukuran frame, mengklik mouse, mengetik sesuatu dengan keyboard, dll.
- Layout Management
Untuk mengatur layout dari setiap komponen-komponen GUI yang diletakkan pada container, digunakan layout manager.Setiap pane secara default pasti memiliki layout manager. Jika ingin mengubah layout-nya, gunakan void setLayout(LayoutManager mgr) Java menyediakan 6 buah class standar yang dapat digunakan sebagai layout manager yang terdapat dalam package java.awt, yaitu FlowLayout , GridLayout , BorderLayout , CardLayout ,GridBagLayout , BoxLayout
- Flow Layout merupakan layout manager default yang digunakan JPanel. Layout manager ini meletakkan kompenen yg ada secara berurutan dari kiri ke kanan dan berpindah baris jika dibutuhkan. Jarak antar komponen baik secara vertikal maupun horizontal dapat ditentukan sendiri. Selain itu, kita bisa menentukan alignment dari komponen yang diletakkan, yaitu rata kanan, rata kiri atau di tengah
- GridLayout merupakan layout manager berbentuk grid. Semua komponen dalam layout ini memiliki ukuran yang sama. Konstruktor GridLayout adalah sebagai berikut.a. GridLayout(rows, columns, hGap, vGap). Konstruktor ini mendefinisikan jumlah baris, kolom, dan ukuran gap horisontal/vertikal antar elemen dalam pixel.b. GridLayout(rows, columns). Konstruktor yang digunakan dengan nilai default hGap dan vGap sama dengan 0.
- BorderLayout adalah default manager untuk ContentPane. Layout ini menempatkan komponen dengan pendekatan arah mata angin north, south, west, center, east.
- Cardlayout digunakan untuk menampilkan container-container/panel-panel seperti tumpukan kartu. Hanya satu container yang akan tampil untuk satu waktu. komponen yang diletakkan dengan layout ini berupa object yang bertipe intermediate container yang di dalamnya terdapat atomic component.Salah satu contoh intermediate container adalah tabbed pane (JTabbedPane)
- GridBaglayout adalah pengaturan layout yang dapat digunakan untuk meletakkan komponen secara bebas. Setiap komponen dapat menempati ukuran yang berbeda dengan komnponen lainnya.
- Boxlayout digunakan untuk meletakkan komponen berurutan ke kanan (sumbu X) atau berurutan ke bawah (sumbu Y).Penggunaan BoxLayout menggunkan class Box dimana merupakan container yang secara internal telah menggunakan BoxLayout sebagai layout manager-nya.
Comments
Post a Comment