Anda di halaman 1dari 17

KATA PENGANTAR

Puji syukur penulis panjatkan kehadirat Allah SWT yang telah


melimpahkan rahmat, taufiq, dan hidayah-Nya sehingga penulis dapat
menyelesaikan makalah yang berjudul Unified Modeling Language ini dengan
baik dan tepat waktu. Makalah ini disusun sebagai salah satu syarat untuk
melengkapi nilai pada mata kuliah Analisa dan Perancangan Sistem Informasi.
Penulis menyadari bahwa makalah ini masih jauh dari sempurna, untuk itu saran
dan kritik yang membangun penulis butuhkan demi kesempurnaan makalah yang
akan datang. Penulis berharap semoga makalah ini dapat bermanfaat bagi penulis
khususnya dan pembaca pada umumnya.

Kendal, 04 April 2017

( Yuhantoro S.N)

1
DAFTAR ISI

Kata Pengantar ........................................................................................ i

Daftar Isi ................................................................................................. ii

BAB I PENDAHULUAN

1.1 Latar Belakang .................................................................. 1

1.2 Tujuan................................................................................ 1

1.3 Rumusan Masalah............................................................. 1

BAB II PEMBAHASAN

2.1 Pengertian ....................................................................... 3


2.2 Tujuan atau Fungsi dari Penggunaan UML................. 4
2.3 Diagram UML................................................................. 4

2.3.a Use Case Diagram................................................ 4

2.3.b Sequence diagram................................................. 6

2.3.c Activity Diagram.................................................. 7

2.3.d Class Diagram....................................................... 8

2.3.e Component Diagram............................................ 10

2.3.f Deployment Diagram........................................... 11

2.3.g Class Diagram....................................................... 12

BAB III PENUTUP

3.1 Kesimpulan ....................................................................... 14

3.2 Saran ................................................................................. 14

DAFTAR PUSTAKA

2
BAB I
PENDAHULUAN

1.1 Latar Belakang


Saat ini piranti lunak semakin luas dan besar lingkupnya, sehingga tidak bisa lagi dibuat asal-
asalan. Piranti lunak saat ini seharusnya dirancang dengan memperhatikan hal-hal seperti
scalability, security, dan eksekusi walaupun dalam kondisi yang sulit. Selain itu arsitekturnya
harus didefinisikan dengan jelas, agar bug mudah ditemukan dan diperbaiki, bahkan oleh orang
lain selain programmer aslinya. Keuntungan lain dari perencanaan arsitektur yang matang adalah
dimungkinkannya penggunaan kembali modul atau komponen untuk aplikasi piranti lunak lain
yang membutuhkan fungsionalitas yang sama.
Pemodelan (modeling) adalah proses merancang piranti lunak sebelum melakukan
pengkodean (coding). Model piranti lunak dapat dianalogikan seperti pembuatan blueprint pada
pembangunan gedung. Membuat model dari sebuah sistem yang kompleks sangatlah penting
karena kita tidak dapat memahami sistem semacam itu secara menyeluruh. Semakin komplek
sebuah sistem, semakin penting pula penggunaan teknik pemodelan yang baik.
Dengan menggunakan model, diharapkan pengembangan piranti lunak dapat memenuhi
semua kebutuhan pengguna dengan lengkap dan tepat, termasuk faktor-faktor seperti scalability,
robustness, security, dan sebagainya. Untuk itulah penulis membuat makalah ini agar pembaca
dapat memahami lebih dalam tentang sistem UML (Unified Modeling Language) khususnya
dalam hal pemrograman.

1.2 Tujuan

Tujuan penulis melakukan penelitian adalah agar pembaca dapat memahami pengertian
UML (Unified Modeling Language)

1.3 Rumusan Masalah

1) Apakah yang dimaksud UML?


2) Apa saja diagram UML?
3) Apa saja hubungan UML?
4) Apa saja langkah-langkah penggunaan UML?

1
5) Apa saja tools yang mendukung UML?

2
BAB II

PEMBAHASAN MASALAH

2.1 Pengertian

Unified Modeling Language (UML) adalah himpunan struktur dan teknik untuk
pemodelan desain program berorientasi objek (OOP) serta aplikasinya. UML adalah metodologi
untuk mengembangkan sistem OOP dan sekelompok perangkat tool untuk mendukung
pengembangan sistem tersebut. UML mulai diperkenalkan oleh Object Management Group,
sebuah organisasi yang telah mengembangkan model, teknologi, dan standar OOP sejak tahun
1980-an. Sekarang UML sudah mulai banyak digunakan oleh para praktisi OOP.[1] UML
merupakan dasar bagi perangkat (tool) desain berorientasi objek dari IBM.[1]

