Anda di halaman 1dari 256

No.

Kode: DAR2/Profesional/ 523 /2/2019

PENDALAMAN MATERI
TEKNIK KOMPUTER DAN INFORMATIKA

MODUL 2
REKAYASA PERANGKAT LUNAK

Penulis:
Hasrul Bakri

KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN


i
Pendalaman Materi Teknik Komputer dan Informatika
Modul 2 Rekayasa Perangkat Lunak

Penulis
Hasrul Bakri

ii
KATA PENGANTAR

Puji syukur penulis panjatkan kehadirat Allah SWT, Tuhan Yang Maha
Kuasa atas berkat dan rahmat-Nya sehingga modul ini dapat diselesaikan tepat pada
waktunya. Modul ini merupakan salah satu sumber belajar dalam kegiatan Program
Pendidikan Profesi Guru (PPG) yang dilaksanakan oleh Kementerian Pendidikan
Dan Kebudayaan Republik Indonesia.
Direktorat Jenderal Guru dan Tenaga Kependidikan Kementerian
Pendidikan dan Kebudayaan menetapkan sistem pembelajaran Program Pendidikan
Profesi Guru (PPG) Dalam Jabatan dilaksanakan dengan pola hybrid learning, yaitu
memadukan model pembelajaran online atau dalam jaringan (daring) dengan tatap
muka. Pemilihan pola hybrid learning dimaksudkan agar para guru peserta PPG
Dalam Jabatan tetap dapat mengikuti program PPG dengan tidak meninggalkan
tugas mengajar terlalu lama, guru-guru peserta PPG dapat melaksanakan
pembelajaran PPG khususnya pendalaman materi melalui daring. Untuk menjamin
efektivitas dan efisiensi pembelajaran daring dalam pendalaman materi khususnya
materi pembelajaran Multimedia, diperlukan bahan ajar berupa modul hybrid
learning yang dilengkapi dengan media pembelajaran.
Modul ini merupakan sumber belajar pendalaman materi Bidang Studi
Teknik Komputer dan Informatika (TKI) pada materi Rekayasa Perangkat Lunak.
Modul ini terdiri empat kegiatan belajar yakni: Kegiatan Belajara 1 membahas
materi konsep object oriented analysis design dalam perancangan aplikasi/sistem
infomasi. Kegiatan Belajar 2 membahas konsep manajemen proyek dalam
pengembangan sistem informasi. Kegiatan Belajar 3 membahas konsep RDBMS
dalam pengelolaan data. Kegiatan Belajar 4 membahas pemrograman berorientasi
objek dalam perancangan aplikasi/sistem infomasi.
Penyelesaian modul ini tidak terlepas dari bantuan dari berbagai pihak. Oleh
karena itu, penulis mengucapkan terima kasih dan penghargaan setinggi-tingginya
kepada:
1. Direktorat Pembinaan Guru Dikmen dan Diksus Direktorat Jenderal Guru dan
Tenaga Kependidikan Kementerian Pendidikan dan Kebudayaan yang

iii
memberikan amanah dan tanggung-jawab untuk menulis salah satu dari modul
PPG ini.
2. Bapak Prof. Dr. H. Husain Syam, M.T.P, Rektor Universitas Negeri Makassar,
yang telah memberikan kesempatan, dukungan, selama penyusunan modul ini
berlangsung.
3. Bapak Prof. Dr. H. Muhammad Yahya, M. Kes, M.Eng, Dekan Fakultas
Teknik Universitas Negeri Makassar yang telah memberikan izin dan arahan
membangun.
4. Direkur Program Pengembangan Profesi Guru (P3G) Universitas Negeri
Makassar yang telah memfasilitasi seluruh kegiatan penyusunan modul ini.
5. Bapak/Ibu Penyelia Modul Bidang Studi Teknik Komputer dan Informatika
(TKI) yang telah memberikan banyak masukan yang konstruktif selama
penulisan modul ini.
6. Teman-teman Penulis Modul Region Makassar, khususnya Tim Penyusun
Modul Bidang Studi TKI atas kerjasamanya sehingga modul ini dapat
diselesaikan.
7. Pihak-pihak lain yang tidak sempat penulis sebutkan satu-persatu.
Segala sarana dan masukan yang membangun sangat diharapkan dalam
rangka perbaikan dan penyumpurnaan modul ini di masa yang akan datang. Semoga
Allah SWT, Tuhan Yang Maha Pengasih membalas setiap amal usaha kita dalam
melaksanakan tugas dan tanggung jawab dalam mencerdaskan kehidupan bangsa.

Penulis,

iv
DAFTAR ISI

SAMPUL ................................................................................................... i
KATA PENGANTAR .............................................................................. ii
DAFTAR ISI ............................................................................................. iv
DAFTAR TABEL ....................................................................................
DAFTAR GAMBAR ................................................................................
KEGIATAN BELAJAR 1:
KONSEP OBJECT ORIENTED ANALYSIS DESIGN DALAM
PERANCANGAN APLIKASI/SISTEM INFOMASI.
A. Pendahuluan ................................................................................. 1
1. Deskripsi Singkat ....................................................................... 1
2. Relevansi ................................................................................... 1
3. Petunjuk Belajar ........................................................................ 2
B. Inti ................................................................................................. 3
1. Capaian Pembelajaran ............................................................... 3
2. Pokok-pokok Materi ................................................................. 4
3. Uraian Materi ............................................................................. 4
a. Metodologi Berorientasi Objek ........................................... 4
b. Metode Analisis Secara Umum .......................................... 8
c. Tahapan Pengembangan Sistem Berorientasi Objek .......... 12
d. Alur Kerja Sistem Berorientasi Objek ................................. 14
e. Pemodelan .......................................................................... 15
f. Unified Modelling Language (UML) ................................. 16
g. Desain UML dengan aplikasi StarUML .............................. 18
h. Dokumentasi Pengembangan Sistem Berorientasi Objek ... 36
4. Forum Diskusi ........................................................................... 36
C. Penutup ............................................................................................ 37
1. Rangkuman ............................................................................... 37
2. Tes Formatif ............................................................................. 38

v
Daftar Pustaka .......................................................................................... 39

KEGIATAN BELAJAR 2
KONSEP MANAJEMEN PROYEK DALAM PENGEMBANGAN
SISTEM INFORMASI
A. Pendahuluan .................................................................................. 44
1. Deskripsi Singkat ....................................................................... 44
2. Relevansi ................................................................................... 44
3. Petunjuk Belajar ........................................................................ 45
B. Inti ................................................................................................. 46
1. Capaian Pembelajaran ............................................................... 46
2. Pokok-pokok Materi ................................................................. 46
3. Uraian Materi ............................................................................. 47
a. Konsep dasar manajemen projek ...... 47
b. Fungsi dan Tujuan Manajemen projek .................................. 50
c.Metodologi Umum Pelaksanaan dan analisis Projek Sistem
59
Informasi (Metode Generik)……………………………………
e. Proposal Projek Sistem Informasi……………………………. 69
4. Forum Diskusi .............................................................................. 76
C. Penutup 76
1. Rangkuman ................................................................................... 76
2. Tes Formatif ............................................................................. 77
Daftar Pustaka ........................................................................................... 80

KEGIATAN BELAJAR 3
KONSEP RDBMS DALAM PENGELOLAAN DATA
A. Pendahuluan ...................................................................................... 81

vi
1. Deskripsi Singkat ........................................................................... 81
2. Relevansi ...................................................................................... 82
3. Petunjuk Belajar .......................................................................... 82
B. Inti ...................................................................................................
1. Capaian Pembelajaran .................................................................. 83
2. Pokok-pokok Materi .................................................................... 84
3. Uraian Materi .................................................................................. 84
a. Konsep Basis Data dalam RDBMS ......................................... 84
b. Abstraksi Data ........................................................................... 85
c. Model Basis Data ..................................................................... 87
d. Perintah pada DBMS ................................................................ 94
e. Keamanan Basis Data ............................................................... 97
f. Replikasi Basis Data .................................................................. 110
4. Forum Diskusi ............................................................................. 120
C. Penutup ............................................................................................. 120
1. Rangkuman .................................................................................. 120
2. Tes Formatif ................................................................................ 121
Daftar Pustaka ............................................................................................. 124

KEGIATAN BELAJAR 4
PEMROGRAMAN BERORIENTASI OBJEK DALAM
PERANCANGAN APLIKASI/SISTEM INFOMASI
A. Pendahuluan ....................................................................................... 125
1. Deskripsi Singkat ........................................................................... 125
2. Relevansi ...................................................................................... 125
3. Petunjuk Belajar ........................................................................... 126
B. Inti ....................................................................................................... 127
1. Capaian Pembelajaran .................................................................. 127
2. Pokok-pokok Materi .................................................................... 127
3. Uraian Materi ................................................................................. 128

vii
a. Konsep Pemrograman Berorientasi Objek ............................ 128
b. Error Handling ..................................................................... 168
c. Koneksi Database Server Melalui Client-Server ................. 177
d. Desain User Interface ........................................................... 183
e. Model View Controller (MVC) ............................................ 194
4. Forum Diskusi ........................................................................... 200
C. Penutup ...................................................................................... 202
1. Rangkuman ............................................................................... 202
2 Tes Formatif ............................................................................. 203
Daftar pustaka ............................................................................... 208
TUGAS AKHIR ...................................................................................... 209
TES SUMATIF ........................................................................................ 214
KUNCI JAWABAN TES FORMATIF KB 1 – 4 .................................... 225

viii
DAFTAR GAMBAR

No. Nama Gambar Hal.


Gambar 1.1 Memulai Use Case Diagram ........................................ 22
Gambar 1.2 Toolbox use case diagram 22
Gambar 1.3 Pemberian nama actor 23
Gambar 1.4 Objek Use Case 23
Gambar 1.5 Contoh activity diagram Sistem Informasi 24
Perpustakaan
Gambar 1.6 Menu squence diagram 27
Gambar 1.7 Toolbox squence diagram 27
Gambar 1.8 Contoh squence diagram 28
Gambar 1.9 Menjalankan statechart diagram 29
Gambar 1.10 Contoh statechart diagram 30
Gambar 1.11 Memulai Deployment Diagram 32
Gambar 1.12 Contoh Deployment Diagram 32
Gambar 1.13 Contoh collaboration diagram 33
Gambar 1.14 Memulai component diagram 35
Gambar 1.15 Contoh component diagram 36
Gambar 2.1 Project Boundaries 51
Gambar 2.2 Interaksi proses yang membentuk proses bisnis 63
Gambar 2.3 Hierarki Proses 64
Gambar 2.4 Sistematika peta proses bisnis 65
Gambar 2.5 Peta proses yang lengkap 66
Gambar 2.6 Kerangka pengembangan proses 67
Gambar 3.1 Contoh model hirarkis 86
Gambar 3.2 Model Jaringan 87
Gambar 3.3 Kardinalitas relasi 89
Gambar 3.4 Contoh beberapa relasi pada model relasional 90
Gambar 3.5 Relasi, tupel, atribut, dan berbagai istilah lainnya 91

ix
Gambar 3.6 Subskema adalah himpunan bagian dari skema 94
Gambar 3.7 Basis data beserta skema dan sejumlah subskema 94
Gambar 3.8 Jenis-jenis penyalahgunaan basis data 96
Gambar 3.9 Pengamanan basis data 99
Gambar 3.10 Proses enkripsi 107
Gambar 3.11 Gambaran replikasi database 111
Gambar 3.12 Replikasi one master, one slave 111
Gambar 3.13 Replikasi one master many slave 112
Gambar 3.14 Replikasi Master/slave circular relationship 112
Gambar 3.15 Replikasi Master/slave circular relationship 112
Gambar 3.16 Proses replikasi synchronous 113
Gambar 3.17 Proses replikasi asynchronous 113
Gambar 3.18 Contoh kasus replikasi Master Slave 114
Gambar 4.1 Pilihan download Java SE 127
Gambar 4.2 Pilihan platform sistem operasi instalasi 127
JDK+Netbeans
Gambar 4.3 Tampilan installer JDK+Netbeans 128
Gambar 4.4 Tampilan persetujuan instalasi JDK+Netbeans 128
Gambar 4.5 Tampilan pilihan lokasi instalasi JDK+Netbeans 128
Gambar 4.6 Tampilan penentuan PATH instalasi JDK+Netbeans 129
Gambar 4.7. Tampilan summary instalasi JDK+Netbeans 129
Gambar 4.8. Tampilan awal Netbeans 130
Gambar 4.9. Tampilan penentuan pilihan project 130
Gambar 4.10 Tampilan pemiilihan penyimpanan file project 130
Gambar 4.11 Tampilan tempat menyisipkan perintah 131
Gambar 4.12 Tampilan New Project untuk contoh 2 133
Gambar 4.13 Tampilan pemilihan penyimpanan file project contoh 2 133
Gambar 4.14 Output project contoh 2 134
Gambar 4.15 Tampilan New Project untuk contoh 3 136

x
Gambar 4.16 Tampilan pemilihan penyimpanan file project contoh 3 137
Gambar 4.17 Tampilan source package file project contoh 2 137
Gambar 4.18 Tampilan untuk membuat Java class 137
Gambar 4.19 Form pengisian nama class 137
Gambar 4.20 Output project contoh 3 140
Gambar 4.21 Output project contoh 4 141
Gambar 4.22 Tool tips 141
Gambar 4.23 Cara membuat package baru 142
Gambar 4.24 Form pengisian package baru 142
Gambar 4.25 Tampilan pembuatan class baru 142
Gambar 4.26 Form pengisian class baru 142
Gambar 4.27 Perintah import 143
Gambar 4.28 Output project contoh 5 144
Gambar 4.29 Menu input console 145
Gambar 4.30 Contoh tampilan input melalui GUI 148
Gambar 4.31 Output contoh 8 148
Gambar 4.32 Contoh input dan hasil project melalui GUI 149
Gambar 4.33 Input nama project baru 152
Gambar 4.34 Output project contoh 10 155
Gambar 4.35 Tampilan utama XAMP control panel 176
Gambar 4.36 Tampilan phpyadmin 176
Gambar 4.37 Tampilan menu Privileges 176
Gambar 4.38 Tampilan data user yang telah ditambahkan 177
Gambar 4.39 Tampilan Apache (httpd-xampp.conf) 177
Gambar 4.40 Tampilan </Locationmatch > pada Apache (httpd- 178
xampp.conf)
Gambar 4.41 Script kode koneksi 178
Gambar 4.42 Komponen MVC 190
Gambar 4.43 Konsep MVC Pada Java 192
Gambar 4.44 Package aplikasi menu restoran 194

xi
Gambar 4.45 Class diagram aplikasi 195
Gambar 4.46 Screen shoot aplikasi 195

xii
DAFTAR TABEL

No. Nama Tabel Hal.


Tabel 1.1 Activity Diagram 24
Tabel 1.2 Simbol sequence diagram 26
Tabel 1.3 Simbol-simbol statechart diagram 29
Tabel 1.4 Simbol deployment diagram 31
Tabel 1.5 Simbol-simbol pada collaboration diagram 33
Tabel 1.6 Simbol component diagram 34
Tabel 2.1 RAB tenaga ahli 72
Tabel 2.2 RAB kebutuhan perangkat keras 72
Tabel 2.3 RAB kebutuhan perangkat lunak 73
Tabel 2.4 RAB kebutuhan overhead 73
Tabel 2.5 RAB maintenance 73
Tabel 2.6 Rekapitulasi anggaran 74
Tabel 2.7 Contoh matriks jadwal pelaksanaan proyek 74
Tabel 3.1 Padanan istilah relasi, tupel, dan atribut. 87
Tabel 3.2 Contoh konversi model jaringan ke model relasional 90
Tabel 4.1 Tipe Data dalam Java 133
Tabel 4.2 Struktur class ‘gaji’
Tabel 4.3 Struktur method ‘gaji’

xiii
Modul 2, Rekayasa Perangkat Lunak

KB 1, Konsep OOAD Dalam Perancangan Aplikasi/Sistem 1


Infomasi
Modul 2, Rekayasa Perangkat Lunak

KEGIATAN BELAJAR 1
KONSEP OBJECT ORIENTED ANALYSIS DESIGN DALAM
PERANCANGAN APLIKASI/SISTEM INFOMASI

A. Pendahuluan
1. Deskripsi Singkat
Object oriented merupakan suatu pendekatan baru dari rekayasa perangkat
lunak untuk memecahkan beberapa masalah klasik dari pengembangan perangkat
lunak. Konsep yang mendasari teknik objek ini adalah bahwa seluruh objek
software sebaiknya dibangun melebihi standar dan komponen-komponen dapat
digunakan kembali apabila dimungkinkan.
Analisis dan desain berorientasi objek adalah cara baru dalam memikirkan
suatu masalah dengan menggunakan model yang dibuat menurut konsep dunia
nyata. Dasar pembuatan adalah objek yang merupakan kombinasi antara struktur
data dan perilaku dalam satu entitas. Model berorientasi objek bermanfaat untuk
memahami masalah, komunikasi dengan ahli, pemodelan suatu organisasi,
menyiapkan dokumentasi serta perancangan program dan basis data.
Pada Kegiatan belajar ini Anda akan mempelajari konsep pemrograman
Object Oriented Analysis and Design (OOAD) dalam pengembangan apikasi atau
sistem informasi. Materi pokok pada kegitan belajar ini adalah:
a. Metode pengembangan sistem berorientasi objek
b. Tahapan pengembangan sistem berorientasi objek
c. Tools dalam pengembangan sistem berorientasi objek
d. Dokumentasi pengembangan sistem berorientasi objek

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

2 KB 1, Konsep OOAD Dalam Perancangan Aplikasi/Sistem Infomasi


Modul 2, Rekayasa Perangkat Lunak

terhadap alam melalui aktivitas manusia. Proses sains mengembangkan


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 1 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) Mampu menganalisis metode pengembangan sistem
berorientasi objek; (2) mampu menjabarkan tahapan pengembangan sistem
berorientasi objek; (3) mampu memilih tools pengembangan sistem berorientasi
objek; dan (4) mampu membuat dokumentasi pengembangan sistem berorientasi
objek.

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

KB 1, Konsep OOAD Dalam Perancangan Aplikasi/Sistem 3


Infomasi
Modul 2, Rekayasa Perangkat Lunak

telah disediakan pada setiap Kegiatan Belajar Kerjakanlah tugas dan latihan
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 ditetapkan.
Jika ada bagian yang belum anda pahami, cobalah terlebih dahulu
mendiskusikan dengan teman yang sedan gmengerjakan bagian yang sama,
sebelum Anda bertanya pada instruktur. Jika perlu, berusahalah mencari tahu
jawabannya pada sumber yang lain.
Kegiatan Belajar 1 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 pengolah kata
c. Aplikasi (tool) StarUML

B. Inti
1. Capaian Pembelajaran
Peserta mampu menganalisis prinsip-prinsip Rekayasa Perangkat Lunak beserta
aplikasi terkait dalam pembelajaran bidang studi Teknik Komputer dan
Informatika

2. Pokok-Pokok Materi
a. Metode pengembangan sistem berorientasi objek
b. Tahapan pengembangan sistem berorientasi objek
c. Tools dalam pengembangan sistem berorientasi objek

4 KB 1, Konsep OOAD Dalam Perancangan Aplikasi/Sistem Infomasi


Modul 2, Rekayasa Perangkat Lunak

d. Membuat dokumentasi pengembangan sistem berorientasi objek

3. Uraian Materi
a. Metodologi Berorientasi Objek
Metodologi merupakan cara kerja yang sistematis untuk memudahkan
pelaksanaan pembuatan perangkat lunak guna mencapai tujuan tertentu.
Metodologi juga bermakna proses untuk menghasilkan perangkat lunak yang
terorganisir dengan menggunakan sejumlah teknik dan konvensi notasi yang
terdefinisi.
Metodologi berorientasi objek merupakan suatu strategi pembangunan
perangkat lunak yang mengorganisasikan perangkat lunak sebagai kumpulan objek
yang berisi data dan operasi yang diberlakukan terhadapnya. Metodologi
berorientasi objek adalah suatu cara bagaimana sistem perangkat lunak dibangun
melalui pendekatan objek secara sistematis. Metode berorientasi objek didasarkan
pada penerapan prinsip-prinsip pengelolaan kompleksitas.
Metode berorientasi objek melipui rangkaian aktivitas analisis berorientasi
objek, perancangan berorientasi objek, pemrograman berorientasi objek, dan
pengujian berorientasi objek. Ada teknik yang digunakan, produk yang dihasilkan,
prosedur verifikasi, dan kriteria untuk setiap aktivitas yang dikerjakan. Ada alat
bantu untuk memodelkan (mendokumentasikan) hasil dari setiap aktivitas.
Karakteristik metode berorientasi objek adalah:
1) Cara kerja yang sistematis untuk mengerjakan tahap analisis berdasarkan
pendekatan objek.
2) Ada kumpulan aturan-aturan tertentu yang harus diikuti untuk menyelesaikan
pekerjaan analisis tersebut.
3) Mempunyai urut-urutan aktivitas, teknik, dan alat bantu (tools) tertentu untuk
memodelkan (mendokumentasikan) hasil dari setiap aktivitas.
Analisis berorientasi objek merupakan investigasi masalah untuk
menemukan (mengidentifikasikan) dan mendefinisikan objek-objek atau konsep-
konsep yang ada di ruang masalah. Analisis ini merupakan proses untuk
menentukan objek-objek potensial yang ada dalam sistem dan mendeskripsikan

KB 1, Konsep OOAD Dalam Perancangan Aplikasi/Sistem 5


Infomasi
Modul 2, Rekayasa Perangkat Lunak

karakterisitik dan hubungannya dalam sebuah notasi formal. Aplikasi konsep


berorientasi objek untuk memodelkan permasalahan dan sistem, baik untuk lingkup
perangkat lunak maupun non-perangkat lunak.
Analisis bertujuan untuk:
1) Memahami permasalahan secara menyeluruh.
2) Mengungkapkan apa yang harus dikerjakan oleh sistem untuk memenuhi
kebutuhan pemakai.
3) Mengetahui ruang lingkup produk (product space) dan pemakai yang
akan menggunakan produk tersebut.
Berikut ini adalah tahapan analisis berorientasi objek:
1) Mempelajari permasalahan
2) Menentukan kebutuhan pemakai
3) Mengubah kebutuhan yang belum terstruktur menjadi model-model atau
gambar-gambar dengan memanfaatkan metode dan teknik analisis
tertentu.
4) Mendokumentasikan hasil analisis, misalnya Software Requirement
Specification (SRS).
Terdapat beberapa metode yang dapat digunakan untuk melakukan
analisis berorientasi objek, dan diantaranya adalah sebagai berikut:
1) Metode Coad & Yourdan
a) Diperkenalkan oleh Peter Coad dan Edward Yourdan pada tahun 1990.
b) Disebut juga dengan nama Object Oriented Analysis (OOA), dan
dipandang sebagai salah satu teknik yang mudah untuk dipelajari.
c) Notasi model relatif sederhana karena didasarkan pada struktur
fisik dunia nyata, dan petunjuk untuk melakukan analisis cukup
jelas.
d) Tahap atau skema pelaksanaan:
i) Mengidentifikasi kelas dan objek
ii) Mengidentifikasi struktur
• Struktur "generalization-specification”
• Struktur “whole-part” atau “a-part-of”

6 KB 1, Konsep OOAD Dalam Perancangan Aplikasi/Sistem Infomasi


Modul 2, Rekayasa Perangkat Lunak

iii) Mengidentifikasi subjek


iv) Mendefinisikan atribut
• Atribut implisi objek
• Koneksi instan (instance connection)
v) Mendefinisikan layanan
• Layanan implisit objek
• Layanan yang berasosiasi dengan atribut
• Layanan yang berasosiasi dengan “message-connection”
2) Metode Rumbaugh
a) Diperkenalkan oleh James Rumbaugh, Michael Blaha, William
Premerlan, Frederick Eddy dan William Lorensen pada tahun 1991.
b) Lebih dikenal dengan Object Modeling Technique (OMT) yang dapat
digunakan baik untuk analisis maupun desain.
c) Selain model-model fisik dari objek, pendekatan analisis dilkukan juga
untuk model-model dinamik dan model fungsional.
d) Tahap atau skema pelaksanaan:
i) Menentukan ruang lingkup masalah
ii) Membuat model objek
• Mengidentifikasi kelas yang relevan dengan permasalahan
• Mendefinisikan atribut dan asosiasi
• Mendefinisikan keterkaitan (link) antar kelas dan objek
• Mengorganisasikan kelas objek dengan menggunakan pewarisan
iii) Membuat model dinamik
• Menyiapkan skenario
• Mendefinisikan kejadian (event) dan buat penelusurannya untuk setiap
skenario
• Membangun diagram aliran kejadian (event flow diagram)
• Membuat diagram keadaan (state diagram)
iv) Membuat model fungsional sistem
• Mengidentifikasi masukan dan keluaran

KB 1, Konsep OOAD Dalam Perancangan Aplikasi/Sistem 7


Infomasi
Modul 2, Rekayasa Perangkat Lunak

• Menggunakan diagram aliran data untuk merepresentasikan aliran


transformasi
• Membuat spesifikasi proses untuk setiap fungsi
3) Metode Jacobson
a) Diperkenalkan oleh Ivar Jacobson dengan nama Object Oriented
Software Engineering (OOSE) pada tahun 1992.
b) Merupakan versi yang juga sederhana dari metode berorientasi objek.
c) Sudut pandang atau fokus analisis ditekankan pada “use case”, yaitu
deskripsi atau skenario yang menggambarkan bagaimana pemakai
berinteraksi dengan produk atau sistem yang akan dikembangkan.
d) Tahap atau skema pelaksanaan:
i) Mengidentifikasi pemakai sistem dan semua tanggung jawabnya
ii) Membuat model kebutuhan
• Mendefinisikan aktor dan tanggung jawabnya
• Mengidentifikasi use-case untuk setiap actor
• Menginisialisasi gambaran sistem objek dan hubungannya
iii) Buat model analisis
• Mengidentifakasi antarmuka objek
• Membuat gambaran struktural dari antarmuka objek
• Merepresentasikan perilaku objek
• Mengisolasi sub-sistem dan buat masing-masing modelnya
4) Metode Booch
a) Diperkenalkan oleh Grady Booch pada tahun 1994.
b) Meliputi proses pengembangan makro dan mikro, dengan anggapan
bahwa analisis dan desain merupakan rangkaian kesatuan aktivitas yang
tidak dipisahkan.
c) Tahap atau skema pelaksanaan:
i) Mengidentifikasi kelas dan objek
• Mengidentifikasi kandidat objek
• Mengidentifikasi skenario yang relevan

8 KB 1, Konsep OOAD Dalam Perancangan Aplikasi/Sistem Infomasi


Modul 2, Rekayasa Perangkat Lunak

• Mendefinisikan atribut dan layanan untuk setiap kelas


ii) Mengidentifikasi Semantik dari kelas dan objek
• Memilih skenario kemudian analisis
• Memilih objek dan daftar peran serta tanggung jawabnya
• Mencari colaborasi diantara objek-objek
iii) Mengidentifikasi hubungan diantara kelas dan objek
• Mendefinisikan ketergantungan yang ada diantara objek
• Menjelaskan peran dari setiap objek
• Memvalidasi berdasarkan skenario
iv) Membuat diagram yang berhubungan dengan langkah-langkah di
atas
v) Mengimplementasikan kelas dan objek
5) Metode Wirfs-Brock
Metode ini disebut juga dengan metode Responsibility Driven Design/Class
Responsibility Collaboration (RDD/CFC). Metode ini diarahkan pada desain, tetapi
sangat berguna untuk memunculkan ide dalam tahap analisis. Keunggulannya
adalah mudah digunakan, metode ini juga mengidentifikasikan hirarki kelas dan
subsistem-subsistem.
a) Mengevalusi spesifikasi pelanggan
b) Menggunakan uraian gramatikal untuk mengekstrak kelas calon dari
spesifikasi
c) Mengelompokkan kelas dengan tujuan untuk mengidentifikasi superkelas
d) Menentukan tanggung jawab untuk masing-masing kelas
6) Metode Shlair-Mellor atau Object Oriented Analysis/Design (OOA/D)
Metode yang menggunakan teknik pemodelan informasi tradisional yang
menjelaskan entitas dalam sistem, menggunakan state diagram untuk memodelkan
keadaan (state) entitas, menggunakan data flow diagram untuk memodelkan alur
data dalam sistem. Metode ini menghasilkan tiga jenis model yaitu: information
model, state model dan process model. Keunggulan metode ini adalah dalam
memandang masalah dari sudut pandang yang berbeda, mudah dibuat (dikonversi)
dari metode struktural.

KB 1, Konsep OOAD Dalam Perancangan Aplikasi/Sistem 9


Infomasi
Modul 2, Rekayasa Perangkat Lunak

10 KB 1, Konsep OOAD Dalam Perancangan Aplikasi/Sistem Infomasi


Modul 2, Rekayasa Perangkat Lunak

b. Metode Analisis Secara Umum


Pada prinsipnya semua metode analisis berorientasi objek adalah
sama, perbedaan hanya terletak pada sudut pandang dan teknis
pelaksanaannya. Secara umum, metode analisis berorientasi objek mencakup
representasi kelas dan hirarki kelas, model hubungan objek, dan model
perilaku objek.
Tahap atau skema pelaksanaan analisis berorientasi objek :
1) Menentukan Kebutuhan Pemakai untuk Sistem Berorientasi Objek
Mengidentifikasikan proses-proses bisnis dan kebutuhan pemakai dan
mengekspresikan dengan ‘use-case”. Sebenarnya bukan merupakan aktivitas
analisis berorientasi objek, karena tidak membicarakan pembahasan tentang
objek. Diperlukan karena dapat menjelaskan aktivitas-aktivitas apa saja yang
harus dikerjakan oleh sistem, dan menjelaskan juga perilaku dari komponen-
komponen sistem. Ada diagram tertentu yang dapat merepresentasikan model
kebutuhan dari “use-case” yang diperoleh.

2) Identifikasi Kelas dan Objek


a) Mengidentifikasi kelas-kelas dan objek-objek yang ada dalam lingkup
aplikasi:
i) Eksplisit pada pernyataan masalah
ii) Implisit pada lingkup aplikasi atau pengetahuan atas lingkup aplikasi
Kelas dan objek dapat diidentifikasi dari:
i) Entitas eksternal yang memproduksi dan memakai informasi yang
akan digunakan oleh sistem berbasis computer
ii) Sesuatu yang merupakan bagian dari wilayah informasi dari
permasalahan
iii) Kejadian, misalnya prosedur operasional, yang muncul dalam lingkup
operasional sistem
iv) Peran yang dimainkan oleh orang-orang yang berinteraksi dengan
system
v) Unit organisasi yang relevan dengan aplikasi

KB 1, Konsep OOAD Dalam Perancangan Aplikasi/Sistem 11


Infomasi
Modul 2, Rekayasa Perangkat Lunak

vi) Tempat yang menentukan ruang lingkup masalah dan seluruh fungsi
dari sitem
vii) Struktur yang mendefinisikan kelas dari objek atau yang
menghubungkan kelas-kelas objek.
viii) Mengabaikan kelas dan objek yang tidak tepat karena redunden, tidak
relevan, lebih tepat berupa atribut, lebih tepat berupa operasi, lebih
tepat berupa peran dan lebih merupakan konstruksi implementasi.
3) Mengidentifikasi Atribut dan Layanan
a) Mengidentifikasi atribut dan layanan yang terkait untuk setiap atribut
tersebut.
b) Mengidentifikasi atribut dari elemen-elemen data yang dapat
menggambarkan (mencirikan) sebuah objek secara utuh.
c) Mengidentifikasi layanan dari perilaku spesifik yang dapat
menunjukkan peran dan tanggung jawab suatu objek.
d) Mengabaikan atribut yang tidak tepat karena berupa objek, berupa
qualifier, berupa nama, berupa identifier pada implementasi,
menyatakan status internal objek, merupakan atribut yang sangat kecil
(minor) dan bertentangan dengan atribut lain.
4) Mendefinisikan Struktur dan Hirarki
a) Mendefinisikan struktur dan hierarki dari objek yang akan
mengorganisasikan kelas objek.
b) Mengatur dan menyederhanakan objek-objek menjadi kelas-kelas
objek melalui konsep agregasi dan pewarisan.
c) Mendefinisikan struktur dan hirarki yang mungkin didefinisikan
5) Membuat Model Hubungan Objek
a) Mendefinisikan hubungan (asosiasi atau koneksi) antar kelas, yaitu
ketergantungan antar satu kelas atau lebih dengan kelas lainnya.
b) Asosiasi dapat berbentuk:
i) Lokasi fisik atau penempatan (next, to, part, of contained in)
ii) Aksi terarah (drive)
iii) Komunikasi (transmit to, acquires from)

