RPL 2 || PERTEMUAN 10

DIAGRAM KOMUNIKASI DAN DIAGRAM KOLABORASI
STUDI KASUS PENGIRIMAN BARANG


1. Pengertian Diagram Komunikasi

    Diagram komunikasi (Communication Diagram) adalah sebuah diagram UML yang menggambarkan tentang interaksi antar objek atau bagian dalam bentuk urutan pengiriman pesan. Diagram komunikasi memrepresentasikan informasi yang diperoleh dari class diagram (diagram kelas), sequence diagram (diagram sekuen) dan use case diagram (diagram use case) untuk mendeskripsikan gabungan antara struktur statis dan tingkah laku dinamis dari suatu sistem. 

    Diagram komunikasi mengelompokkan message atau pesan pada kumpulan diagram sekuen menjadi sebuah diagram. Dalam diagram komunikasi yang dituliskan adalah operasi atau metode yang dijalankan antara objek yang satu dan objek lainnya secara keseluruhan, oleh karena itu dapat diambil dari jalannya interaksi pada semua diagram sekuen. Penomoran metode dapat dilakukan berdasarkan ururan dijalankannya metode atau operasi diantara objek yang satu dengan objek lainnya atau objek itu sendiri. 

    Yang membedakan diagram komunikasi dari diagram yang lain adalah diagram komunikasi ini yang mengarahkan objek-objek dan asosiasi dengan objek-objek yang lain dalam sistem bersamaan dengan interaksinya. Asosiasi ini tidaklah dijelaskan dalam sequence diagram. Sequence diagram hanya menunjukkan objek-objek dan pesan-pesan yang ikut serta dalam interaksi tersebut serta urutan prosesnya. Tetapi tidak menunjukkan hubungan diantara objek-objek yang ada.

    Adapun tujuan dari diagram komunikasi adalah :

a. Model pesan melalui antar peran atau objek yang mengirimkan operasi penggunaan dan fungsionalitas kasus.

b. Mekanisme model dalam desain arsitektur sistem.

c. Tangkap interaksi yang mengarahkan pesan yang dilewati antar peran dan objek dalam skenario kolaborasi.

d. Model skenario alternatif dalam kasus pemakaian atau operasi yang melibatkan kolaborasi dari berbagai interaksi dan objek.

e. Dukung pengidentifikasian objek (sebab kelas), atributnya (parameter pesan), dan operasi (pesan) yang ikut serta dalam use case.


2. Pengertian Diagram Kolaborasi

    Diagram kolaborasi (Collaboration Diagram) adalah diagram yang mengelompokkan message atau pesan pada kumpulan diagram komunikasi menjadi sebuah diagram. Dalam diagram kolaborasi yang dituliskan adalah operasi atau metode yang dijalankan antara objek yang satu dan objek lainnya secara keseluruhan, oleh karena itu dapat diambil dari jalannya interaksi pada diagram komunikasi. Penomororan metode dapat dilakukan berdasarkan urutan dijalankannnya metode atau operasi diantara objek yang satu dengan objek lainnya atau objek itu sendiri.

    Sebenarnya, diagram kolaborasi adalah diagram komunikasi yang digabungkan. Diagram komunikasi adalah diagram kolaborasi tetapi dibuat untuk setiap sekuen, jadi merupakan diagram komunikasi itu penyederhanaan dari diagram kolaborasi. 

    Diagram kolaborasi adalah perluasan dari objek dan diagram (objek diagram menunjukkan objek-objek dan hubungannya satu dengan yang lain). Diagram kolaborasi menunjukkan message-message objek yang dikirim satu sama lain  dan juga menggambarkan interaksi antar objek seperti diagram sekuen, tetapi lebih menekankan pada peran masing-masing objek dan bukan pada waktu penyampaian message. Diagram kolaborasi juga menunjukkan informasi yang sama persis dengan diagram sekuen, tetapi dalam bentuk dan tujuan yang berbeda. Sebagaimana diagram sekuen, diagram kolaborasi digunakan untuk menampilkan aliran skenario tertentu di dalam Use Case. Jika diagram sekuen disusun berdasarkan urutan waktu, diagram kolaborsi lebih berkonsentrasi pada hubungan antar objek-objek. 

    Fungsi diagram kolaborasi digunakan untuk :

a. Pandangan dalam arti perilaku sistem, berfokus pada link-link diantara objek objek.

b. Illustrasi dari suatu diagram Use Case.

c. Menyatakan objek-objek yang diperlukan untuk merealisasikan suatu layanan.

d. Memeriksa jalur-jalur pengaksesan.


3. Simbol Diagram Komunikasi dan Kolaborasi

    Diagram komunikasi dan kolaborasi memiliki bentuk simbol yang sama yaitu :

4. Praktikum Studi Kasus Diagram Komunikasi

Deskripsi Kasus : Sistem Informasi Pengiriman Barang 

Studi kasus yang diambil oleh penulis berjudul Sistem Informasi Pengiriman Barang. Sistem informasi ini mengelola dan memanajemen informasi tentang pengiriman barang yang dilakukan oleh sebuah perusahaan distributor besar ke sebuah distributor kecil (seperti toko). Barang yang dimaksudkan pada studi kasus ini adalah barang pangan kebutuhan rumah tangga, yaitu terigu, kanji, gula halus dan lainnya. 

Sistem informasi ini dapat dikelola oleh seorang admin dan dapat dilihat oleh seorang kepala gudang untuk memeriksa dan menyetujui data-data mengenai pengiriman barang, serta dapat juga dilihat oleh distributornya. Jadi, disebuah perusahaan hanya terdapat seorang admin dan seorang kepala gudang, serta banyak distributor yang telah bekerja sama dengan perusahaan sehingga dapat masuk ke sistem tetapi tetap dikontrol oleh admin.

Admin memiliki hak akses penuh terhadap sistem informasi. Hak akses admin yaitu :

a. Mengelola data barang, yaitu untuk menampilkan, mencari, menambah, mengubah dan menghapus data barang.

b. Mengelola data pengiriman, yaitu untuk menampilkan, mencari, menambah, mengubah dan menghapus data pengiriman.

c. Mengelola data distributor, yaitu untuk menampilkan, mencari, menambah, mengubah dan menghapus data distributor.

