Anda di halaman 1dari 40

1

2
3
4
Tipe data primitive adalah data yang dari awal telah disediakan oleh bahasa
pemograman, tipe data ini disebut primitive karena tidak bisa lagi dipecah menjadi
lebih kecil dan merupakan elemen untuk membuat tipe data composite (reference).
Java memiliki 3 jenis data primitive yaitu boolean (logika), integer (bilangan bulat),
dan floating-point (bilangan titik mengambang).
Setiap tipe data primitive di java memiliki operator, dimana berdasarkan jumlah
variabel masukan yang dibutuhkan (operand) untuk melakukan operasi, java memiliki
tiga jenis operator, yaitu unary (membutuhkan 1 variabel masukan), binary
(membutuhkan 2 variabel masukan) dan trinary/ternary (membutuhkan 3 variable
masukan).
Tipe data primitive adalah data yang dari awal telah disediakan oleh bahasa
pemograman, tipe data ini disebut primitive karena tidak bisa lagi dipecah menjadi
lebih kecil dan merupakan elemen untuk membuat tipe data composite.
Java memiliki 3 jenis data primitive yaitu boolean (logika), integer (bilangan bulat),
dan floating-point (bilangan titik mengambang).
Setiap tipe data primitive di java memiliki operator, dimana berdasarkan jumlah
variabel masukan yang dibutuhkan (operand) untuk melakukan operasi, java memiliki
tiga jenis operator, yaitu unary (membutuhkan 1 variabel masukan), binary
(membutuhkan 2 variabel masukan) dan trinary/ternary (membutuhkan 3 variable
masukan).
Type Reference akan dijelaskan di slide selanjutnya.

5
Tipe integer bisa dibagi menjadi dua bagian yaitu integer signed dan unsigned, integer
signed adalah integer yang memungkinkan memiliki nilai bilangan bulat negatif,
sedangkan unsigned adalah kebalikannya hanya boleh memiliki nilai 0 (nol) dan
bilangan bulat positif.
Dalam tipe data primitive java ada 4 tipe data signed integer yaitu: byte, short, int,
long dan 1 tipe data unsigned integer yaitu char.

6
Integer bisa ditulis dengan menggunakan 3 jenis bilangan dasar, Octal, Decimal dan
Hexadecimal. Octal atau bilangan dasar delapan menggunakan literal(0,1,2,3,4,5,6,7).
Decimal atau bilangan dasar sepuluh menggunakan literal (0,1,2,3,4,5,6,7,8,9).
Hexadecimal atau bilangan dasar enam-belas menggunakan literal
(0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f,A,B,C,D,E,F).
Penulisan Octal diawali dengan literal 0 (nol), sehingga bilangan bulat octal selalu dua
atau lebih angka, contoh 04 , 05, 00.
Penulisan decimal tidak diawali apapun.
Penulisan hexadecimal di awali dengan 0x atau 0X. sehingga bilangan bulat octal
selau tiga atau lebih angka, contoh 0x1, 0xDaDa, 0XFAFA, 0X8732
Untuk menulis literal long, penulisan bisa diakhiri huruf l (ell) atau L (ell), jika
penulisan Integer tidak diakhiri l (ell) atau L (ell) maka literal integer akan dianggap
int. Sebaiknya gunakan hurup L (ell kapital) karena hurup l (ell kecil) mudah tertukar
dengan angka 1 (satu).
Penulisan literal interger yang keluar dari jangkauan (-2147483648 -> 2147483647)
diharuskan menambahkan akhiran l atau L, jika tidak maka akan mengakibatkan
compiler-error: “The literal x of type int is out of range”

7
8
9
10
11
Floating-Point( bilangan titik mengambang) adalah tipe data yang memungkinkan diisi
nilai bilangan riil, bilangan riil atau bilangan real menyatakan angka yang bisa
dituliskan dalam bentuk desimal, seperti 2,4871773339… atau 3.25678. Bilangan real
meliputi bilangan rasional, seperti 42 dan −23/129, dan bilangan irasional, seperti π
dan akar2, dan dapat direpresentasikan sebagai salah satu titik dalam garis bilangan.
Yang perlu diperhatikan penggunaan tipe floating point dalam menyimpan bilangan
rill adalah pembulatan, pembulatan tipe floating point sulit untuk diperkirakan,
sehingga tidak cocok untuk menyimpan suatu nilai yang membutuhkan kepastian
seperti uang. Floating point lebih cocok dipergunakan untuk menyimpan nilai2 yang
memiliki toleransi terhadap pembulatan seperti perhitungan fisika. Standard yang
paling banyak digunakan adalah IEEE 754-1985