UML adalah suatu bahasa yang digunakan untuk menentukan, memvisualisasikan,


membangun, dan mendokumentasikan suatu sistem informasi.[2] UML dikembangkan sebagai
suatu alat untuk analisis dan desain berorientasi objek oleh Grady Booch, Jim Rumbaugh, dan
Ivar Jacobson.[2] Namun demikian UML dapat digunakan untuk memahami dan
mendokumentasikan setiap sistem informasi.[2] Penggunaan UML dalam industri terus
meningkat.[2] Ini merupakan standar terbuka yang menjadikannya sebagai bahasa pemodelan
yang umum dalam industri peranti lunak dan pengembangan sistem.[2]

Unified Modeling 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 (OO). Definisi
ini merupakan definisi yang sederhana. Pada kenyataannya, pendapat orang orang tentang
UML berbeda satu sama lain. Hal ini dikarenakan oleh sejarahnya sendiri dan oleh perbedaan
persepsi tentang apa yang membuat sebuah proses rancang bangun perangkat lunak efektif.
Fowler (2004,p1).

Unified Modeling Language (UML) merupakan strandar yang relatif terbuka yang
dikontrol oleh Object Management Group (OMG), sebuah konsorsium terbuka yang terdiri dari
banyak perusahaan. OMG dibentuk untuk membuat standar standar yang mendukung

3
interoperabilitas, khusunya interoperabilitas sistem berorientasi objek. OMG mungkin lebih
dikenal dengan standar standar COBRA (Common Object Request Broker Architecture).
Fowler (2004,p1-2).

2.2 Tujuan atau fungsi dari penggunaan UML

Tujuan atau fungsi dari penggunaan UML, yang diantaranaya adalah:

a. Dapat memberikan bahasa permodelan visual kepada pengguna dari berbagai macam
pemerograman maupun proses rekayasa.
b. Dapat menyatukan praktek-praktek terbaik yang ada dalam permodelan.
c. Dapat memberikan model yang siap untuk digunakan, merupakan bahasa permodelan visual
yang ekspresif untuk mengembangkan sistem dan untuk saling menukar model secara
mudah.
d. Dapat berguna sebagai blue print, sebab sangat lengkap dan detail dalam perancangannya
yang nantinya akan diketahui informasi yang detail mengenai koding suatu program.
e. Dapat memodelkan sistem yang berkonsep berorientasi objek, jadi tidak hanya digunakan
untuk memodelkan perangkat lunak (software) saja.
f. Dapat menciptakan suatu bahasa permodelan yang nantinya dapat dipergunakan oleh
manusia maupun oleh mesin.

2.3 Diagram UML

2.3.a Use Case Diagram

Usecase diagram adalah diagram usecase yang digunakan untuk menggambarkan secara
ringkas siapa yang menggunakan sistem dan apa saja yang bisa dilakukannya. Diagram usecase
tidak menjelaskan secara detail tentang penggunaan usecase, namun hanya memberi gambaran
singkat hubungan antara usecase, aktor, dan sistem. Melalui diagram usecase dapat diketahui
fungsi-fungsi apa saja yang ada pada sistem (Rosa-Salahudin, 2011: 130). Nama suatu usecase
haru sdidefinisikan sesimple mungkin dan dapat dipahami.

Komponen-komponen yang ada pada usecase adalah :

4
-Aktor. Merupakan orang, proses atau sistem lain yang berinteraksi dengan sistem yang akan
dibuat. Jadi walaupun simbol aktor dalam diagram usecase berbentuk orang, namun aktor belum
tentu orang.

-Usecase. Merupakan fungsionalitas yang disediakan sistem sebagai unit-unit yang slaing
berinteraksi atau bertukar pesan antar unit maupun aktor.

-Relasi. Merupakan hubungan yang terjadi pada sistem baik antar aktor maupun antar usecase
maupun anatara usecase dan aktor. Relasi yang digunakan dalam diagram usecase antara lain :

