A. 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:
Tipe | Keterangan |
Short | short integer, bilanganbulat 16 bit |
Int | integer, bilanganbulat 32 bit |
Long | long integer, bilanganbulat 64 bit |
Byte | bilanganbulat 8 bit |
Float | bilangan real (pecahan) 32 bit |
Double | bilangan real (pecahan) 64 bit |
Char | karakter 16 bit |
boolean | boolean value true atau false |
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.
Long
Tipe variable long adalah bilangan bulat 64 bit dengan jangkauan nilai dari -263sampai dengan 263-1.
Byte
Type variable byte adalahbilanganbulat 8 bit yang mempunyai jangkauan nilai dari 27sampai dengan 27-1 ataudari -128 sampai dengan +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’;
Ch ar 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
B. Konsep Dasar Array
Array adalah sekumpulan data yang sama tipenya. Isi array dapat diakses melalui index yang dimulai dari 0 sampai dengan jumlah_elemen_array-i.
Tipe_variabel nama_array[];
Contoh
IntMyArr[];
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 caras bb:
IntMyArr[] = {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 duadimensi
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}
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 dalan Java,
yaitu :
1. Aritmatika Operator
Java
mempunyai operator aritmatika seperti + (penjumlahan), - (pengurangan),
*(perkalian), / (pembagian) dan % (modulus). Operator – operator ini beraku
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)
2. Logika Operator
Ada tiga logika Operator dalam java yaitu :
&&
Logika /and
||
Logika Or
|
Logika Not
Ketiga operator tersebut
dioperasikan terhadap Boolean data tipe yang menghasilkan Boolean data type
juga (true atau false).
3. Bit per bit operator
Variable bertipe long, int, short, byte dan char
dapat mempunyai operator yang dioperasikan langsung kesusunan binernya (bit
atau bit). Table 2.1 Tabel bit per bit Operator
Operator |
Nama |
Keterangan |
~ |
NOT |
Mengubah 0 menjadi 1 dan
1 menjadi 0 |
& |
AND |
1 & 1 = 1 selain itu
hasilnya selalu 0 |
| |
OR |
0|0 = 0 selain itu
hasilnya selalu 1 |
^ |
XOR |
0^0 = 0, 1^1 = 0 selain
itu hasilnya 1 |
>> |
SHIFT RIGHT |
Dorong 1 bit ke kanan termasuk tanda minus |
>>> |
SHIFT RIGHT |
Dorong 1 bit ke kanan kiri bit palin kiri dengan 0 |
<< |
SHIFT LEFT |
Dorong 1 bit ke kiri |
Seperti halnya aritmatika operator,
Bit per bit operator juga bias dilakukan penyederhanaan penulisannya.
4. Relasional
Operator relasional digunakan untuk
membandingkan dua nilai. Hasil dari perbandingan tersebut adalah data tipe
Boolean (true atau false).
Table 2.2 Tabel
Oprator Relasional
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.
Contoh :
Char c = ‘*’;
Int I =
0x2a; Boolean b; b = c = = i;
POKOK BAHASAN 3
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
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.
· Public
Dengan menempatkan public didepan pendeklarasian class, mempunyai arti bahwa class didefinisikan untuk public. Ini berarti class tersebut dapat dipakai atau dikembangkan (extend) oleh sembarang object.
· Final
Dengan menempatkan final didepan pendeklarasian class m
enandakan bahwa class tersebut tidak bisa memiliki subclass (turunan). Dengan kata lain class tersebut tidak bisa dikembangkan.
· Abstract
Dengan menempatkan class didepan pendeklarasian class, menandakan bahwa kita tidak bisa menciptakan obyek dari class tersebut. Class tersebut harus dipakai sebagai super class dari class lain. Dalam abstract class paling tidak ada satu method yang belum komplit.
· Friendly
Secara default modifiers class adalah friendly ,artinya class tersebut tersebut boleh dikembangkan atau dipakei oleh class lain dalam satu paket (package). jika kita tidak memberikan modifiers didepan pendefinisian class maka class bersifat friendly.
<class attribute list>adalah daftar semua atribute (variable )dari class ,sedangkan <class method list>adalah daftar semua method (fungsi\operasi)yang bisa dilakukan oleh class tersebut.
Sintaks pendefinsian class attribute :
modifiers data_type nama attribute ;
Sintaks penderfinsian class method :
modifers return_type nama method (<parameters list>)
Akses modifiers dalam class attriubute maupun class method menentukan bagaimana aksesbilitas attribute dan method dari class lain. Ada beberapa akes modifier yaitu:
· Friendly
Secara default akses modifiers adalah friendly , yang berarti bahwa attribute |mothode bisa diakses oleh class lain dalam satu paket (package ).
· Public
Akses modifiers public membuat attribute\metbute tersebut dapat diakses oleh pihak luar manapun.
· Private
Akses modifiers private membuat attribute\method hanya dapat diakses oleh class itu sendiri .
· Protected
Akses modifiers protected membuat attribute\method hanya dapat diakses oleh class itu sendiri dan class turunanya (subclass nya ).
· Final
akses modifiers final membuat attribute tersebut tidak boleh diubah pada saat eksekusi . sebab attribute ini tidak boleh diubah maka harus diberi nilai pada saat pedeklarasian misal final int SIZE 5;
· Static
Akses modifiers static mebuat attribute tersebut mempunyai nilai sama untuk semua obyek dari class tersebut.
POKOK BAHASAN 4
1. 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 interrupt dengan mekanisme try & cacth.
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.
Contoh selanjutnya adalah mendemonstrasikan animasi yang dilakukan dengan menjalankan Thread. Tugas Thread adalah melakukan repaint( ) pada obyek. Setelah repaint( ) dilakukan, Thread beristirahat untuk beberapa detik dan untuk kemudian melakukan repaint( ) kembali. Obyek Thread kemudian akan menjalankan method run( ).
Kemudian class TThread digunakan oleh class animasi di bawah ini. Class animasi merupakan pengembangan (extend) dari class Applet. Class Applet digunakan untuk class-class yang digunakan dalam aplikasi applet (untuk ditampilkan dalam html file)
Setelah kita compile kedua class tersebut, yaitu class TThread dan class Animasi, kita dapat membungkusnya ke dalam file html. Selanjutnya kita dapat mengeksplore file tersebut dengan internet browser.
2. 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.
POKOK BAHASAN 5
Exception
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 main menangkap sinyal tersebut dan instruksi program diteruskan pada blok program disitu.
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
1. 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. 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 didalamnya.
2. Canvas : merupakan komponen GUI yang berfungsi untuk menampilkan gambar atau untuk membuat progarm 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.
4. Komponen pembentuk window : seperti frames, menu bars,windows,dan dialog boxes
Komponen-komponen Dasar User Interface dengan Swing
Berikut adalah beberapa komponen dasar antarmuka pengguna (user interface) yang disediakan oleh Swing :
1. Top level containers: adalah container dasar untuk meletakkan komponen-komponen lain. Contohnya adalah JFrame,Jdialog,dll
2. Intermediate level containers : merupakan kontainer perantara. Umumnya digunakan hanya untuk meletakkan atau mengelompokkan komponen-komponen yang digunakan, baik itu containeratau berupa atomic component. Contoh dari Intermediate level container adalah Jpanel (panel).
3. Atomic component : merupakan komponen yang memiliki fungsi khusus. Umumnya pengguna langsung berinteraksi dengan komponen ini. Contohnya JButton (tombol),JLabel (label),JtextField,JtextArea (area untuk menulis teks),dll
4. Layout Manager Berfungsi untuk mengatur bagaimana tata letak/posisi dari komponen yang akan diletakkan, satu sama lain didalam suatu container. Secara default ada 6 buah layout : BorderLayout,BoxLayout,CardLayout,GridBagLayout & GridLayout.
5. Event Handling : Menangani event yang dilakukan oleh user seperti menekan tombol,memperbesar atau memperkecil ukuran frame,mengklik mouse,mengetik sesuatu dengan keyboard,dll
Konstruktor untuk membentuk JFrame adalah JFrame() atau JFrame (String Nama Frame). Salah satu method yang sering digunakan dikelas JFrame adalah setDefaultCloseOperation (int ops).
Method ini berfungsi untuk mengatur apa yang akan dikakukan oleh program ketika tombol close di klik. Parameter method tersebut diantaranya adalah:
1. JFrame.DO_NOTHING_ON_CLOSE : tidak ada satu aktivitas pun yang dilakukan secara otomatis apabila frame ditutup.
2. JFrame.HIDE_ON_CLOSE : frame hanya di sembunyikan, namun secara fisik frame masih ada dimemori sehingga dapat dimunculkan kembali. Merupakan aktivitas default.
3. JFrame.DISPOSE_ON_CLOSE : menghilangkan tampilan frame dari layar, menghilangkannya dari memori,dan membebaskan resource yang dipakai.
4. JFrame.EXIT_ON_CLOSE : menghentikan eksekusi program.
Top level container yang lain adalah JDialog. Berbeda dengan JFrame, JDialog tidak dibuat berdiri sendiri, melainkan dibuat bersama-sama dengan frame sebagai parent-nya. Jika frame parent-nya ditutup, maka dialog akan dihapus dari memori. Kemunculan dialog akan membuat semua input terhadap frame parent-nya akan terblokir sampai dialog tersebut ditutup.
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(LayoutManeger 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.
1. Flow Layout merupakan layout manager default yang digunakan JPanel. Layout manager ini meletakkan komponen yang ada secara berurutan dari kiri ke kanan dan berpindah baris jika dbutuhkan. 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.
2. GridLayout Merupakan Layout Manager berbentuk grid. Semua komponen dalam layout ini memiliki ukuran yang sama. Konstruktor GridLayout sebagai berikut :
a. GridLayout(rows,columns,hGap,vGap) Konstruktor ini mendefinisikan jumlah baris,kolom,dan ukuran gap horizontal/vertikal antar elemen dalam pixel.
b. GridLoyout(rows,columns). Konstruktor yang digunakan dengan nilai default hGap dan vGap sama dengan 0.
3. BorderLayout adalah default manager untuk ContentPane. Layout ini menempatkan komponen dengan pendekatan arah mata angin north, south, west, center, east
4. 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 adalah tabbed pane (JTabbedPane).
5. GridBaglayout
Grid bag layout adalah pengaturan layout yang dapat digunakan untuk meletakkan komponen secara bebas. Setiap komponen dapat menepati ukuran yang berbeda dengan komponen lainnya.
6. Boxlayout digunakan untuk meletakkan komponen berurutan ke kanan (sumbu X) atau berurutan ke bawah (sumbu Y). Penggunaan BoxLayout menggunakan class Box dimana merupakan container yang secara internal telah menggunakan BoxLayout sebagai layout manager-nya.
fst.umsida.ac.id
umsida.ac.id
Komentar
Posting Komentar