BAB 2 LANDASAN TEORI 2.1. Teori Umum 2.1.1. Sistem Pada zaman sekarang, setiap perusahaan berlomba-lomba untuk menciptakan suatu sistem yang terkomputerisasi di dalam suatu perusahaan agar membantu perusahaan dalam menjalankan proses bisnisnya. Menurut O’Brien (2006, p29), mengemukakan bahwa sistem merupakan sekumpulan komponen-komponen yang saling berhubungan untuk mencapai tujuan bersama dengan memproses data yang masuk dan menghasilkan informasi melalui proses yang terstruktur. Menurut McLeod (2007, p11), sistem adalah sekelompok elemen yang terintegrasi dengan maksud yang sama untuk mencapai suatu tujuan. Dari pengertian di atas dapat ditarik kesimpulan bahwa sistem merupakan sekumpulan komponen-komponen penting yang terstruktur dan saling berhubungan yang dapat digunakan untuk memproses data dan kemudian diubah menjadi sebuah informasi penting yang berguna bagi perusahaan. 10 11 2.1.2. Data Hampir semua perusahaan besar sudah menggunakan alat-alat komputer untuk menunjang proses bisnisnya, maka terjadi suatu aliran data yang begitu cepat dan banyak, maka dari itu suatu perusahaan harus dapat mengatasi masalah tersebut dengan menggunakan suatu sistem yang diimplementasi di dalam perusahaan. Menurut O’Brien (2006, p38), mengemukakan bahwa data merupakan sebuah fakta atau hasil dari sebuah observasi, yang biasanya berisikan fenomena fisik yang merupakan sebuah pengukuran terhadap atribut dari suatu entitas. Menurut McLeod (2007, p9), data terdiri dari fakta-fakta dan angka-angka yang secara relatif tidak berarti bagi pemakai, fakta mentah yang belum diolah. Dari pengertian di atas dapat ditarik kesimpulan bahwa data merupakan sebuah fakta yang dapat berupa angka-angka hasil dari sebuah analasis dan observasi. 2.1.3. Informasi Perusahaan untuk memenangkan persaingan dagang dengan perusahaan lain harus mampu memperoleh informasi-informasi dari luar maupun dari dalam guna mengetahui perkembangan dan trend pasar untuk dapat mengembangkan produk perusahaan di masa mendatang. 12 Menurut O’Brien (2006, p5), menerangkan bahwa informasi merupakan hasil dari proses pengolahan data menjadi konteks yang berguna bagi para pemakai sistem. Menurut McLeod (2007, p9), informasi adalah data yang telah diproses atau data yang memiliki arti. Menurut Laudon (2007, p14), informasi adalah data yang telah disusun ke dalam bentuk yang memiliki arti dan berguna bagi manusia. Dari pengertian di atas dapat ditarik kesimpulan bahwa informasi merupakan sebuah kumpulan data yang telah diproses dan memiliki arti atau nilai. 2.1.4. Sistem Informasi Perusahaan berlomba-lomba membangun sebuah sistem informasi di dalam perusahaan guna memproses data-data yang masuk dan kemudian dijadikan sebagai dasar pengembangan suatu produk di dalam perusahaan. Dengan sistem informasi inilah sebuah ide-ide baru dapat tercipta, selain itu juga dengan adanya sistem informasi dapat membantu perusahaan dalam menjalankan proses bisnisnya. Menurut O’Brien (2006, p5), menerangkan bahwa sistem informasi merupakan sebuah perpaduan antara user, hardware, software, network, dan database yang berisikan informasi dalam sebuah organisasi. Menurut Laudon (2007, p14), sistem informasi adalah sekumpulan komponen yang saling berhubungan yang bekerjasama 13 mengumpulkan (atau mengambil), memproses, menyimpan, dan menyebarkan informasi untuk mendukung pengambilan keputusan, koordinasi, dan pengawasan dalam suatu organisasi. Menurut Turban (2008, p6), sistem informasi adalah suplai informasi yang berguna untuk memproses data menjadi informasi dan pengetahuan. Dari pengertian di atas dapat ditarik kesimpulan bahwa sistem informasi merupakan sebuah alat untuk memproses informasi yang kemudian dapat dijadikan sebagai pengambilan keputusan akan suatu masalah yang sedang terjadi, selain itu juga dapat memberi masukan untuk mengembangkan perusahaan ke depannya. 2.1.5. Data Flow Diagram (DFD) 2.1.5.1. Definisi Data Flow Diagram Menurut Marakas (2006, p117), data flow diagram adalah sebuah alat bantu grafis yang menggambarkan urutan dari proses dan fungsi-fungsi yang terdapat di dalam sistem yang terperinci dan aliran data yang terdapat dalam sistem. 2.1.5.2. Simbol-Simbol DFD Data flow diagram memiliki empat simbol dasar, sebagai berikut : 14 Tabel 2.1 Simbol Data Flow Diagram (Sumber : Marakas 2006, p117) Process DeMarco-Yourdon Gane_Sarson Symbology Symbology Penjelasan Menggambarkan bagian dari sistem yang mengubah input menjadi output. Data Menggambarkan Store sekumpulan data yang sedang tidak digunakan Data Menggambarkan Flow perpindahan sekumpulan informasi suatu dari bagian sistem ke bagian lain. Entity Menggambarkan entitas yang 15 berhubungan dengan sistem 2.1.5.3. Diagram Konteks Diagram Konteks digunakan untuk mengidentifikasi batasan sistem yang berkaitan dengan hubungan setiap entitas yang saling berkaitan. Pada diagram konteks hanya akan memiliki satu proses saja yang menggambarkan sistem secara keseluruhan beserta hubungan antar sistem. 2.1.5.4. Diagram Nol Diagram nol digunakan untuk menggambarkan proses utama yang terkandung dalam sistem. Menurut Marakas (2006, p122), proses-proses yang digambarkan ke dalam diagram nol adalah sebagai berikut : • Proses yang menangani inflow dan outflow dari penyimpanan data. • Proses yang secara langsung bertanggung jawab atas produksi dan distribusi data ke satu atau lebih entity. 16 • Proses yang secara langsung menangkap data dari satu atau lebih sumber. • Proses yang menyajikan high level descriptor dari operasi transformasi multistep data. 2.1.6. Flow Chart 2.1.6.1. Definisi Flow Chart Menurut website (sdarsono.staff.gunadarma.ac.id /Downloads/files/16512/Flowchart.pdf), flow chart adalah penggambaran secara grafik dari langkah-langkah dan urut-urutan prosedur dari suatu program. Flow chart menolong analis dan programmer untuk memecahkan masalah kedalam segmensegmen yang lebih kecil dan menolong dalam menganalisis alternatif-alternatif lain dalam pengoperasian. Flow chart biasanya mempermudah penyelesaian suatu masalah khususnya masalah yang perlu dipelajari dan dievaluasi lebih lanjut. 2.1.6.2. Simbol-Simbol Flow Chart Flow Chart memiliki beberapa simbol-simbol sebagai berikut : 17 Tabel 2.2 Simbol Flow Chart (Sumber : sdarsono.staff.gunadarma.ac.id /Downloads/files/16512/Flowchart.pdf ) Simbol Penjelasan Simbol ini digunakan untuk semua jenis dokumen, nama dokumen dicantumkan di tengah simbol. Simbol ini digunakan untuk menggambarkan dokumen asli dan tembusannya. Nomor lembar dokumen dicantumkan di sudut kanan atas pada lembar dokumen. Simbol ini digunakan untuk menggambarkan berbagai jenis dokumen yang digabungkan bersama di dalam satu paket. Simbol ini digunakan untuk penghubung memungkinkan yang suatu aliran dokumen berhenti pada suatu 18 keadaan dan kemudian dapat kembali berjalan. Simbol ini untuk menandakan akhir arus dokumen mengarahkan pembaca dan ke simbol penghubung halaman yang sama yang bernomor seperti yang sudah tercantum pada simbol tersebut. Simbol ini untuk menandakan awal arus berasal dokumen dari penghubung yang simbol halaman yang sama, yang bernomor seperti yang sudah tercantum pada simbol tersebut. Simbol ini digunakan untuk penghubung yang pada berbeda menunjukan halaman dan kemana untuk dan bagaimana bagan alur terkait satu sama lainnya. 19 Simbol ini digunakan untuk menggambarkan kegiatan manual, seperti : mengisi form, menerima order dari pelanggan. Simbol ini digunakan untuk menunjukkan tempat penyimpanan dokumen sementara yang dokumennya akan diambil kembali dari arsip tersebut kepentingan di untuk masa mendatang. Simbol ini digunakan untuk menunjukkan tempat penyimpanan dokumen permanen yang dokumennya tidak akan digunakan lagi di masa mendatang. Simbol ini digunakan untuk menggambarkan keputusan dalam proses pengolahan data. 20 Isi keputusan dituliskan di dalam simbol. Simbol ini digunakan untuk menggambarkan arah proses pengolahan data. Simbol ini digunakan untuk menggambarkan awal dan akhir dari sebuah sistem. 2.1.7. State Transition Diagram (STD) Menurut Shelly dan Rosenblatt (2010, p279), state transition diagram adalah suatu diagram yang menggambarkan bagaimana sistem bereaksi terhadap suatu event. • Status (State) Merupakan suatu kondisi di dalam kehidupan suatu objek. Lambang : • Transisi (Transition) Merupakan perubahan dari status awal ke status berikutnya. Perubahan tersebut digambarkan dengan suatu mata panah yang mengarah ke status berikutnya. Lambang : 21 2.2. Teori Khusus 2.2.1. Database Database system sangat dibutuhkan perusahaan untuk menunjang proses bisnisnya. Dengan adanya database diharapkan dapat membantu sebuah perusahaan dalam menyimpan data-data dalam jumlah yang besar. Menurut Connolly and Begg (2010, p65), mengemukakan bahwa database merupakan sebuah kumpulan dari data yang terkait secara logis dan merupakan deskripsi dari data, yang dirancang agar dapat memenuhi kebutuhan dari organisasi. Menurut Kusrini (2007, p5), beberapa definisi database dari beberapa sudut pandang, yaitu : • Himpunan kelompok data yang saling berhubungan yang telah diorganisasi sedemikian rupa agar dapat dimanfaatkan dengan cepat dan mudah. • Kumpulan data yang saling terintegrasi yang digunakan untuk memenuhi kebutuhan akan data dengan cepat. • Kumpulan data yang saling berhubungan yang disimpan secara bersama dan tidak ada pengulangan pada masingmasing datanya. • Kumpulan arsip yang saling berhubungan dan disimpan dalam media penyimpanan elektronik. Dari pendapat di atas dapat ditarik kesimpulan, database adalah sebuah wadah yang berisi kumpulan data yang tersimpan rapi dan 22 terstruktur di dalam sebuah perusahaan yang berbasis komputer yang berguna untuk melayani kebutuhan beberapa pengguna dalam satu atau lebih organisasi. 23 Gambar 2.1 Struktur Sistem Basis Data (Sumber : Wijaya D. R., Praktikum Sistem Manajemen Basis Data, 2009) Gambar di atas menerangkan komponen-komponen fungsional dari sebuah sistem basis data di mana sebuah basis data dapat dibagi menjadi dua komponen menjadi query processor dan storage manager di mana setiap komponen memiliki bagian masing-masing untuk menjalankan fungsi masing-masing dalam menjalankan sistem basis data dalam mengatur data dan membuat sebuah query. 24 Komponen-komponen fungsional dari sebuah sistem basis data dibagi menjadi dua, yaitu komponen query processor dan komponen storage manager. a. Query processor terdiri atas: 1. DML compiler Menerjemahkan perintah DML pada suatu query ke dalam instruksi level rendah yang dimengerti oleh mesin evaluasi query. Dengan kata lain, DML compiler berusaha mengubah suatu permintaan user menjadi bentuk yang ekuivalen namun lebih efisien sekaligus juga menentukan sebuah strategi yang tepat untuk mengeksekusi query tersebut. 2. Embedded DML Precompiler Mengkonversi perintah DML yang embed pada sebuah program aplikasi ke procedure call yang normal dalam bahasa host. Precompiler ini harus berinteraksi dengan DML compiler untuk menghasilkan kode yang sesuai. 3. DDL interpreter Menginterpretasikan perintah DDL dan mencatatnya dalam sekumpulan tabel yang mengandung metadata. 4. Query Evaluation Engine Mengeksekusi instruksi level rendah yang dihasilkan oleh DML compiler. 25 b. Komponen storage manager terdiri atas: 1. Manajer otorisasi dan integritas Menguji integritas dari constraint yang ada serta otoritas user untuk mengakses data. 2. Manajer transaksi Meyakinkan basis data tetap pada kondisi konsisten (benar) saat terjadi kegagalan sistem serta meyakinkan bahwa eksekusi dari transaksi yang konkuren (terjadi “bersamaan”) berlangsung tanpa adanya konflik. 3. Manajer file Mengelola alokasi ruang pada disk penyimpanan struktur data yang digunakan untuk mewakili informasi yang disimpan pada disk. 4. Manajer buffer Bertanggung jawab untuk mengambil data dari disk penyimpanan ke dalam memori utama serta menetukan data yang mana yang akan ditempatkan di memory. 2.2.2. Fact Finding Technique Sebuah sistem basis data dibangun berdasarkan masalah yang sedang muncul lalu dibuatkan sistemnya untuk menangani masalah tersebut. Untuk mencari masalah-masalah tersebut harus dilakukan 26 beberapa kegiatan pengumpulan data agar dapat diperoleh informasiinformasi penting. Menurut Connolly and Begg (2010, p317), teknik fact finding adalah 1. Dokumentasi Dokumentasi membantu menyediakan informasi perusahaan yang berkaitan dengan masalah yang sedang dihadapi dengan cara mempelajari dokumen-dokumen, laporan dan file yang berkaitan dengan sistem yang ada. 2. Wawancara Dengan wawancara dapat diperoleh informasi dari individuindividu secara langsung. Tujuannya untuk menemukan fakta dan mengidentifikasi kebutuhan, serta memperoleh ide-ide dari seorang individu. 3. Observasi Teknik ini merupakan teknik yang secara langsung terjun ke lapangan untuk memantau atau mempelajari seseorang terhadap sistem untuk memahami sebuah sistem lebih lanjut. 4. Riset Melakukan riset terhadap suatu masalah yang sedang dihadapi. Hasil riset dapat menyediakan informasi-informasi penting tentang bagaimana orang lain memecahkan masalah yang serupa dengan teknik-teknik tertentu. 27 5. Kuisioner Kuisioner adalah sebuah dokumen yang diberikan langsung kepada sejumlah orang untuk memperoleh fakta-fakta yang berkaitan dengan sistem. Teknik ini merupakan yang paling efisien untuk memperoleh informasi dari banyak orang. 2.2.3. Database Language Di dalam sebuah aplikasi basis data memiliki ketentuan-ketentuan yang berlaku yang harus diperhatikan oleh user dan perancang. Tentunya harus memperhatikan penggunaan bahasa di dalam sistem basis data. 2.2.3.1. Data Definition Language (DDL) Menurut Connolly and Begg (2010, p92), mendefinisikan Data Definition Language (DDL) sebagai bahasa yang memungkinkan database administrator untuk menambahkan dan menamakan entitas, atribut dan hubungan yang dibutuhkan dalam aplikasi, terkait dengan integritas dan kendala keamanan aplikasi. Menurut Dedy Rahman Wijaya (2007, p9), mendefinisikan bahwa Data Definition Language (DDL) merupakan struktrur sebuah tabel, tipe data setiap field dan constraint yang berlaku pada data yang tersimpan di dalam sebuah tabel. 28 Dari pengertian di atas dapat ditarik kesimpulan bahwa Data Definition Language (DDL) merupakan pemberian sebuah entitas, atribut, dan hubungan ke dalam sebuah tabel untuk mendefinisikan arti tabel tersebut. 2.2.3.2. Data Manipulation Language (DML) Menurut Connolly and Begg (2010, p92), mendefinisikan Data Manipulation Language (DML) sebagai bahasa yang menyediakan suatu fungsi yang dapat memanipulasi data-data yang ada di dalam database. Berdasarkan Dedy Rahman Wijaya (2007, p10), Data Manipulation Language (DML) merupakan bahasa yang memungkinkan user untuk mengakses atau memanipulasi data sebagaimana telah direpresentasikan oleh model data. Dapat ditarik kesimpulan bahwa Data Manipulation Language (DML) merupakan suatu bahasa komputer yang memberikan fungsi untuk memanipulasi data-data dan menggunakannya untuk keperluan pengguna. 2.2.4. Database Management System (DBMS) Dalam penggunaannya, DBMS dapat berguna untuk meningkatkan mutu perusahaan. DBMS biasa digunakan oleh seorang database administrator untuk mengatur proses bisnis suatu perusahaan. 29 Menurut Connolly and Begg (2010, p66), mengemukakan bahwa Database Management System (DBMS) merupakan suatu sistem perangkat lunak yang memungkinkan pengguna untuk mendefinisikan, membuat, memelihara, dan mengatur akses pada database. Berdasarkan Dedy Rahman Wijaya (2007, p2), menjelaskan bahwa Database Management System (DBMS) merupakan sebuah perangkat lunak yang digunakan untuk mengelola dan memanggil kueri (query) basis data. Menurut Enakrire dan Baro (2008, p23), DBMS merupakan perangkat lunak yang digunakan untuk mengakses, meng-update, dan memanipulasi data dalam database yang terkomputerisasi. Dari pengertian di atas dapat ditarik kesimpulan bahwa Database Management System (DBMS) merupakan sebuah perangkat lunak yang digunakan untuk mendefinisikan, membuat, memelihara, dan mengatur akses pada database. 2.2.5. Fungsi DBMS DBMS sangat berguna bagi perusahaan dalam menjalankan proses bisnisnya. Dengan adanya DBMS diharapkan perusahaan dapat mampu bersaing dengan perusahaan lain di era globalisasi ini. Menurut Connolly and Begg (2010, p99-p104), fungsi DBMS adalah sebagai berikut : 30 - Penyimpanan, pengambilan, dan peng-update-an data Sebuah DBMS harus menyediakan bagi pengguna suatu kemampuan/fitur untuk menyimpan, mengambil, dan meng-update data dalam DBMS. - Katalog User-Accesible Sebuah DBMS harus menyediakan sebuah katalog yang menyimpan deskripsi tentang item data dan mudah diakses pada pengguna. - Mendukung transaksi Sebuah DBMS harus menyediakan mekanisme yang memastikan setiap update dilakukan sesuai dengan transaksi yang diberikan. - Layanan kendali konkurensi Sebuah DBMS harus menyediakan sebuah mekanisme untuk memastikan bahwa basis data di-update dengan benar ketika banyak pengguna meng-update basis data secara bersama-sama. - Layanan Perbaikan Sebuah DBMS harus menyediakan sebuah mekanisme untuk memperbaiki basis data ketika sebuah basis data mengalami kerusakan dalam prosesnya. - Layanan Autorisasi Sebuah DBMS harus menyediakan sebuah mekanisme untuk memastikan bahwa pengguna yang memiliki otoritas/hak agar dapat menggunakan basis data. 31 - Mendukung bagi Komunikasi Data Sebuah DBMS harus mampu diintegrasikan dengan software komunikasi. - Layanan Integritas Sebuah DBMS harus mampu untuk menyediakan sebuah arti untuk memastikan bahwa data di dalam basis data tersimpan dengan baik dan perubahan yang terjadi pada data harus mengikuti aturan tertentu. - Layanan Peningkatan Keterbebasan Data Sebuah DBMS harus memasukkan sebuah fasilitas tambahan untuk mendukung keterbatasan program dari struktur basis data yang sebenarnya agar menjadi lebih lengkap. - Layanan Utilitas Sebuah DBMS harus dapat menyediakan seperangkat layanan utilitas yang membantu database admin dalam mengelola basis data secara efektif. 2.2.6. Komponen DBMS DBMS merupakan sebuah aplikasi perangkat lunak yang tentunya memiliki komponen-komponen penting di dalamnya agar menjadi satu kesatuan di dalam sistem. Menurut Connolly and Begg (2010, p68-71), mengemukakan bahwa terdapat lima komponen yang ada dalam DBMS, yaitu : 32 • Hardware Dalam melakukan kegiatannya, DBMS membutuhkan perangkat-perangkat untuk menjalankan aplikasinya, seperti PC, mainframe, serta jaringan komputer. • Software Software yang dimaksud meliputi aplikasi DBMS, Sistem Operasi, serta Sistem Jaringan. • Data Merupakan komponen penting yang menjadi penghubung antara komponen manusia dengan komponen mesin. • Procedures Merupakan aturan-aturan yang digunakan dalam perancangan serta penggunaan database. Prosedur merupakan panduan dasar bagi pengguna dalam menjalankan sistem yang ada. • People Merupakan orang-orang yang terlibat langsung di dalam perancangan, pembuatan, serta pengimplementasian dari suatu DBMS. Adapun peranan-peranan dari orang-orang yang terlibat meliputi Database Administrator, Database Designer, Application Developer, dan End User. 33 2.2.7. Relational Data Structure Menurut Connolly and Begg (2010, p144), struktur relasi data dibagi menjadi tujuh bagian, antara lain : • Relation Sebuah tabel yang terdiri dari kolom dan baris • Attribute Merupakan sebuah kolom yang berisikan nama relasi dari sebuah kolom. • Domain Merupakan sebuah himpunan nilai yang diperbolehkan untuk satu atau lebih attribut. • Tuple Merupakan sebuah baris dari relasi. • Degree Merupakan sebuah tingkatan relasi yang menerangkan banyaknya jumlah atribut yang membatasi. • Cardinality Merupakan jumlah hubungan antar tuple. • Relational Database Merupakan kumpulan dari hubungan hasil normalisasi dengan nama hubungan yang berbeda. 34 2.2.8. Entity Relationship Model Dalam merancang sebuah aplikasi basis data harus memperhatikan pendekatan yang ada untuk mengindentifikasi data-data penting. 2.2.8.1. Entity Type Menurut Connolly and Begg (2010, p372), menerangkan bahwa entity type merupakan kumpulan dari object dengan properties yang sama, tetapi memiliki keberadaan yang mandiri dan terpisah. Strong Entity Menurut Connolly and Begg (2010, p383), strong entity merupakan tipe entitas yang tidak memiliki ketergantung pada entitas lainnya. Weak Entity Menurut Connolly and Begg (2010, p383), weak entity nerupakan tipe entitas yang memiliki ketergantungan terhadap keberadaan beberapa entitas lainnya. 2.2.8.2. Multiplicity Menurut Connolly and Begg (2010, p385), menerangkan bahwa multiplicity merupakan jumlah terjadinya kemungkinan 35 suatu entitas dapat berhubungan dengan entitas lainnya. Adapun hubungan-hubungan yang mungkin terjadi antar entitas tersebut adalah sebagai berikut : • One-to-One Relationships • One-to-Many Relationships • Many-to-Many Relationships • Multiplicity for Complex Relationships • Cardinality and Participation Constraints Gambar 2.2 Connectivity Of A Relationship (Sumber : Tobey Teorey 2011, p20) Gambar di atas menerangkan hubungan suatu entitas dengan entitas lainnya yang dapat bernilai one-to-one relationships, one-to-many relationships, dan many-to-many relationships. Setiap nilai hubungan tersebut menandakan situasi keadaan sebenarnya yang terjadi. 36 2.2.8.3. Attributes Di dalam sebuah entity relationship model terdapat bermacam-macam data penting yang memiliki hubungan satu sama lainnya. Salah satu bagian terpenting dari sebuah entitas adalah attributes. Menurut Connolly and Begg (2010, p379), menerangkan bahwa atribut merupakan sebuah properti dari suatu entitas. Dari pendapat di atas dapat disimpulkan, attributes merupakan sebuah bagian dari entitas yang berisi data-data penunjang untuk memperlengkap sebuah entitas. 2.2.8.3.1. Simple Attributes Menurut Connolly and Begg (2010, p379), menerangkan bahwa simple attribute merupakan sebuah atribut komponen yang tunggal tersusun dengan dari sebuah keberadaan yang mandiri dan terpisah. Contohnya : nama. 2.2.8.3.2. Composite Attributes Menurut Connolly and Begg (2010, p379), menerangkan bahwa composite attribute merupakan atribut yang tersusun dari beberapa komponen di mana setiap komponennya tidak 37 memiliki keterikatan satu sama lainnnnya. Contohnya : alamat. 2.2.8.3.3. Single-Valued Attributes Menurut Connolly and Begg (2010, p380), single-valued attributes merupakan sebuah atribut yang memiliki nilai tunggal dalam setiap kemunculan suatu entitas. Contohnya : nama. 2.2.8.3.4. Multi-Valued Attributes Menurut Connolly and Begg (2010, p380), multi-valued attributes merupakan atribut yang memiliki banyak nilai dalam setiap kemunculan suatu entitas. Contohnya : gelar. 2.2.8.3.5. Derived Attributes Menurut Connolly and Begg (2010, p380), menerangkan derived attributes merupakan atribut yang mewakili sebuah nilai yang diturunkan dari nilai atribut terkait atau sekumpulan atribut yang terkait tersebut belum tentu dalam tipe entitas yang sama. Contohnya : umur. 38 2.2.8.4. Keys Menurut Connolly (2010, p381), key merupakan sekelompok atribut yang unik. Keys dibagi menjadi tiga, yaitu : • Candidate Key Candidate Key merupakan jumlah minimal atribut yang secara unik mengidentifikasi setiap kemunculan suatu entity. • Primary Key Primary Key adalah candidate key yang dipilih berdasarkan keunikan yang dimilikinya, berguna untuk membedakan dengan candidate key lainnya. • Composite Key Candidate Key yang terdiri dari dua atau lebih atribut. 2.2.8.5. Relasional Integritas Menurut Connolly and Begg (2010, p153-p154), relasional integritas terbagi menjadi beberapa jenis, yaitu : o Null Merupakan gambaran sebuah nilai bagi sebuah atribut yang tidak diketahui atau tidak bernilai. o Integritas Entitas 39 Pada relasi dasar, tidak ada atribut primary key yang bernilai null. Primary key berperan sebagai identifier yang digunakan untuk mengidentifikasi tuple secara unik. 2.2.9. Normalisasi Data di dalam perusahaan masuk dalam jumlah banyak dan digolongkan berdasarkan jenis tertentu yang kemudian dibuatkan tabel untuk dianalisis. Terkadang data-data tersebut terjadi penumpukan yang menyulitkan untuk dianalisis. Menurut Connolly and Begg (2010, p416), normalisasi adalah suatu teknik untuk menghasilkan sejumlah hubungan dengan sifat yang diinginkan yang diberikan persyaratan data dari suatu perusahaan. Dari pendapat di atas dapat ditarik kesimpulan, normalisasi adalah suatu langkah-langkah yang terstruktur untuk menghasilkan sebuah hubungan dengan sifat yang diinginkan oleh suatu perusahaan • Un-normalized Form Menurut Connolly and Begg (2010, p430), un-normalized form adalah suatu tabel yang berisi satu atau lebih kelompok yang berulang. • First Normalized Form (1NF) Menurut Connolly and Begg (2010, p430), 1NF jika persimpangan setiap baris dan kolom hanya mengandung satu 40 nilai. Cara untuk menghilangkan repeating group pada tabel yang tidak normal adalah: 1. Dengan memasukkan data ke kolom yang kosong dari baris yang mengandung data-data yang berulang. 2. Dengan memasukan data-data yang berulang bersama pada relasi yang terpisah. • Second Normalized Form (2NF) Menurut Connolly and Begg (2010, p434), 2NF jika suatu hubungan pada 1 NF dan setiap atribut yang bukan primary key fungsional berkaitan pada primary key. • Third Normalized Form (3NF) Menurut Connolly and Begg (2010, p435), 3NF jika hubungan berada dalam bentuk 1NF dan 2NF lalu tidak ada atribut yang merupakan sebuah primary key yang berkaitan secara kuat dengan primary key. 41 2.2.10. Database Life Cycle Gambar 2.3 Siklus Hidup Aplikasi Basis Data (Sumber : Connolly And Begg 2010, p314) Dari gambar di atas dapat dilihat untuk membangun suatu database system yang baik maka perlu untuk mengikuti tahap demi tahap dalam siklus hidup aplikasi basis data dari tahap database planning yang berfungsi untuk menentukan database apa yang akan dibangun dan 42 kegunaan database yang akan dibangun. Setelah itu sangat perlu sekali membuat system definition yang menggambarkan batasan-batasan dari suatu sistem yang akan dibangun dan juga harus diketahui apa saja yang dibutuhkan dari sebuah sistem tersebut agar dapat dibangun tepat tujuan. Sistem yang sudah jadi harus terpantau terus agar jika terjadi error dapat ditangani untuk memperlancar proses bisnis suatu perusahaan. 2.2.10.1. Database Planning Membangun sebuah sistem basis data yang akan diimplementasi di sebuah perusahaan harus dipikirkan secara mendalam berdasarkan masalah yang sedang terjadi pada sebuah perusahaan agar dapat menghasilkan sistem untuk mengatasi masalah tersebut. Pembuatan basis data ini harus melalui tahapantahapan penting. Menurut Connolly and Begg (2010, p313), menerangkan bahwa Database Planning merupakan suatu kegiatan pengaturan yang memungkinkan tahapan dari siklus hidup pengembangan sistem database untuk direalisasikan seefisien mungkin dan seefektif mungkin. terdapat tiga masalah pokok dalam merumuskan suatu strategi sistem informasi, yaitu: 1. Mengidentifikasi rencana dan tujuan perusahaan dengan penentuan sistem informasi yang diperlukan kedepannya. 43 2. Mengevaluasi dari sistem yang berjalan untuk menentukan kekurangan dan kelebihan. 3. Menilai tentang peluang IT yang mungkin akan memberikan keuntungan. Dapat diambil kesimpulan bahwa Database Planning, yaitu suatu langkah-langkah perencanaan pengimplementasian suatu aplikasi database pada suatu perusahaan. 2.2.10.2. System Definition Aplikasi basis data yang dihasilkan oleh seorang perancang tentunya harus dapat memenuhi kebutuhan-kebutuhan user namun dibalik itu tentunya sebuah aplikasi tersebut memiliki batasan-batasan akan sebuah hal yang tidak dapat dipenuhi. Menurut Connolly and Begg (2010, p316), menerangkan bahwa System Definition merupakan suatu penjelasan terhadap ruang lingkup dan batasan dari sistem basis data serta pandangan pengguna akhir secara garis besar. Dapat ditarik kesimpulan bahwa System Definition merupakan sebuah gambaran atau penjelasan akan suatu rancangan database system sehingga user dapat mengetahui batasan-batasan suatu aplikasi dalam memenuhi kebutuhan user untuk menyimpan data-data penting dengan aman dan rapih. 44 2.2.10.3. Requirement Collection and Analysis Pembuatan sistem basis data berdasarkan masalah yang sedang muncul yang harus dibuatkan solusinya dengan sistem basis data. Hal itu membuat sebuah sistem baru harus mampu untuk menjawab tantangan-tantangan kebutuhan yang harus dipenuhi agar masalah terpecahkan. Menurut Connolly and Begg (2010, p316), menerangkan bahwa Requirements Collection and Analysis merupakan proses dari mengumpulkan serta menganalisis informasi tentang bagianbagian perusahaan yang harus didukung oleh sistem basis data serta menggunakan informasi yang didapat untuk lebih mengetahui kebutuhan sistem yang akan dibuat, dengan tujuan untuk menggantikan sistem yang lama. Berdasarkan pengertian di atas dapat disimpulkan, Requirements Collection and Analysis merupakan sebuah proses pengumpulan data-data suatu perusahaan yang akan dianalisis masalahnya yang sedang terjadi untuk dibuatkan suatu rancangan sistem basis data yang akan menggantikan sistem yang lama. 2.2.10.4. Database Design Perusahaan besar berlomba-lomba menciptakan sebuah aplikasi database agar dapat diimplementasikan di dalam perusahaannya untuk memenangkan persaingan dagang dengan 45 perusahaan lainnya, Perusahaan harus mampu untuk membangun sebuah sistem untuk mempermudah pekerjaan yang dilakukan user. Masih banyak perusahaan yang belum menggunakan sistem basis data dalam penyimpanan data-data penting perusahaan. Untuk mengatasi masalah tentang penyimpanan data yang mungkin muncul, maka sangat perlu dibuatkan sebuah design basis data pada perusahaan. Menurut Connolly and Begg (2010, p320), menerangkan bahwa perancangan basis data merupakan suatu proses pembuatan sebuah rancangan yang akan mendukung tujuan perusahaan dan tujuan yang harus dicapai guna memenuhi persyaratan sistem basis data. Proses perancangan basis data dibagi menjadi tiga, yaitu: 1. Perancangan Basis Data Konseptual Proses pengembangan dari pembangunan sebuah model dari data yang digunakan dalam perusahaan. Pengembangan ini tidak tergantung pada rancangan fisik. Menurut Connolly dan Begg (2010,p322), langkah awal dalam perancangan basis data adalah dengan membangun model data konseptual lokal bagi setiap view. Perancangan basis data konseptual bertujuan untuk membangun model data konseptual lokal dari sebuah perusahaan bagi setiap view tertentu. 46 Perancangan basis data konseptual melibatkan beberapa aktifitas, yaitu : a. Mengidentifikasi Entitas Tahap ini bertujuan untuk mengidentifikasi entitas utama yang dibutuhkan oleh view. Sebuah metode untuk mengidentifikasi entitas adalah dengan memeriksa spesifikasi kebutuhan pengguna. Dari spesifikasi ini, akan dapat diidentifikasi kata benda. Selain itu, tujuan dari tahap ini juga untuk mencari objek utama. b. Mengidentifikasi Relationship Tahap ini bertujuan untuk mengidentifikasi relationship penting yang terdapat antara entitas yang telah diidentifikasi. Secara khusus, relationship ditandai dengan kata kerja. c. Mengidentifikasi dan Menghubungkan Atribut Dengan Entitas atau Relationship Tahap ini bertujuan untuk menghubungkan atribut dengan entitas atau relationship yang sesuai. Atribut dapat diidentifikasi dimana kata benda merupakan sebuah sifat, kualitas, identifier, atau karakteristik dari entitas atau relationship. 47 d. Menentukan Domain Atribut Tahap ini bertujuan untuk menentukan domain bagi atribut di dalam model data konseptual lokal. Domain merupakan sebuah kolom nilai dari satu atau lebih atribut yang menggambarkan nilai dari masing-masing atribut. e. Menentukan Atribut Primary Key dan Candidate Key Tahap ini bertujuan untuk mengidentifikasi candidate key bagi setiap entitas dan jika terdapat lebih dari satu candidate key, pilihlah satu yang akan dijadikan primary key. f. Mempertimbangkan Penggunaan Konsep Permodelan Lebih Lanjut Tahap ini bertujuan untuk mempertimbangkan penggunaan konsep pemodelan lebih lanjut, seperti spesialisasi / generalisasi, agregasi dan composition. g. Memeriksa Model Untuk Pengulangan Tahap ini bertujuan untuk memeriksa keberadaaan berbagai pengulangan di dalam model. Pada tahap ini berfungsi untuk memeriksa kembali relationship one-toone dan menghilangkan relationship yang berulang. 48 h. Memvalidasi Model Konseptual Lokal terhadap Transaksi User Tahap ini bertujuan untuk memastikan bahwa model konseptual lokal mendukung transaksi yang diperlukan oleh user. i. Mereview Model Data Konseptual lokal Dengan User Tahap ini bertujuan untuk mereview model data konseptual lokal dengan pengguna untuk memastikan bahwa model tersebut merupakan gambaran yang sebenarnya. 2. Perancangan Basis Data Logikal Proses penyusunan model dari data yang digunakan perusahaan berdasarkan pada model data yang spesifik, tetapi tidak tergantung pada DBMS tertentu dan pertimbangan fisikal lainnya. Menurut Connolly and Begg (2010, p323), langkah kedua dalam merancang basis data adalah dengan membangun dan memvalidasi model data logikal untuk setiap view. Perancangan basis beberapa aktifitas, yaitu : data logikal melibatkan 49 a. Menghilangkan fitur-fitur yang tidak sesuai dengan model relational (optional) Langkah-langkah yang dilakukan pada tahap ini adalah: 1. Menghilangkan tipe relasi many-to-many (*..*) 2. Menghilangkan tipe relasi recursive many-tomany(*..*) 3. Menghilangkan tipe relasi yang kompleks 4. Menghilangkan atribut multi-valued b. Membuat relasi untuk model data logikal lokal Tahap ini bertujuan untuk membuat suatu relasi untuk model data lokal logikal yang mempresentasikan suatu entitas, relasi, dan juga atribut yang telah diidentifikasi. c. Memvalidasi relasi menggunakan normalisasi Pada tahap normalisasi memiliki beberapa langkah, yaitu: 1. First normal form (1NF), menghilangkan repeating group 2. Second normal form (2NF), menghilangkan partial dependencies pada primary key 3. Third normal form (3NF), menghilangkan transitive dependencies pada primary key 50 4. Boyce-codd normal form (BCNF), menghilangkan anomaly-anomali yang masih tersisa dalam functional dependencies. d. Memvalidasi relasi pada transaksi-transaksi user Tahap ini bertujuan untuk memastikan bahwa relasi dalam model data logikal lokal mendukung transaksi-transaksi yang diperlukan dalam penggambaran. e. Mendefinisikan integrity constraints Integrity constraints memiliki lima tipe, yaitu : 1. Required data 2. Attribute domain constraints 3. Entity integrity 4. Referential integrity 5. Enterprise constraints f. Meninjau ulang model data logikal lokal dengan user Tahap ini bertujuan agar model data logikal dapat menggambarkan model nyata dari suatu view. g. Menggabungkan model-model data logikal ke dalam model data global Hal-hal yang perlu dilakukan pada tahap ini adalah 1. Memeriksa kembali nama dan isi dari setiap entitas dari candidate key. 51 2. Memeriksa kembali nama dan isi dari model data relationship foreign keys. 3. Menggabungkan entitas dari logikal. 4. Memasukkan entitas yang unik ke dalam setiap model data. 5. Menggabungkan foreign keys dari model data logikal lokal. 6. Memasukkan foreign keys yang unik ke dalam setiap model data tanpa menggabungkannya. 7. Memeriksa apakah ada entitas dan foreign keys yang tertinggal. 8. Memeriksa kembali foreign keys 9. Memeriksa integrity constraints. 10. Menggambarkan diagram ER / relasi global 11. Meng-update dokumentasi h. Memvalidasikan model data logikal global Tahap ini bertujuan untuk memvalidasi relasi yang dibuat dari model data logikal global dengan menggunakan teknik dari normalisasi dan memastikan relasi yang dibuat mendukung transaksi. 52 i. Mengecek pertumbuhan masa depan Tahap ini bertujuan untuk menentukan perubahan yang mungkin terjadi di masa depan dan untuk menganalisis apakah model data logikal global dapat mendukung perubahan yang terjadi. j. Meninjau ulang model data logikal global dengan users Tahap ini bertujuan untuk memastikan bahwa model data logikal merupakan representasi nyata sebuah perusahaan. 3. Perancangan Basis Data Fisikal Proses pembuatan gambaran dari implementasi basis data pada penyimpanan sekunder. Menurut Connolly and Begg (2010,p324), langkah ke tiga dalam merancang basis data adalah dengan menerjemahkan model data logikal kedalam target DBMS. Perancangan basis data fisikal melibatkan beberapa aktivitas, yaitu : a. Merancang relasi dasar Tahap ini bertujuan untuk memutuskan bagaimana merepresentasikan relasi dasar yang diidentifikasi dalam model data logikal pada DBMS yang dipakai. 53 b. Merancang representasi dari data turunan Tahap ini bertujuan untuk memutuskan bagaimana mepresentasikan suatu data turunan pada model data logikal pada DBMS yang dipakai. c. Merancang batasan perusahaan Tahap ini bertujuan untuk merancang batasan perusahaan dalam pengaksesan DBMS yang dipakai. d. Analisis transaksi Tahap ini bertujuan untuk menganalisis setiap transaksi agar dapat mengetahui setiap fungsi dari suatu transaksi yang dijalankan pada basis data dan untuk menganalisis transaksi penting. e. Memilih organisasi file Tahap ini bertujuan untuk menentukan organisasi file yang efisien untuk setiap relasional data. f. Memilih indeks Tahap ini bertujuan untuk menentukan apakah penambahan indeks akan meningkatkan performa dan kinerja dari suatu sistem. 54 g. Memperkirakan kapasitas disk yang dibutuhkan untuk menyimpan basis data Tahap ini bertujuan untuk mengestimasi jumlah besarnya ukuran kapasitas disk yang diperlukan untuk sistem basis data. h. Merancang user views Tahap ini bertujuan untuk merancang tampilan user interface yang diidentifikasi dan dianalisis dari siklus hidup aplikasi sistem basis data. i. Merancang mekanisme keamanan Tahap ini bertujuan untuk merancang ukuran keamanan untuk basis data yang telah ditentukan oleh user. Berdasarkan pengertian di atas dapat disimpulkan, Database Design merupakan sebuah rancangan design sebuah aplikasi basis data yang akan diimplementasikan ke dalam sebuah perusahaan yang tentunya berdasar pada suatu masalah yang sedang dihadapi suatu perusahaan. 2.2.10.5. DBMS Selection Menurut Connolly and Begg (2010, p325), pemilihan DBMS merupakan suatu pemlihan yang dilakukan agar dapat 55 menemukan DBMS yang tepat untuk mendukung sistem basis data. 2.2.10.6. Application Design Menurut Connolly and Begg (2010, p329), tahap Application Design meliputi proses perancangan pada tampilan pengguna dan program aplikasi yang dapat digunakan serta dapat mengolah basis data. 2.2.10.7. Prototyping Membuat sebuah model kerja dari aplikasi basis data. Prototyping mengizinkan perancang dan pengguna untuk memvisualisasikan dan mengevaluasi gambaran sistem secara menyeluruh. Menurut Connolly and Begg (2010, p333), tahap Prototyping merupakan tahap pembuatan model kerja dari sistem basis data sebelum diterapkan pada organisasi. Dari pendapat di atas dapat ditarik kesimpulan, Prototyping adalah sebuah model kerja sebuah basis data yang dapat dijadikan untuk menggambarkan sebuah sistem agar dapat dievaluasi secara menyeluruh untuk menghasilkan sebuah masalah untuk dianalisis. 56 2.2.10.8. Implementation Sebuah aplikasi basis data setelah dirancang harus segera diimplementasi agar mengetahui kekurangan dan kelebihannya. Menurut Connolly and Begg (2010, p333), tahap implementasi merupakan tahap yang merealisasikan desain basis logika dan desain fisik dari sistem basis data. Berdasarkan pengertian di atas dapat disimpulkan bahwa implementasi merupakan tahap penggunaan basis data yang telah dibuat berdasarkan desain logika dan desain fisik 2.2.10.9. Data Conversion and Loading Memisahkan data dari sistem yang lama ke sistem yang baru. Langkah ini sangat diperlukan pada saat pemindahan dari sistem lama ke sistem yang baru. Menurut Connolly and Begg (2010, p334), menerangkan bahwa Data Conversion and Loading merupakan tahap pemindahan semua data yang ada kedalam basis data baru dan mengubah semua aplikasi yang ada guna menjalankan sistem basis data yang baru. Dari pendapat di atas dapat ditarik kesimpulan, Data Conversion and Loading adalah sebuah tahapan untuk memisahkan data-data penting perusahaan yang terdapat pada sistem lama untuk dimasukan ke sistem baru yang baru selesai di 57 rancang, pemindahan ini diserta dengan penggantian beberapa aplikasi untuk menunjang kelancaran sistem basis data baru. 2.2.10.10. Testing Menguji sebuah basis data apakah masih memiliki error. Dengan adanya pengujian itu membuat sistem yang banyak kurang menjadi lebih sempurna kedepannya untuk diimplementasi. Menurut Connolly and Begg (2010, p334), menerangkan bahwa Testing merupakan proses pengimplementasian sistem basis data pada periode tertentu, guna menemukan kesalahan yang ada pada sistem. Setelah melihat pendapat di atas dapat ditarik kesimpulan, Testing adalah pengujian terhadap aplikasi basis data untuk mencari apakah masih memiliki error agar dapat diambil tindak lanjut. 2.2.10.11. Operational Maintenance Sebuah sistem basis data memerlukan penanganan serius dan perawatan serius agar semua data dapat tersimpan aman tanpa terganggu. Menurut Connolly and Begg (2010, p335), menerangkan bahwa proses Operational Maintenance merupakan proses 58 pemantauan dan pemeliharaan dari sistem basis data yang telah dipasang. Dari pendapat di atas dapat ditarik kesimpulan, Operational Maintenance adalah sebuah proses pemeliharaan sebuah sistem basis data agar semua kekurangan-kekurangan dan error semuanya dapat terpantau dengan baik agar dapat diambil tindakan pemulihan sistem dan pembenaran sistem. 2.2.11. Database Security Di era sekarang ini banyak sekali ancaman-ancaman kehilangan sebuah data yang dapat merugikan sebuah perusahaan. Untuk mencegah hal ini Database Security sangatlah diperlukan. Menurut Connolly and Begg (2010, p568), menerangkan bahwa Database Security merupakan suatu mekanisme yang melindungi basis data dari ancaman yang disengaja maupun yang tidak disengaja. Dari pendapat di atas dapat ditarik kesimpulan, Database Security adalah sebuah bagian database yang dapat menjaga dan melindungi sebuah aplikasi basis data dari ancaman-ancaman yang merugikan. 2.2.12. Database Recovery Dalam perancangan sistem basis data harus memperhatikan kemungkinan-kemungkinan kehilangan data yang dapat diakibatkan dari 59 berbagai sumber akibat, maka dari itu harus dibuatkan sebuah database recovery Menurut Connolly and Begg (2010, p652), menerangkan bahwa Recovery Database merupakan proses pengembalian keadaan basis data kedalam keadaan semula. Dari pendapat di atas dapat ditarik kesimpulan, Database Recovery merupakan proses pengembalian ulang seluruh keadaan basis data ke dalam basis data awal berdasarkan kurun waktu yang telah ditentukan. 2.3. Teori Pendukung 2.3.1. Penjualan Perusahaan dalam menjalankan kegiatan bisnisnya tentunya untuk mencari keuntungan yang maksimal. Perusahaan guna mencapai keuntungan maksimal perlu sekali melakukan penjualan suatu produk yang tentunya berkualitas tinggi dan disukai pasar. Menurut Kotler et al (2006, p470), menerangkan bahwa proses penjualan merupakan serangkaian langkah-langkah yang dilakukan untuk menjual suatu produk kepada pelanggan oleh bagian penjualan. Menurut Fess (2006, p300), menerangkan bahwa penjualan merupakan jumlah tukar uang yang dibebankan kepada pelanggan atas suatu barang yang dipesan. 60 Berdasarkan pengertian di atas dapat ditarik kesimpulan bahwa penjualan merupakan serangkaian kegiatan yang dilakukan untuk menjual barang atau produk kepada pelanggan guna mendapatkan nilai tukar uang berdasarkan kesepakatan dari kedua belah pihak, yaitu penjual dan pembeli. 2.3.2. Persediaan Salah satu kegiatan perusahaan dalam menjalankan proses bisnisnya adalah menyimpan barang-barang dagangan yang dijadikan sebagai persediaan. Persediaan ini dapat disimpan di suatu tempat ataupun di gudang. Menurut Alfredson, K., et al (2007, p342), menerangkan bahwa persediaan merupakan harta atau aset perusahaan yang tersedia untuk dijual kepada pelanggan. Menurut I Nyoman Yudha Astana (2007, p185), menerangkan bahwa terdapat enam fungsi penting yang terdapat dalam persediaan dalam memenuhi kebutuhan perusahaan, sebagai berikut : 1. Meminimalkan resiko keterlambatan pengiriman barang yang dibutuhkan oleh perusahaan 2. Menghilangkan resiko akan adanya barang rusak ketika pemesanan barang 3. Meminimalkan resiko terhadap kenaikan harga 61 4. Untuk menyimpan barang-barang secara aman sehingga jika dibutuhkan sewaktu-waktu dapat tersedia. 5. Mendapatkan potongan harga atas pembelian barang 6. Menyediakan barang yang diperlukan oleh pelanggan agar kebutuhannya dapat terpenuhi. Dari pengertian di atas dapat ditarik kesimpulan bahwa persediaan adalah sebuah aset atau kekayaan perusahaan berupa barang-barang dagangan hasil produksi atau hasil pembelian dari pemasok yang disimpan di dalam suatu tempat atau gudang yang kemudian akan dijual kepada pelanggan untuk memenuhi kebutuhan pelanggan. 2.3.3. Pembelian Untuk pengadaan bahan baku produksi atau barang-barang yang akan dijual oleh perusahaan, maka perusahaan perlu sekali melakukan pembelian kepada pemasok agar proses bisnis suatu perusahaan dapat berjalan lancar. Menurut William B. Joyce (2006, p202), menerangkan bahwa kegiatan pembelian bertanggung jawab untuk mendapatkan material, layanan, yang dibutuhkan untuk menghasilkan produk atau jasa layanan. Menurut Andreas P. Kakorius (2006, p709-711), membagi proses pembelian menjadi lima langkah, yaitu : 62 • Initiation Phase Proses pembelian diawali dengan adanya kebutuhan akan jasa maupun suatu barang. • Planning Phase Merupakan siklus utama dari suatu siklus pembelian dimana terjadi perencanaan terhadap list barang yang akan dibeli agar tidak terjadi kesalahan dalam pembelian yang dapat menyebabkan kerugian. • Qualification Phase Pemilihan pemasok melalui tingkat kualitas barang yang dihasilkan agar barang tersebut terjamin kualitasnya. • Winning Phase Merupakan tahap akhir untuk memilih pemasok yang tepat untuk menjadi distributor tetap. • Monitoring and Review Phase Pembeli harus secara teratur dalam melakukan pemantauan agar barang yang dihasilkan oleh pemasok dapat terpantau terus kualitasnya. Dari pengertian di atas dapat ditarik kesimpulan bahwa pembelian adalah suatu serangkaian kegiatan perusahaan dalam pengadaan barangbarang produksi atau barang-barang yang akan dijual oleh perusahaan, selain itu dengan proses pembelian ini perusahaan dapat menilai dan menentukan pemasok yang berkualitas. 63 2.3.4. Piutang Banyak perusahaan menjual secara kredit agar dapat menjual lebih banyak produk atau jasa. Penjualan secara kredit itulah yang biasa dikenal sebagai piutang bagi perusahaan. Menurut Warren Reeve Fess (2006, p404), Piutang adalah semua klaim dalam bentuk uang terhadap pihak lainnya, termasuk individu, perusahaan, atau organisasi lainnya. 2.3.5. Retur Pelanggan atau customer dalam memenuhi kebutuhan hidupnya tentunya menginginkan barang yang bermutu tinggi agar dapat dipakai untuk kebutuhan. Apabila ada barang rusak pada saat pembelian maka barang tersebut akan berkurang nilainya dan harus segera dikembalikan. Menurut Warren Reeve Fess (2006, p310), Retur adalah pengembalian suatu produk atau barang akibat cacat atau rusak. Di dalam retur terdapat dua jenis yaitu retur penjualan dan retur pembelian.