2009-2-00551-aksi bab 2

46
BAB 2 LANDASAN TEORI 2.1 Definisi Sistem, Informasi, dan Sistem Informasi Dalam melakukan analisis sistem informasi untuk pembuatan sistem penjualan yang menjadi topik skripsi ini, dibutuhkan pemahaman mengenai konsep dasar sistem, informasi dan sistem informasi sehingga ada kesepahaman dalam pelaksanaannya. 2.1.1 Definisi Sistem Sistem menurut O’Brien (2003, p.8) adalah sekumpulan elemen-elemen terkait yang saling berinteraksi membentuk satu kesatuan. Sistem terdiri dari 3 (tiga) komponen dasar, yaitu: a. Input, merupakan komponen yang menerima elemen-elemen yang masuk ke dalam sistem untuk diproses. Data merupakan salah satu bentuk input sistem; b. Proses, merupakan komponen yang mengolah input, kemudian mengubahnya menjadi output. Proses yang umum terjadi misalnya kalkulasi data numerik; c. Output, merupakan komponen yang menyebarkan elemen-elemen yang sudah diproses ke tujuan yang sudah ditentukan. Informasi merupakan salah satu bentuk output yang kemudian akan disampaikan kepada pengguna sistem (user).

Upload: darwinrdc

Post on 02-Aug-2015

16 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 2009-2-00551-AKSI Bab 2

8

BAB 2

LANDASAN TEORI

2.1 Definisi Sistem, Informasi, dan Sistem Informasi

Dalam melakukan analisis sistem informasi untuk pembuatan sistem penjualan

yang menjadi topik skripsi ini, dibutuhkan pemahaman mengenai konsep dasar sistem,

informasi dan sistem informasi sehingga ada kesepahaman dalam pelaksanaannya.

2.1.1 Definisi Sistem

Sistem menurut O’Brien (2003, p.8) adalah sekumpulan elemen-elemen

terkait yang saling berinteraksi membentuk satu kesatuan. Sistem terdiri dari 3

(tiga) komponen dasar, yaitu:

a. Input, merupakan komponen yang menerima elemen-elemen yang

masuk ke dalam sistem untuk diproses. Data merupakan salah satu

bentuk input sistem;

b. Proses, merupakan komponen yang mengolah input, kemudian

mengubahnya menjadi output. Proses yang umum terjadi misalnya

kalkulasi data numerik;

c. Output, merupakan komponen yang menyebarkan elemen-elemen

yang sudah diproses ke tujuan yang sudah ditentukan. Informasi

merupakan salah satu bentuk output yang kemudian akan disampaikan

kepada pengguna sistem (user).

Page 2: 2009-2-00551-AKSI Bab 2

9

2.1.2 Definisi Informasi

Menurut Turban (2009, p.48), Informasi adalah data yang telah diolah

sehingga memiliki arti dan nilai bagi penerimanya. Penerima informasi

menginterpretasikan makna dan menarik kesimpulan serta implikasi. Untuk

menghasilkan informasi, data diproses malalui program aplikasi sehingga dapat

berguna dan memiliki nilai tambah yang signifikan dibandingkan bila data

tersebut hanya ditangkap dari database secara apa adanya tanpa melalui proses

pengolahan data.

Definisi di atas dengan sangat jelas membedakan antara data dan

informasi. Data merupakan bahan baku dihasilkannya informasi. Data dapat

berupa fakta, gambar, atau suara yang mungkin atau tidak dapat bermanfaat bagi

individu maupun kelompok.

2.1.3 Definisi Sistem Informasi

Menurut Hall (2008, p.7), Sistem Informasi adalah sebuah rangkaian

prosedur formal di mana data dikumpulkan, diproses menjadi informasi, dan

didistribusikan kepada para pemakai.

Menurut Turban (2009, p.15), Sistem Informasi adalah sistem yang

mengumpulkan, mengolah, menganalisis, dan menyebarkan informasi untuk

tujuan-tujuan tertentu.

2.1.4 Definisi Akuntansi

Menurut Horngren et al. (2005, p.5), Akuntansi adalah sistem informasi

yang mengukur aktivitas-aktivitas bisnis, memproses informasi tersebut menjadi

Page 3: 2009-2-00551-AKSI Bab 2

10

laporan, dan mengomunikasikan hasilnya kepada para pengambil keputusan.

Produk utama dari akuntansi adalah laporan keuangan.

Menurut Skousen et.al (2007, p.5), Akuntansi adalah aktivitas pelayanan.

Fungsinya adalah untuk menyediakan informasi kuantitatif, utamanya informasi

keuangan, mengenai entitas ekonomi yang akan berguna dalam membuat

keputusan.

Dilihat dari kedua penjelasan di atas, Akuntansi adalah aktivitas untuk

mencatat, mengolah, dan menyajikan informasi yang berkaitan dengan aktivitas-

aktivitas bisnis suatu perusahaan.

2.2 Sistem Informasi Akuntansi

2.2.1 Definisi Sistem Informasi Akuntansi

Menurut Romney and Steinbart (2006, p.6), Sistem Informasi Akuntansi

adalah suatu sistem yang mengumpulkan, mencatat, menyimpan dan memproses

data untuk menghasilkan informasi bagi para pengambil keputusan.

Menurut Gelinas, et al. (2008, p.16), 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.

Berdasarkan definisi – definisi tersebut, dapat disimpulkan bahwa Sistem

Informasi Akuntansi adalah kesatuan kegiatan dalam organisasi yang berbasis

komputer yang digunakan untuk mengolah data-data akuntansi dengan tujuan

untuk menghasilkan informasi keuangan yang berguna bagi pihak yang

membutuhkan.

Page 4: 2009-2-00551-AKSI Bab 2

11

2.2.2 Kegunaan dan Tujuan Sistem Informasi Akuntansi

Menurut Jones dan Rama (2004, p.7), kegunaan sistem informasi

akuntansi adalah :

• Membuat laporan eksternal

Perusahaan menggunakan sistem informasi akuntansi untuk

menghasilkan laporan-laporan khusus untuk memenuhi kebutuhan

informasi dari para investor, kreditor, dinas pajak, badan-badan

pemerintah, dan pihak lain yang berkepentingan;

• Mendukung aktivitas rutin

Para manajer memerlukan suatu sistem informasi akuntansi untuk

menangani aktivitas operasi rutin sepanjang siklus operasi perusahaan

itu, misalnya pesanan pelanggan, mengirimkan barang dan jasa,

membuat faktur penagihan pelanggan, dan menagih kas kepada

pelanggan;

• Mendukung pengambilan keputusan

Informasi juga diperlukan untuk mendukung pengambilan keputusan

yang bersifat tidak rutin pada semua tingkat dalam sebuah organisasi,

misalnya mengetahui produk-produk yang penjualannya bagus dan

pelanggan yang paling banyak melakukan pembelian;

• Perencanaan dan pengendalian

Informasi mengenai anggaran dan biaya standar disimpan oleh sistem

informasi, dan laporan dirancang untuk membandingkan jumlah

Page 5: 2009-2-00551-AKSI Bab 2

12

anggaran dengan jumlah aktual. Ini merupakan salah satu wujud

perencanaan dan pengendalian dalam sistem informasi akuntansi; dan

• Menerapkan pengendalian internal

Pengendalian internal mencakup kebijakan-kebijakan, prosedur-

prosedur, dan sistem informasi yang digunakan untuk melindungi aset-

aset perusahaan dari kerugian atau korupsi, dan untuk memelihara

keakuratan data keuangan.

Menurut Wilkinson et al. (2000, p.8-10), tujuan penggunaan sistem

informasi akuntansi adalah :

