bab 2 landasan teori -...

61
BAB 2 LANDASAN TEORI 2.1 Leasing 2.1.1 Pengertian Leasing Pengertian leasing dari beberapa sumber adalah sebagai berikut : Financial Accounting Standard Board (FASB 13) Leasing adalah suatu perjanjian penyediaan barang – barang modal yang digunakan untuk suatu jangka waktu tertentu. The International Accounting Standard (IAS 17) Leasing adalah suatu perjanjian di mana pemilik aset atau perusahaan sewa guna usaha (lessor) menyediakan barang atau aset dengan hak penggunaan kepada penyewa guna usaha (lessee) dengan imbalan pembayaran swa untuk suatu jangka waktu tertentu. The Equipment Leasing Association (ELA-UK) Leasing adalah suatu kontrak antara lessor dengan lessee untuk penyewaan suatu jenis barang atau aset tertentu secara langsung, dari pabrik atau agen penjual oleh lessee. Hak kepemilikan barang tersebut tetap berada pada lessor. Lessee memiliki hak pakai atas barang tersebut dengan membayar sewa dengan jumlah dan jangka waktu yang telah ditetapkan.

Upload: lamkien

Post on 04-Mar-2018

221 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: BAB 2 LANDASAN TEORI - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2009-1-00502-TISI Bab 2.pdf · Dalam suatu perjanjian atau kontrak leasing, pihak bank atau kreditor

BAB 2

LANDASAN TEORI

2.1 Leasing

2.1.1 Pengertian Leasing

Pengertian leasing dari beberapa sumber adalah sebagai berikut :

• Financial Accounting Standard Board (FASB 13)

Leasing adalah suatu perjanjian penyediaan barang – barang

modal yang digunakan untuk suatu jangka waktu tertentu.

• The International Accounting Standard (IAS 17)

Leasing adalah suatu perjanjian di mana pemilik aset atau

perusahaan sewa guna usaha (lessor) menyediakan barang atau

aset dengan hak penggunaan kepada penyewa guna usaha (lessee)

dengan imbalan pembayaran swa untuk suatu jangka waktu

tertentu.

• The Equipment Leasing Association (ELA-UK)

Leasing adalah suatu kontrak antara lessor dengan lessee untuk

penyewaan suatu jenis barang atau aset tertentu secara langsung,

dari pabrik atau agen penjual oleh lessee. Hak kepemilikan barang

tersebut tetap berada pada lessor. Lessee memiliki hak pakai atas

barang tersebut dengan membayar sewa dengan jumlah dan

jangka waktu yang telah ditetapkan.

Page 2: BAB 2 LANDASAN TEORI - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2009-1-00502-TISI Bab 2.pdf · Dalam suatu perjanjian atau kontrak leasing, pihak bank atau kreditor

16

• Keputusan Bersama Menteri Keuangan, Menteri Perindustrian

dan Menteri Perdagangan Nomor Kep. 122/MK/TV/74, Nomor

32/M/SK/2174, Nomor 30/KPB/I/74 Tanggal 7 Januari 1974

Leasing adalah setiap kegiatan pembiayaan perusahaan dalam

bentuk penyediaan barang – barang modal untuk digunakan oleh

suatu perusahaan untuk suatu jangka waktu tertentu, berdasarkan

pembayaran – pembayaran berkala disertai dengan hak pilih bagi

perusahaan tersebut untuk membeli barang – barang modal yang

bersangkutan atau memperpanjang jangka waktu leasing

berdasarkan nilai sisa yang telah disepakati bersama.

• Keputusan Menteri Keuangan Nomor 1169/KMK.01/1991

Tanggal 21 November 1991 Tentang Kegiatan Sewa Guna Usaha

(Leasing)

Leasing adalah kegiatan pembiayaan dalam bentuk penyediaan

barang modal baik secara leasing dengan hak opsi (finance lease)

maupun leasing tanpa hak opsi atau sewa guna usaha biasa

(operating lease) untuk digunakan oleh lessee selama jangka

waktu tertentu berdasarkan pembayaran secara berkala. Yang

dimaksud dengan finance lease adalah kegiatan leasing dimana

lessee pada akhir kontrak mempunyai hak opsi untuk membeli

objek leasing berdasarkan nilai sisa yang disepakati. Sedangkan

yang dimaksud dengan operating lease adalah kegiatan leasing

dimana lessee pada akhir kontrak tidak mempunyai hak opsi

untuk membeli objek leasing.

Page 3: BAB 2 LANDASAN TEORI - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2009-1-00502-TISI Bab 2.pdf · Dalam suatu perjanjian atau kontrak leasing, pihak bank atau kreditor

17

2.1.2 Pihak yang Terkait dengan Leasing

Menurut Sigit Triandaru dan Totok Budisantoso (2006, p191), dalam

transaksi leasing sekurang – kurangnya melibatkan 4 pihak yang berkepentingan,

antara lain :

• Lessor

Yaitu perusahaan leasing atau pihak yang memberikan jasa

pembiayaan kepada pihak lessee dalam bentuk barang modal.

Dalam finance lease, lessor bertujuan untuk mendapatkan

kembali biaya yang telah dikeluarkan untuk membiayai

persediaan barang modal dengan mendapatkan keuntungan.

Sedangkan dalam operating lease, lessor bertujuan untuk

mendapatkan keuntungan dari penyediaan barang dan pemberian

jasa – jasa yang berkenaan dengan pemeliharaan dan

pengoperasian barang modal tersebut.

• Lessee

Yaitu perusahaan atau pihak yang memperoleh pembiayaan dalam

bentuk barang modal dari lessor. Dalam finance lease, lessee

bertujuan mendapatkan pembiayaan berupa barang atau peralatan

dengan cari pembayaran angsuran atau secara berkala. Sedangkan

dalam operationg lease, lessee bertujuan dapat memenuhi

kebutuhan peralatannya di samping tenaga operator dan

perawatan alat tersebut tanpa resiko bagi lessee terhadap

kerusakan.

Page 4: BAB 2 LANDASAN TEORI - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2009-1-00502-TISI Bab 2.pdf · Dalam suatu perjanjian atau kontrak leasing, pihak bank atau kreditor

18

• Supplier

Yaitu perusahaan atau pihak yang mengadakan atau menyediakan

barang untuk dijual kepasa lessee dengan pembayaran secara

tunai oleh lessor. Dalam finance lease, pemasok langsung

menyerahkan barang kepada lessee tanpa melalui pihak lessor

sebagai pihak yang memberikan pembiayaan. Sedangkan dalam

operational lease, pemasok menjual barangnya langsung kepada

lessor dengan pembayaran sesuai dengan kesepakatan kedua

belah pihak baik secara tunai maupun secara berkala.

• Bank atau Kreditor

Dalam suatu perjanjian atau kontrak leasing, pihak bank atau

kreditor tidak terlibat secara langsung dalam kontrak tersebut,

tetapi bank memegang peranan dalam hal penyediaan dana

kepada lessor.

2.1.3 Mekanisme Leasing

Menurut Sigit Triandaru dan Totok Budisantoso (2006, p192),

mekanisme transaksi leasing adalah seperti gambar berikut :

Page 5: BAB 2 LANDASAN TEORI - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2009-1-00502-TISI Bab 2.pdf · Dalam suatu perjanjian atau kontrak leasing, pihak bank atau kreditor

19

Gambar 2.1 Mekanisme Leasing

Keterangan gambar :

1. Lessee menghubungi pemasok untuk pemilihan dan penentuan

jenis barang, spesifikasi, harga, jangka waktu penagihan, dan

jaminan purna jual atas barang yang akan disewa.

2. Lessee melakukan negosiasi dengan lessor mengenai kebutuhan

pembiayaan barang modal. Dalam hal ini, lessee dapat meminta

lease quotation yang tidak mengikat dari lessor. Dalam quotation

terdapat syarat – syarat pokok pembiayaan leasing, antara lain :

keterangan barang, harga barang, cash security deposit, residual

value, asuransi, biaya administrasi, jaminan uang sewa (lease

rental), dan persyaratan – persyaratan lainnya.

3. Lessor mengirimkan letter of offer atau commitment letter kepada

lessee yang berisi syarat – syarat pokok persetujuan lessor untuk

membiayai barang modal yang dibutuhkan. Lessee

menandatangani dan mengembalikannya kepada lessor.

Page 6: BAB 2 LANDASAN TEORI - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2009-1-00502-TISI Bab 2.pdf · Dalam suatu perjanjian atau kontrak leasing, pihak bank atau kreditor

20

4. Penandatanganan kontrak leasing dilakukan setelah semua

persyaratan dipenuhi lessee dimana kontrak tersebut mencakup

hal – hal : pihak – pihak yang terlibat, hak milik, jangka waktu,

jasa leasing, opsi bagi lessee, penutupan asuransi, tanggung jawab

atas objek leasing, perpajakan jadwal pembayaran angsuran sewa

dan sebagainya.

5. Pengiriman order beli kepada pemasok disertai instruksi

pengiriman barang kepada lessee sesuai dengan tipe dan

spesifikasi barang yang telah disetujui.

6. Pengiriman barang dan pengecekan barang oleh lessee sesuai

pesanan serta menandatangani surat tanda terima dan perintah

bayar yang selanjutnya diserahkan kepada pemasok.

7. Penyerahan dokumen oleh pemasok kepada lessor termasuk

faktur dan bukti – bukti kepemilikan barang lainnya.

8. Pembayaran oleh lessor kepada pemasok.

9. Pembayaran sewa (lease payment) secara berkala oleh lessee

kepada lessor selama masa leasing yang seluruhnya mencakup

pengembalian jumlah yang dibiayai beserta bunganya.

2.2 Sistem Informasi

2.2.1 Pengertian Data

Menurut Turban (2009, p6), data merupakan fakta-fakta mentah atau

deskripsi dasar dari konsep-konsep, kejadian-kejadian, kegiatan-kegiatan, dan

transaksi yang dapat ditangkap, direkam, disimpan, dikelompokkan, tetapi tidak

