Java Fundamentals - Variabel dan Tipe Data

·

5 min read

Java Fundamentals - Variabel dan Tipe Data

1. Tipe Data (Data Types)

Tipe data pada Java didefinisikan sebagai penentu yang mengalokasikan berbagai ukuran dan tipe nilai yang dapat disimpan dalam variabel atau identifier.

Tipe Data Primitive

Tipe data primitive adalah tipe data dasar yang merepresentasikan sederhana. Tipe data ini direferensikan langsung oleh nilai sebenarnya dan tidak memiliki metode atau properti tambahan yang terkait denganya.
Pada Java, tipe data primitive meliputi: boolean, char, byte, short, int, long, float, dan double.

  • Boolean
    Boolean digunakan untuk memnyimpan dua kemungkinan nilai yaitu true dan false.
    Contoh:

      boolean isHuman = true;
      Boolean bool_isHuman = true;
      // walaupun Boolean adalah kelas, akan tetapi tetap termasuk tipe data primitive karena Boolean adalah representasi dari boolean.
      // dalam banyak kasus, boolean lebih banyak digunakan dibanding Boolean karena lebih efisien.
    
  • Char
    Char adalah karakter UNICODE 16 bit tunggal. Char digunakan untuk menyimpan sebuah karakter.
    Contoh:

      char a = 'A';
      Character char_a = 'A';
    
  • Byte
    Byte digunakan untuk menyimpan data dalam bentuk byte (8 bit). Kisaran nilai yang dapat disimpan antara -128 (minimum) hingga 127 (maksimum). sementara untuk nilai defaultnya 0.
    Byte biasanya digunaka untuk menyimpan dalam array besar yang paling memerlukan penghematan memori. Selain itu, dapat pula digunakan untuk pengganti tipe data int.
    Contoh:

      byte a = 10;
      Byte byte_a = 127;
    
  • Short
    Short digunakan untuk menyimpan tipe data dalam bentuk (16 bit). Kisaran nilai yang dapat disimpan antara -32,768 (minimum) hingga 32,767 (maksimum). Nilai defaultnya adalah 0.
    Contoh:

      short a = 10000;
      Short short_a = -32768;
    
  • Int
    Int digunakan untuk menyimpan tipe data dalam bentuk (32 bit). Kisaran nilai yang dapat disimpan antara -2,147,483,648 hingga 2,147,483,647. Nilai defaultnya adalah 0.
    Tipe data int umumnya digunakan sebagai tipe data default untuk nilai integral kecuali jika tidak ada masalah dengan memori.
    Contoh:

      int a = 100000;
      Integer int_a = -32768;
    
  • Long
    Long digunakan untuk menyimpan tipe data dalam bentuk (64 bit). Kisaran nilai yang dapat disimpan antara -9,223,372,036,854,775,808 hingga 9,223,372,036,854,775,807. Nilai defaultnya adalah 0.
    Tipe data long umumnya digunakan sebagai tipe data default untuk nilai integral kecuali jika tidak ada masalah dengan memori.
    Contoh:

      long a = 100000L;
      Long long_a = -32768L;
    
  • Float
    Tipe data float adalah floating point IEEE 754 32-bit presisi tunggal. Rentang nilainya hampir tidak terbatas. Walaupun aslinya memiliki batasan sekitar antara -3.4028235 x 10^38 hingga sekitar 3.4028235 x 10^38. Disarankan untuk menggunakan float (bukan double) jika Anda perlu menghemat memori dalam array besar angka floating point. Tipe data float tidak boleh digunakan untuk nilai yang tepat, seperti mata uang. Nilai defaultnya adalah 0,0F.
    Contoh:

      float a = -234.5F;
      Float float_a = 234.5F;
    
  • Double
    Tipe data double adalah floating point IEEE 754 64-bit presisi ganda. Kisaran nilainya hampir tidak terbatas. Tipe data double umumnya digunakan untuk nilai desimal seperti float. Tipe data ganda juga tidak boleh digunakan untuk nilai yang tepat, seperti mata uang. Nilai defaultnya adalah 0,0d.
    Contoh:

      double a = 12.3;
      Double double_a = 3.14;
    

Penting untuk diingat:

  • 1 byte setara dengan 8 bit.

  • Semua tipe data numeric memiliki tanda/signed(+/-).

  • Ukuran tipe data selalu sama disemua platform (terstandarisasi).

  • Tipe data char memiliki ukuran 2 bytes karena menggunakan kumpulan karakter UNICODE. UNICODE adalah kumpulan karakter yang mencakup semua skrip dan bahasa yang dikenal di dunia.

Tipe Data Non-primitive

Tipe data Non-primitive atau tipe data referensi adalah tipe data yang merepresentasikan objek di dalam Java. Tipe data ini tidak menyimpan nilai secara langsung di dalamnya, tetapi menyimpan referensi atau alamat ke objek yang sebenarnya disimpan di heap memory. Tipe data ini juga dapat memiliki method dan properti tambahan yang terkait dengan objek tersebut.
Pada Java, tipe data non-primitive meliputi: String, Class, Array, Interface dll.

Type Conversion and Type Casting

  • Type Conversion
    Type conversion adalah konversi nilai dari satu tipe data ke tipe data yang lain secara otomatis oleh kompiler.
    Cara kerja:
    Java secara otomatis melakukan type conversion jika diperlukan untuk mempertahankan kesesuaian tipe data dalam ekspresi atau operasi tertentu.
    Contoh:

      int numInt = 10;
      float numFloat = 5.5f;
      float result = numInt * numFloat;
      // numInt akan dikonversi menjadi float sebelum perkalian dilakukan.
    
  • Type Casting
    Type Casting adalah tindakan yang dilakukan secara manual untuk mengubah tipe data dari satu bentuk ke bentuk lain.
    Cara kerja:
    Berbeda dengan type conversion, pada type casting, Anda secara eksplisit menyatakan tipe data yang ingin Anda ubah, dan jika tipe data tujuan dapat menerima nilai dari tipe data asal, maka konversi akan berhasil.
    Contoh:

      double numDouble = 10.5;
      int numInt = (int) numDouble;
      // double numDouble akan dikonversi menjadi int secara eksplisit.
    

2. Variabel

Deklarasi Variabel

Untuk mendeklarasikan variabel kita perlu menentukan tipe dan nama variabel. Nama variabel harus unik untuk mencegah konflik.

Contoh:

String firstName, fullName;
String name;

Inisialisasi Variabel

Untuk menginisialisasi variabel, kita harus memberi nilai yang valid.
Contoh:

String name;
name = "Purnomo";

Kita bisa juga deklarasi sekaligus inisialisasi variabel seperti contoh dibawah.

String name = "Purnomo";

Jenis Variabel

class Person {
  static String name = "Purnomo"; // static variable
  int age  = 35; // instance variabel

  void run(){
    int speed = 10; // local variable
    // ... 
  }

  public static void main(String... args){
    int data = 50; //instance variable
  }
}; // end of class
  • Variabel Lokal (Local Variabel)
    Variabel lokal adalah variabel yang dideklarasikan didalam suatu method.

  • Variabel Instans (Instance Variabel) Variabel Instans adalah variabel yang dideklarasikan tanpa keyword**static**, didefinisikan di luar deklarasi method. Mereke spesifik untuk objek dan dikenal sebagai variabel instans.

  • Variabel Statis (Static Variabel) Variabel statis diinisialisasikan sekali, pada awal ekseskusi program. Variabel-variabel ini harus diinisialisasi terlebih dahulu, sebelum inisialisasi variabel instan apa pun.

← Terminologi dan Sintaks

Conditional Statements →