d. Mengelola akun untuk admin, yaitu untuk menampilkan dan mengubah data untuk akun admin.

e. Mengelola kepala gudang, yaitu untuk menampilkan dan mengubah data untuk akun kepala gudang.

Kepala gudang memiliki hak akses terhadap sistem informasi. Hak akses kepala gudang yaitu :

a. Mengelola kepala gudang, yaitu untuk menampilkan dan mengubah data untuk akun kepala gudang.

b. Menampilkan dan mencari data barang.

c. Menampilkan dan mencari data pengiriman.

d. Menampilkan dan mencari data distributor.

Distributor juga memiliki hak akses terhadap sistem informasi. Distributor hanya dapat menampilkan dan mencari data pengiriman.

Untuk dapat menjalankan hak aksesnya, maka admin, kepala gudang dan distributor harus login terlebih dahulu ke sistem. Setelah login, saat ingin mengelola sistem maka akan dilakukan validasi untuk memeriksa hak akses dari penggunanya.  

A. Diagram Komunikasi Login

Penjelasan : 

a. Seorang Admin Perusahaan sebagai salah satu pengguna yang dapat melakukan validasi, berinteraksi dengan sistem dan akan berjalan class Main sebagai fungsi awal yang dieksekusi ketika sistem dijalankan (proses nomor 1). 

b. Dari class Main akan berjalan menuju class Antarmuka untuk membuka formLogin() (proses nomor 2).

c. Dari class Antarmuka, setelah pengguna mengisi isi di formLogin maka akan berjalan ke class Validasi untuk pengecekan, dan berjalanlah proses login() (proses nomor 3).

d. Dari class Validasi maka akan berjalan ke KoneksiDB untuk membuka database dengan proses open() untuk melihat data-data dari pengguna yang berusaha login (proses nomor 4).

e. Dari class Validasi akan berjalan ke class Admin untuk pengecekan dan penyesuaian data saat login dengan data Admin, jadi digunakan perintah queryCekLogin() (proses nomor 5).

f. Dari class Admin akan berjalan ke KoneksiDB untuk menjalankan query yang ditujukan ke Admin, sehingga berjalan proses execute() (proses nomor 6). 

g. Kemudian, dari KoneksiDB akan memberikan hasil ke class Validasi dengan proses getResult() untuk menentukan hasil validasinya (proses nomor 7).

h. Setelah dapat hasilnya, maka dari class Validasi akan berjalan ke KoneksiDB lagi untuk menutup database dengan proses close() (proses nomor 8). 

B. Diagram Komunikasi Logout

Penjelasan :

a. Seorang Admin Perusahaan sebagai salah satu pengguna yang dapat melakukan validasi, berinteraksi dengan sistem dan akan berjalan class Main sebagai fungsi awal yang dieksekusi ketika sistem dijalankan (proses nomor 1). 

b. Dari class Main akan berjalan menuju class Antarmuka untuk membuka menuLogout() (proses nomor 2).

c. Dari class Antarmuka, setelah muncul menuLogout maka akan berjalan ke class Validasi untu keluar dari sistem, dan berjalanlah proses logout() (proses nomor 3).

C. Diagram Komunikasi Tampil Barang

Penjelasan :

a. Seorang Admin Perusahaan sebagai salah satu pengguna yang dapat berinteraksi dengan sistem dan akan berjalan class Main sebagai fungsi awal yang dieksekusi ketika sistem dijalankan (proses nomor 1). 

b. Dari class Main akan berjalan menuju class Antarmuka untuk membuka formBarang() (proses nomor 2).

c. Dari class Antarmuka akan berjalan ke class KelolaBarang untuk menjalankan proses tampilBarang() agar dapat menampilkan barang (proses nomor 3).

d. Dari class KelolaBarang akan berjalan ke class Validasi untuk proses memeriksaStatusLogin() agar mengecek hak akses pengguna (proses nomor 4).

e. Dari class KelolaBarang berjalan ke KoneksiDB setelah proses validasi selesai. Berjalan proses open() untuk membuka database agar dapat mengetahui isi data barang (proses nomor 5).

f. Dari class KelolaBarang berjalan memberikan perintah ke class Barang yaitu dengan queryTampilBarang() untuk menampilkan data barang (proses nomor 6).

g. Dari class Barang berjalan ke KoneksiDB dengan proses execute() untuk menjalankan query atau perintah yang sebelumnya diterima (proses nomor 7).

h. Dari class Barang berjalan ke KoneksiDB dengan proses getResult() untuk mendapatkan hasil berupa data barang (proses nomor 8).

i. Dari class KelolaBarang berjalan menampilkan (get) data-data dari barang ke class Barang, ada banyak data barang yang ditampilkan sesuai dengan isi dari database (proses nomor 9, 10, 11, 12, 13, 14, 15).

j. Dari class KelolaBarang berjalan proses close() ke KoneksiDB untuk menutup database (proses nomor 16).

D. Diagram Komunikasi Cari Barang

Penjelasan :

a. Seorang Admin Perusahaan sebagai salah satu pengguna yang dapat berinteraksi dengan sistem dan akan berjalan class Main sebagai fungsi awal yang dieksekusi ketika sistem dijalankan (proses nomor 1). 

b. Dari class Main akan berjalan menuju class Antarmuka untuk membuka formCariBarang() (proses nomor 2).

c. Dari class Antarmuka akan berjalan ke class KelolaBarang untuk menjalankan proses cariBarang() agar dapat menampilkan barang (proses nomor 3).

d. Dari class KelolaBarang akan berjalan ke class Validasi untuk proses memeriksaStatusLogin() agar mengecek hak akses pengguna (proses nomor 4).

e. Dari class KelolaBarang berjalan ke KoneksiDB setelah proses validasi selesai. Berjalan proses open() untuk membuka database agar dapat mencari data barang (proses nomor 5).

f. Dari class KelolaBarang berjalan memberikan perintah ke class Barang yaitu dengan queryCariBarang() untuk menampilkan data barang (proses nomor 6).

g. Dari class Barang berjalan ke KoneksiDB dengan proses execute() untuk menjalankan query atau perintah yang sebelumnya diterima (proses nomor 7).

