KEGIATAN BELAJAR 4 PEMROGRAMAN BERORIENTASI …

99
124 Modul 2, Rekayasa Perangkat Lunak KB 4, PBO Dalam Perancangan Aplikasi/Sistem Infomasi A. PENDAHULUAN 1. Deskripsi Singkat Pemrograman berorientasi objek atau object-oriented programming disingkat OOP) merupakan paradigma pemrograman berdasarkan konsep "objek", yang dapat berisi data, dalam bentuk field atau dikenal juga sebagai atribut; serta kode, dalam bentuk fungsi/prosedur atau dikenal juga sebagai method. Semua data dan fungsi di dalam paradigma ini dibungkus dalam kelas-kelas atau objek-objek. Bandingkan dengan logika pemrograman terstruktur. Setiap objek dapat menerima pesan, memproses data, dan mengirim pesan ke objek lainnya, Model data berorientasi objek dikatakan dapat memberi fleksibilitas yang lebih, kemudahan mengubah program, dan digunakan luas dalam teknik peranti lunak skala besar. Lebih jauh lagi, pendukung OOP mengklaim bahwa OOP lebih mudah dipelajari bagi pemula dibanding dengan pendekatan sebelumnya, dan pendekatan OOP lebih mudah dikembangkan dan dirawat. Pada Kegiatan belajar ini Anda akan mempelajari konsep dan implementasi pemrograman berorientasi objek dalam pengembangan apikasi atau sistem informasi, Materi pokok pada kegitan belajar ini adalah: 1) Konsep OOP dalam pengembangan aplikasi/sistem informasi, 2) Program untuk mengatasi kesalahan (error handling), 3) Koneksi database server melalui client-server, 4) Desain user interface dan 5) Model MVC dalam pengembangan aplikasi. 2. Relevansi Rekayasa Perangkat Lunak (RPL) perlu dipandang melalui tiga dimensi besar literasi sains (scientific literacy) yaitu konten sains, proses sains, dan konteks aplikasi sains. Konten sains merujuk pada konsep-konsep kunci dari sains yang diperlukan untuk memahami fenomena alam dan perubahan yang dilakukan terhadap alam melalui aktivitas manusia. Proses sains mengembangkan KEGIATAN BELAJAR 4 PEMROGRAMAN BERORIENTASI OBJEK DALAM PERANCANGAN APLIKASI/SISTEM INFOMASI

Transcript of KEGIATAN BELAJAR 4 PEMROGRAMAN BERORIENTASI …

Page 1: KEGIATAN BELAJAR 4 PEMROGRAMAN BERORIENTASI …

124

Modul 2, Rekayasa Perangkat Lunak

KB 4, PBO Dalam Perancangan Aplikasi/Sistem

Infomasi

A. PENDAHULUAN

1. Deskripsi Singkat

Pemrograman berorientasi objek atau object-oriented programming

disingkat OOP) merupakan paradigma pemrograman berdasarkan konsep "objek",

yang dapat berisi data, dalam bentuk field atau dikenal juga sebagai atribut; serta

kode, dalam bentuk fungsi/prosedur atau dikenal juga sebagai method. Semua data

dan fungsi di dalam paradigma ini dibungkus dalam kelas-kelas atau objek-objek.

Bandingkan dengan logika pemrograman terstruktur. Setiap objek dapat

menerima pesan, memproses data, dan mengirim pesan ke objek lainnya,

Model data berorientasi objek dikatakan dapat memberi fleksibilitas yang

lebih, kemudahan mengubah program, dan digunakan luas dalam teknik peranti

lunak skala besar. Lebih jauh lagi, pendukung OOP mengklaim bahwa OOP lebih

mudah dipelajari bagi pemula dibanding dengan pendekatan sebelumnya, dan

pendekatan OOP lebih mudah dikembangkan dan dirawat.

Pada Kegiatan belajar ini Anda akan mempelajari konsep dan

implementasi pemrograman berorientasi objek dalam pengembangan apikasi atau

sistem informasi, Materi pokok pada kegitan belajar ini adalah: 1) Konsep OOP

dalam pengembangan aplikasi/sistem informasi, 2) Program untuk mengatasi

kesalahan (error handling), 3) Koneksi database server melalui client-server, 4)

Desain user interface dan 5) Model MVC dalam pengembangan aplikasi.

2. Relevansi

Rekayasa Perangkat Lunak (RPL) perlu dipandang melalui tiga dimensi

besar literasi sains (scientific literacy) yaitu konten sains, proses sains, dan konteks

aplikasi sains. Konten sains merujuk pada konsep-konsep kunci dari sains yang

diperlukan untuk memahami fenomena alam dan perubahan yang dilakukan

terhadap alam melalui aktivitas manusia. Proses sains mengembangkan

KEGIATAN BELAJAR 4

PEMROGRAMAN BERORIENTASI OBJEK DALAM

PERANCANGAN APLIKASI/SISTEM INFOMASI

Page 2: KEGIATAN BELAJAR 4 PEMROGRAMAN BERORIENTASI …

125 KB 4, PBO Dalam Perancangan Aplikasi/Sistem

Infomasi

Modul 2, Rekayasa Perangkat Lunak

kemampuan memahami hakikat sains, prosedur sains, serta kekuatan dan

kelemahan sains. Konteks aplikasi sains lebih pada kehidupan sehari-hari daripada

kelas atau laboratorium. Kegiatan Belajar ini dibagi menjadi empat bahan kajian

atau pokok bahasan yang mengacu pada dimensi literasi sains (sains liyteracy).

Tujuan pembelajaran yang diharapkan Anda capai pada kegiatan

pembelajaran ini adalah: (1) Menerapkan konsep pemrograman berorientasi obyek

dalam pengembangan aplikasi/sistem informasi (2) Memodifikasi program untuk

mengatasi kesalahan (error handling), (3) Membuat desain user interface (4)

Membuat koneksi database server melalui client-server, dan (5) Menerapkan model

MVC dalam pengembangan aplikasi.

3. Petunjuk Belajar

Modul ini dirancang untuk memfasilitasi Anda dalam melakukan kegiatan

belajar secara mandiri, jangan lupa berdoa sebelum mempelajarinya. Bacalah

modul dengan seksama, terutama bagian instruksi.

a. Pahami dulu tentang capaian pembelajaran mata kegiatan, sub capaian

pembelajaran mata kegiatan, dan pokok-pokok materi pada setiap Kegiatan

Belajar sebelum Anda mempelajari uraian materi

b. Lakukan kajian terhadap uraian materi pada setiap Kegiatan Belajar dan

lengkapi informasi Anda dengan melihat berbagai media dan sumber belajar

yang telah disediakan serta menganalisis contoh penelitian atau kasus nyata

pada setiap topik materi.

c. Anda diharapkan juga dapat menguasai prinsip, teknik, dan aplikasi integrasi

pengetahuan keilmuan sains, pedagogi dan teknologi (technology pedagogy

and content knowledge/TPCK). Oleh karena itu, lakukan kajian terhadap

metode membelajaran yang telah disediakan pada setiap Kegiatan Belajar ini.

Anda juga dapat menambahkan cara alternatif lain ketika Anda membelajarkan

topik tersebut pada peserta didik di sekolah

d. Keberhasilan proses pembelajaran pada PPG Dalam Jabatan ini sangat

tergantung pada kesungguhan Anda dalam mengerjakan tugas dan tes yang

telah disediakan pada setiap Kegiatan Belajar Kerjakanlah tugas dan latihan

Page 3: KEGIATAN BELAJAR 4 PEMROGRAMAN BERORIENTASI …

126

Modul 2, Rekayasa Perangkat Lunak

KB 4, PBO Dalam Perancangan Aplikasi/Sistem

Infomasi

yang terdapat di dalamnya dengan jujur tanpa melihat kunci jawaban sebelum

Anda mengerjakannya.

e. Gunakan teknik membaca cepat dalam mempelajari modul.

f. Pelajari media dan sumber belajar lain yang relevan dengan materi

g. Anda diperbolehkan bertanya kepada instruktur jika dianggap perlu.

h. Usahakan menyelesaikan setiap modul lebih cepat dari waktu yang

ditetapkand. Jika ada bagian yang belum anda pahami, cobalah terlebih dahulu

mendiskusikan dengan teman yang sedang mengerjakan bagian yang sama,

sebelum Anda bertanya pada instruktur. Jika perlu, berusahalah mencari tahu

jawabannya pada sumber yang lain.

Kegiatan Belajar 4 ini menggunakan beberapa dukungan perangkat yang

yang harus disediakan. Peserta dapat menggunakan perangkat yang dimiliki tetapi

harus memenuhi standar spesifikasi yang telah ditetapkan. Hal ini bertujuan agar

setiap kegiatan pembelajaran yang dilakukan dapat berjalan dengan semestinya.

Perangkat-perangkat yang digunakan dalam kegiatan pembelajaran modul ini

adalah:

a. Personal Computer/Laptop yang sudah terinstal minimal OS Windows 7.

b. Aplikasi teks editor

c. Aplikasi JDK dan NetBeans

d. Aplikasi web server local host

B. INTI

1. Capaian Pembelajaran

Menganalisis prinsip-prinsip Rekayasa Perangkat Lunak beserta aplikasi terkait

dalam pembelajaran bidang studi Teknik Komputer dan Informatika

2. Pokok-Pokok Materi

Pokok-pokok materi dalam kegiatan belajar ini adalah:

a. Konsep OOP dalam pengembangan aplikasi/sistem informasi

b. Program untuk mengatasi kesalahan (error handling)

c. Koneksi database server melalui client-server

Page 4: KEGIATAN BELAJAR 4 PEMROGRAMAN BERORIENTASI …

127 KB 4, PBO Dalam Perancangan Aplikasi/Sistem

Infomasi

Modul 2, Rekayasa Perangkat Lunak

d. Desain user interface

e. Model MVC dalam pengembangan aplikasi

3. Uraian Materi

a. Konsep Pemrograman Berorientasi Objek

Pada bagian ini akan diuraikan konsep pemrograman beroroentasi objek

(Object Oriented Programming/OOP) pada Java. Java adalah bahasa pemrograman

dan platform komputasi pertama kali dirilis oleh Sun Microsystems pada tahun

1995. Java merupakan teknologi yang mendasari kekuatan program untuk utilitas,

permainan, dan aplikasi bisnis. Java berjalan pada lebih dari 850 juta komputer

pribadi di seluruh dunia, dan pada miliaran perangkat di seluruh dunia, termasuk

ponsel dan perangkat TV.

Salah satu karakteristik Java adalah portabilitas, yang berarti bahwa

program komputer yang ditulis dalam bahasa Java harus dijalankan secara sama,

pada setiap hardware/platform sistem operasi. Hal ini dicapai dengan menyusun

kode bahasa Java ke sebuah Java bytecode. Pengguna aplikasi biasanya

menggunakan Java Runtime Environment (JRE) diinstal pada mesin mereka sendiri

untuk menjalankan aplikasi Java, atau dalam browser web untuk applet Java.

Untuk pembuatan dan pengembangan aplikasi berbasis Java diperlukan

Java Development Kit (JDK), dimana saat ini pemilik lisensi dari JDK adalah

Oracle Corporation yang telah secara resmi mengakuisisi Sun Microsystem pada

awal tahun 2010. Ada beberapa Java platform untuk keperluan development, yaitu:

• Java SE (Standard Edition), yang khusus digunakan untuk pengembangan

aplikasiaplikasi pada PC atau workstation.

• Java ME (Micro Edition), yaitu khusus digunakan untuk pengembangan

aplikasi-aplikasi yang ada di perangkat mobile spt HP, smartphone, PDA, tablet

dan sebagainya.

• Java EE (Enterprise Edition), yaitu khusus digunakan untuk pengembangan

aplikasi skala besar (enterprise), dan aplikasi web berbasis java.

Instalasi Java Development Kit (JDK) menggunakan Java SE sebagai JDK

nya. Perangkat yang dibutuhkan untuk pembuatan aplikasi Java:

Page 5: KEGIATAN BELAJAR 4 PEMROGRAMAN BERORIENTASI …

128

Modul 2, Rekayasa Perangkat Lunak

KB 4, PBO Dalam Perancangan Aplikasi/Sistem

Infomasi

• Java (SE – Standard Edition) Development Kit. JDK adalah suatu paket

perangkat yang digunakan untuk membangun aplikasi, applet, dan komponen

menggunakan bahasa Java. Berikut ini perangkat yang ada di dalam sebuah JDK:

development tools , Java runtime environtment (JRE), library, Java DB (Java

relational database), demo aplikasi dan applet, serta contoh-contoh program.

• Java Development IDE (Integrated Development Environment), misal:

NetBeans atau eclipse.

Berikut ini langkah instalasinya:

1. Unduh keduanya (JDK dan NetBeans) sekaligus di:

http://www.oracle.com/technetwork/java/javase/downloads/index.html

2. Pilih JDK + Netbeans

Gambar 4.1. Pilihan download Java SE

3. Pilih platform sistem operasi yang sesuai

Gambar 4.2. Pilihan platform sistem operasi instalasi JDK+Netbeans

Keterangan: Windows x64 adalah untuk sistem operasi Windows 64 bit.

4. Jalankan instalasi JDK dan Netbeans hasil download

Page 6: KEGIATAN BELAJAR 4 PEMROGRAMAN BERORIENTASI …

129 KB 4, PBO Dalam Perancangan Aplikasi/Sistem

Infomasi

Modul 2, Rekayasa Perangkat Lunak

Gambar 4.3. Tampilan installer JDK+Netbeans

Klik NEXT

Gambar 4.4. Tampilan persetujuan instalasi JDK+Netbeans

Pilih ‘I accept the terms in the license agreement, Install JUnit’, Klik NEXT

Gambar 4.5. Tampilan pilihan lokasi instalasi JDK+Netbeans

Page 7: KEGIATAN BELAJAR 4 PEMROGRAMAN BERORIENTASI …

130

Modul 2, Rekayasa Perangkat Lunak

KB 4, PBO Dalam Perancangan Aplikasi/Sistem

Infomasi

Tentukan PATH untuk lokasi instalasi JDK.

Gambar 4.6. Tampilan penentuan PATH instalasi JDK+Netbeans

Tentukan PATH untuk NetBeans IDE

Gambar 4.7. Tampilan summary instalasi JDK+Netbeans

Keterangan: Hilangkan tanda cek pada ‘Check for updates’

5. Klik INSTALL dan tunggu sampai instalasi selesai

Membuat Program Java Pertama

Pada bab ini akan dibuat program Java untuk yang pertama kalinya.

Contoh 1

Program ini nanti hanya sekedar menampilkan sebuah pesan ‘Hello World’.

Berikut ini langkah pembuatannya:

1. Jalankan NetBeans

Page 8: KEGIATAN BELAJAR 4 PEMROGRAMAN BERORIENTASI …

131 KB 4, PBO Dalam Perancangan Aplikasi/Sistem

Infomasi

Modul 2, Rekayasa Perangkat Lunak

Gambar 4.8. Tampilan awal Netbeans

2. Klik menu FILE – NEW PROJECT, setelah itu akan muncul PROJECT

WIZARD yang memudahkan untuk membuat Java Project

3. Pada bagian CATEGORIES, pilih JAVA, pada bagian PROJECT pilih JAVA

APPLICATION

Gambar 4.9. Tampilan penentuan pilihan project

4. Klik NEXT

5. Beri nama Projectnya, misalnya: Contoh1, serta tentukan path untuk

menyimpan projectnya.

Dalam contoh ini, misalnya file project disimpan di D:/JavaApp. Pastikan

folder ‘JavaApp’ tersebut sudah dibuat sebelumnya.

Gambar 4.10. Tampilan pemiilihan penyimpanan file project

6. Klik FINISH

7. Setelah itu NetBeans secara otomatis menyiapkan sebuah source program yang

Page 9: KEGIATAN BELAJAR 4 PEMROGRAMAN BERORIENTASI …

132

Modul 2, Rekayasa Perangkat Lunak

KB 4, PBO Dalam Perancangan Aplikasi/Sistem

Infomasi

sudah lengkap strukturnya, dan tinggal ditambahkan beberapa perintah sesuai

keinginan pada bagian

TODO code application logic here

Tempat menyisipkan perintah yang diinginkan

Gambar 4.11. Tampilan tempat menyisipkan perintah

8. Selanjutnya silakan tambahkan perintah berikut ini, untuk menampilkan pesan

‘Hello World’.

System.out.println("Hello World");

Sehingga tampilan source Contoh1.java menjadi sebagai berikut:

9. Cek apakah ada tanda seru warna merah di sisi sebelah kiri source. Jika tanda

ini muncul maka menandakan ada sintaks yang salah pada baris tersebut.

Contoh tampilan pesan kesalahan pada suatu baris program

Untuk mengetahui apa kesalahannya, cukup dekatkan saja kursor pada tanda

seru warna merah tersebut.

Page 10: KEGIATAN BELAJAR 4 PEMROGRAMAN BERORIENTASI …

133 KB 4, PBO Dalam Perancangan Aplikasi/Sistem

Infomasi

Modul 2, Rekayasa Perangkat Lunak

Untuk melihat ada tidaknya kesalahan sintaks, bisa juga dilakukan proses

COMPILE, dengan cara mengklik menu RUN – COMPILE. Proses COMPILE

hanya bisa dilakukan sekali saja.

10. Untuk melihat tampilan program Java yang sudah dibuat klik menu RUN –

RUN PROJECT.

11. Setelah melihat hasil running aplikasi Java, selanjutnya lakukan proses BUILD

supaya dihasilkan file aplikasi Java yang executable. Hasil proses BUILD ini

berupa file *.jar. Untuk melakukan proses BUILD suatu project, caranya klik

RUN – BUILD PROJECT. Hasil dari proses BUILD project ini (*.jar), secara

otomatis akan tersimpan di folder ‘dist’, dalam contoh ini di dalam direktori

D:\JavaApp\Contoh1\dist.

Sedangkan source codenya sendiri tersimpan di direktori

D:\JavaApp\Contoh1\src.

12. Selanjutnya, file Java Executable File (*.jar) bisa dieksekusi via command

prompt dengan perintah

java -jar "D:/JavaApp/Contoh1/dist/Contoh1.jar"

Tipe Data Dalam Java

Sebagaimana bahasa pemrograman yang lain, di dalam Java juga dikenal istilah

tipe data. Tipe data ini digunakan untuk pengalokasian memory guna menyimpan

nilai/valuenya. Di dalam Java, ada beberapa tipe data sebagai berikut:

Page 11: KEGIATAN BELAJAR 4 PEMROGRAMAN BERORIENTASI …

134

Modul 2, Rekayasa Perangkat Lunak

KB 4, PBO Dalam Perancangan Aplikasi/Sistem

Infomasi

Tabel 4.1 Tipe Data dalam Java

Tipe Data Range nilai Keterangan

Byte -128 ... 127 Bilangan bulat

Short -32768 ... 32767 Bilangan bulat

Int - 2147483648 ... 2147483647 Bilangan bulat

Long -9223372036854775808 ... 9223372036854775807 Bilangan bulat

Float Bilangan riil

Double Bilangan riil

Char

Karakter

String String (beberapa karakter)

Boolean true/false -

Berikut ini contoh program Java untuk menyimpan nilai beberapa tipe data:

Contoh 2

Misalkan akan dibuat project dengan nama ‘Contoh3’. Langkahnya adalah:

1. Klik NEW PROJECT

Gambar 4.12. Tampilan New Project untuk contoh 2

2. Pilih JAVA pada Categories dan JAVA APPLICATION pada Projects.

3. Isikan nama projectnya dengan nama ‘Contoh3’

Gambar 4.13. Tampilan pemilihan penyimpanan file project contoh 2