Page 7: BAB 2 LANDASAN TEORI - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2009-1-00502-TISI Bab 2.pdf · Dalam suatu perjanjian atau kontrak leasing, pihak bank atau kreditor

21

terorganisir dalam membawakan suatu arti tertentu. Jadi data merupakan bentuk

yang masih mentah yang belum memiliki arti banyak, sehingga masih perlu

diolah lebih lanjut untuk menghasilkan informasi.

2.2.2 Pengertian Sistem

Menurut McLeod (2001, p15), sistem adalah sekelompok elemen yang

terintegrasi dengan tujuan yang sama untuk mencapai suatu tujuan. Sistem terdiri

dari dua jenis, yaitu sistem terbuka dan sistem tertutup. Sistem terbuka adalah

sistem yang dihubungkan dengan lingkungannya melalui arus sumber daya.

Sedangkan Sistem tertutup adalah sistem yang tidak lagi dihubungkan dengan

lingkungannya.

Menurut O’Brien (2003, p8), sistem merupakan sistem adalah

sekelompok komponen yang berhubungan yang bekerja sama untuk tujuan yang

sama dengan menerima input dan menghasilkan output dalam proses

transformasi yang terorganisir.

Model dasar dari sistem adalah :

• Input

Adalah sekumpulan data yang berasal dalam maupun luar

organisasi yang akan digunakan untuk proses sistem informasi.

• Process

Adalah kegiatan konversi, manipulasi, dan analisis data input

menjadi informasi yang lebih berharga bagi manusia.

Page 8: BAB 2 LANDASAN TEORI - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2009-1-00502-TISI Bab 2.pdf · Dalam suatu perjanjian atau kontrak leasing, pihak bank atau kreditor

22

• Output

Adalah kegiatan mendistribusikan informasi kepada orang atau

kegiatan yang memerlukannya.

Konsep sistem akan menjadi lebih berguna dengan memasukan dua

komponen tambahan, yaitu feedback dan control. Sistem yang memiliki

komponen feedback dan control seringkali disebut dengan sistem cybernetic,

yaitu sistem yang mampu memonitor dan mengatur dirinya sendiri.

• Feedback

Adalah data tentang kinerja dari sistem. Contohnya, data tentang

kinerja penjualan merupakan feedback sales manajer penjualan.

• Control

Control mencakup memonitor dan mengevaluasi feedback untuk

menentukan apakah suatu sistem bekerja seperti apa yang

diharapkan. Dengan adanya komponen control, maka dapat

dilakukan penyesuaian pada input dan proses, untuk

menghasilkan output yang diharapkan.

2.2.3 Pengertian Informasi

Menurut McLeod (2001, p12), informasi merupakan data yang telah

diproses atau data yang telah memiliki arti. Menurut O’Brien (2003, p13),

informasi adalah data yang telah mengalami proses konversi sehingga menjadi

lebih berarti dan berguna bagi pemakai.

Page 9: BAB 2 LANDASAN TEORI - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2009-1-00502-TISI Bab 2.pdf · Dalam suatu perjanjian atau kontrak leasing, pihak bank atau kreditor

23

Menurut McLeod (2001, p145), terdapat empat dimensi informasi, yaitu :

• Ketepatan waktu

Informasi harus dapat tersedia ketika dibutuhkan untuk

memecahkan suatu masalah.

• Kelengkapan

Informasi yang dapat diperoleh harus dapat memberikan

gambaran yang lengkap dari suatu permasalah, sehingga dapat

memberikan penyelesaian yang tepat pula.

• Akurasi

Informasi harus akurat untuk menunjang sistem yang akurat pula.

Akurasi selalu dibutuhkan untuk menghasilkan output yang benar,

terutama pada aplikasi-aplikasi tertentu seperti aplikasi yang

melibatkan keuangan.

• Relevansi

Informasi harus berkaitan langsung dengan masalah yang

dihadapi. Seorang manajer harus mampu memilih informasi yang

diperlukan untuk memecahkan suatu masalah.

2.2.4 Pengertian Sistem Informasi

Menurut McLeod (2001, p4), sistem informasi adalah suatu kombinasi

dari manusia, perangkat lunak, perangkat keras, jaringan komunikasi, dan

sumber daya data yang terintegrasi untuk mengumpulkan, mentransformasikan,

serta menyebarkan informasi dalam sebuah organisasi.

Page 10: BAB 2 LANDASAN TEORI - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2009-1-00502-TISI Bab 2.pdf · Dalam suatu perjanjian atau kontrak leasing, pihak bank atau kreditor

24

Menurut Turban (2009, p31), sistem informasi merupakan suatu sistem

yang mengumpulkan, memproses, menyimpan, menganalisis, dan menyebarkan

informasi untuk tujuan tertentu. Sistem informasi berbasis komputer adalah suatu

sistem informasi yang menggunakan teknologi komputer untuk mengerjakan

sebagian atau semua pekerjaan. Walaupun tidak semua sistem informasi

terkomputerisasi, namun saat ini hampir seluruhnya telah terkomputerisasi.

2.3 Sistem Informasi Geografi

2.3.1 Pengertian Sistem Informasi Geografi

Menurut Turban (2009, p277), sistem informasi geografi adalah teknologi

visualisasi data yang menangkap, menyimpan, memeriksa, menggabungkan,

memanipulasi, dan menampilkan data melalui peta yang digital. Secara garis

besar dapat dikatakan bahwa sistem informasi geografi dapat merepresentasikan

gambaran dunia nyata (peta) di atas monitor komputer dan ditambah dengan

kemampuan analisisnya.