12 KB 1, Konsep OOAD Dalam Perancangan Aplikasi/Sistem Infomasi


Modul 2, Rekayasa Perangkat Lunak

iv) Kepemilikan (incorporated by, is composed of)


v) Pemenuhan kondisi (manages, coordinates, controls)
c) Jenis-jenis asosiasi:
i) Asosiasi 1 – 1 (one-to-one association)
ii) Asosiasi 1 – m (one-to-many association)
iii) Asosiasi M – 1 (many –to-one association)
iv) iASI M – M (many-to-many association)
v) Ternary Assosiation
vi) Kualifikasi, hubungan asosiatif berkualifikasi antara 2 kelas objek
vii) Ordering, hubungan berdasarkan urutan kejadian
d) Nama hubungan dan garis atau anak panah digunakan untuk
menyatakan hubungan antar kelas-kelas tersebut.
e) Mengabaikan asosiasi yang tidak tepat karena:
i) Asosiasi antara kelas yang diabaikan
ii) Asosiasi implementatif atau tidak relevan
iii) Asosiasi yang berupa aksi
iv) Asosiasi ternary
v) Asosiasi turunan
6) Membuat Model Perilaku Objek
a) Menyatakan bagaimana sistem berorientasi objek akan menanggapi
kejadian atau stimuli eksternal (memunculkan sifat dinamis objek).
b) Tahap-tahap untuk membuat model perilaku objek:
i) Mengevaluasi semua “use-case” untuk memahami urutan
interaksi yang ada dalam system
ii) Mengidentifikasi kejadian yang menggerakkan urutan
interaksi, dan pahami bagaimana kejadian-kejadian tersebut
berhubungan dengan objek tertentu
iii) Membuat penelusuran kejadian untuk setiap “use-case”
iv) Membuat diagram transisi keadaan untuk system
v) Meninjau ulang model perilaku objek untuk verifikasi
keakuratan dan konsistensi.

KB 1, Konsep OOAD Dalam Perancangan Aplikasi/Sistem 13


Infomasi
Modul 2, Rekayasa Perangkat Lunak

c. Tahapan Pengembangan Sistem Berorientasi Objek


Pendekatan object oriented dapat menggunakan metodologi
apapun, termasuk yang terstruktur, tetapi umumnya lebih berhubungan
dengan metodologi yang bersifat RAD. Yang harus diperhatikan dalam
OOSAD adalah pemodelan dunia nyata, yang berarti memodelkan data
dan proses yang susah dipisahkan. UML bersifat use-case drive,
architecture-centric, iterative dan incremental.
Use-Case Drive merupakan perangkat pemodelan yang bagian
utamanya adalah use case yang digunakan untuk menjelaskan tingkah laku
dari sistem. Architecture centric yang akan dibuat haruslah mengikuti dan
menghasilkan standar yang meliputi spesifikasi, konstruksi, dan
dokumentasi. Itterative dan incremental berkaitan dengan pengembangan
yang dilakukan secara iteratif dan bertingkat, dimana setiap pengulangan
akan mendekatkan produk pada spesifikasi pengguna akhir. Unified
process mengunakan metoodologi yang secara khusus memetakan
bagaimana menggunakan perangkat methodoly yang dimiliki oleh UML.
Jika UML memiliki struktur untuk menjelaskan hubungan struktural dan
behaviour dari sebuah sistem informasi, RUPS menyediakan dukungan
metodologi penggunaan notasi UML.
Unified process adalah proses pengembangan sistem yang
dijelaskan melalui tahapan-tahapan dan alur kerja (workflows).
Tahapannya adalah:
1) Inception
Merupakan tahapan perencanaan. Business case dibuat dalam tahapan ini.
2) Elaboration
Merupakan tahapan dimana dilakukan analisis dan perancangan sistem
secara mendalam. Pada tahapan ini dilakukan analisis mengenai
bagaimana sistem yang akan dibuat, vision document, penyelesaian
business case, revisi penilaian risiko, dan menyelesaikan project plan
secara terinci agar pihak-pihak yang berkepentingan menyetujui

14 KB 1, Konsep OOAD Dalam Perancangan Aplikasi/Sistem Infomasi


Modul 2, Rekayasa Perangkat Lunak

rancangan sistem. Deliverablesnya meliputi notasi-notasi structure dan


behaviour, executable of baseline version. Baseline harus ditetapkan
dengan baik pada tahapAn ini karena merupakan dasar bagi pekerjaan
lanjutan untuk membuat sistem yang jadi.
3) Construction
Tahapan ini terfokus pada pemrograman dan pekerjaan teknis untuk
membuat sistem. Tahapan ini merupakan implementasi diagram kerja ke
dalam kode program (coding). Deliverables yang utama adalah versi alpha
maupun beta sistem yang dibuat.
4) Transition.
Tahapan ini merupakan pemasangan dan implementasi sistem yang telah
dikembangkan. Deliverables tahapan ini adalah sistem yang sudah jadi,
berikut dokument-dokumen pendukung termasuk di dalamnya manual,
support plan, dan upgrading plan.
Sedangkan workflowsnya meliputi :
1) Business modelling, digunakan untuk menemukan permasalahan dan dapat
mengidentifikasi proyek yang mungkin dikerjakan
2) Requirements, digunakan untuk melakukan elisitasi kebutuhan baik secara
fungsional dan nonfungsional.
3) Analysis, merupakan pekerjaan yang meliputi analisis dari problem/business
domain.
4) Design, meupakan pekerjaan yang mentransformasikan analisi model ke
dalam bentuk yang daat digunakan untuk implementasi sistem yaitu desain
model.
5) Implementation, merupakan pekerjaan pembangunan sistem. Contoh
aktifitas yang dilakukan adalah coding.
6) Test atau pengujian bertujuan agar produk yang dibuat memenuhi kriteria
kualitas yang telah ditentukan untuk sistem yang dibuat.
7) Deployment, bagian ini berhubungan dengan tahapan transisi pada RUP.
Aktifitasnya meliputi packaging, distribution, beta testing, dan pada
akhirnya adalah sistem yang telah jadi.

KB 1, Konsep OOAD Dalam Perancangan Aplikasi/Sistem 15


Infomasi
Modul 2, Rekayasa Perangkat Lunak

8) Project management, merupakan cross-phase flow. Contoh dari aktifitas


yang dilakukan dalam tahap ini adalah: risk identification & management,
scope management, time estimation, cost estimation, dan tracking progress.
9) Configuration and change management, bertujuan untuk menjejaki sampai
sejauh mana sistem yang sedang dibangun.
10) Environment, merupakan dukungan perangkat yang digunakan.
Environmental workflows adalah kelompok perkerjaan yang berhubungan
dengan penyediaan perangkat untuk pembuatan system

Pengembangan perangkat lunak yang mendasari pembangunan sistem

adalah System Development Life Cycle (SDLC) atau siklus hidup pengembangan

sistem. Dalam rekayasa sistem dan rekayasa perangkat lunak, SDLC adalah proses

pembuatan dan pengubahan sistem serta model dan metodologi yang digunakan

untuk mengembangkan sistem-sistem tersebut (Muslihudin & Oktafianto, 2016).

Nugroho (2010) mendefinisikan SDLC adalah pengembangan atau

rekayasa sistem informasi perangkat lunak dapat berarti menyusun sistem atau

perangkat lunak yang benar-benar baru atau yang lebih sering terjadi

menyempurnakan yang telah ada sebelumnya. Sedangkan menurut A.S. &

Shalahuddin (2019), SDLC adalah proses mengembangkan atau mengubah suatu

sistem perangkat lunak dengan menggunakan model-model dan metodologi yang

digunakan orang untuk mengembangkan sistem-sitem perangkat lunak sebelumnya

(berdasarkan best practice atau cara-cara yang sudah teruji baik).

Tahapan-tahapan yang ada pada SDLC secara global menurut A.S. &

Shalahuddin (2019) adalah sebagai berikut :

1) Inisiasi (initiation), tahap ini biasanya ditandai dengan pembuatan hasil proyek

perangkat lunak.

16 KB 1, Konsep OOAD Dalam Perancangan Aplikasi/Sistem Infomasi


Modul 2, Rekayasa Perangkat Lunak

2) Pengembangan konsep sistem (system concept development), mendefinisikan

lingkup konsep termasuk dokumen lingkup sistem, analisis manfaat biaya,

manajemen rencana, dan pembelajaran kemudahan sistem.

3) Perencanaan (planning), mengembangkan rencana manajemen proyek dan

dokumen perencanaan lainnya. Menyediakan dasar untuk mendapatkan

sumber daya (resources) yang dibutuhkan untuk memperoleh solusi.

4) Analsis kebutuhan (requirements analysis), menganalisis kebutuhan pemakai

sistem perangkat lunak (user) dan mengembangkan kebutuhan user, serta

membuat dokumen kebutuhan fungsional.

5) Desain (design), mentransformasikan kebutuhan detail menjadi kebutuhan

yang sudah lengkap, dokumen desain sistem fokus pada bagaimana dapat

memenuhi fungsi yang dibutuhkan.

6) Pengembangan (development), mengonversi desain ke sistem informasi yang

lengkap termasuk bagaimana memperoleh dan melakukan instalasi lingkungan

sistem yang dibutuhkan; membuat basis data dan mempersiapkan prosedur

kasus pengujian; mempersiapkan berkas atau file pengujian, pengodean,

pengompilasian, memperbaiki dan membersihkan program; peninjauan, dan

pengujian.

7) Integrasi dan pengujian (integration and test), mendemonstrasikan sistem

perangkat lunak bahwa telah memenuhi kebutuhan yang dispesifikasikan pada

dokumen kebutuhan fungsional. Dengan diarahkan oleh staf penjamin kualitas

(quality assurance) dan user. Menghasilkan laporan analisis pengujian.

KB 1, Konsep OOAD Dalam Perancangan Aplikasi/Sistem 17


Infomasi
Modul 2, Rekayasa Perangkat Lunak

8) Implementasi (implementation), termasuk pada persiapan implementasi,

implementasi perangkat lunak pada lingkungan produksi (lingkungan pada

user) dan menjalankan resolusi dari permasalahan yang teridentifikasi dari fase

integrasi dan pengujian.

9) Operasi dan pemeliharaan (operations and maintetance), mendeskripsikan

pekerjaan untuk mengoperasikan dan memelihara sistem informasi pada

lingkungan produksi (lingkungan pada user), termasuk implementasi akhir dan

masuk pada proses peninjauan.

10) Disposisi (dispotition), mendeskripsikan aktifitas akhir dari pengembangan

sistem dan membangun data yang sebenarnya sesuai dengan aktifitas user.

Menurut A.S. & Shalahuddin (2019), SDLC memiliki beberapa model

pengembangan perangkat lunak antara lain sebagai berikut :

1) Model Waterfall

Model SDLC air terjun (waterfall) sering juga disebut model sekuensial

linier (sequential linier) atau alur hidup klasik (classic life cycle). Model air terjun

menyediakan pendekatan alur hidup perangkat lunak secara sekuensial atau terurut

dimulai dari analisis, desain, pengodean, pengujian, dan tahap pendukung

(support). Berikut adalah gambar model waterfall:

18 KB 1, Konsep OOAD Dalam Perancangan Aplikasi/Sistem Infomasi


Modul 2, Rekayasa Perangkat Lunak

Gambar 1.1 Ilustrasi model waterfall (A.S. & Shalahuddin, 2019)

Tahapan-tahapan yang dilakukan dalam model waterfall adalah sebagai

berikut :

a) Analisis kebutuhan perangkat lunak. Proses pengumpulan kebutuhan

dilakukan secara intensif untuk menspesifikasikan kebutuhan perangkat lunak

agar dapat dipahami perangkat lunak apa yang dibutuhkan oleh user.

Spesifikasi kebutuhan perangkat lunak pada tahap ini perlu untuk

didokumentasikan.

b) Desain. Desain perangkat lunak adalah proses multi langkah yang fokus pada

desain pembuatan program perangkat lunak termasuk struktur data, arsitektur

perangkat lunak, representasi antarmuka, dan prosedur pengodean. Tahap ini

mentranslasi kebutuhan perangkat lunak dari tahap analisis kebutuhan ke

representasi desain agar dapat diimplementasikan menjadi program pada tahap

selanjutnya. Desain perangkat lunak yang dihasilkan pada tahap ini juga perlu

didokumentasikan.

c) Pembuatan kode program. Desain harus ditranslasikan ke dalam program

perangkat lunak. Hasil dari tahap ini adalah program komputer sesuai dengan

desain yang telah dibuat pada tahap desain.

KB 1, Konsep OOAD Dalam Perancangan Aplikasi/Sistem 19


Infomasi
Modul 2, Rekayasa Perangkat Lunak

d) Pengujian. Pengujian fokus pada perangkat lunak secara dari segi lojik dan

fungsional dan memastikan bahwa semua bagian sudah diuji. Hal ini dilakukan

untuk meminimalisir kesalahan (error) dan memastikan keluaran yang

dihasilkan sesuai dengan yang diinginkan.

e) Pendukung (support) atau pemeliharaan (maintanance). Tidak menutup

kemungkinan sebuah perangkat lunak mengalami perubahan ketika sudah

dikirimkan ke user. Perubahan bisa terjadi karena adanya kesalahan yang

muncul dan tidak terdeteksi saat pengujian atau perangkat lunak harus

beradaptasi dengan lingkungan baru. Tahap pendukung atau pemeliharaan

dapat mengulangi proses pengembangan mulai dari analisis spesifikasi untuk

perubahan perangkat lunak yang sudah ada, tapi tidak untuk membuat

perangkat lunak baru.

2) Model Prototipe (Prototyping)

Model prototipe dapat digunakan untuk menyambungkan

ketidakpahaman pelanggan mengenai hal teknis dan memperjelas spesifikasi

kebutuhan yang diinginkan pelanggan kepada pengembang perangkat lunak.

Model prototipe (prototyping model) dimulai dari mengumpulkan kebutuhan

pelanggan terhadap perangkat lunak yang akan dibuat. Kemudian dibuatkan

program prototipe agar pelanggan lebih terbayang dengan apa yang sebenarnya

diinginkan. Program prototipe biasanya menyediakan tampilan dengan

simulasi alur perangkat lunak sehingga tampak seperti perangkat lunak yang

sudah jadi. Program prototipe ini dievaluasi oleh pelanggan atau user sampai

20 KB 1, Konsep OOAD Dalam Perancangan Aplikasi/Sistem Infomasi


Modul 2, Rekayasa Perangkat Lunak

ditemukan spesifikasi yang sesuai dengan keinginan pelanggan atau user

tersebut. Berikut adalah gambar dari model prototipe:

Gambar 1.2 Ilustrasi model prototipe (A.S. & Shalahuddin, 2019)

Mock-up adalah sesuatu yang digunakan sebagai model desain yang

digunakan untuk mengajar, demonstrasi, evaluasi desain, promosi, atau

keperluan lain. Sebuah mock-up disebut juga sebagai prototipe perangkat lunak

jika menyediakan atau mampu mendemonstrasikan sebagian besar fungsi

sistem perangkat lunak dan memungkinkan pengujian desain sistem perangkat

lunak.

Seiring dengan menggunakan prototipe maka sistem perangkat lunak

yang sebenarnya dikembangkan juga sehingga sesuai dengan kebutuhan

pelanggan (customer) atau user. Model prototipe memiliki kelemahan yaitu :

a) Pelanggan dapat sering mengubah-ubah atau menambah spesifikasi

kebutuhan karena menganggap aplikasi sudah dengan cepat

dikembangkan, karena adanya iterasi ini dapat menyebabkan pengembang

KB 1, Konsep OOAD Dalam Perancangan Aplikasi/Sistem 21


Infomasi
Modul 2, Rekayasa Perangkat Lunak

banyak mengalah dengan pelanggan karena perubahan atau penambahan

spesifikasi kebutuhan perangkat lunak.

b) Pengembang lebih sering mengambil kompromi dengan pelanggan untuk

mendapatkan prototipe dengan waktu yang cepat sehingga pengembang

lebih sering melakukan segala cara (tanpa idealis) guna menghasilkan

prototipe untuk didemonstrasikan. Hal ini dapat menyebabkan perangkat

lunak yang kurang baik atau bahkan menyebabkan iteratif tanpa akhir.

Permasalahan yang terjadi pada model prototipe dapat diatasi dengan

melakukan perjanjian antara pengembang perangkat lunak dengan pelanggan

(customer) atau user agar model prototipe hanya digunakan untuk

mendefinisikan spesifikasi kebutuhan perangkat lunak, tapi tidak untuk seluruh

proses pengembangan seluruh sistem perangkat lunak.

Model prototipe cocok digunakan untuk menjabarkan kebutuhan

pelanggan secara lebih detail karena pelanggan sering kesulitan menyampaikan

kebutuhannya secara detail tanpa melihat gambaran yang jelas. Untuk

mengantisipasi agar proyek dapat berjalan sesuai dengan target waktu dan

biaya awal, maka sebaiknya spesifikasi kebutuhan sistem harus sudah

disepakati oleh pengembang dengan pelanggan secara tertulis. Dokumen

tersebut akan menjadi patokan agar spesifikasi kebutuhan sistem masih dalam

ruang lingkup proyek.

Model prototipe kurang cocok untuk aplikasi dengan skala besar karena

membuat prototipe untuk aplikasi sekala besar akan sangat memakan waktu

22 KB 1, Konsep OOAD Dalam Perancangan Aplikasi/Sistem Infomasi


Modul 2, Rekayasa Perangkat Lunak

dan tenaga. Model prototipe cocok digunakan untuk menggali spesifikasi

kebutuhan pelanggan secara lebih detail tetapi beresiko tinggi terhadap

membengkaknya biaya dan waktu proyek.

3) Model Rapid Application Development (RAD)

RAD merupakan model proses pengembangan perangkat lunak yang

bersifat inkremental terutama untuk waktu pengerjaan yang pendek. Model RAD

adalah adaptasi dari model air terjun versi kecepatan tinggi dengan menggunakan

model air terjun untuk pengembangan setiap komponen perangkat lunak (A.S. &

Shalahuddin, 2019). Berikut ini adalah gambar dari model RAD:

Gambar 1.3 Ilustrasi model RAD (A.S. & Shalahuddin, 2019)


Jika kebutuhan perangkat lunak dipahami dengan baik dan lingkup

perangkat lunak dibatasi dengan baik sehingga tim dapat menyelesaikan pembuatan

KB 1, Konsep OOAD Dalam Perancangan Aplikasi/Sistem 23


Infomasi
Modul 2, Rekayasa Perangkat Lunak

perangkat lunak dengan waktu yang pendek. Model RAD membagi tim

pengembang menjadi beberapa tim untuk mengerjakan beberapa komponen

masing-masing tim pengerjaan dapat dilakukan secara paralel.

Tahapan-tahapan yang dilakukan dalam model RAD berdasarkan gambar

adalah sebagai berikut :

a) Pemodelan bisnis. Pemodelan yang dilakukan untuk memodelkan fungsi bisnis

untuk mengetahui informasi apa saja yang terkait proses bisnis, informasi apa

saja yang harus dibuat, siapa yang harus membuat informasi itu, bagaimana

alur informasi itu, dan proses apa saja yang terkait informasi itu.

b) Pemodelan data. Memodelkan data apa saja yang dibutuhkan berdasarkan

pemodelan bisnis dan mendefinisikan atribut-atribut beserta relasinya dengan

dengan data-data yang lain.

c) Pemodelan proses. Mengimplementasikan fungsi bisnis yang sudah

didefinisikan terkait dengan pendefinisian data.

d) Pembuatan aplikasi. Mengimplementasikan pemodelan proses dan data

menjadi program, model RAD sangat menganjurkan pemakaian komponen

yang sudah ada jika dimungkinkan.

e) Pengujian dan pergantian. Menguji komponen-komponen yang dibuat, jika

sudah teruji maka tim pengembang komponen dapat beranjak untuk

mengembangkan komponen berikutnya.

4) Model Iteratif

Model iteraif (iterative model) mengkombinasikan proses-proses pada

model air terjun dan iteratif pada model prototipe. Model inkremental akan

24 KB 1, Konsep OOAD Dalam Perancangan Aplikasi/Sistem Infomasi


Modul 2, Rekayasa Perangkat Lunak

menghasilkan versi-versi perangkat lunak yang sudah mengalami penambahan

fungsi untuk setiap pertambahannya (A.S. & Shalahuddin, 2019). Berikut adalah

gambar dari model iteratif:

Gambar 1.4 Ilustrasi model iteratif (A.S. & Shalahuddin, 2019)

Model inkremental dibuat untuk mengatasi kelemahan dari model air terjun

yang tidak mengakomodasikan iterasi, dan mengatasi kelemahan dari prototipe

yang memiliki proses terlalu pendek dan setiap iteratif prosesnya tidak selalu

menghasilkan produk (bisa jadi hanya prototipe). Model inkremental menghasilkan

produk/aplikasi untuk setiap tahapan inkremen.

Model inkremental sangat cocok digunakan jika staf yang dimiliki memiliki

pergantian (turnover) yang tinggi sehingga staf tidak dapat terus ikut dalam

pengembangan perangkat lunak. Mekanisme tahapan inkremental perlu

direncanakan terlebih dahulu agar hasil produk dan pengerjaan setiap tahapan

inkremen menjadi lebih baik.

5) Model Spiral

KB 1, Konsep OOAD Dalam Perancangan Aplikasi/Sistem 25


Infomasi
Modul 2, Rekayasa Perangkat Lunak

Model spiral (spiral model) memasangkan iteratif pada model prototipe

dengan kontrol dan aspek sistematik yang diambil dari model air terjun. Model

spiral menyediakan pengembangan dengan cara cepat dengan perangkat lunak

dengan memiliki versi yang terus bertambah fungsinya (A.S. & Shalahuddin,

2019).

Pada iterasi awal maka yang dihasilkan adalah prototipe sedangkan pada

iterasi akhir yang dihasilkan adalah perangkat lunak yang sudah lengkap. Model

spiral dibagi menjadi beberapa kerangka aktifitas atau disebut juga wilayah kerja

(task region). Banyaknya wilayah kerja biasanya di antara tiga sampai enam

wilayah yaitu sebagai gambar berikut:

Gambar 1.5 Ilustasi model spiral (A.S. & Shalahuddin, 2019)

26 KB 1, Konsep OOAD Dalam Perancangan Aplikasi/Sistem Infomasi


Modul 2, Rekayasa Perangkat Lunak

Tahapan-tahapan yang dilakukan dalam model spiral berdasarkan gambar

adalah sebagai berikut:

a) Komunikasi dengan pelanggan (costumer communication), aktifitas ini

diperlukan untuk membangun komunikasi yang efektif antara pengembang

(developer) dan pelanggan (customer).

b) Perencanaan (planning), aktifitas ini diperlukan untuk mendefinisikan sumber

daya, waktu, dan informasi yang terkait dengan proyek.

c) Analisis resiko (risk analysis), aktifitas ini diperlukan untuk memperkirakan

resiko dari segi teknis maupun manajemen.

d) Rekayasa (engineering), aktifitas ini diperlukan untuk membangun satu atau

lebih representasi dari aplikasi perangkat lunak (dapat juga berupa prototipe).

e) Konstruksi dan peluncuran (construction and release), aktifitas ini dibutuhkan

untuk mengonstruksi, menguji, melakukan instalasi, dan menyediakan

dukungan terhadap user (misalnya dari segi dokumentasi dan pelatihan).

f) Evaluasi pelanggan (customer evaluation), aktifitas ini dibutuhkan untuk

mendapatkan umpan balik berdasarkan evaluasi representasi perangkat lunak

yang dihasilkan dari proses rekayasa dan diimplementasikan pada tahap

instalasi.

Model spiral dilakukan searah dengan jarum jam dimulai dari sumbu proyek.

Sumbu proyek dapat digunakan sebagai awal iterasi ataupun evaluasi dari iterasi yang

sudah dilakukan. Pada gambar di atas setiap wilayah kerja dibedakan dengan warna

wilayah, di mana setiap wilayah berputar dengan urutan kerja tertentu.

KB 1, Konsep OOAD Dalam Perancangan Aplikasi/Sistem 27


Infomasi
Modul 2, Rekayasa Perangkat Lunak

Pada model spiral, hasil akhir dan evaluasi dari sebuah wilayah kerja akan

menjadi inisiasi dari wilayah kerja berikutnya. Model spiral cocok digunakan untuk

mengembangkan sistem perangkat lunak yang bersekala besar karena memiliki

proses analisis risiko yang dapat sangat meminimalisir risiko yang mungkin terjadi.

Model spiral memungkinkan pengembang untuk menggunakan prototipe pada

setiap tahap untuk mengurangi risiko.

d. Alur Kerja Sistem Berorientasi Objek


Siklus pemodelan atau langkah-langkah pemodelan dalam mengembangkan
suatu sistem adalah:
1) Rekayasa pemodelan sistem
Yaitu menyangkut pengumpulan kebutuhan (requirement gathering) pada level
sistem dengan sejumlah analisis serta top desain.
2) Analisis
Yaitu kebutuhan perangkat lunak, proses requirement gathering difokuskan,
khususnya pada Perangkat lunak. Untuk memahami sifat program yang
dibangun, analis harus memahami domain informasi, tingkah laku, unjuk kerja,
dan interface yang diperlukan. Kebutuhan sistem maupun Perangkat Lunak
didokumentasikan dan direview bersama user.
3) Desain
Memiliki fokus terhadap 4 hal, yaitu:
i) Desain database
ii) Arsitektur perangkat lunak
iii) Arsitektur interface
iv) Algoritma prosedural.

e. Pemodelan
Dalam banyak aplikasi engineering, model didefinisikan sebagai
representasi dari sistem yang disederhanakan. Representasi ini pun juga bermacam-

28 KB 1, Konsep OOAD Dalam Perancangan Aplikasi/Sistem Infomasi


Modul 2, Rekayasa Perangkat Lunak

macam mulai dari yang bersifat physical, pictorial, verbal, schematic dan symbolic
dimana:
1) Physical yaitu dengan membuat scaleddown version dari sistem yang dipelajari
(model pesawat, model kereta api).
2) Pictorial, yaitu representasi dengan gambar untuk menggambarkan kontur
permukaan bumi seperti peta topografi dan bola dunia.
3) Verbal, yaitu representasi suatu sistem ke dalam kalimat verbal yang
mengambarkan ukuran, bentuk dan karakteristik.
4) Schematic, yaitu representasi dalam bentuk skema figuratif misalnya model
rangkaian listrik, model Atom Bohr dan lain-lain.
5) Symbolic, yaitu representasi ke dalam simbol-simbol matematik dimana
variable hasil karakterisasi proses atau sistem ke dalam variable formulasi
menggunakan simbol-simbol matematik.
Jadi Pemodelan merupakan suatu proses dalam representasi abstrak suatu
model. Proses pemodelan menampilkan deskripsi suatu proses dari beberapa
perspektif tertentu. Proses pemodelan perangkat lunak merupakan aktifitas yang
saling terkait (koheren) untuk menspesifikasikan, merancang, implementasi dan
pengujian sistem perangkat lunak. (www.ilmukomputer.com, Pemodelan Data,
2005).
Proses pemodelan analisis memiliki atribut dan karakteristik seperti:
1) Understandability, yaitu sejauh mana proses secara eksplisit ditentukan dan
bagaimana kemudahan definisi proses itu dimengerti.
2) Visibility, apakah aktivitas-aktivitas proses mencapai titik akhir dalam hasil
yang jelas sehingga kemajuan dari proses Tersebut dapat terlihat nyata/jelas.
3) Supportability, yaitu sejauh mana aktivitas proses dapat didukung oleh CASE
4) Acceptability, apakah proses yang telah ditentukan oleh insinyur dapat diterima
dan digunakan dan mampu bertanggung jawab selama pembuatan produk
perangkat lunak
5) Reliability, apakah proses didesain sedikian rupa sehingga kesalahan proses
dapat dihindari sebelum terjadi kesalahan pada produk. Robustness, dapatkah
proses terus berjalan walaupun terjadi masalah yang tak diduga.

KB 1, Konsep OOAD Dalam Perancangan Aplikasi/Sistem 29


Infomasi
Modul 2, Rekayasa Perangkat Lunak

6) Maintainability, Dapatkah proses berkembang untuk mengikuti kebutuhan atau


perbaikan.
7) Rapidity, bagaimana kecepatan proses pengiriman sistem dapat secara lengkap
memenuhi spesifikasi.
Teknik pemodelan objek menggunakan tiga macam model untuk
menggambarkan sistem, diantaranya adalah sebagai berikut :
1) Model objek
a) Model objek menggambarkan struktur statis dari suatu objek dalam sistem
dan relasinya.
b) Model objek berisi diagram objek. Diagram objek adalah graph dimana
nodenya adalah kelas yang mempunyai relasi antar kelas.
2) Model dinamik
a) Model dinamik menggambarkan aspek dari sistem yang berubah setiap
saat.
b) Model dinamik dipergunakan untuk menyatakan aspek kontrol dari sistem.
c) Model dinamik berisi state diagram. State diagram adalah graph dimana
nodenya adalah state dan arc adalah transisi antara state yang disebabkan
oleh event.
3) Model fungsional
a) Model fungsional menggambrakan transformasi nilai data dalam sistem.
b) Model fungsional berisi data flow diagram. DFD adalah suatu graph
dimana nodenya menyatakan proses dan arcnya adalah aliran data.

f. Unified Modeling Language (UML)


Unified Modeling Language (UML) adalah bahasa pemodelan untuk sistem
atau perangkat lunak yang berparadigma berorientasi objek” (Nogroho, 2010).
Unified Modeling Language (UML) disebut bahasa pemodelan bukan metode.
Bahasa pemodelan (sebagaian besar grafik) merupakan notasi dari metode yang
digunakan untuk mendesain secara cepat. Bahasa pemodelan merupakan bagian
terpenting dari metode. Ini merupakan bagian kunci untuk komunikasi. Pemodelan

30 KB 1, Konsep OOAD Dalam Perancangan Aplikasi/Sistem Infomasi


Modul 2, Rekayasa Perangkat Lunak

ini merupakan bahasa standar untuk digunakan dalam visualisasi, spesifikasi,


pembentukan dan pendokumentasian alat – alat dari sistem perangkat lunak.

4) UML sebagai bahasa pemodelan


Unified Modeling Language (UML) merupakan bahasa pemodelan yang
memiliki pembendaharan kata dan cara untuk mempresentasikan secara fokus pada
konseptual dan fisik dari suatu sistem. Contoh untuk sistem software yang intensif
membutuhkan bahasa yang menunjukkan pandangan yang berbeda dari arsitektur
sistem, ini sama seperti menyusun atau mengembangkan sistem development life
cycle. Dengan Unified Modeling Language (UML) akan memberitahukan kita
bagaimana untuk membuat dan membaca bentuk model yang baik, tetapi Unified
Modeling Language (UML) tidak dapat memberitahukan model apa yang akan
dibangun dan kapan akan membangun model tersebut.
5) UML sebagai bahasa untuk mengambarkan sistem
UML tidak hanya merupakan rangkain simbol grafikal, cukup dengan setiap
simbol pada notasi UML merupakan penerapan semantik yang baik. UML
menggambarkan model yang dapat dimengerti dan dipresentasikan ke dalam model
tekstual bahasa pemrograman. Contohnya kita dapat menduga suatu model dari
sistem yang berbasis web tetapi tidak secara langsung dipegang dengan
mempelajari kode dari sistem.
6) UML sebagai bahasa untuk menspesifikasikan sistem
UML membangun model yang sesuai dan lengkap. Pada faktanya UML
menunjukan semua spesifikasi keputusan analisis, desain dan implementasi yang
penting yang harus dibuat pada saat pengembangan dan penyebaran dari sistem
software intensif.
7) UML sebagai bahasa untuk pendokumentasian sistem
UML menunjukan dokumentasi dari arsitektur sistem dan detail dari
semuanya. Tujuan Unified Modeling Language (UML) diantaranya adalah.
a) Memberikan model yang siap pakai, bahasa pemodelan visual yang
ekspresif untuk mengembangkan sistem dan yang dapat saling menukar
model dengan mudah dan dimengerti secara umum.

