5 Perancangan Kelas
Class  adalah  sebuah  spesifikasi  yang  jika  diinstansiasi  akan  menghasilkan sebuah  objek  dan  merupakan  inti  dari  pengembangan  dan  desain  berorientasi
objek.  Class  menggambarkan  keadaan  atributproperti  suatu  sistem,  sekaligus menawarkan  layanan  untuk  memanipulasi  keadaan  tersebut  metodefungsi.
Class  diagram    menggambarkan    struktur    dan    deskripsi    class,  package  dan objek beserta hubungan satu sama lain.
2.4.2 Unified Modelling Language UML
1 Sejarah UML
Grady    Booch      dan    Jim    Rumbaugh     memulai    penelitian     di   Rational Software    Co.    sekitar    tahun    1994.  Tujuan  mereka  yakni    menciptakan  sebuah
metode  baru  yang  dapat  menciptakan  metode-metode  sebelumnya  yang  dapat digunakan  pada  semua  kalangan.  Sekitar  tahun  1995  Ivar  Jacobson,  seorang
tokoh  yang  menciptakan  OOSE  and  Objectory  Methode  bergabung.  Selain  itu, perusahaan Rational Software Co. Membeli lisensi Objectory System dari Swedish
Company  sebagai  pengembang  dan  pendistribusinya.  Maka  lahirnya  sebuah metode  baru  yang  mereka  beri  nama  “Unified  Modeling  Languange”  yang
diharapkan  dapat  menjadi  sebuah  bahasa  pemodelan  standar  seperti  yang terlihat pada Gambar 2.3 Unsur-unsur Pembentuk UML.
Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
Gambar 2.3 Unsur-unsur Pembentuk UML
2 Definisi Unified Modelling Language
Unified Modelling Language merupakan  sebuah  notasi grafis  standar untuk
menggambarkan  sistem  berorientasi  objek  yang  merupakan  hasil kerja  sama  dari Grady Booch, James Rumbaugh dan Ivar Jacobson.
Menurut Bahrami 1999, Unified Modeling Language UML adalah suatu bahasa
untuk menetapkan,
membangun, memvisualisasikan,
dan mendokumentasikan sistem perangkat lunak dan komponen-komponennya.
Dari  definisi  di  atas  UML  merupakan  sebuah  bahasa  pemodelan  suatu sistem  berdasarkan  grafik  atau  gambar  untuk  menspesifikasikan,  membangun,
memvisualisasikan  dan  mendokumentasikan  suatu  sistem  perangkat  lunak berorientasi  objek.  UML  memberikan  standar  penulisan  sebuah  sistem  yang
meliputi  konsep  bisnis  proses,  penulisan  kelas,  skema  database,  dan  komponen yang diperlukan dalam sistem perangkat lunak.
Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
3 View Dalam UML
UML  dibangun  atas  model  4+1  view.  Model  ini  didasarkan  pada  fakta bahwa  struktur  sebuah  sistem  dideskripsikan  dalam  5 view  di  mana  salah  satu di
antaranya  use  case  view.  Use  case  view  ini  memegang  peran  untuk mengintegrasikan content ke view yang lain seperti yang terlihat pada Gambar 2.4
Model 4+1 View.
Gambar 2.4 Model 4+1 View
Use  case  View  mendefinisikan  perilaku  eksternal  sistem.  Hal  ini  menjadi daya  tarik  bagi  end-user,  analis  dan  tester.  Selanjutnya  Design  view
mendeskripsikan struktur logika  yang mendukung  fungsi-fungsi  yang dibutuhkan di  use  case.  Design  view  berisi  definisi  komponen  program,  class-class  utama
bersama-sama dengan spesifikasi data, perilaku dan  interaksinya. Implementation view menjelaskan komponen-komponen fisik dari sistem yang akan dibangun.
Process  view  berhubungan  dengan  hal-hal  yang  berkaitan  dengan concurrency  di  dalam  sistem.  Sedangkan  deployment  view  menjelaskan
bagaimana  Design  Implementation  Process  Deployment  Use  Case  komponen- komponen fisik didistribusikan ke lingkungan fisik. Kedua view ini menunjukkan
kebutuhan  non-fungsional  dari  sistem. Deployment  View  menjelaskan  bagaimana komponen-komponen  fisik  didistribusikan  ke  lingkungan  fisik  seperti  jaringan
Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
komputer,  printer  dan  peralatan  lainnya  serta  bagaimana  peralatan  tersebut dihubungkan dengan peralatan yang lainnya di mana sistem akan dijalankan.
4 Diagram-Diagram Unified Modelling Language
Setiap  sistem  yang  kompleks  memiliki  pendekatan  yang  terbaik  melalui suatu himpunan kecil dalam pandangan semua view dalam suatu model, tidak ada
single  view  yang  terpenuhi.  Setiap  model  bisa  dinyatakan  pada  tingkat  yang berbeda dari ketepatannya.
Diagram-diagram  yang terdapat pada UML seperti  yang dapat terlihat pada Gambar 2.5 Klasifikasi Jenis Diagram UML Versi 1.3.
Gambar 2.5 Klasifikasi Jenis Diagram UML Versi 1.3
Diagram kelas bersifat statis, diagram  ini  memperlihatkan  himpunan kelas- kelas,  serta  relasi-relasi.  Diagram  ini  umum  dijumpai  pada  pemodelan  sistem
berorientasi  objek.  Meskipun  bersifat  statis,  sering  pula  diagram  kelas  memuat kelas-kelas  aktif.  Diagram  Objek  bersifat  statis,  diagram  ini  memperlihatkan
Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
objek-objek  serta  relasi-relasi  antar  objek.  Diagram  objek  memperlihatkan instansiasi statis dari segala sesuatu yang dijumpai pada diagram kelas. Use Case
Diagram  bersifat  statis,  diagram  ini  memperlihatkan  himpunan  use  case  dan aktor-aktor  suatu  jenis  khusus  dari  kelas.  Diagram  ini  terutama  sangat  penting
untuk  mengorganisasi  dan  memodelkan  perilaku  dari  suatu  sistem  yang dibutuhkan  serta  diharapkan  pengguna.  Sequence  diagram  bersifat  dinamis,
diagram  urutan  adalah  diagram  interaksi  yang  menekankan  pada  pengiriman pesan  message  dalam  suatu  waktu  tertentu.  Collaboration  diagram  Bersifat
dinamis,  diagram  kolaborasi  adalah  diagram  interaksi  yang  menekankan organisasi  struktural  dari  objek-objek  yang  menerima  serta  mengirim  pesan
message. Statechart diagram bersifat dinamis, diagram state ini memperlihatkan state-state  pada  sistem  memuat  state,  transisi,  even,  serta  aktivitas.  Diagram  ini
terutama  penting untuk  memperlihatkan  sifat  dinamis  dari  antarmuka  interface, kelas,  kolaborasi  dan  terutama  penting  pada  pemodelan  sistem-sistem  reaktif.
Activity  diagram  bersifat  dinamis,  diagram  aktivitas  ini  adalah  tipe  khusus  dari diagram state yang memperlihatkan aliran dari suatu aktivitas ke aktivitas lainnya
dalam suatu sistem. Diagram ini terutama penting dalam pemodelan fungsi-fungsi dalam  suatu  sistem  yang  memberi  tekanan  pada  aliran  kendali  antar  objek.
Component  diagram  bersifat  statis,  diagram  komponen  ini  memperlihatkan organisasi  serta  kebergantungan  sistemperangkat  lunak  pada  komponen-
komponen yang telah ada sebelumnya. Diagram ini berhubungan dengan diagram kelas di  mana komponen  secara tipikal dipetakan  ke dalam  satu atau lebih kelas-
kelas, antarmuka-antarmuka interfaces, serta kolaborasi-kolaborasi. Deployment diagram  bersifat  statis,  diagram  ini  memperlihatkan  konfigurasi  saat  aplikasi
Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
dijalankan  saat  runtime.  Diagram  ini  memuat  simpul-simpul  node  beserta komponen-komponen  yang  ada  di  dalamnya.  Deployment  diagram  berhubungan
erat  dengan  diagram  komponen  di  mana  deployment  diagram  memuat  satu  atau lebih komponen-komponen. Diagram ini sangat berguna saat aplikasi kita berlaku
sebagai aplikasi yang dijalankan pada banyak mesin distributed computing. Class  diagram,  juga  dikenal  sebagai  objek  modeling,  adalah  diagram
analisis  statis  yang  utama.  Diagram  ini  menunjukkan  struktur  yang  statis  dari suatu  model.  Suatu  class  diagram  adalah  suatu  koleksi  unsur-unsur  modeling
yang  statis,  seperti  kelas-kelas  dan  relationship  yang  dihubungkan  sebagai  suatu grafik antara yang satu dengan yang lainnya beserta isi-isinya. Sebagai contoh, hal
yang  ada  seperti  kelas-kelas,  struktur-struktur  class  diagram  internal,  dan hubungan  class  diagram  dengan  kelas-kelas  yang  lain.  Class  diagram  tidak
menunjukkan informasi yang temporal, yang diperlukan di dalam pemodelan yang dinamis.
Class diagram memodelkan struktur kelas dan isinya dengan menggunakan elemen-elemen  model  seperti  class,  package,  dan  objek.  Kelas  terdiri  dari  tiga
bagian  yaitu  nama  kelas,  attribute  dan  operations.  Kelas  didefinisikan  secara global  dapat  diakses  oleh  objek  di  luar  kelas  tersebut  seperti  yang  terlihat  pada
Tabel 2.1 Notasi pada Class Diagram.
Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
Tabel 2.1 Notasi pada Class Diagram Fungsi
Pengertian Simbol
Class Class  adalah  blok  -  blok  pembangun
pada pemrograman berorientasi objek. Sebuah  class  digambarkan  sebagai
sebuah  kotak  yang  terbagi  atas  3 bagian. Bagian atas adalah bagian nama
dari class.
Bagian tengah
mendefinisikan propertyatributte class. Bagian  akhir  mendefinisikan  method-
method 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  melambangkan
tipe-tipe  relationship  dan  juga  dapat menampilkan
hukum-hukum multiplisitas  pada  sebuah  relationship
Contoh: One-to-one,
one-to-many, many-to-many.
Dependency
Kadangkala  sebuah class  menggunakan class  yang  lain.  Hal  ini  disebut
dependency.  Umumnya  penggunaan dependency
digunakan untuk
menunjukkan  operasi  pada  suatu  class yang  menggunakan  class  yang  lain.
Sebuah dependency
dilambangkan sebagai sebuah panah bertitik-titik.
Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
Fungsi Pengertian
Simbol Aggregation
Aggregation mengindikasikan
keseluruhan  bagian  relationship  dan biasanya
disebut sebagai
relasi “mempunyai  sebuah”  atau  “bagian
dari”. Sebuah aggregation digambarkan sebagai  sebuah  garis  dengan  sebuah
jajaran  genjang  yang  tidak  berisitidak solid.
Generalization  Sebuah  relasi  generalization  sepadan
dengan  sebuah  relasi  inheritance  pada konsep  berorientasi  objek.  Sebuah
generalization  dilambangkan  dengan sebuah  panah  dengan  kepala  panah
yang  tidak  solid  yang  mengarah  ke kelas “parent”-nyainduknya.
Sumber : http:resources.visual-paradigm.com Diagram  kelas  memodelkan  struktur  kelas  dan  isinya.  Kelas  terdiri  dari
Nama  Kelas, Atribut dan Operasi  seperti  yang terlihat pada Gambar 2.6 Diagram Kelas.
Gambar 2.6 Diagram Kelas
Class  name  bagian  yang paling atas  berisi  nama  kelas,  nama  kelas  diambil dari domain permasalahan dan harus sejelas mungkin. Oleh karena itu, nama kelas
Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
haruslah  berupa  kata  benda.  Attribute  kelas  memiliki  attribute  yang menggambarkan  karakteristik dari  objek. Attribute  kelas  yang  benar  adalah  yang
dapat  mencakup  informasi  yang  dilukiskan  dan  mengenali  instance  tertentu  dari kelas.  Tipe  attribute  dapat  berupa  primitive  attribute  atau  tipe  lainnya.  Method
Operations operations digunakan untuk memanipulasi attribute atau menjalankan aksi-aksi.  Class  diagram  terdiri  dari  beberapa  relationship,  di  antaranya
Generalization, Diagram objek, Aggregation dan Association. Generalisasi adalah hubungan antara suatu kelas secara umum dengan suatu kelas yang lebih spesifik.
Generalisasi adalah suatu yang dipertunjukkan sebagai suatu garis berarah dengan tertutup. UML  membiarkan  suatu  label  diskriminator  untuk dihubungkan dengan
suatu Generalization superclass. Diagram objek, suatu diagram objek yang statis adalah  satu  kejadian  dari  suatu  diagram  kelas.  Itu  menunjukkan  suatu  snapshot
dari  status  yang  terperinci  dari  sistem  pada  suatu  momen  yang  tepat.  Notasi adalah sama  selama  satu diagram  objek  dan  suatu diagram  kelas.  Diagram  kelas
dapat  berisi  objek,  maka  suatu  diagram  kelas  dengan  objek  dan  tidak  ada  kelas- kelas  adalah  satu  diagram  objek.  Aggregation  adalah  suatu  bentuk  asosiasi.
Komposisi,  juga  yang  dikenal  sebagai  a-part-of  adalah  suatu  wujud  aggregation dengan  kepemilikan  yang  kuat  untuk  menunjukkan  komponen  dari  suatu  objek
yang  kompleks.  Komposisi  juga  dikenal  sebagai  suatu  part-whole  relationship. Notasi  UML  untuk  komposisi  adalah  suatu  berlian  yang  padat  pada  akhir  suatu
alur seperti yang terlihat pada Gambar 2.7 Contoh Aggregation.
Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
Gambar 2.7 Contoh Aggregation Nugroho, 2005
Association didefinisikan sebagai penghubung objek-objek pada kelas  yang
sama. Multiplicity atau multiplisitas adalah jumlah banyaknya objek sebuah class
yang  berelasi  dengan  sebuah  objek  lain  pada  class  lain  yang  berasosiasi  dengan class tersebut. Untuk menyatakan multiplisitas anda dapat  meletakkannya di atas
garis  asosiasi  berdekatan  dengan  class  yang  sesuai.  Notasi-notasi  yang  ada  pada multiplisitas seperti yang terlihat pada Tabel 2.2 Notasi Multiplisitas.
Tabel 2.2 Notasi Multiplisitas Multiplitas
Arti
Banyak Nol
1 Satu
0… Nol atau banyak
1… Satu atau banyak
0…1 Nol atau satu
1…1 Hanya satu
Sumber: Nugroho, 2005. Konsep  use  case  diperkenalkan  oleh  Ivan  Jacobson  di  dalam  Object
Oriented  Software  Engineering  OOSE.  Use  case  adalah  deskripsi  fungsi  dari sebuah sistem dari perspektif pengguna. Use case akan menggambarkan cara kerja
suatu  software  dengan  aktor.  Dalam  use  case  diagram  akan  digambarkan
Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
hubungan  antara  aktor  dengan  use  case.  Aktor  adalah  orang  atau  subsistem  lain yang akan berinteraksi dengan sistem. Sementara use case menggambarkan proses
yang akan dilakukan oleh aktor terhadap sistem seperti yang terlihat pada Gambar 2.8 Simbol Use Case Diagram.
Gambar 2.8 Simbol Use Case Diagram
Uraian  suatu  use  case  menggambarkan  apa  yang  terjadi  di  dalam  sistem ketika use case dilaksanakan. Pada intinya hubungan-hubungan ini ditunjukkan di
suatu  diagram  use  case  diantaranya  Communication,  hubungan  komunikasi  dari suatu  aktor  di  suatu  use  case,  ditunjukkan  dengan  menghubungkan  simbol  aktor
kepada  simbol  use  case  dengan  suatu  alur  yang  padat.  Aktor  itu  dikatakan “komunikasi”  dengan  use  case.  Uses,  menggunakan  hubungan  antara  use  case
ditunjukkan  oleh  panah  generalisasi  dari  use  case  seperti  yang  terlihat  pada Gambar 2.9 Contoh Kondisi Uses.
Gambar 2.9 Contoh Kondisi Uses
Extends,  perluasan  hubungan  digunakan  ketika  kita  mempunyai  satu  use case yang serupa dengan use case yang lain tetapi lebih banyak. Pada intinya, itu
seperti  suatu  subclass  seperti  yang  terlihat  pada  Gambar  2.10  Contoh  Kondisi Extends.
Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
Gambar 2.10 Contoh Kondisi Extends
Berikut  merupakan  notasi-notasi  untuk  use  case  diagram  seperti  yang terlihat pada Tabel 2.3 Notasi Use Case Diagram di bawah ini.
Tabel 2.3 Notasi Use Case Diagram Fungsi
Kegunaan Simbol
Actor Actor  adalah  pengguna  sistem.  Actor  tidak
terbatas  hanya  manusia  saja,  jika  sebuah sistem  berkomunikasi  dengan  aplikasi  lain
dan  membutuhkan  input  atau  memberikan output,  maka  aplikasi  tersebut  juga  bisa
dianggap sebagai actor.
Use Case Use  case  digambarkan  sebagai  lingkaran
elips  dengan  nama  use  case  dituliskan didalam elips tersebut.
Association Asosiasi  digunakan  untuk  menghubungkan
actor dengan use case. Asosiasi digambarkan dengan  sebuah  garis  yang  menghubungkan
antara Actor dengan Use Case.
Depends on Menyatakan  hubungan  ketergantungan  antar
Use  Case,  yakni  pelaksanaan  suatu use  case baru  bisa  dilakukan  setelah  pelaksanaan  use
case lain selesai. Sumber : http:resources.visual-paradigm.com
Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
Gambar 2.11 Contoh Use Case Diagram
Sequence  diagram  menggambarkan  interaksi  antar  objek  di  dalam  dan  di sekitar sistem termasuk pengguna, display dan sebagainya berupa message yang
digambarkan  terhadap  waktu.  Sequence  diagram  terdiri  atas  dimensi  vertikal waktu dan dimensi horizontal objek-objek yang terkait. Berikut adalah notasi-
notasinya seperti yang terlihat pada Tabel 2.4 Notasi Sequence Diagram.
Tabel 2.4 Notasi Sequence Diagram Fungsi
Pengertian Simbol
Object Object
merupakan instance
dari sebuah  class  dan  dituliskan  tersusun
secara horizontal.
Digambarkan sebagai  sebuah  class  kotak  dengan
nama  objek di  dalamnya  yang diawali dengan sebuah titik koma.
Actor
Actor juga
dapat berkomunikasi
dengan  objek,  maka  actor  juga  dapat diurutkan  sebagai  kolom.  Simbol
Actor sama dengan  simbol pada Actor Use Case Diagram.
Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
Fungsi Pengertian
Simbol
Lifeline
Lifeline  mengindikasikan  keberadaan sebuah  objek  dalam  basis  waktu.
Notasi  untuk  Lifeline  adalah  garis putus-putus  vertikal  yang  ditarik  dari
sebuah objek.
Activation
Activation  dinotasikan  sebagai  sebuah kotak  segi  empat  yang  gambar  pada
sebuah lifeline.
Activation mengindikasikan  sebuah  objek  yang
akan melakukan sebuah aksi.
Message
Message,  digambarkan  dengan  anak panah  horizontal  antara  Activation.
Message  mengindikasikan komunikasi antara objek – objek
Sumber : http:resources.visual-paradigm.com Berikut ini adalah contoh dari Sequence Diagram seperti yang terlihat pada
Gambar 2.12 Contoh Sequence Diagram.
Gambar 2.12 Contoh Sequence Diagram
Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
Activity diagram menggambarkan berbagai alur aktivitas dalam sistem yang sedang  dirancang,  bagaimana  masing-masing  alir  berawal,  keputusan  yang
mungkin  terjadi,  dan  bagaimana  mereka  berakhir.  Activity  diagram  juga  dapat menggambarkan  proses  paralel  yang  mungkin  terjadi  pada  beberapa  eksekusi.
Berikut adalah notasi activity diagram seperti yang terlihat pada Tabel 2.5 Notasi Activity Diagram.
Tabel 2.5 Notasi Activity Diagram Simbol
Keterangan
Titik Awal Titik Akhir
Activity Pilihan Untuk mengambil Keputusan
Fork; Digunakan untuk menunjukkan kegiatan yang dilakukan secara paralel  menggabungkan dua kegiatan paralel menjadi satu.
Rake; Menunjukkan adanya dekomposisi Tanda Waktu
Tanda pengiriman Tanda penerimaan
Aliran akhir Flow Final Sumber: http:resources.visual-paradigm.com
Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
2.5 Rational Rose