8
BAB 2 LANDASAN TEORI
2.1 Sistem Informasi Akuntansi 2.1.1 Definisi Sistem Informasi Akuntansi Menurut Cerullo (2000), “ accounting information system is a unifed structure within an entity, such as a business firm, that employs physical recources and other components to transform economic data into accounting information, with the purpose of satisfying the information needs of a variety of users “ (p7), yang berarti bahwa sistem informasi akuntansi adalah sebuah kesatuan struktur dalam sebuah entitas, seperti dalam sebuah perusahaan, dimana memperkerjakan
physical recources dan komponen-komponen
lainnya untuk mentransform data ekonomi ke dalam informasi akuntansi, dengan tujuan memberikan kepuasan kebutuhan informasi bagi para pengguna yang bervariasi. Menurut Moscove, Simkin, Bagranoff (2001), “ Accounting information System is the information subsystem whitin an organization that accumulates information from the entities various subsystems and communicates it to the organizations information processing subsystem” (p7),
yang berarti sistem informasi akuntansi merupakan
subsistem informasi dalam suatu orgaisasi dimana informasi yang didapat adalah kumpulan dari beberapa macam entiti dari subsistem dan mengkomunikasikannya dalam suatu proses informasi dari subsistem – subsistem tersebut.
9 Berdasarkan pada pengertian diatas dapat disimpulkan bahwa sistem informasi akuntansi adalah suatu kumpulan struktur dari suatu subsistem informasi yang didapat dari beberapa entiti yang digunakan untuk mentransformasikan data menjadi informasi melalui suatu proses sistem dengan tujuan untuk memberikan informasi bagi pengguna sesuai dengan kebutuhan dari pengguna tersebut.
2.1.2 Fungsi Transformasi Data menjadi Suatu Informasi Dalam melakukan fungsi transformasi data, suatu sistem informasi akuntansi diperlukan adanya data collection, data maintenance, data management, dan information generation. Gambar di bawah ini menunjukkan fungsi transformasi data yang dimaksud :
Sources of Data
Data Collection
Input
Data Maintenance
Information Generation
Users
Data Management Ouput
Security and Control
Gambar 2.1 Function of an AIS Sumber : Accounting Information System Cerullo (2000)
10 1. Data Collection Pada tahap ini dilakukan pengumpulan data-data transaksi, mencatat data yang ada ke dalam formulir yang disediakan, serta melakukan validasi dan editing data untuk memastikan keakuratan dan kelengkapan data tersebut. 2. Data Maintenance Tahapan dalam data maintenance ini dapat dilakukan dengan beberapa langkah, seperti : •
Classifying, melakukan pengumpulan data ke beberapa kategori.
•
Transcribing, atau melakukan penggandaan/ reproducing data ke beberapa dokumen.
•
Sorting, melakukan perubahan elemen data berdasarkan satu atau beberapa karakteristik.
•
Batching,
melakukan
pengumpulan
transaksi
menjadi
beberapa group. •
Merging, menyatukan dua atau lebih file data.
•
Calculating, melakukan operasi menambahan, mengurangan, pelipatgandaan dan pembagian.
•
Summarizing, menggabungkan kuantitas elemen data.
•
Comparing, membandingkan items dari beberapa file untuk menemukan atau membandingkan beberapa perbedaan yang membedakan file data tersebut.
11 3. Data Management Merupakan fungsi sistem informasi akuntansi dimana terdiri dari beberapa tahap : •
Storing,
melakukan
penempatan
data
dalam
tempat
penyimpanan yang dinamakan files atau data bases. •
Maintaining, melakukan penyesuaian terhadap data yang disimpan untuk merefleksikan data terbaru bedasarkan events, operations, dan decisions.
•
Retrieving, terdiri dari mengakses dan membuka data, bak untuk melakukan suatu proses atau untuk membuat laporan kepada users.
4. Data Control Data control function memiliki dua tujuan dasar : •
Untuk keselamatan dan keamanan aset perusahaan, termasuk data-data perusahaan
•
Untuk memastikan bahwa data yang diterima merupakan data yang akurat, lengkap dan telah diproses secara benar.
5. Information Generation Information generation meliputi beberapa tahap seperti interpreting (mengartikan),
reporting
(melaporkan),
dan
communicating
(mengkonumikasikan) data yang mendukung output dari pemrosesan suatu transaksi dan informasi.
12 2.1.3 Komponen dan Sumber Daya yang Dibutuhkan dalam Sistem Informasi Akuntansi Menurut Cerullo (2000), dalam suatu sistem informasi akuntansi membutuhkan sumber daya dan beberapa komponen yang terkait.(p13). Cerullo menyatakan bahwa suber daya dan komponen yang dibutuhkan antara lain : •
Processor Processor merupakan alat yang secara fisik digunakan untuk melakukan transformasi data yang direpresentsikan dengan menggunakan sistem kompter.
•
Data Base Data base terdiri dari seluruh data yang telah disimpan secara per bagian dalam sistem komputer dan secara per bagian pula dalam alat penyimpanan seperti file cabinets dan desk drawers.
•
Procedures Prosedur merupakan suatu urutan dari tahapan dalam satu atau lebih fungsi sistem informasi akuntansi, baik secara manual ataupun dalam suatu instruksi program komputer.
•
Input/Ouput Devices Merupakan suatu alat yang secara fisik mengendalikan dan melakukan penyimpanan data dan informasi. Awalnya data disimpan dalam kertas kerja atau dokumen yang kemudian
13 dimasukkan ke dalam sistem komputer melalui microcomputer keyboard. •
Miscellaneous Resources Merupakan suatu komponen yang biasanya digunakan sebagai pendukung untuk membantu perawatan dan pengembangan sistem informasi akuntansi.
2.2 Siklus Transaksi pada Sistem Informasi Akuntansi Menurut Bodnar dan Hopwood yang diterjemahkan oleh Jusuf, A.A. (2000) menyatakan, “istilah sistem informasi akuntansi meliputi beragam aktivitas
yang
berkaitan
dengan
siklus-siklus
pemrosesan
transaksi
perusahaan. Ada empat siklus aktivitas bisnis yang umum, antara lain : 1. Siklus
pendapatan.
Kejadian-kejadian
yang
berkaitan
dengan
pendistribusian barang dan jasa ke entitas-entitas lain dan pengumpulan pembayaran- pembayaran yang berkaitan. 2. Siklus pengeluaran. Kejadian-kejadian yang berkaitan dengan perolehan barang dan jasa dari entitas-entitas lain dan pelunasan kewajibankewajiban yang berkaitan. 3. Siklus produksi. Kejadian-kejadian yang berkaitan dengan pengubahan sumberdaya menjadi barang dan jasa. 4. Siklus keuangan. Kejadian-kejadian yang berkaitan dengan perolehan dan manajemen dana-dana modal, termasuk kas.” (h.6).
14 Menurut Boockholdt (1999), “siklus transaksi akuntansi dibagi menjadi empat bagian, yaitu : 1. Finacial Cycle. Consists of those accounting transactions that record the acquisition of capital from owner and criditor, the use of that capital to acquire productive assets, and the reporting to owners and creditors on how is used. 2. Expenditure Cycle. Consistes of those transactions incurred to acquire material and overhead items for the conversion proses of the bussiness. 3. Conversion Cycle. Contains those transaction incurred when input are converted into salable goods or services. 4. Revenue Cycle. Includes the accounting transactions that record the generation of revenue from the output of the conversion proses.” (p.520523).
2.3 Sistem Informasi Akuntansi Siklus Pendapatan 2.3.1 Tujuan dari Revenue Cycle Menurut Cerullo (2000) “ tujuan pokok dari revenue cycle adalah untuk menfasilitasi pertukaran kas dari suatu produk atau jasa dengan para pelanggan” (p416). Tujuan objektif berdasarkan pada tujuan pokok diatas antara lain : 1. Untuk mencatat order penjualan secara tepat dan akurat 2. Untuk memeriksa apakah pelanggan tersebut berhak mendapatkan kredit.
15 3. Untuk mengangkut produk atau memberikan pelayanan sesuai dengan tanggal yang ditentukan 4. Untuk melakukan penagihan atas produk atau jasa dalam waktu tertentu dan sesuai dengan yang ditentukan 5. Untuk mencatat dan mengklasifikasikan penerimaan kas secara tepat dan akurat 6. Untuk memposting penjualan dan penerimaan kas pada account pelanggan yang tepat dalam accounts receivable legder. 7. Mengamankan produk sampai saat dilakukan pengangkutan 8. Mengamankan kas sampai didepositkan.
2.3.2 Komponen Sistem Informasi Akuntansi Revenue Cycle 2.3.2.1
Data Input Data input merupakan komponen dari sistem informasi akuntansi
yang dituliskan pada sebuah formulir untuk dapat diproses dan menghasilkan informasi. Menurut Mulyadi (2001) “ formulir adalah secarik kertas yang memiliki ruang untuk diisi. Formulir sering juga disebut sebagai dokumen” (p75). Menurut Cerullo (2000), “ beberapa dokumen yang dibutuhkan oleh perusahaan yang menggunakan komputer sebagai alat input untuk pemrosesan data, antara lain : 1. Customer order (formulir pemesanan pelanggan), 2. Sales order (formulir pemesanan pembelian),
16 3. Order
acknowledgment
(formulir
pengiriman
barang), 4. Picking list (slip pengepakan barang), 5. Packing slip (bagian copy dari picking list), 6. Billing of lading (dokumen tagihan pengiriman barang), 7. Shipping notice (pisahan dari biliing of lading), 8. Sales invoice (faktur penjualan), 9. Remittance advice (berita pembayaran) , 10. Deposite slip, 11. Back order (formulir pengembalian pesanan), 12. Credit memo, 13. Credit application (formulir kredit customer baru), 14. Salesperson call report, 15. Deliquent notice (dokumen penagihan), 16. Write-off notice, 17. Cash register receipts (dokumen penerimaan kas) “ (p419).
2.3.2.2
Data Processing Menurut O’Brien (2001) ” komponen proses merupakan suatu
proses transformasi yang mengubah input menjadi output “. Menurut Cerullo (2000) “ bahwa di dalam suatu proses harus dibuat rancangan input baik secara batch processing maupun secara online processing
17 dengan tujuan dapat mengurangi error yang tidak dapat terdeteksi sebelumnya, menjadikan proses penjualan dan transaksi penerimaan kas menjadi lebih cepat, lebih mudah dalam melakukan pengup-date-an data, dan dapat mengurangi banyaknya arus dokumen dari sistem sebelumnya “ (p421).
2.3.2.3
Information Output Menurut O’Brien (2001) “output adalah komponen yang berfungsi
mengirim elemen-elemen yang telah dihasilkan melalui proses transformasi ke tujuan yang telah ditentukan”. Menurut Cerullo (2000) “ Output dari sistem informasi akuntansi adalah laporan yang dibuat untuk membuat rencana dan melakukan mengontrolan atas setiap keputusan menejerial yang dibuat untuk kegiatan operasi perusahaan” (p436), Menurut Cerullo (2000) yang termasuk di dalam suatu information output antara lain : 1. Operational Listings and Reports Merupakan laporan dan daftar dari kegiatan operational sistem yang berjalan. Dikategorikan sebagai operational listings and report antara lain : •
Monthly statement, adalah laporan semua faktur penjualan yang dibuatk untuk pelanggan
•
Open orders report, adalah daftar dari semua order penjualan yang belum secara lengkap ditagihkan atau dibayar oleh pelanggan
18 •
Sales invoice register, adalah daftar semua faktur penjualan yang disusun berdasarkan nomor faktur
•
Shipping register, adalah daftar semua pengiriman yang disusun berdasar pada tanggal pengiriman.
•
Cash receipts journal, adalah daftar jumlah penerimaan yang telah diterima yang telah disusun berdasar atas kronologis transaksi.
•
Credit memo register, daftar semua sales returns yang disusun berdasar pada nomor credit memo.
2. Inquiry Display Screens Merupakan information output yang memberikan informasi untuk mengetahui keberadaan piutang kepada pelanggan. 3. Scheduled Managerial Reports Adalah beragam laporan yang disiapkan untuk digunakan oleh manajer marketing. Beberapa laporan yang dimaksud antara lain : •
Accounts receivable aging schedule, adalah laporan yang pada intinya sama dengan monthly statement.
•
Reports on critical factors, merupakan laporan hasil pengukuran dari rata-rata nilai tiap pesanan, persentase pengiriman pesanan, dan rata-rata hari antara tanggal pemesanan dan tanggal pengiriman barang.
•
Sales analyses report,merupakan laporan yang dibuat untuk menginformasikan indicidul sales person, sales region,
19 product lines, customers, dan markets untuk dapat dilakukan analisis penjualan yang membandingkan penjualan bulan berjalan dengan penjualan bulan yang lalu. •
Cash-flow statement, adalah laporan yang menginformasikan sumber dari pendapatan kas, kas yang digunakan untuk kegiatan operasional, dan kas yang digunakan untuk kegiatan lain selama periode akuntansi tertentu (p437).
2.3.2.4
Data Management
2.3.2.4.1 Jenis dan Pendekatan Data Management Data yang sudah diperoleh dan disimpan diperlukan adanya suatu menejemen data, hal ini diperlukan agar dalam pencarian, penambahan dan pengup-date-an data lebih mudah. Menurut Cerullo (2000), “ untuk perusahaan yang menjual barang dagangan, memerlukan data base pendukung yang sudah dibagi berdasarkan sumber penerimaan (persediaan, kas), kejadian/transaksi (pemesanan, penjualan, penerimaan kas), dan subjek agent (pelanggan).Berdasarkan pada prosedur dan data yang sudah ada dapat dilakukan penambahan asosiasi seperti pada transaksi (credit checking, shipping goods, dan penerimaan deposit) dan juga ada subject agent (penjual, pembawa, dan kasir). Untuk memenejen data, perusahaan dapat melakukan beberapa pendekatan manajemen data, yaitu :
20 a. File-Oriented Approach Pendekatan ini dilakukan dengan membuat daftar master, transaksi, dokumen pembuka, dan beberapa file yang dibutuhkan oleh perusahaan. Sedangkan bila dilihat dari segi isinya, maka dapat dibedakan : a). Master File 1). Customer master file Pada file customer ini berisi mengenai data customer antara lain : customer number, customer data termasuk shipping and billing addresses, telephone number, past payment performance, credit rating, trade discount allowance, and sales activity 2). Account receivable master Pada file account receivable master ini berisi credit customers, termasuk di dalamnya adalah customer identification (berdasarkan customer number) dan the current account balance. 3). Merchandise inventory master File Merchandise inventory master berisi beberapa ragam produks yang akan dijual oleh perusahaan. Record dari Merchandise inventory master adalah product
(inventory
item)
number,
description,
warehouse location code, unit of measure code,
21 reorder point, reorder quantity, unit cost, quantity on order, date of last purchase, dan quantity on hand. b). Transaction and Open Dokumen File 1). Sales Order File Pada file sales order ini mencantumkan record-record seperti order number, order date, the account number of the customer involved in the sales, the name and addresses of customer, the name of the salesperson, the expected
delivery date, dan data-data lain yang
menyangkut permintaan barang ( inventory item number, description, and quantity order) 2). Open Sales File Order Record pada file ini menyangkut semua data pemesanan yang belum dikirim. Bila barang yang dipesan akan dikirimkan ke pelanggan makan catatan atas shipped dan billed ditransfer ke file closed orders file. 3). Sales Invoice Transaction File Pada file ini terdapat record mengenai transaksi detail dari record account receivable yang disimpan dalam magnetic disk dan dalam bentuk hard copy. Beberapa record yang disimpan dalam magnetic disk antara lain : billing date, customer number, sales order number, terms, shipping document number, product code, unit
22 price, quantities, dan transaction amount. Dari beberapa record tersebut, yang menjadi primary key adalah sales invoice number. 4) Cash Receipts Transaction File Cash Receipts Transaction File meliputi data yang berhubungan
dengan
pembayaran
dari
kredit
pelanggan. Selama proses penerimaan kas tersebut, record layout yang disimpan dalam magnetic disk meliputi customer account number, sales invoice number, date of payment, dan amount of payment b. Data-Base Approach Menejemen data melalui pendekatan ini dilakukan dengan mengorganisasi data ke dalam suatu struktur atau tabel normalisasi dimana dibuatkan suatu kunci entiti utama dan pengidentifikasian hubungan antar data (p442).
2.3.2.4.2. Entity-Relationship Diagram of the Revenue Cycle Secara konseptual, entity relationship diagram dapat diclasificasikan secara one-to-many atau many-to-many relationship. Entity-Relationship Diagram of the Revenue Cycle dapat dilihat pada gambar berikut.
23
Salesperson Cashier
1
1
Order
n
Placed by
1
1
Customer
Recieved from/by
n
Cash Receipt
m
n 1
Order/ Inventory
1
n
Shipped and Billing
Sale/cash Receipt
Deposited
Filled
1 n
n
Merchadise Inventory
m
Sale/ Inventory
n m
n Sale
Cash
Gambar 2.2 An Entity-Relationship Diagram of Revenue Cycle
a). One-to-Many (1 : n) Relationship Pemesanan barang diterima dari pelanggan oleh salesperson. Beberapa pelanggan boleh melakukan satu atau lebih pesanan, tetapi pesanan atas suatu barang hanya oleh diterima dari satu pelanggan, dengan demikian, relationship yang terjadi adalah one (pelanggan) to many (pesanan)
24 b). Many-to-Many (m : n) Relationship Beberapa sales order dan sale dapat terdiri dari satu atau lebih item product, begitu pula sebaliknya. Hal ini menunjukkan adanya many-to-many relationship
2.3.2.4.3. Logical View of Revenue Cycle Data Structure Logical View adalah sebuah “mapping” dari entity-relationship diagram ke dalam data structure diagram. Gambar di bawah ini menunjukkan logical view dari beberapa tabel yang berhubungan satu dengan lainnya.
25 Customer/Accounts Receivable Table Customer Number
Customer Name
Customer Shipping Address
Customer Billing Address
Phone Number
Credit Limit
Trade discount Allowed
Account Balance, Beginning of year
Year-to-Date Sales
Year-to-date Payment
Sales Order Header Teble Sales Order Number
Order Date
Expeced Delivery Date
Salesperson Code
Customer Number
Ordered Items Table Sales Order Number
Product Number
Quantity Order
Merchandise Inventory Table Product Number
Description
Warehouse Location
Unit of Measure
Reorder Point
Economic Order Quantity
Unit Cost
Name of preferred supplier (vendor)
Sales Invoice Header Table Sales Invoice Number
Customer Number
Sales Order Number
Billing (invoice) Number
Shipping Document Number
Terms
Total Sale Amount
Sold Items Table Sales Invoice Product Number Number
Unit Price
Quantity Shipped and sold
Gambar 2.3 Relational data stucture for the sales portion of revenue cycle
Quan. On Order
Quan on Hand
26 2.3.2.5
Internal Control Pengendalian dalam sistem suatu perusahaan sangatlah diperlukan.
Menurut Mulyadi (2001), “ sistem pengendalian intern meliputi struktur organisasi, metode, dan ukuran-ukuran yang dikoordinasikan untuk menjaga kekayaan organisasi, mengecek ketelitian dan keandalan data akuntansi, mendukung efisiensi dan mendorong dipatuhinya kebijakan manajemen” (p3). Menurut Cerullo (2000) “ pengendalian internal yang harus dilakukan oleh perusahaan berdasarkan pada resiko yang akan dihadapi, antara lain : 1. Control Objectives Pengendalian internal perusahaan dilakukan dengan tujuan untuk mengurangi lapping (salah satu tipe pencurian yang meliputi pencurian kas dan penyembunyiannya dengan rangkaian cara seperti melakukan keterlambatan posting ke dalam customer account). 2. General Control General control adalah pengendalian secara keseluruhan yang meliputi : •
Organizational Controls Pengendalian organisasional ini dapat dilakukan dengan membuat sebuah sistem dimana pengguna dapat melakukan perubahan atas sistem itu dan membua
27 sistem dimana pengguna hanya dapat menggunakan dan mengoperasikan sistem tersebut. •
Documentation Controls Pengendalian
dilakukan
dengan
cara
mengotrol
kelengkapan dan pendokumentasian data, termasuk terhadap programer, operator, maupun penguna sistem yang bersangkutan. •
Asset Accountainability Controls Pengendalian yang dilakukan lebih tertuju pada akunakun jurnal secara periodik ataupun rekonsiliasi bank dalam jurnal akun.
•
Management Practices Controls Seorang manajer diharapkan dapat melakukan analisis secara
periodik,
mengontrol
aktivitas
yang
berhubungan dengan akun-akun dan transaksinya. •
Data Center Operations Controls Pengendalian lebih tertuju pada operasi terhadap proses data dan laporan yang dihasilkan.
•
Authorization Controls Pengendaliaan dapat dilakukan dengan pemberian wewenang sesuai dengan aturan perusahaan yang sudah ada berdasar pada tiap bagi organisasi.
28 •
Access Controls Pengendalian ditujukan lebih pada kewenangan pengaksesan
informasi,
seperti
penggunaan
password pada tiap akses informasi sesuai dengan pengguna yang ditujukan. 3. Application Control Pengendalian ini meliputi pengendalian atas input, proses, dan output.
Dimana
dimasukkannya
dalam data
ke
tiap dalam
tahapan sistem
siklus
hingga
komputer
dan
menghasilkan laporan diperlukan adanya pengawasan dan pengendalian. 4. Web Security Procedures Pengendalian
ini
diperlukan
bagi
perusahaan
yang
menggunakan media penawaran barang secara online, agar transaksi dapat berjalan dengan semestinya walaupun melalui media Web (p451).
29 2.4 Analisis dan Perancangan Berorientasi Object 2.4.1 Definisi Analisis Berorientasi Object Menurut Mathiassen et al. (2000), analysis object describe phenomena outside teh system, such a pople and things, which are typically independent. Although we can not always command them, we must register the events the perform oe experience” (p5), yang berarti analisis object menguraikan fenomena di luar sistem, seperti orang dan barang yang secara khusus berdiri sendiri. Walaupun kita tidak dapat selalu mengkomando mereka, kita dapat mendapatkan event yang dilakukan.
2.4.2 Definisi Perancangan Berorientasi Object Menurut Mathiassen et al. (2000), “ design object describe phenomena whitin the system tha we can control. We describe thier behavior as operations for the computer to carry out” (p5), yang berarti perancangan object menguraikan fenomena di dalam sistem yang kita dapat kontrol. Kita mendeskripsikan behaviornya sebagai komputer yang menyelesaikan.
2.4.3
Analisis dan Perancangan Berorientasi Object Dalam analisis dan perancangan berorientasi object, diuraikan fenomena
di luar dan di dalam sistem dalam empat tahapan.
30 2.4.4 Tahapan Analisis dan Perancangan Berorientasi Object 2.4.4.1 Problem Domain Analysis Menurut Mathiassen, dkk (2000) “ problem domain : that part of a context that is administrated, monitored or controlled by a system” (p4), yang berarti
problem
diadministrasikan,
domain
merupakan
dimonitor,
dikontrol
bagian oleh
dari suatu
context sistem.
yang Berikut
digambarkan aktifitas dalam problem domain analysis System Definition
Behavior Classes
Structure Model
Gambar 2.4 Activities in problem domain modeling Aktivitas yang dilakukan pada analisis problem domain, yaitu : 1. Classes Class merupakan kumpulan dari objek yang memiliki structure, behavior (sifat) dan atribut yang sama. Sebuah calss meliputi deskripsi structure dan behavior dari objek-objek yang digenerate atau yang bisa digenerate dengan menggunakan class tersebut. Class adalah deskripsi dari kumpulan objek-objek yan terdiri dari structure, behavior pattern, dan attribute yang bersamaan. Tujuan dari
31 class adalah untuk menyeleksi/ memilih elemen-elemen dari sebuah model problem domain. 2. Structure Structure adalah hubungan antara classes dan objects. Dimana object merupakan kesatuan dengan identity, state, and behavior. Tujuan dari structure adalah untuk menggambarkan hubungan yang struktural antara class dan objects di dalam sebuah problem domain. Hasil dari structure adalah sebuah class diagram dengan class dan strusture. Terdapat dua jenis stucture : a. Class Structure, yang terdiri dari : -
Generalization Structure, adalah sebuah hubungan antara dua atau lebih class yang spesifik dengan class yang lebih umum (dengan rumusan “ is a “). Struktur generalisasi mengekspresikan inheritance yaitu special class menurunkan properti dan behavior pattern dari general class.
-
Culster structure, adalah sebuah kumpulan dari class yang membantu kita dalam menerima dan menyediakan tampilan problem domain.
b. Objects Strustures, yang terdiri dari : -
Aggregation Structure, adalah sebuah hubungan antara dua atau lebih objek (menyatakan bahwa satu objek merupakan dasar atau bagian dari objek lain, dengan rumusan “ has a “).
32 -
Association Structure, adalah hubungan antara dua atau lebih objek, tetapi dengan menggunakan rumusan “ dihubungkan dengan “. Ketika menambah class dan structure, harus dipertimbangkan kembali struktur lama untuk melihat apakah telah menjadi berlebihan dan dapat dipindahkan.
3. Behavior Behavior adalah susunan dari event yang melibatkan sebuah objek. Behavior pattern adalah sebuah gambaran dari susunan satu demi satu dari kejadian yang melibatkan sebuah objek spesifik (event trace) yang mungkin.
2.4.4.2 Application Domain Analysis Menurut Mathiassen “ application domain merupakan bagian dari organisasi yang mengadministrasi, memonitor, dan mengkontrol problem domain “. Application domain bertujuan untuk menentukan persyaratan system’s usage dengan bekerjasama dengan user karena dia yang akan menggunakan sistem tersebut. Hasil dari application domain ini adalah kebutuhan dari application domain tersebut yang dibagi menjadi tiga bagian yaitu usage, function, dan interface. Aktifitas dalam apllication domain, dapat dilihat pada gambar di bawah ini :
33
System Definition
Usage Interface
Requirements Functions
Gambar 2.5 Application Domain Analysis 1. Usage Tujuan usage adalah bagaimana sistem berintraksi dengan actor dan sistem dalam application domain. Hasil dari usage adalah mendeskripsikan semua use case dan actor. 2. Function Function adalah sebuah fasilitas untuk membuat sebuah model yang nantinya dapat berguna bagi user. Tujuan dari function adalah untuk menentukan kemampuan proses sistem informasi. Hasil dari function adalah sebuah daftar yang lengkap dari fungsi dengan spesifikasinya yang kompleks.
34 Empat jenis function : -
Update function Update function adalah aktivitas dari kejadian sebuah problem domain dan hasildari sebuah perubahan dalam state model.
-
Signal function Adalah sebuah perubahan dalam state model dan hasil dari sebuah reaksi dalam konteks.
-
Read function Adalah aktifitas oleh sebuah kebutuhan informasi dalam sebuah tugas kerja actor dan hasil dalam bagian tampilan sistem yang relevan dari model.
-
Compute function Adalah aktifitas sebuah kebutuhan informasi dalam sebuah tugas kerja actor dan isi dari sebuah komputer yang melibatkan informasi yan disediakan oleh actor atau model
3. Interface Interface adalah fasilitas yang membuat sebuah model sistem dan fungsi-fungsi tersedia untuk actor. Tujuan dari interface adalah untuk menentukan sebuah sistem interface.
35 2.4.4.3 Architectural Design Architectural design adalah merancang arsitektur sebuah sistem. Tujuan dari architectural design adalah untuk meyusun sebuah sistem yang terkomputerisasi. Menururt Mathiassen et al, 2000, p173) tahap architectural design memiliki tiga subaktivitas yaitu : Analysis Document
Component Architecture
Criteria
Architectural Spesification
Process Architecture
Gambar 2.6 Aktivitas dalam Architectural Design
2.4.4.4 Component Design Menurut Mathiassen (2000) “ component design adalah mendesain komponen-komponen yang diperlukan dalam suatu sistem yang ingin dibuat. Tujuan
dari
component
design
adalah
untuk
menentukan
sebuah
implementasi dari syarat dalam sebuah kerangka arsitektur” (p231). Tahap component diagram dapat dilihat pada gambar di bawah ini :
36 Architectural specifications
Design of Components
Design of components connections
text
Component Specification
Gambar 2.7 Subactivities in component architacture design 1. Model Component Model component adalah bagian dari sebuah sistem yang mengimplementasikan model problem domain. Tujuan model component adalah untuk menampilkan kembali sebuah model dari problem domain. Model tersebut merupakan hasil dari kegiatan yang digambarkan oleh class diagram yang telah direvisi dari hasil kegiatan analisis. Revisi class diagram dapat dilakukan dengan memperhatikan private event dan common events. Menurut Mathiassen et al. (2000), “ private events adalah event yang melibatkan hanya satu object domain. Sedangkan jika suatu event adalah common/ umum sehingga mempengaruhi beberapa object, maka event tersebut perlu dihubungkan dengan salah satu
37 object dan dibuat hubungan struktural dengan objek lain agar tetap dapat mengaksesnya“ (p239). Representsikan event-event ini sebagai state attribute pada class yang dijabarkan oleh statechart diagram. Event-event yang hanya terjadi pada urutan/ sequence dan selection
Setiap kali ada kejadian yang melibatkan salah satu
event
tersebut,
maka
sistem
akan
menugaskan yang baru kepada state attribute. Integrasikan attribute dari event yang terlibat ke dalam class. Representasikan event-event ini sebagai suatu class baru, dan hubungkan class tersebut dengan class yang dijabarkan pada statechart diagram Event-event yang terjadi berulang-ulang (iteration)
dengan menggunakan struktur aggregation. Untuk setiap iterasi, sistem akan menghasilkan suatu object baru. Integrasikan attribute event ke dalam class yang baru.
Tabel 2.1 Panduan pada Private Event
Jika event yang terlibat dalam statechart diagram dalam cara yang berbeda, representasikan event Common Event
tersebut
dalam
hubungan
ke
class
yang
menawarkan representasi yang simple. Jika event yang terlibat dalam statechart diagram dalam cara yang sama, pertimbangkan alternatif representasi yang mungkin dapat digunakan.
Tabel 2.2 Panduan pada Common Event
Untuk menyederhanakan class diagram yang telah direvisi dari hasil tahapan sebelumnya, dilakukan restrukturisasi class baik melalui generalitation, association, maupun embedded iteration.
38 2. Function Component Function Component (Mathiassen, 2000) “ Function component : a part of a system that implements functional requarements (p252) “ yang
berarti
merupakan
bagian
dari
suatu
sistem
yang
mengimplementasikan kebutuhan-kebutuhan fungsional. Tujuannya adalah agar user interface dan komponen-komponen sistem lainnya dapat mengakses model. Sedangkan tujuan dari function component design adalah menentukan implementasi function. Hasil dari kegiatan ini adalah class diagram dengan operations yang kompleks. Langkah pertama yang harus dilakukan menurut Mathiassen et al. (2000) adalah mendesain function sebagai operations, yaitu mengidentifikasi tipe utama dari functions tersebut (Update, Read, Compute, dan Signal) (p255-260). Pattern (pola) dapat membantu memilih functional desain yang mana dapat digunakan dari beberapa pilihan yang dapat membantu merealisasikan functions sebagai sekumpulan operations. Empat pola menurut Mathiassen et al. (2000), adalah : a. Model Class Placement Pola ini menerapkan operation dalam model component class dan berguna ketika sebuah operation mengakses hanya sebuah single object atau struktur aggregation yang sederhana. Pola ini juga dapat digunakan ketika beberapa objek terlibat namun hanya jika
39 tanggung
jawab
operations
tersebut
dapat
dengan
jelas
ditempatkan pada salah satu dari model class. b. Functions Class Placement Pola ini digunakan ketika tanggung jawab operations tidak dapat dengan jelas ditempatkan dalam model class. Sebaliknya satu atau lebih functional component class dapat digambarkan dengan menempatkan operations yang merealisasikan functions. c. Strategy Pola ini digunakan untuk mendefinisikan sekumpulan operations yang umum terenkapsulasi dan dapat saling ditukarkan. d. Active Function Active
Function
ditempatkan
sebagai
active
object
dan
performancenya tergantung dari state pada model component. Apabila terdapat operation yang kompleks harus dideskripsikan dengan lebih detail lagi sehingga di dalam desain tidak ada ketidakpastian yang penting (p260-264). Menurut Mathiassen et al. (2000), ada tiga cara untuk melakukannya, yaitu operations specification, sequence diagram, dan statechart diagram (p265-266). 3. Connecting Component Connecting Component berfungsi sebagai penghubung antara komponen untuk mendapatkan fleksibilitas dan rancangan yang dapat dipahami.
Tujuan
connecting
component
menghubungkan komponen-komponen sistem.
adalah
untuk
40 2.4.5 Diagram dalam Analisis dan Perancangan Berorientasi Object 2.4.5.1 Rich Picture Rich Picture berisi sebuah pandangan menyeluruh dari people object, process, structure, dan problem dalam system problem dan application domain. People dapat berupa system developer, user, pelanggan, atau pemain lain. Object dapat berupa banyak benda seperti mesin, dokumen, lokasi, departemen, dan yang lainnya. Process menguraikan aspek dari sebuah situasi yang berubah, tidak stabil, atau di bawah pengembangan. Secara grafik, process dugambarkan dengan simbol anak panah. Structure menguraikan aspek dari sebuah situasi yang terlihat stabil atau sulit untuk diubah. Secara grafik, structure diuraikan dalam satu dua cara, yaitu : menggambarkan garis antara elemen-elemen atau menempatkan elemenelemen yang berhubungan dalam sebuah figur umum seperti segiempat atau lingkaran. Berikut ditampilkan gambar dari sebuah rich picture. Rich Picture
memberikan form pengajuan kredit (FPK) yang telah terisi beserta barang yang dianggunkan Masalah terjadi jika nasabah tidak setuju dengan jumlah kerdit yang diberikan
memberikan informasi mengenai kredit yang dapat diberikan berdasarkan nilai barang jaminan
Penaksir
Nasabah melakukan negosiasi bila harga pelanggan tidak setuju dengan niali yang diberikan
menyerahkan uang dan SBK asli
menyerahkan SBK dan barang jaminan yang kreditnya tidak disetujui oleh nasabah
Mengalami masalah jika penaksir melakukan salah taksir kredit terhadap barang jaminan
menyerahkan surat bukti kredit (SBK)
membayar uang pelunasan menyerahkan SBK untuk pembayaran oleh nasabah
Kasi r
menyerahkan SBK Masalah terjadi pada perbedaan perhitungan dengan nasabah terhadap jumlah sewa modal yang dikenakan
Kuasa Pemutus Kredit (Manajer Cabang) menyerahkan SBK dan memberitahukan masalah perhitungan yang tidak sesuai
Masalah terkadang terjadi jika saat pengambilan barang hilang atau rusak
mengembalikan SBK dan memberikan informasi mengenai jumlah perhitungan yang benar
Staf Pelunasan
menyerahkan SBK untuk mengambil barang jaminan menyerahkan kembali SBK yang sudah dicocokkan dengan barang jaminan
Penyimpan menyerahkan barang jaminan sesuai dengan pemiliknya
Barang jaminan
melakukan pengecekan sesuai dengan SBK melakukan pendataan barang yang tidak dilunasi
barang jaminan yang tidak dilunasi
info barang yang diminta
meminta informasi mengenai barang yang tidak dilunasi
Masalah terjadi jika peserta lelang mengajukan harga lelang yang dinilai masih dibawah harga yang ditentukan
Barang lelang melakukan pengecekan ulang menyelenggarakan lelang dan negosiasi harga lelang
Panitia Lelang menyerahkan uang sesuai dengan harga yang disetujui Peserta lelang
Gambar 2.8 Rich Picture
41 2.4.5.2 Class Diagram Class diagram berisi kumpulan dari class dan hubungan strukturalnya yang saling timbal balik. Class adalah uraian dari kumpulan object yang saling berbagi structure, behavior pattern, dan attribute seperti terlihat pada gambar di bawah ini : Transaksi Karyawan
Cabang
-KdKaryawan -Golongan -Nama -Alamat -No.Telp
-KdCabang -NamaCabang -Lokasi +Menghasilkan_laporan() +Membagi_data()
1..*
1..*
-Nama_karyawan -Shift_karyawan -KdKaryawan +Pembelian() +Pengisian_ulang_CR_Card() +Pembayaran_pengisian_CG_Card() +Pembuatan_laporan_ke_manajer_cabang() +Pembuatan_laporan_ke_pusat() +Penukaran_hadiah()
0..* Kasir Manajer_Cabang
Petugas_Operasional
-Cabang -Divisi +Membuat_laporan_ke_pusat()
-Shift -Spesialisasi +Memasukkan_lembaran_voucher_baru() +Mencatat_stock_voucher() +Membuat_lap_berkala() +Mengecek_stock_voucher()
-Shift +Mencatat_pembelian_CG_Card() +Mengisi_ulang_voucher() +Menerima_pembayaran() +Membuat_laporan_berkala()
1
1
1..* Pengunjung
CG Card
Voucher -Jenis -Jumlah +Ditambah() +Dibeli() +Dicatat_stocknya() +Dimasukkan_dalam_mesin()
0..*
1
-KdKartu -Jenis -Nilai +Diaktifkan_di_mesin_game() +Diisi_ulang() +Dibeli_pengunjung()
1
1
-KdKartu -Nama -Alamat -No.Telp -Jenis_kelamin +Membeli_CG_Card() +Menukarkan_voucher() +Mengisi_ulang_CG_Car() +Mengajukan_keluhan() +Menggesek_kartu() +Dicatat_data_pembelian() +Melakukan_pembayaran() +Dicatat_data_pengisian_ulang()
1..* 1..*
1..*
1..* Hadiah
Silver_Card
Gold_Card
-Harga -Nilai_nominal +Tidak_dapat_diisi_ulang()
-Harga -Nilai_nominal +Diisi_ulang()
Platinum_Card -Harga -Nilai_nominal -User_id +Diisi_ulang() +Diganti_kartunya() +Dilakukan_pencatatan_user_id()
-KdHadiah -Jenis +Ditukar() +Ditambah_stocknya()
Gambar 2.9 Class Diagram Ada tiga tipe dalam structure class, yaitu : a. Generalitation Structure Generalitation structure adalah sebuah relasi antara dua atau lebih specialitation class dan general class. Generalitation : sebuah general class (super class) menguraikan properti umum ke sebuah grup dari class yang dispesialisasi. b. Aggregation Structure Aggregation structure adalah sebuah relasi antara dua atau lebih object. Aggregation object menguraikan bahwa satu object dengan fundamental dan mendefinisikan bagian lain :
42 Aggregation : superior object (seluruh) yang terdiri dari sejumlah inferior object (bagian). c. Acociation Structure Association structure juga merupakan relasi antara dua atau lebih object tetapi; tetapi berbeda dari aggregation dalam object yang berasosiasi tersebut yang bukan merupakan properti yang didefinisikan dari sebuah object : Association : relasi yang memiliki arti diantara sejumlah object.
2.4.5.3 Statechart Diagram Statechart diagram berisi behavioral pattern yang sah untuk semua object dalam sebah class, diuraikan oleh state dan event yang berpartisipasi. Statechart diagram dapat juga menguraikan use case, yang transitionnya menyimbolkan action. Gambar statechart dari sebuah class dapat dilihat pada gambar berikut : Card / Diaktifkan_di_mesin_game
/ Dibeli
/ End Active
/ Diisi_ulang
Gambar 2.10 Statechart Diagram
43
2.4.5.4 Use-case Diagram Use case adalah sebuah model untuk interaksi antara sistem dan actor dalam application domain. Use case diagram berisi actor eksternal dalam sebuah system context, use case dimana sistem mendukung, dan hubungan strukturalnya saling timbal balik. Setiap use case menetukan berapa urutan yang penting dalam interaksi antara actor dan system, yang diuraikan secara rinci menggunakan use case specification atau statechart diagram, seperti digambarkan pada gambar ini : Sistem Informasi CG Zone
Mencatat_pembelian _CG_Card
Kasir.
Mencatat_pengisian _ulang_CG_Card
Mencatat_stock_vou cher
Petugas operasional
Membuat_laporan_ke _pusat
Manajer cabang
Gambar 2.11 Use Case Diagram 2.4.5.5 Sequence Diagram Sequence diagram berisi interaksi dari waktu ke waktu antara kumpulan object. Sequence diagram dapat menggambarkan perincian tentang sebuah situasi dinamis, kompleks yang melibatkan beberapa dari banyak object yang dihasilkan dari class dalam class diagram.
44 Dalam sequence diagram, poros horizotal menunjukkan object yang berpartisipasi dan poros vertikal menggambarkan urutan waktu, dimana interaksi yang diekspresikan oleh pesan yang dikirim antara object. Gambar sebuah sequence dari sebuah use case dapat dilihat pada gambar di bawah ini :
BuktiPembayaranUI
Object4 : Buku_Nasabah
Object3 : Kasir.
EnterSlipPelunasanUI() GetBukuNasabahDetail()
Return()
CreateSlipPelunasan()
BuktiPembayaran : Slip Pelunasan
Cetak()
Close() Return() Cetak()
Close()
Return()
Gambar 2.12 Sequence Diagram
2.4.5.6 Navigation Diagram Navigation diagram berisi semua window user interface, dan hubungan dinamisnya. Navigation diagram adalah sebuah statechart diagram khusus yang memfokuskan pada keseluruhan user interface yang dinamis. Sebuah window digambarkan sebagai sebuah state. State tersebut memiliki nama dan mengandung icon (sebuah miniatur window).
45 2.4.5.7 Component Diagram Component adalah sekumpulan dari bagian program yang mewakili keseluruhan dan memiliki tanggung jawab yang dirumuskan dengan baik. Componen architecture adalah sebuah structure sistem yang disusun dari komponen yang saling berhubungan. Gambar berikut adalah gambar dari sebuah component diagram Distributed Functionality
Subsystem A
Subsystem B
Kasir Customer Service
function Function
Server Function.
Model
Gambar 2.13 Component Diagram
2.4.5.8 Deployment Diagram Deployment diagram berisi komponen sistem program, external device, dan hubungan struktural timbal baliknya. Deployment diagram menguraikan sebuah konfigurasi sistem dalam bentuk processor dan object yang dihubungkan ke processor seperti terlihat pada gambar 2.14 di bawah ini :
46 Processor adalah sebuah unit yang dapat menunjukkan proses, dimana processor itu sendiri digambarkan sebagai object. External devices adalah stereotype khusus dari sebuah processor. Program component adalah sebuah komponen yang berhubungan yang menawarkan fasilitas yang pasti ke komponen lain dan dilukiskan oleh sebuah interface yang dibuat dari class dan operation yang diimplementasikan. Processor dapat mengandung program component. Processor dan program component adalah objectnya sendiri dan dapat mengandung object lain.
Distributed Functionaliy
: Client
: Client2
User Interface
Sistem Interface
User Interface2
Sistem Interface2
Function
Function2
Model
Model2
: Server
System Interface
Gambar 2.14 Deployment Diagram
47 2.4.6 Keunggulan Analisis dan Perancangan Berorientasi Object Menurut Mathiassen et al., analisis dan perancangan berorientasi object memiliki keunggulan, antara lain : 1. Merupakan konsep umum yang dapat digunakan untuk memodelkan hampir semua fenomena yang ada di dunia dengan menggunakan bahasa alami -
Noun menjadi object atau class
-
Verb menjadi behavior
-
Adjective menjadi attribute
2. Menyediakan informasi yang jelas mengenai context dari sistem 3. Mengurangi biaya maintenance atau development