KB 1, Konsep OOAD Dalam Perancangan Aplikasi/Sistem 31


Infomasi
Modul 2, Rekayasa Perangkat Lunak

b) Memberikan bahasa pemodelan yang bebas dari berbagai bahasa


pemrograman dan proses rekayasa.
c) Menyatukan praktek-praktek terbaik yang terdapat dalam pemodelan.

UML (Unified Modeling Language) versi 2 mendefinisikan sehimpunan notasi


yang terdiri dari 14 technique pembuatan diagram yang digunakan untuk memodelkan
sistem. Diagram dikelompokkan menjadi 2 yaitu :

1) Structure Modelling Diagram yang digunakan untuk memodelkan struktur


sistem, yang terdiri atas: class diagaram, object diagram, package diagram,
deployment diagram, component diagram dan composite struktur diagram.
2) Behaviour Modelling Diagram yang digunakan memodelkan tingkah laku
sistem, yang terdiri atas: activity diagram, sequence diagram, communication
diagram, interaction overview diagram, timing diagram, behavioral state
machine, protocol state machine dan use case diagram

Saat ini banyak sekali tool desain UML, baik itu tool komersial maupun
open source. Beberapa diantaranya adalah:

a) StarUML (http://staruml.io/)
b) Rational Rose (www.rational.com)
c) Together (www.togethersoft.com)
d) Object Domain (www.objectdomain.com)
e) Jvision (www.object-insight.com)
f) Objecteering (www.objecteering.com)
g) MagicDraw (www.nomagic.com/magicdrawuml)
h) Visual Object Modeller (www.visualobject.com)

b. Desain UML dengan aplikasi StarUML


Pemodelan merupakan suatu hal yang tidak bisa dilepaskan dari
pembangunan aplikasi. Sebagai cikal-bakal dari suatu aplikasi, proses memodelkan
tentu bukan hal yang mudah. Namun seiring berkembangnya teknologi, pemodelan

32 KB 1, Konsep OOAD Dalam Perancangan Aplikasi/Sistem Infomasi


Modul 2, Rekayasa Perangkat Lunak

yang notabene memakan banyak waktu bisa diselesaikan lebih cepat dan
terorganisasi. Hal tersebut bisa terjadi dengan bantuan aplikasi pemodelan.
StarUML adalah software permodelan yang mendukung UML (Unified
Modeling Language). Berdasarkan pada UML version 1.4 dan dilengkapi 11
macam diagram yang berbeda, mendukung notasi UML 2.0 dan juga mendukung
pendekatan MDA (Model Driven Architecture) dengan dukungan konsep UML.
StarUML dapat memaksimalkan produktivitas dan kualitas dari suatu software
project.

Silakan Download StarUML dari website resminya , link resmi dapat diakses di
https://staruml.io/download.
Instalasilah StarUML di komputer Anda, sebelum melanjutkan ke materi
berikut.

Jika dikomputer Anda telah terpasang StarUML, maka silakan melanjutkan ke


bahasan berikut.

2) Use Case Diagram


Use Case diagram merupakan suatu diagram yang menggambarkan
fungsionalitas yang diharapkan dari sebuah sistem. Sebuah use case dapat
memrepresentasikan interaksi antara aktor dengan sistem. Use Case Diagram
adalah abstraksi dari interaksi antara sistem dan aktor. Use case bekerja dengan cara
mendeskripsikan tipe interaksi antara user sebuah sistem dengan systemnya sendiri
melalui sebuah cerita bagaimana sebuah sistem dipakai. Use case merupakan
kontruksi untk mendeskripsikan bagaimana system akan terlihat di mata user,
sedangkn use case diagram memfalisitasi komunikasi di antara analis dan pengguna
serta analis dan klien.
Penjelasan bagian bagian use case diagram, ada 6 tool yang terpenting pada
use case diagram :
a. System
Menyatakan batasan sistem dalam relasi dengan aktor-aktor yang
menggunakannya (di luar sistem) dan fitur-fitur yang harus disediakan (dalam
sistem). Digambarkan dengan segi empat yang membatasi semua use case dalam

KB 1, Konsep OOAD Dalam Perancangan Aplikasi/Sistem 33


Infomasi
Modul 2, Rekayasa Perangkat Lunak

sistem terhadap pihak mana sistem akan berinteraksi. Sistem disertai label yang
menyebutkan nama dari sistem, tapi umumnya tidak digambarkan karena tidak
terlalu memberi arti tambahan pada diagram.
b. Actor
Actor adalah segala hal diluar sistem yang akan menggunakan sistem
tersebut untuk melakukan sesuatu. Bisa merupakan manusia, sistem, atau device
yang memiliki peranan dalam keberhasilan operasi dari sistem. Cara mudah untuk
menemukan aktor adalah dengan bertanya hal-hal berikut: siapa yang akan
menggunakan sistem? Aakah sistem tersebut akan memberikan nilai bagi aktor?
c. Use case
Mengidentifikasi fitur kunci dari sistem. Tanpa fitur ini, sistem tidak akan
memenuhi permintaan user/actor. Setiap use case mengekspresikan goal dari
sistem yang harus dicapai. Diberi nama sesuai dengan goal-nya dan digambarkan
dengan elips dengan nama di dalamnya. Fokus tetap pada goal bukan bagaimana
mengimplementasikannya walaupun use case berimplikasi pada prosesnya nanti.
Setiap use case biasanya memiliki trigger/pemicu yang menyebabkan use case
memulai (misalnya, pasien mendaftar dan membuat janji baru atau meminta untuk
membatalkan atau mengubah janji yang sudah ada). Terdapat 2 triger, pertama
triger eksternal, seperti pelanggan memesan atau alarm kebakaran berbunyi, kedua
triger temporal, seperti tanggal pengembalian buku terlewati di perpustakaan atau
keterlambatan bayar sewa.
d. Assosiation
Mengidentifikasikan interaksi antara setiap aktor tertentu dengan setiap use
case tertentu. Digambarkan sebagai garis antara aktor terhadap use case yang
bersangkutan. Asosiasi bisa berarah (garis dengan anak panah) jika komunikasi satu
arah, namun umumnya terjadi kedua arah (tanpa anak panah) karena selalu
diperlukan demikian.
e. Dependency
Dependensi <<include>>
i) Mengidentifikasi hubungan antar dua use case di mana yang satu memanggil
yang lain.

34 KB 1, Konsep OOAD Dalam Perancangan Aplikasi/Sistem Infomasi


Modul 2, Rekayasa Perangkat Lunak

ii) Jika pada beberapa use case terdapat bagian yang memiliki aktivitas yang
sama maka bagian aktivitas tersebut biasanya dijadikan use case tersendiri
dengan relasi dependensi setiap use case semula ke use case yang baru ini
sehingga memudahkan pemeliharaan.
iii) Digambarkan dengan garis putus-putus bermata panah dengan notasi
<<include>> pada garis.
iv) Arah mata panah sesuai dengan arah pemanggilan.
Dependensi <<extend>>
i) Jika pemanggilan memerlukan adanya kondisi tertentu maka berlaku
dependensi <<extend>>.
ii) Note: konsep “extend” ini berbeda dengan “extend” dalam Java!
iii) Digambarkan serupa dengan dependensi <<include>> kecuali arah panah
berlawanan
e) Generalization
Mendefinisikan relasi antara dua actor atau dua use case yang mana salah
satunya meng-inherit dan menambahkan atau override sifat dari yang lainnya.
Penggambaran menggunakan garis bermata panah kosong dari yang meng-inherit
mengarah ke yang di-inherit.

Use case diagram


Berikut ialah contoh sederhana cara membuat use case diagram dengan
StarUML:
1) Buka aplikasi starUML
2) Pada tampilan awal, pilih model yang terletak pada toolbar, lalu Add
Diagram dan pilih Use Case Diagram

KB 1, Konsep OOAD Dalam Perancangan Aplikasi/Sistem 35


Infomasi
Modul 2, Rekayasa Perangkat Lunak

Gambar 1. 1. Memulai Use Case Diagram


3) Maka tampilan toolbox pada sebelah kiri akan berubah menjadi gambar di
bawah ini.

Gambar 1. 2. Toolbox use case diagram


4) Klik pada gambar aktor dan taruh kursor pada samping toolbox. Maka akan
muncul gambar orang yang disebut dengan actor dan beri nama actor.

36 KB 1, Konsep OOAD Dalam Perancangan Aplikasi/Sistem Infomasi


Modul 2, Rekayasa Perangkat Lunak

Gambar 1. 3. Pemberian nama actor


5) Selanjutnya pilih usecase pada menu toolbox, tekan tiga kali pada lembar
kerja untuk membuat tiga use case dan beri nama pada setiap use case.

Gambar 1. 4. Objek Use Case


6) Untuk membuat garis hubung antara actor dan use case pilih directed
association tekan kursor pada gambar actor lalu arahkan pada usecase dan
lepas, maka garis akan terhubung.
7) Pastikan pada model explorer akan tersimpan nama dan use case diagram
yang telah dibuat.
8) Jika telah selesai simpan file dengan cara pilih file → save as.

Activity Diagram
Activity diagram menggambarkan berbagai alur aktivitas dalam sistem yang
sedang dirancang, bagaimana masing-masing alur berawal, decision yang mungkin
terjadi, dan bagaimana mereka berakhir. Activity diagram juga dapat
menggambarkan proses paralel yang mungkin terjadi pada beberapa eksekusi.
Activity diagram merupakan state diagram khusus, di mana sebagian besar state
adalah action dan sebagian besar transisi di-trigger oleh selesainya state
sebelumnya (internal processing). Oleh karena itu activity diagram tidak
menggambarkan behaviour internal sebuah sistem (dan interaksi antar subsistem)
secara eksak, tetapi lebih menggambarkan proses-proses dan jalur-jalur aktivitas
dari level atas secara umum.

KB 1, Konsep OOAD Dalam Perancangan Aplikasi/Sistem 37


Infomasi
Modul 2, Rekayasa Perangkat Lunak

Berikut ini adalah simbol-simbol dari activity diagram.


Tabel 1. 1. Simbol Activity Diagram

Berikut contoh activity diagram dengan actor mahasiswa dan petugas


perpustakaan.

Gambar 1. 5. Contoh activity diagram Sistem Informasi Perpustakaan

38 KB 1, Konsep OOAD Dalam Perancangan Aplikasi/Sistem Infomasi


Modul 2, Rekayasa Perangkat Lunak

Activity diagram memodelkan workflow proses bisnis dan urutan aktivitas


dalam sebuah proses. Diagram ini sangat mirip dengan flowchart karena
memodelkan workflow dari satu aktivitas ke aktivitas lainnya atau dari aktivitas ke
status. Menguntungkan untuk membuat activity diagram pada awal pemodelan
proses untuk membantu memahami keseluruhan proses. Activity diagram juga
bermanfaat untuk menggambarkan parallel behaviour atau menggambarkan
interaksi antara beberapa use case.
Untuk membuat membuat activity diagram menggunakan starUML,
berikut akan diuraikan secara tahap-demi tahap :
1) Pilih model -> add diagram -> activitiy diagram.
2) Selanjutnya akan muncul toolbox yang berisikan gambar atau simbol yang
menjelaskan alur activity diagram.
3) Untuk membuat activity diagram diawali dengan memasukkan simbol
initial state yang menunjukkan awal dari sebuah alur activity.
4) Setelah memasukkan simbol initial state pilih simbol action state, beri nama
dengan cara klik dua kali pada simbol action.
5) Selanjutnya untuk menghubungkan antara simbol, menggunakan garis
transition yang terletak pada toolbox.
6) Setelah membuat garis pada activity diagram terdapat simbol decision yang
menjelaskan terjadi dua hasil dari sebuah alur.
7) Terakhir setelah alur selesai dalam activity wajib menggunakan simbol
finalstate yang menjelaskan alur diagram telah selesai.
8) Untuk cara penyimpanan pilih File → save as dan tentukan tempat
penyimpanan file.

Sequence Diagram
Sequence diagram menggambarkan interaksi antar objek di dalam dan di
sekitar sistem (termasuk pengguna, display, dan sebagainya) berupa message yang
digambarkan terhadap waktu. Sequence diagram terdiri atar dimensi vertikal
(waktu) dan dimensi horizontal (objek-objek yang terkait). Sequence diagram dapat
digunakan untuk menggambarkan skenario atau rangkaian langkah-langkah yang

KB 1, Konsep OOAD Dalam Perancangan Aplikasi/Sistem 39


Infomasi
Modul 2, Rekayasa Perangkat Lunak

dilakukan sebagai respons dari sebuah event untuk menghasilkan output tertentu.
Diawali dari apa yang mentrigger aktivitas tersebut, proses dan perubahan apa saja
yang terjadi secara internal dan output apa yang dihasilkan. Masing-masing objek,
termasuk aktor, memiliki lifeline vertikal. Message digambarkan sebagai garis
berpanah dari satu objek ke objek lainnya. Pada fase desain berikutnya, message
akan dipetakan menjadi operasi/metoda dari class.
Sequence diagram merupakan suatu penyajian perilaku yang tersusun
sebagai rangkaian langkah-langkah percontohan dari waktu ke waktu. Sequence
diagram digunakan untuk menggambarkan arus pekerjaan, pesan yang sampaikan
dan bagaimana elemen-elemen di dalamnya bekerja sama dari waktu ke waktu
untuk mencapai suatu hasil.
Tabel 1. 2. Simbol sequence diagram

Berikut contoh sederhana membuat sequence diagram dengan starUML:


1) Pertama pilih model -> add diagram -> Sequence Diagram.

40 KB 1, Konsep OOAD Dalam Perancangan Aplikasi/Sistem Infomasi


Modul 2, Rekayasa Perangkat Lunak

Gambar 1. 6. Menu squence diagram


2) Selanjutnya pada toolbox sequence diagram terdapat simbol untuk membuat
alur diagram.

Gambar 1. 7. Toolbox squence diagram


3) Berikut adalah contoh dari sequence diagram

KB 1, Konsep OOAD Dalam Perancangan Aplikasi/Sistem 41


Infomasi
Modul 2, Rekayasa Perangkat Lunak

Gambar 1. 8. Contoh squence diagram


4) Cara membuat alur di atas adalah sebagai berikut:
a) Pembeli dalam alur diagram di atas menggunakan simbol object yang
terletak pada toolbox.
b) Sedangkan untuk membuat garis yang menghubungkan antara object
menggunakan stimulasi yang terletak pada toolbox.
c) Untuk memberikan nama pada garis klik dua kali pada garis maka akan
muncul tempat untuk mengetik.
d) Dalam objek kasir terdapat garis melengkung kebawah yang menunjukkan
suatu proses yang disebut setstimulasion.
5) Untuk menyimpan pilih file → save as dan pilih lokasi penyimpanan

Statechart diagram
Statechart diagram menunjukkan siklus hidup dari objek tunggal, dari saat
dibuat sampai objek tersebut dihapus. Diagram ini adalah cara tepat untuk
memodelkan perilaku dinamis sebuah kelas. Statechart diagram tidak dibuat untuk
setiap kelas, bahkan kadang-kadang untuk suatu proyek system informasi tidak
menggunakan sama sekali. Berikut ini adalah simbol-simbol dari statechart
diagram.

42 KB 1, Konsep OOAD Dalam Perancangan Aplikasi/Sistem Infomasi


Modul 2, Rekayasa Perangkat Lunak

Tabel 1. 3. Simbol-simbol statechart diagram

Untuk menjalankan statechart diagram, dilakukan melalui menu model →


statechart diagram, seperti yang ditujukan pada gambar di bawah ini.

Gambar 1. 9. Menjalankan statechart diagram


Berikut ini contoh dari statechart diagram penyewaan kendaraan

KB 1, Konsep OOAD Dalam Perancangan Aplikasi/Sistem 43


Infomasi
Modul 2, Rekayasa Perangkat Lunak

Gambar 1. 10. Contoh statechart diagram

1) Seorang peminjam yang akan meminjam akan mengisi form peminjaman.


2) Sistem akan megecek keadaan barang. Barang tersebut tersedia apa tidak, atau
barang tersebut dapat di pinjam atau tidak.
3) Setelah barang tersedia, sistem akan memvalidasi persetujuan peminjaman
barang dan menyerahkan barang kepada peminjam.
4) Sistem juga akan mencari informasi tentang barang yang akan dipinjam, maka
akan dilakukan permintaan akan informasi barang.
5) Jika informasi yang diterima masih kurang, akan dilakukan permintaan ulang
sampai seluruh informasi yang dibutuhkan didapatkan.
6) Saat informasi sudah cukup, informasi tersebut akan diserahkan kepada
peminjam barang tersebut.

Deployment diagram
Deployment diagram merupakan gambaran proses-proses berbeda pada
suatu sistem yang berjalan dan bagaimana relasi di dalamnya. Hal inilah yang
mempermudah user dalam pemakaian sistem yang telah dibuat dan diagram
tersebut merupakan diagram yang statis. Misalnya untuk mendeskripsikan sebuah
situs web, deployment diagram menunjukkan komponen perangkat keras ("node")
apa yang digunakan (misalnya, web server, server aplikasi, dan database server),
komponen perangkat lunak ("artefak") apa yang berjalan pada setiap node

44 KB 1, Konsep OOAD Dalam Perancangan Aplikasi/Sistem Infomasi


Modul 2, Rekayasa Perangkat Lunak

(misalnya, aplikasi web, database), dan bagaimana bagian-bagian yang berbeda


terhubung (misalnya JDBC, REST, RMI).
Node digambarkan sebagai kotak, dan artefak yang dialokasikan ke setiap
node digambarkan sebagai persegi panjang di dalam kotak. Node mungkin
memiliki subnodes, yang digambarkan sebagai kotak nested. Sebuah node tunggal
secara konseptual dapat mewakili banyak node fisik, seperti sekelompok database
server. Simbol dari deployment diagram dapat dilihat pada gambar di bawah ini:
Tabel 1. 4. Simbol deployment diagram

Untuk menjalankan deployment diagram, dilakukan melalui menu model →


deployment diagram pada starUML, seperti yang ditunjukkan pada Gambar di
bawah ini.

KB 1, Konsep OOAD Dalam Perancangan Aplikasi/Sistem 45


Infomasi
Modul 2, Rekayasa Perangkat Lunak

Gambar 1. 11. Memulai Deployment Diagram


Contoh deployment diagram

Gambar 1. 12. Contoh deployment diagram

Collaboration Diagram
Kolaborasi diagram atau collaboration diagram adalah suatu diagram yang
memperlihatkan/menampilkan pengorganisasian interaksi yang terdapat disekitar
objek (seperti halnya sequence diagram) dan hubungannya terhadap yang lainnya.
Berikut ini simbol-simbol yang ada pada kolaborasi diagram.

46 KB 1, Konsep OOAD Dalam Perancangan Aplikasi/Sistem Infomasi


Modul 2, Rekayasa Perangkat Lunak

Tabel 1. 5. Simbol-simbol collaboration diagram

Contoh dari collaboration diagram

Gambar 1. 13. Contoh collaboration diagram

KB 1, Konsep OOAD Dalam Perancangan Aplikasi/Sistem 47


Infomasi
Modul 2, Rekayasa Perangkat Lunak

Componen Diagram
Komponen adalah bagian fisik atau replaceable dari sistem yang
bersesuaian dan menyediakan realisasi dari sekumpulan interface. Component
diagram menunjukkan organisasi dan ketergantungan antar komponen Component
diagram tidak hanya penting untuk visualisasi, spesifikasi, dan dokumentasi, tapi
juga mengembangkan executable system.
Berikut ini adalah simbol-simbol yang terdapat dalam component diagram
Tabel 1. 6. Simbol component diagram

48 KB 1, Konsep OOAD Dalam Perancangan Aplikasi/Sistem Infomasi


Modul 2, Rekayasa Perangkat Lunak

Untuk menjalankan dari starUML, dapat diakses melalui menu Model → componen
diagram, seperti yang ditunjukkan dalam gambar di bawah ini.

Gambar 1. 14. Memulai component diagram

KB 1, Konsep OOAD Dalam Perancangan Aplikasi/Sistem 49


Infomasi
Modul 2, Rekayasa Perangkat Lunak

Contoh dari componen diagram

Gambar 1. 15. Contoh component diagram

c. Dokumentasi Pengembangan Sistem Berorientasi Objek


Dokumentasi berisi penjelasan rinci tentang inti teknis dari rekayasa
perangkat lunak yang meliputi struktur data, arsitektur program, interface dan detail
prosedural
Bagian I Berisi ruang lingkup dari kerja desain.
Bagian II Berisi desain data, struktur file. Struktur dokumen adalah:ksternal dan
referensi silang yang menghubungkan objek data dengan file tertentu.
Bagian III Berisi desain arsitektur.
Bagian IV dan V, berisi desain interface dan procedural
Bagian VI, berisi referensi silang yang bertujuan utnuk menetapkan bahwa semua
persyaratan dipenuhi oleh desain perangkat lunak dan menunjukkan modul mana
yang krites terhadap implementasi persyaratan spesifik.
Bagian VII berisi tahap pertama dari pembuatan dokumentasi pengujian.
Bagian VIII dan IX berisi data tambahan meliputi deskripsi algoritma, prosedur
alternatif, data dalam bentuk tabel, kutipan dari dokumen lain, dan informasi
relevan lainnya.

4. Forum Diskusi
Dalam rekayasa perangkat lunak dikenal dua metode pengembangan, yaitu
metode prosedural dan metode berorientasi objek. Perbedaan mendasar antara OOP

50 KB 1, Konsep OOAD Dalam Perancangan Aplikasi/Sistem Infomasi


Modul 2, Rekayasa Perangkat Lunak

dan pemrograman terstruktur adalah dengan menggunakan OOP maka dalam


melakukan pemecahan suatu masalah kita tidak melihat bagaimana cara
menyelesaikan suatu masalah tersebut (terstruktur) tetapi objek-objek apa yang
dapat melakukan pemecahan masalah tersebut, sedangkan untuk pemrograman
terstruktur, menggunakan prosedur/tata cara yang teratur untuk mengoperasikan
data struktur.
Diskusikan pernyataan di atas, pernyataan disertai dengan contoh dan
ilustrasi.

C. Penutup
1. Rangkuman
Untuk mengetahui kebutuhan sistem berorientasi objek, maka dibutuhkan
analisis dengan menggunakan salah satu metode berikut: metode Boch, Metode
Rumbaugh (Object Modelling Technique - OMT), Metode Jacobson (Object
Oriented Software Engineering - OOSE), Metode Coad dan Yourdon, Metode
Wirfs-Brock, atau Metode Shlair-Mellor Object Oriented Analysis/Design
(OOA/D).
Tahap atau skema pelaksanaan analisis berorientasi objek , yaitu mentukan
kebutuhan pemakai untuk sistem berorientasi objek, mengidentifikasi kelas dan
objek, mengidentifikasi atribut dan layanan untuk setiap objek, mendefinisikan
efinisikan struktur dan hirarki, mebuat uat model hubungan objek dan membuat
model perilaku objek.
Unified Modeling Language (UML) adalah bahasa pemodelan untuk sistem
atau perangkat lunak yang berparadigma berorientasi objek. Unified Modeling
Language (UML) disebut bahasa pemodelan bukan metode. Bahasa pemodelan
(sebagaian besar grafik) merupakan notasi dari metode yang digunakan untuk
mendesain secara cepat. Bahasa pemodelan merupakan bagian terpenting dari
metode. Ini merupakan bagian kunci untuk komunikasi. Pemodelan ini merupakan
bahasa standar untuk digunakan dalam visualisasi, spesifikasi, pembentukan dan
pendokumentasian alat – alat dari sistem perangkat lunak. Dengan demkian UM
sebagai bahasa pemodelan, sebagai bahasa untuk menggambarkan sistem, sebagai

KB 1, Konsep OOAD Dalam Perancangan Aplikasi/Sistem 51


Infomasi
Modul 2, Rekayasa Perangkat Lunak

bahasa untuk menspesifikasi sistem, dan sebagai bahasa untuk pendokumentasian


sistem.

2. Tes Formatif
Jawablah Soal-Soal berikut ini dengan memilih jawaban yang paling tepat!
1. Metode ini didasarkan pada pemodelan Object Oriented dan entity- relationship.
Metode ini mempunyai perancangan yang berfokus pada empat komponen yaitu
Problem domain componet, Human interaction componet, Data management
component dan Task management component
A. Metode Boch
B. Metode Rumbaugh
C. Metode Jacobson
D. Metode Coad dan Yourdon
E. Metode Wirfs-Brock
2. Responsibility Driven Design/-Class Responsibility Collaboration
(RDD/CFC). Metode ini diarahkan pada desain, tetapi sangat berguna untuk
memunculkan ide dalam tahap analisis. Keunggulannya adalah mudah
digunakan, metode ini juga mengidentifikasikan hirarki kelas dan subsistem-
subsistem.
A. Metode Boch
B. Metode Rumbaugh
C. Metode Jacobson
D. Metode Coad dan Yourdon
E. Metode Wirfs-Brock
3. Dalam alur kerja Sistem berorientasi objek, setidaknya terdiri atas tiga langkah-
langkah yaitu:
A. Rekayasa Pemodelan, Analisis, dan desain
B. Analisis, Desain dan pengembangan
C. Desain, pengembangan dan evaluasi
D. Pengembangan, Implementasi dan evaluasi
E. Desain, implementasi, evaluasi

52 KB 1, Konsep OOAD Dalam Perancangan Aplikasi/Sistem Infomasi


Modul 2, Rekayasa Perangkat Lunak

4. Perhatikan gambar di bawah ini.

Gambar di atas adalah gambar:


A. Deployment diagram
B. Collaboration Diagram
C. Componen Diagram
D. Use Case Diagram
E. Statement Diagram
5. Untuk dapat memahami UML diperlukan pemahaman tentang konsep bahasa
pemodelan dan tiga elemen utama UML yaitu...
A. Objek, design, dan diagram
B. Objek, diagram, dan relationship
C. Analisa, diagram, dan relationship
D. Design, diagram, dan relationship
E. Analisa, design, dan implementasi
6. Dalam analisis berorientasi objek, digambarkan model objek, model dinamik
dan model prosedural. Ketiga model ini digunakan dalam ....
A. Object Modeling Technique
B. Object Oriented Software Engineering
C. Unified Modeling Language
D. Object Oriented Analysis
E. Object Oriented Design
7. Gambar di bawah ini merupakan diagram.....

KB 1, Konsep OOAD Dalam Perancangan Aplikasi/Sistem 53


Infomasi
Modul 2, Rekayasa Perangkat Lunak

A. Deployment diagram
B. Activity Diagram
C. Componen Diagram
D. Use Case Diagram
E. Statement Diagram
8. Untuk menggambarkan proses bisnis dan urutan aktivitas dalam sebuah proses
dapat menggunakan diagram...
A. Usecase diagram
B. Deployment diagram
C. Statechart diagram
D. Component diagram
E. Activity diagram
9. Dibawah ini adalah diagram-diagram yang termasuk dalam behavior diagram
adalah, kecuali
A. Activity diagram
B. Interaction diagram
C. State machine diagram
D. Class diagram
E. Use case diagram
10. Dam kasus Sistem Informasi Perpustakaan, terlibat Pustakawan sebagai
operator sistem. Prosedur dalam sistem informasi perpustakaan diantaranya:
▪ PendaftaranAnggota

54 KB 1, Konsep OOAD Dalam Perancangan Aplikasi/Sistem Infomasi


Modul 2, Rekayasa Perangkat Lunak

▪ PendataanKoleksiBuku
▪ PeminjamanBuku
▪ PengembalianBuku
▪ PembuatanLaporan
Class (iagram yang dirancang diantaranya class anggota, buku, peminjaman
dan pengembalian.
Jika pustakawan akan menambah data koleksi buku, maka dalam Sequence
diagram perlu menampilkan beberapa simbol seperti
A. Aktor Pustakawan dan mahasiswa
B. Aktor ma!asiswa, boundary Form Buku, Control Buku dan Entitas
Buku
C. Boundary Form Buku dan Control Buku
D. Aktor Pustakawan, Boundary Form Buku, Control Buku dan Enntitas
Buku
E. Aktor Pustakawan, Boundary Form Buku dan Control Buku

Daftar Pustaka
Alan Denis, Barbara Haley Wixon, David Tagerden, 2005. System Analys and
Design : an Object – Oriented Approach with UML 2.0, John Willey and
Sons.
Edward V. Berard, Origins Objects Oriented Technology,
http://www.toa.com/pub/oobasics/oobasics.htm
Henry C. Lucas Jr., 1992. The Analysis,. , McGraw Hill,.
Kahate, Atul, 2004. Object Oriented Analysis & Design. New Delhi: Tata
McGraw-Hill Publishing Company Limited.
Kasmin Arif. Mengenal Pemodelan Unified Modeling Language (UML).
http://kasminarif.blogspot.co.id/2014/11/mengenal-pemodelan-unified-
modeling.html, Diakses 21 Agustus 2019.
Keyes, Jessica, 2002. Software Engineering Handbook, New York: Auerbach
Publication.
Matha, Mahesh P, 2008. Object Oriented Analysis and Design Using UML. New
Delhi: Prentice Hall of IndiaProvate Limited.
Nugroho, Adi., 2010. Rekayasa Perangkat Lunak Berbasis Objek dengan Metode
USDP. Yogyakarta: Penerbit Andi.

KB 1, Konsep OOAD Dalam Perancangan Aplikasi/Sistem 55


Infomasi
Modul 2, Rekayasa Perangkat Lunak

Verdi Yasin. 2012. Rekayasa Perangkat Lunak Berorientasi Obj ek. Mitra Wacana
Media. Jakarta
Satzinger, Jackson, Burd, 2005. Object-Oriented Analysis and Design with the
Unified Process, Course Technology,
Simon Bennet, Steve McRobb and Ray Farmer, 2006. Object Oriented Systems
Analysis and Design Using UML, Edisi 3. ; McGraw Hill,. (SB) 2.
Wendy and Michael Boggs, 2002. UML with Rational Rose, Sibex Inc.

56 KB 1, Konsep OOAD Dalam Perancangan Aplikasi/Sistem Infomasi


Modul 2, Rekayasa Peangkat Lunak

KB 2, Konsep Manajemen Proyek Dalam Pengembangan Sistem 43


Informasi

Sistem Informasi
Modul 2, Rekayasa Peangkat Lunak

KEGIATAN BELAJAR 2
KONSEP MANAJEMEN PROYEK DALAM PENGEMBANGAN
SISTEM INFORMASI

A. Pendahuluan
1. Deskripsi Singkat
Projek sistem informasi merupakan suatu kegiatan mengkoordinasikan
segala sesuatu dengan menggunakan perpaduan sumber daya manusia, teknik,
administratif, keuangan untuk mencapai tujuan pengembangan sistem informasi
dalam periode waktu tertentu. Dalam projek sistem informasi, terdapat empat fokus
yang dikelola, yaitu personil, produk, proses dan projek. Oleh karena itu dibutuhkan
pengelolaan yang sistematis, efektif dan terpadu. Aktifitas pengelolaan projek
sistem informasi tersebut selanjutnya disebut manajemen projek.
Manajemen projek adalah kegiatan merencanakan, mengorganisasikan,
memimpin, dan mengendalikan sumber daya perusahaan untuk mencapai sasaran
telah ditentukan. Selanjutnya, manajemen projek perangkat lunak diartikan sebagai
aktifitas manajemen rekayasa perangkta lunak, dimulai sebelum aktifitas teknis
diinisialisasi dan berlanjut pada keseluruhan batasan, perkembangan, dan
pemeliharaan perangkat lunak komputer.
Kegiatan Belajar 2 ini membahas konsep dan implementasi manajemen
projek dalam pengembangan sistem informasi. Kegiatan belajar ini membahas
pokok bahasan berikut:
a. Konsep dasar manajemen projek
b. Fungsi dan batasan manajamen projek
c. Metode dan analisis manajemen projek
d. Proposal projek sistem informasi

2. Relevansi
Manajemen projek pengembangan sistem informasi dalam Rekayasa
Perangkat Lunak (RPL) perlu dipandang melalui tiga dimensi besar literasi sains
(scientific literacy) yaitu konten sains, proses sains, dan konteks aplikasi sains.

44 KB 2, Konsep Manajemen Proyek Dalam Pengembangan Sistem


Informasi

Sistem Informasi
Modul 2, Rekayasa Peangkat Lunak

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 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 2 ini dibagi menjadi empat bahan kajian atau pokok bahasan yang mengacu
pada dimensi literasi sains (sains liyteracy).
Secara umum, tujuan Kegiatan Belajar 2 ini adalah untuk memberikan
pengetahuan, keterampilan, dan sikap kepada guru atau peserta PPG tentang
manajemen projek dalam pengembangan sistem informasi. Secara khusus, tujuan
Kegiatan Belajar 2 ini adalah agar peserta mampu: (1) Melaksanakan konsep dasar
manajemen projek pengembangan sistem informasi, (2) Menganalisis fungsi dan
batasan manajemen projek sistem informasi si obyek; dan (3) Menerapkan metode
dan analisa manajemen projek dalam pengembangan sistem informasi. (4)
Membuat proposal projek sistem informasi dengan menggunakan perangkat lunak
yang ada.

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

KB 2, Konsep Manajemen Proyek Dalam Pengembangan Sistem 45


Informasi

Sistem Informasi
Modul 2, Rekayasa Peangkat Lunak

metode membelajaran yang telah disediakan pada setiap Kegiatan Belajar 2 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 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 ditetapkan. Jika
ada bagian yang belum anda pahami, cobalah terlebih dahulu mendiskusikan dengan
teman yang sedan mengerjakan bagian yang sama, sebelum Anda bertanya pada
instruktur. Jika perlu, berusahalah mencari tahu jawabannya pada sumber yang lain.
Kegiatan Belajar 2 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 pengolah kata.
c. Aplikasi pengolah angka.

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 pada kegiatan belajar ini adalah:
a. Konsep dasar manajemen projek pengembangan sistem informasi.
b. Fungsi dan batasan manajemen projek sistem informasi.

46 KB 2, Konsep Manajemen Proyek Dalam Pengembangan Sistem


Informasi

Sistem Informasi
Modul 2, Rekayasa Peangkat Lunak

c. Metode dan analisa manajemen projek dalam pengembangan sistem


informasi.
d. Proposal projek sistem informasi dengan menggunakan perangkat lunak yang
ada.

3. Uraian materi

a. Konsep Dasar Manajemen Projek

Menurut Soeharto (1999), manajemen adalah proses merencanakan,


mengorganisasikan, memimpin, dan mengendalikan kegiatan anggota, serta sumber
daya yang lain untuk mencapai sasaran organisasi (perusahaan) yang telah
ditentukan. Selanjutnya menurut Schwalbe (2006), projek adalah suatu usaha yang
bersifat sementara untuk menghasilkan suatu produk atau layanan yang unik. Pada
umumnya projek melibatkan beberapa orang yang saling berhubungan aktifitasnya
dan sponsor utama dari projek biasanya tertarik dalam penggunaan sumber daya
yang efektif untuk menyelesaikan projek secara efisien dan tepat waktu.
Sementara itu menurut Gray &Larson (2000), projek adalah kegiatan yang
kompleks, tidak rutin, dan usaha satu waktu yang dibatasi oleh waktu, anggaran,
sumber daya, dan spesifikasi kinerja yang dirancang untuk memenuhi kebutuhan
costumer. Schwalbe (2006) menyebutkan atribut dari suatu projek adalah sebagai
berikut :
1) Sebuah projek memiliki tujuan yang khusus. Projek harus menghasilkan suatu
produk khusus, layanan, dan hasil akhir.
2) Projek bersifat sementara. Projek memiliki awal dan akhir yang jelas.
3) Projek membutuhkan sumber daya bias dari beberapa area. Sumber daya dapat
berupa hardware, software, dan sumber daya lainnya.
4) Projek harus memiliki pelanggan utama (primary customer)/sponsor.
5) Projek melibatkan ketidakpastian-ketidakpastian, karena setiap projek bersifat
unik maka sangat sulit untuk menentukan objektifitas projek, mengestimasi
waktu projek, dan biayanya.
Menurut Gray &Larson (2000), tujuan utama dari projek adalah untuk
memuaskan kebutuhan customer. Di samping kemiripan, karateristik dari sebuah

