TKI Modul 2 Rekayasa Perangkat Lunak [PDF]

  • 0 0 0
  • Suka dengan makalah ini dan mengunduhnya? Anda bisa menerbitkan file PDF Anda sendiri secara online secara gratis dalam beberapa menit saja! Sign Up
File loading please wait...
Citation preview

No. Kode: DAR2/Profesional/ 523 /2/2019



PENDALAMAN MATERI TEKNIK KOMPUTER DAN INFORMATIKA



MODUL 2 REKAYASA PERANGKAT LUNAK



Penulis:



Hasrul Bakri



KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN 2019



Pendalaman Materi Teknik Komputer dan Informatika Modul 2 Rekayasa Perangkat Lunak



Penulis Hasrul Bakri



ISBN XXX-XXX-XXXX-XX-XX



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



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,



Hasrul Bakri NIP. 19770724 200501 1 002



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. Deskripsi Singkat ....................................................................... 2. Relevansi ................................................................................... 3. Petunjuk Belajar ........................................................................



B.



Inti ................................................................................................. 1. Capaian Pembelajaran ............................................................... 2. Pokok-pokok Materi ................................................................. 3. Uraian Materi ............................................................................. a. Metodologi Berorientasi Objek ........................................... b. Metode Analisis Secara Umum .......................................... c. Tahapan Pengembangan Sistem Berorientasi Objek .......... d. Alur Kerja Sistem Berorientasi Objek ................................. e. Pemodelan .......................................................................... f. Unified Modelling Language (UML) ................................. g. Desain UML dengan aplikasi StarUML .............................. h. Dokumentasi Pengembangan Sistem Berorientasi Objek ... 4. Forum Diskusi ...........................................................................



C.



Penutup ............................................................................................ 1. Rangkuman ............................................................................... 2. Tes Formatif



.............................................................................



Daftar Pustaka .......................................................................................... KEGIATAN BELAJAR 2 KONSEP MANAJEMEN PROYEK DALAM PENGEMBANGAN SISTEM INFORMASI A.



Pendahuluan ........................................................................... 1. Deskripsi Singkat ....................................................................... 2. Relevansi ................................................................................... 3. Petunjuk Belajar ........................................................................



B.



Inti ................................................................................................. 1. Capaian Pembelajaran ............................................................... 2. Pokok-pokok Materi ................................................................. 3. Uraian Materi ............................................................................. a. Pengertian Manajemen, Proyek dan Manajemen Proyek ...... b. Fungsi dan Tujuan Manajemen Proyek ............................... c. Proses Dasar Manajemen Proyek ......................................... d. Kebijakan dan Perencanaan Proyek Sistem Informasi .......... e. Proses Perencanaan Sistem Informasi .................................... f. Metodologi Umum Pelaksanaan Proyek Sistem Informasi (Metode Generik) ..................................... g. Desain UML dengan aplikasi StarUML .............................. h. Dokumentasi Pengembangan Sistem Berorientasi Objek ... 4. Forum Diskusi ...........................................................................



C.



Penutup 1. Rangkuman ............................................................................... 2. Tes Formatif



.............................................................................



Daftar Pustaka .............................................................................. KEGIATAN BELAJAR 3 KONSEP RDBMS DALAM PENGELOLAAN DATA A.



Pendahuluan ...........................................................................



1. Deskripsi Singkat ....................................................................... 2. Relevansi ................................................................................... 3. Petunjuk Belajar ........................................................................ B.



Inti



.................................................................................................



1. Capaian Pembelajaran ................................................................ 2. Pokok-pokok Materi ................................................................. 3. Uraian Materi ............................................................................. a. Konsep Basis Data dalam RDBMS ...................................... b. Abstraksi Data ...................................................................... c. Model Basis Data ................................................................. d. Perintah pada DBMS ............................................................. e. Keamanan Basis Data ............................................................ f. Replikasi Basis Data ............................................................. 4. Forum Diskusi ........................................................................... C.



Penutup ........................................................................................... 1. Rangkuman ............................................................................... 2. Tes Formatif



.............................................................................



Daftar Pustaka .......................................................................................... KEGIATAN BELAJAR 4 PEMROGRAMAN BERORIENTASI OBJEK DALAM PERANCANGAN APLIKASI/SISTEM INFOMASI A.



Pendahuluan ........................................................................... 1. Deskripsi Singkat ....................................................................... 2. Relevansi ................................................................................... 3. Petunjuk Belajar ........................................................................



B.



Inti ................................................................................................. 1. Capaian Pembelajaran ............................................................... 2. Pokok-pokok Materi ................................................................. 3. Uraian Materi .............................................................................



a. Konsep Pemrograman Berorientasi Objek ............................ b. Error Handling ..................................................................... c. Koneksi Database Server Melalui Client-Server ................. d. Desain User Interface ........................................................... e. Model View Controller (MVC) ............................................ 4. Forum Diskusi ........................................................................... C.



Penutup ...................................................................................... 1. Rangkuman ............................................................................... 2 Tes Formatif .............................................................................



Daftar pustaka ............................................................................... TUGAS AKHIR ...................................................................................... TES SUMATIF ........................................................................................ KUNCI JAWABAN TES FORMATIF KB 1 – 4 ....................................



DAFTAR GAMBAR



No.



Nama Gambar



Hal.



Gambar 1.1



Memulai Use Case Diagram ........................................



22



Gambar 1.2



Toolbox use case diagram



22



Gambar 1.3



Pemberian nama actor



23



Gambar 1.4



Objek Use Case



23



Gambar 1.5



Contoh activity diagram Sistem Informasi



24



Perpustakaan Gambar 1.6



Menu squence diagram



27



Gambar 1.7



Toolbox squence diagram



27



Gambar 1.8



Contoh squence diagram



28



Gambar 1.9



Menjalankan statechart diagram



29



Gambar 1.10



Contoh statechart diagram



30



Gambar 1.11



Memulai Deployment Diagram



32



Gambar 1.12



Contoh Deployment Diagram



32



Gambar 1.13



Contoh collaboration diagram



33



Gambar 1.14



Memulai component diagram



35



Gambar 1.15



Contoh component diagram



36



Gambar 2.1



Project Boundaries



51



Gambar 2.2



Interaksi proses yang membentuk proses bisnis



63



Gambar 2.3



Hierarki Proses



64



Gambar 2.4



Sistematika peta proses bisnis



65



Gambar 2.5



Peta proses yang lengkap



66



Gambar 2.6



Kerangka pengembangan proses



67



Gambar 3.1



Contoh model hirarkis



86



Gambar 3.2



Model Jaringan



87



Gambar 3.3



Kardinalitas relasi



89



Gambar 3.4



Contoh beberapa relasi pada model relasional



90



Gambar 3.5



Relasi, tupel, atribut, dan berbagai istilah lainnya



91



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



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



Gambar 4.45



Class diagram aplikasi



195



Gambar 4.46



Screen shoot aplikasi



195



DAFTAR TABEL



No.



Nama Tabel



Hal.



Tabel 1.1 Activity Diagram



24



Tabel 1.2 Simbol sequence diagram



26



Tabel 1.3 Simbol-simbol statechart diagram



29



Tabel 1.4 Simbol deployment diagram



31



Tabel 1.5 Simbol-simbol pada collaboration diagram



33



Tabel 1.6 Simbol component diagram



34



Tabel 2.1 RAB tenaga ahli



72



Tabel 2.2 RAB kebutuhan perangkat keras



72



Tabel 2.3 RAB kebutuhan perangkat lunak



73



Tabel 2.4 RAB kebutuhan overhead



73



Tabel 2.5 RAB maintenance



73



Tabel 2.6 Rekapitulasi anggaran



74



Tabel 2.7 Contoh matriks jadwal pelaksanaan proyek



74



Tabel 3.1 Padanan istilah relasi, tupel, dan atribut.



87



Tabel 3.2 Contoh konversi model jaringan ke model relasional



90



Tabel 4.1 Tipe Data dalam Java



133



Tabel 4.2 Struktur class ‘gaji’ Tabel 4.3 Struktur method ‘gaji’



Kegiatan Belajar 1 Konsep Object Oriented Analysis Design Dalam Perancangan Aplikasi/Sistem Informasi



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 obyek b. Tahapan pengembangan sistem berorientasi obyek c. Tools dalam pengembangan sistem berorientasi obyek d. Dokumentasi pengembangan sistem berorientasi obyek



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



KB 1, Konsep OOAD Dalam Perancangan Aplikasi/Sistem Infomasi



1



Modul 2, Rekayasa Perangkat Lunak



terhadap alam melalui aktivitas manusia. Proses sains mengembangkan kemampuan memahami hakikat sains, prosedur sains, serta kekuatan dan kelemahan sains. Konteks aplikasi sains lebih pada kehidupan sehari-hari daripada kelas atau laboratorium. Kegiatan Belajar 1 ini dibagi menjadi empat bahan kajian atau pokok bahasan yang mengacu pada dimensi literasi sains (sains liyteracy). Tujuan pembelajaran yang diharapkan Anda capai pada kegiatan pembelajaran ini adalah: (1) Mampu menganalisis metode pengembangan sistem berorientasi obyek; (2) mampu menjabarkan tahapan pengembangan sistem berorientasi obyek; (3) mampu memilih tools pengembangan sistem berorientasi obyek; dan (4) mampu membuat dokumentasi pengembangan sistem berorientasi obyek. 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



2



KB 1, Konsep OOAD Dalam Perancangan Aplikasi/Sistem Infomasi



Modul 2, Rekayasa Perangkat Lunak



telah disediakan pada setiap Kegiatan Belajar Kerjakanlah tugas dan latihan yang terdapat di dalamnya dengan jujur tanpa melihat kunci jawaban sebelum Anda mengerjakannya. e.



Gunakan teknik membaca cepat dalam mempelajari modul.



f.



Pelajari media dan sumber belajar lain yang relevan dengan materi



g.



Anda diperbolehkan bertanya kepada instruktur jika dianggap perlu.



h.



Usahakan menyelesaikan setiap modul lebih cepat dari waktu yang ditetapkand. Jika ada bagian yang belum anda pahami, cobalah terlebih dahulu mendiskusikan dengan teman yang sedan gmengerjakan bagian yang sama, sebelum Anda bertanya pada instruktur. Jika perlu, berusahalah mencari tahu jawabannya pada sumber yang lain. Kegiatan Belajar 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 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 obyek b. Tahapan pengembangan sistem berorientasi obyek c. Tools dalam pengembangan sistem berorientasi obyek d. Membuat dokumentasi pengembangan sistem berorientasi obyek



KB 1, Konsep OOAD Dalam Perancangan Aplikasi/Sistem Infomasi



3



Modul 2, Rekayasa Perangkat Lunak



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 konsepkonsep yang ada di ruang masalah. Analisis ini merupakan proses untuk menentukan objek-objek potensial yang ada dalam sistem dan mendeskripsikan karakterisitik dan hubungannya dalam sebuah notasi formal. Aplikasi konsep



4



KB 1, Konsep OOAD Dalam Perancangan Aplikasi/Sistem Infomasi



Modul 2, Rekayasa Perangkat Lunak



berorientasi objek untuk memodelkan permasalahan dan sistem, baik untuk lingkup perangkat lunak maupun non-perangkat lunak. Analisis bertujuan untuk: 1) Memahami permasalahan secara menyeluruh. 2) Mengungkapkan apa yang harus dikerjakan oleh sistem untuk memenuhi kebutuhan pemakai. 3) Mengetahui ruang lingkup produk (product space) dan pemakai yang akan menggunakan produk tersebut. Berikut ini adalah tahapan analisis berorientasi objek: 1) Mempelajari permasalahan 2) Menentukan kebutuhan pemakai 3) Mengubah kebutuhan yang belum terstruktur menjadi model-model atau gambar-gambar dengan memanfaatkan metode dan teknik analisis tertentu. 4) Mendokumentasikan hasil analisis, misalnya Software Requirement Specification (SRS). Terdapat beberapa metode yang dapat digunakan untuk melakukan analisis berorientasi objek, dan diantaranya adalah sebagai berikut: 1) Metode Coad & Yourdan •



Diperkenalkan oleh Peter Coad dan Edward Yourdan pada tahun 1990.







Disebut juga dengan nama Object Oriented Analysis (OOA), dan dipandang sebagai salah satu teknik yang mudah untuk dipelajari.







Notasi model relatif sederhana karena didasarkan pada struktur fisik dunia nyata, dan petunjuk untuk melakukan analisis cukup jelas.







Tahap atau skema pelaksanaan: - Mengidentifikasi kelas dan objek - Mengidentifikasi struktur o Struktur "generalization-specification” o Struktur “whole-part” atau “a-part-of”







Mengidentifikasi subjek



KB 1, Konsep OOAD Dalam Perancangan Aplikasi/Sistem Infomasi



5



Modul 2, Rekayasa Perangkat Lunak







Mendefinisikan atribut - Atribut implisi objek - Koneksi instan (instance connection)







Mendefinisikan layanan - Layanan implisit objek - Layanan yang berasosiasi dengan atribut - Layanan yang berasosiasi dengan “message-connection”



2) Metode Rumbaugh •



Diperkenalkan oleh James Rumbaugh, Michael Blaha, William Premerlan, Frederick Eddy dan William Lorensen pada tahun 1991.







Lebih dikenal dengan Object Modeling Technique (OMT) yang dapat digunakan baik untuk analisis maupun desain.







Selain model-model fisik dari objek, pendekatan analisis dilkukan juga untuk model-model dinamik dan model fungsional.







Tahap atau skema pelaksanaan: - Menentukan ruang lingkup masalah - Membuat model objek o Mengidentifikasi kelas yang relevan dengan permasalahan o Mendefinisikan atribut dan asosiasi o Mendefinisikan keterkaitan (link) antar kelas dan objek o Mengorganisasikan kelas objek dengan menggunakan pewarisan - Membuat model dinamik o Menyiapkan skenario o Mendefinisikan kejadian (event) dan buat penelusurannya untuk setiap skenario o Membangun diagram aliran kejadian (event flow diagram) o Membuat diagram keadaan (state diagram) - Membuat model fungsional sistem o Mengidentifikasi masukan dan keluaran o Menggunakan diagram aliran data untuk merepresentasikan aliran transformasi



6



KB 1, Konsep OOAD Dalam Perancangan Aplikasi/Sistem Infomasi



Modul 2, Rekayasa Perangkat Lunak



o Membuat spesifikasi proses untuk setiap fungsi 3) Metode Jacobson •



Diperkenalkan oleh Ivar Jacobson dengan nama Object Oriented Software Engineering (OOSE) pada tahun 1992.







Merupakan versi yang juga sederhana dari metode berorientasi objek.







Sudut pandang atau fokus analisis ditekankan pada “use case”, yaitu deskripsi atau skenario yang menggambarkan bagaimana pemakai berinteraksi dengan produk atau sistem yang akan dikembangkan.







Tahap atau skema pelaksanaan: - Mengidentifikasi pemakai sistem dan semua tanggung jawabnya - Membuat model kebutuhan o Mendefinisikan aktor dan tanggung jawabnya o Mengidentifikasi use-case untuk setiap aktor o Menginisialisasi gambaran sistem objek dan hubungannya - Buat model analisis o Mengidentifakasi antarmuka objek o Membuat gambaran struktural dari antarmuka objek o Merepresentasikan perilaku objek o Mengisolasi sub-sistem dan buat masing-masing modelnya



4) Metode Booch •



Diperkenalkan oleh Grady Booch pada tahun 1994.







Meliputi proses pengembangan makro dan mikro, dengan anggapan bahwa analisis dan desain merupakan rangkaian kesatuan aktivitas yang tidak dipisahkan.







Tahap atau skema pelaksanaan: - Mengidentifikasi kelas dan objek o Mengidentifikasi kandidat objek o Mengidentifikasi skenario yang relevan o Mendefinisikan atribut dan layanan untuk setiap kelas - Mengidentifikasi Semantik dari kelas dan objek o Memilih skenario kemudian analisis



KB 1, Konsep OOAD Dalam Perancangan Aplikasi/Sistem Infomasi



7



Modul 2, Rekayasa Perangkat Lunak



o Memilih objek dan daftar peran serta tanggung jawabnya o Mencari colaborasi diantara objek-objek - Mengidentifikasi hubungan diantara kelas dan objek o Mendefinisikan ketergantungan yang ada diantara objek o Menjelaskan peran dari setiap objek o Memvalidasi berdasarkan skenario •



Membuat diagram yang berhubungan dengan langkah-langkah di atas







Mengimplementasikan kelas dan objek



5) Metode Wirfs-Brock Metode ini disebut juga dengan metode Responsibility Driven Design/Class Responsibility Collaboration (RDD/CFC). Metode ini diarahkan pada desain, tetapi sangat berguna untuk memunculkan ide dalam tahap analisis. Keunggulannya adalah mudah digunakan, metode ini juga mengidentifikasikan hirarki kelas dan subsistem-subsistem. •



Mengevalusi spesifikasi pelanggan







Menggunakan uraian gramatikal untuk mengekstrak kelas calon dari spesifikasi







Mengelompokkan kelas dengan tujuan untuk mengidentifikasi superkelas







Menentukan tanggung jawab untuk masing-masing kelas



6) Metode Shlair-Mellor atau Object Oriented Analysis/Design (OOA/D) Metode yang menggunakan teknik pemodelan informasi tradisional yang menjelaskan entitas dalam sistem, menggunakan state diagram untuk memodelkan keadaan (state) entitas, menggunakan data flow diagram untuk memodelkan alur data dalam sistem. Metode ini menghasilkan tiga jenis model yaitu: information model, state model dan process model. Keunggulan metode ini adalah dalam memandang masalah dari sudut pandang yang berbeda, mudah dibuat (dikonversi) dari metode struktural. b. Metode Analisis Secara Umum Pada prinsipnya semua metode analisis berorientasi objek adalah sama, perbedaan hanya terletak pada sudut pandang dan teknis



8



KB 1, Konsep OOAD Dalam Perancangan Aplikasi/Sistem Infomasi



Modul 2, Rekayasa Perangkat Lunak



pelaksanaannya. Secara umum, metode analisis berorientasi objek mencakup representasi kelas dan hirarki kelas, model hubungan objek, dan model perilaku objek. Tahap atau skema pelaksanaan analisis berorientasi objek : 1) Menentukan kebutuhan pemakai untuk sistem berorientasi objek 2) Mengidentifikasi kelas dan objek 3) Mengidentifikasi atribut dan layanan untuk setiap objek 4) Mendefinisikan struktur dan hirarki 5) Membuat model hubungan objek 6) Membuat model perilaku objek 1) Menentukan Kebutuhan Pemakai untuk Sistem Berorientasi Objek Mengidentifikasikan proses-proses bisnis dan kebutuhan pemakai dan mengekspresikan dengan ‘use-case”. Sebenarnya bukan merupakan aktivitas analisis berorientasi objek, karena tidak membicarakan pembahasan tentang objek. Diperlukan karena dapat menjelaskan aktivitas-aktivitas apa saja yang harus dikerjakan oleh sistem, dan menjelaskan juga perilaku dari komponenkomponen sistem. Ada diagram tertentu yang dapat merepresentasikan model kebutuhan dari “use-case” yang diperoleh. 2) Identifikasi Kelas dan Objek • Mengidentifikasi kelas-kelas dan objek-objek yang ada dalam lingkup aplikasi: - Eksplisit pada pernyataan masalah - Implisit pada lingkup aplikasi atau pengetahuan atas lingkup aplikasi •



Kelas dan objek dapat diidentifikasi dari: - Entitas eksternal yang memproduksi dan memakai informasi yang akan digunakan oleh sistem berbasis komputer - Sesuatu yang merupakan bagian dari wilayah informasi dari permasalahan - Kejadian, misalnya prosedur operasional, yang muncul dalam lingkup operasional sistem



KB 1, Konsep OOAD Dalam Perancangan Aplikasi/Sistem Infomasi



9



Modul 2, Rekayasa Perangkat Lunak



- Peran yang dimainkan oleh orang-orang yang berinteraksi dengan sistem - Unit organisasi yang relevan dengan aplikasi - Tempat yang menentukan ruang lingkup masalah dan seluruh fungsi dari sitem - Struktur yang mendefinisikan kelas dari objek atau yang menghubungkan kelas-kelas objek. - 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 •



Mengidentifikasi atribut dan layanan yang terkait untuk setiap atribut tersebut.







Mengidentifikasi atribut dari elemen-elemen data yang dapat menggambarkan (mencirikan) sebuah objek secara utuh.







Mengidentifikasi



layanan



dari



perilaku



spesifik



yang



dapat



menunjukkan peran dan tanggung jawab suatu objek. •



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 •



Mendefinisikan struktur dan hierarki dari objek yang akan mengorganisasikan kelas objek.







Mengatur dan menyederhanakan objek-objek menjadi kelas-kelas objek melalui konsep agregasi dan pewarisan.







Mendefinisikan struktur dan hirarki yang mungkin didefinisikan



5) Membuat Model Hubungan Objek •



Mendefinisikan hubungan (asosiasi atau koneksi) antar kelas, yaitu ketergantungan antar satu kelas atau lebih dengan kelas lainnya.



10



KB 1, Konsep OOAD Dalam Perancangan Aplikasi/Sistem Infomasi



Modul 2, Rekayasa Perangkat Lunak







Asosiasi dapat berbentuk: - Lokasi fisik atau penempatan (next, to, part, of contained in) - Aksi terarah (drive) - Komunikasi (transmit to, acquires from) - Kepemilikan (incorporated by, is composed of) - Pemenuhan kondisi (manages, coordinates, controls)







Jenis-jenis asosiasi: - Asosiasi 1 – 1 (one-to-one association) - Asosiasi 1 – m (one-to-many association) - Asosiasi M – 1 (many –to-one association) - AsosiASI M – M (many-to-many association) - Ternary Assosiation - Kualifikasi, hubungan asosiatif berkualifikasi antara 2 kelas objek - Ordering, hubungan berdasarkan urutan kejadian







Nama hubungan dan garis atau anak panah digunakan untuk menyatakan hubungan antar kelas-kelas tersebut.







Mengabaikan asosiasi yang tidak tepat karena: - Asosiasi antara kelas yang diabaikan - Asosiasi implementatif atau tidak relevan - Asosiasi yang berupa aksi - Asosiasi ternary - Asosiasi turunan



6) Membuat Model Perilaku Objek •



Menyatakan bagaimana sistem berorientasi objek akan menanggapi kejadian atau stimuli eksternal (memunculkan sifat dinamis objek).







Tahap-tahap untuk membuat model perilaku objek: - Mengevaluasi semua “use-case” untuk memahami urutan interaksi yang ada dalam sistem - Mengidentifikasi kejadian yang menggerakkan urutan interaksi, dan pahami bagaimana kejadian-kejadian tersebut berhubungan dengan objek tertentu



KB 1, Konsep OOAD Dalam Perancangan Aplikasi/Sistem Infomasi



11



Modul 2, Rekayasa Perangkat Lunak



- Membuat penelusuran kejadian untuk setiap “use-case” - Membuat diagram transisi keadaan untuk sistem - Meninjau ulang model perilaku objek untuk verifikasi keakuratan dan konsistensi. c. Tahapan Pengembangan Sistem Berorientasi Objek Pendekatan object oriented dapat menggunakan metodologi apapun, termasuk yang terstruktur, tetapi umumnya lebih berhubungan dengan metodologi yang bersifat RAD. Yang harus diperhatikan dalam OOSAD adalah pemodelan dunia nyata, yang berarti memodelkan data dan proses yang susah dipisahkan. UML bersifat use-case drive, architecture-centric, iterative dan incremental. Use-Case Drive merupakan perangkat pemodelan yang



bagian



utamanya adalah use case yang digunakan untuk menjelaskan tingkah laku dari sistem. Architecture centric yang akan dibuat haruslah mengikuti dan menghasilkan standar yang meliputi spesifikasi, konstruksi, dan dokumentasi. Itterative dan incremental berkaitan dengan pengembangan yang dilakukan secara iteratif dan bertingkat, dimana setiap pengulangan akan mendekatkan produk pada spesifikasi pengguna akhir. Unified process mengunakan metoodologi yang secara khusus memetakan bagaimana menggunakan perangkat methodoly yang dimiliki oleh UML. Jika UML memiliki struktur untuk menjelaskan hubungan struktural dan behaviour dari sebuah sistem informasi, RUPS menyediakan dukungan metodologi penggunaan notasi UML. Unified process adalah proses pengembangan sistem yang dijelaskan melalui tahapan-tahapan dan alur kerja (workflows). Tahapannya adalah: 1) Inception Merupakan tahapan perencanaan. Business case dibuat dalam tahapan ini. 2) Elaboration Merupakan tahapan dimana dilakukan analisis dan perancangan sistem secara mendalam. Pada tahapan ini dilakukan analisis mengenai



12



KB 1, Konsep OOAD Dalam Perancangan Aplikasi/Sistem Infomasi



Modul 2, Rekayasa Perangkat Lunak



bagaimana sistem yang akan dibuat, vision document, penyelesaian business case, revisi penilaian risiko, dan menyelesaikan project plan secara terinci agar pihak-pihak yang berkepentingan menyetujui rancangan sistem. Deliverablesnya meliputi notasi-notasi structure dan behaviour, executable of baseline version. Baseline harus ditetapkan dengan baik pada tahapAn ini karena merupakan dasar bagi pekerjaan lanjutan untuk membuat sistem yang jadi. 3) Construction Tahapan ini terfokus pada pemrograman dan pekerjaan teknis untuk membuat sistem. Tahapan ini merupakan implementasi diagram kerja ke dalam kode program (coding). Deliverables yang utama adalah versi alpha maupun beta sistem yang dibuat. 4) Transition. Tahapan ini merupakan pemasangan dan implementasi sistem yang telah dikembangkan. Deliverables tahapan ini adalah sistem yang sudah jadi, berikut dokument-dokumen pendukung termasuk di dalamnya manual, support plan, dan upgrading plan. Sedangkan workflowsnya meliputi : 1) Business modelling, digunakan untuk menemukan permasalahan dan dapat mengidentifikasi proyek yang mungkin dikerjakan 2) Requirements, digunakan untuk melakukan elisitasi kebutuhan baik secara fungsional dan nonfungsional. 3) Analysis,



merupakan



pekerjaan



yang



meliputi



analisis



dari



problem/business domain. 4) Design, meupakan pekerjaan yang mentransformasikan analisi model ke dalam bentuk yang daat digunakan untuk implementasi sistem yaitu desain model. 5) Implementation, merupakan pekerjaan pembangunan sistem. Contoha aktifitas yang dilakukan, adalah coding. 6)



Test atau pengujian bertujuan agar produk yang dibuat memenuhi kriteria kualitas yang telah ditentukan untuk sistem yang dibuat.



KB 1, Konsep OOAD Dalam Perancangan Aplikasi/Sistem Infomasi



13



Modul 2, Rekayasa Perangkat Lunak



7) Deployment, bagian ini berhubungan dengan tahapan transisi pada RUP. Aktifitasnya meliputi packaging, distribution , beta testing, dan pada akhirnya adalah sistem yang telah jadi. 8) Project management, merupakan cross-phase flow. Contoh dari aktifitas yang dilakukan dalam tahap ini adalah : risk identification & management, scope management, time estimation, cost estimation, dan tracking progress. 9) Configuration and change management, bertujuan untuk menjejaki sampai sejauh mana sistem yang sedang dibangun. 10) Environment, merupakan dukungan perangkat yang digunakan. Environmental



workflows



adalah



kelompok



perkerjaan



yang



berhubungan dengan penyediaan perangkat untuk pembuatan sistem



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



KB 1, Konsep OOAD Dalam Perancangan Aplikasi/Sistem Infomasi



Modul 2, Rekayasa Perangkat Lunak



e. Pemodelan Dalam banyak aplikasi engineering, model didefinisikan sebagai representasi dari sistem yang disederhanakan. Representasi ini pun juga bermacammacam 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



KB 1, Konsep OOAD Dalam Perancangan Aplikasi/Sistem Infomasi



15



Modul 2, Rekayasa Perangkat Lunak



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. 6) Maintainability, Dapatkah proses berkembang untuk mengikuti kebutuhan atau perbaikan. 7) Rapidity, bagaimana kecepatan proses pengiriman sistem dapat secara lengkap memenuhi spesifikasi. Teknik



pemodelan



objek



menggunakan



tiga



macam



model



untuk



menggambarkan sistem, diantaranya adalah sebagai berikut : 1) Model objek ▪



Model objek menggambarkan struktur statis dari suatu objek dalam sistem dan relasinya.







Model objek berisi diagram objek. Diagram objek adalah graph dimana nodenya adalah kelas yang mempunyai relasi antar kelas.



2) Model dinamik ▪



Model dinamik menggambarkan aspek dari sistem yang berubah setiap saat.







Model dinamik dipergunakan untuk menyatakan aspek kontrol dari sistem.







Model dinamik berisi state diagram. State diagram adalah graph dimana nodenya adalah state dan arc adalah transisi antara state yang disebabkan oleh event.



3) Model fungsional ▪



Model fungsional menggambrakan transformasi nilai data dalam sistem.







Model fungsional berisi data flow diagram. DFD adalah suatu graph dimana nodenya menyatakan proses dan arcnya adalah aliran data.



f. Unified Modeling Language (UML) Unified Modeling Language (UML) adalah bahasa pemodelan untuk sistem atau perangkat lunak yang berparadigma berorientasi objek” (Nogroho, 2010).



16



KB 1, Konsep OOAD Dalam Perancangan Aplikasi/Sistem Infomasi



Modul 2, Rekayasa Perangkat Lunak



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



KB 1, Konsep OOAD Dalam Perancangan Aplikasi/Sistem Infomasi



17



Modul 2, Rekayasa Perangkat Lunak







Memberikan model yang siap pakai, bahasa pemodelan visual yang ekspresif untuk mengembangkan sistem dan yang dapat saling menukar model dengan mudah dan dimengerti secara umum.







Memberikan bahasa pemodelan yang bebas dari berbagai bahasa pemrograman dan proses rekayasa.







Menyatukan praktek-praktek terbaik yang terdapat dalam pemodelan. UML (Unified Modeling Language) versi 2 mendefinisikan sehimpunan



notasi yang terdiri dari 14 technique pembuatan diagram yang digunakan untuk memodelkan sistem. Diagram dikelompokkan menjadi 2 yaitu : 1) Structure Modelling Diagram yang digunakan untuk memodelkan struktur sistem, yang terdiri atas: class diagaram, object diagram, package diagram, deployment diagram, component diagram dan composite struktur diagram. 2) Behaviour Modelling Diagram yang digunakan memodelkan tingkah laku sistem, yang terdiri atas: activity diagram, sequence diagram, communication diagram, interaction overview diagram, timing diagram, behavioral state machine, protocol state machine dan use case diagram Saat ini banyak sekali tool desain UML, baik itu tool komersial maupun open source. Beberapa diantaranya adalah: ▪



StarUML (http://staruml.io/)







Rational Rose (www.rational.com)







Together (www.togethersoft.com)







Object Domain (www.objectdomain.com)







Jvision (www.object-insight.com)







Objecteering (www.objecteering.com)







MagicDraw (www.nomagic.com/magicdrawuml)







Visual Object Modeller (www.visualobject.com)



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



KB 1, Konsep OOAD Dalam Perancangan Aplikasi/Sistem Infomasi



Modul 2, Rekayasa Perangkat Lunak



yang notabene memakan banyak waktu bisa diselesaikan lebih cepat dan terorganisasi. Hal tersebut bisa terjadi dengan bantuan aplikasi pemodelan. StarUML adalah software permodelan yang mendukung UML (Unified Modeling Language). Berdasarkan pada UML version 1.4 dan dilengkapi 11 macam diagram yang berbeda, mendukung notasi UML 2.0 dan juga mendukung pendekatan MDA (Model Driven Architecture) dengan dukungan konsep UML. StarUML dapat memaksimalkan produktivitas dan kualitas dari suatu software project. Silakan Download StarUML dari website resminya. Gunakan fasilitas pencarian untuk menemukan web tersebut. Instalasilah StarUML di komputer Anda, sebelum melanjutkan ke materi berikut. Jika dikomputer Anda telah terpasang StarUML, maka silakan melanjutkan ke bahasan berikut. 2) Use Case Diagram Use Case diagram merupakan suatu diagram yang menggambarkan fungsionalitas yang diharapkan dari sebuah sistem. Sebuah use case dapat memrepresentasikan interaksi antara aktor dengan sistem. Use Case Diagram adalah abstraksi dari interaksi antara sistem dan aktor. Use case bekerja dengan cara mendeskripsikan tipe interaksi antara user sebuah sistem dengan systemnya sendiri melalui sebuah cerita bagaimana sebuah sistem dipakai. Use case merupakan kontruksi untk mendeskripsikan bagaimana system akan terlihat di mata user, sedangkn use case diagram memfalisitasi komunikasi di antara analis dan pengguna serta analis dan klien. Penjelasan bagian bagian use case diagram, ada 6 tool yang terpenting pada use case diagram : a) System Menyatakan batasan sistem dalam relasi dengan aktor-aktor yang menggunakannya (di luar sistem) dan fitur-fitur yang harus disediakan (dalam sistem). Digambarkan dengan segi empat yang membatasi semua use case dalam



