lifelong learner — urip iku urup, currently working on accenture.

Java dasar 3 – mendalami primitive data type int , long, byte dan short

0
Degananda.com -

Int , long , byte dan short adalah contoh dari primitive data type pada java. Ke empat tipe data tersebut memiliki fungsinnya masing-masing. Yang paing sederhana adalah ketika ingin menampilkan angka / bilangan bulat yang sangat besar maka pilihan kita akan jatuh pada long untuk yang lebih kecil maka integer. Silahkan simak ulasna ini untuk mengetahui pembahasan mendalam mengenai ke empat primitive data type tersebut.

Integer (int)

Integer (int) memiliki ukuran maksimal -2^32 (32bit) hingga +2^32bit. Ada beberapa mekanisme yang perlu kita fahami terkait dengan tipe data integer ini. yaitu

  1. Setiap proses aritmatika yang kita lakukan selalu menghasilkan integer. Artinnya jika tipe data dari suatu variabel yang berfungsi menampung hasil proses artimatika tersebut tidak bertipe integer maka kita memiliki dua opsi pertama adalah melakukan casting ke integer atau mengubah tipe data variabel menjadi integer
  2. kita dapat menuliskan 100000 menjadi 1_000_000 untuk memudahkan membacannya. underscore “_” akan dihilangkan oleh java saat dijalankan.

casting adalah proses untuk mengubah tipe data dari suatu operasi. Perhatikan contoh berikut ini misalkan kita akan mengkalikan dua buah bilangan byte dan nantinnya hasilnya juga akan disimpan dalam bentuk byte. Proses perkalian ini adalah proses aritmatika.

public class Helloworld {

    public static void main(String [] agrs){
        byte nilaiByteA = 8;
        byte nilaiByteB = 16;
        byte hasilByte = nilaiByteA*nilaiByteB;
    }

}

kode diatas error karena setiap proses aritmatika akan mereturn tipe berupa integer.

Seperti yang kami jelaskan diatas kita harus mencasting proses aritmatika diatas sesuai dengan tipe data dari variabel tersebut dalam kasus ini adalah byte. Maka kita casting menjadi byte.

public class Helloworld {

    public static void main(String [] agrs){
        byte nilaiByteA = 8;
        byte nilaiByteB = 16;
        byte hasilByte = (byte) nilaiByteA*nilaiByteB;
    }

}

penulisan casting adalah disebelah kiri dari suatu nilai variabel(bukan saat mendeklarasikan variabel). Contohnya (byte) (int) dan lain sebagainnya seperti pada contoh diatas.

Kapan harus menggunakan integer ?

kita disarakan untuk selalu menggunakan integer (kecuali memang bilangannya melebihi kapasitas integer) dan menghindari penggunaan byte ataupun short mengapa ?

  1. Karena setiap proses aritmatika akan mereturn berupa integer , proses casting harus selalu kita lakukan setiap kali menggunakan tipedata untuk short atau byte.
  2. Jika bilangan desimal jangan pernah menggunakan integer,short,long ataupun byte
  3. Integer lebih cepat dijalankan di komputer-komputer modern (java confirmed). Sehingga pilihan untuk menggunakan integer untuk setiap bilangan bulat (yang kapasitasnya tidak melebihi tentunnya) adalah pilihan yang tepat.

itu adalah tiga alasan mengapa kita sebaiknya menggunakan integer instead of short ataupun byte.

Byte & Short

byte memiliki kapasitas maksimal 2^8(1 byte) sedangkan short memiliki kapasitas 2^16(2 byte). Dua tipe data ini digunakan untuk menghandle angka-angka yang memiliki kapasitas dibawah integer. Namun untuk komputer atau laptop-laptop modern saat ini penggunaan byte dan short tidak direkomendasikan. Pilih lah integer sebagaimana penjelasan mengenai integer diatas. Contoh penggunaan byte dan short adalah sebagai berikut ini

public class Helloworld {

    public static void main(String [] agrs){
        byte nilaiByteA = 8;
        short nilaiShortA = 150;
    }

}

Long

Tipe data ini memiliki kapasitas dua kali lipat dari integer yakni 2^64. Jika kapastias integer tidak memenuhi maka pilihlah long. Biasannya digunakan untuk operasikan bilangan-bilangan yang sangat besar. Terdapat beberapa rekomendasi terkait dengan penggunaan tipedata long ini yakni :

  1. Setiap penulisan angka dalam tipedata long tombahkan suffix “L” dibelakang angka tersebut. Hal ini untuk menunjukan bahwa angka tersebut adalah long (untuk memudahkan proses debugging dan meningkatkan kualitas dokumentasi kode). Sifat penggunaan suffix ini tidaklah wajib melainkan hanya himbauan.
  2. Gunakan underscore “_” untuk mempermudah penulisan. Java tidak akan memproses underscore tersebut. Penggunaan underscore ini sangat direkomendasikan mengingat long adalah bilangan yang sangat besar tentunnya sangat susah untuk membaca bilangan tersebut. Dengan penggunaan underscore maka pembacaan akan semakin mudah.

ini adalah contoh penulisan tipe data long dengan dua rekomendasi diatas

public class Helloworld {

    public static void main(String [] agrs){
        // 1 biliun rupiah
        long longValue = 1000_000_000_000L;
    }

}

tanpa menuliskan L sebagai suffix maka akan error. Karena secara default angka pasti didefinisikan sebagai integer oleh java. Namun pada byte dan short tidak perlu suffix karena nilainya lebih kecil dari integer tersebut.

Kesimpulan

  • always use integer , selalu gunakanlah integer karena integer memiliki performa yang baik untuk komputer modern saat ini.
  • setiap proses aritmatika akan mereturn atau menghasilkan tipe data integer. Ini adalah behavior default dari java. Jangan lupa melakukan casting.
  • Casting adalah proses untuk mengkonversi tipe data misalkan dari integer menuju short. Tetapi kita tidak bisa mencasting bilangan yang lebih besar dari kapastias tipedata tersebut contohnya kita memiliki angka 1 billion kita casting ke short tentu tidak bisa. Short maksimal menyimpan 2^16 (positif/negative).