Modul 1 (1-14)
Modul 1 (1-14)
STRUKTUR DATA
Disusun oleh :
(disadur dari Buku Ajar Struktur Data Menggunakan Java, AgungBP, 2017)
AKAKOM
YOGYAKARTA
2019
i
KATA PENGANTAR
Modul ini masih akan terus disempurnakan seiring dengan berjalannya proses
pembelajaran hingga mencapai kondisi ideal. Untuk itu kritik bagi perbaikan modul ini
silakan kirimkan melalui email [email protected].
Salam.
Tim Penyusun.
ii
DAFTAR ISI
iii
MODUL 1
TIPE-TIPE DATA DALAM JAVA
CAPAIANPEMBELAJARAN
Mahasiswa dapat menggunakan berbagai tipe data untuk menyimpan data baik aphabetic,
aplhanumerik, maupun boolean
KEBUTUHAN ALAT/BAHAN/SOFTWARE
1. TextPad
DASAR TEORI
Setiap bahasa pemrograman memiliki tipe data yang spesifik. Tipe data akan
digunakan untuk mendeklarasikan variable yang digunakan. Tipe data digunakan untuk
menentukan bentuk data yag dapat ditampung oleh sebuah variabel .
Dalam java terdapat dua jenis tipe data. Yang pertama adalah tipe data primitive
yang merupakan tipe data bawaan dari compiler java. Tipe data ini akan anda pelajari
pada modul 1 ini.
Sedangkan tipe data yang kedua adalah tipe data buatan yang baru akan anda
pelajari pada modul 2.
Dalam bahasa Java, tipe data primitive dibedakan menjadi tiga bagian yaitu :
1. Tipe Data Alphabetic
Char
String
2. Tipe Data Alphanumeric
a. Tipe data Bilangan Bulat
Byte
Short
Int
Long
b. Tipe Data Bilangan Pecahan
Float
Double
3. Tipe Data Boolean
1
1. Tipe Data Alphabetic
Char (Karakter)
Tipe data char merupakan tipe yang digunakan untuk menyatakan sebuah
karakter, bisa berupa huruf/ tandabaca/ simbol, yang didefinisikan dengan diawali dan
diakhiri dengan tanda ‘ ( petik tunggal ).
Untuk merepresentasikan semua karakter yang ada bahasa Java menggunakan
karakter Unicode yaitu sekumpulan karakter umum yang terdapat pada semua bahasa,
seperti English, Latin, Arab, Yunani dan lain-lainnya.Karakter Unicode yang
membutuhkan ukuran 16-bit dan memiliki 1680 jenis karakter.
Berikut ini disajikan contoh program sederhana menggunakan tipe data char.
public class tipeData {
public static void main(String[] args) {
char data1 = 'C';
System.out.println("Nilai Char : "+ data1);
}
}
Hasil Eksekusi :
Nilai Char : C
Press any key to continue . . .
Program 1.1 Contoh pemakaian char
Dalam Java, data bertipe char juga dapat diinputkan melalui keyboard untuk
disimpan dalam sebuah variabel char. Namun java tidak menyediakan fungsi khusus
untuk membaca masukan bertipe char sehingga perlu dibuat pembacaan karakter
menggunakan pembacaan kode unicode menggunakan fungsi System.in.read()
dan kemudian mengkonversinya menggunakan fungsi (char) untuk dapat membacanya.
Berikut ini adalah program untuk membaca masukannya.
import java.util.Scanner;
public class inputViaKeyboard
{ public static void main(String[] args)
{
Scanner masukan = new Scanner(System.in);
int bacaTombol=0;
char huruf;
System.out.print("Silakan masukkan sebuah huruf: ");
try
{ bacaTombol = System.in.read(); }
catch(java.io.IOException e)
{ }
huruf = (char)bacaTombol;
System.out.println("Huruf yang anda entri adalah : " + huruf);
}
}
Hasil Eksekusi :
Silakan masukkan sebuah huruf: Z
String
2
Tipe data String merupakan kumpulan dari tipe data char. Karena merupakan
kumpulan char, maka tipe data String dapat digunakan untuk menyimpan kalimat.
Jika dilihat dari unsur pembentuknya, tipe data string bukan merupakan tipe
data primitif, tetapi sudah merupakan sebuah objek yang berisi kumpulan tipe data
char.
Berikut ini disajikan contoh program sederhana menggunakan tipe data string.
Dalam bahasa java, data bertipe string juga dapat diinputkan melalui keyboard
untuk disimpan dalam sebuah variabel string. Untuk keperluan tersebut java telah
menyediakan sebuah fungsi untuk membaca masukan yaitu next() dan
nextline(). Namun dari kedua fungsi di atas penulis lebih menyarankan untuk
menggunakan fungsi next().
Berikut ini adalah program untuk membaca masukannya.
import java.util.Scanner;
public class inputViaKeyboard
{
public static void main(String[] args)
{
Scanner masukan = new Scanner(System.in);
String kalimat;
System.out.print("Silakan masukkan sebuah kalimat : ");
kalimat = masukan.next();
System.out.println("Kalimat yang anda entri adalah :" + kalimat);
}
}
Hasil Eksekusi :
Silakan masukkan sebuah kalimat: Namaku Agung Budi Prasetyo
Kode Keterangan
3
\b Backspace
\t Tab
\n Linefeed
\r Carriage return
\f Formfeed
\’ Petik tunggal
\” Petik ganda
\ddd Octal (dd= 0 s/d 377)
\xdd Heksadesimal (dd=0 s/d FF atau ff)
Byte
Type data byte umumnya digunakan pada saat kita bekerja dengan sebuah
data stream dari suatu file, memory, maupun jaringan koputer yaitu untuk kepeluan
proses membaca/menulis berkas. Selain itu, tipe ini juga digunakan saat bekerja dengan
data biner. Namun tidak jarang pula tipe byte digunakan untuk menyimpan bilangan
yang tidak terlalu besar (bilangan di bawah bilangan 127, contohnya umur pegawai).
Short
Tipa data short memiliki ukuran yang sedikit lebih besar dibandingkan byte.
Pada umumnya tipe data short digunakan pada komputer-komputer 16-bit yang
memang memiliki ukuran bilangan yang terbatas. Tipe short digunakan pula pada
aplikasi khusus yang memperhatikan penggunaan memori.
Int
Tipe data int merupakan tipe yang paling banyak dipakai dalam
4
merepresentasikan angka dalam Java. Hal ini karena tipe data int 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 itu
akan dipromosikan ke int terlebih dahulu sebelum dilakukan proses perhitungan
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.
Semua bilangan bulat dalam Java secara default dianggap sebagai tipe int.
Sedangkan bilangan yang ingin dikategorikan sebagai long harus diakhiri dengan huruf
L. Misalnya : 18102006L. Berikut ini disajikan contoh program sederhana
menggunakan tipe data byte, short, int, dan long.
Dalam bahasa java, data bertipe byte, short, int dan long juga dapat diinputkan
melalui keyboard untuk disimpan dalam sebuah variabel dengan tipe yang sama. Untuk
keperluan tersebut java telah menyediakan sebuah fungsi untuk membaca masukan
yaitu nextByte() untuk tipe data byte, nextShort() untuk tipe data short,
nextInt() untuk tipe data int, dan nextLong() untuk tipe data long.
Berikut ini adalah program untuk membaca masukannya.
import java.util.Scanner;
public class inputViaKeyboard
{
public static void main(String[] args)
{
Scanner masukan = new Scanner(System.in);
byte bilanganByte;
short bilanganShort;
int bilanganInt;
long bilanganLong;
5
System.out.print("Silakan masukkan bilangan bertipe byte: ");
bilanganByte = masukan.nextByte();
System.out.print("Silakan masukkan bilangan bertipe short: ");
bilanganShort = masukan.nextShort();
System.out.print("Silakan masukkan bilangan bertipe int: ");
bilanganInt = masukan.nextInt();
System.out.print("Silakan masukkan bilangan bertipe long: ");
bilanganLong = masukan.nextLong();
Semua bilangan pecahan atau desimal dalam Java tanpa diakhiri huruf f akan
dianggap sebagai double. Sedangkan bilangan yang ingin dikategorikan sebagai float
harus diakhiri dengan huruf F. Misalnya : 4.22F atau 2.314f.
Hasil Eksekusi :
Nilai Float : 4.967
Nilai Double : 1.733
Press any key to continue . . .
Program 1.8 Contoh pemakaian float dan double
6
3. Tipe Data Boolean
Dalam Java dikenal tipe data boolean yang terdiri dari dua nilai saja, yaitu
true dan false. Boolean sangat penting dalam mengevaluasi suatu kondisi, dan
sering digunakan untuk menentukan alur program.
import java.util.Scanner;
public class tipeDataArray
{
public static void main(String[] args)
{
String hobi[] = new String[3];
Scanner masukan = new Scanner(System.in);
Hasil Eksekusi :
Silakan masukkan hobi (maks 3) :
hobi ke-0 : musik
hobi ke-1 : mancing
hobi ke-2 : touring
7
Press any key to continue . . .
Program 1.10 Contoh pemakaian Array/ Larik
Pada contoh di atas terdapat tiga buah variabel hobi. Sebagaimana kita ketahui
sangat jarang seseorang yang hanya memiliki satu hobi saja. Kebanyakan orang memiliki
lebih dari satu hobi. Jika kita menggunakan variabel tunggal untuk menyimpan data hobi
maka kita tidak dapat menyimpan hobi yang lebih dari satu.
Di sisi lain jika kita menggunakan variabel dengan penamaan yang berbeda
untuk hobi—hobi yang ada (misal: hobi_1, hobi_2, hobi_3, dst) maka kita akan
kesulitan sendiri pada saat kita akan mengelola data-data tersebut. Oleh karena itu tipe
data array/ larik akan menjadi solusi yang tepat untuk keperluan tersebut.
PRAKTIK
Program di atas digunakan untuk menghitung 5 dibagi 2 yang menghasilkan nilai 2.5.
Sekarang eksekusilah program di atas. Berapa hasil yang diperoleh sewaktu program
tersebut dieksekusi? Apakah hasilnya 2.5? Mengapa bisa demikian? Jelaskan dan
simpulkan dalam laporan anda.
8
3. Praktik 3 (percobaan tentang tipe data String dan Char)
Apa yang terjadi sewaktu program di atas dieksekusi? Mengapa bisa demikian? Sekarang
gantilah char pada baris 3 dengan String. Apa yang terjadi? Mengapa bisa
demikian? Jelaskan dalam laporan anda?
Apakah yang terjadi sewaktu program tersebut dieksekusi? Mengapa bisa demikian?
Coba sekarang hapuslah instruksi pada baris 17, 20 dan 21 kemudian eksekusi kembali
program tersebut. Apa yang terjadi? Mengapa bisa demikian? Jelaskan dalam laporan
anda.
9
import java.util.Scanner;
public class inputDataViaKeyboard
{
public static void main(String[] args)
{ String nama;
String alamat;
int umur;
char jekel; //jenis kelamin
String hobi[] = new String[3];
float ipk;
Apakah yang terjadi jika program di atas di run ? Jelaskanlah dan simpulkan dalam
laporan anda.
10
LATIHAN
1. Buatlah sebuah program sederhana untuk menerima masukan bertipe string dari
keyboard berupa “password”. Selanjutnya program akan mencocokan password
tersebut. Jika password yang dimasukkan sama dengan “AKAKOM” maka akan
tampil pesan “password anda benar” tetapi jika tidak akan tampil pesan “password
anda salah”.
TUGAS
1. Dengan menggunakan struktur data seperti pada praktik 5 (nama, alamat, umur,
jenis kelamin, hobi (3 buah), IPK), buatlah sebuah program untuk memasukkan
biodata minimal untuk 5 orang mahasiswa.
REFERENSI
Disadur dari Buku Ajar Struktur Data Menggunakan Java, Agung Budi Prasetyo,
2017, hal: 1-11, http://agungbudiprasetyo.atspace.com/buku/index.html,
diakses pada 12:07 PM 8/06/2019.
11