KB 1, Konsep OOAD Dalam Perancangan Aplikasi/Sistem Infomasi



19



Modul 2, Rekayasa Perangkat Lunak



sistem terhadap pihak mana sistem akan berinteraksi. Sistem disertai label yang menyebutkan nama dari sistem, tapi umumnya tidak digambarkan karena tidak terlalu memberi arti tambahan pada diagram. b) Actor Actor adalah segala hal diluar sistem yang akan menggunakan sistem tersebut untuk melakukan sesuatu. Bisa merupakan manusia, sistem, atau device yang memiliki peranan dalam keberhasilan operasi dari sistem. Cara mudah untuk menemukan aktor adalah dengan bertanya hal-hal berikut: siapa yang akan menggunakan sistem? Aakah sistem tersebut akan memberikan nilai bagi aktor? c)



Use case Mengidentifikasi fitur kunci dari sistem. Tanpa fitur ini, sistem tidak akan



memenuhi permintaan user/actor. Setiap use case mengekspresikan goal dari sistem yang harus dicapai. Diberi nama sesuai dengan goal-nya dan digambarkan dengan elips dengan nama di dalamnya. Fokus tetap pada goal bukan bagaimana mengimplementasikannya walaupun use case berimplikasi pada prosesnya nanti. Setiap use case biasanya memiliki trigger/pemicu yang menyebabkan use case memulai (misalnya, pasien mendaftar dan membuat janji baru atau meminta untuk membatalkan atau mengubah janji yang sudah ada). Terdapat 2 triger, pertama triger eksternal, seperti pelanggan memesan atau alarm kebakaran berbunyi, kedua triger temporal, seperti tanggal pengembalian buku terlewati di perpustakaan atau keterlambatan bayar sewa. d) Assosiation Mengidentifikasikan interaksi antara setiap aktor tertentu dengan setiap use case tertentu. Digambarkan sebagai garis antara aktor terhadap use case yang bersangkutan. Asosiasi bisa berarah (garis dengan anak panah) jika komunikasi satu arah, namun umumnya terjadi kedua arah (tanpa anak panah) karena selalu diperlukan demikian. e)



Dependency Dependensi - Mengidentifikasi hubungan antar dua use case di mana yang satu memanggil yang lain.



20



KB 1, Konsep OOAD Dalam Perancangan Aplikasi/Sistem Infomasi



Modul 2, Rekayasa Perangkat Lunak



- 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. - Digambarkan dengan garis putus-putus bermata panah dengan notasi pada garis. - Arah mata panah sesuai dengan arah pemanggilan. Dependensi -



Jika pemanggilan memerlukan adanya kondisi tertentu maka berlaku dependensi .



-



Note: konsep “extend” ini berbeda dengan “extend” dalam Java!



-



Digambarkan serupa dengan dependensi kecuali arah panah berlawanan



e)



Generalization Mendefinisikan relasi antara dua actor atau dua use case yang mana salah



satunya meng-inherit dan menambahkan atau override sifat dari yang lainnya. Penggambaran menggunakan garis bermata panah kosong dari yang meng-inherit mengarah ke yang di-inherit.



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



KB 1, Konsep OOAD Dalam Perancangan Aplikasi/Sistem Infomasi



21



Modul 2, Rekayasa Perangkat Lunak



Gambar 1. 1. Memulai Use Case Diagram 3) Maka tampilan toolbox pada sebelah kiri akan berubah menjadi gambar di bawah ini.



Gambar 1. 2. Toolbox use case diagram 4) Klik pada gambar aktor dan taruh kursor pada samping toolbox. Maka akan muncul gambar orang yang disebut dengan actor dan beri nama actor.



22



KB 1, Konsep OOAD Dalam Perancangan Aplikasi/Sistem Infomasi



Modul 2, Rekayasa Perangkat Lunak



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



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



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



KB 1, Konsep OOAD Dalam Perancangan Aplikasi/Sistem Infomasi



23



Modul 2, Rekayasa Perangkat Lunak



Berikut ini adalah simbol-simbol dari activity diagram. Tabel 1. 1. Simbol Activity Diagram



Berikut contoh activity diagram dengan actor mahasiswa dan petugas perpustakaan.



Gambar 1. 5. Contoh activity diagram Sistem Informasi Perpustakaan



24



KB 1, Konsep OOAD Dalam Perancangan Aplikasi/Sistem Infomasi



Modul 2, Rekayasa Perangkat Lunak



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



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



KB 1, Konsep OOAD Dalam Perancangan Aplikasi/Sistem Infomasi



25



Modul 2, Rekayasa Perangkat Lunak



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



Berikut contoh sederhana membuat sequence diagram dengan starUML: 1) Pertama pilih model -> add diagram -> Sequence Diagram.



26



KB 1, Konsep OOAD Dalam Perancangan Aplikasi/Sistem Infomasi



Modul 2, Rekayasa Perangkat Lunak



Gambar 1. 6. Menu squence diagram 2) Selanjutnya pada toolbox sequence diagram terdapat simbol untuk membuat alur diagram.



Gambar 1. 7. Toolbox squence diagram 3) Berikut adalah contoh dari sequence diagram



KB 1, Konsep OOAD Dalam Perancangan Aplikasi/Sistem Infomasi



27



Modul 2, Rekayasa Perangkat Lunak



Gambar 1. 8. Contoh squence diagram 4) Cara membuat alur di atas adalah sebagai berikut: a) Pembeli dalam alur diagram di atas menggunakan simbol object yang terletak pada toolbox. b) Sedangkan untuk membuat garis yang menghubungkan antara object menggunakan stimulasi yang terletak pada toolbox. c) Untuk memberikan nama pada garis klik dua kali pada garis maka akan muncul tempat untuk mengetik. d) Dalam objek kasir terdapat garis melengkung kebawah yang menunjukkan suatu proses yang disebut setstimulasion. 5) Untuk menyimpan pilih file → save as dan pilih lokasi penyimpanan Statechart diagram Statechart diagram menunjukkan siklus hidup dari obyek tunggal, dari saat dibuat sampai obyek 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.



28



KB 1, Konsep OOAD Dalam Perancangan Aplikasi/Sistem Infomasi



Modul 2, Rekayasa Perangkat Lunak



Tabel 1. 3. Simbol-simbol statechart diagram



Untuk menjalankan statechart diagram, dilakukan melalui menu model → statechart diagram, seperti yang ditujukan pada gambar di bawah ini.



Gambar 1. 9. Menjalankan statechart diagram Berikut ini contoh dari statechart diagram penyewaan kendaraan



KB 1, Konsep OOAD Dalam Perancangan Aplikasi/Sistem Infomasi



29



Modul 2, Rekayasa Perangkat Lunak



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



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



30



KB 1, Konsep OOAD Dalam Perancangan Aplikasi/Sistem Infomasi



Modul 2, Rekayasa Perangkat Lunak



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



Untuk menjalankan deployment diagram, dilakukan melalui menu model → deployment diagram pada starUML, seperti yang ditunjukkan pada Gambar di bawah ini.



KB 1, Konsep OOAD Dalam Perancangan Aplikasi/Sistem Infomasi



31



Modul 2, Rekayasa Perangkat Lunak



Gambar 1. 11. Memulai Deployment Diagram Contoh deployment diagram



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



32



KB 1, Konsep OOAD Dalam Perancangan Aplikasi/Sistem Infomasi



Modul 2, Rekayasa Perangkat Lunak



Tabel 1. 5. Simbol-simbol collaboration diagram



Contoh dari collaboration diagram



Gambar 1. 13. Contoh collaboration diagram



KB 1, Konsep OOAD Dalam Perancangan Aplikasi/Sistem Infomasi



33



Modul 2, Rekayasa Perangkat Lunak



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



34



KB 1, Konsep OOAD Dalam Perancangan Aplikasi/Sistem Infomasi



Modul 2, Rekayasa Perangkat Lunak



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



Gambar 1. 14. Memulai component diagram



KB 1, Konsep OOAD Dalam Perancangan Aplikasi/Sistem Infomasi



35



Modul 2, Rekayasa Perangkat Lunak



Contoh dari componen diagram



Gambar 1. 15. Contoh component diagram h. Dokumentasi Pengembangan Sistem Berorientasi Objek Dokumentasi



berisi penjelasan rinci tentang inti teknis dari rekayasa



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



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



36



KB 1, Konsep OOAD Dalam Perancangan Aplikasi/Sistem Infomasi



Modul 2, Rekayasa Perangkat Lunak



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



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



KB 1, Konsep OOAD Dalam Perancangan Aplikasi/Sistem Infomasi



37



Modul 2, Rekayasa Perangkat Lunak



bahasa untuk menspesifikasi sistem, dan sebagai bahasa untuk pendokumentasian sistem.



2. Tes Formatif Jawablah Soal-Soal berikut ini dengan memilih jawaban yang paling tepat! 1. Metode ini didasarkan pada pemodelan Object Oriented dan entity- relationship. Metode ini mempunyai perancangan yang berfokus pada empat komponen yaitu Problem domain componet, Human interaction componet, Data management component dan Task management component A. Metode Boch B. Metode Rumbaugh C. Metode Jacobson D. Metode Coad dan Yourdon E. Metode Wirfs-Brock 2.



Responsibility



Driven



Design/-Class



Responsibility



Collaboration



(RDD/CFC). Metode ini diarahkan pada desain, tetapi sangat berguna untuk memunculkan ide dalam tahap analisis. Keunggulannya adalah mudah digunakan, metode ini juga mengidentifikasikan hirarki kelas dan subsistemsubsistem. 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 langkahlangkah 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 38



KB 1, Konsep OOAD Dalam Perancangan Aplikasi/Sistem Infomasi



Modul 2, Rekayasa Perangkat Lunak



4.



Perhatikan gambar di bawah ini.



Gambar di atas adalah gambar: A. Deployment diagram B. Collaboration Diagram C. Componen Diagram D. Use Case Diagram E. Statement Diagram 5.



Untuk dapat memahami UML diperlukan pemahaman tentang konsep bahasa pemodelan dan tiga elemen utama UML yaitu... A. Objek, design, dan diagram B. Objek, diagram, dan relationship C. Analisa, diagram, dan relationship D. Design, diagram, dan relationship E. Analisa, design, dan implementasi



6.



Dalam analisis berorientasi objek, digambarkan model objek, model dinamik dan model prosedural. Ketiga model ini digunakan dalam .... A. Object Modeling Technique B. Object Oriented Software Engineering C. Unified Modeling Language D. Object Oriented Analysis E. Object Oriented Design



7.



Gambar di bawah ini merupakan diagram.....



KB 1, Konsep OOAD Dalam Perancangan Aplikasi/Sistem Infomasi



39



Modul 2, Rekayasa Perangkat Lunak



8.



A.



Deployment diagram



B.



Activity Diagram



C.



Componen Diagram



D.



Use Case Diagram



E.



Statement Diagram



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



40



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



Modul 2, Rekayasa Perangkat Lunak







PendataanKoleksiBuku







PeminjamanBuku







PengembalianBuku







PembuatanLaporan



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



Daftar Pustaka Alan Denis, Barbara Haley Wixon, David Tagerden, 2005. System Analys and Design : an Object – Oriented Approach with UML 2.0, John Willey and Sons. Edward V. Berard, Origins Objects http://www.toa.com/pub/oobasics/oobasics.htm



Oriented



Technology,



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-unifiedmodeling.html, Diakses 21 Agustus 2019. Keyes, Jessica, 2002. Software Engineering Handbook, New York: Auerbach Publication. Matha, Mahesh P, 2008. Object Oriented Analysis and Design Using UML. New Delhi: Prentice Hall of IndiaProvate Limited. Nugroho, Adi., 2010. Rekayasa Perangkat Lunak Berbasis Objek dengan Metode USDP. Yogyakarta: Penerbit Andi.



KB 1, Konsep OOAD Dalam Perancangan Aplikasi/Sistem Infomasi



41



Modul 2, Rekayasa Perangkat Lunak



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



42



KB 1, Konsep OOAD Dalam Perancangan Aplikasi/Sistem Infomasi



Kegiatan Belajar 2 Konsep Manajemen Proyek Dalam Pengembangan Sistem Informasi



Modul 2, Rekayasa Peangkat Lunak



KEGIATAN BELAJAR 2 KONSEP MANAJEMEN PROYEK DALAM PENGEMBANGAN SISTEM INFORMASI A. Pendahuluan 1. Deskripsi Singkat Proyek 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 proyek sistem informasi, terdapat empat fokus yang dikelola, yaitu personil, produk, proses dan proyek. Oleh karena itu dibutuhkan pengelolaan yang sistematis, efektif dan terpadu. Aktifitas pengelolaan proyek sistem informasi tersebut selanjutnya disebut manajemen proyek. Manajemen proyek adalah kegiatan merencanakan, mengorganisasikan, memimpin, dan mengendalikan sumber daya perusahaan untuk mencapai sasaran telah ditentukan. Selanjutnya, manajemen proyek perangkat lunak diartikan sebagai aktifitas manajemen rekayasa perangkta lunak, dimulai sebelum aktifitas teknis diinisialisasi dan berlanjut pada keseluruhan batasa, perkembangan dan pemeliharaan perangkat lunak komputer. Kegiatan belajar ini membahas konsep dan implementasi manajemen proyek dalam pengembangan sistem informasi. Kegiatan belajar ini membahas pokok bahasan berikut: a.



Konsep dasar manajemen proyek



b.



Fungsi dan batasan manajamenen proyek



c.



Metode dan analisis manajemen proyek



d.



Proposal proyek sistem informasi



2. Relevansi Manajemen proyek 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.



KB 2, Konsep Manajemen Proyek Dalam Pengembangan Sistem Informasi Sistem Informasi



43



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 1 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 proyek dalam pengembangan sistem informasi. Secara khusus, tujuan Kegiatan Belajar 3 ini adalah agar peserta mampu: (1) Melaksanakan konsep dasar manajemen proyek pengembangan sistem informasi, (2) Menganalisis fungsi dan batasan manajemen proyek sistem informasi si obyek; dan (3) Menerapkan metode dan analisa manajemen proyek dalam pengembangan sistem informasi. (4) Membuat proposal proyek 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



44



KB 2, Konsep Manajemen Proyek Dalam Pengembangan Sistem Informasi Sistem Informasi



Modul 2, Rekayasa Peangkat Lunak



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



KB 2, Konsep Manajemen Proyek Dalam Pengembangan Sistem Informasi Sistem Informasi



45



Modul 2, Rekayasa Peangkat Lunak



2. Pokok-Pokok Materi Pokok-pokok materi pada kegiatan belajar ini adalah: a.



Konsep dasar manajemen proyek pengembangan sistem informasi



b.



Fungsi dan batasan manajemen proyek sistem informasi



c.



Metode dan analisa manajemen proyek dalam pengembangan sistem informasi



d.



Proposal proyek sistem informasi dengan menggunakan perangkat lunak yang ada



3. Uraian materi a. Pengertian Manajemen, Proyek dan Manajemen Proyek Menurut Soeharto (1999), manajemen adalah proses merencanakan, mengorganisasikan, memimpin, dan mengendalikan kegiatan anggota serta sumber daya yang lain untuk mencapai sasaran organisasi (perusahaan) yang telah ditentukan. Selanjutnya menurut Schwalbe (2006), proyek adalah suatu usaha yang bersifat sementara untuk menghasilkan suatu produk atau layanan yang unik. Pada umumnya proyek melibatkan beberapa orang yang saling berhubungan aktifitasnya dan sponsor utama dari proyek biasanya tertarik dalam penggunaan sumber daya yang efektif untuk menyelesaikan proyek secara efisien dan tepat waktu. Sementara itu menurut Gray &Larson (2000), proyek adalah kegiatan yang kompleks, tidak rutin, dan usaha satu waktu yang dibatasi oleh waktu, anggaran, sumber daya, dan spesifikasi kinerja yang dirancang untuk memenuhi kebutuhan customer. Schwalbe (2006) menyebutkan atribut dari suatu proyek adalah sebagai berikut : 1) Sebuah proyek memiliki tujuan yang khusus. Proyek harus menghasilkan suatu produk khusus, layanan, dan hasil akhir. 2) Proyek bersifat sementara. Proyek memiliki awal dan akhir yang jelas. 3) Proyek membutuhkan sumber daya bias dari beberapa area. Sumber daya dapat berupa hardware, software, dan sumber daya lainnya. 4)



Proyek harus memiliki pelanggan utama (primary customer)/sponsor.



46



KB 2, Konsep Manajemen Proyek Dalam Pengembangan Sistem Informasi Sistem Informasi



Modul 2, Rekayasa Peangkat Lunak



5) Proyek melibatkan ketidakpastian-ketidakpastian, karena setiap proyek bersifat unik maka sangat sulit untuk menentukan objektifitas proyek, mengestimasi waktu proyek, dan biayanya. Menurut Gray &Larson (2000), tujuan utama dari proyek adalah untuk memuaskan kebutuhan customer. Disamping kemiripan, karateristik dari sebuah proyek membantu membedakan proyek tersebut dari yang lainnya dalam organisasi. Karakteristik utama dari proyek 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 proyek software berbeda dengan proyek lainnya. Karakteristik tersebut adalah: 1) Invisibility. Dalam sebuah proyek software, kemajuannya tidak dapat dilihat secara langsung dan berbeda dengan proyek fisik lainnya misalnya pembuatan jembatan dan sebagainya. 2) Complexity. Produk software memiliki lebih banyak kompleksitas daripada proyek 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 ketidakkonsistenan. Konsistensi mulai dari awal hingga akhir menjadi hal yang penting dalam keberhasilan proyek. 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 proyek memiliki batasan yang berbeda terhadap ruang lingkup, waktu, dan biaya yang biasanya disebut sebagai triple constraint (3 kendala). Setiap manajer proyek harus memperhatikan hal-hal penting dalam manajemen proyek (Schwalbe, 2014):



KB 2, Konsep Manajemen Proyek Dalam Pengembangan Sistem Informasi Sistem Informasi



47



Modul 2, Rekayasa Peangkat Lunak



1) Ruang lingkup (scope) Apa yang ingin dicapai dalam proyek? produk atau layanan apa yang pelanggan harapkan dari proyek tersebut? 2) Waktu (time) Berapa lama waktu yang dibutuhkan untuk menyelesaikan proyek? Bagaimana jadwal kegiatan proyek akan dilaksanakan. Menurut A Guide to Project Management Body of Knowledge (PMBOK Guide)”, proses penanganan waktu dalam manajemen proyek terdiri dari : •



Plan schedule management (manajemen perencanaan jadwal)







Define activities (pendefinisian kegiatan)







Sequence activities (urutan kegiatan)







Estimate activity resources (estimasi sumber daya kegiatan)







Estimate activity durations (estimasi durasi atau jangka waktu kegiatan)







Develop schedule (pengembangan jadwal)







Control schedule (pengendalian jadwal)



3) Biaya (cost) Beberapa proses dalam penanganan biaya dalam manajemen proyek diantaranya seperti : •



Cost estimating, estimasi biaya yang dibutuhkan untuk menyelesaikan proyek.







Cost budgeting, penganggaran biaya yang menggabungkan estimasi biaya sumber daya yang dibutuhkan, paket pekerjaan dan biaya-biaya kegiatan lainnya sehingga membentuk suatu rencana biaya yang sistematis.







Cost control (pengendalian biaya), faktor-faktor yang mengakibatkan fluktuasinya biaya dapat dikendalikan dengan beberapa alat manajemen biaya. Ketiga batasan tersebut memiliki sifat saling berkaitan artinya, jika ingin



meningkatkan kinerja produk yang telah disepakati dalam kontrak, maka harus diikuti dengan meningkatkan mutu, yang selanjutnya berakibat pada naiknya biaya melebihi anggaran. Sebaliknya, bila ingin menekan biaya maka biasanya harus berkompromi dengan mutu atau jadwal.



48



KB 2, Konsep Manajemen Proyek Dalam Pengembangan Sistem Informasi Sistem Informasi



Modul 2, Rekayasa Peangkat Lunak



Pengertian Manajemen Proyek Menurut Schwable (2014), manajemen proyek merupakan aplikasi dari ilmu pengetahuan, skills, tools, dan teknik untuk aktifitas suatu proyek dengan maksud memenuhi atau melampaui kebutuhan stakeholder dan harapan dari sebuah proyek. Sementara itu menurut



Soeharto (1995), manajemen proyek adalah kegiatan



merencanakan, mengorganisir, memimpin, dan mengendalikan sumber daya perusahaan untuk mencapai sasaran jangka pendek yang telah ditentukan. Lebih lanjut Nicholas (2001), menyebutkan bahwa terdapat 3 elemen penting dalam manajemen proyek yaitu: a. Manajer proyek Elemen paling penting dalam manajemen proyek adalah manajer proyek. Manajer proyek adalah seseorang yang bertanggung jawab untuk merencanakan, mengarahkan, dan mengintegrasikan usaha kerja dari anggota untuk mencapai tujuan proyek. Manajer proyek mengkoordinasikan usaha antar area fungsional dan mengintegrasikan perencanaan dan pengendalian dari biaya, jadwal, dan pembagian tugas dalam suatu proyek. b. Tim proyek Tim proyek merupakan kumpulan orang yang biasanya berasal dari area fungsional yang berbeda yang akan saling bekerja sama dengan tujuan untuk menyelesaikan pekerjaan proyek. c. Sistem manajemen Sistem manajemen proyek dibuat berdasarkan struktur organisasi, proses informasi, dan pelatihan serta prosedur yang mengintegrasikan elemen dari organisasi proyek secara vertikal dan horizontal. Elemen vertikal meliputi pemecahan tugas dalam proyek sedangkan elemen horizontal meliputi unit fungsional dan departemen yang terlibat dalam proyek. b. Fungsi dan Tujuan Manajemen Proyek Berikut ini adalah beberapa fungsi dan tujuan manajemen proyek: 1) Pelingkupan (scooping), yang menjelaskan mengenai batas-batas dari sebuah proyek.



KB 2, Konsep Manajemen Proyek Dalam Pengembangan Sistem Informasi Sistem Informasi



49



Modul 2, Rekayasa Peangkat Lunak



2) Perencanaan (planning), menidentifikasi tugas apa saja yang dibutuhkan dalam menyelesaikan sebuah proyek. 3) Perkiraan (estimating), setiap tugas yang dibutuhkan dalam penyelesaian sebuah proyek harus diperkirakan. 4) Penjadwalan (scheduling), seorang manajer proyek harus bertanggung jawab atas penjadwalan seluruh kegiatan suatu proyek. 5) Pengorganisasian (organizing), seorang manajer proyek memastikan bahwa seluruh anggota tim dari sebuah proyek mengetahui peran serta tanggung jawab masing-masing dan hubungan laporan mereka kepada manajer proyek. 6) Pengarahan (directing), mengarahkan seluruh kegiatan-kegiatan tim dalam proyek. 7) Pengontrolan (controlling), fungsi pengontrolan atau pengendalian ini mungkin saja merupakan fungsi tersulit dan juga terpenting bagi seorang manajer apakah proyek akan berjalan semestinya ataukah tidak. 8) Penutupan (closing), manajer proyek hendaknya selalu menilai keberhasilan atau kegagalan pada kesimpulan dari sebuah proyek yang dijalani. Proyek ialah serangkaian rencana kegiatan terkait untuk mencapai tujuan bisnis tertentu. Proyek sistem informasi termasuk pengembangan sistem informasi baru, peningkatan sistem yang ada atau upgrade atau penggantian infrastruktur teknologi informasi perusahaan. Manajemen proyek mengacu pada penerapan pengetahuan, keterampilan, peralatan dan teknik untuk mencapai target tertentu dalam anggaran dan waktu yang ditentukan kendala. Kegiatan manajemen proyek termasuk perencanaan pekerjaan, menilai risiko, memperkirakan sumber daya yang dibutuhkan untuk menyelesaikan pekerjaan, pengorganisasian pekerjaan, memperoleh sumber daya manusia dan material, menetapkan tugas, kegiatan mengarahkan, mengendalikan pelaksanaan proyek, melaporkan kemajuan dan menganalisis hasil. Sebagai di daerah lain bisnis, manajemen proyek untuk sistem informasi harus berurusan dengan lima variabel utama: ruang lingkup, waktu, biaya, kualitas dan risiko. Adapun ruang lingkup proyek adalah:



50



KB 2, Konsep Manajemen Proyek Dalam Pengembangan Sistem Informasi Sistem Informasi



Modul 2, Rekayasa Peangkat Lunak



a. Menentukan waktu dimulai proyek. b. Membuat perencanaan lingkup dari proyek yang akan dikerjakan. c. Penjabaran dari ruang lingkup proyek. Pengecekan proyek dan mengendalikan atas perubahan yang mungkin terjadi ketika proyek tersebut dimulai.



Gambar 2.1. Project Boundaries



Secara umum pada proses manajemen ada tiga bagian yang selalu ada tidak terkecuali manajemen proyek, yaitu perencanaan, penjadwalan, dan pengendalian proyek : 1) Perencanaan 2) Penjadwalan 3) Pengendalian Proyek



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



KB 2, Konsep Manajemen Proyek Dalam Pengembangan Sistem Informasi Sistem Informasi



51



Modul 2, Rekayasa Peangkat Lunak



1) Initiation Sebuah proyek 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 2) Project charter, berisi kebutuhan proyek, seperti: •



Project Manager







Latar belakang kebutuhan organisasi terkait pelaksanaan suatu proyek (background)







Target yang ingin dicapai (goal)







Penjelasan mengenai solusi atau produk yang akan diimplementasikan (product description)







Kriteria sukses suatu proyek (project success criteria)







Kendala-kendala yang akan dihadapi (risk)







Tanggung jawab dan aktivitas baik dari pelaksana proyek maupun dari customer (responsibility)







Anggaran dan durasi (project budget and duration).



3) Stakeholder Penyusunan daftar-daftar pemangku kepentingan yang terlibat dalam suatu proyek. Data mengenai stakeholder ini sangat penting untuk mendapatkan masukkan pada tahap perencanaan. 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 proyek (project boundaries) seperti Business Case Assessment, persetujuan stakeholder dan pembiayaan proyek. Batasan proyek ini didefinisikan sebagai suatu titik waktu dimana proyek atau fase proyek dikatakan sudah selesai dengan lengkap. Tujuan utama dari proses ini adalah untuk manangani ekspektasi stakeholder dan memberikan gambaran kepada mereka mengenai scope dan objetif suatu proyek. 52



KB 2, Konsep Manajemen Proyek Dalam Pengembangan Sistem Informasi Sistem Informasi



Modul 2, Rekayasa Peangkat Lunak



4) Planning Target utama dari tahap ini adalah menghasilkan dokumen perencanaan proyek atau Project Management Plan. Proses utama terkait kegiatan perencanaan dan pembuatan Project Management Plan adalah: •



Merangkum kebutuhan dan keinginan klien, memastikan batasan pekerjaan, serta membuat uraian pekerjaan.







Merinci unit-unit pekerjaan, menentukan urutan pekerjaan, estimasi sumber daya, estimasi durasi, dan finalisasi jadwal proyek.







Estimasi biaya untuk masing-masing kegiatan.







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







Perencanaan sumber daya manusia.







Perencanaan komunikasi antara stakeholder.







Perencanaan manajemen risiko.



5) Execution Tugas pengelola proyek dalam tahap ini adalah memfasilitasi dan mengawasi tim agar dapat bekerja sesuai dokumen perencanaan terutama mengawal tim agar tidak melewati jadwal maupun over budget. Apabila terdapat perubahan atau perbedaan antara perencanaan dan pelaksanaan, maka disarankan untuk melakukan analisis dampak terhadap biaya, waktu, mutu dan risiko, sebelum perubahan diterapkan dalam bentuk baseline (patokan) baru. Proses utama dalam tahap ini adalah mengarahkan dan mengelola pelaksanaan proyek ke arah penyelesaian, sesuai dokumen perencanaan. Seorang Manajer Proyek cukup mengarahkan, menjelaskan dan memotivasi tim agar proyek dapat berjalan dengan baik dan lancar. Beberapa tugas Manajer Proyek dalam tahap ini antara lain: •



Mengevaluasi jalannya proses pelaksanaan kegiatan







Meningkatkan kinerja tim dan mengelola tim







Melaksanakan proses pembelian dan pengadaan barang dan jasa







Distribusi informasi dan laporan kepada stakeholder



KB 2, Konsep Manajemen Proyek Dalam Pengembangan Sistem Informasi Sistem Informasi



53



Modul 2, Rekayasa Peangkat Lunak







Melakukan tindakan-tindakan untuk mengelola ekspektasi stakeholder



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



Pelaporan dan pemantauan rutin. Konsep penting dalam melaporkan progress pekerjaan disebut dengan Earned Value Management (EVM).







Prosentasi penyelesaian pekerjaan perlu selalu dilaporkan dan dibandingkan dengan target pencapaian.







Nilai Earned Value (EV) tersebut kemudian dibandingkan dengan Actual Cost (AC) untuk melihat apakah pada suatu masa pelaporan kemajuan proyek, biaya aktualnya melebihi, sesuai, atau lebih rendah dari nilai progres yang dilaporkan. Apabila terdapat selisih (over budget) atau hasil yang negatif dari perhitungan EV-AC, maka diperlukan langkah-langkah perbaikan (corrective actions). Sehingga selisih tidak semakin besar dan bahkan dapat dikembalikan ke posisi yang lebih baik.







Dari sisi penjadwalan. EV dapat dibandingkan dengan Planned Value (PV). Apabila hasil perhitungan EV-PV bernilai negatif, maka dapat dikatakan



54



KB 2, Konsep Manajemen Proyek Dalam Pengembangan Sistem Informasi Sistem Informasi



Modul 2, Rekayasa Peangkat Lunak



progress pekerjaan telah mengalami keterlambatan. Dan sebaliknya, apabila hasilnya positif maka progress pekerjaan lebih cepat dari jadwal. •



Deliverable yang diserahkan oleh tim proyek memerlukan verifikasi bersama dengan klien. Apabila terdapat hal yang belum disepakati klien atau pengguna maka pekerjaan akan kembali masuk dalam proses eksekusi.



7) Closing Berikut beberapa aktivitas yang penting dilakukan dalam tahap closing: •



Memastikan persetujuan resmi dari sponsor atau klien terkait penyelesaian pekerjaan.







Mengadakan evaluasi akhir proyek (lessons learned).







Mengkaji apakah metodologi manajemen proyek perlu diperbaiki.







Merapikan arsip dan dokumentasi proyek.







Memberi masukan kepada manajemen perusahaan terkait hal-hal yang dirasakan bermanfaat selama proyek dijalankan.







Menyelesaikan kewajiban dengan pihak-pihak, terutama pihak pemasok (supplier/ vendor), outsourcing dan sebagainya.



d. Kebijakan dan Perencanaan Proyek Sistem Informasi Sistem Informasi memiliki pengertian suatu sistem yang memiliki fungsi menghasilkan informasi-informasi yang dibutuhkan pihak user. Komponen yang termasuk sistem informasi meliputi infrastruktur hardware, Software dan ketersediaan sumber daya manusia bidang teknologi informasi. Proyek sistem informasi mencakup sebagian atau keseluruhan dari rangkaian aktivitas rekayasa Beberapa perbedaan karakteristik proyek sistem informasi dibandingkan dengan proyek bidang lain adalah sebagai berikut : 1) Memiliki tujuan untuk menghasilkan produk yang bersifat intangible (tidak dapat diraba/perkirakan, tidak dapat dinyatakan secara jelas) seperti perangkat lunak, database, jaringan yang sulit untuk mengukur nilai manfaat dari produk tersebut. 2) Melibatkan teknologi yang sangat cepat usang, karena perkembangan yang sangat cepat.



KB 2, Konsep Manajemen Proyek Dalam Pengembangan Sistem Informasi Sistem Informasi



55



Modul 2, Rekayasa Peangkat Lunak



