LAPORAN PRAKTIKUM 1 ALGORITMA STRUKTUR D

LAPORAN PRAKTIKUM I
TIPE DATA PRIMITIF, ABSTRAK DAN KOLEKSI
Disusun untuk Memenuhi Matakuliah Praktikum Algoritma Struktur Data
Dibimbing oleh Ibu Annisa Puspa Kirana, S. Kom, M. Kom

Oleh:
Dwitha Fajri Ramadhani
Ika Damayanti

160533611410

160533611505

S1 PTI’16 OFF B

UNIVERSITAS NEGERI MALANG
FAKULTAS TEKNIK
JURUSAN TEKNIK ELEKTRO
PRODI S1 PENDIDIKAN TEKNIK INFORMATIKA
Februari 2017


TIPE DATA PRIMITIF, ABSTRAK DAN KOLEKSI

Tujuan
Setelah mempelajari bab ini diharapkan mahasiswa akan mampu :
1. Memahami penggunaan tipe data baik primitif, abstrak dan koleksi
2. Memahami penggunaan bahasa pemrograman Java secara sederhana dan Tools yang
digunakan

DASAR TEORI
PENGENALAN JAVA
Dalam Java ada 2 jenis program berbeda, yaitu aplikasi dan applet. Keduanya
merupakan bagian dari execute, dimana execute merupakan salah satu fase kelima dalam
siklus program Java. Aplikasi adalah program yang biasanya disimpan dan di eksekusi dari
komputer lokal. Applet adalah program yang biasanya disimpan pada komputer yang
jauh,yang dikoneksikan pemakai lewat web browser. Komputer jauh menjalakan web server
yang memberi layanan terhadap permintaan web browser.
Kebanyakan bahasa pemrograman modern berdiri di atas pustaka-pustaka kelas yang
telah ada untuk mendukung fungsionalitas bahasanya. Pada bahasa Java, kelompokkelompok kelas yang berkaitan erat dimasukkan dalam satu paket, bervariasi sesuai edisi
Java.
Java adalah bahasa yang dapat dijalankan dimanapun dan di sembarang platform apapun, di

beragam lingkungan: Internet, intranets, consumer electronic products, dan computer
applications. Untuk beragam aplikasi yang dibuat dengan bahasa Java, Java dipaketkan
dalam edisi-edisi berikut:

Java 2 Standar Edition (J2SE), J2SE menyediakan lingkungan pengembangan yang
kaya fitur, stabil, aman, dan cross-platform. Edisi ini mendukung konektivitas basis data,
rancangan user interface, masukkan/ keluaran (input/ output), dan pemrograman jaringan
(network programming), dan termasuk sebagai paket-paket dasar bahasa Java.


Java 2 Enterpise Edition (J2EE), J2EE menyediakan tempat untuk membangun dan
menjalankan multitier enterprise editions. J2EE berisi paket-paket di J2SE ditambah
paket-paket untuk mendukung pengembangan Enterprise JavaBeans, Java Servlets,
JavaServer Pages, XML, dan kendali transaksi yang fleksibel.



Java 2 Micro Edition (J2ME), J2ME selain menyedikan bahasa Java yang sama,
unggul dalam portabilitas (kemampuan dapat dijalankan dimanapun), safe network
delivery, seperti J2SE dan J2EE. Aplikasi-aplikasi dapat diskalakan (dimampukan) agar

dapat bekerja dengan J2SE dan J2EE. J2ME adalah untuk beragam consumer electronic
product, seperti pager, smart card, cell phone, handheld PDA, dan set-top box.

Ada 3 kombinasi kunci yang membuat Java menjadi teknologi yang secara
fundamental berbeda dari yang lain, yang ada saat ini. Pertama, semua orang dapat
menggunakan applet yang kecil, aman, dinamik, lintas-platform, aktif, dan siap dijalankan di
jaringan sejak awal. Kedua, Java adalah bahasa pemrograman yang ampuh, memiliki
kekuatan desain berorientasi objek dengan sintaks yang sederhana dan mudah dikenal.
Ketiga, Java adalah kumpulan class object yang ampuh, yang melayani programmer dengan
uraian yang jelas untuk banyak fungsi sistem umum, seperti pembuatan window, penggunaan
jaringan, dan input/ output.

