1 4 MEMODELKAN OBYEK DAN KELAS SERTA MODEL DIMAMIS BAGIAN II DI TAHAP PERANCANGAN 1.1 Tujuan Praktikum 1. Praktikan mampu memahami konsep permodelan d...
MEMODELKAN OBYEK DAN KELAS SERTA MODEL DIMAMIS BAGIAN II DI TAHAP PERANCANGAN
1.1
Tujuan Praktikum
1. Praktikan mampu memahami konsep permodelan dinamis menggunakan UML baik ditahap analisis maupun tahap perancangan. 2. Praktikan mampu menggambarkan alur sistem ke dalam class diagram, state transition diagram, deployment diagram, dan component diagram di tahap perancangan 3. Praktikan mampu memahami alur kodingan sistem yang akan dibuat dan menggambarkannya dalam bentukclass diagram, state transition diagram dan component diagram
1.2
Perlengkapan Praktikum
1. Software Power Designer. 2. Modul 4 Praktikum APSI.
1.3
Landasan Teori
1.3.1 Enkapsulasi Selama fase analsis, semua atribut diperlakukan seolah‐olah dapat diakses secara public, kecuali jika sudah didefinisikan aksesibilitasnya di awal.Selama fase perancangan, semua atribut harus ditulis sebagai “private”. Atribut yang akandiakses oleh kelas lain diakses melalui method yang di‐set sebagai public. Atribut dari suatu obyek menyimpan catatan tentang state obyek dan mendefinisikan tugas yang sedang dilakukan obyek itu. Untuk itu, kelas‐kelas harus berisi hal‐hal berikut ini :
Tidak boleh obyek ekternal mengakses secara langsung ke atribut. Oleh sebab itu, kelas- kelasharus menyediakan method untuk membaca dan menulis nilai ke atau dari atributtersebut. Method‐method tersebut disebut sebagai method accessor;
1
Method‐method internal adalah method‐method yang membantu menyederhanakanmekanisme internal suatu obyek, namun disembunyikan dari ekternal obyek. Method- methodini disebut sebagai method ”helper”. Pada pradigma berorientasi obyek, istilah ”public” dan ”private” digunakan untuk mengidentifikasi setiap
kategori atribut dan method. Sebagian besar bahasa berorientasi obyek menggunakan istilah ini sebagai kata kunci (keyword).Hampir semua bahasa pemrograman (berorientasi obyek dan prosedural) mendukungkonsep ini dalam bentuk yang sama. Selama tahap disain, istilah tersebut digunakan untukmemberitahu programmer tentang ijin akses ke atribut atau method pada kelas yang sedang ditulisnya.Atribut harus diakses melalui method, sehingga dapat dilakukan pengecekan nilai sebelum dimasukkan ke atribut. Pengecekan iniakan menjamin bahwa nilai yang dimasukkan ke atribut adalah valid. UML hanya mendukung public, private, dan protected.UML belum mendukung konsep package pada Teknologi Java. Untuk itu, cara yang dapat digunakan untuk menggambarkan package adalah dengan menggunakan package stereotype.
1.3.2 Class Diagram Class diagram menggambarkan struktur dan deskripsi class, package dan objek beserta hubungan satu sama lain seperti hubungan dinamis, pewarisan, asosiasi, dan agregasi.Sesuai dengan perkembangan class model, class dapat dikelompokkan menjadi package. Sehingga dapat membuat diagram yang terdiri atas package.
Class memiliki tiga area pokok : o Nama (dan stereotype) o Atribut o Metoda
Gambar 1 Class Diagram 1.3.2.1 Nama Class Digunakan untuk membedakan antara satu kelas dan kelas yang lain. Contohnya : Manusia, Mahasiswa 2
1.3.2.2 Attribute Digunakan untuk menyimpan state, pada bahasa pemrograman ini berupa field. Bisa juga diartikan apa yang dimiliki oleh sebuah objek.
Contohnya : nama, alamat, usia, nim, warna
Aturan penggunaan :modifier nama_attribute : tipedata
Contoh penggunaan : nama : String dibaca attribute nama memiliki modifier private dengan tipe dataString
1.3.2.2.1
Atribut Private, Public dan Protected
Daftar berikut ini berisi definisi dari atribut, method, dan package private, public, dan protected :
Atribut dan metod private hanya dapat diakses dari method di dalam kelas yang sama;
Atribut‐atribut dan method‐method package (di Teknologi Java) dapat diakses darimethod di kelas lain yang disimpan di dalam package yang sama;
Protected bervariasi berdasarkan bahasa pemrograman yang digunakan. Pada TeknologiJava, atribut dan method dapat diakses dari kelas yang beda jika kelas‐kelas tersebutberada pada package yang sama. Kelas yang mewarisi kelas lain dapat mengaksesmethod dan atribut yang di‐set sebagai protected. Dalam bahasa pemrograman C++,hanya kelas yang mewarisi kelas lain saja yang dapat mengakses atribut atau methodkelas parent‐nya;
Atribut dan method public dapat diakses oleh semua obyek tanpa ada batasan.
1.3.2.2.2
Mengakses Atribut yang Terenkapsulasi
Karena atribut yang dienkapsulasi tidak dapat diakses langsung, maka diperlukan method untuk mengaksesnya. Untuk melakukan ini, perlu dibangun operasi‐operasi berikut ini :
Method
untuk
menyeting
nilai
atribut,
sebagai
contoh,
setName,
setAddress,setDateOfBirth,
setAccountNumber;
Method untuk mengakses nilai dari atribut, mencakup derived attribute, sebagai contoh,getName, getAddress, getDateOfBirth, getAccountNumber;
Method untuk menanyakan pertanyaan dengan jawaban berupa true atau false,sebagai contoh isConnected, isSave.
1.3.2.3 Method Digunakan untuk menyimpan behaviour, pada bahasa pemrograman berupa method yang mengembalikan nilai (non,void method) dan method yang tidak mengembalikan nilai (void method).
Aturan Penggunaan :Modifier nama_method([namaParameter : tipeParameter]) :nilai_kembalian
Contoh penggunaan : + getNama() : Stringdibaca method getNama memiliki modifier public, tidak memilikiparameter dan memiliki nilai kembalian String. + setNama(nama : String) : voiddibaca method setNama memiliki modifier public, memiliki 1 buat parameter yaitu nama dengan tipe parameter String dan tidak memiliki nilai kembalian karena bertipe void.
1.3.2.4 Antarmuka Method System Analyst harus mendefiisikan method dalam suatu antarmuka, nilai kembalian dan parameter yang dimasukkan ke dalamnya, dan visibilitasnya.Notasi untuk nilai kembalian mirip dengan nilai atribut. Argumen yang dikirim ke dalam method digambarkan dalam urutan penulisan berikut : nama method, daftar‐daftar parameter yang dipisahkan dengan koma menggunakan notasi «Object : Class». Baik obyek atau kelas dapat dihilangkan jika tidak diperlukan.Parameter dan tipe kembalian dapat berupa tipe Boolean, data primitif (seperti int), referensi (pointer), List, atau void.Sebagian besar operasi yang digunakan untuk obyek‐obyek luar dideklarasikan sebagai public, dan method‐method yang digunakan di dalam obyeknya dan tidak diakses oleh obyek di luarnya dideklarasikan sebagai private.Use Case Diagram
1.3.4 Kelas Event dan Event Handler Pada teknologi Java, human interface merupakan ekstensi dari kelas Swing/AWT. EventHandler mendaftarkan sebuah event, dengan obyek‐obyek Swing/AWT, dan method spesifik yang akan dipanggil ketika ada event yang terjadi (sebagai contoh, tombol ditekan). Teknologi Java menyediakan framework untuk Swing/AWT event.Namun, programmer dapat membuat sendiri struktur event untuk event non GUI.Obyek event Handler diinstansiasi dengan link interaksi ke obyek‐obyek bisnis dan obyekobyek human interface.Sebagai contoh, Obyek event handler dapat didaftarkan ke obyek MenuItem.Ketika obyek MenuItem dipilih, method actionPerformed pada obyek handler dipanggil.Event Handler dapat menyalin data dari obyek‐obyek bisnis ke obyek‐obyek GUI atau melakukan prosedur sebaliknya, yaitu menyalin data dari GUI ke obyek‐obyek bisnis. Prosedur dapat dilakukan dengan obyek yang sama atau obyek terpisah di mana setiap obyek melakukan satu tugas spesifik.
4
Gambar 2 Kelas‐kelas Event Handler Event Handler dapat dibuat dalam bentuk pohon inheritance untuk mewarisi atribut, perilaku, dan tipe yang umum.Untuk itu, sebaiknya dilakukan pemisahan antara kode event handling dengan GUI. Selain itu, event handling ini juga dapat digunakan kembali oleh platform lain seperti RMI, Corba, atau DCOM jika ingin digunakan. 1.3.4.1 Contoh Kasus Anda diminta oleh sebuah institusi pendidikan untuk membuat sebuah aplikasi berbasis web untuk menentukan lokasi geladi, yang memiliki fungsi : 1. Dapat menampilkan daftar lokasi geladi. 2. Dapat menyimpan data pilihan mahasiswa berdasarkan id login. 3. Dapat melakukan edit data diri (username, pass) data yang ada diambil dari database geladi. Hasil :
5
1.3.4.2 Langkah-langkah 1. Buka Power Designer 2. File – New – Pilih Model Type : Object-Oriented Model – Pilih Class Diagram
3. Buat 3 package dari pallete 6
4. Klik kanan pada package – pilih composite view
5. Namakan ketiga package dengan : View , Controller dan Beans 6. Pada package view : klik kanan – open diagram , buat 3 file pada diagram tersebut beri nama index.jsp , dataUser.jsp , daftarLokasi.jsp kembali ke diagram utama (ctrl+u), klik kanan lagi pilih Adjust to composite view
7
7. Pada package controller : klik kanan – open diagram , buat class pada diagram tersebut , klik kanan class tersebut pilih create servlet beri nama Lokasi – next – next – finish – ctrl + u
8. Pada package beans : klik kanan – open diagram , buat 2 class pada diagram tersebut beri nama Lokasi dan Mahasiswa beri atribut dan method sesuai contoh pada class tersebut,
ctrl + u
9. Hubungkan package menggunakan dependency
1.3.5. Component Diagram Component diagram adalah diagram yang digunakan untuk menggambarkan organisasi dan ketergantungan komponen-komponen software sistem.Component diagram berguna untuk memodelkan komponen objek. Component diagram menggambarkan struktur dan hubungan antar komponen peranti lunak, termasuk ketergantungan (dependency) diantaranya. Komponen peranti lunak adalah modul berisi code, baik berisi 8
source code maupun binary code, baik library maupun executable, baik yang muncul pada compile time, link time maupun run time. Pada umumnya komponen terbentuk dari bebrapa class dan/atau package, tapi dapat juga dari komponen-komponen yang lebih kecil. Komponen dapat juga berupa interface, yaitu kumpulan layanan yang disediakan sebuah komponen untuk komponen lain. Penggambaran diagram komponen pada fase perancangan dilakukan dengan cara berikut : 1. Tinjau ulang diagram kelas dan identifikasi kelompok kelas dengan menggunakan teknik coupling dan cohesion 2. Gambarkan dengan sata stuktur komponen UML kelompok-kelompok kelas tersebut di diagram component 3. Notasi komponen UML digambarkan sebagai empat persegi panjang dengan dua empat persegi panjang yang lebih kecil di sisi kirinya 4. Masing-masing tipe komponen harus diberi nama pada diagramnya 5. Jika terdapat satu instan dari komponen di dalam sistem, maka intasn tersebut harus punya nama Bentuk pada UML versi 1
Bentuk pada UML versi 2 Atau N am a co m p one nt
atau < < c o m p o n e n t> > N am a com ponent
Stereotypes yang dapat digambarkan pada bentuk component <>,kumpulan aplikasi system <<executable>>,component yang jalan di client <>, data file <>, technical component didalam system <<source code>>, source file <
>, table data dalam sebuah database <>, User interface (screen, pages, report) Dll 9
atau
1.3.5.1. Depedency
Dimodelkan dengan garis terputus dengan panah terbuka
Digambarkan dependencies dari kiri ke kanan
Contoh: <> Source Code bergantung pada <> MySQL Dimungkinkan sebuah component dependencies pada interfaces component lainnya Contoh:
S tu d e n t A d m in i s t r a t io n < U I> >
D a ta A c c e s s S tu d e n t
S tu d e n t
1.3.5.2.Inheritance
Inheriting/child component diletakkan dibawah parent component, dengan arah panah menuju ke parent component
Dimodelkan dengan garis dengan panah tertutup
Contoh:
1.3.5.3. Interface
Interfaces adalah kumpulan >=1 methode dan >=0 attribute yang dapat dipakai pada class tanpa menjadi behavior suatu class.
Jenis interface ada 2 macam yaitu :
Provide, digambarkan dengan bentuk lollipop Pada UML 1.* bisa juga digambarkan dengan garis terputus dengan panah tertutup
Required, digambarkan dengan bentuk socket 10
Penggambaran interfaces dapat juga dilakukan dengan menambah bagian component seperti contoh dibawah ini : A1( )
Bentuk Grafik
A2
B1() Order
B2
1.3.5.4. Port Port adalah bentuk object yang menjelaskan interaksi antara object dan lingkungannya, Digambarkan sebagai kotak kecil di pinggiran component : < < c o m p o n e n t> > O rd e r
Assembly connector Penghubung antara
2/lebih component dimana sebuah/beberapa component provides interfaces dan
component lain required interfaces Digambarkan dengan gabungan bentuk interfaces contoh: Transaksi
item
item
Student
item Pinjam
1.3.5.5.Contoh Kasus : Race Meeting Terdiri dari tiga komponen yaitu Team, RaceMeeting dan Spectator Tiap komponen terdiri dari beberapa class atau package. Komponen Team terdri dari class Drve, Car, Team,dan Mechanic. Komponen Spectator terdiri dari package spectator dan komponen Spectator RaceMeeting terdiri dari Race, RaceMeeting dan RaceSchedule
3. Beri nama masing-masing icon, dengan double klik icon
4. Klik icon “part”, sisipkan di setiap komponen sesuai jumlah class dan beri nama. Beri penguhubung line untuk setiap kelas.
13
5. Dan asosiasikan setiap komponen dengan line “generalization” Sehingga menjadi :Team Drive
:Spectator
Mechanic Car
Spectator
Team
:RaceMeeting Meeting Race
RaceSchedule
6. Kelas dalm tiap komponen dapat di implementasikan dalam modulnya sendiri. Misalkan komponen Team akan di implementasikan sebagai kelas public yang dinanamakan Team yang terdapat dalam suatu file yang bernams Team.java. Sementara Driver, Mechanic dan Car akan masuk kelas default. 1.3.6 Deployment Diagram Deployment diagram adalah diagram yang berfungsi untuk untuk memodelkan distribusi aplikasi. Model UML yang akan digunakan untuk menggambarkan platform aplikasi yang berjalan adalah Deployment Diagram. Pada aplikasi client dan server, terdapat satu mesin sebagai host bagi program server dan satu atau lebih sistem lebih sistem terpisah menjadi host untuk client.Tidak perlu menggambarkan semua mesin client dalam Deployment Diagram.
14
Deployment Diagram menggunakan gambaran kotak 3 dimensi untuk menggambarkan masing-masing platform. Diagram ini kan dihubungkan dengan garis-garis yang menggambarkan koneksi jaringan antar platform yang memungkinkan komponen suatu sistem berkomunikasi. Garis tersebut dapat di beri label dengan protokol jaringan yang digunakan untuk berkomunikasi . Tanda Multiplicity yang sama dengan diagram kelas dapat digunakan untuk menggambarkan jumlah mesin yang di ijinkan berkomunikasi dengan sistem .kotak sebaiknya diberi nama untuk menunjukkan platform apa yang digunakan. 1.3.6.1. Contoh kasus -
sebuah computer bernama sisfo digunakan sebagai platform untu server
-
Suatu aplikasi client server dimana suatu server diakses oleh sejumlah client,
-
Server juga memiliki akses pada sebuah database di mesin yang terpisah,
-
Setiap client memiliki akses ke sebuah printer jaringan.
-
Printer jaringan bisa di-share jika beberapa mesin client diletakkan dalam satu tempat yang sama dengan printer
2. Klik icon “Node”, buat node 4 buah sesuai dengan kasus
15
3. Beri nama setiap node dengan double klik setiap node
4. Sisipkan icon component sesuai dengan project, dan beri asosiasi setiap komponen menggunakan “dependency”
16
5. Sehingga menjadi Client UserInterface
Model
connect *
GUI
Server
CommandLine .
*
Database
Network Printer
1.3.7 State Transition Diagram State transition diagram menggambarkan cara satu obyek berubah state-nya dalam selang waktu tertentu ketika method-nya dipanggil oleh method obyek lain.
1.3.7.1 State Semua obyek memiliki keadaan atau state. State yang sedang terjadi dari setiap obyek dicatat nilainya dan disimpan atributnya. Misalnya sebuah printer. Printer memiliki beberapa state seperti idle (tidak melakukan pekerjaan apa pun), menunggu untuk mencetak dokumen berikutnya, atau sedang sibuk (sedang mencetak dokumen). Sehingga, printer memiliki dua keadaan, yaitu idle atau sibuk (busy).
17
1.3.7.2 Event Event merupakan pendorong yang menyebabkan sebuah obyek bertransisi dari satu keadaan ke keadaan lainnya. Event terjadi dalam bentuk pemanggilan method. Method dapat disebut sebagai sebuah pekerjaan atau beberapa pekerjaan di dalam obyek yang mengubah state dari obyek tersebut. Pada contoh printer di atas, ketika beberapa obyek memanggil method print(), state printer berubah dari idle menjadi busy. Pemanggilan method print() adalah suatu event yang menyebabkan perubahan state printer. Sebuah obyek minimal berada dalam satu state dari state-state yang dimilikinya. Hal ini berarti bahwa obyek tersebut memiliki durasi state dan state yang stabil. Ini juga berarti transisi dari satu state ke state lainnya seharusnya berlangsung sesegera mungkin.
1.3.7.3 Menggambar State Transition Diagram State transition diagram merupakan diagram penting untuk menggambarkan sebuah event berdampak pada obyek dan menggambarkan sifat perubahan yang boleh terjadi di dalam obyek. Setiap state transition diagram memiliki titik awal untuk menandai momen ketika obyek diinstansiasi. Dari state ini, obyek dengan segera berubah state-nya menjadi initial state, biasanya status ini stabil. Tanda panah selanjutnya digunakan untuk menggambarkan alur antar berbagai state obyek. Setiap tanda panah ditulisi dengan suatu tulisan yang menggambarkan tugas yang dilakukan di obyek tersebut untuk menggambarkan event yang terjadi saat itu. Jika sebuah obyek tidak lagi diperlukan dalam siklus hidup sistem, maka obyek tersebut dihapus. Pada state transition diagram digambarkan sebagai titik akhir atau termination. Termination dalam kenyataannya diperlukan di semua state transition diagram meskipun jika event yang memicu termination adalah akhir dari sistem. Gambar 3 berikut ini menggambarkan contoh state transition diagram sebuah printer.
Gambar 3 Contoh State Transition Diagram Sebuah Printer Ketika obyek printer diinstansiasi, maka state-nya di-set menjadi idle. Dari state ini printer dapat melakukan pekerjaan seperti menerima file untuk dicetak (suatu event yang menyebabkan perubahan state menjadi busy) atau obyek printer tersebut dihapus dari sistem. Berdasarkan pada diagram ini, tidak boleh ada operasi untuk menghapus obyek printer ketika state-nya dalam keadaan busy. 18
1.3.7.4 Mengembangkan State Transition Diagram di Tahap Perancangan Pada tahap perancangan, state transition diagram dapat ditambahkan rincian tentang event, aksi, dan guard.
Untuk beberapa kelas dengan state yang signifikan, perlu ditetapkan penggunaan state
pattern, perlu ditambahkan rincian tentang parameter yang dilewatkan kepada
event, parameter yang
dimasukkan ke aksi yang dipanggilnya, dan petunjuk-petunjuk. Setiap event memerlukan method untuk penanganannya dan setiap aksi memerlukan method pada obyek penerimanya. Gambar 4 menggambarkan state transition diagram parsial untuk sistem video player. Diagram tersebut menggunakan guard kondisi untuk menghindari aksi play dan record ketika tidak ada tape cartridge yang di-load. Jika digunakan state pattern, sebaiknya guard ini dihapus. Guard ini dapat dihapus dan menggantinya dengan menambah satu atau beberapa state.
Gambar 4 State Transition Diagram untuk Sistem Video Palyer
Gambar 5 State Transistion Diagram untuk Sistem Video player yang dibuat di Tahap Analisis 19
Gambar 5 menggambarkan State Transition Diagram sistem video player yang dibuat pada saat fase analisis. Pada fase perancangan, gambar di atas perlu diperinci. Misalkan, jika pada fase perancangan tidak menggunakan state pattern, maka hasil akhir diagram kurang lebih seperti ditunjukkan pada Gambar 6.
Gambar 6 State Transition Diagram yang Dikembangkan di Fase Perancangan Pada fase perancangan, state transition diagram dapat ditambahkan elemen-elemen yang :
memodifikasi event menjadi nama method;
menampilkan parameter;
memodifikasi guard;
memodifikasi aksi untuk menambah parameter;
menggambarkan obyek target, menggunakan nama obyek atau kelas, untuk aksi pada kelas lain;
menggambarkan aksi mengirim event, atau obyek, gunakan kata kunci send untuk menunjukkan hal ini.
Tujuan dari penambahan elemen-elemen ini adalah :
menghindari gap dokumen;
mengecek bahwa pemahaman tentang disain tepat;
menemukan
method-method
yang
terlewatkan.
Setiap
event
harus
memiliki
method yang
menanganinya;
menemukan method-method aksi yang terlewatkan, setiap aksi harus memiliki method yang menanganinya di obyek target;
menemukan referensi yang hilang; 20
menemukan variabel state yang diperlukan; Pada tahap ini, dapat juga dilakukan break down terhadap state transition diagram ke dalam sub state,
parallel state, sub-state dengan history, dan sebagainya. Selain itu, pada tahap ini beberapa kompleksitas yang ditemukan dapat dikurangi dengan konstruksi disain, seperti pattern.
1.3.7.5 Langkah-langkah Praktikum 1. Buka start>SyBase>Power Designer 12>Power Designer. 2. Klik File>New Model Type: Object-Oriented Model, Beri nama model pada model name, pilih object language: Java, dan pilih first diagram: statechart diagram.
3. Klik Pallete Start untuk mengawali State Transition Diagram. 4. Klik pallete state untuk membuat state/status. Beri nama dengan klik 2x pada state yang telah dibuat.
21
5. Klik transition untuk menghubungkan antar state, antara start dengan state, dan state dengan end.
6. Untuk member keterangan pada transition, gunakan text.
7. Terakhir, untuk mengakhiri state, klik end pada pallete.
1.4 Praktikum Kasus : TOSERBA CAHAYA KARTIKAH SEJATI adalah salah satu TOSERBA terbesar yang ada di Republik Indonesia tercinta. TOSERBA ini sangat menjunjung tinggi rasa nasionalisme, sehingga hampir 90% karyawan mereka adalah orang-orang pribumi. TOSERBA CAHAYA KARTIKAH SEJATI sudah melayani pelaggan-pelanggannya sejak tahun 1991 dan sudah mendirikan cabang di 3 kota besar di Pulau Jawa, yakni : 22
Jakarta (terletak di Jakarta Timur), Surabaya, dan Bandung. Pendapatan TOSERBA ini terus meningkat dari tahun ke tahun, hingga pada akhir tahun 2011, pendapatan TOSERBA mengalami penurunan secara signifikan. Selidik punya selidik, ternyata salah satu faktor penyebab turunnya pendapatan TOSERBA ini adalah menurunnya tingkat kepuasan pelanggan terhadap pelayanan (khususnya sistem pembayaran) yang diberikan oleh karyawan TOSERBA ini.Sistem yang ada dirasa kurang tanggap dan cepat dalam mengidentifikasi keinginan pelanggan yang selalu ingin dilayani secara cepat dan tepat. Selain itu, struk pembayaran yang ada kadang-kadang tidak sesuai dengan jumlah pembelian yang dilakukan oleh pelanggan. Dampaknya, pelanggan mulai meninggalkan TOSERBA ini dan memilih TOSERBA lain dengan sistem pelayanan yang lebih nyaman bagi mereka. Temuan tersebut membuat Noor Kartikah Sejati, CEO sekaligus pendiri TOSERBA ini berpikir untuk mendesain ulang proses bisnis yang ada, khususnya pada sistem pembayaran atau POS (Point of Sales). Pada akhirnya, setelah berpetualang mencari ide dan ilham dari Yang Maha Kuasa, akhirrnya Jeng Noor (Sapaan akrab CEO) beserta tim, berhasil membuat proses bisnis baru pada sistem POS yang ada. TOSERBA CAHAYA KARTIKAH SEJATI secara bertahap membuat perubahan pada bisnisnya. Perbaikan proses bisnis yang ia inginkan dengan penambahan sistem pembayaran atau POS (Point of Sales) telah ia dilakukan dengan analisis sistem berupa use case. Proses bisnis dimulai saat pelanggan menghampiri kasir untuk melakukan transaksi pembayaran. Kasir kemudian menggunakan sistem POS untuk mencatat detail barang-barang yang dibeli oleh pelanggan. Selanjutnya, sistem akan menampilkan detail listbarang yang dibeli beserta total harga yang harus dibayar pelanggan. Pada tahap berikutnya, pelanggan memasukkan informasi pembayaran (bisa
cash, debit, atau credit card) dimana informasi pembayaran ini akan divalidasi dan
disimpan oleh sistem. Proses bisnis berakhir saat sistem meng-update inventori barang terkait dan pelanggan menerima bukti pembayaran beserta barang-barang yang mereka beli. Buatlah class diagram, state chart diagram component diagram dan deployment diagram dan di tahap perancangan untuk use case input barang! Berikut merupakan kodingan untuk input barang menggunakan MVC. 1. inputBarang.jsp <%@ page language="java" contentType="text/html; charset=ISO-8859-1"pageEncoding="ISO-8859-1"%> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 23
MODUL IV
SELAMAT DATANG DI PRAKTIKUM WEB BASED 2012 ENJOY YOUR LESSON :D