3) Membutuhkan beragam sumber daya manusia dengan keahlian dan kompetensi yang beragam. 4) Ukuran yang dijadikan standar sulit dibakukan, karena sulit mengukur kualitas yang dimengerti berbagai pihak secara seragam. Suatu sistem informasi dapat dikembangkan karena adanya kebijakan dan perencanaan telebih dahulu. Tanpa adanya perencanaan sistem yang baik, pengembangan sistem tidak akan dapat berjalan sesuai dengan yang diharapkan. Tanpa adanya kebijakan pengembangan sistem oleh manajemen puncak, maka pengembangan sistem tidak akan mendapat dukungan dari manajemen puncak tersebut. Kebijakan untuk mengembangkan sistem informasi dilakukan oleh manajemen puncak karena manajemen menginginkan untuk meraih kesempatankesempatan yang ada yang tidak dapat diraih oleh sistem yang lama atau sistem lama mempunyai kelemahan (masalah) perencanaan sistem menyangkut estimasi (penafsiran, perkiraan, pendapat atau penilaian) sumberdaya (kebutuhan-kebutuhan fisik dan tenaga kerja) dan biaya. Perencanaan sistem terdiri dari : perencanaan jangka pendek (periode 1 sampai 2 tahun) dan jangka panjang (periode sampai 5 tahun). Perencanaan sistem biasanya ditangani oleh staf perencanaan sistem, departemen pengembangan sistem atau depertemen pengolahan data.



e. Proses Perencanaan Sistem Informasi Proses perencanaan sistem dapat dikelompokkan dalam tiga proses utama, yaitu : 1) Merencanakan proyek-proyek sistem Tahapan proses perencanaan sistem yaitu : -



Mengkaji tujuan, perencanaan strategi dan taktik perusahaan.



-



Mengidentifikasi proyek-proyek sistem.



-



Menetapkan sasaran proyek-proyek sistem



-



Menetapkan kendala proyek-proyek sistem (mis. batasan biaya, waktu, umur ekonomis, peraturan yang berlaku).



-



56



Prioritas proyek-proyek sistem.



KB 2, Konsep Manajemen Proyek Dalam Pengembangan Sistem Informasi Sistem Informasi



Modul 2, Rekayasa Peangkat Lunak



-



Membuat laporan perencanaan sistem.



-



Meminta persetujuan manajemen.



2) Mempersiapkan proyek-proyek sistem yang akan dikembangkan Persiapan ini meliputi : - Menunjuk team analis (dapat berasal dari departemen pengembangan yang ada atau dari luar perusahaan (konsultan). - Mengumumkan proyek pengembangan sistem. 3) Mendefinisikan proyek-proyek sistem yang dikembangkan Melakukan studi untuk mencari alternatif pemecahan terbaik yang paling layak untuk dikembangkan. Tahapan yang dilakukan yaitu : -



Mengidentifikasi kembali ruang lingkup dan sasaran proyek sistem.



-



Melakukan studi kelayakan.



-



Menilai kelayakan proyek system.



-



Membuat usulan proyek system.



-



Meminta persetujuan manajemen.



f. Metodologi Umum Pelaksanaan Proyek Sistem Informasi (Metode Generik) Pengembangan sebuah sistem informasi dalam sebuah perusahaan dilakukan dengan pendekatan manajemen proyek (project management). Lepas dari berbagai variasi proyek-proyek teknologi informasi yang ada, seperti pembuatan aplikasi, penerapan perangkat lunak, konstruksi infrastruktur jaringan, dan lain sebagainya, metodologi yang dipergunakan secara umum adalah sama. Setidaktidaknya ada enam buah tahapan yang harus dilalui: perencanaan, analisa, desain, konstruksi, implementasi, dan pasca implementasi. Masing-masing konsultan atau para praktisi teknologi informasi biasanya memiliki variasinya masing-masing yang secara prinsip tidak lepas dari keenam langkah metodologi di atas. Secara umum, proyek-proyek sistem informasi dalam perusahaan atau organisasi dapat dikategorikan dalam 3 kelompok besar. 1) Proyek yang bersifat pembangunan jaringan infrastruktur teknologi informasi, menyangkut hal-hal mulai dari pengadaan dan instalasi komputer sampai



KB 2, Konsep Manajemen Proyek Dalam Pengembangan Sistem Informasi Sistem Informasi



57



Modul 2, Rekayasa Peangkat Lunak



dengan perencanaan dan pengembangan infrastruktur jaringan LAN (Local Area Network) dan WAN (Wide Area Network). 2) Implementasi dari paket program aplikasi yang dibeli di pasaran dan diterapkan di



perusahaan,



mulai



dari software kecil



seperti



produk-



produk retail Microsoft sampai dengan aplikasi terintegrasi berbasis ERP, seperti SAP dan BAAN. 3) Perencanaan dan pengembangan aplikasi yang dibuat sendiri secara khusus (customized software), baik oleh internal perusahaan maupun kerja sama dengan pihak luar seperti konsultan dan software house. Terdapat enam langkah pengembangan dalam manajemen proyek sistem informasi, yaitu: 1) Tahap Perencanaan Tahap perencanaan merupakan suatu rangkaian kegiatan semenjak ide pertama yang melatarbelakangi pelaksanaan proyek ini diperoleh, pendefinisian awal terhadap kebutuhan detail atau target yang harus dicapai dari proyek tersebut, penyusunan proposal, penentuan metodologi dan sistem manajemen proyek yang digunakan, sampai dengan penunjukan tim dan instruksi untuk mengeksekusi (memulai) proyek yang bersangkutan. Biasanya ada dua pihak yang terlibat langsung dalam proyek perencanaan ini yaitu : a)



Yang membutuhkan (demand side) eksistensi dari suatu sistem informasi, dalam hal ini adalah perusahaan, lembaga, institusi atau organisasi yang bersangkutan.



b) Pihak yang berusaha menjawab kebutuhan tersebut (supply side) dalam bentuk pengembangan teknologi informasi. Kelompok ini biasanya merupakan gabungan dari para personel yang terkait dengan latar belakang ilmu dan pengetahuan yang beragam (multidisiplin), seperti ahli perangkat lunak, analisis bisnis dan manajemen, spesialis perangkat keras, programmer, sistem analis, praktisi hukum, manajer proyek dan beberapa karakteristik SDM lain yang terkait.



58



KB 2, Konsep Manajemen Proyek Dalam Pengembangan Sistem Informasi 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: •



Mengetahui posisi atau peranan teknologi informasi yang paling sesuai dan relevan di perusahaan (mengingat setiap perusahaan memiliki pandangan tersendiri dan unik terhadap sumber daya teknologi yang dimiliki, yang membedakannya dengan perusahaan lain).







Mempelajari fungsi-fungsi manajemen dan aspek-aspek bisnis terkait yang akan berpengaruh (memiliki damppak tertentu) terhadap proses desain, konstruksi dan implementasi.



b) Aspek teknologi Analisis aspek teknologi meliputi kegiatan-kegiatan yang bersifat menginventarisir aset teknologi informasi yang dimiliki perusahaan pada saat proyek dimulai dengan berbagai tujuan, antara lain : • Mempelajari



infrastruktur



teknologi



informasi



yang



dimiliki



perusahaan dan tingkat efektivitas penggunaannya selama kurun waktu tersebut. • Menganalisis kemungkinan-kemungkinan diperlukannya penambahan sistem di kemudian hari (system upgrading) sehubungan akan diimplementasikannya teknologi baru. Keluaran dari proses analisis pada kedua aspek ini adalah isu-isu (permasalahan) penting yang harus segera ditangani, dianalisis penyebabnya, dampaknya bagi bisnis perusahaan, beberapa kemungkinan skenario pemecahan dengan segala risiko cost/benefit (laba/rugi) dan trade-off (tukar tambah), serta



KB 2, Konsep Manajemen Proyek Dalam Pengembangan Sistem Informasi Sistem Informasi



59



Modul 2, Rekayasa Peangkat Lunak



pilihan solusi yang direkomendasikan. Sebelum memasuki fase desain, seluruh tim harus paham tentang isu-isu ini dan memiliki komitmen untuk melanjutkan proyek yang ada ke tahap berikutnya sesuai dengan skala prioritas yang telah ditentukan (setelah memilih skenario yang disetujui bersama). 3) Tahap Desain Pada tahap desain, tim teknologi informasi bekerja sama dengan tim bisnis atau manajemen melakukan perancangan komponen-komponen sistem terkait. Tim teknologi informasi akan melakukan perancangan teknis dari teknologi informasi yang



akan



dibangun,



seperti



sistem



basis



data,



jaringan



komputer,



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



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.



60



KB 2, Konsep Manajemen Proyek Dalam Pengembangan Sistem Informasi Sistem Informasi



Modul 2, Rekayasa Peangkat Lunak



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 proyek 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 proyek sistem informasi yang diselesaikan secara tepat waktu). Akhir dari tahap konstruksi biasanya berupa uji coba sistem. Perbaikanperbaikan bersifat minor biasanya harus dilakukan setelah adanya masukanmasukan yang timbul setelah diadakannya evaluasi. 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. Halhal 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 prosesproses pemeliharaan sistem. Tidak jarang terjadi peristiwa dimana perusahaan atau



KB 2, Konsep Manajemen Proyek Dalam Pengembangan Sistem Informasi Sistem Informasi



61



Modul 2, Rekayasa Peangkat Lunak



personel pembuat sistem sudah tidakdiketahui lagi lokasinya setelah bertahuntahun (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 perubahan atau modifikasi terhadap sistem informasi sejalan dengan perubahan kebutuhan bisnis yang dinamis. Dengan kata lain, dalam era kompetisi yang semakin ketat, perusahaan harus mampu berubah dengan sangat cepat. Berikut ini adalah contoh Business Process Mapping and Standard Operational Procedure Pemetaan proses adalah visualisasi dari rangkaian seluruh aktivitas dari suatu organisasi, yang mendemonstrasikan bagaimana pekerjaan di dalam organisasi tersebut dilakukan, sehingga menjadikan pekerjaan tergambar dengan jelas/eksplisit (Robert Damelio, 1996). Dengan pemetaan proses sebuah organisasi memiliki



dokumentasi



mengenai



pekerjaan



yang



dilakukan,



sehingga



memungkinkan untuk menganalisa pekerjaan yang telah dilakukan bagi peningkatan kepuasan pelanggan melalui identifikasi terhadap pengurangan waktu proses, mengurangi produk defect, mereduksi biaya, mereduksi tahapan proses yang tidak menghasilkan nilai tambah, meningkatkan produktivitas, dan memudahkan pengukuran performansi. Proses secara sederhana dapat didefinisikan sebagai rangkaian aktivitas yang merubah input menjadi output yang bernilai tambah. Sebagai contoh sebuah meja adalah ouput yang bernilai tambah karena dapat dia pakai untuk berbagai kepentingan mulai dari meletakkan barang, menulis, untuk rapat, dll. Meja sebagai output yang bernilai tambah dihasilkan melalui suatu proses pembuatan meja, yang dimulai dari pohon sebagai input bahan baku, ditebang, dibelah menjadi papan, diukur sesuai dengan design, dipotong sesuai ukuran, dihaluskan, diberiwarna, dan



62



KB 2, Konsep Manajemen Proyek Dalam Pengembangan Sistem Informasi Sistem Informasi



Modul 2, Rekayasa Peangkat Lunak



dirangkai sehingga menjadi satu meja yang utuh. Serangkaian kegiatan yang dilakukan tersebut disebut dengan proses. Dalam organisasi



satu rangkaian



input-process-output



yang satu



bersambung kepada rangkaian input-process-output yang lainnya sehingga membentuk bisnis proses. Gambar berikut menunjukkan interaksi antar proses yang terjadi dalam satu organisasi;



Gambar 2.2. Interaksi proses yang membentuk proses bisnis Untuk dapat membangun pemetaan proses yang representatif, maka diperlukan pengetahuan dan pemahaman mengenai proses yang akan dipetakan. Berikut ini merupakan hierarki proses, yang akan menjelaskan mengenai proses dan komponen-komponen yang membangunnya (David Hoyle, 1998).



Gambar 2.3. Hierarki Proses KB 2, Konsep Manajemen Proyek Dalam Pengembangan Sistem Informasi Sistem Informasi



63



Modul 2, Rekayasa Peangkat Lunak



Keterangan: - Proses merupakan rangkaian aktivitas logis yang saling berhubungan dan berkesinambungan dalam mengolah keluaran dari supplier, memberi -



nilai tambah, dan menjadikannya keluaran bagi customer.



-



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.



-



Task merupakan gabungan aktivitas yang ditujukan untuk tujuan minor dalam sebuah organisasi. Task adalah pekerjaan di dalam work



-



process yang harus dilakukan.



-



Aktivitas merupakan bagian terkecil dari pekerjaan yang harus dilakukan untuk menyelesaikan suatu task. Dalam pemetaan proses dapat kita mulai dengan menggambarkan seluruh



aktifitas yang terjadi dalam suatu organisasi menjadi kelompok besar aktivitas yang kita sebut sebagai peta proses bisnis. Dari peta proses bisnis ini kemudian dapat didetailkan menjadi sub peta proses bisnis dan kemudian menjadi SOP dan intruksi kerja seperti yang dijelaskan dalam gambar berikut ini:



Gambar 2.4. Sistematika peta proses bisnis



64



KB 2, Konsep Manajemen Proyek Dalam Pengembangan Sistem Informasi Sistem Informasi



Modul 2, Rekayasa Peangkat Lunak



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



Apa yang dihasilkan oleh organisasi terkait (produk dan layanan).



-



Bagaimana alur pekerjaan yang melewati batasan fungsional (pekerjaan lintas fungsi)



-



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



Gambar 2.5. Peta proses yang lengkap KB 2, Konsep Manajemen Proyek Dalam Pengembangan Sistem Informasi Sistem Informasi



65



Modul 2, Rekayasa Peangkat Lunak



Keterangan: -



Business Process Map - Sub Business Process Map merupakan hubungan keterkaitan antara proses dengan proses.



-



Relationship Map merupakan hubungan keterkaitan antara proses dengan pelaku.



-



Cross Functional Map merupakan hubungan keterkaitan antara pelaku dengan aktifitas. Dengan demikian, penyusunan SOP memerlukan pemetaan proses atau



business process mapping dimana hal tersebut merupakan visualisasi dari suatu organisasi, yang mendemonstrasikan bagaimana pekerjaan di dalam organisasi tersebut



dilakukan,



sehingga



menjadikan



pekerjaan



tergambar



dengan



jelas/eksplisit (Robert Damelio, 1996). Dengan pemetaan proses sebuah organisasi memiliki



dokumentasi



mengenai



pekerjaan



yang



dilakukan,



sehingga



memungkinkan untuk menganalisa pekerjaan yang telah dilakukan bagi peningkatan kepuasan pelanggan melalui identifikasi terhadap pengurangan waktu proses, mereduksi tahapan proses yang tidak menghasilkan nilai tambah, meningkatkan produktivitas, dan memudahkan pengukuran kinerja. Penggunaan peta proses lainnya antara lain: - Sebagai alat evaluasi atau alternatif untuk mengorganisasikan sumber daya manusia dan pekerjaan di dalam sebuah organisasi - Untuk mengidentifikasikan peluang pengembangan - Untuk melakukan evaluasi dan memperketat pengukuran kinerja



66



KB 2, Konsep Manajemen Proyek Dalam Pengembangan Sistem Informasi Sistem Informasi



Modul 2, Rekayasa Peangkat Lunak



Gambar 2.6. Kerangka pengembangan proses Keterangan: -



Proses merupakan rangkaian aktivitas logis yang saling berhubungan dan berkesinambungan dalam mengolah input, memberikan nilai tambah,



-



dan menjadikannya output.



-



Sub proses adalah bagian dari proses yang memiliki tujuan spesifik dalam mendukung major process. Sub proses merupakan bagian dari



-



proses, bila major processterlalu kompleks.



-



Tugas merupakan gabungan aktivitas yang ditujukan untuk tujuan minor dalam sebuah organisasi. Tugas adalah pekerjaan di dalam work



-



process yang harus dilakukan.



-



Aktivitas merupakan langkah-langkah detail dari pekerjaan yang harus dilakukan untuk menyelesaikan suatu tugas. Untuk dapat membangun pemetaan proses yang representatif, maka



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



KB 2, Konsep Manajemen Proyek Dalam Pengembangan Sistem Informasi Sistem Informasi



67



Modul 2, Rekayasa Peangkat Lunak



g. Proposal Proyek Sistem Informasi Proposal proyek adalah suatu rancangan kegiatan atau kerja proyek yang disusun secara sistematis dan terperinci sesuai standar oleh seseorang atau sekelompok perencana untuk diajukan kepada pihak pemegang proyek dalam mendapatkan



persetujuan



maupun



bantuan



dalam



perencanaannya



atau



pengerjaannya. Adapun ciri-ciri proposal proyek sebagai berikut : • Proposal proyek dibuat untuk meringkas kegiatan proyek yang akan dilakukan. • Sebagai pemberitahuan pertama suatu kegiatan proyek • Berisikan tujuan-tujuan proyek, latar belakang kegiatan proyek. • Berupa lembaran-lembaran pemberitahuan yang telah dijilid yang nantinya



diserahkan kepada yang penyelenggara kegiatan proyek. • Ada pihak yang mengajukan. • Ada pihak yang menyetujui. • Terdapat gambaran kegiatan proyek secara umum. • Disusun sebelum rencana kerja. • Bersifat bisnis. • Memiliki sasaran dan tujuan yang jelas.



Manfaat pembuatan proposal proyek sebagai berikut: • Menjadi rencana yang mengarahkan pengembang dalam melaksanakan kegiatan



proyek. • Menjelaskan secara tidak langsung kepada pihak-pihak yang ingin mengetahui



kegiatan proyek. • Untuk meyakinkan user atau sponsor agar mereka memberikan dukungan



material maupun finansial dalam mewujudkan kegiatan proyek. • Sebagai gambaran awal sebuah kegiatan proyek. • Sebagai alat untuk memperoleh persetujuan dari pihak proyek berwenang. •



Sebagai alat pengontrol jalannya kegiatan proyek.



• Sebagai alat evaluasi kegiatan proyek. • Sebagai salah satu alat untuk memperluas jaringan kerja dan komunikasi.



68



KB 2, Konsep Manajemen Proyek Dalam Pengembangan Sistem Informasi Sistem Informasi



Modul 2, Rekayasa Peangkat Lunak



Syarat-syarat yang harus dipenuhi dalam menyusun proposal proyek yang baik sebagai berikut: • Sistematis, artinya proposal proyek yang disusun harus berurutan secara



sistematis menurut pola tertentu, dari yang paling sederhana hingga yang paling kompleks agar efektif dan efisien • Terencana, artinya proposal proyek tersebut dibuat secara sengaja dan telah



dipikirkan langkah-langkah pelaksanaanya, serta mengacu pada tujuan yang ingin dicapai dalam kegiatan proyek. •



Mengikuti konsep ilmiah, artinya pengerjaan proposal proyek mulai dari awal hingga akhir harus sesuai dengan cara-cara atau metode ilmiah yang sudah ditentukan.



• Jelas dan dapat dimengerti, artinya roposal proyek yang dibuat harus jelas dan



menggambarkan kegiatan proyek yang akan dilaksanakan. Sehingga pihak penerima dapat mendapatkan gambaran jelas tentang kegiatan proyek yang akan dilaksanakan tersebut. Berikut ini adalah format proposal proyek sistem informasi. 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.



KB 2, Konsep Manajemen Proyek Dalam Pengembangan Sistem Informasi Sistem Informasi



69



Modul 2, Rekayasa Peangkat Lunak



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 penggajian Beri penjelasan yang deskriptif







Modul reporting (pelaporan)







Modul backup dan recovery



D. Manfaat Bagi Perusahaan/Organisasi/Instansi* Tegaskan



lagi



benefit



yang



didapat



oleh



perusahaan



ketika



mengimplementasikan sistem informasi ini.



70



KB 2, Konsep Manajemen Proyek Dalam Pengembangan Sistem Informasi Sistem Informasi



Modul 2, Rekayasa Peangkat Lunak



* 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 2. Perancangan proses 3. Perancangan jaringan Jika perlu, buat desain topologi jaringan dengan mengacu gambar lokasi proyek yang dijelaskan dalam RFP. 4. Perancangan interace (antar muka) C. Implementasi Sistem Uraikan tahapan implementasi produk Mencakup bahasa pemrograman, DBMS, pengujian dan/atau teknologiteknologi pendukung lainnya D. Pelatihan Deskripsikan secara rinci mekanisme, sasaran (misal para operator), dan bentuk pelatihan yang akan diberikan nantinya.



KB 2, Konsep Manajemen Proyek Dalam Pengembangan Sistem Informasi Sistem Informasi



71



Modul 2, Rekayasa Peangkat Lunak



E. Pemeliharaan Deskripsikan mekanisme pemeliharaan sistem, termasuk layanan apa saja yang disediakan terkait pemeliharaan sistem, misalnya ada tim khusus untuk troubleshooting, dan sebagainya. F. Rencana Anggaran Biaya Buat rencana anggaran biaya yang riil dan responsible. Ingat, tahapan ini juga sangat memengaruhi diterima tidaknya proposal. Jadi, buat rincian perhitungan yang tepat. Bisa dituliskan langsung di sini atau dibuat lampiran khusus (misal dalam format spreadsheet). Contoh RAB (tidak harus sama persis, sesuaikan dengan proyek yang ditangani). 1. Tenaga Ahli Tabel 2.1. RAB tenaga ahli No



Posisi



Jumlah



Satuan



Waktu



Satuan



1



Project Manager System Analyst dan Designer Database Administrator Programmer Dokumentator



1



Orang



6



Bulan



2



Orang



6



Bulan



1



Orang



6



Bulan



2



3



Harga Satuan



Total Biaya



4 5 6 7 Total Biaya



2. Perangkat Keras (Hardware) Tabel 2.2. RAB kebutuhan perangkat keras No



Item



Spesifikasi



1 IBM Zeon 2 3 4 5 Total Harga



72



Jumlah



Satuan



1



Unit



Harga Satuan



Total Harga



KB 2, Konsep Manajemen Proyek Dalam Pengembangan Sistem Informasi Sistem Informasi



Modul 2, Rekayasa Peangkat Lunak



3. Perangkat Lunak (Software) Tabel 2.3. RAB kebutuhan perangkat lunak No 1



Item



Spesifikasi



Windows Server 2019 Oracle 12c



Jumlah



Satuan



1



Unit



Harga Satuan



Total Harga



2 3 4 5 Total Harga



4. Overhead Tabel 2.4. RAB kebutuhan overhead No 1.



2.



3.



4.



Item



Jumlah



Transportasi AnalisisKebutuhan ...............................



Satuan



1



orang



Akomodasi Analisis Kebutuhan



1



orang



Overhead kantor Alat Tulis Kantor (ATK)



1



Paket



Pelatihan Modul pelatihan User guide



10 5



Exp Exp



Harga Satuan



Total Harga



Total Harga 5.



Maintenance Tabel 2.5. RAB maintenance Harga Satuan



Total Biaya



KB 2, Konsep Manajemen Proyek Dalam Pengembangan Sistem Informasi



73



No



Item



Jumlah



Satuan



Waktu



Satuan



1



Hardware



1



Paket



12



Bulan



2



Software



1



Paket



12



Bulan



Total Biaya



Sistem Informasi



Modul 2, Rekayasa Peangkat Lunak



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



Jumlah



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



Kegiatan 2



1 2 3 4 5 6



Agustus 3



Bulan/Minggu September 4 1 2 3



Pengajuan Proposal Analisis dan Design Implementasi Debungging & Testing Dokumentasi 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.



74



KB 2, Konsep Manajemen Proyek Dalam Pengembangan Sistem Informasi Sistem Informasi



4



Modul 2, Rekayasa Peangkat Lunak



4.Forum Diskusi Terdapat beberapa model bisnis umum yang dapat diterapkan oleh perusahaaan dalam menyelesaikan sebuah proyek, 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 proyek sistem informasi?



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



2. Tes Formatif Pilihlah jawaban yang paling tepat! 1. Untuk merealisasikan agar komponen tujuan proyek dapat tercapai maka pelaksanaan proyek membutuhkan tahapan-tahapan yang disebut dengan istilah A. Proyek Informasi B. Sistem Informasi C. Program KB 2, Konsep Manajemen Proyek Dalam Pengembangan Sistem Informasi Sistem Informasi



75



Modul 2, Rekayasa Peangkat Lunak



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. Proyek 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 proyek 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. 3.



Seorang pengembang memperkenalkan atau mengujicoba sebuah sistem informasi baru tetapi tidak meninggalkan sistem yang telah ada (existing). Pendekatan yang dilakukan oleh pengembang tersebut adalah.... A. Pendekatan paralel B. Pendekatan cut off C. Pendekatan big-bang D. Pendekatan serial E. Pendekatan bisnis serial



4.



Pengembang sistem informasi harus benar-benar menyesuaikan kebutuhan software yang dikembangkan dan kebutuhan dari klien. Sifat pengembangan ini dikenal dengan istilah...



76



KB 2, Konsep Manajemen Proyek Dalam Pengembangan Sistem Informasi Sistem Informasi



Modul 2, Rekayasa Peangkat Lunak



A. Invisibolity B. Comformity C. Complexity D. Flexibility E. Dependability 5.



Yang tidak termasuk bagian dari tahapan perencanaan proyek adalah A. Mengkaji tujuan, perencanaan strategi dan taktik perusahaan. B. Mengidentifikasi proyek-proyek sistem. C. Menetapkan sasaran proyek-proyek sistem D. Menetapkan kendala proyek-proyek sistem (mis. batasan biaya, waktu, umur ekonomis, peraturan yang berlaku). E. Melakukan studi kelayakan.



6.



Proses utama dalam tahap ini adalah mengarahkan dan mengelola pelaksanaan proyek ke arah penyelesaian, sesuai dokumen perencanaan. A. Monitoring B. Controlling C. Execution D. Initition E. Closing



7.



Peganggaran biaya yang menggabungkan estimasi biaya sumber daya yang dibutuhkan, paket pekerjaan dan biaya-biaya kegiatan lainnya sehingga membentuk suatu rencana biaya yang sistematis. Penanganan biaya tersebut termasuk dalam biaya... A. Cost budgeting B. Cost control C. Cost estimating D. Cost planning E. Cost constrution



8.



Yang tidak termasuk aktifitas dalam Project Management Plan adalah: A. Merangkum kebutuhan dan keinginan klien, memastikan batasan pekerjaan, serta membuat uraian pekerjaan.



KB 2, Konsep Manajemen Proyek Dalam Pengembangan Sistem Informasi Sistem Informasi



77



Modul 2, Rekayasa Peangkat Lunak



B. Menunjuk team analis (dapat berasal dari departemen pengembangan yang ada atau dari luar perusahaan (konsultan). C. Merinci unit-unit pekerjaan, menentukan urutan pekerjaan, estimasi sumber daya, estimasi durasi, dan finalisasi jadwal proyek. D. Estimasi biaya untuk masing-masing kegiatan. E. Menentukan proses yang baik (quality assurance) dan standar mutu yang disepakati (quality control). 9.



Manakah diantara kegiatan berikut ini yang termasuk dalam tahap execution? A. Melaksanakan proses pembelian dan pengadaan barang dan jasa B. Mempengaruhi faktor-faktor yang bisa menggagalkan kontrol terhadap perubahan, jadi hanya perubahan yang disetujui



yang dapat



diimplementasikan C. Menentukan proses yang baik (quality assurance) dan standar mutu yang disepakati (quality control D. Merinci unit-unit pekerjaan, menentukan urutan pekerjaan, estimasi sumber daya, estimasi durasi, dan finalisasi jadwal proyek E. Memberi masukan kepada manajemen perusahaan terkait hal-hal yang dirasakan bermanfaat selama proyek dijalankan 10. Salah satu model analisis yang paling baik digunakan untuk melakukan pemilahan terhadap pengembangan sistem informasi



dilihat dari tingkat



kepentingannya (prioritas) bagi perusahaan, sehingga dapatditentukan sistem mana saja yang harus segera dibangun (jangka pendek), dan sistem manasaja yang dapat dikembangkan di kemudian hari (jangka menengah dan jangka panjang). A. Porter’s Value Chain B. Bussiness Process Mapping, C. BCG Matrix. D. Strategic Distinction Model E. Earned Value Model



78



KB 2, Konsep Manajemen Proyek Dalam Pengembangan Sistem Informasi Sistem Informasi



Modul 2, Rekayasa Peangkat Lunak



Daftar Pustaka Graym C.F. dan Larson, E.W., 2000. Project Management. First Edition, Boston: McGraw Hill. Heldman, Kim. 2013. PMP: Project Management Professional Exam Study Guide. New Jersey: Sybex Marchewka, Jack T, 2014. Information Technology Project Management, Providing Measurable Organizational Value, 5th Edition. Danvers: John Wiley & Sons. Chase, Richard B., et all, 2011. Operational Management for Competitive Advantage, 9th Edition: NY: McGraw Hill. Olson, David. 2004. Introduction to Information Systems Project Management, 2nd Ed. ISBN: 0-07-282402-6 3. Larson, Erick. W. 2000. Project management: the managerial process. Phillips, Joseph, 2010. IT Project Management: On Track Form Startto Finish, Third Edition. Nwe York: McGraw Hill Professional. Pressman, Roger S. 2012. Rekayasa Perangkat Lunak (Pendekatan Praktisi) Edisi 7: Buku 2. Yogyakarta: Penerbit Andi. Project Management Institute, 2017. A Guide to The Project Management Body of Knowledge (PMBOK GUIDE). Newton Square, Pennsylvania, Project Management Institute Inc. Santosa, Budi. 2009. Manajemen Proyek: 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 Proyek: 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-resikodalam/#ixzz1dhgODSf4 http://ranee120.blogspot.com/2010/04/metodologi-umum-pelaksanaanproyek.html http://dya08 webmaster.blog.com/aspek-aspek-yang–mempengaruhi-manajemenproyek/



KB 2, Konsep Manajemen Proyek Dalam Pengembangan Sistem Informasi Sistem Informasi



79



Kegiatan Belajar 3



Konsep RDBMS Dalam Pengelolaan Data



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



KB 2, Konsep RDBMS dalam Pengelolaan Data



80



Modul 2, Rekayasa Perangkat Lunak



2. Relevansi Rekayasa Perangkat Lunak (RPL) perlu dipandang melalui tiga dimensi besar literasi sains (scientific literacy) yaitu konten sains, proses sains, dan konteks aplikasi sains. Konten sains merujuk pada konsep-konsep kunci dari sains yang diperlukan untuk memahami fenomena alam dan perubahan yang dilakukan terhadap alam melalui aktivitas manusia. Proses sains mengembangkan kemampuan memahami hakikat sains, prosedur sains, serta kekuatan dan kelemahan sains. Konteks aplikasi sains lebih pada kehidupan sehari-hari daripada kelas atau laboratorium. Kegiatan Belajar 3 ini dibagi menjadi empat bahan kajian atau pokok bahasan yang mengacu pada dimensi literasi sains (sains liyteracy). Tujuan pembelajaran yang diharapkan Anda capai pada kegiatan pembelajaran ini adalah: (1) Menerapkan konsep basis data pada RDBM; (2) Menerapkan sistem keamanan basis data dalam pengelolaan data; dan (3) Membuat replikasi basis data dalam sistem manajemen basis data. 3. Petunjuk Belajar Modul ini dirancang untuk memfasilitasi Anda dalam melakukan kegiatan belajar secara mandiri, jangan lupa berdoa sebelum mempelajarinya. Bacalah modul dengan seksama, terutama bagian instruksi. a.



Pahami dulu tentang capaian pembelajaran mata kegiatan, sub capaian pembelajaran mata kegiatan, dan pokok-pokok materi pada setiap Kegiatan Belajar sebelum Anda mempelajari uraian materi



b.



Lakukan kajian terhadap uraian materi pada setiap Kegiatan Belajar dan lengkapi informasi Anda dengan melihat berbagai media dan sumber belajar yang telah disediakan serta menganalisis contoh penelitian atau kasus nyata pada setiap topik materi.



c.



Anda diharapkan juga dapat menguasai prinsip, teknik, dan aplikasi integrasi pengetahuan keilmuan sains, pedagogi dan teknologi (technology pedagogy and content knowledge/TPCK). Oleh karena itu, lakukan kajian terhadap metode membelajaran yang telah disediakan pada setiap Kegiatan Belajar ini. Anda juga dapat menambahkan cara alternatif lain ketika Anda membelajarkan topik tersebut pada peserta didik di sekolah 81



KB 2, Konsep RDBMS dalam Pengelolaan Data



Modul 2, Rekayasa Perangkat Lunak



d.



Keberhasilan proses pembelajaran pada PPG Dalam Jabatan ini sangat tergantung pada kesungguhan Anda dalam mengerjakan tugas dan tes yang telah disediakan pada setiap Kegiatan Belajar Kerjakanlah tugas dan latihan yang terdapat di dalamnya dengan jujur tanpa melihat kunci jawaban sebelum Anda mengerjakannya.



e.



Gunakan teknik membaca cepat dalam mempelajari modul.



f.



Pelajari media dan sumber belajar lain yang relevan dengan materi



g.



Anda diperbolehkan bertanya kepada instruktur jika dianggap perlu.



h.



Usahakan menyelesaikan setiap modul lebih cepat dari waktu yang ditetapkand. Jika ada bagian yang belum anda pahami, cobalah terlebih dahulu mendiskusikan dengan teman yang sedan gmengerjakan bagian yang sama, sebelum Anda bertanya pada instruktur. Jika perlu, berusahalah mencari tahu jawabannya pada sumber yang lain. Kegiatan Belajar 3 ini menggunakan beberapa dukungan perangkat yang



yang harus disediakan. Peserta dapat menggunakan perangkat yang dimiliki tetapi harus memenuhi standar spesifikasi yang telah ditetapkan. Hal ini bertujuan agar setiap kegiatan pembelajaran yang dilakukan dapat berjalan dengan semestinya. Perangkat-perangkat yang digunakan dalam kegiatan pembelajaran modul ini adalah: a. Personal Computer/Laptop yang sudah terinstal minimal OS Windows 7. b. Aplikasi pengolah kata c. Web server local host, seperti: XAMP, WAMP, AMPPS atau yang setara



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



2. Pokok-Pokok Materi Pokok-pokok materi pada kegiatan belajar ini adalah: a. Konsep basis data pada RDBM



KB 2, Konsep RDBMS dalam Pengelolaan Data



82



Modul 2, Rekayasa Perangkat Lunak



b. Sistem keamanan basis data dalam pengelolaan data c. Replikasi basisdata dalam sistem manajemen basis data.



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



terhadap data yang



mengelola diminta



suatu basis banyak



data dan



pengguna.



menjalankan



Contoh



tipikal



operasi 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. Dibandingkan dengan sistem data yang berbasis kertas, DBMS memiliki beberapa keunggulan: 1) Mengurangi redundancy, data yang sama pada beberapa aplikasi cukup disimpan sekali saja. 2) Integrity, data tersimpan secara akurat.



83



KB 2, Konsep RDBMS dalam Pengelolaan Data



Modul 2, Rekayasa Perangkat Lunak



3) Menghindari inkonsisten, karena redundancy berkurang, maka update data jadi lebih efisien. 4) Penggunaan data bersama, data yang sama dapat diakses oleh beberapa user pada saat bersamaan. 5) Menyangkut keseragaman penyajian data. 6) Menyeimbangkan kebutuhan, dapat ditentukan prioritas suatu operasi, misal antara update dengan retrieval. Kekurangan sistem pemrosesan berkas yang diatasi dengan basis data telah diuraikan pada bagian sebelumnya. Secara lebih detail, keuntungan basis data terhadap sistem pemrosesan berkas adalah dalam hal kemubaziran data dapat dikurangi, integritas data, independensi data, konsistensi data, berbagi data, sekuritas atau keamanan data, penggunaan data lebih mudah, administrasi keseragaman data, akses bersamaan dan perbaikan dari terjadinya crashes (tabrakan dari proses serentak) dan ereduksi waktu pengembangan aplikasi Kebanyakan DBMS menyediakan mekanisme pengaturan sekuritas terhadap basis data berdasarkan wewenang pengguna. Sebagai contoh, si A hanya boleh membaca suatu data, tetapi si B boleh mengubahnya. Sekuritas data sangat penting pada basis data, yaitu untuk menghindari pengaksesan data sensitif oleh orang yang tidak berhak. Dalam implementasinyam terdapat empat komponen utama DBMS, yaitu: perangkat keras (hardware), data, perangkat lunak (software) dan pengguna. b. Abstraksi Data Untuk mendukung kepraktisan, DBMS menyediakan pandangan abstrak terhadap data bagi pengguna. DBMS berusaha menyembunyikan detail tentang bagaimana data disimpan dan dipelihara. 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