TOKEN
Dalam Java ada yang dikenal dengan istilah token. Token merupakan elemen terkecil
di program yang mempunyai arti bagi kompilator. Kompilator bertugas membaca karakterkarakter di kode sumber dan menerapkan aturan-aturan secara progresif menjadi potongan
lebih besar seperti identifier, ekspresi, kalimat, dan kelas. Token Java dibagi 5, yaitu:
 Identifier
Identifier adalah token yang merepresentasikan nama. Dalam Java, identifier adalah nama
yang diberikan untuk variable, class, atau method. Identifier boleh dimulai dengan huruf,
underscore (_) atau tanda dollar ($). Identifier adalah case sensitive (membedakan huruf

besar/ kecil) dan tidak ada batas maksimum.
Contoh :
username
user_name
_sys_var1
$change

 Keyword
Keyword (kata kunci) adalah dentifier yang digunakan dalam Java untk suatu tujuan khusus.
Daftar keyword Java sebagai berikut: abstract, Boolean, Break, Byte, byvalue, Case, Catch,
Char, Class, Const, continue, default, Do, double, else, extends, false, final, finally, float, for,
goto, if, implements, import, instanceof, In, Interface, Long, Native, New, Null, Package,
private, protected, public, return, short, static, Super, Switch, synchronized, This, threadsafe,
throwm Transient, True, Try, Void, while.
 Literal
Penulisan besaran untuk variabel adalah penting, literal Java terdiri dari angka, karakter, dan
string. Angka terdiri dari bilangan bulat (integer), bilangan mengambang (floating point), dan
boolean. Nilai boolean untuk true dan false direpresentasikan sebagai 1 dan 0.
 Operator
Operator menspesifikasikan evaluasi atau komputasi terhadap objek. Operan yang

dioperasikan dapat berupa literal, variabel, atau nilai yang dikirim oleh metode atau fungsi.
 Separator
Separator digunakan untuk menginformasikan ke komplator Java mengenai adanya
pengelompokkan di kode program. Berikut daftar separator yang digunakan dalam Java:
Simbol
()

{}
[]
;

Nama

Penggunaan
Untuk menghimpun parameter dalam definisi dan pemanggilan method,
juga digunakan untuk menyatakan tingkat pernyataan, menghimpun
Kurung
pernyataan, untuk pengaturan alur program, dan untuk menyatakan tipe
cast (cast types)
Untuk menghimpunnilai yang otomatis dimasukkan ke dalam array,

Kurung
digunakan juga untuk mendefinisikan blok program, untuk cakupan class,
Kurawal
method, dan lokal.
Kurung
Untuk menyatakan tipe array dan untuk membedakan nilai array.
Kurawal
Titik
Pemisah Pernyataan.
Koma

,

Koma

.

Titik

Pemisah urutan identifier dalam deklarasi variabel.

Untuk memisahkan nama paket dari sub-paket dan class dan untuk
memisahkan variabel atau method dari variabel referensi.

STRUKTUR PROGRAM JAVA
Penulisan program Java dapat dilakukan pada semua teks editor yang paling disukai
baik itu editor handal semacam eclipse dan netbeans ataupun editor simpel seperti editplus,
dan crimson. Dalam pembuatan program java yang harus diperhatikan dalam pembuatan
program java adalah penulisan huruf besar dan kecil karena java memiliki sifat Case
Sensitive. Berikut adalah bentuk umum dari penulisan program Java:
Pertama dalam program Java minimal terdapat sebuah class, dimana nama dari class
tersebut diusahakan sama dengan nama file Java (arti dari class akan dijelaskan pada
pertemuan selanjutnya), dan setiap class harus dibuka dengan tanda ‘{‘ dan ditutup dengan
tanda ‘}’.
Contoh :
class bow{
(isi dari class)
}

Selanjutnya faktor utama lainnya yang wajib dimiliki dari sebuah program Java
adalah harus memilik sebuah fungsi utama main(). Fungsi dari main() adalah dijadikan

