UML Unified Modelling Language

Shafira Guslina : Perancangan Perangkat Lunak Prediksi Pergerakan Harga Saham Dengan Metode Relative Strength Index RSI, 2009. +Makan +Berpindah_alamat -Nama -Usia Manusia +Geserin Delta : bool +Pilihin Point : object : bool -Warna -Posisi -Jari-jari Lingkaran Gambar 2.3 Operasi

2.4.3 Hubungan Relationship

Ketika menggambarkan kelas-kelas dan objek-objek, akan terlihat bahwa kebanyakan kelas dan objek adalah berdiri sendiri. Pada kenyataannya, hampir semua kelas dan objek saling bekerja sama satu sama lain sehingga pada pemodelan kelas dan objek, setelah kelas dan objek didefinisikan, juga dimodelkan bagaimana kelas-kelas dan objek-objek saling berhubungan.

2.5 UML Unified Modelling Language

UML adalah keluarga notasi grafis yang didukung oleh meta-model tunggal, yang membantu pendeskripsian dan desain sistem perangkat lunak, khususnya sistem yang dibangun menggunakan pemrograman berorientasi objek Fowler, 2005: 1. UML merupakan standar yang relatif terbuka yang dikontrol oleh Object Management Group OMG, yang terdiri dari banyak perusahaan. UML lahir dari penggabungan banyak bahasa pemodelan grafis berorientasi objek antara lain metode Booch oleh Graddy Booch, metode Object Modelling Technique OMT oleh DR. James Rumbaugh dan metode Object Oriented Software Engineering OOSE oleh Ivar Jacobson. Dengan UML, dapat dibuat model untuk perangkat lunak, dimana perangkat lunak tersebut dapat berjalan pada perangkat keras, sistem operasi dan jaringa n apapun, serta ditulis dalam bahasa pemrograman apapun. Namun, karena UML juga menggunakan kelas dan operasi dalam konsep dasarnya, maka UML lebih cocok Shafira Guslina : Perancangan Perangkat Lunak Prediksi Pergerakan Harga Saham Dengan Metode Relative Strength Index RSI, 2009. untuk pemodelan perangkat lunak dalam bahasa berorientasi objek seperti C++, Java, C atau VB.NET.

2.5.1 Analisis Persyaratan dengan UML

Analisis persyaratan meliputi usaha untuk mengetahui apa kemampuan sebuah sistem yang diinginkan pengguna dan pelanggan dari sebuah pengembangan perangkat lunak. Beberapa diagram yang digunakan dalam analisis persyaratan yaitu: 1. Use case diagram yang digunakan untuk menggambarkan bagaimana orang-orang berinteraksi dengan sistem tersebut. 2. Activity diagram yang berfungsi menunjukkan aliran kerja organisasi tersebut yang dapat menunjukkan bagaimana aktivitas interaksi antara perangkat lunak dan manusia. Activity diagram dapat menunjukkan konteks use case dan juga rincian bagaimana sebuah use case berjalan. 3. Class diagram yang diambil dari sudut pandang konseptual, dapat berfungsi untuk membangun kosakata yang besar mengenai domain tersebut. 4. Package diagram untuk mengelompokkan kelas-kelas.

2.5.2 Desain dengan UML

Beberapa diagram yang digunakan dalam mendesain sistem yaitu: 1. Use case diagram yang digunakan untuk menggambarkan bagaimana orang-orang berinteraksi dengan sistem tersebut. 2. Sequence diagram untuk mengetahui apa yang terjadi dalam perangkat lunak. 3. Class diagram dari sudut perangkat lunak. Diagram ini menunjukkan kelas yang terdapat di dalam perangkat lunak dan bagaimana mereka saling berhubungan. 4. Package diagram untuk menunjukkan organisasi berskala besar perangkat lunak tersebut. 5. Penggunaan deployment diagram untuk menunjukkan susunan fisik perangkat lunak tersebut. Shafira Guslina : Perancangan Perangkat Lunak Prediksi Pergerakan Harga Saham Dengan Metode Relative Strength Index RSI, 2009.

2.5.3 Teknik Analisis dan Desain Sistem dengan UML