KB 2, Konsep RDBMS dalam Pengelolaan Data



84



Modul 2, Rekayasa Perangkat Lunak



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 Alamat Bagian Gaji END:



: : : :



STRING; STRING; STRING; LongInt;



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. c. Model Basis Data Model basis data menyatakan hubungan antar rekaman yang tersimpan dalam basis data. Beberapa literatur menggunakan istilah struktur data logis untuk



85



KB 2, Konsep RDBMS dalam Pengelolaan Data



Modul 2, Rekayasa Perangkat Lunak



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



Dosen



Dosen



Hasrul



Ruslan



Pengantar



Perangkat Keras



Basis Data



Rudi



Fauz i



Eka



Eka



Dian



Matematika Diskrit



Anggi



Dian



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



KB 2, Konsep RDBMS dalam Pengelolaan Data



86



Modul 2, Rekayasa Perangkat Lunak



Dosen Hasrul



Pengantar Basis Data



Rudi



Fauzi



Dosen Ruslan



Perangkat Keras



Eka



Matematika Diskrit



Dian



Anggi



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



Pemrogram Berkas Rekaman Medan



Pengguna Tabel Baris Kolom



Istilah yang digunakan dalam basis data relasional 1) Relasi Relasi merupakan sebuah tabel yang terdiri dari beberapa kolom dan beberapa



87



KB 2, Konsep RDBMS dalam Pengelolaan Data



Modul 2, Rekayasa Perangkat Lunak



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



KB 2, Konsep RDBMS dalam Pengelolaan Data



88



Modul 2, Rekayasa Perangkat Lunak



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



Gambar 3.3. Kardinalitas relasi



89



KB 2, Konsep RDBMS dalam Pengelolaan Data



Modul 2, Rekayasa Perangkat Lunak



Tabel 3.2 merupakan bentuk relasional berdasarkan contoh model hirarkis dan jaringan sebelumnya. Tabel 3.2. Contoh konversi model jaringan ke model relasional Nama Dosen Hasrul Hasrul Hasrul Hasrul Hasrul Al Imran AlImran



Mata Kuliah Pengantar Basis Data Pengantar Basis Data Pengantar Basis Data Perangkat Keras Perangkat Keras Matematika Diskrit Matematika Diskrit



Mahasiswa Rudi Fauji Icca Icca Phoo Anggi Phoo



Pada prakteknya, relasi pada gambar 3.4 akan dinormalisasikan sehingga akan terbentuk beberapa tabel yang saling terhubung. Contoh model relasional seperti ini dapat dilihat pada tabel berikut ini, NO_MHS 55 56 57



NAMA_MHS Ahmadi Rina Budi



NO_MHS 55 55 56 57 57



KODE_MK MPK201 MPK202 DEL864 DEL863 DEL432



KODE_MK



NAMA_MK



DB001 DB002 P1001



Pengantar Basis Data Basis Data Lanjut Teknik Multimedia



NILAI A A B A B



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



KB 2, Konsep RDBMS dalam Pengelolaan Data



90



Modul 2, Rekayasa Perangkat Lunak



Gambar 3.5. Relasi, tupel, atribut, dan berbagai istilah lainnya Ada beberapa sifat yang melekat pada suatu relasi, yaitu: - Tidak ada tupel (baris) yang kembar - Urutan tupel tidaklah penting (tupel-tupel yang dipandang dalam sembarang urutan) - Setiap atribut memiliki nama yang unik - Letak atribut bebas (urutan atribut tidak penting) - Setiap atribut memiliki nilai tunggal dan jenisnya sama untuk semua tupel Pada model relasional, jumlah tupel suatu relasi disebut kardinalitas dan jumlah atribut suatu relasi disebut derajat (degree) atau terkadang disebut arity. Relasi berderajat satu (hanya memiliki satu atribut) disebut unary. Relasi yang berderajat dua disebut binary dan relasi yang berderajat tiga disebut ternary. Relasi yang berderajat n disebut n-ary. Istilah lainnya yang terdapat pada model relaisional adalah domain. Domain adalah himpunan nilai yang berlaku bagi suatu atribut. Key (Atribut Kunci) Penggunaan key merupakan cara untuk membedakan suatu entitas dalam himpunan entitas dengan entitas lain. Secara konsep, masing-masing entitas



91



KB 2, Konsep RDBMS dalam Pengelolaan Data



Modul 2, Rekayasa Perangkat Lunak



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



KB 2, Konsep RDBMS dalam Pengelolaan Data



92



Modul 2, Rekayasa Perangkat Lunak



3) Bahasa Pemerolehan Data (DQL/Data Query Language) Selain kedua macam perintah di atas, pada kebanyakan DBMS sekarang juga terdapat perintah yang tergolong DCL (Data Control Language) yang berkaitan dengan pengaturan sekuritas terhadap basis data. 1) Bahasa Definisi Data (Data Definition Language/DDL) DDL adalah perintah-perintah yang biasa digunakan oleh administrator basis data (DBA) untuk mendefinisikan skema ke DBMS. Skema adalah deskripsi lengkap tentang struktur medan, rekaman, dan hubungan data pada basis data. Tugas utama skema adalah menjabarkan struktur basis data kepada DBMS. Skema dapat dibayangkan sebagai suatu kerangka yang tidak tergantung nilai. Berbagai nilai yang valid dapat diterapkan pada kerangka. Skema bersifat relatif tetap, sementara nilai-nilainya dapat berubah dari suatu saat ke saat yang lain. Secara lebih detail, beberapa hal yang perlu dijabarkan pada DBMS: •



Nama basis data







Nama seluruh berkas pada basis data







Nama rekaman dan medan







Nama medan kunci







Nama indeks dan medan yang menjadi indeks



Hal-hal lain seperti penentuan : •



Ukuran basis data, dan







Rutin validasi dan penyunting yang dilekatkan pada berkas dalam basis data bersifat spesifik terhadap DBMS yang digunakan. DDL juga dipakai untuk mendefinisikan subskema. Subskema adalah



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



93



KB 2, Konsep RDBMS dalam Pengelolaan Data



Modul 2, Rekayasa Perangkat Lunak



Skema



Subskema



NAMA



ALAMAT



NAMA



BAGIAN



BAGIAN



GAJI



Gambar 3.6. Subskema adalah himpunan bagian dari skema Basis Data



Skema



……. Sub Skema



Sub Skema



Sub Skema N



Pengguna 1



Pengguna 2



Pengguna N



Gambar 3.7. .Basis data beserta skema dan sejumlah subskema



2) Bahasa Manipulasi Data (Data Manipulation Language/DML) DML adalah perintah-perintah yang digunakan untuk mengubah, memanipulasi, dan mengambil data pada basis data. Tindakan seperti menghapus, mengubah, dan mengambil data menjadi bagian dari DML. DML pada dasarnya dibagi menjadi dua: • Prosedural, yang menuntut pengguna menentukan data apa saja yang diperlukan dan bagaimana cara mendapatkannya. • Nonprosedural, yang menuntut pengguna menentukan data apa saja yang diperlukan, tetapi tidak perlu menyebutkan cara mendapatkannya. DML nonprosedural menawarkan kemudahan bagi pengguna dalam mempelajarinya dan juga dalam menggunakannya daripada DML prosedural. Namun, karena pengguna tidak tahu cara mendapatkan data, DML nonprosedural terkadang kurang efisien dibandingkan DML prosedural, untuk masalah tertentu.



KB 2, Konsep RDBMS dalam Pengelolaan Data



94



Modul 2, Rekayasa Perangkat Lunak



Ada dua cara untuk mengakses data pada basis data. Pertama, dengan mengetikkan perintah-perintah yang ditujukan kepada DBMS untuk memanipulasi suatu rekaman atau suatu data. Biasanya, DML yang digunakan bersifat nonprosedural. Kedua, melalui program aplikasi yang menerbitkan instruksiinstruksi internal (disebut pernyataan melekat/embedded statement) ke DBMS untuk mengambil data dan memberikan hasil ke program. Pada bentuk kedua ini, bahasa pemrograman



yang digunakan bisa saja



berupa bahasa-bahasa



pemrograman konvensional seperti C, COBOL dan FORTRAN yang menggunakan pendekatan prosedural atau menggunakan bahasa yang spesifik terhadap DBMS. Secara khusus, bagian DML ada yang disebut dengan DQL (Dalam literatur, terkadang DQL dibedakan dengan DML). DQL sering hanya disebut bahasa query. DQL adalah fasilitas yang memungkinkan pengguna dengan pengetahuan komputer yang terbatas ataupun tidak mengetahui bahasa pemrograman dapat meminta informasi terhadap basis data. Sebagai contoh, pengguna dapat memberikan perintah: SELECT NIP, NAMA, ALAMAT, TGL_MASUK FROM KARYAWAN ; WHERE TGL_MASUK < “01/01/2018”



Untuk memperoleh informasi NIP, NAMA, ALAMAT, TGL_MASUK pada tabel KARYAWAN, khusus untuk rekaman dengan TGL_MASUK kurang dari 1 Januari 2018. Perlu diketahui, contoh di atas berlaku pada Visual dBASE dan Visual FoxPro, sedangkan pada DBMS lain ada kemungkinan sedikit berbeda (dalam hal tata aturan penulisan perintahnya). Query sesungguhnya berarti pertanyaan atau permintaan. Istilah ini tetap dipertahankan dalam bentuk asli, karena telah populer di kalangan pengguna DBMS di Indonesia. e. Keamanan Basis Data Keamanan merupakan suatu proteksi terhadap pengrusakan data dan pemakaian data oleh pemakai yang tidak punya kewenangan. Keamanan database adalah suatu cara untuk melindungi database dari ancaman, baik dalam bentuk kesengajaan atau pun bukan.Ancaman adalah segala situasi atau kejadian baik



95



KB 2, Konsep RDBMS dalam Pengelolaan Data



Modul 2, Rekayasa Perangkat Lunak



secara sengaja maupun tidak yang bersifat merugikan dan mempengaruhi sistem database.



Gambar 3.8. Jenis-jenis penyalahgunaan basis data Keamanan basis data dapat dikelompokan sebagai berikut : •



Pencurian dan penipuan







Hilangnya kerahasiaan dan privasi







Hilangnya integritas







Hilangnya ketersediaan



Secara garis besar keamanan database dikategorikan sebagai berikut: •



Keamanan server







Trusted Ip Access







Koneksi Database







Kontrol Akses Tabel



KB 2, Konsep RDBMS dalam Pengelolaan Data



96



Modul 2, Rekayasa Perangkat Lunak



Sedangkan ancaman terhadap sistem komputer dikategorikan menjadi empat ancaman, yaitu : 1) Interupsi Sumber daya sistem komputer dihancurkan atau menjadi tidak tersedia atau tidak berguna. Hal ini merupakan ancaman terhadap ketersediaan. Contoh : •



Penghancuran bagian perangkat keras, seperti hardisk.







Pemotongan kabel komunikasi.



2) Intersepsi Pihak yang tidak diotorisasi dapat mengakses sumber daya. Hal ini merupakan ancaman terhadap kerahasiaan. Contoh : •



Penyadapan untuk mengambil data rahasia







Mengkopi file tanpa diotorisasi



3) Modifikasi Pihak yang tidak diotorisasi tidak hanya mengakses tapi juga merusak sumber daya. Hal ini merupakan ancaman terhadap integritas, Contoh : •



Mengubah nilai-nilai file data







Mengubah program sehingga bertindak secara berbeda.







Memodifikasi pesan-pesan yang ditransmisikan pada jaringan.



4) Fabrikasi Pihak yang tidak diotorisasi menyisipkan/memasukkan objek-objek palsu ke sistem. Fabrikasi merupakan ancaman terhadap integritas, Contoh : •



Memasukam pesan-pesan palsu ke jaringan.







Penambahan record ke file.



Terdapat tiga prinsip keamanan basis data, yaitu: 1) Kerahasian, menjamin perlindungan akses informasi Contoh: catatan medis pasien harus tertutup untuk umum



97



KB 2, Konsep RDBMS dalam Pengelolaan Data



Modul 2, Rekayasa Perangkat Lunak



2) Integritas, menjamin bahwa informasi tidak dapat diubah dan tetap konsisten. Contoh: catatan medis harus benar 3) Ketersediaan, menjamin kesiapan akses informasi Contoh: catatan medis pasisen dapat diakses saat dibutuhkan untuk pengobatan Pengamanan basis data merupakan mekanisme untuk melindungi sistem basis data dari aksi yang disengaja, (misalnya: percobaan pencurian dan modifikasi data oleh pihak yang tidak berwenang) dan aksi yang tidak disengaja (misalnya: bencana alam, kebakaran, dan lain-lain). Berikut ini adalah jenis-jenis penyalahgunaan basis data: 1) Tidak disengaja, jenisnya: •



Kerusakan selama proses transaksi







Anomali yang disebabkan oleh akses database yang konkuren







Anomali yang disebabkan oleh pendistribuasian data pada beberapa komputer







Logika



error



yang



mengancam



kemampuan



transaksi



untuk



mempertahankan konsistensi database. 2) Disengaja, jenisnya: •



Pengambilan data/pembacaan data oleh pihak yang tidak berwenang







Pengubahan data oleh pihak yang tidak berwenang







Penghapusan data oleh pihak yang tidak berwenang Terdapat empat tingkatan pada keamanan basis data, yaitu:



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



KB 2, Konsep RDBMS dalam Pengelolaan Data



98



Modul 2, Rekayasa Perangkat Lunak



Gambar 3.9. Pengamanan basis data Pengamanan basis data dapat dilakukan dengan cara berikut ini: 1) Otorisasi : • Pemberian wewenang atau hak istimewa (priviledge) untuk mengakses sistem atau obyek basis data • Kendali otorisasi (=kontrol akses) dapat dibangun pada perangkat lunak dengan 2 fungsi : - Mengendalikan sistem atau obyek yang dapat diakses - Mengendalikan bagaimana pengguna menggunakannya • Sistem administrasi yang bertanggungjawab untuk memberikan hak akses dengan membuat account pengguna. 2) Tabel View Tabel view merupakan metode pembatasan bagi pengguna untuk mendapatkan model basis data yang sesuai dengan kebutuhan perorangan. Metode ini dapat menyembunyikan data yang tidak digunakan atau tidak perlu dilihat oleh pengguna. Contoh pada database relasional, untuk pengamanan dilakukan beberapa level : • Relasi, pengguna diperbolehkan atau tidak diperbolehkan mengakses langsung suatu relasi • View, pengguna diperbolehkan atau tidak diperbolehkan mengakses data yang terapat pada view



99



KB 2, Konsep RDBMS dalam Pengelolaan Data



Modul 2, Rekayasa Perangkat Lunak



• Read Authorization, pengguna diperbolehkan membaca data, tetapi tidak dapat memodifikasi. • Insert Authorization, pengguna diperbolehkan menambah data baru, tetapi tidak dapat memodifikasi data yang sudah ada. • Update Authorization, pengguna diperbolehkan memodifikasi data, tetapi tidak dapat menghapus data. • Delete Authorization, pengguna diperbolehkan menghapus data. Untuk modifikasi data terdapat otorisasi tambahan : • Index Authorization, pengguna diperbolehkan membuat dan menghapus index data. • Resource Authorization, pengguna diperbolehkan membuat relasi-relasi baru. • Alteration Authorization, pengguna diperbolehkan menambah/menghapus atribut suatu relasi. • Drop Authorization, pengguna diperbolehkan menghapus relasi yang sudah ada. Contoh perintah menggunakan SQL : GRANT : memberikan wewenang kepada pemakai Syntax : GRANT ON TO Contoh : GRANT SELECT ON S TO BUDI GRANT SELECT,UPDATE (STATUS,KOTA) ON S TO ALI,BUDI REVOKE : mencabut wewenang yang dimiliki oleh pemakai Syntax : REVOKE ON FROM Contoh : REVOKE SELECT ON S FROM BUDI REVOKE SELECT,UPDATE (STATUS,KOTA) ON S FROM ALI,BUDI Priviledge list : READ, INSERT, DROP, DELETE, INDEX, ALTERATION, RESOURCE 3) Backup data dan recovery Backup adalah proses secara periodik untuk meMbuat duplikat basis dat dan melakukan logging file (atau program) ke media penyimpanan eksternal. Jurnaling merupakan proses menyimpan dan mengatur log file dari semua



KB 2, Konsep RDBMS dalam Pengelolaan Data



100



Modul 2, Rekayasa Perangkat Lunak



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



101



KB 2, Konsep RDBMS dalam Pengelolaan Data



Modul 2, Rekayasa Perangkat Lunak



Adapun teknik pemulihan yang dapat dilakukan adalah: • Defered upate/perubahan yang ditunda, yaitu perubahan pada basis data tidak akan berlangsung sampai transaksi ada pada poin disetujui (COMMIT). Jika terjadi kegagalan maka tidak akan terjadi perubahan, tetapi diperlukan operasi REDO untuk mencegah akibat dari kegagalan tersebut. • Immediate upadte / perubahan langsung, perubahan pada database akan segera tanpa harus menunggu sebuah transaksi tersebut disetujui. Jika terjadi kegagalan diperlukan operasi UNDO untuk melihat apakah ada transaksi yang telah disetujui sebelum terjadi kegagalan. • Shadow paging, yaitu menggunakan page bayangan dimana pada prosesnya terdiri dari 2 tabel yang sama, yang satu menjadi tabel transaksi dan yang lain digunakan sebagai cadangan. Ketika transaksi mulai berlangsung kedua tabel ini sama dan selama berlangsung tabel transaksi yang menyimpan semua perubahan ke database, tabel bayangan akan digunakan jika terjadi kesalahan. Keuntungannya adalah tidak membutuhkan REDO atau UNDO, kelemahannya membuat terjadinya fragmentasi. 4) Integritas data dan Enkripsi Integritas merupakan metode pemeriksaan dan validasi data melalui metode integrity constrain, berisi aturan-aturan atau batasan-batasan untuk tujuan terlaksananya integritas data. Integritas data menjamin konsistensi data terhadap semua konstrain yang diberlakukan terhadap data tersebut, sehingga memberikan jaminan keabsahan data. Integritas bertujuan untuk menjaga data agar data yang 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.



KB 2, Konsep RDBMS dalam Pengelolaan Data



102



Modul 2, Rekayasa Perangkat Lunak



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 nilainilai 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. Integritas merupakan metode pemeriksaan dan validasi data (metode



integrity constrain), yaitu berisi aturan-aturan atau batasan-batasan untuk tujuan terlaksananya integritas data. Integritas data mengacu pada konsistensi dan akurasi data yang disimpan di dalam basis data. Batasan Integritas Data (Data Integrity Constraint) adalah syarat yang dispesifikasikan pada basis data untuk membatasi data yang dapat disimpan dalam basis data. Batasan integritas menjaga terjadinya kerusakan terhadap database dengan memastikan bahwa perubahan tidak menyebabkan terjadinya inkonsistensi data Batasan integritas dispesifikasikan pada waktu yang berbeda, yaitu: - ketika 103



KB 2, Konsep RDBMS dalam Pengelolaan Data



Modul 2, Rekayasa Perangkat Lunak



DBA mendefinisikan skema basis data melalui DDL, DBA menspesifikasikan batasan/ konstrain integritas yang harus selalu dipenuhi. - ketika aplikasi basis data dijalankan,



DBMS



melakukan



pemeriksaan



untuk



mencegah



terjadinya



pelanggaran kontsrain integritas yang telah ditentukan. DBMS membuat tindakan otomatis untuk tetap memenuhi konstrain integritas, sehingga perubahan tidak akan mengganggu integritas data. Terdapat beberapa jenis integritas data, yaitu: 1) Integritas entitas (entity integrity) Mendefinisikan sebuah baris sebagai sebuah entitas yang unik untuk suatu tabel. Integritas dari kolom suatu tabel melalui index, unique, constraint, primary key, dimana nilainya tidak boleh NULL. Tidak ada baris yang duplikat di dalam suatu tabel. Contoh, CREATE TABLE penerbit ( Kode_Penerbit varchar(2) NOT NULL, Nama_Penerbit varchar(20) NOT NULL, Lokasi varchar(20) NOT NULL, PRIMARY KEY (Kode_Penerbit) UNIQUE (Nama_Penerbit) )



2) Integritas domain (domain integrity) Validasi dari masukan untuk sebuah kolom. Batasi tipe data, format (melalui check constraints dan rules), atau range nilai-nilai yang mungkin. Saat membuat tabel, kolom bernilai NULL dapat dihindari dengan menggunakan konstrain 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



KB 2, Konsep RDBMS dalam Pengelolaan Data



104



Modul 2, Rekayasa Perangkat Lunak



3) Integritas referensial (referential integrity) Integritas referensial memastikan bahwa seluruh nilai dari foreign key cocok dengan nilai primary key yang dihubungkannya. Integritas referensial adalah dasar relasi antar tabel yaitu antara foreign key dengan primary key. Data pada foreign key harus sesuai dengan primary key, artinya: -



Tipe data dan ukuran sama



-



Konsistensi tetap terjaga ketika ada penghapusan, pergantian data dan penambahan data pada tabel



Ketika integritas referensial ini dilaksanakan, maka akan mengecek : -



Penambahan record, apakah record yang ditambahkan pada foreign key ada dalam primary key



-



Perubahan data pada primary key apakah akan mempengaruhi terhadap foreign key atau tidak



Opsi ketika suatu record pada tabel yang direferensi oleh suatu foreign key dihapus atau diganti nilainya -



[ ON DELETE { CASCADE | NO ACTION } ] [ ON UPDATE { CASCADE | NO ACTION } ]



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



direferensi terjadi



tabel yang direferensi



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.



105



KB 2, Konsep RDBMS dalam Pengelolaan Data



Modul 2, Rekayasa Perangkat Lunak



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.



KB 2, Konsep RDBMS dalam Pengelolaan Data



106



Modul 2, Rekayasa Perangkat Lunak



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.



Gambar 3.10. Proses enkripsi Lalu bagaimana pihak penerima pesan bisa membaca pesan yang telah terenkripsi tersebut? Yaitu dengan melakukan dekripsi, yaitu menerjemahkan data yang sudah terenkripsi



dengan



berdasarkan informasi



tertentu



dengan



menggunakan cipher. Cipher adalah algoritma yang berfungsi untuk menampilkan Enkripsi atau sebaliknya Dekripsi. Pesan yang sudah dienkripsi disebut Ciphertext yang dimana berisi sebuah Plaintext, plaintext adalah informasi asli dari sebuah



107



KB 2, Konsep RDBMS dalam Pengelolaan Data



Modul 2, Rekayasa Perangkat Lunak



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.



f.



Replikasi Basis Data Replikasi adalah suatu teknik untuk melakukan copy dan pendistribusian



data dan objek-objek database dari satu database ke database lain dan melaksanakan



KB 2, Konsep RDBMS dalam Pengelolaan Data



108



Modul 2, Rekayasa Perangkat Lunak



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



109



KB 2, Konsep RDBMS dalam Pengelolaan Data



Modul 2, Rekayasa Perangkat Lunak



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



KB 2, Konsep RDBMS dalam Pengelolaan Data



110



Modul 2, Rekayasa Perangkat Lunak



Gambar 3.11. Gambaran replikasi database Metode alternatif replikasi MySQL menjamin backup sempurna tanpa harus menghentikan server tiap hari. Replikasi merupakan konfigurasi sistem dimana server MySQL, yang dalam hal ini dinamakan master, menyimpan data dan menangani permintaan pengguna, sementara server MySQL yang lain, yang dinamakan slave server berisi copy dari data master dan melakukan semua SQL statement yang mengubah data di master, segera setelah master melakukannya. Dengan demikian backup dapat dilakukan secara periodik, misalnya seminggu sekali, pada server slave untuk mendapatkan backup yang sempurna. Setelah backup selesai, replikasi dapat dijalankan lagi dan slave akan secara otomatis melakukan query yang dilakukan master pada saat slave dimatikan. Fitur replikasi merupakan bagian dari MySQL. Terdapat empat model replikasi basis data, yaitu: a. One master, one slave



Gambar 3.12. Replikasi one master, one slave



111



KB 2, Konsep RDBMS dalam Pengelolaan Data



Modul 2, Rekayasa Perangkat Lunak



b. One master many slave



Gambar 3.13. Replikasi one master many slave c. Master/slave circular relationship



Gambar 3.14. Replikasi Master/slave circular relationship d. Master/slave “daisy chain”



Gambar 3.15. Replikasi Master/slave circular relationship Jenis-Jenis Replikasi Terdapat dua jenis replikasi, yaitu: 1) Replikasi Synchronous Proses replikasi dilakukan secara real-time antara master dan slave. Keseluruhan proses penulisan pada disk master dan slave harus selesai dilakukan terlebih dahulu sebelum beranjak ke transaksi selanjutnya. Untuk jenis replikasi ini kebutuhan akan performansi sistem yang tinggi harus dipertimbangkan (kecepatan



KB 2, Konsep RDBMS dalam Pengelolaan Data



112



Modul 2, Rekayasa Perangkat Lunak



dan jarak antar site/node). Keuntungan yang dimiliki dari jenis ini adalah menyediakan recovery yang konsisten karena sinkronisasi data terjaga.



Gambar 3.16. Proses replikasi synchronous 2)



Replikasi Asynchronous Proses replikasi terjadi setelah transaksi di master selesai dilakukan.



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



Gambar 3.17. Proses replikasi asynchronous 113



KB 2, Konsep RDBMS dalam Pengelolaan Data



Modul 2, Rekayasa Perangkat Lunak



Contoh Replikasi pada MySQL Mulai versi 5.0, MySQL sudah mendukung sistem replikasi yang mana sebuah database server yang berfungsi sebagai master dapat tereplikasi datanya ke dalam satu atau lebih database server yang difungsikan sebagai slave. Jenis replikasi pada MySQL adalah replikasi Asynchronous. Pada MySQL. Replikasi dapat diberlakukan pada sebagian tabel atau pada keseluruhan database, tergantung pada kebutuhan. Langkah-langkah umum pembuatan replikasi pada MySQL adalah: 1) Koneksi jaringan (master & slave) 2) Instalasi MySQL versi 5.2 (master & slave) 3) Buat database (master & slave) 4) Konfigurasi master server 5) Konfigurasi slave 6) Testing Berikut ini adalah contoh repliaksi database pada MySQl 5.2. Contoh kasus: Akan dilakukan replikasi data sebuah Toserba di Jakarta dan Jogjakarta.



Gambar 3.18. Contoh kasus replikasi Master Slave Langkah-langkah umum pembuatan replikasi pada MySQL: 1. Koneksi jaringan (master & slave) 2. Instalasi MySQL versi 5.2 (master & slave) 3. Buat database (master & slave)



KB 2, Konsep RDBMS dalam Pengelolaan Data



114



Modul 2, Rekayasa Perangkat Lunak



4. Konfigurasi master server 5. Konfigurasi slave 6. Testing Koneksi Jaringan 1. Lakukan konfigurasi jaringan komputer server pada master dan slave Master : 192.168.10.1 Slave : 192.168.10.2 2. Tes koneksi (ping)



Instalasi MySQL 5.2. 1.



Lakukan instalasi MySQL komputer server dan slave



2.



Pada halaman Setup Type, pilih “Typical”.



3.



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



4.



Setelah proses instalasi selesai, lakukan proses konfigurasi MySQL server dengan memberi tanda “√” pada Configure the MySQL Server Now” di tahap akhir instalasi



5.



Pada halaman MySQL Server Instance Configuration, pilih “Standard Configuration”.



6.



Di halaman selanjutnya, beri tanda “√” pada Insyall As Sevice, Launch The MysSQL Server Automatically dan Include Bin Directory in Windows PATH.



7.



Pada halaman selanjutnya, masukkan password untuk MySQL, misalnya “1234:



8.



Pada halaman terakhir, klik tombol “Execute” untuk mengakhiri proses konfigurasi.



Create Database 1.



Masuk ke command prompt, login ke MySQL dengan mengetik perintah: Mysql –u root –p{password user}



2.



Buat database dengan nama “toserba”, ketik perintah: Create database toserba;



3.



Lakukan jal yang sama pada komputer slave.



115



KB 2, Konsep RDBMS dalam Pengelolaan Data



Modul 2, Rekayasa Perangkat Lunak



Konfigurasi Master 1.



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



2.



Ketikkan perintah berikut di bawah tanda [mysqld] Server-id=1 Log-bin=mysql-bin



3.



Restart MySQL



4.



Masuk ke command prompt dan login ke MySQL dengan mengetikkan perintah: Mysql –u root –p{password user}



5.



Berikan akses ke pada slave untuk dapat melakukan replikasi, jalankan perintah: Grant replication slave on *.* to [email protected] identified by ‘jogja’;



