Slide IST101 Fondasi Pemrograman Struktur Data 04 Fundamentals Data Type String Array Scanner

FONDASI PEMROGRAMAN & STRUKTUR
DATA
#4
Fundamental Data Type &
Array

Augury El Rayeb, S.Kom., MMSI.
Fondasi Pemrograman & Struktur Data | IST101

Tujuan Pertemuan
• Mahasiswa paham dan mampu
menggunakan reference type.
• Mahasiswa memahami konsep dan teknik
penggunaan String
• Mahasiswa memahami konsep dan teknik
penggunaan Array
• Mahasiswa memahami konsep dan teknik
penggunaan Scanner & FileReader

Augury El Rayeb, S.Kom., MMSI.
Fondasi Pemrograman & Struktur Data | IST101


Dasar Object & Reference
• Object adalah suatu instance of
(instansi/umpama/perumpamaan) dari
suatu tipe (tapi tipe nonprimitive berupa
suatu class).
• Object disimpan dalam suatu memory
• Reference variable menyimpan reference
(memory address) ke objects

Augury El Rayeb, S.Kom., MMSI.
Fondasi Pemrograman & Struktur Data | IST101

Reference Variable
• Reference variable (atau sering disingkat
reference) dalam Java adalah variable
yang dengan suatu cara tertentu
menyimpan alamat memory tempat suatu
Objec
object disimpan.

t
Reference Type
Var
Reference Type
Var
Reference Type
Var

1000 (0,0)
1024 (5,12)
3200 point2 =
1024
3600 point1 =
1000
5124 point3 =
1000

Objec
t


Augury El Rayeb, S.Kom., MMSI.
Fondasi Pemrograman & Struktur Data | IST101

Reference Variable
• Reference akan selalu menyimpan alamat
memory tempat penyimpanan suatu
object.
Contoh: point1 menyimpan 1000, yang
merupakan alamat memori 100
dari (0, 0).
0

1000 (0,0)
1024 (5,12)

point1
102
4

(0, 0)

(at 1000)

3200 point2 =
1024

point2

(5, 12)

3600 point1 =
1000

100
0

(at 1024)

5124 point3 =
1000


point3

Augury El Rayeb, S.Kom., MMSI.
Fondasi Pemrograman & Struktur Data | IST101

Operators for Reference
Variable

• Operator yang dapat dipakai oleh variabel dengan
tipe reference (kecuali type String) adalah
▫ operator assignment ( = ) dan
▫ operator equality comparison (== atau != ).

• Contoh:
point3 = point2;
Dengan demikian maka:
Point3 sekarang berisi 1024,
yaitu;
Alamat dari object (5,12)


Before

After

1000 (0,0)

1000 (0,0)

1024 (5,12)

1024 (5,12)

3200 point2 = 1024
3600 point1 = 1000

3200 point2 =
1024

5124 point3 =
1000


3600 point1 =
1000
5124 point3 =
1024

SIF1213 - 6

Augury El Rayeb, S.Kom., MMSI.
Fondasi Pemrograman & Struktur Data | IST101

Operations Deals with the
Object

• Terdapat beberapa kategori operasi
terkait object yang dijadikan referensi
oleh variable tipe reference.
Hanya terdapat 3 aksi yang dapat diberikan
pada object:
1. type conversion.

2. Akses internal field (variable internal) atau
call a method melalui dot operator (.).
3. Menggunakan instanceof operator untuk
verifikasi tipe dari object yang disimpan.

Augury El Rayeb, S.Kom., MMSI.
Fondasi Pemrograman & Struktur Data | IST101

The dot operator (.)
• Dot operator digunakan untuk memilih
method yang diterapkan pada suatu
object.
• Contoh:
String kalimat="Selamat pagi semua, apakabar hari ini";
char huruf3 = kalimat.charAt(3);
Dot
Operator

method


Augury El Rayeb, S.Kom., MMSI.
Fondasi Pemrograman & Struktur Data | IST101

Strings
• String dalam java akan ditangani secara reference type.
• String behaves like an object
• String immutable,
Artinya begitu object string dibuat, isinya tidak bisa berubah.
Contoh:
String empty = “kosong";
100 Kosong
String message = "Hello";
0
String repeat = message;
102 Hello
4

Berdasarkan kode diatas:
320 Empty =
Terdapat 2 string, yaitu;

0 1000
1.object string kosong yang direferensikan
360 message =
0 1024
oleh empty, dan
2.object string Hello yang direferensikan oleh message
dan =repeat
512 repeat
4 1024

Augury El Rayeb, S.Kom., MMSI.
Fondasi Pemrograman & Struktur Data | IST101

Strings Concatenation
"this" + " that"
"abc" + 5
5 + "abc"
"a" + "b" + "c"
"a" + 1 + 2
1 + 2 + "a"

1 + ( 2 + "a" )

//
//
//
//
//
//
//

Hasilnya
Hasilnya
Hasilnya
Hasilnya
Hasilnya
Hasilnya
Hasilnya

"this that"
"abc5"
"5abc"
"abc“
"a12"
"3a"
"12a"

Augury El Rayeb, S.Kom., MMSI.
Fondasi Pemrograman & Struktur Data | IST101

Strings Comparing
• Untuk membandingkan kesamaan
(equality) dua object String, digunakan
equals method.
String lhs = "this";
String rhs = "that";
Boolean sama = lhs.equals(rhs) // Hasilnya false

Akan bernilai true jika lhs and rhs me-refer pada
String yang menyimpan nilai yang identik.

Augury El Rayeb, S.Kom., MMSI.
Fondasi Pemrograman & Struktur Data | IST101

Strings Methods
String greeting = "hello";
int len = greeting.length();
// len is 5
char ch = greeting.charAt(1);
// ch is 'e'
String sub = greeting.substring( 2, 4 ); // sub is “ll"

Augury El Rayeb, S.Kom., MMSI.
Fondasi Pemrograman & Struktur Data | IST101

String Converting/Casting
• .toString()
• Konversi primitive type ke String
sourceType.toString(number_val, format);
System.out.println( "55 in base 2: " + Integer.toString( 55, 2 ) );

• Konversi String ke number
destType.parseDestType(string);
int x = Integer.parseInt( "75" );
double y = Double.parseDouble( "3.14" );

Augury El Rayeb, S.Kom., MMSI.
Fondasi Pemrograman & Struktur Data | IST101

Arrays
• Array merupakan mekanisme dasar dalam
penyimpanan sekumpulan entitas nilai
yang memiliki type sejenis.
• Tiap entitas dalam array dapat diakses
melalui operator index array, yaitu:
[index]
Nomer index dimulai dari nol.

Augury El Rayeb, S.Kom., MMSI.
Fondasi Pemrograman & Struktur Data | IST101

Arrays Declaration
int [] array1;
array1 = new int [100];

Jumlah entitas yg
dapat ditampung
Array

atau
int [] array1 = new int [100];
atau
int [] array1 = { 3, 4, 10, 6 };

Nilai atau
sekumpulan
entitas yang
mengisi array

Augury El Rayeb, S.Kom., MMSI.
Fondasi Pemrograman & Struktur Data | IST101

Arrays Assignment
array[i]= value;
Index tempat
penyimpanan nilai

Nilai yang akan
disimpan

char
char []
[] array1
array1 == new
new char[4];
char[4];
for(int
for(int i=0;i