KB 2, Konsep Manajemen Proyek Dalam Pengembangan Sistem 47


Informasi

Sistem Informasi
Modul 2, Rekayasa Peangkat Lunak

projek membantu membedakan projek tersebut dari yang lainnya dalam organisasi.
Karakteristik utama dari projek adalah:
1) Penetapan tujuan
2) Masa hidup yang terdefinisi mulai dari awal hingga akhir
3) Biasanya melibatkan beberapa departemen dan kalangan profesional
4) Biasanya melakukan sesuatu yang belum pernah dilakukan sebelumnya
5) Waktu, biaya, dan kebutuhan yang spesifik
Poyek perangkat lunak mempunyai karakteristik tertentu yang membuat
projek software berbeda dengan projek lainnya. Karakteristik tersebut adalah:
1) Invisibility. Dalam sebuah projek software, kemajuannya tidak dapat dilihat
secara langsung dan berbeda dengan projek fisik lainnya misalnya pembuatan
jembatan dan sebagainya.
2) Complexity. Produk software memiliki lebih banyak kompleksitas daripada
projek fisik termasuk dari sisi biayanya.
3) Conformity. Pengembang software harus menyesuaikan kebutuhan software
dan kebutuhan dari klien. Hal ini perlu mendapat perhatian karena pada
dasarnya individual memiliki ketidak-konsistenan. Konsistensi mulai dari awal
hingga akhir menjadi hal yang penting dalam keberhasilan projek.
4) Flexibility. Software yang dapat diubah dengan mudah biasanya dilihat sebagai
sebuah kelebihan. Hal ini berarti tampilan sistem software diharapkan dapat
diubah dengan mudah untuk mengakomodasi perubahan lingkungan bisnis
organisasi dan komponen lainnya.
Setiap projek memiliki batasan yang berbeda terhadap ruang lingkup,
waktu, dan biaya yang biasanya disebut sebagai triple constraint (3 kendala). Setiap
manajer projek harus memperhatikan hal-hal penting dalam manajemen projek
(Schwalbe, 2014):
1) Ruang lingkup (scope)
Apa yang ingin dicapai dalam projek? produk atau layanan apa yang pelanggan
harapkan dari projek tersebut?
2) Waktu (time)

48 KB 2, Konsep Manajemen Proyek Dalam Pengembangan Sistem


Informasi

Sistem Informasi
Modul 2, Rekayasa Peangkat Lunak

Berapa lama waktu yang dibutuhkan untuk menyelesaikan projek? Bagaimana


jadwal kegiatan projek akan dilaksanakan.
Menurut A Guide to Project Management Body of Knowledge (PMBOK
Guide)”, proses penanganan waktu dalam manajemen projek terdiri dari :
a) Plan schedule management (manajemen perencanaan jadwal)
b) Define activities (pendefinisian kegiatan)
c) Sequence activities (urutan kegiatan)
d) Estimate activity resources (estimasi sumber daya kegiatan)
e) Estimate activity durations (estimasi durasi atau jangka waktu kegiatan)
f) Develop schedule (pengembangan jadwal)
g) Control schedule (pengendalian jadwal)
3) Biaya (cost)
Beberapa proses dalam penanganan biaya dalam manajemen projek
diantaranya seperti :
a) Cost estimating, estimasi biaya yang dibutuhkan untuk menyelesaikan projek.
b) Cost budgeting, penganggaran biaya yang menggabungkan estimasi biaya
sumber daya yang dibutuhkan, paket pekerjaan dan biaya-biaya kegiatan
lainnya sehingga membentuk suatu rencana biaya yang sistematis.
c) Cost control (pengendalian biaya), faktor-faktor yang mengakibatkan
fluktuasinya biaya dapat dikendalikan dengan beberapa alat manajemen biaya.
Ketiga batasan tersebut memiliki sifat saling berkaitan artinya, jika ingin
meningkatkan kinerja produk yang telah disepakati dalam kontrak, maka harus
diikuti dengan meningkatkan mutu, yang selanjutnya berakibat pada naiknya biaya
melebihi anggaran. Sebaliknya, bila ingin menekan biaya maka biasanya harus
berkompromi dengan mutu atau jadwal.
Menurut Schwable (2014), manajemen projek merupakan aplikasi dari ilmu
pengetahuan, skills, tools, dan teknik untuk aktifitas suatu projek dengan maksud
memenuhi atau melampaui kebutuhan stakeholder dan harapan dari sebuah projek.
Sementara itu menurut Soeharto (1995), manajemen projek adalah kegiatan
merencanakan, mengorganisir, memimpin, dan mengendalikan sumber daya
perusahaan untuk mencapai sasaran jangka pendek yang telah ditentukan.

KB 2, Konsep Manajemen Proyek Dalam Pengembangan Sistem 49


Informasi

Sistem Informasi
Modul 2, Rekayasa Peangkat Lunak

Lebih lanjut Nicholas (2001), menyebutkan bahwa terdapat 3 elemen penting


dalam manajemen projek yaitu:
a. Manajer projek
Elemen paling penting dalam manajemen projek adalah manajer projek. Manajer
projek adalah seseorang yang bertanggung jawab untuk merencanakan,
mengarahkan, dan mengintegrasikan usaha kerja dari anggota untuk mencapai
tujuan projek. Manajer projek mengkoordinasikan usaha antar area fungsional
dan mengintegrasikan perencanaan dan pengendalian dari biaya, jadwal, dan
pembagian tugas dalam suatu projek.
b. Tim projek
Tim projek merupakan kumpulan orang yang biasanya berasal dari area
fungsional yang berbeda yang akan saling bekerja sama dengan tujuan untuk
menyelesaikan pekerjaan projek.
c. Sistem manajemen
Sistem manajemen projek dibuat berdasarkan struktur organisasi, proses
informasi, dan pelatihan serta prosedur yang mengintegrasikan elemen dari
organisasi projek secara vertikal dan horizontal. Elemen vertikal meliputi
pemecahan tugas dalam projek. Sedangkan elemen horizontal meliputi unit
fungsional dan departemen yang terlibat dalam projek.
b. Fungsi dan Batasan Manajemen Projek
Berikut ini adalah beberapa fungsi manajemen projek:
1) Pelingkupan (scooping), yang menjelaskan mengenai batas-batas dari sebuah
projek.
2) Perencanaan (planning), menidentifikasi tugas apa saja yang dibutuhkan dalam
menyelesaikan sebuah projek.
3) Perkiraan (estimating), setiap tugas yang dibutuhkan dalam penyelesaian
sebuah projek harus diperkirakan.
4) Penjadwalan (scheduling), seorang manajer projek harus bertanggung jawab
atas penjadwalan seluruh kegiatan suatu projek.

50 KB 2, Konsep Manajemen Proyek Dalam Pengembangan Sistem


Informasi

Sistem Informasi
Modul 2, Rekayasa Peangkat Lunak

5) Pengorganisasian (organizing), seorang manajer projek memastikan bahwa


seluruh anggota tim dari sebuah projek mengetahui peran serta tanggung jawab
masing-masing dan hubungan laporan mereka kepada manajer projek.
6) Pengarahan (directing), mengarahkan seluruh kegiatan-kegiatan tim dalam
projek.
7) Pengontrolan (controlling), fungsi pengontrolan atau pengendalian ini
mungkin saja merupakan fungsi tersulit dan juga terpenting bagi seorang
manajer apakah projek akan berjalan semestinya ataukah tidak.
8) Penutupan (closing), manajer projek hendaknya selalu menilai keberhasilan
atau kegagalan pada kesimpulan dari sebuah projek yang dijalani.
Projek ialah serangkaian rencana kegiatan terkait untuk mencapai tujuan
bisnis tertentu. Projek sistem informasi termasuk pengembangan sistem informasi
baru, peningkatan sistem yang ada atau upgrade atau penggantian infrastruktur
teknologi informasi perusahaan. Manajemen projek mengacu pada penerapan
pengetahuan, keterampilan, peralatan dan teknik untuk mencapai target tertentu
dalam anggaran dan waktu yang ditentukan kendala.
Kegiatan manajemen projek termasuk perencanaan pekerjaan, menilai
risiko, memperkirakan sumber daya yang dibutuhkan untuk menyelesaikan
pekerjaan, pengorganisasian pekerjaan, memperoleh sumber daya manusia dan
material, menetapkan tugas, kegiatan mengarahkan, mengendalikan pelaksanaan
projek, melaporkan kemajuan dan menganalisis hasil. Sebagai di daerah lain bisnis,
manajemen projek untuk sistem informasi harus berurusan dengan lima variabel
utama: ruang lingkup, waktu, biaya, kualitas dan risiko.
Adapun ruang lingkup projek adalah:
a. Menentukan waktu dimulai projek.
b. Membuat perencanaan lingkup dari projek yang akan dikerjakan.
c. Penjabaran dari ruang lingkup projek.
Pengecekan projek dan mengendalikan atas perubahan yang mungkin
terjadi ketika projek tersebut dimulai.

KB 2, Konsep Manajemen Proyek Dalam Pengembangan Sistem 51


Informasi

Sistem Informasi
Modul 2, Rekayasa Peangkat Lunak

Gambar 2.1. Project Boundaries

Secara umum pada proses manajemen ada tiga bagian yang selalu ada tidak
terkecuali manajemen projek, yaitu perencanaan, penjadwalan, dan pengendalian
projek :
1) Perencanaan
Perencanaan merupakan suatu proses yang meliputi upaya yang dilakukan
dan menentukan strategi yang tepat untuk merealisasikan tujuan dan target suatu
organisasi.
2) Penjadwalan
Penjadwalan proyek adalah kegiatan menetapkan jangka waktu kegiatan
proyek yang harus diselesaikan, bahan baku, tenaga kerja serta waktu yang
dibutuhkan oleh setiap aktivitas.
3) Pengendalian Projek
Pengendalian merupakan sebuah mekanisme untuk memantau kemajuan
dari suatu organisasi atau unit kerja terhadap tujuan atau target yang kemudian
mengambil tindakan-tindakan perbaikan jika diperlukan.
Dengan adanya manajemen proyek, akan terlihat jelas batasan mengenai
tugas, wewenang dan tanggung jawab dari pihak-pihak yang terlibat dalam proyek
tersebut. Apabila fungsi-fungsi manajemen proyek dapat direalisasikan dengan
jelas dan terstruktur, maka tujuan atau target dari proyek tersebut pun akan mudah
terwujud.

52 KB 2, Konsep Manajemen Proyek Dalam Pengembangan Sistem


Informasi

Sistem Informasi
Modul 2, Rekayasa Peangkat Lunak

Pada manajemen projek terdapat sejumlah proses yang saling


berkaitan. Masing-masing proses mencerminkan suatu aktivitas mulai dari
projek dimulai sampai dengan projek berakhir. Proses Manajemen Projek
ini memberikan pedoman dan kriteria untuk menyesuaikan proses
organisasi dengan kebutuhan spesifik projek. Proses yang terjadi dalam
aktivitas projek dibagi menjadi lima tahapan utama atau yang dikenal
dengan istilah Project Management Process Groups (Process Groups).

a) Initiation
Sebuah projek dikatakan memasuki tahap ini jika sudah
mendapatkan beberapa dokumen seperti SPK (Surat Perintah Kerja),
Agreement, Statement of Work (SOW), Purchase Order atau bentuk
kesepakatan lainnya. Proses dari tahap ini menghasilkan dua dokumen
penting, yaitu
Project charter, berisi kebutuhan projek, seperti:
i) Project Manager
ii) Latar belakang kebutuhan organisasi terkait pelaksanaan suatu
projek (background)
iii) Target yang ingin dicapai (goal)
iv) Penjelasan mengenai solusi atau produk yang akan
diimplementasikan (product description)
v) Kriteria sukses suatu projek (project success criteria)
vi) Kendala-kendala yang akan dihadapi (risk)
vii) Tanggung jawab dan aktivitas baik dari pelaksana projek maupun
dari customer (responsibility)
viii) Anggaran dan durasi (project budget and duration).

Stakeholder

Penyusunan daftar-daftar pemangku kepentingan yang terlibat


dalam suatu projek. Data mengenai stakeholder ini sangat penting untuk
mendapatkan masukkan pada tahap perencanaan.

KB 2, Konsep Manajemen Proyek Dalam Pengembangan Sistem 53


Informasi

Sistem Informasi
Modul 2, Rekayasa Peangkat Lunak

Beberapa hal yang perlu dicatat mengenai stakeholder antara lain: identitas
diri, posisi di dalam organisasi, tingkat kekuasaan (power), tingkat kepentingan
(interest), ekspektasi, strategi penanganan. Klasifikasi stakeholder akan
memengaruhi strategi penanganan mereka.
Walaupun Project Charter dibuat dalam fase ini, terdapat hal-hal lain yang
masuk ke dalam batasan projek (project boundaries) seperti Business Case
Assessment, persetujuan stakeholder dan pembiayaan projek. Batasan projek ini
didefinisikan sebagai suatu titik waktu di mana projek atau fase projek dikatakan
sudah selesai dengan lengkap. Tujuan utama dari proses ini adalah untuk
manangani ekspektasi stakeholder dan memberikan gambaran kepada mereka
mengenai scope dan objektif suatu projek.
b) Planning
Target utama dari tahap ini adalah menghasilkan dokumen perencanaan
projek atau Project Management Plan. Proses utama terkait kegiatan perencanaan
dan pembuatan Project Management Plan adalah:
i) Merangkum kebutuhan dan keinginan klien, memastikan batasan pekerjaan,
serta membuat uraian pekerjaan.
ii) Merinci unit-unit pekerjaan, menentukan urutan pekerjaan, estimasi sumber
daya, estimasi durasi, dan finalisasi jadwal projek.
iii) Estimasi biaya untuk masing-masing kegiatan.
iv) Menentukan proses yang baik (quality assurance) dan standar mutu yang
disepakati (quality control).
v) Perencanaan sumber daya manusia.
vi) Perencanaan komunikasi antara stakeholder.
vii) Perencanaan manajemen risiko.

c) Execution
Tugas pengelola projek dalam tahap ini adalah memfasilitasi dan
mengawasi tim agar dapat bekerja sesuai dokumen perencanaan terutama
mengawal tim agar tidak melewati jadwal maupun over budget.

54 KB 2, Konsep Manajemen Proyek Dalam Pengembangan Sistem


Informasi

Sistem Informasi
Modul 2, Rekayasa Peangkat Lunak

Apabila terdapat perubahan atau perbedaan antara perencanaan dan


pelaksanaan, maka disarankan untuk melakukan analisis dampak terhadap biaya,
waktu, mutu dan risiko, sebelum perubahan diterapkan dalam bentuk baseline
(patokan) baru.
Proses utama dalam tahap ini adalah mengarahkan dan mengelola
pelaksanaan projek ke arah penyelesaian, sesuai dokumen perencanaan. Seorang
Manajer Projek cukup mengarahkan, menjelaskan dan memotivasi tim agar projek
dapat berjalan dengan baik dan lancar. Beberapa tugas Manajer Projek dalam
tahap ini antara lain:
a) Mengevaluasi jalannya proses pelaksanaan kegiatan.
b) Meningkatkan kinerja tim dan mengelola tim.
c) Melaksanakan proses pembelian dan pengadaan barang dan jasa.
d) Distribusi informasi dan laporan kepada stakeholder.
e) Melakukan tindakan-tindakan untuk mengelola ekspektasi stakeholder.

d) Monitoring and Control


Selain melakukan perencanaan, mengawasi dan memotivasi tim, tugas
seorang Manajer Projek adalah melakukan pengawasan dan pemantauan. Tujuan
utama dalam tahap pengawasan adalah memastikan agar pelaksanaan projek tidak
jauh menyimpang dari rencana. Terutama dari sisi waktu, biaya, mutu, dan ruang
lingkup pekerjaan. Manfaat utama dari proses ini adalah bahwa kinerja projek
diukur dan dianalisis secara berkala. Beberapa poin penting proses monitoring dan
controlling:
a) Mengontrol perubahan dan merekomendasikan tindakan perbaikan atau
pencegahan untuk mengantisipasi kemungkinan masalah.
b) Pemantauan kegiatan projek yang sedang berlangsung terhadap rencana
manajemen projek
c) Mempengaruhi faktor-faktor yang bisa menggagalkan kontrol terhadap
perubahan, jadi hanya perubahan yang disetujui yang dapat
diimplementasikan.

KB 2, Konsep Manajemen Proyek Dalam Pengembangan Sistem 55


Informasi

Sistem Informasi
Modul 2, Rekayasa Peangkat Lunak

Beberapa proses kunci dalam tahap ini adalah:


a) Pelaporan dan pemantauan rutin. Konsep penting dalam melaporkan progress
pekerjaan disebut dengan Earned Value Management (EVM).
b) Prosentasi penyelesaian pekerjaan perlu selalu dilaporkan dan dibandingkan
dengan target pencapaian.
c) Nilai Earned Value (EV) tersebut kemudian dibandingkan dengan Actual Cost
(AC) untuk melihat apakah pada suatu masa pelaporan kemajuan projek, biaya
aktualnya melebihi, sesuai, atau lebih rendah dari nilai progres yang dilaporkan.
Apabila terdapat selisih (over budget) atau hasil yang negatif dari perhitungan EV-
AC, maka diperlukan langkah-langkah perbaikan (corrective actions). Sehingga
selisih tidak semakin besar dan bahkan dapat dikembalikan ke posisi yang lebih
baik.
d) Dari sisi penjadwalan. EV dapat dibandingkan dengan Planned Value (PV).
Apabila hasil perhitungan EV-PV bernilai negatif, maka dapat dikatakan progres
pekerjaan telah mengalami keterlambatan. Dan sebaliknya, apabila hasilnya positif
maka progres pekerjaan lebih cepat dari jadwal.
e) Deliverable yang diserahkan oleh tim projek memerlukan verifikasi bersama
dengan klien. Apabila terdapat hal yang belum disepakati klien atau pengguna maka
pekerjaan akan kembali masuk dalam proses eksekusi.
e) Closing
Berikut beberapa aktivitas yang penting dilakukan dalam tahap closing:
i) Memastikan persetujuan resmi dari sponsor atau klien terkait penyelesaian
pekerjaan.
ii) Mengadakan evaluasi akhir projek (lessons learned).
iii) Mengkaji apakah metodologi manajemen projek perlu diperbaiki.
iv) Merapikan arsip dan dokumentasi projek.
v) Memberi masukan kepada manajemen perusahaan terkait hal-hal yang dirasakan
bermanfaat selama projek dijalankan.
vi) Menyelesaikan kewajiban dengan pihak-pihak, terutama pihak pemasok (supplier/
vendor), outsourcing dan sebagainya.

56 KB 2, Konsep Manajemen Proyek Dalam Pengembangan Sistem


Informasi

Sistem Informasi
Modul 2, Rekayasa Peangkat Lunak

Sistem Informasi memiliki pengertian suatu sistem yang memiliki fungsi


menghasilkan informasi-informasi yang dibutuhkan pihak user. Komponen yang
termasuk sistem informasi meliputi infrastruktur hardware, Software dan
ketersediaan sumber daya manusia bidang teknologi informasi. Projek sistem
informasi mencakup sebagian atau keseluruhan dari rangkaian aktivitas rekayasa
Beberapa perbedaan karakteristik projek sistem informasi dibandingkan
dengan projek bidang lain adalah sebagai berikut :
i) Memiliki tujuan untuk menghasilkan produk yang bersifat intangible (tidak
dapat diraba/perkirakan, tidak dapat dinyatakan secara jelas) seperti perangkat
lunak, database, jaringan yang sulit untuk mengukur nilai manfaat dari produk
tersebut.
ii) Melibatkan teknologi yang sangat cepat usang, karena perkembangan yang
sangat cepat.
iii) Membutuhkan beragam sumber daya manusia dengan keahlian dan kompetensi
yang beragam.
iv) Ukuran yang dijadikan standar sulit dibakukan, karena sulit mengukur kualitas
yang dimengerti berbagai pihak secara seragam.
Suatu sistem informasi dapat dikembangkan karena adanya kebijakan dan
perencanaan telebih dahulu. Tanpa adanya perencanaan sistem yang baik,
pengembangan sistem tidak akan dapat berjalan sesuai dengan yang diharapkan.
Tanpa adanya kebijakan pengembangan sistem oleh manajemen puncak, maka
pengembangan sistem tidak akan mendapat dukungan dari manajemen puncak
tersebut.
Kebijakan untuk mengembangkan sistem informasi dilakukan oleh
manajemen puncak, karena manajemen menginginkan untuk meraih kesempatan-
kesempatan yang ada yang tidak dapat diraih oleh sistem yang lama, atau sistem lama
mempunyai kelemahan (masalah) perencanaan sistem menyangkut estimasi
(penafsiran, perkiraan, pendapat atau penilaian) sumberdaya (kebutuhan-kebutuhan
fisik dan tenaga kerja) dan biaya. Perencanaan sistem terdiri dari : perencanaan
jangka pendek (periode 1 sampai 2 tahun) dan jangka panjang (periode sampai 5

KB 2, Konsep Manajemen Proyek Dalam Pengembangan Sistem 57


Informasi

Sistem Informasi
Modul 2, Rekayasa Peangkat Lunak

tahun). Perencanaan sistem biasanya ditangani oleh staf perencanaan sistem,


departemen pengembangan sistem atau depertemen pengolahan data.
Proses perencanaan sistem dapat dikelompokkan dalam tiga proses utama,
yaitu :

1) Merencanakan projek-projek sistem. Tahapan proses perencanaan sistem yaitu :


a) Mengkaji tujuan, perencanaan strategi dan taktik perusahaan.
b) Mengidentifikasi projek-projek sistem.
c) Menetapkan sasaran projek-projek sistem
d) Menetapkan kendala projek-projek sistem (mis. batasan biaya, waktu, umur
ekonomis, peraturan yang berlaku).
e) Prioritas projek-projek sistem.
f) Membuat laporan perencanaan sistem.
g) Meminta persetujuan manajemen.
2) Mempersiapkan projek-projek sistem yang akan dikembangkan, Persiapan ini
meliputi :
a) Menunjuk tim analis (dapat berasal dari departemen pengembangan yang ada
atau dari luar perusahaan (konsultan).
b) Mengumumkan projek pengembangan sistem.

3) Mendefinisikan projek-projek sistem yang dikembangkan.


Melakukan studi untuk mencari alternatif pemecahan terbaik yang paling
layak untuk dikembangkan. Tahapan yang dilakukan yaitu :
a) Mengidentifikasi kembali ruang lingkup dan sasaran projek sistem.
b) Melakukan studi kelayakan.
c) Menilai kelayakan projek sistem.
d) Membuat usulan projek sistem.
e) Meminta persetujuan manajemen.

58 KB 2, Konsep Manajemen Proyek Dalam Pengembangan Sistem


Informasi

Sistem Informasi
Modul 2, Rekayasa Peangkat Lunak

c. Metodologi Umum Pelaksanaan dan analisis Projek Sistem Informasi


(Metode Generik)
Pengembangan sebuah sistem informasi dalam sebuah perusahaan
dilakukan dengan pendekatan manajemen projek (project management). Lepas
dari berbagai variasi projek-projek teknologi informasi yang ada, seperti
pembuatan aplikasi, penerapan perangkat lunak, konstruksi infrastruktur
jaringan, dan lain sebagainya, metodologi yang dipergunakan secara umum
adalah sama. Setidak-tidaknya ada enam buah tahapan yang harus dilalui:
perencanaan, analisa, desain, konstruksi, implementasi, dan pasca implementasi.
Masing-masing konsultan atau para praktisi teknologi informasi biasanya
memiliki variasinya masing-masing yang secara prinsip tidak lepas dari keenam
langkah metodologi di atas.
Secara umum, projek-projek sistem informasi dalam perusahaan atau
organisasi dapat dikategorikan dalam 3 kelompok besar.
1) Projek yang bersifat pembangunan jaringan infrastruktur teknologi
informasi, menyangkut hal-hal mulai dari pengadaan dan instalasi komputer
sampai dengan perencanaan dan pengembangan infrastruktur jaringan LAN
(Local Area Network) dan WAN (Wide Area Network).
2) Implementasi dari paket program aplikasi yang dibeli di pasaran dan
diterapkan di perusahaan, mulai dari software kecil seperti produk-
produk retail Microsoft sampai dengan aplikasi terintegrasi berbasis ERP,
seperti SAP dan BAAN.
3) Perencanaan dan pengembangan aplikasi yang dibuat sendiri secara khusus
(customized software), baik oleh internal perusahaan maupun kerja sama
dengan pihak luar seperti konsultan dan software house.

KB 2, Konsep Manajemen Proyek Dalam Pengembangan Sistem 59


Informasi

Sistem Informasi
Modul 2, Rekayasa Peangkat Lunak

Terdapat enam langkah pengembangan dalam manajemen projek sistem


informasi, yaitu:
1) Tahap Perencanaan
Tahap perencanaan merupakan suatu rangkaian kegiatan semenjak ide
pertama yang melatarbelakangi pelaksanaan projek ini diperoleh, pendefinisian
awal terhadap kebutuhan detail atau target yang harus dicapai dari projek tersebut,
penyusunan proposal, penentuan metodologi dan sistem manajemen projek yang
digunakan, sampai dengan penunjukan tim dan instruksi untuk mengeksekusi
(memulai) projek yang bersangkutan. Biasanya ada dua pihak yang terlibat
langsung dalam projek perencanaan ini yaitu :
a) Yang membutuhkan (demand side) eksistensi dari suatu sistem informasi,
dalam hal ini adalah perusahaan, lembaga, institusi atau organisasi yang
bersangkutan.
b) Pihak yang berusaha menjawab kebutuhan tersebut (supply side) dalam bentuk
pengembangan teknologi informasi. Kelompok ini biasanya merupakan
gabungan dari para personel yang terkait dengan latar belakang ilmu dan
pengetahuan yang beragam (multidisiplin), seperti ahli perangkat lunak,
analisis bisnis dan manajemen, spesialis perangkat keras, programmer, sistem
analis, praktisi hukum, manajer projek dan beberapa karakteristik SDM lain
yang terkait.

2) Tahap Analisis
Secara prinsip ada 2 aspek yang jadi fokus analisis, yaitu :
a) Aspek bisnis atau manajemen
Analisis aspek bisnis dimulai dengan mempelajari karakteristik
perusahaan yang bersangkutan, mulai dari aspek-aspek historis, struktur
kepemilikan, visi, misi, kunci keberhasilan usaha (critical success factors),
ukuran kinerja (performance measurements), strategi, program-program
dan hal terkait lainnya. Tujuan dilakukannya langkah ini adalah:
i) Mengetahui posisi atau peranan teknologi informasi yang paling
sesuai dan relevan di perusahaan (mengingat setiap perusahaan

60 KB 2, Konsep Manajemen Proyek Dalam Pengembangan Sistem


Informasi

Sistem Informasi
Modul 2, Rekayasa Peangkat Lunak

memiliki pandangan tersendiri dan unik terhadap sumber daya


teknologi yang dimiliki, yang membedakannya dengan perusahaan
lain).
ii) Mempelajari fungsi-fungsi manajemen dan aspek-aspek bisnis terkait
yang akan berpengaruh (memiliki damppak tertentu) terhadap proses
desain, konstruksi dan implementasi.
b) Aspek teknologi
Analisis aspek teknologi meliputi kegiatan-kegiatan yang bersifat
menginventarisir aset teknologi informasi yang dimiliki perusahaan pada
saat projek dimulai dengan berbagai tujuan, antara lain :
i) Mempelajari infrastruktur teknologi informasi yang dimiliki
perusahaan dan tingkat efektivitas penggunaannya selama kurun waktu
tersebut.
ii) Menganalisis kemungkinan-kemungkinan diperlukannya penambahan
sistem di kemudian hari (system upgrading) sehubungan akan
diimplementasikannya teknologi baru.
Keluaran dari proses analisis pada kedua aspek ini adalah isu-isu
(permasalahan) penting yang harus segera ditangani, dianalisis penyebabnya,
dampaknya bagi bisnis perusahaan, beberapa kemungkinan skenario
pemecahan dengan segala risiko cost/benefit (laba/rugi) dan trade-off (tukar
tambah), serta pilihan solusi yang direkomendasikan. Sebelum memasuki
fase desain, seluruh tim harus paham tentang isu-isu ini dan memiliki
komitmen untuk melanjutkan projek yang ada ke tahap berikutnya sesuai
dengan skala prioritas yang telah ditentukan (setelah memilih skenario yang
disetujui bersama).
3) Tahap Desain
Pada tahap desain, tim teknologi informasi bekerja sama dengan tim
bisnis atau manajemen melakukan perancangan komponen-komponen sistem
terkait.Tim teknologi informasi akan melakukan perancangan teknis dari
teknologi informasi yang akan dibangun, seperti sistem basis data, jaringan .