6.



jogja 192.168.10.2 jogja Jalankan perintah:



→ username → alamat slave → password



flush privileges; use toserba; flush table with read lock;



toserba → nama database yang akan direplikasi 7.



Jalankan perintah: Show master status;



Setelah menulis perintah di atas, akan muncul keluaran seperti ini (bisa berbeda tiap komputer):



Catat nama file (mysql-bin.000001) dan posistion (2910) karena akan digunakan pada konfigurasi selanjutnya.



KB 2, Konsep RDBMS dalam Pengelolaan Data



116



Modul 2, Rekayasa Perangkat Lunak



8.



Langkah terakhir, jalankan perintah berikut: Unlock tables;



9.



Kemudia keluar dari MySQL: Quit;



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



192.168.10.2 → alamat host jogja → username dan password database → database yang replikasi 3. Restart MySQL 4. Masuk ke commad prompt dan login ke MySQL dengan mengetikkan perintah: mysql –u root –p{password user} 5. Jalankan perintah: Stop slave;



6. Selanjutnya jalankan perintah: CHANGE MASTER TO MASTER_HOST=’192.168.10.1’, MASTER_USER=’jogja’, MASTER_PASSWORD=’jogja’, MASTER_LOG_FILE=’mysql-bin.000001’, MASTER_LOG_POS=2910;



192.168.10.1 jogja mysql-bin.000001 2910 7. Langkah terakhir, jalankan perintah:



→ → → →



alamat host username dan password nama log file log position



Start slave;



8. Keluar dari MySQL Quit;



117



KB 2, Konsep RDBMS dalam Pengelolaan Data



Modul 2, Rekayasa Perangkat Lunak



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 Sebuah perusahaan mendapatkan serangan terhadap database perusahaannya. Jika Anda sebagai administrator database, langkah-langkah apa yang Anda lakukan untuk mengamankan data perusahaan tersebut?



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



KB 2, Konsep RDBMS dalam Pengelolaan Data



118



Modul 2, Rekayasa Perangkat Lunak



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 System) atau pemrosessan database terdistribusi melalui beberapa server. Replikasi dapat dilakukan baik secara synchronous maupun asynchronous.



2. Tes Formatif Pilihlah jawaban yang paling tepat 1.



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



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



Urutkan langkah – langkah dalam DBMS untuk pengolahan query ..



119



KB 2, Konsep RDBMS dalam Pengelolaan Data



Modul 2, Rekayasa Perangkat Lunak



1.



2.



3.



4.



A.



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



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



KB 2, Konsep RDBMS dalam Pengelolaan Data



120



Modul 2, Rekayasa Perangkat Lunak



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



121



KB 2, Konsep RDBMS dalam Pengelolaan Data



Modul 2, Rekayasa Perangkat Lunak



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 Basta, Alfred, et all, 2012, Database Security, Boston: Course Technology. Gertz, Michael and Jajodia, Sushil, 2008. Handbook of Database Security: Application and Trends, New York: Springer. Kadir, Abdul, Konsep dan Tuntunan Praktis Basis Data, Yogyakarta: Penerbit Andi. Rob, Peter, et. All, 2008. Database System: Design, Implementation & Management. London: Cengage Learning EMEA. Stiawan, Deris, 2005. Keamanan Komputer, Jakarta: Elex Media Komputindo. Suanthi S and Esakkirajan, S., Fundamemtals of Relational Database Management System, New York: Springer Berlin Heidelberg. Wahana Komputer, 2010. Panduan Belajar MySQL Database Server, Jakarta: Media Kita. Ward, Patricia and Dafoulas, George., 2006. Database Management System, London: Thompson. Widodo, Agus Wahyu dan Kurnianingtyas, Diva, 2017. Sistem Basis Data, Malang: UB Press. https://medium.com/@wafaakamilahmaulanihermawan/teknologi-replikasihardware-database-replication-virtual-operating-system99aacc9bbe4a#targetText=Replikasi%20database%20adalah%20seperang kat%20teknologi,database%20ke%20database%20yang%20lain.&targetTe xt=Dengan%20replikasi%2C%20data%20dapat%20didistribusikan,%2C%



KB 2, Konsep RDBMS dalam Pengelolaan Data



122



Modul 2, Rekayasa Perangkat Lunak



20wireless%20connections%2C%20dan%20internet., diakses 25 Agustus 2019. http://dinus.ac.id/repository/docs/ajar/c-12_Reff_Replikasi_BD.pdf



123



KB 2, Konsep RDBMS dalam Pengelolaan Data



Kegiatan Belajar 4 Pemrograman Berorientasi Objek Dalam Perancangan Aplikasi/ Sistem Informasi



Modul 2, Rekayasa Perangkat Lunak



KEGIATAN BELAJAR 4 PEMROGRAMAN BERORIENTASI OBJEK DALAM PERANCANGAN APLIKASI/SISTEM INFOMASI A. PENDAHULUAN 1. Deskripsi Singkat Pemrograman berorientasi objek



atau



object-oriented programming



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



124



Modul 2, Rekayasa Perangkat Lunak



kemampuan memahami hakikat sains, prosedur sains, serta kekuatan dan kelemahan sains. Konteks aplikasi sains lebih pada kehidupan sehari-hari daripada kelas atau laboratorium. Kegiatan Belajar ini dibagi menjadi empat bahan kajian atau pokok bahasan yang mengacu pada dimensi literasi sains (sains liyteracy). Tujuan pembelajaran yang diharapkan Anda capai pada kegiatan pembelajaran ini adalah: (1) Menerapkan konsep pemrograman berorientasi obyek dalam pengembangan aplikasi/sistem informasi (2) Memodifikasi program untuk mengatasi kesalahan (error handling), (3) Membuat desain user interface (4) Membuat koneksi database server melalui client-server, dan (5) Menerapkan model MVC dalam pengembangan aplikasi. 3. Petunjuk Belajar Modul ini dirancang untuk memfasilitasi Anda dalam melakukan kegiatan belajar secara mandiri, jangan lupa berdoa sebelum mempelajarinya. Bacalah modul dengan seksama, terutama bagian instruksi. a.



Pahami dulu tentang capaian pembelajaran mata kegiatan, sub capaian pembelajaran mata kegiatan, dan pokok-pokok materi pada setiap Kegiatan Belajar sebelum Anda mempelajari uraian materi



b.



Lakukan kajian terhadap uraian materi pada setiap Kegiatan Belajar dan lengkapi informasi Anda dengan melihat berbagai media dan sumber belajar yang telah disediakan serta menganalisis contoh penelitian atau kasus nyata pada setiap topik materi.



c.



Anda diharapkan juga dapat menguasai prinsip, teknik, dan aplikasi integrasi pengetahuan keilmuan sains, pedagogi dan teknologi (technology pedagogy and content knowledge/TPCK). Oleh karena itu, lakukan kajian terhadap metode membelajaran yang telah disediakan pada setiap Kegiatan Belajar ini. Anda juga dapat menambahkan cara alternatif lain ketika Anda membelajarkan topik tersebut pada peserta didik di sekolah



d.



Keberhasilan proses pembelajaran pada PPG Dalam Jabatan ini sangat tergantung pada kesungguhan Anda dalam mengerjakan tugas dan tes yang telah disediakan pada setiap Kegiatan Belajar Kerjakanlah tugas dan latihan



125



KB 4, PBO Dalam Perancangan Aplikasi/Sistem Infomasi



Modul 2, Rekayasa Perangkat Lunak



yang terdapat di dalamnya dengan jujur tanpa melihat kunci jawaban sebelum Anda mengerjakannya. e.



Gunakan teknik membaca cepat dalam mempelajari modul.



f.



Pelajari media dan sumber belajar lain yang relevan dengan materi



g.



Anda diperbolehkan bertanya kepada instruktur jika dianggap perlu.



h.



Usahakan menyelesaikan setiap modul lebih cepat dari waktu yang ditetapkand. Jika ada bagian yang belum anda pahami, cobalah terlebih dahulu mendiskusikan dengan teman yang sedang mengerjakan bagian yang sama, sebelum Anda bertanya pada instruktur. Jika perlu, berusahalah mencari tahu jawabannya pada sumber yang lain. Kegiatan Belajar 4 ini menggunakan beberapa dukungan perangkat yang



yang harus disediakan. Peserta dapat menggunakan perangkat yang dimiliki tetapi harus memenuhi standar spesifikasi yang telah ditetapkan. Hal ini bertujuan agar setiap kegiatan pembelajaran yang dilakukan dapat berjalan dengan semestinya. Perangkat-perangkat yang digunakan dalam kegiatan pembelajaran modul ini adalah: a.



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



b.



Aplikasi teks editor



c.



Aplikasi JDK dan NetBeans



d.



Aplikasi web server local host



B. INTI 1. Capaian Pembelajaran Menganalisis prinsip-prinsip Rekayasa Perangkat Lunak beserta aplikasi terkait dalam pembelajaran bidang studi Teknik Komputer dan Informatika 2. Pokok-Pokok Materi Pokok-pokok materi dalam kegiatan belajar ini adalah: a. Konsep OOP dalam pengembangan aplikasi/sistem informasi b. Program untuk mengatasi kesalahan (error handling) c. Koneksi database server melalui client-server



KB 4, PBO Dalam Perancangan Aplikasi/Sistem Infomasi



126



Modul 2, Rekayasa Perangkat Lunak



d. Desain user interface e. Model MVC dalam pengembangan aplikasi



3. Uraian Materi a. Konsep Pemrograman Berorientasi Objek Pada bagian ini akan diuraikan konsep pemrograman beroroentasi objek (Object Oriented Programming/OOP) pada Java. Java adalah bahasa pemrograman dan platform komputasi pertama kali dirilis oleh Sun Microsystems pada tahun 1995. Java merupakan teknologi yang mendasari kekuatan program untuk utilitas, permainan, dan aplikasi bisnis. Java berjalan pada lebih dari 850 juta komputer pribadi di seluruh dunia, dan pada miliaran perangkat di seluruh dunia, termasuk ponsel dan perangkat TV. Salah satu karakteristik Java adalah portabilitas, yang berarti bahwa program komputer yang ditulis dalam bahasa Java harus dijalankan secara sama, pada setiap hardware/platform sistem operasi. Hal ini dicapai dengan menyusun kode bahasa Java ke sebuah Java bytecode. Pengguna aplikasi biasanya menggunakan Java Runtime Environment (JRE) diinstal pada mesin mereka sendiri untuk menjalankan aplikasi Java, atau dalam browser web untuk applet Java. Untuk pembuatan dan pengembangan aplikasi berbasis Java diperlukan Java Development Kit (JDK), dimana saat ini pemilik lisensi dari JDK adalah Oracle Corporation yang telah secara resmi mengakuisisi Sun Microsystem pada awal tahun 2010. Ada beberapa Java platform untuk keperluan development, yaitu: • Java SE (Standard Edition), yang khusus digunakan untuk pengembangan aplikasiaplikasi pada PC atau workstation. • Java ME (Micro Edition), yaitu khusus digunakan untuk pengembangan aplikasi-aplikasi yang ada di perangkat mobile spt HP, smartphone, PDA, tablet dan sebagainya. • Java EE (Enterprise Edition), yaitu khusus digunakan untuk pengembangan aplikasi skala besar (enterprise), dan aplikasi web berbasis java. Instalasi Java Development Kit (JDK) menggunakan Java SE sebagai JDK nya. Perangkat yang dibutuhkan untuk pembuatan aplikasi Java: 127



KB 4, PBO Dalam Perancangan Aplikasi/Sistem Infomasi



Modul 2, Rekayasa Perangkat Lunak



• Java (SE – Standard Edition) Development Kit. JDK adalah suatu paket perangkat yang digunakan untuk membangun aplikasi, applet, dan komponen menggunakan bahasa Java. Berikut ini perangkat yang ada di dalam sebuah JDK: development tools , Java runtime environtment (JRE), library, Java DB (Java relational database), demo aplikasi dan applet, serta contoh-contoh program. • Java Development IDE (Integrated Development Environment), misal: NetBeans atau eclipse. Berikut ini langkah instalasinya: 1. Unduh



keduanya



(JDK



dan



NetBeans)



sekaligus



di:



http://www.oracle.com/technetwork/java/javase/downloads/index.html 2. Pilih JDK + Netbeans



Gambar 4.1. Pilihan download Java SE 3. Pilih platform sistem operasi yang sesuai



Gambar 4.2. Pilihan platform sistem operasi instalasi JDK+Netbeans Keterangan: Windows x64 adalah untuk sistem operasi Windows 64 bit. 4.



Jalankan instalasi JDK dan Netbeans hasil download



KB 4, PBO Dalam Perancangan Aplikasi/Sistem Infomasi



128



Modul 2, Rekayasa Perangkat Lunak



Gambar 4.3. Tampilan installer JDK+Netbeans Klik NEXT



Gambar 4.4. Tampilan persetujuan instalasi JDK+Netbeans Pilih ‘I accept the terms in the license agreement, Install JUnit’, Klik NEXT



Gambar 4.5. Tampilan pilihan lokasi instalasi JDK+Netbeans 129



KB 4, PBO Dalam Perancangan Aplikasi/Sistem Infomasi



Modul 2, Rekayasa Perangkat Lunak



Tentukan PATH untuk lokasi instalasi JDK.



Gambar 4.6. Tampilan penentuan PATH instalasi JDK+Netbeans Tentukan PATH untuk NetBeans IDE



Gambar 4.7. Tampilan summary instalasi JDK+Netbeans Keterangan: Hilangkan tanda cek pada ‘Check for updates’ 5.



Klik INSTALL dan tunggu sampai instalasi selesai



Membuat Program Java Pertama Pada bab ini akan dibuat program Java untuk yang pertama kalinya. Contoh 1 Program ini nanti hanya sekedar menampilkan sebuah pesan ‘Hello World’. Berikut ini langkah pembuatannya: 1.



Jalankan NetBeans



KB 4, PBO Dalam Perancangan Aplikasi/Sistem Infomasi



130



Modul 2, Rekayasa Perangkat Lunak



Gambar 4.8. Tampilan awal Netbeans 2. Klik menu FILE – NEW PROJECT, setelah itu akan muncul PROJECT WIZARD yang memudahkan untuk membuat Java Project 3. Pada bagian CATEGORIES, pilih JAVA, pada bagian PROJECT pilih JAVA APPLICATION



Gambar 4.9. Tampilan penentuan pilihan project 4. Klik NEXT 5. Beri nama Projectnya, misalnya: Contoh1, serta tentukan path untuk menyimpan projectnya. Dalam contoh ini, misalnya file project disimpan di D:/JavaApp. Pastikan folder ‘JavaApp’ tersebut sudah dibuat sebelumnya.



Gambar 4.10. Tampilan pemiilihan penyimpanan file project 6. Klik FINISH 7. Setelah itu NetBeans secara otomatis menyiapkan sebuah source program yang



131



KB 4, PBO Dalam Perancangan Aplikasi/Sistem Infomasi



Modul 2, Rekayasa Perangkat Lunak



sudah lengkap strukturnya, dan tinggal ditambahkan beberapa perintah sesuai keinginan pada bagian TODO code application logic



here



Tempat menyisipkan perintah yang diinginkan Gambar 4.11. Tampilan tempat menyisipkan perintah 8. Selanjutnya silakan tambahkan perintah berikut ini, untuk menampilkan pesan ‘Hello World’. System.out.println("Hello World");



Sehingga tampilan source Contoh1.java menjadi sebagai berikut:



9. Cek apakah ada tanda seru warna merah di sisi sebelah kiri source. Jika tanda ini muncul maka menandakan ada sintaks yang salah pada baris tersebut.



Contoh tampilan pesan kesalahan pada suatu baris program Untuk mengetahui apa kesalahannya, cukup dekatkan saja kursor pada tanda seru warna merah tersebut.



KB 4, PBO Dalam Perancangan Aplikasi/Sistem Infomasi



132



Modul 2, Rekayasa Perangkat Lunak



Untuk melihat ada tidaknya kesalahan sintaks, bisa juga dilakukan proses COMPILE, dengan cara mengklik menu RUN – COMPILE. Proses COMPILE hanya bisa dilakukan sekali saja. 10. Untuk melihat tampilan program Java yang sudah dibuat klik menu RUN – RUN PROJECT.



11. Setelah melihat hasil running aplikasi Java, selanjutnya lakukan proses BUILD supaya dihasilkan file aplikasi Java yang executable. Hasil proses BUILD ini berupa file *.jar. Untuk melakukan proses BUILD suatu project, caranya klik RUN – BUILD PROJECT. Hasil dari proses BUILD project ini (*.jar), secara otomatis akan tersimpan di folder ‘dist’, dalam contoh ini di dalam direktori D:\JavaApp\Contoh1\dist. Sedangkan source codenya sendiri tersimpan di direktori D:\JavaApp\Contoh1\src. 12. Selanjutnya, file Java Executable File (*.jar) bisa dieksekusi via command prompt dengan perintah java -jar "D:/JavaApp/Contoh1/dist/Contoh1.jar"



Tipe Data Dalam Java Sebagaimana bahasa pemrograman yang lain, di dalam Java juga dikenal istilah tipe data. Tipe data ini digunakan untuk pengalokasian memory guna menyimpan nilai/valuenya. Di dalam Java, ada beberapa tipe data sebagai berikut: 133



KB 4, PBO Dalam Perancangan Aplikasi/Sistem Infomasi



Modul 2, Rekayasa Perangkat Lunak



Tabel 4.1 Tipe Data dalam Java Tipe Data Byte Short Int Long Float Double Char



Range nilai -128 ... 127 -32768 ... 32767 - 2147483648 ... 2147483647 -9223372036854775808 ... 9223372036854775807



String Boolean



true/false



Keterangan Bilangan bulat Bilangan bulat Bilangan bulat Bilangan bulat Bilangan riil Bilangan riil Karakter String (beberapa karakter) -



Berikut ini contoh program Java untuk menyimpan nilai beberapa tipe data: Contoh 2 Misalkan akan dibuat project dengan nama ‘Contoh3’. Langkahnya adalah: 1. Klik NEW PROJECT



Gambar 4.12. Tampilan New Project untuk contoh 2 2. Pilih JAVA pada Categories dan JAVA APPLICATION pada Projects. 3. Isikan nama projectnya dengan nama ‘Contoh3’



