Anda di halaman 1dari 7

MODUL PERKULIAHAN

Analisis
Berorientasi
Objek
Software Class Diagram Tahap 1:
Menemukan Class & Method
Menggunakan DFD dan ERD

Fakultas Program Studi Tatap Muka Kode MK Disusun Oleh

12
Fakultas Ilmu Teknik Informatika Anis Cherid, S.E.,
S.E M.T.I.
Komputer

Abstrak Kompetensi
Dalam modul ini dibahas
d cara melaku- Mahasiswa diharapkan mampu
kan adaptasi terhadap DFD dan ERD menemukan berbagai class dan method
sehingga ditemukan berbagai class dan yang dibutuhkan untuk membangun
method yang dibutuhkan untuk software class diagram tahap 1, dengan
membangun software class diagram. Di melakukan analisis dan perancangan
antara class baru yang dijelaskan dalam terhadap berbagai input, proses dan
modul ini adalah class yang termasuk output yang terdapat dalam DFD dan
dalam lapisan data access, yang dengan melakukan analisa terhadap
dibutuhkan untuk melakukan
melaku update ERD.
database dan membuat collection.

Analisis Berorientasi Objek – Software Pusat Bahan Ajar dan eLearning


2013 http://www.mercubuana.ac.id
1 Class Diagram Tahap 1
Anis Cherid, S.E, M.T.I.
Pendahuluan

Yang diharapkan dari sebuah sistem perangkat lunak, pada akhirnya adalah output
(keluaran) yang dihasilkan oleh berbagai proses yang terdapat di dalam perangkat lunak
tersebut,, dengan menggunakan berbagai input yang diberikan kepada berbagai proses
tersebut. Melanjutkan pemba
ahasan pada modul sebelumnya, yaitu menggunakan DFD dan
ERD untuk melakukan analisa dan perancangan sehingga dapat disimpulkan apa input,
proses dan output yang terdapat dalam sebuah use case, dalam modul ini pembahasan
pembah
akan dimulai dengan mengidentifikasi berbagai class dan berbagai method yang dibutuhkan
agar berbagai output dari proses yang terakhir dapat dihasilkan,, untuk kemudian direkam
dalam database. Pembahasan kemudian akan dilakukan dengan cara mundur ke belakang,
untuk mengidentifikasi proses dan output yang lebih awal,, serta berbagai input yang
dibutuhkan oleh berbagai proses untuk menghasilkan output.
Sebelum proses adaptasi dari notasi DFD menjadi notasi yang dipergunakan dalam
analisis dan perancangan berorientasi
berori objek dapat dilakukan, terlebih dahulu akan disajikan
sebuah tabel yang memadankan atau menyetarakan berbagai
berbag notasi DFD dengan berbagai
komponen dalam diagram class atau diagram use case. Padanan dari berbagai komponen
kom
DFD dapat dilihat dalam Tabel XX.

Tabel XX Penyetaraan Notasi DFD dengan Notasi Diagram dalam Pendekatan Analisis dan
Perancangan Sistem Berorientasi Objek (OOAD)
No. Notasi Diagram dalam OOAD Notasi DFD
1.

Administrator

Administrator

2.

Sistem
Eksternal

Sistem Eksternal

3. Pasien Tabel Pasien

Analisis Berorientasi Objek – Software Pusat Bahan Ajar dan eLearning


2013 http://www.mercubuana.ac.id
2 Class Diagram Tahap 1
Anis Cherid, S.E, M.T.I.
4.

Pasien Mengganti
nama pasien
+gantiNamaPasien()

5.

HandlerTerimaPasien Menyusun
Daftar Tim
+susunDaftarTimDokter() Dokter

6.

Menerima
Menerima Pasien
Pasien
Rawat Inap
Rawat Inap

an Class dan Method dengan


