Bab 2 - Widyatama Repository

advertisement
BAB II
LANDASAN TEORI
2.1
Web Service
Web service adalah suatu sistem perangkat lunak yang dirancang untuk
mendukung interoperabilitas dan interaksi antar sistem pada suatu jaringan. Web
service digunakan sebagai suatu fasilitas yang disediakan oleh suatu web site
untuk menyediakan layanan (dalam bentuk informasi) kepada sistem lain,
sehingga sistem lain dapat berinteraksi dengan sistem tersebut melalui layananlayanan (service) yang disediakan oleh suatu sistem yang menyediakan web
service. Web service menyimpan data informasi dalam format XML, sehingga data
ini dapat diakses oleh sistem lain walaupun berbeda platform, sistem operasi,
maupun bahasa compiler.
Web service bertujuan untuk meningkatkan kolaborasi antar pemrogram
dan perusahaan, yang memungkinkan sebuah fungsi di dalam Web Service dapat
dipinjam oleh aplikasi lain tanpa perlu mengetahui detil pemrograman yang
terdapat di dalamnya.
Beberapa alasan mengapa digunakannya web service
adalah sebagai
berikut:
1. Web service dapat digunakan untuk mentransformasikan satu atau beberapa
bisnis logic atau class dan objek yang terpisah dalam satu ruang lingkup yang
menjadi satu, sehingga tingkat keamanan dapat ditangani dengan baik.
2. Web service memiliki kemudahan dalam proses deployment-nya, karena tidak
memerlukan registrasi khusus ke dalam suatu sistem operasi. Web service
cukup di-upload ke web server dan siap diakses oleh pihak-pihak yang telah
diberikan otorisasi.
II-1
II-2
3. Web service berjalan di port 80 yang merupakan protokol standar HTTP,
dengan demikian web service tidak memerlukan konfigurasi khusus di sisi
firewall.
2.1.1 Arsitektur Web Service
Web service memiliki tiga entitas dalam arsitekturnya, yaitu:
1. Service Requester (peminta layanan)
2. Service Provider (penyedia layanan)
4. Service Registry (daftar layanan)

Service Provider: Berfungsi untuk menyediakan layanan/service dan
mengolah sebuah registry agar layanan-layanan tersebut dapat tersedia.

Service Registry: Berfungsi sebagai lokasi central yang mendeskripsikan
semua layanan/service yang telah di-register.