4. Kemudian tulis kode berikut ini,

package contoh3;

public class Contoh3 {

public static void main(String[] args) {

// deklarasi variabel dan tipe datanya

int gajiPokok;

float potonganGaji, gajiBersih;

String namaKaryawan, kodeKaryawan;

char golDarah;

// assignment nilai pada setiap variabel

kodeKaryawan = "K00001";

Page 12: KEGIATAN BELAJAR 4 PEMROGRAMAN BERORIENTASI …

135 KB 4, PBO Dalam Perancangan Aplikasi/Sistem

Infomasi

Modul 2, Rekayasa Perangkat Lunak

namaKaryawan = "ROSIHAN ARI YUANA";

golDarah = 'A';

gajiPokok = 3000000;

potonganGaji = (float) 0.2;

gajiBersih = gajiPokok - (potonganGaji * gajiPokok);

// tampilkan output

System.out.println("KODE KARYAWAN : "+kodeKaryawan);

System.out.println("NAMA KARYAWAN : "+namaKaryawan);

System.out.println("GOL DARAH : "+golDarah);

System.out.println("GAJI POKOK : Rp. "+gajiPokok);

System.out.println("GAJI BERSIH : Rp. "+gajiBersih);

}

}

Output dari project ini seperti tampak pada gambar berikut,

Gambar 4.14. Output project contoh 2

Pemrograman Java menggunakan konsep Pemrograman Berorientasi Obyek

(PBO) atau Object Oriented Programming (OOP). Semua program Java merupakan

suatu obyek. Dasar-dasar OOP meliputi istilah yaitu: class, object, attribute dan

method.

Secara umum, OOP adalah teknik yang memfokuskan desain program pada

obyek dan class berdasarkan pada skenario di dunia nyata. Sebagai contoh,

misalkan mobil. Sebuah mobil secara umum tentunya memiliki beberapa

karakteristik, yaitu misalnya memiliki sejumlah roda, memiliki warna, memiliki

beberapa pintu dsb. Selanjutnya mobil ini bisa terdapat berbagai macam merek,

misalnya mobil Suzuki Ertiga, Toyota Avanza dsb. Sebuah mobil tentunya juga

bisa dijalankan, baik maju maupun mundur atau dihentikan. Dalam OOP, mobil

tersebut identik dengan Class, mobil Suzuki Ertiga, Avanza dll itu merupakan

obyek. Jumlah roda, warna mobil, jumlah tempat duduk dll identik dengan atribut

dari suatu obyek, serta proses untuk mengendalikan mobil (maju, mundur dan

berhenti) itu dalam OOP identik dengan method dari suatu obyek.

Page 13: KEGIATAN BELAJAR 4 PEMROGRAMAN BERORIENTASI …

136

Modul 2, Rekayasa Perangkat Lunak

KB 4, PBO Dalam Perancangan Aplikasi/Sistem

Infomasi

Class

Class adalah model dari suatu obyek yang menjelaskan karakteristik (sifat) serta

fungsi yang dimiliki dari suatu obyek. Class merupakan wadah (tempat) yang

digunakan untuk menciptakan suatu obyek. Dengan kata lain sebuah Class

merupakan blueprint dari suatu obyek.

Berikut ini adalah aturan pembuatan class dalam Java:

public class namaclass

{

.

.

}

Aturan pemberian nama class:

- Dimulai dengan huruf, atau tanda _ atau tanda $

- Tidak boleh menggunakan reserved word dalam Java

- Tidak boleh memuat operator aritmatika

- Bersifat case sensitif

Oleh karena itu, jika diperhatikan ketika membuat project baru, maka secara

otomatis akan dibuat class sesuai nama projectnya. Misalkan Anda membuat

project baru dengan nama ‘project1’, maka secara otomatis akan dibuat class

dengan nama ‘Project1’.

public class Project1 {

.

.

.

}

Dalam sebuah project, dapat dibuat lebih dari satu class sebanyak kebutuhan.

Atribut

Atribut adalah elemen data dari suatu class. Atribut menyimpan informasi

tentang class. Atribut dapat diartikan sebagai data, variabel, properti atau sebuah

field.

Method

Method adalah sebuah function atau fungsi yang ada dalam suatu class.

Setiap method memiliki tugas sendiri. Di dalam Java ada 2 jenis method yaitu

void dan non void method. Method void adalah method yang tidak

Page 14: KEGIATAN BELAJAR 4 PEMROGRAMAN BERORIENTASI …

137 KB 4, PBO Dalam Perancangan Aplikasi/Sistem

Infomasi

Modul 2, Rekayasa Perangkat Lunak

mengembalikan nilai, sedang non void method adalah method yang

mengembalikan suatu nilai. Jika diperhatikan, ketika membuat project baru

misalnya ‘project1’, maka akan di dalam class ‘project1’ ini akan dibuat pula

method dengan nama main().

public class Project1 {

public static void main(String[] args) {

.

.

}

}

Method main() dalam suatu class menunjukkan method tersebut adalah method

utama yang akan dijalankan pertama kali ketika program Java dijalankan. Khusus

method main(), perlu diberikan ‘static’ setelah modifiernya. Pada suatu class, bisa

dibuat method berapapun sesuai keigninan.

Perlu diingat juga bahwa di dalam Java, beberapa class itu bisa digabung atau

disimpan menjadi satu dalam sebuah paket atau package jika diperlukan. Hal ini

dimaksudkan untuk memudahkan pengelolaan class saja.

Contoh 3

Sebagai contoh dari penerapan konsep OOP dalam pemrograman Java,

misalkan akan dibuat sebuah program untuk menjumlahkan dua buah bilangan.

Untuk langkah awal, desain terlebih dahulu bentuk class untuk penjumlahan

bilangan tersebut. Misalkan dibuat class dengan nama ‘operasiBilangan’. Di dalam

class tersebut, misalkan dibuat atribut yaitu ‘bilangan1’ dan ‘bilangan2’,

merupakan kedua bilangan yang akan dioperasikan, serta ‘hasil’ yang merupakan

hasil dari operasi kedua bilangan. Selanjutnya di dalam class ‘operasiBilangan’

tersebut dibuat sebuah method ‘jumlah’ untuk menjumlahkan kedua bilangan, serta

method untuk menampilkan hasil operasi bilangan.

Sesuai desain class tersebut, sekarang implementasikan di Java. Berikut ini

langkah-langkahnya:

1. Klik NEW PROJECT

Gambar 4.15. Tampilan New Project untuk contoh 3

Page 15: KEGIATAN BELAJAR 4 PEMROGRAMAN BERORIENTASI …

138

Modul 2, Rekayasa Perangkat Lunak

KB 4, PBO Dalam Perancangan Aplikasi/Sistem

Infomasi

2. Pilih ‘JAVA’ pada Categories, dan ‘Java Application’ pada ‘Project’

3. Misalkan untuk Nama Project, diberi nama “contoh2”

Gambar 4.16. Tampilan pemilihan penyimpanan file project contoh 3

4. Setelah pembuatan project ‘contoh2’ ini berhasil, maka secara otomatis akan

muncul package dengan nama ‘contoh2’.

Gambar 4.17. Tampilan source package file project contoh 2

5. Selanjutnya, buat Class dengan nama ‘operasiBilangan’ dalam package

‘contoh2’ tersebut yaitu dengan mengklik kanan pada nama package-nya, lalu

pilih NEW, dan pilih JAVA CLASS

Gambar 4.18. Tampilan untuk membuat Java class

6. Isikan ‘operasiBilangan’ pada isian nama class yang akan dibuat.

Gambar 4.19. Form pengisian nama class

Page 16: KEGIATAN BELAJAR 4 PEMROGRAMAN BERORIENTASI …

139 KB 4, PBO Dalam Perancangan Aplikasi/Sistem

Infomasi

Modul 2, Rekayasa Perangkat Lunak

7. Setelah membuat class ‘operasiBilangan’, maka secara otomatis Java akan

membuat file dengan nama ‘operasiBilangan.java’ pada direktori project. Class

‘operasiBilangan’ ini terletak dalam package ‘contoh2’. Kemudian akan tulis

kode dalam class operasiBilangan tersebut.

8. Tulislah kode berikut ini di dalam class operasiBilangan

public class operasiBilangan {

// deklarasi atribut atau properties

public int bilangan1;

public int

bilangan2; private

int hasil;

// method jumlah()

public void

jumlah()

{

this.hasil = this.bilangan1 + this.bilangan2;

}

// method

tampilHasil() public

void tampilHasil()

{

System.out.println("Hasil operasi bilangan : " +

this.hasil);

}

}

Keterangan:

- Bilangan1, bilangan2 dan hasil merupakan atribut atau properties dari class

operasibilangan, sedangkan jumlah() dan tampilHasil() adalah methodnya.

Page 17: KEGIATAN BELAJAR 4 PEMROGRAMAN BERORIENTASI …

140

Modul 2, Rekayasa Perangkat Lunak

KB 4, PBO Dalam Perancangan Aplikasi/Sistem

Infomasi

- Perhatikan, di depan atribut atau method ada ‘public’ atau ‘private’. Jika

diberikan ‘public’ maka atribut atau method tersebut bisa diakses dari class

manapun (jika terdapat lebih dari satu class). Namun jika ‘private’, maka

atribut atau method hanya bisa diakses di dalam class itu saja. Selain ‘public’

dan ‘private’ sebuah atribut atau method bisa juga diset dengan sifat

‘protected’ yang artinya hanya bisa diakses dalam class itu saja ata class lain

yang masih dalam satu package yang sama. Keterangan ‘public’, ‘private’

dan ‘protected’ dalam OOP disebut modifier yang digunakan untuk

menentukan aksesibilitas method atau atribut.

- Perintah ‘this.’ digunakan untuk mengakses atribut atau method yang ada

dalam class tersebut.

9. Kemudian, di class ‘Contoh2’ nya (di file ‘Contoh2.java’), tulis kode program

sebagai berikut

public class Contoh2 {

public static void main(String[] args) {

operasiBilangan op1 = new operasiBilangan();

op1.bilangan1 = 10;

op1.bilangan

2 = 20;

op1.jumlah()

;

op1.tampilHa

sil();

}

}

Keterangan:

Perintah:

operasiBilangan op1 = new operasiBilangan();

digunakan untuk instantisasi, yaitu proses membuat obyek baru dengan nama

‘op1’. Obyek ini termasuk dalam class ‘operasiBilangan’.

Perintah: op1.bilangan1 = 10;

adalah mengeset atribut ‘bilangan1’ pada obyek ‘op1’ dengan suatu nilai.

Demikian juga dengan perintah

op1.bilangan2 = 20;

Perintah

op1.jumlah();

Page 18: KEGIATAN BELAJAR 4 PEMROGRAMAN BERORIENTASI …

141 KB 4, PBO Dalam Perancangan Aplikasi/Sistem

Infomasi

Modul 2, Rekayasa Perangkat Lunak

dimaksudkan untuk menjalankan method jumlah() yaitu menjumlahkan kedua

nilai atribut ‘bilangan1’ dan ‘bilangan2’ pada obyek ‘op1’.

Sedangkan perintah,

op1.tampilHasil();

digunakan untuk menjalankan method tampilHasil() yaitu menampilkan hasil

penjumlahan.

10. Untuk melihat hasil output program, Anda bisa mengcompilenya dahulu

kemudian menjalankan RUN PROJECT. Adapun outputnya adalah sebagai

berikut:

Gambar 4.20. Output project contoh 3

Dalam sebuah program, bisa dibuat instantisasi beberapa obyek dari class yang

sama.

Contoh 4

Berikut ini contoh yang merupakan pengembangan dari project ‘contoh2’

public class Contoh2 {

public static void main(String[] args) {

// instantisasi obyek ‘op1’

operasiBilangan op1 = new operasiBilangan();

op1.bilangan1 = 10;

op1.bilangan2 = 20;

op1.jumlah();

op1.tampilHasil();

// instantisasi obyek ‘op2’

operasiBilangan op2 = new operasiBilangan();

op2.bilangan1 = 30;

op2.bilangan2 = 25;

op2.jumlah();

op2.tampilHasil();

}

}

Dalam contoh di atas, dibuat 2 obyek dari class yang sama yaitu ‘op1’ dan

‘op2’. Adapun hasil output dari program ini adalah,

Page 19: KEGIATAN BELAJAR 4 PEMROGRAMAN BERORIENTASI …

142

Modul 2, Rekayasa Perangkat Lunak

KB 4, PBO Dalam Perancangan Aplikasi/Sistem

Infomasi

Gambar 4.21. Output project contoh 4

Untuk mengecek apakah suatu class yang sudah dibuat itu betul atau tidak, atau bisa

tidak diakses dari class lain, dapat dilihat dari tool tips yang muncul ketika menulis

kode program.

Sebagai contoh, misalkan di file ‘Contoh2.java’ ini dituliskan ‘op1.’ maka jika

muncul tool tips seperti gambar di bawah ini,

Gambar 4.22. Tool tips

Yang menandakan bahwa atribut dan method yang ada dalam class

‘operasiBilangan’ bisa diakses. Atribut dan method yang muncul dalam tool tips

hanyalah yang diset sebagai PUBLIC saja, sedangkan yang PRIVATE tidak

muncul. Perhatikan, bahwa atribut ‘hasil’ yang sebelumnya diset PRIVATE dalam

class ‘operasiBilangan’ tidak muncul dalam tool tips.

Jika struktur penulisan class itu benar, maka secara otomatis class-class

tersebut dapat diakses dari class lainnya dalam package yang sama. Namun, jika

ingin melakukan instantisasi obyek dari suatu class yang class tersebut berasal dari

package yang berbeda, maka perlu ditambahkan perintah:

import namapackage.namaclass;

sebelum kode classnya.

Contoh 5

Sebagai contoh, misalkan akan dibuat package baru dalam project ‘Contoh2’

dengan nama ‘paketku’. Di dalam package ‘paketku’ ini akan dibuat class dengan

nama ‘classku’. Selanjutnya di dalam class ‘classku’ dibuat sebuah method

Page 20: KEGIATAN BELAJAR 4 PEMROGRAMAN BERORIENTASI …

143 KB 4, PBO Dalam Perancangan Aplikasi/Sistem

Infomasi

Modul 2, Rekayasa Perangkat Lunak

dengan nama ‘cetakHelloWorld’ untuk menampilkan pesan ‘Hello World’

Adapun cara membuat package baru dalam project ‘Contoh2’ ini adalah dengan

mengklik kanan pada ‘Source Package’, lalu pilih NEW – JAVA PACKAGE

Gambar 4.23. Cara membuat package baru

Kemudian isikan nama package yang akan dibuat, yaitu ‘paketku’

Gambar 4.24. Form pengisian package baru

Setelah package ‘paketku’ dibuat, buat class dengan nama ‘classku’. Caranya

adalah dengan mengklik kanan pada package ‘paketku’, pilih NEW – JAVA

CLASS.

Gambar 4.25. Tampilan pembuatan class baru

Lalu isikan nama class yang akan dibuat yaitu ‘classku’

Gambar 4.26. Form pengisian class baru

Page 21: KEGIATAN BELAJAR 4 PEMROGRAMAN BERORIENTASI …

144

Modul 2, Rekayasa Perangkat Lunak

KB 4, PBO Dalam Perancangan Aplikasi/Sistem

Infomasi

Selanjutnya buat method cetakHelloWorld() di dalam class ‘classku’ yang sudah

terbentuk sebagai berikut:

public class classku {

public void cetakHelloWorld()

{

System.out.println("Hello World");

}

}

Kemudian, misalkan di method main() dalam class ‘Contoh2’ akan lakukan

instantisasi suatu obyek dari class ‘classku’ ini, maka sebelum proses instantisasi

ini dilakukan terlebih dahulu tambahkan perintah,

import paketku.classku;

Sebelum class “Contoh2”nya (dalam file “Contoh2java’), perhatikan gambar

berikut,

Gambar 4.27. Perintah import

Setelah menambahkan perintah import, barulah bisa lakukan proses instantisasi

suatu obyek dari class ‘classku’. Misalkan:

package contoh2;

import paketku.classku;

public class Contoh2 {

public static void main(String[] args) {

// instantisasi obyek ‘op1’

operasiBilangan op1 = new operasiBilangan();

op1.bilangan1 = 10;

op1.bilang

an2 = 20;

op1.jumlah

();

op1.tampil

Hasil();

// instantisasi obyek ‘op2’

operasiBilangan op2 = new operasiBilangan();

op2.bilangan1 = 30;

op2.bilang

an2 = 25;

op2.jumlah

Page 22: KEGIATAN BELAJAR 4 PEMROGRAMAN BERORIENTASI …

145 KB 4, PBO Dalam Perancangan Aplikasi/Sistem

Infomasi

Modul 2, Rekayasa Perangkat Lunak

();

op2.tampil

Hasil();

// instantitasi obyek ‘kelas’ dari

class ‘classku’ classku kelas = new

classku();

kelas.cetakHelloWorld();

}

}

Mengapa sebelum instantisasi obyek ‘kelas’ yang termasuk class ‘classku’ ini

perlu dilakukan import dari package ‘paketku’? Karena class ‘Contoh2’ ini beda

package dengan class ‘classku’ di mana class ‘Contoh2’ ini ada di dalam package

‘contoh2’ sedangkan class ‘classku’ ada dalam package ‘paketku’.

Adapun output dari program java di atas adalah,

Gambar 4.28. Output project contoh 5

Input dan Output dalam Java

Dalam bagian ini akan dibahas cara membaca data input melalui console serta

menampilkan outputnya juga melalui console.

Input Data Via Console

Untuk keperluan input data via console, perlu dibuat class khusus.

Contoh 6:

Sebagai contoh, berikut ini adalah sebuah pembuatan program Java untuk

perhitungan gaji karyawan yang beberapa datanya diinput lewat console:

• Buat Project dengan nama ‘gajikaryawan’, untuk package nya juga diberi nama

‘gajikaryawan’

• Buat class ‘inputConsole” yang disimpan dalam file inputConsole.java

Page 23: KEGIATAN BELAJAR 4 PEMROGRAMAN BERORIENTASI …

146

Modul 2, Rekayasa Perangkat Lunak

KB 4, PBO Dalam Perancangan Aplikasi/Sistem

Infomasi

Gambar 4.29. Menu input console

dengan isi kode sebagai berikut:

inputConsole.java import java.io.*;

public class inputConsole {

// membaca data

string public

String

bacaString()

{

BufferedReader bfr = new BufferedReader(new

InputStreamReader(System.in),

1); String string = "";

try

{

string = bfr.readLine();

}

catch (IOException ex)

{

System.out.println(ex);

}

return string;

}

// membaca data

integer public int

bacaInt()

{

return Integer.parseInt(bacaString());

}

// membaca data

float public

float

bacaFloat()

{

return Float.parseFloat(bacaString());

}

// membaca data long

integer public long

bacaLong()

{

return Long.parseLong(bacaString());

}

}

Page 24: KEGIATAN BELAJAR 4 PEMROGRAMAN BERORIENTASI …

147 KB 4, PBO Dalam Perancangan Aplikasi/Sistem

Infomasi

Modul 2, Rekayasa Perangkat Lunak

Secara umum, di dalam class ‘inputConsole’ tersebut, mekanisme method-

method untuk membaca input dalam berbagai tipe data itu adalah membaca

setiap input dalam bentuk string kemudian input string tersebut diubah ke tipe

data yang bersesuaian.

• Selanjutnya buat beberapa kode di bawah ini pada class Gajikaryawan

