Mohon tunggu...
Panji Praba Kusuma
Panji Praba Kusuma Mohon Tunggu... Lainnya - Mahasiswa Universitas Mercu Buana

55522110037 - Magister Akuntansi - Dosen Pengampu : Apollo, Prof. Dr, M.Si.Ak - Mata kuliah Audit Sistem Informasi

Selanjutnya

Tutup

Ilmu Sosbud

TB 2 - Audit Sistem Informasi - Aplikasi SQL pada Audit Laporan Keuangan Perusahaan

15 November 2023   02:29 Diperbarui: 15 November 2023   07:58 552
+
Laporkan Konten
Laporkan Akun
Kompasiana adalah platform blog. Konten ini menjadi tanggung jawab bloger dan tidak mewakili pandangan redaksi Kompas.
Lihat foto
Bagikan ide kreativitasmu dalam bentuk konten di Kompasiana | Sumber gambar: Freepik

Pengertian SQL

SQL merupakan singkatan dari Structured Query Language, adalah bahasa yang digunakan untuk dapat mengakses, mengubah ataupun memanipulasi data pada database. SQL digunakan dengan mengikuti standar yang dikeluarkan oleh American Nasional Standar Institute (ANSI). Saat ini, sebagian besar server database yang ada di dunia mendukung SQL untuk dapat menjalankan manajemen datanya. Dengan kata lain, SQL tersebut digunakan oleh berbagai entitas untuk dapat melakukan manajemen data sehingga  sistem database yang dimiliki oleh Entitas dapat dijalankan dengan efektif dan efisien.

Sejarah SQL dimulai dengan artikel yang ditulis pada bulan Juni 1970 oleh seorang peneliti IBM bernama Jhonny Oracle tentang gagasan pembuatan basis data relasional. Selain itu, artikel ini membahas kemungkinan membuat bahasa standar yang dapat digunakan untuk mengakses data di basis data. Bahasa tersebut kemudian diberi nama SEQUEL (Bahasa Pertanyaan Struktural Inggris).

IBM memulai proyek untuk membuat basis data relasional berbasis bahasa SEQUEL setelah artikel tersebut dirilis. Namun, karena masalah hukum mengenai penamaan SEQUEL, IBM mengubahnya menjadi SQL. Metode implementasi basis data relasional dikenal sebagai System/R.

Di akhir tahun 1970-an, perusahaan bernama Oracle muncul dan membuat server basis data yang populer dengan namanya. Karena popularitas John Oracle, SQL menjadi semakin populer dan sekarang menjadi standar bahasa manajemen basis data.

Terdapat beberapa perintah yang dapat digunakan dalam menggunakan SQL. Jenis perintah tersebut diperlukan untuk dapat mengakses serta melakukan manajemen data. Jenis-jenis perintah SQL adalah sebagai berikut:

1. DDL (Data Definition Language)

Subperintah bahasa SQL yang digunakan untuk membangun kerangka database adalah DDL, seperti database dan tabel. DDL memiliki tiga perintah penting: create, alter, dan drop. Perintah create digunakan untuk membuat beberapa kebutuhan, seperti database, kolom, view, dan tabel yang ditambahkan. Perintah Alter dapat digunakan untuk mengubah struktur tabel yang sudah dibuat. Mengubah nama tabel, menambah kolom, mengubah kolom, menghapus kolom, dan menambah atribut kolom. Sedangkan, drop adalah perintah untuk menghapus tabel dan database.

2. DML (Data Manipulation Language)

Subperintah bahasa SQL bernama DML digunakan untuk mengedit data database yang sudah dibuat. Dalam DML, terdapat empat perintah penting: insert, select, update, dan delete. Setiap perintah memiliki fungsi unik. Untuk memasukkan data baru ke dalam tabel, dapat menggunakan perintah "insert". Saat database dan tabel telah dibuat, perintah ini dapat digunakan. Perintah "pilih" memungkinkan untuk dapat mengambil dan menampilkan data dari tabel atau sejumlah tabel dengan menggunakan relasi. "Update" merupakan perintah yang memungkinkan data dalam tabel untuk diperbarui, dan "delete" digunakan untuk menghapus data dari tabel.

3. DCL (Data Control Language)

DCL merupakan sub bahasa SQL yang memiliki fungsi untuk mengontrol data dan server database. Misalnya manipulasi user dan priviledges. Terdapat 2 perintah penting dalam DCL yakni grant dan revoke.