h. Dari class Barang berjalan ke KoneksiDB dengan proses getResult() untuk mendapatkan hasil berupa data barang (proses nomor 8).

i. Dari class KelolaBarang berjalan menampilkan (get) data-data dari barang ke class Barang, ada banyak data barang yang ditampilkan sesuai dengan isi dari database (proses nomor 9, 10, 11, 12, 13, 14, 15).

j. Dari class KelolaBarang berjalan proses close() ke KoneksiDB untuk menutup database (proses nomor 16).

E. Diagram Komunikasi Tambah Barang

Penjelasan :

a. Seorang Admin Perusahaan sebagai salah satu pengguna yang dapat berinteraksi dengan sistem, dan akan berjalan class Main sebagai fungsi awal yang dieksekusi ketika sistem dijalankan (proses nomor 1). 

b. Dari class Main akan berjalan menuju class Antarmuka untuk membuka formTambahBarang() (proses nomor 2).

c. Dari class Antarmuka akan berjalan ke class KelolaBarang untuk menjalankan proses tambahBarang() agar dapat menambahkan data barang (proses nomor 3).

d. Dari class KelolaBarang akan berjalan ke class Validasi untuk proses memeriksaStatusLogin() agar mengecek hak akses pengguna (proses nomor 4).

e. Dari class KelolaBarang berjalan ke class Barang untuk memasukkan atau menambahkan  data barang ke database. Beberapa data barang yang ditambahkan telah diubah dan telah diatur (set) ke class Barang (proses nomor 5, 6, 7, 8, 9, 10, 11). 

f. Dari class KelolaBarang berjalan ke KoneksiDB setelah membuat tambahan barang. Berjalan proses open() untuk membuka database agar dapat menambahkan data barang (proses nomor 12).

g. Dari class KelolaBarang berjalan memberikan perintah ke class Barang yaitu dengan queryTambahBarang() untuk menambah data barang (proses nomor 13).

h. Dari class Barang berjalan ke KoneksiDB dengan proses execute() untuk menjalankan query atau perintah yang sebelumnya diterima (proses nomor 14).

i. Dari class KelolaBarang berjalan proses close() ke KoneksiDB untuk menutup database (proses nomor 15).

F. Diagram Komunikasi Ubah Barang

Penjelasan :

a. Seorang Admin Perusahaan sebagai salah satu pengguna yang dapat berinteraksi dengan sistem, dan akan berjalan class Main sebagai fungsi awal yang dieksekusi ketika sistem dijalankan (proses nomor 1). 

b. Dari class Main akan berjalan menuju class Antarmuka untuk membuka formDetilBarang() (proses nomor 2).

c. Dari class Antarmuka akan berjalan ke class KelolaBarang untuk menjalankan proses ubahBarang() agar dapat mengubah data barang (proses nomor 3).

d. Dari class KelolaBarang akan berjalan ke class Validasi untuk proses memeriksaStatusLogin() agar mengecek hak akses pengguna (proses nomor 4).

e. Dari class KelolaBarang berjalan ke class Barang untuk mengubah dan menentukan isi dari data barang yang ada di database. Beberapa data barang di database yang telah diubah dan telah diatur (set) ke class Barang (proses nomor 5, 6, 7, 8, 9, 10, 11). 

f. Dari class KelolaBarang berjalan ke KoneksiDB setelah mengatur isi data. Berjalan proses open() untuk membuka database agar dapat mengubah data barang (proses nomor 12).

g. Dari class KelolaBarang berjalan memberikan perintah ke class Barang yaitu dengan queryUbahBarang() untuk mengubah data barang (proses nomor 13).

h. Dari class Barang berjalan ke KoneksiDB dengan proses execute() untuk menjalankan query atau perintah yang sebelumnya diterima (proses nomor 14).

i. Dari class KelolaBarang berjalan proses close() ke KoneksiDB untuk menutup database (proses nomor 15).

G. Diagram Komunikasi Hapus Barang

Penjelasan :

a. Seorang Admin Perusahaan sebagai salah satu pengguna yang dapat berinteraksi dengan sistem, dan akan berjalan class Main sebagai fungsi awal yang dieksekusi ketika sistem dijalankan (proses nomor 1). 

b. Dari class Main akan berjalan menuju class Antarmuka untuk membuka formDetilBarang() (proses nomor 2).

c. Dari class Antarmuka akan berjalan ke class KelolaBarang untuk menjalankan proses hapusBarang() agar dapat menghapus data barang (proses nomor 3).

d. Dari class KelolaBarang akan berjalan ke class Validasi untuk proses memeriksaStatusLogin() agar mengecek hak akses pengguna (proses nomor 4).

e. Dari class KelolaBarang berjalan ke KoneksiDB berjalan proses open() untuk membuka database agar dapat menghapus data barang (proses nomor 5).

f. Dari class KelolaBarang berjalan memberikan perintah ke class Barang yaitu dengan queryHapusBarang() untuk menghapus data barang (proses nomor 6).

g. Dari class Barang berjalan ke KoneksiDB dengan proses execute() untuk menjalankan query atau perintah yang sebelumnya diterima (proses nomor 7).

h. Dari class KelolaBarang berjalan proses close() ke KoneksiDB untuk menutup database (proses nomor 8).

H. Diagram Komunikasi Tampil Pengiriman

Penjelasan :

a. Seorang Admin Perusahaan sebagai salah satu pengguna yang dapat berinteraksi dengan sistem dan akan berjalan class Main sebagai fungsi awal yang dieksekusi ketika sistem dijalankan (proses nomor 1). 

b. Dari class Main akan berjalan menuju class Antarmuka untuk membuka formPengiriman() (proses nomor 2).

c. Dari class Antarmuka akan berjalan ke class KelolaPengiriman untuk menjalankan proses tampilPengiriman() agar dapat menampilkan data pengiriman (proses nomor 3).

d. Dari class KelolaPengiriman akan berjalan ke class Validasi untuk proses memeriksaStatusLogin() agar mengecek hak akses pengguna (proses nomor 4).

e. Dari class KelolaPengiriman berjalan ke KoneksiDB setelah proses validasi selesai. Berjalan proses open() untuk membuka database agar dapat mengetahui isi data pengiriman (proses nomor 5).