public class Gajikaryawan {

public static void main(String[] args) {

String

nama,

kodekar

; int

gapok,

jmlanak

; float

gaber,

tunjana

k;

inputConsole input1 = new inputConsole();

// input kode karyawan System.out.print("KODE

KARYAWAN : "); kodekar = input1.bacaString();

// input nama karyawan System.out.print0;("NAMA

KARYAWAN : "); nama = input1.bacaString();

// input gaji pokok karyawan

System.out.print("GAJI POKOK: ");

gapok = input1.bacaInt();

// input jumlah anak System.out.print("JML ANAK: ");

jmlanak = input1.bacaInt();

// hitung tunjangan anak -> setiap anak 10% dari

gaji pokok tunjanak = (float) ((float) gapok *

0.1 * jmlanak);

// hitung gaji bersih = gaji pokok + tunj anak

gaber = gapok + tunjanak;

// output

System.out.println("NAMA KARYAWAN : "+nama+"("+

kodekar +")"); System.out.println("GAJI BERSIH :

Rp. "+gaber);

}

}

Output Via Console

Secara umum perintah untuk menampilkan output ke layar console adalah

System.out.println(string);

atau

Page 25: KEGIATAN BELAJAR 4 PEMROGRAMAN BERORIENTASI …

148

Modul 2, Rekayasa Perangkat Lunak

KB 4, PBO Dalam Perancangan Aplikasi/Sistem

Infomasi

System.out.print(string);

Perbedaan keduanya adalah jika dengan println() setelah menampilkan suatu string

ke output console, maka terjadi perpindahan baris pada pointernya. Sedangkan

untuk System.output.print() tidak terjadi perpindahan baris pointernya.

Mengatur Digit Presisi Bilangan Riil (Float)

Secara default, Java akan menampilkan bilangan riil atau float dalam bentuk 15

digit di belakang koma, misalnya:

System.out.print(22./7);

akan muncul hasil di layar, bilangan 3.142857142857143

Selanjutnya bagaimana jikaingin membatasi digit presisi di belakang komanya,

misalnya hanya 3 digit saja? Caranya adalah dengan memanfaatkan built in class

‘DecimalFormat’ yang sudah tersedia dalam Java. Berikut ini contohnya,

Contoh 7

Contoh program Java untuk menampilkan 3 digit di belakang koma untuk bilangan

Phi (22/7)

import

java.text.DecimalForm

at; public class

Contoh2 {

public static void main(String[] args) {

// membuat obyek dari class DecimalFormat untuk 3

digit presisi DecimalFormat jmldigit = new

DecimalFormat("0.000"); System.out.println("Bilangan

Pi: " + jmldigit.format(22./7));

}

}

Class DecimalFormat ada dalam suatu package Java dengan nama

‘java.text.DecimalFormat’ sehingga di bagian atas program perlu ditambahkan

perintah:

import java.text.DecimalFormat;

Input Data Via GUI (Graphics User Interface)

Selain via console, input data juga bisa dilakukan via GUI. Di dalam Java, untuk

membuat aplikasi berbasis GUI bisa menggunakan SWING sebagai package nya,

Page 26: KEGIATAN BELAJAR 4 PEMROGRAMAN BERORIENTASI …

149 KB 4, PBO Dalam Perancangan Aplikasi/Sistem

Infomasi

Modul 2, Rekayasa Perangkat Lunak

sehingga di dalam program perlu melakukan import dengan perintah sebagai

berikut:

import javax.swing.*;

Berikut ini contoh kode Java untuk menerima input melalui form GUI kemudian

outputnya melalui console.

Contoh 8

Contoh program Java yang menerima input berupa nama (string) kemudian

menampilkan nama yang tadi diinputkan via console.

import

javax.swing

.*; public

class

Contoh2 {

public static void main(String[] args) {

String nama;

nama = JOptionPane.showInputDialog("Masukkan nama

Anda"); System.out.println("Hallo selamat datang, " +

nama);

}

}

Tampilan dari kode di atas setelah dirunning adalah sebagai berikut:

Gambar 4.30. Contoh tampilan input melalui GUI

dan outputnya:

Gambar 4.31. Output contoh 8

Contoh 9

Contoh program Java untuk menjumlahkan dua buah bilangan integer yang diinput

melalui GUI kemudian menampilkan hasilnya via Message Dialog.

Page 27: KEGIATAN BELAJAR 4 PEMROGRAMAN BERORIENTASI …

150

Modul 2, Rekayasa Perangkat Lunak

KB 4, PBO Dalam Perancangan Aplikasi/Sistem

Infomasi

Import

javax.swing

.*; public

class

Contoh2 {

public static void main(String[] args) {

int bil1; int bil2; int hasil;

// baca nilai bilangan ke-1

bil1 =

Integer.parseInt(JOptionPane.showInputDialog("Masukkan

bilangan pertama"));

// baca nilai bilangan ke-2

bil2 =

Integer.parseInt(JOptionPane.showInputDialog("Masukkan

bilangan kedua"));

// jumlahkan

kedua

bilangan

hasil = bil1

+ bil2;

// tampilkan hasil penjumlahannya via message dialog

JOptionPane.showMessageDialog(null, "Hasil

penjumlahannya:

"+hasil);

}

}

Adapun tampilan program Java tersebut adalah sebagai berikut:

Gambar 4.32. Contoh input dan hasil project melalui GUI

Struktur Kontrol Proses

Struktur kontrol proses bertujuan untuk dapat menentukan urutan

statement/perintah yang akan dikerjakan atau diproses. Struktur kontrol proses ini

antara lain:

Struktur Kontrol Kondisional

Struktur kontrol ini untuk menyatakan proses yang berbentuk

persyaratan/kondisional.

Struktur Kontrol IF

Tata cara penulisan statement IF:

Page 28: KEGIATAN BELAJAR 4 PEMROGRAMAN BERORIENTASI …

151 KB 4, PBO Dalam Perancangan Aplikasi/Sistem

Infomasi

Modul 2, Rekayasa Perangkat Lunak

if (syarat)

{

statement; statement;

.

.

}

Bisa juga berbentuk sebagai berikut,

if (syarat)

{

statement; statement;

.

.

}

else

{

statement; statement;

.

.

}

atau bisa juga berbentuk

if (syarat1)

{

statement;

statement;

.

.

}

else if (syarat2)

{

statement;

statement;

.

.

}

else if (syarat3)

{

statement;

statement;

}

.

.

else

{

statement;

statement;

.

.

}

Page 29: KEGIATAN BELAJAR 4 PEMROGRAMAN BERORIENTASI …

152

Modul 2, Rekayasa Perangkat Lunak

KB 4, PBO Dalam Perancangan Aplikasi/Sistem

Infomasi

Statement SWITCH

Struktur penulisan statement SWITCH adalah sebagai berikut:

switch(ekspresi)

{

case variabel1 :statement;

statement;

.

.

break;

case variabel2 : statement;

statement;

.

.

break;

.

.

Default : statement;

statement;

.

.

}

Struktur Kontrol Perulangan (Looping)

Struktur kontrol perulangan digunakan untuk mengatur proses yang dijalankan

secara berulang-ulang. Berikut ini beberapa statement yang dapat digunakan untuk

mengatur proses perulangan:

Statement FOR

Aturan penulisan (syntax) nya adalah:

for(ekspresiawal; syarat; ekspresiakhir)

{

statemen

t;

statemen

t;

.

.

}

Statement WHILE

Aturan penulisannya: while(syarat)

{

statemen

t;

statemen

t;

.

.

}

Page 30: KEGIATAN BELAJAR 4 PEMROGRAMAN BERORIENTASI …

153 KB 4, PBO Dalam Perancangan Aplikasi/Sistem

Infomasi

Modul 2, Rekayasa Perangkat Lunak

Statement DO WHILE

Aturan penulisanya:

do

{

statemen

t;

statemen

t;

.

.

}

while (syarat);

Contoh 10

Dalam contoh ini, akan dibuat sebuah project untuk menentukan gaji bersih

karyawan dengan ketentuan:

Gaji bersih = gaji pokok + tunjangan istri + tunjangan anak – potongan

Di mana tunjangan istri diberikan sebesar 10% dari gaji pokok, dan tunjangan anak

adalah 5% dari tiap anak. Sedangkan potongannya adalah 5% dari total gaji pokok

dan tunjangan-tunjangan.

Pertama buat dahulu project dengan nama misalnya: ‘projectGaji’

Gambar 4.33. Input nama project baru

Selanjutnya desain class, method dan atributnya sebagai berikut:

Nama Class: ‘gaji’ Tabel 4.2. Struktur class ‘gaji’

Nama Atribut Sifat Tipe Data Keterangan

kodeKaryawan Public String Kode karyawan

namaKaryawan Public String Nama karyawan

gajipokok Public Float Gaji pokok karyawan

statusMenikah Public Char Status menikah ‘Y’ atau ‘N’

jmlAnak Public Integer Jumlah anak

Page 31: KEGIATAN BELAJAR 4 PEMROGRAMAN BERORIENTASI …

154

Modul 2, Rekayasa Perangkat Lunak

KB 4, PBO Dalam Perancangan Aplikasi/Sistem

Infomasi

Tabel 4.3. Struktur method ‘gaji’

Nama method Sifat Method Tipe Data

Return Value Keterangan

hitungTunjIstri(char s) s: status menikah (y/n)

Public (non void) Float Menghitung

tunjangan istri

hitungTunjAnak(int n) n: jumlah anak

Public (non void) Float Menghitungan

tunjangan anak

hitungGajiBersih() Public (non void) Float Menghitung gaji bersih

hitungPotongan() Public (non void) Float Menghitung potongan

Kemudian implementasikan desain di atas ke dalam bentuk coding di dalam class

‘gaji’

gaji.java package projectgaji;

public class gaji {

// deklarasi untuk atribut class 'gaji'

public String kodekaryawan;

public String namakaryawan;

public float gajiPokok;

public char statusMenikah;

public int jmlAnak;

// deklarasi untuk method dari class 'gaji' public float

hitungTunjIstri(char s)

{

float tunjIstri = 0; if (s == 'y')

if (s == 'y')

{

tunjIstri = (float) (0.1 * this.gajiPokok);

}

return tunjIstri;

}

public float hitungTunjAnak(int n)

{

float tunjAnak;

tunjAnak = (float) (n * 0.05 *

this.gajiPokok); return tunjAnak;

}

public float hitungPotongan()

{

float jmlPotongan;

jmlPotongan = (float) (0.05 * (this.gajiPokok +

this.hitungTunjAnak(this.jmlAnak) +

this.hitungTunjIstri(this.statusMenikah)));

return jmlPotongan;

}

public float hitungGajiBersih()

{

float gaber;

gaber = (float) (this.gajiPokok +

this.hitungTunjAnak(this.jmlAnak) +

Page 32: KEGIATAN BELAJAR 4 PEMROGRAMAN BERORIENTASI …

155 KB 4, PBO Dalam Perancangan Aplikasi/Sistem

Infomasi

Modul 2, Rekayasa Perangkat Lunak

this.hitungTunjIstri(this.statusMenikah) -

this.hitungPotongan());

return gaber;

}

}

Sedangkan berikut ini isi dari method main() dalam class projectGaji nya.

ProjectGaji.java package projectgaji;

public class ProjectGaji {

public static void main(String[] args) {

gaji g1 = new gaji();

g1.kodekaryawan = "K001";

g1.namakaryawan = "ROSIHAN ARI";

g1.statusMenikah = 'y';

g1.jmlAnak = 3;

g1.gajiPokok = 2500000;

System.out.println("=========================================

====");

System.out.println("KODE KARYAWAN : "+g1.kodekaryawan);

System.out.println("NAMA KARYAWAN : "+g1.namakaryawan);

System.out.println("STATUS MENIKAH : "+g1.statusMenikah);

System.out.format("GAJI POKOK : Rp %10.1f \n",

g1.gajiPokok);

System.out.println("======================================");

System.out.format("TUNJANGAN ISTRI : Rp %10.1f \n",

g1.hitungTunjIstri(g1.statusMenikah));

System.out.format("TUNJANGAN ANAK : Rp %10.1f

\n", g1.hitungTunjAnak(g1.jmlAnak));

System.out.format("POTONGAN :

Rp %10.1f \n",

g1.hitungPotongan());

System.out.println("======================================");

System.out.format("GAJI BERSIH : Rp %10.1f

\n", g1.hitungGajiBersih());

System.out.println("======================================");

}

}

Keterangan:

Perintah System.out.format() digunakan untuk memformat tampilan,

khususnya untuk pengaturan bilangan yang dalam contoh di atas digunakan

untuk memformat tampilan bilangan riil dengan 1 digit angka di belakang

koma (%10.1f). Perintah ini sebagai alternatif cara untuk memformat tampilan

output selain yang pernah di bahas di bab sebelumnya.

Sedangkan berikut ini tampilan output dari program Javanya

Page 33: KEGIATAN BELAJAR 4 PEMROGRAMAN BERORIENTASI …

156

Modul 2, Rekayasa Perangkat Lunak

KB 4, PBO Dalam Perancangan Aplikasi/Sistem

Infomasi

Gambar 4.34. Output project contoh 10

Constructor

Di dalam OOP, ada istilah ‘constructor’. ‘Constructor’ ini melekat pada suatu class,

sehingga bisa menset beberapa nilai atribut sekaligus dari suatu obyek ketika proses

instansiasi. Jika sebelumnya setiap ingin menset nilai atribut dari sebuah obyek,

maka prosesnya adalah instansiasi baru set nilai atribut, namun dengan

‘constructor’ ini kedua langkah tersebut bisa dijadikan dalam satu langkah saja.

Contoh 11

Berikut ini contoh constructor yang ada dalam sebuah class. Perhatikan contoh class

‘operasi’ berikut ini

public class operasi {

public int

bil1;

public int

bil2;

public int

hasil;

private void jumlahkan()

{

this.hasil = this.bil1 + this.bil2;

}

public void tampilhasil()

{

System.out.println("Hasil penjumlahannya : " +

this.hasil);

}

}

Apabila ingin menjumlahkan 2 bilangan misalnya 10 dan 20, maka lakukan

perintah sebagai berikut:

Page 34: KEGIATAN BELAJAR 4 PEMROGRAMAN BERORIENTASI …

157 KB 4, PBO Dalam Perancangan Aplikasi/Sistem

Infomasi

Modul 2, Rekayasa Perangkat Lunak

operasi op1 = new

operasi();

op1.bil1 = 10;

op1.bil2 = 20;

op1.jumlahkan();

op1.tampilhasil();

Selanjutnya, misalkan buat constructor sebagai berikut:

public class operasi {

public int

bil1;

public int

bil2;

public int

hasil;

// constructor

class operasi

public

operasi(int x,

int y)

{

this.bil1 = x;

this.bil2 = y;

}

public void jumlahkan()

{

this.hasil = this.bil1 + this.bil2;

}

public void tampilhasil()

{

System.out.println("Hasil penjumlahannya : " +

this.hasil);

}

}

Setelah dibuat constructor, selanjutnya berikan perintah berikut ini,

operasi op1 = new operasi(10, 20);

untuk proses instansiasi sekaligus menset atribut bil1 dan bil2 nya, sehingga

secara umum perintah untuk menjumlahkan dua bilangannya adalah sebagai

berikut:

operasi op1 = new

operasi(10, 20);

op1.jumlahkan();

op1.tampilhasil();

Larik (Array)

Seperti halnya bahasa pemrogaman yang lain, di dalam Java juga ada penggunaan

Page 35: KEGIATAN BELAJAR 4 PEMROGRAMAN BERORIENTASI …

158

Modul 2, Rekayasa Perangkat Lunak

KB 4, PBO Dalam Perancangan Aplikasi/Sistem

Infomasi

Array. Di dalam java nomor indeks suatu array dimulai dari 0.

Berikut ini cara mendeklarasikan sebuah array dengan n buah elemen

tipedata[] namaarray = new tipedata[n];

Sebagai contoh, perhatikan perintah berikut ini untuk membuat array dengan nama

arrayku bertipe data integer dengan jumlah elemennya 10.

int[] arrayku = new int[10];

Pewarisan (Inheritance)

Di dalam Java, sifat suatu class dapat diturunkan atau diwariskan pada

sebuah class lain. Istilah sifat yang diwariskan ini adalah atribut atau method.

Class yang sifatnya diwariskan ini dinamakan superclass, dan class yang sifatnya

mewarisi class lain dinamakan subclass.

Pewarisan ini merupakan keuntungan dalam PBO karena suatu sifat atau

method yang didefinisikan dalam suatu superclass dapat diwariskan pada semua

subclassnya. Sehingga di dalam subclass tersebut tidak perlu menulis kode program

lagi untuk method tersebut.

Misalkan diberikan sebuah class dengan nama ‘kendaraan’ sebagai berikut::

public class kendaraan {

public int jmlRoda; public int jmlSeat;

public String nama;

public void tampilJmlRoda()

{

System.out.println(this.nama + " jumlah rodanya:

" + this.jmlRoda);

}

public void tampilJmlSeat()

{

System.out.println(this.nama + "

jumlah seat: " + this.jmlSeat);

}

}

Selanjutnya buat class di file yang lain yang merupakan turunan atau warisan dari

class ‘kendaraan’ tersebut dengan nama ‘keretaApi’. Dalam hal ini class

Page 36: KEGIATAN BELAJAR 4 PEMROGRAMAN BERORIENTASI …

159 KB 4, PBO Dalam Perancangan Aplikasi/Sistem

Infomasi

Modul 2, Rekayasa Perangkat Lunak

‘kendaraan’ disebut superclass, dan ‘keretaApi’ adalah subclass.

public class keretaApi extends kendaraan {

public int jmlGerbong;

public void tampilJmlGerbong()

{

System.out.println(this.nama + " jumlah gerbongnya "

+ this.jmlGerbong);

}

Perhatikan, di dalam class ‘keretaApi’ terdapat atribut tambahan yaitu

‘jmlgerbong’ dan method ‘tampilJmlGerbong’.

Sekarang, bagaimana cara menggunakan kedua class tersebut? Perhatikan

contohnya berikut ini,

Public static void main(String[] args) {

kendaraan ob1 = new

kendaraan(); ob1.nama

= "Kijang Innova";

ob1.jmlRoda = 4;

ob1.jmlSeat = 6;

ob1.tampilJmlRoda();

ob1.tampilJmlSeat();

keretaApi ob2 = new

keretaApi(); ob2.nama

= "KA. Argo Lawu";

ob2.jmlRoda = 100;

ob2.jmlSeat = 500;

ob2.jmlGerbong = 20;

ob2.tampilJmlGerbong(

);

ob2.tampilJmlRoda();

ob2.tampilJmlSeat();

}

Perhatikan contoh di atas, bahwa obyek ‘ob2’ dari instansiasi class ‘keretaApi’

bisa diset atribut- atributnya seperti halnya ‘ob1’, demikian juga method-

methodnya. Khusus atribut ‘jmlGerbong’ dan method ‘tampilJmlGerbong()’

hanya dimiliki oleh class ‘keretaApi’ saja.

Keterangan:

Page 37: KEGIATAN BELAJAR 4 PEMROGRAMAN BERORIENTASI …

160

Modul 2, Rekayasa Perangkat Lunak

KB 4, PBO Dalam Perancangan Aplikasi/Sistem

Infomasi

Semua atribut dan method dari superclass yang memiliki modifier ‘public’ akan

bisa langsung diwariskan pada subclassnya, demikian juga ‘protected’ namun

dengan syarat subclass dan superclass nya berada dalam package yang sama.

Overriding Method

Misalkan terdapat sebuah superclass sebagai berikut,

public class superclass1 {

public int atribut1;

public int atribut2;

public void method1()

{

System.out.println("Ini adalah hasil method1()

superclass");

}

}

Kemudian buat beberapa subclass dari superclass di atas, yaitu,

public class subclass1 extends superclass1 {

public void method1()

{

System.out.println("Ini adalah hasil method1()

subclass1");

}

}

Dan

public class subclass2 extends superclass1 {

public void method1()

{

System.out.println("Ini adalah hasil method1()

subclass2");

}

}

Jika diperhatikan, maka baik di superclass maupun di subclass1 dan subclass2

terdapat method dengan nama yang sama yaitu method1(). Dalam hal ini,

method1() yang ada di subclass1 dikatakan overriding method dari method1() yang

ada di superclass1. Demikian juga untuk method1() yang ada di subclass2. Jika

suatu obyek diinstasiasikan dari class subclass1, dan kemudian obyek tersebut

Page 38: KEGIATAN BELAJAR 4 PEMROGRAMAN BERORIENTASI …

161 KB 4, PBO Dalam Perancangan Aplikasi/Sistem

Infomasi

Modul 2, Rekayasa Perangkat Lunak

diberikan method method1() maka akan memanggil method1() yang ada dalam

subclass1 tersebut karena sudah mengoverride method1() yang ada di superclass1.

Berikut ini contoh implementasinya untuk beberapa obyek dari class yang berbeda

public static void main(String[] args) {

superclass1 ob1 = new

superclass1(); subclass1 ob2

= new subclass1(); subclass2

ob3 = new subclass2();

// memanggil method1 dari superclass1

ob1.method1();

// memanggil method1 dari

subclass1 ob2.method1();

// memanggil method1 dari

subclass2 ob3.method1();

}

Akan menghasilkan output:

Polimorfisme

Istilah polimorfisme secara umum adalah suatu materi yang bisa memiliki

banyak bentuk. Dalam PBO, istilah polimorfisme adalah kemampuan untuk

mendefinisikan karakteristik subclass-subclass secara unik. Untuk contoh

gambaran dari kemampuan polimorfisme dalam Java ini, adalah tinjau kembali

superclass1, subclass1 dan subclass2 dari bab Overriding Method.

Selanjutnya di main method-nya, seperti berikut ini,

public static void main(String[] args) {

superclass1 ob1, ob2, ob3;

ob1 = new superclass1();

ob2 = new subclass1();

ob3 = new subclass2();

ob1.method1();

ob2.method1();

ob3.method1();

}

Perhatikan pada perintah:

superclass1 ob1, ob2, ob3;

Page 39: KEGIATAN BELAJAR 4 PEMROGRAMAN BERORIENTASI …

162

Modul 2, Rekayasa Perangkat Lunak

KB 4, PBO Dalam Perancangan Aplikasi/Sistem

Infomasi

Meskipun ob1, ob2, dan ob3 didefinisikan sebagai tipe data superclass1 yang sama,

namun method method1() yang dipanggil dari tiap-tiap obyek melalui perintah:

ob1.method1();

ob2.method1();

ob3.method1();

Menghasilkan output yang berbeda-beda:

Hal ini dikarenakan sebelum pemanggilan method method1() untuk setiap

obyeknya, terlebih dahulu instansiasi masing-masing obyeknya untuk class yang

berbeda:

ob1 = new superclass1();

ob2 = new subclass1();

ob3 = new subclass2();

Exception Handling

Exception adalah peristiwa yang terjadi ketika proses running program yang

mengakibatkan program berhenti, ditandai dengan munculnya pesan error.

Sebagai contoh, misalkan program Java sebagai berikut:

public static void main(String[] args) {

int bilBulat;

bilBulat =

Integer.parseInt(JOptionPane.showInputDialog("Masukkan

bilangan bulat"));

}

}

Ketika program sederhana di atas dijalankan, maka akan meminta masukan sebuah

bilangan bulat (integer). Namun, apa yang akan terjadi jika yang dimasukkan bukan

bilangan bulat?

Page 40: KEGIATAN BELAJAR 4 PEMROGRAMAN BERORIENTASI …

163 KB 4, PBO Dalam Perancangan Aplikasi/Sistem

Infomasi

Modul 2, Rekayasa Perangkat Lunak

atau

Maka selanjutnya akan muncul pesan error exception sebagai berikut:

Untuk mengantisipasi munculnya exception tersebut, bisa dilakukan

penanganan dengan statement:

try

{

...

}

catch (namaexception var)

{

...

}

Keterangan:

- ‘namaexception’ nantinya diisikan dengan nama exception yang muncul, dalam

contoh kasus sebelumnya yang merupakan nama exception adalah

‘NumberFormatException’

- Secara umum, bisa digunakan keyword ‘Exception’ pada ‘namaexception’

untuk menangkap semua exception yang terjadi. Keyword ‘Exception’ adalah

top level dari semua exception.

Sedangkan ‘var’ diisikan dengan sembarang nama variabel.

Dengan statement try-catch di atas, maka pesan error exception tidak akan muncul

Page 41: KEGIATAN BELAJAR 4 PEMROGRAMAN BERORIENTASI …

164

Modul 2, Rekayasa Perangkat Lunak

KB 4, PBO Dalam Perancangan Aplikasi/Sistem

Infomasi

namun akan digantikan dengan pesan atau prosedur lain yang dituliskan dalam

bagian catch.

Berikut ini contoh penanganan exception dari kasus sebelumnya.

try

{

bilBulat =

Integer.parseInt(JOptionPane.showInputDialog("Masukkan

bilangan bulat"));

}

catch (NumberFormatException e)

{

JOptionPane.showMessageDialog(null, "Input salah");

}

Dengan penanganan di atas, maka ketika input yang dimasukkan bukan bilangan

bulat maka akan muncul pesan ‘Input Salah’.

Blok try-catch juga dapat berbentuk sebagai berikut:

try

{

...

}

catch (exception1 var1)

{

...

}

catch (exception2 var2)

{

...

}

.

.

catch (exceptionn varn)

{

...

}

Blok try-catch juga dapat diletakkan di sembarang struktur control, misalnya

dalam looping.

public static void main(String[] args) {

int bil1, bil2;

// selama input untuk bil1 bukan bilangan bulat

// maka akan terus

mengulang input while

(true)

{

try

{

Page 42: KEGIATAN BELAJAR 4 PEMROGRAMAN BERORIENTASI …

165 KB 4, PBO Dalam Perancangan Aplikasi/Sistem

Infomasi

Modul 2, Rekayasa Perangkat Lunak

bil1 =

Integer.parseInt(JOptionPane.showInputDialog(

"Masukkan Bilangan 1 (Integer)"));

break;

}

catch (Exception e)

{

JOptionPane.showMessageDialog(null, "Bukan bilangan

integer");

}

{

// selama input untuk bil2 bukan bilangan bulat

// maka akan terus mengulang input

while (true)

{

try

{

bil2 =

Integer.parseInt(JOptionPane.showInputDialog("Masukkan Bilangan 2

(Integer)"));

break;

}

catch (Exception e)

{

JOptionPane.showMessageDialog(null, "Bukan

bilangan integer");

}

}

JOptionPane.showMessageDialog(null, "Hasil

penjumlahannya: " + (bil1+bil2));

}

b. Error Handling

Error handling atau sering juga disebut exception handling merupakan

mekanisme yang paling diperlukan dalam menangani error yang terjadi pada saat

runtime (program berjalan) atau yang lebih dikenal dengan sebutan runtime error.

Secara umum, adanya kesalahan yang terjadi pada program pada saat runtime dapat

menyebabkan program berhenti atau hang. Untuk itulah diperlukan mekanisme

untuk memastikan bahwa program tetap dapat berjalan meskipun terdapat

kesalahan yang terjadi.

Secara umum, exception handling yang dijelaskan pada KB ini adalah

exception handling pada pemrograman java yang dilakukan menggunakan keyword

try-catch.

Page 43: KEGIATAN BELAJAR 4 PEMROGRAMAN BERORIENTASI …

166

Modul 2, Rekayasa Perangkat Lunak

KB 4, PBO Dalam Perancangan Aplikasi/Sistem

Infomasi

Tabel 4. 4. Fungsi pada exception handling

Kata kunci Deskripsi

try Digunakan untuk menentukan bagian statement program

dimana akan terjadi pengecualian. Blok dari try ini harus

diikuti dengan catch atau finally

catch Digunakan untuk menangani kesalahan/pengecualian yang

terjadi. Blok catch ini dapat berdiri sendiri tanpa blok try.

Blok catch dapat diikuti oleh blok finally

finally Digunakan untuk mengeksekusi bagian code yang penting

dari program. Bagian iji akan tetap dijalankan baik terjadi

pengecualian maupun tidak.

throw Digunakan untuk melempar pengecualian yang terjadi,

dimana throw digunakan dalam body dari code yang ada

throws Digunakan untuk mendeklarasikan pengecualian yang akan

terjadi pada bagian fungsi tersebut.

Berikut ini beberapa contoh kesalahan yang terjadi terjadi, yaitu:

• Pembagian bilangan dengan 0

• Pengisian elemen array diluar ukuran array

• Kegagaalan koneksi database

• File yang akan dibuka tidak exist

• Operand yang akan dimanipulasi out of prescribed range

• Mengakses obyek yang belum diinisialisasi

Common exception terdiri atas:

• Arithmetic exception

Hasil dari operasi divide-by-zero pada integer

Misal : int i = 12/0;

• Null pointer exception

Mencoba mengakses atribut atau method suatu objek padahal objek belum

dibuat.

Misal : Date d = null;

System.out.println(d.toString());

• Negative array size exception

Mencoba membuat array dengan ukuran negatif.

ArrayIndexOutOfBoundsException

Page 44: KEGIATAN BELAJAR 4 PEMROGRAMAN BERORIENTASI …

167 KB 4, PBO Dalam Perancangan Aplikasi/Sistem

Infomasi

Modul 2, Rekayasa Perangkat Lunak

Mencoba mengakses elemen array dimana index nya melebihi ukuran

array.

• Security exception

Biasanya Biasanya dilempar dilempar ke browser, class security manager

browser, class security manager melempar melempar exception untuk applet

yang mencoba melakukan:

Mengakses lokal file

Open socket ke host yang berbeda dengan host yang diopen oleh applet

Berikut ini contoh exception,

Class DivByZero {

public static void main(String args[]) {

System.out.println(3/0);

System out println(Pls.print me”);

}

}

• Menampilkan pesan error

Exception in thread "main“ java.lang.ArithmeticException:/by zero

at DivByZero.main(DivByZero.java:3)

Jika terjadi kesalahan, maka akan terjadi kejadian berikut:

• Secara otomatis akan dilempar sebuah object yang disebut dengan exception.

• Exception dapat diproses lebih lanjut oleh fungsi-fungsi yang siap menangani

menangani kesalahan kesalahan.

• Proses pelemparan exception disebut dengan throwing exception.

• Proses penerimaan exception disebut dengan cath exception.

Contoh berikut ini menunjukkan kejadian error yang merupakan cara lama, yaitu

loading loading file from the disk.

int status = loadTexfile();

If (status != 1) {

If (status != 1) {

// something unusual happened, describe it switch (status) {

case 2: // file not found

break;

case 3: //disk error

break; case 4:

case 4: //file corrupted

break;

default: // other error

}

} else {

// file loaded OK, continue with program

Page 45: KEGIATAN BELAJAR 4 PEMROGRAMAN BERORIENTASI …

168

Modul 2, Rekayasa Perangkat Lunak

KB 4, PBO Dalam Perancangan Aplikasi/Sistem

Infomasi

}

Contoh programnya adalah.

Fungsi bacaFile

BukaFile

BacaBarisFileSampaiHabis

TutupFile

Selanjutnya ditambahkan program untuk pengecekan berhasil tidaknya pembacaan

file,

Fungsi bacaFile

BukaFile

Jika Gagal Buka File

Lakukan Sesuatu

Jika Berhasil Buka File

BacaBarisFileSampaiHabis

TutupFile

Keterangan

• Bagaimana bila ditambahkan program untuk pengecekan terhadap status

pembacaan file?

• Bagaimana bila ditambahkan program untuk pengecekan terhadap status

penutupan file?

• Maka pgroram akan menjadi sangat panjang dan banyak terdapat nested if-

else.

Solusi menangani kejadian di atas adalah dengan menggunakan exception

Bentuk:

try {

………

} catch (ExceptionType x) {

………

}

Keterangan:

• Blok try digunakan digunakan untuk menempatkan menempatkan kode-kode

program java yang mengandung kode program yang mungkin melemparkan

exception.

• Blok catch digunakan untuk menempatkan kode-kode program java yang

digunakan untuk menangani sebuah exception tertentu.

Berikut ini contoh implementasintya,

try {

Page 46: KEGIATAN BELAJAR 4 PEMROGRAMAN BERORIENTASI …

169 KB 4, PBO Dalam Perancangan Aplikasi/Sistem

Infomasi

Modul 2, Rekayasa Perangkat Lunak

Fungsi bacaFile

BukaFile

BacaBarisFileSampaiHabis

TutupFile

} catch (KesalahanBukaFile) {

// lakukan sesuatu

}

Try Dengan Banyak Catch

Try dengan banyak catch dapat digunakan beberapa blok catch untuk satu blok try.

Exception dalam satu program bisa mengatasi banyak exception.

Contoh implementasi:

Misal dalam satu blok try terdapat kemungkinan terjadi:

NullPointerException

IndexOutOfBoundsException

ArithmeticException

Implementasi 1

try { ………

} catch (ExceptionType1 x1{

………..

} catch (ExceptionType2 x2{

………

}

Implementasi 2

try {

Fungsi bacaFile

BukaFile

BacaBarisFileSampaiHabis

TutupFile

} catch (KesalahanBukaFile) {

// lakukan sesuatu

} catch (KesalahanAlokasiMemori) {

// lakukan sesuatu

} catch (KesalahanTutupFile) {

// lakukan sesuatu

}

Page 47: KEGIATAN BELAJAR 4 PEMROGRAMAN BERORIENTASI …

170

Modul 2, Rekayasa Perangkat Lunak

KB 4, PBO Dalam Perancangan Aplikasi/Sistem

Infomasi

Checked/Unchecked Exceptions

Checked/unchecked exceptions terdiri atas beberapa jenis, yaitu:

• Exception bisa checked atau unchecked

- Checked = dicek oleh the compiler

• Checked exception hanya dapat ditangani dalam try block atau method yang

didesain didesain untuk melempar melempar exception.

• Compiler akan memberitahu jika checked exception tidak ditangani secara tepat

Contoh : IOException.

• Unchecked exception tidak memerlukan penanganan langsung . Pada saat

dicompile tidak ada pemberitahuan kesalahan.

Contoh : RunTimeException dan turunannya

Melempar Exception ‐ Throw

Java memperbolehkan untuk melempar exception (generate exception)

throw <exception object>;

Exception yang dilempar adalah sebuah object exception (object exception yang

sudah disediakan oleh java atau yang di create sendiri)

• Contoh:

throw new ArithmeticException(“testing...”)

Contoh,

Mendefinisikan method yang menghasilkan exception:

Page 48: KEGIATAN BELAJAR 4 PEMROGRAMAN BERORIENTASI …

171 KB 4, PBO Dalam Perancangan Aplikasi/Sistem

Infomasi

Modul 2, Rekayasa Perangkat Lunak

• Dilakukan bila method tidak ingin menangani exception sendiri.

• Method tertentu dalam program mungkin akan menghasilkan error yang tidak

dikenali secara otomatis oleh Java Virtual Machine.

• Berlaku bagi kategori exception yang bukan subclass dari RunTimeException.

Contoh: EOFException, MallformedURLException

• Dengan cara membuat method yang dapat melempar exception.

• Sintaks

<type> <methodeName> (<paramaterList>)

Throws <exception>{

<methodeBody>

}

Contoh method yang mendefinisikan exception Class methodKu{

public Image loadImage(String s)

throws EOFException, MalformedURLException {

If(kondisierroryangterjadi)

throw new EOFException()

}

}

Exception Propagation

Exception dapat ditangani pada tingkat yang lebih tinggi, jika di tempat

terjadinya terjadinya exception exception tidak ditangani ditangani secara tepat.

Page 49: KEGIATAN BELAJAR 4 PEMROGRAMAN BERORIENTASI …

172

Modul 2, Rekayasa Perangkat Lunak

KB 4, PBO Dalam Perancangan Aplikasi/Sistem

Infomasi

Exception merambat naik (propagate up) melalui method calling hierarchy sampai

exception ditangkap atau sampai mencapai level method main.

void method1 throws IOException {

throw new IOException("Error in method1");

}

void method2 throws IOException {

// do stuff, but no catch, just specify method1();

}

void method3 throws IOException {

// do stuff, but no catch, just specify method2();

}

public static void main (String args[]){

// catch if just specify error to console try {

method3();

} catch (IOException e){

// handle the exception from method1

}

}

Object Exception

Object exception yang dihasilkan dihasilkan dapat dimanfaatkan untuk

mengetahui lebih lanjut mengenai error atau exception yang terjadi. Exception

merupakan subclass dari class Throwable.

Berikut ini merupakan method yang diwarisi oleh exception:

• getMessage()

Method ini mengembalikan mengembalikan isi pesan untuk menggambarkan

menggambarkan exception yang terjadi

• printStackTrace()

Method ini menampilkan menampilkan pesan error dan stack trace ke standard

standard error output stream yang biasanya merupakan konsol window apabila

program merupakan program konsol.

• printStackTrace(PrintStreams)

Method ini mengembalikan pesan error ke objek PrintStream yang dijadikan

parameter. Apabila ingin menampilkan pesan ke konsol, anda dapat

menggunakan ystem.out sebagai parameter.

Overriding Method dan Exception

Overriding method hanya boleh melempar exception yang merupakan

subclass dari exeption yang dilempar oleh overriden method atau sama. Overriding

Page 50: KEGIATAN BELAJAR 4 PEMROGRAMAN BERORIENTASI …

173 KB 4, PBO Dalam Perancangan Aplikasi/Sistem

Infomasi

Modul 2, Rekayasa Perangkat Lunak

method boleh mendeklarasikan exception lebih sedikit dari jumlah exception

kepunyaan overridden method kepunyaan overridden method.

Catatan;

• Overriding method =method yang mengoveride.

• Overridden method = method yang dioveride.

Berikut ini adalah contoh methode overriding

• Class TestB1 → ok karena ArithmeticException merupakan subclass dari

RuntimeException.

• Class TestB2 → error karena Exception merupakan superclass dari

RuntimeException.

Page 51: KEGIATAN BELAJAR 4 PEMROGRAMAN BERORIENTASI …

174

Modul 2, Rekayasa Perangkat Lunak

KB 4, PBO Dalam Perancangan Aplikasi/Sistem

Infomasi

• Class TestMultiB1 → ok karena FileNotFoundException dan

UTFDDataFormatException merupa kan subclass dan IOException

• Arithmetic Exception merupakan subclass dari RuntimeException.

c. Koneksi Database Server Melalui Client-Server

Klien-server atau client-server merupakan sebuah paradigma dalam

teknologi informasi yang merujuk kepada cara untuk mendistribusikan aplikasi ke

dalam dua pihak: pihak klien dan pihak server.

Dalam model klien/server, sebuah aplikasi dibagi menjadi dua bagian yang

terpisah, tetapi masih merupakan sebuah kesatuan yakni komponen klien dan

komponen server. Komponen klien juga sering disebut sebagai front-end,

sementara komponen server disebut sebagai back-end. Komponen klien dari

aplikasi tersebut dijalankan dalam sebuah workstation dan menerima masukan data

dari pengguna. Komponen klien tersebut akan menyiapkan data yang dimasukkan

oleh pengguna dengan menggunakan teknologi pemrosesan tertentu dan

mengirimkannya kepada komponen server yang dijalankan di atas mesin server,

umumnya dalam bentuk request terhadap beberapa layanan yang dimiliki oleh

server. Komponen server akan menerima request dari klien, dan langsung

memprosesnya dan mengembalikan hasil pemrosesan tersebut kepada klien. Klien

pun menerima informasi hasil pemrosesan data yang dilakukan server dan

menampilkannya kepada pengguna, dengan menggunakan aplikasi yang

berinteraksi dengan pengguna.

Sebuah contoh dari aplikasi client/server sederhana adalah aplikasi web

yang didesain dengan menggunakan Active Server Pages (ASP) atau PHP. Script

PHP atau ASP akan dijalankan di dalam web server (Apache atau Internet

Information Services), sementara skrip yang berjalan di pihak klien akan dijalankan

oleh web browser pada komputer klien. Klien-server merupakan penyelesaian

masalah pada software yang menggunakan database sehingga setiap komputer tidak

perlu diinstall database, dengan metode klien-server database dapat diinstal pada

suatu komputer sebagai server dan aplikasinya diinstal pada client. Dengan

menggunakan client server database hanya dapat diakses oleh komputer server,

Page 52: KEGIATAN BELAJAR 4 PEMROGRAMAN BERORIENTASI …

175 KB 4, PBO Dalam Perancangan Aplikasi/Sistem

Infomasi

Modul 2, Rekayasa Perangkat Lunak

dimana komputer tersebut hanya dapat diakses oleh admin dari database tersebut.

Didalam tutorial database mysql ini saya menggunakan MySQL sebagai

databasenya. Untuk lebih jelasnya berikut fungsi dari client server itu sendiri.

Dalam konteks basis data, client mengatur interface berfungsi sebagai

workstation tempat menjalankan aplikasi basis data. Client menerima permintaan

pemakai, memeriksa sintaks dan generate kebutuhan basis data dalam SQL atau

bahasa yang lain. Kemudian meneruskan pesan ke server, menunggu response dan

bentuk response untuk pemakai akhir. Server menerima dan memproses permintaan

basis data kemudian mengembalikan hasil ke client.

Proses-proses ini melibatkan pemeriksaan autorisasi, jaminan integritas,

pemeliharaan data dictionary dan mengerjakan query serta proses update. Selain itu

juga menyediakan kontrol terhadap concurrency dan recovery.

Beberapa keuntungan menggunakan Client Server sebagai koneksi

database, berikut keuntungannya :

• Memungkinkan akses basis data yang besar

• Aplikasi menyelesaikan bagian operasi pada client dan mengirimkan hanya

bagian yang dibutuhkan untuk akses basis data melewati jaringan,

menghasilkan data yang sedikit yang akan dikirim melewati jaringan.

• Jika client dan server diletakkan pada komputer yang berbeda kemudian CPU

yang berbeda dapat memproses aplikasi secara paralel. Hal ini

mempermudah merubah mesin server jika hanya memproses basis data.

• Server dapat menangani pemeriksaan integrity sehingga batasan perlu

didefinisikan dan validasi hanya di satu tempat, aplikasi program

mengerjakan pemeriksaan sendiri.

• Biaya untuk hardware dapat dikurangi

• Hanya server yang membutuhkan storage dan kekuatan proses yang cukup

untuk menyimpan dan mengatur basis data

• Menaikkan kinerja

• Biaya komunikasi berkurang

• Meningkatkan kekonsistenan

• Map ke arsitektur open-system dengan sangat alami

Page 53: KEGIATAN BELAJAR 4 PEMROGRAMAN BERORIENTASI …

176

Modul 2, Rekayasa Perangkat Lunak

KB 4, PBO Dalam Perancangan Aplikasi/Sistem

Infomasi

Sedangkan fungsi dari masing-masing Client Server

Client

• Mengatur user interface

• Menerima dan memeriksa sintaks input dari pemakai

• Memproses aplikasi

• Generate permintaan basis data dan memindahkannya ke server

• Memberikan response balik kepada pemakai

• Menyediakan akses basis data secara bersamaan

• Menyediakan control recovery

Server

• Menerima dan memproses basis data yang diminta dari client

• Memeriksa autorisasi

• Menjamin tidak terjadi pelanggaran terhadap integrity constraint

• Melakukan query/pemrosesan update dan memindahkan response ke client

• Memelihara data dictionary

Cara Setting Koneksi Database secara Client Server

Untuk lebih jelasnya langsung saja ke tutorialnya sehingga anda akan

mudah mengerti dari pada penjelasan diatas. Maksudnya client-server adalah

databasenya di komputer server dan programnya di client. Dalam pembuatan

database dibutuhkan suatu software yang bisa menjalankan MySQL dan Apache.

Pada contoh ini aplikasi yang digunakan adalah XAMPP versi 1.8.

1. Download terlebih dahulu Xampp

2. Install dan jalankan Xampp dan jalankan Apche dan Mysql.

Page 54: KEGIATAN BELAJAR 4 PEMROGRAMAN BERORIENTASI …

177 KB 4, PBO Dalam Perancangan Aplikasi/Sistem

Infomasi

Modul 2, Rekayasa Perangkat Lunak

Gambar 4.35. Tampilan utama XAMP control panel

3. Setalah itu buka browser dan ketikan localhost/phpmyadmin/ klik database yang

ingin diakses client.

Gambar 4.36. Tampilan phpyadmin

4. Klik Privileges, lalu klik Add user

5. Kemudian isi seperi gambar di bawah ini,

Gambar 4.37. Tampilan menu Privileges

Page 55: KEGIATAN BELAJAR 4 PEMROGRAMAN BERORIENTASI …

178

Modul 2, Rekayasa Perangkat Lunak

KB 4, PBO Dalam Perancangan Aplikasi/Sistem

Infomasi

6. Kemudi klik GO yang berada di pojok kanan bawah, jika sudah di GO maka

akan otomatis user yang ditambahkan masuk ke data user.

Gambar 4.38. Tampilan data user yang telah ditambahkan

7. Setelah menambah user kembali lagi ke Xamp, buka Xampp Klik Config di

bagian Apache dan pilih Apache (httpd-xampp.conf)

Gambar 4.39. Tampilan Apache (httpd-xampp.conf)

8. Kemudian cari pada bagian <Locationmatch >

Page 56: KEGIATAN BELAJAR 4 PEMROGRAMAN BERORIENTASI …

179 KB 4, PBO Dalam Perancangan Aplikasi/Sistem

Infomasi

Modul 2, Rekayasa Perangkat Lunak

Gambar 4.40. Tampilan </Locationmatch > pada Apache (httpd-xampp.conf)

9. Ubah pada bagian Require local dengan script berikut ini :

</LocationMatch>

“^/(?i:(?:xampp|security|licenses|phpmyadmin|webalizer|server-

status|server-info))”>

#Require local

order deny,allow

deny from all

Allow from 192.168.1.1

ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var

</LocationMatch>

Pada bagian Allow from isi dengan alamat IP client yang telah di setting di PC

Client.

10. Setelah itu Save.

11. Terakhir pada bagian script kode koneksinya dibuat seperti berikut gambar

berikut

Gambar 4.41. Script kode koneksi

Page 57: KEGIATAN BELAJAR 4 PEMROGRAMAN BERORIENTASI …

180

Modul 2, Rekayasa Perangkat Lunak

KB 4, PBO Dalam Perancangan Aplikasi/Sistem

Infomasi

Pada bagian String url = itu di isi alamat ip yang diisi dengan alamat IP yang di

tambahkan di localhost. Pada bagian con = DriverManager.getConnection(url,

“adi”,”12345″); adi = nama user yang telah ditambahkan di localhost yang telah

dibuat tadi 12345 = password yang telah disetting di localhost juga

Setelah itu jalankan program dari komputer Client dan sudah selesai. Dan yang

terpenting pastikan komputer Client-Server saling terhubung.

d. Desain User Interface

User interface (UI) merupakan cara sebuah program dengan pengguna

untuk saling berkomunikasi atau bisa dikatakan sebagai segala sesuatu yang

dirancang menjadi sebuah perangkat informasi, dimana pengguna dapat melakukan

sebuah interaksi dengan sebuah program dengan lebih mudah. Media yang dapat

digunakan pengguna untuk berinteraksi dengan program (apliksi atau website)

dapat berupa tampilan layar (layout), keyboard, dan mouse.

Deborah J. Mayhew, mengemukakan bahwa terdapat 17 prinsip yang harus

dipahami para perancang sistem, terutama untuk mendapatkan hasil maksimal dari

tampilan yang dibuat, yaitu:

• User compatibility, yang bisa berarti kesesuaian tampilan dengan tipikal dari

user. karena berbeda user bisa jadi kebutuhan tampilannya berbeda. misalnya,

jika aplikasi diperuntukkan bagi anak-anak, maka jangan menggunakan istilah

atau tampilan orang dewasa.

• Product compatibility, istilah ini mengartikan bahwa produk aplikasi yang

dihasilkan juga harus sesuai. memiliki tampilan yang sama/serupa. baik untuk

user yang awam maupun yang ahli.

• Task compatibility, berarti fungsional dari task/tugas yang ada harus sesuai

dengan tampilannya. misal untuk pilihan report, orang akan langsung

mengartikan akan ditampilkan laporan. sehingga tampilan yang ada bukanlah

tipe data (dari sisi pemrogram).

• Work flow compatibility, aplikasi bisa dalam satu tampilan untuk berbagai

pekerjaan.

• Consistency, contohnya, jika anda menggunakan istilah save yang berarti

Page 58: KEGIATAN BELAJAR 4 PEMROGRAMAN BERORIENTASI …

181 KB 4, PBO Dalam Perancangan Aplikasi/Sistem

Infomasi

Modul 2, Rekayasa Perangkat Lunak

simpan, maka gunakan terus istilah tersebut.

• Familiarity, icon disket akan lebih familiar jika digunakan untuk perintah

menyimpan.

• Simplicity, aplikasi harus menyediakan pilihan default yang sederhana untuk

suatu pekerjaan.

• Direct manipulation, manipulasi secara langsung. misalnya untuk mempertebal

huruf, cukup dengan ctrl+B.

• Control, berikan kontrol penuh pada user, tipikal user biasanya tidak mau terlalu

banyak aturan.

• WYSIWYG, What You See Is What You Get, buatlah tampilan mirip seperti

kehidupan nyata user. dan pastikan fungsionalitas yang ada berjalan sesuai

tujuan.

• Flexibility, tool/alat yang bisa digunakan user. jangan hanya terpaku pada

keyboard atau mouse saja.

• Responsiveness, tampilan yang dibuat harus ada responnya. misal, yang sering

dilihat ketika ada tampilan please wait... 68%...

• Invisible technology. user tidak penting mengetahui algoritma apa yang

digunakan. Contohnya untuk mengurutkan pengguna tidak perlu mengetahui

algoritma yang digunakan programmer (max sort, bubble sort, quick sort, dsb)

• Robustness, handal. Dapat mengakomodir kesalahan user. jangan malah error,

apalagi sampai crash.

• Protection, melindungi user dari kesalahan yang umum dilakukan. misalnya

dengan memberikan fitur back atau undo.

• Ease of learning. aplikasi. mudah dipelajari.

• Ease of use, aplikasi harus mudah digunakan

1) Desain Output

Output adalah komponen yang paling dapat dilihat dari sistem informasi

yang bekerja/berfungsi. Oleh karena itu, output sering menjadi basis penilaian akhir

manajemen terhadap kesuksesan sebuah sistem. Salah satu cara untuk

menggolongkan output adalah dengan melihat distribusinya apakah ke dalam atau

Page 59: KEGIATAN BELAJAR 4 PEMROGRAMAN BERORIENTASI …

182

Modul 2, Rekayasa Perangkat Lunak

KB 4, PBO Dalam Perancangan Aplikasi/Sistem

Infomasi

ke luar perusahaan, dan orang-orang yang membaca dan menggunakan output.

Internal output digunakan untuk para pemilik dan pengguna sistem dalam

sebuah perusahaan. Output internal mendukung operasi bisnis sehari-hari atau

pengawasan manajemen dan pengambilan keputusan.

Tiga jenis output internal adalah sebagai berikut:

• Detailed report, menyajikan informasi dengan sedikit atau tanpa dilakukan

penyaringan atau pembatasan. Contoh daftar seluruh tagihan pelanggan.

• Summary report, berisi informasi dari manajer yang tidak perlu diperlihatkan

keseluruhan laporan secara detail. Contoh laporan ringkasan total penjualan

dalam hitungan bulanan dan grafik penjualan per-tahun.

• Exception report, menyaring data sebelum ditunjukkan kepada manajer sebagai

sebuah informasi. Contoh laporan persediaan barang yang hampir habis.

Eksternal output bersifat keluar organisasi. Output ini ditujukan kepada

konsumen, pemasok, mitra bisnis dan badan pemerintahan. Output eksternal

menyimpulkan dan melaporkan transaksi bisnis. Contoh faktur, nota pembelian,

jadwal kursus, tiket pesawat, tagihan telepon dan lain sebagainya. Turnaround

output adalah output eksternal yang akhirnya masuk kembali ke dalam sistem

sebagai input. Contoh tagihan telepon yang hasil pembayaran pelanggan menjadi

inputnya.

Berikut adalah hal-hal penting untuk mendesain output:

• Output dari komputer harus mudah dibaca dan diinterpretasikan :

- Setiap output harus memiliki judul

- Setiap output harus diperbaharui dan diberi tanggal

- Laporan dan layar (screen) harus memiliki bab dan sub bab pada

masingmasing segmen informasinya.

- Pada output berbasis form, semua bagian harus diberi label/nama yang jelas

- Pada output berbasis tabel, semua kolom yang digunakan juga harus diberi

nama

- Karena judul bab, field name dan judul kolom sering mengalami

penyingkatan untuk menghemat tempat, maka laporan harus menyediakan

akses untuk melihat dan menginterpretasikan singkatan tersebut.

Page 60: KEGIATAN BELAJAR 4 PEMROGRAMAN BERORIENTASI …

183 KB 4, PBO Dalam Perancangan Aplikasi/Sistem

Infomasi

Modul 2, Rekayasa Perangkat Lunak

- Hanya informasi yangdibutuhkan saja yang dicetak atau ditampilkan.

- Agar informasi tersebut dapat digunakan, maka informasi tidak boleh diubah

secara manual

- Informasi harus tampak seimbang pada laporan atau tampilannya, jangan

terlalu penuh atau tersebar.

- Para pengguna harus dapat dengan mudah menemukan output tersebut

- Jargon komputer dan pesan error harus diabaikan dari semua output

• Timing output komputer penting untuk diperhatikan

• Distribusi atau akses ke output komputer harus mencukupi untuk membantu

seluruh pengguna sistem yang relevan.

• Output komputer harus mudah diterima oleh pengguna sistem yang akan

menerima output.

2) Proses Desain Output Langkah-langkah atau proses desain output adalah:

a) Mengidentifikasi output sistem dan meninjau persyaratan logis b) Menentukan persyaratan output fisik

Setelah memastikan bahwa tipe laporan dari output dipahami dan bagaimana

output akan digunakan, maka perlu menekankan beberapa hal yang terkait

dengan masalah desain:

- Metode implementasi yang mana yang terbaik untuk melayani output

tersebut? Keputusan-keputusan di bawah ini dutuhkan untuk pengguna

sistem: • Format apa yang paling cocok untuk laporan tersebut? tabel? zone?

grafik? atau gabungan? • Jika dibutuhkan printout, anda harus menentukan tipe form atau kertas

yang akan digunakan. • Pada screen output, anda harus mengetahui batasan peralatan display

pengguna. • Form image dapat disimpan dan dicetak dengan printer laser modern

Page 61: KEGIATAN BELAJAR 4 PEMROGRAMAN BERORIENTASI …

184

Modul 2, Rekayasa Perangkat Lunak

KB 4, PBO Dalam Perancangan Aplikasi/Sistem

Infomasi

- Seberapa sering output dihasilkan? Sesuai permintaan? Per jam? Harian?

Bulanan? Untuk output yang sudah terjadwal, kapan pengguna sistem

membutuhkan laporan?

- Berapa buah halaman atau lembar dari output yang akan dihasilkan untuk

salinan tunggal dari printed output?

- Apakah output membutuhkan banyak salinan? Jika ya, berapa banyak?

- Untuk output yang sudah tercetak, apakah kontrol distribusi sudah

terselesaikan? Untuk output online, kontrol akses harus ditetapkan. c) Mendesain semua preprinted form. Dokumen eksternal dan turnaround

dipisahkan untuk pertimbangan tertentu karena mereka berisi informasi yang

dinilai konstan dan belum tercetak (preprinted). d) Mendesain, memvalidasi dan menguji output. Format atau layout sebuah output

secara langsung berpengaruh pada kemudahan pengguna untuk membaca dan

menerjemahkannya. Cara paling baik untuk menyusun format tersebut adalah

dengan membuat sketsa atau dengan membuat contoh dari dokumen atau

laporan.

3) Desain Input Untuk menginput data ke dalam komputer, analis sistem harus mendesain

dokumen sumber, screen input dan metode serta prosedur untuk memasukkan data

ke dalam komputer (dari konsumen ke form ke staf entry data ke komputer).

• Data caputre adalah identifikasi dan penambahan data baru. • Source document adalah form yang digunakan untuk menyimpan transaksi

perusahaan, khususnya data-data yang ada pada transaksi tersebut. • Data entry adalah suatu proses translasi source data atau dokumen ke dalam

format yang mudah dibaca oleh computer. Ketika komputasi onlikne menjadi

kian umum, maka tanggung jawab data entry sekarang beralih langsung kepada

pengguna sistem. Masalah Pengguna Sistem pada Desain Input

Input berasal dari sistem, maka human factor memainkan peranan yang

Page 62: KEGIATAN BELAJAR 4 PEMROGRAMAN BERORIENTASI …

185 KB 4, PBO Dalam Perancangan Aplikasi/Sistem

Infomasi

Modul 2, Rekayasa Perangkat Lunak

sangat penting dalam desain input. Input harus dibuat sesederhana mungkin dan

didesain untuk mengurangi kemungkinana kesalahan pemasukan data. Kebutuhan

pengguna sistem harus dipertimbangkan.

Jumlah data yang dimasukkan harus seminimal mungkin, semakin banyak

data yang dimasukkan, semakin besar potensi kesalahan input dan makin lama juga

waktu yang diperlukan untuk menginput data. Jadi, ada berbagai pertimbangan

yang perlu dilakukan pada data yang akan di capture sebagai input. Berikut ini

prinsip-prinsip desain input yang harus diikuti:

• Dapatkan hanya data variabel, jangan memasukkan data konstan. Misalnya

pada input sales order, maka dibutuhkan part numbner dari seluruh bagian

yang akan dipesan, tetapi tidak perlu menginput part descriptions untuk

bagian-bagian tersebut.

• Jangan meng-capture data yang dapat dikalkulasi atau dihitung dengan

menggunakan program komputer.

• Gunakan kode untuk atribut yang tepat.

Jika source document digunakan untuk menangkap data, maka dokumen

tersebut harus mudah digunakan oleh pengguna sistem untuk dilengkapi dan

kemudian dimasukkan ke dalam sistem. Beberapa pertimbangandi bawah ini dapat

membantu :

• Masukkan perintah untuk melengkapi form. Ingat bahwa orang tidak suka jika

harus membaca perintah yang dicetak dibalik form.

• Minimalkan jumlah tulisan tangan. Banyaknya orang yang tidak mempunyai

kemampuan menulis indah. Petugas data entry dapat salah membaca data lalu

salah memasukkan data tersabut.

• Data yang akan dimasukkan harus diurutkan terlebih dahulu sehingg dapat

dibaca dari atas ke bawah dan dari kiri ke kanan.

• Jika memungkinkan gunakan desain yang berbasis metapora (input yang mirip

dengan kertas) yang sudah dikenal.

4) Kontrol Internal – Data Editing untuk Input

Kontrol internal merupakan persyaratan yang ada di seluruh sistem berbasis

Page 63: KEGIATAN BELAJAR 4 PEMROGRAMAN BERORIENTASI …

186

Modul 2, Rekayasa Perangkat Lunak

KB 4, PBO Dalam Perancangan Aplikasi/Sistem

Infomasi

computer. Kontrol input internal menjamin input data pada komputer tersebut

akurat dan bahwa sistem tersebut aman terhadap suatu kesalahan incidental dan

penyalahgunaan. Di bawah ini petunjuk control internal yang dianjurkan :

• Jumlah input harus diawasi.

• Perhatian juga harus diberikan untuk memastikan bahwa data tersebut valid.

Terdapat dua tipe kesalahan yang dapat terjadi pada data: kesalahan data entry

dan penyimpanan data invalid oleh pengguna sistem. Kesalahan pemasukan

data terdiri dari kesalahan meng-copy, pemindahan posisi (mengetik 123

dengan 123) dan penyelipan (keying 345.36 menjadi 3453.6).

5) Proses Desain Input

Langkah-langkahnya adalah sebagai berikut:

• Mengidentifikasi input sistem dan memberikan persyaratan logika

• Memilih control GUI yang sesuai

• Mendesain, memvalidasi dan mengetes input dengan menggunakan

beberapa kombinasi dari : Peralatan layout dan Prototyping peralatan.

• Jika perlu, mendesain source document

6) Desain Antar Muka

Pada desain antarmuka, audiens adalah system user. System user dapat

diklasifikasikan secara luas baik sebagai pakar atau orang baru dan baik secara

terikat dan tidak terikat. Expert user (dedicated user) adalah pengguna komputer

yang berpengalaman yang banyak menghabiskan waktunya untuk menggunakan

program aplikasi khusus. Expert user umumnya terbiasa dengan (tetapi tidak perlu

ahli dalam) lingkungan operasi aplikasi. Mereka telah menghabiskan waktu untuk

belajar menggunakan komputer. Mereka akan menginvestasikan waktu untuk

menguasai antarmuka pengguna yang kurang user-friendly. Umumnya, mereka

telah hapal operasi rutin dan tingkat di atasnya sehingga tidak memerlukan atau

menginginkan feedback atau perintah dari komputer. Mereka ingin dapat

mengerjakan tugas mereka dengan tindakan dan keystroke seminimal mungkin.

Novice user (casual user) adalah pengguna komputer yang pengalamannya

lebih sedikit yang biasanya menggunakan komputer pada frekuensi sedikit atau

bahkan pada saat-saat tertentu saja. Boleh dikatakan, novice user membutuhkan

Page 64: KEGIATAN BELAJAR 4 PEMROGRAMAN BERORIENTASI …

187 KB 4, PBO Dalam Perancangan Aplikasi/Sistem

Infomasi

Modul 2, Rekayasa Perangkat Lunak

lebih banyak bantuan daripada expert user. Bantuan dapat berupa beberapa bentuk,

meliputi menu, dialogue, perintah dan help screen. Kebanyakan sistem yang ada

saat ini didesain untuk novice system user, tetapi disesuaikan dengan expert user.

Fokusnya adalah user friendlines atau human engineering.

Ahli desain antarmuka pengguna, Wilbert Galitz, mengemukakan masalah-

masalah antarmuka adalah:

• Terlalu banyak menggunakan jargon atau akronim komputer

• Desain yang tidak jelas atau kurang intuitif

• Tidak mampu membedakan antara tindakan pilihan (”Apa yang harus saya

lakukan selanjutnya?”)

• Pendekatan pemecahan masalah yang tidak konsisten

• Ketidakkonsistenan desain.

Untuk mengatasi masalah tersebut maka desainer mempertimbangkan hal

berikut ini:

• Pahami pengguna anda dan tugas mereka.

• Libatkan pengguna pada desain antarmuka

• Uji sistem pada pengguna aktual. Setelah dilakukan training awal. Amati

tindakan dan kesalahan mereka dan dengarkan komentar dan pertanyaan

mereka untuk lebih memahami interaksi mereka dengan antarmuka pengguna.

• Lakukan desain interatif. Antarmuka pengguna yang pertama mungkin tidak

memuaskan. Gunakan desain antarmuka pengguna yang lain untuk melakukan

beberapa iterasi desain dan pengujian. Desain antarmuka akan berakhir jika

95% pengguna khusus dapat melakukan tugas yang diharapkan tanpa kesulitan

atau bantuan.

7) Petunjuk Human Engineering

Dengan tipe pengguna seperti yang telah dijelaskan diatas, beberapa faktor

human engineering penting harus digabungkan pada desain:

a) Pengguna sistem harus selalu menyadari apa yang harus dilakukan selanjutnya.

Page 65: KEGIATAN BELAJAR 4 PEMROGRAMAN BERORIENTASI …

188

Modul 2, Rekayasa Perangkat Lunak

KB 4, PBO Dalam Perancangan Aplikasi/Sistem

Infomasi

Sistem harus selalu memberikan perintah tentang bagaimana cara maju,

mundur, keluar dan lain-lain. Beberapa situasi membutuhkan tipe feedback: - Katakan pada pengguna apa yang sekarang diharapkan oleh sistem. Hal

ini dapat dilakukan dalam bentuk pesan sederhana. Contoh “Pilih salah

satu”. - Katakan pada pengguna bahwa data sudah dimasukkan dengan benar.

Hal ini dapat dilakukan sesederhana mungkin, seperti menggerakan

kursor ke field selanjutnya atau menampilkan sebuah pesan seperti “Data

OK”. C - Katakan pada pengguna bahwa data belum dimasukkan dengan benar.

Gunakan pesan pendek dan sederhana untuk memberikan pesan tentang

kebenaran format. - Jelaskan kepada pengguna penyebab penundaan yang terjadi dalam

pemrosesan. Contoh pada saat melakukan pencetakan, pengurutan dan

sebagainya. - Katakan kepada pengguna bahwa tugas telah diselesaikan atau belum

diselesaikan. Pesan seperti ”Printing not ready” dan sebagainya. b) Screen harus diformat sehingga bermacam-macam tipe informasi, perintah dan

pesan selalu muncul pada area tampilan umum yang sama. c) Pesan, perintah atau informasi harus ditampilkan dengan cukup panjang

(secukupnya) sehingga pengguna sistem dapat membacanya. d) Gunakan atribut tampilan dengan hemat. Atribut seperti blinking, higlighting

dapat membingungkan jika terlalu banyak. e) Nilai yang salah pada field dan jawaban yang harus dimasukkan oleh pengguna

harus ditentukan. f) Antisipasi kesalahan yang dapat dibuat oleh pengguna. Contoh “data akan

dihapus?” g) Berkenaan dengan error, pengguna seharusnya tidak diperkenankan untuk

meneruskan langkah sebelum memperbaiki error tersebut. h) Jika pengguna melakukan sesuatu yang dapat menimbulkan akibat yang parah,

maka keyboard harus dikunci untuk mencegah semua input lain, dan perintah

Page 66: KEGIATAN BELAJAR 4 PEMROGRAMAN BERORIENTASI …

189 KB 4, PBO Dalam Perancangan Aplikasi/Sistem

Infomasi

Modul 2, Rekayasa Perangkat Lunak

untuk memanggil analis atau technical support harus ditampilkan.

8) Tone dan Terminologi pada Dialogue Keseluruhan aliran screen dan pesan disebut dialogue. Gunakan kalimat

yang sederhana dan benar secara gramatikal, jangan membuat sesuatu yang lucu

atau manis dan jangan rendah diri, jangan menghina kecerdasan pengguna sistem.

Berkenaan dengan terminologi yang digunakan pada dialogue komputer,

sebaiknya:

• Jangan menggunakan jargon komputer • Hindari penggunaan singkatan. Jika menggunakan singkatan, maka

dianggap bahwa pengguna telah paham bagaimana menerjemahkannya. • Gunakan istilah yang sederhana • Penggunaan terminologi harus konsisten • Berhati-hati mengungkapkan perintah – gunakan kata kerja tindakan yang

tepat.

9) Pertimbangan khusus untuk desain antarmuka pengguna

Selain membangun sytle antarmuka pengguna, ada beberapa pertimbangan

khusus bagi desain antarmuka pengguna. Bagaimana pengguna akan dikenali dan

diautentikasi untuk menggunakan sistem tersebut? Adakah beberapa pertimbangan

keamanan atau privasi yang akan diberikan dalam antarmuka pengguna? Akhirnya

bagaiamana pengguna akan mendapatkan pertolongan melalui antarmuka

pengguna?

10) Internal control – autentikasi dan autorisasi

Pada sebagian besar lingkungan, pengguna harus diautentikasi dan

diautorisasi oleh sistem sebelum mereka diizinkan melakukan beberapa tindakan

tertentu. Dengan kata lain, pengguna sistem harus ”log into” ke dalam sistem.

Sebagian besar log-in membutuhkan User ID dan Password.

Terdapat beberapa model untuk membuka dan mengatur sebuah hak

istimewa. Satu petunjuk penting adalah menentukan hak istimewa untuk peran/role,

bukan untuk individu. Untuk masing-masing peran, perlu ditetapkan hak-hak

Page 67: KEGIATAN BELAJAR 4 PEMROGRAMAN BERORIENTASI …

190

Modul 2, Rekayasa Perangkat Lunak

KB 4, PBO Dalam Perancangan Aplikasi/Sistem

Infomasi

istimewa khusus yang akan diberikan kepada peran. Hak istimewa tersebut meliputi

iin untuk membaca tabel atau view tertentu; izin membuat, mengubah atau

menghapus record pada tabel atau view khusus dan sebagainya. View pengguna

yang berbeda-beda dapat digunakan untuk mengkustomisasi antarmuka pengguna

untuk kategori pengguna yang berbeda-beda. Misalnya cukup mudah untuk ”ghost”

(mengubah font dari hitam ke abu-abu) dan men-disable opsi menu dan dialogue

box yang dilarang untuk beberapa kelompok pengguna sistem.

Online Help. Orang menginginkan akses langsung dan segera ke context sensitive

help, yakni help yang cukup pintar untuk menggambarkan apa yang dapat mereka

lakukan. Help system yang lengkap meliputi daftar isi, berbagai perintah, contoh

dan sebuah index yang rinci.

Help wizards memandu pengguna melalui proses yang kompleks dengan cara

menampilkan sebuah urutan dialogue box yang membutuhkan input dari user dan

feedback dari sistem. Perhatikan hal-hal berikut:

• Sebagai help wizards tipikal, dialogue baisanya memasukkan serangkaian

perintah atau pertanyaan untuk mendapatkan respons pengguna. • Wizard

berisi penjelasan untuk membantu pemahaman pengguna dan pengambilan

keputusan. • Wizard juga menyediakan sebuah tombol untuk meminta help yang lebih

detail guna menyelesaikan tugas. • Tombol ”Next” menganjurkan langkah tambahan atau lanjutan untuk

didukung oleh help wizard (tombol ”Next” biasanya diubah menjadi

”Finish” setelah serangkaian dialogue box selesai). e. Model View Controller (MVC)

Model View Controller atau MVC adalah sebuah metode untuk membuat

sebuah aplikasi dengan memisahkan data (Model) dari tampilan (View) dan cara

bagaimana memprosesnya (Controller). Dalam implementasinya

kebanyakan framework dalam aplikasi dan website adalah berbasis MVC. MVC

memisahkan pengembangan aplikasi berdasarkan komponen utama yang

membangun sebuah aplikasi seperti manipulasi data, antarmuka pengguna, dan

Page 68: KEGIATAN BELAJAR 4 PEMROGRAMAN BERORIENTASI …

191 KB 4, PBO Dalam Perancangan Aplikasi/Sistem

Infomasi

Modul 2, Rekayasa Perangkat Lunak

bagian yang menjadi kontrol dalam sebuah aplikasi web.

Komponen MVC, terdiri atas:

1) Model, model mewakili struktur data. Biasanya model berisi fungsi-fungsi

yang membantu seseorang dalam pengelolaan basis data seperti memasukkan

data ke basis data, pembaruan data dan lain-lain.

2) Viewers, viewers adalah bagian yang mengatur tampilan ke pengguna. Bisa

dikatakan berupa halaman web.

3) Controller, controller merupakan bagian yang menjembatani model dan view.

Controller berisi perintah-perintah yang berfungsi untuk memproses

suatu data dan mengirimkannya ke halaman web.

Gambar 4.42. Komponen MVC

Jenis-jenis MVC

Setidaknya terdapat tiga jenis MVC, yaitu:

• Server Side MVC, Server Side MVC biasa terjadi pada aplikasi web tradisional,

yang tidak melibatkan client side seperti Javascript, Java applet, Flash, dan

lain-lain. Server Side MVC menyerahkan keseluruhan proses bisnis pada

server, aplikasi pada sisi pengguna hanya dapat menerima. MVC jenis ini

kadang-kadang disebut juga dengan nama Thin Client.

Page 69: KEGIATAN BELAJAR 4 PEMROGRAMAN BERORIENTASI …

192

Modul 2, Rekayasa Perangkat Lunak

KB 4, PBO Dalam Perancangan Aplikasi/Sistem

Infomasi

• Mixed Client Side and Server Side MVC, Pada Mixed Client Side and Server

Side MVC 1 client tidak menggunakan model sebagai jembatan untuk

melakukan komunikasi pada server, dibandingkan dengan Server Side MVC,

arsitektur ini memiliki tingkat kompleksitas yang lebih tinggi karena lebih

banyak komponen yang terlibat. Untuk selanjutnya arsitektur ini disebut,

dengan Mixed MVC 1. Pada Mixed Client Side and Server Side MVC 2, client

menggunakan model sebagai jembatan untuk melakukan komunikasi pada

server, dibandingkan dengan arsitektur MVC yang lain, arsitektur ini memiliki

tingkat kompleksitas yang paling tinggi karena lebih banyak komponen yang

terlibat, sehingga membutuhkan sumber daya yang lebih besar pula. Untuk

selanjutnya arsitektur ini disebut dengan Mixed MVC 2.

• Rich Internet Application MVC, Application MVC Rich Internet Application

(RIA) disebut juga dengan nama Fat Client, merupakan aplikasi web yang

memiliki kemampuan dan fungsi hampir seperti aplikasi desktop. RIA pada sisi

client, memiliki mesin untuk mengambil data yang berada pada server,

sehingga pada client terdapat bagian MVC sendiri dan hanya membutuhkan

bagian model pada sisi server.

Sebagian besar framework telah menggunakan konsep MVC. Untuk

framework PHP, ada cukup banyak dan hampir semuanya menggunakan konsep

MVC, yaitu Laravel, Symfony, CakePHP, Zend, Codeigniter (versi 3 kebawah

sudah tidak recommended untuk dipelajari dan lain-lain. Untuk framework Python

di antaranya: Django, Turbogears2, Watson-Framework. Untuk framework Nodejs

di antaranya: Express, Adonis, Sails.js, Total.js, Mean.js, Mojito dan lain-lain.

Contoh Kasus

Ketika pengunjung memasuki perpustakaan kemungkinan akan diminta untuk

mengisi buku tamu. Kebetulan buku tamu di perpustakaan yang dikunjungi

menggunakan aplikasi web. Jadi di sana sudah terdapat satu komputer, di mana

setiap pengunjung perpustakaan harus melewati dan mengisi datanya melalui

komputer tersebut.

Page 70: KEGIATAN BELAJAR 4 PEMROGRAMAN BERORIENTASI …

193 KB 4, PBO Dalam Perancangan Aplikasi/Sistem

Infomasi

Modul 2, Rekayasa Perangkat Lunak

1) Ketika pengunjung melihat layar komputer, di sana ditampilkan form untuk

mengisi data diri pengunjung. Dapat disimpulkan bahwa, browser (sebagai

client) meminta aksi kepada server (yang ditangani oleh controller) untuk

menampilkan halaman form input data. Lalu controller memutuskan dan

mengerti bahwasanya ia hanya perlu menampilkan view. Maka controller

memanggil dan mengembalikan view (atau halaman) yang diminta.

2) Pengunjung kemudian mengisi data. Lalu menekan tombol submit. Di sini

browser (sebagai client) mengirimkan data anda kepada server. Data itu

ditangkap oleh controller dan controller tahu apa yang harus dia lakukan. Yaitu

memanggil model dan memberi data tersebut untuk kemudian disimpan (oleh

model) ke dalam database. Setelah proses penyimpanan selesai, controller

memanggil dan mengembalikan view kepada user sebagai informasi bahwa

data telah masuk.

3) Jika ada pengunjung baru, maka kembali ke step 1.