• Mendukung operasional sehari-hari;

• Mendukung pengambilan keputusan bagi pengambil keputusan

internal; dan

• Untuk memenuhi kewajiban atau tanggung jawab yang sesuai dengan

jabatannya.

2.2.3 Siklus Pemrosesan Transaksi

Menurut pendapat Romney dan Steinbart (2006, p.30), siklus pemrosesan

transaksi pada sistem adalah suatu rangkaian aktivitas yang dilakukan

perusahaan dalam melakukan bisnisnya, mulai dari proses pembelian, produksi,

hingga penjualan barang atau jasa. Siklus transaksi pada perusahaan dapat dibagi

ke dalam 5 (lima) subsistem yaitu:

1. Revenue Cycle (Siklus Pendapatan), yang terdiri dari transaksi

pembelian dan penerimaan kas;

2. Expenditure Cycle (Siklus Pengeluaran), yang terdiri dari peristiwa

Page 6: 2009-2-00551-AKSI Bab 2

13

pembelian dan pengeluaran kas;

3. Human Resource/Payroll Cycle (Siklus Sumber Daya Manusia), yang

terdiri dari peristiwa yang berhubungan dengan perekrutan dan

pembayaran atas tenaga kerja;

4. Production Cycle (Siklus Produksi), terdiri dari peristiwa yang

berhubungan dengan pengubahan bahan mentah menjadi produk/jasa

siap dipasarkan; dan

5. Financing Cycle (Siklus Keuangan Perusahaan), yang terdiri dari

peristiwa yang berhubungan dengan penerimaan modal dari investor

dan kreditor.

2.3 Sistem Informasi Akuntansi Siklus Pendapatan

2.3.1 Definisi Siklus Pendapatan

Menurut Romney dan Steinbart (2006, p.5), siklus pendapatan adalah

rangkaian aktivitas bisnis dan kegiatan pemrosesan informasi terkait yang terus

berulang dengan menyediakan barang dan jasa kepada para pelanggan dan

menagih kas sebagai pembayaran dari penjualan-penjualan tersebut.

Menurut Jones dan Rama (2004, p.52), siklus pendapatan merupakan

proses transaksi yang digunakan menyediakan barang dan jasa kepada

pelanggan.

2.3.2 Fungsi-Fungsi yang Terlibat dalam Siklus Pendapatan

Menurut Bodnar dan Hopwood (2001, p.265-268), fungsi-fungsi yang

terlibat dalam siklus pendapatan adalah :

Page 7: 2009-2-00551-AKSI Bab 2

14

• Fungsi Penjualan

Fungsi penjualan bertugas menerima pesanan pelanggan, meminta

otorisasi kredit, mengisi faktur penjualan tunai, serta menentukan

tanggal dan tujuan pengiriman;

• Fungsi Kredit

Fungsi kredit bertugas memberikan kredit kepada pelanggan dan

memeriksa status kredit pelanggan;

• Fungsi Gudang

Fungsi gudang bertugas menyimpan dan menyiapkan barang yang

dipesan pelanggan;

• Fungsi Pengiriman

Fungsi pengiriman bertugas menyerahkan barang atas dasar surat

pesanan penjualan yang diterimanya dari fungsi penjualan;

• Fungsi Penagihan

Fungsi penagihan bertugas melakukan verifikasi pesanan berdasarkan

dokumen-dokumen pesanan yang diterimanya, kemudian membuat

dan mengirimkan faktur kepada pelanggan;

• Fungsi Akuntansi

Fungsi akuntansi bertugas membuat pencatatan transaksi penjualan,

piutang dagang, serta penerimaan kas secara periodik;

• Fungsi Kas

Fungsi kas bertugas menerima kas dari hasil penjualan untuk

diteruskan ke bank; dan

Page 8: 2009-2-00551-AKSI Bab 2

15

• Fungsi Pemeriksa atau Audit Internal

Fungsi pemeriksa atau audit internal bertugas melakukan penghitungan

kas yang ada ditangan fungsi kas secara periodik, serta bertanggung

jawab dalam melakukan rekonsiliasi bank untuk memeriksa ketelitian

catatan kas terhadap fungsi akuntansi.

2.3.3 Rangkaian Aktivitas Bisnis dalam Siklus Pendapatan

Menurut Romney dan Steinbart (2006, p.7-27), siklus pendapatan setiap

organisasi yang berbeda pada umumnya sama dan terdiri dari 4 (empat) aktivitas

dasar bisnis, yaitu pencatatan pesanan penjualan, pengiriman barang dagangan,

penagihan dan piutang usaha, dan penerimaan kas.

2.3.3.1 Pencatatan Pesanan Penjualan

Siklus pendapatan dimulai dengan penerimaan pesanan dari para

pelanggan. Proses pencatatan pesanan penjualan mencakup 3 (tiga) tahap,

yaitu :

• Mengambil pesanan pelanggan

Pesanan pelanggan dapat diterima dalam berbagai cara,

seperti di toko, melalui surat, melalui telepon, atau melalui

tenaga penjualan di lapangan. Data pesanan pelanggan sangat

dibutuhkan untuk memproses pesanan tersebut, sehingga

harus dikumpulkan dan dicatat secara akurat. Beberapa hal

dibutuhkan untuk memastikan akurasi yang menyeluruh

terhadap data pesanan pelanggan, yaitu pemeriksaan validitas

terhadap rekening pelanggan dan nomor barang persediaan,

Page 9: 2009-2-00551-AKSI Bab 2

16

uji kelengkapan untuk memastikan informasi pelanggan

tersedia, dan uji kewajaran untuk membandingkan kuantitas

yang dipesan dengan pengalaman terdahulu untuk barang dan

pelanggan tersebut;

• Menyetujui kredit pelanggan

Sebagian besar penjualan antar perusahaan dilakukan secara

kredit. Penjualan secara kredit harus mendapatkan persetujuan

terlebih dahulu sebelum diproses. Bagi pelanggan lama

dengan catatan pembayaran yang baik (tidak melewati tanggal

jatuh tempo), pemeriksaan kredit formal untuk setiap

penjualan biasanya tidak dibutuhkan. Batas kredit (saldo

kredit maksimum yang diizinkan) dibutuhkan untuk setiap

pelanggan berdasarkan pada catatan kredit pelanggan

terdahulu dan kemampuannya untuk membayar; dan

• Memeriksa persediaan yang ada

Pemeriksaan persediaan diperlukan agar pelanggan dapat

diinformasikan mengenai perkiraan tanggal pengiriman.

Apabila persediaan tidak cukup untuk memenuhi pesanan,

maka dilakukan pemesanan ulang (back order).

2.3.3.2 Pengiriman Barang Dagangan

Proses ini terdiri dari 2 (dua) tahap, yaitu :

• Mengambil dan menyiapkan pesanan

Page 10: 2009-2-00551-AKSI Bab 2

17

Kartu pengambilan barang yang dicetak sesuai dengan

pencatatan pesanan penjualan akan mempercepat proses

pengambilan dan pengepakan. Kartu pengambilan barang

digunakan untuk mengidentifikasi produk dan jumlah setiap

produk yang akan dikeluarkan dari persediaan; dan

• Mengirim pesanan

Departemen pengiriman membandingkan perhitungan fisik

persediaan dengan jumlah yang ditunjukkan dalam kartu

pengambilan barang dan salinan pesanan penjualan yang

dikirim secara langsung ke bagian pengiriman. Proses ini

merubah field jumlah yang dimiliki dalam file induk

persediaan, dan menghasilkan slip pengepakan beberapa

rangkap dokumen pengiriman.

2.3.3.3 Penagihan dan Piutang Usaha

