Mohon tunggu...
Ridho Abdul Aziz
Ridho Abdul Aziz Mohon Tunggu... Mahasiswa - Mahasiswa

informatics student in university Sultang Ageng Tirtayasa

Selanjutnya

Tutup

Ruang Kelas

UML: Definisi, Sejarah, Jenis, dan Manfaat

25 Mei 2024   00:16 Diperbarui: 25 Mei 2024   00:25 230
+
Laporkan Konten
Laporkan Akun
Kompasiana adalah platform blog. Konten ini menjadi tanggung jawab bloger dan tidak mewakili pandangan redaksi Kompas.
Lihat foto
Ruang Kelas. Sumber Ilustrasi: PAXELS

Definisi UML

Unified Modeling Language (UML) adalah suatu Bahasa standar yang biasa digunakan untuk proses pemvisualisasian, menspesifikasian, membangun dan mendomentasikan rancangan perangkat lunak yang sedang dikembangkan. UML pertama kali diperkenalkan oleh Perusahaan Object Management Group (OMG) pada tahun 1997 dan telah menjadi salah satu alat utama dalam pengembangan perangkat lunak. Ada banyak fitur yang disediakan oleh UML salah satu yang disediakan adalah notasi grafis yang membantu para pengembang untuk menggambarkan berbagai aspek dari sistem perangkat lunak, mulai dari stukturnya hingga perilaku dari sistem tersebut

Sejarah dan perkembangan UML

Bahasa UML dibuat karena kebutuhan akan sebuah Bahasa pemodelan yang bisa digunakan untu berbagai metode pengembangan perangkat lunak. Sebelum dibuatnya UML tepatnya pada tahun 1990, saat itu sudah terdapat beberapa metode yang digunakan untuk pemodelan contohnya ada Vooch, OMT (Object Modeling Technique), dan OOSE (Object Oriented Software Engenireering), nantinya ketiga meotde tersebut digabungkan untuk menciptkan Bahasa UML, versi pertama UML dirilis pada Januari 1997, sejak perilisan perdananya UML mangalami banyak Revisi dan penambahan fitur, selang beberapa tahun tepatnya pada tahun 2015 UML Kembali dirilis dimana versi terbaru ini membawa perbaikanj dan penambahan fitur yang tentunya akan mengakomodasi kebutuhan pengembang perangkat lunak

Komponen pada UML

Pada UML terdapat berbagai jenis diagram yang dapat digunakan untuk proses visualisasi sistem yang ingin dirancang, secara garis besar digrama dapat dikategorikan menjadi 2 yaitu diagram structural dan diagram perilaku, diagram structural adalah suatu diagram yang digunakana diagram ini digunakan untuk menggambarkan struktur status elemen dalam sistem yang ingin dibuat, selain untuk menggambarkan status elemen diagram structural juga bisa digunakan untuk menggambarkan hubungan antara satu objek dengan objek lainnya, pada diagram stuktural untuk tampilannya sendiri bersifat statis menggunakan objek, atribut, operasi, dan hubungan, sedangkan untuk diagram perilaku digunakan untuk menggambarkan bagaimana sistem berperilaku dan berinteraksi dengan dirinya sendiri atau dengan entitas lain, kedua jenis diagram tersebut dibagi menjadi beberapa bagian contohnya pada diagram structural terdapat :

Diagram kelas (class diagram)

Diagram kelas merupakan diagram yang digunakan untuk menggambarkan unsur statis pada suatau sistem, pada diagram ini visualisasi akan berfokus kepada kelas kelas, atribut, opeasi dan hubungan antas kelas, diagram ini juga merupakan salah satu diagram yang sering digunaka  pada Bahasa UML, diagram kelas mempunyai fungsi utama untuk memvisualisasikan, mendokumentasikan, dan menentukan fitur structural dari pemodelan sistem. Selain itu ada beberapa fungsi lainnya yaitu :

  • Memvisualisasikan model data dalam sebuah sistem, baik sistem sederhana maupun sistem kompleks sekalipun
  • Membantu memahami kebutuhan dari sistem dan komponennya
  • Memperlihatkan bagaimana sistem bekerja
  • Menggambarkan hubungan setiap komponen
  • Membantu menemukan kode spesifik tertentu untuk diimplementasikan ke struktur sistem yang sudah direncanakan
  • Bagi business analyst class diagram dapat digunakan untuk memodelkan sistem dari sebuah perspektif bisnis

komponen diagram class

pada class diagram terdapat beberapa komponen seperti :

  • Class : Class merupakan sekumpulan objek yang memiliki perilaku dan struktur yang sama, pada contoh diatas kumpulan dari ojek tersebut diberini nama Customer hotel yang memiliki beberapa atribut dan metode
  • Atribut : Atribut berisikan karakteristik objek dan berfungsi menjelaskan kualitas kelas, pada struktur penulisannya atribut dituliskan pada bagian atau kolom kedua setelah kolom untuk nama class, atribut hanya digunakan untk mendeskripsikan suatu objek atau instance yang dimiliki oleh kelas tertentu, pada contoh diatas terdapat beberapa atribut seperti No_KTP, Nama, Alamat, Nomor_kamar, semua atribut tersebut dimiliki oleh kelas dengan nama Customer hotel
  • Metode : Metode atau biasa disebut sebagai operasi adalah bagian dari suatu class yang menggambarkan perilaku kelas, seperti bagaimana proses interaksi kelas dengan data dan apa saja yang bisa dilakukan oleh kelas, posisi untuk metode dituliskan pada bagian kolom ke tiga setelah kolom atribut, pada gambar diatas terdapat beberapa metode seperti info tamu, waktu_checkin, waktu_checkout, informasi_pembayaran, dan pesanan_makanan
  • Package : Package adalah elemen seperti diagram, kelas, dokumen, atau package lain yang mirip bahkan bisa terkait satu sama lain, singkatnya package ini bisa diibaratkan seperti folder, atribut dan metode pada class diagram bisa diatur visibilitasnya atau akses terhadap atribut atau metode tersebut, caranya adalah dengan mengatur akses ke mode public, private, protected, dan package, berikut merupakan penjesalan dari masing masing sifatnya :
    • Private : apabila akses atribut atau metode disetting ke mode private maka atribut atau metode hanya bisa dilihat dan diakses oleh kelas dimana atribut atau metode tersebut berada, diluar itu class lain tidak akan bisa mengakses ataupun memodifikasi atribut atau metode tersebut
    • Public : dengan akses public maka seluruh sistem bisa mengakses bahkan memodifikasi baik atribut ataupun metodenya, singkatnya dengan akses public atribut atau metode bisa digunakan oleh siapapun yang membutuhkan
    • Protected : apabila akses di set menjadi mode protected, atribut dan metode tersebut bisa diakses oleh kelas tempat atribut atau metode itu berada dan pada kelas turunannya
    • Package : kelas yang tergabung dalam kelompok yang sama bisa saling mengkases atribut atau metode antar kelas

