TYPE THE COMPANY NAME (1)

[Type the document title]

[Type the document subtitle]

Asus [Pick the date]

[Type the abstract of the document here. The abstract is typically a short summary of the contents of the document. Type the abstract of the document here. The abstract is typically a short summary of the contents of the document.]

1 ANALISIS KEBUTUHAN SISTEM

1.1 Tujuan Praktikum

2. Praktikan mampu mendefinisikan pengertian analisis sistem.

3. Praktikan mampu menjelaskan peran para ahli yang akan terlibat dalam pengembangan sistem.

4. Praktikan mampu memahami dan mendefinisikan problem st at ement .

5. Praktikan mampu mendefinisikan proses identifikasi kandidat obyek-obyek bisnis.

6. Praktikan mampu menjelaskan peran dan fungsi dari Use case diagram.

7. Praktikan mampu membuat Use case Form dan mampu menjelaskan skenario untuk setiap use case.

1.2 Perlengkapan

1. Modul praktikum APSI

2. Software Power Designer

1.3 Landasan Teori

1.3.1 Analisis Sistem Analisis sistem adalah penelitian atas sistem yang telah ada dengan tujuan untuk

merancang sistem baru atau diperbaharui. Kegiatan analisis sistem adalah kegiatan untuk melihat sistem yang sudah berjalan, melihat bagian mana yang bagus dan tidak bagus, dan kemudian mendokumentasikan kebutuhan yang akan dipenuhi dalam sistem yang baru. Pada proyek sistem informasi, proses analisis dan desain sering berjalan bersama-sama agar lebih mudah mendefinisikan kebutuhan jika user telah melihat gambar rancangan sistem yang baru. Adapun beberapa tahap untuk melakukan analisis sistem yaitu:

1. Penetapan ruang lingkup sistem

Menetapkan masalah awal yang ada pada sistem, menetapkan ruang lingkup untuk pengembangan sistem,mengkomunikasin rencana proyek.

2. Analisis masalah Menganalisis masalah dan kesempatan serta menganalisa proses bisnis selanjutnya menentukan tujuan perbaikan sistem

3. Analisis kebutuhan Apakah yang diinginkan user sudah memenuhi sasaran dan kebutuhan bisnis atau belum.

4. Desain Menggambarkan berbagai model sistem untuk mendokumentasikan persyaratan untuk sistem baru dan sistemm yang ditingkatkan.

5. Analisis keputusan Fase ini menekankan bagaimana sistem baru dapat diimplementasiakn dengan teknologi.

1.3.2 Problem Statement

Problem st at ement merupakan dokumen yang mendeskripsikan kebutuhan-kebutuhan

cust omer

sistem dalam suatu proyek sebagai basis untuk mengidentifikasi domain problem. Dimana suatu problem st at ement harus menjelaskan secara jelas, yaitu:

1. Semua informasi yang dibutuhkan dalam analisis dan perancangan sistem.

2. Batasan ‐batasan yang harus dipertimbangkan selama pengembangan sistem.

3. Aliran informasi yang ada pada sistem.

4. Pengguna dari sistem yang akan dikembangkan.

5. Masukan dan keluaran sistem.

1.3.4 Problem Domain

Problem domain adalah pernyataan baik berupa grafis maupun tekstual yang mendeskripsikan area dan masalah-masalah yang akan ditangani.

1.3.5 M enentukan Kandidat Obyek dan Kelas

Dalam fase analisis ini dilakukan identifikasi daftar obyek dan kelas yang diperlukan di sistem yang akan dikembangkan. Identifikasi ini dilakukan mulai dari problem st at ement , cara untuk mengidentifkasi kandidat obyek dan kelas 3 yaitu dengan menggaris bawahi kata benda dan frase kata benda dari problem statement. Contoh peminjaman buku di perpustakaan:

Setiap mahasiswa IT Telkom mempunyai kartu pinjam perpustakaan, dimana setiap mahasiswa dapat meminjam buku dengan alur, pertama mahasiswa login dengan KTM ke dalam sistem, kemudian mahasiswa dapat memilih buku yang diinginkan dengan melihat katalog buku di sistem, setelah dapat, mahasiswa membawa buku tersebut ke petugas perpustakaan dengan menyerahkan kartu pinjam dan KTM. Identitas buku direkap oleh petugas setelah itu buku dapat dipinjam mahasiswa. Mahasiswa harus mengembalikan buku tersebut sesuai tanggal yang ditentukan, jika tidak maka mahasiswa harus membayar denda.

Semua kata benda dan frase kata benda sudah digaris bawahi, beberapa diantaranya merupakan model bisnis untuk mengawali identifikasi dalam menganalisis masalah.

1.3.6 M enentukan Form Kandidat Obyek dan Kelas

Dalam menentukan kandidat objek kita membuat list dari kata benda dan frase kata benda pada problem statement setelah itu kita membuat nama kelas untuk calon objeknya. Contohnya seperti dibawah ini.

1.3.7 M embuat Usecase Diagram

Merupakan gambaran fungsionalitas yang diharapkan dari sebuah sistem yang ditekankan adalah “apa” yang diperbuat sistem bukan “bagaimana” sistem mengerjakannya. Usecase menggambarkan kebutuhan sistem dari sudut pandang user, menggambarkan hubungan antara usescase dan actor. Secara umum usecase mempunyai beberapa bagian penting seperti:

1. Usecase Merupakan fungsionalitas yang disediakan sistem sebagai unit-unit yang saling bertukar pesan antar unit atau aktor, biasanya dinyatakan dengan menggunakan kata kerja. Dinotasikan dengan gambar horizontal elipse dan tidak boleh ada 2 atau lebih nama usecase yang sama. Simbolnya seperti ini:

Dibawah ini merupakan contoh penggambaran usecase pada kasus peminjaman buku di perpustakaan.

2. Act ors

 Menggambarkan orang, sistem,atau external entitas yang menyediakan atau menerrima informasi dari system.  Aktor menggambarkan sebuag tugas atau peran dan bukan jabatan.

 Aktor memberikan input atau menerima informasi.  Aktor biasayan menggunakan kata benda.  Tidak boleh ada komunikasi langsung antar actor.  Meletakkan aktor utama di pojok kiri atas.