sebagai awal pengeksekusian aplikasi Java, kode (code) yang terdapat pada metode inilah
yang akan dieksekusi pertama kali.
Contoh :
class bow{
public static void main(String[] args)
{
(tulis code/ program disini)
}
}

Metode main() didefinisikan sebagai public static void, berikut penjelasannya

public, berarti metode ini dapat dipanggil dari luar class


static, menunjukkan metode ini bersifat sama untuk semua class



void, berarti metode ini tidak mengembalikan nilai.




Argument args[] adalah array objek string argument baris-baris perintah

Didalam penulisan program Java kita dapat membuat sebuah komentar, ada dua jenis
tipe komentar pada Java, yang pertama menggunakan pasangan simbol /* dan */. Semua
tulisan yang berada dalam tanda tersebut akan diperlakukan sebagai komentar. Yang kedua
menggunakan awalan simbol ‘//’, jadi semua tulisan sesudah tanda ini dan berada pada baris
yang sama dianggap komentar.
PROGRAM JAVA SEDERHANA
Contoh :
class Hello {
public static void main(String[] args)
{
System.out.println("Hello World!");

}
}


Pembahasan ringkas :

Kata kunci public disebut access modifier yang mengendalikan ketampakkan
terhadap bagian-bagian program yang lain dalam menggunakan kode ini.


Kata kunci class, segala sesuatu di program Java adalah berada di dalam suatu kelas.
Berkenaan dengan contoh program sederhana diatas, nama class-nya adalah Hello.



Setelah kata kunci class adalah nama kelasnya. Nama kelas harus dimulai dengan
huruf, setelah itu boleh kombinasi huruf dan angka. Dalam penamaan kelas tidak boleh
menggunakan kata yang dicadangkan (reserved word yang kebanyakan merupakan kata
kunci). Konvensi untuk penamaan kelas adalah kata benda dimulai dengan huruf capital
(besar) di awal kata yang berarti.



Class tersebut memiliki fungsi main() dengan parameter variabel args dengan tipe

array dari String. Fungsi main ini yang akan mengeksekusi statement
System.out.println (“Hello World!”); untuk menampilkan kata Hello World! ke
console.



Pasangan kurung kurawal merupakan awal dan akhir badan dari metode. Di Java tiap
kalimat harus diakhiri dengan titik koma (; semicolon). Ekspresi diatas memanggil
fungsi atau metode println() di objek out yang berada di objek System. Objek out
merupakan standar output. Sementara kelas System adalah kelas yang melindungi atau
mengkapsulkan seluruh fungsionalitas sistem.
TIPE DATA PRIMITIF

1. integer (Bilangan Bulat)
Tipe data yang masuk menjadi bagian ini adalah byte, short, int dan long. Semua tipe data ini
bersifat Signed, yaitu bisa mempresentasikan nilai positif dan negatif. Tidak seperti tipe data
lainnya, Java tidak mendukung tipe data unsigned yang hanya bisa mempresentasikan nilai
postif. Untuk jelasnya akan dijelaskan oleh tabel dan penjelasan di bawah ini :
Tipe Data
byte
short
int

8
16
32

Ukuran (bit)

long

64

Range
-128 s.d. 127
-32768 s.d. 32767
-2147483648 s.d. 2147483647
-9223372036854775808 s.d.
9223372036854775807

1.1 byte
Type byte umumnya digunakan pada saat kita bekerja dengan sebuah data stream dari suatu
file maupun jaringan, yaitu untuk kepeluan proses membaca/menulis. Selain itu, tipe ini juga
digunakan saat bekerja dengan data biner yang tidak kompatibel dengan tipe-tipe lain yang
didefiniskan di dalam Java. Contoh :

1.2 short
Pada umumnya diaplikasikan pada komputer-komputer 16-bit, yang saat ini semakin jarang
keberadaanya. Contoh :