Teknik yang digunakan dalam pemodelan analisis dan desain sistem menggunakan UML di antaranya: 1. Pengidentifikasian fungsionalitas sistem dengan penggunaan use case diagram. 2. Pengidentifikasian skenario sistem berdasarkan use case diagram dengan penggunaan activity diagram. 3. Pengidentifikasian kelas-kelas yang terdapat dalam sistem dengan penggunaan class diagram. 4. Pengidentifikasian hubungan inheritance antara kelas. 5. Pengidentifikasian atribut-atribut yang dimiliki setiap kelas. 6. Pengelompokan kelas-kelas dalam package-package tertentu dengan penggunaan package diagram. 7. Pada setiap use case, dilakukan pengidentifikasian operasi-operasi yang dimiliki setiap kelas yang terlibat dalam use case tersebut. 8. Pengidentifikasian objek-objek, serta penggunaan sequence diagram untuk mendeskripsikan aliran komunikasi antara objek-objek pada setiap use case. 9. Desain antarmuka sistem dan spesifikasi detail dari bagian-bagian antarmuka yang berhubungan dengan fungsi sistem. 10. Pengidentifikasian arsitektur fisik sistem dan kebutuhan sistem dengan penggunaan deployment diagram. Teknik yang digunakan tidak terbatas pada teori yang diperoleh, namun berdasarkan kebutuhan pada saat analisis dan desain sistem. Dalam pembangunan suatu sistem, jenis diagram yang digunakan disesuaikan dengan kebutuhannya.

2.5.4 Diagram-Diagram dalam UML

Shafira Guslina : Perancangan Perangkat Lunak Prediksi Pergerakan Harga Saham Dengan Metode Relative Strength Index RSI, 2009. Dalam UML, dikenal diagram-diagram yang digunakan untuk membantu dalam analisis dan desain sistem. Dalam Tugas Akhir ini, ada beberapa diagram yang digunakan, yaitu use case diagram, activity diagram, class diagram, sequence diagram, package diagram, dan deployment diagram.

2.5.4.1 Use Case Diagram

Use case diagram mendeskripsikan interaksi tipikal antara para pengguna sistem dengan sistem itu sendiri, dengan memberi sebuah narasi tentang bagaimana sistem tersebut digunakan Fowler, 2005: 50. Use case diagram menampilkan aktor, use case, dan hubungan diantara mereka yang dijabarkan sebagai berikut: 1. Aktor Aktor adalah seseorang atau sesuatu yang berinteraksi dengan sistem yang sedang dikembangkan. Aktor bersifat eksternal, yaitu berada di luar lingkup sistem yang sedang dikembangkan Nugroho, 2005: 56. Pengguna sistem merupakan aktor yang umum di setiap sistem. Aktor disimbolkan dengan: Gambar 2.4 Aktor Setiap use case diagram memiliki aktor utama yang meminta sistem untuk memberi sebuah layanan. Aktor utama adalah aktor dengan tujuan yang akan dipenuhi oleh use case diagram. Aktor selain aktor utama dikenal sebagai aktor sekunder. 2. Use Case Use case menggambarkan bagaimana seseorang akan mengunakan atau memanfaatkan sistem. Use case dapat membantu untuk berfokus pada apa yang penting, yaitu menentukan apa yang dibutuhkan serta harapan pengguna terhadap Aktor Shafira Guslina : Perancangan Perangkat Lunak Prediksi Pergerakan Harga Saham Dengan Metode Relative Strength Index RSI, 2009. sistem yang dikembangkan. Pengidentifikasian use case dapat dilakukan dengan melakukan identifikasi pekerjaan-pekerjaan dan fungsi-fungsi apa yang dilakukan aktor untuk sistem. Use case disimbolkan dengan: Us e cas e Gambar 2.5 Use Case 3. Hubungan relationship Aktor dan use case masing-masing tidak berdiri sendiri, melainkan saling terhubung dengan apa yang dinamakan hubungan. Ada beberapa hubungan yang dikenal dalam use case diagram, yaitu: a. Hubungan asosiasi association relationship Hubungan asosiasi merupakan hubungan yang biasa terjadi antara aktor dan use case yang menggambarkan bahwa aktor melakukan apa yang dinyatakan dalam use case. Hubungan disimbolkan dengan: Aktor Use case Gambar 2.6 Hubungan Asosiasi b. Hubungan cakupan include relationship Hubungan cakupan memungkinkan suatu use case untuk menggunakan fungsionalitas yang disediakan oleh use case lainnya. Hubungan ini dapat membantu dalam beberapa kasus seperti pada kasus dimana dua atau lebih use case memiliki sejumlah besar fungsi yang identik, maka fungsi-fungsi yang sama dapat dipisahkan menjadi suatu use case tersendiri, sehingga use case lain dapat memiliki hubungan cakupan dengan use case yang baru. Hubungan cakupan disimbolkan dengan: Shafira Guslina : Perancangan Perangkat Lunak Prediksi Pergerakan Harga Saham Dengan Metode Relative Strength Index RSI, 2009. NewUseCase1 NewUseCase2 incl ude Gambar 2.7 Hubungan Cakupan c. Hubungan perluasan extends relationship Hubungan perluasan memungkinkan suatu use case memiliki kemungkinan untuk memperluas fungsionalitas yang disediakan use case lainnya. Hubungan perluasan disimbolkan dengan: NewUseCase1 NewUseCase2 extend Gambar 2.8 Hubungan Perluasan d. Hubungan generalisasi generalization relationship Hubungan generalisasi digunakan untuk memperlihatkan bahwa beberapa aktor atau use case memiliki sesuatu hal yang bersifat umum. Generalisasi berguna untuk mengelompokkan sifat-sifat yang umum dari sejumlah aktor atau use case menjadi aktor atau use case tunggal, kemudian bisa mewariskan sifat-sifat umum tadi ke sejumlah aktor atau use case yang lain. Hubungan generalisasi disimbolkan dengan: Gambar 2.9 Hubungan generalisasi Shafira Guslina : Perancangan Perangkat Lunak Prediksi Pergerakan Harga Saham Dengan Metode Relative Strength Index RSI, 2009.

