bab 2 landasan teori 2.1 sistem informasi akuntansi 2.1.1...
TRANSCRIPT
BAB 2
LANDASAN TEORI
2.1 Sistem Informasi Akuntansi
2.1.1 Pengertian Sistem Informasi Akuntansi
Menurut Romney and Steinbart (2006) dapat disimpulkan bahwa,
“Sistem informasi akuntansi adalah suatu sistem yang mengumpulkan,
mencatat, menyimpan dan memproses data untuk menghasilkan informasi
bagi para pengambil keputusan.” (p.6).
Menurut Gelinas, et al. (2005) dapat disimpulkan bahwa, ”Sistem
informasi akuntansi adalah suatu subsistem khusus dari Sistem Informasi
Manajemen yang bertujuan untuk mengumpulkan, memproses, dan
melaporkan informasi yang berhubungan dengan transaksi-transaksi
keuangan” (p.16).
Menurut Kieso, et al (2004), Sistem informasi akuntansi adalah
”the system of collecting and processing transaction data and
disseminating financial information to interested parties.” (p.62).
Menurut Jones and Rama (2006), Sistem informasi akuntansi
adalah “a subsistem of management information system that provides
accounting and financial information, as well as other information
obtained in the routine processing of accounting transactions.” (p.5).
Berdasarkan definisi-definisi tersebut, dapat disimpulkan bahwa
sistem informasi akuntansi adalah kesatuan kegiatan didalam organisasi
yang berbasis komputer dan digunakan untuk mengolah data-data akuntansi
10
dengan tujuan untuk menghasilkan informasi keuangan yang berguna bagi
pihak yang membutuhkan.
2.1.2 Komponen Sistem Informasi Akuntansi
Menurut Romney and Steinbart (2006) dapat disimpulkan bahwa,
“Sistem informasi akuntansi terdiri dari enam komponen, yaitu :
1. People, yang mengoperasikan sistem dan menampilkan berbagai fungsi;
2. Procedures and instructions, baik manual maupun otomatis termasuk
dalam kegiatan pengumpulan, pemrosesan, dan penyimpanan data
tentang kegiatan organisasi;
3. Data, tentang organisasi dan proses bisnis organisasi;
4. Software, digunakan untuk memproses data organisasi;
5. Information technology infrastructure, termasuk komputer, peripheral
devices, dan peralatan jaringan komunikasi yang digunakan untuk
mengumpulkan, memproses, menyimpan dan mentransformasikan data
dan informasi;
6. Internal control and security measures, yang menjaga keamanan data
dalam sistem informasi akuntansi.” (p.6-7).
2.1.3 Karakteristik Informasi yang Berguna
Romney and Steinbart (2006) menjelaskan beberapa karakteristik
sebuah informasi yang berguna sebagai berikut :”
11
1. Relevant, information is relevant if it reduces uncertainty, improve
decision makers’ ability to make predictions, or confirms or corrects
their prior expectations;
2. Reliable, information is reliable if it is free from error or bias and
accurately represents the events or activities of the organization;
3. Complete, information is complete if it does not omit important aspects
of the underlying events or activities that it measures;
4. Timely, information is timely if it is provided in time for decision makers
to make decisions;
5. Understandable, information is understandable if it is presented in a
useful and intelligible format;
6. Verifiable, information is verifiable if two knowledgeable people acting
independently would each produce the same information;
7. Accessible, information is accessible if it is available to users when they
nees it and in a format they can use.” (p.6).
2.2 Sistem Informasi Akuntansi Siklus Pendapatan (Revenue Cycle)
2.2.1 Pengertian Siklus Pendapatan (Revenue Cycle)
Menurut Jones and Rama (2006), “Revenue cycle including
customer inquiries, customer orders, providing goods or services, billing
customers, collecting cash, and depositing cash.” (p.476).
Menurut Bodnar and Hopwood (2004), “Revenue cycle
merupakan events related to the distribution of goods and services to other
entities and the collection of related payments.” (p.7).
12
Berdasarkan definisi-definisi tersebut, dapat disimpulkan bahwa
revenue cycle adalah kumpulan aktivitas bisnis yang mengatur proses
operasi informasi mulai dari penerimaan order dari pelanggan, pengiriman
barang atau jasa, proses billing, sampai pengumpulan pembayaran kas dari
hasil penjualan tersebut.
2.2.2 Tujuan Utama Siklus Pendapatan (Revenue Cycle)
Menurut Wilkinson, et al. (2000), Tujuan utama siklus pendapatan
sebagai berikut : “
1. To record sales orders promptly and accurately;
2. To verify that the customers are worthy of credit;
3. To ship the products or perform the services by agreed dates;
4. To bill or products or services in a timely and an accurate manner;
5. To record and classify cash receipt promptly and accurately;
6. To post sales and cash receipts to proper customers’ accounts in the
accounts receivable ledger;
7. To safeguard products until shipped;
8. To safeguard cash until deposited.” (p.416-417).
2.2.3 Informasi yang Dibutuhkan dalam Siklus Pendapatan (Revenue Cycle)
Menurut Romney and Steinbart (2006), dapat disimpulkan bahwa
informasi yang dibutuhkan dalam siklus pendapatan adalah sebagai
berikut:”
13
1. Response time to customer inquiries about account balances and order
status;
2. Decide whether to extend credit to a particular customer;
3. Determine inventory availability;
4. Select methods for delivering merchandise;
5. Time required to fill and deliver orders;
6. Percentage of sales that required back orders;
7. Customer satisfaction rates and trends;
8. Analyses of market share and sales trends;
9. Profitability analyses by product, customer, and sales region;
10.Sales volume in both dollars and number of customers;
11.Effectiveness of advertising and promotions;
12.Sales staff performance;
13.Bad-debt expenses and credit policies.” (p.382-383).
2.2.4 Aktivitas Utama dalam Siklus Pendapatan (Revenue Cycle)
Menurut Romney and Steinbart (2006), Terdapat 4 (empat)
kegiatan kerja dalam siklus pendapatan diantaranya sebagai berikut : “
1. Sales Order Entry;
2. Shipping;
3. Billing;
4. Cash Collections.” (p.356).
14
2.2.4.1 Proses Penerimaan Pesanan dalam Siklus Pendapatan
(Revenue Cycle)
Menurut Romney and Steinbart (2006) dapat disimpulkan
bahwa, “Kegiatan siklus pendapatan dimulai dari penerimaan
pesanan pelanggan. Proses penerimaan pesanan pelanggan terdiri
dari 3 (tiga) tahap diantaranya :
1. taking customer order
Data pesanan pelanggan dicatat dalam sales order. Sales
order berisi sejumlah informasi mengenai nomor barang,
jumlah barang, harga, dan keterangan penjualan lainnya;
2. credit approval
Bagi penjualan secara kredit, batasan kredit harus
disetujui terlebih dahulu sebelum diproses lebih lanjut. Bagi
pelanggan yang sudah lama, perusahaan melihat sejarah
pembayaran kreditnya untuk kemudian dapat diberikan atau
dinaikan batasan kreditnya;
3. checking inventory availability
Langkah selanjutnya adalah pengecekan ketersediaan
barang yang dipesan oleh pelanggan sehinggan kemudian
perusahaan menginformasikan kepada pelanggan mengenai
perkiraan tanggal pengiriman.” (p.356-362).
15
2.2.4.2 Proses Pengiriman Barang dalam Siklus Pendapatan
(Revenue Cycle)
Menurut Romney and Steinbart (2006) dapat disimpulkan
bahwa, “Kegiatan utama yang kedua dalam siklus pendapatan
adalah pengisian pesanan pelanggan dan pengiriman pesanan
pelanggan. Proses ini terdiri dari 2 (dua) tahap diantaranya :
1. picking and packing the order
Fungsi gudang menggunakan picking ticket untuk
mengidentifikasi produk dan jumlah masing-masing produk
yang akan dikeluarkan dari gudang. Barang yang dikeluarkan
dari gudang dihitung dan dicatat pada picking ticket kemudian
akan diserahkan ke fungsi pengiriman untuk dikirimkan;
2. shipping the order
Fungsi pengiriman membandingkan jumlah fisik
persediaan dengan jumlah yang ada pada picking ticket dan
sales order. Fungsi ini membawa surat muat (bill of lading)
yang merupakan perjanjian legal dalam memberikan
tanggungjawab terhadap barang yang dikirimkan.” (p.363-
365).
2.2.4.3 Proses Penagihan dalam Siklus Pendapatan (Revenue Cycle)
Menurut Romney and Steinbart (2006) dapat disimpulkan
bahwa, “Aktivitas utama yang ketiga berkaitan dengan billing
customer. Proses ini terdiri dari 2 (dua) tahap diantaranya :
16
1. invoicing
Kegiatan ini merupakan kegiatan pemrosesan informasi
yang dikemas kembali dan meringkas sejumlah informasi dari
pengisian sales order sampai kegiatan pengiriman. Dokumen
yang digunakan adalah sales invoice, yang menegaskan pada
pelanggan jumlah yang harus dibayar dan kemana pelanggan
harus mengirimkan pembayaran;
2. maintain accounts receivable
Fungsi piutang ini dibagi dalam 2 (dua) tugas utama
diantaranya yaitu menggunakan informasi dalam invoice
untuk men-debit akun pelanggan dan secara berkala
mengkredit akun ini ketika pembayaran diterima. Terdapat 2
(dua) cara untuk mengendalikan piutang yaitu :
• Open invoice method
Pelanggan biasanya membayar sejumlah uang
menurut masing-masing invoice. Biasanya, 2 (dua)
rangkap invoice yang akan dikirimkan ke pelanggan
dimana 1 (satu) rangkap akan dikembalikan jika
melakukan pembayaran. Copy ini disebut remittance
advice;
• Balance forward method
Pelanggan biasanya membayar menurut jumlah yang
ada pada laporan bulanan, dibandingkan menurut invoice
17
satuan. Laporan bulanan mendaftar semua transaksi
termasuk penjualan dan pembayaran yang ada selama
bulan terakhir serta menginformasikan pada pelanggan
jumlah saldo piutang terakhir.” (p.367-369).
2.2.4.4 Proses Penerimaan Kas dalam Siklus Pendapatan (Revenue
Cycle)
Menurut Romney and Steinbart (2006) dapat disimpulkan
bahwa, “Aktivitas terakhir dalam siklus pendapatan berkaitan
dengan penerimaan kas. Fungsi kasir akan melaporkan
penerimaan, menangani remittance pelanggan dan menyetorkan
uang ke bank.” (p.371).
2.2.5 Fungsi yang Terkait dalam Siklus Pendapatan (Revenue Cycle)
Menurut Bodnar and Hopwood (2004), dapat disimpulkan bahwa
fungsi yang terkait dalam siklus pendapatan meliputi : “
1. Fungsi Penjualan
Fungsi ini antara lain bertugas menerima pesanan pelanggan,
meminta otorisasi kredit, mengisi faktur penjualan tunai, serta
menentukan tanggal dan tujuan pengiriman;
2. Fungsi Kredit
Fungsi ini antara lain bertugas meneliti status kredit pelanggan
dan memberikan otorisasi kredit kepada pelanggan;
18
3. Fungsi Gudang
Fungsi ini antara lain bertugas menyimpan dan menyiapkan
barang yang dipesan pelanggan;
4. Fungsi Pengiriman
Fungsi ini antara lain bertugas menyerahkan barang atas dasar
surat pesanan penjualan yang diterimanya dari fungsi
penjualan;
5. Fungsi Penagihan
Fungsi ini antara lain bertugas memverifikasi pesanan
berdasarkan dokumen-dokumen pesanan yang diterimanya
kemudian membuat dan mengirimkan faktur kepada
pelanggan;
6. Fungsi Akuntansi
Fungsi ini antara lain bertugas membuat pencatatan transaksi
penjualan, piutang, serta penerimaan kas secara periodik;
7. Fungsi Kas
Fungsi ini antara lain bertanggung jawab sebagai penerima
kas dari hasil penjualan untuk diteruskan ke bank;
8. Fungsi Pemeriksa atau Audit Intern
Fungsi ini antara lain bertanggung jawab dalam melaksanakan
penghitungan kas yang ada di tangan fungsi kas secara
periodik, serta bertanggung jawab dalam melakukan
rekonsiliasi bank untuk mengecek ketelitian catatan kas yang
diselenggarakan oleh fungsi akuntansi.” (p.265-268, p.321).
19
2.2.6 Dokumen-Dokumen yang Digunakan dalam Siklus Pendapatan
(Revenue Cycle)
Menurut Wilkinson, et al. (2000), dapat disimpulkan bahwa
“Dokumen yang digunakan dalam siklus pendapatan adalah :
1. Customer order
Dokumen yang berisikan pesanan dari pelanggan yang ditujukan ke
perusahaan. Pelanggan dapat memberikan customer order ke
perusahaan atau salesperson menyiapkan formulir khusus untuk
mencatat pesanan pelanggan;
2. Sales order
Merupakan dokumen formal, dibuat secara ber-rangkap yang
dipersiapkan untuk mencatat pesanan pelanggan berdasarkan dokumen
customer order;
3. Order acknowledgment
Biasanya merupakan tembusan sales order yang dikirimkan ke
pelanggan yang memberitahukan bahwa pesanan-nya telah diterima dan
dalam proses pengiriman;
4. Picking list
Merupakan tembusan sales order atau dokumen terpisah yang
dikirimkan ke gudang untuk mengeluarkan barang yang dipesan dari
gudang;
20
5. Packing slip
Merupakan tembusan sales order yang ditempelkan pada pembungkus
barang untuk memudahkan fungsi penerimaan di perusahaan pelanggan
dalam mengidentifikasi barang-barang yang diterimanya;
6. Billing of lading
Merupakan dokumen pengiriman yang digunakan sebagai bukti
penyerahan barang dari perusahaan kepada perusahaan angkutan umum;
7. Shipping notice
Merupakan tembusan sales order atau dokumen pengiriman terpisah
yang dikirimkan ke pelanggan sebagai bukti bahwa barang telah
dikirimkan;
8. Sales invoice
Merupakan dokumen yang dikirimkan ke pelanggan yang berisi
sejumlah barang yang dipesan dan harus dibayar;
9. Remittance advice
Merupakan dokumen yang memperlihatkan sejumlah pembayaran yang
diterima perusahaan dari pelanggan;
10. Deposit slip
Merupakan dokumen yang digunakan untuk menyetorkan uang di bank;
11. Back order
Merupakan surat pemberitahuan yang disiapkan saat barang yang
dipesan tidak memenuhi jumlah pesanan atau tidak sesuai dengan sales
order;
21
12. Credit memo
Merupakan dokumen yang menyatakan untuk meng-credit penjualan
pelanggan karena adanya retur atau allowance;
13. Credit application
Merupakan formulir yang dipersiapkan ketika pelanggan baru meminta
permohonan kredit. Formulir ini berisi rincian kondisi data pelanggan
dan tingkat pendapatan-nya;
14. Salesperson call report
Merupakan formulir yang menggambarkan bahwa pesanan pelanggan
yang lewat di tangannya telah dipenuhi sehingga laporan ini dapat
digunakan untuk menghitung kemungkinan komisi yang diperoleh
salesperson atas penjualan yang menjadi haknya;
15. Deliquent notice
Merupakan dokumen surat pemberitahuan ke pelanggan yang berisi
saldo akhir piutang pelanggan telah lewat jatuh tempo;
16. Write-off notice
Merupakan dokumen yang disiapkan oleh manajer kredit ketika sebuah
akun piutang menunjukkan posisi tidak tertagih;
17. Cash register receipts
Merupakan formulir yang digunakan oleh perusahaan untuk
menggambarkan kas yang diterima.” (p.419).
22
2.2.7 Catatan Akuntansi yang Digunakan dalam Siklus Pendapatan
(Revenue Cycle)
Menurut Wilkinson, et al. (2000), dapat disimpulkan bahwa
“Catatan akuntansi yang digunakan dalam siklus pendapatan terdiri dari :
1. Sales Journal
Jurnal penjualan digunakan untuk mencatat transaksi penjualan,
baik secara tunai maupun kredit;
2. The Credit Memo Journal
Jurnal memo kredit digunakan untuk mencatat berkurangnya
pendapatan penjualan dan piutang dagang akibat dari transaksi retur
penjualan;
3. Cash Receipts Journal
Dalam prosedur pencatatan piutang, jurnal penerimaan kas
digunakan untuk mencatat berkurangnya piutang atas transaksi
penerimaan kas dari debitur;
4. Account Receivable Subsidiary Ledger
Catatan akuntansi ini merupakan buku pembantu yang berisi
rincian mutasi piutang perusahaan kepada tiap-tiap debiturnya.” (p.437).
2.2.8 Analisa Kredit
Secara tidak langsung setiap perusahaan yang melaksanakan
penjualan kredit melakukan analisa terhadap kredit yang akan diberikan ke
pelanggannya. Menurut Munawir (2004) dapat disimpulkan bahwa,
“Syarat-syarat pemberian kredit dikenal dengan 5 C, yaitu sebagai berikut :
23
1. Character
Keterangan mengenai sifat-sifat pribadi pelanggan dalam
memenuhi kewajiban keuangannya. Karakter mencerminkan kejujuran
seseorang. Para manajer kredit seringkali mencari informasi dari rekan-
rekan kerja, pegawai dan saingan mengenai reputasi, kebiasaan
pelanggan dan pergaulan sosialnya;
2. Capacity
Hal ini menyangkut kemampuan pimpinan perusahaan pelanggan
beserta staff-nya, baik kemampuan dalam manajemen maupun keahlian
dalam bidang usahanya. Kapasitas pelanggan dapat dilihat dari angka
penjualan dan pembeliannya, angka hasil produksi, perhitungan laba-
rugi perusahaan, dan data finansial lainnya;
3. Capital
Hal ini mengacu pada kondisi umum bisnis pelanggan secara
keseluruhan yang ditunjukkan dalam laporan keuangan. Manajer kredit
biasanya memberikan perhatian khusus pada solvabilitas, likuiditas dan
rentabilitas pelanggan terhadap kewajiban-kewajibannya;
4. Collateral
Collateral berarti jaminan. Hal ini menunjukkan besarnya aktiva
yang akan dikaitkan sebagai jaminan atas kredit yang diberikan ke
pelanggan;
5. Conditions
Hal ini mengacu pada kondisi ekonomi secara umum dan kondisi
pada sektor usaha si pelanggan yang dapat mempengaruhi kemampuan
24
pelanggan untuk membayar. Contohnya : pada saat resesi ekonomi,
manajer kredit akan memperketat limit kredit atas penjualan sebagai
antisipasi terhadap kemungkinan turunnya kemampuan membayar si
pelanggan.” (h.235-236).
2.3 Pengendalian Intern Atas Siklus Pendapatan (Revenue Cycle)
2.3.1 Pengertian Pengendalian Intern (Internal Control)
Menurut Jones and Rama (2006), pengendalian internal adalah
“the rules, policies, procedurres, and information system used to ensure
that a company’s financial data are accurate and reliable and to protect a
company’s assets from loss or theft.” (p.13).
Menurut Arens, et al. (2005), “Internal Control is a policies and
procedures designed to provide management with reasonable assurance
that the company achieves its objectives and goals.” (p.270).
Menurut Romney and Steinbart (2006), berdasarkan Committee of
Sponsoring Organizations (COSO) dapat disimpulkan bahwa, “Internal
Control is a process effected by an entity’s board of directors,
management, and other personnel – designed to provide reasonable
assurance regarding the achievement of objectives.” (p.195).
Berdasarkan definisi-definisi tersebut, dapat disimpulkan bahwa
Pengendalian internal adalah suatu pengendalian yang dipengaruhi oleh
manajemen dalam melindungi kekayaan perusahaan, mengecek keakuratan
dan keandalan data dan informasi keuangan yang diperoleh, dan
memastikan segala kebijakan dan peraturan perusahaan dipatuhi.
25
2.3.2 Tujuan Sistem Pengendalian Intern
Menurut Romney dan Steinbart (2006), berdasarkan COSO,
“Tujuan sistem pengendalian intern adalah sebagai berikut :
1. menghasilkan laporan keuangan yang dapat dipercaya (reliablility of
financial reporting);
2. menghasilkan operasi yang efektif dan efisien (effectiveness and
efficiency of operations);
3. memenuhi dalil dan peraturan yang ditetapkan (compliance with
applicable laws and regulations).” (p.196).
2.3.3 Komponen Sistem Pengendalian Intern
Menurut Romney dan Steinbart (2006), berdasarkan COSO,
”Terdapat lima komponen yang saling berhubungan dalam sistem
pengendalian intern antara lain sebagai berikut:
1. Control Environment
Inti dari semua bisnis adalah orangnya – sifat masing-masing
individu, termasuk integritas, nilai etika, dan kemampuan – dan
lingkungan dimana mereka beroperasi. Mereka adalah alat yang
mengendalikan organisasi dan merupakan dasar dari segala sesuatu;
2. Control Activities
Prosedur dan kebijakan pengendalian harus ditetapkan dan
dijalankan untuk membantu meyakinkan bahwa tindakan yang
dilakukan oleh pihak manajemen untuk menanggulangi resiko dan
untuk mencapai tujuan organisasi terlihat efektif;
26
3. Risk Assessment
Perusahaan harus berhati-hati terhadap resiko yang dihadapi.
Perusahaan harus membentuk suatu tujuan, yang digabungkan dengan
penjualan, produksi, pemasaran, keuangan, dan aktivitas lainnya
sehingga perusahaan dapat beroperasi dengan baik. Perusahaan juga
harus menyusun sebuah mekanisme untuk mengidentifikasi,
menganalisis dan mengatur resiko-resiko yang berhubungan dengan
masing-masing bagian;
4. Information and Communication
Yang mengelilingi aktivitas pengendalian adalah sistem informasi
dan komunikasi. Mereka memungkinkan orang-orang dari perusahaan
menerima dan saling bertukar informasi yang dibutuhkan untuk
memimpin, mengatur, dan mengontrol operasi yang ada;
5. Monitoring
Keseluruhan proses harus diawasi dan melakukan perubahan bila
diperlukan. Dengan cara ini, sistem dapat bereaksi dengan lebih
dinamis, berubah sesuai dengan kondisi yang ada.” (p. 196).
2.3.4 Pengendalian Aplikasi dalam Siklus Pendapatan (Revenue Cycle)
Menurut Wilkinson, et al. (2000) dapat disimpulkan bahwa,
”Pengendalian aplikasi yang relevan dalam siklus pendapatan adalah :
27
Input controls
1. Menyiapkan dan merancang dokumen-dokumen yang berhubungan
dengan penjualan, pengiriman barang, dan penerimaan kas dengan
bernomor urut tercetak serta diotorisasi oleh orang yang berwenang;
2. Melakukan validasi data pada sales order dan remittance advice
dan memasukkannya dalam proses;
3. Memperbaiki kesalahan yang terdeteksi saat data dimasukkan,
sebelum data dikirimkan ke pelanggan dan persediaan dicatat;
Processing controls
1. Mengeluarkan barang dari gudang dan mengirimkan barang
tersebut hanya atas dasar otorisasi tertulis, seperti picking lists;
2. Pengiriman faktur ke pelanggan dilakukan atas dasar notifikasi dari
fungsi pengiriman mengenai barang yang telah dikirimkan;
3. Penerbitan memo kredit untuk retur penjualan hanya dilakukan jika
barang telah dikembalikan;
4. Verifikasi semua data komputer terhadap faktur penjualan sebelum
dikirimkan ke akun pelanggan. Lalu bandingkan faktur penjualan
dengan dokumen pengiriman untuk meyakinkan bahwa barang yang
dikirim sesuai pesanan;
5. Verifikasi bahwa jumlah total akun piutang yang terjadi sama
dengan jumlah total yang telah dimasukkan dalam catatan
komputer, dan mengirimkannya ke akun buku besar;
6. Simpan semua kas segera setelah diterima untuk menghindari
penyelewengan dana;
28
7. Perbaiki kesalahan yang terjadi selama langkah proses ini dengan
mem-posting balik akun yang salah dan memasukkan akun yang
benar;
Output controls
1. Menyiapkan laporan secara bulanan yang harus dikirim kepada
semua pelanggan yang berhutang;
2. Copy file semua dokumen yang berhubungan dengan transaksi
penjualan dan penerimaan kas diberi nomor urut sehingga
memudahkan pengecekan dan tidak ada nomor yang terlewat;
3. Mencetak daftar ringkasan transaksi dan akun-akun secara periodik
sebagai dasar untuk melakukan review.” (p.453).
29
2.4 Metode Analisis dan Perancangan Berorientasi Objek
2.4.1 Objek
Menurut Whitten, et al. (2004), “objek adalah enkapsulasi data
(yang disebut properti) yang menggambarkan orang, tempat, kejadian, atau
barang dengan seluruh prosesnya (yang disebut method) yang dapat
digunakan atau diupdate data dan propertinya.” (p.109).
Objek merupakan dasar dalam Object Oriented Analysis and
Design (OOA&D). Menurut Mathiassen, et al. (2000), “objek adalah suatu
entitas dengan identitas, state, dan behaviour.” (p.4). Setiap objek tidak
digambarkan secara sendiri-sendiri, melainkan istilah class digunakan
untuk menggambarkan kumpulan objek-objek. Menurut Mathiassen, et al.
(2000) dapat disimpulkan bahwa, “class adalah sebuah gambaran dari
kumpulan objek yang memiliki struktur, atribut, dan pola tingkah laku yang
digunakan secara bersama-sama.” (p.4).
Berdasarkan definisi diatas dapat disimpulkan bahwa objek adalah
suatu bentuk nyata yang dapat dilihat, disentuh, atau dirasakan dimana
pemakai dapat menyimpan data dan berasosiasi dengan tingkah lakunya.
2.4.2 Kegiatan Utama dan Hasil dari Analisa dan Perancangan Berorientasi
Objek
Menurut Mathiassen, et al. (2000), “Kegiatan utama dan hasil dari
analisa dan perancangan orientasi objek dapat dilihat pada Gambar 2.1
dibawah :
30
Application-domain analysis
Problem-domainanalysis
Componentdesign
Architecturaldesign
Model
Specifications ofarchitecture
Specifications ofcomponent
Requirementfor use
Gambar 2.1 Main Activities and results in object-oriented analysis and design Sumber: Mathiassen,et al. (2000, p15)
2.4.3 System Definition
Menurut Mathiassen, et al. (2000), “System definition adalah suatu
gambaran umum sistem terkomputerisasi yang dinyatakan dalam bahasa
yang umum.” (p.24).
Rich Pictures
Menurut Mathiassen, et al. (2000), “rich picture adalah suatu
gambaran informal yang ditampilkan oleh illustrator dalam memahami
sebuah situasi.” (p.26). Rich picture juga dapat digunakan sebagai alat yang
berguna untuk memfasilitasi dan menggambarkan komunikasi yang baik
antara pengguna dengan sistem.
Rich picture memfokuskan pada aspek-aspek penting dari sistem
tersebut, yang ditentukan sendiri oleh pengembang sistem dengan
membiasakan diri dalam situasi yang terjadi, mencari informasi dari banyak
31
orang untuk mengetahui apa yang harus terjadi atau seharusnya terjadi, dan
mungkin melakukan beberapa wawancara formal.
2.4.4 The FACTOR Criterion
Menurut Mathiassen, et al. (2000), “Kriteria FACTOR terdiri dari
6 (enam) elemen dan disajikan dalam Tabel 2.1 di bawah ini.” (p.39-40).
Elemen ini sebagai keputusan dasar yang berkaitan dalam menghasilkan
solusi yang terkomputerisasi.
Kriteria Penjelasan
Functionality Fungsi sistem yang mendukung tugas-tugas application-domain
Application Domain Bagian organisasi yang mengadministrasi, memonitor, dan
mengontrol problem-domain
Condition Kondisi dimana sistem akan dikembangkan dan digunakan
Technology Mencakup teknologi yang digunakan untuk mengembangkan
sistem dan teknologi dimana sistem akan dijalankan
Objects Objek utama dari problem-domain
Responsibility Tanggung jawab keseluruhan dari sistem dalam hubungannya
dengan konteks
Tabel 2.1 The FACTOR Criterion
2.4.5 Problem-Domain
Menurut Mathiassen, et al. (2000), “Problem-domain merupakan
bagian dari context yang diadministrasikan, dimonitor, atau dikendalikan
oleh sebuah sistem.” (p.45). Tujuan dari analisis problem-domain adalah
untuk mengidentifikasikan dan membuat model dari problem-domain.
32
Tujuan dari aktivitas ini adalah membangun sebuah model yang dapat
digunakan untuk merancang dan mengimplementasikan sebuah sistem yang
dapat memproses, berkomunikasi dan menyajikan informasi mengenai
problem domain. Analisis problem-domain memfokuskan pada informasi
apa yang harus ditangani oleh sistem dan menghasilkan sebuah model yang
merupakan gambaran dari kelas-kelas, objek-objek, struktur dan perilaku
yang sama dalam problem-domain.
Aktivitas dalam analisis problem domain dapat dilihat pada Gambar 2.2
dibawah ini :
Behavior
Classes
Structure
System definition
Model
Gambar 2.2 Aktivitas pada problem-domain analysis Sumber: Mathiassen,et al. (2000, p46)
2.4.5.1 Classes
Mengacu pada Mathiassen, et al. (2000) kegiatan classes
merupakan kegiatan pertama dalam analisis problem-domain. Ada
beberapa tugas utama dalam kegiatan ini yaitu: abstraksi
fenomena dari problem-domain dalam objek dan event; klasifikasi
objek dan event; pemilihan kata class-class dan event-event yang
akan dipelihara informasinya oleh sistem.
33
Pemilihan class-class tersebut bertujuan untuk
mendefinisikan dan membatasi problem-domain. Sementara
pemilihan kumpulan event yang dialami atau dilakukan oleh satu
atau lebih objek bertujuan untuk membedakan tiap-tiap class
dalam problem-domain.
Kegiatan class akan menghasilkan event table. Dimensi
horisontal dari event table berisi class-class yang terpilih,
sementara dimensi vertikal berisi event-event terpilih dan tanda
cek ( √ ) digunakan untuk mengidentifikasikan objek-objek dari
class yang berhubungan dalam event tertentu. Untuk lebih
jelasnya, event table dapat dilihat pada Tabel 2.2 berikut ini :
(p.49).
Tabel 2.2 Contoh event-table Sumber: Mathiassen,et al. (2000, p50)
Classes Events Customer Assistant Apprentice Appointment Plan
Reserved √
√
√ √
Cancelled
√
Treated
√
Employed
√
√
Resigned
√
√
Graduated
√
Agreed
√
√
√
34
2.4.5.2 Structure
Mengacu pada Mathiassen, et al. (2000) kegiatan kedua
dalam analisis problem-domain ini bertujuan untuk
menggambarkan hubungan struktural yang abstrak dan umum
antara classes dan mencari hubungan yang konkrit dan spesifik
antar objek-objek dalam problem-domain. (p.69).
Menurut Mathiassen, et al. (2000), “Ada empat tipe
hubungan struktural dimana keempatnya dibagi ke dalam dua
bagian yaitu:
1. Class structure, menggambarkan hubungan konseptual yang
statis antar class, yang meliputi :
o Generalization
Generalisasi adalah suatu kelas umum (super
class) yang menggambarkan keadaan atau sifat yang
sama ke dalam kelompok class yang lebih khusus (sub
class). Generalisasi diformulasikan sebagai hubungan “is
a”.
o Cluster
Cluster adalah kumpulan class yang saling
berhubungan yang dapat menyediakan ringkasan
problem-domain.
2. Object structure, menggambarkan hubungan yang dinamik
dan konkret antara objek-objek dalam problem domain, yang
meliputi :
35
o Aggregation
Agregasi adalah sebuah objek superior (the whole)
yang terdiri dari sejumlah objek (the parts). Agregasi
diformulasikan sebagai hubungan “has a”.
o Association
Asosiasi adalah hubungan yang memiliki arti antara
sejumlah objek. Hubungan ini berbeda dari hubungan
agregasi karena objek yang satu tetap ada walaupun objek
yang lain tidak ada. Asosiasi digambarkan dalam bentuk
garis solid yang menghubungan objek-objek.
Hasil dari kegiatan ini adalah class diagram. Class
diagram menghasilkan ringkasan model problem-domain yang
jelas dengan menggambarkan semua struktur hubungan statik
antar class dan objek yang ada dalam model dari sistem yang
berubah-ubah.” (p.72-77).
2.4.5.3 Behaviour
Mengacu pada Mathiassen, et al. (2000) kegiatan
behaviour adalah kegiatan terakhir dalam analisis problem-
domain yang bertujuan untuk memodelkan apa yang terjadi dalam
perilaku dinamis pada sistem problem-domain. Tugas utama
dalam kegiatan behaviour adalah menggambarkan pola perilaku
(behaviour pattern) dan atribut dari setiap class. (p.90).
36
Hasil dari kegiatan ini adalah statechart diagram yang
dapat dilihat pada gambar 2.3 di bawah ini :
/ account opened
Open
/ amount withdrawn
/ amount deposit
/ account closed
Gambar 2.3 Contoh Statechart Diagram
Sumber: Mathiassen,et al. (2000, p90) Mengacu pada Mathiassen, et al. (2000) ada 3 notasi
untuk behavioral pattern yaitu :
1. Sequence, dimana event muncul satu per satu secara
berurutan;
2. Selection, dimana terjadi pemilihan satu event dari
sekumpulan event yang muncul;
3. Iteration, dimana sebuah event muncul sebanyak nol atau
berulang kali. (p.93).
2.4.6 Application Domain
Menurut Mathiassen, et al. (2000), “Application domain adalah
suatu organisasi yang mengatur, memonitor, dan mengendalikan problem-
domain. Tujuan dari application domain adalah untuk menganalisis
kebutuhan dari pengguna sistem.” (p.115).
37
Pada application domain terdapat tiga kegiatan utama seperti
yang dapat dilihat pada Gambar 2.4 dibawah ini:
Interfaces
Usage
Functions
System definition
Requirements
Gambar 2.4 Application-domain analysis Sumber: Mathiassen, et al. (2000, p117)
2.4.6.1 Usage
Usage bertujuan untuk menjelaskan bagaimana actor
berinteraksi dengan suatu sistem. Menurut Mathiassen, et al.
(2000), “Actor adalah suatu abstraksi dari pemakai atau sistem
lain yang berinteraksi dengan target sistem.” (p.119).
Hasil dari analisis kegiatan usage adalah use-case
diagram. Menurut Mathiassen, et al. (2000), “Use case adalah
sebuah pola untuk berinteraksi antara sistem dan aktor dalam
application domain.” (p.120). Untuk menggambarkan use case
dapat menggunakan statechart diagram, use case spesification
38
atau keduanya. Penggunaan use case spesification meliputi 3
(tiga) bagian, yaitu use case, object, dan function. Use case
merupakan urutan sistem yang berjalan, object menunjukkan
aktor apa saja yang berhubungan dengan kegiatan use case, dan
function akan dibahas setelah usage.
Sequence Diagram
Merupakan diagram yang menunjukkan urutan dari suatu
kegiatan, event atau fungsi dari use case. Diagram ini dimulai
dengan mencari pemicu dari use case, yang dibuat satu use case
satu sequence diagram.
2.4.6.2 Functions
Mengacu pada Matiassen, et al. (2000), Function
bertujuan untuk menjelaskan kemampuan sistem menghasilkan
informasi. Menurut Mathiassen, et al. (2000), “Function adalah
sebuah fasilitas untuk membuat sebuah model yang berguna untuk
aktor.” (p.138). Secara tradisional, sebuah function merupakan
suatu penghitungan dimana data yang di masukkan akan diubah
menjadi data keluaran.
Menurut Mathiassen, et al. (2000), “Function memiliki 4 (empat)
tipe yaitu :
1. Update
Function yang diaktifkan oleh kegiatan problem-domain
dan menghasilkan perubahan dalam state model-nya;
39
2. Signal
Function yang diaktifkan oleh perubahan state model dan
menghasilkan reaksi dalam konteks. Reaksi ini mungkin akan
tampak pada aktor dalam application-domain, atau campur
tangan langsung dalam problem-domain;
3. Read
Function yang diaktifkan oleh kebutuhan kerja aktor
dalam memperoleh informasi dan mengakibatkan sistem
menampilkan bagian yang relevan dari sebuah model;
4. Compute
Function yang diaktifkan oleh kebutuhan kerja aktor
dalam memperoleh informasi dan terdiri dari sebuah
penghitungan yang berkaitan dengan disediakannya informasi
oleh aktor atau suatu model, yang menghasilkan tampilan
hasil perhitungan.” (p.138).
Hasil dari kegiatan function adalah function list atau
daftar dari function yang lengkap, yang merinci beberapa function
yang kompleks. Function list dibuat berdasarkan use case.
Kompleksitas merupakan penilaian seberapa sulitnya terjadinya
sesuatu hal dalam mengembangkan function. Kompleksitas
function list dimulai dari yang simple sampai very complex. Untuk
nilai kompleksitas yang complex dan very complex suatu function
akan dipartisi lagi menjadi function yang lebih sederhana.
40
2.4.6.3 Interfaces
Interface digunakan untuk menjelaskan kebutuhan
rancangan antarmuka dari suatu sistem. Menurut Mathiassen, et
al. (2000), “Interface adalah suatu fasilitas yang membuat model
sistem dan fungsi-fungsi yang tersedia bagi aktor.” (p.151). Proses
manual dan sistem yang terkomputerisasi memiliki tindakan yang
berbeda, sehingga interface dapat dibedakan menjadi 2 (dua) tipe:
1. User interface, adalah interface bagi pengguna;
2. System interface, adalah interface yang digunakan oleh sistem
lain.
User interface yang baik harus dapat menangani berbagai
macam pengguna dengan segala konsep-nya terhadap sistem. Ada
empat jenis dialogue pattern atau pola dialog yang penting dalam
menentukan interface, yaitu :
1. Menu-selection
Suatu jenis dialog yang digambarkan terdiri dari daftar
pilihan-pilihan yang mungkin dapat dipilih atau digunakan
dalam user interface;
2. Form fill-in
Merupakan pola klasik yang digunakan untuk
memasukkan data ke suatu penyimpanan data;
41
3. Command-language
Merupakan suatu jenis dialog yang memungkinkan
pengguna memasukkan dan mengaktifkan bentuk perintah
sendiri;
4. Direct-manipulation
Merupakan pola yang mengijinkan pengguna bekerja
dengan objek yang ditampilkan dan menggunakan function
atas objek dengan hasil yang dapat diketahui segera. Hasil dari
user interface adalah bentuk-bentuk kotak dialog dan
presentasi, daftar lengkap mengenai elemen user interface,
jendela diagram yang terpilih, dan sebuah navigation diagram.
2.4.7 Architectural Design
Tujuan dari desain arsitektur adalah untuk men-strukturkan sistem
yang terkomputerisasi. Keberhasilan suatu sistem ditentukan dari kekuatan
desain arsitekturnya. Desain arsitektur dibedakan menjadi 2 (dua) konsep,
yaitu Component architecture dan Process architecture. Menurut
Mathiassen, et al. (2000), ”Desain arsitektur memiliki 3 (tiga) prinsip dasar,
yaitu define and prioritize criteria, bridge criteria and technical platform,
and evaluate design early.” (p.175). Kegiatan-kegiatan yang dilakukan
dalam desain arsitektur dapat dilihat pada Gambar 2.5 dibawah ini.
42
Componentarchitecture
Criteria
Processarchitecture
Analysis document
Architecturalspecification
Gambar 2.5 Activities in architectural design Sumber: Mathiassen,et al. (2000, 176)
2.4.7.1 Criteria
Criteria bertujuan untuk mengatur prioritas suatu desain.
Menurut Mathiassen, et al. (2000), ”Criterion adalah properti
yang paling diinginkan dalam sebuah arsitektur.” (p.177). Sebuah
panduan yang berguna untuk mendesain sistem harus sederhana,
yang merupakan kriteria penting, yang juga harus
menggambarkan kondisi desain yang khusus. Conditions adalah
teknikal, organisasi, dan peluang manusia dan batasan yang
berkaitan dalam menampilkan sebuah tugas. Hasil dari kegiatan
kriteria adalah sekumpulan prioritas kriteria. Menurut Mathiassen,
et al. (2000), ”Terdapat beberapa prinsip utama dari kriteria
desain yang baik yaitu :
1. Tidak memiliki kelemahan
Sistem digambarkan dengan mengeliminasi beberapa
kriteria yang tidak penting. Beberapa kriteria untuk menilai
43
software yang berkualitas yaitu tampak pada Tabel 2.3
dibawah ini.
Criterion Measure of Usable Kemampuan sistem untuk menyesuaikan diri dengan konteks,
organisasi yang berhubungan dengan pekerjaan dan teknis Secure Ukuran keamanan sistem dalam menghadapi akses yang tidak
terotorisasi terhadap data dan fasilitas Efficient Eksploitasi ekonomis terhadap fasilitas platform teknis Correct Pemenuhan dari kebutuhan Reliable Pemenuhan ketepatan yang dibutuhkan dalam melaksanakan fungsi Maintainable Biaya untuk menemukan dan memperbaiki kerusakan Testable Biaya untuk memastikan bahwa sistem yang dibentuk dapat
melaksanakan fungsi yang diinginkan Flexible Biaya untuk mengubah sistem yang dibentuk Comprehensible Usaha yang diperlukan untuk mendapatkan pemahaman terhadap
sistem Reusable Kemungkinan untuk menggunakan bagian sistem pada sistem lain
yang berhubungan Portable Biaya untuk memindahkan sistem ke platform teknis yang berbeda Interoperable Biaya untuk menggabungkan sistem ke sistem yang lain
Tabel 2.3 Classical criteria for software quality Sumber: mathiassen, et al. (2000, p178)
2. Menyeimbangkan beberapa kriteria
Desain yang baik harus memuat beberapa kriteria. Karena
kriteria dapat menyebabkan terjadinya konflik, maka
memprioritaskan seluruh kriteria yang ada itu penting;
3. Dapat digunakan, fleksibel, dan komprehensibel
Kriteria-kriteria diatas bersifat universal dan dapat
digunakan hampir pada setiap proyek pengembangan sistem,
bagaimanapun mengorganisasikannya, menunjukkan tiga
kriteria ideal dalam proyek pengembangan sistem.
44
Kriteria usable menspesifikasikan bahwa kualitas sistem
yang pokok tergantung pada bagaimana cara kerjanya.
Flexibility menspesifikasikan bahwa sistem arsitektur
mengakomodasi perubahan organisasi dan kondisi teknik.
Sedangkan comprehensibility menspesifikasikan peningkatan
pada sistem komputerisasi, model dan deskripsi harus mudah
untuk dipahami.
Mengacu pada pendapat Mathiassen, et al. (2000), sebuah
desain yang baik memerlukan pertimbangan mengenai kondisi
dari setiap proyek yang dapat mempengaruhi kegiatan desain,
antara lain tampak pada Tabel 2.4 dibawah ini.
Teknikal penggunaan hardware, software, dan sistem penggunaan kembali pola dan komponen yang sudah ada menggunakan komponen standar yang telah dibeli Organisasi pertimbangan perjanjian kontrak rencana untuk pengembangan lanjutan pembagian kerja diantara pengembang Manusia Desain kompetensi pengalaman dengan sistem yang sama pengalaman dengan technical platform
Tabel 2.4 Conditions for design of an architecture Sumber: Mathiassen, et al. (2000, p184)
2.4.7.2 Component Architecture
Component Architecture adalah sebuah struktur sistem
yang terdiri dari komponen yang saling berhubungan. Component
Architecture yang baik membuat sistem lebih mudah dimengerti,
mengorganisasikan desain kerja dan menggambarkan kestabilan
45
sistem. Komponen adalah sekumpulan bagian-bagian program
yang membentuk suatu kesatuan dan memiliki fungsi yang jelas.
Tujuan dari kegiatan ini adalah untuk membuat struktur
sistem yang fleksibel dan mudah dimengerti. Mengacu pada
pendapat Mathiassen, et al. (2000), suatu arsitektur komponen
yang baik menunjukkan beberapa prinsip, yaitu mengurangi
kompleksitas dengan membagi menjadi beberapa tugas,
menggambarkan stabilitas dari isi sistem, dan memungkinkan
suatu komponen dapat digunakan pada bagian lain.(p.189).
Beberapa pola yang dapat digunakan untuk
merancang Component Architecture adalah sebagai berikut :
1. Layered architecture pattern
Merupakan bentuk pola yang paling umum dalam
software, yaitu terdiri dari beberapa komponen yang dibentuk
menjadi beberapa lapisan-lapisan yang mirip dengan prinsip
OSI Layer pada model jaringan, dimana lapisan yang berada
diatas bergantung pada lapisan yang berada dibawahnya,
begitu pula sebaliknya. Arsitektur ini sangat berguna untuk
memecah sistem menjadi komponen-komponen;
2. Generic architecture pattern
Pola ini dapat digunakan untuk mengelaborasikan sistem
dasar yang terdiri dari interface, function, dan model
component. Model component berada di lapisan yang paling
46
bawah yang kemudian dilanjutkan oleh function layer dan
yang paling atas adalah interface layer;
3. Client server architecture pattern
Pola ini dibangun untuk mengatasi sistem yang
terdistribusi di beberapa proses yang tersebar. Arsitektur ini
terdiri dari sebuah server dan beberapa client. Server memiliki
kumpulan operasi yang dapat digunakan oleh client. Client
menggunakan server secara independen.
Berikut ini adalah Tabel 2.55 yang menunjukkan
beberapa jenis distribusi dalam arsitektur client-server dimana
U adalah User Interface, F adalah Function, dan M adalah
Model.
Client Server Architecture
U
U
U+F
U+F
U+F+M
U+F+M
F+M
F+M
M
M
Distributed presentation
Local presentation
Distributed functionality
Centralized data
Distributed data
Tabel 2.5 Jenis Arsitektur client-server Sumber: Mathiassen, et al. (2000, p200)
Hasil dari component architecture adalah component
diagram yang menunjukkan hubungan antara komponen (dalam
hal ini adalah server dan beberapa client).
47
2.4.7.3 Process Architecture
Mengacu pada Mathiassen, et al. (2000), Proses arsitektur
adalah struktur dari eksekusi sistem yang terdiri dari proses-
proses yang saling bergantung. Untuk menjalankan sebuah sistem
dibutuhkan processor. Sedangkan external device adalah
processor khusus yang tidak dapat menjalankan program. Proses
arsitektur harus dapat memastikan bahwa sistem dapat dijalankan
secara baik dengan menggunakan processor yang telah tersedia.
(p.211).
Kegiatan proses arsitektur bermula dari komponen logik
yang dihasilkan oleh kegiatan komponen dan bertujuan untuk
menentukan struktur fisik dari sebuah sistem dengan
mendistribusikan komponen-komponen program ke processor
yang akan digunakan untuk eksekusi sistem, mengkoordinasikan
pembagian sumber daya dengan active object dan menghasilkan
arsitektur yang tidak memiliki hambatan.
Menurut Mathiassen, et al. (2000), “Sumber daya yang
umumnya dipakai secara bersamaan yang mampu menghasilkan
bottlenecks adalah :
1. Processor
Terjadi apabila ada dua atau lebih proses yang dieksekusi
secara bersamaan pada satu processor;
48
2. Program component
Terjadi bila terdapat dua atau lebih proses yang secara
bersama memanggil operasi pada komponen;
3. External device
Tampak pada penggunaan printer yang terhubung
melalui jaringan.” (p.220-222).
Hasil dari process architecture adalah membuat
Deployment Diagram.
2.4.8 Component Design
Menurut Mathiassen, et al. (2000), tujuan dari kegiatan desain
komponen ini adalah untuk menentukan implementasi kebutuhan dalam
kerangka arsitektur. Kegiatan component design bermula dari spesifikasi
arsitektural dan kebutuhan sistem, sedangkan hasil dari kegiatan ini adalah
spesifikasi dari komponen yang saling berhubungan. (p.231).
Beberapa kegiatan dari desain komponen tampak pada Tabel 2.6
dibawah ini :
Kerangka Isi Konsep Model Component
Bagaimana suatu model digambarkan sebagai kelas dalam sebuah sistem
Model Component dan atribut
Function Component
Bagaimana suatu function dimplementasikan
Function Component
Connecting Component
Bagaimana komponen-komponen dihubungkan
Operation component dan connection
Tabel 2.6 Activities in Component Design Sumber: Mathiassen, et al. (2000, p232)
49
2.4.8.1 Model Component
Mengacu pada Mathiassen, et al. (2000) model analisis
problem-domain menggambarkan kebutuhan sistem. Kebutuhan
sistem kemudian diimplementasikan dalam model component.
Oleh karena itu, komponen model adalah bagian dari sistem yang
mengimplementasikan model problem-domain. Tujuan dari
komponen model adalah untuk mengirimkan data sekarang dan
historis ke function, interface dan pengguna ataupun sistem lain.
(p.235).
Hasil dari kegiatan komponen model adalah revisi dari
class diagram dari kegiatan analisis. Kegiatan revisi biasanya
terdiri dari kegiatan menambahkan kelas, atribut dan sturktur baru
yang mewakili event.
2.4.8.2 Function Component
Mengacu pada Mathiassen, et al. (2000) komponen
fungsi adalah bagian dari sistem yang mengimplementasikan
kebutuhan fungsional. Tujuan dari komponen fungsi ini adalah
untuk memberikan akses ke model bagi user interface dan
komponen sistem lainnya. Oleh karena itu, komponen fungsi
adalah penghubung antara model dan usage. (p.251).
Function didesain dan diimplementasikan dengan
menggunakan operasi dari kelas sistem. Operasi adalah proses
50
yang dispesifikasikan dalam sebuah kelas dan dijalankan melalui
objek dari kelas tersebut. (p.252).
Hasil utama dari kegiatan ini adalah class diagram untuk
komponen fungsi dan perpanjangan dari class diagram komponen
model. Sub kegiatan dalam perancangan komponen fungsi tampak
pada Gambar 2.6 berikut ini :
Design functions asoperations
Explore patterns
Function list, classdiagram,andcomponentspecification.
Function-componentspecification
Specify complexoperations
Model-componentspecification
Gambar 2.6 Sub activities in function-component design Sumber: Mathiassen, et al. (2000, p252)
Sub kegiatan ini menghasilkan kumpulan operasi yang
dapat mengimplementasikan fungsi sistem seperti yang ditentukan
dalam analysis problem domain dan function list.
1. Merancang function sebagai operation;
2. Menelusuri pola yang dapat membantu dalam implementasi
function sebagai operation;
3. Menspesifikasi operasi-operasi yang kompleks.