BAB II LANDASAN TEORI
2.1.
REKAYASA PERANGKAT LUNAK (RPL)
2.1.1. SDLC (System Development Life Cycle).
Metodologi klasik atau tradisional yang biasa dipakai untuk mengembangkan sistim informasi adalah yang dinamakan SDLC (System Development Life Cycle) atau Daur Hidup Pengembangan Sistem. Metodologi ini mencakup mulai dari awal proyek, menganalisa kebutuhan data, merancang sistem, dan memelihara sistem. Salah satu model SDLC adalah model Air Terjun (Waterfall), seperti yang diperlihatkan pada gambar 2.1.
REQUIREMENTS
ANALYSIS
DESIGN
CODING
TESTING
ACCEPTANCE
Gambar 2.1.Diagram SDLC model waterfall
9
10
2.1.2. DFD (Data Flow Diagram).
Dalam
menggambarkan
proses-proses
bisnis
dalam
organisasi
khususnya pada sistem aplikasi yang akan dibuat, biasa menggunakan diagram aliran data yang dikenal dengan istilah DFD (Data Flow Diagram). DFD ini dapat digunakan untuk berkomunikasi antara pengembang sistem dan calon pemakai sistem. Komponen yang digunakan pada Data Flow Diagram sebagai berikut : 1. Menurut Yourdan dan Demarco
Terminator
Proses
Data store
Alur Data
Gambar 2.2. Notasi menurut Yourdan dan Demarco
2. Menurut Gene dan Serson.
Terminator
Proses
Data store
Alur Data
Gambar 2.3. Notasi menurut Gene dan Serson
A. Komponen Terminator / Entitas luar. Adalah entitas diluar sistem yang berkomunikasi / berhubungan langsung dengan sistem. Terdapat 2 jenis Terminator : 1.
Terminator sumber. Merupakan Terminator yang menjadi sumber.
11
2.
Terminator tujuan. Merupakan Terminator yang menjadi tujuan data / informasi sistem. Gambar dari Terminator tersebut adalah sebagai berikut :
Terminator sumber
Terminator Tujuan T.Tujuan dan Sumber. Gambar 2.4. Terminator tujuan
Terminator dapat berupa orang, sekelompok orang, organisasi perusahaan/deparemen yang berada diluar sistem yang akan dibuat, diberi Data Flow Diagram. Nama yang berhubungan dengan sistem tersebut biasanya menggunakan kata benda. Contoh : Dosen, Mahasiswa. B. Komponen Proses. Komponen proses menggambarkan transformasi input menjadi output. Penamaan proses disesuaikan dengan proses/kegiatan yang sedang dilakukan. Ada 4 kemungkinan yang dapat terjadi dalam proses sehubungan dengan input dan ouput, seperti yang diperlihatkan gambar 2.5.
1 Input 1 Output
Banyak Input 1 Output
1 Input banyak Output
Banyak Input banyak Output
Gambar 2.5 Proses hubungan input dan output.
12
C. Komponen Data Store.
Komponen ini digunakan untuk menggambarkan sekumpulan paket data yang diberi nama kata benda. Data Store dapat berupa file/database yang tersimpan dalam harddisk, buku, stau media lainnya. Yang perlu diperhatikan pada data store adalah : • Data store adalah tempat penyimpanan, yang berarti data store merupakan komponen tujuan. •
Data store merupakan sumber menuju proses, yang berarti data store merupakan komponen sumber.
•
Alur data dari proses ke data store dan kebalikannya, yang berarti data store merupakan komponen sumber dan sekaligus komponen tujuan. Lihat gambar 2.6.
Proses Write
Proses read
Proses Update
Gambar 2.6 Proses ke dan dari data store.
D. Komponen Alur Data.
Alur data digunakan untuk menerangkan perpindahan data / paket data dari satu bagian ke bagian lainnya. Alur data dapat berupa kata pesan, formulir / informasi.
13
Ada 4 konsep tentang alur data, antara lain : 1. Packet of data.
Adalah apabila ada 2 data atau lebih yang mengalir dari sumber yang sama menuju tujuan yang sama dan memiliki hubungan maka digambarkan dengan 1 alur data, lihat gambar 2.7.
Gambar 2.7 Aliran paket data.
2. Diverging data flow.
Adalah apabila ada sejumlah paket data yang berasal dari sumber yang sama menuju tujuan yang berbeda atau paket data yang kompleks dibagi menjadi beberapa elemen data yang dikirim ke tujuan yang berbeda
Gambar 2.8. Diverging data flow.
3. Converging data flow.
Adalah apabia ada beberapa alur data yang berbeda sumber menuju ke tujuan yang sama.
Gambar 2.9. Converging data flow.
14
4. Sumber dan tujuan.
Adalah arus data harus dihubungkan pada proses, baik dari proses maupun menuju proses, lihat gambar 2.10.
Dari proses ke bukan proses
Dari bukan proses ke proses
Gambar 2.10 Arus data dari proses ke bukan proses dan kebalikan.
Dari proses ke proses Gambar 2.11 Arus data dari proses ke proses. E. Levelisasi DFD. a
c
b
d
1 a
2
c
e b
3 f
b
e
3.2
g
j
3.1
3.3 h
3.4
f
Gambar 2.12. Level DFD
15
2.2.
Pemodelan Data.
2.2.1. ER (Entity Relationship).
Model ER adalah suatu model yang digunakan untuk menggambarkan data
dalam
bentuk
entitas,
atribut
dan
hubungan
antar
entitas.
Penggambarannya menggunakan bentuk diagram. Model ini tidak mencerminkan bentuk fisik yang akan disimpan kedalam database, melainkan hanya sebagai bentuk konseptual. Notasi yang digunakan pada Gambar 2.13 dan contoh sebuah model ER pada Gambar 2.14
ATRIBUT
\
KARDINALITAS HUBUNGAN
ENTITAS
HUBUNGAN
Gambar 2.13. Notasi pada model ER.
16
DIVISI
USER
BAGIAN
MEMILIKI
STOK SEKERTARIS
Gambar 2.14. Contoh model ER.
A. Entitas. Entitas adalah “sesuatu yang keberadaannya tidak bergantung pada yang lain (Elmasri dan Navathe, 1994). Contohnya adalah pegawai dalam suatu organisasi. Entitas dapat merupakan sesuatu yang nyata maupun sesuatu yang abstrak. Contoh penggambaran Entitas ditunjukan pada gambar 2.15.
DIVISI
USER
REQUEST
Gambar 2.15. Penggambaran Entitas model ER
B. Atribut. Atribut adalah property atau karakteristik yang terdapat dalam entitas. Setiap entitas dapat terdiri dari atribut-atribut. Sebagai contoh adalah entitas mobil dapat terdiri dari atribut nomor_mesin, nomor_polisi, nomor_rangka, merek, warna, type, tahun_pembuatan.
17
Dalam model ER, secara umum atribut dinyatakan dengan bentuk oval seperti diperlihatkan pada gambar 216.
KODE_BAGIAN
NAMA_USER
Gambar 2.16. Penggambaran atribut model ER.
C. Entitas dan Atributnya. Suatu entitas memiliki atribut-atribut, seperti entitas MAHASISWA akan memilliki atribut, NO_MAHASISWA, NAMA_MAHASISWA, ALAMAT_MAHASISWA, atau entitas USER akan memiliki atribut ID_USER,
NAMA_USER,
KD_BAGIAN,
PASSWORD
seperti
digambarkan pada gambar 2.17.
ID_USER
NAMA_USER
PASSWORD
KD_BAGIAN
USER
Gambar 2.17. Penggambaran entitas dan atribut model ER.
D. Jenis Atribut. Atribut yang digunakan pada model ER dapat dikategorikan sebagai berikut :
18
•
Atribut sederhana. Atribut sederhana adalah suatu atribut yang tidak dapat dipecah menjadi bagian kecil yang mempunyai makna. Contoh atribut sederhana adalah Jenis_kelamin (yang berisi pria atau wanita)
•
Atribut komposit. Atribut komposit adalah atribut yang dapat dipecah menjadi bagian kecil yang mempunyai makna. Contoh atribut sederhana adalah Nama. Pada contoh ini atribut Nama dapat dipecah menjadi Nama_depan, Nama_tengah, Nama_belakang.
•
Atribut bernilai tunggal (Single-valued attribute). Adalah atribut yang nilai atributnya hanya satu. Contohnya adalah atribut Nama. Atribut bernilai tunggal digambarkan dengan notasi berbentuk oval yang memilliki bingkai satu buah. NAMA_ATRIBUT
Gambar 2.18. Atribut bernilai tunggal.
•
Atribut bernilai banyak (multi-valued attribute). Adalah atribut yang nilai atributnya bisa lebih dari satu. Contoh atribut bernilai banyak adalah Hobi. Sebagai gambaran Anto memiliki hobi antara lain bersepeda, melukis, membaca dan berenang. Atribut bernilai banyak digambarkan dengan notasi berbentuk oval yang memilliki bingkai dua buah. Nama_atribut
Gambar 2.19. Atribut bernilai banyak.
19
•
Atribut turunan. Atribut turunan adalah atribut yang mempunyai nilai hasil dari sejumlah atribut lain atau dari nilai lain (missal jam sistem atau tanggal sistem). Contoh atribut turunan yaitu Usia, nilai atribut ini dihasilkan dari atribut Tanggal_lahir. Atribut turunan digambarkan dengan bentuk oval dengan garis teputus-putus seperti pada gambar 2.20.
Usia
Gambar 2.20. Atribut turunan
E. Hubungan (Relationship).
Hubungan adalah suatu keterkaitan antar entitas. Sebagai contoh tipe entitas
MAHASISWA
dan
DOSEN
mempunyai
hubungan
yang
mencerminkan bahwa seorang mahasiswa memiliki dosen pembimbing akademis. NO_DOSEN
DOSEN
NAMA
NIM
MEMBIMBING
MAHASISWA
NAMA
Gambar 2.21. Contoh hubungan antara entitas MAHASISWA dan DOSEN
Jenis-jenis hubungan. • Hubungan one-to-one • Hubungan one-to-many • Hubungan many-to-one
20
• Hubungan many-to-many.
2.2.2. Model Data Relasional.
Model data relasional adalah suatu model data yang meletakan data dalam bentuk relasi, atau popular dinamakan tabel. Model ini diperkanalkan pada tahun 1970 oleh E.F.Codd. Pada tahun1980 mulai diperkenalkan RDBMS komersial, beberapa RDBMS yang terkenal pada saat itu adalah : •
Access, Foxpro, SQL Server (produk Microsoft).
•
Paradox dan Visual dBase (produk Borland International).
•
R:Base (produk dari Microrim).
Menurut Fleming dan Van Holle (Hoffer, dkk, 2005), model data relasional terdiri dari tiga komponen, yaitu (1) struktur data, (2) pemanipulasi data, dan (3) integritas data.
2.2.3. Istilah Dalam Model Data Relasional.
Beberapa istilah dalam model data relasional adalah sebagai berikut : •
Relasi (relation). Yang disebut relasi adalah tabel yang terdiri atas baris dan kolom yang saling berkaitan membentuk sebuah database.
•
Atribut. Yang disebut atribut adalah suatu nama untuk kolom yang terdapat pada sebuah relasi
21
•
Tuple. Yang disebut tuple adalah sebuah baris dalam sebuah relasi.
•
Domain. Yang disebut domain adalah seluruh kemungkinan nilai yang diberikan pada suatu atribut, atau suatu batasan nilai. Contoh untuk atribut nilai akan diisi dengan batasan A,B,C,D,E.
•
Derajat. Yang disebut derajat relasi adalah jumlah atribut yang terdapat pada relasi. Contoh Relasi BARANG mempunyai tiga buah atribut, yaitu No_Barang, Nama_Barang, Harga_Barang.
•
Kardinalitas.(Cardinality) Yang disebut kardinalitas suatu relasi adalah jumlah baris pada relasi tersebut.
•
Kunci Kandidat (Candidat Key). Yang disebut kunci kandidat adalah sebuah atribut atau gabungan dari atribut yang digunakan untuk membedakan antara baris satu dengan baris lainnya.
•
Kunci Primer. (Primary Key). Kunci primer adalah kunci kandidat yang dipilih sebagai identitas pembeda yang unik untuk membedakan satu baris dengan baris yang lain. Kunci Primer hanya ada satu atribut pada sebuah relasi.
•
Kunci Asing. (foreign key) Yang disebut dengan kunci asing adalah sebuah atribut (atau gabungan beberapa atribut) yang merujuk ke kunci primer relasi lain.
22
2.3.
WORLD WIDE WEB.
World wide web atau web adalah salah satu pelayanan paling populer yang disediakan oleh internet yang menyediakan akses lebih dari 6 miliar halaman web yang diciptakan oleh bahasa pemograman yang disebut HTML dan dapat mengandung teks, grafik, audio, video dan objek-objek lainya seperti Hyperlinks yang memungkinkan pengguna berpindah dari satu halaman kehalaman lainnya. web dapat dikategorikan menjadi dua yaitu “web statis” dan “web dinamis”.
2.3.1. Web Statis.
Web statis adalah web yang menampilkan informasi-informasi yang sifatnya statis. pengguna tidak dapat berinteraksi dengan web tersebut. Sifat web ini hanya memberikan informasi satu arah, seperti company profile, iklan produk, brosur dan lain-lain, kesemuanya tidak memerlukan respon dari client. Topologi web statis dapat dilihat pada gambar 2.22.
STATIC HTML CLIENT BROWSER
CLIENT BROWSER
CLIENT BROWSER WEB SERVER
CLIENT BROWSER
Gambar 2.22. Topologi web statis.
23
2.3.2. Web Dinamis.
Web dinamis adalah web yang dapat menampilkan informasi juga dapat berinteraksi dengan pengguna. Pengguna diberi kesempatan untuk berinteraksi dengan cara memasukan jawaban ataupun mengirimkan artikel, atau apa saja sesuai dengan template yang disediakan pada web terebut. Kemampuan dinamis ini didukung oleh webserver dan aplikasi didalam server, ditambah dengan database, seperti digambarkan pada gambar 2.23. Sistem web merupakan sistim aplikasi dengan konsep arsitektur clientserver yang menggunakan
protocol HTTP sebagai penghubung antara
client dan server. Server merupakan computer yang siap melayani dan memproses perintah-perintah yang dikirim dari computer client, perintah bisa berupa koneksi ke database, menampilkan informasi, manipulasi database dan perintah-perintah lainnya. Sistem Aplikasi yang berjalan didalam server web adalah CGI dan server side scripting antara lain PHP,ASP,JSP.
Gambar.2.23. Topologi web Dinamis
24
Client adalah komputer yang digunakan oleh pengguna untuk menampilkan data dari server dan mengirimkan data ke server. HTTP (Hypetext Transfer Protocol) adalah suatu protocol atau aturan yang berisi ketentuan-ketentuan yang harus dimengerti oleh web browser dalam memberikan perintah meminta ataupun mengirimkan data ke server. Protokol HTTP ini merupakan protocol standar yang dapat dimengerti oleh semua browser dalam mengakses halaman-halaman HTML. Web browser adalah sistim software yang berfungsi untuk menampilkan dan mendapatkan informasi dari server. Saat ini ada empat web browser yang popular antara lain: Internet Explorer, Netscape Nafigator, Opera dan Mozila. Web server adalah komputer yang digunakan untuk menyimpan dokumen-dokumen web yang bertugas melayani permintaan client. Contoh Webserver adalah Apache, IIS (Internet Information Services), PWS (Personal Web Server).
2.4.
PHP.
PHP adala singkatan dari PHP Hypertext Preprocessor yaitu bahasa pemrograman web server-side yang bersifat open source. PHP merupakan script yang menyatu dengan HTML dan berada pada server (server side HTML embedded scripting). PHP adalah script yang digunakan untuk membuat halaman web yang dinamis. Dinamis berarti halaman yang akan ditampilkan dibuat saat halaman itu diminta oleh client. Mekanisme ini
25
menyebabkan informasi yang diterima client selalu yang terbaru/up to date. Semua script PHP dieksekusi pada server dimana script tersebut dijalankan.
2.4.1. Sejarah PHP.
Dilihat dari perkembangannya bahasa pemrograman ini memiliki perkembangan yang sangat pesat dengan jumlah pemakai yang terus bertambah. •
PHP/FI. PHP/FI adalah cikal bakal PHP yang dipakai saat ini. PHP yang pertama dibuat oleh Rasmus Ledorf pada tahun 1995 dengan tujuan untuk menyimpan data pengunjung yang melihat biodata. Pada awalnya dinamakan “Personal Home Page Tools” yang merupakan bahasa sederhana dari bahasa pemrograman C. Pada november tahun 1997 Rasmus mengembangkan menjadi PHP versi 2.0 yang merupakan cikal bakal PHP ver.3.
•
PHP ver. 3. PHP versi 3 ini dikembangkan oleh Andi Gutmans dan Zeev Suraski, pada tahun 1997 telah ditulis secara sempurna dengan tambahantambahan fungsi baru dan fungsi yang dapat mendukung ke beberapa database. Pada versi ini singkatan PHP muncul, yaitu Hypertext Preprocessor.
•
PHP versi 4.
26
Untuk meningkatkan kecanggihan program ini, pada tahun 1998 program ini ditulis ulang, akhirnya pada tahun1999 lahirlah PHP versi 4. Yang menggunakan script engine Zend untuk meningkatkan penampilan dan performanya. Versi 4 ini sudah mendukung HTTP session, beberapa web server, output buffer dan sistim keamanan. •
PHP versi 5. Versi ini lahir pada bulan juni 2005 dengan menggunakan Zen Engine versi 2.0 dengan penambahan fitur dan objek baru. Versi ini mendukung pemrograman OOP (Object Oeriented Programing).
2.5.
XAMPP.
XAMPP merupakan free open source software yang sangat penting dalam pengembangan program aplikasi berbasis web. Didalam XAMPP telah disertai suatu web server yaitu Apache yang digunakan untuk menjalankan web server dan MySQL yaitu suatu database server yang digunakan untuk menyimpan database.
2.6.
MySQL.
MySQL adalah perangkat lunak untuk database server relational yang cukup terkenal dibawah General Publik Lisensi. Dengan bersifat open source memungkinkan juga user untuk melakukan modifikasi data pada source code nya untuk memenuhi kebutuhan spesifik sendiri MySQL merupakan database multi_user dan multi_threaded yang tangguh dengan
27
memiliki banyak feature, MySQL bisa bersaing dengan database komersial sekalipun.
MySQL
termasuk
jenis
RDBMS
(Relation
Database
Management System), sehingga istilah tabel, baris dan kolom tetap digunakan dalam MySQL. Pada MySQL sebuah database mengandung beberapa tabel, tabel ini terdiri dari sejumlah baris dan kolom yang disebut dengan record. Dalam bahasa SQL pada umumnya informasi tersimpan dalam tabel-tabel secara logic merupakan struktur dua dimensi yang terdiri atas baris-baris data (row atau record). Baris pada tabel sering disebut instance dari data sedangkan kolom sering disebut atribut atau field. Adapun kelebihan-kelebihan yang dimiliki oleh basis data MySQL antara lain: 1. Mampu menangani jutaan user dalam waktu yang bersamaan. 2. Mampu menampung lebih dari 50.000.000 record. 3. Sangat cepat dalam mengeksekusi perintah. Seperti halnya mesin SQL yang lain, MySQL mempunya tiga subbahasa, yaitu 1. Bahasa Definisi Data (Data Definition Langauge-DDL). DDL digunakan untuk membuat obyek SQL dan menyimpan definisinya dalam tabel. Pembuatan tabel, perubahan struktur tabel, perubahan nama tabel, serta perintah untuk menghapus tabel, dilakukan dengan sub bahasa yang tergolong dalam DDL. Perintah-perintah yang digolongkan dalam DDL adalah create, alter, dan drop. 2. Bahasa Manipulasi Data ( Data Manipulation Language-DML). DML digunakan untuk menampilkan, mengubah, menambah, dan menghapus baris dalam tabel. Perintah-perintah yang digolongkan dalam
28
DML adalah select, update, insert, dan delete. Contoh dari penggunaan perintah ini adalah. 3. Bahasa kontrol data (Data Control Languange-DCL). DCL digunakan sebagai alat kontrol sekuritas terhadap database dan tabelnya, seperti memberikan hak akses ke database dan menghapus hak tersebut dari database. Dua perintah utama di dalam DCL adalah grant dan revoke. Grant digunakan untuk mengizinkan user mengakses tabel dalam database tertentu, sedangkan revoke sebaliknya. Revoke mencabut kembali izin yang sudah pernah diberikan sebelumnya oleh grant.
2.7.
Diagram Arus (Flowchart)
Diagram Arus adalah suatu diagram logika atau arus logika yang digunakan
untuk
menggambarkan
urut-urutan
logika
dalam
suatu
pemrograman. Diagram arus dibuat untuk acuan programmer dalam menulis program. Berikut adalah symbol yang paling umum digunakan dalam pembuatan diagram arus, Gambar 2.24. 1. Terminal. Simbol ini untuk melambangkan awal atau akhir dari suatu proses. 2. Preparasi (Preparation). Simbol ini digunakan untuk menyatakan atau pemberian suatu nilai awal dari variable-variable yang akan digunakan pada proses selanjutnya. 3. Proses (Processing)
29
Simbol ini merupakan tempat terjadinya proses perhitungan atau pengolahan dengan sumber dari masukan simbol-simbol yang lain. 4. Kondisi (Condition) Simbol kondisi digunakan untuk menyatakan suatu kondisi yang masing-masing kondisi akan menunjukan pada proses selanjutnya sesuai dengan kondisi yang diinginkan. 5. Dokumen (Document) Simbol ini untuk menyatakan sebagai sebuah dokumen baik sebagai data masukan atau sebagai data keluaran. Jika symbol merupakan masukan, maka yang mengikutinya adalah anak panah keluar dan dilanjutkan ke proses berikutnya. Jika symbol merupakan hasil dari proses, maka ada symbol lain yang mengikutinya atau mengarah pada symbol tersebut. 6. Konektor (Connector) Simbol
ini
merupakan
symbol
yang
digunakan
untuk
menghubungkan antara arus satu dengan arus lain. 7. Jajaran Genjang. Simbol ini digunakan untuk mendifinisikan data masukan (input). TERMINAL PREPARASI
PROSES
INPUT
KONEKTOR KONEKTOR
KONDISI
DOKUMEN
Gambar.2.24. Simbol-simbol Diagram Arus.yang umum digunakan.
30
2.8.
Struktur Navigasi.
Struktrur navigasi adalah suatu cara untuk menggambarkan alur yang menunjukan ketentuan mengenai pilihan-pilhan menu pada aplikasi yang akan dibuat. Bentuk dasar dari struktur navigasi yang biasa digunakan dalam proses pembuatan aplikasi ada empat, yaitu struktur linier, hirarki, non linier dan campuran.
2.8.1. Struktur Navigasi Linier.
Struktur navigasi linier merupakan alur yang mempunyai struktur berurutan. Menampilkan menu secara berurutan, sesuai dengan urutan yang telah ditetapkan.
Gambar 2.25. Struktur navigasi linier
2.8.2. Struktur Navigasi Hirarki.
Struktur navigasi hirarki adalah struktur navigasi yang memiliki alur bercabang. Pada tampilan menu utama disebut master page, halaman ini memiliki percabangan yang disebut slave page.
Gambar 2.26. Struktur Navigasi hirarki.
31
2.8.3. Struktur Navigasi Non Linier.
Struktur navigasi non linier adalah struktur navigasi yang tidak terurut, namun demikian diperkenankan untuk membuat percabangan. Percabangan pada struktur non linier tidak sama dengan struktur hirarki, pada struktur ini kedudukan semua page sama, sehingga tidak dikenal adanya master dan slave page.
Gambar 2.27. Navigasi non Linier
2.8.4. Struktur Navigasi Campuran
Struktur navigasi campuran (composite)
merupakan gabungan dari
struktur yang ada, bisa disebut juga sebagai struktur navigasi bebas, dapat membuat pencabangan dimana saja dan urutan yang bebas sesuai dengan kebutuhan aplikasi.
Gambar 2.28. Struktur Navigasi Campuran.
32
2.9.
INVENTORY
Sebelum mengembangkan sebuah aplikasi, hal yang paling utama adalah memahami segala aspek yang berkenaan dengan tujuan dan segala kebutuhan yang melandasi aplikasi tersebut. Ada sedikit kesamaan pada sistem pengelolaan alat tulis kantor yang digunakan oleh PT.ABC, kesamaan tersebut adalah mengenai pengelolaan barang. Berikut dipaparkan sedikit landasan teori mengenai inventory secara umum.
2.9.1. Pengertian Umum Inventory
Inventory meliputi semua barang yang dimiliki perusahaan pada saat tertentu, dengan tujuan untuk dijual kembali atau dikomsumsikan dalam siklus operasi normal perusahaan sebagai barang yang dimiliki untuk dijual atau diasumsikan untuk dimasa yang akan datang, semua barang yang berwujud dapat disebut sebagai inventory, tergantung dari sifat dan jenis usaha perusahaan. Secara umum pengertian Inventory adalah merupakan suatu aset yang ada dalam bentuk barang-barang yang dimiliki untuk dijual dalam operasi perusahaan maupun barang-barang yang sedang di dalam proses pembuatan.
33
2.9.2. Fungsi Inventory.
Inventory memiliki fungsi tersendiri, sebagaimana tujuan dari diadakannya persediaan barang, berikut fungsi-fungsi utamanya yaitu : •
Menghilangkan/mengurangi resiko keterlambatan pengiriman bahan.
•
Menyesuaikan dengan jadwal produksi.
•
Menghilangkan/ mengurangi resiko kenaikan harga.
•
Menjaga persediaan bahan yang dihasilkan secara musiman.
•
Mengantisipasi permintaan yang dapat diramalkan.
•
Mendapatkan keuntungan dari quantity discount.
•
Komitmen terhadap pelanggan.