Class diagram mendeskripsikan tentang jenis-jenis objek dalam system dan berbagai macam hubungan statis yang terdapat diantara mereka. Class diagram juga property dan operasi sebuah class dan batasan-batsan yang terdapat dalam hubungan-hubungna objek tersebut. UML menggunakan istilah-istilah dan fitur sebagai istilah umum yang meliputi property dan operasi sebuah class
Perspektif tehadap diagram class 1. Konseptual
Konsep-konsep ini akan secara alami behubungan dengan kelas-kelas yang mengimplementasikannya, tapi sering bukan pemetaan secara langsung.
2. Spesifikasi
Perspektif ini mempedulikan tentang perangkat lunak, namun pandangan kita hanya sampai pada antarmuka dari perangkat lunak,bukan implementasinya. Memisahkan antarmuka (Interface) dan implementasinya adalah penting. Kebanyakan bahasa berorientasi objektidak melakukanya, demikian juga kebanyakan metodologi tidak mengikutinya.
3. implementasi
memahami mengenai perspektif dimana diagram class dibuat atau di baca adalah penting. Ketika kita membuat diagram, kita menggambarkannya dari suatu perspektif tunggal yang jelas,maka ketika kita membaca diagram itu haruslah pada perspektif yang sama dengan perspektif penggambaranya.
Elemen diagram kelas Kelas
Merupakan elemen terpenting di system berorientasi objek. Kelas mendeskripsikan satu blok pembangun system. Kelas memiliki sejumlah fitur, kita dapat memodelkan multiplisitas, ketampakan, penanda, polymorphism dan karakteristik-karakteristik lain.
a. Memberikan abstaraksi yang tajam mengenaisesuatu yang di peroleh dari kosakata domain persoalan dan domain solusi.
b. Berisi sekumpulan tanggung jawab yang terdifinisi bagus dan kecil serta dapat dilaksanakan dengan baik.
c. Menjediakan pemisah yang jelas antara spesifikasi dan implementasi abstraksi. d. Mudah di pahami dan sederhana sekaligus mudah di perluas dan di adaptasi.
Nama
Nama kelas harus unik.nama akan menjadi identifier di program,seharusnya sedini mungkin dipilih nama yang memenuhi aturan bahasa pemprograman.
Atribut
Atribut adalah property bernama kelas yang mendeskripsikan range nilai yang di punyai instan kelas. Kelas dapat mempunyai sejumlah atribut atau tidak ama sekali.
Atribut dapat didekripsikan dengan : Nama saja
Ketampakan dan nama Nama dan tipe
Nama dan tipe kompleks
Nama,multiplisitas/kardinalitas dan tipe Nama,tipe dan nilai awal
Nama dan property Operasi
Implementasi layanan yang dapat diminta pada sembarang objekkelas itu untuk mempegaruhi perilaku system. Operasi adalah abstraksi dari sesuatu yang dapat dilakukan pada objek. Kelas dapat mempuyai sejumpal operasi atau tidak sama sekali. Operasi dapat dideklarasikan dengan
1. Nama saja
2. Ketampakan dan nama 3. Nama dan parameter
1. Public, disimbolkan dengan +, dapat diakses operasi-operasi diluar kelas.
2. Protected, disimbolkan dengan #, hanya dapat diakses operas-operasi di kelas dan
kelas-kelas turunan.
3. Private, disimbolkan dengan -, hanya dapat diakses operasi-operasi di kelas.
Kegunaan Diagram Kelas
Kegunaan diagram kelas adalah sebagai berikut: 1. Memodelkan kosa kata di system
2. Memodelkan distribusi tanggung jawab di system 3. Memodelkan tipe primitive
4. Memodelkan entitas bukan perangkat lunak 5. Memodelkan kolaborasi
6. Memodelkan skema basisdata logic
Komponen pada Class Diagram :
Atribut: karakteristik dari suatu kelas yang menggambarkan suatu rentang nilai
dan merupakan isi dari kelas tersebut. Sebuah kelas dapat berisi beberapa atribut atau tidak memiliki atribut sama sekali. Contoh :
Operasi: implementasi suatu layanan yang dapat dilakukan dari obyek apapun di
dalam suatu kelas sehingga mempengaruhi behavior. Suatu kelas dapat
Association
Definisi: hubungan atau relasi semantik antara suatu kelas dengan kelas lainnya
Multiplicity
Definisi: jumlah atribut satu kelas yang berhubungan dengan SATU atribut kelas
yang lainnya pada suatu waktu tertentu.
Contoh, jika kita melihat pada sistem pendaftaran matakuliah untuk suatu
perguruan tinggi, kita mungkin memiliki kelas-kelas yang kita namakan kelas Mahasiswa dan kelas Matakuliah, maka ada relasi di antara kelas-kelas tersebut.
Aggregation
Dependency
Definisi: relasi antara dua elemen model dimana perubahan di dalam satu
elemen akan menyebabkan perubahan pada elemen yang lain.Dependency
berbeda dengan asosiasi dimanadependencyselalu bersifat satu arah
(unidirectional).
Contoh:
Generalisasi
Definisi: relasi/hubungan pewarisan(inheritance)antarunsur dalam diagram
kelas. Generalisasi akan mendefinisikan suatu hirarki dimana subkelas akan mewarisi sifat (inherits) dari satu atau lebih superkelas.
Sebenarnya, istilah generalisasi daninheritancedapat saja dipertukarkan,
perbedaannya adalah istilah generalisasi merupakan nama relasi sementara
Hubungan / kardinalitas dalam class diagram :
Kardinalitas Contoh minimum Contoh maximum Notasi
Tetap 1 1 1
Atau
Nola tau Satu 0 1
Satu atau Lebih 1 Banyak >1
Nol , Satu atau Lebih 0 Banyak >1
Lebih dari satu >1 >1
Relasi pada diagram class / Multiplisity :
Multiplisity Notasi di uml Asosiasi dangan multiplisity
Exatly 1 1 ot leave blank
Zero or 1 0… 1
Zero or more 0…. *
1 0…1
Specific range 7… 9
Langkah-langkah membuat class diagram di Relational Rose 2003 : 1. Klik kanan locical view
2. Pilih new, Class diagram
3. Buatlak class di lembar kerja
6. Membuat relasi antara interface dengan entity
Klik 2 x pada relasi yang menghubungkan entity tema dengan entity karya ilmiah
Jika tidak ada relasi association maka lakukan langkah-langkah sebagai berikut :
Pada tampilan customize toolbar pilihcreate an association relationallalu klik add untuk dapat di gunakan.
KASUS
Pencatatan suatu Karya Ilmiah Mahasiswa/ Mahasiswi pada Perguruan Tinggi XYZ Bogor Masih Menggunakan Sistem Manual di mana data-data suatu pembuatan karya ilmiah tersebut masih mengandalkan lembar catatan Karya Ilmiah dan disimpan di suatu rak / lemari. Pada Pencatatan Karya Ilmiah sangat sulit untuk mencari data berdasarkan tema Karya Ilmiah yang dibuat oleh Mahasiswa sebelumnya. Akhirnya untuk mempermudah kejadian-kejadian diatas dibuatlah suatu Pembangunan Sistem Pengolahan Data Karya Ilmiah Mahasiswa yang terkomputerisasi dan datanya disimpan dengan menggunakan database. Ada beberapa kendala dalam pembuatan Pembangunan Sistem Pengolahan Data Karya Ilmiah Mahasiswa adalah dalam suatu pemilahan tema pada suatu pembuatan Karya Ilmiah Mahasiswa yang dikelompokan berdasarkan tema dan judul yang akan dicari, dan pemilahan pada jenis pengembangan sistem. Dibuatkannya Pembangunan Sistem Pengolahan Data Karya Ilmiah Mahasiswa untuk menggelolah data tentang karya ilmiah mahasiswa, untuk mempermudah mahasiswa dalam mencari referensi karya ilmiah yang telah berhasil di buat, untuk mempermudah pihak perputakaan dalam mengontrol pustaka karya ilmiah ini,
PEMECAHAN :
• Melihat Proses Bisnis Lama dalam pengolahan data karya llmiah Proses Lama
Program studi dan jurusan Academic Mahasiswa
Mencari Judul
Karya Ilmiah Mengisi judul karya ilmiah
Mengisi Dosen Pembimbing
Mengisi Data Penyusun
Mengisi Data Pengalaman dosen pembimbing Melihat Data
Dosen Pembimbing
Melihat Laporan Karya Ilmiah
Laporan Data Dosen Pembimbing
Deskripsi :
Proses awal dalam pembuatan karya ilmiah adalah mahasiswa pertama-tama mahasiswa melihat judul karya ilmiah yang telah dibuat oleh mahasiswa sebelumnya dengan mengunjungi perpustakaan, lalu mahasiswa menanyakan kepada program studi apakah judul yang akan di angkat tersebut apakah telah ada atau belum, apabila judul tersebut tidak sama/ belum ada maka mahasiswa langsung menuliskan formulir pengajuan, dimana dalam formulir tersebut mahasiswa menuliskan judul yang akan diangkat beserta dosen pembimbing. Dalam pencarian judul yang dilakukan oleh program studi dengan cara mencari secara manual dengan melihat-lihat formulir pengajuan yang telah dibuat oleh mahasiswa.
• Sistem yang akan dibuat (Proses bisnis baru)
Aplikasi Pembangunan Sistem Pengolahan Data Karya Ilmiah Mahasiswa pada Perguruan Tinggi XYZ BOGOR diharapkan dapat membantu dalam pengolahan data karya ilmiah yang dibuat oleh mahasiswa. Dimana yang menginputkan data tentang karya ilmiah mahasiswa yang telah di sepakati oleh pihak academic, data dosen pembimbing yang telah ditetapkan oleh pihak academic adalah Program Studi Sistem Informasi dan Program Studi Teknik Informatika, Dimana Software yang diperlukan untuk Program ini oleh program studi adalah instalasi Aplikasi tentang Pengolahan Data Karya Ilmiah, dan Pengaturan ODBC. Apikasi ini dibangun dengan bahasa pemprograman Visual basic 6.0 yang merupakan salah satu aplikasi dalam sistem windows yang berorientasi pada grafis/GUI (Graphical User Interface)dan berbasis pemprograman event driven yang berarti program menunggu sampai ada respon dari pemakai berupa event/kejadian tertentu.ketika event terdeteksi, kode yang berhubungan dengan event akan
Menghapus data, Mengganti Data, menambah data atau yang disebut Full Control. Di dalam Aplikasi ini Program Studi dapat melihat berapa banyak tema, judul dan Jumlah Karya Ilmiah yang sudah dibuat oleh mahasiswa dalam bentuk Grafik Batang, dan terapat laporan dalam bentuk Non Grafik atau tulisan.
Didalam aplikasi ini program studi dapat mencetak langsung laporan karya ilmiah berupa tulisan yang ditentukan berdasarkan tahun ajaran. Untuk Database disimpan dikomputer server dimana yang bertanggung jawab tentang database adalah administrator. Dalam pembuatan program tersebut keuntungan mahasiswa adalah dapat mencari data dosen pembimbing, dapat mencari data karya ilmiah yang sudah dibuat oleh mahasiswa sebelumnya, dan dapat melihat histori/ isi ringkasan dalam beberapa judul yang telah dibuat oleh mahasiswa sebelumnya. Aplikasi ini dapat diakses melalui komputer di area atau lingkungan yang terkoneksi dengan jaringan local di Perguruan Tinggi XYZ dengan tujuan untuk mempermudah mahasiswa dalam mencari judul karya ilmiah yang yang sudah dibuat dan mempermudah melihat isi ringkasan dari masing-masing karya ilmiah yang sudah dibuat.
Menginput Penyusun Menginput Karya Ilmiah Menginput Data Dosen
Pembimbing
Menginput Pembimbing Menginput Tema
Melihat Laporan Dosen Pembimbing
Melihat Laporan Tema Karya Ilmiah
Melihat Laporan Karya Ilmiah
Mencari Karya Ilmiah
Mencari Dosen Pembimbing Jurusan Wakil Ketua Academic Login Mahasiswa Mengganti Password
Inherits Actor
jurusan /prodi mhs
Ketua Academic User
(from Logical Vi ew)
<<inherits>>
<<inherits>>
<<inherits>>
Usecase Extends Diagram
Menginput Penyusun Menginput Pembimbing Menginput Karya Ilmiah
Melihat Laporan Tema Karya Ilmiah
Melihat Laporan Karya Ilmiah
Melihat Laporan Dosen Pembimbing Melihat laporan berupa table dan
grafik
<<extend>>
<<extend>>
<<extend>>
Usecase Depends On
• Activity Diagram
Cari Data Dosen
Check Nip
Tampil Data Pembimbing
Menginput Pembimbing
Tidak Lengkap Lengkap
Configuration Interface
List Data Pembimbing
Save
Menginput Penyusun
cari data mahasiswa
check NPM
tampil data penyusun
Tidak Lengkap Lengkap
Configuration Interface
List Data penyusun
Mengganti Pasword
Input Userid dan password
Tampilan Prog Studi Tampilan Mahasiswa
Ganti Password
Input userid dan password baru
Check data
Save
Tidak Lengkap Lengkap
Mencari karya ilmiah
Pilih yang dicari Input Userid dan password Check userid dan password
Tampil halaman cari karya ilmiah
Massukan data Check data
List karya ilmiah
Tidak Sesuai
Sesuai Tidak Lengkap
47
Tampilan input Dosen
check data
Masukan Data Dosen Pembimbing
save
Menginput Data Dosen Pembimbing
Lengkap
• Sequence Diagram
Melihat Laporan karya ilmiah
Input userid dan password
Check data
list karya ilmiah
: Jurusan
: frminput karya ilmiah
: Proses : Penyusun : Mhs Cari NPM( ) Check Npm( ) Get (Npm,Nama) Klik Save( ) Save( ) Plih Data( ) Klik Update( ) Get Data Karya ilmiah( )
Klik Data Penyusun( ) Get (NPM,Nama) Cari Npm( ) Check Npm( ) Get (Npm,Nama) Klik Save( ) Save( )
Klik 2x Data Yabg di Hapus( )
Confirm Delete( ) Klik yes( )
: User : Login
: Proses : Tbluser : Tampilan User Input Userid and Pass( )
Check Userid dan Pass( )
Show( ) Klik Ganti Password( )
Input Userid dan Password( )
Check Valid Data( )
: Jurusan : Interface Lap.Karya ilmiah : Proses : Karya ilmiah Klik Lap.Table( )
Input Tahun Penyusunan( )
Klik Preview( )
Check Data( )
confirm error( )
Show data table( )
Klik Lap.Grafik( )
Input Tahun Penyusunan( )
Klik Preview( )
Check Data( )
confirm error( )
Show Data Grafik( ) Print( )
: Mahasiswa : Login
: Interface Cari Karya Ilmiah : Proses
: Karya Ilmiah Input Userid and Pass( )
Check Userid dan Pass( )
Show Karya ilmiah( )
Input data karya ilmiah yang dicari( )
confirm kesalahan( )
Show yang di cari( )
• Colaborasi
: Jurusan
: frminput karya ilmiah
: Proses 1: Cari NIP( ) 2: Check Nip( ) 3: Get(NIP,Nama) 4: Klik Save( ) 5: 6: 7: Save( ) 8: Plih Data( ) 9: Klik Update( )
10: Get Data Karya ilmiah( ) 11: Klik Data Pembimbing( )
12: Get(NIP,Nama) 13: Cari NIP( ) 14: Check Nip( ) 15: Get(NIP,Nama) 16: Klik Save( ) 17: 18: 19: Save( ) 20: Klik 2x data yang di hapus( )
21:
22: Confirm delete( ) 23: Klik yes( )
24:
: Jurusan
: frminput karya ilmiah
: Proses : Penyusun : Mhs 1: Cari NPM( ) 2: Check Npm( ) 3: Get (Npm,Nama) 4: Klik Save( ) 5: 6: 7: Save( ) 8: Plih Data( ) 9: Klik Update( )
10: Get Data Karya ilmiah( ) 11: Klik Data Penyusun( )
12: Get (NPM,Nama) 13: Cari Npm( ) 14: Check Npm( ) 15: Get (Npm,Nama) 16: Klik Save( ) 17: 18: 19: Save( )
20: Klik 2x Data Yabg di Hapus( )
21: 22: Confirm Delete( ) 23: Klik yes( )
24:
: Tbluser : User
: Login
: Tampilan User
: Proses 1: Input Userid and Pass( )
2: Check Userid dan Pass( ) 3:
4: Show( )
5: Klik Ganti Password( ) 6: Input Userid dan Password( )
7: Check Valid Data( ) 8:
: Jurusan : Interface Lap.Karya ilmiah
: Proses
: Karya ilmiah 1: Klik Lap.Table( )
2: Input Tahun Penyusunan( ) 3: Klik Preview( )
4: Check Data( ) 5: confirm error( )
6: Show data table( ) 7: Print( )
8: Klik Lap.Grafik( ) 9: Input Tahun Penyusunan( )
10: Klik Preview( )
11: Check Data( ) 12: confirm error( )
13: Show Data Grafik( ) 14: Print
: Proses : Mahasiswa
: Login
: Interface Cari Karya Ilmiah
: Karya Ilmiah 2: Check Userid dan Pass( )
3:
4: Show Karya ilmiah( )
6: confirm kesalahan( )7: Show yang di cari( ) 1: Input Userid and Pass( )
5: Input data karya ilmiah yang dicari( )
• State Transition Diagram
Pembangunan Sistem Pengolahan Data Karya Ilmiah Mahasiswa
User User Id Password Data Tema A d d U p d a te s e a rc h d e le te e x it S e le c t D a ta T e m a
Input Data Tema Save Cancel
Select Input Data Tema
d a te h ex it K o d e a ry a h C a n c e l t In p u t A w a l Il m ia h
Data Karya Ilmiah
Add Update search delete exit
Select Data Karya Ilmiah Input Karya Ilmiah
Save Cancel
Select Input Karya Ilmiah Laporan Search Preview Exit
• Componen Diagram
P em b an g u n an S istem P en g o lah an D ata K arya Ilm iah {file.E xe} {file.frm } {file.vbp } {file.cls} {file.jpg } {file.m yd } {file.rpt} {file.M di} • Package Diagram K o n tro l S is te m S is te m A p lik a s i D a ta b a s e s M y s q l
• Deployment Diagram Server Operating System = Win 2000 server Database = Appserv 2.4.5 (MySQl) Client Operating System = Win XP Aplikasi = Visual Baisc 6.0 TCP/IP ADODC
• Class Diagram Visual Basic 6.0
VBRUN Ver 6.0 (Visual Basic runtime objects and procedures)
stdole Ver 2.0 (OLE Automation)
VBA Ver 6.0 (Visual Basic For Applications) VB Ver 6.0 (Visual Basic
objects and procedures)
The stdole library provides OLE Automation objects.
The VBRUN library provides Visual Basic runtime objects and procedures.
• Class Diagram Input Tema save() cancel() Data Karya Ilmiah add() update() delete() detail() search() Data Tema add() update() delete() search() Input Penyusun save() search() Input Pembimbing save() search() Input Karya Ilmiah save() search() Mahasiswa
(from Us e Cas e View)
jurusan /prodi
(from Us e Cas e View)
Tema kdtema varchar nmtema varchar Jenjang kdjenjang varchar nmjenjang varchar Kelas kdkelas varchar nmkelas varchar Pembimbing nip varchar kdkaryailmiah varchar tbldosen nip varchar nama varchar thnmasuk date +1... * +1 tblmahasiswa npm varchar kdprogstudi varchar kdjenjang kdkelas varchar +1 +1... * +1... * +1 Progstudi kdprogstudi varchar nmprogstudi varchar +1 +1... * Matkul kdmatkul varchar nmmatkul varchar kdkategori matkul Tblkarya_ilmiah kdkarya_ilmiah varchar nm_karyailmiah varchar kdtema varchar kdmatkul varchar isiringkasan varchar thnpenyusunan varchar kdprogstudi varchar semester int karyailmiah_sebelumnya varchar +1... * +1 +1 +1... * Tblpenyusun kdkaryailmiah varchar npm varchar ipk int semester varchar +1... * +1 +1... * +1
Input Tema save() cancel() Input Penyusun save() search() Input Pembimbing save() search()
Input Karya Ilmiah save() search() tbldosen nip varchar nama varchar thnmasuk date Pembimbing nip varchar kdkaryailmiah varchar Jenjang kdjenjang varchar nmjenjang varchar Kelas kdkelas varchar nmkelas varchar Progstudi kdprogstudi varchar nmprogstudi varchar Tema kdtema varchar nmtema varchar Matkul kdmatkul varchar nmmatkul varchar kdkategori matkul tblmahasiswa npm varchar kdprogstudi varchar kdjenjang kdkelas varchar Tblpenyusun kdkaryailmiah varchar npm varchar ipk int semester varchar Tblkarya_ilmiah kdkarya_ilmiah varchar nm_karyailmiah varchar kdtema varchar kdmatkul varchar isiringkasan varchar thnpenyusunan varchar kdprogstudi varchar semester int karyailmiah_sebelumnya varchar +1... * +1 +1 +1 +1 +1 +1 +1... * +1... * +1... * +1 +1... * +1... * +1... * +1... * +1
DAFTAR PUSTAKA
[1] Metode Desain & Analisa Sistem Edisi 6, Jefry L Whitten (2004)
[2] Relational Rose Untuk Pemodelan Berorientasi Objek , Adi Nugroho (2005) [3] Rekayasa Sistem Berorientasi Objek, Bambang Harianto (2004)