kelebihan diagram class

Class diagram memiliki beberapa kelebihan sebagai berikut :

  • Memiliki kemampuan untuk memetakan struktur dengan menggambarkan kelas, atribut, operasi, dan hungan antar objeknya, tentunya hal ini akan sangat membantu bagu pengembang memahami gambaran umum dari skema aplikasi, selain itu diagram kelas juga merupakan satu satunya Bahasa UML yang dapat dipetakan secara langsung menggunakan Bahasa OOP (Object Oriented Programing)
  • Komunikasi antar tim, dengan class diagram anggota tim pengembang dapat berkomunikasi lebih efektif tentang desain dan struktur sistem, tentunya hal tersebut dapat membantu memastikan bahwa semua orang memiliki pemahaman yang saya
  • Perencanaan desaun yang baik, class diagram dapat digunakan sebagai dokumentasi yang hidup yang dapat diperbarui sesuai dengan perubahan sistem. Ini memudahkan pemeliharaan dan pengembangan lanjutan
  • Membantu dalam pengkodean, class diagram menyediakan panduan yang jelas bagi pengembang dalam menulis kode. Dengan diagram ini, pengembang dapat memahami dependensi dan relasi antar kelas dengan lebih baik

kekurangan diagram class

Selain memiliki banyak kelebihan diagram class juga memiliki kekurang, Adapun kekurangan itu adalah :

  • Keterbatasan dalam dinamika sistem, class diagram hanya menunjukkan struktur statis dari sistem. Ini tidak bisa menggambarkan perilaku dinamis atau aliran data selama eksekusi sistem. Diagram lain seperti sequence diagram atau activity diagram diperlukan untuk ini.
  • Kompleksitas dalam sistem besar, jika diimplementasikan dalam sistem yang besar dan kompleks diagram class bisa menjadi sangar rumit dan sulit untuk dipahami yang tentunya bisa menyebabkan diagram kurang efektif sebagai alat komunikasi
  • Pemeliharaan diagram, class diagram harus diperbaharui setiap kali ada perubahan dalam desain atau implementasi sistem, jika tidak diperlihara dengan baik, diagram bisa menjadi usang
  • Memerlukan pengetahuan khusus, Ketika seorang pengembang ingin membuat sebuah diagram class pengembang tersebut harus memiliki pemahaman yang baik tentang UML dan prinsip desain OOP, tentunya bagi seseoarang yang kurang berpengalaman akan menjadi kendala untuk pengembangan
  • Terbatas pada desain OOP, class diagram sangat bergantung kepada paradigma pemrograman berorientasi objek. Untuk sistem yang tidak menggunakan pendekatan berorientasi objek, class diagram mungkin kurang relevan.

implementasi class diagram

Contoh diatas merupakan salah satu contoh penerapan diagram class pada sistem operasional hotel, Adapun rinciannya sebagai berikut :

  • Pada sistem diatas terdapat 9 kelas utama yaitu class manager, inventory, chef, receptionis, guest, rooms, food items, housekeeping, dan bill
  • Pada kelas Manager terdapat 4 buat atribut dan 3 buah metode, kelas manager terhubung ke kelas guest dan inventory dimana untuk hubungan multiplisitasnya adalah +1 yang menandakan setiap objek pada kelas manager hanya bisa berhubungan tepat dengan satu objek pada kelas inventory dan guest
  • Class inventory terdiri dari 2 buah atribut, kelas ini tidak memiliki metode, class inventori hanya terhubung ke kelas manager saja dengan multiplisitas hubungan +0.. yang artinya setiap objek pada kelas inventory dapat berhubungan dengan 0 atau lebih objek pada kelas manager
  • Class guest yang terdiri dari 5 buah atribut dan 5  buah metode, class ini terhubung ke class manager, rooms, dan bill, untuk multiplisitasnya sendiri untuk hubungan dengan class manager memeiliki multiplisitas +1.. yang menandakan setiap objek pada kelas guest dapat berhubungan dengan banyak objek pada kelas manager, sedangkan untuk hubungan kelas guest dengan class Rooms dan bill memiliki multiplitas +1 yang menandakan setiap objek pada kelas manager hanya bisa berhubungan tepat dengan satu objek pada kelas bill
  • Class rooms terdiri dari 2 buah atribut, pada kelas ini tidak terdapat metode, kelas ini terhubung ke kelas receptionist
  • Class receptionist terdiri dari 4 atribut dan 4 buah atribut, class ini terhubung ke kelas rooms dan bill, untuk hubungannya multiplisitas dengan kelas bill adalah +1 yang menandakan setiap objek pada kelas manager hanya bisa berhubungan tepat dengan satu objek pada kelas
  • Kelas bill memiliki 2 buah atribut, kelas ini terhubung ke kelas receptionist dan kelas guest, untuk multiplisitas dengan kelas receptionist adalah +0.. untuk multiplisitas dengan kelas guest adalah +1
  • Class housekeeping memiliki 3 buah atribut dan 1 buah metode, kelas ini terhubung ke satu kelas yaitu kelas food items
  • Class food items memiliki 2 buah atribut dan tidak memilik metode, kelas ini terhubung ke tig akelas yaitu kelas housekeeping, kelas guest dan kelas chef. Untuk hubungan multiplisitas dengan kelas chef adalah +1.. dimana setiap objek pada kelas food items bisa memiliki lebih dari 1 objek di kelas chef
  • Kelas chef terdiri dari 3 buah atribut dan 1 buah metode, kelas ini terhubung ke kelas food items dengan multiplisitas +1..