KB 2, Konsep Manajemen Proyek Dalam Pengembangan Sistem 61


Informasi

Sistem Informasi
Modul 2, Rekayasa Peangkat Lunak

Model-model umum seperti flowchart, ER Diagram, DFD dan lain


sebagainya dipergunakan sebagai notasi umum dalam perancangan sistem secara
teknis. Sementara itu secara paralel dan bersama-sama tim bisnis atau manajemen
akan melakukan perancangan terhadap komponen-komponen organisasi yang
terkait seperti prosedur (SOP = Standard Operational Procedures), struktur
organisasi, kebijakan-kebijakan, teknik pelatihan, pendekatan SDM dan
sebagainya. Tim ini pun biasanya akan mempergunakan model-model umum
seperti Porter’s Value Chain, Bussiness Process Mapping, Strategic Distinction
Model, BCG Matrix, dan lain-lain. Jelas bahwa hasil tahap ini, yang berupa cetak
biru rancangan sistem, secara teknis dan secara manajemen akan dijadikan
pegangan dalam proses konstruksi dan implementasi komponen-komponen pada
sistem informasi yang akan dikembangkan.

Carilah perbedaan beberapa model umum analisis seperti Porter’s Value Chain,
Bussiness Process Mapping, Strategic Distinction Model, BCG Matrix..
kumpulkan hasil dalam bentuk softfile

4) Tahap Konstruksi
Berdasarkan desain yang telah dibuat, konstruksi atau pengembangan
sistem yang sesungguhnya (secara fisik) dibangun. Tim teknis merupakan tulang
punggung pelaksana tahap ini, mengingat semua hal yang bersifat konseptual harus
diwujudkan dalam suatu konstruksi teknologi informasi dalam skala detail.
Dari semua tahapan yang ada, tahap konstruksi inilah yang biasanya paling
banyak melibatkan sumber daya terbesar, terutama dalam hal SDM, biaya, waktu.
kontrol terhadap manajemen projek pada tahap konstruksi harus diperketat agar
tidak terjadi ketidakefisienan maupun ketidakefektifan dalam penggunaan beragam
sumber daya yang ada (yang secara tidak langsung akan berdampak langsung
terhadap keberhailan projek sistem informasi yang diselesaikan secara tepat waktu).
Akhir dari tahap konstruksi biasanya berupa uji coba sistem. Perbaikan-perbaikan
bersifat minor biasanya harus dilakukan setelah adanya masukan-masukan yang
timbul setelah diadakannya evaluasi.

62 KB 2, Konsep Manajemen Proyek Dalam Pengembangan Sistem


Informasi

Sistem Informasi
Modul 2, Rekayasa Peangkat Lunak

5) Tahap Implementasi
Tahap implementasi merupakan tahap yang paling kritis karena untuk
pertama kalinya sistem informasi akan dipergunakan dalam perusahaan. Biasanya,
pendekatan yang digunakan oleh perusahaan adalah pendekatan cut off dan paralel.
a) Pendekatan cut off atau big-bang adalah suatu strategi implementasi yang
memilih sebuah hari sebagai patokan dan terhitung mulai hari tersebut, sistem
baru mulai dipergunakan dan sistem lama ditinggalkan sama sekali.
b) Pendekatan paralel dilakukan dengan cara melakukan pengenalan sistem baru
sementara sistem lama belum ditinggalkan, sehingga dua buah sistem berjalan
secara paralel (kedua sistem tersebut biasa disebut testing environment dan
production environment).
6) Tahap Pascaimplementasi
Dari segi teknis, yang dimaksud dengan aktivitas-aktivitas pasca
implementasi adalah bagaimana manajemen pemeliharaan sistem akan dikelola
(maintenance, supports and services management). Seperti halnya sumber daya
yang lain, sistem informasi akan mengalami perkembangan dikemudian hari. Hal-
hal seperti modifikasi sistem, interfacing ke sistem lain, perubahan hak akses
sistem, penanganan terhadap fasilitas pada sistem yang rusak, merupakan beberapa
contoh dari kasus-kasus yang biasa timbul dalam pemeliharaan sistem.
Di sinilah perlunya dokumentasi yang baik dan transfer of knowledge dari
pihak pembuat sistem ke SDM perusahaan untuk menjamin terkelolanya proses-
proses pemeliharaan sistem. Tidak jarang terjadi peristiwa dimana perusahaan atau
personel pembuat sistem sudah tidak diketahui lagi lokasinya setelah bertahun-
tahun (mungkin perusahaannya tutup, atau yang menangani sistem sudah pindah ke
tempat kerja lain). Bisa dibayangkan bagaimana perusahaan pemakai sistem
terpaksa membuang sistemnya (membuat sistem baru lagi) atau melakukan tambal
sulam (yang secara teknis sangat berbahaya karena tingkat integritas data yang
buruk) akibat tidak adanya dokumentasi teknis yang baik atau infrastruktur
manajemen pemeliharaan yang efektif.
Dari segi manajemen, tahap pascaimplementasi adalah suatu aktivitas yang
harus ditangani oleh personel atau divisi dalam perusahaan yang dapat melakukan

KB 2, Konsep Manajemen Proyek Dalam Pengembangan Sistem 63


Informasi

Sistem Informasi
Modul 2, Rekayasa Peangkat Lunak

perubahan atau modifikasi terhadap sistem informasi sejalan dengan perubahan


kebutuhan bisnis yang dinamis. Dengan kata lain, dalam era kompetisi yang semakin
ketat, perusahaan harus mampu berubah dengan sangat cepat.
Berikut ini adalah contoh Business Process Mapping and Standard Operational
Procedure
Pemetaan proses adalah visualisasi dari rangkaian seluruh aktivitas dari suatu
organisasi, yang mendemonstrasikan bagaimana pekerjaan di dalam organisasi tersebut
dilakukan, sehingga menjadikan pekerjaan tergambar dengan jelas/eksplisit (Robert
Damelio, 1996). Dengan pemetaan proses, sebuah organisasi memiliki dokumentasi
mengenai pekerjaan yang dilakukan, sehingga memungkinkan untuk menganalisa
pekerjaan yang telah dilakukan, bagi peningkatan kepuasan pelanggan melalui
identifikasi terhadap pengurangan waktu proses, mengurangi produk defect, mereduksi
biaya, mereduksi tahapan proses yang tidak menghasilkan nilai tambah, meningkatkan
produktivitas, dan memudahkan pengukuran performansi.
Proses secara sederhana dapat didefinisikan sebagai rangkaian aktivitas yang
merubah input menjadi output yang bernilai tambah. Sebagai contoh, sebuah meja adalah
ouput yang bernilai tambah karena dapat dia pakai untuk berbagai kepentingan mulai dari
meletakkan barang, menulis, untuk rapat, dan lain-lain. Meja sebagai output yang bernilai
tambah dihasilkan melalui suatu proses pembuatan meja. Dimulai dari pohon sebagai
input bahan baku, ditebang, dibelah menjadi papan, diukur sesuai dengan desain,
dipotong sesuai ukuran, dihaluskan, diberi warna, dan dirangkai sehingga menjadi satu
meja yang utuh. Serangkaian kegiatan yang dilakukan tersebut disebut dengan proses.
Dalam organisasi satu rangkaian input-process-output yang satu bersambung
kepada rangkaian input-process-output yang lainnya, sehingga membentuk bisnis proses.
Gambar berikut menunjukkan interaksi antar proses yang terjadi dalam satu organisasi;

64 KB 2, Konsep Manajemen Proyek Dalam Pengembangan Sistem


Informasi

Sistem Informasi
Modul 2, Rekayasa Peangkat Lunak

Gambar 2.2. Interaksi proses yang membentuk proses bisnis

Untuk dapat membangun pemetaan proses yang representatif, maka diperlukan


pengetahuan dan pemahaman mengenai proses yang akan dipetakan. Berikut ini,
merupakan hierarki proses, yang akan menjelaskan mengenai proses dan
komponen-komponen yang membangunnya (David Hoyle, 1998).

Gambar 2.3. Hierarki Proses

Keterangan:
a) Proses merupakan rangkaian aktivitas logis yang saling berhubungan dan
berkesinambungan dalam mengolah keluaran dari supplier.
b) Memberi nilai tambah, dan menjadikannya keluaran bagi customer.
c) Sub proses adalah bagian dari proses yang memiliki tujuan spesifik dalam
mendukung major process.

KB 2, Konsep Manajemen Proyek Dalam Pengembangan Sistem 65


Informasi

Sistem Informasi
Modul 2, Rekayasa Peangkat Lunak

d) Sub proses merupakan bagian dari proses, bila major process terlalu kompleks.
e) Task merupakan gabungan aktivitas yang ditujukan untuk tujuan minor dalam sebuah
organisasi. Task adalah pekerjaan di dalam work process yang harus dilakukan.
f) Aktivitas merupakan bagian terkecil dari pekerjaan yang harus dilakukan untuk
menyelesaikan suatu task.
Dalam pemetaan proses, dapat kita mulai dengan menggambarkan seluruh
aktifitas yang terjadi dalam suatu organisasi menjadi kelompok besar aktivitas yang kita
sebut sebagai peta proses bisnis. Dari peta proses bisnis ini, kemudian dapat didetailkan
menjadi sub peta proses bisnis dan kemudian menjadi SOP dan intruksi kerja seperti yang
dijelaskan dalam gambar berikut ini:

Gambar 2.4. Sistematika peta proses bisnis

Perlu diingat dokumen SOP adalah dokumen yang mengatur tata cara bagaimana
suatu proses diselesaikan dengan tuntas dalam memberikan nilai tambah terhadap
outputnya. Maka suatu dokumen SOP berisikan norma dan kriteria yang menjelaskan
bagaimana, siapa, dan hasil apa yang diwujudkan dalam rangkaian aktifitas tersebut yang
melibatkan lintas fungsi dalam organisasi. Oleh karena itu sebelum menuliskan SOP, ada
baiknya kita menggambarkan peta lintas fungsi (cross functional map). Cross functional
map merupakan peta yang menggambarkan hubungan antar fungsi dengan urutan
aktivitas dalam menyelesaikan proses tertentu.

66 KB 2, Konsep Manajemen Proyek Dalam Pengembangan Sistem


Informasi

Sistem Informasi
Modul 2, Rekayasa Peangkat Lunak

Untuk dapat memastikan siapa saja pelaku yang terlibat dalam satu
kelompok proses, perlu diidentifikasikan lebih dahulu dalam peta hubungan
(relationship map). Relationship Map merupakan peta yang menggambarkan
hubungan masukan-keluaran (supplier - customer) antar bagian di dalam sebuah
organisasi, baik itu antar fungsi, departemen, atau divisi. Informasi yang didapat
dari Relationship Map antara lain:
a) Apa yang dihasilkan oleh organisasi terkait (produk dan layanan).
b) Bagaimana alur pekerjaan yang melewati batasan fungsional (pekerjaan lintas
fungsi)
c) Hubungan supplier-customer baik internal maupun eksternal yang digunakan
untuk menyediakan atau menerima produk dan layanan.
Secara utuh, peta proses yang lengkap dapat dijelaskan seperti gambar di bawah ini:

Gambar 2.5. Peta proses yang lengkap

Keterangan:
a) Business Process Map - Sub Business Process Map merupakan hubungan
keterkaitan antara proses dengan proses.
b) Relationship Map merupakan hubungan keterkaitan antara proses dengan
pelaku.
c) Cross Functional Map merupakan hubungan keterkaitan antara pelaku dengan
aktifitas.

KB 2, Konsep Manajemen Proyek Dalam Pengembangan Sistem 67


Informasi

Sistem Informasi
Modul 2, Rekayasa Peangkat Lunak

Dengan demikian, penyusunan SOP memerlukan pemetaan proses atau


business process mapping, di mana hal tersebut merupakan visualisasi dari suatu
organisasi, yang mendemonstrasikan bagaimana pekerjaan di dalam organisasi
tersebut dilakukan, sehingga menjadikan pekerjaan tergambar dengan
jelas/eksplisit (Robert Damelio, 1996). Dengan pemetaan proses sebuah organisasi
memiliki dokumentasi mengenai pekerjaan yang dilakukan, sehingga
memungkinkan untuk menganalisa pekerjaan yang telah dilakukan bagi
peningkatan kepuasan pelanggan melalui identifikasi terhadap pengurangan waktu
proses, mereduksi tahapan proses yang tidak menghasilkan nilai tambah,
meningkatkan produktivitas, dan memudahkan pengukuran kinerja.
Penggunaan peta proses lainnya antara lain:
a) Sebagai alat evaluasi atau alternatif untuk mengorganisasikan sumber daya
manusia dan pekerjaan di dalam sebuah organisasi.
b) Untuk mengidentifikasikan peluang pengembangan.
c) Untuk melakukan evaluasi dan memperketat pengukuran kinerja.

Gambar 2.6. Kerangka pengembangan proses

Keterangan:
a) Proses merupakan rangkaian aktivitas logis yang saling berhubungan dan
berkesinambungan dalam mengolah input, memberikan nilai tambah,
dan menjadikannya output.

68 KB 2, Konsep Manajemen Proyek Dalam Pengembangan Sistem


Informasi

Sistem Informasi
Modul 2, Rekayasa Peangkat Lunak

b) Sub proses adalah bagian dari proses yang memiliki tujuan spesifik
dalam mendukung major process. Sub proses merupakan bagian dari
proses, bila major process terlalu kompleks.
c) Tugas merupakan gabungan aktivitas yang ditujukan untuk tujuan minor
dalam sebuah organisasi. Tugas adalah pekerjaan di dalam work process
yang harus dilakukan.
d) Aktivitas merupakan langkah-langkah detail dari pekerjaan yang harus
dilakukan untuk menyelesaikan suatu tugas.

Untuk dapat membangun pemetaan proses yang representatif, maka


diperlukan metodologi yang sistematis dan terstruktur untuk mempermudah
pemahaman dan pengembangan proses yang akan dipetakan. Di atas merupakan
kerangka pengembangan proses, yang akan menjelaskan mengenai proses dan
komponen-komponen yang membangunnya.

d. Proposal Projek Sistem Informasi


Proposal projek adalah suatu rancangan kegiatan atau kerja projek yang
disusun secara sistematis dan terperinci sesuai standar oleh seseorang atau
sekelompok perencana untuk diajukan kepada pihak pemegang projek dalam
mendapatkan persetujuan maupun bantuan dalam perencanaannya atau
pengerjaannya.
Adapun ciri-ciri proposal projek sebagai berikut :
1) Proposal projek dibuat untuk meringkas kegiatan projek yang akan dilakukan.
2) Sebagai pemberitahuan pertama suatu kegiatan projek.
3) Berisikan tujuan-tujuan projek, latar belakang kegiatan projek.
4) Berupa lembaran-lembaran pemberitahuan yang telah dijilid yang nantinya
diserahkan kepada yang penyelenggara kegiatan projek.
5) Ada pihak yang mengajukan.
6) Ada pihak yang menyetujui.
7) Terdapat gambaran kegiatan projek secara umum.
8) Disusun sebelum rencana kerja.
9) Bersifat bisnis.

KB 2, Konsep Manajemen Proyek Dalam Pengembangan Sistem 69


Informasi

Sistem Informasi
Modul 2, Rekayasa Peangkat Lunak

10) Memiliki sasaran dan tujuan yang jelas.


11) Manfaat pembuatan proposal projek sebagai berikut:
12) Menjadi rencana yang mengarahkan pengembang dalam melaksanakan
kegiatan projek.
13) Menjelaskan secara tidak langsung kepada pihak-pihak yang ingin mengetahui
kegiatan projek.
14) Untuk meyakinkan user atau sponsor agar mereka memberikan dukungan
material maupun finansial dalam mewujudkan kegiatan projek.
15) Sebagai gambaran awal sebuah kegiatan projek.
16) Sebagai alat untuk memperoleh persetujuan dari pihak projek berwenang.
17) Sebagai alat pengontrol jalannya kegiatan projek.
18) Sebagai alat evaluasi kegiatan projek.
19) Sebagai salah satu alat untuk memperluas jaringan kerja dan komunikasi.
Syarat-syarat yang harus dipenuhi dalam menyusun proposal projek yang
baik sebagai berikut:
1) Sistematis, artinya proposal projek yang disusun harus berurutan secara
sistematis menurut pola tertentu, dari yang paling sederhana hingga yang paling
kompleks agar efektif dan efisien
2) Terencana, artinya proposal projek tersebut dibuat secara sengaja dan telah
dipikirkan langkah-langkah pelaksanaanya, serta mengacu pada tujuan yang
ingin dicapai dalam kegiatan projek.
3) Mengikuti konsep ilmiah, artinya pengerjaan proposal projek mulai dari awal
hingga akhir harus sesuai dengan cara-cara atau metode ilmiah yang sudah
ditentukan.
4) Jelas dan dapat dimengerti, artinya roposal projek yang dibuat harus jelas dan
menggambarkan kegiatan projek yang akan dilaksanakan. Sehingga pihak
penerima dapat mendapatkan gambaran jelas tentang kegiatan projek yang akan
dilaksanakan tersebut.

70 KB 2, Konsep Manajemen Proyek Dalam Pengembangan Sistem


Informasi

Sistem Informasi
Modul 2, Rekayasa Peangkat Lunak

Berikut ini adalah format proposal projek sistem informasi.

BAB I

PENDAHULUAN

A. Latar Belakang

Uraikan secara deskriptif dan ringkas mengenai latar belakang pengembangan


projek sistem informasi, termasuk peluang yang bisa ditangkap

B. Maksud dan Tujuan

Jelaskan secara rinci maksud dan tujuan pengembangan projek sistem informasi
dalam bentuk poin per poin (Poin A berisi Maksud, Poin B berisi Tujuan)

C. Ruang Lingkup Pekerjaan

Uraikan secara rinci ruang lingkup pekerjaan yang nantinya akan


ditangani, misalnya:
1 Pengembangan
Uraikan secara jelas mengenai projek sistem informasi yang akan
dikembangkan
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
Uraikan secara deskriptif dan ringkas mengenai latar belakang sistem
informasi, bukan projek pengembangan sistem informasi seperti di Bab 1 yang
akan dikembangkan.

KB 2, Konsep Manajemen Proyek Dalam Pengembangan Sistem 71


Informasi

Sistem Informasi
Modul 2, Rekayasa Peangkat Lunak

B. Perspektif Produk
Deskripsikan gambaran umum dari produk sistem informasi yang akan
dikembangkan. Sebaiknya dilengkapi dengan gambar arsitektur global. Jika
projek 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:
1. Modul penggajian
2. Beri penjelasan yang deskriptif
3. Modul reporting (pelaporan)
4. Modul backup dan recovery
D. Manfaat Bagi Perusahaan/Organisasi/Instansi*
Tegaskan lagi benefit yang didapat oleh perusahaan 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, dan lain-
lain)
2. Analisis Kebutuhan Sistem
Uraikan tahapan-tahapan analisis Misal:
a. Analisis fungsionalitas produk
b. Analisis kebutuhan perangkat keras
c. Analisis tingkat kebutuhan operator
B. Perancangan Sistem
Deskripsikan tahapan-tahapan perancangan sistem yang akan dilakukan.
Contoh Misal :

72 KB 2, Konsep Manajemen Proyek Dalam Pengembangan Sistem


Informasi

Sistem Informasi
Modul 2, Rekayasa Peangkat Lunak

1. Perancangan data
2. Perancangan proses
3. Perancangan jaringan
Jika perlu, buat desain topologi jaringan dengan mengacu gambar lokasi projek
yang dijelaskan dalam RFP.
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
Buat rencana anggaran biaya yang riil dan responsibel. 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 projek yang ditangani).
1. Tenaga Ahli
Tabel 2.1. RAB tenaga ahli
Harga Total
No Posisi Jumlah Satuan Waktu Satuan
Satuan Biaya
1 Project 1 Orang 6 Bulan
Manager
2 System 2 Orang 6 Bulan
Analyst dan
Designer
3 Database 1 Orang 6 Bulan
Administrator
4 Programmer

KB 2, Konsep Manajemen Proyek Dalam Pengembangan Sistem 73


Informasi

Sistem Informasi
Modul 2, Rekayasa Peangkat Lunak

5 Dokumentator
6
7
Total Biaya

2. Perangkat Keras (Hardware)


Tabel 2.2. RAB kebutuhan perangkat keras
Harga Total
No Item Spesifikasi Jumlah Satuan
Satuan Harga
1 IBM Zeon 1 Unit
2
3
4
5
Total Harga
3. Perangkat Lunak (Software)
Tabel 2.3. RAB kebutuhan perangkat lunak
Harga Total
No Item Spesifikasi Jumlah Satuan
Satuan Harga
1 Windows 1 Unit
Server 2019
2 Oracle 12c
3
4
5
Total Harga

4. Overhead
Tabel 2.4. RAB kebutuhan overhead
Harga Total
No Item Jumlah Satuan
Satuan Harga
1. Transportasi
AnalisisKebutuhan 1 orang
...............................

2. Akomodasi
Analisis Kebutuhan 1 orang

3. Overhead kantor
5. Maintenance
Tabel 2.5. RAB maintenance

74 KB 2, Konsep Manajemen Proyek Dalam Pengembangan Sistem


Informasi

Sistem Informasi
Modul 2, Rekayasa Peangkat Lunak

Harga Total
No Item Jumlah Satuan Waktu Satuan
Satuan Biaya
1 Hardware 1 Paket 12 Bulan
2 Software 1 Paket 12 Bulan
Total Biaya

6. Rekapitulasi
Tabel 2.6. Rekapitulasi anggaran
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

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:
Tabel 2.7. Contoh matriks jadwal pelaksanaan projek
Bulan/Minggu
No Kegiatan 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

KB 2, Konsep Manajemen Proyek Dalam Pengembangan Sistem 75


Informasi

Sistem Informasi
Modul 2, Rekayasa Peangkat Lunak

BAB IV
PENUTUP
Berisi harapan agar bisa diterimanya dokumen proposal ini, dan ditegaskan dengan
komitmen untuk mewujudkan keinginan pemilik projek. Ringkas dan profesional.

4. Forum Diskusi
Terdapat beberapa model bisnis umum yang dapat diterapkan oleh
perusahaaan dalam menyelesaikan sebuah projek, diantaranya Porter’s Value
Chain, Bussiness Process Mapping, Strategic Distinction Model,dan BCG Matrix.
Menurut Anda model apakah yang paling baik digunakan dalam mengelola sebuah
projek sistem informasi?

C. Penutup

1. Rangkuman
Manajemen projek merupakan aplikasi dari ilmu pengetahuan, skills, tools,
dan teknik untuk aktifitas suatu projek dengan maksud memenuhi atau melampaui
kebutuhan stakeholder dan harapan dari sebuah projek. Tedapat tiga elemen penting
dalam manajemen projek, yaitu: manajer projek, tim projek dan sistem manajemen.
Karakteristik projek perangkat lunak adalah invisibility, complexity conformity dan
flexibility
Manajemen projek memiliki beberapa fungsi, yaitu scooping, planning,
estimating, scheduling, organizing, directing, controlling dan closing. Secara
umum manajemen projek memiliki tiga ruang lingkup, yaitu: perencanaan,
penjadwalan dan pengendalian projek.
Terdapat lima proses dasar manajemen projek, yaitu initiation, planning,
execution, monototing and control dan closing. Projek sistem informasi
dilaksanakan dalam enam tahapan, yaitu: perencanaan, analisa, desain, konstruksi,
implementasi, dan pasca implementasi.

76 KB 2, Konsep Manajemen Proyek Dalam Pengembangan Sistem


Informasi

Sistem Informasi
Modul 2, Rekayasa Peangkat Lunak

2. Tes Formatif
Pilihlah jawaban yang paling tepat! Pengerjaan soal es formatif dapat dikumpulkan
dalam bentuk softfile.
1. Untuk merealisasikan agar komponen tujuan projek dapat tercapai maka
pelaksanaan projek membutuhkan tahapan-tahapan yang disebut dengan istilah:
A. Projek Informasi
B. Sistem Informasi
C. Program
D. Manajemen Informasi
E. Proses
2. Manakah pernyataan yang paling tepat untuk menggambarkan analisis aspek
bisnis atau manajemen?
A. Mempelajari infrastruktur teknologi informasi yang dimiliki perusahaan
dan tingkat efektivitas penggunaannya selama kurun waktu tersebut.
B. Menganalisis kemungkinan-kemungkinan diperlukannya penambahan
sistem di kemudian hari (system upgrading) sehubungan akan
diimplementasikannya teknologi baru
C. Projek yang bersifat pembangunan jaringan infrastruktur teknologi
informasi, menyangkut hal-hal mulai dari pengadaan dan instalasi
computer sampai dengan perencanaan dan pengembangan infrastruktur
jaringan LAN (Local Area Network) dan WAN (Wide Area Network).
D. Mengarahkan dan mengelola pelaksanaan projek ke arah penyelesaian,
sesuai dokumen perencanaan.
E. Mempelajari karakteristik perusahaan yang bersangkutan, mulai dari
aspek-aspek historis, struktur kepemilikan, visi, misi, kunci keberhasilan
usaha (critical success factors), ukuran kinerja (performance
measurements), strategi, dan program-program.

KB 2, Konsep Manajemen Proyek Dalam Pengembangan Sistem 77


Informasi

Sistem Informasi
Modul 2, Rekayasa Peangkat Lunak

3. 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
C. Pendekatan big-bang
D. Pendekatan serial
E. Pendekatan bisnis serial
4. Pengembang sistem informasi harus benar-benar menyesuaikan kebutuhan
software yang dikembangkan dan kebutuhan dari klien. Sifat pengembangan
ini dikenal dengan istilah:
A. Invisibolity
B. Comformity
C. Complexity
D. Flexibility
E. Dependability
5. Yang tidak termasuk bagian dari tahapan perencanaan projek adalah:
A. Mengkaji tujuan, perencanaan strategi dan taktik perusahaan.
B. Mengidentifikasi projek-projek sistem.
C. Menetapkan sasaran projek-projek sistem
D. Menetapkan kendala projek-projek sistem (mis. batasan biaya, waktu,
umur ekonomis, peraturan yang berlaku).
E. Melakukan studi kelayakan.
6. Proses utama dalam tahap ini adalah mengarahkan dan mengelola pelaksanaan
projek ke arah penyelesaian, sesuai dokumen perencanaan.
A. Monitoring
B. Controlling
C. Execution
D. Initition
E. Closing

78 KB 2, Konsep Manajemen Proyek Dalam Pengembangan Sistem


Informasi

Sistem Informasi
Modul 2, Rekayasa Peangkat Lunak

7. 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
8. Yang tidak termasuk aktivitas dalam Project Management Plan adalah:
A. Merangkum kebutuhan dan keinginan klien, memastikan batasan
pekerjaan, serta membuat uraian pekerjaan.
B. Menunjuk team analis (dapat berasal dari departemen pengembangan yang
ada atau dari luar perusahaan (konsultan).
C. Merinci unit-unit pekerjaan, menentukan urutan pekerjaan, estimasi
sumber daya, estimasi durasi, dan finalisasi jadwal projek.
D. Estimasi biaya untuk masing-masing kegiatan.
E. Menentukan proses yang baik (quality assurance) dan standar mutu yang
disepakati (quality control).
9. Manakah di antara kegiatan berikut ini yang termasuk dalam tahap execution?
A. Melaksanakan proses pembelian dan pengadaan barang dan jasa
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 projek.
E. Memberi masukan kepada manajemen perusahaan terkait hal-hal yang
dirasakan bermanfaat selama projek dijalankan.

KB 2, Konsep Manajemen Proyek Dalam Pengembangan Sistem 79


Informasi

Sistem Informasi
Modul 2, Rekayasa Peangkat Lunak

10. Salah satu model analisis yang paling baik digunakan untuk melakukan
pemilahan terhadap pengembangan sistem informasi dilihat dari tingkat
kepentingannya (prioritas) bagi perusahaan, sehingga dapat ditentukan sistem
mana saja yang harus segera dibangun (jangka pendek), dan sistem mana saja
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

80 KB 2, Konsep Manajemen Proyek Dalam Pengembangan Sistem


Informasi

Sistem Informasi
Modul 2, Rekayasa Peangkat Lunak

Daftar Pustaka
Graym C.F. dan Larson, E.W., 2000. Project Management. First Edition, Boston:
McGraw Hill.
Heldman, Kim. 2013. PMP: Project Management Professional Exam Study Guide.
New Jersey: Sybex
Marchewka, Jack T, 2014. Information Technology Project Management,
Providing Measurable Organizational Value, 5th Edition. Danvers: John
Wiley & Sons.
Chase, Richard B., et all, 2011. Operational Management for Competitive
Advantage, 9th Edition: NY: McGraw Hill.
Olson, David. 2004. Introduction to Information Systems Project Management, 2nd
Ed. ISBN: 0-07-282402-6 3. Larson, Erick. W. 2000. Project management: the
managerial process.
Phillips, Joseph, 2010. IT Project Management: On Track Form Startto Finish,
Third Edition. Nwe York: McGraw Hill Professional.
Pressman, Roger S. 2012. Rekayasa Perangkat Lunak (Pendekatan Praktisi) Edisi
7: Buku 2. Yogyakarta: Penerbit Andi.
Project Management Institute, 2017. A Guide to The Project Management Body of
Knowledge (PMBOK GUIDE). Newton Square, Pennsylvania, Project
Management Institute Inc.
Santosa, Budi. 2009. Manajemen Projek: Konsep & Implementasi. Yogyakarta:
Graha Ilmu.
_______________, 2014. Information Technology Project Management. Boston:
Course Technology.
Schwalbe, Kathy, 2011. Managing Information Technology Project. Boston:
Course Technology.
________________2009, Introduction to Project Management, Second Editon.
Boston: Course Technology.
Soeharto, Iman. 1995. Manajemen Projek: Dari Konseptual Sampai Operasional.
Jakarta: Erlangga.
Sommervillle, Ian. 2011. Software Engineering, 9th Edition. Boston: Addison
Wesley
http://id.shvoong.com/writing-and-speaking/2057317-pengertian-dan-jenis-resiko-
dalam/#ixzz1dhgODSf4
http://ranee120.blogspot.com/2010/04/metodologi-umum-pelaksanaan-
projek.html
http://dya08 webmaster.blog.com/aspek-aspek-yang–mempengaruhi-manajemen-
projek/

KB 2, Konsep Manajemen Proyek Dalam Pengembangan Sistem 81


Informasi

Sistem Informasi
Modul 2, Rekayasa Perangkat Lunak

KB 2, Konsep RDBMS dalam Pengelolaan Data 80


Modul 2, Rekayasa Perangkat Lunak

KEGIATAN BELAJAR 3
KONSEP RDBMS DALAM PENGELOLAAN DATA

A. Pendahuluan
1. Deskripsi Singkat
Manajemen Sistem Basis Data (Database Management System/DBMS)
merupakan metode dan aplikasi yang didesain untuk membantu dalam hal
pemeliharaan dan utilitas kumpulan data dalam jumlah besar, baik dalam skala
kecil, menengah maupun besar. Database merupakan salah satu komponen yang
penting dalam sistem informasi, karena merupakan basis dalam menyediakan
informasi bagi para pemakai.
Relational Database Management System (RDBMS) merupakan model
yang paling sederhana sehingga mudah digunakan dan dipahami oleh pengguna,
Model ini menggunakan sekumpulan tabel berdimensi dua (yang disebut relasi atau
tabel), dengan masing-masing relasi tersusun atas tupel atau baris dan atribut. Relasi
dirancang sedemikian rupa sehingga dapat menghilangkan kemubaziran data dan
menggunakan kunci tamu untuk berhubungan dengan relasi lain.
Pada Kegiatan Belajar ini Anda akan mempelajari konsep dan
impelementasi RDBMS dalam pengelolaan data. Selain itu Kegiatan Belajar ini
juga membahas konsep dan implementasi keamanan basis data, yaitu upaya yang
dilakukan untuk menjaga basis data tetap aman dari segala macam gangguan,
serangan dan ancaman. Di akhir kegiatan belajar ini, Anda akan mempelajari
konsep dan imlementasi replikasi data.
Materi pokok yang dibahas pada Kegiatan Belajar ini adalah:
a. Konsep basisdata pada RDBMS
b. Sistem keamanan basidata
c. Replikasi basis data

81 KB 2, Konsep RDBMS dalam Pengelolaan Data


Modul 2, Rekayasa Perangkat Lunak

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
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 3 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 basis data pada RDBM; (2)
Menerapkan sistem keamanan basis data dalam pengelolaan data; dan (3) Membuat
replikasi basis data dalam sistem manajemen basis data.

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

KB 2, Konsep RDBMS dalam Pengelolaan Data 82


Modul 2, Rekayasa Perangkat Lunak

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
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 sedan gmengerjakan bagian yang sama,
sebelum Anda bertanya pada instruktur. Jika perlu, berusahalah mencari tahu
jawabannya pada sumber yang lain.
Kegiatan Belajar 3 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 pengolah kata
c. Web server local host, seperti: XAMP, WAMP, AMPPS atau yang setara

B. Inti
1. Capaian Pembelajaran
Menganalisis prinsip-prinsip Rekayasa Perangkat Lunak beserta aplikasi
terkait dalam pembelajaran bidang studi Teknik Komputer dan Informatika

83 KB 2, Konsep RDBMS dalam Pengelolaan Data


Modul 2, Rekayasa Perangkat Lunak

2. Pokok-Pokok Materi
Pokok-pokok materi pada kegiatan belajar ini adalah:
a. Konsep basis data pada RDBM
b. Sistem keamanan basis data dalam pengelolaan data
c. Replikasi basisdata dalam sistem manajemen basis data.

3. Uraian Materi
a. Konsep Basis Data dalam RDBMS
Definisi Database Management System (DBMS) pada sejumlah literatur
sangatlah bervariasi. Namun secara umum DBMS diartikan sebagai suatu program
aplikasi komputer yang digunakan untuk memasukkan, mengubah, menghapus,
memanipulasi dan memperoleh data dan atau informasi dengan praktis dan efisien.
Menurut Date (1995), sistem basis data dalah sistem terkomputerisasi yang tujuan
utamanya adalah memelihara informasidan membuat informasi tersebut tersedia saat
dibutuhkan.
Sistem manajemen basis data atau database management system, DBMS), atau
kadang disingkat SMBD, adalah suatu sistem atau perangkat lunak yang dirancang
untuk mengelola suatu basis data dan menjalankan operasi terhadap data yang diminta
banyak pengguna. Contoh tipikal SMBD adalah akuntansi, sumber daya manusia, dan
sistem pendukung pelanggan, SMBD telah berkembang menjadi bagian standar di
bagian pendukung (back office) suatu perusahaan. Contoh SMBD adalah Oracle, SQL
server 2000/2003, MS Access, MySQL, dan sebagainya.
DBMS merupakan perangkat lunak yang dirancang untuk dapat melakukan
utilisasi dan mengelola koleksi data dalam jumlah yang besar. DBMS juga dirancang
untuk dapat melakukan manipulasi data secara lebih mudah. Sebelum adanya DBMS,
data pada umumnya disimpan dalam bentuk flat file, yaitu file teks yang ada pada sistem
operasi. Sampai sekarangpun masih ada aplikasi yang menyimpan data dalam bentuk
flat secara langsung.

