BAB 2 LANDASAN TEORI
2.1
Pengertian Sistem Menurut Romney dan Steinbart (2006, p4), “Sistem merupakan suatu kumpulan dari dua atau lebih komponen yang saling berkaitan dan berinteraksi untuk mencapai suatu tujuan.” Menurut Hall (2001, p5), “Sistem adalah sekelompok dua atau lebih komponen yang saling berkaitan atau subsistem-subsistem yang bersatu untuk mencapai tujuan yang sama.” Jadi dapat disimpulkan bahwa sistem merupakan sebuah kumpulan komponen yang saling berinteraksi untuk mencapai suatu tujuan yang sama.
2.2
Pengertian Informasi Menurut Romney dan Steinbart (2006, p5), “Informasi merupakan data yang telah diorganisasikan dan diproses untuk menyediakan arti bagi pengguna.” Menurut Wilkinson et al (2000, p5), “Informasi adalah pengetahuan yang berarti dan berguna bagi orang-orang yang terlibat.” Jadi dapat disimpulkan bahwa informasi merupakan data yang telah diproses sehingga memiliki arti bagi para penggunanya.
9 2.3
Pengertian Sistem Informasi Menurut O’Brien (2005, p5), sebagaimana yang diterjemahkan oleh Dewi Fitriasari dan Deny Arnos Kwary menyatakan bahwa, “Sistem informasi dapat merupakan kombinasi teratur apapun dari orang-orang, hardware, software, jaringan komunikasi, dan sumber daya data yang mengumpulkan, mengubah, dan menyebarkan informasi dalam sebuah organisasi.” Menurut Hall (2001, p7), “Sistem informasi adalah suatu kumpulan prosedur formal di mana data dikumpulkan, diproses menjadi informasi dan didistribusikan kepada para pemakai.” Jadi dapat disimpulkan bahwa sistem informasi merupakan sebuah kombinasi dari orang-orang, piranti keras, piranti lunak, jaringan komunikasi dan sumber daya data yang mengumpulkan data, memprosesnya menjadi informasi dan mendistribusikannya kepada pihak yang membutuhkan.
2.4
Sistem Informasi Akuntansi
2.4.1
Pengertian Sistem Informasi Akuntansi Menurut Rama dan Jones (2006, p5), ”Sistem informasi akuntansi adalah sebuah subsistem dari sistem informasi manajemen yang menyediakan informasi akuntansi dan keuangan, bersama informasi lainnya yang diperoleh dalam proses transaksi akuntansi yang rutin.” Menurut Wilkinson et al. (2000, p7), “Sistem informasi akuntansi adalah kesatuan struktur dalam sebuah entitas, seperti perusahaan, yang mempekerjakan sumber-sumber fisik dan komponen-komponen lain untuk mengubah data
10 ekonomi ke dalam informasi akuntansi, dengan tujuan untuk memuaskan kebutuhan informasi dari berbagai pemakai.” Jadi dapat disimpulkan bahwa sistem informasi akuntansi merupakan sebuah sistem yang menggunakan sumber-sumber fisik dan komponen lainnya untuk mengubah data menjadi informasi akuntansi dan keuangan yang berguna bagi para pemakainya.
2.4.2
Tujuan dan Kegunaan Sistem Informasi Akuntansi Menurut Wilkinson et al. (2000, p8), tujuan dari sistem informasi akuntansi adalah : 1. Mendukung operasional sehari-hari. Dalam rangka operasional sehari-hari, sebuah perusahaan melaksanakan sejumlah kejadian bisnis yang disebut transaksi. Transaksi dapat dibedakan menjadi : •
Transaksi akuntansi, yang meliputi kejadian atau transaksi yang menggambarkan perubahan nilai ekonomis.
•
Transaksi non akuntansi, seperti melakukan pesanan pembelian, yang akan mengarah kepada transaksi akuntansi.
2. Mendukung pengambilan keputusan oleh pengambil keputusan internal. Tujuan yang sama pentingnya adalah untuk memberikan informasi bagi pengambilan keputusan. Tujuan yang kedua ini dibantu oleh aktivitas yang secara umum disebut pemrosesan transaksi. Manajer perusahaan merupakan
11 pembuat keputusan utama yang menggunakan hasil dari pemrosesan transaksi. 3. Memenuhi kewajiban yang berkaitan dengan pekerjaan. Setiap perusahaan harus memenuhi kewajiban hukumnya. Kewajiban penting tertentu terdiri atas pemberian informasi kepada pengguna eksternal. Menurut Rama dan Jones (2006, p6), kegunaan dari sistem informasi akuntansi adalah : 1. Menghasilkan laporan eksternal Sistem informasi akuntansi digunakan untuk menghasilkan laporan khusus untuk memenuhi kebutuhan infomasi investor, kreditur, kolektor pajak, agen hukum, dan lainnya. 2. Mendukung aktivitas rutin Manajer membutuhkan sistem informasi akuntansi untuk menangani operasi rutin dari siklus operasi perusahaan. 3. Pengambilan keputusan Informasi juga dibutuhkan untuk mendukung pengambilan keputusan non rutin pada berbagai tingkat dalam organisasi. 4. Perencanaan dan pengendalian Sistem informasi digunakan untuk perencanaan dan pengendalian aktivitas. Informasi mengenai anggaran dan biaya-biaya standar disimpan dalam sistem informasi dan laporan dirancang untuk membandingkan antara anggaran yang ditetapkan dengan jumlah yang sebenarnya.
12 5. Implementasi pengendalian internal Pengendalian internal meliputi kebijakan, prosedur, dan sistem informasi yang digunakan untuk melindungi aset perusahaan dari kehilangan atau pencurian dan untuk memelihara keakuratan data keuangan.
2.4.3
Komponen-Komponen Sistem Informasi Akuntansi Menurut Romney dan Steinbart (2006, p6-7), terdapat 6 komponen dari sistem informasi akuntansi, yaitu : 1. People, yang mengoperasikan sistem dan melaksanakan berbagai macam fungsi. 2. Procedures and instructions, baik manual maupun otomatis, yang terlibat dalam pengumpulan, pemrosesan, dan penyimpanan data mengenai aktivitas organisasi. 3. Data, tentang organisasi dan proses bisnisnya. 4. Software, yang digunakan untuk memproses data organisasi. 5. Information technology infrastructure, termasuk komputer, peralatan di sekellingnya, dan peralatan komunikasi jaringan yang digunakan untuk mengumpulkan, menyimpan, memproses, dan mengirimkan data dan informasi. 6. Internal control and security measures, yang mengamankan data dalam sistem informasi akuntansi.
13 2.5
Sistem Informasi Akuntansi Penjualan, Piutang Dagang, dan Penerimaan Kas
2.5.1
Pengertian Penjualan Menurut Standar Akuntansi Keuangan (2004, PSAK no 23.1), ”Penjualan barang meliputi barang yang diproduksi perusahaan untuk dijual dan barang yang dibeli untuk dijual kembali, seperti barang dagang yang dibeli pengecer atau tanah dan properti lain yang dibeli untuk dijual kembali.” Menurut Warren, Reeve dan Fees (2005, p290), sebagaimana yang diterjemahkan oleh Aria Farahmita menyatakan bahwa, “Penjualan adalah jumlah yang dibebankan kepada pelanggan untuk barang yang dijual, baik secara tunai ataupun kredit.” Jadi dapat disimpulkan bahwa penjualan merupakan suatu kegiatan perpindahan barang yang diproduksi perusahaan untuk dijual kembali dan barang yang dibeli untuk dijual kembali ke tangan pelanggan dengan membebankan sejumlah tertentu, baik secara tunai ataupun kredit.
2.5.2
Pengertian Piutang Dagang Menurut Bodnar dan Hopwood (2001, p295), “Piutang adalah uang yang terhutang oleh konsumen atas barang yang telah dijual atau jasa yang telah diberikan kepadanya.” Menurut Kieso et al (2004, p318), “Piutang merupakan klaim terhadap konsumen atau yang lainnya atas uang, barang atau jasa.”
14 Jadi dapat disimpulkan bahwa piutang merupakan klaim terhadap pihak lain yang muncul sebagai akibat dari suatu transaksi yang telah terjadi sebelumnya.
2.5.3
Tujuan Sistem Informasi Akuntansi Penjualan Menurut Wilkinson et al (2000, p416), tujuan sistem informasi akuntansi penjualan adalah : 1. Mencatat pesanan penjualan secara akurat dan cepat 2. Mengidentifikasi pelanggan yang layak mendapat kredit 3. Mengirimkan produk atau melakukan pelayanan pada waktu yang tepat 4. Menagih piutang ke pelanggan pada waktunya 5. Mencatat dan mengklasifikasikan penerimaan kas secara cepat dan akurat 6. Melakukan posting penjualan dan penerimaan kas ke account yang berhubungan ke dalam buku besar piutang 7. Mengamankan produk sampai pengiriman 8. Mengamankan kas sampai dideposit
2.5.4
Dokumen-Dokumen yang Digunakan dalam Sistem Informasi Akuntansi Penjualan, Piutang Dagang, dan Penerimaan Kas Menurut Wilkinson et al. (2000, p419), dokumen yang digunakan dalam sistem informasi akuntansi penjualan, piutang dagang, dan penerimaan kas adalah :
15 1. Customer order Dapat berupa pesanan pembelian yang diterima dari pelanggan atau formulir yang dipersiapkan oleh karyawan penjualan dari perusahaan penjual. 2. Sales order Formulir formal yang memiliki banyak salinan yang dipersiapkan dari pesanan pelanggan. 3. Order acknowledgment Biasanya berupa salinan pesanan penjualan yang dikirimkan ke pelanggan untuk menyatakan penerimaan pesanan. 4. Picking list Berupa salinan pesanan penjualan atau dokumen terpisah yang dikirimkan ke gudang untuk mengambil barang yang dipesan dari tempat penyimpanan. 5. Packing slip Berupa salinan pesanan penjualan atau picking list yang ditempelkan bersama barang ketika dipersiapkan untuk pengiriman. 6. Billing of lading Dokumen pengiriman yang digunakan untuk perusahaan pengiriman yang akan mengirimkan produk. 7. Shipping notice Biasanya berupa salinan pesanan penjualan atau dokumen pengiriman terpisah yang berfungsi sebagai bukti bahwa barang telah dikirimkan. 8. Sales invoice Dokumen yang dikirimkan ke konsumen untuk menyatakan berapa jumlah penjualan.
16 9. Remittance advice Dokumen yang menunjukkan jumlah penerimaan kas dari konsumen. 10. Deposit slip Dokumen yang menyertai penyetoran kas ke bank. 11. Back order Dokumen yang dipersiapkan ketika kuantitas dari persediaan tidak mencukupi pesanan penjualan. 12. Credit memo Dokumen yang memungkinkan pengurangan kredit konsumen untuk pengembalian penjualan atau penyisihan penjualan. 13. Credit application Formulir yang dipersiapkan ketika konsumen baru mengajukan kredit, menunjukkan data rinci yang menyinggung kondisi keuangan saat ini dan tingkat pendapatan. 14. Salesperson call report Formulir yang digunakan untuk menggambarkan panggilan yang dibuat oleh bagian penjualan kepada konsumen potensial dan mengidentifikasi hasil dari panggilan tersebut. 15. Delinquent notice Catatan yang dikirimkan kepada konsumen yang melewati batas saldo kredit. 16. Write-off notice Dokumen yang dipersiapkan oleh manajer kredit ketika akun dinyatakan tidak dapat ditagih.
17 17. Cash register receipts Formulir yang digunakan oleh retailer untuk menggambarkan penerimaan kas.
2.5.5
Prosedur-Prosedur dalam Sistem Informasi Penjualan, Piutang Dagang, dan Penerimaan Kas Menurut Wilkinson et al. (2000, p422-428), prosedur-prosedur dalam sistem informasi akuntansi penjualan, piutang dagang, dan penerimaan kas adalah : •
Order Entry Setiap pesanan dari pelanggan dimasukkan ke dalam sebuah formulir penjualan berdasarkan formulir pesanan pembelian dari pelanggan atau pesanan melalui telepon. Langkah awal yang dilakukan dalam memasukkan pesanan adalah pengecekan apakah jumlah barang yang dipesan sudah tersedia. Apabila jumlah barang yang ada tidak mencukupi, maka akan dilakukan proses back order. Kemudian akan dilakukan pengecekan status kredit pelanggan dengan membandingkan jumlah limit kredit dengan total piutang ditambah dengan total pesanan penjualan. Apabila semua kebijakan kredit telah terpenuhi, maka dibuat customer order acknowledgement untuk pelanggan, picking list untuk bagian gudang, dan salinan file cadangan.
•
Shipping Apabila barang yang dipesan telah disiapkan oleh bagian gudang, maka proses selanjutnya adalah proses pengiriman. Beberapa dokumen yang
18 diperlukan dalam proses pengiriman, antara lain : packing slip, bill of lading, dan shipping notice. •
Billing Setelah shipping notice diterima, pada saat itu, (1) sales invoice dicetak, (2) pendebetan piutang pelanggan dengan jumlah yang ditagih, (3) catatan persediaan dikurangi dengan jumlah barang yang telah dikirimkan, (4) sales order ditutup ke sales history file, (5) record baru dibuat dalam sales invoice file, dan (6) jumlah penjualan dan piutang diposting ke akun buku besar yang bersangkutan. Sales invoice akan dikirimkan kepada pelanggan.
•
Preparing Analyses and Reports Pada akhir hari, sebuah daftar tagihan dan ringkasan piutang akan dicetak. Daftar tagihan adalah sebuah daftar transaksi penjualan yang terdiri dari datadata berkaitan dengan tagihan penjualan yang disiapkan pada hari tersebut. Ringkasan piutang menunjukkan perubahan pada akun pelanggan yang terjadi akibat transaksi pada hari tersebut.
•
Handling Sales Returns and Allowances Retur penjualan terjadi ketika pelanggan yang tidak puas mengirimkan kembali seluruh atau sebagian barang yang dipesan. Untuk itu, memo kredit akan disiapkan untuk mengurangi akun piutang pelanggan sebagai dampak dari retur penjualan.
•
Processing Back Orders Back order diperlukan ketika jumlah persediaan tidak mencukupi untuk memenuhi semua pesanan. Back order melibatkan penyiapan form back
19 order, menunjukkan pelanggan yang memesan, nomor pemesanan, jumlah yang dibutuhkan, dan tanggal permintaan. Form ini akan dikirimkan ke pemasok yang terpilih.
2.5.6
Prosedur Retur Penjualan Menurut Hall (2001, p179), retur penjualan terjadi karena beberapa alasan yaitu : •
Penjual mengirimkan barang yang salah kepada pembeli.
•
Barang yang dikirimkan rusak.
•
Barang rusak dalam pengiriman.
•
Penjual terlambat mengirimkan barang atau barang tertunda dalam pengiriman, dan pembeli menolak untuk menerimanya. Menurut Hall (2001, p179-181), prosedur retur penjualan adalah sebagai
berikut : •
Sales Department Berdasarkan slip retur yang diterima, bagian penjualan menyiapkan memo kredit yang berfungsi sebagai otorisasi untuk pelanggan menerima kredit atas barang yang dikembalikan.
•
Credit Department Manajer kredit mengevaluasi kondisi retur untuk mengambil keputusan mengabulkan atau menolak kredit.
20 •
Billing Department Bagian penagihan menerima memo kredit dari bagian penjualan dan mencatatnya dalam jurnal. Kemudian bagian penagihan akan mengirimkan memo kredit ke bagian pengendalian persediaan untuk di-posting.
•
Inventory Control and AR Departments Bagian pengendalian persediaan menyesuaikan catatan persediaan dan meneruskan memo kredit ke bagian piutang.
•
General Ledger Department Bagian buku besar menerima voucher jurnal dari bagian penagihan dan pengendalian persediaan dan ringkasan akun dari bagian piutang. Bagian buku besar akan mem-posting voucher jurnal ke dalam akun-akun pengendali yang bersangkutan.
2.5.7
Laporan-Laporan yang Terkait dengan Sistem Informasi Penjualan, Piutang Dagang, dan Penerimaan Kas Menurut Wilkinson et al. (2000, p436-442), laporan-laporan yang terkait dengan sistem informasi akuntansi penjualan, piutang dagang, dan penerimaan kas adalah : 1. Operational listing and reports Laporan atau daftar ini merupakan kumpulan dari informasi transaksi operasional / kegiatan sehari-hari perusahaan yang meliputi monthly statement, open orders report, sales invoice register, shipping register, cash receipts journal, dan credit memo register.
21 2. Inquiry display screens Penyelidikan oleh karyawan klerikal yang lebih spesifik dan melibatkan data yang relatif terbatas. 3. Scheduled managerial reports Berbagai macam laporan yang biasanya dipersiapkan secara periodik untuk digunakan oleh manajer pemasaran, yang terdiri dari accounts receivable aging schedule, reports on critical factors, sales analyses, dan cash flow statements. 4. Demand managerial report Demand managerial reports adalah laporan khusus yang tidak dijadwalkan. Informasinya digunakan terutama untuk pengambilan keputusan dan pengendalian.
2.6
Syarat-Syarat Pemberian Limit Kredit Menurut Munawir (2004, p235-p236), syarat-syarat pemberian kredit, yang terkenal dengan 5C, yaitu : 1. Character Keterangan mengenai sifat-sifat pribadi, watak dan kejujuran pelanggan dalam memenuhi kewajiban keuangannya. Keterangan ini diperoleh dengan cara (1) mengenal dari dekat, (2) mengumpulan keterangan mengenai aktivitas calon pelanggan, dan (3) mengumpulkan keterangan dari rekanrekan, pegawai, dan saingan mengenai reputasi, kebiasaan pribadi, pergaulan sosial, dan lain-lain.
22 2. Capacity Hal ini menyangkut kemampuan pimpinan perusahaan pelanggan beserta staf-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 menunjukkan posisi finansial perusahaan secara keseluruhan yang ditunjukkan oleh ratio finansialnya. 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 of Economy Hal ini berkaitan dengan kondisi ekonomi secara umum serta kondisi pada sektor usaha pelanggan.
Dalam skripsi ini, hanya satu kriteria yang digunakan untuk menilai pelanggan dalam rangka penentuan besarnya limit kredit yang dapat diambil pelanggan yaitu capacity. Kriteria capacity dapat dilihat dari besarnya nilai transaksi yang dilakukan oleh para pelanggan perusahaan.
23 2.7
Pajak Pertambahan Nilai
2.7.1
Pengertian Pajak Pertambahan Nilai Menurut Waluyo (2000, p 263), ”Pajak Pertambahan Nilai merupakan pajak yang dikenakan atas konsumsi di dalam negeri (di dalam daerah pabean), baik konsumsi barang maupun konsumsi jasa.” Menurut Mardiasmo (2004, p226-230), hal-hal yang berkaitan dengan pajak pertambahan nilai sebagai berikut : 1. Pajak keluaran adalah PPN terutang yang wajib dipungut oleh pengusaha kena pajak yang melakukan penyerahan BKP, penyerahan JKP, atau ekspor BKP. 2. Masa pajak adalah jangka waktu yang lamanya sama dengan 1 (satu) bulan takwim atau jangka waktu lain yang ditetapkan dengan Keputusan Menteri Keuangan paling lama 3 (tiga) bulan takwim. 3. Barang kena pajak (BKP) adalah barang terwujud yang menurut sifat atau hukumnya dapat berupa barang bergerak atau barang tidak bergerak, dan barang tidak berwujud yang dikenakan pajak berdasarkan Undang-undang PPN. 4. Pengusaha adalah orang pribadi atau badan yang dalam kegiatan usaha atau pekerjaannya menghasilkan barang, mengimpor barang, mengekspor barang, melakukan usaha perdagangan, memanfaatkan barang tidak berwujud dari luar daerah pabean, melakukan usaha jasa, atau memanfaatkan jasa dari luar daerah pabean. Pengusaha kena pajak (PKP) adalah pengusaha yang melakukan penyerahan barang kena pajak dan atau penyerahan jasa kena pajak yang dikenakan pajak
24 berdasarkan Undang-undang PPN 1984, tidak termasuk pengusaha kecil yang batasannya ditetapkan dengan Keputusan Menteri Keuangan, kecuali pengusaha kecil yang memilih untuk dikukuhkan sebagai pengusaha kena pajak.
2.7.2
Dasar Hukum Pajak Pertambahan Nilai Menurut Mardiasmo (2004, p226), Undang-undang yang mengatur pengenaan Pajak Pertambahan Nilai (PPN) dan Pajak Penjualan atas Barang Mewah (PPnBM) adalah Undang-undang Nomor 8 Tahun 1983 tentang Pajak Pertambahan Nilai Barang dan Jasa dan Pajak Penjualan atas Barang Mewah sebagaimana telah beberapa kali diubah terakhir dengan Undang-undang Nomor 18 Tahun 2000. Undang-undang ini disebut Undang-undang Pajak Pertambahan Nilai 1984.
2.7.3
Faktur Pajak Menurut Mardiasmo (2004, p246), “Faktur Pajak adalah bukti pungutan pajak yang dibuat oleh Pengusaha Kena Pajak yang melakukan penyerahan BKP atau penyerahan JKP, atau bukti pungutan pajak karena impor BKP yang digunakan oleh Direktorat Jenderal Bea dan Cukai.” Faktur Pajak dapat berupa : •
Faktur Pajak Standar
•
Faktur Pajak Gabungan
•
Faktur Pajak Sederhana
25 •
Dokumen-dokumen tertentu yang ditetapkan sebagai Faktur Pajak Standar oleh Dirjen Pajak
2.7.4
Rumus Perhitungan Pajak Pertambahan Nilai Menurut Mardiasmo (2004, p238-241), tarif PPN yang berlaku saat ini adalah 10% (sepuluh persen). Rumus perhitungan pajak pertambahan nilai sebagai berikut : PPN = dasar pengenaan pajak x tarif pajak.
2.8
Sistem Pengendalian Internal
2.8.1
Pengertian Pengendalian Internal Menurut Rama dan Jones (2006, p103), ”Pengendalian internal adalah proses yang dipengaruhi oleh jajaran direksi, manajemen, dan personel lainnya, dengan tujuan untuk menyediakan jaminan kepastian sehubungan dengan pencapaian tujuan dalam beberapa kategori, yaitu keefektivitasan dan efisiensi, laporan keuangan yang bisa diandalkan serta kesesuaian dengan hukum dan regulasi yang berlaku.” Menurut Bodnar dan Hoopwood (2001, p182), “Pengendalian internal adalah sebuah proses – yang dipengaruhi oleh dewan direksi, manajemen, dan personel lain – yang dirancang untuk memberikan keyakinan yang masuk akal berkaitan dengan pencapaian tujuan dalam kategori berikut : (a) keandalan pelaporan keuangan, (b) efektivitas dan efisiensi operasional, dan (c) kepatuhan terhadap hukum dan peraturan yang berlaku.”
26 Jadi dapat disimpulkan bahwa pengendalian internal merupakan sebuah proses yang dilakukan oleh pihak manajemen untuk melindungi kekayaan organisasi, mengecek keandalan informasi dan kepatuhan terhadap hukum dan peraturan yang berlaku.
2.8.2
Komponen – komponen Pengendalian Internal Menurut Rama dan Jones (2006, p105), Laporan COSO mengidentifikasi lima komponen pengendalian internal yang berpengaruh terhadap kemampuan organisasi untuk mencapai tujuan pengendalian internal sebagai berikut : 1. Control environment Merujuk
kepada
beberapa
faktor
yang
disusun
organisasi
untuk
mengendalikan kesadaran para karyawannya. Faktor-faktor tersebut meliputi integritas, nilai etika, filosofi manajemen, dan gaya operasi. Hal ini juga termasuk cara manajemen menetapkan otoritas dan tanggung jawab, mengatur dan mengembangkan sumber daya manusia serta perhatian dan arahan yang diberikan oleh jajaran direksi. 2. Risk assessment Merupakan proses identifikasi dan analisis terhadap risiko yang dapat menghambat pencapaian tujuan pengendalian internal. 3. Control activities Merupakan kebijakan dan prosedur yang dikembangkan organisasi untuk menangani resiko. Aktivitas pengendalian meliputi :
27 •
Performance reviews, kegiatan yang berhubungan dengan analisis terhadap kinerja, misalnya dengan membandingkan hasil yang didapat dengan anggaran, standar perhitungan dan data pada periode sebelumnya.
•
Segregation of duties, terdiri dari penetapan tanggung jawab untuk mengotorisasi transaksi, melakukan transaksi, mencatat transaksi, dan menjaga aset yang dilakukan oleh karyawan yang berbeda.
•
Application controls, berhubungan dengan aplikasi sistem informasi akuntansi.
•
General controls, pengendalian yang lebih luas yang berkaitan dengan berbagai aplikasi.
4. Information and communication Sistem informasi dalam perusahaan merupakan kumpulan prosedur (manual dan otomatis) dan pencatatan dalam memulai, mencatat, memproses dan melaporkan kejadian atas proses-proses yang terjadi dalam organisasi. Komunikasi melibatkan penyediaan pemahaman atas peran dan tanggung jawab individu. 5. Monitoring Manajemen harus mengawasi pengendalian internal untuk memastikan bahwa pengendalian internal organisasi harus berjalan sesuai tujuan yang telah ditetapkan.
28 2.9
Metode Object Oriented Analysis and Design
2.9.1
Objek Menurut Mathiassen et al. (2000, p4), ”Object is an entity with identity, state, and behavior.” Objek adalah suatu entitas dengan identitas, keadaan (tingkatan hidup) dan tingkah laku. Setiap objek digambarkan secara terkelompok ( kumpulan) karena ada beberapa objek yang memiliki sifat atau fungsi yang sama yang dikenal dengan istilah class. Class adalah suatu deskripsi atas kumpulan objek yang saling menggunakan struktur, pola tingkah laku, dan atribut secara bersama-sama.
2.9.2
Pengertian Object Oriented Analysis and Design Menurut Mathiassen et al. (2000, p12), “OOA&D is a collection of general guidelines for carrying out analysis and design.”, yang berarti OOA&D adalah sekumpulan pedoman-pedoman umum untuk melaksanakan analisis dan perancangan. Menurut Mathiassen et al. (2000, p14), “Analisis dan perancangan berorientasi objek terbagi ke dalam empat aktivitas utama yaitu : a.
Problem domain analysis
b.
Application domain analysis
c.
Architectural design
d.
Component design
Keempat aktivitas utama dalam analisis dan perancangan berorientasi objek dapat dilihat pada Gambar 2.1 berikut.
29
Gambar 2.1 Aktivitas Utama dalam OOA&D Sumber : Mathiassen et al, 2000, p15
2.9.3
System Definition Menurut Mathiassen et al. (2000, p24), ”System definition is a conscise description of a computerized system expressed in natural language.” System definition merupakan deskripsi singkat dari sebuah sistem terkomputerisasi yang dinyatakan dalam bahasa alami. Suatu system definition mengekspresikan property-property yang fundamental untuk pengembangan dan penggunaan sistem. Hal tersebut mendeskripsikan sistem dalam konteks, informasi apa yang harus dikandungnya, function mana yang harus tersedia, di mana hal tersebut akan digunakan, dan kondisi pengembangan mana yang diterapkan. Tujuan dari system definition adalah untuk menerangkan berbagai interpretasi dan kemungkinan yang berbeda. System definition membantu menangani gambaran umum dari berbagai pilihan-pilihan yang berbeda, dan dapat digunakan untuk membandingkan berbagai alternatif. System definition
30 yang akhirnya dipilih harus menyediakan landasan-landasan yang baik untuk kelangsungan aktivitas analisis dan perancangan.
2.9.4
Rich Picture Menurut Mathiassen et al. (2000, p26),
”Rich picture is an informal
drawing that presents the illustraor’s understanding of a situation.” Rich picture adalah sebuah gambaran informal yang mewakili pemahaman ilustrator terhadap situasi dari sistem. Dengan membuat rich picture, kita dapat memperjelas pandangan user mengenai situasi, permasalahan, dan memperoleh gambaran umum dari situasi dengan cepat. Tujuan pembuatannya bukan untuk membuat deskripsi yang mendetail dari semua keadaan yang mungkin, tetapi lebih untuk memperoleh gambaran umum.
2.9.5
The FACTOR Criterion Menurut Mathiassen et al. (2000, p.39), kriteria FACTOR terdiri dari enam elemen, sebagai berikut: •
Functionality Fungsi-fungsi sistem yang mendukung tugas-tugas application domain.
•
Application Domain Bagian organisasi yang mengadministrasi, memonitor, dan mengontrol problem domain.
•
Condition Kondisi di mana sistem akan dikembangkan dan digunakan.
31 •
Technology Mencakup teknologi yang akan digunakan untuk mengembangkan sistem dan teknologi di mana sistem akan dijalankan.
•
Objects Objek-objek utama dari problem domain.
•
Responsibility Tanggung jawab keseluruhan dari sistem dalam hubungannya dengan konteks.
2.9.6
Problem Domain Analysis Menurut Mathiassen et al. (2000, p6), ”Problem domain is part of a context that is administrated, monitored or controlled by a system.” Problem-domain analysis memfokuskan pada informasi apa yang harus ditangani oleh sistem dan menghasilkan sebuah model yang merupakan gambaran dari class, objek, struktur dan perilaku (behavior) yang ada dalam problem domain. Aktivitas utama dalam problem domain analysis dapat dilihat pada gambar 2.2 berikut.
Gambar 2.2 Aktivitas Utama dalam Problem Domain Sumber : Mathiassen et al (2000, p46)
32 2.9.6.1 Classes Menurut Mathiassen et al. (2000, p53), ”Class is description of collection of objects sharing structure, behavioural pattern, and attribute.” Class adalah gambaran atau definisi kumpulan dari objek yang berbagi structure, behaviour pattern, dan attribute yang sama. Class merupakan kegiatan yang pertama dilakukan di dalam analisis problem domain. Menurut Mathiassen et al (2000, p53-55) untuk menjalankan kegiatan class dapat dimulai dengan mengidentifikasikan kandidat / calon yang mungkin untuk classes dan events dalam model problem domain. Setelah itu, evaluasi dan pilih secara kritis classes dan events yang benar-benar relevan dengan konteks sistem. Pemilihan 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 kelas dalam problem domain. Kegiatan class akan menghasilkan sebuah event table dengan class dan event yang berkaitan seperti yang ditunjukkan pada tabel 2.1 berikut. Tabel 2.1 Contoh Event Table Classes Events Customer Assistant Reserved √ √ Cancelled √ √ Treated √ Employed √ Resigned √ Graduated Agreed √ Sumber : Mathiassen et al (2000, p50)
Apprentice
√ √ √ √
Appointment √ √ √
Plan √
√
33 2.9.6.2
Structure Menurut Mathiassen et al. (2000, p69), structure bertujuan untuk mendeskripsikan hubungan struktural antara class dan object dalam problem domain. Prinsip-prinsip yang digunakan dalam structure, yaitu pembelajaran abstrak, hubungan statis di antara class; pembelajaran konkrit, hubungan dinamis di antara object; dan pemodelan hanya hubungan-hubungan struktural yang diperlukan. Hasil dari kegiatan structure adalah sebuah class diagram dengan class dan structure. Menurut Mathiassen et al (2000, p72-77) terdapat dua tipe structure dalam object-oriented, yaitu : 1. Class Structures Class structures memperlihatkan hubungan-hubungan konseptual yang statis di antara classes, yang terdiri dari : a. “Generalization : A general class (the super class) describes properties common to a group of specialized classes (the subclasses).” Generalisasi merupakan suatu class yang umum (super class) yang mendeskripsikan sebuah grup class-class khusus (subclass). Contoh generalization structure dapat dilihat pada gambar 2.3 berikut.
Gambar 2.3 Contoh Generalization Structure Sumber : Mathiassen et al (2000, p73)
34 b. ”Cluster : A collection of related classes.” Cluster merupakan sekumpulan class yang saling berkaitan. Contoh cluster structure dapat dilihat pada gambar 2.4 berikut.
Gambar 2.4 Contoh Cluster Structure Sumber : Mathiassen et al (2000, p75) 2. Object Structures Object structures memperlihatkan hubungan-hubungan yang dinamis di antara object dalam problem domain, yang terdiri dari : a. “Aggregation : A superior object (the whole) consists of a number of inferior objects (the parts).” Aggregation merupakan suatu objek superior (keseluruhan) yang terdiri dari sejumlah objek-objek inferior (bagianbagian). Contoh aggregation structure dapat dilihat pada gambar 2.5 berikut.
Gambar 2.5 Contoh Aggregation Structure Sumber : Mathiassen et al (2000, p76)
35 Terdapat tiga tipe struktur agregasi, yaitu : •
Whole-Part, dimana objek superior merupakan penjumlahan dari objek inferior; jika menambahkan atau menghilangkan salah satu objek inferior, berarti mengubah objek superior secara mendasar.
•
Container-Content, dimana objek superior merupakan wadah bagi objek inferior; jika menambahkan atau menghilangkan salah satu content, tidak akan mengubah properti dasar dari objek superior secara mendasar.
•
Union-Member, dimana objek superior merupakan gabungan dari anggota-anggota yang terorganisasi. Penambahan atau pengurangan beberapa anggota tidak akan mengubah gabungan secara mendasar. Terdapat batasan yang lebih rendah pada jumlah anggota karena tidak mungkin sebuah gabungan tanpa anggota.
b. ”Association : A meaningful relation between a number of objects.” Association merupakan suatu hubungan yang berarti di antara sejumlah objek. Contoh association structure dapat dilihat pada gambar 2.6 berikut.
Car
0..* 1..*
Gambar 2.6 Contoh Association Structure Sumber : Mathiassen et al (2000, p77)
Person
36 2.9.6.3
Behavior Menurut Mathiassen et al. (2000, p89), kegiatan behavior merupakan kegiatan terakhir dalam analisis problem domain yang bertujuan untuk memodelkan apa yang terjadi (perilaku dinamis) dalam problem-domain sistem sepanjang waktu. Tugas utama dari kegiatan ini adalah menggambarkan pola perilaku (behavioral pattern) dan atribut dari setiap class. Hasil dari kegiatan ini adalah sebuah pola perilaku (behavioral pattern) dengan attributes untuk setiap class dalam suatu class diagram, yang dikenal dengan statechart diagram yang dapat dilihat pada gambar 2.7 berikut.
Gambar 2.7 Contoh Statechart Diagram Sumber : Mathiassen et al (2000, p90) Menurut Mathiassen et al (2000, p90), “Event trace : A sequence of events involving a specific object.” Event trace merupakan serangkaian kejadian yang melibatkan sebuah objek yang spesifik. Contoh event trace untuk class Pelanggan : account opened – amount deposited – amount withdrawn – amount deposited – account closed. Menurut Mathiassen et al (2000, p90), “Behavioral pattern : A description of possible event traces for all objects in a class.” Behavioral pattern merupakan
37 suatu deskripsi dari event trace yang mungkin untuk seluruh objek dalam sebuah class. Tiga jenis notasi untuk behavioral pattern yaitu : •
Sequence, dimana event muncul satu per satu secara berurutan.
•
Selection, dimana terjadi pemilihan satu event dari sekumpulan event yang muncul.
•
Iteration, dimana sebuah event muncul sebanyak nol atau beberapa kali. Contoh behavioral pattern untuk class Pelanggan : account opened +
(amount deposited | amount withdrawn)* + account closed.
2.9.7
Application Domain Analysis Menurut Mathiassen et al. (2000, p6), ”Application domain is the organization that administrates, monitors, or controls a problem domain.” Application domain analysis memfokuskan pada bagaimana target sistem akan digunakan dengan menentukan kebutuhan function dan interface. Aktivitas utama dalam application domain analysis dapat dilihat pada gambar 2.8 berikut.
Gambar 2.8 Aktivitas Utama dalam Application Domain Sumber : Mathiassen et al (2000, p117)
38 2.9.7.1
Usage Menurut Mathiassen et al. (2000, p120), use case adalah pola interaksi antara sistem dan actor di dalam application domain. Use case dapat digambarkan dengan menggunakan spesifikasi use case, di mana use case dijelaskan secara singkat namun jelas dan dapat disertai keterangan objek sistem yang terlibat dan function dari use case tersebut atau dengan diagram statechart karena use case adalah sebuah fenomena yang dinamik. Menurut Mathiassen et al (2000, p119), actor adalah abstraksi dari user atau sistem lain yang berinteraksi dengan target sistem. Cara untuk mengidentifikasi actor adalah dengan mengetahui alasan actor mengggunakan sistem. Masing-masing actor memiliki alasan yang berbeda untuk menggunakan sistem. Cara lainnya yaitu dengan melihat peran dari actor seperti yang dinyatakan oleh use case di mana actor tersebut terlibat. Masing-masing actor memiliki peran yang berbeda-beda. Kegiatan usage merupakan kegiatan pertama dalam analisis application domain yang bertujuan untuk menentukan bagaimana actor yang merupakan pengguna atau sistem lain berinteraksi dengan sistem yang dituju. Hasil dari analisis kegiatan usage ini adalah deskripsi lengkap dari semua use case dan actor yang ada yang digambarkan dalam actor table dan use case diagram pada tabel 2.2 dan gambar 2.9 berikut.
39 Tabel 2.2 Contoh Actor Table Actors Account Use Cases Owner Creditor Payment √ √ Cash withdrawal √ Money transfer √ √ Account information √ Credit information √ Registration Monitoring Error correction Sumber : Mathiassen et al (2000, p121)
Administrator √ √ √ √ √ √
payment
cash withdrawal
Account owner
money transfer
Liquidity monitor
account information
credit information Creditor
Administrator registration
monitoring
error connection
Gambar 2.9 Contoh Use Case Diagram Sumber : Mathiassen et al (2000, p122)
Liquidity Monitor
√
40 2.9.7.2
Function Menurut
Mathiassen
et
al.
(2000,
p137-142),
kegiatan
function
memfokuskan pada bagaimana cara sebuah sistem dapat membantu actor dalam melaksanakan pekerjaan mereka. Tujuan dari kegiatan function adalah untuk menentukan kemampuan sistem memproses informasi. Hasil dari kegiatan ini adalah sebuah daftar function-function yang merinci function-function yang kompleks. Daftar function harus lengkap, menyatakan kebutuhan kolektif dari pelanggan dan actor dan harus konsisten dengan use case. Function memiliki empat tipe yang berbeda, yaitu : •
Update, function ini disebabkan oleh event problem domain dan menghasilkan perubahan dalam state atau keadaan dari model tersebut.
•
Signal, function ini disebabkan oleh perubahan keadaan atau state dari model yang dapat menghasilkan reaksi pada konteks.
•
Read, function ini disebabkan oleh kebutuhan informasi dalam pekerjaan actor dan mengakibatkan sistem menampilkan bagian yang berhubungan dengan informasi dalam model.
•
Compute, function ini disebabkan oleh kebutuhan informasi dalam pekerjaan actor dan berisi perhitungan yang melibatkan informasi yang disediakan oleh actor atau model, hasil dari function ini adalah tampilan dari hasil komputasi. Menurut Mathiassen et al (2000, p142), cara untuk mengidentifikasi
function adalah dengan melihat deskripsi problem domain yang dinyatakan dalam class dan event, dan melihat deskripsi application domain yang dinyatakan dalam use case. Class dapat menyebabkan munculnya function read
41 dan update. Event memungkinkan munculnya kebutuhan terhadap function update. Sementara use case dapat menyebabkan munculnya segala macam tipe function.
2.9.7.3
Interface Menurut Mathiassen et al. (2000, p151-152), ”Interface is a facilities that make a system’s model and functions available to actors.” Interface merupakan sebuah fasilitas yang menghubungkan model sistem dan function dengan actor. Interface digunakan oleh actor untuk berinteraksi dengan sebuah sistem. Interface dibedakan ke dalam dua golongan, yaitu : 1. User interface adalah interface yang menghubungkan user dengan sistem. 2. System interface adalah interface yang menghubungkan sistem satu dengan sistem lain. Sebuah user interface yang baik harus dapat beradaptasi dengan pekerjaan dan pemahaman user terhadap sistem. Kualitas user interface ditentukan oleh kegunaan atau usability interface tersebut bagi pengguna. Usability bergantung pada siapa yang menggunakan dan situasi pada saat sistem tersebut digunakan. Oleh karena itu, usability bukan sebuah ukuran yang pasti dan objektif. Hasil dari kegiatan interface adalah sebuah deskripsi elemen-elemen user interface dan system interface yang lengkap di mana kelengkapan menunjukkan pemenuhan kebutuhan pengguna. Hasil dari kegiatan user interface berupa form presentasi dan dialogue style, sebuah daftar lengkap dari elemen-elemen user interface, diagram window terpilih, dan diagram navigasi. Sedangkan hasil dari
42 kegiatan system interface berupa class diagram untuk peralatan dan protocol eksternal untuk berinteraksi dengan sistem yang lain.
2.9.8
Architecture Design Menurut Mathiassen et al. (2000, p173-176), keberhasilan suatu sistem ditentukan dari kekuatan desain arsitekturalnya. Architectural design bertujuan untuk menstrukturisasikan suatu sistem yang terkomputerisasi. Aktivitasaktivitas yang terdapat dalam architectural design adalah : 1. Criteria, aktivitas ini mendefinisikan apa saja kondisi dan kriteria yang digunakan pada rancangan yang akan dibuat. 2. Component, mendefinisikan bagaimana suatu sistem distrukturisasikan menjadi komponen-komponen. 3. Process,
bertujuan
untuk
mendefinisikan
bagaimana
proses
sistem
didistribusikan dan dikoordinasikan. Aktivitas utama dalam architectural design dapat dilihat pada gambar 2.10 berikut.
Gambar 2.10 Aktivitas Utama dalam Architectural Design Sumber : Mathiassen et al (2000, p176)
43 2.9.8.1
Criteria Menurut Mathiassen et al. (2000, p177-186), tujuan dari sebuah criteria adalah untuk mempersiapkan prioritas dari sebuah perancangan. Sebuah desain yang baik memiliki tiga ciri-ciri, yaitu : 1. Tidak memiliki kelemahan Syarat ini menyebabkan adanya penekanan pada evaluasi dari kualitas berdasarkan review dan eksperimen dan membantu dalam menentukan prioritas dari kriteria yang akan mengatur dalam kegiatan perancangan. 2. Menyeimbangkan beberapa criteria Konflik sering terjadi antar criteria, oleh karena itu untuk menentukan criteria mana yang akan diutamakan dan bagaimana cara untuk menyeimbangkannya dengan kriteria-kriteria yang lain bergantung pada situasi sistem tertentu. 3. Usable, flexible, dan comprehensible Kriteria-kriteria ini bersifat universal dan digunakan pada hampir setiap proyek pengembangan sistem. Tabel 2.3 berikut ini merupakan kriteria umum yang digunakan untuk menentukan kualitas suatu software. Tabel 2.3 Kriteria Umum untuk Kualitas Software Criterion Ukuran dari Kemampuan sistem untuk menyesuaikan diri dengan Usable konteks, organisasi yang berhubungan dengan pekerjaan dan teknis. Ukuran keamanan sistem dalam menghadapi akses yang Secure tidak terotorisasi terhadap data dan fasilitas. Eksploitasi ekonomis terhadap fasilitas platform teknis. Efficient Pemenuhan dari kebutuhan. Correct Pemenuhan ketepatan yang dibutuhkan untuk Reliable
44 melaksanakan fungsi. Biaya untuk menemukan dan memperbaiki kerusakan Maintainable sistem. Biaya untuk memastikan bahwa sistem yang dibentuk Testable dapat melaksanakan fungsi yang diinginkan. Biaya untuk mengubah sistem yang dibentuk. Flexible Usaha yang diperlukan untuk mendapatkan pemahaman Comprehensible terhadap sistem. Kemungkinan untuk menggunakan bagian sistem pada Reusable sistem lain yang berhubungan. Biaya untuk memindahkan sistem ke platform teknis yang Portabel berbeda. Biaya untuk menggabungkan sistem ke sistem yang lain. Interoperable Sumber : Mathiassen et al (2000, p178)
2.9.8.2
Component Architecture Menurut Mathiassen et al. (2000, p189-190), ”Component architecture is a system structure composed of interconnected components.” Arsitektur komponen merupakan sebuah struktur sistem yang terdiri dari komponen-komponen yang saling berhubungan. Komponen merupakan kumpulan dari bagian-bagian program yang membentuk suatu kesatuan dan memiliki fungsi yang jelas. Sebuah arsitektur komponen yang baik membuat sistem menjadi lebih mudah untuk dipahami, mengorganisasikan pekerjaan desain, menggambarkan stabilitas dari konteks sistem dan mengubah tugas perancangan menjadi beberapa tugas yang lebih tidak kompleks. Menurut Mathiassen et al (2000, p193), beberapa pola umum dalam desain komponen arsitektur adalah : 1. Layered-architecture pattern Merupakan bentuk yang paling umum dalam software. Sebuah arsitektur layered terdiri dari beberapa komponen yang dibentuk menjadi lapisan-
45 lapisan dimana lapisan yang berada di atas bergantung kepada lapisan yang ada dibawahnya. Perubahan yang terjadi pada suatu lapisan akan mempengaruhi lapisan yang ada diatasnya. Contoh layered-architecture pattern dapat dilihat pada gambar 2.11 berikut.
Gambar 2.11 Layered Architecture Pattern Sumber : Mathiassen et al (2000, p193) 2. Generic-architecture pattern Pola ini digunakan untuk merinci sistem dasar yang terdiri dari komponen interface, function, dan model. Dimana komponen model terletak pada lapisan yang paling bawah, diikuti dengan system function layer dan paling atas komponen interface. Contoh generic-architecture pattern dapat dilihat pada gambar 2.12 berikut.
46
Gambar 2.12 Generic Architecture Pattern Sumber : Mathiassen et al (2000, p196) 3. Client-server architecture pattern Pola ini awalnya dikembangkan untuk mengatasi masalah distribusi sistem di antara beberapa processor yang tersebar secara geografis. Komponen pada arsitektur ini adalah sebuah server dan beberapa client. Tanggung jawab daripada server adalah untuk menyediakan database dan resource yang dapat disebarkan kepada client melalui jaringan. Sementara client memiliki tanggung jawab untuk menyediakan antar muka lokal untuk setiap penggunannya. Contoh client-server architecture pattern dapat dilihat pada gambar 2.13 berikut.
47
Gambar 2.13 Client-Server Architecture Pattern Sumber : Mathiassen et al (2000, p197) Menurut Mathiassen et al (2000, p200), tabel 2.4 berikut ini adalah beberapa jenis distribusi dalam arsitektur client-server dimana U (user interface), F (function), dan M (model). Tabel 2.4 Jenis Arsitektur Client-Server Client Server U U+F+M U F+M U+F F+M U+F M U+F+M M Sumber : Mathiassen et al (2000, p200)
2.9.8.3
Architecture Distributed presentation Local presentation Distributed functionality Centralized data Distributed data
Process Architecture Menurut Mathiassen et al. (2000, p209), ”Process architecture is a systemexecution structure composed of interdependent processes.” Arsitektur proses adalah struktur dari eksekusi sistem yang terdiri dari proses-proses yang saling bergantung. Hasil aktivitas proses berupa sebuah deployment diagram yang menjelaskan distribusi dan kolaborasi dari komponen program dan objek aktif pada processor.
48 Menurut Mathiassen et al (2000, p215), terdapat tiga jenis pola distribusi, yaitu : 1. Centralized Pattern Pola ini menyimpan semua data pada server pusat dan client hanya menangani
user
interface
saja.
Keuntungannya
adalah
dapat
diimplementasikan pada client secara murah, semua data konsisten karena hanya berada di satu tempat, strukturnya mudah dimengerti dan diimplementasikan,
dan
kemacetan
jaringannya
moderat.
digambarkan pada gambar 2.14 berikut.
Gambar 2.14 Deployment Diagram untuk Centralized Pattern Sumber : Mathiassen et al (2000, p216)
Pola
ini
49 2. Distributed Pattern Semua data terdistribusi ke client dan server hanya menyebarkan model yang telah di-update di antara client. Keuntungannya adalah waktu akses yang rendah, kinerja lebih maksimal, dan back up data banyak. Kerugiannya adalah redundansi data sehingga konsistensi data terancam, kemacetan jaringan tinggi, arsitektur sulit dipahami dan diimplementasikan. Pola ini digambarkan pada gambar 2.15 berikut.
Gambar 2.15 Deployment Diagram untuk Distributed Pattern Sumber : Mathiassen et al (2000, p217) 3. Decentralized Pattern Pola ini berada di antara kedua pola di atas. Di sini client memiliki data tersendiri sehingga data umum hanya berada pada server. Server menyimpan data umum dan fungsi atas data-data tersebut, sedangkan client meyimpan data milik application domain client. Keuntungannya adalah konsistensi data, tidak ada duplikasi data, lalu lintas jaringan jarang karena jaringan hanya
50 digunakan data umum di server di-update. Kekurangannya adalah semua processor harus mampu melakukan fungsi yang kompleks dan memelihara model dalam jumlah besar, sehingga meningkatkan biaya hardware. Pola ini digambarkan pada gambar 2.16 berikut.
Gambar 2.16 Deployment Diagram untuk Decentralized Pattern Sumber : Mathiassen et al (2000, p219)
2.9.9
Component Design Menurut Mathiassen et al. (2000, p231), tujuan dari component design adalah untuk menentukan implementasi kebutuhan dalam kerangka arsitektural. Hasil dari kegiatan ini adalah sebuah deskripsi dari komponen-komponen sistem.
51 Aktivitas utama dalam component design dapat dilihat pada gambar 2.16 berikut ini.
Gambar 2.17 Aktivitas Utama dalam Component Design Sumber : Mathiassen et al (2000, p232)
2.9.9.1
Model Component Menurut Mathiassen et al. (2000, p236), “Model component is a part of a system that implements the problem domain model.” Model component merupakan bagian dari sistem yang mengimplementasikan model problem domain. Hasil dari kegiatan komponen model adalah revisi class diagram dari kegiatan analisis yang terdiri atas kegiatan penambahan class, atribut dan struktur baru yang mewakili event.
2.9.9.2
Function Component Menurut Mathiassen et al. (2000, p251), “Function component is a part of a system that implements functional requirements.” Function component merupakan bagian dari sistem yang mengimplementasikan kebutuhan fungsional. Tujuan dari function component adalah untuk memberikan akses bagi user
52 interface dan komponen sistem lainnya ke model. Hasil utama dari kegiatan ini adalah class diagram dengan operation dan specification dari operation yang kompleks.
2.9.10
Connecting Component Menurut Mathiassen et al (2000, p271-273), connecting component digunakan untuk menghubungkan komponen-komponen sistem. Pada connecting component terdapat dua konsep, yaitu : 1. Coupling adalah suatu ukuran yang digunakan untuk menentukan bagaimana dekatnya hubungan antara dua class atau component. 2. Cohesion merupakan ukuran seberapa kuatnya keterikatan dari suatu class atau component.