Diagram komponen

Diagram komponen adalah diagram yang memiliki tujuan untuk menunjukan hubungan antara berbagai komponen dalam suatu sistem, komponen disini mewakili bagian modular dari sistem yang dapat diidentifikasi dan dipisahkan dengan jelas, komponen disini berupa perangkat lunak, modul, subsiste, atau bagian dari sistem yang memiliki tanggung jawab tertentu. Diagram komponen mempunyai beberapa fungsi antara lain :

  • Memodelkan struktur fisik sistem : dengan digunakannya diagram komponen dapat membantu memodelkan bagaimana bagian bagian perangkat lunak diatur secara fisik yang mencakup bagaimana modul perangkat lunak, Pustaka, dan file diatur dan berinteraksi satu sama lain
  • Mendokumentasikan ketergantungan antar komponen : dengan diagram komponen pengembang dapat menampilkan hubungan ketergantungan antara berbagai komponen, tentunya dengan hal tersebut dapat membantu untuk memahami bagaimana perubahan pada satu komponen dapat memperngaruhi komponen lainnya
  • Menunjukan antarmuka komponen : diagram komponen menggambarkan antarmuka yang digunakan oleh komponen untuk berinteraksi satu sama lain. Ini membantu dalam mendefinisikan kontrak antara berbagai bagian sistem.
  • Menyederhanakan komunikasi antar tim : Diagram komponen menyederhanakan komunikasi antara anggota tim yang berbeda, seperti pengembang, arsitek, dan pemangku kepentingan lainnya. Visualisasi yang jelas memudahkan pemahaman tentang struktur sistem.
  • Mengidentifikasi dan mengelola ketergantungan : Diagram ini membantu dalam mengidentifikasi ketergantungan antara komponen, yang penting untuk manajemen versi dan pengujian. Ketergantungan yang jelas mempermudah dalam menentukan urutan pengembangan dan integrasi komponen.
  • Mendukung pengujian komponen : Dengan memisahkan sistem menjadi komponen-komponen yang jelas, diagram ini mempermudah pengujian unit dan pengujian integrasi. Setiap komponen dapat diuji secara terpisah sebelum diintegrasikan ke dalam sistem yang lebih besar.
  • Mendokumentasi struktur perangkat lunak untuk pemeliharaan : Diagram komponen menyediakan dokumentasi yang berguna untuk pemeliharaan di masa depan. Dokumentasi ini membantu pengembang yang mungkin tidak terlibat dalam pengembangan awal untuk memahami struktur dan fungsi sistem

struktur diagram komponen

Diagram komponen memiliki beberapa point untuk menyusunnya, berikut beberapa poin itu adalah :

  • Komponen : komponnen disini direpresentasikan sebagai sebuah persegi Panjang dengan dua persegu Panjang lebih kecil yang menempel di sisi sebelah kiri, dapat dilihat di gambar terdapat 3 buah komponen, komponen juga dapat memiliki nama yang jelas dan dapat dibagi menjadi antarmuka atau kelas
  • Antarmuka (interface) : Pada diagram interface Digambar sebagai lingkaran atau setengah lingkaran dengan nama antarmuka, interface juga menggambarkan titik akses untuk interaksi antara satu komponen ke komponen, pada gambar diatas dapat dilihat bangun ruang lingkaran, itu merupakan sebuah interface yang menghubungkan 2 komponen diatas ke komponen dibawahnya
  • Hubungan ketergantungan (dependency) : Dependency pada diagram komponen digambarkan sebagai garis garis dengan panah yang menunjuk kea rah komponen atau interface yang menjadi target dependency, dependency juga mengindikasikan bahwa antar komponen pada suatu sistem memliki ketergantungan dengan komponen lainnya, pada gambar diatas dapat dilihat panah dengan garis putuh putus yang menunjuk ke interface, itu merupakan dependency dan dapat disimpulkan bahwa 2 buah interface diatasnya merupakan target dari component dibawahnya
  • Hubungan realisasi (realization) : Direpresentasikan sebagai sebuah garus dengan anak panah yang tidak berisi, realization juga menunjukan bahwa sebuah komponen atau kelas merealisasikan antarmuka tertentu, pada gambar diatas dapat dilihat garis yang menghubungkan setiap komponen itu merupakan gambaran dari realization
  • Port : Port pada diagram komponen Digambar sebagai kotak kecil yang ditempatkan pada sisi komponen, port juga menunjukan titik interaksi pada komponen tersebut, pada gambar diatas sayangnya tidak ada gambaran dari port
  • Node : Pada diagram komponen node direpresentasikan sebagai kubus atau bentuk tiga dimensi lainnya, biasanya node digunakan untuk menggambarkan perangkat keras atau tempat fisik dimana komponen dijalankan, pada gambar diatas dapat dilihat terdapat sebuah kubus yang membungkus komponen itu merupakan node, dan pada contoh diatas terdapat 3 buah node yang masing masing membungkus sebuah komponen

kelebihan diagram komponen

Sama seperti diagram class, diagram komponen juga mempunya beberapa kelebihan :

  • Desain modular : Mendorong desain yang modular, dimana setiap komponen memiliki tanggung jawab yang jelas dan tentunya dapat mempermudah pemeliharan dan pengembangan lebih lanjut
  • Mendukung pengujian komponen : Mempermudah pengujian unit dan pengujian integrasi dengan memungkinkan setiap komponen diuji secara terpisah sebelum diintegrasikan ke dalam sistem yang lebih besar.
  • Visualisasi struktur fisik : Diagram komponen memberikan visualisasi yang jelas tentang struktur fisik dari sistem perangkat lunak, termasuk modul, pustaka, dan komponen lainnya.
  • Dokumentasi ketergantungan : Dengan menggunakan diagram komponen pengembang dapat mendokumentasikan ketergantungan pada setiap komponen, sehingga memudahkan pengembang untuk memahami setiap perubahan pada setiap komponen