-Assosiation. Merupakan rlasi yang digunakan untuk menggambarkan interaksi antara usecase
dan aktor. Asosiasi juga menggambarkan berapa banyak objek lain yang bisa berinteraksi dengan
suatu objek atau disebut multiplicity (Multiplicity dapat dilihat pada postingan Class Diagram).

-Generalization. Merupakan relasi yang menggambarkan inheritance baik aktor maupun


usecase.

-Dependency. Merupakan relasi yang menggambarkan ketergantungan antara usecase yang satu
dengan usecase yang lain. Ada dua macam dependency yaitu include dan extends. Include
menggambarkan bahwa jalannya suatu usecase memicu jalannya usecase lain. Misalnya usecase
login diinclude oleh usecase memilih menu, artinya usecase memilih menu akan memicu
dijalankannya usecase login. Sebelum aktor menjalankan usecase memilih menu, aktor harus
menjalankan usecase login dulu.

Dalam penggambaran diagram usecase, parah mengarah kepada usecase yang diinclude.
Sedangkan extends menggambarkan bahwa suatu usecase dijalankan karena ada persyaratan
tertentu dari usecase lain. Misal, dalam sebuah sistem user tidak bisa menjalankan login sebelum
dia mendaftar akun. Dalam diagram usecase, usecase daftar akun mengextends usecase login.
Artinya aktor harus menjalankan usecase daftar akun dulu sebelum menjalankan usecase login
karena usecase login memiliki syarat aktor yang melakukan login harus sudah melakukan
pendaftaran akun. Arah panah dependency mengarah pada usecase yang memiliki syarat. Berikut
contoh use case diagram :

5
Contoh gambar diagram use case

2.3.b Sequence diagram

Sequence diagram adalah diagram yang menggambarkan kelakuan objek pada usecase
dengan mendeskripsikan waktu hidup objek dan message yang dikirimkan dan diterima antar
objek. Oleh karena itu untuk menggambar diagram sekuen maka harus diketahui objek-objek
yang terlibat dalam sebuah usecase beserta metode-metode yang dimiliki kelas yang diinstansiasi
menjadi objek itu. Banyaknya diagram sekuen yang harus digambar sebanyak usecase yang
memiliki proses sendiri atau yang penting semua usecase yang telah didefinisikan interaksi
jalannya pesan sudah dicakup pada diagram sekuen sehingga semakin banyak usecase yang ada
maka diagram sekuen yang dibuat semakin banyak.

Berikut adalah contoh diagram sekuen :

6
Contoh gambar sequence diagram

2.3.c Activity Diagram

Activity Diagram adalah diagram yang menggambarkan worlflow (aliran kerja) atau
aktivitas dari sebuah sistem atau proses bisnis. Yang perlu diperhatikan adalah bahwa diagram
aktivitas menggambarkan aktivitas sistem bukan apa yang dilakukan aktor, jadi aktivitas yang
dapat dilakukan oleh sistem. Komponen yang ada pada activity diagram antara lain :

Activity atau state : Menunjukan aktivitas yang dilakukan.

Initial activity atau initial state : Menunjukan awal aktivitas dimulai.

Final Activity atau final state : Menunjukan bagian akhir dari aktivitas.

Decission : Digunakan untuk menggambarkan test kondisi untuk memastikan bahwa control
flow atau object flow mengalir lebih ke satu jalur. Jumlah jalur sesuai yang diinginkan.

Merge : Berfungsi menggabungkan flow yang dipecah oleh decission.

Synchronization : Diabgi menjadi 2 yaitu fork dan join. Fork digunakan untuk memecah
behaviour menjadi activity atau action yang paralel, sedangkan join untuk menggabungkan
kembali activity atau action yang paralel.

Swimlanes : Memecah activity diagram menjadi baris dan kolom untuk membagi tangung jawab
obyek-obyek yang melakukan aktivitas.

7
Transition : Menunjukan aktivitas selanjutnya setelah aktivitas sebelumnya.

Terkadang keliru dalam penggunaan decission dengan fork. Jika decission digunkan
untuk memecah aktivitas yang bersifat kondisional misal Ya-Tidak, atau user1, user2, user3,
sedangkan fork untuk memecah behaviour menjadi aktivitas yang paralel seperti user dapat
memilih menu hapus, tambah, edit yang dapat dilakukan secara paralel.

Berikut adalah contoh activity diagram :

Contoh gambar activity diagram

2.3.d Class Diagram

