Pemodelan Perangkat Lunak Demikian Buku Ini Diharapkan Dapat Menjadi Teman Sekaligus
Pemodelan Perangkat Lunak Demikian Buku Ini Diharapkan Dapat Menjadi Teman Sekaligus
PERANGKAT LUNAK
(C3) KELAS XI
Penulis :
Abdul Munif, S.Pd, SST, M.Kom
Tata letak buku ini menggunakan program Adobe InDesign CS3, Adobe IIustrator CS3, dan Adobe
Photoshop CS3.
Font isi menggunakan Myriad Pro (10 pt)
B5 (17,6 × 25) cm
x + 214 halaman
Puji syukur kami panjatkan ke hadirat Tuhan Yang Maha Esa, yang telah memberikan
anugerah-Nya, sehingga penulis mampu menyelesaikan penulisan buku pembelajaran untuk
SMK/MAK Ini.
Buku ini ditulis sebagai salah satu sumber belajar siswa SMK/MAK kelas XI untuk
mempelajari dan memperdalam materi Pemodelan Perangkat Lunak. Selain itu, buku ini ditulis
secara umum dalam rangka ikut serta mencerdaskan bangsa Indonesia di era perkembangan
ilmu pengetahuan dan teknologi saat ini.
Setiap bab dalam buku ini dilengkapi dengan Kompetensi Dasar, Kata Kunci, Tujuan
Pembelajaran, Peta Konsep, Lembar Kerja Siswa Berbasis STEM, Rangkuman, Uji Kompetensi,
dan Penerapan STEM dan soal HOTS. Pembahasan materi disajikan dengan bahasa yang lugas
dan mudah kita pahami, dari pembahasan secara umum ke pembahasan secara khusus.
Dengan demikian, buku ini diharapkan dapat menjadi teman sekaligus menjadi bacaan
yang menyenangkan bagi Anda untuk mempelajari lebih dalam tentang Pemodelan Perangkat
Lunak menerapkannya dalam kehidupan sehari-hari untuk diri sendiri dan lingkungan.
Akhirnya, semoga buku pelajaran Pemodelan Perangkat Lunak SMK/MAK Kelas XI ini
bermanfaat bagi siswa dan seluruh pembaca dalam memperoleh pengetahuan.
Selamat belajar, semoga sukses.
Penulis
v
Visual requirements versi 1.5).......................................................................................................................................59
Gambar 2.12. Pendefinisian kebutuhan menggunakan RQM pada tools Power designer...................................59
Gambar 2.13. Fungsi dokumen kebutuhan bagi pengguna (user Document requerements)...........................61
Gambar 2.1 ????...........................................................................................................................................................................................75
Gambar 3.2. Tahapan proses pengembangan aplikasi perangkat lunak......................................................................77
Gambar 3.3. Arsitektur Rational Unified Process........................................................................................................................79
Gambar 3.4. Diagram model REAL Proses Bisnis Penjualan.................................................................................................83
Gambar 3.5. Ragam jenis model diagram UML..........................................................................................................................85
Gambar 3.6. tahapan pembuatan model diagram UML.......................................................................................................86
Gambar 3.7. Tahapan Siklus metode ICONIX process..............................................................................................................87
Gambar 3.8. Ragam jenis contoh relasi dalam use case diagram sistem rental mobil............................................93
Gambar 3.9. Realisasi use case yang dijembatani dengan collaboration diagram...................................................93
Gambar 3.10. Use case diagram system ATM..............................................................................................................................93
Gambar 3.11. Pengembangan use case diagram sistem mesin ATM..............................................................................94
Gambar 3.12. contoh Use case diagram sistem perpustakaan...........................................................................................95
Gambar 3.13. Notasi atau simbol komponen activity diagram pada perangkat bantu power designer......95
Gambar 3.14. Activity Diagram untuk proses atau use case Login system ATM.......................................................98
Gambar 3.15. Activity diagram system ATM proses Logout...............................................................................................103
Gambar 3.16. Activity diagram cek saldo....................................................................................................................................104
Gambar 3.17. Activity diagram penarikan uang tunai..........................................................................................................104
Gambar 3.18. Struktur Hirarki Class pada Sistem medis.......................................................................................................105
Gambar 3.19. Implementasi Inheritance......................................................................................................................................106
Gambar 3.20. Urutan langkah Eksekusi program pada pewarisan class......................................................................106
Gambar 3.21. Polimorfisme melalui overiding method infoPegawai()........................................................................107
Gambar 3.22. Contoh analogi class dan object........................................................................................................................108
Gambar 3.23. Model konstruksi rancangan class (enkapsulasi): (a) format rancangan class (b) class person
beserta propertinya (c) Class Animal beserta atribut dan methodnya ............................................109
Gambar 3.24. Implementasi Class Patient, Appointment dan Objectnya...................................................................109
Gambar 3.25. Ilustrasi methode dan message..........................................................................................................................109
Gambar 3.26. Relasi class aggregation antara Komputer dengan komponennya................................................110
Gambar 3.27. Relasi antar class : aggregation, composite dan generalization.........................................................111
Gambar 3.28. Ragam jenis relasi class assosiation...................................................................................................................111
Gambar 3.29. Format penggambaran relasi class association dan navigability.......................................................112
Gambar 3.30. Detail class Company dan Person serta relasinya (association-aggregation dan multiplicity)...
112
Gambar 3.31. Detail Class Car, Engine dan Tire serta relasinya (association-composite dan multiplicity)..113
Gambar 3.32. Penulisan batasan-batasan relasi (constraint) class Bankteller dengan Customer dan Class
HighSchoolStudent dengan class academik dan commercial..................................................................113
Gambar 3.33. Penulisan relasi class-Link......................................................................................................................................113
Gambar 3.34. Penulisan relasi class-Dependency...................................................................................................................114
Gambar 3.35. Analogi relasi Class dan Interface menggunakan realization..............................................................114
Gambar 3.36. Penggunaan Notasi UML untuk merelasikan Class dan Interface.....................................................114
Gambar 3.37. Contoh penggambaran abstract class............................................................................................................115
Gambar 3.38. Port untuk merelasikan interface mouse dengan class computer...................................................115
Gambar 3.39. Gambar model tata letak kartu CRC.................................................................................................................116
Gambar 3.40. Contoh kartu CRC pada sistem order (a) CRC Class Customer (b) kartu CRC Class Order......116
Gambar 3.41. Gambar Contoh kartu CRC jendela T (Twindow) (a): kartu CRC bagian depan (front side CRC
Card). (b) kartu CRC bagian belakang (back side CRC Card).......................................................................116
Gambar 3.42. Kartu CRC Class Siswa..............................................................................................................................................117
Gambar 3.43. Contoh model kartu CRC sistem akademik di perguruan tinggi ......................................................118
Gambar 3.44. Class diagram yang merelasikan class-class dalam sistem order.......................................................119
Gambar 3.45. Class Diagram yang merelasikan class-class pada sistem mesin ATM.............................................119
Gambar 3.46. Desain form sistem mesin ATM (menggunakan tools Rational Rose).............................................120
vii
Gambar 3.92. Arsitektur two-tier / Client – Server ..................................................................................................................148
Gambar 3.93. Arsitektur aplikasi three-tier................................................................................................................................149
Gambar 3.94. Arsitektur aplikasi MVC...........................................................................................................................................150
Gambar 3.95. Arsitektur Aplikasi enterprise yang mengintegrasikan beberapa aplikasi....................................151
Gambar 3.96. Desain Arsitektur aplikasi mesin ATM.............................................................................................................152
Gambar 3.97. Detail Class Diagram (tipe form) mesin ATM...............................................................................................153
Gambar 3.98. Form menu utama mesin ATM...........................................................................................................................154
Gambar 3.99. Form login ke sistem ATM....................................................................................................................................154
Gambar 3.100. Form Penarikan tunai...........................................................................................................................................154
Gambar 3.101. Form Transfer antar rekening...........................................................................................................................155
Gambar 3.102. Desain package database dan spesifikasinya..........................................................................................155
Gambar 3.103. Relasi table aplikasi mesin ATM.......................................................................................................................156
Gambar 3.1 ????.........................................................................................................................................................................................173
Gambar 4.2. Struktur metadata........................................................................................................................................................180
Gambar 4.3. Sistem katalog data micro dan metadatanya.................................................................................................181
Gambar 4.4. Sebuah berkas gambar format.jpg dan metadatanya...............................................................................183
Gambar 4.5. Metadata file gambar (a) foto hasil download dari internet (b) foto hasil pengeditan menggunakan
photoshop...........................................................................................................................................................................184
Gambar 4.6. Metadata file gambar (a) foto hasil kamera cannon (b) foto hasil kamera HP .............................184
Gambar 4.7. Metadata dokumen berkas (a) Microsoft word (b) Microsoft powerpoint......................................185
Gambar 4.8 Kode program pendefinisi metadata dokumen web.................................................................................185
Gambar 4.9 Penerapan metadata viewport pada dokumen HTML (a) tampilan diweb browser (b) metadata
halaman informasi (page information).................................................................................................................186
Gambar 4.10. Gambar tampilan kode program HTML penggunaan metadata viewport................................187
Gambar 4.11. Metadata Description yang terpotong...........................................................................................................188
Gambar 4.12. Contoh Penggunaan Meta Description yang Baik....................................................................................188
Gambar 4.13. Contoh penggunaan meta description di artikel kesehatan...............................................................189
Gambar 4.14 Kode program pembuatan metadata berkas dokumen menggunakan bahasa pemrograman
Java..........................................................................................................................................................................................189
Gambar 4.15. Gambar tampilan keluaran progam menampilkan informasi file ClientTrace.scvlog.............191
Gambar 4.16. Struktur metadata use case diagram pada alat bantu powerdesigner (a) struktur metadata
pada project properties editor, (b) struktur metadata dokumentasi (report) usecase diagram
dalam format dukumen web (HTML).....................................................................................................................191
Gambar 4.17. Elemen metadata actor pada usecase diagram.........................................................................................192
Gambar 4.18. Elemen metadata Use Case pada Usecase Diagram................................................................................192
Gambar 4.19. Struktur Pohon Dokumen XML toko buku/bookstore ..........................................................................195
Gambar 4.20. Tag-tag dokumen XML toko buku ....................................................................................................................196
Gambar 4.21 Struktur pohon (tree) berakar, bagian yang dilingkari adalah subtree ...........................................197
ix
x Pemodelan Perangkat Lunak Kelas XI untuk SMK/MAK
B AB
1 Konsep Pemodelan
Sistem Perangkat
Lunak
Kompetensi Dasar
3.1. Memahami konsep pemodelan berorientasi objek.
4.1. Mempresentasikan konsep pemodelan berorientasi objek.
Peta Konsep
Definisi Perangkat Lunak
(Software)
Perangkat lunak (software) adalah kumpulan Instruksi atau program komputer (syntaks/
code yang ditulis dalam bahasa permograman) yang ketika dijalankan menyediakan fungsi dan
performan yang diinginkan. Perangkat lunak merupakan struktur data yang memungkinkan
program memanipulasi informasi dan dokumen yang menggambarkan cara menggunakan dan
mengoperasikan program tersebut (Pressman).
Menurut IEEE & ISO 1997, perangkat lunak adalah merupakan kumpulan program komputer
(syntaks/code), prosedur, fungsi, modul (kumpulan program yang memiliki tujuan dan fungsi
tertentu), dokumentasi dan kumpulan data yang diperlukan untuk mengoperasikan suatu sistem
perangkat lunak.
Sementara itu IEEE [IEE93] telah mengembangkan definisi yang lebih lengkap tentang
rekayasa perangkat lunak (software engineering) yaitu merupakan aplikasi perangkat lunak yang
bersifat sistematik, dalam pengembangannya menerapkan prinsip-prinsip rekayasa, metode
pengembangan, operasi, dan maintenance dari software; merupakan serangkaian studi yang
menggunakan pendekatan rekayasa.”
Entitas Eksternal
Entitas Eksternal
Sistem real-time adalah sistem yang harus berinteraksi dengan dunia nyata di dalam
kerangka waktu yang ditentukan oleh dunia nyata. Penerbangan pesawat, proses pabrik,
produk konsumen dan instrumentasi industri merupakan beberapa dari ratusan aplikasi
perangkat lunak real-time.
Ward dan Mellor memperluas notasi analisis struktur dasar untuk mengakomodasi
permintaan yang dikenakan oleh sistem real-time.
1. Aliran informasi dikumpulkan atau dihasilkan pada basis time-continuous.
2. Informasi kontrol yang dilewatkan melalui system dan pemrosesan kontrol yang
sesuai.
3. Dapat diterapkan pada sistem bertingkat dari transformasi yang sama, kadang-kadang
terjadi di dalam situasi multitasking.
4. Menjelaskan pernyataan sistem dan mekanisme yang menyebabkan transisi di antara
keadaan.
Dalam aplikasi real-time, sistem harus memonitor informasi time-continuous yang
digenerasikan oleh proses dunia nyata. Notasi aliran data konvensional tidak membuat
perbedaan di antara data diskrit dan data time-continuous. Ekstensi untuk analisis terstruktur
diperlihatkan pada gambar berikut.
Beberapa persyaratan penting yang harus diperhatikan dalam pembuatan DFD, antara
lain sebagai berikut.
1. Pemberian nama untuk tiap komponen DFD.
2. Pemberian nomor pada komponen proses.
3. Penggambaran DFD dilakukan sedemikian hingga agar mudah dipahami dan nyaman
untuk dibaca dan dilihat.
4. Penghindaran penggambaran DFD yang rumit
5. Pemastian DFD yang dibentuk dan konsistensi secara logika.
Beberapa hal yang harus diperhatikan dalam pembuatan diagram DFD antara lain
sebagai berikut:
1. Pilih notasi sehingga proses yang didekomposisi atau tidak didekomposisi dapat dibaca
dengan mudah.
2. Nama proses harus terdiri atas kerja dan kata benda.
3. Nama yang dipakai untuk proses, data store, dataflow harus konsisten (identitas perlu
ditampilkan).
4. Setiap level harus konsisten dalam aliran datanya dengan level sebelumnya.
5. Usahakan agar external entity pada setiap level konsisten dalam peletakannya.
6. Banyaknya proses yang disarankan pada setiap level tidak melebihi tujuh proses.
7. Dekomposisi berdasarkan kelompok data lebih disarankan (memudahkan aliran data
ke storage yang sama)
8. Nama proses yang umum hanya untuk proses yang masih akan didekomposisi.
9. Pada proses yang sudah tidak didekomposisi, nama proses dan nama data harus sudah
spesifik.
10. Aliran ke storage harus melalui proses, tidak boleh langsung dari external entity.
11. Aliran data untuk proses report harus ada aliran keluar dan terdapat aliran masuk serta
jika perlu parameter untuk mengaktifkan report.
12. Aliran data yang tidak ada datastore-nya harus diteliti, apakah memang tidak
mencerminkan persisten entity (perlu disimpan dalam file/tabel), yaitu kelak hanya akan
menjadi variabel dalam program.
Dalam beberapa literatur tidak ada aturan yang baku untuk menggambarkan DFD.
Beberapa praktisi memberikan panduan singkat dalam pembuatan DFD antara lain sebagai
berikut:
1. Mengidentifikasi entitas luar, input dan output yang terlibat dalam sistem.
2. Membuat diagram konteks (diagram context). Diagram ini adalah diagram level tertinggi
dari DFD yang menggambarkan hubungan sistem dengan lingkungan luarnya. Prosedur
untuk membuat konteks diagram adalah sebagai berikut.
a. Menentukan nama sistem.
b. Menentukan batasan sistem.
c. Menentukan terminator apa saja yang ada dalam sistem.
d. Menentukan apa yang diterima atau diberikan external entity dari atau ke sistem.
e. Menggambarkan diagram konteks.
3. Membuat diagram Level Zero (Overview Diagram). Diagram ini merupakan dekomposisi
(gambar detail) dari diagram konteks. Prosedur membuat diagram ini adalah sebagai
berikut:
a. Menentukan proses utama yang ada pada sistem.
b. Menentukan apa yang diberikan atau diterima setiap proses ke atau dari sistem
sambil memperhatikan konsep keseimbangan (alur data yang keluar atau masuk
dari suatu level harus sama dengan alur data yang masuk atau keluar pada level
berikutnya).
c. Memunculkan data store (master) sebagai sumber maupun tujuan alur data.
d. Menghindari adanya perpotongan arus data.
Model aliran informasi (DFD) dibuat berdasarkan hasil analisis kebutuhan (requirements
analysis) salah satunya adalah kebutuhan fungsional sistem. Berdasarkan model diagram DFD
dapat dibuat beberapa model desain sistem yaitu ERD, Struktur Chart, Desain Interface dan
Program spesification (flow chart sistem). Dari model desain tersebut dapat diimplementasikan
ke dalam kode program menggunakan bahasa pemrograman.
Selanjutnya kode program tersebut diuji menggunakan teknik black box testing dan
white box testing. Pengujian black box dapat dilakukan melalui pengujian pada tingkat unit
(modul program), pengujian system program maupun pegujian integrasi program.
Gambar 1.13. Pemetakan ER Model Ke Relasi tabel / Relational Model (level fisik) sistem kepegawaian dalam perusahaan
Organisasi pengkodean record data untuk tiap entitas diperlihatkan dalam gambar
diatas. Susunan herarki ditujukkan dengan tanda anak panah pada medan data
(field) yang digunakan sebagai kunci data (primary key, daerah diarsir). Relasi
dalam model herarki hubungan antar entitas dinyatakan dalam satu-banyak(one
to many) atau satu – satu (one to one). Kelemahan model ini adalah tidak dapat
dilakukan pencarian data pada field atribut, misalnya tidak dapat menampilkan
data pada tabel mata kuliah berdasarkan jumSKS, karena jumlah SKS bukan kunci
data. Masalah ini dapat diatasi dengan mengubah struktur data dengan memberi
hubungan khusus (misanyal dengan variabel pointer).
Gambar 1.17. Organisasi record data pada jaringan model untuk sistem perkuliahan
Gambar 1.17. Model aAnalisis (DFD level atomik cari informasi data mahasiswa)
Gambar 1.19. Model arsitektur perangkat lunak (level fisik) pencarian data mahasiswa
a. Struktur chart
Struktur chart merupakan model diagram untuk menggambarkan arsitektur
perangkat lunak secara keseluruhan tanpa memperlihatkan proses pemilihan
dan pengulangannya secara rinci. Diagram ini juga dapat digunakan untuk
menggambarkan arsitektur perangkat lunak seperti diagram organisasi sebuah
perusahaan. Notasi atau simbol yang sering digunakan dalam struktur chart
diperlihatkan dan gambar di bawah ini:
Modul A memanggil modul B dengan data x dan y sebagai parameternya dan modul
B mengirimkan data p dan q sebagai return value ke modul A.
Procedure A;
Var p, q : Real;
Procedure B(x, y : Real);
Begin
p := ... { manipulasi nilai p }
q := ... { manipulasi nilai q }
End;
Begin
B(x, y); { call procedure B }
End;
Gambar 1.22. Model diagram struktur chart pemanggilan modul bersyarat dan looping.
Gambar 1.22. Model diagram struktur chart pemanggilan modul bersyarat dan looping.
Procedure C;
Begin
...
End;
Procedure B;
Begin
...
End;
Procedure A;
Begin
If True Then B; {call procedure B}
While True Do C; {call procedure C}
End;
Gambar 1.23. Implementasi kode program (delphi) berdasarkan model struktur chart gambar 2.21
FormInput.html
<html>
...
<form method=post
action=Rekam.php>
...
</html>
Rekap.php
<?
// Rekam.php
function getId() {
}
function saveId(id) {
}
id = getId();
saveId(id)
?>
Gambar 1.24. Implementasi struktur chart diagram ke dalam kode program menggunakan bahasa html dan PHP
4
3
2 A A
1 5
The
system
Make C
Get C Put E Put D
into D & E
D G D F
G H
Make A Make G
Get A Put H
into B into H
XX
U YY v
ZZ
Get A XX XY ZZ Put H
Gambar 1.25. Hasil transformasi DFD ke struktur chart (a) Transform Analysis (b) Transaction Analysis
Gambar 1.28. Hasil transformasi DFD ke dalam model struktur chart sistem penjualan barang
Gambar 1.30. Hasil pemetakan DFD alur data (data flow id_Barang) ke desain interface tambah data barang
1. …. Ketua Diskusi
2. …. Notulen
3. …. Anggota
4. …. Anggota
Rangkuman
Pemodelan dalam suatu rekayasa perangkat lunak merupakan suatu aktifitas atau
kegiatan yang dilakukan di tahapan awal pengembangan aplikasi perangkat lunak.
Pemodelan analisis dan desain mendefinisikan spesifikasi lengkap dari persyaratan
representasi dan representasi desain yang komprehensif bagi perangkat lunak yang
akan dibangun. Pemodelan data merupakan sarana untuk melakukan abstraksi data,
relasi antarentitas dalam basis data. Sejumlah konsep untuk membuat deskripsi
stuktur basis data. Arsitektur perangkat lunak merupakan sebuah spesifikasi sistem
abstrak yang utama, terdiri dari komponen fungsional yang menjelaskan beberapa
hal tentang perilaku sistam dan antarmuka serta hubungan komponen-komponen
sistem. UML adalah suatu pemodelan atau sebuah “Bahasa" yg menjadi standart untuk
visualisasi, merancang dan mendokumentasikan, membuat model untuk semua jenis
sistem aplikasi perangkat lunak khususnya pendekatan berorientasi objek.