Class Diagram - Pemrograman Berorientasi Objek

 Class Diagram

        Class Diagram adalah alah satu diagram yang digunakan dalam Unified Modeling Language (UML), yang merupakan representasi grafis dari struktur dan hubungan antar kelas dalam sistem pemrograman berorientasi objek (OOP). Class diagram digunakan untuk mendeskripsikan tipe objek yang ada dalam sistem beserta hubungan di antaranya, seperti asosiasi, generalisasi, dan dependensi. Diagram UML (Unified Modeling Language) yang menggambarkan struktur sistem dari segi pendefinisian kelas-kelas yang akan dibuat untuk membangun sistem.

Ada isi bagian dari class diagram, yaitu :

  1.Kelas (Class)
     Representasi dari objek dalam sistem, biasanya digambarkan dengan kotak persegi panjang yang dibagi         menjadi tiga bagian:

  • Nama Kelas: Nama dari kelas (biasanya diletakkan di bagian atas).
  • Atribut (Attributes): Properti atau data yang dimiliki oleh kelas.
  • Metode (Methods): Fungsi atau operasi yang dapat dilakukan oleh kelas.

  2.Hubungan Antar Kelas
     Hubungan menggambarkan bagaimana kelas-kelas saling berinteraksi. Jenis hubungan meliputi:

  • Asosiasi (Association): Hubungan antar objek (misalnya, hubungan "memiliki").
  • Agregasi (Aggregation): Hubungan yang menunjukkan "bagian-dari" tetapi independen.
  • Komposisi (Composition): Hubungan yang lebih kuat daripada agregasi, di mana bagian tidak dapat berdiri sendiri tanpa keseluruhan.
  • Generalisasi/Inheritansi (Generalization/Inheritance): Hubungan antar kelas induk (parent) dan turunan (child).
  • Realisasi (Realization): Hubungan antara antarmuka (interface) dan implementasinya.

  3.Visibilitas
     Menunjukkan aksesibilitas atribut dan metode:

  • + : Public (dapat diakses oleh semua).
  • - : Private (hanya dapat diakses oleh kelas itu sendiri).
  • # : Protected (dapat diakses oleh kelas itu sendiri dan turunannya).
Kegunaan dalam class diagram yaitu :
  1. Memodelkan Struktur Sistem
  2. Membantu memahami struktur sistem dan relasi antar kelas.
  3. Dokumentasi Sistem
    Menyediakan dokumentasi visual untuk pengembang yang terlibat.
  4. Perencanaan dan Desain
    Digunakan untuk merancang dan merencanakan sistem sebelum implementasi.
  5. Komunikasi Antar Tim
    Membantu tim pengembang memahami desain sistem dengan cepat dan efisien.
Berikut adalah contoh Class Diagram pada sebuah pemrograman Sistem Bengkel Online :


berikut penjelasan isi dari class diagram tersebut :

  1. USER Kelas ini merepresentasikan pengguna sistem secara umum yang berisikan

  • Atribut:
    1. Nama: Nama pengguna.
    2. Email: Alamat email pengguna.
    3. Password: Kata sandi untuk masuk ke sistem.
  • Method:
    1. mendaftar(): Proses untuk mendaftarkan pengguna baru.
    2. masuk(): Proses untuk masuk ke sistem menggunakan email dan password.
    2. Pelanggan : Kelas ini adalah spesialisasi atau turunan dari USER, yang menunjukkan peran sebagai                    pelanggan atau pembeli (buyer)
  • Atribut:
    1. alamat: Lokasi pelanggan.
    2. Notelpon: Nomor telepon pelanggan.
  • Method:
    1. pesanLayanan(): Memesan layanan yang disediakan.
    2. cekstatuspesanan(): Mengecek status pesanan pelanggan.
    3.Admin : Kelas ini juga turunan dari USER, merepresentasikan pengguna dengan peran sebagai administrator.
  • Method:
    1. Kelola Layanan: Mengelola daftar layanan (misalnya menambah, mengubah, atau menghapus layanan).
    2. Kelola Pesanan: Mengelola pesanan pelanggan (misalnya memproses atau membatalkan pesanan).
     4.Layanan :Kelas ini merepresentasikan data layanan yang ditawarkan oleh sistem.
  • Atribut:
    1. Id Layanan: Identifikasi unik layanan.
    2. Nama Layanan: Nama layanan (misalnya, "Cuci Mobil").
    3. Harga: Harga layanan.
    4. Estimasi Waktu: Waktu yang dibutuhkan untuk menyelesaikan layanan.
  • Method:
    1. mendaftar(): Menambahkan layanan baru ke sistem.
    2. masuk(): Mengakses layanan yang ada.
   5.Pesanan : Kelas ini merepresentasikan pesanan yang dibuat oleh pelanggan untuk layanan          tertentu.
  • Atribut:
    1. Id Pesanan: Identifikasi unik pesanan.
    2. Pelanggan: Pelanggan yang memesan layanan.
    3. Layanan: Layanan yang dipesan.
    4. Jadwal: Waktu pelaksanaan layanan.
    5. Status: Status pesanan (misalnya, "Diproses" atau "Selesai").
  • Method:
    1. ubahstatuspesanan(): Mengubah status pesanan (misalnya dari "Diproses" ke "Selesai").
    2. hitungbiaya(): Menghitung biaya total pesanan.
Kesimpulan :

Diagram ini memberikan gambaran tentang bagaimana sistem bekerja:

  1. Pelanggan dapat memesan Layanan melalui sistem, dan pesanan tersebut dicatat dalam kelas Pesanan.
  2. Admin bertanggung jawab untuk mengelola Layanan dan Pesanan.
  3. Semua pengguna sistem, baik Pelanggan maupun Admin, adalah turunan dari kelas dasar USER.

Komentar