Dengan menggunakan metode MVC maka aplikasi akan lebih mudah untuk dirawat

dan dikembangkan. Untuk memahami metode pengembangan aplikasi

menggunakan MVC diperlukan pengetahuan tentang pemrograman berorientasi

objek (Object Oriented Programming).

MVC model pada Java

Gambar 4.43. Konsep MVC Pada Java

Page 71: KEGIATAN BELAJAR 4 PEMROGRAMAN BERORIENTASI …

194

Modul 2, Rekayasa Perangkat Lunak

KB 4, PBO Dalam Perancangan Aplikasi/Sistem

Infomasi

Dalam hal koneksi aplikasi ke database, penerapan MVC pada Java

ditambahkan dengan pembuatan kelas DAO (Data Access Object), yaitu kelas

yang khusus menyediakan operasi Insert, Update, Delete, dan Query ke database.

Berdasarkan skema di atas, developer hendaknya membuat 5 buah package,

yaitu: view, controller, model, dao, dan database.

• Bagian View merupakan kelas-kelas yang mengimplementasikan user interface

dari program yang dibangun. Bagian inilah yang dilihat oleh user dan menjadi

media user untuk berinteraksi. Setiap ada request atau aksi yang diminta oleh

user yang berhubungan dengan data akan diteruskan ke bagian controller yang