Simbolnya seperti dibawah ini:

3. Syst em Boundary

 Digambarkan dengan kotak disekitar usecase, untuk menggambarkan jangkauan sistem.  Digunakan apabila memberikan beberapa alternatif sistem yang dapat dijadikan pilihan.  Syst em boundary dalam penggunaanya bersifat optional.

4. Relat ionship  Asosiasi bukan menggambarkan aliran data / informasi.  Asosiasi digunakan untuk menggambarkan bagaimana aktor terlibat dalam usecase.  Terdapat 4 jenis relasi yang timbul pada usecase diagram yaitu:

 Asosiasi antara aktor dan usecase.  Ujung panah pada asosiasi mengindikasin siapa / apa yang meminta interaksi dan bukannya mengindikasin aliran data.  Menggunakan garis tanpa panah.  Jika asosiasi mengguankan panah terbuka untuk mengindikasi bila aktor

berinteraksi secara pasif dengan sistem.  Asosiasi antar usecase.

 <<Include>>

 Tanda panah terbuka harus terarah ke sub usecase.

 Termasuk didalam usecase lain / required / diharuskan ada.  Cara penggambaran association include secara horizontal.

 <<extends>>

 Perluasan dari usecase lain jika kondisi atau syarat terpenuhi.  Tanda panah terbuka harus terarah ke parent / base usecase.  Gambaran association extend secara vertikal 7.

 Generalisasi/ inheritance antara usecase.  Digambarkan dengan garis berpanah tertutup pada salah satu ujungnya yang menunjukkan lebih umum.  Cara penggambarannya secara vertical dengan inheriting usecase dibawah parent usecasenya.  Generalisasi / inheritance antara actor.  Gambarkan secara vertikal dengan inherit ing

aktor dibawah parent

usecase.

1.3.8 Use case Form

Digunakan untuk menulis ringkasan setiap usecase. Usecase form bukan bagian dari uml. Tidak ada form standar atau definitive sehingga pengembang dapat membuat versi form masing-masing. Contoh use case form untuk usecase pengembalian buku:

1.4 Getting Started Perancangan Use Case Diagram dengan Pow er Designer

Langkah-langkah merancang use case diagram pada Power Designer:  Buka Power Designer -> Create Model...

 Klik Object-Oriented Model pada Model Type dan pilih Use Case Diagram pada kotak Diagram dan untuk Model name adalah “use case diagram” ฀ Klik OK

 Untuk merancang Use Case, gunakan kotak [Palette].

Dalam merancang Use Case, pertama kali adalah mendefinisikan actor, maka klik icon [

] kemudian klik pada area kerja perancangan use case diagram.

 Demikian pula dalam merancang use case yaitu klik icon [ ] klik pada area perancangan use case diagram. Untuk mengganti nama pada actor dan use case klik double

pada actor atau use case. Untuk asosiasi antara actor dengan use case klik icon [ ],

