Pendahuluan

Diagram kelas adalah alat dasar dalam Bahasa Pemodelan Terpadu (UML) yang digunakan untuk merepresentasikan struktur statis suatu sistem dengan memodelkan kelas, atribut, dan hubungan. Diagram yang disediakan menggambarkan sistem manajemen magang, yang menangkap entitas seperti mahasiswa, perusahaan, dan formulir. Panduan ini akan menguraikan diagram tersebut, menjelaskan konsep-konsep utama, dan memberikan beberapa contoh diagram kelas.

Bagian 1: Memahami Diagram Kelas Sistem Magang

Gambaran Umum DiagramUnderstanding the Internship System Class Diagram

Diagram ini merepresentasikan sistem manajemen magang dengan entitas utama berikut:

  • Pengguna (kelas abstrak): Kelas induk untuk mahasiswa dan admin.
  • Mahasiswa: Pengguna yang berpartisipasi dalam magang dan memberikan umpan balik.
  • Admin: Pengguna dengan izin khusus.
  • Perusahaan: Entitas yang menyelenggarakan magang dan memiliki pembimbing.
  • Magang: Mewakili keterlibatan magang seorang mahasiswa dengan perusahaan.
  • Umpan Balik: Mengumpulkan umpan balik dari mahasiswa tentang perusahaan.
  • Formulir: Melacak formulir yang terkait dengan magang (misalnya, asuransi, aplikasi, konfirmasi).
  • Lokasi: Menyimpan detail alamat untuk perusahaan.
  • Durasi: Menentukan jadwal magang (misalnya, sebagian atau penuh).

Hubungan dalam Diagram

  • Pewarisan: Mahasiswa dan Admin mewarisi dari Pengguna (ditunjukkan oleh panah segitiga kosong).
  • Komposisi:
    • Sebuah Perusahaan memiliki Lokasi (panah berlian terisi).
    • Sebuah Bentuk entitas memiliki Durasi (panah berlian terisi).
  • Asosiasi:
    • Siswa bekerja di sebuah Perusahaan (melalui PEMIMPIN_PERUSAHAAN).
    • Siswa memiliki banyak Magang catatan (1-ke-banyak).
    • Siswa memberikan Umpan balik tentang sebuah Perusahaan.
    • Perusahaan mengisi banyak Formulir (satu-ke-banyak).
  • Kemungkinan:
    • 1..*: Satu atau lebih (misalnya, sebuah perusahaan mengisi satu atau lebih formulir).
    • 0..*: Nol atau lebih (misalnya, seorang siswa dapat memiliki nol atau lebih magang).

Bagian 2: Konsep Kunci dari Diagram Kelas

Komponen Utama

  1. Kelas:
    • Direpresentasikan sebagai persegi panjang dengan tiga bagian: nama kelas, atribut, dan metode (meskipun metode sering diabaikan dalam diagram yang lebih sederhana).
    • Contoh: Siswa dengan atribut seperti Nama, Jenis Kelamin, dan Email.
  2. Atribut:
    • Variabel atau data di dalam kelas, sering kali dengan tipe (misalnya, Nama: String).
    • Visibilitas: + (umum), (pribadi), # (dilindungi).
    • Contoh: -Id: int dalam kelas Pengguna kelas.
  3. Hubungan:
    • Pewarisan: Sebuah kelas turunan mewarisi dari kelas induk (misalnya, Siswa mewarisi dari Pengguna).
    • Asosiasi: Hubungan umum antara kelas (misalnya, Siswa dan Perusahaan).
    • Komposisi: Hubungan kuat “keseluruhan-bagian” di mana bagian tidak dapat ada tanpa keseluruhan (misalnya, Perusahaan dan Lokasi).
    • Agregasi: Hubungan “seluruh-bagian” yang lebih lemah di mana bagian dapat ada secara independen (tidak ditampilkan secara eksplisit dalam diagram ini tetapi umum dalam UML).
  4. Kelipatan:
    • Menentukan berapa banyak instans dari satu kelas yang dapat dikaitkan dengan satu instans kelas lain.
    • Contoh: 1..* berarti “satu atau lebih” (perusahaan memiliki satu atau lebih bentuk).
  5. Kelas Abstrak:
    • Kelas yang tidak dapat diinstansiasi secara langsung (misalnya, Pengguna adalah abstrak, seperti yang ditunjukkan oleh nama miringnya).

Prinsip Utama

  • Abstraksi: Fokus pada detail penting, mengabaikan rincian implementasi.
  • Enkapsulasi: Sembunyikan data internal menggunakan penanda visibilitas (misalnya, untuk atribut pribadi).
  • Modularitas: Pisahkan sistem menjadi kelas-kelas yang dapat dikelola dan digunakan kembali.
  • Kesederhanaan: Pastikan diagram mudah dipahami oleh pemangku kepentingan.