KB 2, Konsep RDBMS dalam Pengelolaan Data 84


Modul 2, Rekayasa Perangkat Lunak

Dibandingkan dengan sistem data yang berbasis kertas, DBMS memiliki


beberapa keunggulan:
1) Mengurangi redundancy, data yang sama pada beberapa aplikasi cukup
disimpan sekali saja.
2) Integrity, data tersimpan secara akurat.
3) Menghindari inkonsisten, karena redundancy berkurang, maka update data jadi
lebih efisien.
4) Penggunaan data bersama, data yang sama dapat diakses oleh beberapa user
pada saat bersamaan.
5) Menyangkut keseragaman penyajian data.
6) Menyeimbangkan kebutuhan, dapat ditentukan prioritas suatu operasi, misal
antara update dengan retrieval.
Kekurangan sistem pemrosesan berkas yang diatasi dengan basis data telah
diuraikan pada bagian sebelumnya. Secara lebih detail, keuntungan basis data terhadap
sistem pemrosesan berkas adalah dalam hal kemubaziran data dapat dikurangi, integritas
data, independensi data, konsistensi data, berbagi data, sekuritas atau keamanan data,
penggunaan data lebih mudah, administrasi keseragaman data, akses bersamaan dan
perbaikan dari terjadinya crashes (tabrakan dari proses serentak) dan ereduksi waktu
pengembangan aplikasi
Kebanyakan DBMS menyediakan mekanisme pengaturan sekuritas terhadap
basis data berdasarkan wewenang pengguna. Sebagai contoh, si A hanya boleh
membaca suatu data, tetapi si B boleh mengubahnya. Sekuritas data sangat penting pada
basis data, yaitu untuk menghindari pengaksesan data sensitif oleh orang yang tidak
berhak. Dalam implementasinyam terdapat empat komponen utama DBMS, yaitu:
perangkat keras (hardware), data, perangkat lunak (software) dan pengguna.

b. Abstraksi Data
Untuk mendukung kepraktisan, DBMS menyediakan pandangan abstrak
terhadap data bagi pengguna. DBMS berusaha menyembunyikan detail tentang
bagaimana data disimpan dan dipelihara.

85 KB 2, Konsep RDBMS dalam Pengelolaan Data


Modul 2, Rekayasa Perangkat Lunak

Namun tentu saja hal ini dilakukan dengan sedapat mungkin mengusahakan data agar
dapat diakses secara efisien. Abstraksi data dalam DBMS biasanya dibagi menjadi 3 lapis,
yaitu:
1) Lapis fisis
Lapis fisis merupakan lapisan terendah dalam abstraksi data. Lapis ini menjelaskan
bagaimana data sesungguhnya disimpan. Pada lapis inilah
struktur data dijabarkan secara rinci.
2) Lapis konseptual
Lapis konseptual bersifat lebih tinggi daripada lapis fisis. Lapis ini menjabarkan data apa
saja yang sesungguhnya disimpan pada basis data, dan juga menjabarkan hubungan-
hubungan antar data. Level ini biasanya digunakan oleh Database Administrator (DBA).
3) Lapis pandangan
Lapis pandangan merupakan lapis tertinggi pada abstraksi data. Pada lapis ini pengguna
hanya mengenal struktur data yang sederhana yang berorientasi pada kebutuhan
pengguna. Data yang dikenal oleh masing-masing pengguna bisa berbeda-beda dan
barangkali hanya mencakup sebagian dari basis data.
Sebagai gambaran, misalnya terdapat struktur data bertipe record seperti berikut:
Pegawai = RECORD
Nama : STRING;
Alamat : STRING;
Bagian : STRING;
Gaji : LongInt;
END:

Pada contoh ini rekaman bernama pegawai berisi empat buah medan data (Nama,
alamat, Bagian, dan Gaji). Setiap medan memiliki nama, dan setiap nama memiliki tipe data.
Pada level fisis, Pegawai dapat dijabarkan sebagai blok data yang terletak pada lokasi
berurutan (dalam satuan byte). Pada lapis konseptual, masing-masing rekaman dijabarkan
dengan definisi tipe data. Pada lapis pandangan, pengguna tertentu hanya boleh mengakses
data tertentu. Sebagai contoh, seseorang yang menangani penggajian tentu saja berhak
mengetahui gaji seseorang dan bahkan mengubahnya, tetapi orang yang bekerja di bagian lain
tentu tidak boleh melihatnya.

KB 2, Konsep RDBMS dalam Pengelolaan Data 86


Modul 2, Rekayasa Perangkat Lunak

c. Model Basis Data


Model basis data menyatakan hubungan antar rekaman yang tersimpan dalam
basis data. Beberapa literatur menggunakan istilah struktur data logis untuk menyatakan
keadaan ini. Model dasar yang paling umum ada 3 macam, yaitu model hierarkis,
jaringan, dan relasional
1) Model Hierarkis
Model Hirarkis biasa disebut model pohon, karena menyerupai pohon yang
dibalik. Model ini menggunakan pola hubungan orang tua-anak. Setiap simpul (biasa
dinyatakan dengan lingkaran atau kotak) menyatakan sekumpulan medan. Simpul yang
terhubung ke simpul pada level di bawahnya disebut orang tua. Setiap orangtua bisa
memiliki satu (hubungan 1:1) atau beberapa anak (hubungan 1:M), tetapi setiap anak
hanya memiliki satu orang tua. Simpul-simpul yang dibawahi oleh simpul orangtua
disebut anak. Simpul orang tua yang tidak memiliki orang tua disebut akar. Simpul
yang tak memiliki anak disebut daun. Adapun hubungan antara anak dan orangtua
disebut cabang.

Dosen Dosen

Hasrul Ruslan

Pengantar Perangkat Matematika


Keras Diskrit
Basis Data

Rudi Fauz Eka Eka Dian Anggi Dian


i

Gambar 3.1. Contoh model hirarkis

2) Model Jaringan
Model ini menyerupai model hirarkis, dengan perbedaan suatu simpul anak bisa
memiliki lebih dari satu orang tua. Oleh karena sifatnya yang demikian, model ini bisa
menyatakan hubungan 1:1 (satu orang tua punya satu anak), 1:M (satu orang tua punya
banyak anak), maupun N:M (beberapa anak bisa mempunyai beberapa orang tua).

87 KB 2, Konsep RDBMS dalam Pengelolaan Data


Modul 2, Rekayasa Perangkat Lunak

Gambar 3.2 merupakan model jaringan yang didasarkan oleh model hirarkis pada
Gambar 3.1.

Dosen Dosen
Hasrul Ruslan

Pengantar Perangkat Matematika


Basis Data
Keras Diskrit

Rudi Fauzi Eka Dian Anggi

Gambar 3.2. Model Jaringan


3) Model Relasional
Model relasional merupakan model yang paling sederhana sehingga mudah
digunakan dan dipahami oleh pengguna, serta merupakan yang paling populer saat ini.
Model ini menggunakan sekumpulan tabel berdimensi dua (yang disebut relasi atau
tabel), dengan masing-masing relasi tersusun atas tupel atau baris dan atribut. Relasi
dirancang sedemikian rupa sehingga dapat menghilangkan kemubaziran data dan
menggunakan kunci tamu untuk berhubungan dengan relasi lain.
RDBMS telah menjadi software pemrosesan data yang dominan saat ini.
Software ini menggambarkan generasi kedua dari DBMS dan berbasiskan model data
relasional yang diajukan oleh E.F. Codd (1970). Pada model relasional, seluruh data
terstruktur secara logika di dalam sebuah relasi (tabel). Setiap relasi mempunyai nama
dan terdiri dari atribut-atribut bernama (kolom). Setiap tuple (baris) berisikan satu nilai
per atribut. Kekuatan yang besar dari model data relasional adalah struktur logikal yang
sederhana.
Tabel 3.1. Padanan istilah relasi, tupel, dan atribut.
Model Relasional Pemrogram Pengguna
Relasi Berkas Tabel
Tupel (baris) Rekaman Baris
Atribut Medan Kolom

KB 2, Konsep RDBMS dalam Pengelolaan Data 88


Modul 2, Rekayasa Perangkat Lunak

Istilah yang digunakan dalam basis data relasional


1) Relasi
Relasi merupakan sebuah tabel yang terdiri dari beberapa kolom dan beberapa
baris. Relasi menunjukkan adanya hubungan diantara sejumlah entitas yang
berasal dari himpunan entitas yang berbeda. Entitas merupakan individu yang
mewakili sesuatu yang nyata dan dapat dibedakan dengan yang lainnya .
2) Entitas
Entitas (entity) adalah sebuah objek yang keberadaannya dapat dibedakan
terhadap objek lain. Entitas dapat berupa orang, benda, tempat, kejadian, konsep
Contoh :
- Orang : MAHASISWA, DOSEN, PEMASOK
- Benda : MOBIL, MESIN, RUANGAN
- Organisasi : NEGARA, DESA
- Kejadian : PENJUALAN, REGISTRASI
- Konsep : REKENING
3) Atribut
Atribut adalah sifat atau karakteristik yang melekat dalam sebuah entitas. Setiap
atribut akan memiliki nilai (values). Domain (value Set) merupakan batas-batas
nilai yang diperbolehkan bagi suatu atribut.
Contoh :
- MAHASISWA = (NIM, NamaMhs, AlamatMhs)
- MOBIL = (NoMobil, NamaMobil, Cc)
Terdapat beberapa tipe atribut, yaitu:
a) Simple dan composite attributes
• Atribut simple: Atribut sederhana yang tidak dapat dibagi dalam beberapa
bagian
• Atribut composite: Atribut yang dapat dibagi lagi dalam beberapa bagian;
contoh : Nama; yang terdiri dari Nama depan dan Nama Belakang
b) Single-valued dan multi-valued attributes
• Atribut single-valued: Atribut yang memiliki paling banyak satu nilai
untuk setiap baris data

89 KB 2, Konsep RDBMS dalam Pengelolaan Data


Modul 2, Rekayasa Perangkat Lunak

• Multi-valued attributes: Atribut yang dapat diisi dengan lebih satu nilai
tetapi jenisnya sama. Contoh: Nomor Telp, Alamat

c) Derived attributes (atribut turunan)


Atribut yang diperoleh dari pengolahan dari atribut lain yang berhubungan.
Contoh : Umur, IP4.
d) Atribut mandatory dan non mandatory
• Atribut mandatory adalah atribut yang harus diisi tidak boleh kosong (not
null)
• Atribut non mandatory adalah atribut yang boleh kosong(null).
4) Tupel atau baris
Tupel merupakan baris pada sebuah relasi atau kumpulan elemen-elemen yang
saling berkaitan menginformasikan tentang suatu entitas secara lengkap. Satu
record mewakili satu data atau informasi tentang seseorang, misalnya : NIM,
nama mahasiswa, alamat, kota, dan lain-lain.
5) Domain
Domain adalah kumpulan nilai yang valid untuk satu atau lebih atribut.
6) Derajat (degree)
Degree menunjukan banyaknya himpunan entitas yang saling berelasi.
7) Kardinalitas relasi
Kardinalitas relasi menggambarkan banyaknya jumlah maksimum entitas dapat
berelasi dengan entitas pada himpunan entitas yang lain.
Sebuah tabel yang terlibat dalam relasi juga memiliki kardinalitasnya
sendiri, antara lain: zero or one, one and only one, zero or one or many dan one or
many. Jenis relasi antara dua entitas dapat berupa relasi: One to One (1:1), One to
Many (1:M), Many to One (M:1) dan Many to many (M:M)

KB 2, Konsep RDBMS dalam Pengelolaan Data 90


Modul 2, Rekayasa Perangkat Lunak

Gambar 3.3. Kardinalitas relasi

Tabel 3.2 merupakan bentuk relasional berdasarkan contoh model hirarkis


dan jaringan sebelumnya.
Tabel 3.2. Contoh konversi model jaringan ke model relasional
Nama Dosen Mata Kuliah Mahasiswa
Hasrul Pengantar Basis Data Rudi
Hasrul Pengantar Basis Data Fauji
Hasrul Pengantar Basis Data Icca
Hasrul Perangkat Keras Icca
Hasrul Perangkat Keras Phoo
Al Imran Matematika Diskrit Anggi
AlImran Matematika Diskrit Phoo

Pada prakteknya, relasi pada gambar 3.4 akan dinormalisasikan sehingga


akan terbentuk beberapa tabel yang saling terhubung. Contoh model relasional
seperti ini dapat dilihat pada tabel berikut ini,

NO_MHS NAMA_MHS KODE_MK NAMA_MK


55 Ahmadi DB001 Pengantar Basis Data
56 Rina DB002 Basis Data Lanjut
P1001 Teknik Multimedia
57 Budi

NO_MHS KODE_MK NILAI


55 MPK201 A
55 MPK202 A
56 DEL864 B
57 DEL863 A
57 DEL432 B

91 KB 2, Konsep RDBMS dalam Pengelolaan Data


Modul 2, Rekayasa Perangkat Lunak

Gambar 3.4. Contoh beberapa relasi pada model relasional

Pada gambar ini terdapat tiga buah relasi. Relasi yang terbawah
menggunakan kunci tamu berupa nomor mahasiswa (NO_MHS) dan kode
matakuliah (KODE_MK) untuk menghubungkan diri ke kedua relasi di atasnya.
Dengan kata lain, berdasarkan data pada terbawah, informasi seperti nama
mahasiswa (NAMA_MHS) dan nama mata kuliah (NAMA_MK) bisa diperoleh.

Gambar 3.5. Relasi, tupel, atribut, dan berbagai istilah lainnya

Ada beberapa sifat yang melekat pada suatu relasi, yaitu:


- Tidak ada tupel (baris) yang kembar
- Urutan tupel tidaklah penting (tupel-tupel yang dipandang dalam sembarang
urutan)
- Setiap atribut memiliki nama yang unik
- Letak atribut bebas (urutan atribut tidak penting)
- Setiap atribut memiliki nilai tunggal dan jenisnya sama untuk semua tupel
Pada model relasional, jumlah tupel suatu relasi disebut kardinalitas dan
jumlah atribut suatu relasi disebut derajat (degree) atau terkadang disebut arity.
Relasi berderajat satu (hanya memiliki satu atribut) disebut unary. Relasi yang

KB 2, Konsep RDBMS dalam Pengelolaan Data 92


Modul 2, Rekayasa Perangkat Lunak

berderajat dua disebut binary dan relasi yang berderajat tiga disebut ternary. Relasi
yang berderajat n disebut n-ary. Istilah lainnya yang terdapat pada model relaisional
adalah domain. Domain adalah himpunan nilai yang berlaku bagi suatu atribut.

Key (Atribut Kunci)


Penggunaan key merupakan cara untuk membedakan suatu entitas dalam
himpunan entitas dengan entitas lain. Secara konsep, masing-masing entitas
memiliki nilai yang berbeda, perbedaannya terlihat pada isi masing-masing
atributnya. Key adalah satu atau gabungan dari beberapa atribut yang dapat
membedakan semua baris dalam relasi secara unik. Dalam RDBMS, key terbagi
menjadi beberapa jenis yaitu: primary key, foreign key, candidate key, super key,
alternate key dan composite key
1) Primary key (kunci primer), merupakan sebuah aturan dimana fungsinya adalah
untuk membedakan anatara baris satu dengan baris lainnya yang ada pada tabel
dan bersifat unik. Ada ketentuan yang harus diperhatikan ketika field yang
menjadi primary key yakni, yaitu data tidak boleh sama atau ganda (unik) dan
data tidak boleh bernilai null
2) Foreign key (kunci tamu), merupakan suatu atribut untuk melengkapi hubungan
yang menunjukan ke induknya, itu artinya field pada tabel merupakan kunci
tamu dari tabel lain. Dan biasanya penggunaan foreign key akan sangat
dibutuhkan ketika menemukan banyak tabel dan ingin menghubungkan satu
tabel dengan tabel lainnya.
3) Super key (kunci super), merupakan satu atau lebih atribut (kumpulan atribut)
yang dapat membedakan setiap baris data dalam table secara unik.
4) Candidate key (kunci kandidat), merupakan suatu atribut ataupun super key
yang mengidentifikasi secara unik untuk kejadian spesifik dari entitas.
5) Composite key (kunci gabungan), merupakan kunci yang terdiri dari 2 atau
lebih atribut yang secara unik mengidentifikasi suatu kejadian entitas.
6) Alternative key (kunci alternatif),merupakan candidate key yang tidak dipilih
sebagai primary key.

93 KB 2, Konsep RDBMS dalam Pengelolaan Data


Modul 2, Rekayasa Perangkat Lunak

7) Sekunder key (kunci sekunder) adalah sebuah atribut atau kombinasi yang
digunakan hanya untuk tujuan pengambilan data.

b. Perintah DBMS
Semua DBMS minimal mempunyai tiga macam perintah yang digunakan
untuk mengelola dan mengorganisasikan data, yaitu:
1) Bahasa Definisi Data (DDL/Data Definition Language)
2) Bahasa Manipulasi Data (DML/Data Manipulation Language)
3) Bahasa Pemerolehan Data (DQL/Data Query Language)
Selain kedua macam perintah di atas, pada kebanyakan DBMS sekarang
juga terdapat perintah yang tergolong DCL (Data Control Language) yang
berkaitan dengan pengaturan sekuritas terhadap basis data.

1) Bahasa Definisi Data (Data Definition Language/DDL)


DDL adalah perintah-perintah yang biasa digunakan oleh administrator
basis data (DBA) untuk mendefinisikan skema ke DBMS. Skema adalah deskripsi
lengkap tentang struktur medan, rekaman, dan hubungan data pada basis data.
Tugas utama skema adalah menjabarkan struktur basis data kepada DBMS. Skema
dapat dibayangkan sebagai suatu kerangka yang tidak tergantung nilai. Berbagai
nilai yang valid dapat diterapkan pada kerangka. Skema bersifat relatif tetap,
sementara nilai-nilainya dapat berubah dari suatu saat ke saat yang lain.
Secara lebih detail, beberapa hal yang perlu dijabarkan pada DBMS:
• Nama basis data
• Nama seluruh berkas pada basis data
• Nama rekaman dan medan
• Nama medan kunci
• Nama indeks dan medan yang menjadi indeks
Hal-hal lain seperti penentuan :
• Ukuran basis data, dan
• Rutin validasi dan penyunting yang dilekatkan pada berkas dalam basis data
bersifat spesifik terhadap DBMS yang digunakan.

KB 2, Konsep RDBMS dalam Pengelolaan Data 94


Modul 2, Rekayasa Perangkat Lunak

DDL juga dipakai untuk mendefinisikan subskema. Subskema adalah


pandangan (view) bagi pengguna tehadap basis data. Subskema merupakan
himpunan bagian dari skema. Dengan kata lain, subskema bisa mencakup sebagian
atau seluruh bagian skema. Bila suatu item tak tercantum dalam subskema seeorang
pengguna, maka item tersebut tak tersedia bagi pengguna bersangkutan. Subskema
dapat menjadi mekanisme pengamanan sistem basis data, yakni dengan mengatur
hak pengaksesan item-item dalam basis data. DDL juga digunakan untuk
menciptakan, mengubah, dan menghapus basis data.

Skema NAMA ALAMAT BAGIAN GAJI

Subskema
NAMA BAGIAN

Gambar 3.6. Subskema adalah himpunan bagian dari skema

Basis Data

Skema

…….
Sub Skema Sub Skema Sub Skema N

Pengguna 1 Pengguna 2 Pengguna N

Gambar 3.7. .Basis data beserta skema dan sejumlah subskema

2) Bahasa Manipulasi Data (Data Manipulation Language/DML)


DML adalah perintah-perintah yang digunakan untuk mengubah,
memanipulasi, dan mengambil data pada basis data. Tindakan seperti menghapus,
mengubah, dan mengambil data menjadi bagian dari DML. DML pada dasarnya
dibagi menjadi dua:

95 KB 2, Konsep RDBMS dalam Pengelolaan Data


Modul 2, Rekayasa Perangkat Lunak

• Prosedural, yang menuntut pengguna menentukan data apa saja yang


diperlukan dan bagaimana cara mendapatkannya.
• Nonprosedural, yang menuntut pengguna menentukan data apa saja yang
diperlukan, tetapi tidak perlu menyebutkan cara mendapatkannya.
DML nonprosedural menawarkan kemudahan bagi pengguna dalam
mempelajarinya dan juga dalam menggunakannya daripada DML prosedural.
Namun, karena pengguna tidak tahu cara mendapatkan data, DML nonprosedural
terkadang kurang efisien dibandingkan DML prosedural, untuk masalah tertentu.
Ada dua cara untuk mengakses data pada basis data. Pertama, dengan
mengetikkan perintah-perintah yang ditujukan kepada DBMS untuk memanipulasi
suatu rekaman atau suatu data. Biasanya, DML yang digunakan bersifat
nonprosedural. Kedua, melalui program aplikasi yang menerbitkan instruksi-
instruksi internal (disebut pernyataan melekat/embedded statement) ke DBMS
untuk mengambil data dan memberikan hasil ke program. Pada bentuk kedua ini,
bahasa pemrograman yang digunakan bisa saja berupa bahasa-bahasa
pemrograman konvensional seperti C, COBOL dan FORTRAN yang menggunakan
pendekatan prosedural atau menggunakan bahasa yang spesifik terhadap DBMS.
Secara khusus, bagian DML ada yang disebut dengan DQL (Dalam literatur,
terkadang DQL dibedakan dengan DML). DQL sering hanya disebut bahasa query.
DQL adalah fasilitas yang memungkinkan pengguna dengan pengetahuan
komputer yang terbatas ataupun tidak mengetahui bahasa pemrograman dapat
meminta informasi terhadap basis data. Sebagai contoh, pengguna dapat
memberikan perintah:

SELECT NIP, NAMA, ALAMAT, TGL_MASUK FROM KARYAWAN ;


WHERE TGL_MASUK < “01/01/2018”

Untuk memperoleh informasi NIP, NAMA, ALAMAT, TGL_MASUK pada tabel


KARYAWAN, khusus untuk rekaman dengan TGL_MASUK kurang dari 1 Januari
2018. Perlu diketahui, contoh di atas berlaku pada Visual dBASE dan Visual
FoxPro, sedangkan pada DBMS lain ada kemungkinan sedikit berbeda (dalam hal
tata aturan penulisan perintahnya). Query sesungguhnya berarti pertanyaan atau

KB 2, Konsep RDBMS dalam Pengelolaan Data 96


Modul 2, Rekayasa Perangkat Lunak

permintaan. Istilah ini tetap dipertahankan dalam bentuk asli, karena telah populer
di kalangan pengguna DBMS di Indonesia.

c. Keamanan Basis Data


Keamanan merupakan suatu proteksi terhadap pengrusakan data dan
pemakaian data oleh pemakai yang tidak punya kewenangan. Keamanan database
adalah suatu cara untuk melindungi database dari ancaman, baik dalam bentuk
kesengajaan atau pun bukan.Ancaman adalah segala situasi atau kejadian baik
secara sengaja maupun tidak yang bersifat merugikan dan mempengaruhi sistem
database.

Gambar 3.8. Jenis-jenis penyalahgunaan basis data

Keamanan basis data dapat dikelompokan sebagai berikut :


• Pencurian dan penipuan

97 KB 2, Konsep RDBMS dalam Pengelolaan Data


Modul 2, Rekayasa Perangkat Lunak

• Hilangnya kerahasiaan dan privasi


• Hilangnya integritas
• Hilangnya ketersediaan

Secara garis besar keamanan database dikategorikan sebagai berikut:


• Keamanan server
• Trusted Ip Access
• Koneksi Database
• Kontrol Akses Tabel
Sedangkan ancaman terhadap sistem komputer dikategorikan menjadi
empat ancaman, yaitu :
1) Interupsi
Sumber daya sistem komputer dihancurkan atau menjadi tidak tersedia atau
tidak berguna. Hal ini merupakan ancaman terhadap ketersediaan.
Contoh :
• Penghancuran bagian perangkat keras, seperti hardisk.
• Pemotongan kabel komunikasi.
2) Intersepsi
Pihak yang tidak diotorisasi dapat mengakses sumber daya. Hal ini merupakan
ancaman terhadap kerahasiaan.
Contoh :
• Penyadapan untuk mengambil data rahasia
• Mengkopi file tanpa diotorisasi
3) Modifikasi
Pihak yang tidak diotorisasi tidak hanya mengakses tapi juga merusak sumber
daya. Hal ini merupakan ancaman terhadap integritas,
Contoh :
• Mengubah nilai-nilai file data
• Mengubah program sehingga bertindak secara berbeda.
• Memodifikasi pesan-pesan yang ditransmisikan pada jaringan.
4) Fabrikasi

KB 2, Konsep RDBMS dalam Pengelolaan Data 98


Modul 2, Rekayasa Perangkat Lunak

Pihak yang tidak diotorisasi menyisipkan/memasukkan objek-objek palsu ke


sistem. Fabrikasi merupakan ancaman terhadap integritas,
Contoh :
• Memasukam pesan-pesan palsu ke jaringan.
• Penambahan record ke file.

Terdapat tiga prinsip keamanan basis data, yaitu:


1) Kerahasian, menjamin perlindungan akses informasi
Contoh: catatan medis pasien harus tertutup untuk umum
2) Integritas, menjamin bahwa informasi tidak dapat diubah dan tetap konsisten.
Contoh: catatan medis harus benar
3) Ketersediaan, menjamin kesiapan akses informasi
Contoh: catatan medis pasisen dapat diakses saat dibutuhkan untuk pengobatan
Pengamanan basis data merupakan mekanisme untuk melindungi sistem
basis data dari aksi yang disengaja, (misalnya: percobaan pencurian dan modifikasi
data oleh pihak yang tidak berwenang) dan aksi yang tidak disengaja (misalnya:
bencana alam, kebakaran, dan lain-lain).
Berikut ini adalah jenis-jenis penyalahgunaan basis data:
1) Tidak disengaja, jenisnya:
• Kerusakan selama proses transaksi
• Anomali yang disebabkan oleh akses database yang konkuren
• Anomali yang disebabkan oleh pendistribuasian data pada beberapa
komputer
• Logika error yang mengancam kemampuan transaksi untuk
mempertahankan konsistensi database.
2) Disengaja, jenisnya:
• Pengambilan data/pembacaan data oleh pihak yang tidak berwenang
• Pengubahan data oleh pihak yang tidak berwenang
• Penghapusan data oleh pihak yang tidak berwenang

Terdapat empat tingkatan pada keamanan basis data, yaitu:

99 KB 2, Konsep RDBMS dalam Pengelolaan Data


Modul 2, Rekayasa Perangkat Lunak

1) Fisikal, lokasi-lokasi dimana terdapat sistem komputer haruslah aman secara


fisik terhadap serangan perusak.
2) Manusia, wewenang pemakai harus dilakukan dengan berhati-hati untuk
mengurangi kemungkinan adanya manipulasi oleh pemakai yang berwenang
3) Sistem Operasi, kelemahan pada Sistem Operasi memungkinkan pengaksesan
data oleh pihak tak berwenang, karena hampir seluruh jaringan sistem database
menggunakan akses jarak jauh.
4) Sistem basis data, pengaturan hak pemakai yang baik.

Gambar 3.9. Pengamanan basis data


Pengamanan basis data dapat dilakukan dengan cara berikut ini:
1) Otorisasi :
• Pemberian wewenang atau hak istimewa (priviledge) untuk mengakses
sistem atau obyek basis data
• Kendali otorisasi (=kontrol akses) dapat dibangun pada perangkat lunak
dengan 2 fungsi :
- Mengendalikan sistem atau obyek yang dapat diakses
- Mengendalikan bagaimana pengguna menggunakannya
• Sistem administrasi yang bertanggungjawab untuk memberikan hak akses
dengan membuat account pengguna.
2) Tabel View

KB 2, Konsep RDBMS dalam Pengelolaan Data 100


Modul 2, Rekayasa Perangkat Lunak

Tabel view merupakan metode pembatasan bagi pengguna untuk


mendapatkan model basis data yang sesuai dengan kebutuhan perorangan. Metode
ini dapat menyembunyikan data yang tidak digunakan atau tidak perlu dilihat oleh
pengguna.
Contoh pada database relasional, untuk pengamanan dilakukan beberapa level :
• Relasi, pengguna diperbolehkan atau tidak diperbolehkan mengakses langsung
suatu relasi
• View, pengguna diperbolehkan atau tidak diperbolehkan mengakses data yang
terapat pada view
• Read Authorization, pengguna diperbolehkan membaca data, tetapi tidak dapat
memodifikasi.
• Insert Authorization, pengguna diperbolehkan menambah data baru, tetapi
tidak dapat memodifikasi data yang sudah ada.
• Update Authorization, pengguna diperbolehkan memodifikasi data, tetapi tidak
dapat menghapus data.
• Delete Authorization, pengguna diperbolehkan menghapus data.
Untuk modifikasi data terdapat otorisasi tambahan :
• Index Authorization, pengguna diperbolehkan membuat dan menghapus index
data.
• Resource Authorization, pengguna diperbolehkan membuat relasi-relasi baru.
• Alteration Authorization, pengguna diperbolehkan menambah/menghapus
atribut suatu relasi.
• Drop Authorization, pengguna diperbolehkan menghapus relasi yang sudah
ada.
Contoh perintah menggunakan SQL :
GRANT : memberikan wewenang kepada pemakai
Syntax : GRANT <priviledge list> ON <nama relasi/view>
TO <pemakai>
Contoh : GRANT SELECT ON S TO BUDI
GRANT SELECT,UPDATE (STATUS,KOTA) ON S TO ALI,BUDI
REVOKE : mencabut wewenang yang dimiliki oleh pemakai
Syntax : REVOKE<priviledge list> ON <nama relasi/view>
FROM <pemakai>

