PENDALAMAN MATERI
TEKNIK KOMPUTER DAN INFORMATIKA
MODUL 2
REKAYASA PERANGKAT LUNAK
Penulis:
Hasrul Bakri
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
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
xiii
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
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
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
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
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)
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
rekayasa sistem informasi perangkat lunak dapat berarti menyusun sistem atau
perangkat lunak yang benar-benar baru atau yang lebih sering terjadi
Tahapan-tahapan yang ada pada SDLC secara global menurut A.S. &
1) Inisiasi (initiation), tahap ini biasanya ditandai dengan pembuatan hasil proyek
perangkat lunak.
yang sudah lengkap, dokumen desain sistem fokus pada bagaimana dapat
pengujian.
user) dan menjalankan resolusi dari permasalahan yang teridentifikasi dari fase
sistem dan membangun data yang sebenarnya sesuai dengan aktifitas user.
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
berikut :
agar dapat dipahami perangkat lunak apa yang dibutuhkan oleh user.
didokumentasikan.
b) Desain. Desain perangkat lunak adalah proses multi langkah yang fokus pada
selanjutnya. Desain perangkat lunak yang dihasilkan pada tahap ini juga perlu
didokumentasikan.
perangkat lunak. Hasil dari tahap ini adalah program komputer sesuai dengan
d) Pengujian. Pengujian fokus pada perangkat lunak secara dari segi lojik dan
fungsional dan memastikan bahwa semua bagian sudah diuji. Hal ini dilakukan
muncul dan tidak terdeteksi saat pengujian atau perangkat lunak harus
perubahan perangkat lunak yang sudah ada, tapi tidak untuk membuat
program prototipe agar pelanggan lebih terbayang dengan apa yang sebenarnya
simulasi alur perangkat lunak sehingga tampak seperti perangkat lunak yang
sudah jadi. Program prototipe ini dievaluasi oleh pelanggan atau user sampai
keperluan lain. Sebuah mock-up disebut juga sebagai prototipe perangkat lunak
lunak.
lunak yang kurang baik atau bahkan menyebabkan iteratif tanpa akhir.
mengantisipasi agar proyek dapat berjalan sesuai dengan target waktu dan
tersebut akan menjadi patokan agar spesifikasi kebutuhan sistem masih dalam
Model prototipe kurang cocok untuk aplikasi dengan skala besar karena
membuat prototipe untuk aplikasi sekala besar akan sangat memakan waktu
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. &
perangkat lunak dibatasi dengan baik sehingga tim dapat menyelesaikan pembuatan
perangkat lunak dengan waktu yang pendek. Model RAD membagi tim
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.
4) Model Iteratif
model air terjun dan iteratif pada model prototipe. Model inkremental akan
fungsi untuk setiap pertambahannya (A.S. & Shalahuddin, 2019). Berikut adalah
Model inkremental dibuat untuk mengatasi kelemahan dari model air terjun
yang memiliki proses terlalu pendek dan setiap iteratif prosesnya tidak selalu
Model inkremental sangat cocok digunakan jika staf yang dimiliki memiliki
pergantian (turnover) yang tinggi sehingga staf tidak dapat terus ikut dalam
direncanakan terlebih dahulu agar hasil produk dan pengerjaan setiap tahapan
5) Model Spiral
dengan kontrol dan aspek sistematik yang diambil dari model air terjun. Model
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
lebih representasi dari aplikasi perangkat lunak (dapat juga berupa prototipe).
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
Pada model spiral, hasil akhir dan evaluasi dari sebuah wilayah kerja akan
menjadi inisiasi dari wilayah kerja berikutnya. Model spiral cocok digunakan untuk
proses analisis risiko yang dapat sangat meminimalisir risiko yang mungkin terjadi.
e. Pemodelan
Dalam banyak aplikasi engineering, model didefinisikan sebagai
representasi dari sistem yang disederhanakan. Representasi ini pun juga bermacam-
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.
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)
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.
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.
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.
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.
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
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
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.
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
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.
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
Untuk menjalankan dari starUML, dapat diakses melalui menu Model → componen
diagram, seperti yang ditunjukkan dalam gambar di bawah ini.
4. Forum Diskusi
Dalam rekayasa perangkat lunak dikenal dua metode pengembangan, yaitu
metode prosedural dan metode berorientasi objek. Perbedaan mendasar antara OOP
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
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
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
▪ 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.
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.
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.
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
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.
Sistem Informasi
Modul 2, Rekayasa Peangkat Lunak
3. Uraian materi
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)
Sistem Informasi
Modul 2, Rekayasa Peangkat Lunak
Sistem Informasi
Modul 2, Rekayasa Peangkat Lunak
Sistem Informasi
Modul 2, Rekayasa Peangkat Lunak
Sistem Informasi
Modul 2, Rekayasa Peangkat Lunak
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.
Sistem Informasi
Modul 2, Rekayasa Peangkat Lunak
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
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.
Sistem Informasi
Modul 2, Rekayasa Peangkat Lunak
Sistem Informasi
Modul 2, Rekayasa Peangkat Lunak
Sistem Informasi
Modul 2, Rekayasa Peangkat Lunak
Sistem Informasi
Modul 2, Rekayasa Peangkat Lunak
Sistem Informasi
Modul 2, Rekayasa Peangkat Lunak
Sistem Informasi
Modul 2, Rekayasa Peangkat Lunak
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
Sistem Informasi
Modul 2, Rekayasa Peangkat Lunak
Sistem Informasi
Modul 2, Rekayasa Peangkat Lunak
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.
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
Sistem Informasi
Modul 2, Rekayasa Peangkat Lunak
Sistem Informasi
Modul 2, Rekayasa Peangkat Lunak
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.
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:
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.
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:
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.
Sistem Informasi
Modul 2, Rekayasa Peangkat Lunak
Keterangan:
a) Proses merupakan rangkaian aktivitas logis yang saling berhubungan dan
berkesinambungan dalam mengolah input, memberikan nilai tambah,
dan menjadikannya output.
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.
Sistem Informasi
Modul 2, Rekayasa Peangkat Lunak
Sistem Informasi
Modul 2, Rekayasa Peangkat Lunak
BAB I
PENDAHULUAN
A. Latar Belakang
Jelaskan secara rinci maksud dan tujuan pengembangan projek sistem informasi
dalam bentuk poin per poin (Poin A berisi Maksud, Poin B berisi Tujuan)
BAB II
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.
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
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
Sistem Informasi
Modul 2, Rekayasa Peangkat Lunak
5 Dokumentator
6
7
Total Biaya
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
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
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.
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.
Sistem Informasi
Modul 2, Rekayasa Peangkat Lunak
Sistem Informasi
Modul 2, Rekayasa Peangkat Lunak
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
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/
Sistem Informasi
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
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
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 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.
b. Abstraksi Data
Untuk mendukung kepraktisan, DBMS menyediakan pandangan abstrak
terhadap data bagi pengguna. DBMS berusaha menyembunyikan detail tentang
bagaimana data disimpan dan dipelihara.
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.
Dosen Dosen
Hasrul Ruslan
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).
Gambar 3.2 merupakan model jaringan yang didasarkan oleh model hirarkis pada
Gambar 3.1.
Dosen Dosen
Hasrul Ruslan
• Multi-valued attributes: Atribut yang dapat diisi dengan lebih satu nilai
tetapi jenisnya sama. Contoh: Nomor Telp, Alamat
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.
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.
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.
Subskema
NAMA BAGIAN
Basis Data
Skema
…….
Sub Skema Sub Skema Sub Skema N
permintaan. Istilah ini tetap dipertahankan dalam bentuk asli, karena telah populer
di kalangan pengguna DBMS di Indonesia.
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.
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
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
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.
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
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.
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.
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
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.
6) Testing
Contoh kasus: Akan dilakukan replikasi data sebuah Toserba di Jakarta dan
Jogjakarta.
Konfigurasi Master
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:
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
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
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
2. Tes Formatif
Pilihlah jawaban yang paling tepat
A. Hubungan majemuk
B. Hubungan binary dengan atribut
C. Hubungan ternary dengan atribut
D. Hubungan unary beratribute, hubungan banyak ke banyak
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
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
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
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
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
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.
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
Pilih ‘I accept the terms in the license agreement, Install JUnit’, Klik NEXT
1) Jalankan 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
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.
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
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
// 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);
}
}
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
4) Setelah pembuatan project ‘contoh2’ ini berhasil, maka secara otomatis akan
muncul package dengan nama ‘contoh2’.
// method jumlah()
public void
jumlah()
{
this.hasil = this.bilangan1 + this.bilangan2;
}
// method
tampilHasil() public
void tampilHasil()
{
System.out.println("Hasil operasi bilangan : " +
this.hasil);
}
}
Keterangan:
- Bilangan1, bilangan2 dan hasil merupakan atribut atau properties dari class
operasibilangan, sedangkan jumlah() dan tampilHasil() adalah methodnya.
- Perhatikan, di depan atribut atau method ada ‘public’ atau ‘private’. Jika
diberikan ‘public’ maka atribut atau method tersebut bisa diakses dari class
manapun (jika terdapat lebih dari satu class). Namun jika ‘private’, maka
atribut atau method hanya bisa diakses di dalam class itu saja. Selain ‘public’
dan ‘private’ sebuah atribut atau method bisa juga diset dengan sifat
‘protected’ yang artinya hanya bisa diakses dalam class itu saja ata class lain
yang masih dalam satu package yang sama. Keterangan ‘public’, ‘private’
dan ‘protected’ dalam OOP disebut modifier yang digunakan untuk
menentukan aksesibilitas method atau atribut.
- Perintah ‘this.’ digunakan untuk mengakses atribut atau method yang ada
dalam class tersebut.
9) Kemudian, di class ‘Contoh2’ nya (di file ‘Contoh2.java’), tulis kode program
sebagai berikut
public class Contoh2 {
public static void main(String[] args) {
operasiBilangan op1 = new operasiBilangan();
op1.bilangan1 = 10;
op1.bilangan
2 = 20;
op1.jumlah()
;
op1.tampilHa
sil();
}
}
Keterangan:
Perintah:
operasiBilangan op1 = new operasiBilangan();
digunakan untuk instantisasi, yaitu proses membuat obyek baru dengan nama
‘op1’. Obyek ini termasuk dalam class ‘operasiBilangan’.
Perintah:
op1.bilangan1 = 10;
adalah mengeset atribut ‘bilangan1’ pada obyek ‘op1’ dengan suatu nilai.
Demikian juga dengan perintah
op1.bilangan2 = 20;
Perintah
op1.jumlah();
op1.tampilHasil();
Contoh 4
Berikut ini contoh yang merupakan pengembangan dari project ‘contoh2’
public class Contoh2 {
public static void main(String[] args) {
// instantisasi obyek ‘op1’
operasiBilangan op1 = new operasiBilangan();
op1.bilangan1 = 10;
op1.bilangan2 = 20;
op1.jumlah();
op1.tampilHasil();
// instantisasi obyek ‘op2’
operasiBilangan op2 = new operasiBilangan();
op2.bilangan1 = 30;
op2.bilangan2 = 25;
op2.jumlah();
op2.tampilHasil();
}
}
Dalam contoh di atas, dibuat 2 obyek dari class yang sama yaitu ‘op1’ dan
‘op2’. Adapun hasil output dari program ini adalah,
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
Setelah package ‘paketku’ dibuat, buat class dengan nama ‘classku’. Caranya
adalah dengan mengklik kanan pada package ‘paketku’, pilih NEW – JAVA
CLASS.
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,
Contoh 6:
Sebagai contoh, berikut ini adalah sebuah pembuatan program Java untuk
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.
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;
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:
dan outputnya:
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);
}
}
persyaratan/kondisional.
Struktur Kontrol IF
Tata cara penulisan statement IF:
if (syarat)
{
statement; statement;
.
.
}
statement;
statement;
}
.
.
else
{
statement;
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;
.
.
}
Statement FOR
Aturan penulisan (syntax) nya adalah:
for(ekspresiawal; syarat; ekspresiakhir)
{
statemen
t;
statemen
t;
.
.
}
Statement WHILE
Aturan penulisannya:
while(syarat)
{
statemen
t;
statemen
t;
.
.
}
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:
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
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;
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
koma (%10.1f). Perintah ini sebagai alternatif cara untuk memformat tampilan
output selain yang pernah di bahas di bab sebelumnya.
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);
}
}
untuk proses instansiasi sekaligus menset atribut bil1 dan bil2 nya, sehingga
secara umum perintah untuk menjumlahkan dua bilangannya adalah sebagai
berikut:
operasi op1 = new
operasi(10, 20);
op1.jumlahkan();
op1.tampilhasil();
Larik (Array)
Seperti halnya bahasa pemrogaman yang lain, di dalam Java juga ada penggunaan
Array. Di dalam java nomor indeks suatu array dimulai dari 0.
Sebagai contoh, perhatikan perintah berikut ini untuk membuat array dengan nama
arrayku bertipe data integer dengan jumlah elemennya 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 {
}
}
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.
Perhatikan contoh di atas, bahwa obyek ‘ob2’ dari instansiasi class ‘keretaApi’
bisa diset atribut- atributnya seperti halnya ‘ob1’, demikian juga method-
methodnya. Khusus atribut ‘jmlGerbong’ dan method ‘tampilJmlGerbong()’
hanya dimiliki oleh class ‘keretaApi’ saja.
Keterangan:
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;
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();
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.
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();
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:
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?
atau
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.
try
{
...
}
catch (exception1 var1)
{
...
}
catch (exception2 var2)
{
...
}
.
.
catch (exceptionn varn)
{
...
}
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.
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
Contoh berikut ini menunjukkan kejadian error yang merupakan cara lama, yaitu
loading loading file from the disk.
Keterangan:
Implementasi 2
try {
Fungsi bacaFile
BukaFile
BacaBarisFileSampaiHabis
TutupFile
} catch (KesalahanBukaFile) {
// 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
Contoh,
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.
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()
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
3. Setalah itu buka browser dan ketikan localhost/phpmyadmin/ klik database yang
ingin diakses client.
6. Kemudi klik GO yang berada di pojok kanan bawah, jika sudah di GO maka
akan otomatis user yang ditambahkan masuk ke data user.
Pada bagian Allow from isi dengan alamat IP client yang telah di setting di PC
Client.
10. Setelah itu Save.
11. Terakhir pada bagian script kode koneksinya dibuat seperti berikut gambar
berikut
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.
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
inputnya.
Berikut adalah hal-hal penting untuk mendesain output:
• Output komputer harus mudah diterima oleh pengguna sistem yang akan
menerima output.
output akan digunakan, maka perlu menekankan beberapa hal yang terkait
dengan masalah desain:
- Berapa buah halaman atau lembar dari output yang akan dihasilkan untuk
salinan tunggal dari printed output?
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
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.
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:
• Tidak mampu membedakan antara tindakan pilihan (”Apa yang harus saya
lakukan selanjutnya?”)
• Ketidakkonsistenan desain.
Untuk mengatasi masalah tersebut maka desainer mempertimbangkan hal
berikut ini:
• 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.
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?
• 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).
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
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).
4. Forum Diskusi
a. Seorang arsitek ingin memperkirakan berapa biaya yang diperlukan untuk
membangun sebuah rumah. Berikut ini adalah bahan material utama yang
dibutuhkan untuk membangun rumah tersebut:
- Pasir : 500 m3 (harga Rp 120.000/m3)
- Semen : 70 sak (harga Rp 90.000/sak)
- Batu-Bata : 10.000 buah (harga Rp 500/buah)
- Kayu kalimantan : 300 m3 (harga Rp 200.000/m3)
- Batu kali untuk pondasi: 200 buah (harga Rp 1000/buah)
- Genting : 500 buah (harga Rp 2000/buah)
Menurtut Anda program Java untuk menghitung berapa biaya yang
diperlukan untuk membangun rumah tersebut, dengan terlebih dahulu
merancang class-classnya, serta atribut dan method nya.
b. Sebuah mobil akan melakukan perjalanan dari kota A ke kota F. Untuk
menuju ke kota F, mobil harus melewati beberapa kota yaitu B, C, D dan
E dengan jarak sebagai berikut:
Kota A ke B : 45 km
Kota B ke C : 51 km
Kota C ke D : 38 km
Kota D ke E : 104 km
Kota E ke F : 93 km
Jika konsumsi bensin untuk mobil tersebut adalah 1 liter untuk tiap 9
km, maka hitunglah berapa liter yang dibutuhkan mobil untuk:
- Berjalan dari kota A ke F
- Berjalan dari kota B ke E
- Berjalan dari kota A ke F, kemudian kembali lagi ke kota B
- Berjalan dari kota A ke F – E – D – C – D – E – D – E – F
C. PENUTUP
1. Rangkuman
Pemrograman berorientasi merupakan paradigma pemrograman
berdasarkan konsep "objek", yang dapat berisi data, dalam bentuk field atau dikenal
juga sebagai atribut; serta kode, dalam bentuk fungsi/prosedur atau dikenal juga
sebagai method. Semua data dan fungsi di dalam paradigma ini dibungkus
dalam kelas-kelas atau objek-objek. Bandingkan dengan logika pemrograman
terstruktur. Setiap objek dapat menerima pesan, memproses data, dan mengirim
pesan ke objek lainnya,
Model data berorientasi objek dikatakan dapat memberi fleksibilitas yang
lebih, kemudahan mengubah program, dan digunakan luas dalam teknik peranti
lunak skala besar. Lebih jauh lagi, pendukung OOP mengklaim bahwa OOP lebih
mudah dipelajari bagi pemula dibanding dengan pendekatan sebelumnya, dan
pendekatan OOP lebih mudah dikembangkan dan dirawat.
Klien-server atau client-server merupakan sebuah paradigma dalam
teknologi informasi yang merujuk kepada cara untuk mendistribusikan aplikasi ke
dalam dua pihak: pihak klien dan pihak server. Dalam model klien/server, sebuah
aplikasi dibagi menjadi dua bagian yang terpisah, tetapi masih merupakan sebuah
kesatuan yakni komponen klien dan komponen server. Komponen klien juga sering
disebut sebagai front-end, sementara komponen server disebut sebagai back-end.
Komponen klien dari aplikasi tersebut dijalankan dalam sebuah workstation dan
menerima masukan data dari pengguna. Komponen klien tersebut akan menyiapkan
data yang dimasukkan oleh pengguna dengan menggunakan teknologi pemrosesan
tertentu dan mengirimkannya kepada komponen server yang dijalankan di atas
mesin server, umumnya dalam bentuk request terhadap beberapa layanan yang
dimiliki oleh server. Komponen server akan menerima request dari klien, dan
langsung memprosesnya dan mengembalikan hasil pemrosesan tersebut kepada
klien. Klien pun menerima informasi hasil pemrosesan data yang dilakukan server
dan menampilkannya kepada pengguna, dengan menggunakan aplikasi yang
berinteraksi dengan pengguna.
User interface (UI) merupakan cara sebuah program dengan pengguna
untuk saling berkomunikasi atau bisa dikatakan sebagai segala sesuatu yang
dirancang menjadi sebuah perangkat informasi, dimana pengguna dapat melakukan
sebuah interaksi dengan sebuah program dengan lebih mudah. Media yang dapat
digunakan pengguna untuk berinteraksi dengan program (apliksi atau website)
dapat berupa tampilan layar (layout), keyboard, dan mouse.
Model View Controller atau MVC adalah sebuah metode untuk membuat
sebuah aplikasi dengan memisahkan data (Model) dari tampilan (View) dan cara
bagaimana memprosesnya (Controller). Dalam implementasinya
kebanyakan framework dalam aplikasi dan website adalah berbasis MVC. MVC
memisahkan pengembangan aplikasi berdasarkan komponen utama yang
membangun sebuah aplikasi seperti manipulasi data, antarmuka pengguna, dan
bagian yang menjadi kontrol dalam sebuah aplikasi web.
2. Tes Formatif
Pilihkah salah satu jawaban yang paling tepat
1. Fungsi method System.in dalam java adalah…
A. Mengirimkan keluaran ke layar
B. 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
$ 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 {
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 {
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.
TUGAS AKHIR
Buatlah proposal pengembangan Sistem Informasi Perpustakaan di sekolah Anda
masing-masing dengan mengikuti format berikut ini,
BAB I
PENDAHULUAN
A. Latar Belakang
Uraikan secara deskriptif dan ringkas mengenai latar belakang pengembangan
proyek sistem informasi, termasuk peluang yang bisa ditangkap
B. Maksud dan Tujuan
Jelaskan secara rinci maksud dan tujuan pengembangan proyek sistem
informasi.
Maksud
1.
2.
Tujuan
1.
2.
C. Ruang Lingkup Pekerjaan
Uraikan secara rinci ruang lingkup pekerjaan yang nantinya akan ditangani,
misalnya:
1. Pengembangan
2. Pengumpulan data
Deskripsikan sampai sejauh mana tahapan pengumpulan data, misalnya entry
data sampai availability data terpenuhi
3. Pemeliharaan
4. Pelatihan
BAB II
NAMA SISTEM INFORMASI YANG DIUSULKAN
A. Latar Belakang
Uraikan secara deskriptif dan ringkas mengenai latar belakang sistem informasi,
bukan proyek pengembangan sistem informasi seperti di Bab 1 yang akan
dikembangkan.
B. Perspektif Produk
Deskripsikan gambaran umum dari produk sistem informasi yang akan
dikembangkan. Sebaiknya dilengkapi dengan gambar arsitektur global. Jika
proyek ini merupakan peningkatan sistem yang ada, gambarkan juga
keterhubungannya.
C. Deskripsi Subsistem
Uraikan deskripsi subsistem yang akan dikembangkan Lebih disukai jika
dilengkapi dengan gambar subsistem. Contoh:
• Modul pendaftaran
• Modul peminjaman
• Modul pengembalian
• Modul reporting (pelaporan)
• Modul backup dan recovery
D. Manfaat Bagi Perusahaan/Organisasi/Instansi*
Tegaskan lagi benefit yang didapat oleh sekolah ketika mengimplementasikan
sistem informasi ini.
* pilih salah satu (sesuaikan)
BAB III
METODOLOGI KERJA
A. Survei dan Analisis Sistem
Jelaskan tahapan survei dan analisis kebutuhan sistem
1. Survei Kebutuhan Sistem
Uraikan metode dan tahapan-tahapannya (observasi, wawancara, dll)
2. Analisis Kebutuhan Sistem
Uraikan tahapan-tahapan analisis Misal:
a. Analisis fungsionalitas produk
b. Analisis kebutuhan perangkat keras
c. Analisis tingkat kebutuhan operator
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
2 dst
3
Total Harga
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
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
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.
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
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.
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
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.
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
if ( grade > 70 )
System.out.println(“Passed”);
else
System.out.println(“Failed”)
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();
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 {
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 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
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