f. Dari class KelolaPengiriman berjalan memberikan perintah ke class Pengiriman yaitu dengan queryTampilPengiriman() untuk menamppilkan data pengiriman (proses nomor 6).

g. Dari class Pengiriman berjalan ke KoneksiDB dengan proses execute() untuk menjalankan query atau perintah yang sebelumnya diterima (proses nomor 7).

h. Dari class Pengiriman berjalan ke KoneksiDB dengan proses getResult() untuk mendapatkan hasil berupa data pengiriman (proses nomor 8).

i. Dari class KelolaPengiriman berjalan menampilkan (get) data-data dari pengiriman ke class Pengiriman, ada banyak data pengiriman yang ditampilkan sesuai dengan isi dari database (proses nomor 9, 10, 11, 12, 13, 14, 15).

j. Dari class KelolaPengiriman berjalan proses close() ke KoneksiDB untuk menutup database (proses nomor 16).

I. Diagram Komunikasi Cari Pengiriman

Penjelasan :

a. Seorang Admin Perusahaan sebagai salah satu pengguna yang dapat berinteraksi dengan sistem dan akan berjalan class Main sebagai fungsi awal yang dieksekusi ketika sistem dijalankan (proses nomor 1). 

b. Dari class Main akan berjalan menuju class Antarmuka untuk membuka formCariPengiriman() (proses nomor 2).

c. Dari class Antarmuka akan berjalan ke class KelolaPengiriman untuk menjalankan proses cariPengiriman() agar dapat menampilkan pengiriman (proses nomor 3).

d. Dari class KelolaPengiriman akan berjalan ke class Validasi untuk proses memeriksaStatusLogin() agar mengecek hak akses pengguna (proses nomor 4).

e. Dari class KelolaPengiriman berjalan ke KoneksiDB setelah proses validasi selesai. Berjalan proses open() untuk membuka database agar dapat mencari data pengiriman (proses nomor 5).

f. Dari class KelolaPengiriman berjalan memberikan perintah ke class Pengiriman yaitu dengan queryCariPengiriman() untuk menampilkan data pengiriman (proses nomor 6).

g. Dari class Pengiriman berjalan ke KoneksiDB dengan proses execute() untuk menjalankan query atau perintah yang sebelumnya diterima (proses nomor 7).

h. Dari class Pengiriman berjalan ke KoneksiDB dengan proses getResult() untuk mendapatkan hasil berupa data pengiriman (proses nomor 8).

i. Dari class KelolaPengiriman berjalan menampilkan (get) data-data dari barang ke class Pengiriman, ada banyak data pengiriman yang ditampilkan sesuai dengan isi dari database (proses nomor 9, 10, 11, 12, 13, 14, 15).

j. Dari class KelolaPengiriman berjalan proses close() ke KoneksiDB untuk menutup database (proses nomor 16).

J. Diagram Komunikasi Tambah Pengiriman

Penjelasan :

a. Seorang Admin Perusahaan sebagai salah satu pengguna yang dapat berinteraksi dengan sistem, dan akan berjalan class Main sebagai fungsi awal yang dieksekusi ketika sistem dijalankan (proses nomor 1). 

b. Dari class Main akan berjalan menuju class Antarmuka untuk membuka formTambahPengiriman() (proses nomor 2).

c. Dari class Antarmuka akan berjalan ke class KelolaPengiriman untuk menjalankan proses tambahPengiriman() agar dapat menambahkan data pengiriman (proses nomor 3).

d. Dari class KelolaPengiriman akan berjalan ke class Validasi untuk proses memeriksaStatusLogin() agar mengecek hak akses pengguna (proses nomor 4).

e. Dari class KelolaPengiriman berjalan ke class Pengiriman untuk memasukkan atau menambahkan data pengiriman ke database. Beberapa data pengiriman yang ditambahkan telah diubah dan telah diatur (set) ke class Pengiriman (proses nomor 5, 6, 7, 8, 9, 10, 11). 

f. Dari class KelolaPengiriman berjalan ke KoneksiDB setelah membuat tambahan pengiriman. Berjalan proses open() untuk membuka database agar dapat menambahkan data pengiriman (proses nomor 12).

g. Dari class KelolaPengiriman berjalan memberikan perintah ke class Pengiriman yaitu dengan queryTambahPengiriman() untuk menambah data pengiriman (proses nomor 13).

h. Dari class Pengiriman berjalan ke KoneksiDB dengan proses execute() untuk menjalankan query atau perintah yang sebelumnya diterima (proses nomor 14).

i. Dari class KelolaPengiriman berjalan proses close() ke KoneksiDB untuk menutup database (proses nomor 15).

K. Diagram Komunikasi Ubah Pengiriman

Penjelasan :

a. Seorang Admin Perusahaan sebagai salah satu pengguna yang dapat berinteraksi dengan sistem, dan akan berjalan class Main sebagai fungsi awal yang dieksekusi ketika sistem dijalankan (proses nomor 1). 

b. Dari class Main akan berjalan menuju class Antarmuka untuk membuka formDetilPengiriman() (proses nomor 2).

c. Dari class Antarmuka akan berjalan ke class KelolaPengiriman untuk menjalankan proses ubahPengiriman() agar dapat mengubah data pengiriman (proses nomor 3).

d. Dari class KelolaPengiriman akan berjalan ke class Validasi untuk proses memeriksaStatusLogin() agar mengecek hak akses pengguna (proses nomor 4).

e. Dari class KelolaPengiriman berjalan ke class Pengiriman untuk mengubah dan menentukan isi dari data pengiriman yang ada di database. Beberapa data pengiriman di database yang telah diubah dan telah diatur (set) ke class Pengiriman (proses nomor 5, 6, 7, 8, 9, 10, 11). 

f. Dari class KelolaPengiriman berjalan ke KoneksiDB setelah mengatur isi data. Berjalan proses open() untuk membuka database agar dapat mengubah data pengiriman (proses nomor 12).

g. Dari class KelolaPengiriman berjalan memberikan perintah ke class Pengiriman yaitu dengan queryUbahPengiriman() untuk mengubah data pengiriman (proses nomor 13).

