Unified Modelling Language UML

pasangan dengan anggota entitas pertama. Contoh : Siswa hanya memilih satu kelas saja, namun satu kelas dapat dipilih oleh banyak siswa. Gambar 2.8 Contoh Relasi Satu-Banyak c. Relasi Banyak-Banyak many to many – m:m Disebut relasi banyak-banyak apabila semua anggota entitas pertama dapat memiliki satu atau lebih pasangan pada entitas kedua, dan semua anggota entitas kedua dapat memiliki satu atau banyak pasangan pada entitas pertama. Contoh : guru banyak mengajar mata pelajaran, dan mata pelajaran banyak diajar oleh guru. Gambar 2.9 Contoh Relasi Banyak-Banyak

2.4 Unified Modelling Language UML

2.4.1 Definisi

UML Unified Modeling Language adalah sebuah bahasa untuk menetukan, visualisasi, kontruksi, dan mendokumentasikan artifact bagian dari informasi yang digunakan atau dihasilkan dalam suatu proses pembuatan perangkat lunak. Artifact dapat berupa model, deskripsi atau perangkat lunak dari system perangkat lunak, seperti pada pemodelan bisnis dan system non perangkat lunak lainnya. UML mendefinisikan notasi dan syntaxsemantik. Notasi UML merupakan sekumpulan bentuk khusus untuk menggambarkan berbagai diagram piranti lunak. Setiap bentuk memiliki makna tertentu, dan UML syntax mendefinisikan bagaimana bentuk-bentuk tersebut dapat dikombinasikan. Notasi UML terutama diturunkan dari 3 notasi yang telah ada sebelumnya: Grady Booch OOD Object-Oriented Design, Jim Rumbaugh OMT Object Modeling Technique, dan Ivar Jacobson OOSE Object-Oriented Software Engineering. Dharmayanti, 2003:2 Menurut Dharmayanti 2003:2, diagram-diagram yang terdapat di dalam pemodelan UML adalah sebagai berikut : 1. Use case Diagram Use case adalah abstraksi dari interaksi antara system dan actor. Use case bekerja dengan cara mendeskripsikan tipe interaksi antara user sebuah system dengan sistemnya sendiri melalui sebuah cerita bagaimana sebuah system dipakai. Use case merupakan konstruksi untuk mendeskripsikan bagaimana system akan terlihat di mata user. Sedangkan Use case diagram memfasilitasi komunikasi diantara analis dan pengguna serta antara analis dan Client. 2. Class Diagram Class adalah dekripsi kelompok obyek-obyek dengan property, perilaku operasi dan relasi yang sama. Sehingga dengan adanya Class diagram dapat memberikan pandangan global atas sebuah system . Hal tersebut tercermin dari class- class yang ada dan relasinya satu dengan yang lainnya. Sebuah sistem biasanya mempunyai beberapa class diagram . Class diagram sangat membantu dalam visualisasi struktur kelas dari suatu system. Class diagram memiliki tiga area pokok : a. Nama dan stereotype b. Atribut c. Metoda 3. Statechart Diagram Statechart diagram menggambarkan semua state kondisi yang dimiliki oleh suatu object dari suatu class dan keadaan yang menyebabkan state berubah. Kejadian dapat berupa object lain yang mengirim pesan. State class tidak digambarkan untuk semua class, hanya yang mempunyai sejumlah state yang terdefinisi dengan baik dan kondisi class berubah oleh state yang berbeda. 4. Activity Diagram Activity diagram menggambarkan rangkaian aliran dari aktivitas, digunakan untuk mendeskripsikan aktifitas yang dibentuk dalam suatu operasi sehingga dapat juga digunakan untuk aktifitas lainnya seperti Use case atau interaksi. 5. Sequence Diagram Sequence diagram menggambarkan interaksi antar objek di dalam dan di sekitar sistem termasuk pengguna, display, dan sebagainya berupa message yang digambarkan terhadap waktu. Sequence diagram terdiri atar dimensi vertikal waktu dan dimensi horizontal objek-objek yang terkait. Sequence diagram biasa digunakan untuk menggambarkan skenario atau rangkaian langkah-langkah yang dilakukan sebagai respons dari sebuah event untuk menghasilkan output tertentu. Diawali dari apa yang menjadi trigger aktivitas tersebut, proses dan perubahan apa saja yang terjadi secara internal dan output apa yang dihasilkan. 6. Collaboration Diagram Collaboration diagram menggambarkan kolaborasi dinamis seperti sequence diagrams tetapi lebih menekankan pada peran masing-masing objek dan bukan pada waktu penyampaian message. 7. Component Diagram Component diagram menggambarkan struktur dan hubungan antar komponen piranti lunak, termasuk ketergantungan dependency di antaranya. Komponen piranti lunak adalah modul berisi code, baik berisi source code maupun binary code, baik library maupun execu tabel, baik yang muncul pada compile time, link time, maupun run time . Umumnya komponen terbentuk dari beberapa class danatau package, tapi dapat juga dari komponen-komponen yang lebih kecil. 8. Deployment Diagram Deploymentphysical diagram menggambarkan detail bagaimana komponen di-deploy dalam infrastruktur sistem, di mana komponen akan terletak pada mesin, Server atau piranti keras apa, bagaimana kemampuan jaringan pada lokasi tersebut, spesifikasi Server, dan hal-hal lain yang bersifat fisik. Sebuah node adalah Server, workstation , atau piranti keras lain yang digunakan untuk men- deploy komponen dalam lingkungan sebenarnya. Hubungan antar node misalnya TCPIP dan requirement dapat juga didefinisikan dalam diagram ini. Pada penelitian ini, penulis menggunakan perangkat lunak IBM Rational Rose Enterprise Edition versi 7.0 dalam merancang aplikasiIBM Rational Rose adalah perangkat lunak untuk merancang aplikasi dengan menggunakan tools UML. Tabel 2.1. Notasi UML Sumber: Jim Rumbaugh, 2005 No Notasi Keterangan 1 Class Diagram, digunakan untuk mengambarkan kelas-kelas program. Terdiri atas nama kelas, atribute yaitu properties yang dimiliki oleh kelas, dan operation yaitu aktifitas yang dapat dilakukan oleh kelas tersebut 2 Relationship merupakan hubungan antar class . Dapat berupa one to one, one to many , maupun many to one 3 Aktor merupakan pelaku-pelaku yang terlibat di dalam sistem. 4 Use case merupakan penjelasan kegiatan- kegiatan yang ada di dalam sistem 5 Initial node digunakan sebagai notasi awal dari proses yang dijalankan. 6 Action merupakan notasi yang menggambarkan aksi yang terjadi di dalam suatu proses 7 Activity Final Node merupakan notasi yang melambangkan akhir dari sebuah proses 8 Activity merupakan aktifitas yang ada di dalam sistem. Biasa digunakan pada proses yang melibatkan proses lainnya. 9 Activity dengan parameter biasa digunakan pada proses yang melibatkan proses lainnya serta mengambil parameter dari proses tersebut. 10 Lifeline merupakan state dari sebuah proses yang ada di dalam sistem. Nantinya, setiap bagian dari proses akan berhenti pada lifeline yang sesuai.

2.5 Socket Programming Internet Direct Indy