2.5.4.2 Activity Diagram

Activity diagram secara sepintas mirip dengan diagram alir flowchart yang memperlihatkan aliran kendali dari suatu activity ke activity lainnya. Activity diagram juga dapat digunakan untuk memodelkan langkah-langkah dalam sebuah use case. Dalam membangun activity diagram dikenal beberapa komponen, yaitu: 1. Awal dan akhir activity Simbol yang digunakan untuk awal activity yaitu: Gambar 2.10 Simbol Awal Activity Mirip dengan simbol awal activity, simbol yang digunakan untuk menandakan akhir dari activity diagram yaitu: Gambar 2.11 Simbol Akhir Activity 2. Action state dan Activity state Action state merupakan langkah-langkah dalam activity diagram, dimana state mencerminkan eksekusi dari suatu aksi pada objek. Misalnya pemanggilan operasi pada sebuah objek, menciptakan objek, atau menghancurkan objek. Pekerjaan suatu action state secara umum dipertimbangkan mengambil waktu eksekusi yang tidak signifikan. Action state pada umumnya bersifat atomik, pekerjaannya tidak dapat didekomposisi lebih lanjut. Action state pada activity diagram disimbolkan dengan: X = X + 1 Gambar 2.12 Action State Mulai Selesai Shafira Guslina : Perancangan Perangkat Lunak Prediksi Pergerakan Harga Saham Dengan Metode Relative Strength Index RSI, 2009. Activity state dapat didekomposisi lebih lanjut, activity state dapat ditampilkan dengan activity diagram yang lain. Activity state tidak bersifat atomik, yang secara umum berarti membutuhkan beberapa waktu untuk terselesaikan dengan tuntas. Activity state pada activity diagram disimbolkan dengan: Shafira Guslina : Perancangan Perangkat Lunak Prediksi Pergerakan Harga Saham Dengan Metode Relative Strength Index RSI, 2009. Shafira Guslina : Perancangan Perangkat Lunak Prediksi Pergerakan Harga Saham Dengan Metode Relative Strength Index RSI, 2009.

2.5.4.3 Class Diagram