12
Floating-point bisa ditulis dalam bentuk desimal atau hexadesimal.
Setiap literal angka yang memiliki tanda desimal (ingat dalam java tanda desimal
adalah titik, dalam bahasa Indonesia tanda desimal adalah koma) atau memiliki tanda
exponensial (huruf e atau E) akan dianggap sebagai floating-point oleh java, atau
tepatnya tipe double kecuali dibelakang angka tersebut terdapat hurup f atau F, maka
akan dianggap float.
Mulai java 1.5, java mendukung penulisan literal hexadesimal untuk floating-point.
penulisan hexadesimal floating point sama dengan hexadesimal di integer, sebagai
tambahannya adalah bisa menulis bilangan exponensial 2 dengan mengunakan
awalan P atau p, misal 0XfP2D sama dengan 15 * 2^2 atau 15 * 4 atau 60 desimal.
Awalan P atau p sepertinya untuk membedakan dengan exponensial 10 yang
menggunakan awalan E atau e.
Exponensial 10 hanya bisa digunakan dalam penulisan literal floating-point desimal,
sedangkan exponensial 2 hanya bisa digunakan dalam penulisan literal floating-point
hexadesimal.

13
14
15
Walaupun char termasuk kedalam tipe data integer, tapi char diperuntukan bukan
untuk perhitungan seperti halnya integer yang lain, chat merupakan jenis interger
yang dikhususkan untuk menampilkan karakter/huruf unicode.
Literal char bisa ditulis dengan dua format single-character dan escape-sequence.
single-character adalah sebuah karakter yang berada dalam tanda ‘. contoh ‘a’ (literal
karakter a), ‘Z’ (literal karakter Z), ‘?’ (literal karakter tanda tanya). semua unicode
bisa digunakan kecuali karakter ‘ (tanda petik satu) dan \ (garis miring terbalik),
kedua karakter tersebut tidak bisa digunakan karena memiliki fungsi khusus dalam
penulisan literal karakter.

Escape-sequence adalah sekelompok karakter yang diawali dengan \ dan memiliki arti
khusus. misal ‘\n’ yang berarti garis baru, ‘\u0065’ yang berarti sama dengan ‘e’.
Escape-sequence biasanya digunakan untuk menulis literal yang tidak bisa langsung
ditulis dengan keyboard atau yang tidak bisa ditampilan.

16
17
18
Integer
Berikut adalah operator yang bisa digunakan untuk tipe data integer pada java,
Operator perbandingan yg menghasilkan nilai tipe boolean (true/false):

Operator perbandingan bilangan terdiri dari < (lebih kecil), <= (lebih kecil atau sama
dengan), > (lebih besar), >= (lebih besar atau sama dengan).

Operator persamaan bilangan terdiri dari == (sama dengan), != (tidak sama dengan).
Tidak seperti bahasa pemrograman lain seperti BASIC, Java menggunakan tanda ==
untuk persamaan, supaya bisa dengan mudah dibedakan dengan operator
pengalokasian/assignment yang menggunakan =.

Operator bilangan yang menghasilkan nilai tipe int atau long:


Operator unary plus dan minus +, -. digunakan untuk memberi tanda apakah
bilangan integer positif atau negatif, tanda positif bersifat opsional, artinya jika
bilangan integer tanpa tanda maka dianggap positif, contoh 8 sama dengan +8.

Operator perkalian *, pembagian /, sisa %, operator * (perkalian) digunakan untuk


mengkalikan bilangan, contoh 5*4 hasilnya adalah 20, operator / (pembagian)
digunakan untuk membagi bilangan, contoh 20/5 hasilnya adalah 4. 30/4 hasilnya
adalah 7, jika operasi pembagian dilakukan antara bilangan bulat maka hasil
perhitungan selalu dibulatkan kebawah. jika suatu bilangan dibagi bilangan bulat 0

19
(nol) maka akan mengakibatkan kesalahan aritmatika yaitu pembagian dengan nol (
Divide by zero). operator % (sisa/remainder) digunakan untuk mendapatkan nilai sisa
dari sebuah bilangan misal 20%4 sisa 0, 20%3 sisa 2.