Grant merupakan perintah untuk dapat memberikan hak akses dari admin kepada pengguna atau user. Adapun hak akses yang dimaksud bisa hak untuk membuat, mengambil data, mengubah data, hingga menghapus data. Selain itu terdapat hak khusus lainnya yang diberikan berkaitan dengan sistem database. Sedangkan revoke merupakan perintah untuk mencabut hak akses yang sabelumnya diberikan kepada pengguna. Jadi bisa dibilang revoke memiliki fungsi berkebalikan dengan grant.

Fungsi SQL

SQL memiliki banyak manfaat ketika mengelola database. Sebagai admin, memiliki SQL memungkinkan Anda mengakses dan mengubah database serta menjalankan query dan mengambil data yang dibutuhkan. Termasuk menyisipkan atau memperbarui data dalam database.

Selain dapat menghapus data pada database, SQL juga dapat membuat prosedur baru dan menyimpannya dalam database. Anda juga dapat mengatur hak akses untuk prosedur, tabel, dan elemen penting lainnya. SQL dapat bekerja dengan baik pada semua database, hal tersebut membuat banyak bisnis yang memerlukan fungsi dari SQL itu sendiri dan bahkan banyak perusahaan yang mensyaratkan pemahaman akan SQL dalam recruitment karyawan perusahaan tersebut. Berikut beberapa manfaat dari pemahaman akan SQL.

1. Tidak membutuhkan riset.

Riset merupakan kegiatan yang memerlukan waktu dan juga dana yang cukup mahal terutama dalam melakukan survey serta pengumpulan data. Dengan menggunakan SQL, perusahaan dapat memangkas biaya yang tidak dibutuhkan. Seorang ahli SQL dapat menginput query untuk untuk mengubah data dengan cepat. Bandingkan dengan perangkat lunak seperti excel yang hanya dapat memantau satu hal dalam suatu waktu, sedangkan SQL dapat membuat seluruh data tersedia dalam satu tempat. Misalnya dengan perintah-perintah SQL memungkinkan programmer untuk dapat memperbaharui informasi ketika diperlukan.

2. Merupakan bahasa pemrograman yang cukup universal.

SQL merupakan salah satu keterampilan yang dapat berdampingan dengan disiplin ilmu lainnya. SQL dapat membantu perusahaan dalam melakukan banyak hal, termasuk melakukan audit dengan berbantuan komputer. Hal terrsebut dimungkinkan karena SQL merupakan bahasa pemrograman yang universal.

3. Bahasa pemrograman yang masih akan terus berkembang.

Awal penggunaan SQL tercatat sejak 1970. Dan hingga saat ini, pengembangan SQL sudah sangat pesat dan digunakan di banyak perusahaan untuk mengelola database perusahaan. SQL sendiri juga masih dapat berkembang dan berevolusi karena tantangan dimasa yang akan datang yang semakin kompleks.

Saat ini, mayoritas pekerjaan di bidang data membutuhkan skill dasar SQL. Hal itu disebabkan karena SQL adalah bahasa pemrograman yang lekat dengan data dan database. Pekerjaan-pekerjaan tersebut antara lain:

1. Data scientist

Data scientist adalah seseorang yang bertanggung jawab untuk membuat database, mengolah data, dan menyajikan sebuah hal baru yang disebut produk data. Produk data tersebut nantinya akan digunakan perusahaan untuk menentukan kebijakan produksi.

2. Database administrator

Database kini menjadi salah satu hal yang wajib dimiliki oleh sebuah perusahaan. Oleh karena itu, harus ada seseorang yang bertanggung jawab di balik database. Salah satu pekerjaan yang banyak berkaitan dengan database ialah database administrator (DBA). DBA bertanggung jawab untuk mengendalikan basis data perusahaan yang hanya dapat diakses oleh orang-orang tertentu.

3. Big data architect

Big data architect adalah seseorang yang bertanggung jawab membuat sebuah produk untuk mengelola data dalam jumlah yang sangat besar. Sama halnya dengan DBA, big data architect juga menggunakan database dalam pekerjaannya sehari-hari. Oleh karena itu, SQL adalah salah satu skill wajib bagi seorang big data architect.

4. Auditor

Tidak dapat dipungkiri, dengan pesatnya perkembangan teknologi pada dewasa ini membuat auditor pun juga perlu beradaptasi dengan perkembangan teknologi tersebut. Dengan perusahaan yang saat ini banyak yang menggunakan database dalam penyimpanan data mereka, dapat dimanfaatkan auditor untuk menggunakan SQL sebagai salah satu alat untuk melakukan audit. Dengan menggunakan SQL, auditor akan lebih efektif untuk melakukan pekerjaan-pekerjaan manual yang memakan waktu cukup lama seperti melakukan analisis atas jutaan data perusahaan. Atas hal tersebut, auditor pun dituntut untuk semakin berkembang dan memiliki skill dalam penggunaan SQL tersebut.

