30
25 BAB III PERANCANGAN SISTEM 3.1. Perancangan Unified Modeling Language (UML) UML merupakan satu kumpulan konvensi permodelan yang digunakan untuk menentukan dan menggambarkan sebuah sistem perangkat lunak yang terkait dengan objek [25]. UML yang digunakan pada perancangan perangkat lunak ini meliputi use case diagram, activity diagram, sequence diagram, class diagram, dan deployment diagram. 3.1.1 Use Case Diagram Use Case Diagram menggambarkan pola dari interkasi dan hubungan antara actor dengan use case. Terdapat tiga komponen use case diagram yaitu use case, package, dan relationship [26]. Use case diagram sistem yang digunakan pada perancangan perangkat lunak ini dapat dilihat pada Gambar 3.1. berikut:

BAB III PERANCANGAN SISTEM 3.1. Perancangan Unified ......produksi dalam menghasilkan produk . pastry bakery. Setelah validitas data login diterima oleh sistem, sistem akan menampilkan

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

  • 25

    BAB III

    PERANCANGAN SISTEM

    3.1. Perancangan Unified Modeling Language (UML)

    UML merupakan satu kumpulan konvensi permodelan yang

    digunakan untuk menentukan dan menggambarkan sebuah sistem

    perangkat lunak yang terkait dengan objek [25]. UML yang

    digunakan pada perancangan perangkat lunak ini meliputi use case

    diagram, activity diagram, sequence diagram, class diagram, dan

    deployment diagram.

    3.1.1 Use Case Diagram

    Use Case Diagram menggambarkan pola dari interkasi dan

    hubungan antara actor dengan use case. Terdapat tiga komponen

    use case diagram yaitu use case, package, dan relationship [26].

    Use case diagram sistem yang digunakan pada perancangan

    perangkat lunak ini dapat dilihat pada Gambar 3.1. berikut:

  • 26

    Gambar 3.1 Use Case Diagram Sistem Pastry dan Bakery

    Pada Gambar 3.1 menggambarkan sistem memiliki

    empat pengguna yaitu Public Relation, Pengelola Inventory,

    pengelola Produksi, dan pengelola Penjualan. Public Relation

    Owner

    Public Relation

    Pengurus Inventory

    Pengelola Produksi

    Pengelola Pengeluaran Produk

    Lihat Data Supplier

    Lihat PersediaanBahan

    Lihat PersediaanProduk

    Lihat DataPengeluaran Produk

    Kelola DataSupplierGet List Supplier

    Kelola DataInventory

    Get List Bahan

    Kelola ProduksiGet List Produk

    Kelola PengeluaranProdukGet List Penjualan

    Get Supplier Bahan

    Get Bahan

    Get Produk

  • 27

    memiliki kemampuan untuk memenage data supplier, pengelola

    inventory memiliki kemampuan memanage data bahan mentah

    dari supplier, karyawan produksi memiliki kemampuan untuk

    mengolah produk dari bahan mentah, dan pengelola pengeluran

    produk memiliki kemampuan untuk mengelola produk penjualan

    ke customer.

    3.1.2 Activity Diagram

    Activity Diagram merupakan gambaran narasi proses bisnis,

    yakni alur event yang berada dalam tabel, dimana setiap event

    tersebut digambarkan secara berurutan dan dilengkapi alur

    informasi yang diperlukan dari setiap event [24].

  • 28

    1. Activity Diagram Kelola Supplier

    SistemPengelola Supplier

    Mengelola Supplier Memeriksa Kebutuhan Login

    Menampilkan Halaman LoginLogin

    Otentifikasi Data

    Menampilkan Halaman UtamaMembuka Menu Kelola Supplier

    Menampilkan Halaman Kelola Supplier

    Mengelola Data

    Tambah Data

    Update Data

    Hapus Data

    Menampilkan Form Tambah Data

    Menampilkan Form Update Data

    Menghapus Data

    Menyimpan Data

    valid

    Tidak

    valid

    Gambar 3.2 Activity Diagram Kelola Supplier

  • 29

    Pada Gambar 3.2 menggambarkan aktivitas karyawan

    pengelola supplier saat memanage data supplier dengan

    mengakses aplikasi. Setelah autentifikasi data login sistem

    menampilkan halaman menu kelola supplier, ketika karyawan

    pengelola supplier memilih kelola data supplier maka sistem akan

    menampilkan list data supplier, kemudian karyawan pengelola

    supplier dapat memilih manipulasi data (insert, update dan delete).

    Ketika karyawan pengelola supplier selesai dengan aktivitasnya,

    sistem akan mengupdate data pada database. Selanjutnya activity

    diagram untuk inventory dapat dilihat pada Gambar 3.3 berikut :

  • 30

    2. Activity Diagram Kelola Inventory Bahan Mentah

    SistemPengelola Inventory

    Mengelola Data Bahan Mentah Memeriksa Kebutuhan Login

    Menampilkan Halaman LoginLogin

    Otentifikasi Data

    Menampilkan Halaman UtamaMembuka Menu Kelola Bahan Mentah

    Menampilkan List Bahan Mentah

    Mengisi Form Kelola Bahan Mentah

    Memeriksa Kelengkapan Transaksi

    Menyimpan Data Kelola

    tidak

    berhasil

    valid

    Tidak

    valid

    Gambar 3.3 Activity Diagram Kelola Inventory Bahan Mentah

    Gambar 3.3 menjelaskan tentang aktivitas pengelola

    inventory ketika mengelola data bahan mentah. Setelah

    autentifikasi login karyawan inventory diterima sistem, sistem

  • 31

    akan menampilkan list untuk kelola bahan mentah. Kemudian

    karyawan inventory menginput form list untuk bahan mentah

    produksi, sistem kemudian memeriksa kelengkapan kelola bahan

    mentah. Setelah dinyatakan valid sistem akan menyimpan data

    bahan mentah ke inventory produksi. Selanjutnya untuk aktivitas

    Produksi dijelaskan Gambar 3.4 diagram activity berikut ini:

  • 32

    3. Activity Diagram Kelola Produksi

    SistemPengelola Produksi

    Mengelola Produksi Memeriksa Kebutuhan Login

    Menampilkan Halaman LoginLogin

    Otentifikasi Data

    Menampilkan Halaman UtamaMembuka Menu Kelola Produk

    Update Produk

    Add Produk

    Menampilkan Tab Update Produk

    Menampilkan Tab Add Produk

    Mengisi List Bahan Produksi

    Memeriksa Kelengkapan Data

    Menyimpan Data List Produk

    tidak

    berhasil

  • 33

    Gambar 3.4 Activity Diagram Kelola Produksi

    Gambar 3.4 diatas menjelaskan tentang aktivitas karyawan

    produksi dalam menghasilkan produk pastry bakery. Setelah

    validitas data login diterima oleh sistem, sistem akan menampilkan

    menu untuk mengelola produk. Setelah membuka main menu

    kelola produk karyawan produksi dapat memilih update produk

    dan menambah menu produk. Untuk update produk sistem akan

    membuka list produk–produk yang telah ada untuk diupdate,

    sedangkan untuk menambah produk baru sistem akan

    menampilkan list bahan–bahan yang akan digunakan untuk

    produksi. Setelah selesai dengan aktivitasnya sistem akan

    memeriksa kelengkapan data, jika data telah valid sistem secara

    otomatis menyimpan data ke database produk. Selanjutnya activity

    diagram kelola pengeluaran produk dijelaskan pada Gambar 3.5

    berikut:

  • 34

    4. Activity Diagram Kelola Pengeluaran Produk

    Pengeluaran Produk Sistem

    Gambar 3.5 Activity Diagram Kelola Pengeluaran Produk

    Gambar 3.5 diatas menjelaskan tentang aktivitas pengelola

    pengeluaran produk, Setelah validitas identity login diterima oleh

    sistem, sistem akan menampilkan halaman utama menu

  • 35

    pengeluran produk. Kemudian pengelola pengeluaran produk akan

    mengisi form transaksi berdasarkan list stock produk yang tersedia.

    Setelah selesai sistem akan memeriksa kelengkapan data transaksi

    kemudian sistem akan menyimpan record ke dalam basis data.

    3.1.3 Sequence Diagram

    Sequence diagram menggambarkan interaksi antar objek di

    dalam dan di sekitar sistem berupa pesan yang digambarkan

    terhadap waktu. Sequence diagram terdiri antar dimensi vertical

    (waktu) dan dimensi horizontal (objek-objek yang terkait) [24].

    Sequence diagram dalam perancangan aplikasi ini adalah sequence

    diagram kelola supplier, sequence diagram kelola bahan,

    sequence diagram kelola produksi dan sequence diagram kelola

    pengeluaran produk.

  • 36

    1. Sequence Diagram Kelola Supplier

    OPT

    OPT

    OPT

    Pengelola SupplierUser Interface Bussiness Logic Data Access

    1. Memilih Menu Custom Supplier

    2. Memanggil Info List Supplier

    3. Memanggil Fungsi Get Data Supplier

    4. Memberikan Fields Object

    5. Memberikan List Data Supplier

    6. Menampilkan Data dalam Control ListView

    7.1 Memilih Menu Add Supplier

    7.3 Memanggil Fungsi Create Object7.2 Menampilkan Form Detail Supplier

    7.4 Memberikan Data Member7.4 Menampilkan Form Detail Data Supplier

    7.6 Mengisi Form

    7.7 Memanggil Procedure Save Data

    7.8 Memanggil Procedure Insert Data Supplier

    7.9 Mengembalikan Perintah

    7.10 Pemberitahuan Bahwa Data Telah Disimpan

    7.11 Menampilkan Data dalam Control ListView

    8.1 Memilih Menu Edit Data Supplier

    8.2 Memanggil Fungsi Edit Data Supplier

    8.3 Meminta Data Supplier yang telah Dipilih

    8.6 Mengirim Object yang Berisi FieldInfo

    8.4 Request Data Member

    8.5 Mengirim Data Member

    8.7 Mengkonversi Type Object

    8.8 Menampilkan Form Detail Supplier

    8.9 Customize Data Supplier

    8.10 Memanggil Procedure SaveData

    8.11 Memanggil Procedure Update Data Supplier

    8.12 Mengembalikan Perintah

    8.13 Pemberitahuan Data Telah Diperbaharui

    8.14 Menampilkan Data dalam Control ListView

    9.1 Memilih Menu Delete Supplier

    9.2 Memanggil Procedure DeleteDataSupplier

    9.3 Mengirim Pesan Delete ke DataBase

    9.4 Mengembalikan Perintah

    9.5 Mengirim List Data Supplier Baru

    9.6 Menampilkan Data dalam Control ListView

    Gambar 3.6 Sequence Diagram Kelola Supplier

    Pada sequence diagram kelola supplier terjadi interaksi

    antara user dan sistem seperti berikut:

  • 37

    1) Ketika user memilih menu custom supplier, user interface

    akan memanggil info list supplier ke business logic layer,

    kemudian class info list padaa business logic layer akan

    memanggil fungsi get data supplier akan diakses dari layer

    data access.

    2) Data access kemudian akan mengirim fields object ke

    business logic layer kemudian akan diteruskan oleh business

    logic layer dalam bentuk array list ke layer user interface.

    User Interface menyusun array list dalam bentuk control

    listView dan ditampilkan untuk user.

    3) Jika user memilih untuk menambah data, maka user interface

    akan memanggil fungsi CreateObject pada business logic

    layer, kemudian business logic layer akan memberikan

    seperangkat data member yang dibutuhkan. Setelah user

    mengisi form user interface akan memanggil procedure save

    data pada business logic layer. Business logic layer akan

    memeriksa apakah data yang diisi adalah data baru atau tidak,

    jika yang diisi oleh user adalah data baru, maka business logic

    layer akan memanggil procedure insert data pada data access

    layer.

    4) Jika user memilih untuk melakukan update data yang telah

    ada maka user interface akan memanggil fungsi edit data

    supplier pada business logic layer (class supplierEditable).

    Business logic layer akan meminta data yang dipilih user di

    data access layer. Dikarenakan perangkat menggunakan

  • 38

    sistem reflection, data access layer akan request data member

    dari business logic layer terlebih dahulu untuk memeriksa

    kesesuaian objek. Setelah class supplier editable mengirim

    data member, data access akan mengirim object yang berisi

    fieldInfo. FieldInfo tersebut akan dikonversi dalam bentuk

    array oleh business logic agar dapat dibaca oleh user

    interface. Kemudian user interface akan menampilkan form

    detail supplier untuk dimanipulasi oleh user. Setelah user

    selesai melakukan customize data, user interface akan

    memanggil procedure saveData pada business logic (class

    supplier editable) untuk diperiksa apakah objek yang telah

    dimanipulasi adalah objek baru atau tidak. Jika objek tersebut

    tidak baru atau sudah ada, layer ini akan memanggil

    procedure upadate data supplier pada layer data access.

    Setelah data access mengembalikan perintah dan business

    logic telah melakukan pemberitahuan bahwa data telah

    disimpan.

    5) Jika user memilih untuk menghapus data supplier yang telah

    ada. User interface akan memanggil procedure delete pada

    business logic (supplier info). Business logic kemudian akan

    mengirim perintah delete ke data access layer. Setelah

    perintah dikembalikan maka business logic melalui class

    supplier info akan mencompile objek baru berupa data list

    supplier ke user interface.

  • 39

    2. Sequence Diagram Kelola Inventory Bahan Mentah

    OPT

    OPT

    OPT

    Pengelola InventoryUser Interface Bussiness Logic Data Access

    1. Memilih Menu Custom Bahan

    2. Memanggil Info List Bahan

    3. Memanggil Fungsi Get Data Bahan

    4. Memberikan Fields Object

    5. Memberikan List Data Bahan

    6. Menampilkan Data dalam Control ListView

    7.1 Memilih Menu Add Bahan

    7.3 Memanggil Fungsi Create Object7.2 Menampilkan Form Detail Bahan

    7.4 Memberikan Data Member7.5 Menampilkan Form Detail Data Bahan

    7.6 Mengisi Form

    7.7 Memanggil Procedure Save Data

    7.8 Memanggil Procedure Insert Data Bahan

    7.9 Mengembalikan Perintah

    7.10 Pemberitahuan Bahwa Data Telah Disimpan

    7.11 Menampilkan Data dalam Control ListView

    8.1 Memilih Menu Edit Data Bahan

    8.2 Memanggil Fungsi Edit Data Bahan

    8.3 Meminta Data Bahan yang telah Dipilih

    8.6 Mengirim Object yang Berisi FieldInfo

    8.4 Request Data Member

    8.5 Mengirim Data Member

    8.7 Mengkonversi Type Object

    8.8 Menampilkan Form Detail Bahan

    8.9 Customize Data Bahan

    8.10 Memanggil Procedure SaveData

    8.11 Memanggil Procedure Update Data Bahan

    8.12 Mengembalikan Perintah

    8.13 Pemberitahuan Data Telah Diperbaharui

    8.14 Menampilkan Data dalam Control ListView

    9.1 Memilih Menu Delete Bahan

    9.2 Memanggil Procedure DeleteDataBahan

    9.3 Mengirim Pesan Delete ke DataBase

    9.4 Mengembalikan Perintah

    9.5 Mengirim List Data Bahan Baru

    9.6 Menampilkan Data dalam Control ListView

    Gambar 3.7 Sequence Diagram Kelola Inventory Bahan Mentah

    Pada sequence diagram kelola inventory bahan terjadi

    interaksi antara user dan sistem seperti berikut:

  • 40

    1) Ketika user memilih menu custom inventory bahan, user

    interface akan memanggil info list bahan ke business logic

    layer, kemudian class info list padaa business logic layer akan

    memanggil fungsi get data bahan akan diakses dari layer data

    access. Data access kemudian akan mengirim fields object ke

    business logic layer kemudian akan diteruskan oleh business

    logic layer dalam bentuk array list ke layer user interface.

    User Interface menyusun array list dalam bentuk control

    listView dan ditampilkan untuk user.

    2) Jika user memilih untuk menambah data, maka user interface

    akan memanggil fungsi CreateObject pada business logic

    layer, kemudian business logic layer akan memberikan

    seperangkat data member yang dibutuhkan. Setelah user

    mengisi form user interface akan memanggil procedure save

    data pada business logic layer. Business logic layer akan

    memeriksa apakah data yang diisi adalah data baru atau tidak,

    jika yang diisi oleh user adalah data baru, maka business logic

    layer akan memanggil procedure insert data pada data access

    layer.

    3) Jika user memilih untuk melakukan update data yang telah

    ada maka user interface akan memanggil fungsi edit data

    supplier pada business logic layer (class bahanEditable).

    Business logic layer akan meminta data yang dipilih user di

    data access layer. Dikarenakan perangkat menggunakan

    sistem reflection, data access layer akan request data member

  • 41

    dari business logic layer terlebih dahulu untuk memeriksa

    kesesuaian objek. Setelah class supplier editable mengirim

    data member, data access akan mengirim object yang berisi

    fieldInfo. FieldInfo tersebut akan dikonversi dalam bentuk

    array oleh business logic agar dapat dibaca oleh user

    interface. Kemudian user interface akan menampilkan form

    detail bahan untuk dimanipulasi oleh user. Setelah user

    selesai melakukan customize data, user interface akan

    memanggil procedure saveData pada business logic (class

    bahan editable) untuk diperiksa apakah objek yang telah

    dimanipulasi adalah objek baru atau tidak. Jika objek tersebut

    tidak baru atau sudah ada, layer ini akan memanggil

    procedure upadate data supplier pada layer data access.

    Setelah data access mengembalikan perintah dan business

    logic telah melakukan pemberitahuan bahwa data telah

    disimpan.

    4) Jika user memilih untuk menghapus data bahan yang telah

    ada. User interface akan memanggil procedure delete pada

    business logic (bahan info). Business logic kemudian akan

    mengirim perintah delete ke data access layer. Setelah

    perintah dikembalikan maka business logic melalui class

    bahan info akan mencompile objek baru berupa data list bahan

    ke user interface.

  • 42

    3. Sequence Diagram Kelola Produksi

    OPT

    OPT

    OPT

    Pengelola ProduksiUser Interface Bussiness Logic Data Access

    1. Memilih Menu Custom Produk

    2. Memanggil Info List Produk

    3. Memanggil Fungsi Get Data Produk

    4. Memberikan Fields Object

    5. Memberikan List Data Produk

    6. Menampilkan Data dalam Control ListView

    7.1 Memilih Menu Add Produk

    7.3 Memilih Menu Add Bahan

    7.2 Menampilkan Form Detail Produk

    7.4 Menampilkan Form List Bahan

    7.5 Mengisi Form

    7.6 Memanggil Procedure Save Data

    7.7 Memanggil Procedure Insert Data Produk

    7.8 Mengembalikan Perintah

    7.9 Pemberitahuan Bahwa Data Telah Disimpan

    7.10 Menampilkan Data dalam Control ListView

    8.1 Memilih Menu Edit Data Produk

    8.2 Memanggil Fungsi Edit Data Produk

    8.3 Reqest Data Produk yang telah Dipilih

    8.6 Mengirim Object yang Berisi FieldInfo

    8.4 Request Data Member

    8.5 Mengirim Data Member

    8.7 Mengkonversi Type Object

    8.8 Menampilkan Form Detail Produk

    8.9 Customize Data Produk

    8.10 Memanggil Procedure SaveData

    8.11 Memanggil Procedure Update Data Produk

    8.12 Mengembalikan Perintah

    8.13 Pemberitahuan Data Telah Diperbaharui

    8.14 Menampilkan Data dalam Control ListView

    9.1 Memilih Menu Delete Produk

    9.2 Memanggil Procedure DeleteDataProduk

    9.3 Mengirim Pesan Delete ke DataBase

    9.4 Mengembalikan Perintah

    9.5 Mengirim List Data Supplier Produk

    9.6 Menampilkan Data dalam Control ListView

    Gambar 3.8 Sequence Diagram Kelola Produksi

    Pada sequence diagram kelola produksi terjadi interaksi

    antara user dan sistem seperti berikut:

  • 43

    1) Ketika user memilih menu custom produksi, user interface

    akan memanggil info list produk ke business logic layer,

    kemudian class info list padaa business logic layer akan

    memanggil fungsi get data product akan diakses dari layer

    data access. Data access kemudian akan mengirim fields

    object ke business logic layer kemudian akan diteruskan oleh

    business logic layer dalam bentuk array list ke layer user

    interface. User Interface menyusun array list dalam bentuk

    control listView dan ditampilkan untuk user.

    2) Jika user memilih untuk menambah data, maka user interface

    akan menampilkan form detail produk, jika user

    menginginkan untuk menambah bahan maka user interface

    akan meminta info list bahan ke business logic layer.

    Kemudian business logic akan memanggil fungsi get all data

    bahan ke data access. Data acess akan mengirimkan field

    object ke business logic dan akan diteruskan dalam bentuk

    array list ke user interface. User Interface akan menampilkan

    list bahan produksi beserta quantity yang akan dipilih oleh

    user. Setelah user selesai memilih bahan, user interface akan

    memanggil procedure save data ke business logic. Business

    logic kemudian akan memanggil procedure insert data bahan

    to detail data produk. Setelah data access mengembalikan

    perintah business logic akan mengirimkan seperangkat array

    list bahan ke user interface, user interface akan menampilkan

    kembali form detailOfproduct yang telah berisi bahan-bahan

  • 44

    yang telah dipilih user. User kemudian akan mengisi form

    identitas produk kemudian user interface akan mengirimkan

    procedure save data ke business logic (productEditable).

    Business logic akan memanggil procedure insert data product

    ke data access untuk menyimpan identitas produk baru.

    Setelah data access mengembalikan perintah, business logic

    akan memberitahu bahwa data telah disimpan yang kemudian

    akan ditampilkan kembali melalui user interface dalam

    control listView.

    3) Jika user memilih untuk melakukan update data yang telah

    ada maka user interface akan memanggil fungsi edit data

    product pada business logic layer (class productEditable).

    Business logic layer akan meminta data yang dipilih user di

    data access layer. Dikarenakan perangkat menggunakan

    sistem reflection, data access layer akan request data member

    dari business logic layer terlebih dahulu untuk memeriksa

    kesesuaian objek. Setelah class product editable mengirim

    data member, data access akan mengirim objek yang berisi

    fieldInfo. FieldInfo tersebut akan dikonversi dalam bentuk

    array oleh business logic agar dapat dibaca oleh user

    interface. Kemudian user interface akan menampilkan form

    detail produk untuk dimanipulasi oleh user. Jika user hanya

    melakukan update pada identitas produk, user interface akan

    memanggil procedure saveData pada business logic (class

    product editable). Business logic kemudian akan memanggil

  • 45

    procedure update data produk pada data access. Setelah data

    access mengembalikan perintah, business logic akan

    mengirim kembali seperangkat data member baru ke user

    interface.

    4) Jika user memilih untuk melakukan update data bahan

    produk, maka user interface akan memanggil procedure edit

    detail of product pada business logic. Business logic kemudian

    akan memanggil procedure get data bahan produk pada data

    access. Data access akan mengirimkan field info yang akan

    dikonversi dalam bentuk array list oleh business logic melalui

    detail of product info ke user interface. Setelah user selesai

    melalukan manipulasi bahan produksi, user interface akan

    memanggil procedure save data pada business logic (class

    detail of product). Business logic kemudian akan memanggil

    procedure update data detail of product ke data access layer.

    Setelah data access mengembalikan perintah, business logic

    akan mengirimkan seperangkat object bahan detail of product

    baru melalui class detail of product info ke user interface

    untuk ditampilkan dalam bentuk control ListView kembali

    5) Jika user memilih untuk menghapus data product yang telah

    ada. User interface akan memanggil procedure delete pada

    business logic (product info dan detail of product info).

    Business logic kemudian akan mengirim perintah delete ke

    data access layer. Setelah perintah dikembalikan maka

    business logic melalui class product info dan detail product

  • 46

    info akan mencompile objek baru berupa data list bahan ke

    user interface.

    4. Sequence Diagram Kelola Pengeluaran Produk

    Pengelola Pengeluaran ProdukUser Interface Bussiness Logic Data Access

    1. Memilih Menu Pengeluaran Produk

    3. Memanggil InfoList Product

    7. Memberikan List Product

    5. Memberikan Object

    10. Memanggil Fungsi DetailOfProductEditable

    4. Get Data Product

    8. Menampilkan Form Pilih Produk

    9. Memilih Product

    15. Menyimpan Data

    6. Mengkonversi Object

    11. Memanggil Fungsi AddProduct

    12. Memberikan DataTable

    13. Mengirim ArrayList Product

    14. Menampilkan List Pengeluaran Product

    16. Memanggil Procedure SaveData

    17. Memanggil Fungsi InsertPengeluaranProduct

    18. Memberikan DataRow

    19. Mengembalikan Perintah

    20. Pemberitahuan Data Telah Disimpan

    Gambar 3.9 Sequence Diagram Kelola Pengeluaran Produk

    Pada sequence diagram kelola produksi terjadi interaksi

    antara user dan sistem seperti berikut:

    1) Ketika user memilih menu custom pengeluaran, user interface

    akan meminta info list bahan ke business logic layer.

    Kemudian business logic akan memanggil fungsi get all data

  • 47

    product ke data access. Data acess akan mengirimkan field

    object ke business logic dan akan diteruskan dalam bentuk

    array list ke user interface. User Interface akan menampilkan

    list produk beserta quantity yang akan dipilih oleh user.

    Setelah user selesai memilih produk, user interface akan

    memanggil procedure save data ke business logic. Business

    logic kemudian akan memanggil procedure insert data

    product to pengeluaran product. Setelah data access

    mengembalikan perintah business logic akan mengirimkan

    seperangkat array list bahan ke user interface, user interface

    akan menampilkan kembali form detailOfpengeluaran

    product yang telah berisi produk-produk yang telah dipilih

    user. User kemudian akan mengisi form identitas pengeluaran

    produk kemudian user interface akan mengirimkan procedure

    save data ke business logic (pengeluaranEditable). Business

    logic akan memanggil procedure insert data

    pengeluaranProduct ke data access untuk menyimpan

    identitas pengeluaran produk baru. Setelah data access

    mengembalikan perintah, business logic akan memberitahu

    bahwa data telah disimpan ke user interface.

    2) Jika user memilih untuk melakukan update data yang telah

    ada maka user interface akan memanggil fungsi edit

    pengeluraran product pada business logic layer (class

    pengeluaranEditable). Business logic layer akan meminta

    data yang dipilih user di data access layer. Dikarenakan

  • 48

    perangkat menggunakan sistem reflection, data access layer

    akan request data member dari business logic layer terlebih

    dahulu untuk memeriksa kesesuaian objek. Setelah class

    pengeluaran editable mengirim data member, data access

    akan mengirim objek yang berisi fieldInfo. FieldInfo tersebut

    akan dikonversi dalam bentuk array oleh business logic agar

    dapat dibaca oleh user interface. Kemudian user interface

    akan menampilkan form edit detail pengeluaran produk untuk

    dimanipulasi oleh user. Jika user hanya melakukan update

    pada identitas pengeluaran product, user interface akan

    memanggil procedure saveData pada business logic (class

    pengeluaran editable). Business logic kemudian akan

    memanggil procedure update data pengeluaran product pada

    data access. Setelah data access mengembalikan perintah,

    business logic akan mengirim kembali seperangkat data

    member baru ke user interface.

    3) Jika user memilih untuk menghapus data pengeluaran yang

    telah ada. User interface akan memanggil procedure delete

    pada business logic (pengeluaran info dan detail of

    pengeluaran info). Business logic kemudian akan mengirim

    perintah delete ke data access layer. Setelah perintah

    dikembalikan maka business logic melalui class pengeluaran

    info dan detail pengeluaran info akan mencompile objek baru

    berupa data list pengeluaran ke user interface.

  • 49

    3.1.4 Class Diagram

    Class diagram merupakan kumpulan dari kelas-kelas yang

    saling berhubungan atau berelasi secara terstruktur [24]. Class

    diagram sistem yang digunakan pada perancangan perangkat

    lunak ini dapat dilihat pada Gambar 3.10 berikut:

  • 50

    +Add()+Edit()+Delete()+FillList()+GetOneSupplier()

    -ArrayCompanyName-ArrayKodeSupplier-ArrayKontak-ArraySupplierName

    UI Supplier

    +CekIdentity()

    -up

    UI Login

    +New()+Delete()+Edit()+Fill List()+Load()+GetOneBahan()

    -ArrayKodeBahan-ArrayNamaBahan

    UI Bahan

    +AddBahan()+AddProduct()+Delete()+Edit()+Fill List()

    UI Product

    +Add()+Delete()+Fill List()

    UI Pengeluaran Produk

    +CreateObject()+EditBahan()+SaveBahan()+DeleteBahan()+GetListBahan()+New()

    -IDBahan-IsNew-JumlahBahan-KodeBahan-KodeSupplier-NamaBahan-SatuanBahan-TanggalUpdate

    BussinessBahan

    +CreateObject()+Edit()+Save()+GetList()+Delete()+New()

    -CompanyName-IsNew-KodeSupplier-Phone-Status-SupplierID-SupplierName-TanggalUpdate

    BussinessSupplier

    +CreateObject()+New()+GetList()+Save()+Delete()

    -IsNew-JumlahProduct-KodeProduct-Picture-ProductID-ProductName-TanggalUpdate

    BussinessProduct

    +Add()+GetObject()+NewObject()+Save()

    -IsNew-JumlahProduct-ProductName-KodePenjualan-KodeProduct

    Bussiness Pengeluaran Produk

    +AddDetailProduct()+EditBahanProduksi()+GetBahanProduksiToEdit()+GetDetailOfProduct()+GetJumlahStok()+GetOneBahan()+PotongStock()

    DetailOfProduct

    +GetDataUser()+GetIdentity()+IsInRole()

    -MyName-Password-Roles-UserName

    UserIdentity

    +IsInRole()+New()

    -Identity

    UserPrincipal

    +Delete()+GetOneBahan()+GetData()+Insert()+Update()

    DataBahan

    +Delete()+GetOneData()+Insert()+Update()

    Data Supplier

    +Delete()+GetOneData()+Insert()+GetAllData()+Update()

    Data Product

    +Add()+Delete()+GetNoTransaksi()+Update()

    Data Pengeluaran Produk

    +GetIdentityData()

    Data User

    1

    *

    1

    1

    1

    *

    * 1

    1

    *

    *1

    1*

    1*

    1

    *

    1

    *

    1

    *

    Gambar 3.10 Class Diagram Sistem Pastry dan Bakery

    Pada Gambar 3.10 menggambarkan sistem Pastry dan

    Bakery yang memiliki kelas user interface antara lain: kelas UI

  • 51

    Login, kelas UI Supplier, kelas UI Bahan, kelas UI Produksi dan

    kelas UI Pengeluaran Produk:

    1) Kelas UI Login memiliki relasi dengan kelas UserIdentity

    (untuk memeriksa identitas user). Kelas UserIdentity memiliki

    relasi dengan kelas User Principal untuk memeriksa role dan

    kelas UserPrincipal memiliki relasi dengan kelas DataUser

    untuk mengakses data base.

    2) Kelas UI Supplier memiliki relasi dengan kelas

    BusinessSupplier untuk customize object. Kelas

    BusinessSupplier memiliki relasi dengan kelas DataSupplier

    untuk mangakses database.

    3) Kelas UI Bahan memilik relasi dengan kelas Business Bahan

    untuk customize object. Kelas BusinessBahan memiliki relasi

    dengan kelas Data Bahan untuk mangakses database.

    4) Kelas UI Produk memilik relasi dengan kelas Business Produk

    dan kelas DetailOf Product untuk customize object. Kelas

    BusinessProduct dan kelas DetailOfProduct memiliki relasi

    dengan kelas Data Produk untuk mangakses database.

    5) Kelas UI PengeluaranProduk memilik relasi dengan kelas

    BusinessPengeluaranProduct untuk customize object. Kelas

    BusinessPengeluaranProduct memiliki relasi dengan kelas

    Data PengeluaranProduk untuk mangakses database.

    3.1.5 Deployment Diagram

    Deployment diagram menggambarkan detail bagaimana

    komponen di-deploy dalam infrastruktur sistem, letak komponen,

  • 52

    kemampuan jaringan, spesifikasi server, dan hal-hal lainnya yang

    bersifat fisikal [25]. Deployment diagram sistem yang digunakan

    pada perancangan perangkat lunak ini dapat dilihat pada Gambar

    Perangkat Client

    User Interface

    Service

    Business Logic Layer

    Connection Data Base

    Data Access Layer

    Basis Data

    SQL Server

    Gambar 3.11 Deployment Diagram Sistem Pastry dan Bakery

    Pada gambar 3.11 menggambarkan Sistem Windows

    Application sebagai perangkat antarmuka. User Interface

    mendapatkan seluruh suplai objek dari Layer BusinessLogic

  • 53

    sedangkan Layer BusinessLogic mengakses semua data melalui

    DataAccess Layer yang telah terkoneksi dengan Basis Data SQL

    Server.

    3.2. Perancangan Basis Data

    Basis Data yang dibangun pada sistem ini disimpan di basis

    data bertipe SQL Server. Perancangan basis data sistem perangkat

    lunak Pastry dan Bakery dapat dilihat pada Gambar 3.12.

    Gambar 3.12 Database Diagram Pastry dan Bakery

    Pada Gambar 3.12 menggambarkan sistem menggunakan 10

    tabel yaitu Tabel Products, Tabel Penjualan, Tabel

  • 54

    DetailPenjualan, Tabel Supplier, Tabel Employees, Tabel Bahan ,

    Tabel DetailOfProducts, Tabel EmployeeRoles dan Tabel Roles.

    Tabel Employees, EmployeeRoles dan Roles digunakan sebagai

    akses login pengguna. Tabel Bahan memiliki relasi dengan Tabel

    Supplier untuk mendapatkan identitas supplier yang mengirim

    bahan. Tabel Product memiliki relasi dengan Tabel Bahan yang

    digunakan untuk mendapkan data bahan untuk produksi. Tabel

    Penjualan mendapatkan data dari relasi dengan Tabel Product

    untuk mendapatkan product mana saja yang akan dikeluarkan.

    Tabel Detail Of Product berisi identitas produk dan bahan yang

    ada, Tabel Detail Of Penjualan berisi record data pengerluaran

    produk.