Berikut ini adalah hal hal yang harus kita perhatikan berkaitan dengan pembuatan konstruktor:
1.Konstruktor harus menggunakan nama yang sama dengan class.termasuk huruf besar dan kecilnya.
2.Dalam satu class bisa terdapat lebih dari satu konstruktor.
3.konstruktor akan dieksekusi setiap kli ada pembuatan objek.
4.Setiap class harus mempunyai paling tidak sebuah konstruktor.
5.Jika sudah mendeklarasikan konstruktor, maka konstruktor default tidak akan dibuat oleh kompiler Java.
Sebuah class memiliki beberapa konstruktor.Konstruktor yang dibuat lebih dari satu dibunakan untuk keperluan berikut:
1.Menentukan nilaiInstance variabel yang berbeda. Jadi, pada setiap konstruktor diinisialisasi variabel yang berbeda.
2.Melakukan tugas awal dengan menjalankan metode tertentu,seperti untuk melakukan penghitungan. Jadi, selama konstruktor dijalankan,akan dilakukan penghitungan.
Contoh deklarasi konstruktor
identifier_class([tipe identifier,tipe identifier,...]){
// inisialisasi variabel
// perhitungan awal
Pada contoh ini akan dibuat empat buah konstruktor yang berfungsi untuk membuat objek dengan tipe lingkaran.Class lingkaran diidentifikasi dengan kode berikut:
public class Lingkaran{
Float x,y,jari;
// konstruktor diletakan disini
}
Dibawah ini adalah contoh konstruktor yang dapat didefinisikan untuk class Lingkaran diatas.
1. Lingkaran dibuat dengan nilai default, jari jarinya = 1 dan berada di koordinat (0,0)
public Lingkaran (){
this jari = 1;
this x = 0;
this y = 0;
}
2. Konstruktor digunakan untuk membuat lingkaran dengan jari jari dan posisi yang kita tentukan sendiri.
public Lingkaran(float jari,float X,float y) {
this.jari=jari;
this.x=x;
this.y=y;
3. konstruktor digunakan untuk membuat lingkaran dengan jari jari default = 1, dengan posisi yang kita tentukan sendiri
public lingkaran(float x, float y){
this.jari=1;
this.x=x;
this.y=y;
}
4.Konstruktor digunakan ntuk membuat lingkaran dengan posisi default,yaitu di koordinat (0,0), namun jari jarinya kita tentukan sendiri.
public Lingkaran(float jari){
this.jari=jari;
this.x=x;
this.y=y;
}
dengan satu nama konstruktor, dapat dibuat objek lingkaran dengan jari jari dan posisi yang berbeda.
Implementasi Program,Struktur Data String, Array Record, Linked list, Tree, Stack, Graph, Sorting, Queues, Searching, Rekursi, Algoritma dalam berbagai bahasa pemograman.
Tuesday, June 22, 2010
Monday, June 14, 2010
Tipe Data Primitif Dalam Java
Semua nilai yang ada didalam program Java adalah referensi terhadap objek.
Tipe data primitif adalah tipe data yang mempunyai nilai tertentu,bukan referensi Class ataupun objek. Berdasarkan tipe datanya data primitif dapat dikelompokan menjadi empat :
1. Tipe data Integer atau bilangan bulat meliputi : byte, short,int,long
2. Tipe data float atau bilangan nyata meliputi : float dan double
3. Tipe data char atau karakter yaitu : char
4. Tipe data Boolean : boolean
berikut adalah besar nilai dari yang dapat diterapkan pada masing masing tipe data primitif:
Tipe data= byte Besar storage= 8 bit(1byte) Nilai minimal= -128 Nilai maksimal= 127
Tipe data= short Besar storage= 16 bit(2byte) Nilai minimal= -32768 Nilai maksimal= 32767
Tipe data= int Besar storage= 32 bit(4byte) Nilai minimal= -2147483648 Nilai maksimal= 2147483647
Tipe data= long Besar storage= 64 bit(8byte) Nilai minimal=-9223372036854775808 Nilai maksimal= 9223372036854775807
Tipe data= float Besar storage= 32 bit(4byte) Nilai minimal= +/-3.4E-38 Nilai maksimal= +/-3.4E+38
Tipe data= double Besar storage= 64 bit(8byte) Nilai minimal= +/-1.7E-308 Nilai maksimal= +/-1.7E+308
Tipe data= char Besar storage= 16 bit(2byte) Nilai minimal= \u0000 Nilai maksimal= \uFFFF
Tipe data= boolean Besar storage= 1 bit Nilai maksimal= True atau False
Tipe data Boolean
Digunakan untuk menentukan suatu kondisi apakar suatu pernyataan True (benar) atau False(salah).Nilai boolean sering digunakan untuk mengatur alur program, terutama dalam perulangan dan percabangan.
contoh:
boolean isLulus = True; // sudah lulus
boolean isCumlaude = False; // tidak Cumlaud
Tipe data Char
Tipe data karakter dalam bahasa pemograman Java mempunyai ukuran 16 bit atau setara dengan 2 pangkat 16 = 65.536 kode. 256 adalah kode pertama dalam tipe data char digunakan oleh karakter ASCII.
Karakter ASCII merupakan karakter yang banyak digunakan dalam bahasa inggris.
Tipe data karakter harus didefinisikan menggunakan tanda petik satu (') missalnya:
char bs='B'
Dalam char terdapat escape karaker yang digunakan untuk menampilkan karakter khusus, seperti tab atau pergantian baris:
\b keterangannya = Backspace
\t keterangannya = Tab
\n keterangannya = Linefeed
\f keterangannya = Formfeed
\r keterangannya = Carriage Return
\\ keterangannya = Backslash
\' keterangannya = Single Quoute
\" keterangannya = Double Quoute
\ddd keterangannya = Oktal, misal '\123' setara dengan huruf S
\udddd keterangannya = Karakter unicod, misal '\u1234' setara dengan tanda tanya ?
Berikut kode untuk menampilakan tulisan: Aku ingin " Hidup bahagia selamanya!"
pada comand promt.
System.out.println("Aku ingin\"Hidup bahagia!\"");
Tipe data Integer
Integer adalah tipe data yang merupakan bilangan bulat.
Dalam bahasa java terdapat empat buah integer.Semuanya dapat bernilai negatif maupun positif yaitu ; byte,short,long,dan int.
Perbedaan dari keempatnya hanyalah dari pada ukurannya saja.
Semakin besar ukuran tipe data integer tersebut maka akan semakin besar nilai yang dapat ditampung.
contoh bit z = 1;
Tipe data Floating point
Tipe data ini merupakan bilangan rasional.Dalam bahasa pemograman terdapat dua tipe yaitu Float dan double. perbedaan keduanya terletak pada ukurannya yaitu 32bit dan 64 bit.
Penulisan bilangan floating point menggunakan tanda titik sebagai tanda desimal atau bisa juga menggunakan tanda eksponensial e atau E.
contoh:
double a = 12.34; // 12,34
double b = .01; // 0,01
double c = 1e-6 // 1* 10^-6 atau 0,000006
double d =5200000D // 5,2*10^6
Demikianlah uraian mengenai tipe data..
semoga dapat membantu menambah wawasan anda tentang tipe data dalam bahasa Java.
Tipe data primitif adalah tipe data yang mempunyai nilai tertentu,bukan referensi Class ataupun objek. Berdasarkan tipe datanya data primitif dapat dikelompokan menjadi empat :
1. Tipe data Integer atau bilangan bulat meliputi : byte, short,int,long
2. Tipe data float atau bilangan nyata meliputi : float dan double
3. Tipe data char atau karakter yaitu : char
4. Tipe data Boolean : boolean
berikut adalah besar nilai dari yang dapat diterapkan pada masing masing tipe data primitif:
Tipe data= byte Besar storage= 8 bit(1byte) Nilai minimal= -128 Nilai maksimal= 127
Tipe data= short Besar storage= 16 bit(2byte) Nilai minimal= -32768 Nilai maksimal= 32767
Tipe data= int Besar storage= 32 bit(4byte) Nilai minimal= -2147483648 Nilai maksimal= 2147483647
Tipe data= long Besar storage= 64 bit(8byte) Nilai minimal=-9223372036854775808 Nilai maksimal= 9223372036854775807
Tipe data= float Besar storage= 32 bit(4byte) Nilai minimal= +/-3.4E-38 Nilai maksimal= +/-3.4E+38
Tipe data= double Besar storage= 64 bit(8byte) Nilai minimal= +/-1.7E-308 Nilai maksimal= +/-1.7E+308
Tipe data= char Besar storage= 16 bit(2byte) Nilai minimal= \u0000 Nilai maksimal= \uFFFF
Tipe data= boolean Besar storage= 1 bit Nilai maksimal= True atau False
Tipe data Boolean
Digunakan untuk menentukan suatu kondisi apakar suatu pernyataan True (benar) atau False(salah).Nilai boolean sering digunakan untuk mengatur alur program, terutama dalam perulangan dan percabangan.
contoh:
boolean isLulus = True; // sudah lulus
boolean isCumlaude = False; // tidak Cumlaud
Tipe data Char
Tipe data karakter dalam bahasa pemograman Java mempunyai ukuran 16 bit atau setara dengan 2 pangkat 16 = 65.536 kode. 256 adalah kode pertama dalam tipe data char digunakan oleh karakter ASCII.
Karakter ASCII merupakan karakter yang banyak digunakan dalam bahasa inggris.
Tipe data karakter harus didefinisikan menggunakan tanda petik satu (') missalnya:
char bs='B'
Dalam char terdapat escape karaker yang digunakan untuk menampilkan karakter khusus, seperti tab atau pergantian baris:
\b keterangannya = Backspace
\t keterangannya = Tab
\n keterangannya = Linefeed
\f keterangannya = Formfeed
\r keterangannya = Carriage Return
\\ keterangannya = Backslash
\' keterangannya = Single Quoute
\" keterangannya = Double Quoute
\ddd keterangannya = Oktal, misal '\123' setara dengan huruf S
\udddd keterangannya = Karakter unicod, misal '\u1234' setara dengan tanda tanya ?
Berikut kode untuk menampilakan tulisan: Aku ingin " Hidup bahagia selamanya!"
pada comand promt.
System.out.println("Aku ingin\"Hidup bahagia!\"");
Tipe data Integer
Integer adalah tipe data yang merupakan bilangan bulat.
Dalam bahasa java terdapat empat buah integer.Semuanya dapat bernilai negatif maupun positif yaitu ; byte,short,long,dan int.
Perbedaan dari keempatnya hanyalah dari pada ukurannya saja.
Semakin besar ukuran tipe data integer tersebut maka akan semakin besar nilai yang dapat ditampung.
contoh bit z = 1;
Tipe data Floating point
Tipe data ini merupakan bilangan rasional.Dalam bahasa pemograman terdapat dua tipe yaitu Float dan double. perbedaan keduanya terletak pada ukurannya yaitu 32bit dan 64 bit.
Penulisan bilangan floating point menggunakan tanda titik sebagai tanda desimal atau bisa juga menggunakan tanda eksponensial e atau E.
contoh:
double a = 12.34; // 12,34
double b = .01; // 0,01
double c = 1e-6 // 1* 10^-6 atau 0,000006
double d =5200000D // 5,2*10^6
Demikianlah uraian mengenai tipe data..
semoga dapat membantu menambah wawasan anda tentang tipe data dalam bahasa Java.
Saturday, June 12, 2010
Inisiasi dan Deklarasi dalam Java
Ketika perintah deklarasi variabel dilaksanakan, komputer akan menyiapkan memori untuk digunakan oleh variabel ini. Memori ini harus diinisialisasi,yaitu diberi suatu nilai awal sebelum bisa digunakan dalam perintah berikutnya. Pada variabel lokal, pernyataan deklarasi sering diikuti oleh perintah pemberi nilai awal. Misalnya,
int i; // Deklarasi variabel yang bernama i
i = 0; // Beri nilai awal
Kita bisa juga melakukan deklarasi sekaligus inisialisasi variabel tersebut. Kedua pernyataan di atas bisa kita gabung menjadi
int i = 0; // Deklarasi variabel i sekaligus memberi nilai awal 0
Komputer akan tetap melakukan perintah di atas dalam dua langkah: deklarasi variabel, kemudian mengisi nilai awal 0. Nilai awal tidak harus berupa suatu bilangan, tetapi bisa juga berupa ekspresi yang menghasilkan suatu nilai. Dan juga kita boleh melakukan inisialisasi beberapa variabel sekaligus dalam 1 baris. Misalnya:
int x = 0, y = 1;
int awal, akhir = 'A' // Ok, tapi hanya akhir yang akan diinisialisasi
int N = 3, M = N+2; // Ok, karena N sudah diberi nilai awal sebelum digunakan oleh
Fitur ini biasa ditemui pada perulangan for, karena pernyataan 1 baris ini bisa dimasukkan sebagai variabel kontrol di awal pernyataan for. Karena variabel kontrol biasanya tidak berhubungan dengan bagian program di luar perulangan, maka akan lebih praktis jika deklarasi variabel kontrol itu dilakukan di awal perulangan.Contoh:
for ( int i = 0; i < 10; i++ ) {
System.out.println(i);
}
Tanda kurung { dan } di awal dan akhir untuk mempertegas bahwa i hanya bersifat lokal di dalam perulangan yang tidak bisa diakses lagi setelah perulangan selesai.
{
int i;
for ( i = 0; i < 10; i++ ) {
System.out.println(i);
}
}
Variabel anggota juga bisa diinisialisasi di mana dia dideklarasikan.Contoh:
public class Bank {
static double sukuBunga = 0.1; // sama dengan 10%
static long maxPenarikan = 3000000;
.
. // Perintah dan variabel lain
.
}
Variabel anggota statik akan dibuat pada saat kelas mulai dimasukkan memori oleh interpreter Java, inisialisinya pun dilaksanakan pada saat itu. Pada variabel anggota, deklarasi dan inisialisasi ini bukan hanya sekedar singkatan dari 2 perintah seperti pada variabel lokal. Pernyataan deklarasi adalah pernyataan yang bisa dibuat di luar subrutin, sedangkan inisialisasi tidak bisa dilakukan di luar subrutin.
Contoh di bawah tidak diperbolehkan dalam Java.
public class Bank {
static double sukuBunga;
sukuBunga = 0.1; // ILEGAL, perintah ini harus ada di dalam subrutin
}
Karenanya, deklarasi variabel anggota biasanya juga dirangkai dengan inisialisasi nilai awalnya. Jika tidak ada nilai awal yang diberikan, maka nilai awal bawaan akan digunakan.
Misalnya "static int i;" setara dengan "static int i = 0;".
Konstanta dan Sifat "final"
Kadang-kadang dalam kondisi tertentu, kita ingin nilai suatu variabel tidak boleh berubah setelah diberi nilai awal. Misalnya, D diinisialisasi dengan nilai 3.14159, maka nilai ini akan bisa diubah oleh bagian lain dalam program. Di sini mungkin sang programmer ingin mendefinisikan suatu konstanta yang diberi nama "D" sebagai pengganti dari bilangan 3.14159.
Dengan cara ini, program akan lebih mudah dimengerti apabila program tersebut ditulis dalam "keliling = D*diamater;" daripada "pokok = 3.14159*diameter;".
Dalam java, sifat "final" bisa digunakan pada deklarasi variabel untuk membuat nilai suatu variabel tidak bisa diubah setelah diinisialisasi. Misalnya
final static double D = 3.14159;
Apabila kita mencoba mengganti isi variabel tersebut, misalnya di tengah program dengan perintah "D = 20;" komputer akan menampilkan pesan kesalahan sintaks pada saat kompilasi.
Sifat "final" boleh diberikan pada variabel lokal dan bahkan pada parameter formal, akan tetapi paling berguna apabila diberikan pada variabel anggota. Variabel anggota statik yang dideklarasikan dengan sifat "final" juga disebut sebagai konstanta yang diberi nama.
Program akan jauh lebih mudah dibaca dengan menggunakan konstanta bernama ini jika diberikan pada sesuatu angka penting yang digunakan dalam program. Gaya penulisan yang dianjurkan untuk konstanta bernama ini adalah dengan menggunakan huruf besar dengan baris bawah (jika diperlukan).Contohnya:
final static double PI = 3.14159;
Gaya penulisan seperti ini juga digunakan oleh kelas standar Java, yang di dalamnya terdapat banyak sekali konstanta bernama. Misalnya, konstanta D sudah didefinisikan Java dalam kelas Math, yaitu Math.D, sehingga kita tidak perlu mendefinisikannya sendiri.
Contoh lain adalah memberikan nama untuk gaya huruf, seperti Font.PLAIN, Font.BOLD dan Font.ITALIC. Konstanta ini digunakan untuk menandai gaya huruf untuk digunakan oleh subrutin lain dalam kelas Font.
Salah satu alasan untuk menggunakan konstanta bernama adalah supaya kita bisa mengubah isinya dengan cepat apabila di kemudian hari kita ingin memiliki nilai konstanta yang berbeda. Apabila nilai ini diubah, maka kita harus mengkompilasi ulang program kita, karena nilai ini tidak bisa diubah ketika program dieksekusi.
Misalnya kita definisikan suku Bunga pada contoh di atas sebagai konstanta bernama, yaitu
static final double SUKU_BUNGA = 0.1;
Suatu saat misalnya 2 tahun kemudian, bank tersebut ingin mengubah suku bunganya menjadi 5% atau 0.05. Kita bisa mengubah nilainya hanya di satu tempat yaitu di mana deklarasi SUKU_BUNGA berada. Kita tidak perlu mencari semua nilai 0.1 di dalam program untuk menggantinya satu per satu. Selain repot, mungkin membingungkan karena 0.1 bisa digunakan untuk nilai lainnya, bukan hanya nilai suku bunga.
Aturan Penamaan dan Jangkauan (scope)
Ketika deklarasi variabel dieksekusi, komputer akan menyediakan tempat di memori untuk variabel tersebut. Nama variabel dapat digunakan oleh kode program untuk mengacu pada alamat di mana data tersebut disimpan di dalam memori. Bagian di dalam kode sumber (yaitu program Java yang kita tulis, masih dalam bentuk yang dimengerti manusia sebelum dikompilasi menjadi bahasa mesin) di mana variabel tersebut valid dan bisa digunakan disebut jangkauan variabel. Bukan hanya variabel yang memiliki jangkauan, tetapi juga nama subrutin dan nama parameter formal.
Untuk subrutin statik, jangkauannya lebih mudah dipahami. Jangkauan subrutin statik adalah kelas di mana ia didefinisikan. Kita bisa juga memanggil subrutin itu dari dalam kelas dirinya sendiri. Dalam pemrograman tingkat lanjut, teknik ini disebut rekursi (recursion), yaitu subrutin yang memanggil dirinya sendiri.
Untuk variabel anggota suatu kelas, aturannya sama, tetapi dengan sedikit pengecualian. Kita boleh memiliki variabel lokal atau parameter formal yang namanya sama dengan variabel anggota static. Jika ini terjadi, maka variabel anggota akan disembunyikan oleh Java. Dalam contoh berikut :
public class Game {
static int hitung; // variabel anggota
static void mainGame() {
int hitung; // variabel lokal
.
. // Perintah untuk main game
.
}
.
. // Variabel dan subrutin lain
.
} // akhir kelas Game
Kita lihat bahwa dalam subrutin mainGame(), "hitung" mengacu pada dua hal yaitu variabel lokal dan variabel anggota statik. Di luar kelas Game, "hitung" hanya mengacu pada variabel anggota statik. Dalam situasi seperti ini, di dalam subrutin mainGame() maka "hitung" sebagai variabel anggota akan disembunyikan oleh Java. Untuk menggunakan variabel anggota ini, kita bisa menggunakan nama lengkapnya yaitu Game.hitung. Akan tetapi trik ini tidak bisa digunakan untuk variabel anggota yang tidak statik.
Jangkauan parameter formal di dalam suatu subrutin berada di dalam blok di mana ia dideklarasikan. Sehingga pada "for (int i=0; i<10; i++)" variabel i hanya bisa di lihat di dalam blok perulangan for, tetapi tidak valid di luar perulangan ini meskipun pada subrutin yang sama.
Akan tetapi kita tidak boleh mendeklarasikan parameter formal dengan nama yang sama dengan variabel lokal yang berlaku di sana.Contohnya:
void subrutinJelek(int y) {
int x;
while (y > 0) {
int x; // ERROR: x sudah didefinisikan sebelumnya
.
.
.
}
}
Dalam bahasa pemrograman lain, pernyataan di atas masih dibolehkan, yaitu dengan menyembunyikan x pada deklarasi sebelumnya. Akan tetapi pada Java, segera setelah blok yang memuat suatu variabel selesai, namanya bisa dipergunakan kembali.Contohnya:
void subrutinBagus(int y) {
while (y > 10) {
int x;
.
.
.
// Jangkauan x berakhir di sini
}
while (y > 0) {
int x; // OK: Deklarasi x sebelumnya sudah kadaluarsa
.
.
.
}
}
Ada beberapa hal lain yang menarik di Java. Nama subrutin dan variabel boleh sama, karena komputer akan selalu dapat membedakan mana subrutin atau variabel dengan melihat tanda buka kurung '(' setelah namanya. Variabel tidak pernah menggunakan tanda kurung setelah namanya. Sehingga suatu kelas boleh memiliki variabel anggota yang bernama "hitung" dan subrutin yang bernama "hitung()".
Lebih jauh lagi, nama suatu kelas boleh menggunakan nama subrutin atau variabel yang sudah ada. Komputer bisa melihat apakah suatu nama berupa kelas, variabel atau subrutin. Kelas adalah juga tipe data, sehingga suatu kelas bisa digunakan untuk mendeklarasikan variabel dengan tipe kelas tersebut, atau membuat subrutin yang keluarannya bertipe kelas tersebut.
Atau sebagai contoh, perintah berikut bisa diterima oleh program Java :
static Test Test(Test Test) {
.
.
.
}
Test pertama adalah tipe keluaran suatu fungsi. Test kedua adalah nama subrutin. Yang ketiga adalah tipe data parameter, dan keempat adalah nama parameter normal.
Selamat belajar.
int i; // Deklarasi variabel yang bernama i
i = 0; // Beri nilai awal
Kita bisa juga melakukan deklarasi sekaligus inisialisasi variabel tersebut. Kedua pernyataan di atas bisa kita gabung menjadi
int i = 0; // Deklarasi variabel i sekaligus memberi nilai awal 0
Komputer akan tetap melakukan perintah di atas dalam dua langkah: deklarasi variabel, kemudian mengisi nilai awal 0. Nilai awal tidak harus berupa suatu bilangan, tetapi bisa juga berupa ekspresi yang menghasilkan suatu nilai. Dan juga kita boleh melakukan inisialisasi beberapa variabel sekaligus dalam 1 baris. Misalnya:
int x = 0, y = 1;
int awal, akhir = 'A' // Ok, tapi hanya akhir yang akan diinisialisasi
int N = 3, M = N+2; // Ok, karena N sudah diberi nilai awal sebelum digunakan oleh
Fitur ini biasa ditemui pada perulangan for, karena pernyataan 1 baris ini bisa dimasukkan sebagai variabel kontrol di awal pernyataan for. Karena variabel kontrol biasanya tidak berhubungan dengan bagian program di luar perulangan, maka akan lebih praktis jika deklarasi variabel kontrol itu dilakukan di awal perulangan.Contoh:
for ( int i = 0; i < 10; i++ ) {
System.out.println(i);
}
Tanda kurung { dan } di awal dan akhir untuk mempertegas bahwa i hanya bersifat lokal di dalam perulangan yang tidak bisa diakses lagi setelah perulangan selesai.
{
int i;
for ( i = 0; i < 10; i++ ) {
System.out.println(i);
}
}
Variabel anggota juga bisa diinisialisasi di mana dia dideklarasikan.Contoh:
public class Bank {
static double sukuBunga = 0.1; // sama dengan 10%
static long maxPenarikan = 3000000;
.
. // Perintah dan variabel lain
.
}
Variabel anggota statik akan dibuat pada saat kelas mulai dimasukkan memori oleh interpreter Java, inisialisinya pun dilaksanakan pada saat itu. Pada variabel anggota, deklarasi dan inisialisasi ini bukan hanya sekedar singkatan dari 2 perintah seperti pada variabel lokal. Pernyataan deklarasi adalah pernyataan yang bisa dibuat di luar subrutin, sedangkan inisialisasi tidak bisa dilakukan di luar subrutin.
Contoh di bawah tidak diperbolehkan dalam Java.
public class Bank {
static double sukuBunga;
sukuBunga = 0.1; // ILEGAL, perintah ini harus ada di dalam subrutin
}
Karenanya, deklarasi variabel anggota biasanya juga dirangkai dengan inisialisasi nilai awalnya. Jika tidak ada nilai awal yang diberikan, maka nilai awal bawaan akan digunakan.
Misalnya "static int i;" setara dengan "static int i = 0;".
Konstanta dan Sifat "final"
Kadang-kadang dalam kondisi tertentu, kita ingin nilai suatu variabel tidak boleh berubah setelah diberi nilai awal. Misalnya, D diinisialisasi dengan nilai 3.14159, maka nilai ini akan bisa diubah oleh bagian lain dalam program. Di sini mungkin sang programmer ingin mendefinisikan suatu konstanta yang diberi nama "D" sebagai pengganti dari bilangan 3.14159.
Dengan cara ini, program akan lebih mudah dimengerti apabila program tersebut ditulis dalam "keliling = D*diamater;" daripada "pokok = 3.14159*diameter;".
Dalam java, sifat "final" bisa digunakan pada deklarasi variabel untuk membuat nilai suatu variabel tidak bisa diubah setelah diinisialisasi. Misalnya
final static double D = 3.14159;
Apabila kita mencoba mengganti isi variabel tersebut, misalnya di tengah program dengan perintah "D = 20;" komputer akan menampilkan pesan kesalahan sintaks pada saat kompilasi.
Sifat "final" boleh diberikan pada variabel lokal dan bahkan pada parameter formal, akan tetapi paling berguna apabila diberikan pada variabel anggota. Variabel anggota statik yang dideklarasikan dengan sifat "final" juga disebut sebagai konstanta yang diberi nama.
Program akan jauh lebih mudah dibaca dengan menggunakan konstanta bernama ini jika diberikan pada sesuatu angka penting yang digunakan dalam program. Gaya penulisan yang dianjurkan untuk konstanta bernama ini adalah dengan menggunakan huruf besar dengan baris bawah (jika diperlukan).Contohnya:
final static double PI = 3.14159;
Gaya penulisan seperti ini juga digunakan oleh kelas standar Java, yang di dalamnya terdapat banyak sekali konstanta bernama. Misalnya, konstanta D sudah didefinisikan Java dalam kelas Math, yaitu Math.D, sehingga kita tidak perlu mendefinisikannya sendiri.
Contoh lain adalah memberikan nama untuk gaya huruf, seperti Font.PLAIN, Font.BOLD dan Font.ITALIC. Konstanta ini digunakan untuk menandai gaya huruf untuk digunakan oleh subrutin lain dalam kelas Font.
Salah satu alasan untuk menggunakan konstanta bernama adalah supaya kita bisa mengubah isinya dengan cepat apabila di kemudian hari kita ingin memiliki nilai konstanta yang berbeda. Apabila nilai ini diubah, maka kita harus mengkompilasi ulang program kita, karena nilai ini tidak bisa diubah ketika program dieksekusi.
Misalnya kita definisikan suku Bunga pada contoh di atas sebagai konstanta bernama, yaitu
static final double SUKU_BUNGA = 0.1;
Suatu saat misalnya 2 tahun kemudian, bank tersebut ingin mengubah suku bunganya menjadi 5% atau 0.05. Kita bisa mengubah nilainya hanya di satu tempat yaitu di mana deklarasi SUKU_BUNGA berada. Kita tidak perlu mencari semua nilai 0.1 di dalam program untuk menggantinya satu per satu. Selain repot, mungkin membingungkan karena 0.1 bisa digunakan untuk nilai lainnya, bukan hanya nilai suku bunga.
Aturan Penamaan dan Jangkauan (scope)
Ketika deklarasi variabel dieksekusi, komputer akan menyediakan tempat di memori untuk variabel tersebut. Nama variabel dapat digunakan oleh kode program untuk mengacu pada alamat di mana data tersebut disimpan di dalam memori. Bagian di dalam kode sumber (yaitu program Java yang kita tulis, masih dalam bentuk yang dimengerti manusia sebelum dikompilasi menjadi bahasa mesin) di mana variabel tersebut valid dan bisa digunakan disebut jangkauan variabel. Bukan hanya variabel yang memiliki jangkauan, tetapi juga nama subrutin dan nama parameter formal.
Untuk subrutin statik, jangkauannya lebih mudah dipahami. Jangkauan subrutin statik adalah kelas di mana ia didefinisikan. Kita bisa juga memanggil subrutin itu dari dalam kelas dirinya sendiri. Dalam pemrograman tingkat lanjut, teknik ini disebut rekursi (recursion), yaitu subrutin yang memanggil dirinya sendiri.
Untuk variabel anggota suatu kelas, aturannya sama, tetapi dengan sedikit pengecualian. Kita boleh memiliki variabel lokal atau parameter formal yang namanya sama dengan variabel anggota static. Jika ini terjadi, maka variabel anggota akan disembunyikan oleh Java. Dalam contoh berikut :
public class Game {
static int hitung; // variabel anggota
static void mainGame() {
int hitung; // variabel lokal
.
. // Perintah untuk main game
.
}
.
. // Variabel dan subrutin lain
.
} // akhir kelas Game
Kita lihat bahwa dalam subrutin mainGame(), "hitung" mengacu pada dua hal yaitu variabel lokal dan variabel anggota statik. Di luar kelas Game, "hitung" hanya mengacu pada variabel anggota statik. Dalam situasi seperti ini, di dalam subrutin mainGame() maka "hitung" sebagai variabel anggota akan disembunyikan oleh Java. Untuk menggunakan variabel anggota ini, kita bisa menggunakan nama lengkapnya yaitu Game.hitung. Akan tetapi trik ini tidak bisa digunakan untuk variabel anggota yang tidak statik.
Jangkauan parameter formal di dalam suatu subrutin berada di dalam blok di mana ia dideklarasikan. Sehingga pada "for (int i=0; i<10; i++)" variabel i hanya bisa di lihat di dalam blok perulangan for, tetapi tidak valid di luar perulangan ini meskipun pada subrutin yang sama.
Akan tetapi kita tidak boleh mendeklarasikan parameter formal dengan nama yang sama dengan variabel lokal yang berlaku di sana.Contohnya:
void subrutinJelek(int y) {
int x;
while (y > 0) {
int x; // ERROR: x sudah didefinisikan sebelumnya
.
.
.
}
}
Dalam bahasa pemrograman lain, pernyataan di atas masih dibolehkan, yaitu dengan menyembunyikan x pada deklarasi sebelumnya. Akan tetapi pada Java, segera setelah blok yang memuat suatu variabel selesai, namanya bisa dipergunakan kembali.Contohnya:
void subrutinBagus(int y) {
while (y > 10) {
int x;
.
.
.
// Jangkauan x berakhir di sini
}
while (y > 0) {
int x; // OK: Deklarasi x sebelumnya sudah kadaluarsa
.
.
.
}
}
Ada beberapa hal lain yang menarik di Java. Nama subrutin dan variabel boleh sama, karena komputer akan selalu dapat membedakan mana subrutin atau variabel dengan melihat tanda buka kurung '(' setelah namanya. Variabel tidak pernah menggunakan tanda kurung setelah namanya. Sehingga suatu kelas boleh memiliki variabel anggota yang bernama "hitung" dan subrutin yang bernama "hitung()".
Lebih jauh lagi, nama suatu kelas boleh menggunakan nama subrutin atau variabel yang sudah ada. Komputer bisa melihat apakah suatu nama berupa kelas, variabel atau subrutin. Kelas adalah juga tipe data, sehingga suatu kelas bisa digunakan untuk mendeklarasikan variabel dengan tipe kelas tersebut, atau membuat subrutin yang keluarannya bertipe kelas tersebut.
Atau sebagai contoh, perintah berikut bisa diterima oleh program Java :
static Test Test(Test Test) {
.
.
.
}
Test pertama adalah tipe keluaran suatu fungsi. Test kedua adalah nama subrutin. Yang ketiga adalah tipe data parameter, dan keempat adalah nama parameter normal.
Selamat belajar.
Thursday, June 10, 2010
System input dari key board
Membaca input dari key board
Untuk membaca inputan dari program java kita membutuhkan suatu tool program.
Java menyiapkan tools yang namanya System.in sebagai input stream untuk mendapatkan input berbasis teks dari keyboard, sedangkan input yang berbasis grafis menggunakan kelas JTekxtField atau JTextArea.
Karena System.In adalah Input stream, agar input bisa didapat melalui pembacaan maka perlu di Enkapsulasi.
Berikut ini adalah langkah langkah dari proses enkapsulasi:
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader buf = new BufferReader(isr);
Stringstr = buf.readLine(); // String dapat diperoleh dengan memanggil readLine90 dari objek milik kelas BufferedReader.
Penggunaan method readLine() dilakukan didalam blok try-catch.
Ada tiga cara memasukan data melalui key board yaitu:
1. Menggunakan method readLine() yang dipanggil melalui objek milik kelas BufferReader.
2. Menggunakan method showInputDialog() yang langsung dipanggil dari class JOptionPane.
3. Menggunakan method next() yang dipanggil dari objek milik class scanner.
Contoh dalam penulisan program:
import java.io.*;
class DemoInputString {
public static void main(String[] args) throws IOException {
System.out.print("Masukkan nama Anda: ");
String nama;
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(isr);
nama = br.readLine();
System.out.println("Halo " + nama +
", sudahkah Anda mengerti Java?");
}
}
Beberapa contoh script silahkan klik:
http://www.ziddu.com/download/10236306/Systeminput.rar.html
Untuk membaca inputan dari program java kita membutuhkan suatu tool program.
Java menyiapkan tools yang namanya System.in sebagai input stream untuk mendapatkan input berbasis teks dari keyboard, sedangkan input yang berbasis grafis menggunakan kelas JTekxtField atau JTextArea.
Karena System.In adalah Input stream, agar input bisa didapat melalui pembacaan maka perlu di Enkapsulasi.
Berikut ini adalah langkah langkah dari proses enkapsulasi:
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader buf = new BufferReader(isr);
Stringstr = buf.readLine(); // String dapat diperoleh dengan memanggil readLine90 dari objek milik kelas BufferedReader.
Penggunaan method readLine() dilakukan didalam blok try-catch.
Ada tiga cara memasukan data melalui key board yaitu:
1. Menggunakan method readLine() yang dipanggil melalui objek milik kelas BufferReader.
2. Menggunakan method showInputDialog() yang langsung dipanggil dari class JOptionPane.
3. Menggunakan method next() yang dipanggil dari objek milik class scanner.
Contoh dalam penulisan program:
import java.io.*;
class DemoInputString {
public static void main(String[] args) throws IOException {
System.out.print("Masukkan nama Anda: ");
String nama;
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(isr);
nama = br.readLine();
System.out.println("Halo " + nama +
", sudahkah Anda mengerti Java?");
}
}
Beberapa contoh script silahkan klik:
http://www.ziddu.com/download/10236306/Systeminput.rar.html
Kelas Dalam String
Kelas String memodelkan deretan karakter.Kelas ini terdapat dalam package java.lang.
Sesuai dengan kuantitas constructornya,
ada 7 cara untuk membuat object String :
1. String(); // cara 1
2. String(String value); // cara 2
3. String(char value[]); // cara 3
4. String(byte ascii[], int hibyte); // cara 4
5. String(char value[],int offset,int count); // cara 5
6. String(byte ascii[], int hibyte, int offset, int count); // cara 6
7. String(StringBuffer buffer); // cara 7
Sesuai dengan kuantitas constructornya,
ada 7 cara untuk membuat object String :
1. String(); // cara 1
2. String(String value); // cara 2
3. String(char value[]); // cara 3
4. String(byte ascii[], int hibyte); // cara 4
5. String(char value[],int offset,int count); // cara 5
6. String(byte ascii[], int hibyte, int offset, int count); // cara 6
7. String(StringBuffer buffer); // cara 7
Package dalam bahasa pemograman JAVA
Pengertian package adalah sebuah sarana untuk mengelompokan atau mengorganisasikan kelas dan interface yang sama atau sekelompok menjadi satu unit tunggal dalam library.
Secara fisik, package dapat berupa folder yang berisi file file/kelas interface/enum lain yang kegunaannya hampir sama sehingga patut untuk dikelompokan.
Package mempengaruhi mekanisme hak akses ke kelas didalamnya.
Ada tiga langkah dalam membuat package yaitu:
1.Mendeklarasikan dan memberi nama package.
2.Membuat struktur dan nama folder yang sesuai dengan struktur dan nama package.
3.Mengkompilasikan kelas kelas sesuai dengan nama package masing masing.
Mendeklarasikan dan memberi nama package.
Deklarasi package harus diletakan pada bagian paling awal darisuatu source code setiap kelas yang dibungkus package tersebut.
Bentuk umum deklarasi package:
package namaPackage;
Deklarasi tersebut akan memberitahukan interpreter,libraey kelas/ interface yang manakah yang dirujuk dan digunakan.
Syarat nama package:
1. Diawali huruf kecil
2. Menggambarkan kelas kelas yang dibungkusnya.
3. Harus unik
4. Merepresentasikan path dari package tersebut.
5. Harus sama direktorinya.
Contoh package standard:
Berisi kelas fundamental yang sering digunakan : java.lang
Berisi kelas untuk membangun GUI: java.awt dan java.swing
Berisi kelas untuk proses input output: java.io
Membuat Struktur direktori
langkah langah dalam pembuatan direktori mengunakan file manager sesuai struktur package dari langkah yang kita buat sebelumnya. kemudian tempatkan kelas kelas tersebut kedirektori yang bersesuaian.
Package dapat bersarang di package lain,sehingga dapat dibuat hirarki package.
Contoh bentuk umum pernyataan package multilevel:
package namaPackage1[.namaPackage2[.namaPackage3]];
Contoh hirarki package di JDK:
package java.awt.image;
Selanjutanya setiap kelas dalam package tersebut,masing masing dikompilasi menjadi byte code(*.class), sehingga package tersebut siap digunakan.
Menggunakan package
Ada dua cara menggunakan suatu package yaitu:
1. kelas menggunakan suatu package,berada dalam direktori yang sama dengn kelas kelas yang digunakan,sehingga tidak diperlukan import.
2. Kelas yang menggunakan suatu package,berada dalam direktori yang berbeda dengan kelas kelas yang digunakan, sehingga pada awal source code di kelas yang menggunakan harus mencantumkan:
import namaPackage.NamaKelas; atau
import namaPackage.*;
Contoh :
import java.text.DecimalFormat;
import javaxc.swing.*;
Secara fisik, package dapat berupa folder yang berisi file file/kelas interface/enum lain yang kegunaannya hampir sama sehingga patut untuk dikelompokan.
Package mempengaruhi mekanisme hak akses ke kelas didalamnya.
Ada tiga langkah dalam membuat package yaitu:
1.Mendeklarasikan dan memberi nama package.
2.Membuat struktur dan nama folder yang sesuai dengan struktur dan nama package.
3.Mengkompilasikan kelas kelas sesuai dengan nama package masing masing.
Mendeklarasikan dan memberi nama package.
Deklarasi package harus diletakan pada bagian paling awal darisuatu source code setiap kelas yang dibungkus package tersebut.
Bentuk umum deklarasi package:
package namaPackage;
Deklarasi tersebut akan memberitahukan interpreter,libraey kelas/ interface yang manakah yang dirujuk dan digunakan.
Syarat nama package:
1. Diawali huruf kecil
2. Menggambarkan kelas kelas yang dibungkusnya.
3. Harus unik
4. Merepresentasikan path dari package tersebut.
5. Harus sama direktorinya.
Contoh package standard:
Berisi kelas fundamental yang sering digunakan : java.lang
Berisi kelas untuk membangun GUI: java.awt dan java.swing
Berisi kelas untuk proses input output: java.io
Membuat Struktur direktori
langkah langah dalam pembuatan direktori mengunakan file manager sesuai struktur package dari langkah yang kita buat sebelumnya. kemudian tempatkan kelas kelas tersebut kedirektori yang bersesuaian.
Package dapat bersarang di package lain,sehingga dapat dibuat hirarki package.
Contoh bentuk umum pernyataan package multilevel:
package namaPackage1[.namaPackage2[.namaPackage3]];
Contoh hirarki package di JDK:
package java.awt.image;
Selanjutanya setiap kelas dalam package tersebut,masing masing dikompilasi menjadi byte code(*.class), sehingga package tersebut siap digunakan.
Menggunakan package
Ada dua cara menggunakan suatu package yaitu:
1. kelas menggunakan suatu package,berada dalam direktori yang sama dengn kelas kelas yang digunakan,sehingga tidak diperlukan import.
2. Kelas yang menggunakan suatu package,berada dalam direktori yang berbeda dengan kelas kelas yang digunakan, sehingga pada awal source code di kelas yang menggunakan harus mencantumkan:
import namaPackage.NamaKelas; atau
import namaPackage.*;
Contoh :
import java.text.DecimalFormat;
import javaxc.swing.*;
Subscribe to:
Posts (Atom)