sesuai.

• Bagian Controller merupakan kelas-kelas yang mengendalikan alur program

secara keseluruhan, mengandung business logic, dan sebagai penghubung

antara view dengan model dan dao. Kelas ini akan merespon permintaan atau

aksi dari view ke kelas dao yang diinginkan.

• Bagian Model pada Java menggambarkan struktur data pada database. Bagian

ini direpresentasikan oleh POJO (Plain Old Java Object), yaitu kelas Java biasa

yang lengkap dengan property (atribut) dan method getter-setter terhadap

atribut-atributnya. Biasanya tidak memiliki method lain selain getter-setter.

Contoh: Kelas Mahasiswa yang memiliki atribut: nip, nama, jenisKelamin,

alamat. Kelas Mahasiswa hanya memiliki method getter-setter yang sesuai

dengan atributnya yaitu: getNip, setNip, getNama, setNama, getJenisKelamin,

setJenisKelamin, getAlamat, setAlamat.

• Bagian DAO (Data Access Object) merupakan kelas-kelas yang melakukan

manipulasi data yang terdapat pada database. Manipulasi bisa

berupa Create, Read, Update, atau Delete (CRUD). Bagian ini terhubung ke

Model (karena merupakan representasi data) dan Database (untuk

mendapatkan koneksi).

