Modul Class Atribut Dan Uml
Modul Class Atribut Dan Uml
Disusun Oleh:
Tim Asisten Praktikum Prodi Digital Bisnis
A. Kelas/Class
Kelas atau class pada python bisa kita katakan sebagai sebuah blueprint (cetakan) dari
objek (atau instance) yang ingin kita buat. Kelas adalah cetakannya atau definisinya,
sedangkan objek (atau instance) adalah objek nyatanya. Kita coba beri contoh “kucing”
untuk memperdekat pemahaman.
• “Kucing” merupakan sebuah definisi objek, ia memiliki 2 telinga, 4 kaki, 1 ekor, nama
dan lain-lain (sebagai atribut), ia juga bisa berlari, mengeong, makan dan minum
(sebagai perilaku).
• Misal kita memiliki 4 kucing: berarti kita memiliki “4 instance” dari kelas kucing.
• Masing-masing dari 4 kucing tersebut memiliki atribut yang telah didefinisikan
sebelumnya seperti kaki, telinga, ekor, dan lain-lain. Ia juga memiliki kemampuan
berlari, mengeong, dan sebagainya seperti yang telah didefinisikan sebelumnya.
B. Atribut & Perilaku
Atribut dan Perilaku
Atribut pada OOP merepresentasikan variabel yang dimiliki sebuah objek.
Sedangkan perilaku pada OOP merepresentasikan fungsi yang dimiliki sebuah objek.
1. Contoh Atribut
Sebagai contoh, kita memiliki 3 ekor kucing, masing-masing kucing memiliki warna dan
usianya sendiri-sendiri. Jika kita ingin merepresentasikan 3 ekor kucing tersebut
dengan pendekatan OOP, kita bisa menuliskan kode programnya seperti berikut:
Output:
2. Contoh Perilaku
Misalkan kita memiliki kelas Mahasiswa. Setiap mahasiswa memiliki atribut:
• Nama
• dan Asal
Serta memiliki perilaku:
• memperkenalkan diri
Maka bisa kita definisikan kode programnya dengan pendekatan OOP sebagai
berikut:
Setelah membuat kelas, kita bisa membuat instance sesuka kita.
Dalam contoh berikut ini, kita akan membuat 2 seorang mahasiswa: yang pertama
mahasiswa dengan nama "Deni" dari Jawa Timur, dan yang kedua adalah "Lendis
Fabri" yang juga dari Jawa Timur, kemudian saya akan minta keduanya untuk
memperkenalkan diri.
OUTPUT:
Kita dapati ada sebuah parameter pada fungsi perkenalan, yaitu parameter self.
Tetapi ketika kita memanggil fungsi tersebut dari instance yang kita buat, kita tidak
melemparkan parameter apa pun:
Ini lah bedanya fungsi yang ada di luar kelas dan fungsi yang ada di dalam kelas. Jadi
ketika kita memanggil sebuah fungsi yang berada pada kelas tertentu, interpreter
python akan otomatis melemparkan self sebagai parameter pertama. Dan dari
paramter self ini kita bisa mendapatkan akses secara internal terhadap atribut dan
perilaku dari objek yang kita buat.
C. Konstruktur
Konstruktor adalah sebuah fungsi yang akan dipanggil pertama kali saat sebuah objek di-
instantiasi-kan.
Agar lebih paham, mari kita praktikkan langsung untuk mendefinisikan fungsi konstruktor
pada kelas Mahasiswa.
Ketika membuat instance dari kelas Mahasiswa, kita harus melemparkan dua buah
parameter wajib yaitu parameter nama dan parameter asal, seperti ini:
OUTPUT:
OUTPUT
D. LATIHAN SOAL
• Buatlah sebuah kelas bernama Buku dengan atribut judul dan penulis.
• Buatlah sebuah kelas bernama Peminjam dengan atribut nama, umur, dan
buku_pinjam yang merujuk pada objek dari kelas Buku.
• Implementasikan metode perkenalan di dalam kelas Peminjam yang akan mencetak
nama peminjam, umur, dan judul buku yang dipinjam.
• Hint: seperti “CONTOH LATIHAN SOAL”
Dalam diagram ini, kelas-kelas digambarkan sebagai kotak, masing-masing berisi tiga
kompartemen untuk nama kelas, atribut, dan metode. Garis yang menghubungkan kelas-
kelas menggambarkan asosiasi, menunjukkan hubungan seperti satu-ke-satu atau satu-
ke-banyak. Diagram kelas memberikan gambaran tingkat tinggi tentang desain sistem,
membantu dalam berkomunikasi dan mendokumentasikan struktur perangkat lunak.
Mereka adalah alat fundamental dalam desain berorientasi objek dan memainkan peran
penting dalam siklus pengembangan perangkat lunak.
C. Parameter Directionality
Dalam diagram kelas, arah parameter(Parameter Directionality) mengacu pada
indikasi aliran informasi antara kelas melalui parameter metode. Ini membantu untuk
menentukan apakah sebuah parameter adalah masukan, keluaran, atau keduanya.
Informasi ini penting untuk memahami bagaimana data dilewatkan antara objek selama
pemanggilan metode.
Ada tiga notasi arah parameter utama yang digunakan dalam diagram kelas:
• IN (INPUT):
Sebuah parameter masukan adalah parameter yang dilewatkan dari objek
pemanggil (klien) ke objek yang dipanggil (server) selama pemanggilan metode.
Ini direpresentasikan oleh sebuah panah yang mengarah ke kelas penerima (kelas
yang memiliki metode).
• OUT (OUTPUT):
Sebuah parameter keluaran adalah parameter yang dilewatkan dari objek yang
dipanggil (server) kembali ke objek pemanggil (klien) setelah eksekusi metode.
Ini direpresentasikan oleh sebuah panah yang mengarah menjauh dari kelas
penerima.
• InOut (INPUT AND OUTPUT):
Sebuah parameter InOut berfungsi sebagai masukan dan keluaran. Itu membawa
informasi dari objek pemanggil ke objek yang dipanggil dan sebaliknya. Ini
direpresentasikan oleh sebuah panah yang mengarah ke dan menjauh dari kelas
penerima.
1. Association
Asosiasi mewakili hubungan dua arah antara dua kelas. Ini menunjukkan bahwa
contoh-contoh dari satu kelas terhubung ke contoh-contoh dari kelas lainnya.
Asosiasi biasanya digambarkan sebagai garis solid yang menghubungkan kelas-
kelas, dengan panah opsional yang menunjukkan arah hubungan.
Kelas "Perpustakaan" dapat dianggap sebagai kelas sumber karena berisi referensi
ke beberapa contoh dari kelas "Buku". Kelas "Buku" akan dianggap sebagai kelas
target karena milik kepada perpustakaan tertentu.
2. Directed Association
Sebuah asosiasi yang terarah dalam diagram kelas UML mewakili hubungan antara
dua kelas di mana asosiasi memiliki arah, menunjukkan bahwa satu kelas terkait
dengan kelas lainnya dengan cara tertentu.
• Kelas sumber adalah kelas "Guru". Kelas "Guru" memulai asosiasi dengan
mengajar mata kuliah tertentu.
• Kelas target adalah kelas "Mata Kuliah". Kelas "Mata Kuliah" dipengaruhi oleh
asosiasi karena dia diajarkan oleh seorang guru tertentu.
3. Aggregation
Aggregasi adalah bentuk khusus dari asosiasi yang mewakili hubungan
"keseluruhan-bagian". Ini menunjukkan hubungan yang lebih kuat di mana satu kelas
(keseluruhan) berisi atau terdiri dari kelas lain (bagian). Aggregasi direpresentasikan
oleh bentuk berlian di sisi kelas keseluruhan. Dalam jenis hubungan ini, kelas anak
dapat eksis secara independen dari kelas induknya.
4. Composition
Komposisi adalah bentuk yang lebih kuat dari agregasi, menunjukkan hubungan
kepemilikan atau ketergantungan yang lebih signifikan. Dalam komposisi, kelas
bagian tidak dapat eksis secara independen dari kelas keseluruhan. Komposisi
direpresentasikan oleh bentuk berlian yang diisi di sisi kelas keseluruhan.
Dalam contoh akun bank, kita dapat menggunakan generalisasi untuk mewakili
berbagai jenis akun seperti akun giro, akun tabungan, dan akun kredit.
Kelas Akun Bank berfungsi sebagai representasi umum dari semua jenis akun bank,
sementara kelas-kelas turunan (Akun Giro, Akun Tabungan, Akun Kredit) mewakili
versi khusus yang mewarisi dan memperluas fungsionalitas dari kelas dasar.
8. Usage(Dependency) Relationship
Hubungan ketergantungan penggunaan dalam diagram kelas UML menunjukkan
bahwa satu kelas (klien) menggunakan atau bergantung pada kelas lain (pemasok)
untuk melakukan tugas tertentu atau mengakses fungsionalitas tertentu. Kelas klien
bergantung pada layanan yang diberikan oleh kelas pemasok namun tidak memiliki
atau membuat instance darinya.
1. Identifikasi Kelas:
• Mulailah dengan mengidentifikasi kelas-kelas dalam sistem Anda. Sebuah kelas
mewakili rancangan untuk objek dan seharusnya menggabungkan atribut-atribut
dan metode-metode yang terkait.
2. List Atribut dan Metode:
• Untuk setiap kelas, daftarlah atribut-atribut (properti, bidang) dan metode-
metode (fungsi, operasi). Sertakan informasi seperti tipe data dan visibilitas
(publik, pribadi, dilindungi).
3. Identifikasi Hubungan:
• Tentukan hubungan-hubungan antara kelas-kelas. Hubungan-hubungan umum
meliputi asosiasi, agregasi, komposisi, warisan, dan ketergantungan. Pahami
sifat dan keberagaman dari hubungan-hubungan ini.
4. Buat Kotak Kelas:
• Gambarlah sebuah persegi panjang (kotak kelas) untuk setiap kelas yang
diidentifikasi. Letakkan nama kelas di kompartemen atas kotak. Bagi kotak
menjadi kompartemen-kompartemen untuk atribut-atribut dan metode-metode.
5. Tambahkan Atribut dan Metode:
• Di dalam setiap kotak kelas, daftarlah atribut-atribut dan metode-metode dalam
kompartemen-kompartemen yang sesuai. Gunakan notasi visibilitas (+ untuk
publik, - untuk pribadi, # untuk dilindungi, ~ untuk paket/default).
6. Gambar Hubungan:
• Gambarlah garis-garis untuk mewakili hubungan-hubungan antara kelas-kelas.
Gunakan panah untuk menunjukkan arah asosiasi atau ketergantungan. Berbagai
jenis garis atau notasi mungkin digunakan untuk berbagai hubungan.
7. Label Hubungan:
• Berilah label pada hubungan-hubungan dengan multiplicity dan nama peran jika
diperlukan. Multiplicity menunjukkan jumlah contoh yang terlibat dalam
hubungan, dan nama peran menjelaskan peran masing-masing kelas dalam
hubungan tersebut.
8. Review dan Perbaiki:
• Ulaslah diagram kelas Anda untuk memastikan bahwa ia secara akurat
merepresentasikan struktur dan hubungan sistem. Perbaiki diagram sesuai
kebutuhan berdasarkan umpan balik dan persyaratan.
9. Gunakan Alat untuk Menggambar Digital:
• Meskipun Anda dapat menggambar diagram kelas secara manual, menggunakan
alat digital dapat memberikan fleksibilitas dan kemudahan modifikasi yang lebih
besar. Alat-alat pemodelan UML, perangkat lunak menggambar, atau bahkan
alat-alat diagram khusus dapat membantu.