kekurangan diagram komponen

Selain memiliki beberapa kelebihan, diagram komponen tentunya memiliki kelamahan, Adapun kelemahannya sebagai berikut :

  • Kompleksitas dalam diagram besar : Sama seperti kekurangan pada diagram class sebelumnya, hal itu juga terjadi pada diagram komponen, apabila sistem yang direncanakan berskala besar dan kompleks penggunaan diagram komponen akan sangat sulit, hal itu dikarenakan jumlah komponen dan hubungan yang banyak yang menyebabkan visualisasi susah untuk dibaca dan dipahami
  • Focus pada struktur fisik : Pada diagram komponen visualisasi hanya terfokus kepada aspek fisik saja, sedangkan aspek logis dari sistem tidak terlalu difokuskan, bahkan memiliki kemungkinan tidak diberi gambaran sekalipun diberi kemungkinan gambaran tersebut tidak lengkap
  • Ketergantungan pada detil implementasi : Diagram ini sering kali bergantung pada detail implementasi yang spesifik, yang bisa berubah seiring waktu, sehingga memerlukan pembaruan yang konstan
  • Kurangnya standar visual yang konsisten : Meskipun UML menyediakan standar, interpretasi dan penerapannya bisa bervariasi, menyebabkan kebingungan jika tidak ada kesepakatan yang jelas di awal
  • Membutuhkan waktu dan Upaya : Membuat dan memelihara diagram komponen yang akurat membutuhkan waktu dan upaya yang signifikan, terutama untuk sistem yang berkembang secara dinamis
  • Tidak menunjukan dinamika sistem : Diagram komponen tidak menunjukkan dinamika sistem atau interaksi runtime antara komponen. Untuk itu, diperlukan diagram lain seperti diagram urutan (sequence diagram)

implementasi diagram komponen pada sistem online shopping

Gambar diatas merupakan salah satu contoh penggunaan diagram komponen pada sistem belanja online, berikut rinciannya :

  • Sistem tersebut memiliki 5 buah komponen yaitu onlineShopping, customer, order, security, dan persistence
  • Komponen onlineShopping terhubung ke interface order pada komponen customer dan interface customer pada komponen order menggunakan konektor berupa dependencey, pada komponen ini tidak terdapat port, dan juga interface
  • Komponen customer terhubung ke komponen persistence dan komponen security, pada komponen ini juga terdapat 2 buah interface, interface pertama dengan nama customer, dan interface kedua dengan nama dataAccess, selain interface komponen customer juga memiliki 2 buah required interface yang menghungkan komponen ini ke komponen security dan komponen persistence, pada komponen ini tidak terdapat dependences dan juga port
  • Komponen order terhubung ke komponen onlineShopping, komponen security, komponen costumer, dan komponen persistence, pada komponen ini terdapat 2 buah interface dengan nama order dan dataAccess sama seperti komponen customer, komponen order juga memiliki 2 buah required interface yang menghungkan komponen ini ke salah satu interface  dengan nama accessControl yang terdapat pada komponen security selin itu komponen ini juga terhubung ke komponen persistence, pada komponen ini tidak terdapat dependences dan juga port
  • Komponen persistence terhubung ke komponen order dan komponen customer, pada komponen ini terdapat 2 buah interface dimana salah satu interface menjadi penghubung dengan interface pada komponen order, tidak ada port ataupun dependences pada komponen ini
  • Komponen terakhir adalah komponen security, komponen ini terhubung ke komponen order dan customer sama seperti komponen persistence, komponen ini juga memiliki 2 buah interface dimana salah satu interfacenya yang bernama accessControl menjadi media penghubung antara komponen ini dengan 2 komponen yaitu order dan customer

Diagram objek

Diagram objek adalah diagram turunan dari diagram kelas, diagram ini digunakan untuk menunjukan gambaran keadaan dari suatu objek atau instance secara rinci  di suatu sistem pada waktu tertentu, fungsi diagram objek adalah :

  • Representasi snapshot sistem : Diagram objek menggambarkan snapshot dari sistem pada suatu titik waktu tertentu. Ini membantu dalam memahami keadaan sistem pada momen spesifik, termasuk instance dari kelas-kelas dan nilai-nilai atribut mereka
  • Validasi struktur kelas : Dengan memodelkan objek dan hubungan mereka, diagram objek membantu memvalidasi struktur kelas yang telah dirancang dalam diagram kelas. Ini memastikan bahwa instance kelas dapat berinteraksi sesuai dengan desain
  • Analisis perilaku dinamis : Diagram objek dapat digunakan untuk menganalisis dan memvisualisasikan perilaku dinamis dari sistem, terutama bagaimana objek saling berinteraksi dalam skenario atau kasus penggunaan tertentu.
  • Dokumentasi sistem : Diagram objek menyediakan dokumentasi visual yang berguna bagi pengembang, analis sistem, dan pemangku kepentingan lainnya. Ini memudahkan mereka memahami bagaimana bagian-bagian sistem berinteraksi satu sama lain
  • Pemecahan masalah debugging : Selama pemecahan masalah dan debugging, diagram objek dapat membantu pengembang memahami keadaan sistem pada saat terjadinya kesalahan atau bug, sehingga memudahkan identifikasi dan penyelesaian masalah.
  • Komunikasi antar tim : Diagram objek memfasilitasi komunikasi yang lebih baik antar anggota tim pengembangan, termasuk pengembang, analis bisnis, dan manajer proyek. Ini memberikan pandangan yang jelas dan konsisten tentang bagaimana bagian-bagian sistem saling berhubungan.
  • Mendukung pengujian : Diagram objek dapat digunakan untuk mendukung kegiatan pengujian dengan memberikan gambaran tentang keadaan sistem sebelum dan sesudah tes. Ini membantu dalam merancang kasus uji yang efektif dan memahami hasil uji.