Teknik Audit Berbantuan Komputer Menggunakan SQL

Menurut Arens et al. (2014), audit merupakan suatu pengumpulan dan evaluasi atas bukti tentang informasi untuk dapat mennetukan serta melaporkan tingkat kesesuaian sauatu informasi dengan kriteria yang sudah ditetapkan. Dengan kata lain, audit merupakan kegiatan yang dilakukan untuk mengungkap suatu kondisi yang tidak sesuai dengan kriteria.

Dengan perkembangan teknologi informasi saat ini, maka terjadi peralihan sistem dimana yang sebelumnya sistem administrasi dilakukan secara manual, saat ini lebih banyak dilakukan secara elektronik. Hal tersebut membuat auditor perlu untuk mempertimbangkan adanya inovasi dalam melaksanakan audit karena perubahan sumber data yang awalnya fisik menjadi digital.

Dampak positif dari adanya perkembangan sistem teknologi informasi telah melahirkan suatu teknik bantu audit yang dapat memudahkan pekerjaan auditor, yaitu Teknik Audit Berbantuan Komputer (TABK). TABK merupakan penggunaan komputer dalam kegiatan audit. TABK dapat membantu auditor dalam mencapai tujuan audit untuk melakukan pengujian data dan perangkat.

Menurut IAPI (2011) dalam Standar Profesional Akuntan Publik, manfaat TABK adalah sebagai berikut:

1. Pengujian rincian transaksi dan saldo-seperti, penggunaan perangkat lunak audit untuk menguji semua (suatu sampel) transaksi dalam file komputer;

2. Prosedur review analitik-seperti, penggunaan perangkat lunak audit untuk mengidentifikasi unsur atau fluktuasi yang tidak biasa;

3. Pengujian pengendalian (test of control) atas pengendalian umum sistem informasi komputer-seperti, penggunaan data uji untuk menguji prosedur akses ke perpustakaan program (program libraries);

4. Pengujian pengendalian atas pengendalian aplikasi sistem informasi komputer -seperti, penggunaan data uji untuk menguji berfungsinya prosedur yang telah diprogram;

5. Mengakses file, yaitu kemampuan untuk membaca file yang berbeda record-nya dan berbeda formatnya;

6. Mengelompokkan data berdasarkan kriteria tertentu;

7. Mengorganisasi file, seperti menyortasi dan menggabungkan;

8. Membuat laporan, mengedit dan memformat keluaran;

9. Membuat persamaan dengan operasi rasional logika (contoh: AND; OR; =; < >; <; >; IF).

Selain itu, perkembangan teknologi pun membuat perusahaan menggunakan berbagai aplikasi teknologi informasi sehingga database yang digunkan oleh perusahaan pun juga bermacam-macam jenisnya. Oleh karena itu, auditor memerlukan suatu bahasa pemrograman yang dapat digunakan pada berbagai macam jenis database. Sesuai dengan pembahasan sebelumnya, auditor dapat menggunakan bahasa SQL karena SQL merupakan bahasa pemrograman yang universal.

Dalam TABK dengan menggunakan SQL, yang digunakan umumnya adalah seputar perintah DML yaitu Select. Hal tersebut diperlukan untuk dapat melakukan query terhadap database sesuai dengan tujuan pengujian yang spesifik dalam sebuah kegiatan assurance.

Dalam penerapan SQL dalam melakukan TABK, auditor dapat menggunakan perintah-perintah berikut ini:

  • Select: perintah ini digunakan untuk memilih field/kolom yang nantinya akan digunakan auditor untuk melakukan analisis.
  • From: dengan perintah ini kita dapat memilih tabel-tabel yang akan digunakan.
  • Where: untuk menentukan kondisi-kondisi atau prasyarat pemilihan data yang akan disaring dalam query. Misalnya untuk mencari tanggal pemesanan setelah tanggal pengiriman. Dengan kata lain dengan perintah ini auditor dapat mendapatkan data yang anomaly.
  • Group By: Untuk melakukan summarize data. Misalnya untuk pengelompokan transaksi penjualan sesuai dengan jumlah penjualan.
  • Order By: Untuk menentukan dasar pengurutan data. Misalnya transaksi penjualan diurutkan berdasarkan nilai yang terbesar.
  • Join: untuk menggabungkan lebih dari satu tabel.