101 KB 2, Konsep RDBMS dalam Pengelolaan Data


Modul 2, Rekayasa Perangkat Lunak

Contoh : REVOKE SELECT ON S FROM BUDI


REVOKE SELECT,UPDATE (STATUS,KOTA) ON S FROM ALI,BUDI
Priviledge list : READ, INSERT, DROP, DELETE, INDEX,
ALTERATION, RESOURCE

3) Backup data dan recovery


Backup adalah proses secara periodik untuk meMbuat duplikat basis dat
dan melakukan logging file (atau program) ke media penyimpanan eksternal.
Jurnaling merupakan proses menyimpan dan mengatur log file dari semua
perubahan yang dibuat di database untuk proses recovery yang efektif jika terjadi
kesalahan.
Isi Jurnal terdiri dari:
a) Record transaksi, yang terdiri atas:
• Identifikasi dari record
• Tipe record jurnal (transaksi start, insert, update, delete, abort, commit)
• Item data sebelum perubahan (operasi update dan delete)
• Item data setelah perubahan (operasi insert dan update)
• Informasi manajemen jurnal (misalnya pointer sebelum dan record jurnal
selanjutnya untuk semua transaksi)
b) Record checkpoint: suatu informasi pada jurnal untuk memulihkan database dari
kegagalan, kalau sekedar redo, akan sulit penyimpanan sejauh mana jurnal untuk
mencarinya kembali, maka untuk membatasi pencarian menggunakan teknik ini.
Recovery (pemulihan) merupakan upaya uantuk mengembalikan basis data
ke keadaaan yang dianggap benar setelah terjadinya suatu kegagalan.
Terdapat 3 jenis recovery, yaitu:
• Pemulihan terhadap kegagalan transaksi: Kesatuan prosedur alam program yang
dapat mengubah/memperbarui data pada sejumlah tabel.
• Pemulihan terhadap kegagalan media: Pemulihan karena kegagalan media
dengan cara mengambil atau memuat kembali salinan basis data (backup)
• Pemulihan terhadap kegagalan sistem: Karena gangguan sistem, hang, listrik
terputus alirannya.
Berikut ini adalah fasilitas pemulihan pada DBMS :

KB 2, Konsep RDBMS dalam Pengelolaan Data 102


Modul 2, Rekayasa Perangkat Lunak

• Mekanisme backup secara periodik


• Fasilitas logging dengan membuat track pada tempatnya saat transaksi
berlangsung dan pada saat database berubah.
• Fasilitas checkpoint, melakukan update database yang terbaru.
• Manager pemulihan, memperbolehkan sistem untuk menyimpan ulang database
menjadi lebih konsisten setelah terjadinya kesalahan.

Adapun teknik pemulihan yang dapat dilakukan adalah:


• Defered upate/perubahan yang ditunda, yaitu perubahan pada basis data tidak
akan berlangsung sampai transaksi ada pada poin disetujui (COMMIT). Jika
terjadi kegagalan maka tidak akan terjadi perubahan, tetapi diperlukan operasi
REDO untuk mencegah akibat dari kegagalan tersebut.
• Immediate upadte / perubahan langsung, perubahan pada database akan segera
tanpa harus menunggu sebuah transaksi tersebut disetujui. Jika terjadi kegagalan
diperlukan operasi UNDO untuk melihat apakah ada transaksi yang telah
disetujui sebelum terjadi kegagalan.
• Shadow paging, yaitu menggunakan page bayangan dimana pada prosesnya
terdiri dari 2 tabel yang sama, yang satu menjadi tabel transaksi dan yang lain
digunakan sebagai cadangan. Ketika transaksi mulai berlangsung kedua tabel ini
sama dan selama berlangsung tabel transaksi yang menyimpan semua perubahan
ke database, tabel bayangan akan digunakan jika terjadi kesalahan.
Keuntungannya adalah tidak membutuhkan REDO atau UNDO, kelemahannya
membuat terjadinya fragmentasi.

4) Integritas data dan Enkripsi


Integritas merupakan metode pemeriksaan dan validasi data melalui metode
integrity constrain, berisi aturan-aturan atau batasan-batasan untuk tujuan
terlaksananya integritas data. Integritas data menjamin konsistensi data terhadap
semua konstrain yang diberlakukan terhadap data tersebut, sehingga memberikan
jaminan keabsahan data. Integritas bertujuan untuk menjaga data agar data yang

103 KB 2, Konsep RDBMS dalam Pengelolaan Data


Modul 2, Rekayasa Perangkat Lunak

tidak valid tidak masuk ke database dan menjaga konsistensi data pada relasi
keterkaitan antar tabel.
Integritas data dapat dikelompokkan sebagai berikut :
a) Entity integrity
Entity integrity mendefenisikan sebuah baris sebagai sebuah entitas yang unik
untuk suatu tabel. Entity integritas memaksa integritas dari colum atau
primary key dari suatu tabel (melalui index, unique, constrains, primarykey)
tidak boleh null.
b) Domain integrity
Domain Integritas merupakan validasi dari masukan untuk sebuah kolom.
DBA dapat memaksa domain integritas dengan membatasi tipe (melalui data
types), format (melalui check constraints dan rules), atau range nilai-
nilai yang mungkin (melalui foreign key constraints, check constraints,
default definitions dan rules).
c) Refferential integrity
Refferential integritas memastiakan bahwa seluruh nilai dari foreign
key cocok dengan nilai primary key yang dihubungkan.
d) User defined integrity
User difined integritas mengizinkan kita untuk menentukan spesific business
rules sendiri yang tidak sama pada kategori integrity yang lain
Terdapat beberapa mekanisme untuk menjaga integritas data, antara lain:

a) Domain integrity, tidak ada item data yang melanggar jangkauan nilai di tiap
kolom data.
b) Integrity entity, tidak ada baris data duplikat dalam satu tabel.
c) Integrity referential, menjaga relasi atau korespondensi antar tabel.
d) Redudant data integrity, data di sebuah tabel tidak berulang di tabel lain.
e) Bussiness rule integrity, data di suatu tabel harus memiliki nilai yang layak dan
dapat diterima ditempat sistem basis data itu diterapkan. Integritas jenis ini
bersifat kasuistis, artinya sangat bergantung pada jenis data, lokasi, lingkungan,
dan waktu penerapan basis data.

KB 2, Konsep RDBMS dalam Pengelolaan Data 104


Modul 2, Rekayasa Perangkat Lunak

Integritas merupakan metode pemeriksaan dan validasi data (metode


integrity constrain), yaitu berisi aturan-aturan atau batasan-batasan untuk tujuan
terlaksananya integritas data. Integritas data mengacu pada konsistensi dan akurasi
data yang disimpan di dalam basis data.
Batasan Integritas Data (Data Integrity Constraint) adalah syarat yang
dispesifikasikan pada basis data untuk membatasi data yang dapat disimpan dalam
basis data. Batasan integritas menjaga terjadinya kerusakan terhadap database
dengan memastikan bahwa perubahan tidak menyebabkan terjadinya inkonsistensi
data Batasan integritas dispesifikasikan pada waktu yang berbeda, yaitu: - ketika
DBA mendefinisikan skema basis data melalui DDL, DBA menspesifikasikan
batasan/ konstrain integritas yang harus selalu dipenuhi. - ketika aplikasi basis data
dijalankan, DBMS melakukan pemeriksaan untuk mencegah terjadinya
pelanggaran kontsrain integritas yang telah ditentukan. DBMS membuat tindakan
otomatis untuk tetap memenuhi konstrain integritas, sehingga perubahan tidak akan
mengganggu integritas data.
Terdapat beberapa jenis integritas data, yaitu:
1) Integritas entitas (entity integrity)
Mendefinisikan sebuah baris sebagai sebuah entitas yang unik untuk suatu tabel.
Integritas dari kolom suatu tabel melalui index, unique, constraint, primary key,
dimana nilainya tidak boleh NULL. Tidak ada baris yang duplikat di dalam
suatu tabel. Contoh,
CREATE TABLE penerbit
(
Kode_Penerbit varchar(2) NOT NULL,
Nama_Penerbit varchar(20) NOT NULL,
Lokasi varchar(20) NOT NULL,
PRIMARY KEY (Kode_Penerbit)
UNIQUE (Nama_Penerbit)
)

2) Integritas domain (domain integrity)


Validasi dari masukan untuk sebuah kolom. Batasi tipe data, format (melalui
check constraints dan rules), atau range nilai-nilai yang mungkin. Saat membuat
tabel, kolom bernilai NULL dapat dihindari dengan menggunakan konstrain

105 KB 2, Konsep RDBMS dalam Pengelolaan Data


Modul 2, Rekayasa Perangkat Lunak

NOT NULL, kecuali kolom yang dispesifikasikan sebagai primary key akan
otomatis bernilai Not Null. Contoh,
CREATE TABLE penerbit
(
Kode_Penerbit varchar(2) NOT NULL,
Nama_Penerbit varchar(20) NOT NULL,
Lokasi varchar(20) NOT NULL,
PRIMARY KEY (Kode_Penerbit)
UNIQUE (Nama_Penerbit)
)
Pemeliharaan integritas domain dilakukan dengan cara:
- Pendefinisian skema/struktur tabel
- Penerapan proses validasi pada pemasukan data
3) Integritas referensial (referential integrity)
Integritas referensial memastikan bahwa seluruh nilai dari foreign key cocok
dengan nilai primary key yang dihubungkannya. Integritas referensial adalah
dasar relasi antar tabel yaitu antara foreign key dengan primary key. Data pada
foreign key harus sesuai dengan primary key, artinya:
- Tipe data dan ukuran sama
- Konsistensi tetap terjaga ketika ada penghapusan, pergantian data dan
penambahan data pada tabel
Ketika integritas referensial ini dilaksanakan, maka akan mengecek :
- Penambahan record, apakah record yang ditambahkan pada foreign key ada
dalam primary key
- Perubahan data pada primary key apakah akan mempengaruhi terhadap
foreign key atau tidak
Opsi ketika suatu record pada tabel yang direferensi oleh suatu foreign key
dihapus atau diganti nilainya

- [ ON DELETE { CASCADE | NO ACTION } ]


- [ ON UPDATE { CASCADE | NO ACTION } ]

ON DELETE merupakan tindakan pada tabel yang direferensi terjadi


penghapusan record.
ON UPDATE, merupakan tindakan apabila data tabel yang direferensi
mengalami perubahan nilai record.

KB 2, Konsep RDBMS dalam Pengelolaan Data 106


Modul 2, Rekayasa Perangkat Lunak

Tindakan yang dapat diatur pada ON DELETE maupun ON UPDATE ada dua,
yaitu : CASCADE
NO ACTION
ON UPDATE CASCADE, jika nilai primary key pada tabel yang direferensi
diganti maka foreign key pada tabel yang mereferensi akan disamakan nilainya
dengan primary key pada tabel yang direferensi.
ON DELETE CASCADE. jika nilai primary key pada tabel yang direferensi
dihapus maka semua record yang nilai foreign key-nya=primary key pada tabel
yang direferensi dimana recordnya yang dihapus akan turut terhapus.
ON UPDATE NO ACTION, jika nilai primary key pada tabel yang direferensi
diganti maka foreign key pada tabel yang mereferensi nilainya tidak ikut berubah
ON DELETE NO ACTION, jika nilai Primary Key pada tabel yang direferensi
dihapus maka semua record yang nilai foreign key-nya=primary key tidak ikut
dihapus.

Konkurensi
Konkurensi merupakan mekanisme untuk menjamin bahwa transaksi yang
konkuren pada basis data multi user yang tidak saling mengganggu operasinya
masing-masing. Konkurensi adalah bisa dikatakan sebagai suatu fitur di
mana (DBMS) mengizinkan banyak transaksi pada saat bersamaan untuk
mengakses data yang sama. Dalam melakukan konkurensi dibutuhkan
suatu Concurency Control Mechanism (CCM) agar transaksi yang dilakukan oleh
banyak user pada suatu sistem di dalam waktu yang bersamaan tidak saling
“mengganggu” dan tidak menghasilkan ketidakkonsistenan data.
Proses-proses konkuren yang berinteraksi mempunyai beberapa masalah
yang harus diselesaikan diantarnaya mutual exclusion, sinkronisasi, deadlock
dan startvation. Konkurensi meliputi hal-hal berikut:
• Alokasi waktu pemroses untuk proses-proses
• Pemakaian bersama dan persaingan untuk mendapatkan sumber daya
• Komunikasi antarproses
• Sinkronisasi aktivitas banyak proses

107 KB 2, Konsep RDBMS dalam Pengelolaan Data


Modul 2, Rekayasa Perangkat Lunak

Enkripsi
Enkripsi adalah suatu metode yang digunakan untuk mengkodekan data
sedemikian rupa sehingga keamanan informasinya terjaga dan tidak dapat dibaca
tanpa didekripsi (kebalikan dari proses enkripsi) dahulu. Enkripsi merupakan
proses pengamanan suatu informasi dengan cara membuat informasi tersebut tidak
dapat dibaca tanpa bantuan pengetahuan khusus. Enkripsi menerapkan algoritma
pada sebuah pesan yang berfungsi untuk mengacak data di dalamnya sehingga
sangat sulit dan akan memakan banyak waktu apabila data hasil.
Enkripsi tersebut disimpulkan tanpa menggunakan kode atau sandi khusus.
Hal ini sangat membantu mengamankan pesan yang kita kirim agar data-data
penting dan rahasia kita tidak bisa terbaca oleh pihak yang tidak bertanggung jawab
karena setiap pesan yang kita enkripsi akan otomatis diacak jika ada orang yang
tidak bertanggung jawab membacanya. Jadi hanya penerima pesan saja yang bisa
membaca isi dari pesan tersebut.
Di bidang kriptografi, enkripsi adalah proses mengamankan suatu
informasi dengan membuat informasi tersebut tidak dapat dibaca tanpa bantuan
pengetahuan khusus. Dikarenakan enkripsi telah digunakan untuk mengamankan
komunikasi di berbagai negara, hanya organisasi-organisasi tertentu dan individu
yang memiliki kepentingan yang sangat mendesak akan kerahasiaan yang
menggunakan enkripsi.
Enkripsi dapat digunakan untuk tujuan keamanan, tetapi teknik lain masih
diperlukan untuk membuat komunikasi yang aman, terutama untuk
memastikan integritas dan autentikasi dari sebuah pesan. Contohnya, Message
Authentication Code (MAC) atau digital signature. Penggunaan yang lain yaitu
untuk melindungi dari analisis jaringan komputer. Secara singkat, proses enkripsi
adalah proses mengubah teks terang menjadi teks tersandi.

KB 2, Konsep RDBMS dalam Pengelolaan Data 108


Modul 2, Rekayasa Perangkat Lunak

Gambar 3.10. Proses enkripsi

Lalu bagaimana pihak penerima pesan bisa membaca pesan yang telah
terenkripsi tersebut? Yaitu dengan melakukan dekripsi, yaitu menerjemahkan data
yang sudah terenkripsi dengan berdasarkan informasi tertentu dengan
menggunakan cipher. Cipher adalah algoritma yang berfungsi untuk menampilkan
Enkripsi atau sebaliknya Dekripsi. Pesan yang sudah dienkripsi disebut Ciphertext
yang dimana berisi sebuah Plaintext, plaintext adalah informasi asli dari sebuah
pesan yang sudah terenkripsi. Cipher biasanya memiliki parameter dari sebagian
informasi utama yang disebut kunci/key. Tanpa menggunakan kunci/key ini cipher
tidak akan bisa digunakan untuk dienkripsi atau didekripsi.
Untuk memberi contoh gambaran mudah dan sederhananya soal enkripsi
adalah sebagai berikut. Contoh pertama adalah dengan mengkode pesan dengan
cara menurunkan satu huruf alfabetnya pada isi pesan tersebut. Semisal jika kita
mengirimkan pesan yang dienkripsi dengan kalimat “I miss You” maka jika tidak
didekripsi pesan tersebut akan terbaca “J njtt Zpv”. Jika penerima pesan tersebut
memiliki cipher yang sama tinggal didekripsi pesan yang terenkripsi tersebut
sehingga penerima pesan bisa membaca plaintext atau isi pesan dengan sebenarnya.
Contoh kedua adalah dengan menggunakan Enkripsi sederhana yang sudah umum
diketahui yaitu Alphanumeric. Enkripsi ini berfungsi untuk mengubah abjad
menjadi angka, contoh kata “I miss You” akan dirubah menjadi “9 1291919
252021”.
Contoh diatas merupakan sebuah gambaran sederhana dari sebuah enkripsi
yang tentunya untuk saat ini tidak digunakan oleh mesin atau software enkripsi
karena terlalu mudah untuk dipecahkan. Mesin atau Software enkripsi pada masa
kini memiliki teknologi lebih canggih dengan berlapis-lapis pengkodean dan key

109 KB 2, Konsep RDBMS dalam Pengelolaan Data


Modul 2, Rekayasa Perangkat Lunak

pada suatu bagian pesan belum tentu sama dengan key pada bagian pesan lain.
Sehingga sangat sulit untuk memecahkan kode tanpa mengetahui cipher yang
digunakan. Mungkin Anda semua juga pernah menggunakan enkripsi secara tidak
sadar dari layanan yang Anda gunakan. Seperti contoh ketika anda browsing dan
memasukkan suatu alamat website, pernahkan Anda melihat simbol gembok pada
kolom URL? Jika sudah pernah tentunya Anda pernah merasakan layanan dari
enkripsi ini, yaitu komunikasi antara browser anda dengan web server dari URL
yang Anda tuju tersebut telah terenkripsi dengan protokol HTTPS merupakan
protokol yang telah di enkripsi oleh SSL/Secure Socket Layer.

d. Replikasi Basis Data


Replikasi adalah suatu teknik untuk melakukan copy dan pendistribusian
data dan objek-objek database dari satu database ke database lain dan melaksanakan
sinkronisasi antara database sehingga konsistensi data dapat terjamin. Dengan
menggunakan teknik replikasi ini, data dapat didistribusikan ke lokasi yang berbeda
melalui koneksi jaringan lokal maupun internet. Replikasi juga memungkinkan
untuk mendukung kinerja aplikasi, penyebaran data fisik sesuai dengan
penggunaannya, seperti pemrosesan transaksi online dan DSS (Desiscion Support
System) atau pemrosessan database terdistribusi melalui beberapa server.
Selain itu ada yang menyebutkan bahwa replikasi adalah proses menyalin
dan memelihara objek database dalam beberapa database yang membentuk suatu
sistem database terdistribusi. Replikasi dapat meningkatkan kinerja dan melindungi
ketersediaan aplikasi karena data pilihan alternatif akses ada. Sebagai contoh, sebuah
aplikasi biasanya dapat mengakses database lokal daripada server jauh untuk
meminimalkan lalu lintas jaringan dan mencapai kinerja maksimum. Selanjutnya,
aplikasi dapat terus berfungsi jika server lokal mengalami kegagalan, tetapi server
lain dengan data direplikasi tetap dapat diakses.
Dengan replikasi dasar, replika data memberikan akses read-only ke tabel
data yang berasal dari sebuah situs (master) primer. Aplikasi dapat query data dari
replika data lokal untuk menghindari akses jaringan terlepas dari ketersediaan

KB 2, Konsep RDBMS dalam Pengelolaan Data 110


Modul 2, Rekayasa Perangkat Lunak

jaringan.Namun, aplikasi di seluruh sistem harus mengakses data pada situs utama
ketika pembaruan diperlukan.
Replikasi dapat digunakan apabila sebuah organisasi atau perusahaan
didukung oleh hardware dan aplikasi sofware dalam sebuah sistem yang
terdistribusi. Aplikasi yang berbeda mempunyai kebutuhan yang berbeda untuk
otonomi dan konsistensi data. Replikasi diperlukan dalam sistem terdistibusi apabila
berikut ini:
1) Mengcopy dan mendistribusikan data dari satu atau lebih lokasi,
2) Mendistribusikan hasil copy data berdasarkan jadwal,
3) Mendistribusikan perubahan data ke server lain,
4) Memungkinkan beberapa pengguna di beberapa lokasi untuk melakukan
perubahan dan kemudian menggabungkan data yang telah dimodifikasi,
5) Membangun aplikasi data yang menggunakan perlengkapan online maupun
offline, dan
6) Membangun aplikasi web sehingga pengguna dapat melihat volume data yang
besar.
Perencanaan yang baik sebelum replikasi dapat memaksimalkan konsistensi
data, meminimalkan kebutuhan jaringan dan menghindari beberapa masalah.
Beberapa hal yang menjadi pertimbangan dalam perencanaan replikasi :
1) Kebutuhan data yang akan diubah dan siapa yang mengubah,
2) Pendistribusian data memerlukan konsistensi, otonomi dan kesinambungan,
3) Kelengkapan replikasi yang meliputi kebutuhan user, infra struktur teknik,
jaringan dan keamanan serta karakteristik data,
4) Jenis replikasi dan pilihannya, dan
5) Topologi replikasi dan bagaimana mewujudkannya agar sesuai dengan jenis
replikasi.
Replikasi database adalah seperangkat teknologi yang digunakan untuk
menyalin dan mendistribusikan data dari satu database ke database yang lain. Dan
selanjutnya, mensinkronisasikan antar database untuk menjaga konsistensi. Dengan
replikasi, data dapat didistribusikan ke lokasi yang berbeda dan pengguna yang jauh
melalui LAN, WAN, Dial-up Connection, wireless connections, dan internet.

111 KB 2, Konsep RDBMS dalam Pengelolaan Data


Modul 2, Rekayasa Perangkat Lunak

Replukasi diperlukan untuk membuat backup dengan menggunakan


replikasi memungkinkan didapatkan backup yang sempurna dari suatu database
MySQL yang besar dan aktif tanpa melakukan penghentian dari server yang
bersangkutan. Tanpa replikasi, backup akan memperlambat sistem dan ada
kemungkinan data yang tidak konsisten, karena bisa saja satu tabel berubah
sementara tabel lain yang berhubungan tidak berubah dan sedang di-backup.
Mematikan server akan menjamin data yang konsisten, tetapi ini berarti
menghentikan layanan pada pengguna dan sangat tidak diharapkan. Kadangkala
penghentian ini tidak dapat dihindarkan, tetapi penghentian setiap hari tidak dapat
diterima.
Gambar di bawah ini merupakan deskripsi untuk replikasi database, jadi
database yang ada di komputer “Server Master” sekaligus yang diakses oleh client,
dimiliki juga oleh komputer “Server Slave”. sehingga dapat menghindari
kemungkinan kehilangan data yang ada pada komputer Server Master”.

Gambar 3.11. Gambaran replikasi database

Metode alternatif replikasi MySQL menjamin backup sempurna tanpa harus


menghentikan server tiap hari. Replikasi merupakan konfigurasi sistem dimana
server MySQL, yang dalam hal ini dinamakan master, menyimpan data dan
menangani permintaan pengguna, sementara server MySQL yang lain, yang
dinamakan slave server berisi copy dari data master dan melakukan semua SQL
statement yang mengubah data di master, segera setelah master melakukannya.
Dengan demikian backup dapat dilakukan secara periodik, misalnya seminggu

KB 2, Konsep RDBMS dalam Pengelolaan Data 112


Modul 2, Rekayasa Perangkat Lunak

sekali, pada server slave untuk mendapatkan backup yang sempurna. Setelah backup
selesai, replikasi dapat dijalankan lagi dan slave akan secara otomatis melakukan
query yang dilakukan master pada saat slave dimatikan. Fitur replikasi merupakan
bagian dari MySQL.
Terdapat empat model replikasi basis data, yaitu:
a. One master, one slave

Gambar 3.12. Replikasi one master, one slave

b. One master many slave

Gambar 3.13. Replikasi one master many slave

c. Master/slave circular relationship

Gambar 3.14. Replikasi Master/slave circular relationship

d. Master/slave “daisy chain”

113 KB 2, Konsep RDBMS dalam Pengelolaan Data


Modul 2, Rekayasa Perangkat Lunak

Gambar 3.15. Replikasi Master/slave circular relationship

Jenis-Jenis Replikasi
Terdapat dua jenis replikasi, yaitu:
1) Replikasi Synchronous
Proses replikasi dilakukan secara real-time antara master dan slave.
Keseluruhan proses penulisan pada disk master dan slave harus selesai dilakukan
terlebih dahulu sebelum beranjak ke transaksi selanjutnya. Untuk jenis replikasi ini
kebutuhan akan performansi sistem yang tinggi harus dipertimbangkan (kecepatan
dan jarak antar site/node). Keuntungan yang dimiliki dari jenis ini adalah
menyediakan recovery yang konsisten karena sinkronisasi data terjaga.

Gambar 3.16. Proses replikasi synchronous


2) Replikasi Asynchronous

KB 2, Konsep RDBMS dalam Pengelolaan Data 114


Modul 2, Rekayasa Perangkat Lunak

Proses replikasi terjadi setelah transaksi di master selesai dilakukan.


Pertukaran data dilakukan secara buffering, data akan diletakkan dalam sebuah
buffer terlebih dahulu, kemudian pada jangka waktu tertentu akan direplikasi ke
disk slave. Jenis replikasi ini tidak menjamin kesinkronan data apabila salah satu
site/node mengalami crash saat replikasi belum selesai dilaksanakan. Keuntungan
yang dimiliki dari jenis ini adalah efektifitas biaya proses transaksi.

Gambar 3.17. Proses replikasi asynchronous


Contoh Replikasi pada MySQL
Mulai versi 5.0, MySQL sudah mendukung sistem replikasi yang mana
sebuah database server yang berfungsi sebagai master dapat tereplikasi datanya ke
dalam satu atau lebih database server yang difungsikan sebagai slave. Jenis
replikasi pada MySQL adalah replikasi Asynchronous. Pada MySQL. Replikasi
dapat diberlakukan pada sebagian tabel atau pada keseluruhan database, tergantung
pada kebutuhan. Langkah-langkah umum pembuatan replikasi pada MySQL
adalah:
1) Koneksi jaringan (master & slave)
2) Instalasi MySQL versi 5.2 (master & slave)
3) Buat database (master & slave)
4) Konfigurasi master server
5) Konfigurasi slave

115 KB 2, Konsep RDBMS dalam Pengelolaan Data


Modul 2, Rekayasa Perangkat Lunak

6) Testing

Berikut ini adalah contoh repliaksi database pada MySQl 5.2.

Contoh kasus: Akan dilakukan replikasi data sebuah Toserba di Jakarta dan
Jogjakarta.

Gambar 3.18. Contoh kasus replikasi Master Slave

Langkah-langkah umum pembuatan replikasi pada MySQL:


1. Koneksi jaringan (master & slave)
2. Instalasi MySQL versi 5.2 (master & slave)
3. Buat database (master & slave)
4. Konfigurasi master server
5. Konfigurasi slave
6. Testing
Koneksi Jaringan

1. Lakukan konfigurasi jaringan komputer server pada master dan slave


Master : 192.168.10.1
Slave : 192.168.10.2
2. Tes koneksi (ping)

Instalasi MySQL 5.2.

1. Lakukan instalasi MySQL komputer server dan slave


2. Pada halaman Setup Type, pilih “Typical”.

KB 2, Konsep RDBMS dalam Pengelolaan Data 116


Modul 2, Rekayasa Perangkat Lunak

3. Pada halaman MySQL.com Sign Up, pilih “Skip Sign-Up”


4. Setelah proses instalasi selesai, lakukan proses konfigurasi MySQL server
dengan memberi tanda “√” pada Configure the MySQL Server Now” di tahap
akhir instalasi
5. Pada halaman MySQL Server Instance Configuration, pilih “Standard
Configuration”.
6. Di halaman selanjutnya, beri tanda “√” pada Insyall As Sevice, Launch The
MysSQL Server Automatically dan Include Bin Directory in Windows PATH.
7. Pada halaman selanjutnya, masukkan password untuk MySQL, misalnya
“1234:
8. Pada halaman terakhir, klik tombol “Execute” untuk mengakhiri proses
konfigurasi.
Create Database

1. Masuk ke command prompt, login ke MySQL dengan mengetik perintah:


Mysql –u root –p{password user}
2. Buat database dengan nama “toserba”, ketik perintah:
Create database toserba;
3. Lakukan jal yang sama pada komputer slave.

Konfigurasi Master

1. Buka file my.ini, yang terdapat pada c:\Program Files\MySQL\MySQL

Server 5.2.
2. Ketikkan perintah berikut di bawah tanda [mysqld]
Server-id=1
Log-bin=mysql-bin
3. Restart MySQL
4. Masuk ke command prompt dan login ke MySQL dengan mengetikkan
perintah:
Mysql –u root –p{password user}
5. Berikan akses ke pada slave untuk dapat melakukan replikasi, jalankan
perintah:

117 KB 2, Konsep RDBMS dalam Pengelolaan Data


Modul 2, Rekayasa Perangkat Lunak

Grant replication slave on *.* to


Jogja@192.168.10.2 identified by ‘jogja’;
jogja → username
192.168.10.2 → alamat slave
jogja → password
6. Jalankan perintah:
flush privileges;
use toserba;
flush table with read lock;
toserba → nama database yang akan direplikasi
7. Jalankan perintah:
Show master status;
Setelah menulis perintah di atas, akan muncul keluaran seperti ini (bisa berbeda
tiap komputer):

Catat nama file (mysql-bin.000001) dan posistion (2910) karena


akan digunakan pada konfigurasi selanjutnya.
8. Langkah terakhir, jalankan perintah berikut:
Unlock tables;
9. Kemudia keluar dari MySQL:
Quit;

Konfigurasi Slave
1.Buka file my.ini yang terdapat pada c:\Program files\MySql\MySql server 5.2
2. Ketikkan perintah berikut ini di bawah tanda [mysqld]
server-id=2
master-host=192.168.10.1
master-user=jogja
master-password=jogja
master-connect-retry=60
replicate-do-db=toserba
192.168.10.2 → alamat host
jogja → username dan password

KB 2, Konsep RDBMS dalam Pengelolaan Data 118


Modul 2, Rekayasa Perangkat Lunak

database → database yang replikasi

3. Restart MySQL
4. Masuk ke commad prompt dan login ke MySQL dengan mengetikkan perintah:
mysql –u root –p{password user}
5. Jalankan perintah:
Stop slave;
6. Selanjutnya jalankan perintah:
CHANGE MASTER TO MASTER_HOST=’192.168.10.1’,
MASTER_USER=’jogja’,
MASTER_PASSWORD=’jogja’,
MASTER_LOG_FILE=’mysql-bin.000001’,
MASTER_LOG_POS=2910;
192.168.10.1 → alamat host
jogja → username dan password
mysql-bin.000001 → nama log file
2910 → log position
7. Langkah terakhir, jalankan perintah:
Start slave;
8. Keluar dari MySQL
Quit;

Testing
• Setelah langkah-langkah di atas selesai dilakukan dan konfigurasi sudah
dilakukan dengan benar, maka lakukan uji coba dengan membuat dan mengisi
tabel teserbut pada komputer slave
• Jika proses repliaksi berhasil dilakukan, maka segala perubahan yang terjadi di
komputer server akan terjadi pula pada komputer slave
• Perubahan pada komputer slave tidak berpengaruh pad komputer master, karena
replikasi ini bersifat one-way. Artinya replikasi hanya terjadi pada komputer
server kepada komputer slave, namun tidak sebaliknya.

4. Forum Diskusi

119 KB 2, Konsep RDBMS dalam Pengelolaan Data


Modul 2, Rekayasa Perangkat Lunak

Sebuah perusahaan mendapatkan serangan terhadap database perusahaannya. Jika


Anda sebagai administrator database, langkah-langkah apa yang Anda lakukan
untuk mengamankan data perusahaan tersebut?