Class diagram adalah sebuah class yang menggambarkan struktur dan penjelasan class,
paket, dan objek serta hubungan satu sama lain seperti containment, pewarisan, asosiasi, dan
lain-lain. Class diagram juga menjelaskan hubungan antar class dalam sebuah sistem yang
sedang dibuat dan bagaimana caranya agar mereka saling berkolaborasi untuk mencapai sebuah
tujuan.

Class juga memiliki 3 area pokok (utama) yaitu : nama, atribut, dan operasi. Nama
berfungsi untuk member identitas pada sebuah kelas, atribut fungsinya adalah untuk member
karakteristik pada data yang dimiliki suatu objek di dalam kelas, sedangkan operasi fungsinya

8
adalah memberikan sebuah fungsi ke sebuah objek . Dalam mendefinisikan metode yang ada di
dalam kelas harus diperhatikan yang namanya Cohesion dan Coupling, Cohesion adalah ukuran
keterkaitan sebuah instruksi di sebuah metode, Coupling adalah ukuran keterkaitan antar metode.
Di dalam class diagram terdapat hubungan antar kelas secara konseptual, yang disebut Relasi
antar Class, di UML disediakan macam-macam relasi antar Class, diantaranya: Asosiasi
(Hubungan statis antar kelas), Agregasi (hubungan dari keseluruhan objek), Generalisasi (relasi
beberapa subkelas ke super kelas), Dependency (keterhubungan tiap kelas.)

Atribut dan metoda dapat memiliki salah satu sifat berikut :

Private, tidak dapat dipanggil dari luar class yang bersangkutan

Protected, hanya dapat dipanggil oleh class yang bersangkutan dan anak-anak yang mewarisinya

qPublic, dapat dipanggil oleh siapa saja

Hubungan Antar Class :

Asosiasi, yaitu hubungan statis antar class. Umumnya menggambarkan class yang memiliki
atribut berupa class lain, atau class yang harus mengetahui eksistensi class lain. Panah
navigability menunjukkan arah query antar class.

Agregasi, yaitu hubungan yang menyatakan bagian (terdiri atas..).

Pewarisan, yaitu hubungan hirarkis antar class. Class dapat diturunkan dari class lain dan
mewarisi semua atribut dan metoda class asalnya dan menambahkan fungsionalitas baru,
sehingga ia disebut anak dari class yang diwarisinya. Kebalikan dari pewarisan adalah
generalisasi.

Hubungan dinamis, yaitu rangkaian pesan (message) yang di-passing dari satu class kepada
class lain. Hubungan dinamis dapat digambarkan dengan menggunakan sequence diagram yang
akan dijelaskan kemudian.

9
Contoh gambar class diagram

2.3.e Component Diagram

Diagram komponen atau component diagram dibuat untuk menunjukkan organisasi dan
ketergantungan diantara kumpulan komponen dalam sebuah sistem. diagram komponen fokus
pada komponen sistem yang dibutuhkan dan ada didalam sistem. diagram komponen juga dapat
digunakan untuk memodelkan hal-hal berikut :

1. Source code program perangkat lunak.


2. Komponen executable yang di lepas ke user.
3. Basis data secara fisik.
4. Sistem yang harus beradaptasi dengan sistem lain.

Framework sistem, framework pada perangkat lunak merupakan kerangka kerja yang
dibuat untuk memudahkan pengembangan dan pemeliharaan aplikasi, contohnya seperti struts
dari apache yang menggunakan prinsip desain Model-View-Controller (MVC) dimana soucre
code program dikelompokkean berdasarkan fungsinya. dimana controller berisi source code yang
menangani request dan validasi, model berisi source code yang menangani manipulasi data dan
bussiness logic, dan view berisi source code yang menangani tampilan.

Komponen dasar yang biasanya ada dalam suatu sistem adalah sebagai berikut :

10
1. Komponen user interface yang menangani tampilan.
2. Komponen bussiness process yang menangani fungsi-fungsi proses bisnis.
3. Komponen data yang menangani manipulasi data.
4. Komponen security yang menangani keamanan sistem.

Contoh gambar component diagram

2.3.f Deployment Diagram

Deployment diagram yaitu salah satu diagram pada UML yang menunjukan tata letak
suatu sistem secara fisik, dapat juga dikatakan untuk menampilkan bagian-bagian softwere yang
terdapat pada hardwere dan digunakan untuk menerapkan suatu sistem dan hubungan antara
komponen hardwere. Jadi Deployment diagram intinya untuk menunjukan letak softwere pada
hardwere yang digunakan sistem.

