Please enable JavaScript.
Coggle requires JavaScript to display documents.
Data Structures and CAATTs for Data Extraction, ANGGOTA KELOMPOK, NAMA…
Data Structures and CAATTs for Data Extraction
Embedded Audit Module
Tujuan Utama
Mengidentifikasi dan menyalin transaksi penting secara real time saat diproses
Memudahkan auditor memperoleh transaksi material untuk uji substantif
Cara Kerja EAM
Auditor menentukan parameter & materiality threshold
→ Contoh: semua transaksi ≥ $50.000 pada sistem sales
Saat transaksi diproses di aplikasi host:
EAM menyalin transaksi yang memenuhi kriteria
Menyimpannya dalam audit file
Auditor dapat mengakses data tersebut:
Secara langsung (real time)
Saat akhir periode
Kapan saja selama audit
Manfaat EAM
Mengurangi pekerjaan auditor dalam menelusuri transaksi signifikan
Memberikan data yang up-to-date dan cepat
Fokus pada transaksi yang berisiko tinggi/material
Kegunaan dalam Audit
Uji Substantif
Auditor memilih sampel signifikan dari audit file untuk diuji lebih lanjut
Pengujian Pengendalian Internal (berkelanjutan)
Dapat menilai:
Otorisasi transaksi
Kelengkapan & akurasi pemrosesan
Posting yang benar ke akun terkait → Sesuai dengan SAS 109 (monitoring ongoing control)
Generalized Audit Software
Beberapa penggunaan GAS yang lebih umum meliputi:
Menghitung total dan menyeimbangkan seluruh berkas atau item data terpilih
• Memilih dan melaporkan data rinci yang terdapat dalam berkas
• Memilih sampel statistik berstrata dari berkas data
• Memformat hasil pengujian menjadi laporan
• Mencetak konfirmasi dalam bahasa standar atau khusus
• Menyaring data dan secara selektif memasukkan atau mengesampingkan item
• Membandingkan berkas-berkas dan mengidentifikasi perbedaan
• Menghitung ulang bidang data
Menggunakan GAS untuk Mengakses Struktur Sederhana
Mengakses file datar itu sederhana karena GAS bisa membaca file inventaris secara langsung.
GAS mengekstrak data penting seperti jumlah barang, nilai, dan lokasi gudang.
Auditor harus memverifikasi keberadaan dan nilai inventaris melalui perhitungan fisik.
GAS memilih catatan sampel berdasarkan ambang batas materialitas.
GAS menghasilkan laporan yang berisi informasi untuk audit.
Popularitas luas GAS disebabkan oleh empat faktor
Bahasa GAS mudah digunakan dan tidak memerlukan latar belakang komputer yang mendalam dari auditor
banyak produk GAS dapat digunakan pada sistem mainframe dan PC
auditor dapat melakukan uji mereka secara independen dari staf layanan komputer klien
GAS dapat digunakan untuk mengaudit data yang disimpan dalam sebagian besar sistem file.
Menggunakan GAS untuk Mengakses Struktur Kompleks
Mengakses struktur file yang kompleks (misalnya file terenkripsi atau format acak) dapat menyulitkan auditor.
Tidak semua aplikasi GAS mampu membaca semua jenis struktur file.
Jika CAATT tidak dapat menangani file kompleks, auditor perlu bantuan profesional sistem untuk membuat program khusus yang menyalin data ke file datar berurutan.
Banyak DBMS menyediakan fitur untuk mengubah struktur file kompleks menjadi file datar.
Struktur database yang kompleks, seperti yang menghubungkan berbagai file menggunakan penunjuk (misalnya Pelanggan → Faktur → Item), sulit diekstrak langsung oleh GAS.
Dengan mengubahnya menjadi file datar, data menjadi lebih sederhana dan mudah diakses oleh GAS untuk keperluan audit.
Masalah Audit yang Berkaitan dengan Pembuatan Berkas Datar
Auditor kadang perlu bantuan staf IT untuk membuat file datar dari struktur file yang kompleks.
Proses pembuatan file datar memiliki risiko integritas data, karena data bisa saja berubah atau dihilangkan.
Contohnya, akun piutang yang curang mungkin sengaja tidak dimasukkan ke file datar.
Jika sampel konfirmasi diambil dari file datar yang tidak lengkap, hasil audit menjadi tidak dapat diandalkan.
Auditor yang menguasai pemrograman dapat menghindari risiko ini dengan membuat rutin ekstraksi data sendiri, sehingga data lebih terjamin keasliannya.
(GAS) adalah CAATT yang paling banyak digunakan untuk audit sistem informasi. GAS memungkinkan auditor untuk mengakses berkas data yang dikodekan secara elektronik dan melakukan berbagai operasi pada isinya
Data Structures
Relational Database, Structure, Concepts and Terminology
suatu sistem dikatakan relasional jika:
Merepresentasikan data dalam bentuk tabel dua dimensi.
Mendukung fungsi aljabar relasional berupa restrict, project, dan join.
Restrict: Mengekstrak baris tertentu dari tabel yang ditentukan.
Project: Mengekstrak atribut tertentu (kolom) dari suatu tabel untuk membentuk tabel virtual.
Join: Membentuk tabel fisik baru dari dua tabel yang terdiri atas semua pasangan baris yang digabung dari masing-masing tabel.
Relational Database Concepts
Elemen-elemen dasar ini nantinya digunakan untuk merancang basis data kecil dari awal.
Entitas
adalah segala sesuatu tentang mana organisasi ingin mengumpulkan data.
occurrence**
(kejadian)** digunakan untuk menggambarkan jumlah instance atau record yang berkaitan dengan suatu entitas tertentu.
Atribut
adalah elemen data yang mendefinisikan suatu entitas.
Garis berlabel yang menghubungkan dua entitas dalam model data menggambarkan sifat hubungan
(asosiasi)
di antara keduanya
. Asosiasi ini
direpresentasikan dengan kata kerja, seperti “mengirim”, “memesan”, atau “menerima”.
4 Bentuk dasar kardinalitas
Kardinalitas
adalah tingkat hubungan antara dua entitas. Secara sederhana, kardinalitas menggambarkan jumlah kemungkinan occurrence dalam satu tabel yang berhubungan dengan satu occurrence dalam tabel lain yang terkait
satu atau banyak (1,M)
nol atau banyak (0,M)
satu dan hanya satu (1,1)
nol atau satu (0,1)
Tabel Basis Data Fisik
Tabel yang dirancang dengan baik memiliki empat karakteristik
Nilai dari setidaknya satu atribut pada setiap record (baris) harus unik. Atribut ini disebut primary key. Nilai atribut lainnya (non-key) tidak harus unik.
Semua nilai atribut dalam satu kolom harus berasal dari kelas data yang sama.
Setiap kolom dalam tabel harus memiliki nama yang unik. Namun, kolom dengan nama yang sama boleh ada di tabel yang berbeda.
Tabel harus memenuhi aturan normalisasi, yaitu bebas dari ketergantungan struktural seperti kelompok pengulangan, ketergantungan parsial, dan ketergantungan transitif.
Tabel-tabel yang saling berhubungan secara logis perlu dihubungkan secara fisik agar asosiasi dalam model data dapat diwujudkan. Hal ini dilakukan dengan menggunakan foreign key.
Dengan adanya foreign key, program komputer dapat menelusuri tabel-tabel dalam basis data dan menyediakan informasi yang dibutuhkan pengguna untuk mendukung aktivitas operasional dan pengambilan keputusan
Tampilan pengguna adalah kumpulan data yang dilihat oleh pengguna tertentu. Contohnya meliputi layar input data, laporan manajemen, atau dokumen sumber seperti faktur. Tampilan ini dapat berbentuk digital maupun fisik (kertas), namun semuanya berasal dari tabel basis data yang mendasarinya.
Anomalies, Structural, Depedencies, and Data Normalization
Data Normalization
Proses pengorganisasian data dalam database untuk:
Tujuan
Struktur data efisien
Menghindari kesalahan penyimpanan
Mempermudah pengelolaan data
Mengurangi redundansi (duplikasi data)
Meningkatkan integritas data
Memastikan konsistensi data
Anomalies (Anomali Data)
Masalah yang muncul akibat struktur tabel yang tidak ternormalisasi.
Jenis-jenis anomali
Insertion Anomaly yaitu data tidak bisa ditamabhkan tanpa data lain. Contoh : Tidak bisa input data supplier tanpa adanya pesanan
Delection Anomaly, yaitu penghapusan data menyebabkan hilangnya informasi penting. contohnya, Menghapus transaksi terakhir → data supplier ikut hilang
Update Anomaly, Perubahan data tidak konsisten. Contoh : Mengubah alamat di satu baris tapi lupa di baris lain
Structural
Menggambarkan bagaimana data disusun dalam tabel database.
Komponen utama
Tabel (Table)
Baris (Record)
Kolom (Field)
Primary Key
Foreign Key
Relasi antar tabel
Masalah Struktur yang buruk
Data ganda
Relasi tidak jelas
Sulit dilakukan query
Dependencies (Ketergantungan Data)
Jenis Dependencies
Functional Dependency
: Nilai kolom ditentukan oleh kolom lain. Contoh, NIM → Nama Mahasiswa
Partial Dependency
: Atribut hanya bergantung pada sebagian primary key Contoh :Nama Barang hanya tergantung ID_Barang
Transitive Dependency
yaitu Atribut bergantung melalui atribut lain. Contoh : ID_Pelanggan → KodePos,
Hubungan antar atribut dalam tabel.
Komponen :
Access Method (Sequential, Direct Access)
Pointer/Link record untuk kebutuhan navigasi data
File Organization (Sequential, Indexed, Hashing, VSAM)
Tujuan
Mempercepat akses, mengurangi redudasi, menjaga konsistensi data, serta menduung kinerja sistem dalam berbagai skenario seperti batch, inquiry, transaksi harian, dan pelaporan
mempermudah administrasi file seperti backup, recovery, dan reorganisasi
Definisi
Struktur data menentukan bagaimana record disusun, dihubungkan, dan diakses dalam sistem. Struktur ini mengatur jalur pencarian data, lokasi penyimpanan dan cara program menelusuri hubungan antar-record
Flat File Structures
VSAM (Virtual Storage Access Method)
Proses Operasional
Record ditulis ke PDA
jika ruang di CI penuh, data baru akan ditempatkan ke overflow area yang sementara menyimpan record tambahan hingga dilakukan reorganisasi
Contoh Modul
File Billing pelanggan ; Batch billing bulanan memakai sequential. Customer service memakai direct acces untuk inquiry cepat
Struktur internal
Prime Data Area (PDA), Index Area, Overflow Area. Control Interval (CI), Control Area (CA)
Hashing
Teknik hashing mengubah key (misalnya nomor pelanggan) menjadi alamat penyimpanan dengan menggunakan formula matematika tertentu
Kekurangan : dua key menghasilkan alamat sma (collision) sehingga perlu solusi seperti overflow chain atau rehashing
Indexed File
kelebihan : akases cepat ke file utama tanpa membaca seluruh file, cocok untuk transaksi harian (inquiry, update)
kekurangan : membutuhkan index maintenance (insert, delete, update akan modifikasi index)
Menggunakan index file yang berisi pasangan (key + pointer) agar sistem dapat langsung melompat ke lokasi data (key_value, pointer_to_record)
contoh : CustomerIndex(key=CustNo123→pointer ke record di data file)
Pointer Structures (Linked File)
Pointer digunakan untuk menghubungkan satu record dengan record lain sehingga membentuk rantai hubungan
jenis pointer seperti physical, relative, dan logical,
Contoh umum: satu record Customer memiliki pointer ke record Invoice pertamanya, lalu Invoice tersebut memiliki pointer ke invoice berikutnya.
Sequential File
Record disimpan berurutan berdasarkan primary key, Akses harus melalui seluruh file dari awal hingga akhir
kelebihan : sangat efisien untuk batch processing
Contoh File payroll pegawai : sistem membaca semua data untuk menghitung gaji
kekurangan: tidak efisiensi untuk akses individual kecil
Hierarchical & Network Database Structures
Hierarchical Database (Tree Model)
Akses
Program tidak bisa langsung menuju child tanpa melewati parent. emua akses mengikuti jalur tree.
Sangat cepat jika pemrosesan mengikuti hierarki (misal: Customer → Invoice → Item).
Kelebihan : Stabil, sederhana, dan efisien untuk struktur data yang tidak berubah.
Struktur :
Data disusun seperti pohon: Root → Parent → Child → Leaf.Hubungan bersifat one-to-many di mana child hanya mempunyai satu parent.
Setiap level terhubung secara vertikal sehingga jalur harus diikuti secara berurutan sesuai struktur
Kekurangan : Tidak dapat menangani multiple parent dan hubungan many-to-many, Perubahan struktur sulit dilakukan.
Network Database (CODASYL Model)
Akses
Masih navigational, tetapi memiliki banyak jalur pointer sehingga lebih fleksibel dibanding hierarchical.
Programmer dapat memilih berbagai path untuk menuju record tertentu.
Struktur
Menggunakan Owner–Member–Set sehingga hubungan lebih fleksibel dan membentuk graf. Record dapat memiliki banyak parent dan banyak child sekaligus.
Mendukung hubungan many-to-many tanpa redundansi yang besar.
Kelebihan
Dapat memodelkan hubungan kompleks seperti supply chain, purchasing, dan katalog produk besar.
Contoh
Inventory ↔ Vendor
Satu item dapat memiliki banyak vendor. Setiap vendor dapat memasok banyak item. Atribut hubungan (price, lead time, terms) disimpan dalam Link File.
Kekurangan
Struktur pointer rumit untuk dipelihara. Tidak cocok untuk query ad-hoc seperti laporan spontan.
Designing Relational Databases
Tujuan Utama
Membuat basis data relasional yang terstruktur, efisien, dan mendukung kebutuhan pengguna serta audit.
Identify Entities
Menentukan objek utama dalam sistem (Customer, Order, Product, dll.)
Membedakan entitas vs atribut
Fokus pada noun dalam kebutuhan sistem
Construct a Data Model Showing Entity Associations
Bentuk ERD (Entity Relationship Diagram)
Tentukan jenis hubungan:
One-to-One
One-to-Many (paling umum)
Many-to-Many → butuh tabel persimpangan
Definisikan business rules
Add Primary Keys and Attributes to the Model
Pilih primary key unik untuk setiap entitas
Natural key vs surrogate key
Tambahkan atribut penting ke setiap entitas
Pastikan atomicity (tidak ada atribut pecahan)
Normalize Data Model and Add Foreign Keys
Terapkan normalisasi
1NF → Hilangkan repeating groups
2NF → Hilangkan partial dependency
3NF → Hilangkan transitive dependency
Tentukan foreign key untuk hubungan antar-entitas
Kendalikan anomali insert-update-delete
Construct the Physical Database
Implementasi model ke DBMS nyata
Buat tabel, indeks, constraint, dan tipe data
Pertimbangkan performa dan keamanan data
Prepare the User Views
Siapkan tampilan khusus sesuai kebutuhan pengguna
Query, form, report, dashboard
Mengendalikan hak akses berdasarkan fungsi
Global View Integration
Integrasi berbagai user views ke dalam model global
Identifikasi dan konsolidasi inkonsistensi
Mengoptimalkan struktur tabel keseluruhan
ACL (Audit Command Language)
Pengertian
generalized audit software yang digunakan auditor untuk
Mengakses dan mengekstraksi data dari berbagai jenis file,
Menganalisis data untuk keperluan audit,
Mendeteksi anomali, kecurangan, dan kesalahan dalam data.
ACL mendukung data dari sistem komputer lama, sistem modern, hingga file teks datar (flat files).
Customizing a View
ACL menyediakan kemampuan untuk membuat custom view data.
Tujuannya
Menyembunyikan field yang tidak relevan,
Mengurutkan ulang kolom,
Memfokuskan pada data penting untuk audit.
Custom view tidak mengubah data asli, hanya cara file ditampilkan
Data Definition
ACL kemudian menggunakan definisi ini untuk menampilkan file secara terstruktur. Setelah definisi dibuat, auditor dapat membuka file kapan saja melalui table folder.
Auditor harus mendefinisikan struktur data terlebih dahulu sebelum dianalisis oleh ACL
Lokasi file,
Format field (numeric, character, date),
Lebar field,
Nama field.
Stratifying Data
Data bisa dikelompokkan berdasarkan
Harga satuan,
Nilai transaksi,
Kuantitas, atau field numerik lainnya.
Fitur stratification digunakan untuk melihat distribusi data dalam interval tertentu
Manfaat stratifikasi
Memudahkan auditor menganalisis pola,
Mengidentifikasi kelompok data dengan frekuensi tidak normal,
Menilai struktur biaya atau komposisi nilai
Contoh
mengelompokkan persediaan berdasarkan unit cost untuk mengetahui strata mana yang memiliki item paling banyak.
Statistical Analysis
ACL mendukung analisis statistik, termasuk
Record sampling → setiap record punya peluang sama untuk dipilih.
Monetary Unit Sampling (MUS) → item bernilai besar memiliki peluang lebih besar masuk sampel
Penggunaan tergantung
Distribusi nilai dalam file,
Strategi auditor,
Tujuan pengujian audi
Filtering Data
Contoh penggunaan
Mencari persediaan dengan quantity on hand bernilai 0 atau negatif
Menggali transaksi yang mencurigakan.
Hasil filter akan menghasilkan tampilan baru (filtered view) yang berisi hanya record yang memenuhi kriteria.
ACL memungkinkan auditor membuat filter untuk mengambil record yang memenuhi kondisi tertentu menggunakan expression builder.
ANGGOTA KELOMPOK
M Trio Atmajaya
Belinda Amanda Putri
Shehsilya Putri Wijaya
Melisa Eka Putri
Rahma Triwindari
NAMA KELOMPOK
PWC