Service Requestor: Peminta layanan yang mencari dan menemukan
layanan yang dibutuhkan serta menggunakan layanan tersebut.
II-3
2.1.2 Operasi-Operasi Web Service
Secara umum, web service memiliki tiga operasi yang terlibat di
dalamnya, yaitu:
1.
Publish/Unpublish: Menerbitkan/menghapus layanan ke dalam atau dari
registry.
2.
Find: Service requestor mencari dan menemukan layanan yang
dibutuhkan.
3.
Bind: Service requestor setelah menemukan layanan yang dicarinya,
kemudian melakukan binding ke service provider untuk melakukan interaksi
dan mengakses layanan/service yang disediakan oleh service provider.
2.1.3 Komponen-Komponen Web Service
Web service secara keseluruhan memiliki empat layer komponen seperti
pada gambar di atas, yaitu:
1.
Layer 1: Protokol internet standar seperti HTTP, TCP/IP
2.
Layer 2: Simple Object Access Protocol (SOAP), merupakan protokol
akses objek berbasis XML yang digunakan untuk proses pertukaran
data/informasi antar layanan.
II-4
3.
Layer 3: Web Service Definition Language (WSDL), merupakan suatu
standar bahasa dalam format XML yang berfungsi untuk mendeskripsikan
seluruh layanan yang tersedia.
4.
Layer 4: UDDI, adalah sebuah service registry bagi pengalokasian web
service. UDDI mengkombinasikan SOAP dan WSDL untuk pembentukan
registry API bagi pendaftaran dan pengenalan web service
2.2 HTTP
HyperText Transfer Protocol (HTTP) adalah sebuah protokol jaringan
lapisan aplikasi yang digunakan untuk sistem informasi terdistribusi, kolaboratif,
dan menggunakan hipermedia. Penggunaannya banyak pada pengambilan sumber
daya
yang
saling
dokumen hiperteks,
terhubung
yang
dengan
kemudian
tautan,
yang
membentuk World
disebut
Wide
dengan
Web pada
tahun 1990 oleh fisikawan Inggris, Tim Berners-Lee. Hingga kini, ada dua versi
mayor dari protokol HTTP, yakni HTTP/1.0 yang menggunakan koneksi terpisah
untuk setiap dokumen, dan HTTP/1.1 yang dapat menggunakan koneksi yang
sama untuk melakukan transaksi. Dengan demikian, HTTP/1.1 bisa lebih cepat
karena memang tidak perlu membuang waktu untuk pembuatan koneksi berulangulang..
HTTP adalah sebuah protocol meminta/menjawab antara klien dan server.
Sebuah klien HTTP (seperti web browser atau robot dan lain sebagainya),
biasanya memulai permintaan dengan membuat hubungan ke port tertentu di
sebuah server Webhosting tertentu (biasanya port 80). Klien yang mengirimkan
permintaan HTTP juga dikenal dengan user agent. Server yang meresponnya,
yang menyimpan sumber daya seperti berkas HTML dan gambar, dikenal juga
sebagai origin server. Di antara user agent dan juga origin server, bisa saja ada
penghubung, seperti halnya proxy, gateway, dan juga tunnel.
HTTP tidaklah terbatas untuk penggunaan dengan TCP/IP, meskipun
HTTP merupakan salah satu protokol aplikasi TCP/IP paling populer melalui
II-5
Internet. Memang HTTP dapat diimplementasikan di atas protokol yang lain di
atas Internet atau di atas jaringan lainnya. seperti disebutkan dalam "implemented
on top of any other protocol on the Internet, or on other networks.", tapi HTTP
membutuhkan sebuah protokol lapisan transport yang dapat diandalkan. Protokol
lainnya yang menyediakan layanan dan jaminan seperti itu juga dapat digunakan.
Sumber
daya yang hendak
diakses
dengan
menggunakan
HTTP
diidentifikasi dengan menggunakan Uniform Resource Identifier (URI), atau lebih
khusus melalui Uniform Resource Locator (URL), menggunakan skema URI
http: atau https:
HTTP menetapkan sembilan metode (kadang disebut "verbs") yang
menunjukkan tindakan yang ingin dilakukan terhadap sumber teridentifikasi. Hal
yang diwakili sumber ini, berupa data yang sudah ada atau data yang diciptakan
secara dinamis, bergantung pada implementasi peladen. Biasanya sumber ini
berkaitan dengan berkas atau keluaran dari berkas pelaksana yang menetap di
peladen.
a) HEAD
Meminta tanggapan yang identik dengan tanggapan yang sesuai dengan
permintaan GET, namun tanpa badan tanggapan. Ini berguna untuk
mengakses informasi meta yang tertulis dalam kepala tanggapan tanpa
perlu mengangkut seluruh konten.
b) GET
Meminta representasi sumber tertentu. Permintaan menggunakan GET
(dan beberapa metode HTTP lain) "tidak boleh memiliki kepentingan
melakukan
prinsip
tindakan
panduan
selain pengaksesan".[3] W3C telah
mengenai
perbedaan
ini
dengan
menerbitkan
menyatakan,
"desain aplikasi web harus mematuhi prinsip di atas, serta batasan
sejenis."[4]
II-6
c) POST
Mengirimkan data untuk diproses (misalnya dari bentuk HTML) ke
sumber teridentifikasi. Data dimasukkan dalam badan permintaan. Ini
dapat menghasilkan pembentukan sumber baru atau pemutakhiran sumber
yang sudah ada atau keduanya.
d) PUT
Mengunggah representasi sumber tertentu.
e) DELETE
Menghapus sumber tertentu.
f) TRACE
Menggaungkan kembali permintaan yang diterima, sehingga klien dapat
melihat perubahan atau tambahan yang dilakukan oleh peladen perantara.
g) OPTIONS
Mengembalikan
metode
HTTP
yang
didukung
peladen
untuk URL tertentu. Ini dapat digunakan untuk memeriksa fungsionalitas
peladen web dengan meminta '*' daripada fungsionalitas sumber tertentu.
h) CONNECT
Menukarkan koneksi permintaan dengan terowongan TCP/IP transparan,
biasanya
untuk
memfasilitasi
komunikasi
terenkripsi SSL(HTTPS)
melalui proksi HTTP tak terenkripsi.[5]
i) PATCH
Menerapkan modifikasi parsial terhadap sumber
2.3 JavaScript Object Notation (JSON)
JSON (JavaScript Object Notation) adalah standar terbuka berbasis text
yang ringan dan dirancang untuk pertukaran data yang bersifat human-readable.
JSON berasal dari bahasa pemrograman Javascript untuk mempresentasikan
II-7
struktur data sederhana dan array asosiatif yang disebut dengan objek. Walaupun
hubungannya dengan javascript nyatanya JSON adalah independen dengan parser
yang tersedia untuk hampir semua bahasa pemrograman C, C++, C#, Java,
JavaScript, Perl, Python dll. Oleh karena sifat-sifat tersebut, menjadikan JSON
ideal sebagai bahasa pertukaan-data.
JSON terdiri dari dua struktur:

Kumpulan pasangan nama/nilai. Pada beberapa bahasa, hal ini
dinyatakan sebagai objek (object), rekaman (record), struktur
(struct), kamus (dictionary), tabel hash (hash table), daftar
berkunci (keyed list), atau associative array.

Daftar nilai terurutkan (an ordered list of values). Pada kebanyakan
bahasa, hal ini dinyatakan sebagai larik (array), vektor (vector),
daftar (list), atau urutan (sequence).
Struktur-struktur data ini disebut sebagai struktur data universal. Pada
dasarnya, semua bahasa pemprograman moderen mendukung struktur data ini
dalam bentuk yang sama maupun berlainan. Hal ini pantas disebut demikian
karena format data mudah dipertukarkan dengan bahasa-bahasa pemprograman
yang juga berdasarkan pada struktur data ini.
Pada gambar dibawah ini merupakan contoh dalam penulisan JSON.
II-8
2.4 Extensible Markup Language (XML)
XML adalah bahasa markup untuk keperluan umum yang disarankan oleh
W3C (World Wide Web Consortium) untuk membuat dokumen markup keperluan
pertukaran data antar sistem yang beraneka ragam. XML merupakan kelanjutan
dari HTML yang merupakan bahasa standar untuk Internet. Keunggulan XML:
1. Pintar. XML dapat menangani berbagai tingkat kompleksitas.
2. Dapat beradaptasi. Dapat mengadaptasi untuk membuat bahasa sendiri,
seperti Microsoft membuat MSXML atau Macromedia mengembangkan
MXML.
3. Sederhana.
4. Mudah dipindahkan. XML mempunyai kemudahan perpindahan yang
bagus.
2.5 Unified Modeling Language (UML)
Unified Modeling Language (UML) adalah bahasa standar untuk
menuliskan
cetak
biru
dari
sebuah
software.
UML digunakan
untuk
menggambarkan, menspesifikasikan, membangun dan mendokumentasikan
benda-benda atau bagian-bagian dari sebuah sistem perangkat lunak.
UML cocok untuk kelompok pemodelan sistem dari sistem informasi
sebuah perusahaan sampai aplikasi terdistribusi berbasis web dan sistem yang
bersifat real time. UML merupakan bahasa yang ekspresif, menunjukkan semua
II-9
gambaran-gambaran sistem yang dibutuhkan untuk membangun dan kemudian
menyebarkan ke seluruh sistem.
UML adalah sebuah bahasa dan hanya merupakan satu bagian dari metode
pembangunan sebuah software. UML merupakan proses yang bias berdiri sendiri
meskipun untuk optimalisasi digunakan juga dalam proses.
2.5.1
UML Building Blocks
2.5.1.1 Things
Things adalah abstraksi yang merupakan bagian pertama dari sekumpulan
bagian dalam pemodelan, relationship mengikat things ini bersama-sama, dan
diagram merupakan sekumpulan grup dari things-things. Dalam UML things
dibagi menjadi empat bagian:
a.
Structural things
Structural things merupakan kata benda dari model UML, dimana sebagian
besar merupakan bagian statis dari model yang menggambarkan elemen-elemen
yang menjadi konsep
Bagian-bagian yang berkaitan dengan structural things adalah:
c.1.
Class
Class
merupakan
deskripsi
dari
sekumpulan
objek
yang
mempunyai atribut, operasi, relationship dan sematik yang sama.
Class mengimplementasikan satu atau lebih dari antarmuka.
c.2.
Interface
Interface
adalah
kumpulan
dari
operasi-operasi
yang
menggambarkan layanan dari sebuah class atau component. Oleh
karena itu interface merupakan gambaran lingkungan luar dari
sebuah elemen. Interface boleh direpresentasikan menjadi satu
bagian yang utuh dari sebuah class atau component atau hanya
merupakan bagian kecil saja. Interface mendefinisikan sekumpulan
II-10
operasi yang spesifik tapi tidak pernah menjadi implementasi dari
sekumpulan operasi.
c.3.
Collaboration
Collaboration mendefinisikan sebuah interaksi dan merupakan
kumpulan fungsi-fungsi dari elemen yang bekerja sama untuk
menyediakan lingkungan yang lebih besar dari semua elemen. Oleh
karena itu, collaboration mempunyai struktur seperti lingkungan
dan dimensi. Jadi collaboration menunjukkan implementasi dari
pola yang membangun sistem.
c.4.
Use Case
Use case menggambarkan sekumpulan aksi sekuen yang
ditampilkan sistem sampai menunjukan hasil yang tampak dari
actor khusus. Use case digunakan untuk menyusun behavioral
things
dalam
pemodelan.
Use
case
direalisasikan
oleh
collaboration.
c.5.
Active Class
Active class adalah sebuah class dimana objeknya mempunyai satu
atau lebih proses atau fungsi dan oleh karena itu bisa diinisialisasi
menjadi pengatur aktivitas. Active class seperti sebuah class
kecuali objeknya yang merepresentasikan elemen satu dengan
elemen lain bekerja sama dalam lingkungan.
c.6.
Component
Component menunjukkan suatu bagian fisik atau bagian yang bisa
diganti dari sistem yang sesuai dan merealisasikan sekumpulan
interface. Component biasanya merepresentasikan paket-paket fisik
dari kebalikan elemen logika seperti class, interface dan
collaboration.
II-11
c.7.
Node
Node adalah elemen fisik yang ada ketika waktu running dan
merepresentasikan sumber-sumber komputasi, yang umumnya
mempunyai memori kecil dan seringkali kemampuan memproses.
Sekumpulan component boleh terletak dalam node atau boleh
bermigrasi atau pindah dari satu node ke node yang lain.
b.
Behavioral things
Behavioral things menunjukkan bagian yang dinamis dari model UML.
Behavioral things merupakan kata kerja dari sebuah model, merepresentasikan
keadaan lingkunan tiap waktu dan bagian.
Bagian-bagian yang berhubungan dengan behavioral things adalah:
c.1.
Interaction
Interaction adalah behavior yang terdiri dari sekumpulan pesan
yang saling tukar menukar antara sekumpulan objek dalam konteks
khusus untuk menyelesaikan sebuah tujuan. Tingkah laku dari
sekumpulan
objek
atau
operasi
individual
kemungkinan
dispesifisikasikan dengan interaction. Interaction meliputi nomor
dari elemen lain, pesan, aksi sekuen, dan link.
c.2.
State Machine
State machine adalah tingkah laku yang menunjukkan status-status
yang sekuen dari objek atau interaksi status itu untuk merespon
suatu kejadian. Tingkah laku dari sebuah class atau collaboration
sebuah class bisa ditunjukkan dengan state machine. State machine
meliputi nomor dari elemen lain, status yang terkandung, transisi,
kejadian dan aktivitas-aktivitas.
c.
Grouping things
Grouping things merupakan bagian yang organisasional dari model UML.
Grouping things adalah suatu tempat dimana sebuah model bisa didekomposisi.
II-12
Salah satu bagian dari grouping things adalah package. Package adalah
tujuan mekanisme umum untuk pengaturan elemen-elemen di dalam grup.
Structural things, behavioral things, dan grouping things yang lain bisa diletakan
di dalam package.
d.
Annotational things
Annotational things merupakan bagian penjelasan dalam model UML.
Penjelasan
ini
berupa
komentar-komentar
atau
ulasan-ulasan
untuk
menggambarkan, menjelaskan dan memberi tanda tentang beberapa elemen dalam
model. Salah satu macam dari annotational things yang penting adalah note. Note
merupakan simbol yang mudah untuk menyalin batasan atau komentar yang
diambil dari satu elemen atau kumpulan elemen.
2.5.1.2 Relationship
Dalam UML ada empat macam bentuk relationship yang merupakan relasi
standar dari UML building block, yaitu :
a.
Dependency
Dependency merupakan suatu bentuk relasi yang menghubungkan dua
things dimana bisa dirubah menjadi satu things (independent things) yang
mempengaruhi things yang lain (dependent things).
b.
Association
Association merupakan bentuk relasi yang menggambarkan sekumpulan
hubungan, dimana hubungan itu menghubungkan beberapa objek. Salah satu
bentuk association adalah aggregation, yang merepresentasikan susunan relasi
semua atau sebagian objek.
c.
Generalization
Generalization adalah relasi khusus atau umum dimana sebuah objek dari
elemen khusus (child) bisa digantikan oleh objek dari elemen yang umum
(parent). Jadi struktur atau tingkah laku dari anak (child) mengambil struktur atau
tingkah laku dari orang tuanya (parent).
II-13
d.
Realization
Realization adalah bentuk hubungan antara class-class, dimana satu class
yang spesifik melakukan perjanjian dengan class yang lain untuk melaksanakan
perjanjian itu. Realization biasanya ditemukan dalam hubungan antara interface
dengan class atau component dan juga antara use case dengan collaboration.
2.5.2 Diagram UML
Diagram adalah presentasi grafik dari sekumpulan elemen, dimana
kebanyakan dari elemen itu disalin dalam graph yang terhubung (connected
graph) dari verteks (things) dan juga edge (relationship). Diagram digunakan
untuk memvisualisasikan sistem dari berbagai perspektif, jadi diagram merupakan
proyeksi dari sistem.
2.5.2.1 Use Case Diagram
Use case diagram menampilkan sekumpulan use case dan actor dan juga
relasi antar keduanya. Use case diagram mengalamatkan use case yang statis dari
sistem. Use case diagram sangat penting dalam mengorganisasi dan memodelkan
tingkah laku dari sistem. Use case diagram menjelaskan manfaat sistem jika
dilihat menurut pandangan orang yang berada di luar sistem (actors). Diagram ini
menunjukkan fungsionalitas suatu sistem atau kelas dan bagaimana sistem
berinteraksi dengan dunia luar. Use case diagram dapat digunakan selama proses
analisis untuk menangkap requirements sistem dan untuk memahami bagaimana
sistem seharusnya bekerja.
2.5.2.2 Class Diagram
Class
diagram
menunjukkan
sekumpulan
class,
interface
dan
collaboration serta relationship. Class diagram merupakan diagram yang sering
ditemukan dalam pemodelan berorientasi objek. Class diagram mengalamatkan
perancangan statis dari sistem.
Selama proses analisis, class diagram memperlihatkan aturan-aturan dan
tanggung jawab entitas yang menentukan perilaku sistem. Selama tahap desain,
II-14
class diagram berperan dalam menangkap struktur dari semua kelas yang
membentuk arsitektur sistem yang dibuat. Class diagram juga merupakan fondasi
untuk component diagram dan deployment diagram.
2.5.2.3 Object Diagram
Object diagram menunjukkan sekumpulan objek dan relasinya. Object
diagram merepresentasikan gambaran statis tentang hal-hal dari things yang
ditemukan dalam class diagram. Object diagram mengalamatkan perancangan
statis atau proses statis dari sistem sama seperti class diagram, tapi dilihat dari
perspektif yang nyata atau merupakan bagian prototipenya.
2.5.2.4 Sequence Diagram
Sequence diagram merupakan interaction diagram yang menekankan pada
pemesanan waktu dari pesan yang disusun dalam suatu urutan waktu, dimana
interaction diagram sendiri menggambarkan interaksi dari beberapa objek dan
relasinya, serta pesan yang menghubungkan antara satu objek dengan objek yang
lain. Diagram ini secara khusus berasosiasi dengan use case. Sequence diagram
memperlihatkan tahap demi tahap apa yang seharusnya terjadi untuk
menghasilkan sesuatu di dalam use case.
2.5.2.5 Collaboration Diagram
Collaboration diagram merupakan interaction diagram yang menekankan
pada susunan organisasi dari objek yang mengirim dan menerima pesan. Sequence
diagram dan collaboration diagram merupakan diagram yang isomorfis yang
berarti dari sequence diagram bisa dirubah menjadi collaboration diagram atau
sebaliknya. Collaboration diagram digunakan sebagai alat untuk menggambarkan
interaksi yang mengungkapkan keputusan mengenai perilaku sistem.
2.5.2.6 Statechart Diagram
Statechart diagram menunjukan mesin status yang terdiri dari status,
transisi, kejadian dan aktivitas dari sistem. Statechart diagram merupakan
gambaran dinamis dari sistem. Statechart diagram sangat penting dalam
II-15
memodelkan tingkah laku dari interface, class atau collaboration yang
menekankan pada permintaan kejadian tingkah laku dari objek.
2.5.2.7 Activity Diagram
Activity diagram merupakan bentuk khusus dari statechart diagram yang
menunjukkan aliran aktivitas dalam sistem. Activity diagram merupakan
gambaran dinamis dari sistem yang sangat penting digunakan dalam memodelkan
fungsi dari sistem dan menekankan pada aliran kontrol antar objek. Activity
diagram juga berguna ketika kita ingin menggambarkan perilaku paralel atau
menjelaskan bagaimana perilaku dalam berbagai use case berinteraksi.
2.5.2.8 Component Diagram
Component diagram
menunjukkan organisasi dan ketergantungan
(dependency) dari sekumpulan component. Component diagram merupakan
implementasi statis dari sistem. Component diagram berhubungan dengan class
diagram dimana satu component biasanya dipetakan dalam satu atau lebih class,
interface dan collaboration. Diagram ini memperlihatkan pengaturan dan
kebergantungan antara komponen-komponen software seperti source code, binary
code dan komponen tereksekusi (executable component).
2.5.2.9 Deployment Diagram
Deployment diagram menggambarkan konfigurasi saat pemrosesan dari
node dan component. Deployment diagram berhubungan dengan component
diagram dimana node biasanya menyertakan satu atau lebih component. Diagram
ini memperlihatkan pemetaan software kepada hardware.
2.5.3
Unified Modeling Language (UML) View
Setiap sistem yang kompleks selalu akan lebih baik jika didekati melalui
himpunan-himpunan sudut pandang yang kecil dan berbeda. Sudut pandang
tunggal senantiasa tidak mencukupi untuk melihat sistem yang besar dan
kompleks. Dalam UML ada beberapa sudut pandang (view), yaitu:
II-16
a. Use Case View
Use case view tidak menspesifikasikan sistem perangkat lunak yang
sesungguhnya. Use case view menggambarkan sistem dari sudut pandang
pengguna, analis dan tester. Aspek statis digambarkan lewat use case
diagram, sedangkan aspek dinamis digambarkan lewat interaction
diagrams, statechart diagrams dan activity diagrams.
b. Design View
Design view menggambarkan keadaan, problem atau masalah serta solusi
dari suatu sistem. Aspek statis akan digambarkan lewat class diagrams
dan object diagrams, sedangkan aspek dinamis digambarkan lewat
interaction diagrams, statechart diagrams dan activity diagrams.
c. Process View
Process view menggambarkan sinkronisasi serta konkurensi sistem yang
meliputi thread dan process. Aspek statis digambarkan lewat class
diagrams dan object diagrams, sedangkan aspek dinamis digambarkan
lewat interaction diagrams, statechart diagrams dan activity diagrams.
Process view sangat menekankan pada representasi thread dan process.
d. Implementation View
Implementation view menggambarkan file dan komponen lainnya yang
mendukung kesatuan program perangkat lunak. Aspek statis digambarkan
lewat component diagrams, sedangkan aspek dinamis digambarkan lewat
interaction diagrams, statechart diagrams dan activity diagrams.
e. Deployment View
Deployment view menggambarkan satuan dan topologi perangkat keras
yang mendukung sistem secara fisik. Deployment view meliputi distribusi
dan instalasi sistem. Aspek statis digambarkan lewat deployment
diagrams, sedangkan aspek dinamis digambarkan lewat interaction
diagrams, statechart diagrams dan activity diagrams.
II-17
2.6
Mengenal Rational Rose
Rational Rose adalah software yang memiliki perangkat-perangkat
pemodelan secara visual untuk membangun suatu solusi dalam rekayasa software
dan pemodelan bisnis. Rational Rose dikeluarkan oleh perusahaan software
bernama Rational Software, perusahaan yang mencetuskan ide pembentukan
konsorsium bagi perusahaan-perusahaanyang memakai standar UML sebagai
bahasa pemodelan di perusahaannya. Rational Rose memakai UML sebagai
bahasa pemodelannya, ditambah beberapa fitur lain yang membuat Rational Rose
menjadi software pemodelan visual yang terkemuka. Salah satu fitur yang ada di
dalam Rational Rose adalah Rational Unified Process (RUP). Selain itu, Rational
Rose memiliki kemampuan membuat solusi client/server, yang kemudian dapat
diterapkan dan didistribusikan dalam lingkungan perusahaan.
2.6.1
Dasar-Dasar Pemodelan Dengan Rational Rose
2.6.1.1 Visual Modeling
Visual Modeling adalah proses menggambarkan cetak biru suatu sistem
secara grafis, terdiri dari komponen-komponen, interface, dan koneksi-koneksi
yang ada di dalam sistem tersebut, agar mudah dipahami dan dikomunikasikan.
Visual modeling dapat membantu kita untuk menampilkan elemen-elemen
yang penting secara detil dari suatu masalah yang kompleks dan menyaring untuk
kemudian membuang elemen-elemen yang tidak penting.
Rational Rose menggunakan UML sebagai bahasa pemodelannya. Semua
semantik dan notasi dalam UML dibuat untuk digunakan dalam visual modeling.
Model yang dapat dikerjakan dengan UML ada dua, yaitu model bisnis dan model
untuk rekayasa software.
2.6.1.2 Model dalam Rekayasa Software
Membangun sebuah model dalam proses rekayasa software sangat penting
sebagaimana pentingnya kita memiliki cetak biru untuk membangun suatu
II-18
bangunan yang besar. Agar model yang dibuat termasuk kriteria model yang
bagus, model yang dibuat harus:
1. Mengidentifikasi
persyaratan-persyaratan
(requirements)
dan
dapat
menyampaikan informasi dengan jelas.
2. Berfokus pada bagaimana komonen-komponen sistem berinteraksi.
3. Dapat membantu untuk melihat hubungan antarkomponen.
4. Meningkatkan komunikasi antaranggota tim dengan menggunakan bahasa
yang mudah dipahami, dalam hal ini bahasa grafis.
2.6.2
Beberapa Keunggulan Rational Rose dalam Pemodelan
Rational Rose memiliki keunggulan, diantaranya:
1. Bahasa yang digunakan adalah bahasa pemodelan standar, yaitu UML,
akan meningkatkan komunikasi intra tim.
2. Rational Rose mendukung round-trip engineering, sehingga kita dapat
men-generate model ke dalam kode (Java, C++, Visual Basic, dan
sebagainya) dan melakukan reverse engineering untuk menampilkan
arsitektur software dan kode yang ada. Hal ini dapat dapat dilakukan
secara bolak-balik sebagai proses iterative selama proses rekayasa
software.
3. Model dan kode senantiasa singkron selama dalam development cycle.
4. Membangun software menggunakan Rational Rose memudahkan dalam
memperbaiki software tersebut karena apabila suatu saat ditemukan
requirement baru, bisa langsung digambarkan lagi sebagai software
tersebut dalam UML.
5. Para user Rational Software dapat berkomunikasi walaupun bekerja dalam
sistem operasi yang berbeda (Windows atau UNIX).
6. Dengan
menggunakan
Rose
Web
Publisher
suatu
tim
dapat
mengkomunikasikan model dan spesifikasinya dalam web browser.
7. Mendukung rekayasa software untuk sistem client/server sehingga
Rational Rose merupakan software pemodelan visual yang tangguh dalam
II-19
lingkungan
client/server,
e-business,
dan
lingkungan
perusahaan
terdistribusi.
2.6.3
Edisi Rational Rose
Ada tiga edisi Rational Rose, yiatu:
1. Rose Modeler, tidak mendukung bahasa pemrograman apapun.
2. Rose Professional, mendukung satu bahasa pemrograman.
3. Rose Enterprise, mendukung banyak bahasa, yaitu CORBA, Visual C++,
Java, dan sebagainya.
Download