Penagihan dan piutang usaha merupakan proses yang terpisah

dan dilakukan oleh 2 (dua) fungsi yang terpisah dalam departemen

akuntansi. Berikut ini adalah tahap dalam penagihan dan piutang usaha :

• Melakukan penagihan

Penagihan yang akurat dan tepat waktu atas barang dagangan

yang dikirimkan merupakan hal yang penting. Aktivitas ini

membutuhkan informasi dari departemen pengiriman yang

mengidentifikasikan barang dan jumlah yang dikirim, serta

informasi mengenai harga dan syarat khusus penjualan

Page 11: 2009-2-00551-AKSI Bab 2

18

lainnya dari departemen penjualan. Dokumen dasar yang

dibuat dalam proses penagihan adalah faktur penjualan, yang

berisi jumlah yang harus dibayar dan kemana harus

mengirimkan pembayaran; dan

• Memelihara data piutang usaha

Fungsi piutang usaha menggunakan informasi dalam faktur

penjualan untuk mendebit rekening pelanggan dan mengkredit

rekening tersebut ketika pembayaran sudah diterima. Terdapat

2 (dua) cara untuk memelihara data piutang usaha, yaitu

dengan metode faktur terbuka dan pembayaran gabungan.

Perbedaan kedua metode tersebut terletak pada kapan

pelanggan mengirimkan pembayaran, bagaimana pembayaran

tersebut digunakan untuk memperbarui file induk piutang

usaha, dan format laporan keuangan yang dikirim ke para

pelanggan.

2.3.3.4 Penerimaan Kas

Pihak yang bertanggung jawab terhadap penerimaan kas adalah

kasir. Kas dan cek yang diterima dari pelanggan harus dijaga dengan baik

agar terhindar dari risiko pencurian. Fungsi piutang usaha, yang

bertanggung jawab atas pencatatan kiriman uang pelanggan, tidak

memiliki akses fisik ke kas atau cek. Fungsi piutang usaha harus mampu

mengidentifikasi sumber kiriman uang dari mana pun dan faktur

penjualan yang terkait harus dikredit.

Page 12: 2009-2-00551-AKSI Bab 2

19

Perkembangan teknologi yang banyak digunakan saat ini sebagai

media pembayaran adalah Electronic Funds Transfer (EFT) dan

Financial Electronic Data Interchange (FEDI).

2.3.4 Tujuan, Ancaman, dan Pengendalian pada Siklus Pendapatan

Dalam siklus pendapatan, sistem informasi akuntansi yang dirancang

dengan baik harus memiliki pengendalian yang memadai untuk memastikan agar

tujuan-tujuan berikut ini dapat dicapai :

• Semua transaksi telah diotorisasikan dengan benar;

• Semua transaksi yang dicatat harus valid (benar-benar terjadi);

• Semua transaksi yang valid dan disahkan telah dicatat;

• Semua transaksi dicatat dengan akurat;

• Aset (kas, persediaan, dan data) dijaga dari kehilangan dan segala

bentuk pencurian;

• Aktivitas bisnis dilaksanakan secara efisien dan efektif.

Setiap perusahaan dengan berbagai lini bisnis yang berbeda, menghadapi

ancaman-ancaman dari lingkungan sekitarnya. Oleh sebab itu, dibutuhkan sistem

informasi akuntansi yang dirancang sedemikian rupa untuk dapat mengatasi

ancaman-ancaman tersebut. Berikut ini adalah ancaman-ancaman utama dalam

siklus pendapatan dan prosedur pengendalian yang sesuai, dan dapat dilihat

dalam tabel 2.1.

Page 13: 2009-2-00551-AKSI Bab 2

20

Tabel 2.1 Ancaman dan Pengendalian dalam Siklus Pendapatan (Sumber : Romney dan Steinbart, 2006, p.31)

Proses Ancaman Prosedur Pengendalian Entri pesanan penjualan

1. Pesanan pelanggan yang tidak lengkap atau tidak akurat

Pemeriksaan edit entri data

2. Penjualan secara kredit ke pelanggan yang memiliki catatan kredit buruk

Persetujuan kredit oleh manajer bagian kredit; bukan oleh fungsi penjualan; catatan yang akurat atas saldo rekening pelanggan

3. Legitimasi pesanan Tanda tangan di atas dokumen kertas; tanda tangan digital dan sertifikat digital untuk e-business

4. Habisnya persediaan,

biaya penggudangan, dan pengurangan harga

Sistem pengendalian persediaan

Pengiriman 5. Kesalahan pengiriman : barang dagangan yang salah; jumlah yang salah; alamat yang salah

Rekonsiliasi pesanan penjualan dengan kartu pengambilan dan slip pengepakan; pemindai kode garis; pengendalian aplikasi entri data

6. Pencurian persediaan Batasi akses fisik ke persediaan; dokumentasi semua transfer internal persediaan; perhitungan fisik persediaan secara periodik dan rekonsiliasi perhitungan dengan jumlah yang dicatat

Penagihan dan Piutang Usaha

7. Kegagalan untuk menagih pelanggan

Pemisahan fungsi pengiriman dan penagihan; pemberian nomor ke semua dokumen pengiriman dan rekonsiliasi faktur secara periodik; rekonsiliasi kartu pengambilan dan dokumen pengiriman dengan pesanan penjualan

8. Kesalahan dalam penagihan

Pengendalian edit entri data

9. Kesalahan dalam memasukkan data ketika memperbarui piutang usaha

Rekonsiliasi buku pembantu piutang usaha dengan buku besar; laporan bulanan ke pelanggan

Page 14: 2009-2-00551-AKSI Bab 2

21 Penagihan kas

10. Pencurian kas Pemisahan tugas; minimalisasi penanganan kas; kesepakatan lockbox; konfirmasi pengesahan dan penyimpanan semua penerimaan; rekonsiliasi periodik laporan bank dengan catatan seseorang yang tidak terlibat dalam pemrosesan penerimaan kas

Masalah-masalah Pengendalian Umum

11. Kehilangan data Prosedur cadangan dan pemulihan dari bencana; pengendalian akses (secara fisik dan logis)

12. Kinerja yang buruk Persiapan dan tinjauan laporan kinerja

2.4 Sistem Pengendalian Internal

2.4.1 Pengertian Sistem Pengendalian Intern

Menurut Hall (2008, p.150), sistem pengendalian intern merangkum

kebijakan, praktek, dan prosedur yang digunakan oleh organisasi untuk mencapai

4 (empat) tujuan utama, yaitu untuk menjaga aktiva perusahaan, memastikan

keakuratan dan keandalan catatan dan informasi akuntansi, mendorong efisiensi

operasi perusahaan, dan mengukur kesesuaian dengan kebijakan dan prosedur

yang telah ditetapkan oleh manajemen.

Unsur pokok sistem pengendalian intern adalah:

a. Struktur organisasi yang memisahkan tanggung jawab fungsional

secara tegas;

b. Sistem wewenang dan prosedur pencatatan yang memberikan

perlindungan yang cukup terhadap kekayaan, utang, pendapatan, dan

biaya;

c. Praktek yang sehat dalam melaksanakan tugas dan fungsi setiap unit

organisasi; dan

Page 15: 2009-2-00551-AKSI Bab 2

22

d. Karyawan yang mutunya sesuai dengan tanggung jawabnya.

2.4.2 Komponen Pengendalian Internal

Menurut Jones dan Rama (2004, p.134), terdapat 5 (lima) komponen

pengendalian internal yang berpengaruh terhadap kemampuan organisasi dalam

mencapai sasaran pengendalian internal, yaitu :

1. Lingkungan pengendalian