1.3 int
Tipe ini merupakan tipe yang paling banyak dipakai dalam merepresentasikan angka dalam
Java, dikarenakan dianggap paling efisien dibandingkan dengan tipe-tipe integer lainnya.
Tipe Int banyak digunakan untuk indeks dalam struktur pengulangan maupun dalam
konstruksi sebuah array.Selain itu, secara teori setiap ekspresi yang melibatkan tipe
integer byte, short, int, long) semuanya akan dipromosikan ke int terlebih dahulu sebelum
dilakukan proses perhitungan. Contoh :

1.4 long
Tipe ini digunakan untuk kasus-kasus tertentu yang nilainya berada di luar rentang tipe int,
karna tipe ini punya range paling tinggi dibanding Integer lainnya. Dengan kata lain,
tipe long terpaksa digunakan jika data memiliki range diluar range int. Contoh :

2. floating-point (Bilangan Pecahan)
Tipe floating-point digunakan untuk merepresentasikan nilai-nilai yang mengandung pecahan
atau angka decimal di belakang koma, seperti 3.1416,5.25, dan sebagainya. Bilangan
semacam ini disebut sebagai bilangan riil. Dalam Java tipe ini dibedakan menjadi dua jenis,
yaitu float dan double.
Ukuran
Tipe
Range
Presisi (jumlah digit)
bytes
bit
float
4
32
+/- 3.4 x 1038
6-7
double
8
64
+/- 1.8 x 10308
15
2.1 float
Tipe ini digunakan untuk menandakan nilai–nilai yang mengandung presisi atau ketelitan
tunggal (single-precision) yang menggunakan ruang penyimpanan 32-bit. Presisi tunggal
biasanya lebih cepat untuk processor-processor tertentu dan memakan ruang penyimpanan
setengah kali lebih sedikit dibandingkan presisi ganda (double precision). Permasalahan yang
timbul dari pemakaian tipe float untuk nilai-nilai yang terlalu kecil atau justru terlalu besar,
karena nilai yang dihasilkan akan menjadi tidak akurat. Contoh penggunaan variabel :

2.2 double
Tipe ini mengandung tingkat ketelitian ganda atau presisi ganda (double precision) dan
menggunakan ruang penyimpanan 64-bit untuk menyimpan nilai. Tipe double tentu lebih
cepat untuk melakukan perhitungan-perhitungan matematis daripad tipe float. Untuk
perhitungan yang bersifat bilangan riil dan menghasilkan hasil yang lebih akurat, maka lebih
baik menggunakan tipe double. Contoh :

3. char
Tipe data char merupakan tipe untuk menyatakan sebuah karakter. Java menggunakan
karakter Unicode untuk merepresentasikan semua karakter yang ada . Unicode ialah

sekumpulan karakter yang terdapat pada semua bahasa, seperti bahasa Latin, Arab, Yunani
dan lain-lainnya. Karena bahasa Java dirancang untuk dapat diterapkan di berbagai
macam platform, maka Java menggunakan karakter Unicode yang membutuhkan ukuran 16bit. Untuk karakter-karakter yang tidak dapat diketikkan secara langsung melalui keyboard,
java menyediakan beberapa escape sequence (pasangan karakter yang dianggap sebagai
karakter tunggal). Escape sequence tidak dianggap sebagai String, melainkan tetap sebagai
tipe karakter khusus. Di bawah ini akan dijelaskan beberapa contoh tentang escape sequence.
Escape Sequence
\ddd
\uxxxx
\’
\’’
\\
\r
\n
\f
\t
\b

Keterangan
Karakter octal (ddd)
Karakter Unicode heksadecimal (xxxx)
Petik tunggal
Petik ganda
Backslash
Carriage return
Baris baru (line feed)
Form feed
Tab
Backspace

Contoh :

4. boolean
Tipe boolean adalah tipe data yang digunakan untuk menampung nilai logika, yaitu nilai yang
hanya memiliki dua buah kemungkinan (benar atau salah). Tipe ini ditandai dengan kata
kunci Boolean. Dalam bahasa Java, nilai benar dipresentasikan dengan kata kunci true dan
nilai salah dengan kata kunci false. Contoh :

TIPE DATA ABSTRAK