Sedangkan menurut ESRI (http://www.gis.com/whatisgis), sistem

informasi geografis adalah suatu kumpulan yang terorganisir dari perangkat

keras komputer (hardware), perangkat lunas (software), data geografis dan

personil yang dirancang secara efisien untuk memperoleh, menyimpan,

memperbaharui, memanipulasi, menganalisis, dan menampilkan semua bentuk

informasi yang beresensi geografis.

Page 11: BAB 2 LANDASAN TEORI - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2009-1-00502-TISI Bab 2.pdf · Dalam suatu perjanjian atau kontrak leasing, pihak bank atau kreditor

25

2.3.2 Peta

Peta adalah suatu gambaran konvensional tentang pola – pola

kenampakan yang ada di permukaan bumi seolah – olah dilihat dari atas dan

ditambah dengan nama – nama untuk identifikasinya (Gunawan et al, 2007, p4).

Peta, menurut pengertian dari ICA (International Cartographic

Association), adalah suatu kenampakan nyata yang dipilih di permukaan bumi

atau benda – benda angkasa, atau kenampakan – kenampakan abstrak yang ada

di permukaan bumi, dan pada umumnya digambar pada suatu bidang datar dan

diperkecil dengan skala.

2.3.3 Model Data Peta

Menurut Prahasta (2002, p109), model data peta adalah notasi untuk

mendeskripsikan dan mengorganisasikan data dari sistem yang sedang diamati.

Model data peta yang digunakan dapat dibagi menjadi :

1. Titik (Node)

Merupakan representasi grafis yang paling sederhana untuk suatu

objek. Representasi ini tidak memiliki dimensi tetapi dapat

diidentifikasikan di atas peta dan ditampilkan pada layar monitor

dengan menggunakan simbol-simbol (Prahasta, 2002, p111). Jadi

model data peta berupa titik ini dapat dikatakan sebagai node pada

graph.

2. Garis

Merupakan bentuk linier yang menghubungkan titik-titik untuk

merepresentasikan objek-objek satu dimensi (Prahasta, 2002, p112).

Page 12: BAB 2 LANDASAN TEORI - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2009-1-00502-TISI Bab 2.pdf · Dalam suatu perjanjian atau kontrak leasing, pihak bank atau kreditor

26

Berdasarkan definisi sebelumnya maka garis merupakan bentuk

perwujudan dari edge pada suatu graph.

2.3.4 Graph

2.3.4.1 Pengertian Graph

Menurut Johnsonbaugh (2009, p378), suatu graph (undirected graph)

yang bila dinotasikan adalah G = (V, E), terdiri dari:

• Kumpulan node (simpul) atau verteks V.

• Kumpulan edge E dimana edge merupakan penghubung antara node

yang ada dalam graph.

Contoh graph:

Gambar 2.2 Contoh Graph

Graph dapat digunakan secara efektif untuk merefleksikan suatu

hubungan antar kota dalam suatu negara. Dalam hal ini, setiap kota didefinisikan

dengan node dan jarak yang menghubungkan kota-kota tersebut didefinisikan

dengan edge.

A

C D

B

E

Page 13: BAB 2 LANDASAN TEORI - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2009-1-00502-TISI Bab 2.pdf · Dalam suatu perjanjian atau kontrak leasing, pihak bank atau kreditor

27

2.3.4.2 Graph Berarah (Directed Graph)

Menurut Johnsonbaugh (2009, p378), graph berarah (directed graph)

merupakan graph yang setiap edge-nya memiliki orientasi arah tertentu terhadap

node yang saling terhubung. Suatu graph berarah (directed graph atau disebut

juga digraph) dinotasikan seperti e = (u,v). Hal itu dapat dijelaskan sebagai

berikut:

• Terdapat suatu edge yang menghubungkan node u ke node v.

• Node u adalah node awal dan node v adalah node akhir.

Gambar 2.3 Contoh Directed Graph

2.3.4.3 Graph Bernilai (Weighted Graph)

Menurut Johnsonbaugh (2009, p378), weighted graph merupakan graph

yang selain memiliki arah, juga memiliki berat atau nilai yang dituliskan pada

edge-nya. Nilai ini merepresentasikan jarak antara satu node ke node lain.

Dengan demikian pemberian nilai pada edge dapat digunakan untuk menghitung

total keseluruhan jarak yang harus ditempuh dari node awal ke node tujuannya.

1

3

2

4

5

Page 14: BAB 2 LANDASAN TEORI - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2009-1-00502-TISI Bab 2.pdf · Dalam suatu perjanjian atau kontrak leasing, pihak bank atau kreditor

28

Gambar 2.4 Contoh Graph Bernilai

2.3.5 Perbandingan Keuntungan Data Digital Dengan Data Analog

Keuntungan dari data digital dengan data analog dijabarkan pada tabel di

bawah ini (http://www.sli.unimelb.edu.au/gisweb/GISModule/GISTheory.htm) :

Tabel 2.1 Perbandingan keuntungan antara data digital dan data analog

Digital Analog

Mudah diupdate Harus mengubah seluruh peta jika ada

perubahan.

Transfer data mudah dan cepat

(melalui internet)

Transfer data lambat ( harus melalui pos)

Media penyimpanan yang diperlukan

adalah relatif kecil (alat-alat digital)

Media penyimpanan yang diperlukan adalah

relatf besar (perpustakaan peta tradisional)

Mudah untuk dipelihara Peta kertas tidak terintegrasi (sulit untuk

dipelihara)

Mudah dianalis dengan automatis Sulit dan tidak akurat untuk dianalisis

(contohnya untuk mengukur area dan jarak)

3

3

3

53

4

41

3

2

4

5

Page 15: BAB 2 LANDASAN TEORI - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2009-1-00502-TISI Bab 2.pdf · Dalam suatu perjanjian atau kontrak leasing, pihak bank atau kreditor

29

2.4 Algoritma

2.4.1 Pengertian Algoritma

Berdasarkan buku Computer Algorithms/C++ (Horowitz et al, 1998, p1)

terdapat beberapa pengertian mengenai algoritma, antara lain:

• Algoritma adalah metode yang dapat dipakai oleh komputer untuk

menyelesaikan suatu masalah. Pengertian ini pertama kali

dikemukakan oleh Abu Ja’far Mohammad ibn Musa al Khowarizmi

dari Persia pada bukunya yang berjudul Kitab al-jabr w’al-muqabala

(Rules of Restoration and Reduction).

• Algoritma adalah urut-urutan terbatas dari operasi-operasi yang

terdefinisi dengan baik yang masing-masing membutuhkan memori

dan waktu yang terbatas untuk menyelesaikan suatu masalah.

• Algoritma adalah sekumpulan instruksi yang harus dijalankan dan

harus berakhir prosesnya dengan mengeluarkan suatu keluaran.

Dari beberapa pengertian diatas dapat ditarik suatu kesimpulan bahwa

algoritma adalah urutan langkah-langkah penyelesaian masalah yang disusun

secara sistematis.

2.4.2 Analisis Algoritma

Menurut Jhonsonbaugh (2009, p193), analisis algoritma adalah suatu

proses untuk menentukan waktu dan ruang yang dibutuhkan untuk mengeksekusi

sebuah algoritma. Algoritma dirancang untuk bekerja dengan menerima masukan

dalam jumlah tertentu.

Page 16: BAB 2 LANDASAN TEORI - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2009-1-00502-TISI Bab 2.pdf · Dalam suatu perjanjian atau kontrak leasing, pihak bank atau kreditor

30

Menurut Horowitz (1998, p12), efesiensi atau kompleksitas dari

algoritma dapat ditentukan dari waktu yang dibutuhkan untuk mengeksekusi

sejumlah instruksi yang dilakukan (time complexity) dan memori yang

dibutuhkan (space complexity) berdasarkan jumlah input tertentu.

Menurut Jhonsonbaugh (2009, p194), ada 3 jenis waktu eksekusi pada

analisis algoritma:

1. Best-case time, yaitu waktu minimum yang dibutuhkan untuk

mengeksekusi algoritma dengan semua inputan berukuran n.

2. Worst-case time, yaitu waktu maksimum yang dibutuhkan untuk

mengeksekusi algoritma dengan semua inputan berukuran n.

3. Average-case time, yaitu waktu rata-rata yang dibutuhkan untuk

mengeksekusi algoritma dengan semua inputan berukuran n.

Menurut Horowitz (1998, p12), terdapat dua cara utama dalam

menganalisis suatu algoritma, yaitu :

1. Analisis Perkiraan Priori (priori estimate)

Merupakan analisis untuk mendapatkan waktu proses dalam bentuk

fungsi matematik. Analisis ini dilakukan sebelum algoritma tersebut

diproses dengan suatu komputer, fungsi waktu ini disimbolkan

dengan notasi O (notasi big oh).

2. Analisis Pengujian Posteriori (posteriori testing)

Merupakan analisis untuk mendapatkan waktu proses aktual dari

suatu algoritma. Hal ini dilakukan pada saat algoritma diproses oleh

komputer.

Page 17: BAB 2 LANDASAN TEORI - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2009-1-00502-TISI Bab 2.pdf · Dalam suatu perjanjian atau kontrak leasing, pihak bank atau kreditor

31

2.4.3 Kompleksitas Algoritma

Menurut Horowitz (1998, p33), mengetahui kompleksitas suatu program

sangat menentukan dalam menentukan berapa kebutuhan waktu untuk

memproses suatu algoritma. Asumsikan jika terdapat dua program (P dan Q),

dimana P memiliki kompleksitas O(n) dan Q memiliki kompleksitas O(n2), maka

dapat dipastikan kalau P akan lebih cepat dari Q untuk nilai n yang cukup besar.

Namun dalam menentukan kompleksitas mana yang akan dipilih, kita

perlu mengetahui berapa nilai n yang akan kita temukan. Contohnya, jika

program P berjalan dalam kecepatan 106n miliseconds, sedangkan program Q

berjalan dalam kecepatan 2n miliseconds, maka jika nilai n adalah ≤ 106, dan

kondisi yang lainnya adalah sama, program yang lebih baik adalah program Q.

Berikut adalah tabel pertumbuhan fungsi n.

Tabel 2.2 Fungsi Pertumbuhan n

Log n n n log n n2 n3 2n

0 1 0 1 1 2

1 2 2 4 8 4

2 4 8 16 64 16

3 8 24 64 512 256

4 16 64 256 4.096 65.536

5 32 160 1.024 32.768 4.294.967.296

Page 18: BAB 2 LANDASAN TEORI - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2009-1-00502-TISI Bab 2.pdf · Dalam suatu perjanjian atau kontrak leasing, pihak bank atau kreditor

32

2.5 Jaringan

2.5.1 Minimal Spanning Tree

Menurut Taha (2003, p215), minimal spanning tree digunakan untuk

menghubungkan node – node dalam jaringan secara langsung maupun tidak

langsung sehingga menghasilkan panjang terpendek untuk semua cabangnya.

Algoritma ini biasanya digunakan dalam konstruksi jalan yang menghubungkan

beberapa kota.

Langkah yang digunakan adalah sebagai berikut:

Step 0. Set C0 = Ǿ dan ĉ0 = N.

Step 1. Mulai dengan semua node, i, dalam ĉ0 yang tidak terhubung dan jadikan

C1 = {i}, dimana ĉ1 = N – {i}. Jadikan k = 2.

Step k. Pilih sebuah node, j*, dalam himpunan ĉk-1 yang tidak terhubung

memiliki jarak terpendek pada himpunan Ck-1 dan hapus node tersebut

dari Ck-1. Sehingga :

Ck = Ck-1 + {j*}, ĉk = ĉk-1 – {j*}

Jika himpunan node yang tidak terhubung pada ĉk kosong, selesai. Jika

tidak, jadikan k = k + 1 dan ulangi langkah tersebut.

Berikut adalah contoh persoalan dalam permasalahan minimal spanning

tree. Gambar di bawah ini menunjukkan hubungan kabel dalam suatu

perusahaan.

Page 19: BAB 2 LANDASAN TEORI - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2009-1-00502-TISI Bab 2.pdf · Dalam suatu perjanjian atau kontrak leasing, pihak bank atau kreditor

33

Gambar 2.5 Contoh Kasus Minimal Spanning Tree

Penyelesaiannya adalah sebagai berikut :

Gambar 2.6 Penyelesaian Untuk Minimal Spanning Tree Iterasi 1-2

Page 20: BAB 2 LANDASAN TEORI - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2009-1-00502-TISI Bab 2.pdf · Dalam suatu perjanjian atau kontrak leasing, pihak bank atau kreditor

34

Gambar 2.7 Penyelesaian Untuk Minimal Spanning Tree Iterasi 3-4

Gambar 2.8 Penyelesaian Untuk Minimal Spanning Tree Iterasi 5-6

2.5.2 Metode Shortest Path

2.5.2.1 Pengertian Shortest Path

Menurut Horowitz (1998, p241), pengertian shortest-path adalah

pencarian rute atau path terpendek dari node yang ada pada graph. Hasil dari

shortest-path yaitu biaya (cost) yang dihasilkan adalah yang paling minimum.

Page 21: BAB 2 LANDASAN TEORI - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2009-1-00502-TISI Bab 2.pdf · Dalam suatu perjanjian atau kontrak leasing, pihak bank atau kreditor

35

Cost dari shortest path dapat dihitung dari total nilai minimum yang ada pada

edge-nya.

Dalam mencari shortest path, hasil didapatkan setelah melewati node –

node tertentu, sampai akhirnya tujuan akhir node dapat dicapai. Untuk itu,

pencarian bukan hanya dilakukan dengan 1 alternatif, namun bisa ada kalanya

shortest path tersebut baru dapat ditemukan setelah membandingkan beberapa

alternatif untuk mencapai tujuan

2.5.2.2 Single Source Shortest Path

Menurut Horowitz (1998, p241), single source shortest path adalah jarak

terpendek dari setiap verteks tunggal pada graph berarah yang berbobot menuju

verteks tujuan tertentu. Disebut single source karena membutuhkan satu titik

sebagai awal pencarian. Algoritma yang termasuk single source shortest path ini

adalah Algoritma Dijkstra dan Bellman Ford.

2.5.2.3 Algoritma Dijkstra

Algoritma Dijkstra digunakan untuk menemukan path bernilai terkecil

dari verteks awal tunggal ke semua verteks pada graph. Algoritma ini ditemukan

oleh Edsgar Wybe Dijkstra (Horowitz et al, 1998, p243). Algoritma ini akan

melihat verteks yang terdeteksi dengan verteks awal, melihat successor dari

verteks tersebut kemudian memperbarui jaraknya dari awal, demikian seterusnya

sampai verteks tujuan berhasil ditemukan. Hasilnya pasti berupa jalur terpendek.

Page 22: BAB 2 LANDASAN TEORI - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2009-1-00502-TISI Bab 2.pdf · Dalam suatu perjanjian atau kontrak leasing, pihak bank atau kreditor

36

Jika dimisalkan ui adalah jarak terpendek dari node awal ke node ke-i,

dan ditentukan kalau dij ( ≥ 0 ) merupakan panjang jalur antara node ke-i dengan

node ke-j, maka algoritma untuk menentukan label node penerus berikutnya

dapat dirumuskan menjadi (Taha, 2003, p225) :

[uj,i] = [uj + dij , i] , dij ≥ 0

Label untuk node awal adalah [ 0, - ], menyatakan kalau node tersebut tidak

memiliki predecessor.

Label node dalam Dijkstra terbagi menjadi dua tipe, yaitu temporary dan

permanent. Node yang temporary akan diubah menjadi permanent ketika rute

yang terpendek telah ditemukan. Jika tidak ada rute terbaik yang dapat

ditemukan pula, maka status temporary juga akan berubah menjadi permanent.

Langkah 0. Labelkan node awal menjadi permanent [ 0, - ]. Nilai i adalah 1.

Langkah i. (a) Hitung temporary label [ ui + dij , i ] untuk setiap node j yang

dapat dicapai dari node ke-i, yang belum dilabelkan permanent. Jika

node j telah dilabelkan dengan [ uj , k ] melalui node lain ( k ), dan

jika ui + dij < uj, ubah nilai [uj , k] dengan [ ui + dij , i ].

(b) Jika semua node telah menjadi permanent, maka proses selesai.

Jika belum, maka pilih label [ur , s] yang memiliki jarak terpendek

(=ur) di antara label yang temporary. Nilai i = r, dan ulangi langkah

ke-i.

Page 23: BAB 2 LANDASAN TEORI - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2009-1-00502-TISI Bab 2.pdf · Dalam suatu perjanjian atau kontrak leasing, pihak bank atau kreditor

37

Gambar 2.9 Contoh Gambar untuk Algoritma Dijkstra

Langkah 0. Jadikan node 1 menjadi permanent [ 0, - ]

Langkah 1. Node 2 dan 3 dapat dicapai dari node 1. List dari node yang terkait

adalah seperti berikut :

Node Label Status

1 [0,-] Permanent

2 [0 + 100, 1] = [100, 1] Temporary

3 [0 + 30, 1] = [30, 1] Temporary

Dari dua temporary label di atas, node 3 memiliki jarak yang lebih

pendek, maka status dari node ke-3 berubah menjadi permanent.

Langkah 2. Node 4 dan node 5 dapat dicapai dari node 3. Maka list node yang

terkait adalah sebagai berikut :

Page 24: BAB 2 LANDASAN TEORI - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2009-1-00502-TISI Bab 2.pdf · Dalam suatu perjanjian atau kontrak leasing, pihak bank atau kreditor

38

Node Label Status

1 [0,-] Permanent

2 [100, 1] Temporary

3 [30, 1] Permanent

4 [30 + 10, 3] = [40, 3] Temporary

5 [30 + 60, 3] = [90, 3] Temporary

Status dari node ke-4 berubah menjadi permanent.

Langkah 3. Node 2 dan Node 5 dapat dicapai dari node 4. Maka list node yang

terkait adalah sebagai berikut :

Node Label Status

1 [0,-] Permanent

2 [40 + 15, 4] = [55, 4] Temporary

3 [30, 1] Permanent

4 [40, 3] Permanent

5 [90, 3] or [40 + 50, 4] = [90, 4] Temporary

Di sini terlihat, node 2 yang temporary labelnya memiliki jarak 100,

diubah menjadi [55, 4], yang menandakan kalau ada rute yang lebih

pendek, yaitu melalui node 4. Kemudian status node 2 berubah

menjadi permanent.

Langkah 4. Hanya node 3 yang dapat dicapai dari node 2, sedangkan node 3

telah permanent, dan statusnya tidak dapat diubah. List node yang

ada sama seperti langkah 3, hanya node 2 sekarang telah berubah

Page 25: BAB 2 LANDASAN TEORI - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2009-1-00502-TISI Bab 2.pdf · Dalam suatu perjanjian atau kontrak leasing, pihak bank atau kreditor

39

menjadi permanent. Sekarang hanya ada node 5 yang masih

temporary, dan statusnya diubah menjadi permanent. Selesai.

Pseudocode untuk algoritma Dijkstra (Horowitz, 1998, p244) adalah

sebagai berikut :

1 DijkstraShortestPaths(int v, float const[][SIZE],

2 float dist[], int n)

3 // dist[j], 1<=j<=n is set to the length of the

4 // shortest path from vertex v to vertex j in a

5 // digraph G with n vertices. dist[v] is set to

6 // zero. G is represented by its cost adjacency

7 // matrix cost[1:n][1:n]

8 {

9 int u; bool S[SIZE];

10 for (int i=1; i<=n; i++) { // Initialize S.

11 S[i] = false; dist[i] = cost[v][i];

12 }

13 S[v] = true; dist[v] = 0.0; // Put v in S.

14 for (int num = 2; num < n; num++ ){

15 // Determine n-1 paths from v.

16 choose u from among those vertices not

17 in S such that dist[u] us minimum;

18 S[u] = true; // Put v in S.

19 for (int w=1; w<=n; w++) // Update distances.

20 if ((S[q]==false && (dist[w]>dist[u]+cost[u][w]))

21 dist[w] = dist[u] + cost[u][w];

22 }

23 }

Page 26: BAB 2 LANDASAN TEORI - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2009-1-00502-TISI Bab 2.pdf · Dalam suatu perjanjian atau kontrak leasing, pihak bank atau kreditor

40

2.5.2.4 Algoritma Bellman – Ford

Menurut Horowitz (1998, p270), Algoritma Bellman Ford adalah

algoritma untuk menemukan shortest path dari suatu verteks awal menuju semua

verteks yang ada pada graph berarah yang berbobot. Algoritma ini menggunakan

rumus:

distk [u] = min {distk-1 [u], min {distk-1 [i] + cost [i] [u]}}

n = jumlah node

k = 2,3,…n-1

Hasil dari perhitungan rumus diatas dimasukkan dalam suatu tabel,

sehingga pada iterasi tertentu akan dapat dilihat jarak terpendeknya.

Gambar 2.10 Contoh Graph untuk Algoritma Bellman Ford

k=1

Pada k = 1 dilakukan inisialisasi jarak pada node yang langsung terhubung ke

node asal (node 1) sehingga didapatkan:

dist1 [1] = 0, dist [2] = 10, dist1 [3] = ~, dist1 [4] = 30, dist1 [5] =100

20

5010

50

30

10010

43

52

1

Page 27: BAB 2 LANDASAN TEORI - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2009-1-00502-TISI Bab 2.pdf · Dalam suatu perjanjian atau kontrak leasing, pihak bank atau kreditor

41

Tabel 2.3 Iterasi Algoritma Bellman Ford Untuk k = 1

dist k [1…5] k

1 2 3 4 5

1 0 10 ~ 30 100

2 ~ ~ ~ ~ ~

3 ~ ~ ~ ~ ~

4 ~ ~ ~ ~ ~

k = 2

untuk i = 2, 3, 4, 5 dan u = 1

dist2 [1] = min {dist1 [1], min {dist1 [i] + cost [i][1]}}

= min {0, 10 + ~, ~ + ~, 30 + ~, 100 + ~} = 0

untuk i = 1, 3, 4, 5 dan u = 2

dist2 [2] = min {dist1 [2], min {dist1 [i] + cost [i,2]}}

= min {10, 0+10, ~+~, 30+~, 100+~} = 10

untuk i = 1, 2, 4, 5 dan u = 3

dist2 [3] = min {dist1 [3], min {dist1 [i] + cost [i,3]}}

= min {~, 0+~, 10+50, 30+20, 100+~} = 50

untuk i = 1, 2, 3, 5 dan u = 4

dist2 [4] = min {dist1 [4], min {dist1 [i] + cost [i,4]}}

= min {30, 0+30, 10+~, ~+~, 100+~} = 30

untuk i = 1, 2, 3, 4 dan u = 5

Page 28: BAB 2 LANDASAN TEORI - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2009-1-00502-TISI Bab 2.pdf · Dalam suatu perjanjian atau kontrak leasing, pihak bank atau kreditor

42

dist2 [5] = min {dist1 [5], min {dist1 [i] + cost [i,5]}}

= min {100, 0+100, 10+~, ~+10, 30+50} = 80

Tabel 2.4 Iterasi Algoritma Bellman Ford Untuk k = 2

dist k [1…5] k

1 2 3 4 5

1 0 10 ~ 30 100

2 0 10 50 30 80

3 ~ ~ ~ ~ ~

4 ~ ~ ~ ~ ~

k = 3

untuk i = 2, 3, 4, 5 dan u = 1

dist3 [1] = min {dist2 [1], min {dist2 [i] + cost [i,1]}}

= min {0, 10+~, 50+~, 30+~, 80+~} = 0

untuk i = 1, 3, 4, 5 dan u = 2

dist3 [2] = min {dist2 [2], min {dist2 [i] + cost [i,2]}}

= min {10, 0+10, 50+~, 30+~, 80+~} = 10

untuk i = 1, 2, 4, 5 dan u = 3

dist3 [3] = min {dist2 [3], min {dist2 [i] + cost [i,3]}}

= min {50, 0+~, 10+50, 30+20, 80+~} = 50

Page 29: BAB 2 LANDASAN TEORI - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2009-1-00502-TISI Bab 2.pdf · Dalam suatu perjanjian atau kontrak leasing, pihak bank atau kreditor

43

untuk i = 1, 2, 3, 5 dan u = 4

dist3 [4] = min {dist2 [4], min {dist2 [i] + cost [i,4]}}

= min {30, 0+30, 10+~, 50+~, 80+~} = 30

untuk i = 1, 2, 3, 4 dan u = 5

dist3 [5] = min {dist2 [5], min {dist2 [i] + cost [i,5]}}

= min {80, 0+100, 10+~, 50+10, 80+50} = 60

Tabel 2.5 Iterasi Algoritma Bellman Ford Untuk k = 3

dist k [1…5] k

1 2 3 4 5

1 0 10 ~ 30 100

2 0 10 50 30 80

3 0 10 50 30 60

4 ~ ~ ~ ~ ~

k = 4

untuk i = 2, 3, 4, 5 dan u = 1

dist4 [1] = min {dist3 [1], min {dist3 [i] + cost [i,1]}}

= min {0, 10+~, 50+~, 30+~, 60+~} = 0

untuk i = 1, 3, 4, 5 dan u = 2

dist4 [2] = min {dist3 [2], min {dist3 [i] + cost [i,2]}}

= min {10, 0+10, 50+~, 30+~, 60+~} = 10

Page 30: BAB 2 LANDASAN TEORI - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2009-1-00502-TISI Bab 2.pdf · Dalam suatu perjanjian atau kontrak leasing, pihak bank atau kreditor

44

untuk i = 1, 2, 4, 5 dan u = 3

dist4 [3] = min {dist3 [3], min {dist3 [i] + cost [i,3]}}

= min {50, 0+~, 10+50, 30+20, 60+~} = 50

untuk i = 1, 2, 3, 5 dan u = 4

dist4 [4] = min {dist3 [4], min {dist3 [i] + cost [i,4]}}

= min {30, 0+30, 10+~, 50+~, 60+~} = 30

untuk i = 1, 2, 3, 4 dan u = 5

dist4 [5] = min {dist3 [5], min {dist3 [i] + cost [i,5]}}

= min {60, 0+100, 10+~, 50+10, 30+50} = 60

Tabel 2.6 Iterasi Algoritma Bellman Ford Untuk k = 4

dist k [1…5] k

1 2 3 4 5

1 0 10 ~ 30 100

2 0 10 50 30 80

3 0 10 50 30 60

4 0 10 50 30 60

Proses pencarian selesai dengan hasil shortest path sebesar 60.

Page 31: BAB 2 LANDASAN TEORI - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2009-1-00502-TISI Bab 2.pdf · Dalam suatu perjanjian atau kontrak leasing, pihak bank atau kreditor

45

Pseudocode untuk algoritma Bellman Ford (Horowitz, 1998, p273)

adalah sebagai berikut :

1 void BellmanFord (int v, float cost[][SIZE],

2 float dist[], const int n)

3 // Single-source/all-destinations shortest paths

4 // with negative edge costs

5 {

6 for (int i=1; i<=n; i++) //Initialize dist.

7 dist[i] = cost[v][i];

8 for (int k=2; k<=n-1; k++)

9 for (each u such that u!=v and u has

10 at least one incoming edge)

11 for (each <i,u> in the graph)

12 if (dist[u] > dist[i]+cost[i][u])

13 dist[u] = dist[i]+cost[i][u];

14 }

2.5.3 Maximal Flow Model

Menurut Taha (2003, p239), model ini biasanya digunakan pada jaringan

pipa yang mengalirkan minyak dari sumur ke tempat pengilangan, dimana setiap

segmen dalam pipa memiliki kapasitas maksimum. Pipa bisa saja satu arah

ataupun dua arah tergantung desainnya. Pipa yang memiliki satu arah memiliki

kapasitas tertentu untuk satu arah dan kapasitas kosong untuk arah yang

berlawanan.

Page 32: BAB 2 LANDASAN TEORI - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2009-1-00502-TISI Bab 2.pdf · Dalam suatu perjanjian atau kontrak leasing, pihak bank atau kreditor

46

Gambar di bawah ini menunjukkan jaringan pipa yang memiliki satu

sumber dan satu tujuan dan beberapa node pemompa.

Gambar 2.11 Contoh Kasus Jaringan Pipa

Solusi untuk problem di atas memerlukan pengubahan jaringan menjadi

satu sumber dan satu tujuan. Kebutuhan ini dapat dicapai dengan menggunakan

uni directional infinite capacity seperti yang digambarkan garis putus – putus

pada gambar di atas.

Jika arc (i, j) dengan i < j dimana kita menggunakan notasi (Cij, Cji) untuk

menunjukkan kapasitas arus dalam arah i menuju j, dan j menuju i. untuk

menghikangkan ambiguitas kita meletakkan Cij pada garis diatas node i dan Cji

diletakkan di sebelah node j seperti gambar di bawah ini.

Gambar 2.12 Penggambaran Flow

Page 33: BAB 2 LANDASAN TEORI - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2009-1-00502-TISI Bab 2.pdf · Dalam suatu perjanjian atau kontrak leasing, pihak bank atau kreditor

47

Berikut adalah langkah penyelesaian yang digunakan untuk untuk

menyelesaikan persoalan maximal flow.

1. Secara acak, pilih salah satu path dalam network dari asal ke

tujuan

2. Ubah kapasitas pada setiap node dengan mengurangi maximal

flow untuk path yang dipilih pada langkah 1.

3. Tambahkan maximal flow disekitar path ke flow pada arah yang

berlawanan pada setiap node.

4. Ulang langkah 1, 2, dan 3 sampai tidak ada lagi path dengan

kapasitas flow tersedia.

2.5.4 CPM and PERT

CPM (Critical Path Method) dan PERT (Program Evaluation and Review

Technique) merupakan metode berbasis jaringan yang digunakan untuk

membantu perencanaan, penjadwalan, dan kontrol suatu project. Suatu project

merupakan kumpulan dari aktivitas yang saling berkaitan dimana setiap aktivitas

memakan waktu dan resource. Tujuan dari CPM dan PERT adalah untuk

menyediakan alat analisis untuk fungsi penjadwalan aktivitas

Langkah pertama, kita menentukan aktivitas dalam project, kemudian

menentukan hubungan antar aktivitas dan kebutuhan waktunya. Kemudian

project diterjemahkan ke dalam suatu jaringan yang memperlihatkan hubungan

diantara aktivitas – aktivitas tersebut. Langkah terakhir, adalah menghitung

jaringan tersebut dalam basis yang berguna untuk pengembangan jadwal untuk

proyek tersebut.

Page 34: BAB 2 LANDASAN TEORI - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2009-1-00502-TISI Bab 2.pdf · Dalam suatu perjanjian atau kontrak leasing, pihak bank atau kreditor

48

Dalam pelaksanaan project tersebut jadwal mungkin tidak dapat terwujud

seperti yang direncanakan sehingga menyebabkan beberapa aktivitas tertunda.

Dalam kasus ini diperlukan update untuk mencerminkan kenyataan pada

lapangan. CPM dikembangkan untuk aktivitas yang bersifat deterministik,

sedangkan PERT digunakan untuk aktivitas yang bersifat probabilistik. PERT

berbeda dengan CPM karena basis durasinya pada suatu aktivitas terdiri atas tiga

perkiraan, yaitu:

• Optimistic time, a, yang mengasumsikan aktivitas berjalan lancar

• Most likely time, m, yang mengasumsikan aktivitas berjalan

dalam kondisi yang normal.

• Pessimistic time, b, yang mengasumsikan aktivitas berjalan tidak

lancar.

Oleh karena itu, durasi dinyatakan dalam:

64 bmaD ++

=

Berikut adalah contoh gambar project network yang terdiri atas 9

aktivitas yang berkaitan.

Gambar 2.13 Contoh Project Network

Page 35: BAB 2 LANDASAN TEORI - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2009-1-00502-TISI Bab 2.pdf · Dalam suatu perjanjian atau kontrak leasing, pihak bank atau kreditor

49

2.6 Pengertian Manajemen

Menurut James A.F. Stoner, manajemen adalah suatu proses

perencanaan, pengorganisasian, kepemimpinan, dan pengendalian upaya dari

anggota organisasi serta penggunaan semua sumber daya yang ada pada

organisasi untuk mencapai tujuan organisasi yang telah ditetapkan sebelumnya

(http://organisasi.org/pengertian_definisi_dari_manajemen).

Manajemen menggolongkan proses memimpin dan mengarahkan semua

atau sebagian organisasi (biasanya sebuah bisnis) melalui penyebaran dan media

sumber (manusia, finansial, material, intelektual, dan hal-hal lain yang tidak

kasat mata). Kata manage berasal dari bahasa Italia maneggiare, yang juga

didapatkan dari bahasa Latin manus, tangan. Seseorang dapat juga berpikir

tentang manajemen secara fungsional, sebagai sebuah tindakan untuk mengukur

suatu kuantitas secara teratur dan tentang menyesuaikan beberapa rencana awal;

atau sebagai tindakan yang diambil untuk mencapai tujuan yang dihadapkan

seseorang. Ini berlaku bahkan di situasi ketika perencanaan tidak ada. Menurut

pendapat Henry Fayol, manajemen terdiri dari lima fungsi yaitu perencanaan,

pengorganisasian, kepemimpinan, koordinasi, serta pengontrolan

(http://en.wikipedia.org/wiki/Management).

Sedangkan menurut Kamus Besar Bahasa Indonesia Edisi kedua pada

halaman 623, manajemen adalah :

1. proses penggunaan sumber daya secara efektif untuk mencapai

sasaran.

2. pimpinan yang bertanggung jawab atas jalannya perusahaan dan

organisasi.

Page 36: BAB 2 LANDASAN TEORI - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2009-1-00502-TISI Bab 2.pdf · Dalam suatu perjanjian atau kontrak leasing, pihak bank atau kreditor

50

2.7 Object Oriented Analysis and Design (OOAD)

2.7.1 Pengertian Object Oriented Analysis and Design (OOAD)

Menurut Whitten et al. (2004, p31), Object Oriented Analysis and Design

(OOAD) merupakan kumpulan alat dan teknik mengembangkan sistem dengan

menggunakan teknologi objek untuk merancang sebuah sistem dan programnya.

Sedangkan menurut Mathiassen et al. (2000, pp3-4), OOAD merupakan metode

untuk menganalisis dan merancang suatu sistem informasi dengan menggunakan

objek dan class sebagai konsep dasarnya.

2.7.2 Objek dan Class

Objek adalah sebuah entitas yang memiliki identitas, status, dan perilaku

(Mathiassen et al., 2000, p4). Contoh dari objek misalnya pelanggan. Pelanggan

merupakan entitas dengan identitas yang spesifik, dan memiliki status dan

perilaku tertentu yang khusus. Dalam desain, objek konsumen dapat

merepresentasikan bagian dari history dan state konsumen di dalam sistem.

Sedangkan class merupakan kumpulan objek yang memiliki struktur,

pola perilaku, dan atribut yang sama (Mathiassen et al., 2000, p4). Contoh dari

class misalnya pada pelanggan. Class pelanggan bisa menyimpan satu objek

pelanggan tertentu, dan pada class yang sama pula, terdapat banyak objek

pelanggan yang lain, masing – masing dengan identitas, state dan behaviour

yang unik.

Page 37: BAB 2 LANDASAN TEORI - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2009-1-00502-TISI Bab 2.pdf · Dalam suatu perjanjian atau kontrak leasing, pihak bank atau kreditor

51

2.7.3 Keuntungan dan Kelemahan Object Oriented Analysis and Design

Mathiassen et al. (2000, pp5-6) menyebutkan bahwa keuntungan

menggunakan OOAD adalah sebagai berikut:

1. OOAD memberikan informasi yang jelas mengenai context sistem.

2. Dapat menangani data yang seragam dalam jumlah yang besar dan

mendistribusikannya ke seluruh bagian organisasi.

3. Hubungan erat antara analisis berorientasi objek, perancangan

berorientasi objek, user interface berorientasi objek, dengan

pemrograman berorientasi objek.

Selain keuntungan yang diperoleh dalam menggunakan OOAD seperti

yang telah disebutkan di atas, ternyata juga terdapat beberapa kelemahan yang

berhasil diidentifikasi oleh McLeod (2001, p341) yaitu:

1. Diperlukan waktu lama untuk memperoleh pengalaman

pengembangan.

2. Kesulitan metodologi untuk menjelaskan sistem bisnis yang rumit.

3. Kurangnya pilihan peralatan pengembangan yang khusus disesuaikan

untuk sistem bisnis.

2.7.4 Aktivitas Utama Object Oriented Analysis and Design

Empat buah aktivitas utama dalam analisis dan perancangan berorientasi

objek yang digambarkan seperti gambar di bawah ini (Mathiassen et al, 2000,

pp14-15) :

Page 38: BAB 2 LANDASAN TEORI - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2009-1-00502-TISI Bab 2.pdf · Dalam suatu perjanjian atau kontrak leasing, pihak bank atau kreditor

52

Gambar 2.14 Aktivitas Utama dalam OOAD

Berikut ini merupakan penjelasan lebih rinci mengenai keempat aktivitas

utama dalam melakukan analisis dan perancangan berorientasi objek.

1. Analisis Problem Domain

Problem domain adalah bagian dari konteks yang diatur,

diawasi, dan dikendalikan oleh sistem. Tujuan analisis problem

domain adalah mengidentifikasi dan memodelkan problem domain

(Mathiassen et al. 2000, pp45-48).

Analisis problem domain terbagi menjadi tiga aktivitas yang

digambarkan dalam Gambar 2.8, yaitu:

a. Memilih objek, class, dan event yang akan terlibat dalam

model problem domain.

Page 39: BAB 2 LANDASAN TEORI - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2009-1-00502-TISI Bab 2.pdf · Dalam suatu perjanjian atau kontrak leasing, pihak bank atau kreditor

53

b. Melihat bagaimana hubungan antara class dan object secara

konsep berhubungan satu sama lain.

c. Mendeskripsikan properti dinamis dan atribut untuk setiap

class.

Gambar 2.15 Aktivitas Analisis Problem Domain

Pada aktivitas classes (Mathiassen et al. 2000, pp49-50),

langkah awal yang perlu dilakukan adalah menentukan class.

Langkah berikutnya adalah membuat sebuah event table yang dapat

membantu menentukan event-event yang dimiliki oleh setiap class.

Pada aktivitas structure (Mathiassen et al. 2000, p69), class-

class yang telah ditentukan sebelumnya akan dihubungkan

berdasarkan tiga jenis hubungan yaitu generalisasi, agregasi, atau

asosiasi sehingga menjadi sebuah skema yang disebut class diagram.

Page 40: BAB 2 LANDASAN TEORI - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2009-1-00502-TISI Bab 2.pdf · Dalam suatu perjanjian atau kontrak leasing, pihak bank atau kreditor

54

Dalam aktivitas behavior (Mathiassen et al. 2000, pp89-

93), definisi class dalam class diagram akan diperluas dengan

menambahkan deskripsi pola perilaku dan atribut dari masing-masing

class. Pola perilaku dari class terdiri dari tiga jenis, yaitu:

• Sequence

Merupakan event yang terjadi secara berurutan satu per satu.

• Selection

Merupakan pemilihan salah satu dari beberapa event yang

terjadi.

• Iteration

Merupakan event yang terjadi berulang kali.

Hasil dari aktivitas ini adalah sebuah statechart diagram yang

menunjukkan perubahan status dari masing-masing class yang

dikarenakan oleh event tertentu mulai dari initial state sampai dengan

final state.

2. Analisis Application Domain

Application domain merupakan organisasi yang mengatur,

mengawasi, atau mengendalikan problem domain. Tujuan

dilakukannya analisis application domain adalah untuk menentukan

kebutuhan penggunaan sistem (Mathiassen et al. 2000, pp115-118).

Page 41: BAB 2 LANDASAN TEORI - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2009-1-00502-TISI Bab 2.pdf · Dalam suatu perjanjian atau kontrak leasing, pihak bank atau kreditor

55

Sama seperti analisis problem domain, analisis application

domain juga terdiri dari beberapa aktivitas sebagai berikut:

a. Usage

Menentukan bagaimana sistem berinteraksi dengan orang dan

sistem dalam konteks yang sama.

b. Functions

Menentukan kemampuan sistem dalam mengolah informasi.

c. Interfaces

Menentukan kebutuhan interface sistem dan merancang

interface.

Berikut ini merupakan gambaran aktivitas-aktivitas yang

dilakukan pada saat melakukan analisis application domain.

Gambar 2.16 Aktivitas Analisis Application Domain

Tujuan dalam aktivitas usage adalah untuk menentukan

bagaimana actor berinteraksi dengan sistem. Langkah pertama yang

harus dilakukan adalah membuat actor table yang dapat membantu

menentukan actor dan use case yang berkaitan. Langkah selanjutnya

Page 42: BAB 2 LANDASAN TEORI - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2009-1-00502-TISI Bab 2.pdf · Dalam suatu perjanjian atau kontrak leasing, pihak bank atau kreditor

56

adalah membuat use case diagram sehingga terlihat lebih jelas

interaksi antara actor dengan masing-masing use case (Mathiassen et

al. 2000, pp119 – 120).

Functions merupakan fasilitas sistem yang menjadikan sistem

tersebut berguna bagi actor. Terdapat empat jenis function, yaitu

(Mathiassen et al. 2000, pp137 - 138):

• Update

Fungsi update diaktifkan oleh event problem domain dan

menghasilkan perubahan status model.

• Signal

Fungsi signal diaktifkan oleh perubahan status model dan

menghasilkan reaksi di dalam context.

• Read

Fungsi read diaktifkan oleh kebutuhan actor akan informasi

dan menghasilkan tampilan model sistem yang relevan.

• Compute

Fungsi compute diaktifkan oleh kebutuhan actor akan

informasi dan berisi perhitungan yang dilakukan baik oleh

actor maupun oleh model. Hasilnya adalah tampilan dari hasil

perhitungan yang dilakukan.

Aktivitas interface bertujuan untuk menentukan interface –

interface dalam sistem. Hasil dari aktivitas ini adalah dialogue style,

Page 43: BAB 2 LANDASAN TEORI - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2009-1-00502-TISI Bab 2.pdf · Dalam suatu perjanjian atau kontrak leasing, pihak bank atau kreditor

57

contoh tampilan window, dan mencakup pembuatan navigation

diagram yang merupakan skema yang menunjukkan tampilan dari

sistem dan relasi antar interface (Mathiassen et al. 2000, p151).

3. Architectural Design

Architectural design bertujuan untuk menstrukturisasi sebuah

sistem yang terkomputerisasi. Architectural design berfungsi sebagai

kerangka kerja dalam aktivitas pengembangan sistem dan

menghasilkan struktur komponen dan proses sistem (Mathiassen et

al. 2000, pp173 - 176).

Tahap architectural design terdiri dari tiga aktivitas yaitu

criteria, component architecture, dan process architecture seperti

yang digambarkan pada Gambar 2.17.

Gambar 2.17 Aktivitas Architectural Design

Tujuan dari aktivitas menentukan crieria adalah untuk

mendapatkan prioritas desain. Criterion adalah merupakan properti

Page 44: BAB 2 LANDASAN TEORI - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2009-1-00502-TISI Bab 2.pdf · Dalam suatu perjanjian atau kontrak leasing, pihak bank atau kreditor

58

yang diinginkan dari sebuah arsitektur. Desain yang baik memiliki

keseimbangan dalam beberapa criteria. Tabel 2.7 menunjukkan

criteria yang telah ditentukan oleh para peneliti untuk menentukan

kualitas dari sebuah software (Mathiassen et al. 2000, pp177 - 179).

Tabel 2.7 Criteria untuk Menentukan Kualitas Software

Criterion Ukuran

Usable Kemampuan sistem beradaptasi dengan context

organisasional dan teknikal.

Secure Pencegahan akses ilegal terhadap data dan fasilitas.

Efficient Eksploitasi ekonomis dari fasilitas technical platform.

Correct Kesesuaian dengan kebutuhan.

Reliable Fungsi yang dijalankan secara tepat.

Maintainable Biaya untuk mencari dan memperbaiki kerusakan sistem.

Testable Biaya untuk menjamin bahwa sistem melakukan fungsinya.

Flexible Biaya memodifikasi sistem.

Comprehensible Usaha yang diperlukan untuk memahami sistem.

Reusable Penggunaan bagian dari sistem ke dalam sistem lain yang

berkaitan.

Portable Biaya memindahkan sistem ke technical platform lain.

Interoperable Biaya pemasangan sistem dengan sistem lain.

Page 45: BAB 2 LANDASAN TEORI - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2009-1-00502-TISI Bab 2.pdf · Dalam suatu perjanjian atau kontrak leasing, pihak bank atau kreditor

59

Mathiassen et al. (2000, pp179-182) menyebutkan bahwa

kriteria usable, flexible, dan comprehensible tergolong sebagai

kriteria umum yang harus dimiliki oleh sebuah sistem dan

menentukan baik tidaknya suatu rancangan sistem.

Component architecture adalah struktur sistem dari

komponen-komponen yang berkaitan. Dalam aktivitas ini, perlu

ditentukan pola arsitektural yang paling sesuai dengan model sistem .

Pola-pola arsitektural tersebut antara lain:

• Layered Architecture Pattern

• Generic Architecture Pattern

• Client-Server Architecture Pattern

Hasil dari aktivitas ini adalah sebuah component diagram

yang merupakan class diagram yang dilengkapi dengan spesifikasi

komponen yang kompleks (Mathiassen et al., 2000, pp189 - 200).

Process architecture adalah sebuah struktur eksekusi sistem

yang terdiri dari proses-proses yang saling tergantung satu sama lain.

Dalam aktivitas ini juga perlu menentukan pola distribusi yang sesuai

dengan model sistem (Mathiassen et al., 2000, pp209 - 219). Pola-

pola distribusi yang ada sebagai berikut:

• Centralized Pattern

• Distributed Pattern

• Decentralized Pattern

Page 46: BAB 2 LANDASAN TEORI - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2009-1-00502-TISI Bab 2.pdf · Dalam suatu perjanjian atau kontrak leasing, pihak bank atau kreditor

60

Hasil dari aktivitas ini adalah sebuah deployment diagram

yang menunjukkan processor dengan program component dan active

objects.

4. Component Design

Component design bertujuan untuk menentukan implementasi

kebutuhan di dalam kerangka kerja arsitektural. Hasilnya adalah

deskripsi mengenai komponen-komponen sistem. (Mathiassen et al.,

2000, p231).

Component design terdiri dari tiga aktivitas, yaitu:

a. Model component

Merupakan bagian sistem yang mengimplementasikan model

problem domain. Dalam aktivitas ini dihasilkan sebuah class

diagram dari model component. Hasil revisi dari class

diagram dalam model component seringkali terdiri dari

beberapa classes, attributes, structures tambahan untuk

merepresentasikan event (Mathiassen et al., 2000, pp235 –

236).

b. Function component

Merupakan bagian sistem yang mengimplementasikan

kebutuhan fungsional. Hasilnya adalah class diagram dengan

operasi dan fungsi-fungsi yang kompleks (Mathiassen et al.,

2000, pp251 - 264).

Page 47: BAB 2 LANDASAN TEORI - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2009-1-00502-TISI Bab 2.pdf · Dalam suatu perjanjian atau kontrak leasing, pihak bank atau kreditor

61

Terdapat empat pola eksplorasi untuk merancang function

component, yaitu:

• Model-Class Placement

• Function-Class Placement

• Strategy

• Active Function

c. Connecting component

Merupakan desain hubungan antarkomponen untuk

memperoleh rancangan yang fleksibel dan mudah dimengerti.

Hasilnya adalah sebuah class diagram yang terdiri dari

komponen-komponen yang terlibat.

Gambar 2.18 Aktivitas Component Design

2.8 Unified Modeling Language (UML)

2.8.1 Sejarah UML

Pada akhir tahun 80-an dan awal tahun 90-an, sudah banyak terdapat

metode pemodelan berorientasi objek yang digunakan pada industri-industri,

Page 48: BAB 2 LANDASAN TEORI - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2009-1-00502-TISI Bab 2.pdf · Dalam suatu perjanjian atau kontrak leasing, pihak bank atau kreditor

62

diantaranya Booch Method yang diperkenalkan oleh Grady Booch, Object

Modeling Technique (OMT) yang diperkenalkan oleh James Rumbaugh, dan

Object-Oriented Software Engineering (OOSE) yang diperkenalkan oleh Ivar

Jacobson. Keberadaan berbagai metode tersebut justru menjadi masalah utama

dalam pengembangan sistem berorientasi objek, karena dengan banyaknya

metode pemodelan objek yang digunakan akan membatasi kemampuan untuk

berbagi model antar proyek dan antar tim pengembang. Hal tersebut

disebabkan oleh berbedanya konsep masing-masing metode pemodelan objek

sehingga menghambat komunikasi antara anggota tim dengan user yang

berujung pada banyaknya kesalahan atau error pada proyek. Dikarenakan

masalah-masalah tersebut, maka diperlukanlah suatu standarisasi penggunaan

bahasa pemodelan.

Pada tahun 1994, Grady Booch dan James Rumbaugh bekerja sama dan

menyatukan metode pengembangan berorientasi objek mereka dengan tujuan

untuk menciptakan sebuah sistem pengembangan berorientasi objek yang

standar. Pada tahun 1995 Ivar Jacobson ikut bergabung dengan mereka dan

ketiganya memusatkan perhatian untuk menciptakan sebuah bahasa pemodelan

objek yang standar, bukan lagi berkonsentrasi pada metode atau pendekatan

berorientasi objek. Berdasarkan pemikiran ketiga tokoh tersebut, maka

akhirnya pada tahun 1997 bahasa pemodelan objek standar Unified Modeling

Language (UML) versi 1.0 mulai diperkenalkan kepada masyarakat luas.

UML bukan merupakan metode untuk mengembangkan sistem,

melainkan hanya berupa notasi yang kemudian pada saat ini diterima dengan

luas sebagai bahasa pemodelan objek yang standar. Object Management Group

Page 49: BAB 2 LANDASAN TEORI - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2009-1-00502-TISI Bab 2.pdf · Dalam suatu perjanjian atau kontrak leasing, pihak bank atau kreditor

63

(OMG) mengadopsi UML pada bulan November 1997 dan sejak saat itu terus

mengembangkannya berdasarkan pada kebutuhan dunia industri. Pada tahun

2004, telah diluncurkan UML versi 1.4 dan pada saat itu juga OMG telah mulai

merencanakan pengembangan UML versi 2.0.

2.8.2 Diagram – Diagram UML

2.8.2.1 Activity Diagram

Activity Diagram digunakan untuk menggambarkan uraian aliran aktifitas

secara kronologis, bagian dari proses bisnis atau tahapan dari use case atau

logic dari behaviour suatu objek atau disebut sebagai method . Diagram ini

memodel langkah-langkah suatu proses atau kegiatan yang ada dalam sistem.

Diagram ini juga dapat untuk memodel aksi yang akan dilakukan ketika suatu

operasi dijalankan dan berikut hasil yang dikeluarkan dari aksi tersebut.

Activity Diagram memiliki kemiripan dengan flowchart. Perbedaannya adalah,

Activity diagram menyediakan mekanisme untuk menggambarkan aktifitas

yang muncul secara paralel. Activity Diagram ini dapat dilakukan pada tahap

analisis maupun pada perancangan. Berikut ini beberapa simbol yang

digunakan dalam diagram ini (Whitten et al., 2004, pp450-454).

Page 50: BAB 2 LANDASAN TEORI - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2009-1-00502-TISI Bab 2.pdf · Dalam suatu perjanjian atau kontrak leasing, pihak bank atau kreditor

64

Tabel 2.8 Keterangan Simbol yang Digunakan pada Activity Diagram

SIMBOL PENJELASAN SIMBOL

Menjelaskan tentang awal dari suatu proses

Menggambarkan suatu kegiatan atau tugas yang harus

dilakukan.

Disebut sebagai batang sinkronisasi (synchronization bar).

Simbol ini memungkinkan penggambaran dari kegiatan

yang dilakukan secara paralel (lebih dari satu kegiatan

dalam satu waktu) dan dapat ditaruh dari lebih dari satu

cabang.

[ ] Kata/kalimat yang ada dalam simbol ini merupakan

sebuah pemacu yang menghasilkan sebuah aktifitas

Simbol ini menggambarkan aktifitas pengambilan

keputusan.

Menggambarkan akhir dari suatu proses.

2.8.2.2 Class Diagram

Class Diagram menggambarkan struktur objek dari sistem. Class

diagram menunjukkan class objek yang membentuk sistem dan hubungan

struktural diantara class objek tersebut (Mathiassen et al., 2000, p336).

Terdapat tiga jenis hubungan antar class yang biasa digunakan dalam class

Page 51: BAB 2 LANDASAN TEORI - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2009-1-00502-TISI Bab 2.pdf · Dalam suatu perjanjian atau kontrak leasing, pihak bank atau kreditor

65

diagram (Whitten et al., 2004, pp455-459). Ketiga jenis hubungan tersebut

antara lain:

1. Asosiasi

Asosiasi merupakan hubungan statis antar dua objek atau class.

Hubungan ini menggambarkan apa yang perlu diketahui oleh sebuah

class mengenai class lainnya. Hubungan ini memungkinkan sebuah

objek atau class mereferensikan objek atau class lain dan saling

mengirimkan pesan.

Sumber: Whitten et al. (2004, p461)

Gambar 2.19 Contoh Hubungan Asosiasi

2. Generalisasi (atau Spesialisasi)

Dalam hubungan generalisasi, terdapat dua jenis class, yaitu class

supertype dan class subtype. Class supertype atau class induk

memiliki atribut dan behavior yang umum dari hirarki tersebut. Class

subtype atau class anak memiliki atribut dan behavior yang unik dan

juga memiliki atribut dan behavior milik class induknya. Class induk

merupakan generalisasi dari class anaknya, sedangkan class anak

merupakan spesialisai dari class induknya.

Page 52: BAB 2 LANDASAN TEORI - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2009-1-00502-TISI Bab 2.pdf · Dalam suatu perjanjian atau kontrak leasing, pihak bank atau kreditor

66

Sumber: Whitten et al. (2004, p461)

Gambar 2.20 Contoh Hubungan Generalisasi

3. Agregasi

Agregasi merupakan hubungan yang unik dimana sebuah objek

merupakan bagian dari objek lain. Hubungan agregasi tidak simetris

dimana jika objek B merupakan bagian dari objek A, namun objek A

bukan merupakan bagian dari objek B. Pada hubungan ini, objek yang

menjadi bagian dari objek tertentu tidak akan memiliki atribut atau

behavior dari objek tersebut.

Page 53: BAB 2 LANDASAN TEORI - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2009-1-00502-TISI Bab 2.pdf · Dalam suatu perjanjian atau kontrak leasing, pihak bank atau kreditor

67

Sumber: Whitten et al. (2004, p461)

Gambar 2.21 Contoh Hubungan Agregasi

Sumber: Whitten et al. (2004, p461)

Gambar 2.22 Contoh Class Diagram

2.8.2.3 Statechart Diagram

Statechart Diagram digunakan untuk memodelkan perilaku umum dari

sebuah objek dalam sebuah class yang spesifik dan berisi state dan transition

(Mathiassen et al., 2000, p341). Statechart diagram mengilustrasikan siklus

objek hidup yaitu berbagai status yang dapat dimiliki objek dan event yang

Page 54: BAB 2 LANDASAN TEORI - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2009-1-00502-TISI Bab 2.pdf · Dalam suatu perjanjian atau kontrak leasing, pihak bank atau kreditor

68

menyebabkan status objek berubah menjadi status lain (Whitten et al., 2004,

p700).

Statechart diagram dibuat dengan langkah-langkah sebagai berikut

(Whitten et al., 2004, p700):

1. Mengidentifikasi initial dan final state.

2. Mengidentifikasi status objek selama masa hidup objek tersebut.

3. Mengidentifikasi event pemicu perubahan status objek.

4. Mengidentifikasi jalur perubahan status.

Sumber: Mathiassen et al. (2000, p425)

Gambar 2.23 Contoh Statechart Diagram

Page 55: BAB 2 LANDASAN TEORI - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2009-1-00502-TISI Bab 2.pdf · Dalam suatu perjanjian atau kontrak leasing, pihak bank atau kreditor

69

2.8.2.4 Use Case Diagram

Use Case Diagram menggambarkan interaksi antara sistem dan user

(Whitten et al., 2004, p441). Use case diagram mendeskripsikan secara grafis

hubungan antara actors dan use case (Mathiassen et al., 2000, p343).

Penjelasan use case biasa ditambahkan untuk menjelaskan langkah-langkah

interaksi.

Library System

Visitor

Patron

Apply formembership

Search libraryinventory

Check out books

Sumber: Whitten et al. (2004, p282)

Gambar 2.24 Contoh Use Case Diagram

2.8.2.5 Sequence Diagram

Bennet et al. (2006, p253) mengemukakan bahwa sequence diagram

menunjukkan interaksi antar objek yang diatur berdasarkan urutan waktu.

Sequence diagram dapat digambarkan dalam berbagai level of detail yang

berbeda untuk memenuhi tujuan yang berbeda-beda pula dalam daur hidup

Page 56: BAB 2 LANDASAN TEORI - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2009-1-00502-TISI Bab 2.pdf · Dalam suatu perjanjian atau kontrak leasing, pihak bank atau kreditor

70

pengembangan sistem. Aplikasi sequence diagram yang paling umum adalah

untuk menggambarkan interaksi antar objek yang terjadi pada sebuah use case

atau sebuah operation.

Bennet et al. (2006, pp253-254) menyatakan bahwa setiap sequence

diagram harus diberikan frame yang memiliki heading dengan menggunakan

notasi sd yang merupakan kependekan dari sequence diagram. Bennet et al.

(2006, p270) juga menyatakan bahwa terdapat beberapa notasi penulisan

heading pada setiap frame yang terdapat dalam sequence diagram, antara lain:

a. alt

Notasi alt merupakan kependekan dari alternatives yang

menyatakan bahwa terdapat beberapa buah alternatif jalur eksekusi

untuk dijalankan.

b. opt

Notasi opt merupakan kependekan dari optional dimana frame yang

memiliki heading ini memiliki status pilihan yang akan dijalankan

jika syarat tertentu dipenuhi.

c. loop

Notasi loop menyatakan bahwa operation yang terdapat dalam frame

tersebut dijalankan secara berulang selama kondisi tertentu.

d. break

Notasi break mengindikasikan bahwa semua operation yang berada

setelah frame tersebut tidak dijalankan.

Page 57: BAB 2 LANDASAN TEORI - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2009-1-00502-TISI Bab 2.pdf · Dalam suatu perjanjian atau kontrak leasing, pihak bank atau kreditor

71

e. par

Merupakan kependekan dari parallel yang mengindikasikan bahwa

operation dalam frame tersebut dijalankan secara bersamaan.

f. seq

Notasi seq merupakan kependekan dari weak sequencing yang berarti

operation yang berasal dari lifeline yang berbeda dapat terjadi pada

urutan manapun.

g. strict

Notasi strict merupakan kependekan dari strict sequencing yang

menyatakan bahwa operation harus dilakukan secara berurutan.

h. neg

Notasi neg merupakan kependekan dari negative yang

mendeskripsikan operasi yang tidak valid.

i. critical

Frame yang memiliki heading critical menyatakan bahwa operasi-

operasi yang terdapat di dalamnya tidak memiliki sela yang kosong.

j. ignore

Notasi ini mengindikasikan bahwa tipe pesan atau parameter yang

dikirimkan dapat diabaikan dalam interaksi.

k. consider

Consider menyatakan pesan mana yang harus dipertimbangkan

dalam interaksi.

Page 58: BAB 2 LANDASAN TEORI - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2009-1-00502-TISI Bab 2.pdf · Dalam suatu perjanjian atau kontrak leasing, pihak bank atau kreditor

72

l. assert

Merupakan kependekan dari assertion yang menyatakan urutan pesan

yang valid.

m. ref

Notasi ref merupakan kependekan dari refer yang menyatakan bahwa

frame mereferensikan operation yang terdapat di dalamnya pada

sebuah sequence diagram tertentu.

Campaign Manager :Client

getName()

listCampaigns()

:Campaign

getCampaignDetails()

:Advert

loop [for all client’s campaigns]

listAdverts()

getAdvertDetails()loop [for all campaign’s adverts]

addNewAdverts()

AdvertnewAd:Advert

Sumber: Bennet et al. (2006, p254)

Gambar 2.25 Contoh Sequence Diagram

Page 59: BAB 2 LANDASAN TEORI - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2009-1-00502-TISI Bab 2.pdf · Dalam suatu perjanjian atau kontrak leasing, pihak bank atau kreditor

73

2.8.2.6 Navigation Diagram

Navigation Diagram merupakan statechart diagram khusus yang

berfokus pada user interface (Mathiassen et al., 2000, p344). Diagram ini

menunjukkan window-window dan transisi diantara window-window tersebut.

Sebuah window dapat digambarkan sebagai sebuah state. State ini

memiliki nama dan berisi gambar miniatur window. Transisi antar state dipicu

oleh ditekannya sebuah tombol yang menghubungkan dua window.

Gambar 2.26 Contoh Navigation Diagram

2.8.2.7 Component Diagram

Component Diagram merupakan diagram implementasi yang digunakan

untuk menggambarkan arsitektur fisik dari software sistem. Diagram ini dapat

menunjukkan bagaimana coding pemrograman terbagi menjadi komponen-

Page 60: BAB 2 LANDASAN TEORI - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2009-1-00502-TISI Bab 2.pdf · Dalam suatu perjanjian atau kontrak leasing, pihak bank atau kreditor

74

komponen dan juga menunjukkan ketergantungan antar komponen tersebut

(Whitten et al., 2004, p442).

Sebuah komponen digambarkan dalam UML sebagai sebuah kotak

dengan dua kotak kecil di sebelah kirinya. Ketergantungan antar dua

komponen menunjukkan bagaimana kedua komponen tersebut saling

berkomunikasi.

Sumber: Mathiassen et al. (2000, p201)

Gambar 2.27 Contoh Component Diagram

2.8.2.8 Deployment Diagram

Deployment Diagram, sama seperti component diagram, juga merupakan

diagram implementasi yang menggambarkan arsitektur fisik sistem.

Perbedaannya, deployment diagram tidak hanya menggambarkan arsitektur

Page 61: BAB 2 LANDASAN TEORI - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2009-1-00502-TISI Bab 2.pdf · Dalam suatu perjanjian atau kontrak leasing, pihak bank atau kreditor

75

fisik software saja, melainkan software dan hardware. Diagram ini

menggambarkan komponen software, processor, dan peralatan lain yang

melengkapi arsitektur sistem (Whitten et al., 2004, p442). Menurut Mathiassen

et al. (2000, p340), deployment diagram menunjukkan konfigurasi sistem

dalam bentuk processor dan objek yang terhubung dengan processor tersebut.

Setiap kotak dalam deployment diagram menggambarkan sebuah node

yang menunjukkan sebuah hardware. Hardware dapat berupa PC, mainframe,

printer, atau bahkan sensor. Software yang terdapat di dalam node

digambarkan dengan simbol komponen. Garis yang menghubungkan node

menunjukkan jalur komunikasi antar device. Gambar 3.23 berikut ini

menunjukkan sebuah contoh deployment diagram.

Sumber: Mathiassen et al. (2000, p217)

Gambar 2.28 Contoh Deployment Diagram