Class diagram mendeskripsikan jenis-jenis objek dalam sistem dan berbagai macam hubungan yang terdapat diantara mereka. Class diagram juga menunjukkan properti dan operasi sebuah kelas dan batasan-batasan yang terdapat dalam hubungan- hubungan objek tersebut. Atribut mewakili fitur-fitur struktural dari suatu kelas. Ada beberapa elemen yang diperlukan dalam membangun sebuah class diagram, yaitu: 1. Kelas, Atribut, dan Operasi Kelas merupakan pendeskripsian sekumpulan objek-objek yang memiliki, atribut, operasi, hubungan, serta behavior yang mirip. Atribut merupakan informasi- informasi atau ciri-ciri yang dimiliki oleh kelas, sedangkan operasi berhubungan dengan perilaku yang berhubungan dengan suatu kelas. Operasi merupakan suatu kegiatan yang dimengerti sebuah kelas untuk dilakukan Fowler, 2005: 67. Gambar 2.17 Kelas, Atribut, dan Operasi 2. Hubungan Hubungan memiliki beberapa bentuk, yaitu: a. Hubungan Asosiasi Asosiasi merupakan hubungan antara dua atau lebih kelas yang menspesifikasikan hubungan antara bagian-bagian mereka. Hubungan antara dua buah kelas mengindikasikan bahwa objek pada kelas yang satu “mengenali” objek pada kelas yang lain dan dapat mengirimkan pesan kepada objek tersebut. Asosiasi memiliki multiplisitas yang memberi petunjuk tentang banyaknya instansi dari suatu kelas berhubungan dengan satu instansi kelas Shafira Guslina : Perancangan Perangkat Lunak Prediksi Pergerakan Harga Saham Dengan Metode Relative Strength Index RSI, 2009. yang lain pada satu waktu tertentu. Dalam UML, notasi-notasi multiplisitas yang dapat digunakan yaitu: Tabel 2.1 Multiplisitas Multiplisitas Arti Satu 1 Nol atau banyak tak terbatas 0.. Satu atau banyak 1.. Nol atau satu asosiasi pilihan 0..1 Jangkauan tertentu 2..4 Multiple, jangkauan disjoint 2, 4..6, 8 Asosiasi biasanya diberi nama untuk menggambarkan artinya. Asosiasi juga memiliki role, yaitu ujung dari suatu asosiasi yang terhubung ke kelas. Gambar 2.18 Hubungan Asosiasi b. Hubungan Agregasi dan Komposisi Agregasi merupakan bentuk hubungan antara suatu keseluruhan ke bagian- bagiannya. Shafira Guslina : Perancangan Perangkat Lunak Prediksi Pergerakan Harga Saham Dengan Metode Relative Strength Index RSI, 2009. Gambar 2.19 Hubungan Agregasi Komposisi adalah bentuk yang lebih kuat dari agregasi. Bagiannya merupakan milik satu-satunya dari keseluruhan. Gambar 2.20 Hubungan Komposisi c. Hubungan Generalisasi Generalisasi diperlukan untuk memperlihatkan hubungan pewarisan inheritance antarunsur dalam class diagram. Pewarisan memungkinkan suatu kelas mewarisi semua atau sebagian atribut, operasi, hubungan, serta semantik dari kelas yang berada di atasnya dalam hierarki pewarisan. Gambar 2.21 Hubungan Generalisasi d. Hubungan Dependency Dependency menghubungkan dua kelas atau lebih dimana jika terdapat perubahan pada kelas yang satu, maka akan memaksa terjadinya perubahan pada kelas yang lainnya walaupun tidak terdapat asosiasi yang jelas diantara mereka. Shafira Guslina : Perancangan Perangkat Lunak Prediksi Pergerakan Harga Saham Dengan Metode Relative Strength Index RSI, 2009. e. Hubungan Realisasi Hubungan realisasi digunakan untuk memperlihatkan hubungan antara suatu kelas dengan interface-nya, antara package dengan interface-nya, antara komponen dengan interface-nya, atau antara use case dengan realisasi use case yang bersangkutan. Gambar 2.22 Hubungan Realisasi 3. Constraint dan Notes Constraint dan notes memberikan keterangan pada bagian-bagian seperti asosiasi, atribut, operasi, dan kelas. Constraint merupakan batasan semantik yang ditandai dengan ekspresi boolean. Gambar 2.23 Constraint dan Notes 4. Stereotype Kelas mempunyai stereotype, yang menyediakan kemampuan untuk membuat elemen pemodelan yang baru. Beberapa stereotype yang umum untuk suatu kelas adalah: entiti, boundary, dan control. Kelas entiti merefleksikan entiti dunia nyata. Kelas entiti biasanya independent dari sekitarnya, dan tidak tahu bagaimana cara sekitarnya berkomunikasi dengan sistem. Aplikasinya independent, artinya bisa digunakan untuk lebih dari satu aplikasi. Kelas entiti disebut dengan kelas domain karena berhubungan dengan abstraksi entiti dunia nyata. Kelas boundary menangani komunikasi antara lingkungan sistem dan yang ada di dalam sistem, menyediakan Shafira Guslina : Perancangan Perangkat Lunak Prediksi Pergerakan Harga Saham Dengan Metode Relative Strength Index RSI, 2009. interface bagi user atau sistem lain misalnya interface ke aktor. Kelas control memodelkan urutan behavior spesifik terhadap satu atau lebih use case. Kelas control mengkoordinasi event yang diperlukan untuk merealisasikan behavior spesifik dalam use case. Kelas control biasanya merupakan kelas yang tergantung pada aplikasi. Kelas control bertanggung jawab terhadap arus event dalam use case.

