Java
mempunyai 11 macam tipe data yang terdiri atas tipe data sederhana dan referensi /
komposit.Tipe sederhana meliputi byte, short, int, long, char, float, double
dan boolean yang terbagi menjadi 3 tipe. Sedangkan tipe data
referensi meliputiclass, array dan interface.
A. Tipe Data Sederhana
- Integer (BilanganBulat)
Tipe data yang
masuk menjadi bagian ini adalah byte, short, int dan long.Semua tipe data ini bersifat
Signed, yaitu bisa mempresentasikan nilai positif dan negatif.Tidak seperti tipe
data lainnya, Java tidak mendukung tipe data unsigned yang
hanya bisa mempresentasikan nilai postif.
Untuk jelasnya akan dijelaskan oleh tabel dan penjelasan di bawah ini :
Tipe
Data
|
Ukuran
(bit)
|
Range
|
Byte
|
8
|
-128
s.d. 127
|
Short
|
16
|
-32768
s.d. 32767
|
Int
|
32
|
-2147483648
s.d. 2147483647
|
Long
|
64
|
-9223372036854775808
s.d. 9223372036854775807
|
·
Byte
Type byte umumnya digunakan pada saat kita bekerja dengan sebuah
data stream dari suatu file maupun jaringan, yaitu untuk kepeluan
proses membaca/menulis. Selai nitu, tipe ini juga digunakan saat bekerjad engan data
biner yang tidak kompatibel dengan tipe-tipe lain yang didefiniskan di dalam
Java.Contoh :
class Contoh Byte
{public static void main(String [] args){byte a;a=127;System.out.println(a);}}
· Short
Pada umumnya diaplikasikan pada komputer-komputer
16-bit, yang saat ini semakin jarang keberadaanya. Contoh :
class Contoh Short
{public static void main(String[]args){short umur Wafiy; shortumur Adit; short
selisih; umur Wafiy=23;umurAdit=13;selisih=umurWafiy-umurAdit; System.out.println(“Selisih
umurmerekaadalah “ + selisih + ” tahun”);
·
Int
Tipe ini merupakan tipe
yang paling banyak dipakai dalam merepresentasikan angka dalam Java,
dikarenakan dianggap paling efisien dibandingkan dengan tipe-tipe integer
lainnya.Tipe Int banyak digunakan untuk indeks dalam struktur pengulangan maupun dalam konstruksi sebuah array.Selain itu,
secara teori setiap ekspresi yang melibatkan tipe integer byte, short, int,
long) semuanya akan dipromosikan ke int terlebih dahulu sebelum dilakukan
proses perhitungan.
Contoh :
class
Hitung Gaji{public static void main(String[]args){intgaji;intlamaKerja; int
besar Gaji gaji=5000000; lama Kerja=4; besar Gaji=gaji*lamaKerja; System.out.println (besarGaji);}}
·
Long
Tipe ini digunaka nuntuk kasus-kasus tertentu
yang nilainya berada di luar rentang tipe int, karna tipe ini punya
range paling tinggi dibanding Integer lainnya.Dengan kata lain, tipe long terpaksa digunakan jika
data memiliki range diluar range int. Contoh:
public class
MassaPlanet{public static void main (String[]args){long volum=1864824217374668; long
massa Jenis=77886; long massa=volum*massa Jenis;System.out.println(massa);}}
2.
Floating-Point (BilanganPecahan)
Tipe floating-point digunakan untuk merepresentasikan nilai-nilai
yang mengandung pecahan atau angka decimal di belakang koma, seperti 3.1416,5.25,
dan sebagainya. Bilangans emacam ini disebut sebagai bilanganriil. Dalam Java
tipe ini dibedakan menjadi duajenis, yaitu float, dan double.
Untuk jelasnya akan dijelaskan oleh tabel dan penjelasan di bawahini :
Tipe
|
Ukuran
|
Range
|
Presisi (jumlah digit)
|
bytes
|
bit
|
float
|
4
|
32
|
+/- 3.4 x 1038
|
6-7
|
double
|
8
|
64
|
+/- 1.8 x 10308
|
15
|
·
Float
Tipe ini digunakan untuk menandakan nilai–nilai
yang mengandung presisi atau ketelitan tunggal (single-precision) yang
menggunakan ruang penyimpanan 32-bit. Presisitunggal biasanya lebih cepat untuk
processor-processor tertentu dan memakan ruang penyimpanan setengah kali
lebih sedikit dibandingkan presisi ganda (double precision).Permasalahan
yang timbul dari pemakaian tipe float untuk nilai-nilai yang
terlalu kecil atau justru terlalu besar, karena nilai yang
dihasilkan akan menjadi tidak akurat. Contoh penggunaan variabel : floatsuhu;
·
Double
Tipe ini mengandung tingkat ketelitian ganda atau presisi ganda
(double precision) dan menggunakan ruang penyimpanan 64-bit
untuk menyimpan nilai. Tipe double tentu lebih cepat untuk melakukan perhitungan-perhitungan matematis daripada tipe float.
Untuk perhitungan yang bersifat bilangan riil dan menghasilkan hasil yang
lebih akurat, maka lebih baik menggunakan tipe double.Contoh :
class Keliling Lingkaran
{public static void main (String[] args) {double pi = 3.1416;double r =
2.12;double keliling;keliling = 2*pi*r;System.out.println(“Keliling Lingkaran =
”+ keliling);}}
3.
Char
Tipe data char
merupakan tipe untuk menyatakan sebuah karakter. Java menggunakan karakter Unicode untuk merepresentasikan semua karakter
yang ada . Unicode ialah sekumpulan karakter yang
terdapat pada semua bahasa, seperti bahasa Latin, Arab, Yunani dan lain-lainnya.
Karena bahasa Java dirancang untuk dapat diterapkan di berbagai macam platform,
maka Java menggunakan karakter Unicode yang membutuh kanukuran
16-bit. Untuk karakter-karakter yang tidak dapat diketikkan secara langsung melalui
keyboard, java menyediakan beberapa escape sequence (pasangan karakter
yang dianggap sebagai karakter tunggal). Escape sequence tidak dianggap sebagai String,
melainkan tetap sebagai tipe karakte rkhusus. Di
bawah ini akan dijelaskan beberapa contoh tentang escape sequence.
Escape
Sequence
|
Keterangan
|
\ddd
|
Karakter
octal (ddd)
|
\uxxxx
|
Karakter Unicode heksadecimal
(xxxx)
|
\’
|
Petiktunggal
|
\’’
|
Petikganda
|
\\
|
Backslash
|
\r
|
Carriage
return
|
\n
|
Barisbaru
(line feed)
|
\f
|
Form
feed
|
\t
|
Tab
|
\b
|
Backspace
|
Contoh :
class ContohKarakter
{public static void main (String[] args) {char ch = 65;// 65
merupakan kode untuk karakterA;System.out.println(“ch1=”+ch);ch++; //increment(penaikan nilai sebesar
1)System.out.println(“ch2 = ”+ ch);}}
4.
Boolean
Tipe boolean adalah tipe
data yang digunakan untuk menampung nilai logika, yaitu nilai yang hanya memiliki dua buah kemungkinan
(benar atau salah). Tipe ini ditandai dengan kata kunci Boolean.Dalam bahasa
Java, nilai benar dipresentasikan dengan kata kunci true dan nilai salah dengan
kata kunci false.Contoh :
class ContohBolean
{public static void main (String[] args) {boolean a = true;if (a)
{System.out.println(“Perintahdilaksanakan ”);}//negasidariaIf (!a)
{System.out.println(“Perintahtidakdilaksanakan ”);}}}
B. Tipe Data
Referensi
1. Class
Kelas dapat didefiniskan sebagai cetak biru
(blueprint) atau prototipe/kerangka yang mendefiniskan variabel-variabel
(data) dan method-method (perilaku) umum dari sebuah objek. Dengan kata
lain kelas adalah sebuah kesatuan yang terintegrasi antara method dan data yang
mengacu pada suatu objek.
Dalam dunia permrograman,
sebenarnya kela stidak jauh berbeda dengan tipe data sederhana. Perbedaannya, tipe
data sederhana digunakan untuk mendeklarasikan variabel ‘normal’,
sedangkan kelas digunakan untuk mendeklarasikan sebuah variabel yang berupa objek.
Variabel yang berupa objek ini sering disebut dengan referensi objek (object
reference).
Pada saat kita membuat sebuah kelas baru. Sekali didefiniskan,
makatipe data
baru ini dapat digunakan untuk membuat suatu objek dari tipe tersebut. Dengan kata lain,
kelas adalah pola (template) untuk pembuatan objek, dan objek adalah wujudnyata
(instance) dari sebuahkelas. Contoh :
public Class
Mahasiswa{public String nama;publicintnrp;Mahasiswa(String a, int b){nama
=a;nrp= b;}public void cetak (){System.out.println(“Nama : “+nama+” nrp :
“+nrp);}}
Setelah kita membuat sebuah kelas,
untuk menggunakannya maka kita harus membuat sebuah instance dari kelas tersebut.
Berikut cara membuat objek dari kelas :
class Demo {public
static void main(String[]args){Mahasiswamhs;mhs = new
Mahasiswa(“Rezki”,5211100048)}}
2.
Array
Tipe
data ini memiliki kemampuan untuk menggunakan satu variabel yang dapat menyimpan sebuah
data list dan kemudian memanipulasinya dengan lebih efektif.
Sebuah
array akanmenyimpanbeberapa item data yang memilikitipe data
samadidalamsebuahblokmemori yang berdekatan yang kemudiandibagaimenjadibeberapa
slot.
3.
Interface
Interface
merupakan sekumpulan method yang hanya memuat deklarasi dan struktur method, tanpa
detail implementasinya. Sedangkan detail dari method tersebut berada pada class
yang mengimplementasikan interface tersebut. Interface digunakan bila Andai ngin mengaplikasikan suatu
method yang spesifik, yang tidak diperoleh dari proses inheritance yang
lebih terbatas. Tipe data yang boleh pada interface hanya tipe data konstan.