ANALISIS DAN PERANCANGAN SISTEM INFORMASI AKUNTANSI PEMBELIAN, PERSEDIAAN, DAN UTANG DAGANG PADA PT. KIMIA FARMA TRADING & DISTRIBUTION Meta Fitriani, Henny Hendarti, dan Indrajani Jurusan Sistem Informasi & Akuntansi, Fakultas Sistem Informasi & Ekonomi dan Komunikasi, Universitas Bina Nusantara Jalan KH. Syahdan No. 9, Palmerah, Jakarta Barat 1140
[email protected]
ABSTRAK PT. Kimia Farma Trading & Distribution adalah perusahaan farmasi yang bergerak dalam bidang perdagangan dan distribusi. Masalah yang terkait dengan siklus pembelian, persediaan, dan utang dagang pada PT. Kimia Farma Trading & Distribution adalah sering terjadi penumpukan barang pesediaan, sering tidak mendapatkan diskon pembayaran utang, terjadinya selisih persediaan pada pencatatan dengan bukti fisik, sering melewatkan kesempatan mendapatkan penawaran harga terbaik, dan pengendalian internal yang kurang baik. Metode yang digunakan dalam penelitian adalah metode pengumpulan data dengan melakukan studi literatur dan penelitian lapangan seperti observasi, wawancara, dokumentasi, dan prosedur analitis. Selain itu, metode yang digunakan dalam analisis dan perancangan sistem informasi akutansi dilakukan dengan pendekatan Object Oriented Analysis and Design dengan menggunakan notasi Unified Modelling Language. Adanya sistem informasi akuntansi pembelian, persediaan, dan utang dagang diharapkan dapat membantu perusahaan dalam melaksanakan segala aktivitas proses bisnis yang berhubungan dengan pembelian, persediaan, dan utang dagang serta dapat mengatasi masalah yang dihadapi perusahaan. Selain itu juga dapat memberikan laporan-laporan yang dibutuhkan oleh pihak manajemen sehingga dapat menghasilkan pengambilan keputusan yang tepat. Kata Kunci : Analisis, perancangan, sistem informasi akutansi, pembelian, persediaan, utang dagang
ABSTRACT PT. Kimia Farma Trading & Distribution is a pharmaceutical company engaged in the trading and distribution. Problems associated with the cycle of purchasing, inventory, and accounts payable at PT. Kimia Farma Trading & Distribution are the accumulation of inventory stocks, hard to get a discount from the debt payment, the difference in inventory record with the physical evidence, missed the opportunity to get the best price quote, and poor internal controls. Methods used in this research are collecting data by conducting a literature study and field research such as observation, interviews, documentation, and analytical procedures. In addition, methods used in the analysis and design of accounting information systems done with object oriented analysis and design using the unified modeling language notation. The existence of an accounting information system of purchasing, inventory, and accounts payable are expected to help the company in carrying out all the activities of business processes related to it as well as to solve the problems faced by the company. In addition, it can also provide reports required by management so that they can produce the right decision. Keywords: Analysis, design, accounting information system, purchasing, inventory, account payable
PENDAHULUAN Sistem informasi telah berkembang menjadi sebuah alat bagi organisasi untuk mendukung bisnis dan menyediakan sumber daya yang kuat untuk keunggulan kompetitif perusahaan. Beberapa informasi yang berperan penting diantaranya adalah sistem informasi akuntansi pembelian, persediaan, dan utang dagang. PT. Kimia Farma Trading & Distribution adalah perusahaan farmasi yang bergerak dalam bidang perdagangan dan distribusi. Meskipun sudah memiliki sistem, akan tetapi perusahaan masih menemui beberapa masalah. Pada persediaan, sering terjadi perbedaan jumlah fisik barang yang ada di gudang dengan jumlah persediaan yang ada didalam catatan administrasi serta penumpukan barang yang sudah melewati tanggal kadaluwarsa karena ketidak sesuaian pencatatan dan penempatan barang digudang dengan nomor batch dan tanggal kadaluwarsanya. Pada pembelian, perusahaan sering melewatkan kesempatan dalam mendapatkan penawaran harga terbaik karena perusahaan tidak memiliki prosedur dan dokumen formal dalam pemilihan supplier sehingga harga dan mutu yang didapatkan kurang maksimal dan berpotensi terjadinya kecurangan. Selain itu, perusahaan sering terlambat dalam membayarkan utangnya kepada supplier sehingga perusahaan jarang mendapatkan diskon untuk pembayaran utang. Tujuan yang ingin dicapai dalam penelitian adalah merancang sistem informasi akuntansi pembelian, persediaan dan utang dagang yang sesuai dengan kebutuhan perusahaan dan dapat memberikan solusi yang tepat atas masalah yang dihadapi perusahaan.
METODE PENELITIAN Metode penelitian yang digunakan adalah studi kepustakaan yang dilaksanakan dengan cara mengumpulkan data-data dan informasi dari buku-buku, artikel-artikel di Internet ataupun media cetak lainnya serta teori-teori dari para ahli yang relevan dengan permasalahan yang ditemukan di lapangan. Selain itu, pengumpulan data dilakukan dengan cara observasi, wawancara, menelusuri bukti-bukti dokumentasi, serta menganalisis prosedur yang dijalankan oleh perusahaan. Metode analisis dan perancangan dilakukan dengan pendekatan Object Oriented Analysis and Design (OOAD) oleh Satzinger, yaitu mengacu pada modeling and requirement discipline, dengan pembuatan activity diagram, event table, use case diagram, use case description, domain class diagram, dan system sequence diagram serta design discipline dengan pembuatan first-cut diagram, sequence data access, updated class diagram, package diagram, dan user interface.
HASIL DAN BAHASAN Pada pembahasan berikut ini akan dijelaskan beberapa metode analisis yang digunakan untuk memperoleh hasil yang diharapkan. Oleh karena itu maka akan dilakukan analisis terhadap sistem yang berjalan pada perusahaan, membuat prosedur baru yang diusulkan dan melakukan perancangan sistem. Penjelasan mengenai hal tersebut dapat dilihat pada sub-sub bab sebagai berikut ini.
Analisis Sistem Berjalan Sistem berjalan pada perusahaan akan digambarkan dalam rich picture berikut ini:
Gambar 1 Rich Picture Sistem Berjalan PT. Kimia Farma Trading & Distribution
Setelah melakukan survey, wawancara dan evaluasi terhadap proses bisnis perusahaan, prosedurprosedur berjalan dan struktur organisasi, maka dapat disimpulkan ada beberapa permasalahan yang teridentifikasi pada sistem yang sedang berjalan. Temuan permasalahan tersebut yaitu: 1. Perusahaan sering melewatkan kesempatan untuk mendapatkan penawaran harga terbaik dari pemasok. 2. Tidak ada pemisahan tugas antara bagian pembelian dan penerimaan barang. 3. Adanya penumpukan barang persediaan di gudang sehingga menyebabkan biaya penyimpanan meningkat. 4. Adanya selisih antara jumlah barang di catatan dan jumlah fisik barang di gudang serta penumpukan barang kadaluwarsa. 5. Perusahaan jarang mendapatkan diskon pembayaran utang dan telat dalam melakukan pembayaran. 6. Pengendalian yang kurang baik pada proses pembayaran utang cabang ke pusat.
Struktur Organisasi yang Diusulkan Berdasarkan permasalahan yang ditemukan pada sistem yang sedang berjalan, maka akan dirancang suatu struktur organisasi baru dengan menambahkan bagian baru, yaitu operator pengadaan yang berada dibawah manajer logistik dalam tigkat kantor pusat dan berada dibawah supervisor logistik dalam tingkat kantor cabang:
Gambar 2 Struktur Organisasi yang Diusulkan Pada PT. Kimia Farma Trading & Distribution
Tanggung Jawab dan Wewenang yang Diusulkan Berdasarkan struktur organisasi PT. Kimia Farma Trading & Distribution yang diusulkan terdapat bagian baru, yaitu operator penerimaan. Berikut adalah tanggung jawab dan wewenang yang dimiliki oleh operator penerimaan: Tanggung jawab operator penerimaan adalah;
1.
Mengelola dan mengawasi kegiatan penerimaan barang, baik produk dari PT. Kimia Farma ataupun pemasok. 2. Memastikan bahwa barang yang diterima sesuai dengan barang yang telah diesan sebelumnya. 3. Membuat Invoice Penerimaan dan Laporan Penerimaan Barang. 4. Memberikan informasi data penerimaan untuk keperluan bagi bagian lain. Wewenang operator penerimaan adalah menetapkan standarisasi sistem penerimaan barang.
Analisis dan Perancangan Sistem yang Diusulkan Rancangan sistem informasi Akuntansi pembelian, persediaan, dan utang dagang yang diusulkan untuk mengatasi permasalahan yang terjadi pada PT. Kimia Farma Trading & Distribution adalah sebagai berikut:
Gambar 3 Rich Picture Sistem Informasi Akuntansi Pembelian, Persediaan, dan Utang Dagang yang Diusulkan Pada PT. Kimia Farma Trading & Distribution
Tabel 1 Event Table Rancangan Sistem Informasi Akuntansi Pembelian, Persediaan, dan Utang Dagang yang Diusulkan Pada PT. Kimia Farma Trading & Distribution No. Event Trigger Source Use Case Response Destination 1.
Operator pengadaan membuat purchase requisition
Adanya permintaan pembelian dan persediaan telah mencapai titik ROP
Operator Pengadaan
Membuat Purchase Requisition
Purchase Requsition
Supervisor logistik
2.
Operator pengadaan membuat surat permintaan penawaran harga
Adanya daftar kebutuhan
Operator pengadaan
Membuat surat permintaan penawaran harga
Surat Permintaan Penawaran Harga
Kepala cabang
3.
Kepala cabang memvalidasi surat permintaan penawaran harga
Operator menyerahkan daftar kebutuhan dan print out surat permintaan penawaran harga
Kepala cabang
Memvalidas i surat permintaan penawaran harga
Surat permintaan harga yang telah divalidasi
Operator pengadaan dan pemasok
4.
Operator pengadaan melakukan pemesanan
Pemasok membalas surat permintaan penawaran harga
Operator pengadaan
Melakukan pemesanan
Purchase Order
Pemasok, kepala cabang, dan supervisor logistik
5.
Operator penerimaan menerima barang
Pemasok mengirimkan barang pesanan
Operator penerimaan
Menerima barang
Surat Terima Barang
Kepala gudang, Operator gudang, dan petugas gudang
6.
Operator gudang membuat laporan penerimaan barang
Adanya surat terima barang
Operator penerimaan
Membuat laporan penerimaan barang
Laporan penerimaan barang
Kepala gudang
7.
Kepala gudang memvalidasi laporan penerimaan barang
Laporan penerimaan barang telah selesai dibuat
Kepala gudang
Memvalidas i laporan penerimaan barang
Laporan penerimaan barang yang telah di validasi
Kepala tata usaha
8.
Supervisor logistik melakukan retur pembelian
Adanya barang yang ingin diretur
Supervisor logistik
Melakukan retur pembelian
Dokumen Retur Pembelian
Kepala cabang dan petugas logistik pusat
9.
Administrasi
Harian,
Administrasi
Mengadakan
Form Stock
Administrasi
gudang mengadakan stock opname
Triwulanan, Tahunan
gudang
stock opname
Opname Barang
gudang
10.
Administrasi gudang membuat laporan stock opname
Pelaksanaan stock opname telah selesai
Administrasi gudang
Membuat laporan stock opname
Laporan stock opname
Kepala gudang
11.
Supervisor tata usaha membuat invoice pembelian
Pemasok mengirimkan tagihan pembelian
Supervisor tata usaha
Membuat invoice pembelian
Invoice pembelian
Kepala cabang
12.
Kepala cabang memvalidasi invoice pembelian
Invoice pembelian telah dibuat
Kepala cabang
Memvalidas i invoice pembelian
Invoice pembelian yang telah divalidasi
Supervisor tata usaha
13.
Supervisor tata usaha membuat voucher bank keluar
Adanya invoice pembelian yang akan jatuh tempo
Supervisor tata usaha
Membuat voucher bank keluar
Voucher bank keluar
Kepala cabang
14.
Kepala cabang memvalidasi voucher bank keluar
Voucher bank keluar telah dibuat
Kepala cabang
Memvalidas i voucher bank keluar
Voucher bank keluar yang telah divalidasi
Kasir
15.
Kasir membayar utang ke pemasok
Voucher bank keluar telah divalidasi
Kasir
Membayar utang ke pemasok
Bukti transfer
Kepala cabang
16.
Kasir membuat bukti bank keluar
Kasir telah melakukan transfer pembayaran
Kasir
Membuat bukti bank keluar
Bukti Bank Keluar (BBK)
Kepala cabang
17.
Kasir membuat laporan utang
Bulanan
Kasir
Membuat laporan utang
Laporan utang
Kepala Tata Usaha
uc Use Case Mo... Sistem Informasi Pembelian, Persediaan, dan Utang Dagang PT. Kimia Farma Trading & Distribution
membuat Purchase Requisition
Operator Pengadaan
memv alidasi Purchase Requisition
membuat Surat Permintaan Penaw aran Harga
Superv isor Logistik memv alidasi Surat Permintaan Penaw aran Harga
melakukan pemesanan Kepala Cabang
menerima barang membuat Laporan Penerimaan Barang
Operator Penerimaan
Operator Gudang memv alidasi Laporan Penerimaan Barang melakukan retur pembelian Kepala Gudang mengadakan stock opname
Administrasi Gudang
Membuat Laporan Stock Opname
Superv isor Logistik
membuat Inv oice Pembelian
Superv isor Tata Usaha
memv alidasi Inv oice Pembelian membuat Voucher Bank Keluar Kepala Cabang memv alidasi Voucher Bank Keluar membayar utang ke pemasok
Kasir membuat Bukti Bank Keluar
membuat Laporan Utang
Gambar 4 Usecase Diagram Satzinger et al. (2005:175) menjelaskan bahwa, “Use case adalah aktivitas yang dilakukan oleh sistem dalam merespon event yang terjadi. Actor diperankan oleh user dan berada diluar boundary.”
class Domain Class Diagram
Cabang
Karyaw an Bagian -
kode_bagian nama_bagian
1..* -
1
NIK kode_cabang kode_bagian kode_kelurahan nama_karyawan password alamat_karyawan no_telp no_hp
1 -
1..*
kode_cabang kode_gudang kode_kelurahan nama_cabang alamat_cabang no_telp no_fax
1..* Detil_Cabang 1..* -
1
kode_cabang kode_gudang 1..*
1..*
Operator_Pengadaan
Operator_Penerimaan
Kasir
Superv isor_Tata_Usaha
1 1..*
1
1
1
Administrasi_Gudang
Kepala_Gudang
1
1
1
1
Superv isor_Logistik
Kepala_Cabang
1
1
1
1
1
1
1..* 1..* 1..*
Purchase_Requisition -
no_pr kode_barang tgl_pr tgl_diperlukan approval pembuatan_spph keterangan NIK 1
1..*
1
1..* Bukti_Bank_Keluar
Inv oice_Pembelian Surat_Terima_Barang 1..* -
kode_spph no_pr kode_suppl ier NIK tgl_spph ket_pph 1..*
1
-
1..*
1..* -
1
1..*
no_inv_beli no_po NIK tgl_inv_beli tgl_jatuh_tempo approval jml_i nv_beli
Voucher_Bank_Keluar 1 1 -
no_vbk no_inv_beli kode_rekening NIK tgl_vbk approval jml _bayar terbilang
1..* 1 -
1
1
1
no_po kode_spph NIK tgl_po tipe_order tipe_bayar
1 1..*
1
Detil_Purchase_Order
1
no_po kode_barang qty_order ekstra_diskon jml_pembel ian jml_seluruh grandtotal
1..*
-
1
-
1
1 1
1
kode_suppli er kode_barang
-
Supplier -
kode_supplier kode_grup_suppl ier kode_kelurahan nama_supplier alamat_supplier no_tel p no_fax npwp no_si up contact_person email status
1..*
1
kode_barang kode_grup_barang kode_satuan_barang kode_kemasan kode_lini_barang kode_diskon nama_barang kode_barcode harga_beli harga_jual jumlah_stok rop 1..*
1..* -
1..*
1
Detil_Stock_Opname_Barang -
no_retur_beli kode_barang qty_retur_beli alasan_retur
1..*
1..*
1
1
Grup_Barang
Rekening 1..*
1..*
1..*
-
-
kode_rekening kode_bank kode_suppl ier kode_pel anggan no_rekening tipe
kode_grup_barang nama_grup_barang
Propinsi -
Kelurahan
1
1..* Bank Grup_Supplier 1 -
1 -
kode_diskon jumlah_diskon
-
kode_satuan_barang nama_satuan_barang
1 1 Lini_Barang -
1..*
-
kode_kemasan nama_kemasan
kode_kecamatan kode_kota nama_kecamatan
1
kode_propinsi nama_propinsi 1
1
1..*
1 Kota -
Kecamatan -
kode_kelurahan kode_kecamatan nama_kelurahan kodepos 1..*
kode_li ni_barang nama_li ni_barang
1 Kemasan_Barang
Satuan_Barang
Diskon -
kode_bank kode_kelurahan nama_bank al amat_bank
1
1
1..*
-
kode_grup_supplier nama_grup_supplier
kode_opname kode_barang no_batch qty_stock
1
1
1..*
1
Detil_Retur_Pembelian
1 1
1..*
no_retur_beli no_stb NIK tgl_retur_beli
1..*
1
1..*
1
Retur_Pembelian -
1..*
Detil_Supplier
1..*
1
kode_gudang kode_kelurahan nama_gudang alamat_gudang
Barang
1..*
1..*
Gudang
no_stb kode_barang no_batch tgl_kadaluarsa qty_teri ma keterangan kondi si jml _terima
1..*
kode_spph kode_barang qty_order jml_pembelian
kode_opname kode_gudang NIK tgl_opname
1..*
Detil_Surat_Permintaan_Penawaran_Harga -
-
Detil_Surat_Terima_Barang -
1
1..* -
Stock_Opname_Barang
no_bbk no_vbk NIK tgl_bbk no_bukti _transfer tgl_transfer approval jml _transfer terbilang2
1..*
1..*
Purchase_Order
no_pr kode_barang qty
no_stb no_po kode_gudang NIK tgl _stb approval 1
1 1
1..* Detil_Purchase_Requisition -
1..*
1..*
1..*
Surat_Permintaan_Penaw aran_Harga -
1..*
1
kode_kota kode_propinsi nama_kota 1
1..*
Gambar 5 Domain Class Diagram Satzinger et al. (2005:185) menjelaskan bahwa, “class diagram adalah diagram yang digunakan untuk menentukan problem domain classes. Pada class diagram, kotak segi empat menggambarkan class dan garis yang menghubungkan antar class menunjukkan asosiasi antar class.”
class First-Cut Class Diagram
Karyawan Bagian -
Operator_Pengadaan
-
kode_bagi an: char nama_bagi an: varchar
Operator_Penerimaan
Cabang
NIK: char kode_cabang: char kode_bagian: char kode_kel urahan: char nama_karyawan: nvarchar password: char alamat_karyawan: nvarchar no_telp: varchar no_hp: varchar
Kasir
Superv isor_Tata_Usaha
-
kode_cabang: char kode_gudang: char kode_kel urahan: char nama_cabang: nvarchar alamat_cabang: nvarchar no_telp: varchar no_fax: varchar
Detil_Cabang -
Superv isor_Logistik
Kepala_Cabang
kode_cabang: char kode_gudang: char
Administrasi_Gudang
Kepala_Gudang
Bukti_Bank_Keluar Surat_Terima_Barang
Surat_Permintaan_Penaw aran_Harga -
-
kode_spph: char no_pr: char kode_suppl ier: char NIK: char tgl _spph: date
-
no_stb: char no_po: char kode_gudang: char NIK: char tgl_stb: date approval: bool ean
Inv oice_Pembelian
Voucher_Bank_Keluar
no_inv_beli: char no_po: char NIK: char tgl_inv_beli: date tgl_jatuh_tempo: date approval: bool ean jml_inv_beli : deci mal
-
-
no_vbk: char no_i nv_bel i: char kode_rekening: char NIK: char tgl_vbk: date approval: boolean jml_bayar: decimal terbi lang: varchar
Stock_Opname_Barang
no_bbk: char no_vbk: char NIK: char tgl_bbk: date no_bukti _transfer: nvarchar tgl_transfer: date approval: boolean jml_transfer: decimal terbilang2: varchar
-
kode_opname: char kode_gudang: char NIK: char tgl_opname: date
Purchase_Requisition -
no_pr: char tgl_pr: date tgl_di perlukan: date keterangan: varchar aprroval: boolean pembuatan_spph: bool ean NIK: char
Detil_Surat_Terima_Barang Purchase_Order -
no_po: char kode_spph: char NIK: char tgl_po: date tipe_order: bool ean tipe_bayar: boolean
-
Detil_Purchase_Requisition -
-
Detil_Purchase_Order no_po: char kode_barang: char qty_order: i nt ekstra_diskon: deci mal jml_pembelian: decimal jml _sel uruh: decimal grandtotal: decimal
-
Retur_Pembelian
kode_gudang: char kode_kel urahan: char nama_gudang: nvarchar alamat_gudang: nvarchar
-
no_retur_bel i: char no_stb: char NIK: char tgl _retur_bel i: date
Detil_Stock_Opname_Barang
no_pr: char kode_barang: char qty: int
Detil_Retur_Pembelian -
Barang Detil_Surat_Permintaan_Penawaran_Harga -
-
kode_spph: char kode_barang: char ket_pph: nvarchar qty_order: int j ml_pembelian: decimal
Detil_Supplier -
kode_supplier: char kode_barang: char
kode_barang: char kode_grup_barang: char kode_satuan_barang: char kode_kemasan: char kode_lini_barang: char kode_diskon: char nama_barang: nvarchar kode_barcode: char harga_beli: decimal harga_jual: decimal juml ah_stok: int rop: int
Supplier -
Gudang
no_stb: char kode_barang: char no_batch: nvarchar tgl _kadal uarsa: date qty_terima: int keterangan: nvarchar kondisi: boolean jml_teri ma: int
kode_suppli er: char kode_grup_suppli er: char kode_kelurahan: char nama_suppli er: nvarchar alamat_supplier: nvarchar no_telp: varchar no_fax: varchar npwp: i nt no_si up: i nt contact_person: nvarchar email : nvarchar status: bool ean
kode_rekening: char kode_bank: char kode_supplier: char kode_pel anggan: char no_rekening: varchar tipe: bool ean
-
kode_grup_supplier: char nama_grup_supplier: nvarchar
-
kode_bank: char kode_kel urahan: char nama_bank: varchar alamat_bank: nvarchar
Lini_Barang -
-
kode_opname: char kode_barang: char no_batch: nvarchar qty_stock: int
-
kode_propi nsi: char nama_propi nsi: varchar
Grup_Barang
Rekening -
Bank Grup_Supplier
no_retur_beli: char kode_barang: char qty_retur_beli: int alasan_retur: nvarhar
-
kode_grup_barang: char nama_grup_barang: nvarchar
Propinsi
Kelurahan -
kode_kelurahan: char kode_kecamatan: char nama_kelurahan: varchar kodepos: char
kode_li ni_barang: char nama_li ni_barang: nvarchar Kota
kode_diskon: char juml ah_diskon: deci mal
-
kode_satuan_barang: char nama_satuan_barang: varchar
Kecamatan
Kemasan_Barang
Satuan_Barang
Diskon -
-
kode_kemasan: char nama_kemasan: varchar
-
-
kode_kota: char kode_propinsi nama_kota: varchar
kode_kecamatan: char kode_kota: char nama_kecamatan: varchar
Gambar 6 First-cut Class Diagram Satzinger et al. (2005:309) menjelaskan bahwa, “ First-cut design class diagram dikembangkan dengan memperluas domain class diagram. First-cut class diagram membutuhkan dua langkah: 1. Menguraikan atribut dengan tipe dan informasi nilai awal. 2. Menambahkan tanda panah navigasi.
class Updated Class Diagram
Karyaw an
Bagian
Inv oice_Pembelian_Handler + + + + + + + + + +
start_new_invoice_pembelian() add_data() select_no_po() select_tgl_jatuh_tempo() select_approval() save() update_data() delete() cancel() print()
Operator_Pengadaan
-
kode_bagian: char nama_bagian: varchar
+ + + + + +
add_bagian() init_bagian() get_bagian() update_bagian() save() delete()
Operator_Penerimaan
Cabang
-
NIK: char kode_cabang: char kode_bagian: char kode_kelurahan: char nama_karyawan: nvarchar password: char alamat_karyawan: nvarchar no_telp: varchar no_hp: varchar
+ + + + + +
add_karyawan() init_karyawan() get_karyawan() update_karyawan() save() delete()
kode_cabang: char kode_gudang: char kode_kelurahan: char nama_cabang: nvarchar alamat_cabang: nvarchar no_telp: varchar no_fax: varchar
+ + + + + +
add_cabang() init_cabang() get_cabang() update_cabang() save() delete()
Detil_Cabang
Superv isor_Logistik
Kepala_Cabang
Administrasi_Gudang
Kepala_Gudang
STB_Handler + + + + + + + + + + + + + + + + + +
start_new_STB() add_data() select_nama_gudang() select_no_po() scan_kode_barcode() select_tgl_kadaluarsa() select_kondisi() add_no_batch() add_qty_terima() add_keterangan() remove() select_approval() save() update_data() update_detil() delete() cancel() print()
-
kode_spph: char no_pr: char kode_supplier: char NIK: char tgl_spph: date ket_pph: nvarchar
+ + + + + +
create_SPPH() init_SPPH() get_SPPH() update_SPPH() save() delete()
-
no_stb: char no_po: char kode_gudang: char NIK: char tgl_stb: date approval: boolean
+ + + + + +
create_STB() init_STB() get_STB() update_STB() save() delete()
PO_Handler
+ + + + + + + + + + + + +
start_new_SPPH() add_data() select_nama_supplier() add_ket_pph() select_nama_barang() add_qty_order() remove() save() update_data() update_detil() delete() cancel() print()
-
no_po: char kode_spph: char NIK: char tgl_po: date tipe_order: boolean tipe_bayar: boolean
+ + + + +
init_PO() get_PO() update_PO() save() delete()
no_pr: char tgl_diperlukan: date keterangan: varchar approval: boolean pembuatan_spph: boolean NIK: char
+ + + + +
init_PR() get_PR() update_PR() save() delete()
Detil_Purchase_Requisition -
no_pr: char kode_barang: char qty: int
+ + + + + + +
create_detil_PR() update_detil_PR() add_detil_PR() remove_detil_PR() save() delete() print()
no_inv_beli: char no_po: char NIK: char tgl_inv_beli: date tgl_jatuh_tempo: date approval: boolean jml_inv_beli: decimal
-
no_vbk: char no_inv_beli: char kode_rekening: char NIK: char tgl_vbk: date approval: boolean jml_bayar: decimal terbilang: varchar
+ + + + + + +
create_invoice_pembelian() init_invoice_pembelian() get_invoice_pembelian() update_invoice_pembelian() save() delete() print()
+ + + + + + +
create_VBK() init_VBK() get_VBK() update_VBK() save() delete() print()
-
no_po: char kode_barang: char qty_order: int ekstra_diskon: decimal jml_pembelian: decimal jml_seluruh: decimal grandtotal: decimal
-
kode_spph: char kode_barang: char qty_order: int jml_pembelian: decimal
+ + + + + + +
create_detil_SPPH() update_detil_SPPH() add_detil_SPPH() remove_detil_SPPH() save() delete() print()
+ + + + + + +
create_detil_PO() add_detil_PO() update_detil_PO() remove_detil_PO() save() delete() print()
+ + + + + +
-
no_bbk: char no_vbk: char NIK: char tgl_bbk: date no_bukti_transfer: nvarchar tgl_transfer: date approval: boolean jml_transfer: decimal terbilang2: varchar
+ + + + + +
create_BBK() init_BBK() update_BBK() save() delete() print()
+ + + + + +
create_detil_cabang() add_detil_cabang() update_detil_cabang() remove_detil_cabang() save() delete()
+ + + + + + + + + + + +
start_new_VBK() add_data() select_no_inv_beli() select_nama_supplier() add_jml_bayar() add_terbilang() select_approval() save() update_data() delete() cancel() print()
+ + + + + + + + + + + + +
start_new_BBK() add_data() select_no_BK() select_tgl_transfer() add_no_bukti_transfer() add_jml_transfer() add_terbilang2() select_approval() save() update_data() delete() cancel() print()
kode_supplier: char kode_grup_supplier: char kode_kelurahan: char nama_supplier: nvarchar alamat_supplier: nvarchar no_telp: varchar no_fax: varchar npwp: int no_siup: int contact_person: nvarchar email: nvarchar status: boolean add_supplier() init_supplier() get_supplier() update_supplier() save() delete()
+ + + + + +
kode_supplier: char kode_barang: char create_detil_supplier() add_detil_supplier() update_detil_supplier() remove_detil_supplier() save() delete()
-
kode_barang: char kode_grup_barang: char kode_satuan_barang: char kode_kemasan: char kode_lini_barang: char kode_diskon: char nama_barang: nvarchar kode_barcode: char harga_beli: decimal harga_jual: decimal jumlah_stok: int rop: int
kode_diskon: char jumlah_diskon: decimal
+ + + + + +
add_diskon() init_diskon() get_diskon() update_diskon() save() delete()
no_stb: char kode_barang: char no_batch: nvarchar tgl_kadaluarsa: date qty_terima: int keterangan: nvarchar kondisi: boolean jml_terima: int
+ + + + + + +
create_detil_STB() add_detil_STB() update_detil_STB() remove_detil_STB() save() delete() print()
+ + + + + +
add_barang() init_barang() get_barang() update_barang() save() delete()
-
kode_gudang: char kode_kelurahan: char nama_gudang: nvarchar alamat_gudang: nvarchar
+ + + + + +
add_gudang() init_gudang() get_gudang() update_gudang() save() delete()
-
kode_bank: char kode_kelurahan: char nama_bank: varchar alamat_bank: nvarchar
+ + + + + +
add_bank() init_bank() get_bank() update_bank() save() delete()
-
kode_rekening: char kode_bank: char kode_supplier: char kode_pelanggan: char no_rekening: varchar tipe: boolean
+ + + + + +
add_rekening() init_rekening() get_rekening() update_rekening() save() delete()
kode_grup_supplier: char nama_grup_supplier: nvarchar
+ + + + + +
add_grup_supplier() init_grup_supplier() get_grup_supplier() update_grup_supplier() save() delete()
kode_satuan_barang: char nama_satuan_barang: varchar
+ + + + + +
add_satuan_barang() init_satuan_barang() get_satuan_barang() update_satuan_barang() save() delete()
create_stock_opname() init_stock_opname() update_stock_opname() save() delete()
Stock_Opname_Handler -
no_retur_beli: char no_stb: char NIK: char tgl_retur_beli: date
+ + + + +
create_retur_pembelian() init_retur_pembelian() update_retur_pembelian() save() delete()
+ + + + + + + + + + + + +
-
no_retur_beli: char kode_barang: char qty_retur_beli: int alasan_retur: nvacrhar
+ + + + + + +
create_detil_retur_pembelian() add_detil_retur_pembelian() update_detil_retur_pembelian() remove_detil_retur_pembelian() save() delete() print()
start_new_stock_opname() add_data() select_nama_gudang() select_nama_barang() add_no_batch() add_qty_stock() remove() save() update_data() update_detil() delete() cancel() print() Retur_Pembelian_Handler
Detil_Stock_Opname_Barang + + + + + + +
+ + + + + + + create_detil_stock_opname() + add_detil_stock_opname() update_detil_stock_opname() + remove_detil_stock_opname() + + save() + delete() + print()
kode_opname: char kode_barang: char no_batch: nvarchar qty_stock: int
start_new_retur_pembelian() add_data() select_no_STB() scan_barcode() add_qty_retur_beli() add_alasan_retur() remove() save() update_data() update_detil() delete() cancel() print()
Propinsi
-
kode_lini_barang: char nama_lini_barang: nvarchar
+ + + + + +
add_lini_barang() init_lini_barang() get_lini_barang() update_lini_barang() save() delete()
-
kode_kemasan: char nama_kemasan: varchar
+ + + + + +
add_kemasan_barang() init_kemasan_barang() get_kemasan_barang() update_kemasan_barang() save() delete()
-
kode_grup_barang: char nama_grup_barang: nvarchar
+ + + + + +
add_grup_barang() init_grup_barang() get_grup_barang() update_grup_barang() save() delete()
-
kode_propinsi: char nama_propinsi: varchar
+ + + + + +
add_propinsi() init_propinsi() get_propinsi() update_propinsi() save() delete()
Kota -
kode_kota: char kode_propinsi nama_kota: varchar
+ + + + + +
add_kota() init_kota() get_kota() update_kota() save() delete()
Kelurahan -
kode_kelurahan: char kode_kecamatan: char nama_kelurahan: varchar kodepos: char
+ + + + + +
add_kelurahan() init_kelurahan() get_kelurahan() update_kelurahan() save() delete()
Kecamatan
Kemasan_Barang
Satuan_Barang -
+ + + + +
BBK_Handler
Grup_Barang
Lini_Barang
-
kode_opname: char kode_gudang: char NIK: char tgl_opname: date
Detil_Retur_Pembelian Rekening
Bank
Grup_Supplier Diskon -
-
Stock_Opname_Barang -
Retur_Pembelian
Gudang
Barang
Detil_Supplier -
Supplier -
Bukti_Bank_Keluar
Detil_Surat_Terima_Barang
Detil_Surat_Permintaan_Penaw aran_Harga
Purchase_Requisition -
Voucher_Bank_Keluar
Inv oice_Pembelian -
Detil_Purchase_Order Purchase_Order
start_new_PO() add_data() select_kode_SPPH() select_nama_barang() add_qty_order() remove() add_ekstra_diskon() select_tipe_order() select_tipe_bayar() save() update_data() update_detil() update_ekstra_diskon() update_tipe_order() update_tipe_bayar() delete() cancel() print()
kode_cabang: char kode_gudang: char
Surat_Terima_Barang
Surat_Permintaan_Penaw aran_Harga
SPPH_Handler
+ + + + + + + + + + + + + + + + + +
-
VBK_Handler
Kasir
Supervisor_Tata_Usaha
-
-
kode_kecamatan: char kode_kota: char nama_kecamatan: varchar
+ + + + + +
add_kecamatan() init_kecamatan() get_kecamatan() update_kecamatan() save() delete()
Gambar 7 Updated Class Diagram Satzinger et al. (2005:338) menjelaskan bahwa, “setelah beberapa sequence diagram dibuat, maka informasi method dapat ditambahkan ke dalam class. Tanda panah navigasi juga memungkinkan untuk diperbaharui sebagai hasil dari keputusan yang dibuat saat pengembangan sequence diagram.”
uc Package Diagram View Layer
Domain Layer
Form Main Menu
Form List Purchase Requisition
Form Purchase Requisition
Supplier
Cabang
Bagian
Kelurahan
Kecamatan
Kota
Satuan Barang
Lini Barang
Kemasan Barang
Rekening Form List SPPH
Form List PO
Form PO
Form List STB
Form List Retur Pembelian
Form Retur Pembelian
Form List Stock Opname
Form Inv oice Pembelian
Form List BBK
Form BBK
Form Laporan Pembelian
Form Laporan Utang
Laporan Persediaan
Laporan Ev aluasi Kinerj a Supplier
Form Stock Opname
Form List VBK
Form Laporan Penerimaan Barang
Form Reminder Inv oice Beli
BBKHandler
CabangDA
BagianDA
BankDA
KelurahanDA
KecamatanDA
KotaDA
PropinsiDA
PRDA
Retur PembelianDA
Lini_BarangDA
SPPHDA
Stock OpnameDA
Inv oice PembelianHandler
Laporan PembelianHandler
Laporan Penerimaan BarangHandler
LaporanEv aluasi Kinerj aSupplier Handler
Diskon
STBHandler
PO
Kemasan_Barang DA
Stock Opname
Laporan Pembelian
Inv oice Pembelian
Laporan Penerimaan Barang
VBKHandler
Laporan UtangHandler
ReminderInv oice BeliHandler
STB
Karyaw anDA
RekeningDA
Satuan_BarangDA
POHandler
SPPHHandler
Retur Stock PembelianHandler OpnameHandler
SPPH GudangDA
Propinsi
Form VBK
Data Access Layer
BarangDA
Bank
Form STB
Laporan PersediaanHandler
SupplierDA
Karyaw an
Form SPPH
PRHandler Form List Inv oice Pembelian
Gudang
Barang
VBK
Laporan Utang
PR
Retur Pembelian
BBK
Laporan Persediaan
DiskonDA
PODA
STBDA
Inv oice PembelianDA
VBKDA
Laporan Ev aluasi Kinerj a Supplier
Reminder Inv oice Beli
BBKDA
Gambar 8 Package Diagram Satzinger et al. (2005:339) menjelaskan bahwa, “package diagram adalah diagram tingkat tinggi yang memungkinkan perancang sistem untuk mengasosiasikan kelas-kelas dari grup-grup yang saling berhubungan. Notasi dari package diagram berbentuk kotak persegi panjang berlabel (tabbed rectangle). Nama dari package biasanya tertera pada label, sedangkan kelas-kelas yang dimiliki oleh package ditempatkan didalam kotak persegi panjang. Simbol lainnya yang digunakan dalam package diagram adalah titik-titik panah (dashed arrow), yang mewakili dependency relationship. Buntut panah terhubung dengan dependent package, sedangkan kepala panah terhubung dengan independent package. Dependency relationship sendiri menggambarkan suatu hubungan antar elemen dalam package diagram, dimana jika terjadi perubahan pada suatu elemen (elemen yang independent), maka elemen lainnya (elemen yang dependent) juga dapat berubah.”
SIMPULAN DAN SARAN Berdasarkan analisis dan perancangan sistem informasi akuntansi pembelian, persediaan, dan utang dagang yang dilakukan, maka dapat ditarik beberapa kesimpulan: 1. Dalam mengatasi masalah perusahaan yang berkaitan dengan jarangnya perusahaan mendapatkan diskon pembelian dan tawaran harga terbaik dari pemasok dapat dilakukan dengan cara membuat sistem informasi pemilihan pemasok melalui pembuatan surat permintaan penawaran harga untuk pemasok sehingga pemilihan pemasok bisa dilakukan secara objektif dengan menilai mutu dan harga barang yang ditawarkan.
2.
Dari analisis masalah terkait tidak adanya pemisahan tugas antara bagian pembelian dan penerimaan barang dapat diatasi dengan menambahkan sistem pengendalian pada sistem yang berjalan, yaitu dengan cara membuat suatu bagian atau divisi baru pada proses penerimaan barang. 3. Dari analisis masalah terkait kurangnya pengendalian pada proses pembayaran utang dapat diatasi dengan cara membuat sistem validasi untuk bagian yang bersangkutan dan kepala cabang pada pembuatan dokumen-dokumen pembayaran utang. 4. Masalah yang berkaitan dengan penumpukan barang persediaan di gudang karena kesalahan pemesanan diluar rutin, dapat diminimalisasi dengan pembuatan purchase requisition ini adalah untuk memberikan pengendalian pada pemesanan barang dan relokasi barang ke cabang lain dengan transaksi jual beli antar cabang. 5. Dengan memanfaatkan penggunaan barcode pada sistem penerimaan barang di gudang untuk setiap barang yang masuk ke gudang dan menyusun barang di rak berdasarkan nomor batch dan tanggal kadaluwarsanya maka perusahaan dapat mengurangi terjadinya selisih antara jumlah barang di catatan dan jumlah fisik barang di gudang serta penumpukan barang kadaluwarsa. 6. Dengan penambahan sistem pengingat (reminder) invoice pembelian yang akan jatuh tempo pada sistem berjalan maka terjadinya keterlambatan pembayaran utang dapat diatasi dan perusahaan memiliki kesempatan dalam mendapatkan diskon pembayaran utang. Adapun saran-saran yang diusulkan kepada PT. Kimia Farma Trading & Distribution adalah dengan melakukan pengembangan sistem informasi akuntasi yang ada secara meluruh dan bukan hanya pada sistem informasi pembelian, persediaan, dan utang dagang saja, menggunakan perangkat hardware seperti yang telah direkomendasikan sebelumnya dan menggunakan software yang orisinil dan legal, serta melakukan evaluasi dan pemeliharaan secara periodik agar perusahaan dapat mengembangkan sistem sesuai dengan kebutuhan dimasa yang akan datang dan perkembangan proses bisnis perusahaan.
REFERENSI Assauri, Sofjan. (2008). Manajemen Produksi dan Operasi. (Edisi Revisi). Jakarta: Fakultas Ekonomi Universitas Indonesia. Brigham dan Houston. (2006). Dasar-dasar Manajemen Keuangan. (Edisi Kesepuluh). Jakarta: Salemba Empat. Hall, James A. (2007). Sistem Informasi Akuntansi Buku 1. (Edisi Keempat). Jakarta: Salemba Empat. Hall, James A. (2011). Introduction to Accounting Information System. (7th Edition). Canada: SouthWestern Cangage Learning. Haryadi, Hendi. (2009). Administrasi Perkantoran untuk Manajer & Staff. (Edisi Pertama). Jakarta: Visimedia. Herjanto, Eddy. (2009). Sains Manajemen – Analisis Kuantitatif Untuk Pengambilan Keputusan. (Edisi Pertama). Jakarta: Grasindo. Indrajani. (2011). Perancangan Basis Data dalam All in 1. Jakarta: Elex Media Komputindo. Jones, Frederick L., Rama, Dasaratha V. (2008). Sistem Informasi Akuntansi Buku 1. Jakarta: Salemba Empat. Jonsson, P., S.A Mattsson. (2008). Inventory Management Practices and Their Implications on Perceived Planning Performance. International Journal of Production Research. 46(7), 1787-1812. O’Brien, James A (2006). Introduction to Information System. (12th Edition). New York: McGraw-Hill. Romney, Marshall. B., Steinbert, Paul J. (2006). Accounting Information System. (10th Edition). New Jersey: Pearson Prentice Hall. Satzinger, John. W., Robert B. Jackson, Stephen D. Burd. (2005). Object-Oriented Analysis & Design With The Unified Process. Boston: Course Technology. Sen, Ceyda Gungor, Selcuk Sen and Huseyin Basligil. 2010. Pre-selection of Suppliers Through an Integrated Fuzzy Analytic Hierarchy Process and Max-Min Methodology. International Journal of Production Research. 48(6), 1603-1625. Sundjaja, Ridwan S. dan Inge Barlian. (2002). Manajemen Keuangan. (Edisi Keempat). Jakarta: Prenhallindo. Weygandt, Jerry.J, Donald E. Kieso, Paul D. Kimmel. (2007). Pengantar Akuntansi Buku 1. (Edisi Ketujuh). Jakarta: Salemba Empat. Wilkinson, J.W., Cerullo, M.J., Raval, V., Wong-On-Wing, B. (2000). Accounting Information System: Essential concepts and applications. (4th Edition). New Jersey: John Wiley & Sons Inc.
RIWAYAT PENULIS Meta Fitriani lahir di kota Jakarta pada tanggal 8 Mei 1989. Penulis menamatkan pendidikan S1 di Universitas Bina Nusantara dalam bidang Akuntansi dan Sistem Informasi pada tahun 2012.