2.5.4.4 Sequence Diagram

Sequence diagram digunakan untuk melihat behavior beberapa objek di dalam use case tunggal. Sequence diagram baik untuk memperlihatkan kolaborasi antarobjek. Masing-masing sequence diagram menggambarkan aliran-aliran pada suatu use case. Sequence diagram dapat dibaca dengan melihat kepada objek-objek dan pesan-pesan message. Objek-objek yang berperan dalam aliran diperlihatkan pada kotak empat persegi panjang yang melintas pada bagian atas diagram. Setiap objek memiliki garis hidup lifeline, yang digambarkan sebagai garis vertikal di bawah nama suatu objek. Garis hidup dimulai pada saat objek terbentuk. Pesan-pesan digambarkan di antara garis hidup yang dimiliki dua objek untuk memperlihatkan bagaimana objek-objek itu saling berkomunikasi. : Aktor objek1:Class1 objek2:Class2 Gambar 2.24 Sequence Diagram Shafira Guslina : Perancangan Perangkat Lunak Prediksi Pergerakan Harga Saham Dengan Metode Relative Strength Index RSI, 2009.

2.5.4.5 Package Diagram

Kelas menunjukkan bentuk dasar penyusunan sebuah sistem borerientasi objek. Meskipun kelas berguna, dibutuhkan sesuatu yang lebih untuk menyusun sistem- sistem yang lebih besar. Sebuah package adalah sebuah bentuk pengelompokan yang memungkinkan untuk mengambil setiap bentuk di UML dan mengelompokkan elemen-elemennya dalam tingkatan unit yang lebih tinggi. Kegunaan package yang umum adalah mengelompokkan kelas. Sebuah package dapat terdiri dari sub package dan kelas. Setiap kelas harus memiliki nama unik di dalam packagenya. Dalam diagram, package disimbolkan dengan sebuah folder berlabel: NewPackage Gambar 2.25 Package Diagram

2.5.4.6 Deployment Diagram

Deployment diagram menunjukkan susunan fisik sebuah sistem, menunjukkan bagian perangkat lunak mana yang berjalan pada perangkat keras yang mana. Deployment diagram menggambarkan simpul node yang saling berhubungan. Simpul adalah elemen fisik yang ada saat aplikasi dijalankan dan mencerminkan suatu sumber daya komputasi, secara umum menggunakan kapasitas memori dan kemampuan pemrosesan. Diagram dengan simpul umum digunakan pada pemodelan client server dimana komponen-komponen suatu aplikasi disebarkan pada tiap-tiap server dengan tujuan mencapai kinerja yang optimum. Simpul disimbolkan dengan kubus. Hubungan antarsimpul dilambangkan dengan garis lurus. Shafira Guslina : Perancangan Perangkat Lunak Prediksi Pergerakan Harga Saham Dengan Metode Relative Strength Index RSI, 2009. Processor Device Gambar 2.26 Simpul-Simpul pada Deployment Diagram Processor Device Gambar 2.27 Hubungan Antarsimpul pada Deployment Diagram Shafira Guslina : Perancangan Perangkat Lunak Prediksi Pergerakan Harga Saham Dengan Metode Relative Strength Index RSI, 2009. BAB 3 ANALISIS DAN PERANCANGAN

3.1 Analisis