Menemukan
Melakukan Analisis Input-Proses-Output
Input Output
Dalam merancang perangkat lunak dengan
deng pendekatan yang berorientasi objek,
objek tujuan
akhir yang ingin dicapai adalah ditemukannya berbagai method (aksi) yang dilakukan oleh
perangkat lunak. Berbeda dengan pendekatan struktural, yang tidak secara spesifik
menyebutkan di mana berbagai
berbagai aksi tersebut harus disimpan, dalam pendekatan
pen yang
berorientasi objek,, secara eksplisit dinyatakan bahwa yang dapat melaksanakan aksi hanya
objek saja. Dengan demikian, berbagai method merupakan aksi
aksi dari berbagai objek.
Pertanyaan selanjutnya yang harus dijawab adalah objek apakah yang memiliki
m method
yang dibutuhkan,, atau dengan kata lain, bagaimana membagi method di antara berbagai
objek? Untuk menjawab pertanyaan ini, kita akan mulai melakukan perancangan dengan
memperhatikan analisis terhadap input, proses dan ouput yang telah
telah kita lakukan ketika
ket
membuat DFD dan ERD pada modul sebelumnya.
Berdasarkan analisa yang telah kita lakukan pada modul sebelumnya, kita telah
menyimpulkan terdapat 3 datastore yang
ng dipergunakan untuk memperoleh input yang
dibutuhkan proses maupun untuk menyimpan (merekam) output yang dihasilkan. Dengan
demikian, kita dapat menyimpulkan bahwa terdapat 3 class dalam conceptual class diagram
yang terlibat dalam pelaksanaan use case "Terima Pasien",
Pasien yaitu class:

Analisis Berorientasi Objek – Software Pusat Bahan Ajar dan eLearning


