0% menganggap dokumen ini bermanfaat (0 suara)
9 tayangan15 halaman

Modul Class Atribut Dan Uml

Diunggah oleh

davinpramana160
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
9 tayangan15 halaman

Modul Class Atribut Dan Uml

Diunggah oleh

davinpramana160
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 15

PRAKTIKUM

ALGORITMA DAN PEMROGRAMAN


MODUL : CLASS ATRIBUT & UML

Disusun Oleh:
Tim Asisten Praktikum Prodi Digital Bisnis

PROGRAM STUDI DIGITAL BISNIS


FAKULTAS EKONOMI DAN BISNIS
TELKOM UNIVERSITY SURABAYA
2024
1.1 Class Atribute
Atribut kelas (class attribute) adalah variabel yang terkait dengan kelas itu sendiri,
bukan dengan instance (objek) kelas tersebut. Kegunaan dan fungsi dari atribut kelas
adalah sebagai berikut:
1. Menyediakan nilai default untuk semua instance:
Atribut kelas digunakan untuk menyediakan nilai default yang sama untuk semua instance dari
kelas tersebut. Ini memungkinkan Anda untuk menentukan properti yang akan dimiliki oleh
setiap objek yang dibuat dari kelas tersebut tanpa perlu menginisialisasi nilai untuk setiap objek
secara terpisah.
2. Berbagi data antara semua instance:
Atribut kelas dibagi oleh semua instance dari kelas tersebut. Ini berarti perubahan yang dibuat
pada atribut kelas akan tercermin dalam semua instance yang ada dan juga dalam instance
baru yang akan dibuat.
3. Mengakses data yang berkaitan dengan kelas itu sendiri:
Atribut kelas memungkinkan Anda untuk mengakses dan memanipulasi data yang terkait
dengan kelas itu sendiri, bukan dengan setiap objek individu. Ini bisa berguna dalam berbagai
skenario, seperti melacak jumlah objek yang telah dibuat dari kelas tersebut atau menyediakan
konstanta yang digunakan di dalam kelas.1. Operator Aritmatika (Arithmetic Operator)

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.

Berikut ini kode programnya:

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.

Fungsi tersebut harus selalu bernama “__init__()”.

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:

CONTOH LATIHAN SOAL:


Terakhir dan bukan yang paling akhir, kita juga bisa mendefinisikan sebuah atribut objek
yang merupakan instance dari objek yang lainnya.

Misal: kita jadikan kelas Mahasiswa memiliki satu ekor kucing.

Kode programnya bisa seperti ini:


Cara memanggilnya:

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”

1.2UML (Unified Modeling Language)


A. CLASS DIAGRAM UML
Diagram kelas adalah tipe diagram UML (Unified Modeling Language) yang digunakan
dalam rekayasa perangkat lunak untuk secara visual merepresentasikan struktur dan
hubungan antar kelas dalam sebuah sistem, yaitu digunakan untuk membangun dan
memvisualisasikan sistem berorientasi objek.

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.

B. UML CLASS NOTATION


Notasi kelas adalah representasi grafis yang digunakan untuk menggambarkan kelas dan
hubungannya dalam pemodelan berorientasi objek.
• Nama Kelas(CLASS):
Nama kelas biasanya ditulis di kompartemen atas kotak kelas dan dipusatkan
serta diberi tebal.
• Atribut:
Atribut, juga dikenal sebagai properti atau bidang, mewakili anggota data dari
kelas. Mereka terdaftar di kompartemen kedua kotak kelas dan sering mencakup
visibilitas (misalnya, publik, pribadi) dan tipe data dari setiap atribut.
• Metode:
Metode, juga dikenal sebagai fungsi atau operasi, mewakili perilaku atau
fungsionalitas dari kelas. Mereka terdaftar di kompartemen ketiga kotak kelas
dan mencakup visibilitas (misalnya, publik, pribadi), tipe kembalian, dan
parameter dari setiap metode.
• Visibility Notation:
Notasi visibilitas menunjukkan tingkat akses atribut dan metode. Notasi
visibilitas umum meliputi:

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.

D. Relationships between classes


Dalam diagram kelas, hubungan antara kelas(Relationships between classes)
menggambarkan bagaimana kelas terhubung atau berinteraksi satu sama lain dalam
sebuah sistem. Ada beberapa jenis hubungan dalam pemodelan berorientasi objek,
masing-masing melayani tujuan tertentu. Berikut adalah beberapa jenis hubungan umum
dalam diagram kelas:

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.