Operator binary + dan -, Operator + (penambahan) dan – (pengurangan) digunakan


untuk menambah atau mengurang suatu integer.

Operator penambahan ++, baik prefix atau postfix, operator ++ (penambahan/


Increment) digunakan untuk menambah suatu variabel dengan bilangan 1, contoh
++a sama dengan a = a+1. Operator ++ bisa disimpan didepan (prefix) atau disimpan
dibelakang (postfix). jika prefix maka operasi penambahan dilakukan diawal sebelum
operasi lain pada variabel tersebut, jika postfix operasi penambahan dilakukan diakhir
setelah semua operasi lain pada variabel tersebut dilakukan, lihat contoh program.
Operator ini tidak bisa langsung digunakan pada literal integer harus variabel dengan
tipe integer atau floating-point.

Operator pengurangan --, baik prefix atau postfix, sama seperti operator ++ hanya
bedanya nilai variabel dikurangi satu bukan ditambah.

Operator pergeseran binary << (signed left shift ) , >> (signed right shift), and >>>
(unsigned right shift).

Operator << (signed left shift). Operator >> digunakan untuk menggeser binary dari
suatu nilai integer ke kiri bagian kosong diisi 0 (nol), Operator >> digunakan untuk
menggeser binary dari suatu nilai integer ke kanan bagian kosong diisi 0 (nol),
Operator >>> akan menghasilkan nilai sama dengan operator >> jika bilangan yang
digeser positif, jika bilangan yang digeser negatif,asumsi n adalah bilang yang digeser,
s jumlah pergeseran maka hasilnya adalah (n>>s)+ (2<<~s). Jika bilangan bertipe byte,
short atau int maka operasi akan dilakukan dalam int, jika bilangan bertipe long maka
operasi akan dilakukan dalam long. Jika nilai yang digeser adalah byte, short atau int
sebaiknya nilai pergeseran 0-31 dan jika long maka nilai pergeseran sebaiknya 0-63,
jika tidak maka agak sulit memprediksi nilai hasil pergeseran.

The bitwise complement operator ~. berfungsi membalikan(0->1 atau 1->0) binary


dari suatu integer.

The integer bitwise operators &, |, and ^, operator & (AND), | (OR) dan ^ (exclusive
OR atau XOR) berfungsi melakukan operasi logis pada binary integer.

Hasil dari operasi (kecuali shift operator) selalu dalam tipe int dan menghasilkan int,
kecuali jika salah satu operand bertipe long, maka terlebih dulu semua operand akan
dipromosikan (diubah ke tipe yang lebih besar/tinggi) menjadi long kemudian akan

19
menghasikan nilai dengan tipe long.

19
Float
Float memiliki operator yang sama dengan integer, dengan sedikit perbedaan prilaku
diantaranya sbb:

Jika dilakukan pembagian dengan 0 (nol) tidak akan mengakibatkan error, tapi akan
menghasilkan nilai tak terdefinisi (Not a Number / NaN).

Jika salah satu operand adalah tipe floating-point maka operand lain yang memiliki
tipe integer akan dipromosikan menjadi floating-point dan operasi akan dilakukan
dengan floating-point.

Jika salah satu operand adalah double maka perhitungan dilakukan dengan tipe
double dan operand lain yang bukan double akan dipromosikan menjadi double.

Hasil perhitungan akan dibulatkan pada nilai terdekat (round to nearest)

Boolean
Tipe boolean adalah tipe yang hanya bisa memiliki nilai literal true atau literal false.
Dalam bahasa pemograman lain seperti C literal true bisa diganti dengan angka 1 dan
literal false bisa diganti angka 0, fasilitas ini kadang membingungkan hingga di-java
hanya boleh menggunakan literal true atau literal false.
boolean adalah sbb:

20
The relational operators == and != (§15.21.2)
The logical-complement operator ! (§15.15.6)
The logical operators &, ^, and | (§15.22.2)
The conditional-and and conditional-or operators && (§15.23) and || (§15.24)

20
21
N = Konversi tidak bisa dilakukan,
Y = Konversi perluasan, dilakukan otomatis,
C = Konversi penyempitan, harus di casting secara manual.
Y* = Konversi perluasan, dilakukan otomatis tapi bisa mengakibatkan hilangnya
akurasi (dijit)

22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37

Anda mungkin juga menyukai