Faktor-faktor umum yang menetapkan sifat organisasi dan

mempengaruhi kesadaran karyawannya terhadap pengendalian

meliputi integritas, nilai-nilai etika, serta filosofi dan gaya operasi

manajemen. Cara manajemen memberikan wewenang dan tanggung

jawab, mengatur dan mengembangkan karyawannya, serta perhatian

dan arahan yang diberikan oleh dewan direksi juga mempengaruhi

pengendalian yang ada dalam entitas;

2. Penentuan risiko

Cara dalam menentukan risiko adalah dengan identifikasi dan analisis

risiko yang mengganggu pencapaian sasaran pengendalian internal;

3. Aktivitas pengendalian

Aktivitas pengendalian meliputi hal-hal yang berkaitan dengan

penelaahan kinerja, pemisahan tugas, pengendalian aplikasi, dan

pengendalian umum;

4. Informasi dan komunikasi

Sistem informasi perusahaan merupakan kumpulan prosedur (otomatis

dan manual) dan record yang dibuat untuk memulai, mencatat,

Page 16: 2009-2-00551-AKSI Bab 2

23

memproses, dan melaporkan kejadian pada proses entitas. Komunikasi

meliputi adanya pemahaman mengenai peran dan tanggung jawab

individu; dan

5. Pengawasan

Manajemen harus mengawasi pengendalian internal untuk memastikan

bahwa pengendalian organisasi berfungsi sebagaimana mestinya.

2.5 Sistem Informasi Akuntansi Piutang Dagang

2.5.1 Pengertian Piutang Dagang

Menurut Bodnar dan Hopwood (2001, p.272), piutang dagang adalah

uang yang terhutang oleh konsumen atas barang yang telah dijual atau jasa yang

diberikan kepadanya.

Menurut Horngren et al. (2005, p.12), piutang dagang adalah suatu janji

untuk menerima uang dari pelanggan dimana perusahaan telah menjual barang-

barang atau telah melakukan jasa kepadanya. Jadi, piutang dagang adalah

sejumlah uang yang terhutang oleh konsumen kepada perusahaan karena

terjadinya transaksi penjualan barang dan jasa.

2.5.2 Sistem Penagihan Piutang

Menurut Romney dan Steinbart (2006, p.430), tipe penagihan dibagi

menjadi 2 (dua) yaitu postbilling dan prebilling. Metode postbilling menyiapkan

surat tagihan (invoice) setelah ada konfirmasi bahwa barang telah dikirim oleh

bagian pengiriman. Sistem ini lazim diterapkan perusahaan pabrikan, dimana ada

jeda waktu antara penerimaan pesanan dan pengiriman barang.

Page 17: 2009-2-00551-AKSI Bab 2

24

Prebilling mempersiapkan invoice saat suatu pesanan penjualan disetujui,

namun tagihan tersebut belum dikirim. Bila perusahaan menggunakan sistem ini,

maka pada saat yang sama persediaan barang, piutang dagang, dan file buku

besar juga di-update.

2.5.3 Sistem Pencatatan Piutang

Menurut Romney dan Steinbart (2006, p.432), metode dalam pencatatan

piutang ada 2 (dua), yaitu open-invoice method dan balance-forward method.

Pada metode open-invoice pelanggan melunasi piutangnya berdasarkan invoice.

Pelanggan menerima 2 (dua) salinan invoice dan harus mengembalikan 1 (satu)

salinan beserta dengan pembayaran sebagai bukti pembayaran (remittance

advice). Laporan pelanggan bulanan dibuat berdasarkan invoice yang belum

dilunasi beserta umur piutang masing-masing invoice. Metode ini digunakan bila

perusahaan menawarkan diskon bagi pembayaran yang tepat waktu.

Kelemahannya metode ini lebih rumit karena memelihara data masing-masing

invoice.

Pada metode balance-forward, pembayaran pelanggan langsung

mengurangi saldo piutang pelanggan tanpa melihat saldo piutang per invoice.

Bukti pembayaran dibuat berdasarkan saldo piutang pelanggan. Laporan bulanan

pelanggan berisi informasi saldo awal, perubahan piutang pada bulan berjalan,

dan saldo akhir. Metode ini banyak digunakan oleh perusahaan dengan banyak

pelanggan yang melakukan pembelian dalam jumlah kecil setiap bulannya.

Page 18: 2009-2-00551-AKSI Bab 2

25 2.6 Analisis dan Perancangan Sistem Informasi Akuntansi

2.6.1 Konsep Object-Oriented Analysis and Design (OOAD)

Metode yang digunakan dalam melakukan analisis dan perancangan

sistem informasi akuntansi penjualan adalah berorientasi objek. Untuk itu

dibutuhkan pemahaman mengenai 4 (empat) aktivitas yang ada dalam OOAD,

antara lain analisis problem-domain, analisis application domain, architecture

design, dan component design. Dapat dilihat pada gambar 2.1 mengenai

penggambaran 4 (empat) aktivitas utama dalam OOAD.

Gambar 2.1 Aktivitas utama dan hasil-hasil dari OOAD

(Sumber : Mathiassen et al, 2000, p.15)

2.6.1.1 Definisi Object-Oriented Analysis and Design

Menurut Mathiassen et al. (2000, p.135), Object-Oriented

Analysis and Design (OOAD) adalah metode untuk menganalisa dan

merancang sistem dengan pendekatan berorientasi object. Object

merupakan dasar dari konsep OOAD.

Page 19: 2009-2-00551-AKSI Bab 2

26

Menurut Mathiassen et al. (2000, p.4), object adalah sebuah

entitas yang memiliki identity, state, dan behaviour. Pada analisa,

identitas sebuah object menjelaskan bagaimana seorang user

membedakannya dari object lain, dan behavior object digambarkan

melalui event yang dilakukannya. Sedangkan pada perancangan, identitas

sebuah object digambarkan dengan cara bagaimana object lain

mengenalinya sehingga dapat diakses, dan behavior object digambarkan

dengan operation yang dapat dilakukan object tersebut yang dapat

mempengaruhi object lain dalam sistem. Setiap objek tidak digambarkan

terpisah, melainkan secara berkelompok dalam sebuah class.

Objek merupakan konsep yang penting dan harus diperhatikan

dalam melakukan analisa dan perancangan ini, karena saling bergantung

dengan konsep-konsep selanjutnya dalam OOAD.

Notasi yang digunakan dalam OOAD adalah UML (Unified

Modeling Language), yang merupakan notasi dalam bentuk diagram

untuk merancang sistem menggunakan konsep object-oriented.

2.6.1.2 Prinsip umum OOAD

Menurut Mathiassen et al. (2000, p.18), terdapat 4 (empat)

prinsip umum OOAD, yaitu:

1. Model the context

Sistem yang digunakan bermanfaat sesuai dengan konteks

OOAD. Selain itu merupakan hal yang penting untuk

Page 20: 2009-2-00551-AKSI Bab 2

27

membuat model dari application domain dan problem domain

selama proses analisis dan desain;

2. Emphasize the architecture

Arsitektur yang mudah dipahami menyediakan kolaborasi

antara designer dan programmer. Arsitektur yang fleksibel

membuat modifikasi dan perbaikan sistem yang lebih baik;

3. Reuse Patterns

Membangun berdasarkan gagasan-gagasan yang kuat dan

komponen-komponen yang sudah diuji akan meningkatkan

kualitas sistem dan produktivitas pembangunan proses;

4. Tailor the method to suit specific projects

Setiap usaha pembangunan mempunyai tantangan yang unik.

OOAD harus disesuaikan dengan kebutuhan-kebutuhan

khusus dari situasi analisis dan desain yang diberikan.