A. Penutup
1. Rangkuman
RDBMS tidak hanya menjada salah satu model basis data, tetapi telah
menjadi software pemrosesan data yang dominan saat ini. Software ini
menggambarkan generasi kedua dari DBMS dan berbasiskan model data relasional
yang diajukan oleh E.F. Codd (1970). Pada model relasional, seluruh data
terstruktur secara logika di dalam sebuah relasi (tabel). Setiap relasi mempunyai
nama dan terdiri dari atribut-atribut bernama (kolom). Setiap tuple (baris) berisikan
satu nilai per atribut. Kekuatan yang besar dari model data relasional adalah struktur
logikal yang sederhana. RDBMS dapat mengatasi semua kekurangan pada model
data sebelumnya.
Untuk menjaga database dari pengrusakan data dan pemakaian data oleh pemakai
yang tidak punya kewenangan, penerapan keamanan database adalah hal wajib
yang harus dilakukan. Keamanan database adalah suatu cara untuk melindungi
database dari ancaman, baik dalam bentuk kesengajaan atau pun bukan. Secara
garis besar keamanan database dikategorikan sebagai berikut: keamanan server,
trusted Ip Access, koneksi database dan kontrol akses tabel. Pengamanan basis data
dapat dilakukan dengan cara otorisasi, tabel view, backup data dan recovery ,
integritas data dan enkripsi
Replikasi adalah suatu teknik untuk melakukan copy dan pendistribusian
data dan objek-objek database dari satu database ke database lain dan melaksanakan
sinkronisasi antara database sehingga konsistensi data dapat terjamin. Dengan
menggunakan teknik replikasi ini, data dapat didistribusikan ke lokasi yang berbeda
melalui koneksi jaringan lokal maupun internet. Replikasi juga memungkinkan
untuk mendukung kinerja aplikasi, penyebaran data fisik sesuai dengan
penggunaannya, seperti pemrosesan transaksi online dan DSS (Desiscion Support

KB 2, Konsep RDBMS dalam Pengelolaan Data 120


Modul 2, Rekayasa Perangkat Lunak

System) atau pemrosessan database terdistribusi melalui beberapa server. Replikasi


dapat dilakukan baik secara synchronous maupun asynchronous.

2. Tes Formatif
Pilihlah jawaban yang paling tepat

1. Gambar di bawah ini merupakan contoh hubungan .....

A. Hubungan majemuk
B. Hubungan binary dengan atribut
C. Hubungan ternary dengan atribut
D. Hubungan unary beratribute, hubungan banyak ke banyak

2. Urutkan langkah – langkah dalam DBMS untuk pengolahan query ..


1. Setelah itu, bagian query optimizer mengkonversi ekspresi aljabar
relasional ini menjadi ekspresi lain yang ekvivalen nemun lebih efisien
untuk dieksekusi.
2. DBMS melakukan parsing terhadap string dari query SQL dan
menerjemahkannya menjadi ekspresi aljabar relasional yang dapat
menuntun kedalam algoritma sederhana yang tidak efisien.
3. Berdasarkan ekpresi aljabar relasional yang telah dioptimasi, query
optimizer mempesiapkan rencana eksekusi query (query execution plan)
yang kemudian ditransformasikan menjadi kode yang dapat dieksekusi
pembangkit kode di DBMS.
4. Karena ekspresi aljabar mempunyai semantik matematika yang presisi
maka sistem dapat memferifikasi ekvivalensi ekspresi yang dioptimasi
yang dihasilkan dari manipulasi ekpresi asal. Semantiks ini juga
memungkinkan pembandingan rencana – rencana evaluasi query yang
berbeda.
A. 1-2-3-4

121 KB 2, Konsep RDBMS dalam Pengelolaan Data


Modul 2, Rekayasa Perangkat Lunak

B. 2-3-4-1
C. 2-1-3-4
D. 4-3-2-1
3. 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
4. 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
2. Model dimana data serta hubungan antar direpresentasikan dengan record dan
link, dan disusun dalam bentuk tree atau pohon...
a. Model semantic
b. Model hierarki
c. Model jaringan
d. Model relational
e. Model data fisik
3. Dibawah ini pernyataan yang kurang tepat mengenai VIEW pada Data
Definition Language adalah.....
A. View mencakup subset kolom dan/ baris
B. View dibuat dengan menciptakan relasi baru dan harus membuat table-tabel
baru
C. Manipulasi data melalui view terbatas

KB 2, Konsep RDBMS dalam Pengelolaan Data 122


Modul 2, Rekayasa Perangkat Lunak

D. View dapat berisikan data dari beberapa table dan atau table-tabel view
lainnya
E. View berisikan data dari beberapa table lain
4. Penentuan kebijakan keamanan database dilihat dari sisi keamanan data, antara
lain:
A. Melakukan manajemen user database
B. Menentukan mekanisme akses kontrol terhadap data
C. Database administrator berkoordinasi dengan system administrator
D. Melakukan kebijakan auditing transaksi setiap database
8. Satu record mewakili ...
A. Satu data atau informasi tentang seseorang
B. Satu data atau informasi tentang beberapa orang
C. Satu data atau informasi tentang orang tertentu
D. Satu data atau informasi penting yang berkaitan dengan beberapa orang
9. Merupakan kumpulan field/atribut minimal yang dapat membedakan setiap
baris data dalam sebuah tabel secara unik merupakan pengertian dari..
A. Superkey
B. Candidate-key
C. Key primer
D. Kunci tamu
10. 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
D. Replikasi Slave master Slave
E. Replikasi homogen

Daftar Pustaka

123 KB 2, Konsep RDBMS dalam Pengelolaan Data


Modul 2, Rekayasa Perangkat Lunak

Basta, Alfred, et all, 2012, Database Security, Boston: Course Technology.


Gertz, Michael and Jajodia, Sushil, 2008. Handbook of Database Security:
Application and Trends, New York: Springer.
Kadir, Abdul, Konsep dan Tuntunan Praktis Basis Data, Yogyakarta: Penerbit
Andi.
Rob, Peter, et. All, 2008. Database System: Design, Implementation &
Management. London: Cengage Learning EMEA.
Stiawan, Deris, 2005. Keamanan Komputer, Jakarta: Elex Media Komputindo.
Suanthi S and Esakkirajan, S., Fundamemtals of Relational Database Management
System, New York: Springer Berlin Heidelberg.
Wahana Komputer, 2010. Panduan Belajar MySQL Database Server, Jakarta:
Media Kita.
Ward, Patricia and Dafoulas, George., 2006. Database Management System,
London: Thompson.
Widodo, Agus Wahyu dan Kurnianingtyas, Diva, 2017. Sistem Basis Data, Malang:
UB Press.
https://medium.com/@wafaakamilahmaulanihermawan/teknologi-replikasi-
hardware-database-replication-virtual-operating-system-
99aacc9bbe4a#targetText=Replikasi%20database%20adalah%20seperang
kat%20teknologi,database%20ke%20database%20yang%20lain.&targetTe
xt=Dengan%20replikasi%2C%20data%20dapat%20didistribusikan,%2C%
20wireless%20connections%2C%20dan%20internet., diakses 25 Agustus
2019.
http://dinus.ac.id/repository/docs/ajar/c-12_Reff_Replikasi_BD.pdf

KB 2, Konsep RDBMS dalam Pengelolaan Data 124


Modul 2, Rekayasa Perangkat Lunak

KB 4, PBO Dalam Perancangan Aplikasi/Sistem


124
Infomasi
Modul 2, Rekayasa Perangkat Lunak

KEGIATAN BELAJAR 4
PEMROGRAMAN BERORIENTASI OBJEK 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

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

KB 4, PBO Dalam Perancangan Aplikasi/Sistem


126
Infomasi
Modul 2, Rekayasa Perangkat Lunak

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

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
Object-oriented programming atau OOP adalah suatu metode pemrograman
yang berorientasi pada objek. Program-program yang telah ada merupakan
gabungan dari beberapa komponen-komponen kecil yang sudah ada sebelumnya.
Hal itu dapat mempermudah pekerjaan seorang programmer dalam melakukan
pengembangan program.
Objek-objek yang saling berkaitan dan disusun kedalam satu kelompok ini
disebut dengan clas, nantinya, objek-objek tersebut akan saling berinteraksi untuk
menyelesaikan masalah program yang rumit. Jika sebelumnya developer harus
berfokus pada logic yang akan dimanipulasi, dengan OOP, developer dapat lebih
terfokus pada objeknya saja untuk dimanipulasi. Pendekatan ini menawarkan cara
yang mudah untuk menangani kerumitan suatu pemrograman. Tujuan utama OOP
adalah untuk mengatasi kelemahan pendekatan pemrograman konvensional.
Dalam object oriented programming, dikenal empat prinsip yang menjadi
dasar penggunaannya. Merangkum Freecodecamp, keempat prinsip OOP tersebut
adalah sebagai berikut:
1) Encapsulation
Encapsulation atau pengkapsulan adalah konsep tentang pengikatan data atau
metode berbeda yang disatukan atau “dikapsulkan” menjadi satu unit data.
Maksudnya, berbagai objek yang berada dalam class tersebut dapat berdiri
sendiri tanpa terpengaruh oleh yang lainnya. Encapsulation dapat
mempermudah pembacaan kode. Hal tersebut terjadi karena informasi yang
disajikan tidak perlu dibaca secara rinci dan sudah merupakan satu kesatuan.
Proses enkapsulasi mempermudah untuk menggunakan sebuah objek dari suatu
kelas karena kita tidak perlu mengetahui segala hal secara rinci.

KB 4, PBO Dalam Perancangan Aplikasi/Sistem


128
Infomasi
Modul 2, Rekayasa Perangkat Lunak

2) Abstraction
Prinsip selanjutnya yaitu abstraction. Prinsip ini sendiri berarti memungkinkam
seorang developer memerintahkan suatu fungsi, tanpa harus mengetahui
bagaimana fungsi tersebut bekerja. Lebih lanjut, abstraction berarti
menyembunyikan detail latar belakang dan hanya mewakili informasi yang
diperlukan untuk dunia luar. Ini adalah proses penyederhanaan konsep dunia
nyata menjadi komponen yang mutlak diperlukan. Seperti kala menggunakan
handphone, kamu cukup memberikan suatu perintah, tanpa tahu bagaimana
proses terlaksananya perintah tersebut.
3) Inheritance
Inheritance dalam konsep OOP adalah kemampuan untuk membentuk class
baru yang memiliki fungsi turunan atau mirip dengan fungsi yang ada
sebelumnya. Konsep ini menggunakan sistem hierarki atau bertingkat.
Maksudnya, semakin jauh turunan atau subclass-nya, maka semakin sedikit
kemiripan fungsinya.
4) Polymorphism
Prinsip terakhir dalam OOP adalah polymorphism. Pada dasarnya
polymorphism adalah kemampuan suatu pesan atau data untuk diproses lebih
dari satu bentuk. Salah satu ciri utama dari OOP adalah adanya polymorphism.
Tanpa hal ini, suatu pemrograman tidak bisa dikatakan sebagai OOP.
Polymorphism sendiri adalah konsep di mana suatu objek yang berbeda-beda
dapat diakses melalui interface yang sama. Sebagai contoh, kamu memiliki
fungsi untuk menghitung luas suatu benda, sementara benda tersebut berbentuk
segitiga, lingkaran, dan persegi. Tentu, ketiga benda tersebut memiliki rumus
perhitungan tersendiri. Dengan polymorphism, kamu dapat memasukkan fungsi
perhitungan luas ke tiga benda tersebut, dengan tiap benda memiliki metode
perhitungannya sendiri. Ini tentu akan mempermudah perintah yang sama
untuk beberapa class atau subclass tertentu.
Pemrograman berorientasi objek bisa digunakan jika tahap penulisan kode
program sudah mencapai tingkat kerumitan yang tinggi. Hal ini biasanya terjadi
pada bahasa pemrograman yang tingkatan bahasa pemrogramannya termasuk

129 KB 4, PBO Dalam Perancangan Aplikasi/Sistem


Infomasi
Modul 2, Rekayasa Perangkat Lunak

tinggi, sehingga membutuhkan penulisan yang lebih kompleks. Macam-macam


bahasa pemrograman yang cocok untuk penerapan metode OOP adalah sebagai
berikut:
1) Visual Foxpro
2) Java
3) C++
4) Pascal (bahasa pemrograman)
5) Visual Basic.NET
6) SIMULA
7) Smalltalk
8) Ruby
9) Python
10) PHP
11) C#
12) Delphi
13) Eiffel
14) Perl
15) Adobe Flash AS 3.0
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.

KB 4, PBO Dalam Perancangan Aplikasi/Sistem


130
Infomasi
Modul 2, Rekayasa Perangkat Lunak

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:
1) Java SE (Standard Edition), yang khusus digunakan untuk pengembangan
aplikasiaplikasi pada PC atau workstation.
2) Java ME (Micro Edition), yaitu khusus digunakan untuk pengembangan
aplikasi-aplikasi yang ada di perangkat mobile spt HP, smartphone, PDA,
tablet dan sebagainya.
3) 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:
1) 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.
2) 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

131 KB 4, PBO Dalam Perancangan Aplikasi/Sistem


Infomasi
Modul 2, Rekayasa Perangkat Lunak

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

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

KB 4, PBO Dalam Perancangan Aplikasi/Sistem


132
Infomasi
Modul 2, Rekayasa Perangkat Lunak

Gambar 4.5. Tampilan pilihan lokasi instalasi JDK+Netbeans


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

133 KB 4, PBO Dalam Perancangan Aplikasi/Sistem


Infomasi
Modul 2, Rekayasa Perangkat Lunak

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

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.

KB 4, PBO Dalam Perancangan Aplikasi/Sistem


134
Infomasi
Modul 2, Rekayasa Perangkat Lunak

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
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:

135 KB 4, PBO Dalam Perancangan Aplikasi/Sistem


Infomasi
Modul 2, Rekayasa Perangkat Lunak

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.

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

KB 4, PBO Dalam Perancangan Aplikasi/Sistem


136
Infomasi
Modul 2, Rekayasa Perangkat Lunak

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:
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’

137 KB 4, PBO Dalam Perancangan Aplikasi/Sistem


Infomasi
Modul 2, Rekayasa Perangkat Lunak

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";
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,

KB 4, PBO Dalam Perancangan Aplikasi/Sistem


138
Infomasi
Modul 2, Rekayasa Perangkat Lunak

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.
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 {
.
.
.
}

139 KB 4, PBO Dalam Perancangan Aplikasi/Sistem


Infomasi
Modul 2, Rekayasa Perangkat Lunak

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
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

KB 4, PBO Dalam Perancangan Aplikasi/Sistem


140
Infomasi
Modul 2, Rekayasa Perangkat Lunak

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

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

141 KB 4, PBO Dalam Perancangan Aplikasi/Sistem


Infomasi
Modul 2, Rekayasa Perangkat Lunak

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

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;

KB 4, PBO Dalam Perancangan Aplikasi/Sistem


142
Infomasi
Modul 2, Rekayasa Perangkat Lunak

}
// 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.
- 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:

143 KB 4, PBO Dalam Perancangan Aplikasi/Sistem


Infomasi
Modul 2, Rekayasa Perangkat Lunak

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();

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;

KB 4, PBO Dalam Perancangan Aplikasi/Sistem


144
Infomasi
Modul 2, Rekayasa Perangkat Lunak

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,

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

145 KB 4, PBO Dalam Perancangan Aplikasi/Sistem


Infomasi
Modul 2, Rekayasa Perangkat Lunak

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
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.

KB 4, PBO Dalam Perancangan Aplikasi/Sistem


146
Infomasi
Modul 2, Rekayasa Perangkat Lunak

Gambar 4.25. Tampilan pembuatan class baru


Lalu isikan nama class yang akan dibuat yaitu ‘classku’

Gambar 4.26. Form pengisian class baru

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’

147 KB 4, PBO Dalam Perancangan Aplikasi/Sistem


Infomasi
Modul 2, Rekayasa Perangkat Lunak

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
();
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

KB 4, PBO Dalam Perancangan Aplikasi/Sistem


148
Infomasi
Modul 2, Rekayasa Perangkat Lunak

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

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());
}

149 KB 4, PBO Dalam Perancangan Aplikasi/Sistem


Infomasi
Modul 2, Rekayasa Perangkat Lunak

// membaca data long


integer public long
bacaLong()
{
return Long.parseLong(bacaString());
}
}

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);
}
}

KB 4, PBO Dalam Perancangan Aplikasi/Sistem


150
Infomasi
Modul 2, Rekayasa Perangkat Lunak

Output Via Console


Secara umum perintah untuk menampilkan output ke layar console adalah
System.out.println(string);
atau
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;

151 KB 4, PBO Dalam Perancangan Aplikasi/Sistem


Infomasi
Modul 2, Rekayasa Perangkat Lunak

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,
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

KB 4, PBO Dalam Perancangan Aplikasi/Sistem


152
Infomasi
Modul 2, Rekayasa Perangkat Lunak

Contoh 9
Contoh program Java untuk menjumlahkan dua buah bilangan integer yang diinput
melalui GUI kemudian menampilkan hasilnya via Message Dialog.
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

153 KB 4, PBO Dalam Perancangan Aplikasi/Sistem


Infomasi
Modul 2, Rekayasa Perangkat Lunak

persyaratan/kondisional.

Struktur Kontrol IF
Tata cara penulisan statement IF:
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;

KB 4, PBO Dalam Perancangan Aplikasi/Sistem


154
Infomasi
Modul 2, Rekayasa Perangkat Lunak

statement;
.
.
}

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)
{

155 KB 4, PBO Dalam Perancangan Aplikasi/Sistem


Infomasi
Modul 2, Rekayasa Perangkat Lunak

statemen
t;
statemen
t;
.
.
}

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

KB 4, PBO Dalam Perancangan Aplikasi/Sistem


156
Infomasi
Modul 2, Rekayasa Perangkat Lunak

namaKaryawan Public String Nama karyawan


gajipokok Public Float Gaji pokok karyawan
statusMenikah Public Char Status menikah ‘Y’ atau ‘N’
jmlAnak Public Integer Jumlah anak

Tabel 4.3. Struktur method ‘gaji’

Tipe Data
Nama method Sifat Method Keterangan
Return Value
hitungTunjIstri(char s) Public (non void) Float Menghitung
s: status menikah (y/n) tunjangan istri
hitungTunjAnak(int n) Public (non void) Float Menghitungan
n: jumlah anak 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)));

157 KB 4, PBO Dalam Perancangan Aplikasi/Sistem


Infomasi
Modul 2, Rekayasa Perangkat Lunak

return jmlPotongan;
}
public float hitungGajiBersih()
{
float gaber;
gaber = (float) (this.gajiPokok +
this.hitungTunjAnak(this.jmlAnak) +
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

KB 4, PBO Dalam Perancangan Aplikasi/Sistem


158
Infomasi
Modul 2, Rekayasa Perangkat Lunak

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

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);
}
}

159 KB 4, PBO Dalam Perancangan Aplikasi/Sistem


Infomasi
Modul 2, Rekayasa Perangkat Lunak

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


perintah sebagai berikut:

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);

KB 4, PBO Dalam Perancangan Aplikasi/Sistem


160
Infomasi
Modul 2, Rekayasa Perangkat Lunak

op1.jumlahkan();
op1.tampilhasil();

Larik (Array)
Seperti halnya bahasa pemrogaman yang lain, di dalam Java juga ada penggunaan
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);

161 KB 4, PBO Dalam Perancangan Aplikasi/Sistem


Infomasi
Modul 2, Rekayasa Perangkat Lunak

}
}
Selanjutnya buat class di file yang lain yang merupakan turunan atau warisan dari
class ‘kendaraan’ tersebut dengan nama ‘keretaApi’. Dalam hal ini class
‘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.

KB 4, PBO Dalam Perancangan Aplikasi/Sistem


162
Infomasi
Modul 2, Rekayasa Perangkat Lunak

Keterangan:
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

163 KB 4, PBO Dalam Perancangan Aplikasi/Sistem


Infomasi
Modul 2, Rekayasa Perangkat Lunak

ada di superclass1. Demikian juga untuk method1() yang ada di subclass2. Jika
suatu obyek diinstasiasikan dari class subclass1, dan kemudian obyek tersebut
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:

KB 4, PBO Dalam Perancangan Aplikasi/Sistem


164
Infomasi
Modul 2, Rekayasa Perangkat Lunak

superclass1 ob1, ob2, ob3;

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?

165 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.

KB 4, PBO Dalam Perancangan Aplikasi/Sistem


166
Infomasi
Modul 2, Rekayasa Perangkat Lunak

Sedangkan ‘var’ diisikan dengan sembarang nama variabel.


Dengan statement try-catch di atas, maka pesan error exception tidak akan muncul
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.

167 KB 4, PBO Dalam Perancangan Aplikasi/Sistem


Infomasi
Modul 2, Rekayasa Perangkat Lunak

public static void main(String[] args) {


int bil1, bil2;
// selama input untuk bil1 bukan bilangan bulat
// maka akan terus
mengulang input while
(true)
{
try
{
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.

KB 4, PBO Dalam Perancangan Aplikasi/Sistem


168
Infomasi
Modul 2, Rekayasa Perangkat Lunak

Secara umum, exception handling yang dijelaskan pada KB ini adalah


exception handling pada pemrograman java yang dilakukan menggunakan keyword
try-catch.

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

169 KB 4, PBO Dalam Perancangan Aplikasi/Sistem


Infomasi
Modul 2, Rekayasa Perangkat Lunak

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
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.

KB 4, PBO Dalam Perancangan Aplikasi/Sistem


170
Infomasi
Modul 2, Rekayasa Perangkat Lunak

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
}

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:

171 KB 4, PBO Dalam Perancangan Aplikasi/Sistem


Infomasi
Modul 2, Rekayasa Perangkat Lunak

• 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 {
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) {

KB 4, PBO Dalam Perancangan Aplikasi/Sistem


172
Infomasi
Modul 2, Rekayasa Perangkat Lunak

// lakukan sesuatu
} catch (KesalahanAlokasiMemori) {
// lakukan sesuatu
} catch (KesalahanTutupFile) {
// lakukan sesuatu
}

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,

173 KB 4, PBO Dalam Perancangan Aplikasi/Sistem


Infomasi
Modul 2, Rekayasa Perangkat Lunak

Mendefinisikan method yang menghasilkan exception:


• 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()
}
}

KB 4, PBO Dalam Perancangan Aplikasi/Sistem


174
Infomasi
Modul 2, Rekayasa Perangkat Lunak

Exception Propagation
Exception dapat ditangani pada tingkat yang lebih tinggi, jika di tempat
terjadinya terjadinya exception exception tidak ditangani ditangani secara tepat.
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()

175 KB 4, PBO Dalam Perancangan Aplikasi/Sistem


Infomasi
Modul 2, Rekayasa Perangkat Lunak

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
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

KB 4, PBO Dalam Perancangan Aplikasi/Sistem


176
Infomasi
Modul 2, Rekayasa Perangkat Lunak

• Class TestB1 → ok karena ArithmeticException merupakan subclass dari


RuntimeException.
• Class TestB2 → error karena Exception merupakan superclass dari
RuntimeException.

• 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,

177 KB 4, PBO Dalam Perancangan Aplikasi/Sistem


Infomasi
Modul 2, Rekayasa Perangkat Lunak

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,
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

KB 4, PBO Dalam Perancangan Aplikasi/Sistem


178
Infomasi
Modul 2, Rekayasa Perangkat Lunak

• 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
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

179 KB 4, PBO Dalam Perancangan Aplikasi/Sistem


Infomasi
Modul 2, Rekayasa Perangkat Lunak

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.

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,

KB 4, PBO Dalam Perancangan Aplikasi/Sistem


180
Infomasi
Modul 2, Rekayasa Perangkat Lunak

Gambar 4.37. Tampilan menu Privileges

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)

181 KB 4, PBO Dalam Perancangan Aplikasi/Sistem


Infomasi
Modul 2, Rekayasa Perangkat Lunak

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


8. Kemudian cari pada bagian <Locationmatch >

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.

KB 4, PBO Dalam Perancangan Aplikasi/Sistem


182
Infomasi
Modul 2, Rekayasa Perangkat Lunak

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

Gambar 4.41. Script kode koneksi

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,

183 KB 4, PBO Dalam Perancangan Aplikasi/Sistem


Infomasi
Modul 2, Rekayasa Perangkat Lunak

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
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

KB 4, PBO Dalam Perancangan Aplikasi/Sistem


184
Infomasi
Modul 2, Rekayasa Perangkat Lunak

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
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

185 KB 4, PBO Dalam Perancangan Aplikasi/Sistem


Infomasi
Modul 2, Rekayasa Perangkat Lunak

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.
- 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

KB 4, PBO Dalam Perancangan Aplikasi/Sistem


186
Infomasi
Modul 2, Rekayasa Perangkat Lunak

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

- 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.

187 KB 4, PBO Dalam Perancangan Aplikasi/Sistem


Infomasi
Modul 2, Rekayasa Perangkat Lunak

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
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

KB 4, PBO Dalam Perancangan Aplikasi/Sistem


188
Infomasi
Modul 2, Rekayasa Perangkat Lunak

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
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

189 KB 4, PBO Dalam Perancangan Aplikasi/Sistem


Infomasi
Modul 2, Rekayasa Perangkat Lunak

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
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

KB 4, PBO Dalam Perancangan Aplikasi/Sistem


190
Infomasi
Modul 2, Rekayasa Perangkat Lunak

• 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.
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

191 KB 4, PBO Dalam Perancangan Aplikasi/Sistem


Infomasi
Modul 2, Rekayasa Perangkat Lunak

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
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

KB 4, PBO Dalam Perancangan Aplikasi/Sistem


192
Infomasi
Modul 2, Rekayasa Perangkat Lunak

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
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.

193 KB 4, PBO Dalam Perancangan Aplikasi/Sistem


Infomasi
Modul 2, Rekayasa Perangkat Lunak

• 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
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.

KB 4, PBO Dalam Perancangan Aplikasi/Sistem


194
Infomasi
Modul 2, Rekayasa Perangkat Lunak

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.
• 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.

195 KB 4, PBO Dalam Perancangan Aplikasi/Sistem


Infomasi
Modul 2, Rekayasa Perangkat Lunak

• 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.
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

KB 4, PBO Dalam Perancangan Aplikasi/Sistem


196
Infomasi
Modul 2, Rekayasa Perangkat Lunak

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

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.

197 KB 4, PBO Dalam Perancangan Aplikasi/Sistem


Infomasi
Modul 2, Rekayasa Perangkat Lunak

• 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.

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:

KB 4, PBO Dalam Perancangan Aplikasi/Sistem


198
Infomasi
Modul 2, Rekayasa Perangkat Lunak

Gambar 4.44. Package aplikasi menu restoran

Selanjutnya dirancang diagram kelas sebagai berikut:

Gambar 4.45. Class diagram aplikasi

199 KB 4, PBO Dalam Perancangan Aplikasi/Sistem


Infomasi
Modul 2, Rekayasa Perangkat Lunak

Hasil running dari program adalah sebagai berikut:

Gambar 4.46. Screen shoot aplikasi

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

KB 4, PBO Dalam Perancangan Aplikasi/Sistem


200
Infomasi
Modul 2, Rekayasa Perangkat Lunak

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.

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

201 KB 4, PBO Dalam Perancangan Aplikasi/Sistem


Infomasi
Modul 2, Rekayasa Perangkat Lunak

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.
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

KB 4, PBO Dalam Perancangan Aplikasi/Sistem


202
Infomasi
Modul 2, Rekayasa Perangkat Lunak

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( ));
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”);

203 KB 4, PBO Dalam Perancangan Aplikasi/Sistem


Infomasi
Modul 2, Rekayasa Perangkat Lunak

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
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

KB 4, PBO Dalam Perancangan Aplikasi/Sistem


204
Infomasi
Modul 2, Rekayasa Perangkat Lunak

$ 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
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 {

205 KB 4, PBO Dalam Perancangan Aplikasi/Sistem


Infomasi
Modul 2, Rekayasa Perangkat Lunak

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);

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 {

KB 4, PBO Dalam Perancangan Aplikasi/Sistem


206
Infomasi
Modul 2, Rekayasa Perangkat Lunak

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
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.

207 KB 4, PBO Dalam Perancangan Aplikasi/Sistem


Infomasi
Modul 2, Rekayasa Perangkat Lunak

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

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

KB 4, PBO Dalam Perancangan Aplikasi/Sistem


208
Infomasi
Modul 2, Rekayasa Perangkat Lunak

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
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)

209 KB 4, PBO Dalam Perancangan Aplikasi/Sistem


Infomasi
Modul 2, Rekayasa Perangkat Lunak

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
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

KB 4, PBO Dalam Perancangan Aplikasi/Sistem


210
Infomasi
Modul 2, Rekayasa Perangkat Lunak

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
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
Harga Total
No Posisi Jumlah Satuan Waktu Satuan
Satuan Biaya
1 Project 1 Orang 6 Bulan
Manager
2 System 2 Orang 6 Bulan
Analyst dan
Designer
3 Database 1 Orang 6 Bulan
Administrator
4 Programmer
5 Dokumentator
6 dst
Total Biaya

2. Perangkat Keras (Hardware)


Harga Total
No Item Spesifikasi Jumlah Satuan
Satuan Harga
1 IBM Zeon 1 Unit

211 KB 4, PBO Dalam Perancangan Aplikasi/Sistem


Infomasi
Modul 2, Rekayasa Perangkat Lunak

2 dst
3
Total Harga

3. Perangkat Lunak (Software)


Harga Total
No Item Spesifikasi Jumlah Satuan
Satuan Harga
1 Windows 1 Unit
Server 2019
2 Oracle 12c
3 dst
4
Total Harga
4. Overhead
Harga Total
No Item Jumlah Satuan
Satuan 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
Harga Total
No Item Jumlah Satuan Waktu Satuan
Satuan Biaya
1 Hardware 1 Paket 12 Bulan
2 Software 1 Paket 12 Bulan
Total Biaya

6. Rekapitulasi

KB 4, PBO Dalam Perancangan Aplikasi/Sistem


212
Infomasi
Modul 2, Rekayasa Perangkat Lunak

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

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:
Bulan/Minggu
No Kegiatan 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

213 KB 4, PBO Dalam Perancangan Aplikasi/Sistem


Infomasi
Modul 2, Rekayasa Perangkat Lunak

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.

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

KB 4, PBO Dalam Perancangan Aplikasi/Sistem


214
Infomasi
Modul 2, Rekayasa Perangkat Lunak

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
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

215 KB 4, PBO Dalam Perancangan Aplikasi/Sistem


Infomasi
Modul 2, Rekayasa Perangkat Lunak

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
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.

KB 4, PBO Dalam Perancangan Aplikasi/Sistem


216
Infomasi
Modul 2, Rekayasa Perangkat Lunak

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
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

217 KB 4, PBO Dalam Perancangan Aplikasi/Sistem


Infomasi
Modul 2, Rekayasa Perangkat Lunak

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
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 ....

KB 4, PBO Dalam Perancangan Aplikasi/Sistem


218
Infomasi
Modul 2, Rekayasa Perangkat Lunak

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.
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

219 KB 4, PBO Dalam Perancangan Aplikasi/Sistem


Infomasi
Modul 2, Rekayasa Perangkat Lunak

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
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

KB 4, PBO Dalam Perancangan Aplikasi/Sistem


220
Infomasi
Modul 2, Rekayasa Perangkat Lunak

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....
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;

221 KB 4, PBO Dalam Perancangan Aplikasi/Sistem


Infomasi
Modul 2, Rekayasa Perangkat Lunak

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
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();

KB 4, PBO Dalam Perancangan Aplikasi/Sistem


222
Infomasi
Modul 2, Rekayasa Perangkat Lunak

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);

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");
}

223 KB 4, PBO Dalam Perancangan Aplikasi/Sistem


Infomasi
Modul 2, Rekayasa Perangkat Lunak

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
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

KB 4, PBO Dalam Perancangan Aplikasi/Sistem


224
Infomasi
Modul 2, Rekayasa Perangkat Lunak

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
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

225 KB 4, PBO Dalam Perancangan Aplikasi/Sistem


Infomasi
Modul 2, Rekayasa Perangkat Lunak

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

KB 4, PBO Dalam Perancangan Aplikasi/Sistem


226
Infomasi

Anda mungkin juga menyukai