h. Dari class Pengiriman berjalan ke KoneksiDB dengan proses execute() untuk menjalankan query atau perintah yang sebelumnya diterima (proses nomor 14).

i. Dari class KelolaPengiriman berjalan proses close() ke KoneksiDB untuk menutup database (proses nomor 15).

L. Diagram Komunikasi Hapus Pengiriman

Penjelasan :

a. Seorang Admin Perusahaan sebagai salah satu pengguna yang dapat berinteraksi dengan sistem, dan akan berjalan class Main sebagai fungsi awal yang dieksekusi ketika sistem dijalankan (proses nomor 1). 

b. Dari class Main akan berjalan menuju class Antarmuka untuk membuka formDetilPengiriman() (proses nomor 2).

c. Dari class Antarmuka akan berjalan ke class KelolaPengiriman untuk menjalankan proses hapusPengiriman() agar dapat menghapus data pengiriman (proses nomor 3).

d. Dari class KelolaPengiriman akan berjalan ke class Validasi untuk proses memeriksaStatusLogin() agar mengecek hak akses pengguna (proses nomor 4).

e. Dari class KelolaPengiriman berjalan ke KoneksiDB berjalan proses open() untuk membuka database agar dapat menghapus data pengiriman (proses nomor 5).

f. Dari class KelolaPengiriman berjalan memberikan perintah ke class Pengiriman yaitu dengan queryHapusPengiriman() untuk menghapus data pengiriman (proses nomor 6).

g. Dari class Pengiriman berjalan ke KoneksiDB dengan proses execute() untuk menjalankan query atau perintah yang sebelumnya diterima (proses nomor 7).

h. Dari class KelolaPengiriman berjalan proses close() ke KoneksiDB untuk menutup database (proses nomor 8).

M. Diagram Komunikasi Tampil Distributor

Penjelasan :

a. Seorang Admin Perusahaan sebagai salah satu pengguna yang dapat berinteraksi dengan sistem dan akan berjalan class Main sebagai fungsi awal yang dieksekusi ketika sistem dijalankan (proses nomor 1). 

b. Dari class Main akan berjalan menuju class Antarmuka untuk membuka formDistributor() (proses nomor 2).

c. Dari class Antarmuka akan berjalan ke class KelolaDistributor untuk menjalankan proses tampilDistributor() agar dapat menampilkan data distributor (proses nomor 3).

d. Dari class KelolaDistributor akan berjalan ke class Validasi untuk proses memeriksaStatusLogin() agar mengecek hak akses pengguna (proses nomor 4).

e. Dari class KelolaDistributor berjalan ke KoneksiDB setelah proses validasi selesai. Berjalan proses open() untuk membuka database agar dapat mengetahui isi data pengiriman (proses nomor 5).

f. Dari class KelolaDistributor berjalan memberikan perintah ke class Distributor yaitu dengan queryTampilDistributor() untuk menampilkan data distributor (proses nomor 6).

g. Dari class Distributor berjalan ke KoneksiDB dengan proses execute() untuk menjalankan query atau perintah yang sebelumnya diterima (proses nomor 7).

h. Dari class Distributor berjalan ke KoneksiDB dengan proses getResult() untuk mendapatkan hasil berupa data distributor (proses nomor 8).

i. Dari class KelolaDistributor berjalan menampilkan (get) data-data dari distributor ke class Distributor, ada banyak data distributor yang ditampilkan sesuai dengan isi dari database (proses nomor 9, 10, 11, 12, 13, 14).

j. Dari class KelolaDistributor berjalan proses close() ke KoneksiDB untuk menutup database (proses nomor 15).

N. Diagram Komunikasi Cari Distributor

Penjelasan :

a. Seorang Admin Perusahaan sebagai salah satu pengguna yang dapat berinteraksi dengan sistem dan akan berjalan class Main sebagai fungsi awal yang dieksekusi ketika sistem dijalankan (proses nomor 1). 

b. Dari class Main akan berjalan menuju class Antarmuka untuk membuka formCariDistributor() (proses nomor 2).

c. Dari class Antarmuka akan berjalan ke class KelolaDistributor untuk menjalankan proses cariDistributor() agar dapat menampilkan distributor (proses nomor 3).

d. Dari class KelolaDistributor akan berjalan ke class Validasi untuk proses memeriksaStatusLogin() agar mengecek hak akses pengguna (proses nomor 4).

e. Dari class KelolaDistributor berjalan ke KoneksiDB setelah proses validasi selesai. Berjalan proses open() untuk membuka database agar dapat mencari data distributor (proses nomor 5).

f. Dari class KelolaDistributor berjalan memberikan perintah ke class Distributor yaitu dengan queryCariDistributor() untuk menampilkan data distributor (proses nomor 6).

g. Dari class Distributor berjalan ke KoneksiDB dengan proses execute() untuk menjalankan query atau perintah yang sebelumnya diterima (proses nomor 7).

h. Dari class Distributor berjalan ke KoneksiDB dengan proses getResult() untuk mendapatkan hasil berupa data pengiriman (proses nomor 8).

i. Dari class KelolaPengiriman berjalan menampilkan (get) data-data dari barang ke class Pengiriman, ada banyak data pengiriman yang ditampilkan sesuai dengan isi dari database (proses nomor 9, 10, 11, 12, 13, 14, 15).

j. Dari class KelolaPengiriman berjalan proses close() ke KoneksiDB untuk menutup database (proses nomor 16).

O. Diagram Komunikasi Tambah Distributor

Penjelasan :

a. Seorang Admin Perusahaan sebagai salah satu pengguna yang dapat berinteraksi dengan sistem, dan akan berjalan class Main sebagai fungsi awal yang dieksekusi ketika sistem dijalankan (proses nomor 1). 

b. Dari class Main akan berjalan menuju class Antarmuka untuk membuka formTambahDistributor() (proses nomor 2).

c. Dari class Antarmuka akan berjalan ke class KelolaDistributor untuk menjalankan proses tambahDistributor() agar dapat menambahkan data distributor (proses nomor 3).

d. Dari class KelolaDistributor akan berjalan ke class Validasi untuk proses memeriksaStatusLogin() agar mengecek hak akses pengguna (proses nomor 4).