2.6.1.3 Keuntungan OOAD

Keuntungan dari OOAD menurut Mathiassen et al. (2000, p.5)

adalah :

1. Merupakan konsep umum yang dapat digunakan untuk

memodelkan hampir semua fenomena dan dapat dinyatakan

dalam bahasa umum (natural language):

• Noun menjadi object atau class;

• Verb menjadi object atau class;

• Adjective menjadi attributes.

Page 21: 2009-2-00551-AKSI Bab 2

28

2. Memberikan informasi yang jelas tentang context dari sistem;

3. Memiliki koneksi yang kuat antara object-oriented anaylsis,

object-oriented design, object-oriented user interfaces, dan

object-oriented programming.

2.7 System Definition

Menurut Mathiassen et al. (2000, p.23), system definition merupakan sebuah

penjelasan singkat dari sistem terkomputerisasi yang diungkapkan dalam bahasa

alamiah. Di dalam system definition dijelaskan mengenai rich picture dan FACTOR.

Rich picture merupakan sebuah penggambaran secara tidak formal yang

menggambarkan pemahaman illustrator dari suatu situasi. Rich picture memfokuskan

pada aspek penting dari suatu situasi yang mana ditentukan oleh illustrator. Dengan rich

picture, didapatkan penjelasan mengenai pandangan user yang penting dari suatu situasi,

memfasilitasi perbincangan, dan mendapatkan gambaran mengenai suatu situasi dengan

cepat. Tujuannya bukan untuk membuat deskripsi secara rinci mengenai seluruh

kemungkinan yang terjadi, tetapi lebih kepada untuk mendapatkan sebuah gambaran.

FACTOR dapat berguna sebagai alat bantu untuk membuat system definition,

sehingga dapat menggambarkan sistem yang mudah dimengerti. Selain itu juga dapat

berguna apabila ingin memulainya dengan menjelaskan mengenai sistem dan

menggunakan kriteria yang ada untuk melihat bagaimana definisi sistem dapat

memenuhi masing-masing dari 6 (enam) factor tersebut. Menurut Mathiassen et al.

(2000, p.39), Kriteria FACTOR terdiri dari 6 (enam) elemen, yaitu:

1. Functionality

Fungsi dari sistem yang mendukung application domain;

Page 22: 2009-2-00551-AKSI Bab 2

29

2. Application Domain

Bagian dari organisasi yang melakukan administrasi, pengawasan, dan

pengendalian pada problem domain;

3. Condition

Kondisi dari sistem yang akan dikembangkan dan digunakan;

4. Technology

Teknologi yang digunakan untuk membangun sistem dan teknologi yang

digunakan untuk menjalankan sistem;

5. Objects

Objek dasar dari problem domain;

6. Responsibility

Tanggung jawab sistem secara keseluruhan dalam hubungannya dengan

konteks sistem.

2.7.1 Problem Domain

Problem domain adalah bagian dari sebuah konteks yang

diadministrasikan, diawasi atau dikendalikan oleh sebuah sistem. Problem-

domain analysis terbagi menjadi 3 (tiga) aktivitas. Aktivitas pertama adalah

memilih object, classes, dan events yang akan menjadi elemen dari problem-

domain model. Aktivitas kedua adalah membuat model dengan memfokuskan

kepada hubungan struktural antara classes dan object yang dipilih. Aktivitas

terakhir adalah memfokuskan kepada properti dinamis dari object. Problem

domain terdiri dari classes, structure, dan behavior yang dapat dilihat pada

gambar 2.2.

Page 23: 2009-2-00551-AKSI Bab 2

30

Structure

Classes Behaviour

System defini tion

Model

Gambar 2.2 Aktivitas di dalam Pemodelan Problem-Domain (Sumber : Mathiassen et al, 2000, p.46)

2.7.1.1 Classes

Menurut Mathiassen et al. (2000, p.49), class adalah sebuah

deskripsi dari kumpulan objek-objek yang memiliki struktur, behavior

pattern dan atribut yang sama. Abstraksi, klasifikasi, dan seleksi adalah

tugas utama dalam aktifitas class. Abstraksi problem-domain dilakukan

dengan melihatnya sebagai objects dan events, kemudian

mengklasifikasikan objects dan events, dan terakhir melakukan seleksi

terhadap classes dan events yang akan digunakan untuk mendapatkan

informasi.

Class merupakan hal yang penting dalam mendefinisikan dan

membatasi problem domain. Hasil dari aktivitas pertama problem-domain

adalah sebuah event table dengan classes dan events yang saling

berhubungan, dan dapat dilihat pada tabel 2.2. Event adalah sebuah

kejadian seketika yang melibatkan 1 (satu) atau lebih object. Event turut

menentukan kualitas dari problem-domain objects dan merupakan

karakteristik umum dari object. Event table mempermudah dalam

Page 24: 2009-2-00551-AKSI Bab 2

31

menganalisa sistem agar tidak ada event yang terlupakan dalam membuat

suatu class diagram. Event table dapat digunakan untuk mengevaluasi

kualitas dari class dan event candidates.

Tabel 2.2 Event Table

(Sumber : Mathiassen et al, 2000, p.50)

Events

Classes

Customer Assistant Apprentice Appoinment Plan

reserved √ √ √ √

cancelled √ √ √

treated √ √

employed √ √

resigned √ √

graduated √

agreed √ √ √

2.7.1.2 Structure

Menurut Mathiassen et al. (2000, p.69), structure bertujuan

untuk menjelaskan hubungan struktural antara kelas-kelas dan objek-

objek pada problem domain. Aktivitas structure difokuskan pada

hubungan antara classes dan objek. Struktur antar class terdiri dari 4

(empat) tipe, dimana terbagi dalam 2 (dua) bagian, yaitu :

1. Class Structure, yang meliputi :

Page 25: 2009-2-00551-AKSI Bab 2

32

a. Generalization Structure

Generalization structure adalah hubungan antara 2 (dua)

atau lebih class yang dispesialisasikan (sub class) dengan

class yang umum (super class). Super class menjelaskan

kesamaan yang ada pada sekumpulan sub class, dan dapat

dilihat pada gambar 2.3.

Gambar 2.3 Generalization Structure (Sumber : Mathiassen et al, 2000, p.73)

b. Cluster Structure

Cluster adalah sebuah kumpulan dari classes yang

berhubungan, yang dapat membantu memberikan gambaran

untuk problem domain. Classes di dalam Cluster biasanya

berhubungan secara struktur generalisasi atau struktur

agregasi. Gambar 2.4 merupakan contoh dari cluster untuk

sebuah pendaftaran automobile.

Page 26: 2009-2-00551-AKSI Bab 2

33

Gambar 2.4 Cluster Structure (Sumber : Mathiassen et al, 2000, p.75)

2. Object Structure

c. Aggregation Structure

Aggregation structure adalah sebuah hubungan antara 2

(dua) atau lebih objek. Agregasi merupakan suatu objek

superior (keseluruhan) yang terdiri atas beberapa objek

inferior (beberapa bagian). Agregasi biasanya digambarkan

dengan formulasi “has-a”,”is-part-of”, atau ”is-owned-by”.

Struktur agregasi dapat dilihat pada gambar 2.5.

Gambar 2.5 Aggregation Structure (Sumber : Mathiassen et al, 2000)

Page 27: 2009-2-00551-AKSI Bab 2

34

d. Association Structure

Association structure adalah sebuah hubungan antara 2 (dua)

atau lebih objek tetapi berbeda dengan aggregasi, dimana

hubungan objek-objek yang terasosiasi tersebut tidak

mendefinisikan properti dari suatu objek. Asosiasi biasanya