• Bagian Database, berisi kelas yang bertugas untuk membuka koneksi dengan

database tertentu dan memberikan objek connection ke kelas dao yang

membutuhkan koneksi.

Page 72: KEGIATAN BELAJAR 4 PEMROGRAMAN BERORIENTASI …

195 KB 4, PBO Dalam Perancangan Aplikasi/Sistem

Infomasi

Modul 2, Rekayasa Perangkat Lunak

Contoh Kasus: Aplikasi Daftar Menu Restoran

Anda sebagai developer Java diminta membuatkan aplikasi untuk

menginputkan daftar menu yang ada pada restoran dan menampilkannya dalam

bentuk tabel. Buatlah aplikasi dengan menerapkan konsep MVC!

Jawaban: (Diasumsikan bahwa anda telah memahami database MySQL dan

koneksinya ke Java, pemakaian Java Swing, pembuatan package, serta penggunaan

interface). Berdasarkan kasus tersebut, bisa dirancang file-file kelas dengan

package sebagai berikut:

Gambar 4.44. Package aplikasi menu restoran

Selanjutnya dirancang diagram kelas sebagai berikut:

Page 73: KEGIATAN BELAJAR 4 PEMROGRAMAN BERORIENTASI …

196

Modul 2, Rekayasa Perangkat Lunak