Praktik Penggunaan SQL Untuk Melakukan TABK

Dalam praktik penggunaan SQL ini, kasus akan dibahas untuk perusahaan yang bergerak di bidang perdagangan. Berikut ini praktik dari penggunaan SQL untuk melakukan Teknik Audit Berbantuan Komputer.

1. Instalasi

a. Untuk melakukan praktik penggunaan SQL untuk TABK, pertama kita harus melakukan instalasi MySQL dengan menggunakan Laragon yang dapat diunduh pada Website www.laragon.org/download. Untuk laragon yang telah diinstal akan tampil seperti gambar di bawah ini.

Dokpri 1
Dokpri 1

b. Untuk pengelola database, dapat menggunakan software dbeaver yang dapat diunduh pada https://dbeaver.io/download. Untuk dbeaver yang telah diinstal akan tampil seperti gambar di bawah ini.

Dokpri 2
Dokpri 2

2. Menggunakan Perintah Select

Perintah ini digunakan untuk menampilkan isi tabel atau sebagian isi tabel yang memenuhi kriteria tertentu. Dengan perintah ini, auditor akan dapat menampilkann data yang dibutuhkan dengan cepat dan akurat.

Kasus 1

Case yang pertama kita akan mencoba untuk mendapatkan seluruh data jurnal transaksi Principal Accounting dari tabel Jurnal2019

a. Pertama kita buka database yang akan kita gunakan untuk perintah select. Pada contoh kali ini, terdapat 2 tabel pada database principal_accounting yaitu tabel bagan akun dan jurnal 2019.

Dokpri 3
Dokpri 3

b. Berikutnya klik pada SQL editor. Untuk mengambil data, yang kita gunakan adalah perintah Select. Ketikan "select * from principal_accounting." Dan kita pilih tabel yang akan kita ambil. Dalam hal ini kita mengetikkan "select * from principal_accounting.jurnal2019". Maka akan muncul tampilan data yang sudah kita pilih dengan perintah select tersebut sesuai dengan gambar di bawah ini.

Dokpri 4
Dokpri 4

Kasus berikutnya adalah apabila kita tidak mengambil seluruh kolom, tapi hanya beberapa kolom yang kita perlukan dalam melakukan audit. Maka perintah yang kita tuliskan adalah

"select jurnal2019.tgl, jurnal2019.kode_akun, jurnal2019.debet, jurnal2019.kredit from principal_accounting.jurnal2019"

Dari perintah tersebut, dapat kita lihat bahwa apabila dalam menggunakan perintah select kita menggunakan tanda "*", maka akan diintepretasikan kita akan mengambil seluruh data dalam suatu tabel. Dan apabila kita mengganti tanda "*" tersebut dengan nama tabel dan nama kolom, maka data yang ditampilkan adalah sesuai dengan kolom yang kita perlukan.

Setelah kita klik run, maka data yang ditampilkan akan adalah sebagai berikut.

Dokpri 5
Dokpri 5

Untuk lebih memahami, kita akan mencoba untuk menggunakan perintah select untuk mengambil data pada tabel bagan_akun. Ketikan perintah "select * from principal_accounting.bagan_akun". Maka akan muncul seluruh data yang berada pada tabel bagan_akun seperti gambar dibawah ini.

Dokpri 6
Dokpri 6

Kasus 2

Kasus kedua adalah bagaimana mengambil data dari tabel tertentu kemudian melakukan filter atas data-data tersebut.

  • Pertama buka Dbeaver dan klik new query dan ketikkan perintah sebagai berikut:

"select * from principal_accounting.jurnal2019 

where kode_akun = 41001"

Selanjutnya eksekusi script yang telah diinput dengan klik tombol run dan akan muncul data seperti pada gambar berikut ini:

Dokpri 7
Dokpri 7

Dengan menggunakan perintah tersebut, auditor akan dengan mudah mengambil suatu data yang diperlukan auditor. Dalam kasus ini, auditor ingin mengambil data buku besar penjualan dengan kode akun 41001. Dengan hanya dengan memasukkan perintah sebelumnya, auditor telah mendapatkan seluruh data penjualan yang diperlukan.

Misalnya auditor ingin menampilkan akun yang lain seperti akun kas kecil dengan kode akun 11101, maka auditor hanya perlu untuk mengubah script menjadi:

"select * from principal_accounting.jurnal2019 

where kode_akun = 11101"

Setelah dieksekusi, maka data yang muncul hanya data dengan kode akun 11101 yaitu kas kecil sesuai dengan gambar di bawah ini:

Dokpri 8
Dokpri 8

Kemudian adalah untuk melakukan filter dengan lebih dari satu kriteria, maka auditor dapat menambahkan kata "or" sehingga apabila auditor ingin mengambil data dengan kode akun 11101 dan 41001 maka auditor dapat menuliskan perintah berikut ini:

"select * from principal_accounting.jurnal2019 

where kode_akun = 11101 or kode_akun = 41001"

Dengan perintah tersebut, maka auditor akan mendapatkan data dengan dua kode akun seperti gambar di bawah ini:

Dokpri 9
Dokpri 9

Kasus 3

Jika auditor ingin mengambil kriteria dengan menggunakan kolom yang berbeda, maka auditor perlu menggunakan kata "and" untuk menambah kiteria. Misalnya saja auditor ingin mengambil data penjualan perusahaan dengan kriteria penjualan di atas Rp 10.000,-, maka perintah yang digunakan untuk hal tersebut adalah sebagai berikut:

"select * from principal_accounting.jurnal2019 

where kode_akun = 41001 and kredit>10000"

Maka akan didapatkan data sesuai dengan kryteria yaitu kode akun 41001 dengan nilai penjualan di atas Rp 10.000. Hasil yang didapat dapat dilihat pada gambar berikut ini:

Dokpri 10
Dokpri 10

Kasus 4

Auditor ingin mencari nilai minus pada jurnal principal accounting, apabila ada kemungkinan adalah kesalahan aplikasi pada sistem klien yang menyebabkan saldo menjadi minus. Maka auditor dapat menggunakan perintah berikut ini:

"select * from principal_accounting.jurnal2019

Where debit <0 or kredit <0"

Dari hasil run perintah di atas maka didapatkan hasil terdapat dua transaksi yang bersaldo minus seperti gambar di bawah ini:

Dokpri 11
Dokpri 11

3. Menggunakan Perintah Basic Join

Pada contoh kasus sebelumnya, dalam melakukan pemilahan atas data-data digunakan hanya satu tabel saja. Untuk dapat menggabungkan beberapa tabel untuk dapat dilakukan pemilahan maka perlu perintah join.

Auditor juga perlu menggunakan Perintah join karena pada database yang sudah di normalisasikan (3NF), terdapat beberapa kolom dalam tabel transaksi yang isinya adalah kode. Sehingga sebuah tabel dalam database tidak bisa langsung di pakai untuk pengambilan keputusan. Contohnya pada tabel transaksi penjualan. Produk yang terjual dalam tabel tersebut akan ditulis/disimpan sebagai kode produk, bukan nama produknya. Nama produknya ada pada tabel master produk. Pada saat auditor akan mencari nama produk apa yang terjual tersebut, maka harus cocokkan kode produk yang ada di tabel transaksinya ke tabel master.

Dalam bahasa SQL, kita sedang menggabungkan (JOIN) tabel transaksi penjualan dengan tabel master produk, dengankolom kunci untuk penggabungan kedua kolong tersebut yaitu kode produk. Barulah setelah kita JOIN kedua tabel tersebut, dihasilkan informasi untuk yang lebih berguna untuk pengambilan keputusan, misalnya jumlah penjualan per produk. Terdapat beberapa jenis perintah join yang umum digunakan yaitu inner join, left join dan right join.

Kasus 1

Dapatkan daftar transaksi biaya entertainment Principal Accounting dari tabel Jurnal 2019. Dalam kasus tersebut, auditor tidak mengetahui kode akun. Oleh karena itu, auditor perlu untuk menggabungkannya dengan table yang lain yaitu tabel bagan_akun. Perintah yang digunakan untuk memunculkan data tersebut adalah sebagai berikut:

"select * from principal_accounting.jurnal2019

join principal_accounting.bagan_akun

on bagan_akun.kode = jurnal2019.kode_akun"

Hasil dari penggunakan perintah di atas adalah sebagai berikut:

Dokpri 12
Dokpri 12

Dari gambar tersebut dapat kita lihat bahwa kolom kode_akun dan nama akun sudah muncul dan akan memudahkan auditor untuk melakukan pemeriksaan.

Dari kasus di atas, auditor masih perlu untuk mencari data-data atas transaksi biaya entertainment. Hal tersebut dapat dilakukan auditor dengan menambahkan perintah where pada perintah sebelumnya. Sehingga untuk perintahnya akan menjadi sebagai berikut:

"select * from principal_accounting.jurnal2019

join principal_accounting.bagan_akun

on bagan_akun.kode = jurnal2019.kode_akun