digambarkan dengan formulasi “knows” atau “associated-

with”. Struktur asosiasi dapat dilihat pada gambar 2.6.

Gambar 2.6 Association Structure (Sumber : Mathiassen et al, 2000, p.77)

2.7.1.3 Behaviour

Menurut Mathiassen et al. (2000, p.89), aktivitas behaviour

bertujuan untuk memodelkan keadaan dinamis dari problem-domain.

Hasil dari aktivitas ini adalah sebuah behavioural pattern dengan

attributes pada setiap class di dalam sebuah class diagram. Terdapat 3

(tiga) konsep dalam aktivitas behaviour, yaitu event trace, behavioural

pattern, dan attributes. Event trace adalah urutan event-event dari suatu

objek tertentu. Behavioural pattern adalah deskripsi dari event trace yang

mungkin untuk semua objek di dalam class. Behavioural pattern dapat

digambarkan dalam state diagram.

State Diagram menggambarkan behavior umum dari semua

objek dari class tertentu, yang terdiri dari bagian-bagiannya dan transisi

Page 28: 2009-2-00551-AKSI Bab 2

35

diantaranya dan juga dapat menjelaskan usecase. Statechart diagram

menggambarkan transisi dan perubahan keadaan suatu objek pada sistem

sebagai akibat dari stimulasi yang diterima. Contoh penggambaran dari

statechart diagram dapat dilihat pada gambar 2.7.

Gambar 2.7 Statechart diagram untuk class “Customer” di sebuah bank (Sumber : Mathiassen et al, 2000, p.90)

Notasi pada behavioural pattern terdiri dari 3 (tiga) macam

yaitu:

1. Sequence merupakan events yang terjadi satu per satu secara

berurutan, dilambangkan dengan simbol “ + ”;

2. Selection merupakan event yang dipilih dari serangkaian

event yang muncul, dilambangkan dengan simbol “ | ”;

3. Iteration merupakan events yang terjadi nol kali atau lebih,

dilambangkan dengan simbol “ * ”.

Menurut Mathiassen et al. (2000, p.92), attribute adalah properti

deskriptif dari sebuah kelas atau event. Contoh attribute adalah pelanggan

yang memiliki nama, alamat, dan nomor identitas pelanggan.

Page 29: 2009-2-00551-AKSI Bab 2

36

2.7.2 Application Domain

Menurut Mathiassen et al. (2000, p.115), application domain adalah

organisasi yang mengelola, memantau atau mengontrol problem domain.

Application-domain analysis terbagi dalam 3 (tiga) aktivitas, yaitu aktivitas

usage, functions, dan interfaces. Hasil dari application domain adalah kumpulan

daftar dari keseluruhan kebutuhan pengguna sistem. Application domain analysis

dapat dilihat pada gambar 2.8.

Functions

Usage Interfaces

System defini tion

Requirements

Gambar 2.8 Application Domain Analysis (Sumber : Mathiassen et al, 2000, p.117)

2.7.2.1 Usage

Menurut Mathiassen et al. (2000, p.119), kegiatan usage

merupakan kegiatan pertama dalam analisis application domain yang

bertujuan untuk menentukan bagaimana actor berinteraksi dengan sistem

yang dituju. Hasil dari usage adalah deskripsi dari use case dan actor

yang digambarkan dalam tabel actor dan use case diagram.

Page 30: 2009-2-00551-AKSI Bab 2

37

a. Use Case

Use case diagram adalah diagram yang menggambarkan

interaksi antara sistem dan actor di dalam application

domain. Use case menyediakan gambaran mengenai

kebutuhan sistem dari sudut pandang user dan merupakan

sebuah dasar untuk menentukan dan mengevaluasi function

dan kebutuhan interface. Use case dapat diaktifkan oleh actor

atau oleh target sistem. Use case specification digunakan

untuk menjelaskan use case secara rinci disertai dengan

penjelasan yang terfokus kepada setiap actor yang terlibat.

Use case dapat dijelaskan dengan diagram statechart, use

case specification, maupun keduanya. Use case yang lengkap

menentukan semua penggunaan target sistem didalam

application domain, seperti yang terdapat pada gambar 2.9.

Gambar 2.9 Use Cases Diagram (Sumber : Mathiassen et al, 2000, p.129)

Page 31: 2009-2-00551-AKSI Bab 2

38

b. Actor

Actor merupakan abstraksi dari user dan sistem yang lain yang

mengaktivasi function sistem. Setiap actor dapat berupa

manusia atau mesin.

2.7.2.2 Sequence

Menurut Mathiassen, et al. (2000, p.340), sequence diagram

menjelaskan mengenai interaksi diantara beberapa objek dalam jangka

waktu tertentu.

Menurut Bennet et al. (2006, p.232-233), sebuah sequence

diagram menunjukkan interaksi antar objek-objek yang disusun dalam

urutan waktu tertentu. Sequence diagram dapat digambarkan pada

tingkatan rincian yang berbeda dan sesuai dengan pencapaian tujuan yang

berbeda pada beberapa tahap dalam siklus pengembangan. Dimensi

vertikal memperlihatkan waktu dan semua object, dimana setiap object

tersebut ditunjukkan dengan lifeline. Sedangkan dimensi horizontal

menunjukkan interaksi antar actor dengan object dan object dengan

object lainnya.

2.7.2.3 Function

Menurut Mathiassen et al. (2000, p.137), function adalah sebuah

fasilitas untuk membuat sebuah model yang berguna bagi actor.

Tujuannya adalah untuk menentukan kemampuan sistem dalam mengolah

informasi dengan membuat semua daftar dari function dan rincian

Page 32: 2009-2-00551-AKSI Bab 2

39

spesifikasi dari bagian yang rumit. Kriteria utama analisis fungsi sistem

adalah analisis harus diakhiri dengan kumpulan daftar dari function dan

harus konsisten dengan use cases. Prinsip untuk mengukur kualitas suatu

function adalah mengidentifikasi seluruh function, function yang

kompleks harus dispesifikasikan, dan konsistensi terhadap use cases dan

model harus diperiksa. Ada beberapa tipe dari function antara lain:

a. Update Function diaktifkan oleh sebuah event dari problem

domain dan hasilnya adalah sebuah perubahan pada model

state;

b. Signal Function diaktifkan oleh sebuah perubahan pada model

state dan hasilnya sebuah reaksi pada konteks. Reaksi ini

mungkin sebuah tampilan kepada actor di application

domain;

c. Read Function diaktifkan oleh sebuah kebutuhan informasi

pada sebuah tugas kerja pada actor dan hasilnya tampilan

sistem yang berhubungan dengan bagian model; dan

d. Compute Function diaktifkan oleh sebuah kebutuhan

informasi pada sebuah tugas kerja pada actor dan terdiri dari

sebuah perhitungan yang melibatkan informasi yang

disediakan oleh actor atau model. Hasilnya sebuah tampilan

hasil perhitungan.

Page 33: 2009-2-00551-AKSI Bab 2

40

2.7.2.4 Interface

Menurut Mathiassen et al. (2000, p.151), interface adalah

fasilitas-fasilitas yang membuat model dan fungsi-fungsi tersedia agar

user dapat berinteraksi dengan sistem. Hasil dari interface adalah user

interface dan system interface.

User interface adalah sebuah interface yang menghubungkan

user dengan sistem. User interface harus sesuai dengan pekerjaan dan

gambaran user terhadap sistem. Prinsip untuk mengukur kualitas suatu

interface adalah sesuai dengan usability dalam application domain, dapat

diuji, dan memenuhi seluruh elemen interface. Hasil dari user interface

berupa dialogue style dan presentation forms, daftar elemen dari user