Komponen diagram objek

pada diagram objek terdapat 3 buah komponen utama yaitu :

  • Objek : Objek sendiri adalah suatu instance dari sebuah kelas, dalam diagram objek, objek digambarkan sebagai persegi Panjang yang dibagi menjadi 2 bagian dimana bagian pertama digunakan untuk nama objek disertai nama kelas, dan bagian kedua digunakan untuk menulis nilai atribut, untuk format penulisannya nama dari objek ditulis terlebih dahulu kemudian setelahnya ditulis nama kelas dari objek tersebut, contohnya kita ingin membuat sebuah objek dari kelas mahasiswa maka penulisannya pada diagram adalah mahasiswa1 (nama objek): Mahasiswa (nama kelas)
  • Atribut objek : Atribut disini merujuk kepada nilai spesifik pada titik waktu tertentu, selain itu atribut juga digunakan untuk menggambarkan keadaan dari objek
  • Link (tautan) : Link adalah suatu instance dari asosiasi yang menggambarkan hubungan antara dua objek, link juga bisa digunakan untuk menggambarkan interaksi antara objek

kelebihan diagram objek

Diagram objek memeiliki beberapa kelebihan antara lain :

  • Representasi snapshot : Diagram objek memberikan snapshot dari sistem pada suatu titik waktu tertentu, memungkinkan pengembang untuk melihat keadaan spesifik dari instance objek dan hubungan di antara mereka. Ini membantu dalam memahami bagaimana sistem bekerja dalam skenario tertentu
  • Validasi struktur kelas : Dengan memodelkan instance objek, diagram objek membantu memvalidasi struktur dan desain kelas yang ada dalam diagram kelas. Ini memastikan bahwa hubungan antara objek sesuai dengan yang direncanakan dalam desain
  • Analisis perilaku dinamis : Diagram objek berguna untuk menganalisis dan memahami perilaku dinamis dari sistem, terutama bagaimana objek saling berinteraksi dalam skenario tertentu. Ini membantu dalam memahami dinamika sistem secara lebih mendalam
  • Dokumentasi yang jelas : Diagram objek menyediakan dokumentasi visual yang berguna bagi pengembang, analis, dan pemangku kepentingan lainnya. Ini memberikan pandangan yang jelas dan konkret tentang bagaimana bagian-bagian sistem saling berhubungan dan berinteraksi.
  • Komunikasi antar tim : Memfasilitasi komunikasi yang lebih baik antar anggota tim dengan menyediakan representasi visual dari instance objek dan hubungan mereka. Ini membantu memastikan bahwa semua anggota tim memiliki pemahaman yang sama tentang sistem.

kekurangan diagram objek

Selain memiliki beberapa kelebihan diagram objek juga memiliki beberapa kekurangan antara lain :

  • Representasi statis : Diagram objek hanya memberikan snapshot statis dari sistem pada titik waktu tertentu dan tidak menunjukkan bagaimana sistem berkembang atau berubah seiring waktu. Ini bisa menjadi kurang informatif untuk analisis yang memerlukan pemahaman tentang perubahan dinamis dalam sistem
  • Kompleksitas dalam sistem besar : Lagi dan lagi kendala yang juga muncul pada kedua diagram sebelumnya adalah tentang kompleksitas, diagram objek dapat menjadi sangat rumit dan sulit untuk dipahami. Jumlah objek dan hubungan yang besar dapat membuat diagram menjadi tidak praktis untuk digunakan
  • Kurangnya detail operasional : Diagram objek lebih fokus pada keadaan dan hubungan objek daripada operasi atau metode yang dijalankan oleh objek. Ini berarti bahwa diagram objek mungkin tidak memberikan gambaran lengkap tentang perilaku dinamis dari sistem.
  • Pembaharuan manual : Diagram objek perlu diperbarui secara manual setiap kali ada perubahan dalam instance objek atau hubungan mereka. Ini bisa menjadi pekerjaan yang memakan waktu dan rentan terhadap kesalahan jika tidak dikelola dengan baik
  • Ketergantungan pada diagram kelas : Diagram objek sangat bergantung pada diagram kelas untuk konteks penuh. Tanpa pemahaman yang baik tentang struktur kelas, diagram objek mungkin sulit dimengerti sepenuhnya

implementasi diagram objek pada sistem pemesanan tiket

Gambar diatas merupakan salah satu contoh implementasi diagram objek pada sistem pemesanan tiket, berikut merupakan rinciannya :

  • Pada gambar diatas terdapat 7 buah objek, dimana masing masing objek merupakan bagian dari class yang berbeda
  • Pada objek pertama itu Bernama login yang diambil dari kelas log_in, objek ini memiliki 2 buah atribut yaitu password dan username, objek ini hanya terhubung ke objek yang dimiliki oleh kelas teller_ticket
  • Objek yang kedua Bernama tono, objek ini merupakan bagian dari kelas teller_ticket, objek ini memiliki 3 buah atribut yaitu id_teller, nama_teller, dan password_teller, objek ini terhubung ke 2 objek dari kelas log_in dan kelas_jadwal
  • Objek ketiga diberi nama reza, objek ini merupakan bagian dari kelas jadwal, dimana pada objek ini memiliki 8 buah atribut yaitu id_jadwal, kota_asal, kota_tujuan, tanggal, hari, jam, class_service, dan stok_ticket, objek ini terhubung ke 2 objek
  • Objek selanjutnya itu merupakan bagian dari kelas customer, objek tersebut diberi nama deki, pada objek ini terdapat 6 buah atribut yaitu id_customer, nama_ customer, alamat_ customer, no_telp_ customer, password_ customer, dan alamat_ email, objek ini terhubung kedalam 3 buah objek yaitu objek dari kelas jadwal, objek dari kelas transaction, dan objek dari kelas pemesanan
  • Objek kelima merupakan bagian dari kelas Tiket, obek tersebut diberi nama tiket, pada objek ini terdapat 8 buah atribut yaitu kode_tiket, kota_tujuan, kota_asal, class_service, tanggal, harga_awal, hari, dan jam, objek ini hanya terhubung ke satu objek saja yaitu objek dari kelas transaction
  • Objek keenam merupakan objek dari kelas transaction, objek tersebut diberi nama transaksi, objek ini memiliki 5 buah atribut yaitu id_ transaction, kode_tiket, id_customer, tgl_ transaction, dan bayar_ transaction, objek ini terhubung ke 2 buah objek, yaitu dari objek pada kelas tiket dan kelas customer
  • Objek terakhir adalah pemesanan, dimana objek ini memiliki 3 buah atribut yaitu id_pesan, id_customer, dan id_jadwal

