GENERAL LEDGER Romney & Steinbard (2006), General ledger berisi tentang rangkuman data mengenai setiap asset, kewajiban, ekuitas, penjualan, dan biaya-biaya sebuah organisasi. Kegiatan proses informasi meliputi updating general ledger dan persiapan laporan yang merangkum hasil aktivitas organisasi. Dokumen-dokumen transaksi yang sudah dicatat sebelumnya, baik dalam jurnal umum maupun jurnal khusus kemudian dipindahkan ke dalam buku besar (General ledger) sesuai dengan kelompok rekening dan nomor perkiraannya. Pada dasarnya fungsi buku besar adalah untuk mengetahui total saldo pada masing-masing rekening yang nantinya akan dipindahkan ke neraca saldo secara satu per satu tiap-tiap rekening. Fungsi Buku Besar (General ledger) Fungsi general ledger (Wilkinson, 2000, p.380) ialah : 1) Untuk mencatat semua transaksi akuntansi secara akurat 2) Untuk memposting transaksi – transaksi tersebut pada akun yang sesuai 3) Untuk menjaga keseimbangan debit dan kredit pada akun – akun tersebut 4) Mengkomodasi pencataan jurnal penyesuaian 5) Membuat laporan keuangan yang handal dan tepat waktu pada setiap periode akuntansi Tujuan Buku Besar (General ledger) Tujuan General ledger yang dikemukakan oleh Wilkinson (2000), diantaranya : (1) Mencatat transaksi akuntansi secara akurat dan tepat waktu. (2) Memposting transaksi ke akun yang sesuai. (3) Menjaga keseimbangan debet dan kredit untuk masing-masing akun. (4) Mengakomodasikan jurnal penyesuaian, serta (5) Menyediakan laporan keuangan yang handal dan tepat waktu dalam setiap periode akuntansi. Aktivitas Buku Besar (General ledger) Aktivitas yang ada pada general ledger (Romney dan Steinbart, 2006, p.525-528) adalah sebagai berikut: 1) Update General ledger Update general ledger terorganisir dari 2 (dua) sumber, yaitu : a. Accounting subsystem, secara teori general ledger bisa diperbaharui untuk tiap-tiap transaksi individual, namun pada prakteknya, variasi subsistem akuntansi bisa memperbahuri general ledger dengan rangkuman jurnal, yang menampilkan hasil dari semua transaksi yang terjadi selama periode tertentu. b. Treasurer, bagian treasurer menghasilkan catatan jurnal individual untuk memperbaharui General ledger bagi transaksi tidak rutin seperti penjualan atau pembelian surat berharga penanaman modal. 2) Memposting jurnal penyesuaian atau post adjusting entries Adjusting entries berasal dari pengendali (controller) setelah trial balance disisipkan. Trial balance adalah laporan yang berisi keseimbangan untuk semua akun general ledger. Terdapat 5 (lima) kategori dasar adjusting entries, yaitu : a. Accruals, mewakili catatan-catatan yang dibuat pada akhir periode akuntansi untuk menggambarkan transaksi yang telah terjadi namun kas belum diterima atau belum dibayar. Contohnya pencatatan pendapatan sewa. b. Defferals, mewakili catatan-catatan yang dibuat pada akhir periode akuntansi untuk menggambarkan pertukaran dari kas yang dibayar dimuka untuk pelaksanaan dari kejadian yang berhubungan. c. Estimates, mewakili catatan-catatan untuk menggambarkan bagian dari pengeluaran yang terjadi diluar periode akuntansi. Contohnya penyusutan dan biaya piutang tak tertagih. d. Revalutions, mewakili catatan-catatan yang dibuat untuk menggambarkan perbedaan antara nilai sebenarnya dengan nilai yang tercatat dari suatu asset atau perubahan prinsip akuntansi. Contohnya perubahan metode yang digunakan untuk menilai persediaan. e. Corrections, mewakili catatan-catatan yang dibuat untuk mengatasi pengaruh-pengaruh dari kesalahan yang ditemukan dalam general ledger. Contohnya rekonsiliasi. 3) Menyiapkan laporan keuangan atau Prepare finalcial statements Persiapan laporan keuangan dimulai pertama kali dengan income statement yang datanya diambil dari penjualan nilai biaya pada adjusted trial balance, kemudian dilanjutkan dengan balance sheet. Kegiatan ini memerlukan closing entries dengan nilai penjualan dan biaya sama dengan 0 (nol), kemudian dilakukan transfer net invoice atau loss ke retained earnings. 4) Menghasilkan laporan manajerial Menghasilkan laporan menejerial merupakan final dalam general ledger and reporting system. Laporan ini akan digunakan untuk memverifikasi akurasi proses posting. Sumber Input General Ledger Dalam bukunya Accounting Information System (Wilkinson, 2000, p.384-385), mengemukakan bahwa sumber input general ledger berasal dari berbagai sistem pemrosesan transaksi pada satu perusahaan yang diklasifikasikan sebagai transaksi rutin, non rutin, penyesuaian, pembalik, dan penutup. Tipe ini dapat dipecah lagi menjadi : a. Transaksi rutin eksternal (Routine external transaction), timbul selama periode akuntansi dari pertukaran dengan pihak independen yang berada dalam lingkungan sekitar. b. Transaksi rutin internal (Routine internal transaction), terjadi karena ada transaksi internal yang timbul selama periode akuntansi. c. Transaksi non rutin (Nonroutine transaction), biasanya jarang terjadi dan berasal dari luar perusahaan dari aktivitas yang tidak rutin. d. Penyesuaian (Adjusting entries), terjadi pada akhir periode akuntansi (walaupun beberapa timbul selama periode dan tidak berulang). e. Pembalik (Reserving entries), jurnal pada awal periode akuntansi untuk membalik jurnal penyesuaian yang dibuat pada akhir periode akuntansi sebelumnya. f. Penutup (Closing entries), memindahkan jumlah yang ada pada akun sementara ke dalam akun modal pemilik yang sesuai, sehingga akun sementara menjadi nol. Ancaman dan Pengendalian dalam Sistem Informasi Buku Besar (General ledger) Menurut Romney & Steinbard (2006), terdapat beberapa ancaman yang potensial dalam sistem informasi general ledger, yang secara garis besar dapat diterjemahkan sebagai berikut : 1) Kesalahan (error) dalam mengupdate general ledger dan pembuatan laporan keuangan. Kesalahan yang terjadi ketika mengupdate general ledger dapat mempengaruhi pengambilan keputusan yang tidak tepat karena menyajikan informasi yang keliru dalam laporan keuangan. Prosedur pengendalian yang dapat diterapkan untuk ancaman ini adalah dengan input edit and processing controls, reconciliations and control reports dan audit trail. 1. Pemeriksaan validitas 2. Pemeriksaan Field (Format) 3. Pemeriksaan saldo nol 4. Uji kelengkapan 5. Verifikasi closed-loop 6. Membuat file ayat jurnal penyesuaian standar untuk ayat jurnal penyesuaian yang berulang untuk setiap periode, seperti biaya depresiasi 7. Pemeriksaan tanda dari saldo akun buku besar, saat pembaruan selesai, untuk memverifikasi saldonya telah benar (debit atau kredit) 8. Menghitung total run-to-run untuk memverifikasi akurasi pemprosesan batch voucher jurnal 2) Kehilangan, akses tidak berwenang, atau pengubahan terhadap data keuangan. General ledger merupakan komponen kunci dalam sistem informasi akuntansi perusahaan. Akses yang dilakukan oleh pihak yang tidak berwenang dapat menyebabkan kerahasiaan data perusahaan terbongkar yang mungkin akan dimanfaatkan oleh kompetitor yang ada. Pengendalian yang dapat diterapkan untuk mencegah terjadinya akses oleh pihak yang tidak berwenang dapat dilakukan dengan cara penggunaan username dan password. a. Akses tanpa otorisasi ke buku besar dapat mengakibatkan kebocoran data rahasia ke pesaing atau kerusakan buku besar. Oleh karenanya perlu memiliki pengendalian yang memadai agar dapat mencegah akses tanpa otorisasi ke buku besar. b. ID dan pasword pemakai harus digunakan untuk mengendalikan akses ke buku besar dan pemisahan tugas yang benar. c. Pengendalian atas pembuatan catatan voucher jurnal karena mengotorisasi perubahan saldo akun buku besar. 3) Poor Performance. Perusahaan mesti menyediakan informasi kepada banyak pihak ekternal, termasuk pemerintah, investor, dan creditor. Perusahaan juga membuat laporan pengendalian untuk digunakan dalam pengelolaan operasi. Merancang ulang proses bisnis memberikan kesempatan tambahan untuk memperbaiki efisiensi dan efektivitas. Buku besar merupakan komponen kunci dari sistem informasi akuntansi organisasi.pengendalian cadangan mencakup hal-hal sebagai berikut : a) Pengunaan label file internal dan eksternal untuk melindungi buku besar yang terakhir dari kerusakan tanpa disengaja. b) Pembuatan cadangan buku besar secara rutin paling tidak dua salinan cadangan buku besar harus ada.satu salinan disimpan dilokasi perusahaan satunya disimpan diluar perusahaan. Subsistem Dasar dalam Sistem Informasi Akuntansi Subsistem dasar dalam sistem informasi akuntansi ada 5 siklus subsistem yang terdiri dari pelaku, serangkaian prosedur, dan teknologi informasi (Romney & Steinbart, 2006), yaitu : a. Expenditure Cycle (Siklus Pembelian) b. Production Cycle/Conversion Cycle (Siklus Produksi) c. Revenue Cycle (Siklus Penjualan) d. Human Resource/Payroll Cycle (Siklus Penggajian) e. Financing Cycle (Siklus Keuangan) Kelima siklus di atas memberikan data transaksi pada General Ledger & Reporting Systems (Siklus Pencatatan) untuk pencatatan dan komunikasi informasi. General Ledger & Reporting Systems meliputi semua kegiatan yang berhubungan dengan penyiapan laporan keuangan dan laporan manajerial lainnya, termasuk transaksi yang tidak rutin dan jurnal penyesuaian yang beraneka ragam (Romney & Steinbart, 2006). FORM POSTING PAYABLE LEDGER Form Pelunasan Utang adalah form untuk posting data–data hasil akumulasi dari perhitungan input pada jurnal payable ledger. Berikut langkah –langkahnya: MembuatFormPosting Payable Ledger 1. Pastikan sudah membuka project pra2.vbp (yang telah dibuat) 2. Klik menu bar Project lalu pilih Add Form, klik Form lalu Open Gambar:Proses pembuatan Form ➢ Save form dengan nama frmPostPL, klik Save ➢ Desain form seperti gambar di bawah ini dengan menggunakan Label dan Command Button Gambar: Desain Form ➢ Atur properties tiap-tiap objek pada jendela properties sesuai table dibawah ini (sesuaikan dengan nomor-nomor pada gambar di atas) Gambar:Jendela Properties No 1 2 3 4 Object Form Label CommandButton CommandButton Name Caption MDIChild frmPostPL PayableLedger True Label1 PostingPayable cmdOk OK cmdCancel Cancel Gambar: Jendela Properties ➢ Selanjutnya klik dua kali (sembarang) pada form hingga muncul jendela codingan. Setelah muncul jendela codingan, masukkan codingan seperti dibawah ini. Private Sub Form_Load() Dim sum As Currency Call bukaKoneksi rsPembelian.Open "select No_bukti,Tgl_Transaksi,kd_prsh,kd_brg,beli,dk,transaksi,saldo,kode_rek, posting from pembelian", conn, adOpenForwardOnly, adLockOptimistic rsPemasok.Open "select Kd_Prsh,Nama_Prsh,Alamat_Prsh,No_Telp from pemasok", conn, adOpenForwardOnly, adLockOptimistic rsPostPL.Open "SELECT p.kd_prsh, p.nama_prsh, b.kd_brg, b.nama_brg, l.transaksi, l.dk, l.saldo, l.posting, l.beli FROM pemasok p, pembelian l, barang b WHERE b.kd_brg = l.kd_brg AND p.kd_prsh = l.kd_prsh;", conn, adOpenForwardOnly, adLockOptimistic ' Data1 -------------------------->> "pembelian" ' Data2 -------------------------->> SQL ' Data3 -------------------------->> "pemasok" End Sub Private Sub cmdOk_Click() 'On Error GoTo Fault If rsPostPL.BOF Then MsgBox "Belum ada transaksi apapun", vbOKOnly, "Warning !" Exit Sub End If report buku_besar warning 'Fault: If Err Then MsgBox "Lengkapi Kode-nya Dulu yaaah, atau kode-nya masih ada yang salah ", vbCritical, "Programmer" End Sub Private Sub cmdCancel_Click() Unload Me End Sub Function Garis(N As Integer, L As String) For I = 1 To N Print #1, L; Next I End Function Public Sub report() Dim total_hutang As Currency Dim hutang_individu As Currency If Not rsPembelian.BOF Then With rsPembelian .MoveFirst While Not .EOF !posting = "1" ' menandakan posting telah berhasil .Update .MoveNext Wend End With FileName = App.Path & "\RPTPYB.txt" Open FileName For Output As #1 Print #1, Print #1, Garis(94, "=") Print #1, Tab(35); "REPORT - PAYABLE LEDGER" Print #1, Tab(35); " DAFTAR SALDO HUTANG" Print #1, Garis(94, "=") Print #1, Garis(94, "=") Print #1, Tab(5); "PEMASOK"; Tab(54); "SALDO HUTANG" Print #1, Garis(94, "-") With rsPemasok .MoveFirst While Not .EOF rsPostPL.MoveFirst While Not rsPostPL.EOF If ((rsPostPL!transaksi = "Utang Dagang") And (rsPostPL!kd_prsh = !kd_prsh)) Then If (rsPostPL!dk = "Kredit") Then hutang_individu = hutang_individu + rsPostPL!saldo Else hutang_individu = hutang_individu - rsPostPL!saldo End If End If rsPostPL.MoveNext Wend pos = 13 - Len(Format(hutang_individu, "###,###,###")) Print #1, Tab(5); !nama_prsh; Tab(50); "Rp."; Tab(54 + pos); Format(hutang_individu, "###,###,###") total_hutang = total_hutang + hutang_individu hutang_individu = 0 .MoveNext Wend End With Print #1, Tab(67); "(+)" Print #1, Garis(94, "-") pos = 13 - Len(Format(total_hutang, "###,###,###")) Print #1, Tab(5); "TOTAL HUTANG = "; Tab(50); "Rp."; Tab(54 + pos); Format(total_hutang, "###,###,###") total_hutang = 0 Print #1, Tab(50); "=================" Print #1, Garis(94, "=") Print #1, Print #1, Print #1, Tab(55); "Created by" Print #1, Tab(46); "Programmer Lab.Akuntansi Lanjut A" Print #1, Tab(52); "Copyright © Bekasi, West Java 2013" Close #1 End If End Sub Public Sub warning() Unload Me MsgBox "posting berhasil !", vbOKOnly, "posting" End Sub Public Sub buku_besar() Dim pemasok(100), perusahaan As String Dim I, J As Integer Dim sum_psd, sum_utang, sum_pelunasan As Currency Dim ada As Boolean I = 0 sum_psd = 0 sum_utang = 0 sum_pelunasan = 0 ada = False If Not rsPembelian.BOF Then With rsPembelian .MoveFirst pemasok(I) = !kd_prsh While Not .EOF For J = 0 To I If !kd_prsh = pemasok(J) Then ada = True Next J If Not (ada) Then I=I+1 pemasok(I) = !kd_prsh End If ada = False .MoveNext Wend End With End If FileName = App.Path & "\BBPL.txt" Open FileName For Output As #1 Print #1, Tab(35); "BUKU BESAR - PAYABLE LEDGER" For J = 0 To I With rsPostPL .MoveFirst While Not .EOF If !kd_prsh = pemasok(J) Then perusahaan = !nama_prsh .MoveNext Wend End With Print #1, Print #1, Print #1, Print #1, Garis(120, "-") Print #1, Tab(95); "Kode Perusahaan : "; pemasok(J) Print #1, "Perusahaan "; perusahaan Print #1, Garis(120, "=") With rsPostPL .MoveFirst While Not .EOF If !kd_prsh = pemasok(J) Then If !beli = "Kredit" Then If !dk = "Kredit" Then If !transaksi = "Utang Dagang" Then sum_utang = sum_utang + !saldo End If Else If !dk = "Debet" Then sum_pelunasan = sum_pelunasan + !saldo pos = 13 - Len(Format(!saldo, "###,###,###")) Print #1, "Pelunasan "; !nama_brg; Tab(35); "Rp."; Tab(38 + pos); Format(!saldo, "###,###,###"); Tab(52); "|" End If End If End If .MoveNext Wend End With pos = 13 - Len(Format(sum_utang, "###,###,###")) Print #1, Tab(52); "|"; Tab(55); "Utang Perusahaan "; perusahaan; Tab(100); "Rp."; Tab(103 + pos); Format(sum_utang, "###,###,###") Print #1, Garis(120, "=") pos = 13 - Len(Format((sum_utang - sum_pelunasan), "###,###,###")) Print #1, "TOTAL :"; Tab(100); "Rp."; Tab(103 + pos); Format((sum_utang sum_pelunasan), "###,###,###") Print #1, Tab(100); "=================" Print #1, Garis(120, "-") sum_utang = 0 sum_pelunasan = 0 Next J Print #1, Print #1, Print #1, Tab(55); "Created by" Print #1, Tab(46); "Programmer Lab.Akuntansi Lanjut A" Print #1, Tab(52); "Copyright © Bekasi, West Java 2013" Close #1 End Sub Jalankan(running) FormfrmPostPL: ➢ Setelah melakukan coding, langkah selanjutnya yaitumenjalankan form(running) dengan cara klik icon run seperti dibawah (kotak ungu). Lalu pilih Posting pada menu bar, klik Payable Ledger. Seperti pada gambar berikut. Gambar: Proses Running Form PostingPayableLedger ➢ Berikut tampilan form padaPostingPayableLedger Gambar: FormPostingPayable Ledger (running) FORM POSTING RECEIVABLE LEDGER Form Pelunasan Piutang adalah form untuk mem-posting data– data hasil akumulasi dari perhitungan input pada jurnal receivable ledger. Berikut langkah –langkahnya: Membuat Form Posting receivable Ledger ➢ Klik menu bar Project lalu pilih Add Form, klik Form lalu Open Gambar: Proses pembuatan Form ➢ Desain form seperti gambar di bawah ini dengan menggunakan Label, Command Button. Gambar: Desain Form ➢ Atur properties tiap-tiap objek pada jendela properties sesuai table di bawah ini (sesuaikan dengan nomor-nomor pada gambar diatas) Gambar: Jendela Properties No 1 2 3 4 Object Form Label CommandButton CommandButton Name frmPostRL Label1 cmdOk cmdCancel Caption ReceivableLedger PostingReceivable OK Cancel MDIChild True ➢ Selanjutnya klik dua kali (sembarang) pada form hingga muncul jendela codingan. Setelah muncul jendela codingan, masukkan codingan seperti dibawah ini: Private Sub Form_Load() Dim sum As Currency Call bukaKoneksi rsPelanggan.Open "select kd_plg,nama_plg,alamat_plg,no_telp from pelanggan", conn, adOpenForwardOnly, adLockOptimistic rsPenjualan.Open "select no_bukti, tgl_transaksi, jual, dk, transaksi, saldo, kd_plg, kd_brg, kode_rek, posting from penjualan", conn, adOpenForwardOnly, adLockOptimistic rsBarang.Open "select kd_prsh,kd_brg,nama_brg,Harga_Brg,Harga_Jual,Persediaan from barang", conn, adOpenForwardOnly, adLockOptimistic rsPostRL.Open "SELECT p.kd_plg, p.nama_plg, b.kd_brg, b.nama_brg, l.transaksi, l.dk, l.saldo, l.posting, l.jual FROM pelanggan p, penjualan l, barang b WHERE b.kd_brg = l.kd_brg AND p.kd_plg = l.kd_plg ORDER BY p.nama_plg;", conn, adOpenStatic, adLockOptimistic End Sub Private Sub cmdOk_Click() 'On Error GoTo Fault If rsPostRL.BOF Then MsgBox "Belum ada transaksi apapun", vbOKOnly, "Warning !" Exit Sub End If report buku_besar warning 'Fault: If Err Then MsgBox " Lengkapi Kodenya Dulu Yaa atau Kodenya Masih Ada yang Salah", vbCritical, "Programmer" End Sub Private Sub cmdCancel_Click() Unload Me End Sub Function Garis(N As Integer, L As String) For I = 1 To N Print #1, L; Next I End Function Public Sub report() Dim total_piutang As Currency Dim piutang_individu As Currency If Not rsPenjualan.BOF Then With rsPenjualan .MoveFirst While Not .EOF !posting = "1" ' menandakan posting telah berhasil .Update .MoveNext Wend End With FileName = App.Path & "\RPTRCV.txt" Open FileName For Output As #1 Print #1, Print #1, Garis(94, "=") Print #1, Tab(35); "R E P O R T - R E C E I V A B L E L E D G E R" Print #1, Tab(35); " DAFTAR SALDO PIUTANG" Print #1, Garis(94, "=") Print #1, Tab(5); "NAMA PELANGGAN"; Tab(54); "SALDO PIUTANG" Print #1, Garis(94, "-") With rsPelanggan .MoveFirst While Not .EOF rsPostRL.MoveFirst While Not rsPostRL.EOF If ((rsPostRL!transaksi = "Piutang") And (rsPostRL!nama_plg = !nama_plg)) Then If rsPostRL!dk = "Debet" Then piutang_individu = piutang_individu + rsPostRL!saldo Else piutang_individu = piutang_individu - rsPostRL!saldo End If End If rsPostRL.MoveNext Wend pos = 13 - Len(Format(piutang_individu, "###,###,###")) Print #1, Tab(5); !nama_plg; Tab(50); "Rp."; Tab(54 + pos); Format(piutang_individu, "###,###,###") total_piutang = total_piutang + piutang_individu piutang_individu = 0 .MoveNext Wend End With Print #1, Tab(67); "(+)" Print #1, Garis(94, "-") pos = 13 - Len(Format(total_piutang, "###,###,###")) Print #1, Tab(5); "TOTAL PIUTANG = "; Tab(50); "Rp."; Tab(54 + pos); Format(total_piutang, "###,###,###") total_piutang = 0 Print #1, Tab(50); "=================" Print #1, Garis(94, "=") Print #1, Print #1, Print #1, Tab(40); "Created by" Print #1, Tab(35); "Programmer Lab. Akuntansi Lanjut A" Print #1, Tab(38); "Copyright © Bekasi 2018" Close #1 End If End Sub Public Sub warning() Unload Me MsgBox "posting berhasil !", vbOKOnly, "posting" End Sub Public Sub buku_besar() Dim pelanggan(100), nama As String Dim I, J As Integer Dim sum_psd, sum_piutang, sum_pelunasan As Currency Dim ada As Boolean I = 0 sum_psd = 0 sum_piutang = 0 sum_pelunasan = 0 ada = False If Not rsPenjualan.BOF Then With rsPenjualan .MoveFirst pelanggan(I) = !kd_plg While Not .EOF For J = 0 To I If !kd_plg = pelanggan(J) Then ada = True Next J If Not (ada) Then I=I+1 pelanggan(I) = !kd_plg End If ada = False .MoveNext Wend End With End If FileName = App.Path & "\BBRCV.txt" Open FileName For Output As #1 Print #1, Tab(35); "B U K U B E S A R - R E C E I V A B L E L E D G E R" For J = 0 To I With rsPostRL .MoveFirst While Not .EOF If !kd_plg = pelanggan(J) Then nama = !nama_plg .MoveNext Wend End With Print #1, Print #1, Print #1, Print #1, Garis(120, "-") Print #1, Tab(95); "Kode Pelanggan : "; pelanggan(J) Print #1, "Nama Pelanggan "; nama Print #1, Garis(120, "=") With rsPostRL .MoveFirst While Not .EOF If !kd_plg = pelanggan(J) Then If !jual = "Kredit" Then If !dk = "Debet" Then If ((Left(!transaksi, 7) = "Piutang")) Then sum_piutang = sum_piutang + !saldo End If Else If !dk = "Kredit" Then If ((Left(!transaksi, 7) = "Piutang")) Then sum_pelunasan = sum_pelunasan + !saldo pos = 13 - Len(Format(!saldo, "###,###,###")) Print #1, Tab(52); "|"; Tab(55); "Pelunasan "; !nama_brg; Tab(100); "Rp."; Tab(103 + pos); Format(!saldo, "###,###,###") End If End If End If End If .MoveNext Wend End With pos = 13 - Len(Format(sum_piutang, "###,###,###")) Print #1, "Piutang Pelanggan "; nama; Tab(35); "Rp."; Tab(38 + pos); Format(sum_piutang, "###,###,###"); Tab(52); "|" Print #1, Garis(120, "=") pos2 = 13 - Len(Format((sum_piutang - sum_pelunasan), "###,###,###")) Print #1, "TOTAL :"; Tab(35); "Rp."; Tab(38 + pos2); Format((sum_piutang sum_pelunasan), "###,###,###") Print #1, Tab(35); "=================" sum_piutang = 0 sum_pelunasan = 0 Print #1, Garis(120, "-") Next J Print #1, 100