where bagan_akun.nama_akun like '%biaya entertainment%'

Setelah query tersebut dieksekusi, maka akan muncul transaksi-transaksi atas biaya entertainment sesuai dengan gambar berikut ini.

Dokpri 13
Dokpri 13

Kasus 2

Auditor ingin menggabungkan lebih dari satu tabel dan kemudian melakukan filter atas data tersebut. Dalam hal ini, auditor ingin mendapatkan data jurnal transaksi pada Principal Accounting yang dicatat menggnakan akun yang tidak terdapat dalam bagan akun standar. Maka, auditor perlu untuk membuat query sebagai berikut.

"select * from principal_accounting.jurnal2019 j

left join principal_accounting.bagan_akun ba

on j.kode_akun = ba.kode

where nama_akun is null"

Dengan menggunakan query di atas, auditor bisa mendapatkan transaksi yang ternyata diinput dengan kode akun tidak sesuai dengan bagan akun standar. Hasil dari query tersebut dapat dilihat pada gambar berikut ini.

Dokpri 14
Dokpri 14

Dalam kedua kasus tersebut, selain menggunakan join, terdapat juga perintah LIKE. Perintah LIKE tersebut bisa berfungsi seperti search, jika diaplikasikan pada kolom dengan format text. MySQL menyeduakan 2 wildcard characters untuk menyusun kondisi menggunakan LIKE, yaitu % dan _. Simbol "%" digunakan untuk merepresentasikan karakter sebelum atau sesudah keyword, tanpa ada Batasan jumlah. Sementara simbol "_" hanya satu karakter sebelum atau sesudah keyword.

Kemudian terdapat juga perintah IS NULL. IS NULL sebenarnya merupakan sintaks yang pada dasarnya digunakan untuk melihat apakah nilai suatu kolom NULL. Dalam database, NULL berbeda dengan 0, atau karakter text berisi spasi. Jika suatu kolom bernilai NULL, maka memang kolom tersebut tidak ada isinya.

4. Menggunakan Perintah Conditional

Conditional yaitu kita menghasilkan suatu kolom dengan menggunakan kondisi tertentu.

Kasus 1

Jika pada pengujian sebelumnya terdapat jurnal transaksi principal accounting yang dicatat menggunakan akun yang tidak terdapat dalam bagan akun standar, buat kesimpulannya.

Dengan menggunakan script dari kasus sebelumnya, dimana telah ditemukan 2 transaksi yang tidak menggunakan bagan akun standar, maka kita dapat menambahkan kolom baru untuk memberi kesimpulan atas kedua transaksi tersebut. Query yang kita gunakan adalah sebagai berikut:

"select * ,

case

                when nama_akun is null then 'kode akun tidak terdapat di bagan akun'

                else 'bukan anomali'

end as kesimpulan

from principal_accounting.jurnal2019 j

left join principal_accounting.bagan_akun ba

on j.kode_akun = ba.kode

where nama_akun is null"

Dari script di atas, dapat kita lihat bahwa kolom kesimpulan berisi kondisi jika suatu transaksi tidak menggunakan bagan akun standar maka akan terdapat kesimpulan bahwa kode akun tidak terdapat di bagan akun. Sedangkan apabila menggunakan bagan akun standar maka akan ada keterangan bukan anomali.

Hal ini dapat digunakan auditor untuk memberikan kesimpulan pada suatu data dengan cepat dan tepat sehingga dapat mempermudah dalam melakukan audit atas seluruh akun-akun laporan keuangan dari auditee.

Atas script di atas, hasilnya dapat kita lihat pada gambar berikut ini.

Dokpri 15
Dokpri 15

Agar lebih memudahkan auditor dalam membuat kesimpulan, kita dapat juga membuat agar kesimpulan yang diberikan langsung memberikan nomor bukti yang sesuai dengan kondisi yang diperlukan maka auditor dapat menggunakan query concat. Script yang dapat digunakan adalah sebagai berikut:

"select * ,

case

                when nama_akun is null then concat('Nomor Bukti ',no_bukti,' memiliki kode akun',kode_akun,'yang tidak terdapat di bagan akun')

                else 'bukan anomali'

end as kesimpulan

from principal_accounting.jurnal2019 j

left join principal_accounting.bagan_akun ba

on j.kode_akun = ba.kode

where nama_akun is null"

Setelah menjalankan script di atas, maka akan muncul data dengan kesimpulan seperti yang terlihat pada gambar di bawah ini. Dalam gambar tersebut terdapat keterangan yang dapat memudahkan auditor memberikan tanda atas data-data yang bermasalah dalam database.