Gambar 4.13. Tampilan pemilihan penyimpanan file project contoh 2 4. Kemudian tulis kode berikut ini, package contoh3; public class Contoh3 { public static void main(String[] args) { // deklarasi variabel dan tipe datanya int gajiPokok; float potonganGaji, gajiBersih; String namaKaryawan, kodeKaryawan; char golDarah; // assignment nilai pada setiap variabel kodeKaryawan = "K00001";



KB 4, PBO Dalam Perancangan Aplikasi/Sistem Infomasi



134



Modul 2, Rekayasa Perangkat Lunak



namaKaryawan = "ROSIHAN ARI YUANA"; golDarah = 'A'; gajiPokok = 3000000; potonganGaji = (float) 0.2; gajiBersih = gajiPokok - (potonganGaji * gajiPokok); // tampilkan output System.out.println("KODE KARYAWAN : "+kodeKaryawan); System.out.println("NAMA KARYAWAN : "+namaKaryawan); System.out.println("GOL DARAH : "+golDarah); System.out.println("GAJI POKOK : Rp. "+gajiPokok); System.out.println("GAJI BERSIH : Rp. "+gajiBersih); } }



Output dari project ini seperti tampak pada gambar berikut,



Gambar 4.14. Output project contoh 2 Pemrograman Java menggunakan konsep Pemrograman Berorientasi Obyek (PBO) atau Object Oriented Programming (OOP). Semua program Java merupakan suatu obyek. Dasar-dasar OOP meliputi istilah yaitu: class, object, attribute dan method. Secara umum, OOP adalah teknik yang memfokuskan desain program pada obyek dan class berdasarkan pada skenario di dunia nyata. Sebagai contoh, misalkan mobil. Sebuah mobil secara umum tentunya memiliki beberapa karakteristik, yaitu misalnya memiliki sejumlah roda, memiliki warna, memiliki beberapa pintu dsb. Selanjutnya mobil ini bisa terdapat berbagai macam merek, misalnya mobil Suzuki Ertiga, Toyota Avanza dsb. Sebuah mobil tentunya juga bisa dijalankan, baik maju maupun mundur atau dihentikan. Dalam OOP, mobil tersebut identik dengan Class, mobil Suzuki Ertiga, Avanza dll itu merupakan obyek. Jumlah roda, warna mobil, jumlah tempat duduk dll identik dengan atribut dari suatu obyek, serta proses untuk mengendalikan mobil (maju, mundur dan berhenti) itu dalam OOP identik dengan method dari suatu obyek.



135



KB 4, PBO Dalam Perancangan Aplikasi/Sistem Infomasi



Modul 2, Rekayasa Perangkat Lunak



Class Class adalah model dari suatu obyek yang menjelaskan karakteristik (sifat) serta fungsi yang dimiliki dari suatu obyek. Class merupakan wadah (tempat) yang digunakan untuk menciptakan suatu obyek. Dengan kata lain sebuah Class merupakan blueprint dari suatu obyek. Berikut ini adalah aturan pembuatan class dalam Java: public class namaclass { . . }



Aturan pemberian nama class: -



Dimulai dengan huruf, atau tanda _ atau tanda $



-



Tidak boleh menggunakan reserved word dalam Java



-



Tidak boleh memuat operator aritmatika



-



Bersifat case sensitif



Oleh karena itu, jika diperhatikan ketika membuat project baru, maka secara otomatis akan dibuat class sesuai nama projectnya. Misalkan Anda membuat project baru dengan nama ‘project1’, maka secara otomatis akan dibuat class dengan nama ‘Project1’. public class Project1 { . . . }



Dalam sebuah project, dapat dibuat lebih dari satu class sebanyak kebutuhan. Atribut Atribut adalah elemen data dari suatu class. Atribut menyimpan informasi tentang class. Atribut dapat diartikan sebagai data, variabel, properti atau sebuah field. Method Method adalah sebuah function atau fungsi yang ada dalam suatu class. Setiap method memiliki tugas sendiri. Di dalam Java ada 2 jenis method yaitu void dan non void method. Method void adalah method yang tidak KB 4, PBO Dalam Perancangan Aplikasi/Sistem Infomasi



136



Modul 2, Rekayasa Perangkat Lunak



mengembalikan nilai, sedang non void method adalah method yang mengembalikan suatu nilai. Jika diperhatikan, ketika membuat project baru misalnya ‘project1’, maka akan di dalam class ‘project1’ ini akan dibuat pula method dengan nama main(). public class Project1 { public static void main(String[] args) { . . } }



Method main() dalam suatu class menunjukkan method tersebut adalah method utama yang akan dijalankan pertama kali ketika program Java dijalankan. Khusus method main(), perlu diberikan ‘static’ setelah modifiernya. Pada suatu class, bisa dibuat method berapapun sesuai keigninan. Perlu diingat juga bahwa di dalam Java, beberapa class itu bisa digabung atau disimpan menjadi satu dalam sebuah paket atau package jika diperlukan. Hal ini dimaksudkan untuk memudahkan pengelolaan class saja. Contoh 3 Sebagai contoh dari penerapan konsep OOP dalam pemrograman Java, misalkan akan dibuat sebuah program untuk menjumlahkan dua buah bilangan. Untuk langkah awal, desain terlebih dahulu bentuk class untuk penjumlahan bilangan tersebut. Misalkan dibuat class dengan nama ‘operasiBilangan’. Di dalam class tersebut, misalkan dibuat atribut yaitu ‘bilangan1’ dan ‘bilangan2’, merupakan kedua bilangan yang akan dioperasikan, serta ‘hasil’ yang merupakan hasil dari operasi kedua bilangan. Selanjutnya di dalam class ‘operasiBilangan’ tersebut dibuat sebuah method ‘jumlah’ untuk menjumlahkan kedua bilangan, serta method untuk menampilkan hasil operasi bilangan. Sesuai desain class tersebut, sekarang implementasikan di Java. Berikut ini langkah-langkahnya: 1. Klik NEW PROJECT



Gambar 4.15. Tampilan New Project untuk contoh 3 137



KB 4, PBO Dalam Perancangan Aplikasi/Sistem Infomasi



Modul 2, Rekayasa Perangkat Lunak



2. Pilih ‘JAVA’ pada Categories, dan ‘Java Application’ pada ‘Project’ 3. Misalkan untuk Nama Project, diberi nama “contoh2”



Gambar 4.16. Tampilan pemilihan penyimpanan file project contoh 3 4.



Setelah pembuatan project ‘contoh2’ ini berhasil, maka secara otomatis akan muncul package dengan nama ‘contoh2’.



Gambar 4.17. Tampilan source package file project contoh 2 5.



Selanjutnya, buat Class dengan nama ‘operasiBilangan’ dalam package ‘contoh2’ tersebut yaitu dengan mengklik kanan pada nama package-nya, lalu pilih NEW, dan pilih JAVA CLASS



Gambar 4.18. Tampilan untuk membuat Java class 6.



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



Gambar 4.19. Form pengisian nama class



KB 4, PBO Dalam Perancangan Aplikasi/Sistem Infomasi



138



Modul 2, Rekayasa Perangkat Lunak



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



7.



membuat file dengan nama ‘operasiBilangan.java’ pada direktori project. Class ‘operasiBilangan’ ini terletak dalam package ‘contoh2’. Kemudian akan tulis kode dalam class operasiBilangan tersebut.



8. Tulislah kode berikut ini di dalam class operasiBilangan public class operasiBilangan { // deklarasi atribut atau properties public int bilangan1; public int bilangan2; private int hasil; // method jumlah() public void jumlah() { this.hasil = this.bilangan1 + this.bilangan2; } // method tampilHasil() public void tampilHasil() { System.out.println("Hasil operasi bilangan : " + this.hasil); } }



Keterangan: -



Bilangan1, bilangan2 dan hasil merupakan atribut atau properties dari class operasibilangan, sedangkan jumlah() dan tampilHasil() adalah methodnya.



139



KB 4, PBO Dalam Perancangan Aplikasi/Sistem Infomasi



Modul 2, Rekayasa Perangkat Lunak



-



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(); KB 4, PBO Dalam Perancangan Aplikasi/Sistem Infomasi



140



Modul 2, Rekayasa Perangkat Lunak



dimaksudkan untuk menjalankan method jumlah() yaitu menjumlahkan kedua nilai atribut ‘bilangan1’ dan ‘bilangan2’ pada obyek ‘op1’. Sedangkan perintah, op1.tampilHasil();



digunakan untuk menjalankan method tampilHasil() yaitu menampilkan hasil penjumlahan. 10. Untuk melihat hasil output program, Anda bisa mengcompilenya dahulu kemudian menjalankan RUN PROJECT. Adapun outputnya adalah sebagai berikut:



Gambar 4.20. Output project contoh 3 Dalam sebuah program, bisa dibuat instantisasi beberapa obyek dari class yang sama. Contoh 4 Berikut ini contoh yang merupakan pengembangan dari project ‘contoh2’ public class Contoh2 { public static void main(String[] args) { // instantisasi obyek ‘op1’ operasiBilangan op1 = new operasiBilangan(); op1.bilangan1 = 10; op1.bilangan2 = 20; op1.jumlah(); op1.tampilHasil(); // instantisasi obyek ‘op2’ operasiBilangan op2 = new operasiBilangan(); op2.bilangan1 = 30; op2.bilangan2 = 25; op2.jumlah(); op2.tampilHasil(); } }



Dalam contoh di atas, dibuat 2 obyek dari class yang sama yaitu ‘op1’ dan ‘op2’. Adapun hasil output dari program ini adalah,



141



KB 4, PBO Dalam Perancangan Aplikasi/Sistem Infomasi



Modul 2, Rekayasa Perangkat Lunak



Gambar 4.21. Output project contoh 4 Untuk mengecek apakah suatu class yang sudah dibuat itu betul atau tidak, atau bisa tidak diakses dari class lain, dapat dilihat dari tool tips yang muncul ketika menulis kode program. Sebagai contoh, misalkan di file ‘Contoh2.java’ ini dituliskan ‘op1.’ maka jika muncul tool tips seperti gambar di bawah ini,



Gambar 4.22. Tool tips Yang menandakan bahwa atribut dan method yang ada dalam class ‘operasiBilangan’ bisa diakses. Atribut dan method yang muncul dalam tool tips hanyalah yang diset sebagai PUBLIC saja, sedangkan yang PRIVATE tidak muncul. Perhatikan, bahwa atribut ‘hasil’ yang sebelumnya diset PRIVATE dalam class ‘operasiBilangan’ tidak muncul dalam tool tips. Jika struktur penulisan class itu benar, maka secara otomatis class-class tersebut dapat diakses dari class lainnya dalam package yang sama. Namun, jika ingin melakukan instantisasi obyek dari suatu class yang class tersebut berasal dari package yang berbeda, maka perlu ditambahkan perintah: import namapackage.namaclass;



sebelum kode classnya. Contoh 5 Sebagai contoh, misalkan akan dibuat package baru dalam project ‘Contoh2’ dengan nama ‘paketku’. Di dalam package ‘paketku’ ini akan dibuat class dengan nama ‘classku’. Selanjutnya di dalam class ‘classku’ dibuat sebuah method KB 4, PBO Dalam Perancangan Aplikasi/Sistem Infomasi



142



Modul 2, Rekayasa Perangkat Lunak



dengan nama ‘cetakHelloWorld’ untuk menampilkan pesan ‘Hello World’ Adapun cara membuat package baru dalam project ‘Contoh2’ ini adalah dengan mengklik kanan pada ‘Source Package’, lalu pilih NEW – JAVA PACKAGE



Gambar 4.23. Cara membuat package baru Kemudian isikan nama package yang akan dibuat, yaitu ‘paketku’



Gambar 4.24. Form pengisian package baru Setelah package ‘paketku’ dibuat, buat class dengan nama ‘classku’. Caranya adalah dengan mengklik kanan pada package ‘paketku’, pilih NEW – JAVA CLASS.



Gambar 4.25. Tampilan pembuatan class baru Lalu isikan nama class yang akan dibuat yaitu ‘classku’



Gambar 4.26. Form pengisian class baru



143



KB 4, PBO Dalam Perancangan Aplikasi/Sistem Infomasi



Modul 2, Rekayasa Perangkat Lunak



Selanjutnya buat method cetakHelloWorld() di dalam class ‘classku’ yang sudah terbentuk sebagai berikut: public class classku { public void cetakHelloWorld() { System.out.println("Hello World"); } }



Kemudian, misalkan di method main() dalam class ‘Contoh2’ akan lakukan instantisasi suatu obyek dari class ‘classku’ ini, maka sebelum proses instantisasi ini dilakukan terlebih dahulu tambahkan perintah, import paketku.classku;



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



Gambar 4.27. Perintah import Setelah menambahkan perintah import, barulah bisa lakukan proses instantisasi suatu obyek dari class ‘classku’. Misalkan: package contoh2; import paketku.classku; public class Contoh2 { public static void main(String[] args) { // instantisasi obyek ‘op1’ operasiBilangan op1 = new operasiBilangan(); op1.bilangan1 = 10; op1.bilang an2 = 20; op1.jumlah (); op1.tampil Hasil(); // instantisasi obyek ‘op2’ operasiBilangan op2 = new operasiBilangan(); op2.bilangan1 = 30; op2.bilang an2 = 25; op2.jumlah



KB 4, PBO Dalam Perancangan Aplikasi/Sistem Infomasi



144



Modul 2, Rekayasa Perangkat Lunak



(); op2.tampil Hasil(); // instantitasi obyek ‘kelas’ dari class ‘classku’ classku kelas = new classku(); kelas.cetakHelloWorld(); } }



Mengapa sebelum instantisasi obyek ‘kelas’ yang termasuk class ‘classku’ ini perlu dilakukan import dari package ‘paketku’? Karena class ‘Contoh2’ ini beda package dengan class ‘classku’ di mana class ‘Contoh2’ ini ada di dalam package ‘contoh2’ sedangkan class ‘classku’ ada dalam package ‘paketku’. Adapun output dari program java di atas adalah,



Gambar 4.28. Output project contoh 5 Input dan Output dalam Java Dalam bagian ini akan dibahas cara membaca data input melalui console serta menampilkan outputnya juga melalui console. Input Data Via Console Untuk keperluan input data via console, perlu dibuat class khusus. Contoh 6: Sebagai contoh, berikut ini adalah sebuah pembuatan program Java untuk perhitungan gaji karyawan yang beberapa datanya diinput lewat console: • Buat Project dengan nama ‘gajikaryawan’, untuk package nya juga diberi nama ‘gajikaryawan’ • Buat class ‘inputConsole” yang disimpan dalam file inputConsole.java



145



KB 4, PBO Dalam Perancangan Aplikasi/Sistem Infomasi



Modul 2, Rekayasa Perangkat Lunak



Gambar 4.29. Menu input console dengan isi kode sebagai berikut: inputConsole.java import java.io.*; public class inputConsole { // membaca data string public String bacaString() { BufferedReader bfr = new BufferedReader(new InputStreamReader(System.in), 1); String string = ""; try { string = bfr.readLine(); } catch (IOException ex) { System.out.println(ex); } return string; } // membaca data integer public int bacaInt() { return Integer.parseInt(bacaString()); } // membaca data float public float bacaFloat() { return Float.parseFloat(bacaString()); } // membaca data long integer public long bacaLong() { return Long.parseLong(bacaString()); } }



KB 4, PBO Dalam Perancangan Aplikasi/Sistem Infomasi



146



Modul 2, Rekayasa Perangkat Lunak



Secara umum, di dalam class ‘inputConsole’ tersebut, mekanisme methodmethod untuk membaca input dalam berbagai tipe data itu adalah membaca setiap input dalam bentuk string kemudian input string tersebut diubah ke tipe data yang bersesuaian. • Selanjutnya buat beberapa kode di bawah ini pada class Gajikaryawan public class Gajikaryawan { public static void main(String[] args) { String nama, kodekar ; int gapok, jmlanak ; float gaber, tunjana k; inputConsole input1 = new inputConsole(); // input kode karyawan System.out.print("KODE KARYAWAN : "); kodekar = input1.bacaString(); // input nama karyawan System.out.print0;("NAMA KARYAWAN : "); nama = input1.bacaString(); // input gaji pokok karyawan System.out.print("GAJI POKOK: "); gapok = input1.bacaInt(); // input jumlah anak System.out.print("JML ANAK: "); jmlanak = input1.bacaInt(); // hitung tunjangan anak -> setiap anak 10% dari gaji pokok tunjanak = (float) ((float) gapok * 0.1 * jmlanak); // hitung gaji bersih = gaji pokok + tunj anak gaber = gapok + tunjanak; // output System.out.println("NAMA KARYAWAN : "+nama+"("+ kodekar +")"); System.out.println("GAJI BERSIH : Rp. "+gaber); } }



Output Via Console Secara umum perintah untuk menampilkan output ke layar console adalah System.out.println(string);



atau 147



KB 4, PBO Dalam Perancangan Aplikasi/Sistem Infomasi



Modul 2, Rekayasa Perangkat Lunak



System.out.print(string);



Perbedaan keduanya adalah jika dengan println() setelah menampilkan suatu string ke output console, maka terjadi perpindahan baris pada pointernya. Sedangkan untuk System.output.print() tidak terjadi perpindahan baris pointernya. Mengatur Digit Presisi Bilangan Riil (Float) Secara default, Java akan menampilkan bilangan riil atau float dalam bentuk 15 digit di belakang koma, misalnya: System.out.print(22./7);



akan muncul hasil di layar, bilangan 3.142857142857143 Selanjutnya bagaimana jikaingin membatasi digit presisi di belakang komanya, misalnya hanya 3 digit saja? Caranya adalah dengan memanfaatkan built in class ‘DecimalFormat’ yang sudah tersedia dalam Java. Berikut ini contohnya, Contoh 7 Contoh program Java untuk menampilkan 3 digit di belakang koma untuk bilangan Phi (22/7) import java.text.DecimalForm at; public class Contoh2 { public static void main(String[] args) { // membuat obyek dari class DecimalFormat untuk 3 digit presisi DecimalFormat jmldigit = new DecimalFormat("0.000"); System.out.println("Bilangan Pi: " + jmldigit.format(22./7)); } }



Class DecimalFormat ada dalam suatu package Java dengan nama ‘java.text.DecimalFormat’ sehingga di bagian atas program perlu ditambahkan perintah: import java.text.DecimalFormat;



Input Data Via GUI (Graphics User Interface) Selain via console, input data juga bisa dilakukan via GUI. Di dalam Java, untuk membuat aplikasi berbasis GUI bisa menggunakan SWING sebagai package nya,



KB 4, PBO Dalam Perancangan Aplikasi/Sistem Infomasi



148



Modul 2, Rekayasa Perangkat Lunak



sehingga di dalam program perlu melakukan import dengan perintah sebagai berikut: import javax.swing.*;



Berikut ini contoh kode Java untuk menerima input melalui form GUI kemudian outputnya melalui console. Contoh 8 Contoh program Java yang menerima input berupa nama



(string) kemudian



menampilkan nama yang tadi diinputkan via console. import javax.swing .*; public class Contoh2 { public static void main(String[] args) { String nama; nama = JOptionPane.showInputDialog("Masukkan nama Anda"); System.out.println("Hallo selamat datang, " + nama); } }



Tampilan dari kode di atas setelah dirunning adalah sebagai berikut:



Gambar 4.30. Contoh tampilan input melalui GUI dan outputnya:



Gambar 4.31. Output contoh 8 Contoh 9 Contoh program Java untuk menjumlahkan dua buah bilangan integer yang diinput melalui GUI kemudian menampilkan hasilnya via Message Dialog.



149



KB 4, PBO Dalam Perancangan Aplikasi/Sistem Infomasi



Modul 2, Rekayasa Perangkat Lunak



Import javax.swing .*; public class Contoh2 { public static void main(String[] args) { int bil1; int bil2; int hasil; // baca nilai bilangan ke-1 bil1 = Integer.parseInt(JOptionPane.showInputDialog("Masukkan bilangan pertama")); // baca nilai bilangan ke-2 bil2 = Integer.parseInt(JOptionPane.showInputDialog("Masukkan bilangan kedua")); // jumlahkan kedua bilangan hasil = bil1 + bil2; // tampilkan hasil penjumlahannya via message dialog JOptionPane.showMessageDialog(null, "Hasil penjumlahannya: "+hasil); } }



Adapun tampilan program Java tersebut adalah sebagai berikut:



Gambar 4.32. Contoh input dan hasil project melalui GUI Struktur Kontrol Proses Struktur kontrol proses



bertujuan



untuk



dapat



menentukan



urutan



statement/perintah yang akan dikerjakan atau diproses. Struktur kontrol proses ini antara lain: Struktur Kontrol Kondisional Struktur kontrol ini untuk



menyatakan



proses



yang



berbentuk



persyaratan/kondisional. Struktur Kontrol IF Tata cara penulisan statement IF: KB 4, PBO Dalam Perancangan Aplikasi/Sistem Infomasi



150



Modul 2, Rekayasa Perangkat Lunak



if (syarat) { statement; statement; . . }



Bisa juga berbentuk sebagai berikut, if (syarat) { statement; statement; . . } else { statement; statement; . . }



atau bisa juga berbentuk if (syarat1) { statement; statement; . . } else if (syarat2) { statement; statement; . . } else if (syarat3) { statement; statement; } . . else { statement; statement; . . }



151



KB 4, PBO Dalam Perancangan Aplikasi/Sistem Infomasi



Modul 2, Rekayasa Perangkat Lunak



Statement SWITCH Struktur penulisan statement SWITCH adalah sebagai berikut: switch(ekspresi) { case variabel1



case variabel2



Default



:statement; statement; . . break; : statement; statement; . . break; . . : statement; statement; . .



}



Struktur Kontrol Perulangan (Looping) Struktur kontrol perulangan digunakan untuk mengatur proses yang dijalankan secara berulang-ulang. Berikut ini beberapa statement yang dapat digunakan untuk mengatur proses perulangan: Statement FOR Aturan penulisan (syntax) nya adalah: for(ekspresiawal; syarat; ekspresiakhir) { statemen t; statemen t; . . }



Statement WHILE Aturan penulisannya: while(syarat) { statemen t; statemen t; . . }



KB 4, PBO Dalam Perancangan Aplikasi/Sistem Infomasi



152



Modul 2, Rekayasa Perangkat Lunak



Statement DO WHILE Aturan penulisanya: do { statemen t; statemen t; . . } while (syarat);



Contoh 10 Dalam contoh ini, akan dibuat sebuah project untuk menentukan gaji bersih karyawan dengan ketentuan: Gaji bersih = gaji pokok + tunjangan istri + tunjangan anak – potongan Di mana tunjangan istri diberikan sebesar 10% dari gaji pokok, dan tunjangan anak adalah 5% dari tiap anak. Sedangkan potongannya adalah 5% dari total gaji pokok dan tunjangan-tunjangan. Pertama buat dahulu project dengan nama misalnya: ‘projectGaji’



Gambar 4.33. Input nama project baru Selanjutnya desain class, method dan atributnya sebagai berikut: Nama Class: ‘gaji’ Tabel 4.2. Struktur class ‘gaji’ Nama Atribut kodeKaryawan namaKaryawan gajipokok statusMenikah jmlAnak



153



Sifat Public Public Public Public Public



Tipe Data String String Float Char Integer



Keterangan Kode karyawan Nama karyawan Gaji pokok karyawan Status menikah ‘Y’ atau ‘N’ Jumlah anak



KB 4, PBO Dalam Perancangan Aplikasi/Sistem Infomasi



Modul 2, Rekayasa Perangkat Lunak



Tabel 4.3. Struktur method ‘gaji’ Nama method hitungTunjIstri(char s) s: status menikah (y/n) hitungTunjAnak(int n) n: jumlah anak hitungGajiBersih() hitungPotongan()



Tipe Data Keterangan Return Value Public (non void) Float Menghitung tunjangan istri Public (non void) Float Menghitungan tunjangan anak Public (non void) Float Menghitung gaji bersih Public (non void) Float Menghitung potongan Sifat Method



Kemudian implementasikan desain di atas ke dalam bentuk coding di dalam class ‘gaji’ gaji.java package projectgaji; public class gaji { // deklarasi untuk atribut class 'gaji' public String kodekaryawan; public String namakaryawan; public float gajiPokok; public char statusMenikah; public int jmlAnak; // deklarasi untuk method dari class 'gaji' public float hitungTunjIstri(char s) { float tunjIstri = 0; if (s == 'y') if (s == 'y') { tunjIstri = (float) (0.1 * this.gajiPokok); } return tunjIstri; } public float hitungTunjAnak(int n) { float tunjAnak; tunjAnak = (float) (n * 0.05 * this.gajiPokok); return tunjAnak; } public float hitungPotongan() { float jmlPotongan; jmlPotongan = (float) (0.05 * (this.gajiPokok + this.hitungTunjAnak(this.jmlAnak) + this.hitungTunjIstri(this.statusMenikah))); return jmlPotongan; } public float hitungGajiBersih() { float gaber; gaber = (float) (this.gajiPokok + this.hitungTunjAnak(this.jmlAnak) +



KB 4, PBO Dalam Perancangan Aplikasi/Sistem Infomasi



154



Modul 2, Rekayasa Perangkat Lunak



this.hitungTunjIstri(this.statusMenikah) this.hitungPotongan()); return gaber; } }



Sedangkan berikut ini isi dari method main() dalam class projectGaji nya. ProjectGaji.java package projectgaji; public class ProjectGaji { public static void main(String[] args) { gaji g1 = new gaji(); g1.kodekaryawan = "K001"; g1.namakaryawan = "ROSIHAN ARI"; g1.statusMenikah = 'y'; g1.jmlAnak = 3; g1.gajiPokok = 2500000; System.out.println("========================================= ===="); System.out.println("KODE KARYAWAN : "+g1.kodekaryawan); System.out.println("NAMA KARYAWAN : "+g1.namakaryawan); System.out.println("STATUS MENIKAH : "+g1.statusMenikah); System.out.format("GAJI POKOK : Rp %10.1f \n", g1.gajiPokok); System.out.println("======================================"); System.out.format("TUNJANGAN ISTRI : Rp %10.1f \n", g1.hitungTunjIstri(g1.statusMenikah)); System.out.format("TUNJANGAN ANAK : Rp %10.1f \n", g1.hitungTunjAnak(g1.jmlAnak)); System.out.format("POTONGAN : Rp %10.1f \n", g1.hitungPotongan()); System.out.println("======================================"); System.out.format("GAJI BERSIH : Rp %10.1f \n", g1.hitungGajiBersih()); System.out.println("======================================"); } }



Keterangan: Perintah System.out.format() digunakan untuk memformat tampilan, khususnya untuk pengaturan bilangan yang dalam contoh di atas digunakan untuk memformat tampilan bilangan riil dengan 1 digit angka di belakang koma (%10.1f). Perintah ini sebagai alternatif cara untuk memformat tampilan output selain yang pernah di bahas di bab sebelumnya. Sedangkan berikut ini tampilan output dari program Javanya



155



KB 4, PBO Dalam Perancangan Aplikasi/Sistem Infomasi



Modul 2, Rekayasa Perangkat Lunak



Gambar 4.34. Output project contoh 10 Constructor Di dalam OOP, ada istilah ‘constructor’. ‘Constructor’ ini melekat pada suatu class, sehingga bisa menset beberapa nilai atribut sekaligus dari suatu obyek ketika proses instansiasi. Jika sebelumnya setiap ingin menset nilai atribut dari sebuah obyek, maka prosesnya adalah instansiasi baru set nilai atribut, namun dengan ‘constructor’ ini kedua langkah tersebut bisa dijadikan dalam satu langkah saja. Contoh 11 Berikut ini contoh constructor yang ada dalam sebuah class. Perhatikan contoh class ‘operasi’ berikut ini public class operasi { public int bil1; public int bil2; public int hasil; private void jumlahkan() { this.hasil = this.bil1 + this.bil2; } public void tampilhasil() { System.out.println("Hasil penjumlahannya : " + this.hasil); } }



Apabila ingin menjumlahkan 2 bilangan misalnya 10 dan 20, maka lakukan perintah sebagai berikut:



KB 4, PBO Dalam Perancangan Aplikasi/Sistem Infomasi



156



Modul 2, Rekayasa Perangkat Lunak



operasi op1 = new operasi(); op1.bil1 = 10; op1.bil2 = 20; op1.jumlahkan(); op1.tampilhasil();



Selanjutnya, misalkan buat constructor sebagai berikut: public class operasi { public int bil1; public int bil2; public int hasil; // constructor class operasi public operasi(int x, int y) { this.bil1 = x; this.bil2 = y; } public void jumlahkan() { this.hasil = this.bil1 + this.bil2; } public void tampilhasil() { System.out.println("Hasil penjumlahannya : " + this.hasil); } }



Setelah dibuat constructor, selanjutnya berikan perintah berikut ini, operasi op1 = new operasi(10, 20);



untuk proses instansiasi sekaligus menset atribut bil1 dan bil2 nya, sehingga secara umum perintah untuk menjumlahkan dua bilangannya adalah sebagai berikut: operasi op1 = new operasi(10, 20); op1.jumlahkan(); op1.tampilhasil();



Larik (Array) Seperti halnya bahasa pemrogaman yang lain, di dalam Java juga ada penggunaan



157



KB 4, PBO Dalam Perancangan Aplikasi/Sistem Infomasi



Modul 2, Rekayasa Perangkat Lunak



Array. Di dalam java nomor indeks suatu array dimulai dari 0. Berikut ini cara mendeklarasikan sebuah array dengan n buah elemen tipedata[] namaarray = new tipedata[n];



Sebagai contoh, perhatikan perintah berikut ini untuk membuat array dengan nama arrayku bertipe data integer dengan jumlah elemennya 10. int[] arrayku



= new int[10];



Pewarisan (Inheritance) Di dalam Java, sifat suatu class dapat diturunkan atau diwariskan pada sebuah class lain. Istilah sifat yang diwariskan ini adalah atribut atau method. Class yang sifatnya diwariskan ini dinamakan superclass, dan class yang sifatnya mewarisi class lain dinamakan subclass. Pewarisan ini merupakan keuntungan dalam PBO karena suatu sifat atau method yang didefinisikan dalam suatu superclass dapat diwariskan pada semua subclassnya. Sehingga di dalam subclass tersebut tidak perlu menulis kode program lagi untuk method tersebut. Misalkan diberikan sebuah class dengan nama ‘kendaraan’ sebagai berikut:: public class kendaraan { public int jmlRoda; public int jmlSeat; public String nama; public void tampilJmlRoda() { System.out.println(this.nama + " jumlah rodanya: " + this.jmlRoda); } public void tampilJmlSeat() { System.out.println(this.nama + " jumlah seat: " + this.jmlSeat); } }



Selanjutnya buat class di file yang lain yang merupakan turunan atau warisan dari class ‘kendaraan’ tersebut dengan nama ‘keretaApi’. Dalam hal ini class KB 4, PBO Dalam Perancangan Aplikasi/Sistem Infomasi



158



Modul 2, Rekayasa Perangkat Lunak



‘kendaraan’ disebut superclass, dan ‘keretaApi’ adalah subclass. public class keretaApi extends kendaraan { public int jmlGerbong; public void tampilJmlGerbong() { System.out.println(this.nama + " jumlah gerbongnya " + this.jmlGerbong); }



Perhatikan, di dalam class ‘keretaApi’ terdapat atribut tambahan yaitu ‘jmlgerbong’ dan method ‘tampilJmlGerbong’. Sekarang, bagaimana cara menggunakan kedua class tersebut? Perhatikan contohnya berikut ini, Public static void main(String[] args) { kendaraan ob1 = new kendaraan(); ob1.nama = "Kijang Innova"; ob1.jmlRoda = 4; ob1.jmlSeat = 6; ob1.tampilJmlRoda(); ob1.tampilJmlSeat(); keretaApi ob2 = new keretaApi(); ob2.nama = "KA. Argo Lawu"; ob2.jmlRoda = 100; ob2.jmlSeat = 500; ob2.jmlGerbong = 20; ob2.tampilJmlGerbong( ); ob2.tampilJmlRoda(); ob2.tampilJmlSeat(); }



Perhatikan contoh di atas, bahwa obyek ‘ob2’ dari instansiasi class ‘keretaApi’ bisa diset atribut- atributnya seperti halnya ‘ob1’, demikian juga methodmethodnya. Khusus atribut ‘jmlGerbong’ dan method ‘tampilJmlGerbong()’ hanya dimiliki oleh class ‘keretaApi’ saja. Keterangan:



159



KB 4, PBO Dalam Perancangan Aplikasi/Sistem Infomasi



Modul 2, Rekayasa Perangkat Lunak



Semua atribut dan method dari superclass yang memiliki modifier ‘public’ akan bisa langsung diwariskan pada subclassnya, demikian juga ‘protected’ namun dengan syarat subclass dan superclass nya berada dalam package yang sama. Overriding Method Misalkan terdapat sebuah superclass sebagai berikut, public class superclass1 { public int atribut1; public int atribut2; public void method1() { System.out.println("Ini adalah hasil method1() superclass"); } }



Kemudian buat beberapa subclass dari superclass di atas, yaitu, public class subclass1 extends superclass1



{



public void method1() { System.out.println("Ini adalah hasil method1() subclass1"); } }



Dan public class subclass2 extends superclass1 { public void method1() { System.out.println("Ini adalah hasil method1() subclass2"); } }



Jika diperhatikan, maka baik di superclass maupun di subclass1 dan subclass2 terdapat method dengan nama yang sama yaitu method1(). Dalam hal ini, method1() yang ada di subclass1 dikatakan overriding method dari method1() yang ada di superclass1. Demikian juga untuk method1() yang ada di subclass2. Jika suatu obyek diinstasiasikan dari class subclass1, dan kemudian obyek tersebut KB 4, PBO Dalam Perancangan Aplikasi/Sistem Infomasi



160



Modul 2, Rekayasa Perangkat Lunak



diberikan method method1() maka akan memanggil method1() yang ada dalam subclass1 tersebut karena sudah mengoverride method1() yang ada di superclass1. Berikut ini contoh implementasinya untuk beberapa obyek dari class yang berbeda public static void main(String[] args) superclass1 ob1 = new superclass1(); subclass1 ob2 = new subclass1(); subclass2 ob3 = new subclass2();



{



// memanggil method1 dari superclass1 ob1.method1(); // memanggil method1 dari subclass1 ob2.method1(); // memanggil method1 dari subclass2 ob3.method1(); }



Akan menghasilkan output:



Polimorfisme Istilah polimorfisme secara umum adalah suatu materi yang bisa memiliki banyak bentuk. Dalam PBO, istilah polimorfisme adalah kemampuan untuk mendefinisikan



karakteristik



subclass-subclass



secara unik. Untuk contoh



gambaran dari kemampuan polimorfisme dalam Java ini, adalah tinjau kembali superclass1, subclass1 dan subclass2 dari bab Overriding Method. Selanjutnya di main method-nya, seperti berikut ini, public static void main(String[] args) { superclass1 ob1, ob2, ob3; ob1 = new superclass1(); ob2 = new subclass1(); ob3 = new subclass2(); ob1.method1(); ob2.method1(); ob3.method1(); }



Perhatikan pada perintah: superclass1 ob1, ob2, ob3;



161



KB 4, PBO Dalam Perancangan Aplikasi/Sistem Infomasi



Modul 2, Rekayasa Perangkat Lunak



Meskipun ob1, ob2, dan ob3 didefinisikan sebagai tipe data superclass1 yang sama, namun method method1() yang dipanggil dari tiap-tiap obyek melalui perintah: ob1.method1(); ob2.method1(); ob3.method1();



Menghasilkan output yang berbeda-beda:



Hal ini dikarenakan sebelum pemanggilan method method1() untuk setiap obyeknya, terlebih dahulu instansiasi masing-masing obyeknya untuk class yang berbeda: ob1 = new superclass1(); ob2 = new subclass1(); ob3 = new subclass2();



Exception Handling Exception adalah peristiwa yang terjadi ketika proses running program yang mengakibatkan program berhenti, ditandai dengan munculnya pesan error. Sebagai contoh, misalkan program Java sebagai berikut: public static void main(String[] args) { int bilBulat; bilBulat = Integer.parseInt(JOptionPane.showInputDialog("Masukkan bilangan bulat")); } }



Ketika program sederhana di atas dijalankan, maka akan meminta masukan sebuah bilangan bulat (integer). Namun, apa yang akan terjadi jika yang dimasukkan bukan bilangan bulat?



KB 4, PBO Dalam Perancangan Aplikasi/Sistem Infomasi



162



Modul 2, Rekayasa Perangkat Lunak



atau



Maka selanjutnya akan muncul pesan error exception sebagai berikut:



Untuk mengantisipasi munculnya exception tersebut, bisa dilakukan penanganan dengan statement: try { ... } catch (namaexception var) { ... }



Keterangan: -



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



kasus



sebelumnya



yang



merupakan



nama



exception



adalah



‘NumberFormatException’ -



Secara umum, bisa digunakan keyword ‘Exception’ pada ‘namaexception’ untuk menangkap semua exception yang terjadi. Keyword ‘Exception’ adalah top level dari semua exception.



Sedangkan ‘var’ diisikan dengan sembarang nama variabel. Dengan statement try-catch di atas, maka pesan error exception tidak akan muncul 163



KB 4, PBO Dalam Perancangan Aplikasi/Sistem Infomasi



Modul 2, Rekayasa Perangkat Lunak



namun akan digantikan dengan pesan atau prosedur lain yang dituliskan dalam bagian catch. Berikut ini contoh penanganan exception dari kasus sebelumnya. try { bilBulat = Integer.parseInt(JOptionPane.showInputDialog("Masukkan bilangan bulat")); } catch (NumberFormatException e) { JOptionPane.showMessageDialog(null, "Input salah"); }



Dengan penanganan di atas, maka ketika input yang dimasukkan bukan bilangan bulat maka akan muncul pesan ‘Input Salah’. Blok try-catch juga dapat berbentuk sebagai berikut: try { ... } catch (exception1 var1) { ... } catch (exception2 var2) { ... } . . catch (exceptionn varn) { ... }



Blok try-catch juga dapat diletakkan di sembarang struktur control, misalnya dalam looping. public static void main(String[] args) { int bil1, bil2; // selama input untuk bil1 bukan bilangan bulat // maka akan terus mengulang input while (true) { try {



KB 4, PBO Dalam Perancangan Aplikasi/Sistem Infomasi



164



Modul 2, Rekayasa Perangkat Lunak



bil1 = Integer.parseInt(JOptionPane.showInputDialog( "Masukkan Bilangan 1 (Integer)")); break; } catch (Exception e) { JOptionPane.showMessageDialog(null, "Bukan bilangan integer"); } { // selama input untuk bil2 bukan bilangan bulat // maka akan terus mengulang input while (true) { try { bil2 = Integer.parseInt(JOptionPane.showInputDialog("Masukkan Bilangan 2 (Integer)")); break; } catch (Exception e) { JOptionPane.showMessageDialog(null, "Bukan bilangan integer"); } } JOptionPane.showMessageDialog(null, "Hasil penjumlahannya: " + (bil1+bil2));



} b. Error Handling Error handling atau sering juga disebut exception handling merupakan mekanisme yang paling diperlukan dalam menangani error yang terjadi pada saat runtime (program berjalan) atau yang lebih dikenal dengan sebutan runtime error. Secara umum, adanya kesalahan yang terjadi pada program pada saat runtime dapat menyebabkan program berhenti atau hang. Untuk itulah diperlukan mekanisme untuk memastikan bahwa program tetap dapat berjalan meskipun terdapat kesalahan yang terjadi. Secara umum, exception handling yang dijelaskan pada KB ini adalah exception handling pada pemrograman java yang dilakukan menggunakan keyword try-catch.



165



KB 4, PBO Dalam Perancangan Aplikasi/Sistem Infomasi



Modul 2, Rekayasa Perangkat Lunak



Tabel 4. 4. Fungsi pada exception handling Kata kunci try



catch



finally



throw throws



Deskripsi Digunakan untuk menentukan bagian statement program dimana akan terjadi pengecualian. Blok dari try ini harus diikuti dengan catch atau finally Digunakan untuk menangani kesalahan/pengecualian yang terjadi. Blok catch ini dapat berdiri sendiri tanpa blok try. Blok catch dapat diikuti oleh blok finally Digunakan untuk mengeksekusi bagian code yang penting dari program. Bagian iji akan tetap dijalankan baik terjadi pengecualian maupun tidak. Digunakan untuk melempar pengecualian yang terjadi, dimana throw digunakan dalam body dari code yang ada Digunakan untuk mendeklarasikan pengecualian yang akan terjadi pada bagian fungsi tersebut.



Berikut ini beberapa contoh kesalahan yang terjadi terjadi, yaitu: •



Pembagian bilangan dengan 0







Pengisian elemen array diluar ukuran array







Kegagaalan koneksi database







File yang akan dibuka tidak exist







Operand yang akan dimanipulasi out of prescribed range







Mengakses obyek yang belum diinisialisasi



Common exception terdiri atas: • Arithmetic exception Hasil dari operasi divide-by-zero pada integer Misal : int i = 12/0; • Null pointer exception Mencoba mengakses atribut atau method suatu objek padahal objek belum dibuat. Misal : Date d = null; System.out.println(d.toString());



• Negative array size exception Mencoba membuat array dengan ukuran negatif. ArrayIndexOutOfBoundsException



KB 4, PBO Dalam Perancangan Aplikasi/Sistem Infomasi



166



Modul 2, Rekayasa Perangkat Lunak



Mencoba mengakses elemen array dimana index nya melebihi ukuran array. • Security exception Biasanya Biasanya dilempar dilempar ke browser, class security manager browser, class security manager melempar melempar exception untuk applet yang mencoba melakukan: Mengakses lokal file Open socket ke host yang berbeda dengan host yang diopen oleh applet Berikut ini contoh exception, Class DivByZero { public static void main(String args[]) { System.out.println(3/0); System out println(Pls.print me”); } } • Menampilkan pesan error Exception in thread "main“ java.lang.ArithmeticException:/by zero at DivByZero.main(DivByZero.java:3)



Jika terjadi kesalahan, maka akan terjadi kejadian berikut: • Secara otomatis akan dilempar sebuah object yang disebut dengan exception. • Exception dapat diproses lebih lanjut oleh fungsi-fungsi yang siap menangani menangani kesalahan kesalahan. • Proses pelemparan exception disebut dengan throwing exception. • Proses penerimaan exception disebut dengan cath exception. Contoh berikut ini menunjukkan kejadian error yang merupakan cara lama, yaitu loading loading file from the disk. int status = loadTexfile(); If (status != 1) { If (status != 1) { // something unusual happened, describe it switch (status) { case 2: // file not found break; case 3: //disk error break; case 4: case 4: //file corrupted break; default: // other error } } else { // file loaded OK, continue with program



167



KB 4, PBO Dalam Perancangan Aplikasi/Sistem Infomasi



Modul 2, Rekayasa Perangkat Lunak



}



Contoh programnya adalah. Fungsi bacaFile BukaFile BacaBarisFileSampaiHabis TutupFile



Selanjutnya ditambahkan program untuk pengecekan berhasil tidaknya pembacaan file, Fungsi bacaFile BukaFile Jika Gagal Buka File Lakukan Sesuatu Jika Berhasil Buka File BacaBarisFileSampaiHabis TutupFile



Keterangan • Bagaimana bila ditambahkan program untuk pengecekan terhadap status pembacaan file? • Bagaimana bila ditambahkan program untuk pengecekan terhadap status penutupan file? • Maka pgroram akan menjadi sangat panjang dan banyak terdapat nested ifelse. Solusi menangani kejadian di atas adalah dengan menggunakan exception Bentuk: try { ……… } catch (ExceptionType x) { ……… }



Keterangan: • Blok try digunakan digunakan untuk menempatkan menempatkan kode-kode program java yang mengandung kode program yang mungkin melemparkan exception. • Blok catch digunakan untuk menempatkan kode-kode program java yang digunakan untuk menangani sebuah exception tertentu. Berikut ini contoh implementasintya, try { KB 4, PBO Dalam Perancangan Aplikasi/Sistem Infomasi



168



Modul 2, Rekayasa Perangkat Lunak



Fungsi bacaFile BukaFile BacaBarisFileSampaiHabis TutupFile } catch (KesalahanBukaFile) { // lakukan sesuatu }



Try Dengan Banyak Catch Try dengan banyak catch dapat digunakan beberapa blok catch untuk satu blok try. Exception dalam satu program bisa mengatasi banyak exception. Contoh implementasi: Misal dalam satu blok try terdapat kemungkinan terjadi: NullPointerException IndexOutOfBoundsException ArithmeticException Implementasi 1 try { ……… } catch (ExceptionType1 x1{ ……….. } catch (ExceptionType2 x2{ ……… }



Implementasi 2 try { Fungsi bacaFile BukaFile BacaBarisFileSampaiHabis TutupFile } catch (KesalahanBukaFile) { // lakukan sesuatu } catch (KesalahanAlokasiMemori) { // lakukan sesuatu } catch (KesalahanTutupFile) { // lakukan sesuatu



}



169



KB 4, PBO Dalam Perancangan Aplikasi/Sistem Infomasi



Modul 2, Rekayasa Perangkat Lunak



Checked/Unchecked Exceptions Checked/unchecked exceptions terdiri atas beberapa jenis, yaitu: • Exception bisa checked atau unchecked - Checked = dicek oleh the compiler • Checked exception hanya dapat ditangani dalam try block atau method yang didesain didesain untuk melempar melempar exception. • Compiler akan memberitahu jika checked exception tidak ditangani secara tepat Contoh : IOException. • Unchecked exception tidak memerlukan penanganan langsung . Pada saat dicompile tidak ada pemberitahuan kesalahan. Contoh : RunTimeException dan turunannya Melempar Exception ‐ Throw Java memperbolehkan untuk melempar exception (generate exception) throw ; Exception yang dilempar adalah sebuah object exception (object exception yang sudah disediakan oleh java atau yang di create sendiri) • Contoh: throw new ArithmeticException(“testing...”) Contoh,



Mendefinisikan method yang menghasilkan exception:



KB 4, PBO Dalam Perancangan Aplikasi/Sistem Infomasi



170



Modul 2, Rekayasa Perangkat Lunak



• Dilakukan bila method tidak ingin menangani exception sendiri. • Method tertentu dalam program mungkin akan menghasilkan error yang tidak dikenali secara otomatis oleh Java Virtual Machine. • Berlaku bagi kategori exception yang bukan subclass dari RunTimeException. Contoh: EOFException, MallformedURLException • Dengan cara membuat method yang dapat melempar exception. • Sintaks () Throws {



}



Contoh method yang mendefinisikan exception Class methodKu{ public Image loadImage(String s) throws EOFException, MalformedURLException { If(kondisierroryangterjadi) throw new EOFException() } }



Exception Propagation Exception dapat ditangani pada tingkat yang lebih tinggi, jika di tempat terjadinya terjadinya exception exception tidak ditangani ditangani secara tepat.



171



KB 4, PBO Dalam Perancangan Aplikasi/Sistem Infomasi



Modul 2, Rekayasa Perangkat Lunak



Exception merambat naik (propagate up) melalui method calling hierarchy sampai exception ditangkap atau sampai mencapai level method main. void method1 throws IOException { throw new IOException("Error in method1"); } void method2 throws IOException { // do stuff, but no catch, just specify method1(); } void method3 throws IOException { // do stuff, but no catch, just specify method2(); } public static void main (String args[]){ // catch if just specify error to console try { method3(); } catch (IOException e){ // handle the exception from method1 } }



Object Exception Object exception yang dihasilkan dihasilkan dapat dimanfaatkan untuk mengetahui lebih lanjut mengenai error atau exception yang terjadi. Exception merupakan subclass dari class Throwable. Berikut ini merupakan method yang diwarisi oleh exception: • getMessage() Method ini mengembalikan mengembalikan isi pesan untuk menggambarkan menggambarkan exception yang terjadi • printStackTrace() Method ini menampilkan menampilkan pesan error dan stack trace ke standard standard error output stream yang biasanya merupakan konsol window apabila program merupakan program konsol. • printStackTrace(PrintStreams) Method ini mengembalikan pesan error ke objek PrintStream yang dijadikan parameter. Apabila ingin menampilkan pesan ke konsol, anda dapat menggunakan ystem.out sebagai parameter. Overriding Method dan Exception Overriding method hanya boleh melempar exception yang merupakan subclass dari exeption yang dilempar oleh overriden method atau sama. Overriding KB 4, PBO Dalam Perancangan Aplikasi/Sistem Infomasi



172



Modul 2, Rekayasa Perangkat Lunak



method boleh mendeklarasikan exception lebih sedikit dari jumlah exception kepunyaan overridden method kepunyaan overridden method. Catatan; • Overriding method =method yang mengoveride. • Overridden method = method yang dioveride. Berikut ini adalah contoh methode overriding



• Class TestB1 → ok karena ArithmeticException merupakan subclass dari RuntimeException. • Class TestB2 → error karena Exception merupakan superclass dari RuntimeException.



173



KB 4, PBO Dalam Perancangan Aplikasi/Sistem Infomasi



Modul 2, Rekayasa Perangkat Lunak



• Class



TestMultiB1







ok



karena



FileNotFoundException



dan



UTFDDataFormatException merupa kan subclass dan IOException • Arithmetic Exception merupakan subclass dari RuntimeException.



c. Koneksi Database Server Melalui Client-Server Klien-server atau client-server merupakan



sebuah



paradigma



dalam



teknologi informasi yang merujuk kepada cara untuk mendistribusikan aplikasi ke dalam dua pihak: pihak klien dan pihak server. Dalam model klien/server, sebuah aplikasi dibagi menjadi dua bagian yang terpisah, tetapi masih merupakan sebuah kesatuan yakni komponen klien dan komponen server. Komponen klien juga sering disebut sebagai front-end, sementara komponen server disebut sebagai back-end. Komponen klien dari aplikasi tersebut dijalankan dalam sebuah workstation dan menerima masukan data dari pengguna. Komponen klien tersebut akan menyiapkan data yang dimasukkan oleh pengguna dengan menggunakan teknologi pemrosesan tertentu dan mengirimkannya kepada komponen server yang dijalankan di atas mesin server, umumnya dalam bentuk request terhadap beberapa layanan yang dimiliki oleh server. Komponen server akan menerima request dari klien, dan langsung memprosesnya dan mengembalikan hasil pemrosesan tersebut kepada klien. Klien pun menerima informasi hasil pemrosesan data yang dilakukan server dan menampilkannya kepada pengguna, dengan menggunakan aplikasi yang berinteraksi dengan pengguna. Sebuah contoh dari aplikasi client/server sederhana adalah aplikasi web yang didesain dengan menggunakan Active Server Pages (ASP) atau PHP. Script PHP atau ASP akan dijalankan di dalam web server (Apache atau Internet Information Services), sementara skrip yang berjalan di pihak klien akan dijalankan oleh web browser pada komputer klien. Klien-server merupakan penyelesaian masalah pada software yang menggunakan database sehingga setiap komputer tidak perlu diinstall database, dengan metode klien-server database dapat diinstal pada suatu komputer sebagai server dan aplikasinya diinstal pada client. Dengan menggunakan client server database hanya dapat diakses oleh komputer server, KB 4, PBO Dalam Perancangan Aplikasi/Sistem Infomasi



174



Modul 2, Rekayasa Perangkat Lunak



dimana komputer tersebut hanya dapat diakses oleh admin dari database tersebut. Didalam tutorial database mysql ini saya menggunakan MySQL sebagai databasenya. Untuk lebih jelasnya berikut fungsi dari client server itu sendiri. Dalam konteks basis data, client mengatur interface berfungsi sebagai workstation tempat menjalankan aplikasi basis data. Client menerima permintaan pemakai, memeriksa sintaks dan generate kebutuhan basis data dalam SQL atau bahasa yang lain. Kemudian meneruskan pesan ke server, menunggu response dan bentuk response untuk pemakai akhir. Server menerima dan memproses permintaan basis data kemudian mengembalikan hasil ke client. Proses-proses ini melibatkan pemeriksaan autorisasi, jaminan integritas, pemeliharaan data dictionary dan mengerjakan query serta proses update. Selain itu juga menyediakan kontrol terhadap concurrency dan recovery. Beberapa keuntungan menggunakan Client Server sebagai koneksi database, berikut keuntungannya : •



Memungkinkan akses basis data yang besar







Aplikasi menyelesaikan bagian operasi pada client dan mengirimkan hanya bagian yang dibutuhkan untuk akses basis data melewati jaringan, menghasilkan data yang sedikit yang akan dikirim melewati jaringan.







Jika client dan server diletakkan pada komputer yang berbeda kemudian CPU yang berbeda dapat memproses aplikasi secara paralel. Hal ini mempermudah merubah mesin server jika hanya memproses basis data.







Server dapat menangani pemeriksaan integrity sehingga batasan perlu didefinisikan dan validasi hanya di satu tempat, aplikasi program mengerjakan pemeriksaan sendiri.







Biaya untuk hardware dapat dikurangi







Hanya server yang membutuhkan storage dan kekuatan proses yang cukup untuk menyimpan dan mengatur basis data







Menaikkan kinerja







Biaya komunikasi berkurang







Meningkatkan kekonsistenan







Map ke arsitektur open-system dengan sangat alami



175



KB 4, PBO Dalam Perancangan Aplikasi/Sistem Infomasi



Modul 2, Rekayasa Perangkat Lunak



Sedangkan fungsi dari masing-masing Client Server Client •



Mengatur user interface







Menerima dan memeriksa sintaks input dari pemakai







Memproses aplikasi







Generate permintaan basis data dan memindahkannya ke server







Memberikan response balik kepada pemakai







Menyediakan akses basis data secara bersamaan







Menyediakan control recovery



Server •



Menerima dan memproses basis data yang diminta dari client







Memeriksa autorisasi







Menjamin tidak terjadi pelanggaran terhadap integrity constraint







Melakukan query/pemrosesan update dan memindahkan response ke client







Memelihara data dictionary



Cara Setting Koneksi Database secara Client Server Untuk lebih jelasnya langsung saja ke tutorialnya sehingga anda akan mudah mengerti dari pada penjelasan diatas. Maksudnya client-server adalah databasenya di komputer server dan programnya di client. Dalam pembuatan database dibutuhkan suatu software yang bisa menjalankan MySQL dan Apache. Pada contoh ini aplikasi yang digunakan adalah XAMPP versi 1.8. 1.



Download terlebih dahulu Xampp



2.



Install dan jalankan Xampp dan jalankan Apche dan Mysql.



KB 4, PBO Dalam Perancangan Aplikasi/Sistem Infomasi



176



Modul 2, Rekayasa Perangkat Lunak



Gambar 4.35. Tampilan utama XAMP control panel 3. Setalah itu buka browser dan ketikan localhost/phpmyadmin/ klik database yang ingin diakses client.



Gambar 4.36. Tampilan phpyadmin 4. Klik Privileges, lalu klik Add user 5. Kemudian isi seperi gambar di bawah ini,



Gambar 4.37. Tampilan menu Privileges 177



KB 4, PBO Dalam Perancangan Aplikasi/Sistem Infomasi



Modul 2, Rekayasa Perangkat Lunak



6. Kemudi klik GO yang berada di pojok kanan bawah, jika sudah di GO maka akan otomatis user yang ditambahkan masuk ke data user.



Gambar 4.38. Tampilan data user yang telah ditambahkan 7.



Setelah menambah user kembali lagi ke Xamp, buka Xampp Klik Config di bagian Apache dan pilih Apache (httpd-xampp.conf)



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



Kemudian cari pada bagian



KB 4, PBO Dalam Perancangan Aplikasi/Sistem Infomasi



178



Modul 2, Rekayasa Perangkat Lunak



Gambar 4.40. Tampilan pada Apache (httpd-xampp.conf) 9.



Ubah pada bagian Require local dengan script berikut ini :



“^/(?i:(?:xampp|security|licenses|phpmyadmin|webalizer|serverstatus|server-info))”> #Require local order deny,allow deny from all Allow from 192.168.1.1 ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var



Pada bagian Allow from isi dengan alamat IP client yang telah di setting di PC Client. 10. Setelah itu Save. 11. Terakhir pada bagian script kode koneksinya dibuat seperti berikut gambar berikut



Gambar 4.41. Script kode koneksi 179



KB 4, PBO Dalam Perancangan Aplikasi/Sistem Infomasi



Modul 2, Rekayasa Perangkat Lunak



Pada bagian String url = itu di isi alamat ip yang diisi dengan alamat IP yang di tambahkan di localhost. Pada bagian con = DriverManager.getConnection(url, “adi”,”12345″); adi = nama user yang telah ditambahkan di localhost yang telah dibuat tadi 12345 = password yang telah disetting di localhost juga Setelah itu jalankan program dari komputer Client dan sudah selesai. Dan yang terpenting pastikan komputer Client-Server saling terhubung.



d. Desain User Interface User interface (UI) merupakan cara sebuah program dengan pengguna untuk saling berkomunikasi atau bisa dikatakan sebagai segala sesuatu yang dirancang menjadi sebuah perangkat informasi, dimana pengguna dapat melakukan sebuah interaksi dengan sebuah program dengan lebih mudah. Media yang dapat digunakan pengguna untuk berinteraksi dengan program (apliksi atau website) dapat berupa tampilan layar (layout), keyboard, dan mouse. Deborah J. Mayhew, mengemukakan bahwa terdapat 17 prinsip yang harus dipahami para perancang sistem, terutama untuk mendapatkan hasil maksimal dari tampilan yang dibuat, yaitu: • User compatibility, yang bisa berarti kesesuaian tampilan dengan tipikal dari user. karena berbeda user bisa jadi kebutuhan tampilannya berbeda. misalnya, jika aplikasi diperuntukkan bagi anak-anak, maka jangan menggunakan istilah atau tampilan orang dewasa. • Product compatibility, istilah ini mengartikan bahwa produk aplikasi yang dihasilkan juga harus sesuai. memiliki tampilan yang sama/serupa. baik untuk user yang awam maupun yang ahli. • Task compatibility, berarti fungsional dari task/tugas yang ada harus sesuai dengan tampilannya. misal untuk pilihan report, orang akan langsung mengartikan akan ditampilkan laporan. sehingga tampilan yang ada bukanlah tipe data (dari sisi pemrogram). • Work flow compatibility, aplikasi bisa dalam satu tampilan untuk berbagai pekerjaan. • Consistency, contohnya, jika anda menggunakan istilah save yang berarti KB 4, PBO Dalam Perancangan Aplikasi/Sistem Infomasi



180



Modul 2, Rekayasa Perangkat Lunak



simpan, maka gunakan terus istilah tersebut. • Familiarity, icon disket akan lebih familiar jika digunakan untuk perintah menyimpan. • Simplicity, aplikasi harus menyediakan pilihan default yang sederhana untuk suatu pekerjaan. • Direct manipulation, manipulasi secara langsung. misalnya untuk mempertebal huruf, cukup dengan ctrl+B. • Control, berikan kontrol penuh pada user, tipikal user biasanya tidak mau terlalu banyak aturan. • WYSIWYG, What You See Is What You Get, buatlah tampilan mirip seperti kehidupan nyata user. dan pastikan fungsionalitas yang ada berjalan sesuai tujuan. • Flexibility, tool/alat yang bisa digunakan user. jangan hanya terpaku pada keyboard atau mouse saja. • Responsiveness, tampilan yang dibuat harus ada responnya. misal, yang sering dilihat ketika ada tampilan please wait... 68%... • Invisible technology. user tidak penting mengetahui algoritma apa yang digunakan. Contohnya untuk mengurutkan pengguna tidak perlu mengetahui algoritma yang digunakan programmer (max sort, bubble sort, quick sort, dsb) • Robustness, handal. Dapat mengakomodir kesalahan user. jangan malah error, apalagi sampai crash. • Protection, melindungi user dari kesalahan yang umum dilakukan. misalnya dengan memberikan fitur back atau undo. • Ease of learning. aplikasi. mudah dipelajari. • Ease of use, aplikasi harus mudah digunakan 1) Desain Output Output adalah komponen yang paling dapat dilihat dari sistem informasi yang bekerja/berfungsi. Oleh karena itu, output sering menjadi basis penilaian akhir manajemen terhadap kesuksesan sebuah sistem. Salah satu cara untuk menggolongkan output adalah dengan melihat distribusinya apakah ke dalam atau 181



KB 4, PBO Dalam Perancangan Aplikasi/Sistem Infomasi



Modul 2, Rekayasa Perangkat Lunak



ke luar perusahaan, dan orang-orang yang membaca dan menggunakan output. Internal output digunakan untuk para pemilik dan pengguna sistem dalam sebuah perusahaan. Output internal mendukung operasi bisnis sehari-hari atau pengawasan manajemen dan pengambilan keputusan. Tiga jenis output internal adalah sebagai berikut: • Detailed report, menyajikan informasi dengan sedikit atau tanpa dilakukan penyaringan atau pembatasan. Contoh daftar seluruh tagihan pelanggan. • Summary report, berisi informasi dari manajer yang tidak perlu diperlihatkan keseluruhan laporan secara detail. Contoh laporan ringkasan total penjualan dalam hitungan bulanan dan grafik penjualan per-tahun. • Exception report, menyaring data sebelum ditunjukkan kepada manajer sebagai sebuah informasi. Contoh laporan persediaan barang yang hampir habis. Eksternal output bersifat keluar organisasi. Output ini ditujukan kepada konsumen, pemasok, mitra bisnis dan badan pemerintahan. Output eksternal menyimpulkan dan melaporkan transaksi bisnis. Contoh faktur, nota pembelian, jadwal kursus, tiket pesawat, tagihan telepon dan lain sebagainya. Turnaround output adalah output eksternal yang akhirnya masuk kembali ke dalam sistem sebagai input. Contoh tagihan telepon yang hasil pembayaran pelanggan menjadi inputnya. Berikut adalah hal-hal penting untuk mendesain output:







Output dari komputer harus mudah dibaca dan diinterpretasikan : -



Setiap output harus memiliki judul



-



Setiap output harus diperbaharui dan diberi tanggal



-



Laporan dan layar (screen) harus memiliki bab dan sub bab pada masingmasing segmen informasinya.



-



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



-



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



-



Karena judul bab, field name dan judul kolom sering mengalami penyingkatan untuk menghemat tempat, maka laporan harus menyediakan akses untuk melihat dan menginterpretasikan singkatan tersebut.



KB 4, PBO Dalam Perancangan Aplikasi/Sistem Infomasi



182



Modul 2, Rekayasa Perangkat Lunak



-



Hanya informasi yangdibutuhkan saja yang dicetak atau ditampilkan.



-



Agar informasi tersebut dapat digunakan, maka informasi tidak boleh diubah secara manual



-



Informasi harus tampak seimbang pada laporan atau tampilannya, jangan terlalu penuh atau tersebar.



-



Para pengguna harus dapat dengan mudah menemukan output tersebut



-



Jargon komputer dan pesan error harus diabaikan dari semua output







Timing output komputer penting untuk diperhatikan







Distribusi atau akses ke output komputer harus mencukupi untuk membantu seluruh pengguna sistem yang relevan.







Output komputer harus mudah diterima oleh pengguna sistem yang akan menerima output.



2) Proses Desain Output Langkah-langkah atau proses desain output adalah: a) Mengidentifikasi output sistem dan meninjau persyaratan logis b) Menentukan persyaratan output fisik Setelah memastikan bahwa tipe laporan dari output dipahami dan bagaimana output akan digunakan, maka perlu menekankan beberapa hal yang terkait dengan masalah desain:



-



Metode implementasi yang mana yang terbaik untuk melayani output tersebut? Keputusan-keputusan di bawah ini dutuhkan untuk pengguna sistem: •



Format apa yang paling cocok untuk laporan tersebut? tabel? zone? grafik? atau gabungan?







Jika dibutuhkan printout, anda harus menentukan tipe form atau kertas yang akan digunakan.







Pada screen output, anda harus mengetahui batasan peralatan display pengguna.







183



Form image dapat disimpan dan dicetak dengan printer laser modern



KB 4, PBO Dalam Perancangan Aplikasi/Sistem Infomasi



Modul 2, Rekayasa Perangkat Lunak



-



Seberapa sering output dihasilkan? Sesuai permintaan? Per jam? Harian? Bulanan? Untuk output yang sudah terjadwal, kapan pengguna sistem membutuhkan laporan?



-



Berapa buah halaman atau lembar dari output yang akan dihasilkan untuk salinan tunggal dari printed output?



-



Apakah output membutuhkan banyak salinan? Jika ya, berapa banyak? Untuk output yang sudah tercetak, apakah kontrol distribusi sudah terselesaikan? Untuk output online, kontrol akses harus ditetapkan.



c) Mendesain semua preprinted form. Dokumen eksternal dan turnaround dipisahkan untuk pertimbangan tertentu karena mereka berisi informasi yang dinilai konstan dan belum tercetak (preprinted). d) Mendesain, memvalidasi dan menguji output. Format atau layout sebuah output secara langsung berpengaruh pada kemudahan pengguna untuk membaca dan menerjemahkannya. Cara paling baik untuk menyusun format tersebut adalah dengan membuat sketsa atau dengan membuat contoh dari dokumen atau laporan. 3) Desain Input Untuk menginput data ke dalam komputer, analis sistem harus mendesain dokumen sumber, screen input dan metode serta prosedur untuk memasukkan data ke dalam komputer (dari konsumen ke form ke staf entry data ke komputer). •



Data caputre adalah identifikasi dan penambahan data baru.







Source document adalah form yang digunakan untuk menyimpan transaksi perusahaan, khususnya data-data yang ada pada transaksi tersebut.







Data entry adalah suatu proses translasi source data atau dokumen ke dalam format yang mudah dibaca oleh computer. Ketika komputasi onlikne menjadi kian umum, maka tanggung jawab data entry sekarang beralih langsung kepada pengguna sistem.



Masalah Pengguna Sistem pada Desain Input Input berasal dari sistem, maka human factor memainkan peranan yang KB 4, PBO Dalam Perancangan Aplikasi/Sistem Infomasi



184



Modul 2, Rekayasa Perangkat Lunak



sangat penting dalam desain input. Input harus dibuat sesederhana mungkin dan didesain untuk mengurangi kemungkinana kesalahan pemasukan data. Kebutuhan pengguna sistem harus dipertimbangkan. Jumlah data yang dimasukkan harus seminimal mungkin, semakin banyak data yang dimasukkan, semakin besar potensi kesalahan input dan makin lama juga waktu yang diperlukan untuk menginput data. Jadi, ada berbagai pertimbangan yang perlu dilakukan pada data yang akan di capture sebagai input. Berikut ini prinsip-prinsip desain input yang harus diikuti: • Dapatkan hanya data variabel, jangan memasukkan data konstan. Misalnya pada input sales order, maka dibutuhkan part numbner dari seluruh bagian yang akan dipesan, tetapi tidak perlu menginput part descriptions untuk bagian-bagian tersebut. •



Jangan meng-capture data yang dapat dikalkulasi atau dihitung dengan menggunakan program komputer.



• Gunakan kode untuk atribut yang tepat. Jika source document digunakan untuk menangkap data, maka dokumen tersebut harus mudah digunakan oleh pengguna sistem untuk dilengkapi dan kemudian dimasukkan ke dalam sistem. Beberapa pertimbangandi bawah ini dapat membantu : • Masukkan perintah untuk melengkapi form. Ingat bahwa orang tidak suka jika harus membaca perintah yang dicetak dibalik form. • Minimalkan jumlah tulisan tangan. Banyaknya orang yang tidak mempunyai kemampuan menulis indah. Petugas data entry dapat salah membaca data lalu salah memasukkan data tersabut. • Data yang akan dimasukkan harus diurutkan terlebih dahulu sehingg dapat dibaca dari atas ke bawah dan dari kiri ke kanan. • Jika memungkinkan gunakan desain yang berbasis metapora (input yang mirip dengan kertas) yang sudah dikenal. 4) Kontrol Internal – Data Editing untuk Input Kontrol internal merupakan persyaratan yang ada di seluruh sistem berbasis



185



KB 4, PBO Dalam Perancangan Aplikasi/Sistem Infomasi



Modul 2, Rekayasa Perangkat Lunak



computer. Kontrol input internal menjamin input data pada komputer tersebut akurat dan bahwa sistem tersebut aman terhadap suatu kesalahan incidental dan penyalahgunaan. Di bawah ini petunjuk control internal yang dianjurkan : • Jumlah input harus diawasi. • Perhatian juga harus diberikan untuk memastikan bahwa data tersebut valid. Terdapat dua tipe kesalahan yang dapat terjadi pada data: kesalahan data entry dan penyimpanan data invalid oleh pengguna sistem. Kesalahan pemasukan data terdiri dari kesalahan meng-copy, pemindahan posisi (mengetik 123 dengan 123) dan penyelipan (keying 345.36 menjadi 3453.6). 5) Proses Desain Input Langkah-langkahnya adalah sebagai berikut: •



Mengidentifikasi input sistem dan memberikan persyaratan logika







Memilih control GUI yang sesuai







Mendesain, memvalidasi dan mengetes input dengan menggunakan beberapa kombinasi dari : Peralatan layout dan Prototyping peralatan.







Jika perlu, mendesain source document



6) Desain Antar Muka Pada desain antarmuka, audiens adalah system user. System user dapat diklasifikasikan secara luas baik sebagai pakar atau orang baru dan baik secara terikat dan tidak terikat. Expert user (dedicated user) adalah pengguna komputer yang berpengalaman yang banyak menghabiskan waktunya untuk menggunakan program aplikasi khusus. Expert user umumnya terbiasa dengan (tetapi tidak perlu ahli dalam) lingkungan operasi aplikasi. Mereka telah menghabiskan waktu untuk belajar menggunakan komputer. Mereka akan menginvestasikan waktu untuk menguasai antarmuka pengguna yang kurang user-friendly. Umumnya, mereka telah hapal operasi rutin dan tingkat di atasnya sehingga tidak memerlukan atau menginginkan feedback atau perintah dari komputer. Mereka ingin dapat mengerjakan tugas mereka dengan tindakan dan keystroke seminimal mungkin. Novice user (casual user) adalah pengguna komputer yang pengalamannya lebih sedikit yang biasanya menggunakan komputer pada frekuensi sedikit atau bahkan pada saat-saat tertentu saja. Boleh dikatakan, novice user membutuhkan KB 4, PBO Dalam Perancangan Aplikasi/Sistem Infomasi



186



Modul 2, Rekayasa Perangkat Lunak



lebih banyak bantuan daripada expert user. Bantuan dapat berupa beberapa bentuk, meliputi menu, dialogue, perintah dan help screen. Kebanyakan sistem yang ada saat ini didesain untuk novice system user, tetapi disesuaikan dengan expert user. Fokusnya adalah user friendlines atau human engineering. Ahli desain antarmuka pengguna, Wilbert Galitz, mengemukakan masalahmasalah antarmuka adalah:







Terlalu banyak menggunakan jargon atau akronim komputer







Desain yang tidak jelas atau kurang intuitif







Tidak mampu membedakan antara tindakan pilihan (”Apa yang harus saya lakukan selanjutnya?”)







Pendekatan pemecahan masalah yang tidak konsisten







Ketidakkonsistenan desain. Untuk mengatasi masalah tersebut maka desainer mempertimbangkan hal



berikut ini:







Pahami pengguna anda dan tugas mereka.







Libatkan pengguna pada desain antarmuka







Uji sistem pada pengguna aktual. Setelah dilakukan training awal. Amati tindakan dan kesalahan mereka dan dengarkan komentar dan pertanyaan mereka untuk lebih memahami interaksi mereka dengan antarmuka pengguna.







Lakukan desain interatif. Antarmuka pengguna yang pertama mungkin tidak memuaskan. Gunakan desain antarmuka pengguna yang lain untuk melakukan beberapa iterasi desain dan pengujian. Desain antarmuka akan berakhir jika 95% pengguna khusus dapat melakukan tugas yang diharapkan tanpa kesulitan atau bantuan.



7) Petunjuk Human Engineering Dengan tipe pengguna seperti yang telah dijelaskan diatas, beberapa faktor human engineering penting harus digabungkan pada desain: a)



Pengguna sistem harus selalu menyadari apa yang harus dilakukan selanjutnya.



187



KB 4, PBO Dalam Perancangan Aplikasi/Sistem Infomasi



Modul 2, Rekayasa Perangkat Lunak



Sistem harus selalu memberikan perintah tentang bagaimana cara maju, mundur, keluar dan lain-lain. Beberapa situasi membutuhkan tipe feedback: -



Katakan pada pengguna apa yang sekarang diharapkan oleh sistem. Hal ini dapat dilakukan dalam bentuk pesan sederhana. Contoh “Pilih salah satu”.



-



Katakan pada pengguna bahwa data sudah dimasukkan dengan benar. Hal ini dapat dilakukan sesederhana mungkin, seperti menggerakan kursor ke field selanjutnya atau menampilkan sebuah pesan seperti “Data OK”. C



-



Katakan pada pengguna bahwa data belum dimasukkan dengan benar. Gunakan pesan pendek dan sederhana untuk memberikan pesan tentang kebenaran format.



-



Jelaskan kepada pengguna penyebab penundaan yang terjadi dalam pemrosesan. Contoh pada saat melakukan pencetakan, pengurutan dan sebagainya.



-



Katakan kepada pengguna bahwa tugas telah diselesaikan atau belum diselesaikan. Pesan seperti ”Printing not ready” dan sebagainya.



b) Screen harus diformat sehingga bermacam-macam tipe informasi, perintah dan pesan selalu muncul pada area tampilan umum yang sama. c)



Pesan, perintah atau informasi harus ditampilkan dengan cukup panjang (secukupnya) sehingga pengguna sistem dapat membacanya.



d) Gunakan atribut tampilan dengan hemat. Atribut seperti blinking, higlighting dapat membingungkan jika terlalu banyak. e)



Nilai yang salah pada field dan jawaban yang harus dimasukkan oleh pengguna harus ditentukan.



f)



Antisipasi kesalahan yang dapat dibuat oleh pengguna. Contoh “data akan dihapus?”



g) Berkenaan dengan error, pengguna seharusnya tidak diperkenankan untuk meneruskan langkah sebelum memperbaiki error tersebut. h) Jika pengguna melakukan sesuatu yang dapat menimbulkan akibat yang parah, maka keyboard harus dikunci untuk mencegah semua input lain, dan perintah KB 4, PBO Dalam Perancangan Aplikasi/Sistem Infomasi