sedangkan untuk include/extends klik icon [

 Pemunculan <<include>> pada garis dapat dilakukan dengan klik double pada garis/link kemudian pada Stereotype isikan “include”

1.5 Praktikum Studi Kasus

Perpustakaan Nastar merupakan perpustakaan milik negara yang berpusat di Bandung. Perpustakaan ini mempunyai jumlah anggota dan juga jumlah buku yang sangat banyak. Untuk menangani data mengenai anggota, administrasi, dan pengelolaan buku, maka diperlukan suatu sistem untuk mengatur jalannya transaksi data mengenai hal-hal tersebut. Perpustakaan Nastar juga mempunyai beberapa officer yang bertugas untuk menginputkan data peminjaman buku, penginputan anggota baru, penginputan data buku. Anggota perpustakaan juga dapat mencari buku yang dicari melalui sistem tanpa harus melakukannya secara manual. Anggota perpustakaan yang ingin meminjam buku harus membawa kartu anggota dan memperlihatkannya kepada officer. Anggota hanya dapat meminjam 3 buku sekali pinjam, dan tidak dapat melakukan peminjaman apabila masih ada buku yang dipinjam namun belum dikembalikan. Jika melewati batas peminjaman, maka anggota akan dikenakan denda. Officer yang melayani peminjaman buku, setelah mendapatkan kartu anggota dari anggota dan akan mengecek status peminjaman dari anggota tersebut dengan cara memasukkan ID anggota, apabila anggota tersebut masih dalam peminjaman buku, maka tidak dapat dilakukan peminjaman, sedangkan jika tidak, maka dapat dilanjutkan untuk penginputan data buku yang dipinjam oleh user tersebut. Apabila ada buku baru yang masuk, maka officer akan menginputkannya ke dalam sistem, lengkap dengan stok, dan informasi lainnya mengenai buku tersebut. Officer juga dapat melayani orang yang ingin menjadi anggota perpustakaan dengan menginputkan data-data calon anggota ke dalam sistem.

Dari studi kasus di atas:

a. Identifikasilah problem st atement kemudian tentukan kandidat objek/ kelasnya.

b. Buatlah rancangan use case dan use case form untuk setiap use case.

PERANCANGAN TAHAP ANALISIS DAN

2 DATABASE SISTEM

2.1 Tujuan Praktikum

1. Praktikan mampu memahami macam-macam perancangan obyek dan kelas di tahap analisis.

2. Praktikan mampu membuat int erface sistem.

3. Praktikan mampu menganalisis kebutuhan data.

4. Praktikan mampu membuat dat abase syst em secara Concept ual Dat a M odel (CDM) dan Physical Dat a M odel (PDM).

2.2 Perlengkapan

1. Modul Praktikum APSI

2. Software Power Designer

2.3 Landasan Teori

2.3.1 Perancangan Obyek dan Kelas Tahap Analisis

2.3.1.1 Inheritance

Inheritance merupakan suatu cara untuk menurunkan suatu class yang lebih umum menjadi suatu class yang lebih spesifik. Class utama disebut superclass, sedangkan class turunan disebut subclass.Suatu class boleh memiliki beberapa subclass, tetapi suatu class tidak boleh memiliki lebih dari satu superclass. Contoh :

Catatan : panah dengan kepala segitiga menuju kearah superclass.

2.3.1.2 Generalisasi dan Spesialisasi

Generalisasi adalah konsep ketika beberapa class yang telah ada dalam class diagram memiliki fungsionalitas, struktur dan tujuan umum.

Spesialisasi adalah konsep yang digunakan ketika kelas baru yang akan ditambahkan memiliki fungsionalitas,struktur dan tujuan yang sama dengan kelas yang sudah ada, tetapi kelas baru ini membutuhkan kode baru atau atribut baru.

2.3.1.3 Polymorphism

Polymorphism merupakan kemampuan suatu class untuk mempunyai beberapa bentuk class yang berbeda.Polymorphism bisa disamakan dengan overload method, dimana sebuah class terdapat beberapa method dengan nama yang sama.

2.3.1.4 Abstract class

Abst ract class merupakan class yang memiliki fungsi yang tidak komplit dan tidak bisa di instantiasi. Class yang meng- ext ends class abstract mewarisi semua methodnya (termasuk method abstrak). Ketika subclass menulis kembali method superclass-nya, maka subclass ini me- override method superclass-nya. Notasi UML untuk abstract class :

Catatan :  Class abstract ditulis italic atau ditulis setelah nama class dengan kurung kurawal {abstract}  Semua method abstract yang ada pada class tersebut juga ditulis dengan cara yang sama

2.3.1.5 Role Name

Role name merupakan peran diantara class. Pada UML, masing-masing kelas pada ujung suatu asosiasi perlu mempunyai role name . Contoh :

2.3.1.6 Association (Asosiasi)

Asosiasi menggambarkan relasi antar dua kelas di class diagram . Asosiasi aktualnya menggambarkan tipe relasi antara dua kelas. Asosiasi terbagi menjadi dua depedency yaitu aggregat ion dan composit ion . Perhatikan contoh berikut ini :

 Associat ion : Juru masak menggunakan pisau (uses)  Aggregat ion : Mobil memiliki radio (has)  Composit ion : Mobil selalu berisi mesin ( alw ays contain)

a. Aggregat ion Aggregat ion mempunyai hubungan tidak kuat. Contohnya adalah mobil dan radio, mobil masih bisa hidup tanpa ada radio. Disimbolkan dengan tanda diamond putih (kosong)

b. Composition Composition mempunyai hubungan yang kuat.Contohnya adalah mobil dengan mesin, mobil tidak dapat hidup tanpa mesin.Disimbolkan dengan tanda diamond hitam.

2.3.1.7 Propagation

Propagat ion adalah konsep pemanggilan met hod suatu kelas untuk memanggil met hod milik kelas lain. Mengacu pada permohonan suatu met hod , menyebabkan satu atau lebih met hod pada objek yang terasosiasi untuk dilibatkan dengan cara tertentu.

2.3.1.8 Delegation

Delegat ion adalah konsep menyerahkan operasi ke kelas lain yang terasosiasi dengannya. Terjadi bila keseluruhan operasi yang user atau sistem mohon pada class benar-benar berlangsung di dalam obyek asosiasi.

2.3.2 Interface Sistem

Beberapa bahasa pemrograman berorientasi objek, misalnya C++, membolehkan suatu kelas memiliki dua atau lebih superclass . Hal ini disebut pewarisan ganda ( mult iple inherit ance ).Pewarisan ganda seperti ini tidak diperbolehkan pada Java. Desainer Java ingin menjaga agar bahasa Java tetap sederhana, dan mereka merasa pewarisan ganda ini sangat kompleks dengan keuntungan yang tidak begitu besar. Akan tetapi, Java memiliki fitur lain yang bisa digunakan seperti halnya pewarisan berganda, yaitu antar muka ( int erface ).

Int erface adalah kumpulan met hod yang hanya memuat deklarasi dan struktur met hod , tanpa detail implementasinya. Int erface merupakan kelas yang paling abst ract , hanya berisi daftar deklarasi met hod , artinya semua met hod belum mempunyai implementasi Sedangkan detail dari met hod berada pada class yang mengimplementasikan int erface tersebut. Int erface digunakan bila Anda ingin mengaplikasikan suatu met hod yang spesifik, yang tidak diperoleh dari proses inherit ance . Tipe data yang boleh pada int erface hanya tipe data konstan. Sebagai analoginya akan digambarkan sebagai berikut.

Dalam kehidupan nyata, terdapat manusia yang bekerja sebagai guru, petani, satpam, pedagang dan lain-lain. Misalkan saja terdapat kelas Pak Dony, maka kelas ini akan diturunkan dari kelas manusia, namun harus mengimplementasikan sebuah kelas lagi (yang haruslah merupakan sebuah int erface sebab Java hanya mendukung sebuah superclass untuk setiap kelas). Jadi kelas PakDony merupakan implemen dari kelas Guru (jika dia merupakan seorang guru).

M engapa membutuhkan interface ?

 Memecahkan bagian yang rumit dan spesifik. Dengan menggunakan class atau int erface oleh vendor maka dalam pembuatan perangkat lunak menjadi lebih cepat.  Keterbatasan inherit ance pada Java. Int erface menjawab kebutuhan untuk melakukan

mult iple inherit ance

Syarat sebuah interface :

 Tidak memiliki obyek (tidak ada instansiasi)  Tidak memiliki at ribut e (hanya memiliki konstanta)  Tidak memiliki modifier statik  Tidak ext ends dari kelas lain namun boleh ext ends dari int erface lain bahkan boleh

ext ends ke lebih dari satu int erface lain.  Tidak implemen dari kelas lain.

Perbedaan interface dengan abstract class sebagai berikut:

Contoh 1:

Berikut ini kita akan menggambarkan notasi UML untuk int erface Engine dan kelas NewEngine yang mengimplementasikannya

Pembuatan kelas interface menggunakan pow er design:

1. Buka Power Designer 12.

2. Klik File -> New .

3. Pilih Object Oriented M odel.

4. Pilih Class Diagram.

5. Buat kelas untuk int erface dan kelas yang mengimplementasikanny.

6. Klik 2 kali pada kelas engine sebagai int erface- nya,lalu pada baris st ereot ype -nya ketikkan “Inteface”, klik OK.

7. Buat met hod untuk masing-masing kelas dengan mengklik 2 kali pada kelas yang akan diberi met hod , kemudian pilih kolom Operat ions , masukkan met hod yang akan di deklarasikan, klik OK.

8. Untuk membuat asosiasinya pilih simbol “ dependency ” pada palet t e , kemudian hubungkan pada masing-masing kelas.

9. Edit simbol dependency tadi dengan memilih “ line st yle ” pada toolbar.

Kemudian pada kolom arrow , edit garis pada bagian END, klik OK.

10. Diagram telah selesai dibuat.

Contoh 2: Lakukan petunjuk yang sama dengan contoh 1 untuk menggambarkan notasi UML untuk int erface

AlatMusik dan kelas AlatMusikTiup, kelas AlatMusikPetik yang mengimplementasikannya.

2.3.3 Analisis dan Pembuatan Database Sistem

Dat abase sistem yang dibuat menggunakan konsep ERD. ERD ( Ent it y Relat ionship Diagram ) digunakan untuk memodelkan struktur data dan hubungan antar data. Dengan ERD, model dapat diuji dengan mengabaikan proses yang dilakukan. Di dalam Power Designer, terdapat dua konsep dalam merancang ERD yaitu Concept ual Dat a M odel (CDM) dan Physical Dat a M odel (PDM).

a. Conceptual Data Model (CDM )

Model yang dibuat berdasarkan anggapan bahwa dunia nyata terdiri dari koleksi obyek- obyek dasar yang dinamakan entitas ( ent it y ) serta hubungan ( relat ionship ) antara entitas- entitas itu. Biasanya direpresentasikan dalam bentuk Ent it y Relat ionship Diagram (ERD). Manfaat Penggunaan CDM dalam perancangan database :

 Memberikan gambaran yang lengkap dari struktur basis data yaitu arti, hubungan, dan batasan-batasan  Alat komunikasi antar pemakai basis data, designer, dan analis.

b. Physical Data Model (PDM )

Merupakan model yang menggunakan sejumlah tabel untuk menggambarkan data serta hubungan antara data-data tersebut. Setiap tabel mempunyai sejumlah kolom di mana setiap kolom memiliki nama yang unik. Tipe data PDM bersifat lebih khusus dan spesifik. Perancangan PDM merupakan representasi fisik atau sebenarnya dari dat abase .

2.3.3.1 Analisis Kebutuhan Data

Studi Kasus peminjaman buku di perpustakaan : Setiap mahasiswa IT Telkom mempunyai kartu pinjam perpustakaan, dimana setiap

mahasiswa dapat meminjam buku dengan alur, pertama mahasiswalogin dengan KTM kedalam sistem, kemudian mahasiswa dapat memilih buku yang diinginkan dengan melihat catalog buku di sistem, setelah dapat, mahasiswa membawa buku tersebut ke petugas perpustakaan dengan menyerahkan kartu pinjam dan KTM. Identitas buku direkap oleh petugas setelah itu buku dapat dipinjam mahasiswa.Mahasiswa harus mengembalikan buku tersebut sesuai tanggal yang ditentukan, jika tidak maka mahasiswa harus membayar denda.

Dari usecase tersebut dapat dilihat beberapa poin penting yang perlu direcord data-nya. Antara lain:

1. Data Aktor : untuk merekam data detail peminjam dan petugas.

a. Mahasiswa

b. Petugas

2. Data Buku : Untuk menampung data detail dari buku. Terdapat pula data penulis dan data penerbit buku.

3. Data Peminjaman Buku : menampung data siapa peminjam, siapa petugas yang melayani dan buku apa yang dipinjam beserta tanggal buku harus kemabali.

4. Data Pengembalian Buku : merekam data peminjam yang telah mengembalikan buku dan denda pengembalian.

2.3.3.2 Pembuatan Conceptual Data M odel

Langkah-langkahnya sebagai berikut.

1. Buka Power Designer v. 12

2. Klik File -> New

3. Pilih Conceptual Data M odel

4. Klik OK

5. Pilih Entity pada Palette

6. Buat 3 ent it y pada w orkspace , beri nama masing-masing ent it y yaitu Mahasiswa, Buku dan Petugas.

7. Klik 2X pada salah satu entity (Contoh : Mahasiswa).

a. Pada Tab General , ketikkan Name : M ahasisw a.

8. Isikan atribut pada ent it y lainnya.

9. Setelah seluruh ent it y selesai dibuat, maka klik Palet t e Relat ionship untuk membuat relat ionship (hubungan) antar entitas.

10. Hubungkan entity Mahasiswa dengan Buku. Atur kardinalitas menjadi many t o many . Lalu klik OK.

11. Pada tab General ,ubah Name menjadi peminjaman_pengembalian.

12. Klik kanan pada relationship peminjaman_pengembalian, pilih Change to Entity . Setelah itu akan muncul entitas baru yang masih kosong. Entitas tersebut merupakan entitas baru gabungan dari kedua entitas yang memiliki kardinalitas many t o many .

13. Selanjutnya, tambahkan atribut pada entitas peminjaman_pengembalian .

14. Untuk

petugas dengan entity peminjaman_pengembalian, dapat dengan menarik relat ionship antara kedua entity tersebut.

15. Berikut adalah hasil akhir pembuatan CDM Perpustakaan.

16. Untuk melakukan pengecekan terhadap kebenaran CDM yang telah dibuat, klik Tools

-> Check M odel -> OK . Apabila tidak ada error maka muncul kotak dialog seperti di bawah ini.

2.3.3.3 Pembuatan Physical Data Model

Dalam membuat Physical Dat a M odel (PDM), cukup meng- generat e hasil dari ERD CDM. Langkah-langkahnya sebagai berikut :

1. Pilih tools -> Generate Physical Data M odel

2. Pada tab General , pilih Generate New Physical Data M odel Pada pilihan DBM S, pilih dat abase yang akan digunakan, misal Oracle version 10g

(sesuaikan dengan database yang akan digunakan). Isikan Name dengan PDMperpus.

3. Pada tab Detail , tulis Table prefix dengan tb_ dan pada references ganti Delete rule

dengan Cascade . Lalu klik OK.

4. Setelah itu bentuk ERD akan berubah menjadi gambar ini. Inilah yang disebut bentuk PDM.

Lihat perubahan pada entitas peminjaman_pengembalian , terlihat bahwa terjadi penambahan atribut pada entitas tersebut yaitu Kode_Buku, NIM , dan Kode_Petugas sebagai foreign key maupun primary key di entitas tersebut.

2.4 Praktikum

Perpustakaan Nastar merupakan perpustakaan milik negara yang berpusat di Bandung. Perpustakaan ini mempunyai jumlah anggota dan juga jumlah buku yang sudah cukup banyak. Untuk menangani data mengenai anggota, administrasi, dan pengelolaan buku, maka diperlukan suatu sistem untuk mengatur jalannya transaksi data mengenai hal-hal tersebut.

Perpustakaan Nastar memiliki officer yang bertugas berbeda-beda, seperti menginputkan data

peminjaman buku, penginputan anggota baru, penginputan data buku perpustakaan . Setiap Anggota perpustakaan yang ingin meminjam buku harus membawa kartu anggota dan

memperlihatkannya kepada officer. Anggota hanya dapat meminjam 3 buku sekali pinjam, dan tidak dapat melakukan peminjaman apabila masih ada buku yang dipinjam namun belum dikembalikan. Jika melewati batas peminjaman, maka anggota akan dikenakan denda .

Perpustakaan Nastar berisi berbagai item yang dapat dijadikan anggota perpustakaan sebagai sumber pengetahuan mereka, dan setiap media memiliki peraturan berbeda. Perpustakaan Nastar memiliki buku, artikel ilmiah, cd, majalah, dll . yang masing-masing media memiliki peraturan masing-masing, seperti buku dapat dipinjam pulang dengan bebas, artikel ilmiah hanya bisa dipinjam di tempat, dll Apabila terdapat item baru yang masuk, maka officer akan menginputkannya ke dalam sistem, lengkap dengan stok , dan informasi lainnya mengenai item tersebut.

Setelah membaca studi kasus diatas, silahkan :

1. Buatlah Objek Diagram dari kasus tersebut dengan mengikuti langkah-langkah yang ada pada modul!

2. Buat CDM serta PDM nya!

M EM ODELKAN M ODEL DINAM IS DI

3 TAHAP ANALISIS DAN PERANCANGAN

BAGIAN 1

3.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 act ivit y dan sequence diagram.

3. Praktikan mampu memahami alur kodingan sistem yang akan dibuat dan menggambarkannya dalam bentuk act ivit y dan sequence diagram.

3.2 Perlengkapan Praktikum

1. Software Power Designer.

2. Modul 3 Praktikum APSI.

3.3 Landasan Teori

3.3.1 M odel Dinamis

Setelah model obyek dibuat, langkah selanjutnya di fase analisis adalah memodelkan cara sistem dan obyek-obyek di dalamnya beroperasi dan bekerja sama satu sama lain. Pemodelan ini disebut pemodelan dinamis. Pemodelan dinamis terdiri dari dua hal, yaitu :

● Pemodelan selama tahap analisis secara logik (memastikan bahwa setiap operasi mungkin dilakukan di dalam sistem); ● Pemodelan selama tahap perancangan secara fisik (mendefinisikan method di kelas- kelas yang sesuai).

UML menyediakan empat diagram dasar untuk memodelkan dinamika alur informasi di dalam sistem, yaitu sequence diagram, collaborat ion diagram, st at e t ransit ion diagram , dan

3.3.2 Sequence Diagram

Sequence Diagram digunakan di UML untuk menggambarkan deskripsi setiap skenario di dalam Use Case . Sequence Diagram memodelkan obyek-obyek yang mengambil peranan di dalam skenario dan menggambarkan interaksinya. Selama fase analisis, sequence diagram

mencerminkan suatu interkasi. Selama fase perancangan, setiap interaksi dikonversi ke dalam pemanggilan met hod sesuai dengan bahasa pemroraman yang dipilihnya.

Setiap sequence diagram : ● mendeskripsikan use case atau satu skenario di dalam sebuah use case secara diagramatik; ● mengidentifikasi obyek-obyek yang terlibat di setiap proses;

● mengidentifikasi aksi atau peristiwa yang terjadi di setiap proses; ● mengidentifikasi informasi apa saja yang harus dikirim di sekitarnya untuk setiap

proses; ● mengidentifikasi respon-respon apa saja yang diperlukan setelah setiap aksi atau peristiwa.

Syst em analyst harus membuat kurang lebih satu sequence diagram untuk setiap use case. Use case dapat memiliki lebih dari satu alur atau cabang yang muncul ketika keputusan dibuat di dalam aliran informasi. Proses recall setiap jalur berbeda yang ada di use case , yaitu satu jalur tanpa cabang, dinamakan sebagai skenario. Satu sequence diagram umumnya digambarkan untuk setiap skenario di dalam use case.Sequence diagram menggambarkan aliran informasi dalam periode waktu tertentu.

Gambar 1 Struktur Model Gambar Sequence Diagram

Pada Gambar Gambar 1 Act or1 memanggil t ask1 pada object 1 (instan dari (instan Class1 ). Sebagai bagian dari aktifasi ini, Sebagai bagian dari aktifasi ini, object 1 harus memanggil t ask2 pada object 2, object 2, dengan segera obyek ini dihapus setelah setelah met hod t ask2 diselesaikan. Object 1 selanjutnya memanggil selanjutnya t ask3 pada object 3 untuk untuk menyelesaikan transaksi. Object 3 tidak perna pernah ada sebelum dibutuhkan oleh Object 1 Object 1 untuk memanggil t ask3. Garis hidup aktor di atas di atas digambarkan sebagai persegi panjang persegi panjang yang tidak terputus. Penggambaran ini tidaklah ini tidaklah bersifat wajib. Namun, karena aktornya aktornya berupa orang atau sistem eksternal lain, maka maka garis hidupnya tak akan pernah berakhir berakhir pada konteks sistem ini. Hal ini diasumsikan bahwa diasumsikan bahwa aktor ‐aktor tersebut berstatus aktifasi yang berk tersebut berstatus aktifasi yang berkelanjutan.

3.3.3 Activity Diagram

Act ivit y Diagram Diagram menggambarkan keterkaitan obyek dengan dengan alur kerja dan mendeskripsikan pemrosesan secara paralel. Setiap mendeskripsikan pemrosesan secara paralel. Setiap use case memiliki satu memiliki satu Act ivity diagram. Aktifitas juga dapat disebut sebagai sebuah Aktifitas juga dapat disebut sebagai sebuah met hod atau kelompok met hod. met hod.

Simbol dalam act ivit y diagr act ivit y diagram:

Gambar 2 Simbol Gam Act ivit y Diagram

3.3.4 Contoh Kasus Penjelasan Singkat 3.3.4.1 Penjelasan Singkat

Hotel Horison Bandung Bandung membutuhkan paket piranti lunak komputer lunak komputer untuk otomatisasi beberapa pekerjaan yang saat ini dilakukan secara manual oleh s otomatisasi beberapa pekerjaan yang saat ini dilakukan secara manual oleh staf hotel. Hotel terdiri dari kamar hotel hotel yang disewakan ke tamu hotel. Informasi yang relevan untuk ang relevan untuk setiap kamar adalah : • Nomor Kamar • Harga Dasar • Occupancy Maksimum Occupancy Maksimum • Tipe Kamar (single, double, Tipe Kamar (single, double, twin, executive, suite)

Harga kamar adalah adalah harga kamar dasar dengan perubahan harga harga untuk setiap musim, tanggal, atau peristiwa tertentu. Tamu atau peristiwa tertentu. Tamu potensial dapat memesan satu memesan satu atau lebih kamar untuk periode periode tertentu menggunakan telepon. Reservasi ini ini ditangani oleh petugas reservasi. Tamu Tamu potensial meminta tipe ruangan, tanggal kedatangan, tanggal kedatangan, durasi (atau tanggal keberangkatan) keberangkatan). Fasilitas pencarian dibuat untuk mengetahui mengetahui ketersediaan

Jika diterima, reservasi reservasi sementara dibuatkan. Reservasi sementara sementara ini disimpan untuk durasi yang telah yang telah dimasukkan datanya oleh petugas reservasi. reservasi. Reservasi sementara ini dimodifikasi menjadi dimodifikasi menjadi reservasi tetap ketika pembayaran tika pembayaran deposit diterima dan dikonfirmasi. Reservasi tetap ini akan menjadi acuan tentang waktu reservasi awal. dan dikonfirmasi. Reservasi tentang waktu reservasi awal.

Penerima tamu juga juga dapat membuat reservasi untuk tamu potensial yang potensial yang langsung tiba di tempat tanpa reservasi. Pembayaran deposit harus dibuat pada saat reservasi aw di tempat tanpa reservasi. Pembayaran deposit harus dibuat pada saat reservasi aw rvasi. Pembayaran deposit harus dibuat pada saat reservasi awal. Perlu dicatat waktu tamu check tamu check in dan waktu tamu check out. Telepon Telepon ruangan dapat diaktifkan/dinonaktifkan diaktifkan/dinonaktifkan pada saat check in/check out dengan menggunakan menggunakan monitor logging panggilan telepon. logging panggilan telepon.

3.3.4.2 Use Case Diagram Use Case Diagram

Gambar 3. Gambar Use Case Diagram Sistem Hotel

3.3.4.3 Use Case Form

Table 1. Use Case Form Input Reservasi

3.3.4.4 M odel Dinamis Tahap Analisis amis Tahap Analisis

Gambar Gambar 4 Act ivit y Diagram Tahap Analisis Gambar 4 mengambarkan mengambarkan contoh activity diagram pada tahap tahap analisis dengan

mengambil salah satu satu use case yaitu input reservasi. Dalam tahap tahap ini juga harus digambarkan sequence diagram sequence diagram dengan alur sesuai dengan act ivit y diagram act ivit y diagram pada gambar 4.

3.3.4.5 M odel Dinamis Tahap Perancangan

new reservation

:NoReservation :DBAccess

reseptionist submitRoomType submitRoomType

getRoomType() getRoomType()

ExecuteQuery() ExecuteQuery()

setRoomType() setRoomType()

roomType roomType

submitReservation submitReservation

getReservationData() getReservationData()

executequery() executequery()

setPrice() setPrice()

price price

submitcustomerdata submitcustomerdata

getCustomerData() getCustomerData()

executequery() executequery()

setReservationNumber() setReservationNumber()

reservationNumber reservationNumber

Gambar 5 Sequence Diagram Tahap Perancangan

3.3.5 Langkah-langkah Pembuatan Sequence Diagram

1. Buka Pow er Designer 12.

2. Klik File  New.

3. Pilih Object Oriented Model.

4. Pilih “Sequence Diagram”.

5. Pada Palet t e , pilih act or , untuk membuat act or dari sistem yang dibuat. Kemudian klik

2 kali pada icon aktor untuk mengganti nama aktor.

6. Pilih Object pada palet t e , kemudian klik 2 kali pada objek untuk mengganti nama objek.

7. Klik M essage pada palet t e , kemudian klik 2x pada panah M essage, untukmemberi nama objek.

8. Pilih act ivat ion pada palet te.

9. Kemudian pilih ret urn M essage pada palet t e , kemudian klik 2x pada Panah Ret urn M essage untuk mengganti nama dari Ret urn M essage.

10. Ulangi langkah 7,8, dan 9 untuk interaksi selanjutnya.

3.3.6 Langkah-langkah Pembuatan Activity Diagram

1. Buka Pow er Designer 12.

2. Klik File  New.

3. Pilih Object Oriented Model.

4. Pilih “ Activity Diagram”.

5. Pada Palet t e pilih Organizat ion unit Sw imlane , kemudian Klik 2 kali Pada kolom Organizat ion unit , kemudian ubah nama Organizat ion Unit .

6. Pada palet t e , pilih Node St art , letakkan node st art pada organizat ion unit awal alur sistem dimulai.

7. Klik node Act ivit y pada palet t e, letakkan setelah node st art . Klik 2x pada node act ivit y kemudian ganti nama node tersebut.

8. Setelah itu, hubungkan antar act ivit y menggunakan panah “ flow ” .

9. Setelah seluruh aktivitas dibuat dan flow dibuat, akhiri dengan node “ end” .

3.4 Praktikum

Perpustakaan Nastar merupakan perpustakaan milik negara yang berpusat di Bandung. Perpustakaan ini mempunyai jumlah anggota dan juga jumlah buku yang sangat banyak. Untuk menangani data mengenai anggota, administrasi, dan pengelolaan buku, maka diperlukan suatu sistem untuk mengatur jalannya transaksi data mengenai hal-hal tersebut. Perpustakaan Nastar juga mempunyai beberapa officer yang bertugas untuk menginputkan data peminjaman buku, penginputan anggota baru, penginputan data buku. Anggota perpustakaan juga dapat mencari buku yang dicari melalui sistem tanpa harus melakukannya secara manual. Anggota perpustakaan yang ingin meminjam buku harus membawa kartu anggota dan memperlihatkannya kepada officer. Anggota hanya dapat meminjam 3 buku sekali pinjam, dan tidak dapat melakukan peminjaman apabila masih ada buku yang dipinjam namun belum dikembalikan. Jika melewati batas peminjaman, maka anggota akan dikenakan denda. Officer yang melayani peminjaman buku, setelah mendapatkan kartu anggota dari anggota dan akan mengecek status peminjaman dari

Buatlah activity diagram dan sequence diagram di tahap analisis dan perancangan untuk use case “ input buku “ .

4 M EM ODELKAN OBYEK DAN KELAS

SERTA M ODEL DINAM IS BAGIAN II

DI TAHAP PERANCANGAN

4.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, st at e t ransit ion diagram,deployment diagram, dan component diagram di tahap perancangan

3. Praktikan mampu memahami alur kodingan sistem yang akan dibuat dan menggambarkannya dalam bentuk class diagram, st at e t ransit ion diagram dan component diagram .

4.2. Perlengkapan Praktikum

1. Software Power Designer.

2. Modul 4 Praktikum APSI.

4.3. Landasan Teori 4.3.1. Enkapsulasi

Enkapsulasi adalah teknik yang digunakan untuk menyembunyikan atribut atau field yang dimiliki oleh sebuah class.

Cara melakukan enkapsulasi adalah dengan memberikan privat e modifier pada field yang dimiliki oleh class.

Tujuan dari adanya enkapsulasi bukan hanya menyembunyikan field , tapi juga memberikan sebuah metode pengecekan valid atau tidaknya nilai yang akan di- input ke dalam field tersebut. Metode ini disebut “ value validat ion ”.

Pada beberapa orang desainer, semua field pada class biasanya akan diberikan aksesor ( get t er ) dan mutator ( set t er ) namun sebaiknya tidak semua field diberikan aksesor dan mutator (Effective Java, 2008, Item:15) untuk mengurangi atau menghilangkan kemungkinan terjadinya mutasi objek.

4.3.2. Class Diagram

Class diagram adalah diagram yang digunakan untuk membentuk model konseptual sistem aplikasi dan memberikan detail model untuk diterjemahkan ke dalam kode program. Class diagram memiliki 3 blok utama, yaitu : Blok pertama adalah nama kelas. Blok kedua adalah atribut atau field kelas. Blok ketiga adalah met hod atau operasi yang dapat dilakukan kelas.

Beberapa aturan dalam class diagram adalah tentang visibilitas dan dan scope. Visibilitas pada class diagram digambarkan dengan simbol dibawah ini :

""(tanpa simbol)

Default

Scope dapat berarti jangkauan sebuah variabel atau met hod dapat diakses, namun pada class diagram , scope adalah cara mengakses sebuah method atau variabel. Scope dapat dibagi menjadi dua, yaitu

Classifier members/method. Member/method static, yaitu member atau method yang dapat dipanggil tanpa harus melakukan instantiasi class.

Instance members. Member/method non-static, yaitu member atau method yang hanya dapat dipanggil atau digunakan jika telah melakukan instiasi class.

Penulisan classifier member/ met hod pada class diagram adalah dengan memberikan garis bawah ( underline ) pada member atau met hod statis. Jika tidak ada garis bawah pada member atau met hod , maka diasumsikan merupakan inst ance member .

 Nama Class Digunakan untuk membedakan antara satu kelas dan kelas yang lain. Contohnya : Kendaraan, Pegawai

 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

 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

contoh, setName,

untuk menyeting

nilai

atribut, sebagai

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.  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,

Kelas ‐kelas Event Handler

4.3.3. Component Diagram

Component diagram adalah diagram yang digunakan untuk menggambarkan organisasi adalah diagram yang digunak an untuk menggambarkan organisasi dan ketergantungan komponen-komponen ketergantungan komponen soft w are sistem. Component diagram ram berguna untuk memodelkan komponen objek. memodelkan komponen objek. Component diagram memiliki beberapa hubungan antar komponen, seperti memiliki beberapa hubungan ant dependency, depe inherit ance, int erface dan port . port .

Component diagram menggambarkan struktur dan hubungan antar komponen peranti lunak, termasuk ketergantungan (dependency) diantaranya. Komponen peranti lunak adalah modul berisi code, baik berisi 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

<< co m p one nt N am a com pon ent

N am a com ponent

atau

Stereotypes yang dapat digambarkan pada bentuk component

<<application>>,kumpulan aplikasi system <<executable>>,component yang jalan di client <<file>>, data file <<infrastructure>>, technical component didalam system <<source code>>, source file <<table>>, table data dalam sebuah database <<UI>>, User interface (screen, pages, report)

4.3.3.1. Dependency

Contoh adanya dependendy antara konsumen dan pemasok

Menggunakan dependency jika :  Menghubungkan 2 package yang menunjukkan ada ketergantungan antara elemen model dalam package konsumen dengan elemen model pada package pemasok  Menunjukkan hubungan antar kelas yang sifatnya bergantung, bukan asosiasi. Dalam

contoh dependendy konsumen dan pemasok, kelas konsumen menggunakan komponen yang ada pada kelas pemasok, misalnya :

a. Kelas konsumen menggunakan kelas pemasok yang memiliki lingkup global

b. Kelas konsumen menggunakan kelas pemasok sebagai parameter untuk salah satu operasinya

c. Kelas konsumen menggunakan kelas pemasok sebagai variabel lokal untuk salah satu operasinya

4.3.3.2. Inheritance

Dependency inherintance digunakan  Inheriting/child component diletakkan dibawah parent component, dengan arah panah

menuju ke parent component  Dimodelkan dengan garis dengan panah tertutup

4.3.3.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  Required, digambarkan dengan bentuk socket

Penggambaran interfaces dapat juga dilakukan dengan menambah bagian component seperti contoh dibawah ini :

bentuk Lolipop

4.3.3.4. Port

Port adalah bentuk object yang menjelaskan interaksi antara object dan lingkungannya, Digambarkan sebagai kotak kecil di pinggiran component :

Assembly connector  Penghubung antara 2/lebih component dimana sebuah/beberapa component provides interfaces dan component lain required interfaces  Digambarkan dengan gabungan bentuk interfaces

Contoh :

4.3.4. Deployment Diagram

Deployment diagram adalah diagram gambaran fisik arsitektur sebuah infrastruktur sistem. Deployment Diagram menggunakan gambaran kotak 3 dimensi untuk menggambarkan masing- masing platform. Diagram ini akan 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 erkomunikasi. Tanda M ult iplicit y yang sama dengan diagram kelas dapat digunakan untuk menggambarkan jumlah mesin yang di ijinkan berkomunikasi dengan sistem . Contoh : Sebuah nodeadalah server, workstation, atau piranti keras lain yang digunakan untuk men- deploykomponen dalam lingkungan sebenarnya. Hubungan antar node(misalnya TCP/IP) dan requirementdapat juga didefinisikan dalam diagram ini.

4.3.5. State Transition Diagram

St at e t ransit ion diagram menggambarkan cara satu obyek berubah state-nya dalam selang waktu tertentu ketika method-nya dipanggil oleh method obyek lain. Pada st at e t ransit ion diagram ada 2 komponen utama, yaitu st at e dan event .

4.3.5.1. State

Semua obyek memiliki keadaan atau st at e . St at e yang sedang terjadi dari setiap obyek dicatat nilainya dan disimpan atributnya. Atribut yang dimaksud disini sama dengan atribut dan nilai pada class diagram . Jika diberi contoh st at e t ransit ion diagram pada seorang pelari 100 meter , maka st at e -nya adalah bersiap, berlari dan berhenti.

4.3.5.2. Event

Event adalah pemicu berpindahnya st at e satu ke st at e lainnya. Jika kembali pada contoh pelari seperti pada st at e , contoh event adalah juri yang memulai pertandingan yang menyebabkan st at e pelari berubah dari bersiap menjadi berlari. Event lain adalah pelari menyentuh garis finish yang menyebabkan pelari berubah st at e dari berlari menjadi berhenti.

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 berikut ini menggambarkan contoh state transition diagram sebuah printer.

Contoh State Diagram

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.

4.4. Contoh Kasus 4.4.1. Permasalahan

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.

4.4.2. Langkah Pengerjaan

Pada soal, kita diminta untuk membuat sebuah solusi web. Asumsikan kita menggunakan pattern MVC (Model, View, Controller).

4.4.2.1. Pembuatan Class Diagram 4.4.2.1.1. PerancanganClass Diagram

Kita mulai dari pengidentifikasian model. Dari hasil analisis soal, kita mendapati beberapa kemungkinan object/class, seperti institusi pendidikan, lokasi geladi dan mahasiswa. Dari kemungkinan class tersebut, institusi pendidikan tidak berinteraksi langsung dengan sistem

Pada tahap ini, analisis model selesai dan kita akan melanjutkan pada cont roller . Cont roller adalah sebuah susunan logic yang berfungsi untuk mengatur request dari client sehingga menjadi sebuah view setelah melalui bussiness logic. Dari soal, kita dapat menarik kesimpulan bahwa dibutuhkan 3 fungsi utama, yaitu : - Menampilkan daftar lokasi geladi - Menyimpan data lokasi pilihan mahasiswa - Melakukan edit username dan passw ord mahasiswa Karena itu, pada cont roller akan ada met hod yang mendukung fungsionalitas tersebut. Pada contoh class diagram disini, met hod yang tertera diatas akan ditulis sebagai getLokasiGeladi, postLokasiMahasiswa dan postDataMahasiswa. Setelah cont roller selesai, view akan didesain sesuai dengan keinginan pembuat, Pada class diagram dapat ditampilkan hanya sebagai halaman html atau jsp.

4.4.2.1.2. M endesain Class Diagram pada Pow er Designer

1. Pada pow er designer , pilih file -> new , lalu pilih Object -Orient ed M odel seperti gambar dibawah ini.

2. Setelah itu, karena kita akan menggunakan pola MVC, maka kita mulai dari membuat packagemodel , view dan cont roller . Pilih opsi package pada pallet e seperti contoh dibawah.

3. Buatlah 3 package , nana package dapat diubah dengan melakukan klik kanan pada package dan memilih propert ies atau dapat juga dengan melakukan klik dua kali pada package atau dengan melakukan sekali klik lalu menekan F2.

4. Berikutnya klik kanan pada package model , pilih open diagram dan buat class diagram untuk model . Pada palet t e pilih opsi class , lalu klik pada w orkspace sehingga terbentuk class diagram . Edit nama class, field dan method sesuai dengan hasil analisis.

5. Kembali ke diagram awal, lalu masuk ke packagecont roller untuk membuat servlet . Cara masuk ke packagecont roller sama seperti saat masuk ke package model . Setelah masuk ke package cont roller , pilih t ools -> creat e servlet untuk membuat servlet .

6. Isilah servlet dengan method yang ditemukan pada fase analisis (getLokasiGeladi, postDataMahasiswa dan postLokasiMahasiswa).

7. Isilah package view dengan halaman HTML atau JSP yang diinginkan. Hasil akhir dari semua diagram akan terlihat seperti gambar dibawah.