Bab Iv
Bab Iv
4.1 Menampilkan Nilai Default dan Nilai Maksimal dari Tipe Data Primitif
Pada latihan pertama ini akan dijelaskan cara menampilkan nilia default dari
masing – masing tipe data,
Source code:
public class MiaValue {
static boolean b;
static char c;
static byte bt;
static short s;
static int i;
static long l;
static float f;
static double d;
public static void main(String args[]) {
System.out.println("value b =" +b);
System.out.println("value c =" +c);
System.out.println("value bt =" +bt);
System.out.println("value s =" +s);
System.out.println("value i =" +i);
System.out.println("value l =" +l);
System.out.println("value f =" +f);
System.out.println("value d =" +d);
} }
Program diatas menjelaskan kemampuan data yang bias ditampilkan dari tipe data
Boolean long integer byte
Short float double char
Mari kita jalankan program diatas pada command prompt :
39
Hasil compile interprter dari program mengetahui data default value apa yang bisa
di muat pada masing – masing tipe data tertentu :
Hasil percobaan:
Gambar 4.1 Tampilan Hasil Compile Menampilkan Default Value Tipe Data
Keterangan program:
Dalam hasil compile diatas menjelaskan bahwa :
1. Tipe data Boolean memiliki nilai default : False (true or false)
2. Tipe data Char memiliki nilai default : tak terdefinisi
( karena pada tipe data tidak ada input karakter , sehingga tidak ada hasilnya
yang ditampilkan)
3. Tipe data Byte memiliki nilai default : 0 (Bilangan Riel)
4. Tipe data Short memiliki nilai default :0
5. Tipe data Integer memiliki nilai default :0
6. Tipe data Long memiliki nilai default :0
7. Tipe data Float memiliki nilai default : 0.0 ( Bilangan Pecahan )
8. Tipe data Double memiliki nilai default : 0.0
Latihan yang kedua menampilkan cara mengetahui nilai maksimal dari suatu tipe
data,
Source code:
40
Public class MaxMiaCoba {
public static void main(String args[]) {
byte largestByte = Byte.MAX_VALUE;
short largestShort = Short.MAX_VALUE;
int largestInteger = Integer.MAX_VALUE;
long largestLong = Long.MAX_VALUE;
float largestFloat = Float.MAX_VALUE;
double largestDouble = Double.MAX_VALUE;
char aChar = 'S';
boolean aBoolean = true;
41
Hasil percobaan:
Gambar 4.2 Tampilan Hasil Program Mencari Nilai Maksimal Tipe Data
Keterangan program:
Dari program yang barusan kita jalankan, sehingga kita dapat mengetahui nilai
maksimal yang mampu di simpan dalam memori tipe data :
a. Byte hanya mampu menampung sekitar 127
b. Short hanya mampu menampung sekitar 32767
c. Integer hanya mampu menampung sekitar 2147483647
d. Long mampu menampung sekitar 9223372036854775807
e. Float mampu menampung sekitar 3.4028235e38
f. Double mampu menampung sekitar 1.7976931348623157e308
42
Source code:
public class NilaiLiteral {
String lahir;
String nama;
String alamat;
String status;
String ket;
int usia ;
double beratbadan;
double tinggi;
void TampilkanBiodata()
{
System.out.println("");
System.out.println("====================================")
;
System.out.println("\t\tbiodata pribadi");
System.out.println("====================================")
;
System.out.println(" nama lengkap = "+nama);
System.out.println(" alamat = "+alamat);
System.out.println(" TTL = "+lahir);
System.out.println(" umur = "+usia);
System.out.println(" status = "+status);
System.out.println(" pekerjaan = "+ket);
System.out.println(" berat badan = "+beratbadan);
System.out.println(" tinggi badan = "+tinggi);
System.out.println("====================================")
;
}
43
input.lahir = "TUBAN, 11 November 1992";
input.usia = 21;
input.status = "BELUM KAWIN";
input.ket = "MAHASISWA";
input.beratbadan = 50,00;
input.tinggi = 155;
input.TampilkanBiodata();
}
}
Hasil percobaan :
Gambar 4.3 Tampilan Hasil Compile Menampilkan Biodata Dengan Nilai Literal
Keterangan program:
Program diatas mengunakan coverting variabel NilaiLiteral menjadi Variabel
Data . sehingga ketika anda memasukan literal tiap variabel selalu didahului script
data, contoh nya yaitu :
input.nama = "Rumiyati Sholihah";
input.alamat = "SENORI - JAWA TIMUR";
input.lahir = "TUBAN, 11 November 1990";
44
input.usia = 21;
input.status = "BELUM KAWIN";
Pada penulisan String pada saat memberikan nilai literal harus selalu diapit tanda
kutip dua ( “ ). Misalkan pada program diatas :
input.nama = "Rumiyati Sholihah";
input.alamat = "SENORI - JAWA TIMUR";
input.status = "BELUM KAWIN";
dan yang perlu diingat pada saat memberikan nilai literal pada nilai double atau
float tanda koma ditulis dengan tanda titik ( . )
Program diatas jika dijalankan akan menghasilkan sebuah inputan karakter yang
ditampilkan tanpa ada perulangan tampilan :
45
Hasil percobaan:
Keterangan program:
Program diatas adalah program yang menggunakan input system.in.read()
dimana akan membaca hasil yang kita input, dan tidak akan menampilkan apa –
apa jika yang kita input kan kurang dari 1 karakter karena dalam program sudah
terdapat batasnya yaitu char input = (char) -1;
46
s.append(c);
}
}
catch (Exception e){
System.out.println("error"+e.toString());
}
System.out.println(s);
}
}
Lakukanlah pengompilean seperti no. 4.3.1 pada program ini saya coba
memasukkan karakter input yang sama sehingga agar bias melihat perbedaannya,
lihat gambar :
Hasil percobaan:
Keterangan program:
Program diatas merupakan program yang menggunakan input karakter dengan
stringbuffer, yaitu buffer yang bertipe string StringBuffer s = new
StringBuffer();. Dan melakukan implisit casting dimana pada bagian ((c =
(char)System.in.read())!='\n'){
47
4.3.3 Membaca dengan Int Read ( Byte b[ ] )
Percobaan dibawah ini adalah program yang membaca karakter dengan read byte :
Source code:
class BacaData2 {
public static void main (String args[]){
byte buf[] = new byte[80];
try {
System.in.read(buf);
}
catch (Exception e){
System.out.println("error : " + e.toString());
}
String s = new String(buf, 0);
System.out.println(s);
}
}
Hasil percobaan :
Gambar 4.6 Tampilan Hasil Membaca Input Dengan Int Read ( Byte B [ ] )
Keterangan program:
byte buf[] = new byte[80]; script ini menandakan bahwa program diatas
memakai system input read byte dengan [80] merupakan banyaknya karakter
yang mampu dimasukan dalam input atau yang mampu terbaca. Sedangkan
48
String s = new String(buf, 0); merupakan implisit casting dengan
kondisi buffer nilai yang dimasukan harus lebih dari 0 (nol).
Hasil percobaan:
Gambar 4.7 Tampilan Hasil Membaca Karakter Dengan Int Awal Dan In Pajang
Keterangan program:
49
Mengapa ketika input diketikan rumiyati sholihah hanya muncul 10 karakter
termasuk spasi dari awal kalimat yaitu rumiyati s , dari hal ini dikarenakan ada
program ini memberikan kondisi int panjang 10 karakter seperti contoh kutipan
script program diatas :
byte buf[] = new byte[10];
try {
System.in.read(buf, 0, 10);
}
(buf, 0, 10) angka 10 disitu yang menyebabkan input hanya dibatasi sepuluh
karakter saja. jika kita mengganti angka int panjang 15 mungkin akan
menampilkan karakter sebanyak 15 dari awal.
Jika program diatas dijalakan pada command prompt maka hasilnya sebagai
berikut :
Hasil percobaan:
50
Gambar 4.8 Tampilan Hasil Interpreter Memanfaatkan Argument String Args[ ]
Keterangan program:
Dari mana hasil 1.5 itu pada output ? hasil 1.5 itu diperoleh pada rumus yang
digunakan pada program yaitu float hasil = (i*j+j-i)/j; anda juga bias
diubah sesuai pemrogram. Jadi hasil 1.5 tadi mengeksekusi dari aritmatika
tersebut.
float i = Integer.parseInt("1");
float j = Integer.parseInt("2");
potongan script diatas merupakan eksplisit casting yang bertipe integer dengan
memberi nilai / argumen pada tanda kurung tersebut dan diapit tanda kutip dua.
try {
System.out.print("enter a number : ");
kalimat = in.readLine();
angka = Integer.parseInt(kalimat);
}
catch(IOException e) { System.out.println(e);}
51
try {
System.out.print("enter a character : ");
kalimat = in.readLine();
huruf = kalimat.charAt(0);
}
catch(IOException e) { System.out.println(e);}
try {
System.out.print("enter some words : ");
kalimat = in.readLine();
}
catch(IOException e) { System.out.println(e);}
Jika program diatas dijalankan , maka kita coba inputkan data sesuai berikut :
1. Enter a number : (coba masukkan 1-9 , karena tipe integer hanya mampu
menampung 10 digits).
2. Enter a character : (coba masukkan huruf besar / kecil antara A – Z atau a
– z).
3. Enter some words : (coba anda masukkan kalimat apa saja)
Maka hasilnya dari diatas adalah seperti gambar dibawah ini :
52
Hasil percobaan:
Keterangan program:
1. Terjadi converting pada bagian script
huruf = kalimat.charAt(0); disini yaitu mengubah variabel huruf
atau kalimat yang diinputkan ke tipe Char.
angka = Integer.parseInt(kalimat); script ini berarti bahwa
data yang dinputkan integer namun dilakukan ekplisit casting ke nilai yang
lebih sempit.
2. Ciri dari program input stream biasa memakai import java.io.*;
karena tanpa itu system IOException yang bertipe seperti dibawah ini :
try {
System.out.print("enter a number : ");
kalimat = in.readLine();
angka = Integer.parseInt(kalimat);
}
catch(IOException e)
{ System.out.println(e);}
53
tidak akan berjalan ( berfungsi ) sehingga menimbulkan error pada
program.
3. DataInputStream in = new
DataInputStream(System.in);
Kata in pada script diatas merupakan variabel baru yang digunakan
variabel read line. Contoh : kalimat = in.readLine(); . jika
kita memakai kata input pada pendeklarsian variabel new maka otomatis
pada script input read linenya berubah menjadi kalimat =
input.readLine();
54