e. Dari class KelolaDistributor berjalan ke class Distributor untuk memasukkan atau menambahkan data distributor ke database. Beberapa data distributor yang ditambahkan telah diubah dan telah diatur (set) ke class Distributor (proses nomor 5, 6, 7, 8, 9, 10). 

f. Dari class KelolaDistributor berjalan ke KoneksiDB setelah membuat tambahan distributor. Berjalan proses open() untuk membuka database agar dapat menambahkan data distributor (proses nomor 11).

g. Dari class KelolaDistributor berjalan memberikan perintah ke class Distributor yaitu dengan queryTambahDistributor() untuk menambah data distributor (proses nomor 12).

h. Dari class Distributor berjalan ke KoneksiDB dengan proses execute() untuk menjalankan query atau perintah yang sebelumnya diterima (proses nomor 13).

i. Dari class KelolaDistributor berjalan proses close() ke KoneksiDB untuk menutup database (proses nomor 14).

P. Diagram Komunikasi Ubah Distributor

Penjelasan :

a. Seorang Admin Perusahaan sebagai salah satu pengguna yang dapat berinteraksi dengan sistem, dan akan berjalan class Main sebagai fungsi awal yang dieksekusi ketika sistem dijalankan (proses nomor 1). 

b. Dari class Main akan berjalan menuju class Antarmuka untuk membuka formDetilDistributor() (proses nomor 2).

c. Dari class Antarmuka akan berjalan ke class KelolaDistributor untuk menjalankan proses ubahDistributor() agar dapat mengubah data distributor (proses nomor 3).

d. Dari class KelolaDistributor akan berjalan ke class Validasi untuk proses memeriksaStatusLogin() agar mengecek hak akses pengguna (proses nomor 4).

e. Dari class KelolaDistributor berjalan ke class Distributor untuk mengubah dan menentukan isi dari data distributor yang ada di database. Beberapa data distributor di database yang telah diubah dan telah diatur (set) ke class Distributor (proses nomor 5, 6, 7, 8, 9, 10, 11). 

f. Dari class KelolaDistributor berjalan ke KoneksiDB setelah mengatur isi data. Berjalan proses open() untuk membuka database agar dapat mengubah data distributor (proses nomor 12).

g. Dari class KelolaDistributor berjalan memberikan perintah ke class Distributor yaitu dengan queryUbahDistributor() untuk mengubah data distributor (proses nomor 13).

h. Dari class Distributor berjalan ke KoneksiDB dengan proses execute() untuk menjalankan query atau perintah yang sebelumnya diterima (proses nomor 14).

i. Dari class KelolaDistributor berjalan proses close() ke KoneksiDB untuk menutup database (proses nomor 15).

Q. Diagram Komunikasi Hapus Distributor

Penjelasan :

a. Seorang Admin Perusahaan sebagai salah satu pengguna yang dapat berinteraksi dengan sistem, dan akan berjalan class Main sebagai fungsi awal yang dieksekusi ketika sistem dijalankan (proses nomor 1). 

b. Dari class Main akan berjalan menuju class Antarmuka untuk membuka formDetilDistributor() (proses nomor 2).

c. Dari class Antarmuka akan berjalan ke class KelolaDistributor untuk menjalankan proses hapusDistributor() agar dapat menghapus data distributor (proses nomor 3).

d. Dari class KelolaDistributor akan berjalan ke class Validasi untuk proses memeriksaStatusLogin() agar mengecek hak akses pengguna (proses nomor 4).

e. Dari class KelolaDistributor berjalan ke KoneksiDB berjalan proses open() untuk membuka database agar dapat menghapus data distributor (proses nomor 5).

f. Dari class KelolaDistributor berjalan memberikan perintah ke class Distributor yaitu dengan queryHapusDistributor() untuk menghapus data distributor (proses nomor 6).

g. Dari class Distributor berjalan ke KoneksiDB dengan proses execute() untuk menjalankan query atau perintah yang sebelumnya diterima (proses nomor 7).

h. Dari class KelolaDistributor berjalan proses close() ke KoneksiDB untuk menutup database (proses nomor 8).

R. Diagram Komunikasi Tampil Akun

Penjelasan :

a. Seorang Admin Perusahaan sebagai salah satu pengguna yang dapat berinteraksi dengan sistem dan akan berjalan class Main sebagai fungsi awal yang dieksekusi ketika sistem dijalankan (proses nomor 1). 

b. Dari class Main akan berjalan menuju class Antarmuka untuk membuka formAkun() (proses nomor 2).

c. Dari class Antarmuka akan berjalan ke class KelolaAkun untuk menjalankan proses tampilAkun() agar dapat menampilkan data akun admin (proses nomor 3).

d. Dari class KelolaAkun akan berjalan ke class Validasi untuk proses memeriksaStatusLogin() agar mengecek hak akses pengguna (proses nomor 4).

e. Dari class KelolaAkun berjalan ke KoneksiDB setelah proses validasi selesai. Berjalan proses open() untuk membuka database agar dapat mengetahui isi data admin (proses nomor 5).

f. Dari class KelolaAkun berjalan memberikan perintah ke class Admin yaitu dengan queryTampilAkun() untuk menampilkan data admin (proses nomor 6).

g. Dari class Admin berjalan ke KoneksiDB dengan proses execute() untuk menjalankan query atau perintah yang sebelumnya diterima (proses nomor 7).

h. Dari class Admin berjalan ke KoneksiDB dengan proses getResult() untuk mendapatkan hasil berupa data admin (proses nomor 8).

i. Dari class KelolaAkun berjalan menampilkan (get) data-data dari admin ke class Admin, ada banyak data distributor yang ditampilkan sesuai dengan isi dari database (proses nomor 9, 10, 11, 12, 13, 14).

j. Dari class KelolaAkun berjalan proses close() ke KoneksiDB untuk menutup database (proses nomor 15).

S. Diagram Komunikasi Ubah Akun

Penjelasan :

a. Seorang Admin Perusahaan sebagai salah satu pengguna yang dapat berinteraksi dengan sistem, dan akan berjalan class Main sebagai fungsi awal yang dieksekusi ketika sistem dijalankan (proses nomor 1). 

b. Dari class Main akan berjalan menuju class Antarmuka untuk membuka formDetilAkun() (proses nomor 2).