Ketiga diagram diatas merupakan diagram yang sering digunakan pada kategori diagram structural, seperti yang disebutkan sebelumnya pada UML terdapat 2 katergori diagram, kategori pertama adalah diagram structural untuk contohnya sendiri seperti yang sudah dijelaskan sebelumnya ada diagram class, diagram objek dan diagram komponen, untuk kategori diagram yang kedua adalah diagram perilaku, sama seperti diagrm structural, diagram perilaku juga memiliki beberapa jenis diagram yang masuk ke kategori diagram ini, berikut merupakan jenis jenis diagram yang termasuk kedalam diagram perilaku adalah :

Use case diagram

Use case diagram adalah salah satu dari berbagai jenis diagram UML (unified modelling language) yang mengambarkan hubungan interaksi antara sistem dengan user, use case diagram juga berisi kebutuhan fungsional dari sistem yang ingin dibuat, use case diagram memiliki banyak fungsi yaitu :

  • menggambarkan interaksi antara user dengan sistem secara berurutan
  • mampu menggambar proses bisnis, bahkan menampilkan urutan aktivitas pada sebuah proses
  • sebagai bridge atau jembatan antara pembuat dengan konsumen untuk mendeskripsikan sebuah sistem

komponen use case diagram

use case diagram memiliki 5 buah komponen yaitu :

  • actor : actor pada use case diagram didefinisikan sebagai entitas yang berinteraksi dengan sistem untuk mencapai tujuan
  • use case : use case disini digunakan untuk merepresentasikan fungsionalitas atau layanan spesifik yang disediakan oleh sistem, selain itu use case juga digunakan untuk menjelaskan apa yang dilakukan oleh sistem, setiap use case harus dinamai dengan frase kata kerja atau kata benda yang jelas mendefinisikan Tindakan sebagai contoh Melakukan Pemesanan, dan verifikasi pengguna
  • Batasan sistem : Batasan sistem pada use case digambarkan sebagai sebuah persegi Panjang yang mendefinisikan lingkup sistem. Semua use case Digambar di dalam Batasan ini, sementara untuk actor ditempatkan diluar Batasan ini
  • Relasi : Relasi disini merujuk kepada hubungan antar komponen use case, berikut merupakan jenis jenis relasi pada use case diagram :
    • Asosiasi : Garis yang menghubungkan aktor dengan use case, menunjukkan bahwa aktor berpartisipasi dalam use case tersebut
    • Include : Panah putus-putus dengan ujung panah terbuka dari satu use case ke use case lain, menunjukkan bahwa perilaku use case yang disertakan selalu digunakan dalam use case dasar
    • Extend : Panah putus-putus dengan ujung panah terbuka yang mengarah dari use case ekstensi ke use case dasar, menunjukkan bahwa perilaku ekstensi dapat dimasukkan ke dalam use case dasar dalam kondisi tertentu
    • Generaization : Garis solid dengan ujung panah berongga dari aktor atau use case yang lebih spesifik ke yang lebih umum, menunjukkan pewarisan
    • Catatan dan Batasan : Deskripsi tekstual opsional atau batasan yang memberikan informasi tambahan tentang use case atau relasi antar mereka.

Kelebihan use case diagram

Use case diagram memiliki beberapa kelebihan antara lain :

  • Kemudahan komunikasi : Use case diagram menyediakan cara yang sederhana dan intuitif untuk menjelaskan fungsi sistem kepada pemangku kepentingan yang mungkin tidak memiliki latar belakang teknis. Visualisasi yang jelas membuat komunikasi antar tim dan dengan klien menjadi lebih mudah
  • Focus kepada pengguna : Diagram ini menempatkan fokus pada interaksi antara pengguna (aktor) dan sistem, memastikan bahwa kebutuhan pengguna dan skenario penggunaan utama diidentifikasi dan diprioritaskan
  • Flesibilitas dan skalabilitas : Use case diagram dapat digunakan untuk sistem yang sederhana hingga kompleks. Diagram ini dapat dengan mudah diperluas atau dimodifikasi sesuai dengan kebutuhan proyek yang berkembang
  • Identifikasi kebutuhan fungsional : Use case diagram membantu dalam mengidentifikasi dan mendokumentasikan kebutuhan fungsional dari sistem. Setiap use case merepresentasikan sebuah fungsi atau layanan yang diharapkan dari sistem.

kekurangan use case diagram

Selain memiliki kelebihan use case diagram juga mempunyai beberapa kekurangan yaitu :

  • Keterbatasan dalam menangkap detail : Use case diagram lebih berfokus pada interaksi antara aktor dan sistem daripada detail teknis internal. Hal ini dapat menyebabkan kurangnya informasi tentang bagaimana fungsi tertentu diimplementasikan dalam sistem
  • Abstaksi tinggi : Karena sifatnya yang abstrak dan tingkat tinggi, use case diagram tidak selalu menggambarkan alur kerja yang kompleks atau kondisi-kondisi tertentu secara rinci. Ini dapat mengakibatkan kesalahpahaman atau interpretasi yang salah jika tidak didukung oleh dokumen lain yang lebih rinci
  • Kebutuhan dokumentasi tambahan : Untuk mendapatkan gambaran lengkap tentang fungsionalitas sistem, use case diagram perlu didukung oleh dokumentasi tambahan seperti deskripsi use case, diagram aktivitas, dan diagram sekuens. Tanpa dokumentasi tambahan ini, use case diagram mungkin tidak cukup untuk pengembangan dan pengujian yang rinci

