BAB 2 LANDASAN TEORI
2.1. Teori Umum Pada subbab ini akan dijelaskan mengenai definisi sistem, definisi data dan informasi, definisi teknologi informasi, definisi sistem informasi, definisi perancangan sistem, definisi basis data, definisi sistem basis data, DBMS (sistem manajemen basis data), SQL (Structure Query Language), dan UML (Unified Modeling Language).
2.1.1. Definisi Sistem Sistem adalah suatu cara untuk mengumpulkan, mengatur, mengendalikan dan menyebarkan informasi ke seluruh organisasi (Connolly dan Begg, 2005: 282). Menurut O’Brien dan Marakas (2006: 22), sistem adalah kumpulan elemen yang saling terhubung atau berinteraksi membentuk suatu kesatuan atau sekumpulan komponen yang saling terhubung dan bekerja sama untuk mencapai sasaran dengan menerima input dan menghasilkan output dalam sebuah proses transformasi yang terorganisir. Sedangkan menurut Hoffer et. al. (2010: 41), sistem merupakan suatu set yang terkait antar komponen dengan batasan teridentifikasi dan mampu bekerja sama untuk beberapa tujuan. Jadi, sistem adalah sekumpulan objek yang saling berhubungan dan berkaitan satu sama lain untuk melakukan suatu kegiatan atau menyelesaikan suatu masalah tertentu.
7
8 2.1.2. Definisi Data dan Informasi Menurut Atzeni (2003: 2), data adalah informasi mentah yang terekam yang dapat menyediakan informasi-informasi lainnya. Dikatakan juga, sebuah data yang berupa informasi mentah dapat sangat berarti, namun menjadi berarti data itu digabungkan. Data diorganisasikan dalam suatu hirarki yang terdiri atas elemen, rekaman (record), dan berkas (file). a. Elemen data Elemen data adalah satuan data terkecil yang tidak dapat dipecah lagi menjadi unit lain yang bermakna. b. Rekaman Rekaman adalah gabungan sejumlah elemen data yang paling terkait dalam sistem basis data relasional, rekaman biasa disebut dengan istilah tuple atau baris. c. Berkas Himpunan seluruh rekaman yang bertipe sama membentuk sebuah berkas. Berkas dapat dikatakan sebagai kumpulan rekaman data yang berkaitan dengan suatu subjek. Menurut Whitten et. al. (2004: 27), data adalah fakta mentah tentang orang, tempat, kejadian, dan barang yang penting dalam suatu organisasi dimana setiap fakta itu hampir tidak mempunyai arti. Sedangkan menurut Turban et. al. (2005: 38), data adalah deskripsi dasar dari suatu benda, kejadian, kegiatan, dan transaksi yang direkam, diklasifikasikan dan disimpan tetapi tidak diorganisasikan untuk menyampaikan arti yang spesifik. Turban et. al. (2005: 38) juga mengungkapkan bahwa informasi adalah data yang telah diorganisasikan agar data itu mempunyai arti dan nilai bagi penerima.
9 Menurut Whitten et. al. (2004: 27), informasi adalah data yang telah diproses atau diorganisasikan menjadi bentuk yang lebih berarti bagi seseorang. Informasi dibentuk dari kombinasi data yang mempunyai arti bagi penerima. Sedangkan menurut Laudon dan Laudon (2010: 46), informasi adalah data yang sudah diolah menjadi bentuk yang berarti dan berguna bagi manusia. Jadi dapat disimpulkan bahwa, data adalah sesuatu yang belum memiliki arti yang belum memberikan makna dan manfaat khusus bagi penerimanya dan memerlukan suatu pengolahan melalui berbagai analisis sehingga dapat dikumpulkan menjadi sebuah informasi, sedangkan informasi adalah data yang diolah menjadi bentuk yang memiliki manfaat khusus, lebih berguna dan berarti bagi penerimanya.
2.1.3. Definisi Teknologi Informasi Menurut William dan Sawyer (2003: 3), teknologi informasi adalah teknologi yang menggabungkan sistem komputer dengan jalur komunikasi yang membawa data, suara ataupun video. Dari kutipan tersebut, dapat disimpulkan bahwa teknologi informasi adalah pemrosesan, pengolahan dan penyebaran data dengan menggunakan teknologi komputerisasi untuk mengumpulkan, menyiapkan, memroses, mengumumkan, menganalisis dan menyebarkan informasi. Oleh karena itu, dengan menggunakan teknologi informasi, proses penyampaian informasi yang dilakukan dari pengirim ke penerima akan menjadi lebih cepat.
10 2.1.4. Definisi Sistem Informasi Menurut Turban et. al. (2005: 15), sistem informasi adalah sebuah sistem yang mengumpulkan, mengolah, menyimpan, menganalisa, dan menyebarkan informasi untuk sebuah tujuan tertentu. Dari kutipan di atas, dapat disimpulkan bahwa sistem informasi adalah suatu sistem yang terdiri dari komputer yang terhubung dengan jaringan yang digunakan manusia untuk menyimpan, mengubah, dan menyebarkan informasi.
2.1.5. Definisi Perancangan Sistem Menurut Rama et. al. (2008: 588), rancangan sistem merupakan fase ketiga dari siklus hidup pengembangan sistem. Tujuannya adalah untuk menentukan realisasi fisik dari sistem (formulir, laporan, tabel, proses, dan sebagainya) dan memilih pemasok. Tujuan dari perancangan sistem adalah untuk memenuhi kebutuhan para pemakai sistem dan untuk memberikan gambaran yang jelas dan rancang bangun yang lengkap kepada programmer. Kedua tujuan ini lebih berfokus pada perancangan atau desain siatem yang terinci yaitu pembuatan rancang bangun yang jelas dan lengkap yang nantinya akan digunakan oleh user, bukan oleh programmer.
2.1.6. Perancangan Flowchart Diagram Flowchart adalah penggambaran secara grafik dari langkah-langkah dan uruturutan prosedur dari suatu program. Flowchart menolong analis dan programmer untuk memecahkan masalah ke dalam segmen-segmen yang lebih kecil dan menolong dalam menganalisis alternatif-alternatif lain dalam pengoperasian. Flowchart biasanya mempermudah penyelesaian suatu masalah khususnya masalah
11 yang perlu dipelajari dan dievaluasi lebih lanjut. Contoh simbol flowchart dapat dilihat pada Gambar 2.1.
Gambar
Simbol untuk
Keterangan
Proses /
Menyatakan kegiatan yang akan ditampilkan dalam
Langkah
diagram alir.
Proses / Langkah dimana perlu adanya keputusan atau
Titik
adanya kondisi tertentu. Di titik ini selalu ada dua
Keputusan
keluaran untuk melanjutkan aliran kondisi yang berbeda.
Masukan / Keluaran Data
Digunakan untuk mewakili data masuk, atau data keluar.
Terminasi
Menunjukkan awal atau akhir sebuah proses.
Garis alir
Menunjukkan arah aliran proses atau algoritma.
Kontrol /
Menunjukkan proses / langkah dimana ada inspeksi atau
Inspeksi
pengontrolan.
Menunjukkan proses dimana setiap dokumen yang berupa Dokumen
data atau laporan – laporan yang tersimpan dalam database. Gambar 2.1 Simbol Flowchart
12 2.1.7. Basis Data Dalam subbab ini akan dibahas mengenai definisi basis data, sistem basis data, siklus basis data, arsitektur basis data, elemen-elemen basis data, tahapan perancangan basis data, dan keuntungan basis data. a. Definisi Basis Data Natalia et. al. (2003: 33) mengemukakan bahwa sebuah basis data, pada dasarnya merupakan kumpulan informasi yang akan ada dalam periode waktu. Menurut Connolly dan Begg (2005: 15), basis data adalah kumpulan data yang saling berhubungan satu sama lain secara logis yang digunakan secara bersamasama dan kumpulan data ini dirancang untuk memenuhi kebutuhan informasi suatu organisasi. Selain itu, Inmon (2005: 388) mengemukakan definisi basis data adalah sebuah data yang tersimpan dan saling berhubungan berdasarkan skema proses. Basis data dapat menyajikan satu atau banyak aplikasi Sedangkan menurut Ramakrishnan et. al. (2003: 4), basis data adalah kumpulan data yang secara khusus menggambarkan kegiatan dari satu atau lebih bagian-bagian yang berhubungan. Menurut Date (2003: 10), basis data adalah kumpulan data yang tersimpan dan digunakan oleh sistem aplikasi suatu organisasi. Dari beberapa kutipan di atas, dapat disimpulkan bahwa basis data adalah sekumpulan data yang saling berhubungan dan dirancang untuk memenuhi kebutuhan informasi dari suatu organisasi. Beberapa istilah penting dalam basis data, beserta pengertiannya menurut Connolly dan Begg (2005: 72-79) sebagai berikut:
13 1) Relation: sebuah tabel dengan kolom dan baris. 2) Attribute: kolom yang diberi nama pada sebuah relasi. 3) Relationship: asosiasi antar tabel. 4) Primary key: candidate key yang terpilih untuk mengidentifikasi tuple secara unik dalam sebuah relasi. 5) Multiplicity: jumlah kejadian yang mungkin dari sebuah tipe entitas yang berhubungan dengan kejadian tunggal dari tipe entitas lain yang berhubungan melalui relationship tertentu. b.
Sistem Basis Data Menurut Nizar et. al. (2009: 1), basis data secara real-time harus berurusan
dengan keterbatasan waktu data dan keterbatasan waktu transaksi. Keduanya sekarang sedang digunakan untuk beberapa aplikasi seperti kontrol ruang proyek, proses kontrol, pasar keuangan dan sistem kontrol lalu lintas udara. Sebuah basis data secara langsung memiliki dua ciri khas: gagasan data yang konsisten temporal, dan kemampuan untuk menempatkan secara real-time kendala pada transaksi. Menurut Date (2003: 9), sistem basis data adalah sistem terkomputerisasi yang tujuan utama adalah memelihara informasi dan membuat informasi tersedia saat dibutuhkan. Sebuah sistem basis data dapat memiliki beberapa basis data. Setiap sistem basis data dapat berisi/memiliki sejumlah objek basis data, yang antara lain yaitu: 1) Field Field adalah sekumpulan. Kecil dari kata atau sebuah deretan angka-angka. 2) Record Record adalah kumpulann dari field yang berelasi secara secara logis. Contoh: nama, alamat, nomor telepon, dan sebagainya.
14 3) File File atau berkas adalah kumpulan record yang berelasi secara logis. 4) Entity Entity adalah orang, tempat, benda, atau kejadian yang berkaitan dengan informasi yang disimpan. Contoh: pelanggan, pekerja, dan sebagainya. 5) Attribute Attribute adalah setiap karakteristik yang menjelaskan suatu entity. Contoh nama, pelanggan, umur pekerja, dan sebagainya. 6) Primary Key Primary key adalah sebuah field yang nilainya unik yang tidak sama antara satu record dan record lain. Primary key digunakan sebagai tanda pengenal suatu field. 7) Foreign Key Foreign
Key
adalah
sebuah
field
yang
nilainya
berguna
untuk
menghubungkan primary key lain yang berada pada tabel yang berbeda. c.
Siklus Basis data Menurut Connolly dan Begg (2005: 284-309), sebuah basis data dianalisis
dan dirancang berdasarkan siklus hidup yang tergambar pada Gambar 2.2 berikut:
15
Sumber: Connolly dan Begg (2005: 284) Gambar 2.2 Basis Data Development Lifecycle Diagram
Penjelasan dari Gambar 2.2 adalah sebagai berikut: 1) Basis data Planning Pada
tahap
ini
melakukan
perencanaan
sehingga
tahapan-tahapan
perancangan berikutnya dapat direalisasikan secara efektif dan efisien. 2) Sistem Definition Pada tahap ini menentukan ruang lingkup dan batasan aplikasi yang akan dibuat, seperti penggunanya dan lingkungan tempat aplikasi akan diimplementasikan.
16 3) Requirement Collection and Analysis Tahap ini merupakan suatu proses mengumpulkan dan menganalisis informasi tentang bagian dari organisasi yang akan didukung oleh sistem basis data dan menggunakan informasi ini untuk mengidentifikasi kebutuhan sistem baru. Ada banyak teknik untuk mengumpulkan informasi ini yang disebut dengan Fact Finding techniques, yaitu: a) Mempelajari Dokumentasi Mempelajari dokumentasi sangat berguna untuk memperoleh wawasan mengenai bagaimana kebutuhan basis data muncul, mengidentifikasi bagian dari organisasi yang terkait dengan masalah dan memahami sistem yang berjalan sekarang. b) Wawancara Teknik fact finding ini sangat populer dan umum digunakan. Teknik ini memungkinkan pengumpulan informasi secara individual secara tatap muka. c) Observasi Observasi merupakan teknik yang efektif untuk mengerti sistem. Ketika melakukan observasi, pengamat dimungkinkan untuk berpartisipasi atau menonton kegiatan tiap orang dalam menggunakan sistem. Teknik ini mudah digunakan untuk mengumpulkan data terhadap berbagai pertanyaan dan kompleksitasnya sesuai kebutuhan sistem berdasarkan penjelasan pengguna akhir.
17 d) Penelitian Teknik ini mudah digunakan untuk mengkaji masalah dan penerapan. Penelitian dapat menggunakan informasi terkini seperti jurnal komputer, buku referensi, dan internet. Selain itu, dapat juga menggunakan informasi bagaimana orang lain memecahkan masalah yang sama. e) Kuesioner Penyebaran kuesioner memungkinkan fakta disimpulkan dengan cepat dari banyak responden yang dikelola dengan beberapa kontrol. Ada dua tipe pertanyaan yakni format bebas dan format terikat. 4) Basis data Design Pada tahap ini dilakukan perancangan basis data secara konseptual, logikal dan fisikal. 5) DBMS Selection (Optional) Memilih DBMS yang cocok untuk digunakan bersama dengan aplikasi yang akan dibuat. 6) Application Design Tahap ini dilakukan untuk merancang tampilan bagi pengguna, kemudian merancang program aplikasi yang akan digunakan untuk memroses basis data. 7) Prototyping (Optional) Tahap ini bertujuan untuk membuat prototype dari aplikasi basis data. Hasil prototype ini memungkinkan perancang atau pengguna untuk memvisualisasikan serta mengevaluasi bentuk akhir sistem. 8) Implementation Dalam tahap ini dilakukan implementasi basis data fisikal dan rancangan aplikasinya.
18 9) Data Conversion and Loading Melakukan konversi atau peralihan data dari sistem lama ke sistem baru. 10) Testing Melakukan uji coba untuk mencari kesalahan pada aplikasi. Selain itu, dilakukan validasi atas kebutuhan yang telah dispesifikasikan oleh pengguna. 11) Operational Maintenance Sistem diimplementasi secara penuh dimana sistem diawasi dan dipelihara secara berkala. Jika diperlukan kebutuhan-kebutuhan baru, dapat dikerjakan setelah melalui tahapan perancangan basis data. d.
Arsitektur Basis Data Menurut Connolly dan Begg (2005: 34), terdapat tiga tingkat arsitektur basis
data (Three-Level ANSI-SPARC Architecture), yaitu: 1) Tingkat Eksternal (External Level) Tingkat ini merupakan cara pandang pengguna terhadap basis data. Tingkat ini menggambarkan bagian dari basis data yang relevan bagi pengguna tertentu. 2) Tingkat Konseptual (Conceptual Level) Tingkat ini menggambarkan data yang tersimpan dalam basis data dan hubungan antara data tersebut. 3) Tingkat Internal (Internal Level) Tingkat ini merupakan representasi fisik dari basis data yang menggambarkan bagaimana data disimpan di dalam basis data dan bagaimana basis data disimpan secara fisik di dalam peralatan penyimpanan yang berkaitan erat dengan tempat penyimpanan.
19 Tujuan utama dari tiga level ini adalah untuk mendapatkan dan memelihara kemandirian data (data independence) agar perubahan yang terjadi pada tingkat yang lebih rendah tidak mempengaruhi tingkat yang lebih tinggi, sehingga aplikasi yang sudah ada tidak terpengaruh oleh perubahan-perubahan yang terjadi pada basis data. e.
Elemen-Elemen Basis Data Menurut Whitten et. al. (2004: 550-552), dalam sebuah basis data terdapat
beberapa elemen sebagai berikut: 1) Field merupakan unit terkecil dari data yang berarti, untuk disimpan pada sebuah basis data. Ada empat macam tipe field yang dapat disimpan yaitu: a) Primary key merupakan field yang secara unik mengidentifikasi record pada tabel. Contohnya PELANGGAN_ID secara unik mengidentifikasi sebuah record tunggal pada tabel pelanggan di basis data. b) Secondary Key merupakan field yang mengidentifikasi record tunggal atau sebuah subset dari record yang terkait. Misalnya, semua PESANAN yang memiliki status ‘lunas’. Untuk memfasilitasi pencarian dan pengurutan maka dibuatlah index untuk kunci- kunci tersebut. c) Foreign Key merupakan field yang menunjuk kepada record pada tabel lain dalam basis data. Contohnya, pada tabel PESANAN, berisi foreign key PELANGGAN_ID
untuk mengidentifikasi record PELANGGAN yang
diasosiasikan dengan pesanan. d) Descriptive field merupakan semua field lainnya (non-key) yang menyimpan data. Misalnya, pada tabel KARYAWAN, ada field NAMA, ALAMAT, GAJI, dan lain-lain.
20 2) Record merupakan kumpulan field yang disusun dalam format yang telah ditetapkan. Contohnya, record PELANGGAN dapat dideskripsikan dengan field berikut. Field yang digaris bawahi merupakan primary key. Contoh: PELANGGAN
(PELANGGAN_ID,
NAMA,
ALAMAT,
KOTA,
KREDIT,
HUTANG…..)
3) Tabel merupakan kumpulan record yang sama. Misalnya record yang berisi data tentang pelanggan akan diorganisasikan membentuk tabel PELANGGAN.
Menurut Connolly dan Begg (2005: 342), sebuah basis data memiliki elemenelemen yang dijelaskan dalam ERM (Entity Relationship Modeling). ERM didasarkan pada persepsi terhadap dunia nyata yang tersusun atas kumpulan objekobjek dasar yang disebut entitas (entity) dan hubungan (relationship). Menurut Fathansyah (2002: 64), diagram ERM memperlihatkan hubungan yang ada di antara data store dari sebuah sistem tertentu. Jadi diagram ERM adalah merupakan notasi grafik dari sebuah model data yang diperoleh dari analisis. Entity dan relationship atau sebuah model jaringan yang menjelaskan tentang data yang tersimpan dari sebuah sistem. Berikut ini adalah contoh notasi ERM pada Gambar 2.3.
21
Gambar 2.3 Notasi ERM
ERM memiliki elemen-elemen yaitu: a. Tipe Entitas Tipe entitas adalah kumpulan objek-objek dengan properti dan karakteristik yang sama, yang diidentifikasi oleh suatu organisasi. Menurut Fathansyah (2002: 94), entity dapat dibedakan menjadi dua yaitu: 1) Strong Entity: entity yang keberadaannya tidak tergantung kepada entity lain. 2) Weak Entity: entity yang keberadaannya tergantung dari entity lain. b. Tipe Relasi Tipe Relasi adalah kumpulan dari tipe entitas yang mempunyai suatu arti. Setiap tipe relasi diberi nama sesuai dengan fungsinya.
22 c. Atribut Atribut adalah sebuah sifat atau karakteristik yang melekat pada sebuah entitas dan relasi. Ada beberapa jenis attribut: 1) Simple Attribute dan Composite Attribute Simple attribute adalah attribute yang terdiri dari komponen tunggal dimana attribute tersebut tidak dapat dipisahkan lagi, sedangkan composite attribute adalah attribute yang masih dapat dipisahkan menjadi beberapa bagian. 2) Single Value Attribute dan Multi Value Attribute Single value attribute adalah attribute yang memiliki satu nilai pada setiap entity, sedangkan multi-valued attribute adalah attribute yang mempunyai beberapa nilai pada setiap entity. Contoh dari single value attribute adalah Nim, nama_Mhs, tanggal_lahir, dan lain-lain. Sedangkan untuk multi value attribute contohnya adalah jam_pelajaran, hobi, dan lain-lain. 3) Derrived Attribute Derrived Attribute adalah atribut yang nilainya diperoleh dari pengolahan atau dapat diturunkan dari atribut atau tabel lain yang berhubungan. d. Structural Constrains Tipe utama dari batasan hubungan di dalam relasi disebut multiplicity. Multiplicity adalah sejumlah kemungkinan kejadian-kejadian dari sebuah tipe entitas di dalam sebuah hubungan n-ary ketika nilai-nilai yang lain (n-1) ditentukan. Multiplicity biasanya terdiri dari dua batasan terpisah yaitu:
23 1) Cardinality: mendeskripsikan jumlah maksimum dari kemungkinan kejadiankejadian yang saling berhubungan untuk sebuah partisipasi entitas pada proses penentuan tipe relasi. 2) Participation: menentukan apakah semua kejadian-kejadian entitas akan ikut berpartisipasi dalam sebuah relasi atau hanya beberapa saja yang ikut berpartisipasi. Jenis-jenis multiplicity menurut Connolly dan Begg (2005: 356) adalah: a. One-to-One (1:1) Relationship Berikut ini merupakan contoh relationship dari one-to-one yang dapat dilihat pada Gambar 2.4.
Gambar 2.4 Relationship One-to-One
Pada Gambar 2.4, dapat terlihat bahwa A hanya terhubung one-to-one (1:1) dengan C, dan B hanya terhubung one-to-one (1:1) dengan D. Jadi dari Gambar 2.4 dapat dituliskan notasi multiplicity–nya seperti pada Gambar 2.5.
24
Gambar 2.5 One-to-One Relationship Nation
b. One-to-Many (1:*) Relationship Berikut ini merupakan contoh relationship dari one-to-many yang dapat dilihat pada Gambar 2.6.
Gambar 2.6 Relationship One-to-Many
Pada Gambar 2.6, dapat terlihat bahwa B terhubung one-to-many (1:*) dengan D dan E. Jadi dari Gambar 2.6 dapat dituliskan notasi multiplicity-nya seperti yang terlihat pada Gambar 2.7.
25
Gambar 2.7 One-to-Many Relationship Nation
c. Many-to-Many (*:*) Relationship Berikut ini merupakan contoh relationship dari many-to-many yang terlihat pada Gambar 2.8.
Gambar 2.8 Relationship Many-to-Many
Pada Gambar 2.8, dapat terlihat bahwa A terhubung one-to-many (1:*) dengan D dan E, sedangkan E terhubung one-to-many (1:*) dengan A dan B. Jadi dari entitas Group 1 (nilainya A dari Gambar 2.12) dan Group 2 (nilainya E dari Gambar 2.8) terhubung many-to-many (*:*). Jadi dari Gambar 2.8 dapat dituliskan notasi multiplicity-nya seperti yang terlihat pada Gambar 2.9.
26
Gambar 2.9 Many-to-Many Relationship Nation
d. Keys Key memiliki peran yang sangat penting untuk menghubungkan satu objek dengan objek lainnya. Key diletakkan pada suatu atribut yang telah ditentukan kedudukannya agar dapat dihubungkan dengan atribut pada entitas yang lain. Beberapa jenis key yang dapat digunakan antara lain: 1) Candidate Key, yaitu himpunan atribut minimal yang secara unik mengidetifikasi tiap keberadaan suatu entitas. 2) Primary Key, yaitu candidate key yang dipilih secara unik untuk mengidentifikasi tiap keberadaan suatu entitas. 3) Foreign Key, yaitu himpunan atribut dalam suatu relasi yang cocok dengan candidate key dari beberapa relasi. 4) Alternate Key, yaitu candidate key yang tidak terpilih menjadi primary key.
27 f. Tahapan Perancangan Basis Data Metodologi perancangan basis data didefinisikan oleh Connolly dan Begg (2005: 438) menjadi tiga tahapan, yaitu: Metodologi perancangan basis data didefinisikan oleh Connolly dan Begg (2005: 438) menjadi tiga tahapan, yaitu: 1) Perancangan Basis Data Konseptual Tahap ini adalah proses pembuatan model informasi yang digunakan agar tidak tergantung pada semua masalah fisik. Tahap ini dimulai dengan pembuatan model data konseptual organisasi yang secara keseluruhan terbebas dari detail implementasi DBMS, program aplikasi, bahasa pemrograman, platform untuk hardware, tingkat kinerja, maupun bentuk masalah fisik lainnya. Langkah-langkah yang dilakukan adalah:
Langkah 1: Membuat model data konseptual lokal untuk setiap tampilan. a) Mengidentifikasi tipe entitas Langkah pertama dalam membangun model data konseptual lokal adalah menentukan objek utama untuk membangun basis data. Setelah menentukan objek, maka dapat dilakukan identifikasi entitas yang diperlukan untuk membangun basis data tersebut. b) Mengidentifikasi tipe relasi Setelah mengidentifikasi semua entitas yang diperlukan, langkah selanjutnya adalah menentukan relasi dari semua entitas yang ada. c) Mengidentifikasi dan menghubungkan atribut dengan entitas atau relasi Dalam langkah ini dilakukan identifikasi atribut yang dapat mewakili entitas dan relasi yang telah dibuat.
28 d) Menentukan domain atribut Tujuan dari langkah ini adalah untuk menentukan semua batasan nilai dari atribut yang telah dibuat. e) Menentukan atribut yang termasuk candidate key dan primary key Pada langkah ini dilakukan pemilihan candidate key dari semua atribut pada setiap entitas yang ada, kemudian dari candidate key tersebut dipilih satu atribut yang akan menjadi primary key. f) Pertimbangkan penggunaan konsep enhanced modelling (optional) Dalam langkah ini, model entitas yang telah ada dapat dikembangkan, misalnya membuat spesifikasi, generalisasi, agregasi, maupun komposisi dari entitas yang ada. g) Memeriksa model dari redundansi Pada tahap ini dilakukan pengecekan redundansi dari model data konseptual lokal yang telah dibuat. h) Memvalidasikan model konseptual lokal terhadap transaksi pengguna Langkah ini bertujuan untuk memastikan bahwa model data konseptual local yang telah dibuat dapat mendukung semua transaksi yang dilakukan oleh pengguna. i) Meninjau model data konseptual lokal dengan pengguna Sebelum menyelesaikan langkah pertama, maka harus dilakukan peninjauan kembali dari model data konseptual lokal dengan pengguna. Dalam model data konseptual terdapat Entity Relationship Diagram (selanjutnya disingkat ERD) dan dokumen yang menjelaskan model data.
29 2) Perancangan Basis Data Logikal Setelah melakukan langkah-langkah perancangan basis data konseptual, langkah selanjutnya adalah membuat perancangan basis data logikal, yaitu:
Langkah 2: Membangun dan memvalidasikan model data logikal lokal untuk setiap tampilan. a) Menghilangkan fitur-fitur yang tidak sesuai dengan model data relasional Pada langkah ini harus menghilangkan many-to-many binary relationship types, many-to-many recursive relationship types, complex relationship types, dan multi-valued attributes. b) Membuat relasi untuk model data logikal lokal Langkah ini bertujuan agar dapat membuat relasi untuk model data logikal local yang menggambarkan entitas, relasi, dan atribut yang telah diidentifikasi. Berikut ini yang harus dibuat untuk menunjukkan struktur relasi pada model data: (1) Strong entity types; (2) Weak entity types; (3) One-to-many (1:*) binary relationship types; (4) One-to-one (1:1) binary relationship types; (5) Superclass/subclass relationship types; (6) Many-to-many (*:*) binary relationship types; (7) Complex relationship types; (8) Multi-valued attributes;
30 c) Memvalidasi relasi menggunakan normalisasi. Normalisasi akan menjadi lebih kompleks apabila jumlah hubungan dan jumlah atribut dalam setiap relasi kuat. (Patwardhan et. al., 2010: 132) d) Memvalidasi relasi terhadap transaksi pengguna. e) Menentukan integrity constraints. f) Meninjau model data logikal lokal dengan pengguna.
Langkah 3: Membangun dan memvalidasi model data logikal global. a) Menggabungkan model data logikal lokal ke model global. b) Memvalidasi model data logikal global. c) Mengecek perkembangan di masa yang akan datang. d) Meninjau model data logikal global dengan pengguna.
3) Perancangan Basis Data Fisikal Perancangan
ini
merupakan
sebuah
proses
pembuatan
deskripsi
dari
implementasi basis data secondary storage yang menjelaskan basis relasi, organisasi file, indeks yang digunakan untuk memperoleh akses pada data yang efisien, masalah integritas lainnya yang berkaitan, serta menentukan mekanisme keamanan. Tahap ini memungkinkan perancang untuk menentukan bagaimana basis data diimplementasikan. Oleh karena itu, rancangan fisikal dirancang untuk DBMS yang khusus. Antara rancangan logikal dan fisikal terdapat keterkaitan, hal ini disebabkan karena keputusan yang diambil selama perancangan fisikal untuk meningkatkan kinerja dapat mempengaruhi model data logikal.
31 Langkah selanjutnya yang harus dilakukan untuk merancang basis data pada tahap basis data fisikal yaitu:
Langkah 4: Menerjemahkan model data logikal global untuk target DBMS. a) Merancang relasi-relasi dasar; b) Merancang representasi dari derived data; c) Merancang enterprise constraints.
Langkah 5: Merancang representasi fisik. a) Menganalisis transaksi; b) Memilih organisasi file; c) Memilih indeks; d) Estimasi kebutuhan disk space.
Langkah 6: Merancang user views. Langkah 7: Merancang mekanisme keamanan. Langkah 8: Mempertimbangkan pengenalan dari kontrol redundansi. Langkah 9: Mengawasi dan menyesuaikan sistem operasional.
g.
Keuntungan Basis Data Menurut Date (2003: 15), keuntungan dari penggunaan basis data yaitu: 1) Compactness: penggunaan kertas dapat dikurangi; 2) Speed: mengambil dan mengubah data lebih cepat; 3) Less drudgery: penulisan dengan tangan dapat dikurangi; 4) Currency: basis data lebih akurat dan up to date.
32 2.1.8. Sistem Manajemen Basis Data Pada subbab ini, akan dijelaskan mengenai definisi DBMS, tujuan DBMS, komponen DBMS, fungsi DBMS, fasilitas DBMS, serta keuntungan dan kerugian DBMS. a.
Definisi DBMS Menurut Hellerstein et. al. (2007: 142), DBMS dibuat untuk mewujudkan
dekade akademik dan penelitian dan pengembangan industri software yang kuat untuk perusahaan. Sistem basis data dibangun dengan sistem server awal secara online yang banyak digunakan dan dengan demikian telah didapat solusi desain yang mencakup tidak hanya manajemen data, tetapi juga aplikasi, sistem operasi, dan jaringan layanan. DBMS awal adalah salah satu perangkat lunak yang paling berpengaruh pada sistem dalam ilmu komputer, dan ide-ide dan implementasi masalah dirintis untuk DBMS secara luas disalin dan diciptakan kembali. Menurut Anonymous (2005: 1), DBMS adalah sebuah perangkat lunak yang dapat membantu pengguna untuk membuat dan memelihara suatu basis data. Menurut Connolly dan Begg (2005: 16), DBMS merupakan sistem perangkat lunak yang memungkinkan pengguna untuk mendefinisikan, membuat, merawat, dan mengontrol akses basis data. Berdasarkan Whitten et. al. (2004: 554), DBMS adalah sistem perangkat lunak komputer khusus yang disediakan oleh vendor-vendor komputer yang digunakan untuk membuat, mengakses, mengontrol, dan mengelola basis data. DBMS bekerja seperti mesin dengan merespon perintah-perintah khusus untuk membuat struktur basis data, kemudian membuat, membaca, memperbarui, dan menghapus record-record pada basis data tersebut. Oleh karena itu, DBMS sering
33 disebut basis data engine. DBMS dapat dibeli dari sebuah vendor teknologi basis data seperti Oracle, IBM, atau Microsoft. Keakuratan data dalam proses bisnis akan menjadi hal yang sangat penting terutama mengenai data security. Karena data tersebut diperlukan sebagai bahan pertimbangan dalam proses pengambilan keputusan, baik untuk perekrutan, pendidikan dan pelatihan serta penugasan security. Selain itu dengan basis data prosesnya cepat dan mudah, karena terdapat software pembantu pada basis data yang disebut Database Management System (DBMS) yang dapat mengorganisasi, memanipulasi (mengubah, menyimpan, menghapus) maupun mengambil data kembali. DBMS juga menerapkan mekanisme pengamanan data, pemakaian data secara bersama, dan menjamin konsistensi data. Kemudahan dalam pengoperasian ini dimaksudkan untuk pengguna demi meningkatkan kinerja pada bagian operasional dalam mengolah data. Dan proses kecepatan berguna untuk menampilkan data atau informasi tentang data security yang memiliki banyak record dengan cepat tanpa memakan banyak waktu dalam mencari file yang tersimpan di dalam arsip (Alif Shokibi, 2009). Dari pengertian-pengertian di atas, penulis menyimpulkan bahwa DBMS adalah perangkat lunak yang dapat menangani semua pengaksesan basis data dan mempunyai fasilitas menyimpan, mengakses, memanipulasi, serta memelihara basis data. b.
Tujuan DBMS Tujuan utama pengolahan data dalam basis data adalah agar dapat memperoleh data yang dicari dengan mudah dan cepat. Pemanfaatan basis data dilakukan untuk memenuhi sejumlah tujuan seperti berikut ini:
34 1) Kecepatan dan kemudahan (speed) 2) Efisiensi ruang penyimpanan (space) 3) Keakuratan (accuracy) 4) Ketersediaan (availability) 5) Kelengkapan (completeness) 6) Keamanan (security) 7) Kebersamaan pemakai (sharebility)
c.
Komponen-Komponen DBMS Menurut Connolly dan Begg (2010: 18), terdapat lima komponen penting DBMS, yaitu: 1) Data Merupakan komponen terpenting yang menghubungkan antara komponen mesin (hardware dan software) dan komponen manusia (procedures dan people). 2) Software Meliputi aplikasi software, DBMS, dan sistem operasi. Jika dalam penggunaannya menggunakan jaringan, maka sistem jaringan juga termasuk. 3) Hardware Untuk menjalankan DBMS dan aplikasi-aplikasinya, dibutuhkan hardware yang meliputi PC (Personal Computer), mainframe, dan jaringan komputer. 4) Procedures Prosedur adalah instruksi dan aturan yang mengatur perancangan dan penggunaan basis data.
35 5) People Komponen ini meliputi basis data administrators, basis data designers, application developers, dan end users. d. Fungsi DBMS Menurut Anonymous (2005: 1), fungsi dari DBMS yaitu menspesifikasi tipe data, struktur dan konstrain data, menyimpan data, manipulasi basis data seperti query basis data, update basis data, dan membuat laporan dari data yang tersimpan dalam basis data. Menurut Connolly dan Begg (2005: 48), DBMS seharusnya memiliki fungsi-fungsi sebagai berikut: 1) Data Storage, Retrieval, dan Update DBMS memungkinkan pengguna untuk menyimpan, mengambil, dan mengubah data. 2) A User-Accessible Catalog Katalog yang berisikan deskripsi data item dan dapat diakses oleh pengguna. 3) Transaction Support Mekanisme yang akan menjamin seluruh perubahan data yang berhubungan dengan transaksi yang sudah ada maupun yang akan dibuat. 4) Concurrency Control Services Mekanisme yang menjamin perubahan data secara benar ketika beberapa pengguna melakukan perubahan terhadap data yang sama secara bersamasama. 5) Recovery Services Mekanisme untuk pemulihan basis data ke keadaan semula ketika terjadi kerusakan atau kesalahan pada suatu basis data.
36 6) Authorization Services Mekanisme yang menjamin bahwa hanya pengguna yang terotorisasi yang dapat mengakses basis data. 7) Support for Data Communication Terintegrasi dengan sofware komunikasi sehingga basis data dapat diakses dari lokasi yang jauh. 8) Integrity Services Memiliki sarana yang menjamin semua data di dalam basis data maupun perubahan-perubahan terhadap data tersebut mengikuti aturan-aturan yang berlaku (constraint). 9) Services to Promote Data Independent Mendukung kemandirian data sehingga software tidak terpengaruh terhadap struktur aktual dari basis data. 10) Utility Services Menyediakan
berbagai
program,
seperti
program
analisis
statistik,
pengawasan fasilitas, fasilitas reorganisasi indeks, dan lain-lain. e. Fasilitas DBMS Beberapa fasilitas yang disediakan dalam DBMS, yaitu: 1) DBMS memungkinkan pengguna untuk mendefinisikan struktur atau kerangka suatu basis data dengan DDL (Data Definition Languange), yang memungkinkan pengguna untuk menspesifikasikan tipe dan struktur data serta batasan-batasan data yang akan disimpan dalam basis data. 2) DBMS memungkinkan pengguna untuk melakukan insert, update, delete, dan retrieve terhadap data yang ada di dalam basis data melalui DML (Data Manipulation Languange) dengan query language.
37 3) DBMS menyediakan kontrol terhadap pengaksesan suatu basis data, dengan mencegah pengaksesan basis data oleh pengguna yang tidak terotorisasi. f. Keuntungan dan Kerugian DBMS Menurut Connolly dan Begg (2005: 26), keuntungan DBMS adalah sebagai berikut: 1) Mengurangi kesalahan yang disebabkan oleh faktor manusia. Tugas mekanisme lebih baik dilaksanakan oleh mesin; 2) Komputer dapat mengambil dan mengubah data lebih cepat dari manusia; 3) Akurat dan informasi terbaru selalu tersedia setiap saat; 4) Menghemat ruangan karena tidak perlu menyediakan ruangan penyimpanan kertas file yang sangat banyak.
Menurut Connolly dan Begg (2005: 26), kerugian DBMS adalah sebagai berikut: 1) Kompleksitas; 2) Ukuran; 3) Biaya dari DBMS; 4) Biaya tambahan perangkat keras; 5) Biaya proses konversi; 6) Perfoma; 7) Pengaruh kegagalan yang lebih tinggi.
2.1.9. Structured Query Language Menurut Whitten et. al. (2004: 556), SQL merupakan bahasa standar yang telah digunakan secara resmi dan luas sebagai DDL dan DML pada DBMS.
38 Menurut Connolly dan Begg (2005: 40), pengertian DDL adalah suatu bahasa yang memperbolehkan DBA (Basis data Administrator) atau pengguna untuk mendeskripsikan dan memberi nama suatu entitas, atribut, dan relasi data yang dibutuhkan untuk aplikasi, bersama dengan integritas data yang diasosiasikan dan batasan (constrain) keamanan data. Perintah bahasa tersebut secara umum antara lain: a. CREATE, digunakan untuk membuat suatu objek basis data yang baru. b. ALTER, digunakan untuk mengubah atribut-atribut dari objek basis data yang sudah terdapat pada basis data. c. DROP, digunakan untuk menghapus objek tertentu. Pengoperasian data yang akan dimanipulasi biasanya meliputi: a. Penambahan data baru ke dalam basis data. b. Modifikasi data yang disimpan ke dalam basis data. c. Pengembalian data yang terdapat di dalam basis data d. Penghapusan data dari basis data.
DML dibagi menjadi dua jenis yaitu Procedural dan Non-Procedural. Menurut Connolly dan Begg (2005: 41), pengertian procedural DML adalah suatu bahasa yang memperbolehkan pengguna untuk mendeskripsikan ke sistem data apa yang akan dibutuhkan dan bagaimana mendapatkan data tersebut secara tepat, sedangkat Non-procedural DML adalah sebuah bahasa yang mengizinkan pengguna untuk menentukan apa yang dibutuhkan tanpa memperhatikan bagaimana data tersebut diperoleh.
39 Perintah-perintah dalam DML antara lain: a. SELECT, digunakan untuk melakukan query b. INSERT, digunakan untuk memasukkan data ke tabel. c. UPDATE, digunakan untuk memperbaharui data pada tabel d. DELETE, digunakan untuk menghapus data dari tabel. e. FROM, digunakan untuk menentukan tabel yang ingin digunakan selam proses pengeksekusian query. f. WHERE, digunakan untuk melakukan filtrasi data pada tabel yang dilakukan query berdasarkan kondisi tertentu.
2.1.10. Unified Modeling Language Pada subbab ini akan dibahas mengenai definisi dari UML dan deliverables UML. a.
Definisi Unified Modeling Language Menurut Whitten et. al. (2004: 441), UML adalah satu kumpulan konvensi
pemodelan yang digunakan untuk menentukan atau menggambarkan sebuah sistem software yang terkait dengan objek. Jadi dapat disimpulkan bahwa UML merupakan bahasa yang telah menjadi standar untuk visualisasi, merancang, dan mendokumentasikan sistem software. b.
Deliverables Unified Modeling Language Menurut Whitten et. al. (2004: 441-442), UML menawarkan sembilan
diagram yang dikelompokkan menjadi lima perspektif berbeda untuk memodelkan suatu sistem informasi. Diagram-diagram tersebut yaitu:
40 1) Use Case Use case secara grafis menggambarkan interaksi antara sistem, sistem eksternal, dan pengguna. Dengan kata lain, secara grafis mendeskripsikan siapa yang akan menggunakan sistem dan dalam cara apa pengguna mengharapkan interaksi dengan sistem ini. Contoh use case dapat dilihat pada Gambar 2.10.
Gambar 2.10 Use Case 2) Activity Diagram Activity diagram secara grafis digunakan untuk menggambarkan rangkaian aliran aktivitas baik proses bisnis atau use case, memodelkan tindakan yang akan dilakukan saat sebuah operasi dieksekusi, dan memodelkan hasil dari action tersebut. Contoh activity diagram dapat dilihat pada Gambar 2.11.
41
Gambar 2.11 Activity Diagram
3) Class Diagram Class diagram menggambarkan struktur objek sistem yang menunjukkan kelas objek yang menyusun sistem dan juga hubungannya antara kelas objek tersebut. Contoh class diagram dapat dilihat pada Gambar 2.12.
42
Gambar 2.12 Class Diagram
4) Sequence Diagram Sequence
diagram
secara
grafis
menggambarkan
bagaimana
objek
berinteraksi satu sama lain melalui pesan pada eksekusi sebuah use case atau operasi. Diagram ini mengilustrasikan bagaimana pesan terkirim dan diterima di antara objek dalam suatu sekuensi. Contoh sequence diagram dapat dilihat pada Gambar 2.13.
43
Gambar 2.13 Sequence Diagram
2.2. Teori Khusus Pada teori khusus akan dibahas mengenai definisi pembelian, definisi penjualan, dan defisini persediaan.
2.2.1. Definisi Pembelian Menurut Mulyadi (2008: 299), pembelian didefinisikan sebagai suatu usaha yang digunakan oleh perusahaan dalam pengadaan barang yang diperlukan oleh perusahaan. a. Penggolongan Transaksi Pembelian Transaksi pembelian dapat digolongkan menjadi dua yaitu: 1) Pembelian lokal, yaitu pembelian dari pemasok dalam negeri, 2) Pembelian impor, yaitu pembelian dari pemasok luar negeri.
b. Fungsi yang Terkait dengan Transaksi Pembelian Fungsi yang terkait dalam sistem pembelian menurut Mulyadi (2008: 299) adalah sebagai berikut:
44 1) Fungsi Gudang Memiliki tanggung jawab untuk mengajukan permintaan pembelian sesuai dengan persediaan yang ada di gudang dan menyimpan barang yang telah diterima oleh fungsi penerimaan. 2) Fungsi Pembelian Memiliki tanggung jawab untuk memperoleh informasi mengenai harga barang, menentukan pemasok yang dipilih dalam pengadaan barang, dan mengeluarkan order pembelian pada pemasok yang dipilih. 3) Fungsi Penerimaan Memiliki tanggung jawab untuk melakukan pemeriksaan terhadap jenis, mutu dan kuantitas barang yang diterima dari pemasok guna menentukan layak atau tidaknya barang tersebut diterima oleh perusahaan. Fungsi ini juga bertanggung jawab untuk menerima barang dari pembeli yang berasal dari retur penjualan. 4) Fungsi Akuntansi Fungsi yang terkait dalam hal ini adalah fungsi pecatat ulang dan fungsi pencatat persediaan. Fungsi pencatat hutang bertugas untuk mencatat transaksi pembelian ke dalam bukti kas keluar dan untuk menyelenggarakan arsip dokumen sumber (bukti kas keluar) yang berfungsi sebagai catatan hutang atau menyelenggarakan kartu hutang sebagai buku pembantu hutang. Fungsi pencatat persediaan bertanggung jawab untuk mencatat harga pokok persediaan barang yang dibeli dalam kartu persediaan.
45 2.2.2. Definisi Penjualan Menurut Romney (2003: 157), penjualan merupakan suatu set rekursif dari kegiatan bisnis dan beroperasi pemesanan informasi terkait yang dihubungkan dengan penyediaan barang dan pelayanan pelanggan dan penerimaan pembayaran dari penjualan tersebut. Menurut Arif dan Wibowo (2008: 78-79), penjualan tunai adalah penjualan barang dagangan dengan menerima pembayaran kas atau tunai secara langsung dari pelanggan pada saat terjadinya penjualan. Sedangkan penjualan kredit adalah penjualan barang dagangan dengan kesepakatan antara pembeli dan penjual pada saat transaksi, yaitu pembayaran akan dilakukan pada waktu yang akan datang. a.
Penggolongan Transaksi Penjualan Menurut Mulyadi (2008: 248), penjualan barang dan jasa dapat di golongkan
menjadi dua, yaitu: 1) Penjualan Tunai Penjualan tunai mewajibkan pembeli melakukan pembayaran sesuai dengan harga barang terlebih dahulu sebelum barang diserahkan kepada pembeli oleh perusahaan. Setelah pembayaran dilakukan, barang diserahkan kepada pembeli dan transaksi penjualan tunai kemudian dicatat oleh perusahaan. 2) Penjualan Kredit Penjualan kredit memberi kesempatan kepada para pembeli membelanjakan penghasilan yang akan diterima mereka di masa yang akan datang. Dalam sistem penjualan kredit, perusahaan menyeleksi pelanggan yang secara keuangan dapat diberi hak untuk melakukan pembelian secara kredit kepada perusahaan. Pembelian yang dlakukan oleh pelanggan selama jangka waktu tertentu dicatat sebagai piutang. Pada waktu yang ditentukan bagi pelanggan
46 untuk membayar, perusahaan akan menagih kepada pelanggan yang bersangkutan secara kredit dapat menanamkan kesetiaan pelanggan terhadap perusahaan. b.
Fungsi yang Terkait dengan Transaksi Penjualan Menurut Mulyadi (2008: 204), fungsi yang terkait dengan sistem penjualan
yaitu: 1) Fungsi Kredit Memiliki tanggung jawab untuk meneliti status kredit pelanggan dan memberikan otorisasi pembelian kredit kepada pelanggan. 2) Fungsi penjualan Memiliki tanggung jawab untuk menerima order, meng-edit order, meminta otorisasi kredit, menentukan segala pengiriman dan transaksi penjualan 3) Fungsi gudang Memiliki tanggung jawab untuk menyimpan dan menyiapkan barang yang dipesan dan mengirimkan ke bagian pengiriman. 4) Fungsi pengiriman Memiliki tanggung jawab untuk mengirimkan barang ke pelanggan berdasarkan surat order yang diterima dari bagian penjualan. 5) Fungsi Akuntansi Memiliki tanggung jawab untuk mencatat transaksi penjualan dan mengirimkan pernyataan piutang kepada debitur, serta membuat laporan penjualan.
47 2.2.3. Definisi Persediaan Menurut Niswonger et. al. (2005: 359), persediaan adalah sesuatu yang digunakan untuk mengidentifikasi barang dagang yang disimpan untuk kemudian dijual dalam operasi normal perusahaan dan bahan yang terdapat dalam proses produksi atau yang disimpan untuk tujuan itu. Menurut Mulyadi (2008: 556), persediaan adalah bertujuan untuk mencatat mutasi tiap jenis persediaan yang disimpan di gudang. a. Jenis-Jenis Persediaan Menurut Render (2010: 314) terdapat empat jenis persediaan: 1) Persediaan bahan mentah Bahan mentah telah dibeli, namun belum diproses. 2) Persediaan barang dalam proses Barang telah mengalami beberapa perubahan, tetapi belum selesai. 3) Persediaan MRO (Maintenance Repair Orientation) Persediaan yang dikhususkan untuk perlengkapan pemeliharaan atau perbaikan atau operasi. 4) Persediaan barang jadi Barang sudah selesai dan menunggu untuk dikirimkan, barang jadi dimasukkan ke dalam persediaan karena permintaan konsumen untuk jangka waktu tertentu yang mungkin tidak diketahui. b.
Fungsi yang Terkait dengan Sistem Persediaan Menurut Mulyadi (2008: 579), fungsi-fungsi yang terkait dalam sistem persediaan adalah:
48 1) Panitia perhitungan fisik persediaan Berfungsi
untuk
melaksanakan
perhitungan
fisik
persediaan
dan
menyerahkan hasil perhitungan tersebut kepada Bagian Kartu Persediaan untuk digunakan sebagai dasar penyesuaian terhadap catatan persediaan dalam kartu persediaan. 2) Fungsi Akuntansi Bertanggung jawab untuk mencantumkan harga pokok satuan persediaan barang yang dihitung ke dalam daftar hasil perhitungan fisik, mengalihkan kuantitas dan harga pokok per satuan yang tercantum dalam daftar hasil perhitungan fisik, melakukan penyesuaian terhadap kartu persediaan berdasarkan data hasil perhitungan fisik persediaan, membuat bukti memorial untuk mencatat penyesuaian data persediaan dalam jurnal umum berdasarkan hasil perhitungan fisik persediaan. 3) Fungsi Gudang Bertanggung jawab untuk melakukan penyesuaian data kuantitas persediaan yang dicatat dalam kartu gudang berdasarkan hasil perhitungan fisik persediaan.