Tipe data abstrak dapat merepresentasikan kelompok tipe data dengan beragam tipe primitif
yang bisa diciptakan secara dinamis.
class
Kelas dapat didefiniskan sebagai cetak biru (blueprint) atau prototipe/kerangka yang
mendefiniskan variabel-variabel (data) dan method-method (perilaku) umum dari sebuah
objek. Dengan kata lain kelas adalah sebuah kesatuan yang terintegrasi antara method dan
data yang mengacu pada suatu objek.
Dalam dunia permrograman, sebenarnya kelas tidak jauh berbeda dengan tipe data sederhana.
Perbedaannya, tipe data sederhana digunakan untuk mendeklarasikan variabel ‘normal’,
sedangkan kelas digunakan untuk mendeklarasikan sebuah variabel yang berupa objek.
Variabel yang berupa objek ini sering disebut dengan referensi objek (object reference).
Pada saat kita membuat sebuah kelas baru. Sekali didefiniskan, maka tipe data baru ini dapat
digunakan untuk membuat suatu objek dari tipe tersebut. Dengan kata lain, kelas adalah pola
(template) untuk pembuatan objek, dan objek adalah wujud nyata (instance) dari sebuah
kelas. Contoh :

Setelah kita membuat sebuah kelas, untuk menggunakannya maka kita harus membuat
sebuah instance dari kelas tersebut. Berikut cara membuat objek dari kelas :

TIPE DATA KOLEKSI
Koleksi adalah tipe data yang berupa rangkaian atau kumpulan data ataupun obyek yang
berindeks. Terdapat tiga tipe dasar koleksi di Java yaitu:
1. Array, koleksi statis dengan ukuran tetap dan hanya bisa mengelompokkan tipe data yang
sama.

2. List, koleksi dinamis dengan ukuran adaptif dan bisa mengelompokkan tipe data yang
sama ataupun berbeda
3. Map, koleksi dinamis dengan ukuran adaptif dan bisa mengelompokkan tipe data yang
sama ataupun berbeda dengan menggunakan pasangan .

Latihan 1 A
Pemrograman Java
Nama Program

: array.java

Bahasa Pemrogramam

: Java

Compiler

: NetBeans IDE 8.2

Script program

:

Output Program

:

Penjelasan Program

:

Program diatas digunakan untuk menampilkan array satu dimensi dengan nilai random. Pada
program ini diperlukan import java.until.Random; yang digunakan untuk
merandom angka. Deklarasi nilai index 5 dan int [] array=new int[index]. Method public
void setArray (int val) untuk script random angka, yang kemudian dilakukan

pemanggilan pada method utama dengan nilai val 5. Dan program akan menampilkan hasil
dari pemanggilan method tersebut.
Latihan 1 B
Pemrograman Java
Nama Program

: casting.java

Bahasa Pemrogramam

: Java

Compiler

: NetBeans IDE 8.2

Script program

:

Output Program

:

Penjelasan Program

:

Program ini digunakan untuk mengonversikan masukan karakter user ke dalam tipe data byte.
Pada program ini diperlukan import java.until.Scanner; hal ini digunakan
sebagai input. Kemudian user mendeklarasikan Scanner read=new
Scanner(System.in); user diperintahkan untuk memasukkan karakter pertama dan

karakter kedua dengan menggunakan perintah read.next().charAt(0);setelah user
menginputkan karakter kemudian karakter di konversi kedalam tipe data byte dan program
akan menampilkan hasil konversian tersebut.

Latihan 1 C
Pemrograman Java
Nama Program

: CharTest.java

Bahasa Pemrogramam

: Java

Compiler

: NetBeans IDE 8.2

Script program

:

Output Program

:

Penjelasan Program

:

Program ini digunakan untuk mengonversi masukan karakter user ke dalam tipe data string.
Pada program ini diperlukan import java.until.Scanner; hal ini digunakan
sebagai input. Kemudian user mendeklarasikan :
Scanner read=new Scanner(System.in);

lalu user diperintahkan untuk memasukkan karakter pertama, kedua, ketiga dan keempat
dengan menggunakan perintah read.next().charAt(0);setelah user menginputkan
karakter kemudian karakter di konversi kedalam tipe data string didalam 1 kalimat dengan
menggunakan
String