implementasi use case pada pembayaran ovo

Gambar diatas merupakan salah satu contoh penerapan use case diagram pada sistem pembayaran ovo, berikut merupakan rinciannya :

  • Pada diagram diatas hanya terdapat satu buah actor saja
  • Terdapat 3 buah use case utama yaitu top up, transfer dan payment
  • Pada use case top up merujuk kepada proses isi ulang saldo, top up memiliki relasi dengan saldo dan login
  • Use case utama selanjutnya ada transfer, transfer disini merujuk kepada proses pembagian atau pengiriman saldo ovo, transfer sendiri memiliki relasi dengan 3 buah use case yaitu sesame ovo, rekening bank, dan login
  • Use case terakhir adalah payment, payment disini merujuk kepada proses pembayaran , payment memiliki relasi dengan 3 buah use case yaitu tagihan, pemesanan, dan login

Diagram urutan

Diagram urutan adalah sebuah diagram yang digunakan untuk menjelaskan dan menampilkan interaksi antar objek-objek dalam sebuah sistem secara terperinci. Selain itu sequence diagaram juga akan menampilkan pesan atau perintah yang dikirim, beserta waktu pelaksanaannya. Objek-objek yang berhubungan dengan berjalannya proses operasi biasanya diurutkan dari kiri ke kanan, Adapun fungsi diagram urutan adalah :

  • Visualisasi proses : Diagram urutan membantu dalam memvisualisasikan urutan langkah-langkah dalam suatu proses atau aliran kerja secara sistematis. Ini memungkinkan pemahaman yang lebih baik tentang bagaimana setiap langkah saling terkait
  • Identifikasi masalah : Dengan menggunakan diagram urutan, Anda dapat dengan mudah mengidentifikasi titik-titik potensial di mana masalah atau hambatan mungkin muncul dalam proses. Ini membantu dalam pemecahan masalah dan peningkatan efisiensi
  • Pemetaan interaksi : Diagram urutan juga membantu dalam memetakan interaksi antara berbagai elemen dalam sistem. Ini membantu dalam memahami bagaimana informasi atau bahan bergerak melalui proses, dan di mana titik-titik kunci dalam interaksi tersebut

Komponen pada diagram urutan

  • Actor : Komponen ini menggambarkan seorang pengguna (user) yang berada di luar sistem dan sedang berinteraksi dengan sistem. Dalam sequence diagram, aktor biasanya digambarkan dengan simbol stick figure
  • Activation box : Komponen activation box ini merepresentasikan waktu yang dibutuhkan suatu objek untuk menyelesaikan tugasnya. Semakin lama waktu yang diperlukan, maka secara otomatis activation boxnya juga akan menjadi lebih panjang. Komponen ini digambarkan dengan bentuk persegi Panjang
  • Lifeline : Komponen ini digambarkan dengan bentuk garis putus-putus. Lifeline ini biasanya memiliki kotak yang berisi objek yang memiliki fungsi untuk menggambarkan aktifitas dari objek
  • Objek : Komponen objek ini digambarkan memiliki bentuk kotak yang berisikan nama dari objek dengan garis bawah. Biasanya objek berfungsi untuk mendokumentasikan perilaku sebuah objek pada sebuah sistem
  • Messages : Komponen ini untuk menggambarkan komunikasi antar objek. Messages biasanya muncul secara berurutan pada lifeline. Komponen messages ini direpresentasikan dengan anak panah. Inti dari sebuah diagram urutan terdapat pada komponen lifeline dan messages ini

Kelebihan diagram urutan

Diagram urutan memiliki beberapa kelebihan yaitu :

  • Visualisasi yang jelas : Diagram urutan menyediakan visualisasi yang jelas tentang urutan langkah-langkah dalam suatu proses atau aliran kerja. Ini membuatnya mudah dipahami oleh orang-orang yang terlibat
  • Perencanaan yang lebih baik : Dengan memahami urutan langkah-langkah dalam proses, perencanaan kegiatan menjadi lebih baik. Ini memungkinkan untuk mengidentifikasi risiko dan merencanakan tindakan yang sesuai.
  • Pemantauan kemajuan : Diagram urutan dapat digunakan untuk memantau kemajuan dalam proses. Dengan melacak langkah-langkah yang sudah diselesaikan, Anda dapat mengetahui di mana proses berada dan apakah ada keterlambatan.

Kekurangan diagram urutan

Berikut merupakan kekurangan dari diagram urutan :

  • Sederhana : Diagram urutan mungkin terlalu sederhana untuk menggambarkan proses yang kompleks. Ini dapat menyebabkan kehilangan detail yang penting
  • Tidak fleksibel : Diagram urutan cenderung kurang fleksibel daripada model proses yang lebih kompleks. Ini membuatnya sulit untuk menangani variasi dalam proses atau aliran kerja.
  • Keterbatasan dalam representasi : Diagram urutan memiliki keterbatasan dalam representasi jenis proses tertentu, seperti proses non-linear atau interaksi antara elemen yang kompleks

Implementasi diagram urutan pada proses login mahasiswa

 

  • Pada diagram diatas terdapat satu buak actor
  • Terdapat 4 buah objek yaitu User login, sistem, database, dan dashboard
  • Pertama mahasiswa akan masuk ke tampilan user login dengan menggunakan ID dan Password
  • Lalu, sistem akan mengirimkan data tersebut ke database untuk divalidasi
  • Di dalam database data mahasiswa akan diperiksa dan divalidasi. Jika data yang dimasukan salah dan tidak valid, maka akan menampilkan pesan bahwa ID atau Password salah. Sedangkan jika data yang dimasukan benar dan valid, maka sistem akan menampilkan dashboard aplikasi.

Diagram activity