Bagian 3: Pedoman untuk Membuat Diagram Kelas yang Efektif

  1. Tentukan Lingkup:
    • Identifikasi entitas kunci sistem dan hubungan antar mereka sebelum membuat diagram.
    • Contoh: Untuk sistem magang, fokus pada mahasiswa, perusahaan, dan magang.
  2. Gunakan Penamaan yang Konsisten:
    • Gunakan nama yang jelas dan bermakna untuk kelas dan atribut (misalnya, Mahasiswa bukan S).
    • Ikuti konvensi penamaan (misalnya, kata benda tunggal untuk kelas: Perusahaan, bukan Perusahaan).
  3. Tentukan Visibilitas:
    • Tunjukkan apakah atribut bersifat publik (+), privat (), atau dilindungi (#).
  4. Batasi Kompleksitas:
    • Hindari kepadatan dengan membagi sistem besar menjadi diagram yang lebih kecil.
    • Contoh: Pisahkan manajemen pengguna dari manajemen formulir jika diperlukan.
  5. Validasi Hubungan:
    • Pastikan hubungan mencerminkan logika dunia nyata (misalnya, seorang mahasiswa hanya bisa magang di satu perusahaan pada satu waktu).
  6. Gunakan Kelipatan:
    • Tentukan dengan jelas berapa banyak instance yang terlibat dalam hubungan (misalnya, 1..* untuk satu atau lebih).

Contoh 1: Hubungan Mahasiswa dan Perusahaan Dasar

Contoh ini berfokus pada hubungan inti antara Mahasiswa dan Perusahaan.

  • Penjelasan:
    • Mahasiswa dan Perusahaan terhubung melalui asosiasi (bekerja_di).
    • Seorang mahasiswa bekerja di satu atau lebih perusahaan (1..*).

Contoh 2: Menambahkan Pewarisan dengan Pengguna

Contoh ini mencakup kelas abstrak Pengguna dan subkelas-kelasnya Mahasiswa dan Admin.

  • Penjelasan:
    • Pengguna adalah kelas abstrak (dilambangkan oleh abstrak).
    • Siswa dan Admin mewarisi dari Pengguna menggunakan <|–.

Contoh 3: Perusahaan dengan Lokasi (Komposisi)

Contoh ini menggambarkan hubungan komposisi antara Perusahaan dan Lokasi.

PlantUML Diagram

  • Penjelasan:
    • Perusahaan memiliki Lokasi (komposisi ditunjukkan oleh *–>).
    • Perusahaan harus memiliki tepat satu lokasi (“1”).

Contoh 4: Magang dan Umpan Balik

Contoh ini memodelkan Magang dan Umpan Balik entitas dan hubungan mereka dengan Siswa dan Perusahaan.

Penjelasan:

  • Seorang Siswa dapat memiliki nol atau lebih Magang catatan (0..*).
  • Seorang Perusahaan menyelenggarakan nol atau lebih Magang catatan.
  • Seorang Siswa memberikan umpan balik tentang sebuah Perusahaan.

Contoh 5: Bentuk dan Durasi

Contoh ini mencakup entitas Bentuk entitas dengan Durasi dan subjenis Sebagian dan Lengkap.

  • Penjelasan:
    • Bentuk memiliki Durasi (komposisi).
    • Durasi adalah kelas induk untuk Sebagian dan Lengkap (pewarisan).

Contoh 6: Sistem Magang Lengkap

Ini menggabungkan semua entitas menjadi diagram yang komprehensif.

  • Penjelasan:
    • Diagram ini mencerminkan aslinya, menangkap semua hubungan dan entitas.
    • Ini menggunakan pewarisan, komposisi, dan asosiasi dengan kelipatan yang sesuai.

Bagian 5: Tips Praktis untuk Diagram Kelas

  1. Mulai Sederhana:
    • Mulai dengan entitas dan hubungan inti, lalu tambahkan detail secara bertahap.
    • Contoh: Mulai dengan Mahasiswa dan Perusahaan, lalu tambahkan Magang dan Umpan Balik.
  2. Gunakan Alat untuk Visualisasi:
    • Pendekatan berbasis teks memungkinkan pengeditan dan berbagi yang cepat; tempel kode ke dalam penampil yang kompatibel untuk melihat diagram.
  3. Uji Kelengkapan:
    • Pastikan semua entitas dan hubungan yang diperlukan telah dimasukkan.
    • Contoh: Periksa bahwa Formulir terhubung ke Perusahaan dan Durasi.
  4. Dokumentasikan Asumsi:
    • Catat semua asumsi (misalnya, “Seorang mahasiswa hanya dapat magang di satu perusahaan pada satu waktu”).
  5. Berkolaborasi:
    • Bagikan kode berbasis teks dengan anggota tim untuk umpan balik dan iterasi.

Kesimpulan

Diagram kelas adalah alat yang kuat untuk memodelkan struktur sistem seperti sistem manajemen magang yang ditunjukkan dalam diagram. Dengan memahami konsep-konsep kunci seperti pewarisan, komposisi, dan kelipatan, serta mengikuti pedoman untuk kejelasan dan kesederhanaan, Anda dapat membuat diagram yang efektif. Contoh-contoh yang disediakan menunjukkan bagaimana merepresentasikan berbagai aspek sistem menggunakan pendekatan berbasis teks, mulai dari hubungan dasar hingga model sistem yang lengkap. Dengan latihan, Anda dapat menggunakan teknik-teknik ini untuk merancang dan berkomunikasi sistem yang kompleks secara efisien.

Referensi