Dokpri 16
Dokpri 16

Atas kasus di atas, dapat kita ketahui bahwa:

a. Untuk membuat kolom baru berdasarkan kondisi tertentu kita dapat menggunakan sintaks CASE.

b. Masing-masing kondisi tersebut kemudian dirumuskan logikanya dengan menggunakan sintaks When atau Else.

c. Nilai jika kondisi tersebut benar ditentukan menggunakan syntax THEN.

d. Jika sudah selesai, maka diakhiri dengan menggunakan syntax END.

e. Untuk menyambungkan beberapa text menjadi satu, maka dapat menggunakan syntax CONCAT.

5. Summary and Aggregation

Dengan fungsi ini kita dapat melakukan pencacahan berdasarkan atas kolom tertentu. Fungsi summary and aggregation adalah untuk dapat memberikan ringkasan atas data dengan contoh sebagai berikut:

a. Berapa rata-rata nilai transaksi penjualan produk A di tahun ini?

b. Produk mana yang paling banyak terjual di tahun ini?

c. Berapa saldo akun kas di Bank per akhir tahun ini?

Dalam pengambilan keputusan, pertanyaan-pertanyaan tersebut seringkali terlontar, begitu pula ketika audit. Tabel dalam database memuat data mentah yang harus diolah terlebih dahulu sebelum dapat menjawab pertanyaan-pertanyaan di atas. Oleh karena itu, kita dapat menggunakan summary and aggregation di SQL untuk mengolah data mentah dalam database agar menjadi laporan yang siap digunakan untuk pengambilan keputusan.

Kasus 1

Menghitung jumlah record/baris pada jurnal. Hal tersebut biasanya dilakukan di awal pelaksanaan audit untuk memastikan bahwa data yang diberikan oleh auditee sudah sesuai karena apabila data yang diberikan tidak sama audit yang dilakukan oleh auditor akan memberikan kesimpulan yang salah.

Untuk dapat menghitung baris dalam data yang diberikan oleh auditee, kita dapat menggunakan syntax count. Berikut script yang dapat digunakan untuk dapat menghitung jumlah baris dalam suatu database.

"select count(*) from principal_accounting.jurnal2019 j"

Setelah script tersebut kita ketik pada database, maka kita jalankan script tersebut dan akan muncul total baris yang terdapat dalam database yang telah diberikan oleh auditee. Tampilan atas jumlah baris tersebut sesuai dengan gambar berikut ini.

Dokpri 17
Dokpri 17

Kasus 2

Pada kasus kedua, auditor akan melakukan pengolahan data untuk mendapatkan data nilai penjualan (akun 41001) yang tertinggi, terendah, serta rata-rata dalam penjualan perusahaan.

a. Pertama kita pilih transaksi penjualan dengan menggunakan syntax SELECT untuk mengambil data-data penjualan dari auditee. Script yang digunakan adalah sebagai berikut.

"select * from principal_accounting.jurnal2019 j

where kode_akun = 41001"

Hasil dari script tersebut dapat dilihat pada gambar berikut ini.

Dokpri 18
Dokpri 18

b. Untuk mendapatkan nilai tertinggi dari penjualan, maka akan dilakukan summary pada kolom kredit karena secara akuntansi penjualan berada pada kolom kredit. Untuk mendapatkan data penjualan tertinggi, auditor dapat menggunakan script berikut ini:

"select max(kredit) as penjualan_tertinggi

from principal_accounting.jurnal2019 j

where kode_akun = 41001"

Dari hasil pengolahan data menggunakan script di atas, didapatkan bahwa nilai penjualan tertinggi adalah 15,000 sesuai dengan gambar berikut ini.

Dokpri 19
Dokpri 19

c. Berikutnya adalah untuk mendapatkan nilai penjualan terendah, penjualan rata-rata, dan juga jumlah total penjualan kita dapat menggunakan script di bawah ini.

"select max(kredit) as penjualan_tertinggi,

min(kredit) as penjualan_terendah,

avg(kredit) as rata_rata_penjualan,

sum(kredit) as total_nilai_penjualan

from principal_accounting.jurnal2019 j

where kode_akun = 41001"

Script di atas menghasilkan data seperti penjualan terbesar adalah 15,000, penjualan terendah adalah sebesar 5,000, penjualan rata-rata perusahaan adalah 9,953, dan total penjualan dari perusahaan adalah sebesar 1,383,500. Hasil dari perhitungan menggunakan SQL adalah sebagai berikut.

Dokpri 20
Dokpri 20