11
Contoh Deployment Diagram

2.3.g Class Diagram

Class adalah sebuah spesifikasi yang jika diinstansiasi akan menghasilkan sebuah objek
dan merupakan inti dari pengembangan dan desain berorientasi objek. Class menggambarkan
keadaan (atribut/properti) suatu sistem, sekaligus menawarkan layanan untuk memanipulasi
keadaan tersebut (metoda/fungsi).

Class adalah kumpulan objek-objek yang mempunyai struktur umum, behavior umum,
relasi umum, dan semantic/kata yang umum. Class ini sebenarnya merupakan blue print dari
sebuah objek. Dengan mendeklarasikan suatu class, maka kita telah mendeklarasikan suatu
tipe data baru (tipe data referensi).

Class diagram menggambarkan struktur dan deskripsi class, package dan objek beserta
hubungan satu sama lain seperti containment , pewarisan, asosiasi, dan lain-lain.

Class memiliki tiga area pokok :

1. Nama (dan stereotype)


2. Atribut
3. Metoda

Atribut dan metoda dapat memiliki salah satu sifat berikut :


12
Private , tidak dapat dipanggil dari luar class yang bersangkutan

Protected , hanya dapat dipanggil oleh class yang bersangkutan dan anak-anak yang mewarisinya

Public , dapat dipanggil oleh siapa saja

Class dapat merupakan implementasi dari sebuah interface , yaitu class abstrak yang
hanya memiliki metoda. Interface tidak dapat langsung diinstansiasikan, tetapi harus
diimplementasikan dahulu menjadi sebuah class. Dengan demikian interface mendukung
resolusi metoda pada saat run-time

Contoh gambar class diagram.

13
BAB III

PENUTUP

3.1 Kesimpulan

Objek adalah model eksekusi. Sementara kelas adalah deskripsi statik dan objek yang
mungkin lahir pada saat eksekusi. Pada saat eksekusi yang kita punva adalah objek, sementara
dalam pemodelan (analisis dan perancangan) dan teks program yang kita lihat adalah kelas.

Unified Modeling Language (UML) adalah bahasa pemodelan umum yang digunakan
untuk melakukan spesifikasi, visualisasi, konstruksi dan dokumentasi artifak dari software
system. UML bukanlah sebuah standar proses pengembangan dalam metode pengembangan
sistem tertentu, namun pada umumnya UML dipakai dalam memodelkan sistem yang dibangun
berbasiskan objek. Dengan menggunakan UML kita dapat membuat model untuk semua jenis
aplikasi piranti lunak, dimana aplikasi tersebut dapat berjalan pada piranti keras, sistem operasi
dan jaringan apapun, serta ditulis dalam bahasa pemrograman apapun

3.2 Saran

UML adalah suatu bahasa perancangan modern yang paling umum dipakai pada saat ini,
dimana UML ini sering dikaitkan dengan bahasa pengembangan piranti lunak berbasis objek.
Dengan menggunakan UML sebagai bahasa perancangan maka kita dapat membuat suatu
rancangan piranti lunak yang dimana bahasa tersebut menyatukan berbagai praktik-praktik
terbaik dalam permodelan, sehingga hasil rancangan kita dapat dimengerti secara umum dan
universal.

Dengan menggunakan UML, maka kita dapat berinteraksi lebih mudah dengan para
perancang piranti lunak yang lain, karena kita memakai bahasa perancangan UML yang bersifat
universal, dan diketahui oleh hampir semua perancang piranti lunak. Sehingga kita dapat saling
bertukar pikiran atas rancangan yang kita buat dengan perancang lain, dan menghilangkan gap
dalam perbedaan bahasa permodelan.

14
Daftar Pustaka

fatimahumi.blogspot.co.id/2014/03/uml.html

https://id.wikipedia.org/wiki/Unified_Modeling_Language

http://kosemisme.blogspot.co.id/2015/04/component-diagram.html

http://aendeick.blogspot.co.id/2014/04/deployment-diagram.html

http://arwan.ilearning.me/2014/11/23/tugas-mandiri-paper-class-diagram/

https://muharitasks.wordpress.com/2012/01/16/template-2/

http://www.pengertianku.net/2015/09/pengertian-uml-dan-jenis-jenisnya-serta-contoh-
diagramnya.html

15

Anda mungkin juga menyukai