2013 http://www.mercubuana.ac.id
3 Class Diagram Tahap 1
Anis Cherid, S.E, M.T.I.
1. Pasien
2. Kamar
3. Tim Dokter
Sementara berbagai aliran data input dan data output, merupakan petunjuk tentang
t adanya
aksi yang dilakukan oleh ketiga class tersebut,, atau dengan kata lain merupakan method
dari ketiganya.. Jika kita melakukan inventarisir terhadap aliran
aliran data input dari data store
menuju proses dan ouput dari proses menuju data store,, maka rinciannya adalah sebagai
seba
berikut:
1. Pasien:
a. Data yang merupakan output proses "Merekam data", yang harus direkam
dan merupakan atribut dari class Pasien sendiri: nama, jenis kelamin dan
tanggal lahir. Untuk merekam data yang merupakan atribut dari class Pasien
sendiri, method yang dibutuhkan adalah method yang tergolong method set
attribute,, yaitu:
i. setNama(nama:String)
setNama
ii. setJenisKelamin(jenisKelamin:char)
setJenisKelamin
iii. setTanggalLahir(tanggalLahir:Date)
setTanggalLahir
Khusus untuk method set attribute, setiap kali method jenis ini dilaksanakan
maka ada method lain yang harus dilaksanakan, yaitu method yang berjenis
update database.
database. Method ini bukan method yang dimiliki oleh class Pasien,
melainkan method yang dimiliki oleh
ole class dalam lapisan data access, yaitu
class DAO-Pasien
Pasien.
b. Data yang merupakan output proses "Merekam data", yang harus direkam
dan
n merupakan foreign key (atau
atau data yang rinciannya terdapat dalam tabel
yang lain):: idKamar, idTimDokter dan idDokterPenanggungJawab.
idDokterPenanggungJawab. Untuk
merekam data yang merupakan foreign key, dibutuhkan method set attribute
yang argumennya
nya berupa objek dari class yang terkait, yaitu:
i. setKamar(objekKamar:Kamar)
setKamar
ii. setTimDokter(objekTimDokter:TimDokter)
setTimDokter
iii. setDokterPenanggungJawab(objekDokterPenanggungJawab:
setDokterPenanggungJawab(objekDokterPenanggungJawab:Dokter)
Khusus untuk method set attribute, setiap kali method jenis ini dilaksanakan
maka ada method lain yang harus dilaksanakan, yaitu method yang berjenis
update database.
database. Method ini bukan method yang dimiliki oleh class Pasien,
melainkan method yang dimiliki oleh
ole class dalam lapisan data access, yaitu
class DAO-Pasien
Pasien. Method yang dipanggill untuk melakukan update
database adalah method updateDatabase(objekPasien:Pasien
:Pasien).

Analisis Berorientasi Objek – Software Pusat Bahan Ajar dan eLearning


2013 http://www.mercubuana.ac.id
4 Class Diagram Tahap 1
Anis Cherid, S.E, M.T.I.
Berdasarkan method setDokterPenanggungJawab(objekDokter:
objekDokter:Dokter),
dapat disimpulkan bahwa proses menyimpan data ke dalam objek Pasien
menyebabkan munculnya kebutuhan untuk berkomunikasi dengan objek
Dokter. Namun demikian, sebagaimana yang telah dibahas pada modul
sebelumnya, id dokter penanggung jawab tidak diperoleh langsung dari tabel
Dokter, melainkan diperoleh dari tabel TimDokter (yaitu idKepalaTim).
idKepalaTim
Dengan demikian, komunikasi tidak dilakukan dengan class Dokter secara
langsung, melainkan melalui objek TimDokter (akan dibahas pada bagian
berikutnya ketika membahas objek TimDokter).
2. TimDokter:
a. Data yang merupakan input bagi proses "Merekam data", yang merupakan
proses membaca data yang merupakan foreign key (atau data yang
rinciannya terdapat dalam tabel yang lain):
lain) idKepalaTim
Tim. Untuk membaca
data yang merupakan foreign key, dibutuhkan method get attribute yang akan
mengembalikan (return)
( objek dari class yang terkait: getKepalaTim():Dokter.
getKepalaTim
Proses pengembalian objek Dokter yang tepat, diasumsikan dilakukan
secara otomatis oleh lapisan data access dan tidak kita bahas secara rinci.
Kita hanya meringkas
meringkas bahwa untuk mendapatkan objek Dokter yang
merupakan kepala tim,
tim objek TimDokter berkomunikasi dengan objek/class
objek/
DAO-Dokter,, yaitu objek/class
objek/ yang membuat objek Dokter dan mengisi
berbagai atributnya dengan
deng data dari dalam tabel Dokter.
b. Data yang menjadi input bagi proses "Menampilkan
kan Tim Dokter", yang
merupakan proses penelusuran seluruh Tim Dokter dalam database untuk
menyusun Daftar Tim Dokter.
Dokter Untuk dapat menelusuri seluruh Tim Dokter,
Dokte
dibutuhkan koleksi/array Tim Dokter. Untuk membuat koleks/array Tim Dokter
dibutuhkan method create collection,, yaitu method
createCollection
createCollectionTimDokter():TimDokter[]. Harap diperhatikan bahwa method
ini bukan method dari objek/class Tim Dokter, melainkan method dari
objek/class DAO-Tim
DAO Dokter (yaitu class yang membaca tabel Tim Dokter
untuk menghasilkan array/koleksi objek Tim Dokter).
3. Kamar:
a. Data yang merupakan output proses "Merekam Data" yang harus direkam
dan merupakan atribut dari class Kamar sendiri: sisaTempat (proses ini tidak
dibahas pada modul sebelumnya, tetapi tersirat dalam use case "Terima
Pasien"). Untuk merekam data yang merupakan atribut dari class Pasien
sendiri, method yang dibutuhkan adalah method yang tergolong method set
attribute,, yaitu: setSisaTempat(sisaTempat - 1). Mengubah nilai atribut class

Analisis Berorientasi Objek – Software Pusat Bahan Ajar dan eLearning


2013 http://www.mercubuana.ac.id
5 Class Diagram Tahap 1
Anis Cherid, S.E, M.T.I.
Kamar berarti juga melakukan update database, sehingga dibutuhkan method
updateDatabase
Database(objekKamar:Kamar) dari class Kamar-DAO
DAO.
b. Data yang merupakan input
input bagi proses "Merekam Data" yang dibutuhkan
untuk menentukan sisa tempat tidur kosong sebelum dikurangi satu oleh
pasien yang baru, yang merupakan proses membaca data yang merupakan
atribut class Kamar sendiri: sisaTempat. Untuk membaca data yang
merupakan atribut class sendiri, dibutuhkan method get attribute,
attribute yaitu:
getSisaTempat
getSisaTempat():int.
c. Data yang merupakan input bagi proses "Mencari Kamar" yang dibutuhkan
untuk menemukan kamar dengan
dengan jenis kelamin yang sesuai dan masih
menyisakan tempat tidur kosong.
kosong. Untuk menemukan kamar yang sesuai,
dibutuhkan penelusuran seluruh Kamar dalam database untuk menyusun
Daftar Kamar.. Untuk menelusuri seluruh Kamar, dibutuhkan
tuhkan koleksi/array
Kamar. Untuk membuat koleksi/array Kamar, method create collection,
collection yaitu
method createCollectionKamar():Kamar[].
createCollectionKamar Harap diperhatikan bahwa method
ini bukan method dari objek/class Kamar,, melainkan method dari objek/class
DAO-Kamar (yaitu
( class yang membaca tabel Kamar untuk menghasilkan
array/koleksi objek Kamar).
Beberapa sofware class yang ditemukan pada tahap pertama ini, disajikan dalam Gambar
XX.

Analisis Berorientasi Objek – Software Pusat Bahan Ajar dan eLearning


2013 http://www.mercubuana.ac.id
6 Class Diagram Tahap 1
Anis Cherid, S.E, M.T.I.
PasienDAO Pasien
+nama: String
+updateDatabase()
+jenisKelamin: char
+tanggalLahir: Date
+umur: int
+setNama()
+setJenisKelamin()
+setTanggalLahir()
+setKamar()
+setTimDokter()
+setDokterPenanggungJawab()

TimDokterDAO TimDokter
+nama: String
+createCollectionTimDokter(): TimDokter[]
+getKepalaTim(): Dokter

KamarDAO Kamar
+nama: String
+createCollectionKamar(): Kamar[]
+jenisKelamin: char
+updateDatabase()
+kapasitas: int
+sisaTempat: int
+setSisaTempat()
+getSisaTempat(): int

Gambar XX Tahap 1 Menemukan Class dan Method pada Use Case "Terima Pasien"

Pada modul berikutnya kita akan membahas tentang menemukan berbagai class
dan method tambahan yang dibutuhkan untuk membuat software class diagram yang
lengkap, dengan menggunakan interaction diagram atau sequence diagram. Jika DFD dan
ERD sangat efektif dipergunakan
akan untuk melakukan analisis dan perancangan pada aliran
data input dari data store menuju proses dan aliran data output dari proses menuju data
store, maka interaction diagram (sequence diagram) sangat efektif untuk melakukan analisis
dan perancangan pada aliran data dari dan menuju external entity.

Daftar Pustaka
Fowler, Martin dan Scott, Kendall. 1999. UML Distilled: A Brief Guide to The Standard
Object
ect Modelling Language. 2nd Edition. Addison Wesley Longman.

Leffingwell, Dean dan Widrig, Don. 2003. Managing Software Requirements: A Use Case
Approach. 2nd Edition. Pearson Education, Boston.

Analisis Berorientasi Objek – Software Pusat Bahan Ajar dan eLearning


2013 http://www.mercubuana.ac.id
7 Class Diagram Tahap 1
Anis Cherid, S.E, M.T.I.

Anda mungkin juga menyukai