188



Modul 2, Rekayasa Perangkat Lunak



untuk memanggil analis atau technical support harus ditampilkan.



8) Tone dan Terminologi pada Dialogue Keseluruhan aliran screen dan pesan disebut dialogue. Gunakan kalimat yang sederhana dan benar secara gramatikal, jangan membuat sesuatu yang lucu atau manis dan jangan rendah diri, jangan menghina kecerdasan pengguna sistem. Berkenaan dengan terminologi yang digunakan pada dialogue komputer, sebaiknya: •



Jangan menggunakan jargon komputer







Hindari penggunaan singkatan. Jika menggunakan singkatan, maka dianggap bahwa pengguna telah paham bagaimana menerjemahkannya.







Gunakan istilah yang sederhana







Penggunaan terminologi harus konsisten







Berhati-hati mengungkapkan perintah – gunakan kata kerja tindakan yang tepat.



9) Pertimbangan khusus untuk desain antarmuka pengguna Selain membangun sytle antarmuka pengguna, ada beberapa pertimbangan khusus bagi desain antarmuka pengguna. Bagaimana pengguna akan dikenali dan diautentikasi untuk menggunakan sistem tersebut? Adakah beberapa pertimbangan keamanan atau privasi yang akan diberikan dalam antarmuka pengguna? Akhirnya bagaiamana pengguna akan mendapatkan pertolongan melalui antarmuka pengguna? 10)



Internal control – autentikasi dan autorisasi Pada sebagian besar lingkungan, pengguna harus diautentikasi dan



diautorisasi oleh sistem sebelum mereka diizinkan melakukan beberapa tindakan tertentu. Dengan kata lain, pengguna sistem harus ”log into” ke dalam sistem. Sebagian besar log-in membutuhkan User ID dan Password. Terdapat beberapa model untuk membuka dan mengatur sebuah hak istimewa. Satu petunjuk penting adalah menentukan hak istimewa untuk peran/role, bukan untuk individu. Untuk masing-masing peran, perlu ditetapkan hak-hak 189



KB 4, PBO Dalam Perancangan Aplikasi/Sistem Infomasi



Modul 2, Rekayasa Perangkat Lunak



istimewa khusus yang akan diberikan kepada peran. Hak istimewa tersebut meliputi iin untuk membaca tabel atau view tertentu; izin membuat, mengubah atau menghapus record pada tabel atau view khusus dan sebagainya. View pengguna yang berbeda-beda dapat digunakan untuk mengkustomisasi antarmuka pengguna untuk kategori pengguna yang berbeda-beda. Misalnya cukup mudah untuk ”ghost” (mengubah font dari hitam ke abu-abu) dan men-disable opsi menu dan dialogue box yang dilarang untuk beberapa kelompok pengguna sistem. Online Help. Orang menginginkan akses langsung dan segera ke context sensitive help, yakni help yang cukup pintar untuk menggambarkan apa yang dapat mereka lakukan. Help system yang lengkap meliputi daftar isi, berbagai perintah, contoh dan sebuah index yang rinci. Help wizards memandu pengguna melalui proses yang kompleks dengan cara menampilkan sebuah urutan dialogue box yang membutuhkan input dari user dan feedback dari sistem. Perhatikan hal-hal berikut: •



Sebagai help wizards tipikal, dialogue baisanya memasukkan serangkaian perintah atau pertanyaan untuk mendapatkan respons pengguna. • Wizard berisi penjelasan untuk membantu pemahaman pengguna dan pengambilan keputusan.







Wizard juga menyediakan sebuah tombol untuk meminta help yang lebih detail guna menyelesaikan tugas.







Tombol ”Next” menganjurkan langkah tambahan atau lanjutan untuk didukung oleh help wizard (tombol ”Next” biasanya diubah menjadi ”Finish” setelah serangkaian dialogue box selesai).



e. Model View Controller (MVC) Model View Controller atau MVC adalah sebuah metode untuk membuat sebuah aplikasi dengan memisahkan data (Model) dari tampilan (View) dan cara bagaimana



memprosesnya



(Controller).



Dalam



implementasinya



kebanyakan framework dalam aplikasi dan website adalah berbasis MVC. MVC memisahkan pengembangan aplikasi berdasarkan komponen utama yang membangun sebuah aplikasi seperti manipulasi data, antarmuka pengguna, dan KB 4, PBO Dalam Perancangan Aplikasi/Sistem Infomasi



190



Modul 2, Rekayasa Perangkat Lunak



bagian yang menjadi kontrol dalam sebuah aplikasi web. Komponen MVC, terdiri atas: 1) Model, model mewakili struktur data. Biasanya model berisi fungsi-fungsi yang membantu seseorang dalam pengelolaan basis data seperti memasukkan data ke basis data, pembaruan data dan lain-lain. 2) Viewers, viewers adalah bagian yang mengatur tampilan ke pengguna. Bisa dikatakan berupa halaman web. 3) Controller, controller merupakan bagian yang menjembatani model dan view. Controller berisi perintah-perintah yang berfungsi untuk memproses suatu data dan mengirimkannya ke halaman web.