KB 4, PBO Dalam Perancangan Aplikasi/Sistem

Infomasi

Gambar 4.45. Class diagram aplikasi

Hasil running dari program adalah sebagai berikut:

Gambar 4.46. Screen shoot aplikasi

Page 74: KEGIATAN BELAJAR 4 PEMROGRAMAN BERORIENTASI …

197 KB 4, PBO Dalam Perancangan Aplikasi/Sistem

Infomasi

Modul 2, Rekayasa Perangkat Lunak

4. Forum Diskusi

a. Seorang arsitek ingin memperkirakan berapa biaya yang diperlukan untuk

membangun sebuah rumah. Berikut ini adalah bahan material utama yang

dibutuhkan untuk membangun rumah tersebut:

- Pasir : 500 m3 (harga Rp 120.000/m3)

- Semen : 70 sak (harga Rp 90.000/sak)

- Batu-Bata : 10.000 buah (harga Rp 500/buah)

- Kayu kalimantan : 300 m3 (harga Rp 200.000/m3)

- Batu kali untuk pondasi : 200 buah (harga Rp 1000/buah)

- Genting : 500 buah (harga Rp 2000/buah)

Menurtut Anda program Java untuk menghitung berapa biaya yang

diperlukan untuk membangun rumah tersebut, dengan terlebih dahulu

merancang class-classnya, serta atribut dan method nya.

b. Sebuah mobil akan melakukan perjalanan dari kota A ke kota F. Untuk

menuju ke kota F, mobil harus melewati beberapa kota yaitu B, C, D dan

E dengan jarak sebagai berikut:

Kota A ke B : 45 km

Kota B ke C : 51 km

Kota C ke D : 38 km

Kota D ke E : 104 km

Kota E ke F : 93 km

Jika konsumsi bensin untuk mobil tersebut adalah 1 liter untuk tiap 9

km, maka hitunglah berapa liter yang dibutuhkan mobil untuk:

- Berjalan dari kota A ke F

- Berjalan dari kota B ke E

- Berjalan dari kota A ke F, kemudian kembali lagi ke kota B

- Berjalan dari kota A ke F – E – D – C – D – E – D – E – F

Diskusikan program Java untuk menjawab persoalan di atas, dengan

terlebih dahulu merancang class, atribut dan method nya.

Page 75: KEGIATAN BELAJAR 4 PEMROGRAMAN BERORIENTASI …

198

Modul 2, Rekayasa Perangkat Lunak

KB 4, PBO Dalam Perancangan Aplikasi/Sistem

Infomasi

C. PENUTUP

1. Rangkuman

Pemrograman berorientasi merupakan paradigma pemrograman

berdasarkan konsep "objek", yang dapat berisi data, dalam bentuk field atau dikenal

juga sebagai atribut; serta kode, dalam bentuk fungsi/prosedur atau dikenal juga

sebagai method. Semua data dan fungsi di dalam paradigma ini dibungkus

dalam kelas-kelas atau objek-objek. Bandingkan dengan logika pemrograman

terstruktur. Setiap objek dapat menerima pesan, memproses data, dan mengirim

pesan ke objek lainnya,

Model data berorientasi objek dikatakan dapat memberi fleksibilitas yang

lebih, kemudahan mengubah program, dan digunakan luas dalam teknik peranti

lunak skala besar. Lebih jauh lagi, pendukung OOP mengklaim bahwa OOP lebih

mudah dipelajari bagi pemula dibanding dengan pendekatan sebelumnya, dan

pendekatan OOP lebih mudah dikembangkan dan dirawat.

Klien-server atau client-server merupakan sebuah paradigma dalam

teknologi informasi yang merujuk kepada cara untuk mendistribusikan aplikasi ke

dalam dua pihak: pihak klien dan pihak server. Dalam model klien/server, sebuah

aplikasi dibagi menjadi dua bagian yang terpisah, tetapi masih merupakan sebuah

kesatuan yakni komponen klien dan komponen server. Komponen klien juga sering

disebut sebagai front-end, sementara komponen server disebut sebagai back-end.

Komponen klien dari aplikasi tersebut dijalankan dalam sebuah workstation dan

menerima masukan data dari pengguna. Komponen klien tersebut akan menyiapkan

data yang dimasukkan oleh pengguna dengan menggunakan teknologi pemrosesan

tertentu dan mengirimkannya kepada komponen server yang dijalankan di atas

mesin server, umumnya dalam bentuk request terhadap beberapa layanan yang

dimiliki oleh server. Komponen server akan menerima request dari klien, dan

langsung memprosesnya dan mengembalikan hasil pemrosesan tersebut kepada

klien. Klien pun menerima informasi hasil pemrosesan data yang dilakukan server

dan menampilkannya kepada pengguna, dengan menggunakan aplikasi yang

berinteraksi dengan pengguna.

Page 76: KEGIATAN BELAJAR 4 PEMROGRAMAN BERORIENTASI …

199 KB 4, PBO Dalam Perancangan Aplikasi/Sistem

Infomasi

Modul 2, Rekayasa Perangkat Lunak

User interface (UI) merupakan cara sebuah program dengan pengguna

untuk saling berkomunikasi atau bisa dikatakan sebagai segala sesuatu yang

dirancang menjadi sebuah perangkat informasi, dimana pengguna dapat melakukan

sebuah interaksi dengan sebuah program dengan lebih mudah. Media yang dapat

digunakan pengguna untuk berinteraksi dengan program (apliksi atau website)

dapat berupa tampilan layar (layout), keyboard, dan mouse.

Model View Controller atau MVC adalah sebuah metode untuk membuat

sebuah aplikasi dengan memisahkan data (Model) dari tampilan (View) dan cara

bagaimana memprosesnya (Controller). Dalam implementasinya

kebanyakan framework dalam aplikasi dan website adalah berbasis MVC. MVC

memisahkan pengembangan aplikasi berdasarkan komponen utama yang

membangun sebuah aplikasi seperti manipulasi data, antarmuka pengguna, dan

bagian yang menjadi kontrol dalam sebuah aplikasi web.

2. Tes Formatif

Pilihkah salah satu jawaban yang paling tepat

1. Fungsi method System.in dalam java adalah…

A. Mengirimkan keluaran ke layar

B. Menangani pembacaan dari keyboard

C. Menampilkan pesan kesalahan

D. Menangani suatu objek

E. Menampilan class dari suatu objek

2. Diantara pernyataan berikut, penulisan sintaks BbufferredReader yang benar

adalah

A. int data =BufferedReader = new BufferedReader(new input

Stream Reader(System.in)).Readline( ).intValue( );

B. int data =BufferedReader = new BufferedReader(new

InputStreamReader(System.in)).Readline( ).intValue( );

C. int data=(new Integer((new BufferedReader = new

BufferedReader(new input Stream

Reader(System.in))).readline( )).intValue( ));

Page 77: KEGIATAN BELAJAR 4 PEMROGRAMAN BERORIENTASI …

200

Modul 2, Rekayasa Perangkat Lunak

KB 4, PBO Dalam Perancangan Aplikasi/Sistem

Infomasi

D. int data = (new Integer( (new BufferedReader (new

InputStreamReader (System.in))).readLine()).intValue());

E. int data=(new Integer((BufferedReader = new

BufferedReader(new input Stream

Reader(System.in))).readline( )).intValue( ));

3. Perhatikan penggalan source code dibawah ini

if ( grade > 70 )

System.out.println(“Passed”);

else

System.out.println(“Failed”)

Jika penggalan program diatas diubah dengan menggunakan operator kondisi

maka hasilnya akan menjadi…

A. System.out.println(?grade>70“Passed”:“Failed”)

B. System.out.println(grade>70?“Passed”:“Failed”)

C. System.out.println(grade>70:“Passed”?“Failed”)

D. System.out.println(grade>70?“Passed”?:“Failed”)

E. System.out.println(?grade>70?“Passed”:“Failed”)

4. Yang bukan cara inisialisasi variabel bertipe class string, kecuali:

A. String me = new String(“Inisialisasi 1”);

B. String me;

me = new String “inisialisasi 1” ;

C. String me;

me = new String(“inisialisasi 1”);

D. String me;

me = “inisialisasi 1”;

E. String me;

me = “inisialisasi 1”;

5. Keyword ini digunakan dalam suatu blok program. Ketword ini digunakan

untuk mencoba menjalankan blok program kemudian mengenal dimana

muncunya kesalahan yang ingin diproses.

A. Catch

B. Throw

C. Finally

Page 78: KEGIATAN BELAJAR 4 PEMROGRAMAN BERORIENTASI …

201 KB 4, PBO Dalam Perancangan Aplikasi/Sistem

Infomasi

Modul 2, Rekayasa Perangkat Lunak

D. Method

E. Try

6. Kesalahan yang disebabkan oleh tidak tersedianya sumber daya, misalnya

kukurangan memory komputer disebut dengan....

A. Syntax error

B. Hardware failure

C. Runtime error

D. Logical Erro

E. Aritmatic error

7. Perhatikan kode berikut ini:

class DemoSatu {

public static void main (String[] args){

System.out.println("awal program");

int x = 10;

x = x / 0;

System.out.println(x);

System.out.println("akhir program");

}

}

Jika kode tersebut dijalankan di konsol, maka output yang akan muncul

adalah....

A. $ javac DemoSatu.java

$ java DemoSatu

awal program

Exception in thread "main" java.lang.

NegativeArraySizeException Exception: / by zero

at DemoSatu.main(DemoSatu.java:7)

B. $ javac DemoSatu.java

$ java DemoSatu

awal program

Exception in thread "main"

java.lang.NullPointerException: / by zero

at DemoSatu.main(DemoSatu.java:7)

C. $ javac DemoSatu.java

$ java DemoSatu

awal program

Exception in thread "main"

java.lang.LogicalException: / by zero

at DemoSatu.main(DemoSatu.java:7)

D. $ javac DemoSatu.java

$ java DemoSatu

awal program

Page 79: KEGIATAN BELAJAR 4 PEMROGRAMAN BERORIENTASI …

202

Modul 2, Rekayasa Perangkat Lunak

KB 4, PBO Dalam Perancangan Aplikasi/Sistem

Infomasi

Exception in thread "main"

java.lang.SecurityException: / by zero

at DemoSatu.main(DemoSatu.java:7)

E. $ javac DemoSatu.java

$ java DemoSatu

awal program

Exception in thread "main"

java.lang.ArithmeticException: / by zero

at DemoSatu.main(DemoSatu.java:7)

8. Manakah kode yang paling tepat untuk mengatasa error pada soal No. 7 di

atas?

A. class DemoSatu {

public static void main (String[] args){

System.out.println("awal program");

int x = 10;

try

x = x / 0;

}

catch (Exception e){

e.printStackTrace();

System.out.println("error karena pembagian

nol");

}

System.out.println(x);

System.out.println("akhir program");

}

}