interface yang lengkap, windows diagram yang dipilih dan navigation

diagram.

System interface adalah sebuah interface yang menghubungkan

sistem dengan sistem lainnya. Hasil dari system interface berupa class

diagram untuk perangkat eksternal dan protokol-protokol untuk

berinteraksi dengan sistem lain.

2.8 Design System

2.8.1 Architectural Design

Menurut Mathiassen et al. (2000, p.173), kunci kesuksesan sebuah sistem

bergantung kepada rancangan arsitektur yang kuat. Tujuan dari architecture

design adalah untuk menstrukturkan sebuah sistem yang terkomputerisasi.

Terdapat 3 (tiga) prinsip dalam membuat architecture design, yaitu menentukan

Page 34: 2009-2-00551-AKSI Bab 2

41

dan memberikan prioritas pada criteria, menjembatani criteria dan technical

platform, serta mengevaluasi rancangan yang dihasilkan sedini mungkin. Hasil

dari architectural design adalah strukturisasi untuk proses dan komponen sistem.

Menurut Mathiassen et al. (2000, p.176), terdapat 3 (tiga) aktivitas dalam

architectural design, yaitu criteria, component architecture, dan process

architecture.

2.8.1.1 Criteria

Menurut Mathiassen et al. (2000, p. 177), criteria merupakan

sebuah properti yang diinginkan dari sebuah arsitektur, dimana tujuannya

adalah untuk menyiapkan prioritas dari rancangan yang diinginkan.

Criteria klasik untuk mengukur kualitas software dapat dilihat pada tabel

2.3. Kumpulan dari daftar criteria tersebut digunakan untuk menyiapkan

prioritas yang diinginkan untuk architectural design. Hasil dari aktivitas

criteria adalah sekumpulan dari criteria yang sudah diprioritaskan.

Tabel 2.3 Kriteria Klasik Kualitas Perangkat Lunak

(Sumber : Mathiassen et al, 2000, p.178)

Kriteria Pengukuran

Usable Kesesuaian sistem dalam organisasi, hubungan kerja dan konteks teknis.

Secure Adanya tindakan pencegahan atas akses terhadap data dan fasilitas yang tidak diinginkan.

Efficient Fasilitas technical platform yang sudah ada dapat digunakan secara ekonomis sesuai dengan fungsinya.

Correct Kemampuan sistem yang dapat memenuhi kebutuhan pengguna.

Reliable Pemenuhan performa yang diinginkan pada waktu function dieksekusi.

Page 35: 2009-2-00551-AKSI Bab 2

42

Maintainable Pengalokasian biaya dan perbaikan sistem yang rusak.

Testable Biaya untuk menjamin bahwa sistem dapat menjalankan function-function yang ada di dalamnya.

Flexible Biaya yang dibutuhkan untuk memodifikasi sistem yang dikembangkan.

Comprehensible

Usaha yang dibutuhkan untuk memperoleh pemahaman yang logis dari sebuah sistem.

Reusable Adanya potensi untuk memakai bagian-bagian dari sistem pada sistem lain yang berhubungan.

Portable Biaya dari pemindahan sistem ke sistem platform yang lainnya.

Interoperable Biaya penggabungan sistem dengan sistem lainnya.

2.8.1.2 Component Architecture

Menurut Mathiassen et al. (2000, p.189), component architecture

merupakan struktur sistem dari komponen-komponen yang saling

berhubungan. Sedangkan component adalah sebuah kumpulan dari

bagian-bagian program yang membentuk sebuah kesatuan dan

mempunyai tanggung jawabnya masing-masing. Tujuan dari component

architecture adalah untuk membuat sistem yang mudah dipahami dan

fleksibel.

Terdapat 3 (tiga) prinsip perancangan component architecture,

yaitu mengurangi kompleksitas dengan membagi beberapa fungsi,

menggambarkan struktur konteks sistem yang stabil, dan dapat

menggunakan kembali komponen yang ada. Hasil dari aktivitas

components adalah sebuah class diagram dengan spesifikasi dari

komponen yang kompleks. Terdapat beberapa pola yang dapat dipakai

Page 36: 2009-2-00551-AKSI Bab 2

43

untuk mendesain sebuah komponen arsitektur menurut Mathiassen et al.

(2000, p.193-197), yaitu :

• The Layered Architecture Pattern

Layered architecture terdiri dari beberapa komponen, yang

disebut sebagai layers. Interface downward menggambarkan

operation mana yang dapat diakses oleh komponen pada layer

yang berada di bawahnya. Interface upward menggambarkan

operation pada layer yang berada di atasnya. Contoh dari

layered architecture dapat dilihat pada gambar 2.10, dimana

setiap layer menggambarkan komponen dan panahnya

menunjukkan dependencies. Sebuah dependency memiliki

arti, apabila perubahan pada 1 (satu) komponen (yang

ditunjuk panah) dapat mempengaruhi komponen lainnya

(yang menunjuk);

Gambar 2.10 Layered Architecture Pattern (Sumber : Mathiassen et al, 2000, p.193)

<<component>> Layer i+1

<<component>> Layer i

<<component>> Layer i-1

Upwards Interface

Downwards Interface

Page 37: 2009-2-00551-AKSI Bab 2

44

• The Generic Architecture Pattern

Generic architecture terdiri dari 3 (tiga) komponen sebagai

bagian keseluruhan layer, dimana komponen interface pada

bagian paling atas, kemudian layer fungsi sistem, dan bagian

terakhir terdapat komponen technical platform. Contoh

generic architecture dapat dilihat pada gambar 2.11;

Gambar 2.11 Generic Architecture Pattern (Sumber : Mathiassen et al, 2000, p.196)

<<component>> Interface

<<component>> User Interface

<<component>> System Interface

<<component>> Interface

<<component>> UIS

<<component>> NS

<<component>> Function

<<component>> Model

<<component>> DBS

Page 38: 2009-2-00551-AKSI Bab 2

45

• The Client-Server Architecture Pattern

Client-server architecture dikembangkan untuk mengatasi

distribusi sistem yang terdapat pada beberapa processors yang

berpencaran secara geografis. Client-server architecture

banyak digunakan dalam industri software karena

kemampuannya dalam memberikan solusi terhadap masalah

mengkomunikasikan personal computers dengan central

mainframe computer. Komponen yang dimiliki client-server

architecture adalah sebuah server dan beberapa clients.

Server memiliki sekumpulan operations yang dapat diakses

oleh clients melalui sebuah jaringan dan memiliki tanggung

jawab untuk menyediakan database atau sumber daya lainnya

untuk clients. Setiap clients memiliki tanggung jawab untuk

menyediakan local interface untuk user. Contoh dari client-

server architecture dapat dilihat pada gambar 2.12.

Gambar 2.12 Client-Server Architecture Pattern

(Sumber : Mathiassen et al, 2000, p.197)

<<component>> Client 1

<<component>> Client 2

<<component>> Client n

<<component>> Server

Page 39: 2009-2-00551-AKSI Bab 2

46

Terdapat 2 (dua) metode berbeda untuk memisahkan

komponen client dan server. Client dan server dapat dilihat

sebagai subsistem, dimana masing-masing memiliki

komponen model (M), function (F), dan user-interface (U).

Selain itu dapat juga dilihat sebagai layer yang berbeda

dalam sebuah sistem tunggal. Dalam komponen diagram

dapat digambarkan distribusi dalam client server

architecture yang terdapat pada tabel 2.4.

Tabel 2.4 Bentuk Berbeda dari distribusi Client Server Achictecture

(Sumber : Mathiassen et al, 2000, p.200)

Client Server Architecture

U U + F + M Distributed presentation

U F + M Local presentation

