0% menganggap dokumen ini bermanfaat (0 suara)
25 tayangan

Modul 2 Dasar Pemrograman Java

Dokumen tersebut membahas tentang materi pertemuan 2 PBO 1 yang mencakup pengenalan tentang identifier, kata kunci, tipe data primitif dan referensi, literal, input output, serta konversi tipe data primitif dalam bahasa pemrograman Java."

Diunggah oleh

Rahmat Nur Effendi
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PPTX, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
25 tayangan

Modul 2 Dasar Pemrograman Java

Dokumen tersebut membahas tentang materi pertemuan 2 PBO 1 yang mencakup pengenalan tentang identifier, kata kunci, tipe data primitif dan referensi, literal, input output, serta konversi tipe data primitif dalam bahasa pemrograman Java."

Diunggah oleh

Rahmat Nur Effendi
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PPTX, PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 35

MATERI

PERTEMUAN 2
PBO 1
DHANY INDRA GUNAWAN
TUJUAN
• Membedakan antara valid dan invalid identifiers.
• Mengetahui Java technology keywords.
• Mengetahui 8 tipe data primitif.
• Mendefinisikan literal value untuk tipe data
numerik dan tekstual.
• Mendefinisikan primitive dan reference
variable.
• Mendeklarasikan variabel bertipe class.
• Operasi Input/output
• Konversi dan casting tipe data primitif.
KATA KUNCI
abstract else interface super
boolean extends long switch
break final native synchronized
byte finally new this
case float null throw
catch for package throws
char goto private transient
class if protected try
const implements public void
continue import return volatile
do instanceof short while
double int static assert*

*dikenal mulai JDK 1.4 enum**


**dikenal mulai JDK 1.5 -Tidak ada yang menggunakan huruf besar
-Tidak bisa digunakan sebagai identifier
IDENTIFIER

• Nama yang diberikan


untuk variabel, konstanta,
class, atau method Identifier Benar Salah
• Harus diawali dengan X
huruf, tanda dolar($) atau
garis bawah(_), dan $_99
tidak boleh mengandung 2minggu
spasi
• Case Sensitive dan tidak Barang#
dibatasi oleh panjang
_nama
maksimum
• Karakter kedua dan Kuartal_1
seterusnya dapat berupa
sembarang huruf atau dua kali
angka Super
• Tidak boleh menggunakan
reserve keyword(kata
kunci)
TIPE DATA

• Tipe data diperlukan agar kompiler tahu operasi


apa yang valid dan seberapa banyak memori
yang diperlukan oleh sebuah nilai yang akan
disimpan atau dioperasikan.
• Variabel digunakan untuk menampung suatu nilai,
karena itu setiap variabel pasti memiliki tipe data
dan harus dideklarasikan terlebih dahulu sebelum
dapat digunakan.
• Dalam java, tipe data dapat dikelompokkan
menjadi 2 yaitu:
a. tipe data primitif
b. tipe data referensi
TIPE DATA PRIMITIF
• Merupakan tipe data dasar yang dikenal oleh java
Tipe Data Ukuran(bit) Nilai

byte 8 -128 s/d 127

short 16 -32.768 s/d 32.767

int 32 -2.147.483.648 s/d


2.147.483.647
long 64 -9.232.372.036.854.775.808
s/d
9.232.372.036.854.775.807
float 32, presisi 6-7 digit -3.4E38 s/d 3.4E38

double 64, presisi 14-15 -1.7E308 s/d 1.7E308


digit
char 16 0 s/d 65535

boolean 8 true atau false


TIPE DATA
REFERENSI

• Digunakan untuk memegang referensi(alamat) dari


suatu objek(instance dari suatu kelas)
LITERA
L

• Suatu nilai konstan yang terlihat secara eksplisit


• Terdapat 4 literal:
a. Literal Integer
b. Literal Floating-point
c. Literal Boolean
c. Literal Character
d. Literal String
A. LITERAL INTEGER
• Suatu bilangan bulat bisa dinyatakan dalam:

a. bilangan 8)penulisan bilangan