B. class DemoSatu {

public static void main (String[] args){

System.out.println("awal program");

int x = 10;

try {

x = x / 0;

catch (Exception e){

e.printStackTrace();

System.out.println("error karena pembagian

nol");

}

System.out.println(x);

System.out.println("akhir program");

}

}

C. class DemoSatu {

public static void main (String[] args){

System.out.println("awal program");

int x = 10;

try {

x = x / 0;

Page 80: KEGIATAN BELAJAR 4 PEMROGRAMAN BERORIENTASI …

203 KB 4, PBO Dalam Perancangan Aplikasi/Sistem

Infomasi

Modul 2, Rekayasa Perangkat Lunak

{

catch (Exception e){

e.printStackTrace();

System.out.println("error karena pembagian

nol");

}

System.out.println(x);

System.out.println("akhir program");

}

}

D. class DemoSatu {

public static void main (String[] args){

System.out.println("awal program");

int x = 10;

try {

x = x / 0;}

}

catch (Exception e){

e.printStackTrace();

System.out.println("error karena pembagian

nol");

}

System.out.println(x);

System.out.println("akhir program");

}

}

E. class DemoSatu {

public static void main (String[] args){

System.out.println("awal program");{

int x = 10;}

try {

x = x / 0;

}

catch (Exception e){

e.printStackTrace();

System.out.println("error karena pembagian

nol");

}

System.out.println(x);

System.out.println("akhir program");

}

}

9. Dalam perancangan UI, User tidak penting mengetahui algoritma apa yang

digunakan, user misalnya algoritma untuk mengurutkan harga sebuah produk

dalam sebuah e-commerce. Hal ini telah sesuai dengan prisnip

A. Invisible technology

B. Task Compatibility

Page 81: KEGIATAN BELAJAR 4 PEMROGRAMAN BERORIENTASI …

204

Modul 2, Rekayasa Perangkat Lunak

KB 4, PBO Dalam Perancangan Aplikasi/Sistem

Infomasi

C. Work Flow Compatibility

D. Familiarity,

E. Direct manipulation

10. Sebuab user interface memungkinkan penguna untuk memiringkan huruf

dengan dengan control keyboard Ctrl+i. Kemampuan user interface tersebut

dikenal dengan prisnip....

A. User compatibility

B. Product compatibility

C. Work Flow Compatibility

D. Flexibility

E. Direct manipulation

DAFTAR PUSTAKA

Jubile Enterprise, 2016. Belajar Java, Database dan NetBeans dari Nol, Jakarta:

PT Elex Media Komputindo.

Loy, Marc, et all, 2003. Java Swing, Second Edition, California: O’Reilly Media.

Mayhew, J Deborah, 1992. Software User Interface Design, New Jersey: Prentice

Hall.

Nofriadi, M.Kom, Java Fundamental Dengan Netbeans 8.0.2

Rusli, Muhammad, dkk, 2016. Belajar Pemrograman Java dengan NerBeans,

Sebuah Pengantar, Yogyakarta: Penerbit Andi.

Sugiarti, Yuni, S.T., M.Kom, 2018. Dasar-dasar Pemrograman Java NetBeans,

Bandung: PT Remaja Rosdakarya.

Yener, Muraat & Theedom, Alex, 2015. Professional Java EE Design Patterns,

Indianapolis: John Wiley.

Yuana, Rosihan Ari, Pemrograman Java, Online di http://blog.rosihan.net

Wahana Komputer, 2010. Panduan Belajar MySQL Database Server, Jakarta:

Media Kita.

http://dinus.ac.id/repository/docs/ajar/IMK10-Desain_User_Interface.pdf

http://yuliana.lecturer.pens.ac.id/OOP/Exception%20Handling/T%20-

%20Exception%20Handling.pdf

Page 82: KEGIATAN BELAJAR 4 PEMROGRAMAN BERORIENTASI …

205 KB 4, PBO Dalam Perancangan Aplikasi/Sistem

Infomasi

Modul 2, Rekayasa Perangkat Lunak

TUGAS AKHIR

Buatlah proposal pengembangan Sistem Informasi Perpustakaan di sekolah Anda

masing-masing dengan mengikuti format berikut ini,

BAB I

PENDAHULUAN

A. Latar Belakang

Uraikan secara deskriptif dan ringkas mengenai latar belakang pengembangan

proyek sistem informasi, termasuk peluang yang bisa ditangkap

B. Maksud dan Tujuan

Jelaskan secara rinci maksud dan tujuan pengembangan proyek sistem

informasi.

Maksud

1.

2.

Tujuan

1.

2.

C. Ruang Lingkup Pekerjaan

Uraikan secara rinci ruang lingkup pekerjaan yang nantinya akan ditangani,

misalnya:

1. Pengembangan

2. Pengumpulan data

Deskripsikan sampai sejauh mana tahapan pengumpulan data, misalnya entry

data sampai availability data terpenuhi

3. Pemeliharaan

4. Pelatihan

BAB II

NAMA SISTEM INFORMASI YANG DIUSULKAN

A. Latar Belakang

Page 83: KEGIATAN BELAJAR 4 PEMROGRAMAN BERORIENTASI …

206

Modul 2, Rekayasa Perangkat Lunak

KB 4, PBO Dalam Perancangan Aplikasi/Sistem

Infomasi

Uraikan secara deskriptif dan ringkas mengenai latar belakang sistem informasi,

bukan proyek pengembangan sistem informasi seperti di Bab 1 yang akan

dikembangkan.

B. Perspektif Produk

Deskripsikan gambaran umum dari produk sistem informasi yang akan

dikembangkan. Sebaiknya dilengkapi dengan gambar arsitektur global. Jika

proyek ini merupakan peningkatan sistem yang ada, gambarkan juga

keterhubungannya.

C. Deskripsi Subsistem

Uraikan deskripsi subsistem yang akan dikembangkan Lebih disukai jika

dilengkapi dengan gambar subsistem. Contoh:

• Modul pendaftaran

• Modul peminjaman

• Modul pengembalian

• Modul reporting (pelaporan)

• Modul backup dan recovery

D. Manfaat Bagi Perusahaan/Organisasi/Instansi*

Tegaskan lagi benefit yang didapat oleh sekolah ketika mengimplementasikan

sistem informasi ini.

* pilih salah satu (sesuaikan)

BAB III

METODOLOGI KERJA

A. Survei dan Analisis Sistem

Jelaskan tahapan survei dan analisis kebutuhan sistem

1. Survei Kebutuhan Sistem

Uraikan metode dan tahapan-tahapannya (observasi, wawancara, dll)

2. Analisis Kebutuhan Sistem

Uraikan tahapan-tahapan analisis Misal:

a. Analisis fungsionalitas produk

b. Analisis kebutuhan perangkat keras

c. Analisis tingkat kebutuhan operator

Page 84: KEGIATAN BELAJAR 4 PEMROGRAMAN BERORIENTASI …

207 KB 4, PBO Dalam Perancangan Aplikasi/Sistem

Infomasi

Modul 2, Rekayasa Perangkat Lunak

B. Perancangan Sistem

Deskripsikan tahapan-tahapan perancangan sistem yang akan dilakukan

Misal:

1. Perancangan data

a. DAD Konteks

b. DAD Analysis (Penjelasan aliran data setiap proses)

c. ERD

d. Kamus Data

2. Perancangan proses

a. Class Diagram

b. Use Case Diagram

c. Activity Diagram

d. Sequence Diagram

e. Collaboration Diagram

3. Perancangan jaringan

Jika perlu, buat desain topologi jaringan dengan mengacu gambar lokasi

proyek yang dijelaskan dalam RFP.

4. Perancangan interace (antar muka)

C. Implementasi Sistem

Uraikan tahapan implementasi produk Mencakup bahasa pemrograman,

DBMS, pengujian dan/atau teknologi-teknologi pendukung lainnya

D. Pelatihan

Deskripsikan secara rinci mekanisme, sasaran (misal para operator), dan bentuk

pelatihan yang akan diberikan nantinya.

E. Pemeliharaan

Deskripsikan mekanisme pemeliharaan sistem, termasuk layanan apa saja yang

disediakan terkait pemeliharaan sistem, misalnya ada tim khusus untuk

troubleshooting, dan sebagainya.

F. Rencana Anggaran Biaya

Page 85: KEGIATAN BELAJAR 4 PEMROGRAMAN BERORIENTASI …

208

Modul 2, Rekayasa Perangkat Lunak

KB 4, PBO Dalam Perancangan Aplikasi/Sistem

Infomasi

Buat rencana anggaran biaya yang riil dan responsible. Ingat, tahapan ini juga

sangat memengaruhi diterima tidaknya proposal. Jadi, buat rincian perhitungan

yang tepat.

Bisa dituliskan langsung di sini atau dibuat lampiran khusus (misal dalam

format spreadsheet).

Contoh RAB (tidak harus sama persis, sesuaikan dengan proyek yang

ditangani).

1. Tenaga Ahli

No Posisi Jumlah Satuan Waktu Satuan Harga

Satuan

Total

Biaya

1 Project

Manager

1 Orang 6 Bulan

2 System

Analyst dan

Designer

2 Orang 6 Bulan

3 Database

Administrator

1 Orang 6 Bulan

4 Programmer

5 Dokumentator

6 dst

Total Biaya

2. Perangkat Keras (Hardware)

No Item Spesifikasi Jumlah Satuan Harga

Satuan

Total

Harga

1 IBM Zeon 1 Unit

2 dst

3

Total Harga

3. Perangkat Lunak (Software)

No Item Spesifikasi Jumlah Satuan Harga

Satuan

Total

Harga

1 Windows

Server 2019

1 Unit

2 Oracle 12c

3 dst

4

Total Harga

Page 86: KEGIATAN BELAJAR 4 PEMROGRAMAN BERORIENTASI …

209 KB 4, PBO Dalam Perancangan Aplikasi/Sistem

Infomasi

Modul 2, Rekayasa Perangkat Lunak

4. Overhead

No Item Jumlah Satuan Harga

Satuan

Total

Harga

1. Transportasi

AnalisisKebutuhan 1 orang

2. Akomodasi

Analisis Kebutuhan 1 orang

3. Overhead kantor

Alat Tulis Kantor (ATK) 1 Paket

4. Pelatihan

Modul pelatihan 10 Exp

User guide 5 Exp

Total Harga

5. Maintenance

No Item Jumlah Satuan Waktu Satuan Harga

Satuan

Total

Biaya

1 Hardware 1 Paket 12 Bulan

2 Software 1 Paket 12 Bulan

Total Biaya

6. Rekapitulasi

No Jenis Jumlah

1 Tenaga Ahli

2 Perangkat Keras (hardware)

3 Perangkat Lunak (software)

4 Overhead

5 Maintenance

Sub Total

7 PPN (10 %)

8 PPH (1,5%)

Total

Page 87: KEGIATAN BELAJAR 4 PEMROGRAMAN BERORIENTASI …

210

Modul 2, Rekayasa Perangkat Lunak

KB 4, PBO Dalam Perancangan Aplikasi/Sistem

Infomasi

G. Rencana Pekerjaan

Deskripsikan dengan menggunakan WBS (Work Breakdown Structure), baik

dalam bentuk inverted tree maupun list format

H. Jadwal Pelaksanaan

Gambarkan dalam bentuk matriks

Contoh:

No Kegiatan

Bulan/Minggu

Agustus September

2 3 4 1 2 3 4

1 Pengajuan Proposal

2 Analisis dan Design

3 Implementasi

4 Debungging & Testing

5 Dokumentasi

6 Demo dan Pelatihan

BAB IV

PENUTUP

Berisi harapan agar bisa diterimanya dokumen proposal ini, dan ditegaskan dengan

komitmen untuk mewujudkan keinginan pemilik proyek. Ringkas dan profesional.

TES SUMATIF

Pilihlah salah satu jawaban yang paling tepat

1. Metode analisis ini mempunyai tiga model, yaitu model objek, model dinamis

dan model fungsional. Model fungsional menangani proses dari model,

hubungan ke diagram alir data. Konsep utama adalah proses, data store, data

flow dan aktor.

A. Metode Boch

B. Metode Rumbaugh

C. Metode Jacobson

D. Metode Coad dan Yourdon

E. Metode Wirfs-Brock

2. Perhatikan gambar di bawah ini.

Page 88: KEGIATAN BELAJAR 4 PEMROGRAMAN BERORIENTASI …

211 KB 4, PBO Dalam Perancangan Aplikasi/Sistem

Infomasi

Modul 2, Rekayasa Perangkat Lunak

Gambar di atas adalah gambar:

A. Deployment diagram

B. Collaboration Diagram

C. Component Diagram

D. Use Case Diagram

E. Statement Diagram

3. Gambar di bawah ini merupakan diagram

A. Deployment diagram

B. Activity Diagram

C. Componen Diagram

D. Use Case Diagram

E. Statement Diagram

4. Pada metode ini prototipe dibuat dan diuji. Proses iterasi terjadi antara desain logika,

desain fisik, prototipe dan testing

A. Metode Boch

Page 89: KEGIATAN BELAJAR 4 PEMROGRAMAN BERORIENTASI …

212

Modul 2, Rekayasa Perangkat Lunak

KB 4, PBO Dalam Perancangan Aplikasi/Sistem

Infomasi

B. Metode Rumbaugh

C. Metode Jacobson

D. Metode Coad dan Yourdon

E. Metode Wirfs-Brock

5. Composite State pada State Machine Diagram mempunyai properties:

A. Jika sub state aktif, composite state harus aktif

B. Jika sub state aktif, semua state harus aktif

C. Jika composite state aktif, salah satu dari sub state harus aktif

D. Jika composite state aktif, semua sub state harus aktif

E. Composite state dan sub state harus aktif

6. Yang termasuk dalam behavior diagram adalah .....

A. Activity diagram

B. Interaction diagram

C. State machine diagram

D. Class diagram

E. Use case diagram

7. Jika suatu sistem terdapat struktur class secara hirarkis sebagai berikut:

karyawan : nik, nama, alamat, tgl lahir.

karyharian : upahharian, jmlhharikerja.

karytetap : gaji/bulanan.

maka , class karyawan disebut?

A. Superclass

B. Terminologyc

C. Subclassd

D. Composite

E. Primaryclass

8. Seorang pengembang memperkenalkan atau mengujicoba sebuah sistem

informasi baru tetapi tidak meninggalkan sistem yang telah ada (existing).

Pendekatan yang dilakukan oleh pengembang tersebut adalah....

A. Pendekatan paralel

B. Pendekatan cut off

Page 90: KEGIATAN BELAJAR 4 PEMROGRAMAN BERORIENTASI …

213 KB 4, PBO Dalam Perancangan Aplikasi/Sistem

Infomasi

Modul 2, Rekayasa Perangkat Lunak

C. Pendekatan big-bang

D. Pendekatan serial

E. Pendekatan bisnis serial

9. Jika seorang pengembang perangkat lunak mendesain sistem software

sehingga dapat diubah dengan mudah untuk mengakomodasi perubahan

lingkungan bisnis organisasi dan komponen lainnya. Hal ini berarti

pengembang tersebut telah memenuhi prinisp berikut ini...

A. Invisibolity

B. Comformity

C. Complexity

D. Flexibility

E. Dependability

10. Proses utama dalam tahap ini adalah mengarahkan dan mengelola pelaksanaan

proyek ke arah penyelesaian, sesuai dokumen perencanaan.

A. Monitoring

B. Controlling

C. Execution

D. Initition

E. Closing

11. Peganggaran biaya yang menggabungkan estimasi biaya sumber daya yang

dibutuhkan, paket pekerjaan dan biaya-biaya kegiatan lainnya sehingga

membentuk suatu rencana biaya yang sistematis. Penanganan biaya tersebut

termasuk dalam biaya...

A. Cost budgeting

B. Cost control

C. Cost estimating

D. Cost planning

E. Cost constrution

12. Manakah diantara kegiatan berikut ini yang termasuk dalam tahap execution

pada tahapan manajemen proyek?

A. Melaksanakan proses pembelian dan pengadaan barang dan jasa

Page 91: KEGIATAN BELAJAR 4 PEMROGRAMAN BERORIENTASI …

214

Modul 2, Rekayasa Perangkat Lunak

KB 4, PBO Dalam Perancangan Aplikasi/Sistem

Infomasi

B. Mempengaruhi faktor-faktor yang bisa menggagalkan kontrol terhadap

perubahan, jadi hanya perubahan yang disetujui yang dapat

diimplementasikan

C. Menentukan proses yang baik (quality assurance) dan standar mutu yang

disepakati (quality control

D. Merinci unit-unit pekerjaan, menentukan urutan pekerjaan, estimasi

sumber daya, estimasi durasi, dan finalisasi jadwal proyek

E. Memberi masukan kepada manajemen perusahaan terkait hal-hal yang

dirasakan bermanfaat selama proyek dijalankan

13. Salah satu model analisis yang paling baik digunakan untuk melakukan

pemilahan terhadap pengembangan sistem informasi dilihat dari tingkat

kepentingannya (prioritas) bagi perusahaan, sehingga dapatditentukan sistem

mana saja yang harus segera dibangun (jangka pendek), dan sistem manasaja

yang dapat dikembangkan di kemudian hari (jangka menengah dan jangka

panjang).

A. Porter’s Value Chain

B. Bussiness Process Mapping,

C. BCG Matrix.

D. Strategic Distinction Model

E. Earned Value Model

14. Perhatikan gambar berikut ini,

Relasi antara himpuna A dan B di atas disebut dengan....

A. Relasi majemuk

B. Relasi one to many

C. Relasi one to ome

Page 92: KEGIATAN BELAJAR 4 PEMROGRAMAN BERORIENTASI …

215 KB 4, PBO Dalam Perancangan Aplikasi/Sistem

Infomasi

Modul 2, Rekayasa Perangkat Lunak

D. Relasi beratribut

E. Relasi many to many

15. Merupakan kendala yang membatasi kemungkinan kombinasi entitas yang

terlibat dalam relationship instance, disebut…

A. Relationship constrains

B. Cardinality ratio

C. Participation constrains

D. Schema type

E. Atribut type

16. Saat Anda membuat tabel, kolom bernilai NULL dapat dihindari dengan

menggunakan konstrain NOT NULL, kecuali kolom yang dispesifikasikan

sebagai primary key akan otomatis bernilai Not Null. Cara yang Anda lakukan

merupakan ....

A. Integritas entitas

B. Integritas domain

C. Integritas referensial

D. Integritas null

E. Integritas record

17. Contoh yang menunjukkan mengenai Participant Constraint adalah

A. Satu MataKuliah mempunyai satu Penanggung Jawab

B. Satu suplier dapat menyuplai Banyak Barang

C. Satu Barang dapat dibeli dalam beberapa transaksi

D. Departemen harus mempunyai setidaknya satu Pegawai

E. Dalam setiap transaksi dapat terdiri dari beberapa barang

18. Apa yang dimaksud dengan conceptual level pada model data …

A. Cara bagaimana user berpikir tentang data.

B. Level yang berada di tengah yang menyediakan mapping dan

menghubungkan external views dan internal model.

C. Cara operating system atau DBMS memandang data

D. Cara data secara aktual disimpan dengan menggunakan struktur data

dan organisasi file.

Page 93: KEGIATAN BELAJAR 4 PEMROGRAMAN BERORIENTASI …

216

Modul 2, Rekayasa Perangkat Lunak

KB 4, PBO Dalam Perancangan Aplikasi/Sistem

Infomasi

E. Suatu sistem basis data yang menempatkan basis data beserta segala

ruang lingkupnya kedalam suatu komputer server tertentu.

19. EMPLOYEE(Name, Age, Salary)

COMPANY(Name, Headquarter, President)

Dari skema diatas yang termasuk instance adalah….

B. EMPLOYEE

C. COMPANY Name

D. EMPLOYEE dan COMPANY

E. EMPLOYEE Name

F. Nama, Age, Salary

20. Semua atribut selain primary key, secara utuh memiliki functional

dependency pada primary key, merupakan ciri dari…

A. 1NF

B. 2NF

C. 3NF

D. BCNF

E. 4NF

21. Gaji karyawan biasa tidak boleh lebih besar dari gaji manajer. Pernyataan

tersebut merupakan contoh dari…

A. Referential integrity

B. Semantic integrity constrain

C. Key constrains

D. Entity integrity

E. Integrity constrains

22. Keseluruhan proses penulisan pada disk master dan slave harus selesai

dilakukan terlebih dahulu sebelum beranjak ke transaksi selanjutnya.

Pernyataan tersebut merupakan proses....

A. Replikasi synchronous

B. Replikasi asynchronous

C. Replikasi master slave

Page 94: KEGIATAN BELAJAR 4 PEMROGRAMAN BERORIENTASI …

217 KB 4, PBO Dalam Perancangan Aplikasi/Sistem

Infomasi

Modul 2, Rekayasa Perangkat Lunak

D. Replikasi slave master slave

E. Replikasi homogen

23. Fungsi method System.in dalam java adalah…

A. Mengirimkan keluaran ke layar

B. Menangani pembacaan dari keyboard

C. Menampilkan pesan kesalahan

D. Menangani suatu objek

E. Menampilan class dari suatu objek

24. Perhatikan penggalan source code dibawah ini

if ( grade > 70 )

System.out.println(“Passed”);

else

System.out.println(“Failed”)

Jika penggalan program diatas diubah dengan menggunakan operator kondisi

maka hasilnya akan menjadi…

A. System.out.println(?grade>70“Passed”:“Failed”)

B. System.out.println(grade>70?“Passed”:“Failed”)

C. System.out.println(grade>70:“Passed”?“Failed”)

D. System.out.println(grade>70?“Passed”?:“Failed”)

E. System.out.println(?grade>70?“Passed”:“Failed”)

25. Yang bukan cara inisialisasi variabel bertipe class string, kecuali:

A. String me = new String(“Inisialisasi 1”);

B. String me;

me = new String “inisialisasi 1” ;

C. String me;

me = new String(“inisialisasi 1”);

D. String me;

me = “inisialisasi 1”;

E. String me;

me = “inisialisasi 1”;

26. Kesalahan yang disebabkan oleh tidak tersedianya sumber daya, misalnya

kukurangan memory komputer disebut dengan....

Page 95: KEGIATAN BELAJAR 4 PEMROGRAMAN BERORIENTASI …

218

Modul 2, Rekayasa Perangkat Lunak

KB 4, PBO Dalam Perancangan Aplikasi/Sistem

Infomasi

A. Syntax error

B. Hardware failure

C. Runtime error

D. Logical Error

E. Aritmatic error

27. Perhatikan kode berikut ini:

class DemoSatu {

public static void main (String[] args){

System.out.println("awal program");

int x = 10;

x = x / 0;

System.out.println(x);

System.out.println("akhir program");

}

}

Jika kode tersebut dijalankan di konsol, maka output yang akan muncul

adalah....

A. $ javac DemoSatu.java

$ java DemoSatu

awal program

Exception in thread "main" java.lang.

NegativeArraySizeException Exception: / by zero

at DemoSatu.main(DemoSatu.java:7)

B. $ javac DemoSatu.java

$ java DemoSatu

awal program

Exception in thread "main"

java.lang.NullPointerException: / by zero

at DemoSatu.main(DemoSatu.java:7)

C. $ javac DemoSatu.java

$ java DemoSatu

awal program

Exception in thread "main" java.lang.LogicalException: /

by zero

at DemoSatu.main(DemoSatu.java:7)

D. $ javac DemoSatu.java

$ java DemoSatu

awal program

Exception in thread "main" java.lang.SecurityException: /

by zero

at DemoSatu.main(DemoSatu.java:7)

E. $ javac DemoSatu.java

$ java DemoSatu

awal program

Exception in thread "main" java.lang.ArithmeticException:

/ by zero

Page 96: KEGIATAN BELAJAR 4 PEMROGRAMAN BERORIENTASI …

219 KB 4, PBO Dalam Perancangan Aplikasi/Sistem

Infomasi

Modul 2, Rekayasa Perangkat Lunak

at DemoSatu.main(DemoSatu.java:7)

28. Manakah kode yang paling tepat untuk mengatasa error pada soal No. 7 di

atas?

A. class DemoSatu {

public static void main (String[] args){

System.out.println("awal program");

int x = 10;

try

x = x / 0;

}

catch (Exception e){

e.printStackTrace();

System.out.println("error karena pembagian

nol");

}

System.out.println(x);

System.out.println("akhir program");

}

}

B. class DemoSatu {

public static void main (String[] args){

System.out.println("awal program");

int x = 10;

try {

x = x / 0;

catch (Exception e){

e.printStackTrace();

System.out.println("error karena pembagian

nol");

}

System.out.println(x);

System.out.println("akhir program");

}

}

C. class DemoSatu {

public static void main (String[] args){

System.out.println("awal program");

int x = 10;

try {

x = x / 0;

{

catch (Exception e){

e.printStackTrace();

System.out.println("error karena pembagian

nol");

}

System.out.println(x);

Page 97: KEGIATAN BELAJAR 4 PEMROGRAMAN BERORIENTASI …

220

Modul 2, Rekayasa Perangkat Lunak

KB 4, PBO Dalam Perancangan Aplikasi/Sistem

Infomasi

System.out.println("akhir program");

}

}

D. class DemoSatu {

public static void main (String[] args){

System.out.println("awal program");

int x = 10;

try {

x = x / 0;}

}

catch (Exception e){

e.printStackTrace();

System.out.println("error karena pembagian

nol");

}

System.out.println(x);

System.out.println("akhir program");

}

}

E. class DemoSatu {

public static void main (String[] args){

System.out.println("awal program");{

int x = 10;}

try {

x = x / 0;

}

catch (Exception e){

e.printStackTrace();

System.out.println("error karena pembagian

nol");

}

System.out.println(x);

System.out.println("akhir program");

}

}

29. Dalam perancangan UI, User tidak penting mengetahui algoritma apa yang

digunakan, user misalnya algoritma untuk mengurutkan harga sebuah produk

dalam sebuah e-commerce. Hal ini telah sesuai dengan prisnip

A. Invisible technology

B. Task Compatibility

C. Work Flow Compatibility

D. Familiarity,

E. Direct manipulation

Page 98: KEGIATAN BELAJAR 4 PEMROGRAMAN BERORIENTASI …

221 KB 4, PBO Dalam Perancangan Aplikasi/Sistem

Infomasi

Modul 2, Rekayasa Perangkat Lunak

30. Sebuab user interface memungkinkan penguna untuk memiringkan huruf

dengan dengan control keyboard Ctrl+i. Kemampuan user interface tersebut

dikenal dengan prisnip....

A. User compatibility

B. Product compatibility

C. Work Flow Compatibility

D. Flexibility

E. Direct manipulation

KUNCI JAWABN TES FORMATIF KB1 – 4

KUNCI JAWABAN KB 1

1. D 6. B

2. E 7. A

3. A 8. E

4. D 9. D

5. B 10. D

KUNCI JAWABAN KB 2

1. C 6. C

2. E 7. A

3. A 8. B

4. B 9. A

5. E 10. D

KUNCI JAWABAN KB 3

1. D 6. B

2. C 7. B

3. B 8. A

4. D 9. C

5. B 10. A

Page 99: KEGIATAN BELAJAR 4 PEMROGRAMAN BERORIENTASI …

222

Modul 2, Rekayasa Perangkat Lunak

KB 4, PBO Dalam Perancangan Aplikasi/Sistem

Infomasi

KEGIATAN BELAJAR 4

1. B 6. C

2. D 7. E

3. B 8. C

4. B 9. A

5. E 10. E

KUNCI JAWABAN TES SUMATIF

1. B 11. E 21. B

2. A 12. D 22. A

3. E 13. D 23. B

4. A 14. B 24. B

5. C 15. A 25. B

6. D 16. B 26. C

7. A 17. D 27. E

8. A 18. B 28. C

9. D 19. D 29. A

10. C 20. B 30. E