s=

Character.toString(ch_a)+Character.toString(ch_b)+

Character.toString(ch_c)+Character.toString(ch_d);
dan program akan menampilkan hasil konversian tersebut.

Latihan 1 D
Pemrograman Java
Nama Program

: IntegerTest.java

Bahasa Pemrogramam

: Java

Compiler

: NetBeans IDE 8.2

Script program

:

Output Program

:

Penjelasan Program

:

Program ini digunakan untuk mengonversi nilai yang dimasukkan user ke dalam kapasitas
tipe data int. Pada program ini diperlukan import java.until.Scanner; hal ini
digunakan sebagai input. Kemudian user mendeklarasikan :
Scanner read=new Scanner(System.in);
lalu user mendeklarasikan int a=2; user diperintahkan untuk memasukkan pangkat pertama
dan kedua dengan menggunakan perintah read.nextInt; setelah user menginputkan
nilai kemudian nilai tersebut akan dihitung perpangkatannya dengan rumus Math.pow(a,b);

untuk masukan pangkat pertama yang disimpan dalam tipe data double dengan nama variabel
d dan Math.pow(a,c); untuk masukan pangkat kedua yang disimpan dalam tipe data double
dengan nama variabel e. Alasan menggunakan tipe data double adalah mengantisipasi adanya
nilai desimal atau koma. Setelah itu di konversi ke tipe data integer dan program akan
menampilkan hasil konversian tersebut. Mengapa pada saat user memasukkan nilai pangkat
32 dan 64 memiliki nilai hasil konversi yang sama? Karena tipe data integer memiliki
kapasitas hingga 32 byte. Sehingga program menampilkan nilai maksimun kapasitas tipe data
integer atau int.

Latihan 1 E
Pemrograman Java
Nama Program

: Matriks.java

Bahasa Pemrogramam

: Java

Compiler

: NetBeans IDE 8.2

Script program

:

Output Program

:

Penjelasan Program

:

Program diatas digunakan untuk menampilkan array dengan index 5 baris dan 10 kolom yang
terdiri dari angka 1 hingga 9 yang telah dirandom. Pada program ini diperlukan import
java.until.Random; yang digunakan untuk merandom angka. Deklarasi array 2
dimensi dengan baris 5 dan kolom 10. Method public void setMatrik (int row,
int col,int val) untuk script random angka, yang kemudian dilakukan pemanggilan
pada method utama dengan nilai row 5, col 10, dan val 9. Yang berarti 5 baris, 10 kolom, dan
angka 1 hingga 9. Dan program akan menampilkan hasil dari pemanggilan method tersebut.

Latihan 1 F
Pemrograman Java
Nama Program

: ObjekADT.java

Bahasa Pemrogramam

: Java

Compiler

: NetBeans IDE 8.2

Script program

:

Output Program

:

Penjelasan Program

:

Program ini digunakan untuk menampilkan hasil tipe data abstrak. Dengan tipe data Object
yang memiliki nama variabel storedValue. Terdapat public Object read(,) untuk
pengembalian nilai variabel storedValue, dan public void write(Object x) untuk
pemberian nilai storedValue. Kemudian storedValue diberi nilai 19 dan adt1.write(19) untuk
pemanggilan method write kemudian nilai tersebut dikonversi ke dalam tipe data string
dengan String vi = (String) adt1.read().toString(); sehingga nilai dari
vi=19. Kemudian storedValue diberi nilai My age pada script adt2.write(“My age “) yang
kemudian di simpan dalam nilai variabel vs dengan String vs = (String)
adt.2read(); Program akan menampilkan seperti pada output program diatas.

Latihan 2
Pemrograman Java
Nama Program

: Array5Index.java

Bahasa Pemrogramam

: Java

Compiler

: NetBeans IDE 8.2

Script program

:

Output Program

:

Penjelasan Program

:

Program ini digunakan untuk menampilkan hasil Array satu dimensi. Program ini
mendeklarasikan int [] Array = new int [5], kemudian Array[0] =1; Array[1]=10;
Array[2]=100; kemudian dilakukan perulangan dengan for (int x=0; x