Tipe Data dalam Java
Bahasa pemrograman pada umumnya, mengenal adanya variabel yang
digunakan untuk menyimpan nilai atau data. Sedangkan Java sendiri
dikenal sebagai bahasa pemrograman dengan sifat strongly typed yang
artinya diharuskan mendeklarasikan tipe data dari semua variabel, dan
apabila lupa atau salah mengikuti aturan pendeklarasian variabel, maka
akan mendapatkan error pada saat proses kompilasi.
Tipe Data
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 tiga tipe. Sedangkan tipe data referensi meliputi class, array, dan interface. Beberapa perbedaan antara Tipe data Primitif dan Referensi :
Tipe Data Primitif
- Tipe data primitif langsung di definisikan oleh java.
- Tipe primitif merepresentasikan nilai tunggal.
Tipe Data Relatif
- Tipe data Referensi di definiskan oleh User.
- Tipe dara referensi dapat menapung nilai nol atau lebih nilai primitif atau object.
1. Tipe Data Primitif
Macam tipe data primitif dalam pemrograman Java, yaitu
a. Integer ( Bilangan Bulat )
Integer merupakan tipe data numerik yang digunakan apabila tidak
berurusan dengan pecahan atau bilangan desimal. Bilangan integer juga
mengenal nilai positif dan negatif ( signed number ). Tipe data numerik yang termasuk integer adalah sebagai berikut :
| 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 |
Bilangan integer biasanya menggunakan int, dan bukan byte, short
maupun long. Tipe data byte dan short hanya digunakan pada aplikasi
khusus yang memperhatikan penggunaan memori. Sedangkan long jarang
digunakan karena jarang memerlukan bilangan sebesar kapasitas long.
Byte. Type byte umumnya digunakan pada saat kita bekerja
dengan sebuah data stream dari suatu file maupun jaringan, yaitu untuk
kepeluan proses membaca/menulis. Selain itu, tipe ini juga digunakan
saat bekerja dengan data biner yang tidak kompatibel dengan tipe-tipe
lain yang didefiniskan di dalam Java.
1
2
3
4
5
6
7
| class ContohByte { 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.
1
2
3
4
5
6
7
8
9
10
11
| class ContohShort { public static void main(String[]args){ short umurWafiy; short umurAdit; short selisih; umurWafiy=23; umurAdit=13; selisih=umurWafiy-umurAdit; System.out.println(“Selisih umur mereka adalah “ + 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.
1
2
3
4
5
6
7
8
9
10
| class HitungGaji{ public static void main(String[]args){ int gaji=5000000; int lamaKerja; int besarGaji; lamaKerja=4; besarGaji=gaji*lamaKerja; System.out.println(besarGaji); }} |
Long. Tipe ini digunakan untuk 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 jikadata memiliki range diluar range int.
1
2
3
4
5
6
7
8
| public class MassaPlanet{ public static void main (String[]args){ long volum=1864824217374668; long massaJenis=77886; long massa=volum*massaJenis; System.out.println(massa); }} |
b. Floating Point ( Bilangan Pecahan )
Floating Point digunakan untuk menangani bilangan desimal atau
perhitungan yang lebih detail dibanding integer. Ada dua macam floating
point, yaitu :
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
|
Semua bilangan pecahan atau desimal dalam Java tanpa diakhiri huruf f akan dianggap sebagai double. Sedangkan bilangan yang ingin dikategorikan sebagai float harus diakhiri dengan huruf F.
Misalnya : 4.22 F atau 2.314f. Sedangkan untuk bilangan double, bisa
menambah dengan huruf D, karena secara default bilangan dengan koma atau
pecahan atau desimal akan dianggap sebagai double.
Float.
Tipe ini digunakan untuk menandakan nilai–nilai yang mengandung presisi atau ketelitan tunggal (single-precision) yang menggunakan ruang penyimpanan 32-bit. Presisi tunggal 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.
Tipe ini digunakan untuk menandakan nilai–nilai yang mengandung presisi atau ketelitan tunggal (single-precision) yang menggunakan ruang penyimpanan 32-bit. Presisi tunggal 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.
1
| float suhu; |
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 daripad tipe float. Untuk perhitungan yang bersifat bilangan riil dan menghasilkan hasil yang lebih akurat, maka lebih baik menggunakan tipe 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 daripad tipe float. Untuk perhitungan yang bersifat bilangan riil dan menghasilkan hasil yang lebih akurat, maka lebih baik menggunakan tipe double.
|
c. Char
Char adalah karakter tunggal yang didefinisikan dengan diawali dan
diakhiri dengan tanda ‘ ( petik tunggal ). Char berbeda dengan String,
karena String bukan merupakan tipe data primitif, tetapi sudah merupakan
sebuah objek. Tipe char mengikuti aturan unicode, sehingga dapat
menggunakan kode /u kemudian diikuti bilangan dari 0 sampai 65535,
tetapi yang biasa digunakan adalah bilangan heksadesimal dari 0000
sampai FFFF. Misalnya : ‘\u123’. 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 membutuhkan ukuran 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 karakter khusus. Di bawah ini akan
dijelaskan beberapa contoh tentang escape sequence.
| Escape Sequence | Keterangan | Nilai Unicode |
| \ddd | Karakter octal (ddd) | |
| \uxxxx | Karakter Unicode heksadecimal (xxxx) | |
| \’ | Petik tunggal | \u0027 |
| \* | Double Quote | \u0022 |
| \\ | Backslash | \u005c |
| \r | Carriage return | \u000d |
| \n | Baris baru (line feed) | \u000a |
| \f | Form feed | |
| \t | Tab | \u0009 |
| \b | Backspace | \u0008 |
1
2
3
4
5
6
7
8
| class ContohKarakter { public static void main (String[] args) { char ch = 65;// 65 merupakan kode untuk karakter A; System.out.println(“ch1=”+ch); ch++; //increment(penaikan nilai sebesar 1) System.out.println(“ch2 = ”+ ch); }} |
d. Boolean
Dalam Java dikenal tipe data boolean
yang terdiri dari dua nilai saja, yaitu true dan false. Boolean sangat
penting dalam mengevaluasi suatu kondisi, dan sering digunakan untuk
menentukan alur program.
1
2
3
4
5
6
7
8
9
10
11
| class ContohBolean { public static void main (String[] args) { boolean a = true; if (a) { System.out.println(“Perintah dilaksanakan ”); }//negasi dari a If (!a) { System.out.println(“Perintah tidak dilaksanakan ”); } }} |
Contoh penggunaan tipe data pada java bisa dicoba dengan perintah berikut :
TipeData.java
class TipeData {
public static void main(String[] args) {
// Tipe data primitif
long data1 = 546767226531;
int data2 = 2235641; short
data3 = 714; byte
data4 = 34; float
data6 = (float) 1.733; // tipe data pecahan double data5 = 4.967; // tipe data pecahan
char data7 = ‘C’; boolean data8 = true;
System.out.println(“Nilai Long : “+ data1);
System.out.println(“Nilai Int : “+ data2);
System.out.println(“Nilai Short : “+ data3);
System.out.println(“Nilai Byte : “+ data4);
System.out.println(“Nilai Double : “+ data5);
System.out.println(“Nilai Float : “+ data6);
System.out.println(“Nilai Char : “+ data7);
System.out.println(“Nilai Boolean : “+ data8);
}
}
2. Tipe Data Referensi
Tipe data Referensi adalah tipe data yang digunakan dalam OOP atau Object Oriented Programming (Pemrograman berorientasi Objek). Jadi dalam OOP ini kita dapat membuat atau mendefinisikan tipe data baru yang merupakan objek dari class tertentu. Semua tipe data referens nilai defaultnya adalah nol atau null, tidak seperti tipe data primitif
yang memiiliki nilai default variatif. Tipe data ini digunakan untuk
mereferensikan objek atau class tertentu, seperti String.
- Array
Tipe data ini memiliki kemampuan untuk menggunakan satu variabel yang
dapat menyimpan sebuah data list dan kemudian memanipulasinya dengan
lebih efektif.Sebuah array akan menyimpan beberapa item data yang
memiliki tipe data sama didalam sebuah blok memori yang berdekatan yang
kemudian dibagai menjadi beberapa slot.
Contoh penggunaan :
public static void main(String[] args) {
int j1,j2;
int arrayd []= new int[4];
for (j1=0;j1<4;j1++){
arrayd [j1] = j1-1;
}
for (j2=0;j2<4;j2++){
for (j2=0;j2<4;j2++){
System.out.println(“Indeks array ke ” + j2 + ” adalah ” + arrayd[j2]); }
2. Class
2. Class
Class dapat didefiniskan sebagai blueprint atau
prototype/kerangka yang mendefiniskan variabel-variabel (data) dan
method-method umum dari sebuah objek. Dengan kata lain class adalah
sebuah kesatuan yang terintegrasi antara method dan data yang mengacu
pada suatu objek.
Dalam dunia permrograman, sebenarnya class tidak 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 object reference.
Pada saat kita membuat sebuah class baru. Sekali didefiniskan, maka tipe data baru ini dapat digunakan untuk membuat suatu objek dari tipe tersebut. Dengan kata lain, class adalah pola (template) untuk pembuatan objek, dan objek adalah wujud nyata (instance) dari sebuah class. Contoh :
private int x;
private int y;
public static void main(String[] args) {
//Deklarasi Variable dengan tipe data class
//Praktikumsatu=class | hitung=variable
Praktikumsatu hitung;
//Instance class Praktikumsatu menjadi object
hitung = new Praktikumsatu();
/*Pengaksesan attribut / variable milik objek
*dari class “hitung” yaitu “x” dan “y”
*dengan menginisialisasi nilai x=3 dan y=4
*/
hitung.x = 3;
hitung.x = 3;
hitung.y = 4;
/*Mendlekarasikan variable dengan nama hasil
*dan bertipe integer untuk menampung nilai operasi
*penjumlahan dari variable milik objek
*/
int hasil = hitung.x + hitung.y;
int hasil = hitung.x + hitung.y;
//tampilkan
System.out.println(“\nHasil penjumlahan x+y = “+hasil); }
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 Anda ingin mengaplikasikan suatu method yang spesifik, yang tidak diperoleh dari proses inheritance yang lebih terbatas. Tipe data yang boleh pada interface hanya tipe data konstan.
mengimplementasikan interface tersebut. Interface digunakan bila Anda ingin mengaplikasikan suatu method yang spesifik, yang tidak diperoleh dari proses inheritance yang lebih terbatas. Tipe data yang boleh pada interface hanya tipe data konstan.
Sumber :
- http://putriyan.blog.widyatama.ac.id/2015/10/06/tipe-data-dan-variabel-dalam-java/
- https://dedykuncoro.com/2013/03/macam-macam-tipe-data-pada-java.html
Komentar
Posting Komentar