Diagram aktivitas adalah suatu diagram pada UML yang menggambarkan alur kerja atau aktivitas dalam sistem. Diagram ini menampilkan langkah-langkah atau aktivitas yang dilakukan dalam suatu proses serta urutan dan kondisi yang mengendalikan aliran tersebut, Adapun fungsi dari diagram aktivitas adalah sebagai berikut :

  • Menggambarkan alur kerja : Diagram aktivitas digunakan untuk menggambarkan alur kerja atau proses yang melibatkan beberapa aktivitas. Ini membantu memahami bagaimana proses berjalan dari awal hingga akhir, termasuk kondisi dan keputusan yang mempengaruhinya
  • Analisis proses bisnis : diagram aktivitas membantu menganalisis dan mendokumentasikan proses bisnis. Ini memungkinkan identifikasi area yang perlu perbaikan, penyederhanaan, atau otomasi.
  • Mengidentifikasi keterkaitan antar aktivitas : Diagram ini membantu mengidentifikasi bagaimana berbagai aktivitas dalam suatu proses saling berhubungan dan bagaimana mereka bergantung satu sama lain, yang penting untuk koordinasi dan sinkronisasi kegiatan

Komponen pada diagram aktivitas

Pada diagram aktivitas terdapat beberapa komponen penting yang Menyusun diagram ini antara lain :

  • Status awal : Status awal digambarkan sebagai sebuah linkaran berwarna hitam, fungsi dari diagram ini adalah sebagai penanda titik awal dari alur aktivitas
  • Aktivitas : Aktivitas digambarkan sebagai sebuah persegi panjang dengan sudut melengkung, komponen ini digunakan untuk mewakili tugas atau pekerjaan yang harus dilakukan
  • Percabangan/decision : Percabangan pada diagram aktivitas digambarkan dengan belah ketupat dengan beberapa panah keluar yang mewakili kondisi, fungsi dari komponen ini adalah menunjukkan percabangan alur berdasarkan kondisi tertentu
  • Penggabungan/join : Digambarkan dengan belah ketupat dengan beberapa panah masuk, komponen itu berfungsi untuk menggabungkan beberapa alur menjadi satu
  • Status akhir : Digambarkan sebagai ingkaran dengan lingkaran hitam di dalamnya, komponen ini berfungsi menunjukan titik akhir dari alur aktivitas
  • Swimlane : Digambarkan dengan kolom atau baris yang mengelompokan aktivitas, berfungsi untuk mengorganisir aktivias berdasarkan pelaku atau komponen yang berbeda

Kelebihan diagram aktivitas

Diagram aktivitas memiliki beberapa kelebihan antara lain :

  • Komunikasi yang efektif : Membantu dalam komunikasi antar tim, termasuk pengembang, analis bisnis, dan manajer proyek, dengan menyediakan representasi visual yang disepakati bersama.
  • Menggambarkan alur proses secara mendetail : Diagram ini mampu menggambarkan alur proses yang kompleks dengan berbagai keputusan, kondisi, dan alur paralel secara mendetail
  • Mendeteksi kesalahan dan inkonsistensu : Dengan pemodelan visual, diagram aktivitas memudahkan identifikasi kesalahan dan inkonsistensi dalam alur proses, yang dapat diatasi sebelum implementasi

Kekurangan diagram aktivitas

  • Kompleksitas dalam proses besar : Untuk proses yang sangat besar dan kompleks, diagram aktivitas bisa menjadi rumit dan sulit dipahami, terutama jika terdapat banyak cabang dan kondisi
  • Kurang menjelaskan detail teknis : Diagram ini lebih berfokus pada alur proses daripada detail teknis implementasi, sehingga mungkin tidak cukup untuk pengembangan teknis tanpa diagram tambahan seperti diagram kelas atau urutan.
  • Waktu dan sumber daya : Membuat diagram aktivitas yang komprehensif bisa memerlukan waktu dan sumber daya yang signifikan, terutama untuk proses yang kompleks.

Implementasi diagram aktivitas pada proses login

Diagram diatas merupakan contoh penggunaan diagram aktivitas pada proses login, berikut rinciannya :

  • Pada awal proses user akan diminta untuk masukan nama userID dan passwordnya
  • Apabila userID dan password benar maka proses akan berlanjut ke proses tampil menu utama
  • Apabila userID atau password salah maka user akan diarahkan Kembali ke proses sebelumnya yaitu proses input userID dan password

Manfaat penggunaan UML

Menggunakan UML dalam pengembangan perangkat lunak memiliki berbagai manfaat, antara lain:

  • Standarisasi : UML menyediakan bahasa standar yang dapat digunakan oleh semua anggota tim pengembang, sehingga memudahkan komunikasi dan kolaborasi.
  • Visualisasi : Diagram UML membantu dalam memvisualisasikan struktur dan perilaku sistem, membuatnya lebih mudah untuk dipahami oleh semua pemangku kepentingan.
  • Dokumentasi : UML menyediakan cara yang sistematis untuk mendokumentasikan desain dan arsitektur sistem, yang dapat digunakan sebagai referensi di masa depan.
  • Analisis dan Desain yang Lebih Baik : Dengan menggunakan UML, tim pengembang dapat melakukan analisis dan desain yang lebih baik, karena mereka dapat melihat gambaran lengkap dari sistem dan membuat keputusan berdasarkan visualisasi yang jelas.
  • Pengurangan Risiko : Dengan mendokumentasikan dan memvisualisasikan sistem secara rinci, UML membantu dalam mengidentifikasi dan mengurangi risiko potensial sejak dini dalam siklus pengembangan.

Baca konten-konten menarik Kompasiana langsung dari smartphone kamu. Follow channel WhatsApp Kompasiana sekarang di sini: https://whatsapp.com/channel/0029VaYjYaL4Spk7WflFYJ2H

HALAMAN :
  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
Mohon tunggu...

Lihat Konten Ruang Kelas Selengkapnya
Lihat Ruang Kelas Selengkapnya
Beri Komentar
Berkomentarlah secara bijaksana dan bertanggung jawab. Komentar sepenuhnya menjadi tanggung jawab komentator seperti diatur dalam UU ITE

Belum ada komentar. Jadilah yang pertama untuk memberikan komentar!
LAPORKAN KONTEN
Alasan
Laporkan Konten
Laporkan Akun