oktal(bilangan berbasis untuk bilangan
dimulai dengan angka 0, oktal
digit memiliki range(0-7)
b. bilangan heksadesimal(bilangan berbasis 16)penulisan
dimulai dengan tanda 0x atau 0X, memiliki range antara 10-
15(digunakan huruf A-F atau a-f)
c. bilangan desimal(bilangan berbasis 10)

Contoh program:

public class coba{


public static void main( String args[]){
System.out.println(17);
System.out.println(0x17);
System.out.println(017);
}
}
• Tipe data defaultnya adalah integer, sehingga bila
ingin tipe data long maka menambahkan huruf l
atau L dibelakang angka
contoh:
long x = 25L

b. Literal Floating-point
• Bilangan ini dapat ditulis menggunakan notasi standar
biasa atau menggunakan notasi ilmiah
• Notasi standar menggunakan titik untuk menandakan
pecahan contoh: 10.2, 3.14, 5.789
• Notasi ilmiah dapat digunakan dengan menambahkan
lambang E (Eksponensial) pada notasi standard floating point
contoh: 7.02345E3 = 7.02345 x 103
• Secara default semua nilai literal floating point
yang ditulis dalam java akan dianggap memiliki
tipe data double
• Secara eksplisit, kita dapat menentukan tipe data
dari nilai literal yang ditulis dengan
menambahkan lambang F atau f untuk tipe data
float dan D atau d untuk tipe data double.

Contoh program:
public class hello{
public static void main(String args[]){
float x = 12.5;
System.out.println(x);
}
}
Apa yang terjadi?????
C. LITERAL BOOLEAN

• Untuk tipe data boolean, java hanya mengenal


dua nilai literal, yaitu true dan false.
• Contoh penggunaan:
boolean isBig = true;
boolean isLittle =
false;
• Note:
boolean literal tidak
boleh berharga 0 atau 1
LITERAL CHARACTER
• Literal karakter digunakan untuk menyatakan
sebuah karakter
• Literal untuk karakter dalam java ditulis diantara
tanda petik tunggal
contoh:
char c = ‘w’;
• Mendukung penggunaan unicode character yang
mencakup hampir semua karakter yang dikenal
oleh manusia
a. jika menggunakan bilangan oktal ditulis
dengan format ‘\ddd’
b. jika menggunakanbilangan heksadesimal
dengan format ‘\uxxxx,
xxxx
ditulisdiganti dengan bilangan heksadesimal
dimana
• Contoh:
public class coba{
public static void main(String args[]){
char x='\141' ;
char y='\u0061';
System.out.println(x);

System.out.println(y);
}
}
• Escape sequence yang dikenal oleh java

Escape Sequence Deskripsi


\’ Petik tunggal
\” Petik ganda
\\ Backslash
\n Pindah baris
\r Return
\b Backspase
\f Form feed
LITERAL STRING

• Literal untuk string ditulis diantara tanda petik


ganda
• Contoh:
String s = “halo apa kabar STT Bandung
tercinta”;
• Cara penulisan dalam program:
System.out.println(“halo apa kabar STT
Bandung tercinta);
atau
System.out.println(“HALO APA KABAR”
+ “STT
BANDUNG TERCINTA”);
ATAU
SYSTEM.OUT.PRINT(“HALO APA KABAR”);
SYSTEM.OUT.PRINTLN(“STT BANDUNG TERCINTA”);
DEFINISI KONSTANTA

• Java memungkinkan pendefinisian konstanta


melalui kata kunci final
contoh: final double PI = 3.14;
• contoh program:
public class lingkaran{
public static void main(String args[]){
double radius = 2.5;
double luas;
luas = 3.14 * radius * radius
System.out.println(luas);
}
-Tambahkan konstanta PI
} -Ubah tipe data radius menjadi float
OPERASI INPUT/OUTPUT

a. Menampilkan Teks
1. Menggunakan metode println Apa tampilan programnya???
2. Menggunakan metode print

public class coba Cetak{


public static void main(String args[])
{ System.out.print("usia widya:");
System.out.print(20);
System.out.print(",Anto:");
System.out.print(21);
System.out.println();
System.out.println("******akhir");
}
}
b. Membaca Data dari Keyboard
- Menggunakan JOptionPane yang dapat menampilkan window kecil
dengan textfield untuk menerima input dari keyboard
- JOptionPane merupakan bagian dari
package javax.swingimport javax.swing
- JOptionPane menerima input berupa String
Contoh Program:
import javax.swing.*;
public class hallo {
public static void main(String args[ ])
{ String
nama=JOptionPane.showInputDialog("siapa nama
anda");
System.out.println(nama)
; System.exit(0);
}
}
c. Mengkonversi String ke Type yang Lain
Untuk menghendaki data yang bertipe integer, float, dan double  bisa
digunakan kelas Integer, Float, Double dan memanggil metode parseInt,
parseDouble, parseFloat
Contoh program:
import javax.swing.*;

public class Hallo {


public static void main(String args[ ]) {
final double PI = 3.14;
double Luas;
String jari=JOptionPane.showInputDialog("masukkan
jari-jari");
double jari_jari=Double.parseDouble(jari);
Luas = PI * jari_jari * jari_jari;
System.out.println(Luas);
}
}
CONVERSION OF PRIMITIVES

• Terjadi pada saat kompile


• Konversi dari tipe primitif bisa terjadi pada :
a. assignment
b. method call
c. Arithmetic promotion
PRIMITIVES CONVERSION:
ASSIGNMENT
• Terjadi ketika suatu nilai kita berikan pada
suatu variabel yang tipe datanya berbeda
dari data aslinya.
• Tipe data yang baru harus mempunyai
ukuran lebih besar dari tipe data yang
lama.
• Conto
h:
int data1 = 10;
long data2 = data1;
Hasil:
Nilai data2 = 10
PRIMITIVES CONVERSION:
ASSIGNMENT
• Contoh konversi yang illegal
1. double d;
2. short s;
3. d = 1.2345;
4. s = d; // Assign a double to a short
variable
Muncul error: possible loss of
precision
Karena tipe data short lebih
kecil dari double.
Aturan untuk Primitive Assignment
Conversion
• Boolean tidak bisa di konversi ke tipe
data lain
• Non-boolean dapat di konversi ke tipe
data lain selain boolean, konversi yang
dilakukan adalah widening conversion

Note: widening conversion adalah


merubah tipe data suatu variabel ke
tipe data yang ukuran bit nya lebih
besar dari aslinya.
JAVA’S WIDENING
CONVERSIONS
• Dari byte ke short, int, long, float,
atau double
• Dari short ke int, long, float, atau double
• Dari char ke int, long, float, atau double
• Dari int ke long, float, atau double
• Dari long ke float atau double
• Dari float ke double
• char

int long float double

byte short
JAVA’S NARROWING CONVERSIONS
• Dari byte ke char
• Dari short ke byte ke char
• Dari char ke byte atau short
• Dari int ke byte, short, atau char
• Dari long ke byte, short, char, atau int
• Dari float ke byte, short, char, int, atau long
• Dari double ke byte, short, char, int, long,atau
float

char
int long float double

byte short
PRIMITIVES CONVERSION: ASSIGNMENT
ADA YANG ISTIMEWA TENTANG INTEGRAL LITERAL
ASSIGNMENT
Ilegal : 1.234 adalah literal untuk double sehingga
tidak bisa diberikan pada float.
float f = 1.234;
Legal: khusus untuk literal integer aturan
assignment conversion dibebaskan.
byte b = 1;
short s =
2; char c =
3;
Illegal: Pembebasan assignment conversion untuk
integral literal hanya untuk assignment
terhadap nilai.
int i = 12;
byte b = i;  i adalah bukan nilai
PRIMITIVES CONVERSION: METHOD
CALL
• Terjadi ketika kita berusaha melewatkan suatu nilai variabel sebagai
argumen suatu method, dimana tipe
data variabel method tersebut berbeda dengan yang diterima.

1. float frads;
2. double d;
3. frads = 2.34567f;
4. d = Math.cos(frads); // Pass float to method
// that expects double

Hint: Math.cos(double d);


Pada contoh diatas frands yang bertipe float akan secara otomatis di
konversi menjadi double.
Pada contoh diatas terjadi widening conversions.
PRIMITIVES CONVERSION: METHOD
CALL
• Narrowing conversions tidak diperbolehkan
Contoh ilegal:

double d = 12.0;
Object ob = myVector.elementAt(d);

Hint : myVector.elementAt(int i);


Hasil kompile: Incompatible type for
method.
Harus dilakukan casting secara eksplisit
untuk mengkonversi dari double ke int
PRIMITIVE CONVERSION: ARITHMETIC
PROMOTION

• Terjadi pada operasi matematika.


Kompiler berusaha mencari tipe data yang sesuai
dengan tipe data operan yang berbeda-
beda.
1. int nilai=26;
2. double hasil = nilai/4;

Apa yang terjadi??


ATURAN: ARITHMETIC
PROMOTION
• Unary operators: +, -, ++, --, ~
• Jika operan bertipe byte, short, atau char,
maka dikonversikan ke int
ATURAN: ARITHMETIC
PROMOTION
• Binary operators: +, -, *, /, %, >>, >>>, <<, &, ^, |
Jika salah satu operan adalah double, operan lain
dikonversikan ke double.
Jika salah satu operan adalah float, operan lain
dikonversikan ke float.
Jika salah satu operan adalah long, operan lain
dikonversikan ke long.
Selain tipe data diatas maka dikonversikan ke int.
PRIMITIVES DAN
CASTING
Casting means explicitly telling Java to
make a conversion.

Cara: tambahkan tipe data yang


diinginkan dalam tanda
kurung sebelum nilai.
1. int i = 5;
2. double d = (double)i;

Sama dengan:
3. int i = 5;
4. double d = i;
PRIMITIVES DAN
Are CASTING
required when you want to perform a narrowing
conversion.

1. short s = 259;
2. byte b = s; // Compile error
3. System.out.println(“s = “ + s + “ , b = ” + b);
Pesan error = Explicit cast needed to convert short to
byte.

Solusi: dengan menambahkan casting


4. short s = 259;
5. byte b = (byte)s; // Explicit cast
6. System.out.println(“b = ” + b);

Hasil : b = 3
Kenapa 259 = 1 0000 0011
The cast tells the compiler “Yes, I really want to do
it”

Anda mungkin juga menyukai