Mari kita pahami asosiasi menggunakan contoh:


Mari kita pertimbangkan sebuah sistem sederhana untuk mengelola perpustakaan.
Dalam sistem ini, kita memiliki dua entitas utama: Buku dan Perpustakaan. Setiap
Perpustakaan berisi beberapa Buku, dan setiap Buku milik Perpustakaan tertentu.
Hubungan antara Perpustakaan dan Buku ini mewakili sebuah asosiasi.

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.

• Dalam sebuah asosiasi yang terarah, kepala panah ditambahkan ke garis


asosiasi untuk menunjukkan arah hubungan. Panah mengarah dari kelas yang
memulai asosiasi ke kelas yang dituju atau terpengaruh oleh asosiasi tersebut.
• Asosiasi yang terarah digunakan ketika asosiasi memiliki arah aliran atau arah
tertentu, seperti menunjukkan kelas mana yang bertanggung jawab untuk
memulai asosiasi atau kelas mana yang memiliki ketergantungan pada yang
lain.
Pertimbangkan sebuah skenario di mana kelas "Guru" terkait dengan kelas "Mata
Kuliah" dalam sistem universitas. Panah asosiasi yang terarah mungkin menunjuk
dari kelas "Guru" ke kelas "Mata Kuliah", menunjukkan bahwa seorang guru
terkait dengan atau mengajar sebuah mata kuliah 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.

Mari kita pahami aggregasi menggunakan contoh:


Perusahaan dapat dianggap sebagai keseluruhan, sedangkan karyawan adalah
bagian-bagiannya. Karyawan merupakan bagian dari perusahaan, dan perusahaan
dapat memiliki banyak karyawan. Namun, jika perusahaan berhenti ada, karyawan
masih dapat eksis secara independen.

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.

Mari kita pahami Komposisi menggunakan contoh:


Bayangkan sebuah aplikasi buku kontak digital. Buku kontak adalah keseluruhan,
dan setiap entri kontak adalah bagian. Setiap entri kontak sepenuhnya dimiliki dan
dikelola oleh buku kontak. Jika buku kontak dihapus atau dihancurkan, semua entri
kontak yang terkait juga dihapus.

Ini menggambarkan komposisi karena keberadaan entri kontak bergantung


sepenuhnya pada keberadaan buku kontak. Tanpa buku kontak, entri kontak
individual kehilangan maknanya dan tidak dapat eksis sendiri.
5. Generalization(Inheritance)
Warisan(Inheritance) mewakili hubungan "adalah" antara kelas-kelas, di mana satu
kelas (subkelas atau anak) mewarisi properti dan perilaku dari kelas lain (superkelas
atau induk). Warisan digambarkan oleh sebuah garis solid dengan kepala panah
tertutup yang kosong mengarah dari subkelas ke superkelas.

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.

6. Realization (Interface Implementation)


Realisasi menunjukkan bahwa sebuah kelas menerapkan fitur-fitur dari sebuah
antarmuka. Ini sering digunakan dalam kasus di mana sebuah kelas mewujudkan
operasi yang didefinisikan oleh sebuah antarmuka. Realisasi digambarkan oleh
sebuah garis putus-putus dengan kepala panah terbuka yang menunjuk dari kelas
yang menerapkan ke antarmuka.

Mari kita pertimbangkan skenario di mana seorang "Orang" dan sebuah


"Perusahaan" keduanya mewujudkan sebuah antarmuka "Pemilik".

• Owner Interface: Antarmuka ini sekarang mencakup metode-metode


seperti "peroleh(properti)" dan "buang(properti)" untuk mewakili tindakan-
tindakan yang terkait dengan memperoleh dan membuang properti.
• Person Class (Realization): Kelas Orang mengimplementasikan antarmuka
Pemilik, menyediakan implementasi konkret untuk metode-metode
"peroleh(properti)" dan "buang(properti)". Sebagai contoh, seorang individu
dapat memperoleh kepemilikan rumah atau membuang mobil.
• Corporation Class (Realization):Demikian pula, kelas Perusahaan juga
mengimplementasikan antarmuka Pemilik, menawarkan implementasi
spesifik untuk metode-metode "peroleh(properti)" dan "buang(properti)".
Sebagai contoh, sebuah perusahaan dapat memperoleh kepemilikan properti
real estat atau membuang kendaraan perusahaan.
7. Dependency Relationship
Sebuah ketergantungan terjadi antara dua kelas ketika satu kelas bergantung pada
yang lain, tetapi hubungannya tidak sekuat asosiasi atau warisan. Ini mewakili
koneksi yang lebih longgar antara kelas-kelas. Ketergantungan sering digambarkan
sebagai sebuah panah putus-putus.