U + F F + M Distributed functionality

U + F M Centralized data

U + F + M M Distributed data

2.8.1.3 Process Architecture

Menurut Mathiassen et al. (2000, p.209), process architecture

adalah struktur dari eksekusi sistem yang terdiri dari proses-proses yang

saling bergantung. Process architecture menggambarkan bagaimana

proses sistem didistribusi dan dikoordinasi. Tujuan dari desain process

architecture adalah untuk menyusun eksekusi pada level physical.

Page 40: 2009-2-00551-AKSI Bab 2

47

Aktivitas process memiliki 2 (dua) level abstraksi. Level pertama

menjelaskan mengenai distribusi dari komponen program yang ada pada

processor sistem. Level kedua menjelaskan mengenai proses yang yang

memiliki kolaborasi struktur antar object yang ada saat eksekusi. Hasil

akhir dari proses arsitektur adalah deployment diagram yang

menjelaskan mengenai distribusi dan kolaborasi dari komponen program

dan active object yang ada pada processors. Terdapat beberapa pola

distribusi dalam kegiatan desain proses arsitektur, yaitu :

• The Centralized Pattern

Pada pola ini semua data disimpan pada server pusat dan

client hanya menangani user interface saja. Keseluruhan

model dan fungsi bergantung pada server dan client hanya

berperan seperti terminal. Keuntungan dari pola distribusi ini

adalah dapat diimplementasikan dengan murah untuk client,

semua data ditempatkan dalam satu tempat, strukturnya

mudah dimengerti dan diimplementasikan, dan kemacetan

jaringannya tergolong sedang. Sedangkan kerugiannya adalah

level kinerja client rendah karena apabila server atau jaringan

turun, maka client tidak dapat melakukan apapun. Centralized

pattern dapat dilihat pada gambar 2.13;

Page 41: 2009-2-00551-AKSI Bab 2

48

Gambar 2.13 Centralized Pattern (Sumber : Mathiassen et al, 2000, p.216)

• The Distributed Pattern

Distributed pattern merupakan kebalikan dari centralized

pattern. Semua data didistribusikan pada client dan server

hanya diperlukan untuk melakukan update model antar

clients. Keuntungan dari pola distribusi ini adalah waktu

akses yang rendah karena semua fungsi dan model terdapat di

client, sehingga tidak ada kemacetan jaringan. Selain itu

kinerja setiap client lebih maksimal dan back-up data banyak.

Sedangkan kerugiannya adalah adanya redudansi data

sehingga konsistensi data antar client berkurang, kemacetan

jaringan tinggi, kebutuhan teknis untuk client meningkat, dan

Page 42: 2009-2-00551-AKSI Bab 2

49

arsitekturnya lebih rumit untuk dipahami dan

diimplementasikan. Distributed pattern dapat dilihat pada

gambar 2.14;

Gambar 2.14 Distributed Pattern (Sumber : Mathiassen et al, 2000, p.217)

• The Decentralized Pattern

Decentralized pattern dapat dikatakan merupakan gabungan

dari kedua pola sebelumnya. Pada pola ini client memiliki

datanya sendiri, sehingga hanya data umum client yang

terdapat pada server. Client dan server memiliki struktur

desain yang sama. Perbedaannya adalah server menyimpan

model dan fungsi umum, sementara client menyimpan data

yang terdapat pada application domain miliknya. Keuntungan

Page 43: 2009-2-00551-AKSI Bab 2

50

dari pola distribusi ini adalah konsistensi data karena tidak

ada duplikasi antar client maupun antara client dan server,

beban jaringan rendah karena jaringan hanya digunakan saat

data umum pada server di-update. Sedangkan kerugiannya

adalah semua processor harus mampu menjalankan fungsi

yang rumit dan memelihara model dalam jumlah besar, biaya

hardware meningkat, dan sistem tidak memiliki fasilitas

back-up di dalamnya. Decentralized pattern dapat dilihat pada

gambar 2.15.

Gambar 2.15 Decentralized Pattern (Sumber : Mathiassen et al, 2000, p.219)

2.8.2 Component Design

Menurut Mathiassen et al. (2000, p.231), tujuan dari component design

adalah menentukan implementasi dari kebutuhan yang ada pada architectural

Page 44: 2009-2-00551-AKSI Bab 2

51

framework. Hasil dari aktivitas component design adalah sebuah deskripsi dari

komponen sistem. Terdapat beberapa aktifitas dalam component design,

termasuk di dalamnya model component dan function component.

2.8.2.1 Model Component

Model component adalah bagian dari sebuah sistem yang

mengimplementasikan problem-domain model. Tujuannya adalah

mengirim data yang sekarang dan yang lalu kepada fungsi, interfaces dan

kepada user dan sistem yang lain. Hasil dari aktivitas model component

adalah sebuah revised class diagram dari aktivitas analisis. Dalam

analisis, model digambarkan sebagai kelas diagram yang dikombinasikan

dengan statechart diagram untuk setiap class. Dalam model component

desain lebih fokus pada informasi yang diambil dari event, yang meliputi

event traces dan attribute untuk setiap event.

Untuk menentukan revised class, pertama-tama harus ditentukan

private event dan common event. Private event adalah event yang hanya

melibatkan 1 (satu) object pada problem domain. Common event adalah

adalah event yang melibatkan beberapa object. Event ini menggambarkan

hubungan antara 1 (satu) object dengan object lainnya dan

memungkinkan menambahkan hubungan struktural, untuk

memungkinkan object lain mengakses attribute-nya.

Untuk event yang terjadi sekali, maka tampilkan event tersebut

sebagai attribute pada class dimana event itu berada. Event ini ditandai

dengan ” + ”. Untuk event yang terjadi berkali-kali atau iteration, maka

Page 45: 2009-2-00551-AKSI Bab 2

52

tampilkan event attribute ini sebagai class baru. Event ini ditandai dengan

” * ”. Hubungkan class baru dengan class dimana event itu berasal

dengan hubungan agregasi.

2.8.2.2 Function Component

Function component merupakan sebuah bagian dari sistem yang

mengimplementasikan kebutuhan-kebutuhan fungsional. Tujuan dari

function component adalah untuk memberikan user interfaces dari system

components dapat mengakses ke dalam model.

Hasil dari function component adalah sebuah class diagram

dengan operation dan spesifikasi dari operation yang kompleks. Ada 4

(empat) tipe dari function component yaitu:

1. Update : berhubungan langsung dengan problem domain. Jika

tidak terjadi sesuatu dalam problem domain, maka tidak

dilakukan perubahan dalam model system. Update function

menerima input data yang mendeskripsikan event dan output

data yang merupakan model update;

2. Read : menjelaskan kebutuhan dari user atau sistem lain untuk

mendapatkan informasi dari model. Sistem dilihat sebagai

sebuah database, dimana informasi yang diinginkan dapat

ditemukan sebagai attribute;

3. Compute : menandakan kebutuhan user atau sistem yang lain

dalam memproses suatu data, dimana dapat melibatkan

pembacaan (read) dari model;

Page 46: 2009-2-00551-AKSI Bab 2

53

4. Signal : menggambarkan akan kebutuhan pengawasan dan

pengendalian. Dalam sebuah sistem dimana pengawasan dan

pengendalian merupakan hal yang penting, maka model

diperhatikan supaya dapat dilihat apabila problem domain

memasukkan state yang menghasilkan reaksi.

Berikut ini merupakan sub kegiatan dalam component function,

yaitu :

1. Merancang function sebagai operation;

2. Menelusuri pola yang dapat membantu dalam mengimplementasi

function sebagai operation;

3. Spesifikasikan operasi yang kompleks.