BAB I

advertisement
BAB II
LANDASAN TEORI
2.1. RESEP
a. Pengertian Resep
Resep adalah permintaan tertulis seorang dokter, dokter gigi atau
tokter hewan yang diberi izin berdasarkan peraturan perundang-undangan
yang berlaku kepada apoteker pengelola apotik untuk menyediakan dan
menyerahkan obat-obatan bagi penderita. (Soetopo, 2002).
Resep disebut juga formulae medicae, terdiri dari:
1.
Formulae Officinalis, yaitu resep yang tercantum dalam buku
farmakope atau buku lainnya dan merupakan standar.
2.
Formulae Megistralis, yaitu resep yang ditulis oleh dokter.
Resep selalu dimulai dengan tanda R/ yang diambil dari bahasa
Latin, recipe yang berarti ambillah. Dibelakang tanda ini (R/) biasanya
baru tertera nama dan jumlah obat. Umumnya resep ditulis dalam bahasa
latin. Suatu resep yang lengkap harus memuat :
1.
Nama, alamat dan nomor izin praktik dokter, dokter gigi atau dokter
hewan.
2.
Tanggal penulisan resep, nama setiap obat atau komposisi obat.
3.
Tanda R/ pada bagian kiri setiap penulisan resep.
4.
Tanda tangan atau paraf dokter penulis resep sesuai dengan peraturan
perundang-undangan yang berlaku.
7
5.
Nama pasien, jenis kelamin (manusia/hewan). Umur serta alamat
pasien/pemilik hewan.
6.
Tanda seru dan paraf dokter untuk resep yang mengandung obat yang
jumlahnya melebihi dosis maksimal.
Dr. S.H. xxxxxx
DSP/xxxx/xx.x/xxx
Alamat Dokter
Waktu praktik dokter
Jakarta, 20 mei 2000
R/
Extr. Bellad 120 mg
HCl Ephed
300 mg
C.T.M
50 mg
Doveri Pulv. 3
O.B.H
300 mL
m.f. potio
s.t.d.d. C
Pro : Nama pasien
Umur : umur pasien
Alamat : alamat pasien
Paraf dokter
Gambar 2.1 Contoh Resep Dokter (Soetopo, 2002)
Pembagian suatu resep yang lengkap :
1.
Tanggal dan tempat ditulisnya resep(inscriptio).
2.
Aturan pakai dari obat yang tertulis(signatura).
3.
Paraf/tanda tangan dokter yang menulis resep (subcriptio).
4.
Tanda buka penulisan resep dengan R/ (invocatio).
5.
Nama obat, jumlah dan cara membuatnya (praescriptio atau
ordinatio).
Yang berhak menulis resep adalah :
1.
Dokter umum/khusus.
8
2.
Dokter gigi, terbatas pada pengobatan gigi dan mulut.
3.
Dokter hewan, terbatas pada pengobatan hewan.
Dokter gigi diberi ijin menulis resep dari segala macam obat untuk
pemakaian mulut. Injeksi (parental) atau cara pemakaian lainnya. Khusus
untuk mengobati penyakit gigi dan mulut. Sedangkan pembiusan/patirasa
sevcara umum tetap dilarang bagi dokter gigi (S.E) Depkes No. 19/Ph/62
Mei 1962
Untuk penderita yang memerlukan pengobatan segera dokter dapat
memberi tanda :
a.
Cito : Segera.
b.
Urgent : penting.
c.
Statim : penting
d.
P.I.M : Periculum In Mora (berbahaya bila ditunda)
Pada bagian kanan atas resep, apoteker harus mendahulukan
pelayanan resep ini termasuk ini resep antidotum(anti racun). Bila dokter
ingin agar resepnya dapat diulang, maka dalam resep ditulis Iteratie, dan
ditulis berapa kali resep boleh diulang. Misalkan Iteratie 3X, artinya resep
dapat dilayani 1 + 3 kali ulangan. Untuk resep yang mengandung
narkotika, tidak dapat ditulis iteratie tetapi selalu dengan resep baru.
b. Salinan Resep (Copy Resep)
Salinan resep adalah salinan yang dibuat apotik, selain memuat
semua keterangan yang terdapat dalam resep asli, juga harus memuat :
9
1.
Nama dan alamat Apotik.
2.
Nama dan nomor izin apoteker pengelola apotik.
3.
Tanda tangan atau paraf apoteker pengelola apotik.
4.
Tanda ”det” (detur) untuk obat yang sudah diserahkan dan tanda
”nedet” (nedetur) untuk obat yang belum diserahkan, pada resep
dengan tanda ITER....X diberi tanda detur orig/detur ....X.
5.
Nomor resep dan tanggal pembuatan.
NAMA APOTIK
Alamat APOtik
Nama Apoteker
Nomr Izin Apoteker
Salinan Resep No
Dari dokter
Ditulis tanggal
Pro
R/
R/
: xx
: Nama Dokter
: xx/xx/xxxx
: Nama pasien
Amoxycillin 500
S.3.d.d.I
Ponstan FCT
S.p.r.n.I
No XII
-------det
No XII
-------ne det
Jakarta, 5 November 2001
Cap Apotik
pcc
Tanda tangan APA
Gambar 2.2 Contoh Salinan Resep (Soetopo, 2002)
Istilah lain dari copy resep adalah ”apograph”, “exemplum”,
“afschrif”. Apabila apoteker pengelola apotik (APA) berhalangan
melalukan tugasnya, penandatanganan atau pencantuman paraf pada
salinan resep yang dimaksud di atas dilakukan oleh Apoteker Pendamping
atau Apoteker Pengganti dengan mencantumkan nama terang dan status
yang bersangkutan.
10
Salinan resep hanya boleh diperlihatkan kepada :
1.
Dokter penulis resep atau yang merawat penderita.
2.
Penderita sendiri.
3.
Petugas kesehatan atau petugas lain yang berwenang menurut
perundang-undangan yang berlaku. Sebagai contoh:
petugas
pengadilan bila diperlukan untuk suatu perkara.
c. Penyimpanan Resep
Apoteker Pengelola Apotik (APA) mengatur resep yang telah
dikerjakan menurut urutan tanggal dan nomor urut penerimaan resep.
Resep harus disimpan sekurang-kurangnya selama 3 tahun. Resep yang
mengandung narkotika harus dipisahkan dari resep lainnya.
Resep yang disimpan melebihi jangka 3 tahun dapat dimusnahkan.
Pemusnahan resep dilakukan dengan cara dibakar atau dengan cara lain
yang memadai oleh Apoteker Pengelola Apotik bersama-sama dengan
sekurang-kurangnya seorang petugas apotik. Pada pemusnahan resep
harus dibuat berita acara pemusnahan sesuai dengan bentuk yang telah
ditentukan, rangkap 4 dan ditanda-tangani oleh APA bersama dengan
sekurang-kurangnya seorang petugas apotik.
Apoteker tidak dibenarkan mengulangi penyerahan obat atas dasar
resep yang sama apabila pada resep aslinya tercantum :
1.
Tanda ”n.i” (ne iteratur = Tidak boleh diulang)
2.
Obat narkotika atau obat lain yang tidak boleh diulang tanpa resep
baru dari dokter.
11
2.2. QR CODE
Bar code telah banyak dikenal dan digunakan secara luas karena
kecepatan pada saat pembacaan, keakuratan, dan karakteristik penggunaannya
secara luas. Di saat bar code banyak dikenal dan dapat digunakan secara
universal, pasar mulai mencari kode yang dapat menyimpan lebih banyak
informasi, tipe karakter yang dapat digunakan, dan dapat dicetak dengan
ukuran yang lebih kecil.
Sebagai akibatnya, banyak usaha yang dilakukan untuk menambahkan
jumlah informasi yang dapat disimpan dengan menggunakan bar code, seperti
dengan menambahkan digit bar code atau meletakkan beberapa bar code.
Bagaimanapun, perbaikan ini pun menyebabkan timbulnya beberapa masalah,
seperti bertambahnya ukuran bar code, proses pembacaan yang rumit, dan
peningkatan ongkos pencetakan. 2D (2 Dimensional) Code muncul sebagai
respon untuk kebutuhan dan masalah-masalah di atas. 2D Code juga
merupakan hasil pengembangan dari bar code yang dibatangkan, untuk
menambah kerapatan informasi metode matrix.
Gambar 2.3 Bar code dengan beberapa susunan. (Anonymus, 2009)
Gambar 2.4 2D Code dengan bar code batangan (Anonymus, 2009)
12
Gambar 2.5 2D Code (tipe matrix) (Anonymus, 2009)
QR Code merupakan salah satu jenis dari 2D Code yang dikembangkan
oleh Denso Wave (salah satu divisi dari Denso Corporation) dan dirilis pada
tahun 1994 dengan tujuan utama sebagai simbol yang dapat diinterpretasikan
secara mudah oleh peralatan scanner (Anonymus, 2009).
Gambar 2.6 Perbandingan QRCode dan Barcode (Anonymus, 2009)
QR Code mengandung informasi secara dua arah, vertical dan
horizontal, sedangkan sebuah bar code hanya mengandung data pada satu
arah. QR Code dapat menyimpan informasi lebih banyak bila dibandingkan
dengan bar code (Anonymus, 2009). Selain itu, QR Code memiliki beberapa
keunggulan lain, diantaranya :
a. Kecepatan yang tinggi pada saat pembacaan
b. Kerapatan yang tinggi
c. Koreksi kesalahan
d. Penyususan terstruktur
13
Informasi versi
Informasi format
Data dan kunci error correction
Pola yang diperlukan
Posisi baca
Perataan
Timing
Gambar 2.7 Struktur QRCode (Anynomus, 2009)
Karakter – karakter yang dapat disandikan ke dalam QR Code ada
beberapa macam, antara lain:
a. Numeric (0-9), 3 karakter dapat disandikan sepanjang 10 bit. Secara teori,
jumlah maksimum karakter yang dapat ditampung bisa mencapai 7089
karakter
b. Alphanumeric
(0-9,A-Z,%,$,*,+,-,/:),
2
karakter
dapat
disandikan
sepanjang 11 bit. Secara teori, jumlah maksimum karakter yang dapat
ditampung bisa mencapai 4296 karakter.
c. KANJI, sebuah karakter KANJI (karakter multi byte) dapat disandikan
sepanjang 13 bit. Secara teori, jumlah maksimum karakter yang dapat
ditampung bisa mencapai 1817 karakter.
QR Code memiliki kemampuan error correction dalam memulihkan
data bila rusak atau kotor. Tersedia 4 tingkatan untuk koreksi kesalahan yang
dapat dipilih oleh pengguna bergantung pada lingkungan penggunaan.
Semakin tinggi tingkatannya, maka semakin baik pula kemampuan
koreksinya, namun ukurannya menjadi lebih besar (Anonymus, 2009). Untuk
memilih tingkatan koreksinya, ada beberapa hal yang dapat dijadikan sebagai
14
bahan pertimbangan, seperti ruang lingkup penggunaan, serta ukuran yang
dibutuhkan.
Tabel 2.1 Error Correction Level Pada QRCode (Anonymus, 2009)
Tingkat Kerusakan
Tingkatan / Level
Yang Dapat Dipulihkan
L
Maksimal 7%
M
Maksimal 15%
Q
Maksimal 25%
H
Maksimal 30%
Level Q atau H dapat digunakan untuk lingkungan produksi yang
memungkinkan QR Code menjadi kotor, sedangkan level L dapat digunakan
untuk lingkungan yang bersih dengan kapasitas data yang besar. Pada
umumnya level M paling banyak digunakan.
2.3. Basis Data
Basis data adalah kumpulan data yang saling berhubungan secara logis,
dan informasi yang terkandung di dalamnya dirancang agar dapat memberikan
informasi yang dibutuhkan sebuah organisasi (Connolly, 2005). Istilah "basis data"
berawal dari ilmu komputer. Catatan yang mirip dengan basis data sebenarnya
sudah ada sebelum revolusi industri yaitu dalam bentuk buku besar, kuitansi dan
kumpulan data yang berhubungan dengan bisnis.
15
Konsep dasar dari basis data merupakan kumpulan dari catatan-catatan,
atau potongan dari pengetahuan. Sebuah basis data memiliki penjelasan terstruktur
dari jenis fakta yang tersimpan di dalamnya dan penjelasan ini disebut skema basis
data (Connolly, 2005). Skema menggambarkan obyek yang diwakili suatu basis
data, dan hubungan di antara obyek tersebut. Ada banyak cara untuk
mengorganisasi skema, atau memodelkan struktur basis data: ini dikenal sebagai
model basis data atau model data. Model yang umum digunakan sekarang adalah
model relasional, yang mewakili semua informasi dalam bentuk tabel-tabel yang
saling berhubungan di mana setiap tabel terdiri dari baris dan kolom. Dalam model
ini, hubungan antar tabel diwakili dengan menggunakan nilai yang sama antar
tabel. Model yang lain seperti model hierarki dan model jaringan menggunakan
cara yang lebih eksplisit untuk mewakili hubungan antar tabel.
Istilah basis data mengacu pada koleksi dari data-data yang saling
berhubungan, dan perangkat lunaknya seharusnya mengacu sebagai sistem
manajemen basis data (database management system/DBMS). DBMS merupakan
sistem perangkat lunak yang memungkinkan pengguna untuk mendefinisikan,
membuat, mengatur, dan mengontrol akses pada sebuah basis data (Connolly,
2005).
Basis data merupakan komponen utama sistem informasi karena semua
informasi untuk pengambilan keputusan berasal dari data di basis data.
Pengelolaan basis data yang buruk dapat mengakibatkan ketidaktersediaan data
penting yang digunakan untuk menghasilkan informasi yang diperlukan dalam
pengambilan keputusan.
16
Salah satu tahap utama dalam membangun sebuah sistem basis data adalah
perancangan basis data. Dalam tahapan ini terdapat tiga fase utama, yaitu: desain
konseptual, desain logis, dan desain fisik. Desain konseptual basis data dibuat
untuk memberikan gambaran basis data secara konseptual , yang di dalamnya
terdapat identifikasi dari entitas – entitas penting, hubungan, dan atribut – atribut.
Desain logis basis data dibuat untuk menterjemahkan gambaran konseptual tadi
menjadi struktur logis dari basis data, yang di dalamnya terdapat desain dari
hubungan – hubungan. Desain fisik basis data dibuat agar dapat diputuskan
bagaimana desain logis tadi dapat diimplementasikan secara fisik (menjadi basis
hubungan) ke dalam DBMS tujuan (Connolly, 2005).
a. Metodologi Perancangan Konseptual Basis Data
Metodologi perancangan basis data adalah sebuah pendekatan
terstruktur yang menggunakan prosedur – prosedur, teknik – teknik, peralatan,
dan bantuan dokumentasi untuk mendukung dan menfasilitasi proses
perancangan (Connolly, 2005). Dalam perancangan konseptual basis data
metodologi yang digunakan merupakan proses penciptaan sebuah model dari
data yang digunakan dalam sebuah organisasi, terlepas dari semua
pertimbangan – pertimbangan secara fisik.
Model data adalah sekumpulan konsep yang terintegrasi untuk
menggambarkan dan menggunakan data, hubungan – hubungan antar data,
dan pembatas pada data dalam sebuah organisasi (Connolly, 2005). Model
data konseptual didukung oleh dokumentasi, termasuk hubungan entitas
dan kamus data, yang dibuat untuk seluruh pengembangan model. Rincian
17
dari tipe – tipe dokumentasi penunjang mungkin saja dibuat pada saat
melewati bermacam – macam langkah. Tugas yang terkait dalam langkah
– langkah tersebut adalah:
1.
Mengenali tipe – tipe entitas yang digunakan.
2.
Mengenali tipe – tipe hubungan penting yang ada di antara tipe – tipe
entitas tadi
3.
Mengenali dan menghubungkan atribut – atribut dengan entitas atau
tipe – tipe hubungan yang tepat.
4.
Menentukan domain – domain untuk atribut – atribut yang terdapat di
dalam model data konseptual local. Domain merupakan sekumpulan
nilai dari salah satu atau lebih atribut yang mengambil nilainya.
5.
Mengenali kunci kandidat untuk setiap tipe entitas, bila terdapat lebih
dari satu kunci kandidat, maka salah satunya dipilih untuk menjadi
kunci utama dan sisanya menjadi kunci alternatif. Ketika memilih
kunci
utama
diantara
kunci
–
kunci
kandidat,
dapat
mempetimbangkan petunjuk – petunjuk berikut:
a.) Pilih kunci kandidat yang memiliki sedikit atribut..
b.) Pilih kuncu kandidat yang tidak mudah berubah nilainya.
c.) Pilih kunci kandidat dengan karakter paling sedikit (bila
atributnya berupa karakter).
d.) Pilih kunci kandidat dengan nilai maksimum paling sedikit.(bila
atributnya berupa bilangan)
e.) Pilih kunci kandidat yang paling mudah digunakan dari sudut
pandang pengguna.
18
6.
Mempertimbangkan penggunaan model konsep yang lebih baik,
seperti spesialisasi/generalisasi, agregasi, dan komposisi.
7.
Memeriksa apakah ada redundansi di dalam model.
8.
Memvalidasi model konseptual terhadap transaksi pengguna untuk
memastikan bahwa model tersebut mendukung transaksi yang
dibutuhkan.
9.
Mereview
model
data
konseptual
bersama
pengguna
untuk
memastikan bahwa kunci mempertimbangkan model agar menjadi
representasi yang sebenarnya dari kebutuhan data organisasi.
Perancangan basis data konseptual merupakan proses menyusun
model dari informasi yang digunakan dalam sebuah organisasi yang tidak
bergantung pada detail implementasi, seperti DBMS tujuan, program
aplikasi, bahasa pemrograman, atau pertimbangan bersifat fisik lainnya
(Connolly, 2005). Tujuan utama dari tahapan ini adalah untuk membuat
sebuah model konseptual dari kebutuhan data organisasi. Model data
konseptual terdiri dari, entity type, relationship type, attributes, attributes
domain, primary key, dan alternate key.
Tipe entitas (entity type) merupakan sekumpulan objek yang
memiliki sifat yang sama, yang dapat diidentifikasi dalam sebuah
organisasi yang tidak memiliki keterikatan (Connolly, 2005). Konsep
dasar dari model Entity Relational (ER) adalah tipe entitas, yang mewakili
sekumpulan ”objek” di ”dunia nyata” dengan sifat yang sama. Sebuah
entity type tidak memiliki keterikatan (independent) dan bisa merupakan
19
objek dengan keberadaan fisik (atau nyata) atau objek yang bersifat
konseptual (abstrak).
Tipe hubungan (relationship type) adalah sekumpulan hubungan
yang memiliki arti di antara tipe – tipe entitas (Connolly, 2005). Setiap
tipe hubungan diberikan nama yang menggambarkan fungsinya. Model
ER menggunakan level abstraksi yang lebih tinggi bila dibandingkan
dengan semantic net dengan mengkombinasikan sebuah set entity
occurrence dan entity types dan sebuah set relationship occurrence dan
relationship type.
Keterangan mengenai sifat – sifat dari entity type disebut sebagai
atribut (Connolly, 2005). Atribut memiliki nilai yang menggambarkan
setiap entity occurence dan mewakili bagian utama dari data yang
disimpan di dalam basis data. Sebuah relationship type yang terhubungan
entitas dapat juga memiliki atribut yang mirip dengan atribut yang dimiliki
entity type. Sedangkan attributes domain merupakan sekumpulan nilai
yang diizinkan untuk satu atau lebih atribut. Setiap atribut terikat dengan
sekumpulan
nilai
yang disebut
domain.
Domain
mendifinisikan
nilai – nilai potensial yang dapat dimiliki oleh sebuah atribut dan serupa
dengan konsep domain dalam model relasional.
Sebuah candidate key merupakan beberapa atribut dalam jumlah
minimum, yang nilainya dapat mengidentifikasi secara unik setiap entity
occurrence. Candidate key harus memiliki nilai yang unik untuk setiap
occurrence dari entity type. Hal ini menyatakan bahwa sebuah candidate
key tidak dapat kosong. Setiap entity type mungkin saja memiliki lebih
20
dari satu candidate key. Candidate key yang dipilih agar dapat
mengidentifikasi occurrence dari entity type secara unik disebut primary
key (Connolly, 2005).
Entity occurrence merupakan sebuah objek dari entity type yang
dapat diidentifikasi secara unik. Entity type dapat diidentifikasi dengan
sebuah nama dan daftar sifat – sifatnya. Sebuah basis data secara normal
mengandung banyak entity type yang berbeda. Sedangkan relstionship
occcurence merupakan association yang dapat diidentifikasi secara unik,
yang berisikan satu occurence dari setiap entity type yang ada.
b. Metodologi Perancangan Logis Basis Data
Perancangan logis basis data dilakukan dengan membuat dan
memvalidasi model data logis, hal ini bertujuan untuk menterjemahkan model
data konseptual menjadi model data logis lalu model tersebut divalidasi untuk
memeriksa apakah susunannya sesuai dan dapat menunjang transaksi yang
dibutuhkan (Connolly, 2005). Langkah – langkah yang termasuk di dalamnya
adalah
1.
Membuat relasi untuk model data logis untuk menggambarkan entitas,
relationship, dan atribut yang telah diidentifikasi.
2.
Memvalidasi relasi di dalam model data menggunakan normalisasi.
3.
Memastikan bahwa lreasi di dalam model data logis mendukung
transaksi yang dibutuhkan.
4.
Memeriksan keutuhan constraint yang digambarkan dalam model data
logis.
21
5.
Bersama user memeriksa kembali model data logis untuk memastikan
bahwa
mempertimbangkan
model
yang
dapat
menggambarkan
kebutuhan data organisasi yang sebenarnya.
6.
Menggabungkan beberapa model data logis lokal menjadi sebuah model
data logis global yang mewakili seluruh gambaran user terhadap basis
data.
7.
Memeriksa adanya perkembangan di masa yang akan datang untuk
memastikan bila ada perubahan yang nyata dan dapat diketahui di masa
yang akan datang dan untuk menilai apakah model data tersebut dapat
mengakomodasi perubahan tersebut.
Perancangan basis data secara logik dimulai dengan penciptaan model
konseptual dari organisasi dan seluruhnya tak bergantung rincian
implementasi seperti perangkat lunak DBMS, program aplikasi, bahasa
pemrograman, platform perangkat keras, dan pertimbangan fisik lainnya.
Model konsep ini kemudian dipetakan menjadi model data secara logik yang
telah dipengaruhi model data target basis data seperti model relasional.
Dalam perancangan basis data secara logik, kita dapat melakukannya
dengan cara :
1.
Menerapkan normalisasi terhadap struktur tabel yang telah diketahui.
2.
Langsung membuat model Entity-Relationship (ER).
Model data secara logik merupakan sumber informasi perancangan fisik.
Model ini menyediakan perancang suatu kendaraan untuk pertimbangan
dalam merancang basis data yang efisien.
22
c. Metodologi Perancangan Fisik Basis Data
Perancangan fisik basis data merupakan proses menciptakan
gambaran dari pengimplementasian basis data pada media penyimpanan
kedua yang menggambarkan basis relasi, pengorganisasian file, dan
indeks – indeks yang digunakan agar menghasilkan akses data yang
efisien, dan pembatas utuh lainnya yang terhubungan serta ukuran
keamanan (Connolly, 2005). Fase perancangan fisik basis data
mengizinkan perancang untuk membuat keputusan mengenai bagaimana
basis data akan diimplementasikan. Oleh karena itu, desain fisik basis data
dibuat khusus untuk DBMS tertentu. Ada umpan balik antara desain fisik
dan desain konseptual/logis, karena keputusan yang diambil selama
perancangan fisik digunakan untuk memperbaiki kemampuan yang
mungkin berpengaruh kepada struktur model konseptual/logis. Ada
beberapa faktor kritis agar tahapan perancangan basis data berhasil,
contohnya seperti, bekerja secara interaktif dengan pengguna dan mau
mengulangi langkah - langkahnya.
Perancangan basis data relasional dimulai dari perancangan basis data
logik untuk basis data relasional pada tahap 1 sampai dengan tahap 3, lalu
dilanjutkan dengan perancangan dan implementasi basis data fisik untuk basis
data relasional pada tahap 4 sampai dengan tahap 7.
1.) Tahap 1, membangun rancangan data konseptual lokal berdasarkan
pandangan pemakai. Yaitu mengidentifikasikan himpunan entitas himpunan entitas. Mengidentifikasikan keterhubungan-keterhubungan
23
(relationship), mengidentifikasikan dan asosiasikan atribut-atribut pada
entitas atau keterhubungan, menentukan domain atribut, menentukan
atribut-atribut
candidate
key
dan
primary
key,
melakukan
spesialisasi/generalisasi, menggambarkan diagram ER, melakukan review
model data konsep dengan pemakai.
2.) Tahap 2, membangun dan validasi model data logik lokal. Yaitu
memetakan model data konsep ke model data logik, melakukan turunan
relasi-relasi dari model data logik, validasi model menggunakan
normalisasi, validasi model berdasarkan transaksi - transaksi pemakai,
menggambarkan ER nya, mendefinisikan kontsrain - konstrain (batasan batasan) integritas, melakukan review model data logik dengan pemakai.
3.) Tahap 3, membangun dan validasi model data logik global. Yaitu
menggabungkan model data logik lokal menjadi model global, validasi
model data logik global, periksa untuk pertumbuhan masa datang,
menggambarkan diagram ER akhir, melakukan review model logik global
dengan pemakai.
4.) Tahap 4, menerjemahkan model data logik global untuk DBMS target.
Yaitu merancang relasi-relasi basis untuk DBMS target, merancang
aturan-aturan integritas untuk DBMS target.
5.) Tahap 5, Merancang dan implementasi representasi fisik. Yaitu
menganalisa transaksi-transaksi, memilih organisasi file, memilih indeksindeks sekunder, mempertimbangkan penambahan redudansi yang
terkendali, estimasikan ruang disk yang diperlukan.
24
6.) Tahap 6, merancang dan mengimplementasikan mekanisme pengamanan.
Yaitu merancang view - view pemakai, merancang aturan-aturan
pengaksesan.
7.) Tahap 7, memonitor dan menyesuaikan system yang sedang operasi
d. Normalisasi
Normalisasi
adalah
sebuah
tekhnik
untuk
menghasilkan
sekumpulan relasi dengan property yang diharapkan, dan memberikan
kebutuhan data sebuah organisasi (Connolly, 2005). Tujuan dari
normalisasi adalah untuk mengidentifikasi sekumpulan relasi yang sesuai
yang mendukung kebutuhan data sebuah organisasi. Ciri – ciri
sekumpulan data tersebut meliputi hal – hal berikut:
1.
Sedikitnya jumlah atribut yang dibutuhkan untuk mendukung
kebutuhan data.
2.
Atribut dengan yang mendekati relationship logis (digambarkan
sebagai ketergantungan fungsional) ada pada relasi yang sama.
3.
Sedikitnya
redundancy (keterulangan) dengan masing – masing
atribut diwakilkan hanya sekali dengan pengecualian penting untuk
atribut yang membentuk semua atau sebagian foreign key, yang
sangat penting untuk menggabungkan relasi yang berhubungan.
Keuntungan yang dengan menggunakan basis data yang memiliki
sekumpulan relasi yang sesuai menyebabkan basis data lebih mudah bagi
25
pengguna untuk mengakses dan mengelola data, dan hanya memakan
sedikit ruang penyimpanan di dalam komputer.
Konsep penting yang terkait dengan normalisasi adalah functional
dependency (ketergantungan fungsional), yang menggambarkan hubungan
antar atribut(Connolly, 2005). Functional dependency menggambarkan
hubungan antar atribut dalam sebuah relasi. Sebagai contoh, bila A dan B
adalah atribut dari relasi R, maka B tergantung secara fungsional pada A
bila setiap nilai A terhubung dengan satu nilai B. Ketika ada sebuah
functional dependency maka ketergantungan tersebut ditetapkan sebagai
sebuah constraint antar atribut – atribut, dan atribut atau grup atribut di
sisi lainnya disebut determinant.
A
B functional dependency pada A
B
A merupakan determinant B
Gambar 2.8. Diagram functional Dependency dan determinant.
(Connolly, 2005)
Teknik normalisasi melibatkan serangkaian aturan yang dapat
digunakan untuk menguji relasi individual sehingga basis data dapat
dinormalisasi ke berbagai tingkat. Ketika kebutuhan yang diinginkan tidak
didapatkan, relasi yang melanggar kebutuhan harus didekomposisi
menjadi relasi yang secara individu memenuhi kebutuhan normalisasi.
Tiga bentuk normal yang awalnya diusulkan disebut First Normal
Form/1NF (Bentuk Normak Pertama), Second Normal Form/2NF (Bentuk
26
Normal Kedua), dan Third Normal Form/3NF (Bentuk Normal Ketiga).
Kemudian, R. Boyce and E.F Codd memperkanalkan definisi yang lebih
kuat dari 3NF yang disebut Boyce-Codd Normal Form/BCNF (Connolly,
2005).
Bentuk normal
lebih tinggi
Gambar 2.9. Diagram ilustrasi relasi antar bentuk normal (NF).
(Connolly, 2005)
Dengan mengesampingkan 1NF, semua bentuk normal ini berdasarkan
ketergantungan fungsional di antara atribut – atribut dalam sebuah relasi.
Bentuk normal yang lebih tinggi ada setelah BCNF telah diperkenalkan
seperti Fourth Normal Form/4NF (Bentuk Normal Keempat) dan Fifth
Normal Form/5NF (Bentuk Normal Kelima). Namun, kedua bentuk
normal terakhir tersebut sangat jarang dipergunakan dalam sebuah situasi.
Normalisasi diawali dengan proses memindahkan data dari
sumbernya ke dalam bentuk tabel dengan baris dan kolom. Dalam format
ini, tabel masih dalam bentuk Unnormalized Form yang mengarah pada
unormalized tabel. 1NF merupakan relasi yang pada setiap persimpangan
27
masing – masing baris dan kolom hanya memiliki satu dan hanya satu
nilai. Sedangkan 2NF merupakan sebuah relasi yang berada pada 1NF dan
setiap atribut non-primary-key bergantung sepenuhnya secara fungsional
pada primary-key.
Walaupun relasi 2NF memiliki redundansi yang lebih sedikit
dibandingkan 1NF, namun masih mengalami kesulitan pada saat
perubahan anomali. Sedangkan 3NF adalah sebuah relasi yang ada pada
1NF dan 2NF dan tidak ada non-primary-key yang melengkapi
ketergantungan pada primary-key. Normalisai dari 2NF ke 3NF
melibatkan penghilangan ketergantungan transitif.
Untuk mengetahui apakah sebuah relasi berada dalam bentuk
BCNF, kita dapat mengenali semua determinant dan memastikan bahwa
itu adalah candidate key. Panggil ulang determinan yang merupakan
atribut, atau sekelompok atribut, yang pada atribut lainnya bergantung
penuh secara fungsional. BCNF merupakan relasi yang, jika dan hanya
jika, setiap determinan merupakan candidate key. BCND memliki
efektifitas yang maksimal, dan kemungkinan terjadinya redundancy data
dan duplikasi data lebih kecil daripada 1NF.
Di atas BCNF masih ada 4NF yang merupakan bentuk normal
lebih kuat yang mencegah sebuah relasi memiliki ketergantungan antar
atribut. Dan lebih atas lagi ada 5NF yang merupakan sifat – sifat
dekomposisi yang dapat memastikan bahwa tidak ada tupel palsu yang
dibuat ketika relasi digabungkan ulang melalui operasi penggabungan
alami, sehingga dapat disimpulkan bahwa relasi ini tidak memiliki join
28
dependency.
Join
dependency
menggambarkan
sebuah
tipe
ketergantungan yang, jika dan hanya jika, nilai legal sebuah relasi sama
dengan proyeksi gabungan atribut – atributnya.
2.4. Metodologi Rekayasa Perangkat Lunak
Sejarah
munculnya
Rekayasa
Perangkat
Lunak
sebenarnya
dilatarbelakangi oleh adanya krisis perangkat lunak (software crisis) di era
tahun 1960-an. Krisis perangkat lunak merupakan akibat langsung dari
lahirnya komputer generasi ke 3 yang canggih, ditandai dengan penggunaan
Integrated Circuit (IC) untuk komputer. Performansi hardware yang
meningkat, membuat adanya kebutuhan untuk memproduksi perangkat lunak
yang lebih baik. Akibatnya perangkat lunak yang dihasilkan menjadi menjadi
beberapa kali lebih besar dan kompleks. Pendekatan informal yang digunakan
pada waktu itu dalam pengembangan perangkat lunak, menjadi tidak cukup
efektif (secara cost, waktu dan kualitas). Biaya hardware mulai jatuh dan
biaya perangkat lunak menjadi naik cepat. Karena itulah muncul pemikiran
untuk menggunakan pendekatan engineering yang lebih pasti, efektif, standard
dan terukur dalam pengembangan perangkat lunak.
Kalimat “seluruh aspek produksi perangkat lunak” membawa implikasi
bahwa bahwa Rekayasa Perangkat Lunak tidak hanya berhubungan dengan
masalah teknis pengembangan perangkat lunak tetapi juga kegiatan strategis
seperti manajemen proyek perangkat lunak, penentuan metode dan proses
29
pengembangan, serta aspek teoritis, yang kesemuanya untuk mendukung
terjadinya produksi perangkat lunak.
Kemudian tidak boleh dilupakan bahwa secara definisi perangkat lunak
tidak hanya untuk program komputer, tetapi juga termasuk dokumentasi dan
konfigurasi data yang berhubungan yang diperlukan untuk membuat program
beroperasi dengan benar. Dengan definisi ini otomatis keluaran (output)
produksi perangkat lunak disamping program komputer juga dokumentasi
lengkap berhubungan dengannya. Ini yang kadang kurang dipahami oleh
pengembang, sehingga menganggap cukup memberikan program yang jalan
(running program) ke pengguna (customer).
Dalam rekayasa perangkat lunak ini terdapat beberapa tahapan yang
secara sederhana dapat digambarkan sebagai analisa kebutuhan, desain,
implementasi, pengujian dan perawatan. Namun, dalam kenyataannya hal –
hal tersebut bisa menjadi sangat kompleks. Sebagai contoh, pada fase desain
biasanya dibagi secara umum menjadi, desain arsitektur dan desain secara
detail, dan seringkali bermacam fase pengujian dapat dibedakan..Komponen
dasar lainnya walau bagaimanapun, harus dilalui dalam setiap proyek.
Metodologi adalah cara sistematis atau cara yang didefinisikan dengan
jelas untuk mencapai tujuan akhir. Bagian awal dari rekayasa perangkat lunak
adalah pemodelan karena hal ini akan mempengaruhi pekerjaan dalam
rekayasa perangkat lunak tersebut. Salah satu model proses yang secara umum
digunakan dalam pengembangan rekayas perangkat lunak adalah model
Waterfall.
30
Pendekatan model waterfall berisi rangkaian aktivitas proses yang
disajikan dalam proses yang terpisah, mulai dari tahap awal requirement
capturing
(analisa
kebutuhan
pengguna),
specification
(menentukan
spesifikasi dari kebutuhan pengguna), desain, coding, testing sampai
pemeliharaan sistem setelah digunakan (Vliet, 2002).
COMMUNICATION
Project initiation
Requirement
gathering
PLANNING
Estimating
Scheduling
Tracking
MODELLING
Analysis
Design
CONSTRUCTION
Code
Test
DEPLOYMENT
Delivery
Support
Feedback
Gambar 2.10. Skema Waterfall (Pressman, 2005)
Proses
pengumpulan
kebutuhan
diintesifkan
dan
difokuskan,
khususnya pada perangkat lunak. Untuk memahami sifat program yang
dibangun, perekayasa perangkat lunak harus memahami domain informasi,
tingkah laku, unjuk kerja, dan antar muka (interface) yang diperlukan.
Kebutuhan baik untuk sistem maupun perangkat lunak didokumentasikan dan
dilihat lagi bersama pengguna.
Setelah didapat kebutuhan - kebutuhan yang diperlukan melalui fase
analisa kebutuhan, diperlukan adanya pemodelan sistem untuk menentukan
proses yang melayani kebutuhan dengan mempertimbangkan data – data yang
31
didapat saat analisa kebutuhan. Fase ini disebut juga fase desain yang
merupakan fase penting, di mana pada saat pertama kali memutuskan untuk
membuat sebuah desain memiliki pengaruh yang sangat besar pada kualitas
perangkat lunak yang akan dibuat. Fase ini menghasilkan spesifikasi teknis
yang menyajikan titik awal untuk fase implementasi.
Desain perangkat lunak sebenarnya adalah proses multi langkah yang
berfokus pada empat atribut sebuah program yang berbeda; struktur data,
arsitektur perangkat lunak, representasi interface, dan detail (algoritma) /
procedural. Proses desain menterjemahkan syarat / kebutuhan ke dalam
sebuah representasi perangkat lunak yang dapat diperkirakan demi kualitas
perangkat lunak sebelum dimulai pemunculan kode. Sebagai persyaratan,
desain didokumentasikan dan menjadi bagian dari konfigurasi perangkat
lunak.
Desain harus diterjemahkan ke dalam bentuk mesin yang bisa dibaca.
Langkah pembuatan kode melakukan tugas ini. Jika desain dilakukan dengan
cara yang lengkap, pembuatan kode dapat diselesaikan secara mekanis. Sekali
kode dibuat, pengujian program dimulai. Proses pengujian berfokus pada
logika internal perangkat lunak, memastikan bahwa semua pernyataan sudah
diuji, dan pada eksternal fungsional yaitu mengarahkan pengujian untuk
menemukan kesalahan – kesalahan dan memastikan bahwa input yang dibatasi
akan memberikan hasil aktual yang sesuai dengan hasil yang dibutuhkan.
Pemeliharaan meliputi pengkoreksian kesalahan yang tidak ditemukan
pada langkah sebelumnya. Perbaikan implementasi unit sistem dan
peningkatan jasa sistem sebagai kebutuhan baur ditemukan. Masalah yang ada
32
dalam penggunaan model Waterfall ini adalah partisi yang tidak dapat diubah
dari proyek ke tingkat yang berbeda. Pengiriman sistem terkadang tidak dapat
dipaksakan. Meskipun begitu, model Waterfall ini menggambarkan teknis
yang praktis.
a. Unified Modelling Language
Unified Modelling Language(UML) adalah bahasa standar untuk
melakukan spesifikasi, visualisasi, kostruksi, dan dokumentasi dari
komponen – komponen perangkat lunak, dan digunakan untuk pemodelan
bisnis (Dharwiyanti, 2003). Dengan menggunakan UML kita dapat
membuat model untuk semua jenis aplikasi perangkat lunak, dimana
aplikasi tersebut dapat berjalan pada perangkat keras, sistem operasi dan
jaringan apapun, serta ditulis dalam bahasa pemrograman apapun. Selain
itu UML juga dapat diartikan sebagai keluarga notasi grafis yang
didukung oleh model – model tunggal, yang membantu pendeskripsian
dan desain sistem perangkat lunak, khususnya sistem yang dibangun
menggunakan pemrograman berorientasi objek (Fowler, 2005).
Seperti bahasa – bahasa lainnya, UML mendefinisikan notasi dan
syntax atau semantik. Notasi UML merupakan sekumpulan bentuk khusus
untuk menggambarkan berbagai diagran piranti lunak. Setiap bentuk
memiliki makna tertentu, dan syntax UML mendifinisikan bagaimana
bentuk – bentuk tersebut dapat dikombinasikan. UML akan digunakan
pada tahap analisa dan desain. Desain yang dihasilkan berupa diagram –
33
diagram UML yang akan diterjemahkan menjadi kode program pada tahap
implementasi.
Tabel 2.2. Jenis diagram resmi UML (Munawar, 2005)
No
Diagram
Kegunaan
1
Activity
Perilaku procedural pararel
2
Class
Class, fitur, dan relasinya
3
Communication
Interaksi antar objek; penekanan pada link
4
Component
Struktur dan koneksi dari komponen
5
Composite Structure
Dekomposisi sebuah class pada saat runtime
6
Deployment
Penyebaran / instalasi ke klien
7
Interactive Overview
Gabungan sequence dan activity diagram
8
Object
Contoh konfigurasi dari contoh – contoh
9
Package
Struktur hierarki saat kompilasi
10
Sequence
Interaksi antar objek; penekanan pada sequence
11
State machine
Bagaimana event mengubah objek selama aktif
12
Timing
Interaksi antar objek; penekanan pada timing
13
Use Case
Bagaimana pengguna berinteraksi dengan sebuah
sistem
Diagram UML yang akan dibahas pada bab ini adalah use case diagram,
activity diagram, sequncei diagram, dan statechart diagram.
34
b. Use Case Diagram
Use case diagram adalah teknik untuk merekam persyaratan
fungsional sebuah sitem. Use case diagram mendeskripsikan interaksi
tipikal antara para pengguna system dengan sistem itu sendiri, dengan
memberi sebuah narasi tentang bagaimana system tersebut digunakan
(Fowler, 2005). Use case menjelaskan manfaat system jika dilihat menurut
pandangan orang yang berada di luar system (aktor) diagram ini
menunjukan fungsionalitas suatu system atau kelas dan bagaimana sistem
berinteraksi dengan dunia luar (Suhendar, 2002). Sebuah use case diagram
merepresentasikan sebuah interaksi antara aktor dengan sistem. Use case
merupakan sebuah pekerjaan tertentu, misalnya login ke sistem, membuat
sebuah daftar belanja, dan sebagainya. Seorang atau sebuah aktor adalah
sebuah entitas manusia atau mesin yang berinteraksi dengan sistem untuk
melakukan pekerjaan – pekerjaan tertentu.
Sebuah use case dapat memasukkan fnugsionalitas use case lain
sebagai bagian dari proses di dalamnya. Secara umum diasumsikan bahwa
use case yang dimasukkan akan dipanggil setiap kali use case yang
memasukkan dieksekusi secara normal. Sebuah use case juga dapat
memperluas use case lain dengan perilakunya sendiri. Sementara
hubungan generalisasi antar use case menunjukkan bahwa use case yang
satu merupakan spesialisasi dari yang lain.
35
Tabel 2.3. Notasi Use Case Diagram (Booch, 1998)
Notasi
Deskripsi
Aktor, yang digunakan untuk menggambarkan pelaku atau
pengguna. Pelaku ini meliputi manusia atau sistem computer atau
subsistem lain yang memiliki metode untuk melakukan sesuatu.
Contoh: Manager, pelanggan, dan lain – lain.
Use
case,
digunakan
untuk
menggambarkan
spesifikasi
pekerjaan (job specification) dan deskripsi pekerjaan (job
description), serta keterkaitan antar pekerjaan.
Contoh: pesan barang, menutup pintu, dan lain – lain.
Aliran proses (relationship), digunakan untuk menggambarkan
hubungan anatar use case dengan use case lainnya.
Aliran
perpanjangan
(extension
point),
digunakan
untuk
menggambarkan hubungan antara use case dengan use case yang
diperpanjang (extended use case) maupun dengan use case yang
dimasukkan (included use case).
Aliran yang digunakan untuk menggambarkan hubungan antara
aktor dengan use case.
Kondisi yang mendeskripsikan apa yang terjadi antara use case
<<extended>> dengan use case yang diperpanjang.
36
Tabel 2.3. Notasi Use Case Diagram (lanjutan)
Notasi
Keterangan
<<include>> Include
adalah
kondisi
aliran
proses
langsung
(directed
relationship) antara dua use case yang secara tak langsung
menyatakan kelakuan (behaviour) dari use case yang dimasukkan.
Adalah kondisi yang mendeskripsikan apa yang terjadi antara aktor
<<has>>
dengan use case.
c. Sequence Diagram
Sebuah sequence diagram secara khusus menjabarkan ektivitas
sebuah skenario tunggal. Diagram tersebut menunjukkan sejumlah objek
contoh dan pesan – pesan yang melewati objek – objek di dalam use case
diagram (Fowler, 2005). Sequence diagram menunjukkan interaksi dengan
menampilkan setiap partisipan dengan garis alir secara vertical dengan
pengurutan pesan dari atas ke bawah.
Sequence diagram biasa digunakan untuk menggambarkan
scenario atau rangkaian langkah – langkah yang dilakukan sebagai respon
dari sebuah kejadian (event) untuk menghasilkan keluaran tertentu.
Masing – masing objek, termasuk aktor, memiliki lifeline vertikal. Pesan
digambarkan sebagai garis berpanah dari satu objek ke objek lainnya.
37
Tabel 2.4. Notasi Sequence Diagram (Fowler, 2005)
No
Notasi
1
Keterangan
Frame, digunakan untuk menggambarkan sebuah interaksi
Lifeline, digunakan untuk mempresentasikan sebuah individu dalam
2
interaksi dan hanya sebuah entitas interaksi
Execution Specification, digunakan untuk menggambarkan spesifikasi
3
dari sebuah unit kelakuan atau aksi antar lifeline.
Pesan(message), digunakan untukmendeskripsikan pesan yang ada
4
1:message
antar lifeline.
Lost message, digunakan untuk menggambarkan sebuah pesan yang
5
mendefinisikan komunikasi particular antara lifelines dalam interaksi
lifelinen+1 ke lifelinen.
Found message, digunakan untuk menggambarkan sebuah pesan yang
6
mendefinisikan komunikasi particular antara lifelines dalam interaksi
lifelinen ke lifelinen+1.
Objek, digunakan untuk menggambarkan pelaku atau pengguna dalam
7
sequence diagram. Pelaku ini meliputi manusia atau sistem computer
atau subsistem lain yang memiliki metode untuk melakukan sesuatu
Aktor, yang digunakan untuk menggambarkan pelaku atau pengguna
8
dalam use case. Pelaku ini meliputi manusia atau sistem komputer
atau subsistem lain yang memiliki metode untuk melakukan sesuatu.
38
d. Activity Diagram
Diagram aktivitas adalah teknik untuk mendeskripsikan logika
procedural, proses bisnis dan aliran kerja dalam banyak kasus (Munawar,
2005). Activity diagram memodelkan alur kerja (workflow) sebuah proses
bisnis dan urutan aktivitas dalam suatu proses. Diagram ini sangat mirip
dengan sebuah flowchart karena kita dapat memodelkan sebuah alur kerja
dari suatu aktivitas ke akitivitas lainnya atau dari suatu aktivitas ke dalam
keadaan sesaat (state). Seringkali bermanfaat bila kita membuat sebuah
activity diagram terlebih dahulu dalam memodelkan sebuah proses untuk
membantu kita memahami proses secara keseluruhan. Activity diagram
juga sangat berguna ketika kita ingin menggambarkan perilaku
pararel/menjelaskan
bagaimana
perilaku
dari
berbagai
use
case
berinteraksi.
Tabel 2.5. Notasi activity diagram (Fowler, 2005)
No
Notasi
Keterangan
Aktivitas, digunakan untuk menggambarkan aktivitas dalam
1
diagram aktivitas
Node keputusan (decision node), digunakan untuk mengambarkan
2
kelakuan pada kondisi tertentu.
Titik awal, digunakan untuk menggambarkan awal dari diagram
3
aktivitas
39
Tabel 2.5. Notasi activity diagram (lanjutan)
No
Notasi
Keterangan
Titik akhir (final action), digunakan untuk menggambarkan
4
akhir dari diagram aktivitas
Akhir alur (flow final), digunakan untuk menghancurkan semua
5
tanda yang datang dan tak memiliki efek alur dalam aktivitas
Aksi (action), digunakan untuk menggambarkan alur antara
6
aksi dengan aksi, titik awal dengan aksi, atau aksi dengan titik
akhir
Aksi penerimaan kejadian (accept event action), sebuah aksi
7
yang menunggu sebuah kejadian dari suatu peristiwa bertemu
dengan kondisi tertentu.
Datastore digunakan untuk menjaga agar semua tanda yang
8
<<datastore>>
masuk dan menduplikasinya saat mereka dipilih untuk pindah
ke alur selanjutnya(downstream)
Node fork memiliki satu aksi yang masuk dan beberapa aksi
9
yang keluar
Join node digunakan untuk menggambarkan beberapa aksi
10
yang masuk dan satu aksi yang keluar.
40
e. Statechart Diagram
Menurut Booch, Rambaugh, dan Jacobson, statechart diagram
menggambarkan
kemungkinan
status
dari
sebuah
kelas
dan
kejadian(events) yang mengakibatkan perubahan status (state transition).
Pada umumnya statechart diagram menggambarkan class tertentu (satu
class dapat memiliki lebih dari satu statechart diagram).
Tabel 2.6. Notasi Statechart Diagram (Booch, 1998).
No
Notasi
Keterangan
Notasi state menggambarkan kondisi sebuah entitas, dan digambarkan
1
State 1
dengan segiempat yang pinggirnya tumpul dengan nama state di dalamnya
Transition, menggambarkan sebuah perubahan kondisi objek yang
disebabkan oleh sebuah event. Transition digambarkan dengan sebuah anak
2
Transition
panah dengan nama event yang ditulis di atasnya, dibawahnya, atau
sepanjang anak panah tersebut
Initial state adalah kondisi awal sebuah objek sebelum ada perubahan
3
keadaan. Initial state digambarkan dengan sebuah lingkaran solid. Hanya
satu initial state yang diizinkan dalam sebuah diagram
Final state, menggambarkan ketika objek berhenti memberi respon
4
terhadap sebuah event. Final state digambarkan dengan lingkaran solid di
dalam sebuah lingkaran kosong
41
f.
Class Diagram
Class Diagram adalah sebuah spesifikasi yang jika diinstansiasi
akan menghasilkan sebuah obyek dan merupakan inti dari pengembangan
dan
desain
berorientasi
obyek.
Class
menggambarkan
keadaan
(atribut/properti) suatu sistem, sekaligus menawarkan layanan untuk
memanipulasi keadaan tersebut (metoda/fungsi).
Class diagram menggambarkan struktur dan deskripsi class,
package dan object beserta hubungan satu sama lain seperti containment,
pewarisan, asosiasi, dan lainlain. Sebuah Class memiliki tiga area pokok :
1.
Nama, merupakan nama dari sebuah kelas.
2.
Atribut,
merupakan
peroperti
dari
sebuah
kelas.
Atribut
melambangkan batas nilai yang mungkin ada pada obyek dari class.
3.
Operasi, adalah sesuatu yang bisa dilakukan oleh sebuah class atau
yang dapat dilakukan oleh class lain terhadap sebuah class.
Atribut dan metoda dapat memiliki salah satu sifat berikut :
1.
Private, tidak dapat dipanggil dari luar class yang bersangkutan.
2.
Protected, hanya dapat dipanggil oleh class yang bersangkutan dan
anak-anak yang mewarisinya.
3.
Public, dapat dipanggil oleh siapa saja.
4.
Package, hanya dapat dipanggil oleh instance sebuah class pada paket
yang sama.
Berikut adalah notasi – notasi yang ada pada class diagram :
42
Tabel 2.7. Notasi Class Diagram (Booch, 1998).
No
Notasi
Keterangan
Class adalah blok - blok pembangun pada pemrograman
berorientasi obyek. Sebuah class digambarkan sebagai sebuah
Site Config
kotak yang terbagi atas 3 bagian. Bagian atas adalah bagian
1
+sqlDNS:string
+Adminemail:String
nama
dari
class.
Bagian
tengah
mendefinisikan
property/atribut class. Bagian akhir mendefinisikan methodmethod dari sebuah class.
Assosiation, sebuah asosiasi merupakan sebuah relationship
paling umum antara 2 class, dan dilambangkan oleh sebuah
garis yang menghubungkan antara 2 class. Garis ini bisa
2
1..n Owned by 1
melambangkan
tipe-tipe
relationship
dan
juga
menampilkan hukum-hukum multiplisitas pada
dapat
sebuah
relationship (Contoh: One-to-one, one-to-many, many-tomany).
Composition, jika sebuah class tidak bisa berdiri sendiri dan
harus merupakan bagian dari class yang lain, maka class
tersebut memiliki relasi Composition terhadap class tempat
3
dia bergantung tersebut. Sebuah relationship composition
digambarkan sebagai garis dengan ujung berbentuk jajaran
genjang berisi/solid.
43
Tabel 2.7. Notasi Class Diagram (lanjutan).
No
Notasi
Keterangan
Dependency, kadangkala sebuah class menggunakan class
yang lain. Hal ini disebut dependency. Umumnya penggunaan
4
dependency digunakan untuk menunjukkan operasi pada
suatu class yang menggunakan class yang lain. Sebuah
dependency dilambangkan sebagai sebuah panah bertitik-titik.
Aggregation,
mengindikasikan
keseluruhan
bagian
relationship dan biasanya disebut sebagai relasi “mempunyai
5
sebuah” atau “bagian dari”. Sebuah aggregation digambarkan
sebagai sebuah garis dengan sebuah jajaran genjang yang
tidak berisi/tidak solid.
Generalization, sebuah relasi generalization sepadan dengan
sebuah relasi inheritance pada konsep berorientasi obyek.
Sebuah generalization dilambangkan dengan sebuah panah
6
dengan kepala panah yang tidak solid yang mengarah ke
kelas
“parent”-nya/induknya.
44
Download