Kasus 3

Lakukan pengujian untuk mengetahui apakah pengendalian aplikasi sudah memadai sehingga total debet dan kredit jurnal pada principal accounting sudah balance. Untuk menghitung jumlah debet dan kredit, maka dapat menggunakan script berikut ini:

"select

sum(debet) as jumlah_debet,

sum(kredit) as jumlah_kredit,

case

                when sum(debet) != sum(kredit) then "jurnal tidak balance"

                else "jurnal balance"

end as kesimpulan

from principal_accounting.jurnal2019 j"

Dengan script tersebut, kita dapat mengetahui apakah penjurnalan yang dilakukan oleh perusahaan sudah balance atau belum. Dalam kasus ini, jurnal yang dilakukan perusahaan tidak balance sesuai dengan gambar berikut ini.

Dokpri 21
Dokpri 21

Atas hasil kasus di atas, auditor perlu untuk mencari jurnal mana saja yang tidak balance sehingga dapat menjadi perbaikan bagi perusahaan. Untuk mendapatkan jurnal yang tidak balance tersebut, auditor dapat menggunakan syntax agregasi yang digabungkan dengan syntax conditional dan filter terhadap jurnal yang tidak balance. Script yang digunakan dalam kasus ini adalah sebagai berikut.

"select

no_bukti,

sum(debet) as jumlah_debet,

sum(kredit) as jumlah_kredit,

case

                when sum(debet) != sum(kredit) then "Jurnal tidak Balance"

                else "jurnal balance"

end as kesimpulan

from principal_accounting.jurnal2019 j

group by j.no_bukti

having sum(debet) != sum(kredit)"

Dengan menggunakan script di atas, auditor akan dengan mudah menemukan jurnal yang tidak balance. Daftar jurnal yang tidak balance dapat kita lihat pada gambar berikut ini.

Dokpri 22
Dokpri 22

Kesimpulan

Dari pembahasan di atas, dapat disimpulkan bahwa SQL dapat membantu auditor dalam melakukan audit pada laporan keuangan perusahaan terutama perusahaan yang telah memiliki database atas transaksi-transaksi perusahaan. Dengan menggunakan SQL, auditor dapat mengolah data dengan tepat dan akurat dibandingkan melakukan secara manual. Selain itu, pendeteksian kesalahan akan suatu transaksi pun juga dapat dilakukan dengan cepat, seperti contoh kasus di atas pada saat terdapat jurnal yang tidak balance, maka auditor akan dapat menemukannya dengan cepat sehingga proses audit pun dapat berjalan dengan lancar.

Dalam menggunakan SQL tersebut, auditor perlu untuk memperhatikan validitas atas data yang diberikan klien kepada auditor karena apabila data yang diberikan oleh klien ternyata tidak sesuai dengan yang digunakan oleh klien dalam melakukan operasionalnya, maka akan terdapat kesalahan dalam memberikan kesimpulan audit dan dapat berakibat pada kesalahan pengambilan keputusan.

Pengembangan atas teknik audit berbantuan komputer ini (TABK) pun juga harus terus dikembangkan oleh para auditor. Karena dengan memanfaatkan teknologi proses audit akan menjadi semakin efisien dan akurat sehingga hal tersebut pun menguntungkan baik bagi sisi auditor maupun dari sisi auditee.

 

Daftar pustaka

Arens, A. A. et al. (2014). Auditing and Assurance Services (15th ed.). England: Pearson Education Limited.

Setiawan, D. (2003). MySQL Full-Text Searching. IlmuKomputer. com.

https://idcloudhost.com/blog/sql-structured-query-language-cara-kerja-dan-manfaatnya/

https://itjen.kemenhub.go.id/2019/04/08/teknik-audit-berbantuan-komputer/

https://glints.com/id/lowongan/sql-adalah/

Baca konten-konten menarik Kompasiana langsung dari smartphone kamu. Follow channel WhatsApp Kompasiana sekarang di sini: https://whatsapp.com/channel/0029VaYjYaL4Spk7WflFYJ2H

HALAMAN :
Mohon tunggu...

Lihat Konten Ilmu Sosbud Selengkapnya
Lihat Ilmu Sosbud Selengkapnya
Beri Komentar
Berkomentarlah secara bijaksana dan bertanggung jawab. Komentar sepenuhnya menjadi tanggung jawab komentator seperti diatur dalam UU ITE

Belum ada komentar. Jadilah yang pertama untuk memberikan komentar!
LAPORKAN KONTEN
Alasan
Laporkan Konten
Laporkan Akun