c. Dari class Antarmuka akan berjalan ke class KelolaAkun untuk menjalankan proses ubahAkun() agar dapat mengubah data akun admin (proses nomor 3).

d. Dari class KelolaAkun akan berjalan ke class Validasi untuk proses memeriksaStatusLogin() agar mengecek hak akses pengguna (proses nomor 4).

e. Dari class KelolaAkun berjalan ke class Admin untuk mengubah dan menentukan isi dari data admin yang ada di database. Beberapa data admin di database yang telah diubah dan telah diatur (set) ke class Admin (proses nomor 5, 6, 7, 8, 9, 10). 

f. Dari class KelolaAkun berjalan ke KoneksiDB setelah mengatur isi data. Berjalan proses open() untuk membuka database agar dapat mengubah data admin (proses nomor 11).

g. Dari class KelolaAkun berjalan memberikan perintah ke class Admin yaitu dengan queryUbahAkun() untuk mengubah data admin (proses nomor 12).

h. Dari class Admin berjalan ke KoneksiDB dengan proses execute() untuk menjalankan query atau perintah yang sebelumnya diterima (proses nomor 13).

i. Dari class KelolaAkun berjalan proses close() ke KoneksiDB untuk menutup database (proses nomor 14).

T. Diagram Komunikasi Tampil Kepala

Penjelasan :

a. Seorang Admin Perusahaan sebagai salah satu pengguna yang dapat melakukan validasi, berinteraksi dengan sistem dan akan berjalan class Main sebagai fungsi awal yang dieksekusi ketika sistem dijalankan (proses nomor 1). 

b. Dari class Main akan berjalan menuju class Antarmuka untuk membuka formKepala() (proses nomor 2).

c. Dari class Antarmuka akan berjalan ke class KelolaKepala untuk menjalankan proses tampilAkun() agar dapat menampilkan data kepala gudang (proses nomor 3).

d. Dari class KelolaKepala akan berjalan ke class Validasi untuk proses memeriksaStatusLogin() agar mengecek hak akses pengguna (proses nomor 4).

e. Dari class KelolaKepala berjalan ke KoneksiDB setelah proses validasi selesai. Berjalan proses open() untuk membuka database agar dapat mengetahui isi data kepala gudang (proses nomor 5).

f. Dari class KelolaKepala berjalan memberikan perintah ke class Kepala_Gudang yaitu dengan queryTampilKepala() untuk menampilkan data kepala gudang (proses nomor 6).

g. Dari class Kepala_Gudang berjalan ke KoneksiDB dengan proses execute() untuk menjalankan query atau perintah yang sebelumnya diterima (proses nomor 7).

h. Dari class Kepala_Gudang berjalan ke KoneksiDB dengan proses getResult() untuk mendapatkan hasil berupa data kepala gudang (proses nomor 8).

i. Dari class KelolaKepala berjalan menampilkan (get) data-data dari kepala gudang ke class Kepala_Gudang, ada banyak data kepala gudang yang ditampilkan sesuai dengan isi dari database (proses nomor 9, 10, 11, 12, 13, 14, 15).

j. Dari class KelolaKepala berjalan proses close() ke KoneksiDB untuk menutup database (proses nomor 16).

U. Diagram Komunikasi Ubah Kepala

Penjelasan :

a. Seorang Admin Perusahaan sebagai salah satu pengguna yang dapat berinteraksi dengan sistem, dan akan berjalan class Main sebagai fungsi awal yang dieksekusi ketika sistem dijalankan (proses nomor 1). 

b. Dari class Main akan berjalan menuju class Antarmuka untuk membuka formDetilKepala() (proses nomor 2).

c. Dari class Antarmuka akan berjalan ke class KelolaKepala untuk menjalankan proses ubahKepala() agar dapat mengubah data kepala gudang (proses nomor 3).

d. Dari class KelolaKepala akan berjalan ke class Validasi untuk proses memeriksaStatusLogin() agar mengecek hak akses pengguna (proses nomor 4).

e. Dari class KelolaKepala berjalan ke class Kepala_Gudang untuk mengubah dan menentukan isi dari data kepala gudang yang ada di database. Beberapa data kepala gudang di database yang telah diubah dan telah diatur (set) ke class Kepala_Gudang (proses nomor 5, 6, 7, 8, 9, 10, 11). 

f. Dari class KelolaKepala berjalan ke KoneksiDB setelah mengatur isi data. Berjalan proses open() untuk membuka database agar dapat mengubah data kepala gudang (proses nomor 12).

g. Dari class KelolaKepala berjalan memberikan perintah ke class Kepala_Gudang yaitu dengan queryUbahKepala() untuk mengubah data kepala gudang (proses nomor 13).

h. Dari class Kepala_Gudang berjalan ke KoneksiDB dengan proses execute() untuk menjalankan query atau perintah yang sebelumnya diterima (proses nomor 14).

i. Dari class KelolaKepala berjalan proses close() ke KoneksiDB untuk menutup database (proses nomor 15).

5. Praktikum Studi Kasus Diagram Kolaborasi

A. Diagram Kolaborasi Validasi

Penjelasan :

a. Dari class Main ke class Antarmuka berisi banyak tampilan yang masing-masing memiliki kegunaannya. Ada banyak form yang digunakan untuk menampilkan data, mencari data, dan mengubah serta menghapus data, baik itu untuk data akun admin, kepala gudang, barang, pengiriman, dan distributor (proses nomor 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18).

b. Dari class Antarmuka ke class Validasi dapat berjalan proses untuk login dan logout dari sistem (proses nomor 19, 20). 

c. Dari class Validasi ke KoneksiDB dapat berjalan beberapa proses untuk mengakses database, seperti open untuk buka database, getResult untuk mendapatkan data dan close untuk menutup database (proses nomor 21, 22, 23).

d. Dari class Validasi ke class Admin berjalan proses queryCekLogin() untuk memeriksa atau mengecek pengguna yang masuk ke sistem beserta hak aksesnya (proses nomor 24).

e. Dari class Admin ke KoneksiDB berjalan proses execute untuk menjalankan perintah yang telah diberikan ke class Admin sebelumnya untuk melaksanakan perintah tersebut ke database (proses nomor 25). 