Mari kita pertimbangkan sebuah skenario di mana seorang Orang bergantung


pada sebuah Buku.
• Person Class: Mewakili individu yang membaca sebuah buku. Kelas Orang
bergantung pada kelas Buku untuk mengakses dan membaca kontennya.
• Book Class:Mewakili sebuah buku yang berisi konten yang akan dibaca
oleh seorang individu. Kelas Buku bersifat independen dan dapat eksis tanpa
kelas Orang.
Kelas Orang bergantung pada kelas Buku karena memerlukan akses ke sebuah buku
untuk membaca kontennya. Namun, kelas Buku tidak bergantung pada kelas Orang;
kelas Buku dapat eksis secara independen dan tidak bergantung pada kelas Orang
untuk fungsionalitasnya.

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.

• Ketergantungan penggunaan mewakili bentuk ketergantungan di mana satu


kelas bergantung pada kelas lain untuk memenuhi kebutuhan atau
persyaratan tertentu.
• Kelas klien memerlukan akses ke fitur atau layanan tertentu yang disediakan
oleh kelas pemasok.
• Dalam diagram kelas UML, ketergantungan penggunaan biasanya
direpresentasikan oleh sebuah garis panah putus yang menunjuk dari kelas
klien ke kelas pemasok.
• Panah menunjukkan arah ketergantungan, menunjukkan bahwa kelas klien
bergantung pada layanan yang disediakan oleh kelas pemasok.
• Pertimbangkan sebuah skenario di mana kelas "Mobil" bergantung pada
kelas "TangkiBahanBakar" untuk mengelola konsumsi bahan bakar.
• Kelas "Mobil" mungkin perlu mengakses metode atau atribut dari kelas
"TangkiBahanBakar" untuk memeriksa tingkat bahan bakar, mengisi bahan
bakar ulang, atau memantau konsumsi bahan bakar.
• Dalam kasus ini, kelas "Mobil" memiliki ketergantungan penggunaan pada
kelas "TangkiBahanBakar" karena menggunakan layanannya untuk
melakukan tugas tertentu terkait dengan manajemen bahan bakar.

E. Benefits of Class Diagrams


1. Pemodelan Struktur Kelas:
• Diagram kelas membantu dalam memodelkan struktur suatu sistem dengan
merepresentasikan kelas-kelas dan atribut, metode, serta hubungannya.
• Ini memberikan pandangan yang jelas dan terorganisir tentang arsitektur sistem.
2. Memahami Hubungan:
• Diagram kelas menggambarkan hubungan antara kelas-kelas, seperti asosiasi,
agregasi, komposisi, warisan, dan ketergantungan.
• Ini membantu pemangku kepentingan, termasuk pengembang, desainer, dan
analis bisnis, memahami bagaimana berbagai komponen sistem terhubung.
3. Komunikasi:
• Diagram kelas berfungsi sebagai alat komunikasi di antara anggota tim dan
pemangku kepentingan. Mereka menyediakan representasi visual dan
terstandarisasi yang dapat dengan mudah dipahami baik oleh audiens teknis
maupun non-teknis.
4. Blueprint untuk Implementasi:
• Diagram kelas berfungsi sebagai blueprint untuk implementasi perangkat lunak.
Mereka memandu pengembang dalam menulis kode dengan menggambarkan
kelas-kelas, atribut, metode, dan hubungan antara mereka.
• Ini dapat membantu memastikan konsistensi antara desain dan implementasi
sesungguhnya.
F. How to draw Class Diagrams
Menggambar diagram kelas melibatkan visualisasi struktur suatu sistem, termasuk kelas-
kelas, atribut-atribut, metode-metode, dan hubungan-hubungannya. Berikut adalah
langkah-langkah untuk menggambar diagram kelas:

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.

Anda mungkin juga menyukai