Gambar 4.42. Komponen MVC Jenis-jenis MVC Setidaknya terdapat tiga jenis MVC, yaitu: •



Server Side MVC, Server Side MVC biasa terjadi pada aplikasi web tradisional, yang tidak melibatkan client side seperti Javascript, Java applet, Flash, dan lain-lain. Server Side MVC menyerahkan keseluruhan proses bisnis pada server, aplikasi pada sisi pengguna hanya dapat menerima. MVC jenis ini kadang-kadang disebut juga dengan nama Thin Client.



191



KB 4, PBO Dalam Perancangan Aplikasi/Sistem Infomasi



Modul 2, Rekayasa Perangkat Lunak







Mixed Client Side and Server Side MVC, Pada Mixed Client Side and Server Side MVC 1 client tidak menggunakan model sebagai jembatan untuk melakukan komunikasi pada server, dibandingkan dengan Server Side MVC, arsitektur ini memiliki tingkat kompleksitas yang lebih tinggi karena lebih banyak komponen yang terlibat. Untuk selanjutnya arsitektur ini disebut, dengan Mixed MVC 1. Pada Mixed Client Side and Server Side MVC 2, client menggunakan model sebagai jembatan untuk melakukan komunikasi pada server, dibandingkan dengan arsitektur MVC yang lain, arsitektur ini memiliki tingkat kompleksitas yang paling tinggi karena lebih banyak komponen yang terlibat, sehingga membutuhkan sumber daya yang lebih besar pula. Untuk selanjutnya arsitektur ini disebut dengan Mixed MVC 2.







Rich Internet Application MVC, Application MVC Rich Internet Application (RIA) disebut juga dengan nama Fat Client, merupakan aplikasi web yang memiliki kemampuan dan fungsi hampir seperti aplikasi desktop. RIA pada sisi client, memiliki mesin untuk mengambil data yang berada pada server, sehingga pada client terdapat bagian MVC sendiri dan hanya membutuhkan bagian model pada sisi server. Sebagian besar framework telah menggunakan konsep MVC. Untuk



framework PHP, ada cukup banyak dan hampir semuanya menggunakan konsep MVC, yaitu Laravel, Symfony, CakePHP, Zend, Codeigniter (versi 3 kebawah sudah tidak recommended untuk dipelajari dan lain-lain. Untuk framework Python di antaranya: Django, Turbogears2, Watson-Framework. Untuk framework Nodejs di antaranya: Express, Adonis, Sails.js, Total.js, Mean.js, Mojito dan lain-lain.



Contoh Kasus Ketika pengunjung memasuki perpustakaan kemungkinan akan diminta untuk mengisi buku tamu. Kebetulan buku tamu di perpustakaan yang dikunjungi menggunakan aplikasi web. Jadi di sana sudah terdapat satu komputer, di mana setiap pengunjung perpustakaan harus melewati dan mengisi datanya melalui komputer tersebut.



KB 4, PBO Dalam Perancangan Aplikasi/Sistem Infomasi



192



Modul 2, Rekayasa Perangkat Lunak



1) Ketika pengunjung melihat layar komputer, di sana ditampilkan form untuk mengisi data diri pengunjung. Dapat disimpulkan bahwa, browser (sebagai client) meminta aksi kepada server (yang ditangani oleh controller) untuk menampilkan halaman form input data. Lalu controller memutuskan dan mengerti bahwasanya ia hanya perlu menampilkan view. Maka controller memanggil dan mengembalikan view (atau halaman) yang diminta. 2) Pengunjung kemudian mengisi data. Lalu menekan tombol submit. Di sini browser (sebagai client) mengirimkan data anda kepada server. Data itu ditangkap oleh controller dan controller tahu apa yang harus dia lakukan. Yaitu memanggil model dan memberi data tersebut untuk kemudian disimpan (oleh model) ke dalam database. Setelah proses penyimpanan selesai, controller memanggil dan mengembalikan view kepada user sebagai informasi bahwa data telah masuk. 3) Jika ada pengunjung baru, maka kembali ke step 1. Dengan menggunakan metode MVC maka aplikasi akan lebih mudah untuk dirawat dan



dikembangkan.



Untuk



memahami



metode



pengembangan



aplikasi



menggunakan MVC diperlukan pengetahuan tentang pemrograman berorientasi objek (Object Oriented Programming). MVC model pada Java



Gambar 4.43. Konsep MVC Pada Java



193



KB 4, PBO Dalam Perancangan Aplikasi/Sistem Infomasi



Modul 2, Rekayasa Perangkat Lunak



Dalam hal koneksi aplikasi ke database, penerapan MVC pada Java ditambahkan dengan pembuatan kelas DAO (Data Access Object), yaitu kelas yang khusus menyediakan operasi Insert, Update, Delete, dan Query ke database. Berdasarkan skema di atas, developer hendaknya membuat 5 buah package, yaitu: view, controller, model, dao, dan database. •



Bagian View merupakan kelas-kelas yang mengimplementasikan user interface dari program yang dibangun. Bagian inilah yang dilihat oleh user dan menjadi media user untuk berinteraksi. Setiap ada request atau aksi yang diminta oleh user yang berhubungan dengan data akan diteruskan ke bagian controller yang sesuai.







Bagian Controller merupakan kelas-kelas yang mengendalikan alur program secara keseluruhan, mengandung business logic, dan sebagai penghubung antara view dengan model dan dao. Kelas ini akan merespon permintaan atau aksi dari view ke kelas dao yang diinginkan.







Bagian Model pada Java menggambarkan struktur data pada database. Bagian ini direpresentasikan oleh POJO (Plain Old Java Object), yaitu kelas Java biasa yang lengkap dengan property (atribut) dan method getter-setter terhadap atribut-atributnya. Biasanya tidak memiliki method lain selain getter-setter. Contoh: Kelas Mahasiswa yang memiliki atribut: nip, nama, jenisKelamin, alamat. Kelas Mahasiswa hanya memiliki method getter-setter yang sesuai dengan atributnya yaitu: getNip, setNip, getNama, setNama, getJenisKelamin, setJenisKelamin, getAlamat, setAlamat.







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



data



yang



terdapat



pada



database.



Manipulasi



bisa



berupa Create, Read, Update, atau Delete (CRUD). Bagian ini terhubung ke Model (karena merupakan representasi data) dan Database (untuk mendapatkan koneksi). •



Bagian Database, berisi kelas yang bertugas untuk membuka koneksi dengan database tertentu dan memberikan objek connection ke kelas dao yang membutuhkan koneksi.



KB 4, PBO Dalam Perancangan Aplikasi/Sistem Infomasi



194



Modul 2, Rekayasa Perangkat Lunak



Contoh Kasus: Aplikasi Daftar Menu Restoran Anda sebagai developer Java diminta membuatkan aplikasi untuk menginputkan daftar menu yang ada pada restoran dan menampilkannya dalam bentuk tabel. Buatlah aplikasi dengan menerapkan konsep MVC! Jawaban: (Diasumsikan bahwa anda telah memahami database MySQL dan koneksinya ke Java, pemakaian Java Swing, pembuatan package, serta penggunaan interface). Berdasarkan kasus tersebut, bisa dirancang file-file kelas dengan package sebagai berikut:



Gambar 4.44. Package aplikasi menu restoran Selanjutnya dirancang diagram kelas sebagai berikut:



195



KB 4, PBO Dalam Perancangan Aplikasi/Sistem Infomasi



Modul 2, Rekayasa Perangkat Lunak



Gambar 4.45. Class diagram aplikasi Hasil running dari program adalah sebagai berikut:



Gambar 4.46. Screen shoot aplikasi



KB 4, PBO Dalam Perancangan Aplikasi/Sistem Infomasi



196



Modul 2, Rekayasa Perangkat Lunak



4. Forum Diskusi a. Seorang arsitek ingin memperkirakan berapa biaya yang diperlukan untuk membangun sebuah rumah. Berikut ini adalah bahan material utama yang dibutuhkan untuk membangun rumah tersebut: -



Pasir



: 500 m3 (harga Rp 120.000/m3)



-



Semen



: 70 sak (harga Rp 90.000/sak)



-



Batu-Bata



: 10.000 buah (harga Rp 500/buah)



-



Kayu kalimantan



: 300 m3 (harga Rp 200.000/m3)



-



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



-



Genting



: 500 buah (harga Rp 2000/buah)



Menurtut Anda program Java untuk menghitung berapa biaya yang diperlukan untuk membangun rumah tersebut, dengan terlebih dahulu merancang class-classnya, serta atribut dan method nya. b. Sebuah mobil akan melakukan perjalanan dari kota A ke kota F. Untuk menuju ke kota F, mobil harus melewati beberapa kota yaitu B, C, D dan E dengan jarak sebagai berikut: Kota A ke B : 45 km Kota B ke C : 51 km Kota C ke D : 38 km Kota D ke E : 104 km Kota E ke F



: 93 km



Jika konsumsi bensin untuk mobil tersebut adalah 1 liter untuk tiap 9 km, maka hitunglah berapa liter yang dibutuhkan mobil untuk: -



Berjalan dari kota A ke F



-



Berjalan dari kota B ke E



-



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



-



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



Diskusikan program Java untuk menjawab persoalan di atas, dengan terlebih dahulu merancang class, atribut dan method nya.



197



KB 4, PBO Dalam Perancangan Aplikasi/Sistem Infomasi



Modul 2, Rekayasa Perangkat Lunak



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. KB 4, PBO Dalam Perancangan Aplikasi/Sistem Infomasi



198



Modul 2, Rekayasa Perangkat Lunak



User interface (UI) merupakan cara sebuah program dengan pengguna untuk saling berkomunikasi atau bisa dikatakan sebagai segala sesuatu yang dirancang menjadi sebuah perangkat informasi, dimana pengguna dapat melakukan sebuah interaksi dengan sebuah program dengan lebih mudah. Media yang dapat digunakan pengguna untuk berinteraksi dengan program (apliksi atau website) dapat berupa tampilan layar (layout), keyboard, dan mouse. Model View Controller atau MVC adalah sebuah metode untuk membuat sebuah aplikasi dengan memisahkan data (Model) dari tampilan (View) dan cara bagaimana



memprosesnya



(Controller).



Dalam



implementasinya



kebanyakan framework dalam aplikasi dan website adalah berbasis MVC. MVC memisahkan pengembangan aplikasi berdasarkan komponen utama yang membangun sebuah aplikasi seperti manipulasi data, antarmuka pengguna, dan bagian yang menjadi kontrol dalam sebuah aplikasi web. 2. Tes Formatif Pilihkah salah satu jawaban yang paling tepat 1.



Fungsi method System.in dalam java adalah… A. Mengirimkan keluaran ke layar B. Menangani pembacaan dari keyboard C. Menampilkan pesan kesalahan D. Menangani suatu objek E. Menampilan class dari suatu objek



2.



Diantara pernyataan berikut, penulisan sintaks BbufferredReader yang benar adalah A. int data =BufferedReader = new BufferedReader(new input Stream Reader(System.in)).Readline( ).intValue( );



B. int data =BufferedReader = new BufferedReader(new InputStreamReader(System.in)).Readline( ).intValue( );



C. int data=(new Integer((new BufferedReader = new BufferedReader(new input Stream Reader(System.in))).readline( )).intValue( ));



199



KB 4, PBO Dalam Perancangan Aplikasi/Sistem Infomasi



Modul 2, Rekayasa Perangkat Lunak



D. int data = (new Integer( (new BufferedReader (new InputStreamReader (System.in))).readLine()).intValue());



E. int data=(new Integer((BufferedReader = new BufferedReader(new input Stream Reader(System.in))).readline( )).intValue( ));



3. Perhatikan penggalan source code dibawah ini if ( grade > 70 ) System.out.println(“Passed”); else System.out.println(“Failed”)



Jika penggalan program diatas diubah dengan menggunakan operator kondisi maka hasilnya akan menjadi… A. System.out.println(?grade>70“Passed”:“Failed”) B. System.out.println(grade>70?“Passed”:“Failed”) C. System.out.println(grade>70:“Passed”?“Failed”) D. System.out.println(grade>70?“Passed”?:“Failed”) E. System.out.println(?grade>70?“Passed”:“Failed”) 4. Yang bukan cara inisialisasi variabel bertipe class string, kecuali: A. String me = new String(“Inisialisasi 1”); B. String me; me = new String “inisialisasi 1” ;



C. String me; me = new String(“inisialisasi 1”);



D. String me; me = “inisialisasi 1”;



E. String me; me = “inisialisasi 1”;



5.



Keyword ini digunakan dalam suatu blok program. Ketword ini digunakan untuk mencoba menjalankan blok program kemudian mengenal dimana muncunya kesalahan yang ingin diproses. A.



Catch



B.



Throw



C.



Finally



KB 4, PBO Dalam Perancangan Aplikasi/Sistem Infomasi



200



Modul 2, Rekayasa Perangkat Lunak



6.



D.



Method



E.



Try



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.



C.



D.



201



$ javac DemoSatu.java $ java DemoSatu awal program Exception in thread "main" java.lang.NullPointerException: / by zero at DemoSatu.main(DemoSatu.java:7) $ javac DemoSatu.java $ java DemoSatu awal program Exception in thread "main" java.lang.LogicalException: / by zero at DemoSatu.main(DemoSatu.java:7) $ javac DemoSatu.java $ java DemoSatu awal program



KB 4, PBO Dalam Perancangan Aplikasi/Sistem Infomasi



Modul 2, Rekayasa Perangkat Lunak



Exception in thread "main" java.lang.SecurityException: / by zero at DemoSatu.main(DemoSatu.java:7) $ javac DemoSatu.java $ java DemoSatu awal program Exception in thread "main" java.lang.ArithmeticException: / by zero at DemoSatu.main(DemoSatu.java:7)



E.



8.



Manakah kode yang paling tepat untuk mengatasa error pada soal No. 7 di atas? A. class DemoSatu {



B.



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"); } } class DemoSatu { public static void main (String[] args){ System.out.println("awal program"); int x = 10; try { x = x / 0; catch (Exception e){ e.printStackTrace(); System.out.println("error karena pembagian nol"); } System.out.println(x); System.out.println("akhir program"); } }



C. class DemoSatu { public static void main (String[] args){ System.out.println("awal program"); int x = 10; try { x = x / 0; KB 4, PBO Dalam Perancangan Aplikasi/Sistem Infomasi



202



Modul 2, Rekayasa Perangkat Lunak



{ catch (Exception e){ e.printStackTrace(); System.out.println("error karena pembagian nol"); } System.out.println(x); System.out.println("akhir program"); }



D.



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



203



KB 4, PBO Dalam Perancangan Aplikasi/Sistem Infomasi



Modul 2, Rekayasa Perangkat Lunak



C. Work Flow Compatibility D. Familiarity, E. Direct manipulation 10. Sebuab user interface memungkinkan penguna untuk memiringkan huruf dengan dengan control keyboard Ctrl+i. Kemampuan user interface tersebut dikenal dengan prisnip.... A. User compatibility B. Product compatibility C. Work Flow Compatibility D. Flexibility E. Direct manipulation



DAFTAR PUSTAKA Jubile Enterprise, 2016. Belajar Java, Database dan NetBeans dari Nol, Jakarta: PT Elex Media Komputindo. Loy, Marc, et all, 2003. Java Swing, Second Edition, California: O’Reilly Media. Mayhew, J Deborah, 1992. Software User Interface Design, New Jersey: Prentice Hall. Nofriadi, M.Kom, Java Fundamental Dengan Netbeans 8.0.2 Rusli, Muhammad, dkk, 2016. Belajar Pemrograman Java dengan NerBeans, Sebuah Pengantar, Yogyakarta: Penerbit Andi. Sugiarti, Yuni, S.T., M.Kom, 2018. Dasar-dasar Pemrograman Java NetBeans, Bandung: PT Remaja Rosdakarya. Yener, Muraat & Theedom, Alex, 2015. Professional Java EE Design Patterns, Indianapolis: John Wiley. Yuana, Rosihan Ari, Pemrograman Java, Online di http://blog.rosihan.net Wahana Komputer, 2010. Panduan Belajar MySQL Database Server, Jakarta: Media Kita. http://dinus.ac.id/repository/docs/ajar/IMK10-Desain_User_Interface.pdf http://yuliana.lecturer.pens.ac.id/OOP/Exception%20Handling/T%20%20Exception%20Handling.pdf



KB 4, PBO Dalam Perancangan Aplikasi/Sistem Infomasi



204



Modul 2, Rekayasa Perangkat Lunak



TUGAS AKHIR Buatlah proposal pengembangan Sistem Informasi Perpustakaan di sekolah Anda masing-masing dengan mengikuti format berikut ini, BAB I PENDAHULUAN A. Latar Belakang Uraikan secara deskriptif dan ringkas mengenai latar belakang pengembangan proyek sistem informasi, termasuk peluang yang bisa ditangkap B. Maksud dan Tujuan Jelaskan secara rinci maksud dan tujuan pengembangan proyek sistem informasi. Maksud 1. 2. Tujuan 1. 2. C. Ruang Lingkup Pekerjaan Uraikan secara rinci ruang lingkup pekerjaan yang nantinya akan ditangani, misalnya: 1. Pengembangan 2. Pengumpulan data Deskripsikan sampai sejauh mana tahapan pengumpulan data, misalnya entry data sampai availability data terpenuhi 3. Pemeliharaan 4. Pelatihan BAB II NAMA SISTEM INFORMASI YANG DIUSULKAN A. Latar Belakang



205



KB 4, PBO Dalam Perancangan Aplikasi/Sistem Infomasi



Modul 2, Rekayasa Perangkat Lunak



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 KB 4, PBO Dalam Perancangan Aplikasi/Sistem Infomasi



206



Modul 2, Rekayasa Perangkat Lunak



B. Perancangan Sistem Deskripsikan tahapan-tahapan perancangan sistem yang akan dilakukan Misal: 1. Perancangan data a. DAD Konteks b. DAD Analysis (Penjelasan aliran data setiap proses) c. ERD d. Kamus Data 2. Perancangan proses a. Class Diagram b. Use Case Diagram c. Activity Diagram d. Sequence Diagram e. Collaboration Diagram 3. Perancangan jaringan Jika perlu, buat desain topologi jaringan dengan mengacu gambar lokasi proyek yang dijelaskan dalam RFP. 4. Perancangan interace (antar muka) C. Implementasi Sistem Uraikan tahapan implementasi produk Mencakup bahasa pemrograman, DBMS, pengujian dan/atau teknologi-teknologi pendukung lainnya D. Pelatihan Deskripsikan secara rinci mekanisme, sasaran (misal para operator), dan bentuk pelatihan yang akan diberikan nantinya. E. Pemeliharaan Deskripsikan mekanisme pemeliharaan sistem, termasuk layanan apa saja yang disediakan terkait pemeliharaan sistem, misalnya ada tim khusus untuk troubleshooting, dan sebagainya. F. Rencana Anggaran Biaya



207



KB 4, PBO Dalam Perancangan Aplikasi/Sistem Infomasi



Modul 2, Rekayasa Perangkat Lunak



Buat rencana anggaran biaya yang riil dan responsible. Ingat, tahapan ini juga sangat memengaruhi diterima tidaknya proposal. Jadi, buat rincian perhitungan yang tepat. Bisa dituliskan langsung di sini atau dibuat lampiran khusus (misal dalam format spreadsheet). Contoh RAB (tidak harus sama persis, sesuaikan dengan proyek yang ditangani). 1. Tenaga Ahli No



Posisi



1



Project Manager 2 System Analyst dan Designer 3 Database Administrator 4 Programmer 5 Dokumentator 6 dst Total Biaya



Jumlah



Satuan



Waktu



Satuan



1



Orang



6



Bulan



2



Orang



6



Bulan



1



Orang



6



Bulan



Harga Satuan



Total Biaya



2. Perangkat Keras (Hardware) No



Item



Spesifikasi



1 IBM Zeon 2 dst 3 Total Harga



Jumlah



Satuan



1



Unit



Harga Satuan



Total Harga



3. Perangkat Lunak (Software) No 1



Item Windows Server 2019 Oracle 12c dst



Spesifikasi



Jumlah



Satuan



1



Unit



Harga Satuan



Total Harga



2 3 4 Total Harga



KB 4, PBO Dalam Perancangan Aplikasi/Sistem Infomasi



208



Modul 2, Rekayasa Perangkat Lunak



4. Overhead No 1.



2.



3.



4.



Item



Jumlah



Satuan



Transportasi AnalisisKebutuhan



1



orang



Akomodasi Analisis Kebutuhan



1



orang



Overhead kantor Alat Tulis Kantor (ATK)



1



Paket



Pelatihan Modul pelatihan User guide



10 5



Exp Exp



Harga Satuan



Total Harga



Total Harga 5. Maintenance No



Item



Jumlah



Satuan



Waktu



Satuan



1



Hardware



1



Paket



12



Bulan



2



Software



1



Paket



12



Bulan



Harga Satuan



Total Biaya



Total Biaya



6. Rekapitulasi No Jenis 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



209



Jumlah



KB 4, PBO Dalam Perancangan Aplikasi/Sistem Infomasi



Modul 2, Rekayasa Perangkat Lunak



G. Rencana Pekerjaan Deskripsikan dengan menggunakan WBS (Work Breakdown Structure), baik dalam bentuk inverted tree maupun list format H. Jadwal Pelaksanaan Gambarkan dalam bentuk matriks Contoh: No 1 2 3 4 5 6



Bulan/Minggu Agustus September 2 3 4 1 2 3



Kegiatan



4



Pengajuan Proposal Analisis dan Design Implementasi Debungging & Testing Dokumentasi 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.



KB 4, PBO Dalam Perancangan Aplikasi/Sistem Infomasi



210



Modul 2, Rekayasa Perangkat Lunak



Gambar di atas adalah gambar: A. Deployment diagram B. Collaboration Diagram C. Component Diagram D. Use Case Diagram E. Statement Diagram 3.



4.



Gambar di bawah ini merupakan diagram



A.



Deployment diagram



B.



Activity Diagram



C.



Componen Diagram



D.



Use Case Diagram



E.



Statement Diagram



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



A. Metode Boch 211



KB 4, PBO Dalam Perancangan Aplikasi/Sistem Infomasi



Modul 2, Rekayasa Perangkat Lunak



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



KB 4, PBO Dalam Perancangan Aplikasi/Sistem Infomasi



212



Modul 2, Rekayasa Perangkat Lunak



C. Pendekatan big-bang D. Pendekatan serial E. Pendekatan bisnis serial 9.



Jika seorang pengembang perangkat lunak mendesain sistem software sehingga dapat diubah dengan mudah untuk mengakomodasi perubahan lingkungan bisnis organisasi dan komponen lainnya. Hal ini berarti pengembang tersebut telah memenuhi prinisp berikut ini... A. Invisibolity B. Comformity C. Complexity D. Flexibility E. Dependability



10. Proses utama dalam tahap ini adalah mengarahkan dan mengelola pelaksanaan proyek ke arah penyelesaian, sesuai dokumen perencanaan. A. Monitoring B. Controlling C. Execution D. Initition E. Closing 11. Peganggaran biaya yang menggabungkan estimasi biaya sumber daya yang dibutuhkan, paket pekerjaan dan biaya-biaya kegiatan lainnya sehingga membentuk suatu rencana biaya yang sistematis. Penanganan biaya tersebut termasuk dalam biaya... A. Cost budgeting B. Cost control C. Cost estimating D. Cost planning E. Cost constrution 12. Manakah diantara kegiatan berikut ini yang termasuk dalam tahap execution pada tahapan manajemen proyek? A. Melaksanakan proses pembelian dan pengadaan barang dan jasa 213



KB 4, PBO Dalam Perancangan Aplikasi/Sistem Infomasi



Modul 2, Rekayasa Perangkat Lunak



B. Mempengaruhi faktor-faktor yang bisa menggagalkan kontrol terhadap perubahan,



jadi



hanya



perubahan



yang



disetujui



yang



dapat



diimplementasikan C. Menentukan proses yang baik (quality assurance) dan standar mutu yang disepakati (quality control D. Merinci unit-unit pekerjaan, menentukan urutan pekerjaan, estimasi sumber daya, estimasi durasi, dan finalisasi jadwal proyek E. Memberi masukan kepada manajemen perusahaan terkait hal-hal yang dirasakan bermanfaat selama proyek dijalankan 13.



Salah satu model analisis yang paling baik digunakan untuk melakukan pemilahan terhadap pengembangan sistem informasi dilihat dari tingkat kepentingannya (prioritas) bagi perusahaan, sehingga dapatditentukan sistem mana saja yang harus segera dibangun (jangka pendek), dan sistem manasaja yang dapat dikembangkan di kemudian hari (jangka menengah dan jangka panjang). A. Porter’s Value Chain B. Bussiness Process Mapping, C. BCG Matrix. D. Strategic Distinction Model E. Earned Value Model



14. Perhatikan gambar berikut ini,



Relasi antara himpuna A dan B di atas disebut dengan.... A. Relasi majemuk B. Relasi one to many C. Relasi one to ome KB 4, PBO Dalam Perancangan Aplikasi/Sistem Infomasi



214



Modul 2, Rekayasa Perangkat Lunak



D. Relasi beratribut E. Relasi many to many 15. Merupakan kendala yang membatasi kemungkinan kombinasi entitas yang terlibat dalam relationship instance, disebut… A. Relationship constrains B. Cardinality ratio C. Participation constrains D. Schema type E. Atribut type 16. Saat Anda membuat tabel, kolom bernilai NULL dapat dihindari dengan menggunakan konstrain NOT NULL, kecuali kolom yang dispesifikasikan sebagai primary key akan otomatis bernilai Not Null. Cara yang Anda lakukan merupakan .... A. Integritas entitas B. Integritas domain C. Integritas referensial D. Integritas null E. Integritas record 17.



Contoh yang menunjukkan mengenai Participant Constraint adalah A. Satu MataKuliah mempunyai satu Penanggung Jawab B. Satu suplier dapat menyuplai Banyak Barang C. Satu Barang dapat dibeli dalam beberapa transaksi



18.



D.



Departemen harus mempunyai setidaknya satu Pegawai



E.



Dalam setiap transaksi dapat terdiri dari beberapa barang



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.



215



KB 4, PBO Dalam Perancangan Aplikasi/Sistem Infomasi



Modul 2, Rekayasa Perangkat Lunak



E. Suatu sistem basis data yang menempatkan basis data beserta segala ruang lingkupnya kedalam suatu komputer server tertentu. 19. EMPLOYEE(Name, Age, Salary) COMPANY(Name, Headquarter, President) Dari skema diatas yang termasuk instance adalah…. B. EMPLOYEE C. COMPANY Name D. EMPLOYEE dan COMPANY E. EMPLOYEE Name F. Nama, Age, Salary 20.



Semua atribut selain primary key, secara utuh memiliki functional dependency pada primary key, merupakan ciri dari… A. 1NF B. 2NF C. 3NF D. BCNF E. 4NF



21.



Gaji karyawan biasa tidak boleh lebih besar dari gaji manajer. Pernyataan tersebut merupakan contoh dari… A. Referential integrity B. Semantic integrity constrain C. Key constrains D. Entity integrity E. Integrity constrains



22.



Keseluruhan proses penulisan pada disk master dan slave harus selesai dilakukan terlebih dahulu sebelum beranjak ke transaksi selanjutnya. Pernyataan tersebut merupakan proses.... A. Replikasi synchronous B. Replikasi asynchronous C. Replikasi master slave



KB 4, PBO Dalam Perancangan Aplikasi/Sistem Infomasi



216



Modul 2, Rekayasa Perangkat Lunak



D. Replikasi slave master slave E. Replikasi homogen 23. Fungsi method System.in dalam java adalah… A. Mengirimkan keluaran ke layar B. Menangani pembacaan dari keyboard C. Menampilkan pesan kesalahan D. Menangani suatu objek E. Menampilan class dari suatu objek 24. Perhatikan penggalan source code dibawah ini if ( grade > 70 ) System.out.println(“Passed”); else System.out.println(“Failed”)



Jika penggalan program diatas diubah dengan menggunakan operator kondisi maka hasilnya akan menjadi… A. System.out.println(?grade>70“Passed”:“Failed”) B. System.out.println(grade>70?“Passed”:“Failed”) C. System.out.println(grade>70:“Passed”?“Failed”) D. System.out.println(grade>70?“Passed”?:“Failed”) E. System.out.println(?grade>70?“Passed”:“Failed”) 25. Yang bukan cara inisialisasi variabel bertipe class string, kecuali: A. String me = new String(“Inisialisasi 1”); B. String me; me = new String “inisialisasi 1” ;



C. String me; me = new String(“inisialisasi 1”);



D. String me; me = “inisialisasi 1”;



E. String me; me = “inisialisasi 1”;



26. Kesalahan yang disebabkan oleh tidak tersedianya sumber daya, misalnya kukurangan memory komputer disebut dengan.... 217



KB 4, PBO Dalam Perancangan Aplikasi/Sistem Infomasi



Modul 2, Rekayasa Perangkat Lunak



A. Syntax error B. Hardware failure C. Runtime error D. Logical Error E. Aritmatic error 27. Perhatikan kode berikut ini: class DemoSatu { public static void main (String[] args){ System.out.println("awal program"); int x = 10; x = x / 0; System.out.println(x); System.out.println("akhir program"); } }



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



$ javac DemoSatu.java $ java DemoSatu awal program Exception in thread "main" java.lang. NegativeArraySizeException Exception: / by zero at DemoSatu.main(DemoSatu.java:7)



B.



$ javac DemoSatu.java $ java DemoSatu awal program Exception in thread "main" java.lang.NullPointerException: / by zero at DemoSatu.main(DemoSatu.java:7)



C.



$ javac DemoSatu.java $ java DemoSatu awal program Exception in thread "main" java.lang.LogicalException: / by zero at DemoSatu.main(DemoSatu.java:7)



D.



$ javac DemoSatu.java $ java DemoSatu awal program Exception in thread "main" java.lang.SecurityException: / by zero at DemoSatu.main(DemoSatu.java:7) $ javac DemoSatu.java $ java DemoSatu awal program Exception in thread "main" java.lang.ArithmeticException: / by zero



E.



KB 4, PBO Dalam Perancangan Aplikasi/Sistem Infomasi



218



Modul 2, Rekayasa Perangkat Lunak



at DemoSatu.main(DemoSatu.java:7)



28. Manakah kode yang paling tepat untuk mengatasa error pada soal No. 7 di atas? A. class DemoSatu {



B.



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"); } } class DemoSatu { public static void main (String[] args){ System.out.println("awal program"); int x = 10; try { x = x / 0; catch (Exception e){ e.printStackTrace(); System.out.println("error karena pembagian nol"); } System.out.println(x); System.out.println("akhir program"); } }



C. class DemoSatu { public static void main (String[] args){ System.out.println("awal program"); int x = 10; try { x = x / 0; { catch (Exception e){ e.printStackTrace(); System.out.println("error karena pembagian nol"); } System.out.println(x);



219



KB 4, PBO Dalam Perancangan Aplikasi/Sistem Infomasi



Modul 2, Rekayasa Perangkat Lunak



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



D.



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



KB 4, PBO Dalam Perancangan Aplikasi/Sistem Infomasi



220



Modul 2, Rekayasa Perangkat Lunak



30. Sebuab user interface memungkinkan penguna untuk memiringkan huruf dengan dengan control keyboard Ctrl+i. Kemampuan user interface tersebut dikenal dengan prisnip.... A. User compatibility B. Product compatibility C. Work Flow Compatibility D. Flexibility E. Direct manipulation



KUNCI JAWABN TES FORMATIF KB1 – 4 KUNCI JAWABAN KB 1 1.



D



6. B



2.



E



7. A



3.



A



8. E



4.



D



9. D



5.



B



10. D



KUNCI JAWABAN KB 2 1. C



6. C



2. E



7. A



3. A



8. B



4. B



9. A



5. E



10. D



KUNCI JAWABAN KB 3 1. D



6. B



2. C



7. B



3. B



8. A



4. D



9. C



5. B



10. A



221



KB 4, PBO Dalam Perancangan Aplikasi/Sistem Infomasi



Modul 2, Rekayasa Perangkat Lunak



KEGIATAN BELAJAR 4 1. B



6. C



2. D



7. E



3. B



8. C



4. B



9. A



5. E



10. E



KUNCI JAWABAN TES SUMATIF 1. B



11. E



21. B



2. A



12. D



22. A



3. E



13. D



23. B



4. A



14. B



24. B



5. C



15. A



25. B



6. D



16. B



26. C



7. A



17. D



27. E



8. A



18. B



28. C



9. D



19. D



29. A



10. C



20. B



30. E



KB 4, PBO Dalam Perancangan Aplikasi/Sistem Infomasi



222