Konsep dasar dari pemrograman berbasis objek pada java adalah
Inheritance, polimorfisme dan interface .berikut ini saya akan
memberikan sedikit gambaran tentang konsep dasar tersebut.
Pewarisan
Dalam OOP, kita dapat menciptakan objek baru yang diturunkan dari
objek lain. Objek baru ini sering disebut dengan objek turunan(derived
class) sedang objek induknya sering disebut dengan ancestor(base class).
Sifat yang terkandung pada objek turunan adalah sifat hasil pewarisan
dari sifat-sifat yang terdapat pada objek induk. Maka dari itu proses
seperti ini sering dikenal dengan istilah pewarisan(Inheritance)
Pada dasarnya, kita melakukan inheritance(pewarisan) untuk membuat
suatu class baru(class turunan/subclass) yang masih memiliki sifat atau
spesifikasi dari superclass. Di dalam Java untuk mendeklarasikan suatu
class sebagai subclass dilakukan dengan cara menambahkan kata kunci
extends setelah deklarasi nama class, kemudian diikuti dengan nama
parent class-nya. Kata kunci extends tersebut memberitahu kompiler Java
bahwa kita ingin melakukan perluasan class.
Beberapa aturan tentang pewarisan(inheritance) yang perlu diperhatikan :
1. Java hanya memperkenankan adanya single inheritance. Konsep single
inheritance hanya memperbolehkan suatu sublass mempunyai satu parent
class. Dengan konsep single inheritance ini, masalah pewarisan akan
dapat diamati dengan mudah.
2. Subclass juga merupakan class biasa, maka kita tetap dapat
melakukan pewarisan pada subclass ini. Misal : class B merupakan
subclass dari class A, kita dapat membuat class baru yang diturunkan
dari class B sehingga class baru tersebut akan memiliki apa yang
dimiliki oleh class A dan class B.
3. Suatu parent class dapat tidak mewariskan sebagian member-nya
kepada subclass-nya. Sejauh mana suatu member dapat diwariskan ke class
lain, ataupun suatu member dapat diakses dari class lain, sangat
berhubungan dengan access control (kontrol pengaksesan).
Polimorfisme
Polimorfisme adalah proses kebanyakrupaan, artinya kita dapat
mengimplementasikan sesuatu hal yang berbeda melalui satu cara yang
sama. untuk mengerti hal ini saya akan berikan ilustrasi nya : misalnya
terdapat 5 orang penyanyi(didalam program dianggap sebagai 5 buah
objek), kemudian kelimanya kita perintahkan untuk bernyanyi, maka hasil
atau implementasinya tentu akan berbeda sesuai dengan karakteristik
suara dari masing-masing penyanyi tersebut. Dalam OOP, hal ini disebut
dengan istilah polimorfisme.
Polimorfisme bisa diartikan satu bentuk banyak aksi. Dalam pewarisan
polimorfisme dapat kita lakukan. Kita data memerintah sebuah objek untuk
melakukan tindakan yang secara prinsip sama tapi secara proses berbeda.
Interface
Interface adalah jenis khusus dari blok yang hanya berisi method
signature(atau constant). Interface mendefinisikan sebuah (signature)
dari sebuah kumpulan method tanpa tubuh.
Interface mendefinisikan sebuah cara standar dan umum dalam
menetapkan sifat-sifat dari class-class. Mereka menyediakan class-class,
tanpa memperhatikan lokasinya dalam hirarki class. Untuk
mengimplementasikan sifat-sifat yang umum. Dengan catatan bahwa
interface-interface juga menunjukan polimorfisme, dikarenakan program
dapat memanggil method interface dan versi yang tepat dari method yang
akan dieksekusi tergantung dari tipe object yang melewati pemanggil
method interface. Interface kita gunakan jika kita ingin class yang
tidak berhubungan mengimplementasikan method yang sama. Melalui
interface-interface, kita dapat menangkap kemiripan diantara class yang
tidak berhubungan tanpa membuatnya seolah-olah class yang berhubungan.
sumber:
http://nur-arianto.blogspot.com/2009/11/inheritance-pada-java.html
Kamis, 20 September 2012
Array
Array adalah
sekumpulan variabel bertipe sama yang diacu dengan nama yang sama dan
dapat memanipulasinya dengan lebih efektif. Masing-masing elemen array
dapat diakses melalui indeksnya. Dalam Java, indeks array selalu bertipe
integer yang dimulai dari 0.
| A[0] | A[1] | A[2] | A[3] | A[4] |
| 10 | 20 | 30 | 40 | 50 |
Array A berisi 5 buah elemen bertipe
integer, yaitu 10, 20, 30, 40, dan 50. Setiap elemen array tersebut
dapat diakses dengan cara A[indeks].
A. Array Satu-Dimensi.
Array dideklarasikan dengan tanda [ ] (bracket). Dalam Java, bentuk umum dari deklarasi array satu-dimensi sbb :
tipe namaArray[];
atau
tipe [] namaArray;
Tipe diatas menandakan tipe dasar
(base-type) dari setiap elemen array yang ada. Dengan kata lain, tipe
dasar akan menentukan jenis data apa yang akan disimpan dalam
masing-masing elemen array bersangkutan. Misal kita akan menamai suatu
array dengan nama jmlHari dan tipe data dari masing-masing elemennya adalah tipe int, maka kita dapat menuliskannya sbb :
int jmlHari[];
Untuk menentukan jumlah elemen dari array tersebut, kita perlu mengalokasikan ruang memori dengan menggunakan kata kunci new.
int jmlHari[]=new int[12];
Variabel jmlHari diatas akan mengacu ke array dengan 12 elemen bertipe int. Untuk mengisikan nilai dari masing-masing elemen array tersebut, kita harus menggunakan indeks sbb :
jmlHari[0]= 31;Latihan Lat019.java
public class Lat019
{
public static void main(String[] args)
{
int jmlHari[]=new int[12];
jmlHari[0]=31;
jmlHari[1]=28;
jmlHari[2]=31;
jmlHari[3]=30;
jmlHari[4]=31;
jmlHari[5]=30;
jmlHari[6]=31;
jmlHari[7]=31;
jmlHari[8]=30;
jmlHari[9]=31;
jmlHari[10]=30;
jmlHari[11]=31;
System.out.println(“Bulan Maret memiliki “+jmlHari[2]+” hari!”);
}
}
Array juga dapat diinisialisasi pada
saat dideklarasikan pada saat dideklarasikan. Nilai-nilai untuk setiap
elemennya berada pada blok yang diawali dengan tanda { dan diakhiri dengan tanda }, serta setiap elemennya dibatasi dengan tanda koma ( , ).
public class Lat019B. Array Multi-Dimensi.
{
public static void main(String[] args)
{
int jmlHari[]={31,28,31,30,31,30,31,31,30,31,30,31};
System.out.println(“Bulan Maret memiliki “+jmlHari[2]+” hari!”);
}
}
Array multi-dimensi sebenarnya merupakan
array dari array. Artinya, terdapat sebuah array yang setiap elemennya
juga bertipe array. Cara umum dalam Java untuk mendeklarasikan array 2
dimensi sbb :
tipe namaArray[][];Adapun untuk array 3 dimensi, bentuk umumnya sbb :
atau
tipe [][] namaArray;
tipe namaArray[][][];
atau
tipe [][][] namaArray;
Berikut contoh pendeklarasian array 2 dimensi dengan jumlah baris 2 dan jumlah kolom 3, yang setiap elemennya bertipe int.
int duaD[][]=new int[2][3];Apabila digambarkan, maka posisi dari setiap elemennya sbb :
| duaD[0][0] | duaD[0][1] | duaD[0][2] |
| duaD[1][0] | duaD[1][1] | duaD[1][2] |
public class Lat020Kita juga dapat melakukan inisialisasi nilai pada array dua dimensi sbb:
{
public static void main(String[] args)
{
int duaD[][]=new int[2][3];
int k=1;
for(int i=0;i<2 i="i" p="p"> {
for(int j=0;j<3 j="j" p="p"> {
duaD[i][j]=k*10;
System.out.print(duaD[i][j]);
if (j<2 p="p" system.out.print="system.out.print"> k++;
}
System.out.println();
}
}
}2>3>2>
public class Lat020Sumber: http://www.kuliah.ningyung.com/array/
{
public static void main(String[] args)
{
int duaD[][]={{10,20,30},{40,50,60}};
for(int i=0;i<2 i="i" p="p"> {
for(int j=0;j<3 j="j" p="p"> {
System.out.print(duaD[i][j]);
if (j<2 p="p" system.out.print="system.out.print"> }
System.out.println();
}
}
}2>3>2>
Struktur Kontrol Perulangan
Struktur kontrol pengulangan adalah
berupa pernyataan dari Java yang mengijinkan kita untuk mengeksekusi
blok code berulang-ulang sesuai dengan jumlah tertentu yang diinginkan.
Ada tiga macam jenis dari struktur kontrol pengulangan yaitu while, do-while, dan for-loops.
A. Struktur for …
Struktur ini biasanya digunakan untuk melakukan pengulangan yang banyaknya sudah pasti atau sudah diketahui sebelumnya.
Bentuk dari struktur pengulangan for :
for(inisialisasi; kondisi; iterasi)Latihan Lat012.java
{
perintah_perintah yang akan diulang;
. . .
}
Menampilkan output atau tampilan seperti dibawah :
B. Struktur while …
Struktur perulangan while adalah jenis
perulangan yang mendefinisikan kondisi di awal blok. Artinya jika
kondisi tidak terpenuhi (bernilai false) maka proses perulangan tidak
akan pernah dieksekusi. Inisialisasi nilai ditulis sebelum penulisan
struktur while itu sendiri, sedangkan iterasi ditulis di dalam blok
perulangan.
Bentuk dari struktur pengulangan while :inisialisasi;Latihan Lat013.java
while(kondisi)
{
perintah_perintah yang akan diulang;
. . .
}
Menampilkan output atau tampilan seperti dibawah :
C. Struktur do-while …
Struktur perintah do-while sebenarnya
mirip dengan struktur while. Perbedaannya terletak pada penempatan
kondisinya saja, yaitu diletakkan pada bagian akhir blok perulangan.
Sehingga pada struktur jenis ini, blok perulangan akan dilakukan minimal
satu kali meskipun ternyata kondisinya tidak terpenuhi.
Bentuk dari struktur pengulangan do-while :inisialisasi;Latihan Lat014.java
do
{
perintah_perintah yang akan diulang;
. . .
}
while(kondisi);
Menampilkan output atau tampilan seperti dibawah :
D. Statement Peloncatan.
Statement peloncatan digunakan untuk mengontrol jalannnya program. Lebih tepatnya, untuk memindahkan eksekusi program ke baris kode yang kita kehendaki. Dalam Java, terdapat 3 buah statement peloncatan, yaitu : break, continue dan return.
1. Menggunakan break.
Dalam Java, statement break memiliki 3 kegunaan yaitu :
- Menghentikan runtunan pemilihan pada statement switch.
- Menghentikan proses pengulangan (keluar dari blok pengulangan).
Dengan menggunakan statement break, kita
dapat menghentikan proses pengulangan tertentu tanpa memperdulikan lagi
kondisi yang didefinisikan ataupun sisa statement-statement yang
terdapat pada blok pengulangan tersebut.
Latihan Lat015.java
public class Lat015
{
public static void main(String[] args)
{
for(int i=0;i<10 i="i" p="p"> {
if(i==5)
{
break;
}
System.out.println(“Baris ke-“+i);
}
System.out.println(“Statement setelah blok pengulangan”);
}
}10>
- Keluar dari blok label tertentu.
public class Lat0162. Menggunakan continue.
{
public static void main(String[] args)
{
int i=4;
label1:
{
label2:
{
label3:
{
System.out.println(“Statement di dalam blok label ke-3″);
if(i<5 p="p"> {
break label2; //keluar dari blok label ke-2
}
}
System.out.println(“Statement di dalam blok label ke-2″);
}
System.out.println(“Statement di dalam blok label ke-1″);
}
}
}5>
Statement continue berguna untuk memaksa
program agar melanjutkan proses pengulangan. Secara mudahnya, statement
continue dapat dikatakan sebagai kebalikan dari statement break.
Latihan Lat017.java
public class Lat017
{
public static void main(String[] args)
{
for(int i=0;i<10 i="i" p="p"> {
System.out.print(i+” “);
if(i%2==0)
{
continue;
}
System.out.println();
}
}
}10>
Statement continue diatas berguna untuk
melanjutkan proses pengulangan tanpa mengeksekusi statement-statement
yang terdapat dibawahnya. Artinya, pada saat i bernilai genap, program tidak akan mengeksekusi statement System.out.println( );.
Seperti halnya statement break, yang
dapat digunakan untuk keluar dari suatu blok label tertentu, statement
continue juga dapat digunakan untuk memaksa program agar kembali atau
melanjutkan ke suatu label tertentu.
3. Menggunakan return.
Dalam Java, statement return digunakan untuk keluar dari eksekusi kode program yang terdapat dalam sebuah method.
Latihan Lat018.java
public class Lat018
{
public static void main(String[] args)
{
int bnyk=3;
tulis(bnyk);
}
//Mendefinisikan method tulis()
private static void tulis(int n)
{
if(n<1 p="p"> {
System.out.println(“Nilai i tidak boleh lebih kecil dari 1″);
return; //keluar dari method tulis()
}
//Statement ini tidak akan dilakukan bila n < 1
for(int i=0;i1>
for(int i=0;i{
System.out.println(“Baris ke-”+i);
}
}
}
Karena nilai n yang dilewatkan kedalam method tersebut lebih kecil dari 1, maka program pun akan memanggil statement return yang berarti program keluar dari method tulis( ), dan statement-statement yang terdapat pada blok pengulangan pun tidak akan dieksekusi.
Sumber: http://www.kuliah.ningyung.com/struktur-kontrol-perulangan/
Struktur Kontrol Pemilihan
Struktur kontrol pemilihan adalah
pernyataan dari Java yang mengijinkan user untuk memilih dan
mengeksekusi blok kode spesifik dan mengabaikan blok kode yang lain.
Java menyediakan dua buah perintah untuk proses pemilihan, yaitu if dan switch-case. Kedua perintah ini digunakan untuk mengontrol eksekusi tergantung pada kondisi yang ditentukan sebelumnya.
A. Statement “If…”.
Pernyataan if akan menentukan sebuah pernyataan (atau blok kode) yang akan eksekusi jika dan hanya jika persyaratan bernilai benar (true).
Bentuk dari pernyataan if :
Bentuk dari pernyataan if :if([kondisi])Listing Lat07.java
statement;
atau
if([kondisi])
{
statement1;
statement2;
. . .
}
public class Lat07B. Statement “If-else …”.
{
public static void main(String[] args)
{
int a=1,b=10;
if (a<5 p="p"> {
System.out.println(“Nilai a lebih kecil dari 5″);
}
if (b<5 p="p"> {
System.out.println(“Nilai b lebih kecil dari 5″);
}
}
}5>5>
Pernyataan if-else
digunakan apabila kita ingin mengeksekusi beberapa pernyataan dengan
kondisi true dan pernyataan yang lain dengan kondisi false.
Bentuk statement if-else :if([kondisi])Listing Lat08.java
statement;
else
statement;
atau
if([kondisi])
{
statement1;
statement2;
. . .
}
else
{
statement1;
statement2;
. . .
}
public class Lat08C. Statement “If-else-if …”.
{
public static void main(String[] args)
{
int a=1,b=10;
if (a<5 p="p"> {
System.out.println(a+” lebih kecil dari 5″);
}
else
{
System.out.println(a+” lebih besar dari 5″);
}
if (b<5 p="p"> {
System.out.println(b+” lebih kecil dari 5″);
}
else
{
System.out.println(b+” lebih besar dari 5″);
}
}
}5>5>
Pernyataan pada bagian kondisi else dari blok if-else dapat menjadi struktur if-else yang lain. Kondisi struktur seperti ini mengijinkan kita untuk membuat seleksi persyaratan yang lebih kompleks.
Bentuk statement if-else-if :
if([kondisi])Latihan Lat09.java
statement1;
else if
statement2;
else
statement3;
atau
if([kondisi])
{
statement1;
statement2;
. . .
}
else if
{
statement1;
statement2;
. . .
}
else
{
statement1;
statement2;
. . .
}
public class Lat09
{
public static void main(String[] args)
{
char nh;
double na=75.33;
if (na>=80)
{
nh=’A';
}
else if (na>=70)
{
nh=’B';
}
else if (na>=50)
else if (na>=50)D. Statement “If-else-else if …”.
{
nh=’C';
}
else if (na>=30)
{
nh=’D';
}
else
{
nh=’E';
}
System.out.println(“Nilai Akhir\t : “+na);
System.out.println(“Nilai Huruf\t : “+nh);
}
}
Latihan Lat010.java
public class Lat010F. Statement “Switch”.
{
public static void main( String[] args )
{
double grade = 62.54;
if(grade >= 90)
{
System.out.println( “Excellent!” );
}
else if((grade < 90) && (grade >= 80))
{
System.out.println(“Good Job!” );
}
else if((grade < 80) && (grade >= 60))
{
System.out.println(“Study Harder!” );
}
else
{
System.out.println(“Sorry, You Failed.”);
}
}
}
Perintah switch merupakan pemilihan alternatif, yang biasanya digunakan untuk penyederhanaan perintah if yang banyak mengandung kondisi. Switch mengkonstruksikan cabang untuk beberapa kondisi dari nilai.
Bentuk statement switch :switch ([nama_variable])
{
case [nilai1] :
perintah1;
perintah2;
. . .
break;
case [nilai2] :
perintah1;
perintah2;
. . .
break;
case [nilaiN] :
perintahN;
. . .
break;
default :
perintahDefault;
. . .
break;
}
Dalam java, tipe data dari [nama_variabel] harus merupakan salah satu dari tipe : byte, short, int, atau char.
Latihan Lat011.javapublic class Lat011
{
public static void main(String[] args)
{
int grade = 82;
switch(grade)
{
case 100:
System.out.println(“Excellent!”);
break;
case 90:
System.out.println(“Good Job!” );
break;
case 80:
System.out.println(“Study Harder!” );
break;
default:
System.out.println(“Sorry, You Failed!”);
}
}
}
Sumber: http://www.kuliah.ningyung.com/struktur-kontrol-pemilihan/
Mendapatkan Input dari Keyboard
Kita telah mempelajari konsep
dasar pada Java dan menulis beberapa program sederhana. Sekarang kita
akan mencoba membuat program kita lebih interaktif dengan menggunakan
input dari keyboard.
A. Menggunakan BufferedReader Untuk Mendapatkan Input.
Pada bagian ini, kita akan menggunakan class BufferedReader yang berada di package java.io untuk mendapatkan input dari keyboard.
Berikut ini adalah langkah-langkah yang diperlukan untuk mendapatkan input dari keyboard:
Tambahkan di bagian paling atas code Anda:
import java.io.*;Tambahkan statement berikut :
BufferedReader dataIn = new BufferedReader(new InputStreamReader( System.in) );
Deklarasikan variabel String temporary
untuk mendapatkan input, dan gunakan fungsi readLine( ) untuk
mendapatkan input dari keyboard. Anda harus mengetikkannya di dalam blok
try-catch:
try{
String temp = dataIn.readLine( );
}
catch( IOExceptione )
{
System.out.println(“Error in getting input”);
}
Listing Lat05.java
import java.io.*;Bagaimana hasil outputnya?!
public class Lat05
{
public static void main( String[] args) throws IOException
{
String input;
BufferedReader br;
br=new BufferedReader(new InputStreamReader(System.in));
System.out.print(“Masukkan Nama Anda : “);
input=br.readLine();
System.out.println();
System.out.println(“Hello “+input+”!”);
}
}
Listing Lat06.java
import java.io.*;Bagaimana hasil outputnya?!
public class Lat06
{
public static void main( String[] args) throws IOException
{
int angka1,angka2;
BufferedReader br;
br=new BufferedReader(new InputStreamReader(System.in));
System.out.print(“Masukkan Angka 1 : “);
angka1=(new Integer(br.readLine())).intValue();
System.out.print(“Masukkan Angka 2 : “);
angka2=Integer.parseInt(br.readLine());
System.out.println();
System.out.println(“Angka 1 Anda : “+angka1);
System.out.println(“Angka 2 Anda : “+angka2);
}
}
Untuk mengkonversi string menjadi tipe data numeric dapat digunakan metode seperti :
- Integer.parseInt( ) à untuk mengkonversi string ke integer.
- Float.parseFloat( ) à untuk mengkonversi string ke float.
- Double.parseDouble( ) à untuk mengkonversi string ke double
Dasar Pemrograman Java
Untuk membuat program Java, ada beberapa langkah yang harus dilakukan. Langkah-langkah tersebut adalah :
a. Menulis kode program.
b. Kompilasi program.
c. Menjalankan program.
b. Kompilasi program.
c. Menjalankan program.
Kode program Java dapat ditulis dengan
memanfaatkan text editor seperti notepad, maupun editor yang lainnya.
Kode program Java pada umumnya memiliki susunan sebagai berikut :
//Daftar paket yang digunakan dalam program
Import namapaket;
//Membuat Kelas
public class namakelas
{
//Metode Utama
public static void main(String[] args)
{
perintah;
. . . . .
}
}
Untuk latihan pembuatan program Java, tulislah kode program sebagai berikut :
Listing Lat01.javapublic class Lat01Bagaimana hasil outputnya?!
{
public static void main(String[] args)
{
System.out.println(“Apa Kabar?”);
}
}
1. Java Identifier.
Java Identifier adalah suatu tanda yang mewakili nama-nama variabel, method, class, dsb.
Contoh dari Identifier adalah : Hello, main, System, out.
Pendeklarasian Java adalah Case-Sensitive. Hal ini berarti bahwa Identifier : Hello tidak sama dengan hello.
Identifier harus dimulai dengan salah satu huruf, underscore “_”, atau
tanda dollar “$”. Hurufnya dapat berupa huruf besar maupun huruf kecil.
Karakter selanjutnya dapat menggunakan nomor 0 smpai 9.
Identifier tidak dapat menggunakan kata kunci dalam Java seperti class, public, void, dsb.
Selanjutnya kita akan berdiskusi lebih banyak tentang kata kunci dalam Java.2. Keyword Dalam Java.
Kata kunci adalah identifier yang telah
dipesan untuk didefinisikan sebelumnya oleh Java untuk tujuan tertentu.
Anda tidak dapat menggunakan keyword sebagai nama variabel, class,
method Anda, dsb. Berikut ini adalah daftar dari kata kunci dalam Java
(Java Keywords).
Catatan : true, false,
dan null bukan termasuk kata kunci akan tetapi mereka termasuk kata-kata
khusus, jadi Anda tidak dapat menggunakan mereka sebagai nama variabel
pada program Anda.
1. Tipe Data.
Data adalah sesuatu yang sangat penting.
Dalam memilih tipe data harus memperhatikan fakta, penggunaan memori,
rentang data juga ketelitiannya. Program biasanya menggunakan tipe
integer, floating point, karakter dan string.
a. Integer.
Integer adalah tipe data numerik yang
mewakili seluruh bilangan bulat. Tipe data ini tidak memiliki angka
desimal. Tipe data integer yang disediakan Java adalah sebagai berikut :
| Tipe | Jangkauan |
| byte | -128 s/d 127 |
| short | -32768 s/d 32767 |
| int | -2147483648 s/d 2147483647 |
| long | -9223372036854775808 s/d 9223372036854775808 |
Floating-Point dikenal sebagai bilangan
real, yaitu bilangan yang memiliki bagian fraksional atau pecahan. Tipe
data floating-point yang disediakan Java adalah sebagai berikut :
| Tipe | Jangkauan |
| Float | 3.4 x 10-38 s/d 1.7 x 1038 |
| Double | 1.7 x 10-308 s/d 3.4 x 10308 |
public class Lat02Bagaimana hasil outputnya?!
{
public static void main(String[] args)
{
int a=10;
String b=”Indah”;
System.out.println(a);
System.out.println(b);
}
}
a. Boolean.
Tipe data boolean diwakili oleh dua pernyataan : true dan false. Sebagai contoh adalah :
boolean result = true;
Contoh yang ditunjukkan diatas,
mendeklarasikan variabel yang dinamai result sebagai tipe data boolean
dan memberinya nilai true.
b. Char.
Tipe data character (char), diwakili
oleh karakter single Unicode. Tipe data ini harus memiliki ciri berada
dalam tanda single quotes(’ ’). Sebagai contoh :
‘a’ //Huruf a‘\t’ //A tab
Untuk menampilkan karakter khusus
seperti ‘ (single quotes) atau ” (double quotes), menggunakan karakter
escape \. Sebagai contoh,
‘\” //untuk single quotes‘\”‘ //untuk double quotes
Meskipun String bukan merupakan tipe
data primitif (namun merupakan suatu Class), kita akan memperkenalkan
mengenai pada bagian ini. String mewakili tipe data yang terdiri atas
beberapa karakter. Mereka tidak termasuk tipe data primitif, melainkan
suatu class.
Mereka memiliki literal yang terdapat diantara tanda double quotes(“”).Sebagai contoh :
String message=“Hello world!”
c. Variabel.
Variabel adalah suatu tempat yang
disediakan dalam memori untuk menampung data dan nilai data yang
dimasukkan ke dalamnya dapat dirubah sewaktu-waktu. Ada beberapa hal
yang harus diperhatikan dalam menggunakan nama variabel, yaitu :
- Nama variabel dimulai dengan alphabet.
- Sebaiknya bersifat unik, tidak boleh ada nama variabel yang sama dalam suatu program.
- Perhatikan penulisan huruf besar dan kecilnya, karena Java bersifat Case-Sensitive.
- Gunakan nama variabel sesingkatnya, meskipun penamaan variabel panjangnya boleh berapa saja.
- Jangan gunakan tanda baca, spasi, tanda-tanda yang dipakai dalam perhitungan.
- Bila nama variabel lebih dari satu kata, bisa menggunakan garis bawah untuk menghubungkannya.
- Selain hal tersebut diatas, ada beberapa keyword yang dipakai oleh Java yang tidak boleh digunakan dalam penamaan variabel maupun pendeklarasian lainnya.
Dalam Java, ada beberapa tipe operator.
Ada operator aritmatika, operator relasi, operator logika, dan operator
kondisi. Operator ini mengikuti bermacam-macam prioritas yang pasti
sehingga compilernya akan tahu yang mana operator untuk dijalankan lebih
dulu dalam kasus beberapa operator yang dipakai bersama-sama dalam satu
pernyataan.
a. Operator Aritmatika.
Operator aritmatika adalah operator yang
digunakan untuk menyelesaikan operasi matematika. Operator aritmatika
yang disediakan Java adalah sebagai berikut :
| Operator | Keterangan |
| + | Penambahan |
| - | Pengurangan |
| * | Perkalian |
| / | Pembagian |
| % | Modulus (sisa pembagian) |
public class Lat03
{
public static void main(String[] args)
{
int i = 37;
int j = 42;
double x = 27.475;
double y = 7.22;
System.out.println(“Nilai Variabel…”);
System.out.println(” i = ” + i);
System.out.println(” j = ” + j);
System.out.println(” x = ” + x);
System.out.println(” y = ” + y);
//penjumlahan angka
System.out.println(“Penjumlahan…”);
System.out.println(” i + j = ” + (i + j));
System.out.println(” x + y = ” + (x + y));
//pengurangan angka
System.out.println(“Pengurangan…”);
System.out.println(” i – j = ” + (i – j));
System.out.println(” x – y = ” + (x – y));
//perkalian angka
System.out.println(“Perkalian…”);
System.out.println(” i * j = ” + (i * j));
System.out.println(” x * y = ” + (x * y));
//pembagian angka
System.out.println(“Pembagian…”);
System.out.println(” i / j = ” + (i / j));
System.out.println(” x / y = ” + (x / y));
//menghitung hasil modulus dari pembagian
System.out.println(“Modulus…”);
System.out.println(” i % j = ” + (i % j));
System.out.println(” x % y = ” + (x % y));
//tipe penggabungan
System.out.println(“Gabungan…”);
System.out.println(” j + y = ” + (j + y));
System.out.println(” i * x = ” + (i * x));
}
}
Bagaimana hasil outputnya?!
Catatan: Ketika integer dan floating-point number digunakan sebagai operand untuk operasi aritmatika tunggal, hasilnya berupa floating point. Integer adalah converter secara implisit ke bentuk angka floating-point sebelum operasi berperan mengambil tempat.
b. Operator Increment dan Decrement.
Dari sisi operator dasar aritmatika,
Java juga terdiri atas operator unary increment (++) dan operator unary
decrement (–). Operator increment dan decrement menambah dan mengurangi
nilai yang tersimpan dalam bentuk variabel angka terhadap nilai 1.
Sebagai contoh, pernyataan :count = count + 1; //increment nilai count dengan nilai 1
pernyataan tersebut sama dengan :
count++;
| Operator | Keterangan |
| ++ | Bertambah 1 (Increment) |
| – | Berkurang 1 (Decrement) |
Operator increment dan decrement dapat ditempatkan sebelum atau sesudah operand.
Ketika digunakan sebelum operand, akan
menyebabkan variabel diincrement atau didecrement dengan nilai 1, dan
kemudian nilai baru digunakan dalam pernyataan dimana dia ditambahkan.
Ketika operator increment dan decrement
ditempatkan setelah operand, nilai variabel yang lama akan digunakan
lebih dulu dioperasikan lebih dulu terhadap pernyataan dimana dia
ditambahkan.
c. Operator Relasi.
Operator Relasi membandingkan dua nilai
dan menentukan keterhubungan diantara nilai-nilai tersebut. Hasil
keluarannya berupa nilai boolean yaitu true atau false.
| Operator | Arti | Contoh | Keterangan |
| < | Kurang dari. | x < y | Apakah x kurang dari y? |
| <= | Kurang dari sama dengan. | x <= y | Apakah x kurang dari sama dengan y? |
| > | Lebih dari. | x > y | Apakah x lebih dari y? |
| >= | Lebih dari sama dengan. | x >= y | Apakah x lebih dari sama dengan y? |
| == | Sama dengan. | x == y | Apakah x sama dengan y? |
| != | Tidak sama dengan. | x != y | Apakah x tidak sama dengan y? |
Jika operator hubungan membandingkan
hubungan antara dua buah operand, maka operator logika digunakan untuk
membandingkan logika hasil dari operator-operator hubungan. Operator
logika ada 5 macam, yaitu :
&& : logika AND (dan).
|| : logika OR (atau).! : logika NOT (ingkaran / negasi).
^ : logika XOR (exclusive OR).
| : logika EXOR (inclusive OR).
e. Operator Kondisi (?:).
Operator kondisi ?:
adalah operator ternary. Berarti bahwa operator ini membawa tiga argumen
yang membentuk suatu ekspresi bersyarat. Struktur pernyataan yang
menggunakan operator kondisi adalah :
exp1?exp2:exp3
Dimana nilai exp1 adalah suatu pernyataan boolean yang memiliki hasil yang salah satunya harus berupa nilai true atau false.
Jika exp1 bernilai true, exp2 merupakan hasil operasi. Jika bernilai false, kemudian exp3 merupakan hasil operasinya.
Listing Lat04.javapublic class Lat04Bagaimana hasil outputnya?!
{
public static void main( String[] args )
{
String status =” “;
int grade = 80;
//mendapatkan status pelajar
status = (grade >= 60)?”Passed”:”Fail”;
//print status
System.out.println(status);
}
}
f. Operator Precedence.
Operator precedence didefinisikan sebagai perintah yang dilakukan compiler ketika melakukan evaluasi terhadap operator, untuk mengajukan perintah dengan hasil yang tidak ambigu/ hasil yang jelas.
Sumber: http://www.kuliah.ningyung.com/dasar-pemrograman-java/
Sejarah Singkat Java
A. Sejarah Singkat Java
1. Sebuah Bahasa Pemrograman.
Pada 1991, sekelompok insinyur Sun
dipimpin oleh Patrick Naughton dan James Gosling ingin merancang bahasa
komputer untuk perangkat konsumer seperti cable TV Box. Dikarenakan
perangkat tersebut tidak memiliki banyak memori, bahasa harus berukuran
kecil dan mengandung kode yang liat. Juga karena manufakturmanufaktur
berbeda memilih processor yang berbeda pula, maka bahasa harus bebas
dari manufaktur manapun. Proyek diberi nama kode ”Green”.
Kebutuhan untuk fleksibilitas,
kecil, liat dan kode yang netral terhadap platform mengantar tim
mempelajari implementasi Pascal yang pernah dicoba. Niklaus Wirth,
pencipta bahasa Pascal telah merancang bahasa portabel yang menghasilkan
intermediate code untuk mesin hipotesis. Mesin ini sering disebut
dengan mesin maya (virtual machine). Kode ini kemudian dapat digunakan
di sembarang mesin yang memiliki interpreter. Proyek Green menggunakan
mesin maya untuk mengatasi isu utama tentang netral terhadap arsitektur
mesin.
Karena orang–orang di proyek Green
berbasis C++ dan bukan Pascal maka kebanyakan sintaks diambil dari C++,
serta mengadopsi orientasi objek dan bukan prosedural. Mulanya bahasa
yang diciptakan diberi nama ”Oak” oleh James Gosling yang mendapat
inspirasi dari sebuah pohon yang berada pada seberang kantornya, namun
dikarenakan nama Oak sendiri merupakan nama bahasa pemrograman yang
telah ada sebelumnya, kemudian SUN menggantinya dengan JAVA. Nama JAVA
sendiri terinspirasi pada saat mereka sedang menikmati secangkir kopi
di sebuah kedai kopi yang kemudian dengan tidak sengaja salah satu dari
mereka menyebutkan kata JAVA yang mengandung arti asal bijih kopi. Akhirnya mereka sepakat untuk memberikan nama bahasa pemrograman tersebut dengan nama Java.
Produk pertama proyek Green adalah
Star 7 (*7), sebuah kendali jarak jauh yang sangat cerdas. Dikarenakan
pasar masih belum tertarik dengan produk konsumer cerdas maka proyek
Green harus menemukan pasar lain dari teknologi yang diciptakan. Pada
saat yang sama, implementasi WWW dan Internet sedang mengalami
perkembangan pesat. Di lain pihak, anggota dari proyek Green juga
menyadari bahwa Java dapat digunakan
pada pemrograman internet, sehingga penerapan selanjutnya mengarah
menjadi teknologi yang berperan di web.
Java telah mengakomodasi hampir seluruh
fitur penting bahasa–bahasa pemrograman yang ada semenjak perkembangan
komputasi modern manusia :
- Dari SIMULA – bahasa pada tahun 65-an, bahasa yang paling mempengaruhi Java sekaligus C++. Dari bahasa ini diadopsi bentukan–bentukan dasar dari pemrograman berorientasi objek.
- Dari LISP – bahasa tahun 55-an. Diadopsi fasilitas garbage collection, serta kemampuan untuk meniru generic list processing, meski fasilitas ini jarang yang memanfaatkannya.
- Dari Algol – bahasa pada tahun 60-an, diambil struktur kendali yang dimilikinya.
- Dari C++ – diadopsi sintaks, sebagian semantiks dan exception handling
- Dari bahasa Ada – diambil strongly type, dan exception handling.
- Dari Objective C – diambil fasilitas interface.
- Dari bahasa SmallTalk – diambil pendekatan single-root class hiérarchie, dimana object adalah satu kesatuan hirarki pewarisan
- Dari bahasa Eiffel – fasilitas assertion yang mulai diterapkan di sebagian JDK 1.4
1. Sebuah Bahasa Pemrograman.
Java adalah bahasa pemrograman yang
berorientasi objek (OOP) dan dapat dijalankan pada berbagai platform
sistem operasi. Perkembangan Java tidak hanya terfokus pada satu sistem
operasi, tetapi dikembangkan untuk berbagai sistem operasi dan bersifat
open source.
2. Sebuah Development Environment.
Sebagai sebuah peralatan pembangun,
teknologi Java menyediakan banyak tools : compiler, interpreter,
penyusun dokumentasi, paket kelas dan sebagainya.
3. Sebuah Aplikasi.
Aplikasi dengan teknologi Java secara
umum adalah aplikasi serba guna yang dapat dijalankan pada seluruh mesin
yang memiliki Java Runtime Environment (JRE).
4. Sebuah Deployment Environment.
Terdapat dua komponen utama dari
Deployment Environment. Yang pertama adalah JRE, yang terdapat pada
paket J2SDK, mengandung kelas–kelas untuk semua paket teknologi Java
yang meliputi kelas dasar dari Java, komponen GUI dan sebagainya.
Komponen yang lain terdapat pada Web Browser. Hampir seluruh Web Browser
komersial menyediakan interpreter dan runtime environment dari
teknologi Java.
C. Mengapa Mempelajari Java.
Berdasarkan white paper resmi dari SUN, Java memiliki karakteristik berikut :
1. Sederhana.
Bahasa pemrograman Java menggunakan
sintaks mirip dengan C++ namunsintaks pada Java telah banyak diperbaiki
terutama menghilangkan penggunaan pointer yang rumit dan multiple
inheritance. Java juga menggunakan automatic memory allocation dan
memory garbage collection.
2. Berorientasi objek (Object Oriented).
Java mengunakan pemrograman berorientasi
objek yang membuat program dapat dibuat secara modular dan dapat
dipergunakan kembali. Pemrograman berorientasi objek memodelkan dunia
nyata kedalam objek dan melakukan interaksi antar objek-objek tersebut.
3. Dapat didistribusi dengan mudah.
Java dibuat untuk membuat aplikasi terdistribusi secara mudah dengan adanya libraries networking yang terintegrasi pada Java.
4. Interpreter.
Program Java dijalankan menggunakan
interpreter yaitu Java Virtual Machine (JVM). Hal ini menyebabkan source
code Java yang telah dikompilasi menjadi Java bytecodes dapat
dijalankan pada platform yang berbeda-beda.
5. Robust.
Java mempuyai reliabilitas yang tinggi.
Compiler pada Java mempunyai kemampuan mendeteksi error secara lebih
teliti dibandingkan bahasa pemrograman lain. Java mempunyai
runtime-Exception handling untuk membantu mengatasi error pada
pemrograman.
6. Aman.
Sebagai bahasa pemrograman untuk
aplikasi internet dan terdistribusi, Java memiliki beberapa mekanisme
keamanan untuk menjaga aplikasi tidak digunakan untuk merusak sistem
komputer yang menjalankan aplikasi tersebut.
7. Architecture Neutral.
Program Java merupakan platform
independent. Program cukup mempunyai satu buah versi yang dapat
dijalankan pada platform yang berbeda dengan Java Virtual Machine.
8. Portabel.
Source code maupun program Java dapat dengan mudah dibawa ke platform yang berbeda-beda tanpa harus dikompilasi ulang.
9. Performance.
Performance pada Java sering dikatakan
kurang tinggi. Namun performance Java dapat ditingkatkan menggunakan
kompilasi Java lain seperti buatan Inprise, Microsoft ataupun Symantec
yang menggunakan Just In Time Compilers (JIT).
10. Multithreaded.
Java mempunyai kemampuan untuk membuat suatu program yang dapat melakukan beberapa pekerjaan secara sekaligus dan simultan.
11. Dinamis.
Java didesain untuk dapat dijalankan
pada lingkungan yang dinamis. Perubahan pada suatu class dengan
menambahkan properties ataupun method dapat dilakukan tanpa menggangu
program yang menggunakan class tersebut.
Sumber: http://www.kuliah.ningyung.com/pengenalan-bahasa-java-2/
Sumber: http://www.kuliah.ningyung.com/pengenalan-bahasa-java-2/
Langganan:
Postingan (Atom)