9 BAB II LANDASAN TEORI
II.1 Sistem Informasi Akuntansi II.1.1 Pengertian Sistem Informasi Akuntansi Berdasarkan Gelinas dan Oram (1996), “Sistem informasi akuntansi adalah suatu subsistem khusus dari sistem informasi manajemen yang bertujuan yang mengumpulkan, memproses, dan melaporkan informasi yang berhubungan dengan transaksi-transaksi keuangan” (p.16). Menurut Bodnar yang diterjemahkan oleh Amir Abadi Jusuf (2000), “Sistem informasi akuntasi didefinisikan sebagai kumpulan sumber daya, seperti manusia dan peralatan, yang diatur untuk mengubah data menjadi informasi” (p.1). Sedangkan menurut Moscove, dkk (2001), “Sistem informasi akuntansi adalah subsistem informasi dalam sebuah organisasi yang mengumpulkan informasi dari berbagai subsistem suatu entitas dan mengkomunikasikannya kepada subsistem pengolah informasi organisasi” (p.7). Berdasarkan informasi diatas, maka dapat disimpulkan sistem informasi akuntasi adalah kombinasi dari berbagai sumber daya yag dirancang untuk mentransformasikan data keuangan menjadi informasi yang dibutuhkan oleh manajemen.
10 II.1.2 Subsistem Sistem Informasi Akuntansi Menurut Hall (2001), “Sistem informasi akuntasi terdiri atas tiga subsistem utama antara lain sebagai berikut : 1. Sistem pemrosesan transaksi (SPT) / transaction processing system (TPS) merupakan pusat dari seluruh fungsi sistem informasi informasi dengan: a. Mengkonversi peristiwa ekonomi ke transaksi keuangan. b. Mencatat transaksi keuangan dalam record akuntansi (jurnal dan buku besar). c. Mendistribusikan informasi keunagan yang utama ke personel operasi untuk mendukung kegiatan operasional harian mereka. 2. Sistem pelaporan buku besar/keuangan (SBB/PK) / General Ledger / Financial Reporting System (GL/FRS). Sistem buku besar (SBB) dan sistem pelaporan keuangan (SPK) adalah subsistem yang saling erat terkait. Namun demikian, karena interdependensi operasional mereka, keduanya dipandang sebagai suatu sistem tunggal yang integratif-SBB/PK. Besarnya input ke sistem BB datang dari siklus transaksi. Rangkuman
aktivitas
siklus
transaksi
ini
diproses
oleh
SBB
untuk
memperbaharui akun-akun kontrol buku besar. Sedangkan sistem pelaporan keuangan mengukur dan melaporkan status sumber daya keuangan dan perubahan dalam sumber daya-sumber daya tersebut, informasi ini dikomunikasikan terutama bagi pemakai eksternal.
3. Sistem Pelaporan Manajemen (Management Reporting System). Menyediakan informasi keuangan internal yang diperlukan untuk memanajemen sebuah bisnis. Para manajer memerlukan informasi yang berbeda
11 untuk berbagai jenis keputusan yang harus dilakukan. Laporan yang dihasilkan meliputi anggaran, laporan varians, analisis biaya-volume-laba, dan laporan yang menggunakan data biaya lancar (bukan yang historis)” (p.12).
II.1.3 Komponen Sistem Informasi Akuntansi Romney dan Steinbart (2003) menyatakan. “Sistem Informasi Akuntansi terdiri dari lima komponen, yaitu :” 1. People, yang mengoperasikan sistem dan melakukan berbagai fungsi. 2. Procedures, baik yang manual maupun otomatis termasuk dalam kegiatan pengumpulan, pemrosesan, dan penyimpanan data tentang kegiatan organisasi. 3. Data, tentang kegiatan / proses bisnis organisasi. 4. Software, digunakan untuk memproses data organisasi. 5. Information, technology, infrastructure, termasuk didalamnya komputer, peralatan komunikasi jaringan (p.2).
II.1.4. Siklus Transaksi Pada Sistem Informasi Akuntansi Menurut Boockholdt (1999), “siklus transaksi akuntansi dibagi menjadi empat bagian, yaitu : 1. Financial Cycle. Consists of those accounting transactions that record the acquisition of capital from owner and creditor, the use of that capital to acquire productive assets, and the reporting to owners and creditors on how is used. Dapat diartikan Siklus keuangan terdiri dari transaksi akuntansi yang mencatat akuisisi modal dari pemilik dan kreditur, yang penggunaannya untuk memperoleh asset produktif yang dilaporkan kepada pemilik dan kreditur.
12 2. Expenditure Cycle. Consist of those transactions incurred to acquire material and overhead items for the conversion proses of the bussiness. Dapat diartikan siklus pengeluaran terdiri dari transaksi yang terjadi untuk memperoleh bahan baku dan barang overhead yang digunakan dalam proses konversi. 3. Conversion Cycle. Contains those transaction incurred when input are converted into salable goods or services. Dapat diartikan siklus konversi terdiri dari transaksi yang terjadi pada saat input dikonversi menjadi barang yang dapat dijual atau jasa. 4. Revenue Cycle. Includes the accounting transactions that record the generation of revenue from the output of the conversion proses.” . Dapat diartikan siklus pendapatan termasuk dalam transaksi akuntansi yang mencatat generasi pendapatan dari otput yang dihasilkan dalam proses konversi (p.520-523). Untuk lebih jelasnya perhatikan gambar 2.1 dibawah ini :
Inventory
Vendors
Convertion Cycle
Expenditure Cycle
Employees
Property Cash
Owner Creditor
Inventory
Financial Cycle
Revenue Cycle Cash
Gambar 2.1 Siklus Sistem Informasi Akuntansi Sumber : Boockholdt (1999,p)
Customers
13 II.2
Sistem Informasi Akuntansi Umum / Sistem Buku Besar Umum / Pelaporan Keuangan (General Ledger/Financial Report System-GL/FRS)
II.2.1 Record (Catatan) Akuntansi II.2.1.1 Sistem Manual Mengacu pendapat Hall (2001), catatan-catatan akuntansi tradisional yang digunakan dalam sistem informasi akuntansi manual diantaranya sebagai berikut: 1. Dokumen Sebuah dokumen menyediakan bukti dari peristiwa ekonomi dan dapat digunakan untuk memulai pemrosesan transaksi. Ada tiga jenis dokumen yang digunakan: dokumen sumber, dokumen produk, dan dokumen turnaround. a. Dokumen Sumber. Peristiwa-peristiwa
ekonomi
menimbulkan
dokumen-dokumen
yang
diciptakan pada awal (sumber) transaksi. Dokumen sumber digunakan untuk menangkap dan memformalisasi data transaksi yang diperlukan untuk memproses siklus transaksi. Misalnya, pesanan penjualan multipartai yang merupakan bukti formal bahwa suatu penjualan terjadi. Salinan dokumen sumber ini memasuki sistem penjualan dan digunakan untuk membawa informasi ke berbagai fungsi, seperti penagihan, pengiriman, dan piutang dagang.
b. Dokumen Produk. Dokumen produk adalah hasil transaksi pemrosesan, bukan dokumen yang memicu mekanisme proses. Misalnya, suatu cek pembayaran gaji yang diberikan kepada pegawai adalah sebuah dokumen produk dari sistem gaji.
14 c. Dokumen Turnaround (Berbalik). Dokumen turnaround adalah dokumen produk dari satu sistem yang menjadi dokumen sumber dari sistem lainnya. Misalnya, surat tagihan yang dihasilkan oleh sistem penjualan akan dikirimkan kepada pelanggan. Pada saat pelanggan membayar tagihan tersebut, pelanggan akan memberikan cek yang disertai dengan surat tagihan, surat tagihan tersebut akan kemudian menjadi dokumen sumber bagi bagian kasir untuk mencatat penerimaan kas. 2. Jurnal Sebuah jurnal adalah sebuah record ayat-ayat (jurnal) yang dicatat secara kronologis. Pada titik tertentu dalam proses transaksi ketika semua fakta yang relevan tentang transaksi diketahui, peristiwa dicatat dalam sebuah jurnal dalam urutan kronologis. Dokumen-dokumen adalah sumber data primer bagi jurnal. Terdapat dua jenis jurnal: a.
Jurnal Khusus. Jurnal khusus digunakan untuk mencatat kelas transaksi
spesifik yang muncul dalam volume tinggi. Yang termasuk dalam jurnal khusus antara lain: jurnal pembelian, jurnal penjualan, jurnal penerimaan kas dan jurnal pengeluaran kas. b.
Jurnal Umum. Perusahaan menggunakan jurnal umum untuk mencatat
transaksi yang jarang terjadi atau tidak termasuk dalam jurnal-jurnal khusus yang ada.
Register. Istilah register merujuk ke jenis-jenis tertentu dari jurnal khusus. Misalnya, jurnal pembayaran gaji sering disebut sebagai register gaji.
15 3. Buku Besar (Ledger) Buku besar adalah sebuah buku akun-akun keuangan, yang mencerminkan efekefek keuangan dari transaksi perusahaan setelah mereka diposkan dari berbagai jurnal. Sebuah buku besar menunjukkan kenaikan, penurunan, dan saldo lancar dari setiap akun. Terdapat dua jenis buku besar dasar: a.
Buku besar umum (general ledger), yang berisi informasi akun-akun
perusahaan dalam bentuk rangkuman dari akun-akun kontrol. b.
Buku besar pembantu (subsidiary ledger), yang berisi rincian akun
individual yang membentuk akun kontrol partikular. Pemisahan ini memungkinkan kontrol dan dukungan ke kegiatan operasi dengan lebih baik (p.58).
II.2.1.2 Sistem Komputerisasi Akuntansi Mengacu pendapat Hall (2001), record akuntansi dalam sistem yang berdasarkan komputer disajikan dalam empat jenis file magnetis yang berbeda, yaitu: 1. File Induk Sebuah file secara umum berisi data-data akun. Buku besar umum dan buku besar pembantu adalah contoh dari file induk. Nilai data-data dalam file induk diperbaharui dari transaksi. 2. File Transaksi Sebuah file transaksi adalah file sementara yang menyimpn record transaksi yang akan digunakan untuk mengubah atau memperbaharui data dalam file induk. Pesanan penjulan, penerimaan persediaan, dan penerimaan kas adalah contoh-contoh dari file transaksi.
16 3. File Referensi Sebuah file referensi menyimpan data yang digunakan sebagai standar untuk memproses transaksi. Contoh file referensi adalah tabel pajak, daftar harga, dan file kredit pelanggan. 4. File Arsip Sebuah file arsip berisi record-record tentang transaksi masa lalu yang dipertahankan untuk referensi yang akan datang. File arsip meliputi jurnal-jurnal, informasi pembayaran gaji periode sebelumnya, daftar nama pegawai sebelumnya, dan buku besar periode sebelumnya (p.66).
II.2.2 Skema Pengkodean Data II.2.2.1 Pengertian dan Tujuan Pengkodean Mengacu pendapat Mulyadi (1997), kode adalah suatu rerangka (framework) yang menggunakan angka atau huruf atau kombinasi angka dan huruf untuk memberi tanda terhadap klasifikasi yang sebelumnya telah dibuat. Dalam sistem pengolahan data akuntansi, kode memiliki berbagai tujuan berikut ini: 1. mengidentifikasi data akuntansi secara unik; 2. meringkas data; 3. mengklasifikasi rekening atau transaksi; dan 4. menyampaikan makna tertentu (p.127).
Sedangkan mengacu pendapat Hall (2001), tujuan penggunaan kode yang umum adalah sebagai berikut:
17 1. dengan tepat mewakili sejumlah informasi yang kompleks yang jika tidak dikode akan berantakan; 2. menyediakan sarana akuntabilitas untuk kelengkapan transaksi yang diproses; 3. mengidentifikasi transaksi dan akun yang unik dalam satu file; 4. mendukung fungsi audit dengan menyediakan jejak audit yang efektif. (p.432).]
II.2.2.2 Skema Pengkodean Numerik dan Alfabetis Mengacu pendapat Hall (2001), skema pengkodean numerik dan alfabetis adalah sebagai berikut: 1. Kode Sekuensial (sequential code) Kode sekuensial mewakili item-item dalam tatanan yang berurutan (menurun atau menaik). Suatu aplikasi yang umum dari kode sekuensial numerik adalah dokumen sumber yang sudah diberi nomor sebelumnya. 2. Kode Blok (block code) Kode blok numerik merupakan variasi dari pengkodean sekuensial yang dirancang untuk mengatasi sebagaian dari kelemahannya. Pendekatan ini dapat mewakili seluruh item-item kelas dengan membatasi setiap kelas ke kisaran spesifik dalam skema pengkodean. Aplikasi umum dari pengkodean blok adalah pembuatan chart of account (daftar akun). Semakin luas daftar akunnya, semakin tepat perusahaan dapat mengklasifikasikan transaksinya dan semakin besar kisaran informasi yang dapat disediakan untuk pemakai internal dan eksternal. 3. Kode Grup (group code) Kode grup numerik digunakan untuk mewakili item-item atau peristiwa yang kompleks yang melibatkan dua atau lebihdata yang saling berkaitan. Kodenya
18 terdiri atas wilayah-wilayah atau fields yang memiliki makna spesifik. Misalnya, sautu departemen toko berantai dapat mengkodekan transaksi pesanan penjualan dari toko-toko cabangnya sebagai berikut: Nomor Toko 04
Nomor Dept.
Nomor Item
09
476214
Petugas Penjualan 99
4. Kode Alfabetis (alphabetic code) Kode alfabetis dapat digunakan untuk banyak tujuan yang samas eperti kode numerik. Karakter alfabet dapat ditempatkan secara berurutan (dalam urutan alfabetis) atau dapat digunakan dalam teknik pengkodean blok atau grup. 5. Kode Mnemonik (mnemonic code) Kode mnemonik adalah karakter alfabetis dalam bentuk akronim dan kombinasi lainnya yang bermakna. Misalnya, seorang siswa yang mendaftar di kursus sekolahnya dapat memasukkan kode kursus berikut ini di dalam formulir pendaftaran (p432) : Jenis Kursus
Nomor Kursus
Acctg
101
Pysc
110
Mgt
270
II.2.3 General Ledger II.2.3.1 Pengertian General Ledger Menurut pendapat Mulyadi (1997), “General ledger merupakan kumpulan rekening-rekening yang digunkan untuk menyortasi dan meringkas informasi yang telah dicatat dalam jurnal. Sedangkan rekening adalah judul suatu catatan akuntansi yang
19 umumnya berbentuk T, yang dibagi menjadi dua bagian, sebelah kiri disebut debit dan sebelah kanan disebut kredit, sebagai alat untuk mengklasifikasikan dan mencatat transaksi berdasar prinsip tata buku berpasangan (double entry bookkeeping)” (p.120). Proses sortasi dan pemindahan data ke dalam buku besar dan buku pembantu disebut dengan pembukuan (posting). Dalam sistem manual, kegiatan posting ini memerlukan empat tahap sebagai berikut ini : 1. Pembuatan rekapitulasi jurnal. 2. Penyortasian rekening yang akan diisi dengan data rekapitulasi. 3. Pencatatan data rekapitulasi dalam rekening yang bersangkutan. 4. Pengembalian rekening ke dalam arsip pada urutan semula.
II.2.3.2 Aplikasi General Ledger Berdasarkan pendapat Fitria D.A (1994), dalam sistem komputerisasi akunting, dikenal adanya aplikasi yang bernama General Ledger. “Fungsi General Ledger adalah untuk menampilkan laporan-laporan keuangan utama, yang berupa neraca (balance sheet), laba-rugi (profit-loss statement), buku-besar (ledger), dan aliran dana (cashflow)” (p.3). Mengacu pendapat Leman-Eko Pranoto (1998), program ini akan sangat membantu dalam menyelesaikan siklus akuntansi dengan hanya memasukkan data jurnal harian, seterusnya komputer yang akan mengolah data mulai dari memposting ke buku besar, buku pembantu, dan mencetak laporan keuangan beserta analisanya dengan hanya menekan keyboard saja. Dengan dimanfaatkannya program ini, sangat diharapkan segala informasi (laporan) yang dibutuhkan dapat diperoleh secara cepat, tepat, dan lengkap tanpa harus melalui proses pencatatan (pengisian) yang berulang kali (p.7).
20
II.2.4 Sistem Buku Besar Umum (General Ledger System) Menurut Hall (2001), “GLS sebagai suatu pusat yang terhubung ke sistemsistem lainnya dalam perusahaan melalui arus informasi. Siklus transaksi memproses peristiwa individual yang dicatat di dalam jurnal khusus dan akun buku besar pembantu. Rangkuman transaksi-transaksi ini mengalir ke dalam GLS dan menjadi sumber input untuk sistem pelaporan manajemen dan pelaporan keuangan” (p.436).
II.2.4.1 Voucher Jurnal Menurut Hall (2001), “Voucher jurnal merupakan input bagi buku besar umum. Voucher jurnal dapat digunakan untuk mewakili rangkuman transaksi yang serupa atau satu transaksi yang unik, mengidentfikasi jumlah keuangan dan akun buku besar umum yang dipengaruhi. Transaksi rutin, jurnal penyesuaian, dan jurnal penutup, semuanya dimasukkan ke buku besar umum dari voucher jurnal” (p.436).
II.2.4.2 Database Sistem Buku Besar Umum (General Ledger System-GLS) Mengacu pendapat Hall (2001), database GLS terdiri atas sejumlah file transaksi, file induk, dan file arsip. File-file ini bervariasi antara satu perusahaan dengan perusahaan lainnya (p.436). File induk buku besar umum merupakan file utama dalam database GLS. Basis dari file ini adalah kode daftar akun perusahaan. Setiap record dalam file induk buku besar umum bisa merupakan akun GL yang terpisah atau akun kontrol untuk file buku besar pembantu korespondennya dalam sistem pemrosesan transaksi. Sistem pelaporan keuangan mengambil dari induk GLS untuk menghasilkan laporan keuangan
21 perusahaan. Sistem pelaporan manajemen juga menggunakan file ini untuk mendukung kebutuhan informasi internal. File sejarah buku besar umum mewakili format yang sama dengan induk GL. Tujuan utama file ini adalah untuk mewakili laporan keuangan komparatif dengan basis hsitoris. File voucher jurnal adalah total voucher jurnal yang diproses pada periode saat ini. File voucher jurnal historis berisi voucher jurnal untuk periode masa lalu. Baik file voucher jurnal saat ini maupun historis merupakan jaringan yang penting dalam jejak audit perusahaan. File pusat pertanggungjawaban berisi data pendapatan, pengeluaran, dan utilisasi sumber daya lainnya untuk setiap pusat pertanggungjawaban dalam organisasi. Sistem pelaporan manajemen mengambil data-data ini untuk dimasukkan dalam persiapan laporan pertanggungjawaban manajemen. File anggaran induk berisi jumlah anggaran untuk pendapatan, biaya, dan sumber daya lainnya untuk pusat pertanggungjawaban. Data-data ini, dalam kaitannya dengan file pusat pertanggungjawaban, merupakan basis dari akuntansi pertanggungjawaban.
II.2.5 Sistem Pelaporan Keuangan (Financial Reporting System / FRS) Mengacu pendapat Hall (2001), sumber-sumber input untuk FRS terdiri atas file induk buku besar umum saat ini, file historis buku besar umum, dan input langsung (jurnal penyesuaian dan jurnal penutup) dari kelompok pelaporan keuangan. Output yang paling umum dari FRS adalah laporan keuangan, termasuk neraca, laporan laba rugi, dan laporan arus kas (p.439).
22 II.2.5.1 Pengertian dan Jenis-jenis Laporan Keuangan Mengacu pendapat Larson, dkk (2002), laporan keuangan (financial statement) melaporkan kinerja keuangan dan kondisi dari suatu organisasi (p.36). Jenis-jenis laporan keuangan menurut Larson, dkk (2002), adalah sebagai berikut: 1.
Laporan Laba Rugi (Income Statement) adalah suatu laporan yang
melaporkan pendapatan yang diperoleh dikurangi beban-beban yang terjadi dalam suatu bisnis selama periode tertentu. Pendapatan adalah pemasukan atas aktiva atau modal pemilik sebagai hasil dari perubahan atas produk atau jasa yang disediakan untuk pelanggan sebagai bagian dari operasi perusahaan. Biaya adalah aliran ke luar atas penggunaan lebih aktiva dalam proses penyediaan produk atau jasa kepada pelanggan. 2.
Laporan Perubahan Modal Pemilik (The Statement of Changes in
Owner’s Equity/SCOE). Laporan perubahan modal pemilik menunjukkan pada tuntutan pemilik atas aktiva. Laporan perubahan modal pemilik melaporkan perubahan modal dalam suatu periode laporan. 3.
Neraca (Balance Sheet) atau yang dikenal juga sebagai statement of
financial positions adalah suatu laporan yang melaporkan posisi keuangan dari suatu perusahaan pada suatu waktu tertentu, biasanya pada akhir bulan, kuartar, atau tahun. Aktiva adalah sumber daya yang dimiliki atau dikontrol oleh perusahaan, yang menyediakan keuntungan atau manfaat akan datang yang diharapkan untuk perusahaan.
23 Hutang adalah kewajiban dari suatu perusahaan yang menunjukkan klaim dari pihak lain terhadap aktiva perusahaan. Ekuitas adalah tuntutan (klaim) dari pemilik atas aktiva perusahaan. 4.
Laporan Arus Kas (Statement of Cash Flows) adalah suatu laporan yang
mendeskripsikan sumber-sumber (arus masuk) dan penggunaan-penggunaan (arus keluar) dari kas untuk suatu periode tertentu. Laporan arus kas terdiri dari 3 (tiga) aktivitas utama, yaitu aktivitas operasi, aktivitas investasi dan aktivitas pendanaan (p.37).
II.2.5.2 Proses Akuntansi Keuangan Mengacu pendapat Hall (2001), sistem pelaporan keuangan pada kenyataannya merupakan langkah terakhir dalam seluruh proses akuntansi keuangan yang dimulai dari siklus akuntansi. Proses akuntansi keuangan dimulai dari status bersih di awal tahun fiskal yang baru, hanya akun-akun (permanen) neraca yang merupakan kelanjutan dari tahun sebelumnya. Dari titik ini, prosesnya dilanjutkan dengan langkah-langkah berikut ini: 1. Mencatat transaksi pada dokumen sumber yang tepat. 2. Mencatat di jurnal khusus atau umum. 3. Memposkan ke buku besar pembantu. 4. Memposkan ke buku besar umum. 5. Menyiapkan neraca percobaan sebelum penyesuaian. 6. Melakukan jurnal penyesuaian. 7. Menjurnal dan memposkan ayat jurnal persediaan. 8. Menyiapkan neraca percobaan yang telah disesuaikan.
24 9. Menyiapkan laporan keuangan. 10. Menjurnal dan memposkan ayat jurnal penutup. 11. Menyiapkan neraca percobaan pasca penutupan.
Proses akuntansi keuangan yang disebutkan di atas memiliki tiga tahap yang berbeda, setiap tahap melibatkan elemen-elemen dari satu atau lebih subsistem informasi. Tahap 1 - Prosedur harian. Subsistem pemrosesan transaksi mencatat transaksi harian di dokumen sumber, kemudian mencatatnya di jurnal khusus, memposkan transaksi individual ke buku besar pembantu, dan menyiapkan voucher jurnal. Tahap 2 – Prosedur akhir periode. Voucher jurnal dimasukkan ke buku besar umum secara periodik. Hal ini melibatkan sistem pemrosesan transaksi dan buku besar umum. Tahap 3 – Prosedur pelaporan keuangan. Analisis akun-akun buku besar umum dan langkah-langkah yang mengarah ke produksi laporan keuangan (persiapan neraca percobaan, ayat jurnal penyesuaian, ayat juranal penutup, dan sebagainya) melibatkan sistem pelaporan keuangan maupun buku besar umum (p.439).
II.2.6 Unsur-unsur Sistem Pengendalian Intern Menurut Mulyadi (2001, p164), unsur- unsur yang mendukung adanya sistem pengendalian manajemen : 1.
Struktur organisasi yang memisahkan tanggung jawab fungsional secara tegas
25 2.
Sistem
wewenang
dan
prosedur
pencatatan
yang
memberikan
perlindungan yang cukup terhadap kekayaan, hutang, pendapatan, dan biaya 3.
Praktik yang sehat dalam melaksanakan tugas dan fungsi setiap unit organisasi
4.
Karyawan yang mutunya sesuai dengan tanggung jawabnya
II.2.7 Analisis Sistem II.2.7.1 Pengertian Analisis Sistem Menurut Cushing (1991), “Analisis sistem adalah sebagai proses penyelidikan kebutuhan informasi pemakai didalam suatu organisasi agar dapat menetapkan tujuan dan spesifikasi rancangan suatu sistem informasi” (p.327). Di lain pihak, menurut Zwass (1992), “Analisis sistem adalah sebuah fase awal dalam proses perkembangan, yang mengilustrasikan dengan baik pendekatan sistem dalam memecahkan masalah” (p.402). Sedangkan menurut Laudon, dkk (2004), “Analisis sistem adalah analisis masalah yang akan dipecahkan oleh perusahaan dengan sistem informasi (p.389). Dari ketiga definisi tersebut dapat disimpulkan analisis sistem adalah proses awal perkembangan untuk menentukkan kekurangan dalam prosedur, proses data dan kebutuhan agar dapat merancang spesifikasi sistem informasi yang baru dalam rangka memecahkan masalah perusahaan.
26 II.2.7.2 Tahapan Analisis Sistem Menurut Mulyadi (1997), “Analisis sistem dibagi menjadi empat tahap :
Analisis pendahuluan.
Penyusunan usulan pelaksanaan analisis sistem.
Pelaksanaan analisis sistem.
Penyusunan laporan hasil analisis sistem” (p.41).
Mengacu pendapat Mcleod (2001), tahapan analisis sistem terdiri dari :
Mengumumkan penelitian sistem.
Mengorganisasikan tim proyek.
Mendefinisikan kebutuhan informasi.
Mendefinisikan kriteria kinerja sistem.
Menyiapkan usulan rancangan.
Menyetujui atau menolak rancangan proyek (p.138 – 140).
II.2.8 Perancangan Sistem II.2.8.1 Pengertian Perancangan Sistem Menurut Mulyadi (1997), “Perancangan adalah proses penerjemah kebutuhan pemakai informasi ke dalam alternatif rancangan sistem informasi yang diajukan pada pemakai informasi untuk mempertimbangkan (p.169). Mengacu pendapat Larman (1998), perancangan menekankan sebuah solusi logika, bagaimana sistem memenuhi kebutuhan-kebutuhannya (p.6).
27 Ditambahkan pula oleh pendapat Cushing (1991), selain itu perancangan sistem juga
merupakan
proses
penyiapan spesifikasi
yang terperinci
untuk
pengembangan suatu sistem baru (p.438). Dari ketiga definisi, dapat disimpulkan perancangan sistem adalah proses penyiapan spsefikasi yang terinci untuk menghilangkan kekurangan dan meningkatkan kelebihan sistem yang sedang berjalan, yang berguna untuk memberikan gambaran yang jelas serta rancang bangun yang lengkap bagi kebutuhan pemakainya.
II.2.8.2 Tahapan Perancangan Sistem Mengacu pendapat Mcleod (2001), langkah-langkah tahap perancangan sistem sebagai berikut : 1. Menyiapkan rancangan sistem yang rinci. 2. Mengidentifikasikan berbagai alternatif konfigurasi sistem. 3. Mengevaluasi berbagai alternatif konfigurasi sistem. 4. Memilih konfigurasi yang terbaik. 5. Menyiapkan usulan penerapan. 6. Menyetujui atau menolak penerapan system (p.140-143).
Mengacu pendapat Mulyadi (1997),
tahapan perancangan sistem dibagi
menjadi enam tahapan, antara lain : 1. Perancangan sistem secara garis besar. 2. Penyusunan usulan perancangan sistem secara garis besar. 3. Evaluasi sistem. 4. Penyusunan laporan final perancangan sistem secara garis besar.
28 5. Perancangan sistem secara rinci. 6. Penyusunan laporan final perancangan sistem secara rinci (p.51).
II.2.9 Konsep Analisis dan Perancangan Berorientasi Objek II.2.9.1 Objek Menurut Jacobson (1992), “Objek adalah sebuah entitas yang dapat menyimpan informasi (state) dan menawarkan sejumlah operasi (behaviour) untuk mengevaluasi maupun mempengaruhi keadaan entitas tadi. Sebuah objek ditandai dengan sejumlah operasi dan sebuah state atau informasi yang mengingat akibat/efek dari operasi tersebut” (p.44). Mengacu pendapat definisi lain yang serupa, Lau (2001), Objek juga merupakan abstraksi baik untuk hal-hal konseptual maupun fisik. Objek memiliki keadaan dan identitas yang melekat. Objek mencapai tingkah laku tertentu melalui suatu kumpulan operasi yang didefinisikan di awal, yang mana dapat masuk atau merubah keadaaannya (p.1). Menurut Mathiassen (2000), “Objek adalah suatu entitas dengan identitas, keadaan (tingkatan hidup) dan tingkah laku. Objek merupakan dasar dalam Object Oriented Analysis and Design (OOA&D). Setiap objek digambarkan secara berkelompok (kumpulan) karana ada beberapa objek yang memiliki sifat atau fungsi yang sama yang dikenal dengan istilah kelas. Sedangkan class adalah suatu deskripsi atas kumpulan objek yang saling menggunakan struktur, pola tingkah laku, dan attribut secara bersama-sama” (p.4).
29
Problem Domain Analysis
Requirements for use text
Application Domain Analysis
Component Design
Model
Specifications of Architecture
Specifications of components
Architectural Design
Gambar 2.2 Aktivitas Utama dalam OOAD (Mathiassen (2000, p.15))
Dapat disimpulkan model yang berorientasi objek terdiri dari sejumlah objekobjek yang umumnya berkorespondensi dengan objek pada dunia nyata. Contohnya sebuah objek dapat berupa nota pembelian, mobil atau telepon seluler. Karakteristik yang dimiliki objek antara lain : 1. Tiap objek dapat memiliki satu atau lebih informasi individual yang unik. Inilah yang disebut attribute dimana tiap attribute mempunyai nilai. Contohnya sebuah mobil memiliki attribute warna biru, kuning dan sebagainya. 2. Objek dapat melakukan suatu operasi yang disebut dengan behaviour. Operasi ini dapat dipicu oleh stimulus dari luar maupun dalam objek. 3. Objek dapat dikomposisikan menjadi bagian-bagian terpartisi yang dinyatakan dengan hubungan consist of atau aggregate.
30 II.2.9.2 System Definition Menurut Mathiassen (2000), “System definition adalah “ a concise description of a computerized system expressed in natural language”
(p.24). Definisi sistem
merupakan suatu gambaran secara umum bagaimana suatu sistem berjalan dalam perusahaan tersebut, dalam skripsi ini adalah sistem persediaan. Rich Picture Menurut Mathiassen (2000), ”Rich picture adalah an informal drawing that presents the illustrator’s understanding of a situation” (p.26). Rich picture juga dapat digunakan sebagai alat yang berguna untuk memfasilitasi dan menggambarkan komunikasi yang baik antara pengguna dengan sistem. Rich picture difokuskan pada aspek-aspek penting dari sistem tersebut, yang ditentukan oleh pengembang dengan mengunjungi perusahaan untu kemihat bagaimana perusahaan itu beroperasi, berbicara dengan orang-orang yang mengerti apa yang terjadi atau seharusnya terjadi, dan mungkin melakukan beberapa wawancara informal maupun formal.
II.2.9.3 Analisis Problem – Domain Mengacu pada Mathiassen (2000), “Problem-domain adalah bagian dari konteks yang diatur, dimonitor, atau dikendalikan oleh sistem. Analisis problem-domain memfokuskan pada informasi apa yang harus ditangani oleh sistem dan dapat menghasilkan sautu model yang merupakan gambaran dari kelas, objek, struktur dan perilaku (behaviour) yang ada di dalam problem-domain. Problem-domain analysis dibagi menjadi tiga kegiatan, antara lain Class, behaviour, dan structure” (p.46). Kegiatan dari problem-domain analysis dapat dilihat pada tabel dan gambar dibawah ini.
31
System Definition
Behavior Classes
Structure Model
Gambar 2.3 Kegiatan pada Problem-Domain Modeling (Mathiassen (2000, p.46))
II.2.9.3.1 Class Menurut Mathiassen (2000), “Class merupakan “a description of collection of objects sharing structure, behavioural pattern, and attribute” (p.53). Class merupakan kegiatan yang pertama dilakukan didalam analisis problem-domain. Ada beberapa tugas utama yang dilakukan di dalam kegiatan ini yaitu : abstaksi fenomena dari problemdomain dalam objek dan event; klasifikasi objek dan event; memilih kelas dan event yang akan dipelihara informasinya oleh sistem. Pemilihan kelas bertujuan untuk mendefinisikan dan membatasi problem domain, sedangkan pemilihan event bertujuan untuk membedakan tiap-tiap kelas dalam problem domain. Menurut Mathiassen (2000), “Event adalah “an instantaneous incident involving one or more object.” (p.51).
32 Kegiatan kelas akan menghasilkan suatu tabel event. Dimensi horizontal dari tabel event menggambarkan kelas-kelas yang dipilih, sementara dimensi vertikal menggambarkan event-event yang terpilih, tanda cek digunakan untuk mengindikasikan objek-objek dari kelas yang berhubungan dalam event tertentu.
Classes Events Customer
Assistant
Apprentice
Reserved
√
√
√
Cancelled
√
√
√
Treated
√
Employed
√
√
Resigned
√
√
Appointment
Tabel 2.1 Contoh event table (Mathiassen (2000, p.50))
II.2.9.3.2 Structure Mengacu pendapat Mathiassen (2000), kegiatan structure pada analisis problem-domain bertujuan untuk mencari hubungan struktural yang abstrak dan umum antara kelas-kelas dan mencari hubungan yang konkrit dan spesifik antara objek-objek dalam problem- domain. Terdapat dua tipe struktur antar kelas yaitu generalisasi dan cluster. Menurut Mathiassen (2000), “Generalisasi adalah a general class (the super class) describes properties common to a grup of specialized classes (the subclasses)” (p.72). Hubungan spesialisasi ditandai dengan rumusan “is-a”.
33 Menurut Mathiassen (2000), “Cluster adalah “a collection of related class” (p.74). Cluster adalah kumpulan kelas yang saling berhubungan yang dapat membantu memperoleh dan menyediakan ringkasan problem-domain. Contohnya, cluster “mobil” berisi semua kelas yang berhubungan dengan jenis kelas dan komponen-komponennya. Terdapat dua jenis hubungan antar objek yaitu : aggregation dan association. Aggregation adalah hubungan antara sejumlah objek inferior yang merupakan bagian (the parts) dari sebuah objek superior yang merupakan dasar (the whole) bagi beberapa objek inferior tersebut. Hubungan tersebut dinyatakan dengan rumus “has-a”. Association adalah hubungan antara sejumlah objek yang memiliki arti dimana objekobjek saling berhubungan tersebut tidak merupakan bagian dari objek yang lainnya. Hasil dari kegiatan structure adalah class diagram. Class diagram menggambarkan seluruh struktur hubungan statik antar kelas maupun antar objek yang ada didalam model. Customer 1 0..* Appointment
1
0..* 1
Employee
Day Schedule
1
1..* 1 1..*
Apprentice
Assistant Time Period
1 Work
Free
Gambar 2.4 Class diagram (Mathiassen (2000, p.90))
Other
34
II.2.9.3.3 Behaviour Mengacu pendapat Mathiassen (2000), Kegiatan behaviour bertujuan untuk memodelkan apa yang terjadi (prilaku dinamis) dalam problem-domain sistem sepanjang waktu (p.89). Tugas utama
dari kegiatan ini adalah menggambarkan pola prilaku
(behavioral pattern) dan attribut dari setiap kelas. Hasil dari kegiataan ini adalah statechart diagram.
/ Account opened (date)
/ Account Closed Open / Amount deposited (date, amount) / Amount withdrawn (date, amount)
Gambar 2.5 Contoh statechart diagram (Mathiassen (2000, p.90))
Prilaku dari suatu objek ditentukan oleh urutan-urutan event (event trace) yang harus dilewati oleh objek tertentu tersebut sepanjang waktu. Contohnya, kelas customer, harus melalui event trace sepanjang masa hidupnya yaitu : account opened – amount deposited – amount withdrawn – amount deposited – account closed. Mengacu pendapat Mathiassen (2000), ada tiga jenis notasi untuk behavioral pattern yaitu : 1. Sequence
: Events in a set occur one by one.
35 2. Selection
: Exactly one out of set of event occurs.
3. Iteration
: An event occurs zero or more times (p.93).
II.2.9.3.4 Application Domain Analysis Mengacu Mathiassen (2000), “Application domain adalah suatu organisasi yang mengatur, memonitor, atau mengendalikan problem-domain. Application domain analysis memfokuskan
pada bagaimana target system akan digunakan dengan
menentukan kebutuhan function dan interface” (p.117). Kegiatan-kegiatan yang dilakukan pada application domain dapat dilihat pada tabel dan gambar dibawah ini.
Kegiatan Usage
Function
Isi Bagaimana
system
Konsep berinteraksi
Use
case
dengan orang lain dalam konteks.
actor
Bagaimana kemampuan system dalam
Function
dan
memproses informasi
Interface
Kebutuhan antarmuka dari system
Interface,
user
target
interface,
dan
system interface.
Tabel 2.2 Kegiatan Application Domain Analysis (Mathiassen (2000, p.117))
36
usage
Interfaces
Functions
Gambar 2.6 Kegiatan pada Application Domain (Mathiassen (2000, p.117))
II.2.9.3.4.1 Usage Mengacu pendapat Mathiassen (2000), tujuan dari kegiatan usage adalah untuk menentukan bagaimana aktor-aktor yang merupakan pengguna atau sistem lain berinteraksi dengan sistem yang dituju. Interaksi antara aktor dan sistem dinyatakan dalam use case. Mathiassen (2000) menyatakan, “Use case is a pattern for interaction between the system and actor in application domain” (p.120). Sedangkan “Actor adalah an abstraction of user or other systems that interact with target system” (p.199). Hasil dari kegiatan usage adalah deskripsi lengkap dari semua use case dan aktor yang ada, yang digambarkan dalam tabel aktor dan use case diagram. Use case diagram adalah diagram yang menggambarkan fungsi dari sebuah sistem dan berbagai macam pengguna yang akan berinteraksi dengan sistem. Untuk mengidentifikasi aktor adalah dengan menentukan bagian dan tugas dari bagian apa saja yang berhubungan atau terlibat langsung dengan konteks sistem yang dituju. Masing-masing aktor memiliki peranan yang berbeda-beda. Aktor dapat
37 digambarkan dalam actor specification yang memiliki tiga bagian, yaitu tujuan, karakteristik, dan contoh. Tujuan menunjukan peranan dari aktor dalam sistem target. Sementara karakteristik menggambarkan aspek-aspek yang penting dari aktor. Use case dapat dikatakan gambaran suatu interaksi antara sistem dengan aktor. Untuk menggambarkan suatu use case dapat menggunakan statechart diagram, use case specification atau keduanya. use case specification terdiri dari tiga bagian, yaitu use case, objects dan function. Use case menjelaskan urutan dari sistem yang berjalan, objects menunjukan aktor – aktor apa saja yang berhubungan dengan aktifitas use case tersebut, dan function akan dijelaskan setelah usage. Sequence Diagram Sequence diagram membantu seorang analis mengindentifikasikan rincian dari kegiatan yang dibutuhkan untuk menjalankan fungsi dari sebuah use case. Tidak ada suatu sequence diagram yang benar untuk use case tertentu, melainkan ada sejumlah kemungkinan sequence diagram yang masing – masing digram tersebut dapat lebih atau kurang memenuhi kebutuhan dari use case. Sequence diagram menunjukan urutan dari suatu kegiatan, event atau fungsi pada suatu use case.
II.2.9.3.4.2 Function Mengacu pendapat Mathiassen (2000), kegiatan function memfokuskan pada bagaimana cara sebuah sistem dapat membantu aktor dalam melaksanakan perkerjaan mereka. Mathiassen (2000) menyatakan, “Function is a facility for making a model useful for actors” (p.138). Function memiliki empat tipe yang berbeda, yaitu:
38 1. Update, function ini menjadi berjalan (aktif) disebabkan oleh event dari problemdomain, dan menghasilkan perubahan dalam state dari model tersebut. 2. Signal, function ini menjadi berjalan (aktif) disebabkan oleh perubahan keadaan atau state dari model dan dapat menghasilkan reaksi pada konteks. Reaksi ini dapat berupa tampilan untuk aktor dalam application domain, atau intervensi langsung dalam problem domain. 3. Read, function ini menjadi berjalan (aktif) disebabkan oleh kebutuhan informasi dalam perkerjaan kantor dan mengakibatkan sistem menampilkan bagian yang berhubungan dengan informasi dalam model. 4. Compute, function ini menjadi berjalan (aktif) disebabkan oleh kebutuhan informasi dalam perkerjaan aktor dan berisi perhitungan yang melibatkan informasi yang disediakan oleh aktor atau model. Hasil dari kegiatan function adalah daftar dari function (function list) yang lengkap, yang merinci function-function yang kompleks. Function list dibuat berdasarkan dari use case description. Kompleksitas dari function list dimulai dari yang simple sampai dengan yang very complex. Untuk mengidentifikasikan function adalah melihat deskripsi problem domain yang dinyatakan dalam kelas dan event yang dapat menyebabkan munculnya function read dan update, dan melihat deskripsi application domain yang dinyatakan use case yang dapat menimbulkan segala macam tipe function.
39 Planning Make schedule
very complex
Update
calculate schedule consequences
Complex
Signal
Find working hours form previous priod
Medium
Read
enter contents into schedule
Complex
Update
erase shedule
Simple
Update
Tabel 2.3 contoh dari function list (Mathiassen (2000, p.145))
II.2.9.3.4.3 Interface Interface digunakan oleh aktor untuk berinteraksi dengan sistem. Mathiassen (2000) menyatakan, “ Interface is facilities that make a system’s model and functions available to actor” (p.151). Ada dua jenis dari interface antar muka, yaitu : user interface, dan system interface. User interface adalah interface untuk pengguna atau users, sedangkan system interface adalah interface yang digunakan oleh sistem lain untuk berinteraksi dengan sistem yang dibangun. Suatu user interface harus dapat menanggani berbagai macam user atau pengguna yang memiliki tingkat kemampuan dan kapabilitas yang berbeda. User interface sangat sulit untuk dikembangkan apabila tidak menerima umpan balik berupa ide atau masukan yang berarti dari pengguna. Suatu sistem interface tidak hanya dapat digunakan untuk sistem administrasi tetapi dapat digunakan pada sistem-sistem lainnya. Sistem interface lebih banyak digunakan pada monitoring system dan control systems.
40 Ada empat jenis pola dialog yang penting dalam menentukan interface pengguna, yaitu : 1. Menu – selection. Suatu jenis dialog yang terdiri dari daftar pilihan-pilihan yang dapat atau mungkin dilakukan dalam user interface. 2. Form filling. Merupakan pola klasik yang digunakan untuk entri data. 3. Command language. Merupakan suatu jenis dialog yang memungkinkan pengguna memasukkan dan memulai format printah sendiri. 4. Direct manipulation. User memilih objek dan melaksanakan function atas objek dan melihat hasil dari interaksi mereka tersebut. Kegiatan dari interface didasarkan atas hasil dari kegiatan-kegiatan sebelumnya yang dilakukan, problem domain, functional dan use case. Hasil dari kegiatan ini adalah sebuah deskripsi dari elemen-elemen user interface maupun system interface yang lengkap, dimana elemen-elemen tersebut menunjukan kebutuhan dari user secara lengkap. Interface element harus juga dilengkapi dengan suatu navigation diagram yang menyediakan sebuah ringkasan dari elemen-elemen user interface dan perubahan antara elemen-elemen tersebut.
II.2.9.3.5 Architecture Design Tujuan dari kegiatan desain arsitektur adalah untuk membangun sistem yang terkomputerisasi. Arsitekur membentuk sistem sesuai dengan fungsi sistem tersebut dan dengan memenuhi kriteria desain tertentu. Mengacu pendapat Mathiassen (2000), Di dalam desain arsitektur, terdapat tiga dasar prinsip, yaitu define and prioritize criteria, bridge criteria and technical platform, and evaluate designs early (p.175). Kegiatan-
41 kegiatan yang dilakukan didalam architecture design dapat dilihat pada tabel dan gambar berikut ini.
Analysis Document
Component Architecture
Criteria
Process Architecture
Architectural specialication
Gambar 2.7 Aktivitas pada Architecture Design (Mathiassen (2000, p.176))
Kegiatan
Isi
Kondisi
Criteria
Kondisi dan criteria untuk pendesainan
Komponen
Bagaimana
system
komponen-komponen
Proses
dibentuk
Criterion
menjadi Arsitektur komponen
Bagaimana proses system didistribusikan Arsitektur dan dikoordinasi
proses
Tabel 2.4 Kegiatan Architecture Design (Mathiassen (2000, p.176))
42 II.2.9.3.5.1 Criteria Mathiassen (2000) menyatakan, ”Criterion is a preferred property of an architecture” (p.177). Ada beberapa prinsip yang digunakan untuk menentukan sebuah desain, yaitu : 1. Sebuah desain yang baik tidak memiliki kelemahan. Prinsip ini memperlihatkan tujuan utama atau yang paling mendasar dari objectoriented design. Prinsip ini menimbulkan penekanan pada evaluasi kualitas berdasarkan review dan eksperimen dan membantu dalam menentukan prioritas dari kriteria. Ada beberapa kriteria umum yang digunakan dalam kegiatan desain yang berorientasi objek, yang ditunjukkan pada tabel dibawah ini.
Criterion Usable
Measure of Kemampuan sistem untuk menyesuaikan diri dengan konteks, organisasi yang berhubungan dengan pekerjaan dan teknis.
Secure
Ukuran keamanan sistem dalam menghadapi akses yang tidak terotorisasi terhadap data dan fasilitas.
Efficient
Eksploitasi ekonomis terhadap fasilitas platform teknis.
Correct
Pemenuhan dari kebutuhan.
Reliable
Pemenuhan ketepatan yang dibutuhkan dalam melaksanakan fungsi.
Maintanable
Biaya untuk menemukan dan memperbaiki kerusakan.
Testable
Biaya untuk memastikan bahwa sistem yang dibentuk dapat melaksanakan fungsi yang diinginkan.
43 Fleksible
Biaya untuk mengubah sistem yang dibentuk.
Comprhensible
Usaha yang diperlukan untuk mendapatkan pemahaman terhadap sistem.
Reusable
Kemungkinan untuk menggunakan bagian sistem pada sistem lain yang berhubungan.
Portable
Biaya untuk memindahkan sistem ke platform teknis yang berbeda.
Interoperable
Biaya untuk menggabungkan sistem ke sistem yang lain
Tabel 2.5 Classical criteria for software quality (Mathiassen (2000, p.178))
2. Sebuah desain yang baik memiliki beberapa criteria yang seimbang. Tidak semua kriteria memiliki prioritas. Beberapa kriteria dapat menunjukan objektivitas secara keseluruhan, sehingga dapat mewakili kriteria lainnya. 3. Usable, flexible, dan comprehensible.
Kriteria-kriteria diatas ini bersifat universal dan dapat digunakan pada hampir setiap proyek pengembangan sistem, bagaimanapun mengorganisasikannya, menunjukan tiga kriteria ideal pada proyek pengembangan sistem. Mengacu pendapat Mathiassen (2000), sebuah desain yang baik diperlukan pertimbangan mengenai kondisi dari setiap proyek yang dapat mempengaruhi kegiatan desain, antara lain :
44 a) Technical, yang terdiri dari pertimbangan penggunaan hardware, software dan sistem lain yang telah dimiliki dan dikembangkan; pengaruh kemungkinan penggabungan pola-pola umum dan komponen yang telah ada terhadap arsitektur dan kemungkinan pembelian komponen standar. b) Conceptual, yang terdiri dari pertimbangan perjanjian kontrak, rencana untuk pengembangan lanjutan, dan pembagian kerja antara pengembang c) Human, yang terdiri dari pertimbangan keahlian dan pengalaman orang yang terlibat dalam kegiatan pengembangan dengan sistem yang serupa dan dengan platform teknis yang akan didesain.
II.2.9.3.5.2 Component Architecture Arsitektur komponen mendefinisikan secara keseluruhan dari struktur sistem yang dibangun. Menurut Mathiassen (2000), “Component architecture adalah sebuah struktur sistem yang terdiri dari komponen-komponen yang saling berhubungan” (p.190). Component merupakan kumpulan dari bagian-bagian program yang membentuk suatu kesatuan dan memiliki fungsi yang jelas. Mengacu pendapat Mathiassen (2000), suatu arsitektur komponen yang baik menunjukan beberapa prinsip, yaitu mengurangi kompleksitas dengan membagi menjadi beberapa tugas, menggambarkan stabilitas dari konteks sistem, dan memungkinkan suatu komponen dapat digunakan pada bagian lain (p.191). Beberapa pola umum yang ada dalam component architecture : 1. Layered architecture. Bentuk yang paling umum dalam software, yaitu terdiri dari beberapa komponen yang dibentuk menjadi beberapa lapisan-lapisan yang mirip dengan prinsip OSI layer pada model jaringan, dimana lapisan
45 yang berada diatas bergantung pada lapisan yang berada dibawahnya, begitu juga dengan sebaliknya. 2. A generic architecture. Model ini dibuat berdasarkan model function interface framework. Digunakan untuk merinci sistem dasar yang terdiri dari interface, function dan model component. Komponen model terletak pada lapisan paling bawah, dan diikuti dengan function sistem dan interface pada bagian atasnya. 3. Client-server architecture. Komponen adalah server dan beberapa dari client, server memberikan kumpulan operasi, database dan resouce pada client, client menggunakan server secara independent dengan menyediakan local interface untuk setiap penggunanya. Bentuk distibusi dari bagian sistem harus diputuskan antara client dan server.
Berikut ini adalah beberapa jenis distribusi dalam arsitektur client-server dimana U adalah user interface, F adalah function, M adalah model.
46 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
Tabel 2.6 Client-server architecture (Mathiassen (2000, p.200))
Hasil dari suatu componet architecture adalah suatu component diagram yang menunjukan hubungan antara komponen (dalam hal ini adalah beberapa client dan server).
II.2.9.3.5.3 Process Architecture Mathiassen (2000) mendefinisikan, “Process architecture adalah struktur eksekusi sistem yang terdiri dari proses yang saling bergantungan (interdependent). Processor adalah suatu alat yang digunakan untuk mengeksekusi atau menjalankan suatu sistem. Sedangkan external device adalah processor khusus yang tidak dapat menjalankan program” (p.209). Kegiatan arsitektur proses bermula dari komponen logik yang dihasilkan oleh kegiatan komponen dan bertujuan untuk menentukan struktur fisik dari sebuah sistem dengan mendistribusikan komponen program ke processor yang akan digunakan untuk eksekusi sistem, aktif objek digunakan untuk mengkoordinasikan pembagian sumber
47 daya dan menghasilkan arsitektur yang tidak memiliki hambatan (bottlenecks), hasil dari proses architecture adalah deployment diagram. Mathiassen (2000) menyatakan, “Sumber daya yang biasanya digunakan secara bersamaan (shared resouce) adalah : 1. Processor. Penggunaan processor secara bersamaan terjadi apabila dua atau lebih proses dieksekusi secara bersamaan pada satu processor. 2. Program component. Program component digunakan secara bersamaan bila terdapat dua atau lebih proses yang secara bersamaan memanggil operasi pada komponen. 3. External device. External device digunakan secara bersamaan pada saat terjadi pemrosesan dua atau lebih pada suatu peralatan. Contohnya, pada penggunaan printer yang terhubung melalui jaringan.” (p.220-222).
II.2.10 Delapan Diagram dalam Analisis dan Perancangan Berorientasi Object II.2.10.1 Rich Picture Rich Picture berisi sebuah pandangan menyeluruh dari people object, process, structure, dan problem dalam system problem dan application domain. People dapat berupa system developer, user, pelanggan, atau pemain lain. Object dapat berupa banyak benda seperti mesin, dokumen, lokasi, departemen, dan yang lainnya. Process menguraikan aspek dari sebuah situasi yang berubah, tidak stabil, atau di bawah pengembangan. Secara grafik, process dugambarkan dengan simbol anak panah. Structure menguraikan aspek dari sebuah situasi yang terlihat stabil atau sulit untuk diubah. Secara grafik, structure diuraikan dalam satu dua cara, yaitu : menggambarkan garis antara
48 elemen-elemen atau menempatkan elemen-elemen yang berhubungan dalam sebuah figur umum seperti segiempat atau lingkaran. memberikan form pengajuan kredit (FPK) yang telah terisi beserta barang yang dianggunkan
Rich Picture
Masalah terjadi jika nasabah tidak setuju dengan jumlah kerdit yang diberikan
memberikan informasi mengenai kredit yang dapat diberikan berdasarkan nilai barang jaminan
Penaksir
Nasabah melakukan negosiasi bila harga pelanggan tidak setuju dengan niali yang diberikan
menyerahkan uang dan SBK asli
menyerahkan SBK dan barang jaminan yang kreditnya tidak disetujui oleh nasabah
Mengalami masalah jika penaksir melakukan salah taksir kredit terhadap barang jaminan
menyerahkan surat bukti kredit (SBK)
membayar uang pelunasan menyerahkan SBK untuk pembayaran oleh nasabah menyerahkan SBK
Masalah terjadi pada perbedaan perhitungan dengan nasabah terhadap jumlah sewa modal yang dikenakan
Kasi r Kuasa Pemutus Kredit (Manajer Cabang) menyerahkan SBK dan memberitahukan masalah perhitungan yang tidak sesuai
Masalah terkadang terjadi jika saat pengambilan barang hilang atau rusak
mengembalikan SBK dan memberikan informasi mengenai jumlah perhitungan yang benar
Staf Pelunasan
menyerahkan SBK untuk mengambil barang jaminan menyerahkan kembali SBK yang sudah dicocokkan dengan barang jaminan
Penyimpan menyerahkan barang jaminan sesuai dengan pemiliknya
Barang jaminan
melakukan pengecekan sesuai dengan SBK melakukan pendataan barang yang tidak dilunasi
barang jaminan yang tidak dilunasi
info barang yang diminta
meminta informasi mengenai barang yang tidak dilunasi
Masalah terjadi jika peserta lelang mengajukan harga lelang yang dinilai masih dibawah harga yang ditentukan
Barang lelang melakukan pengecekan ulang menyelenggarakan lelang dan negosiasi harga lelang menyerahkan uang sesuai dengan harga yang disetujui
Panitia Lelang
Peserta lelang
Gambar 2.8 Rich Picture
II.2.10.2 Class Diagram Class diagram berisi kumpulan dari class dan hubungan strukturalnya yang saling timbal balik. Class adalah uraian dari kumpulan object yang saling berbagi structure, behavior pattern, dan attribute.
49 Transaksi Karyawan
Cabang
-KdKaryawan -Golongan -Nama -Alamat -No.Telp
-KdCabang -NamaCabang -Lokasi +Menghasilkan_laporan() +Membagi_data()
1..*
1..*
-Nama_karyawan -Shift_karyawan -KdKaryawan +Pembelian() +Pengisian_ulang_CR_Card() +Pembayaran_pengisian_CG_Card() +Pembuatan_laporan_ke_manajer_cabang() +Pembuatan_laporan_ke_pusat() +Penukaran_hadiah()
0..* Kasir Manajer_Cabang
Petugas_Operasional
-Cabang -Divisi +Membuat_laporan_ke_pusat()
-Shift -Spesialisasi +Memasukkan_lembaran_voucher_baru() +Mencatat_stock_voucher() +Membuat_lap_berkala() +Mengecek_stock_voucher()
-Shift +Mencatat_pembelian_CG_Card() +Mengisi_ulang_voucher() +Menerima_pembayaran() +Membuat_laporan_berkala()
1
1
1..* Pengunjung
CG Card
Voucher -Jenis -Jumlah +Ditambah() +Dibeli() +Dicatat_stocknya() +Dimasukkan_dalam_mesin()
0..*
1
-KdKartu -Jenis -Nilai +Diaktifkan_di_mesin_game() +Diisi_ulang() +Dibeli_pengunjung()
1
1
-KdKartu -Nama -Alamat -No.Telp -Jenis_kelamin +Membeli_CG_Card() +Menukarkan_voucher() +Mengisi_ulang_CG_Car() +Mengajukan_keluhan() +Menggesek_kartu() +Dicatat_data_pembelian() +Melakukan_pembayaran() +Dicatat_data_pengisian_ulang()
1..* 1..*
1..*
1..* Hadiah
Silver_Card
Gold_Card
-Harga -Nilai_nominal +Tidak_dapat_diisi_ulang()
-Harga -Nilai_nominal +Diisi_ulang()
-KdHadiah -Jenis +Ditukar() +Ditambah_stocknya()
Platinum_Card -Harga -Nilai_nominal -User_id +Diisi_ulang() +Diganti_kartunya() +Dilakukan_pencatatan_user_id()
Gambar 2.9 Class Diagram
II.2.10.3 Statechart Diagram Statechart diagram berisi behavioral pattern yang sah untuk semua object dalam sebah class, diuraikan oleh state dan event yang berpartisipasi. Statechart diagram dapat juga menguraikan use case, yang transitionnya menyimbolkan action. Card / Diaktifkan_di_mesin_game
/ Dibeli
/ End Active
/ Diisi_ulang
Gambar 2.10 Statechart Diagram
50 II.2.10.4 Use-case Diagram Use case adalah sebuah model untuk interaksi antara sistem dan actor dalam application domain. Use case diagram berisi actor eksternal dalam sebuah system context, use case dimana sistem mendukung, dan hubungan strukturalnya saling timbal balik. Setiap use case menetukan berapa urutan yang penting dalam interaksi antara actor dan system, yang diuraikan secara rinci menggunakan use case specification atau statechart diagram. Sistem Informasi CG Zone
Mencatat_pembelian _CG_Card
Kasir.
Mencatat_pengisian _ulang_CG_Card
Mencatat_stock_vou cher
Petugas operasional
Membuat_laporan_ke _pusat
Manajer cabang
Gambar 2.11 Use Case Diagram
II.2.10.5 Sequence Diagram Sequence diagram berisi interaksi dari waktu ke waktu antara kumpulan object. Sequence diagram dapat menggambarkan perincian tentang sebuah situasi dinamis, kompleks yang melibatkan beberapa dari banyak object yang dihasilkan dari class dalam class diagram.
51 Dalam sequence diagram, poros horizotal menunjukkan object yang berpartisipasi dan poros vertikal menggambarkan urutan waktu, dimana interaksi yang diekspresikan oleh pesan yang dikirim antara object.
Mencatat pembelian Cg Card
Object1 : Kasir.
Object2 : Pengunjung
Object3 : CG Card
Dibeli_pengunjung() Melakukan_pembayaran() Dicatat_data_pembelian()
Gambar 2.12 Sequence Diagram
II.2.10.6 Navigation Diagram Navigation diagram berisi semua window user interface, dan hubungan dinamisnya. Navigation diagram adalah sebuah statechart diagram khusus yang memfokuskan pada keseluruhan user interface yang dinamis. Sebuah window digambarkan sebagai sebuah state. State tersebut memiliki nama dan mengamdung icon (sebuah miniatur window).
52 II.2.10.7 Component Diagram Component adalah sekumpulan dari bagian program yang mewakili keseluruhan dan memiliki tanggung jawab yang dirumuskan dengan baik. Componen architecture adalah sebuah structure sistem yang disusun dari komponen yang saling berhubungan. Distributed Functionality
Subsystem A
Subsystem B
Kasir Customer Service
function Function
Server Function.
Model
Gambar 2.13 Component Diagram
II.2.10.8 Deployment Diagram Deployment diagram berisi komponen sistem program, external device, dan hubungan struktural timbal baliknya. Deployment diagram menguraikan sebuah konfigurasi sistem dalam bentuk processor dan object yang dihubungkan ke processor.
53 Distributed Functionaliy
: Client
: Client2
User Interface
Sistem Interface
User Interface2
Sistem Interface2
Function
Function2
Model
Model2
: Server
System Interface
Gambar 2.14 Deployment Diagram
II.2.11 Konsep Dasar Object Oriented dan Metode Tradisional Mengacu pada pendapat Mathiassen (2000), dalam metode analisis dan perancangan tradisional, fungsi, data dan aliran data adalah kunci dari konsepnya. Konsep ini cocok untuk mendeskripsikan kejadian di kantor dan sistem komputerisasi. Di lain pihak, objek, keadaan (state) dan tingkah laku (behavior), merupakan konsep yang lebih umum dan cocok untuk mendeskripsikan kejadian yang dapat diungkapkan dengan bahasa yang alamiah (natural). Objek serupa dengan kata benda (noun), merancang sesuatu sebagai orang atau inventaris. Atribut atau state objek, seperti kata sifat (adjectives), karakteristik dari sifat/ciri objek. Tingkah laku objek (behavior), seperti kata kerja (verbs), menggambarkan aksi atau pengaruh dari tindakannya. Dasar kekuatan metode object oriented adalah menyediakan informasi yang jelas mengenai konteks/keadaan sistem. Metode tradisional sangat efektif di awal sistem
54 dirancang, yang biasanya bertujuan untuk mengotomatisasi proses pekerjaan informasi yang sering terjadi. Tetapi kini banyak sistem yang harus dikembangkan, dengan sistem baru dapat mendukung individu atau perorangan dalam memecahkan masalah, berkomunikasi, dan koordinasi. Fungsi akan sistem baru ini tidak hanya menangani sejumlah besar data yang sama, tapi juga untuk membagikan data khusus ke seluruh organisasi. Satu lagi kekuatan metode object oriented adalah hubungannya yang dekat diantara analisis object oriented, perancangan object oriented, antar muka (user interface) object oriented dan pemograman object oriented. Dalam tahap analisis, programmer menggunakan objek untuk menentukkan kebutuhan sistem. Objek menyediakan hubungan bahan/materi (material) di dalam struktur (structure) sistem. Objek menawarkan programmer cara pemikiran yang alamiah (natural) mengenai masalah yang mendukung abstraksi.
II.2.11.1 Kaitan Analisis dan Perancangan dengan Orientasi Objek Mengacu pada pendapat Larman (1998), Untuk merancang suatu aplikasi piranti lunak, pada tahap awal diperlukan deskripsi dari permasalahan dan spesifikasi aplikasi yang dibutuhkan. Apa saja persoalan yang ada dan apa yang harus dilakukan oleh sistem. Analisis menekankan pada proses investigasi atas permasalahan yang dihadapi tanpa memikirkan definisi solusinya terlebih dahulu. Jadi dalam tahap analisis, dikumpulkan informasi mengenai permasalahan, spesifikasi sistem berjalan serta spesifikasi sistem yang diinginkan.
55 Untuk merancang aplikasi membutuhkan solusi logika level tinggi dan detail, bagaimana memenuhi spesifikasi yang dibutuhkan dengan batasan yang ada. Inti dari analisis dan perancangan berorientasi objek adalah untuk menekankan pertimbangan atas domain permasalahan beserta solusinya dari sudut pandang objek (benda, konsep ataupun entitas). Tahap analsis berorientasi objek, lebih ditekankan untuk mencari dan mendefinisikan objek atau konsep yang ada dalam domain atau wilayah lingkup permasalahan. Dalam tahapan perancangan berbasiskan objek, penekanan terletak pada bagaimana mendifinisikan objek-objek logika dalam aplikasi (objek software) yang akan diimplementasikan kedalam bahasa pemograman berorientasi objek. Object software tersebut juga memiliki attribute-attribute dan method-method.
II.2.11.2 Penerapan Object Oriented dalam Programming Mengacu pendapat Larman (1998), bagian perancangan atau desain dilanjutkan dengan
tahapan
construction
atau
object
oriented
programming,
yakni
mengimplementasikan perancangan komponen ke dalam bahasa pemograman. (p.6) Dengan demikian dapat disimpulkan penggunaan konsep berorientasi objek dapat diaplikasikan ke berbagai bidang termasuk analisis dan perancangan sistem. Dalam perancangan aplikasi juga dapat diimplementasikan konsep berorientasi objek yang sering disebut sebagai pemograman yang menggunakan berorientasi objek (object oriented programming/OOP). Jadi OOP adalah cara pemograman yang menggunakan konsep object oriented dan bahasa pemograman yang disebut bahasa OOP adalah bahasa pemograman yang mendukung implementasi konsep object oriented.
56 II.2.12
Sistem Basis Data (Database)
II.2.12.1 Definisi Database Menurut Robert A. Szymanski, Donald P. Szymanski, Donna M. Pulschen (1995) database adalah kumpulan dari data yang berhubungan dan mempunyai referensi silang yang menciptakan perulangan yang minimal serta dapat untuk memanipulasi data. (p.374).Data dalam database disimpan dalam satu dari 3 tipe struktur data yaitu file, tabel, dan objek. Keuntungan database adalah : •
Database dapat mengurangi redundansi data.
•
Database meningkatkan integritas data.
•
Database menjaga independensi data.
•
Database meningkatkan keamanan data.
•
Database menjaga konsistensi data.
•
Database dapat menyediakan manipulasi data yang baik.
•
Dengan database data lebih mudah untuk diakses dan digunakan.
Sistem database adalah tidak lebih dari sistem komputerisasi penyimpanan record-record. Database sendiri dapat diumpamakan sebagai lemari penyimpanan elektronik, dengan kata lain adalah tempat penyimpanan kumpulan dari file data terkomputerisasi. Pengguna dari sistem akan diberikan fasilitas untuk melakukan berbagai aksi pada file termasuk : •
Menambah file baru yang kosong ke database.
•
Menyisipkan data baru ke file yang sudah ada.
•
Memperoleh kembali data dari file yang sudah ada.
•
Meng-update data di file yang sudah ada.
57 •
Menghapus data dari file yang sudah ada.
•
Memindah file yang ada dari database.
Jadi sistem database pada dasarnya adalah sistem komputerisasi penyimpanan record-record, dimana merupakan sistem komputerisasi yang tujuan utamanya adalah menjaga informasi dan untuk membuat informasi tersedia jika dibutuhkan. Menurut C.J.Date (1995, p112), relational databases adalah database yang dilihat oleh pengguna tidak lain hanya sebagai kumpulan tabel-tabel.
II.2.12.2 Sistem Manajemen Database Menurut Robert A. Szymanski, Donald P. Szymanski, Donna M. Pulschen (1995), sistem manajemen database (database management system/DBMS) adalah perangkat lunak yang mengatur ciptaan, penyimpanan, jalan masuk (access), memperbaharui, menghapus dan penggunaan basisdata. Sebuah DBMS dapat akses dan mengatur lebih dari satu file, table atau objek di dalam waktu yang bersamaan, berhubungan seluruhnya jika dibutuhkan. (p.376). Menurut Mcleod yang diterjemahkan oleh Hendra Teguh (2001), perangkat lunak yang mengelola database adalah sistem manajemen database (database management system-DBMS). Semua DBMS memiliki pengolah bahasa deskripsi data (data description language processor) yang digunakan untuk menciptakan database, serta pengelola database yang menyediakan isi database bagi pemakai. Pemakai menggunakan manipulasi data dan query language. Orang yang bertanggungjawab atas database dan DBMS adalah pengelola database (database administrator), atau disingkat DBA. (p.250).
58 DBMS menyediakan keuntungan yang nyata bagi perusahaan yang menggunakan komputer sebagai suatu sistem informasi.
II.3 Sistem Proses Pesanan Penjualan Menurut Hall (2001), Logika aktivitas yang menggambarkan sistem proses pesanan penjualan, adalah sebagai berikut : 1.
Proses penjualan dimulai dari pelanggan menghubungi departemen penjualan.
2.
Langkah pertama dari proses penjualan adalah melakukan pengesahan transaksi dengan melalui proses persetujuan kredit untuk pelanggan.
3.
Saat kredit tersebut sudah disetujui, informasi penjualan akan diteruskan ke departemen penagihan, pergudangan dan pengiriman.
4.
Langkah selanjutnya adalah mengirimkan barang dagangan, yang harus dilakukan segera setelah persetujuan kredit diperoleh.
5.
Proses penagihan akan mengumpulkan dokumen-dokumen yang relevan dengan transaksi tersebut (produk, harga, biaya pengurusan, angkutan, pajak dan syarat-syarat potongan harga) dan menagihnya ke pelanggan.
6.
Bagian piutang menerima informasi penagihan dan mencatatnya ke dalam catatan/laporan pelanggan.
7.
Demikian juga, bagian pengendalian persediaan menggunakan informasi dari berbagai
penagihan
untuk
menyesuaikan
data
persediaan
untuk
menggambarkan penurunan persediaan. 8.
Secara berkala (setiap batch, harian, mingguan, bulanan dan seterusnya) proses penagihan piutang, dan pengendalian persediaan melakukan perhitungan rekapitulasi dan meneruskan informasi ini ke proses buku besar umum.