B. Diagram Kolaborasi Kelola Barang

Penjelasan :

a. Dari class Antarmuka ke class KelolaBarang dapat berjalan proses-proses untuk mengelola data barang, seperti menampilkan, mencari, manambah, mengubah dan menghapus data barang (proses nomor 1, 2, 3, 4, 5).

b. Dari class KelolaBarang ke class Barang ada banyak data barang (atribut) yang dapat ditampilkan (get) atau diatur (set), seperti IdBarang, NamaBarang, BeratBarang, SatuanBarang, HargaBarang, Kadaluwarsa, IdPengiriman. Selain itu, juga disertai query untuk menampilkan, mencari, menambah, mengubah, dan menghapus data (proses nomor 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24).  

c. Dari class KelolaBarang ke class Validasi berjalan proses memeriksaStatusLogin() untuk mengecek hak akses pengguna (proses nomor 25).

d. Dari class KelolaBarang ke KoneksiDB dapat berjalan proses open() dan close() untuk membuka dan menutup database (proses nomor 26, 27).

e. Dari class Barang ke class KoneksiDB akan berjalan proses execute() dan getResult() untuk menjalankan dan mendapatkan data dari perintah yang diberikan pada class Barang untuk ke database (proses nomor 28, 29).

C. Diagram Kolaborasi Kelola Pengiriman

Penjelasan :

a. Dari class Antarmuka ke class KelolaPengiriman dapat berjalan proses-proses untuk mengelola data pengiriman, seperti menampilkan, mencari, manambah, mengubah dan menghapus data pengiriman (proses nomor 1, 2, 3, 4, 5).

b. Dari class KelolaPengiriman ke class Pengiriman ada banyak data pengiriman (atribut) yang dapat ditampilkan (get) atau diatur (set), seperti IdPengiriman, TglPengiriman, Jumlah, Total, Id, IdDistributor, IdKepala. Selain itu, juga disertai query untuk menampilkan, mencari, menambah, mengubah, dan menghapus data (proses nomor 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24).  

c. Dari class KelolaPengiriman ke class Validasi berjalan proses memeriksaStatusLogin() untuk mengecek hak akses pengguna (proses nomor 25).

d. Dari class KelolaPengiriman ke KoneksiDB dapat berjalan proses open() dan close() untuk membuka dan menutup database (proses nomor 26, 27).

e. Dari class Pengiriman ke class KoneksiDB akan berjalan proses execute() dan getResult() untuk menjalankan dan mendapatkan data dari perintah yang diberikan pada class Pengiriman untuk ke database (proses nomor 28, 29).

D. Diagram Kolaborasi Kelola Distributor

Penjelasan :

a. Dari class Antarmuka ke class KelolaDistributor dapat berjalan proses-proses untuk mengelola data distributor, seperti menampilkan, mencari, manambah, mengubah dan menghapus data distributor (proses nomor 1, 2, 3, 4, 5).

b. Dari class KelolaDistributor ke class Distributor ada banyak data distributor (atribut) yang dapat ditampilkan (get) atau diatur (set), seperti IdDistributor, NamaDistributor, AlamatDistributor, HpDistributor, UsernameDistributor, PasswordDistributor.  Selain itu, juga disertai query untuk menampilkan, mencari, menambah, mengubah, dan menghapus data (proses nomor 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22).  

c. Dari class KelolaDistributor ke class Validasi berjalan proses memeriksaStatusLogin() untuk mengecek hak akses pengguna (proses nomor 23).

d. Dari class KelolaDistributor ke KoneksiDB dapat berjalan proses open() dan close() untuk membuka dan menutup database (proses nomor 24, 25).

e. Dari class Distributor ke class KoneksiDB akan berjalan proses execute() dan getResult() untuk menjalankan dan mendapatkan data dari perintah yang diberikan pada class Distributor untuk ke database (proses nomor 26, 27).

E. Diagram Kolaborasi Kelola Akun

Penjelasan :

a. Dari class Antarmuka ke class KelolaAkun dapat berjalan proses-proses untuk mengelola data akun, seperti menampilkan dan mengubah (proses nomor 1, 2).

b. Dari class KelolaAkun ke class Admin ada banyak data admin (atribut) yang dapat ditampilkan (get) atau diatur (set), seperti Id, Nama, Alamat, Hp, Username, Password.  Selain itu, juga disertai query untuk menampilkan dan mengubah data (proses nomor 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16).  

c. Dari class KelolaAkun ke class Validasi berjalan proses memeriksaStatusLogin() untuk mengecek hak akses pengguna (proses nomor 17).

d. Dari class KelolaAkun ke KoneksiDB dapat berjalan proses open() dan close() untuk membuka dan menutup database (proses nomor 18, 19).

e. Dari class Admin ke class KoneksiDB akan berjalan proses execute() dan getResult() untuk menjalankan dan mendapatkan data dari perintah yang diberikan pada class Admin untuk ke database (proses nomor 20, 21).

F. Diagram Kolaborasi Kelola Kepala

Penjelasan :

a. Dari class Antarmuka ke class KelolaKepala dapat berjalan proses-proses untuk mengelola data kepala gudang, seperti menampilkan dan mengubah (proses nomor 1, 2).

b. Dari class KelolaKepala ke class Kepala_Gudang ada banyak data kepala gudang (atribut) yang dapat ditampilkan (get) atau diatur (set), seperti IdKepala, NamaKepala, JkKepala, AlamatKepala, HpKepala, UsernameKepala, PasswordKepala.  Selain itu, juga disertai query untuk menampilkan dan mengubah data (proses nomor 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18).  

c. Dari class KelolaKepala ke class Validasi berjalan proses memeriksaStatusLogin() untuk mengecek hak akses pengguna (proses nomor 19).

d. Dari class KelolaKepala ke KoneksiDB dapat berjalan proses open() dan close() untuk membuka dan menutup database (proses nomor 20, 21).

e. Dari class Kepala_Gudang ke class KoneksiDB akan berjalan proses execute() dan getResult() untuk menjalankan dan mendapatkan data dari perintah yang diberikan pada class Kepala_Gudang untuk ke database (proses nomor 22, 23).


 

FTI UNISKA MABA 2023

  MABA FTI UNISKA JAYA 2023