BAB 2 TINJAUAN PUSTAKA 2.1. Pendekatan Basis Data Berikut penjelasan lebih dalam dan rinci tentang pengertian basis data. 2.1.1. Pengertian Basis Data Hoffer (2005:5) mengatakan bahwa data adalah representasi dari objek dan kejadian yang memiliki arti dan penting dalam lingkungan user. Basis data menurut Connolly (2010,p.65) adalah kumpulan data yang berhubungan secara logical dan gambaran dari data yang dirancang untuk memenuhi kebutuhan informasi dari suatu organisasi. Kutipan diatas dapat disimpulkan bahwa basis data adalah suatu kumpulan datadata yang disimpan dan dimanipulasi untuk memperoleh suatu informasi. 2.1.2. Sistem Manajemen Basis Data Connolly (2010, p.66) mengatakan bahwa DBMS merupakan sebuah sistem aplikasi yang memungkinkan user untuk mendefinisikan, membuat, memelihara, dan mengontrol akses ke basis data. DBMS memiliki fasilitas antara lain: 1. DDL (Data Definition Language) Menspesifikasikan tipe data beserta strukturnya dan batasan mengenai data yang bisa disimpan. 2. DML (Data Manipulation Language) 9 10 Menambahkan, mengedit, menghapus, dan mendapatkan kembali data yang dilakukan melalui sebuah Query Language. 3. DCL (Data Control Language) Mengontrol akses ke basis data untuk mencegah user yang tidak memiliki hak akses data. Keuntungan DBMS menurut Connolly (2010, p.77) yaitu: 1. Kendali terhadap pengulangan data Pendekatan basis data berguna untuk menghilangkan redudansi data dengan mengintegrasikan setiap file sehingga penggandaan data yang sama tidak disimpan. Redudansi data tidak hilang sepenuhnya melainkan dikendalikan jumlahnya. 2. Konsistensi data Menghilangkan atau mengendalikan redudansi, sehingga mengurangi resiko terjadinya ketidak konsistensi. 3. Lebih banyak informasi dari jumlah data yang sama Dengan integrasi dari data operasional, lebih memungkinkan bagi organisasi untuk memperolah informasi tambahan dari data yang sama. 4. Akses data bersamaan Basis data dimiliki oleh cakupan suatu organisasi dan dapat digunakan bersama oleh user yang berada di lingkungan organisasi tersebut. 5. Meningkatkan integritas data Integritas basis data mengacu pada validitas dan konsistensi data yang disimpan. Integritas biasanya menunjukan batasan-batasan, seperti aturan konsistensi yang tidak boleh dilanggar dalam basis data, batasan-batasan dapat diterapkan pada data atau pada relasi antar data. Integrasi memungkinkan DBA (Database 11 Administrator) untuk mendifinisikan dan DBMS menerapkan batasan integritas. 6. Meningkatkan keamanan data Karena DBMS memiliki integrasi yang tinggi, maka dapat menyebabkan data menjadi lebih rawan. Pengaksesan dari user yang dibolehkan dapat dibatasi oleh operation type (retrieved, insert, update, delete). 7. Skala ekonomi Penggabungan seluruh data operasional organisasi ke dalam satu basis data dan membuat serangkaian aplikasi yang bekerja pada suatu sumber data ini sehingga menghemat biaya. 8. Keseimbangan dari kebutuhan yang bertentangan Setiap user atau department memiliki kebutuhan yang mungkin saling bertentangan dengan kebutuhan dari user lain, karena basis data di dalam control DBA (Database Administrator), DBA dapat membuat keputusan desain dan operasional dari basis data untuk menyediakan penggunan terbaik dari sumber daya untuk organisasi secara menyeluruh. 9. Peningkatan data dan responsiveness Sebagai hasil integrasi, data yang melewati batasan departemen dapat langsung diakses oleh user. Banyak DBMS menyediakan fasilitas query atau membuat laporan yang memungkinkan user untuk menanyakan pertanyaan khusus dan untuk mendapatkan informasi secara cepat dari terminalnya, tanpa membutuhkan programmer untuk membuat informasi basis data. 10. Meningkatkan produktivitas program yang menghasilkan 12 DBMS menyediakan banyak fungsi-fungsi standar yang biasanya programmer harus ditulis di aplikasi yang berbasis file. Perlengkapan dari fungsi-fungsi ini memungkinkan programmer untuk berkonsentrai pada fungsi-fungsi khusus yang dibutuhkan oleh user tanpa harus khawatir tentang detail implementasi. Hasilnya meningkatkan produktivitas programmer dan mengurangi waktu pengembangan. 11. Meningkatkan pemeliharaan dengan data yang independen DBMS memisahkan data dengan aplikasi, sehingga membuat aplikasi tidak harus terpengaruh oleh perubahan data. 12. Meningkatkan concurrency Bila dua atau lebih user dapat mengakses file yang sama secara bersamaan, kemungkinan pengaksesan tersebut akan saling mempengaruhi sehingga menyebabkan kehilangan informasi dan integritas. DBMS mengelola pengaksesan secara bersamaan pada basis data dan memastikan tidak ada masalah yang terjadi. 13. Memperbaiki back up dan layanan pemulihan DBMS menyediakan fasilitas yang megurangi pemrosesan yang hilang dikarenakan kegagalan muncul disaat pengelolaan. Kerugian DBMS menurut Connolly (2010, p.80) yaitu: 1. Kerumitan Karena penetapan fungsi dari DBMS yang baik, menyebabkan DBMS menjadi piranti lunak yang cukup rumit. Seluruh user hanya mengetahui fungsi-fungsi yang ada dengan baik, sehingga memperoleh manfaatnya. 2. Ukuran 13 Karena kerumitan dari luasnya fungsi, membuat DBMS menjadi bagian yang sangat besar dalam piranti lunak. Kapasitas yang dibutuhkan sehingga megabytes dan membutuhkan sejumlah besar memori untuk berjalan secara efisien. 3. Biaya kebutuhan DBMS Biaya kebutuhan DBMS sangat bervariasi, tergantung dari lingkungan organisasi dan fungsionalitas yang disediakan. 4. Biaya tambahan untuk piranti keras Kebutuhan penyimpanan data untuk DBMS dan basis data mungkin mengharuskan pembelian ruang penyimpanan tambahan. Untuk mencapai kinerja yang baik, dibutuhkan mesin yang lebih besar bahkan mesin khusus untuk menjalankan DMBS. 5. Biaya konversi Dalam beberapa situasi, biaya tambahan perangkat keras dan DBMS tak seberapa dibandingkan dengan biaya untuk melakukan konversi aplikasi yang ada untuk dapat di jalankan di dalam DBMS dan piranti keras yang baru. Biaya ini juga termasuk di dalam pelatihan karyawan untuk menggunakan sistem baru. 6. Kinerja DBMS dibuat lebih umum, karena tujuannya untuk dapat melayani aplikasi dalam jumlah banyak. Efek dari DBMS tersebut menyebabkan beberapa aplikasi tidak dapat bekerja secepat biasanya. 7. Tingkat kegagalan yang tinggi Sentralisasi sumber daya meningkatkan kerentanan sistem. Karena semua user dan aplikasi bergantung pada keteresediaan DBMS, kegagalan komponen tertentu dapat membuat pengoperasian menjadi terhenti 14 2.1.3. Structured Query Language Sebagian bahasa yang muncul dari pengembangan relational model disebut Structured Query Language, atau lebih dikenal sebagai SQL (Connolly & Begg, 2010, p. 183). Data language terdiri atas dua bagian yaitu Data Definition Language (DDL) dan Data Manipulation Language (DML). Keduanya disebut sebagai database language karena keduanya tidak dibuat untuk keperluan komputasi atau perhitungan seperti keadaaan kondisi ataupun keadaan berulang yang harus disajikan lebih sebagai bahasa pemrograman tingkat tinggi (Connolly & Begg, 2010, p. 91). 2.1.3.1. Data Definition Language Data Definition Language (DDL) adalah sebuah bahasa database yang mengijinkan DBA atau user untuk mendiskripsikan nama entitas, atribut-atribut dan relasi yang diperlukan oleh aplikasi dan integritas dan aturan-aturan di dalam penyimpannya (Connolly & Begg, 2010, p. 92). 2.1.3.2. Data Manipulation Language Data Manipulation Language (DML) adalah sebuah bahasa database yang menyediakan sejumlah set operasi untuk mendukung manipulasi data terhadap data yang dimiliki oleh database (Connolly & Begg, 2010, p. 92). 2.1.4. Forth Generation Language Dibandingkan dengan 3GL (Third Generation Language) yang procedural, 4GL (Forth Generation Language) tidak procedural: user mendifinisikan apa yang harus di kerjakan bukan bagaimana cara kerjanya. 4GL diharapkan mengandalkan sebagian besar komponen tingkat tinggi yang diketahui sebagai Fourth-generation tools. User tidak mendefinisikan 15 langkah-langkah yang program harus lakukan, tapi malah mendefinisikan parameter untuk tools yang digunakan untuk generate sebuah program aplikasi (Connolly & Begg, 2010, p. 94). 16 2.1.5. Siklus Hidup Aplikasi Basis Data Berikut merupakan gambar tentang siklus hidup aplikasi basis data. Gambar 2. 1 Siklus Hidup Aplikasi Basis Data 2.1.5.1. Database Planning Kegiatan manajemen yang memungkinkan tahapan aplikasi basis data dapat direalisasikan secara efektif dan efisien. Ada 3 persoalan utama yang terlibat dalam memformulasikannya, yaitu: (Connolly & Begg, 2010, p. 313) 1. Identifikasikan rencana dan tujuan dari perusahaan dengan penentuan selanjutnya sistem basis data yang dibutuhkan. 2. Mengevalusi sistem basis data yang sekarang untuk mengetahui kekurangan dan kelebihannya. 3. Penilaian terhadap kesempatan yang menghasilkan keuntungan yang kompetitif. mungkin 17 2.1.5.2. System Definition Menentukan ruang lingkup dan batasan-batasan dari aplikasi basis data termasuk area utama dari aplikasi dan bagian dari kelompok user. 2.1.5.3. Requirement Collection and Analysis Proses mengumpulkan dan menganalisa informasi tentang bagian dari organisasi yang harus didukung oleh aplikasi basis data, dan menggunakan informasi untuk mengidentifikasi user sistem baru (Connolly & Begg, 2010, p. 316) 2.1.5.4. Database Design Proses desain basis data untuk mendukung operasi perusahaan dan tujuan yang dimulai dengan menggunakan pendekatan perancangan basis data. Terbagi atas beberapa tahap: (Connolly & Begg, 2010, p. 320). 1. conceptual database design, 2. logical database design, 3. physical database design. 2.1.5.5. DBMS Selection Pemilihan DBMS yang tepat untuk mendukung sistem basis data yang akan dibangun. Ada kesempatan untuk memastikan bahwa proses seleksi sesuai rencana dan sistem memebrikan keuntungan kepada perusahaan (Connolly & Begg, 2010, p. 325). 2.1.5.6. Application Design Desain user interface dan aplikasi program yang digunakan dengan memproses basis data. Desain aplikasi ini terdiri dari: (Connolly & Begg, 2010, p. 329) 1. Desain transaksi Bentuk aksi yang dilakukan oleh user atau program aplikasi, yang memiliki kendali dalam mengubah isi dari basis data. 18 2. User interface design Bentuk perancangan yang akan dibangun bagi user untuk memudahkan mengenali setiap perintah, tindakan, ataupun keterangan yang ditampilkan dari suatu basis data dalam bentuk aplikasi program secara fisik atau tergambar. 2.1.5.7. Prototyping Membangun model kerja dari sistem basis data. Tujuan dari pengembangaan sistem prototpype adalah memungkinkan user untuk menggunakan prototype untuk mengidentifikasikan fitur dari sistem yang bekerja memadai atau tidak memadai, jika mungkin untuk menyarankan perbaikan atau fitur baru untuk sistem basis data (Connolly & Begg, 2010, p. 333). 2.1.5.8. Implementation Realisasi fisikal dari sebuah basis data atau desain aplikasi. Implementasi basis data dapat dicapai menggunkan Data Definition Language (DDL) dari DBMS yang dipilih (Connolly & Begg, 2010, p. 333). 2.1.5.9. Data conversion and loading Memindahkan semua data yang sudah ada kedalam basis data yang baru dan mengkonversikan semua aplikasi untuk menjalankan basis data yang baru (Connolly & Begg, 2010, p. 334). 2.1.5.10. Testing Proses menjalankan sistem basis data dengan tujuan untuk menemukan kesalahan dan melakukan pengujian terhadap sistem yang sudah penulis buat. Contoh kriteria yang bisa digunakan untuk melakukan testing: 1. Learnability 19 Berapa lama waktu yang dibutuhkan oleh user baru untuk menguasai sistem yang baru ini. 2. Performance Seberapa baik sistem merespon dengan pekerjaan user. 3. Robustness Seberapa toleran sistem terhadap kesalahan. 4. Recoverability Seberapa baik sistem dalam melakukan pemulihan dari kesalahan user. 5. Adapatability Seberapa dekat sistem terkait dengan model kerja single. 2.1.5.11. Opertional Maintenance Proses mengawasi dan pemeliharaan sistem basis data terhadap instalasi. Pada tahap pemeliharaan operasional terdiri dari: 1. memantau kinerja sistem, 2. memelihara dan mengingkatkan sistem basis data yang baru (jika diperlukan). 2.1.6. Entity-Relationship Modeling Entity relationship diagram adalah alat pemodelan yang membantu dalam mengorganisasi data dalam proyek ke dalam suatu entitas dan menetukan hubungan antara kedua entitas. Komponen-komponen yang digunakan pada pembuatan ERD yaitu: 2.1.6.1. Entity Types Suatu entitas data yang nyata maupun abstrak yang digunakan untuk menyimpan data yang diinginkan. Entitas terbagi dalam 5 kelas berbeda yaitu peran, kejadian, lokasi, hal-hal nyata, atau konsep. Contoh dari ERD adalah customer, pembayaran, pembelian. Entitas yang spesifik disebut dengan instance. 20 Tipe entitas dapat dikelompokan menjadi: 1. Strong entity Tipe strong entity adalah tipe entitas yang keberadaannya tidak bergantung pada tipe entitas lain (Connolly & Begg, 2010, p. 383). 2. Weak entity Tipe weak entity adalah tipe entitas yang keberadaannya bergantung pada tipe entitas lain (Connolly & Begg, 2010, p. 383). 2.1.6.2. Relationship Types Relasi data adalah asosiasi yang ada diantara satu entitas atau lebih dari satu entitas. Contoh karyawan melakukan pembayaran. 2.1.6.3. Attributes Suatu data atribut merupakan karakteristik umum untuk sebagian besar instance pada entitas tertentu termasuk property, element data dan field. Yang terditri dari atribut domain, atribut simple, atribut komposit, atribut single-valued, atribut multivalued, dan atribut derivasi. Yang dijelaskan lebih lanjut di bawah ini. 2.1.6.3.1. Atribut Domain Atribut domain adalah kumpulan nilai yang diizinkan untuk satu atau lebih atribut mungkin menyimpan dan serupa dengan domain pada model relasi. 2.1.6.3.2. Atribut Simple Sebuah atribut yang disusun dari komponen tunggal dengan keberadaan yang mandiri. Atribut simple tidak bisa dibagi lagi menjadi komponen yang lebih kecil. Atribut 21 simple dapat disebut juga atomic attribute (Connolly & Begg, 2010, p. 379). 2.1.6.3.3. Atribut Composite Sebuah atribut yang disusun dari komponen berlipat ganda, masing-masing dengan sebuah keberadaaan yang bebas. Beberapa atribut dapat dibagi lagi ke hasil komponen yang lebih kecil dengan keberadaan mandiri yang dimiliki atribut itu sendiri (Connolly & Begg, 2010, p. 380). 2.1.6.3.4. Atribut Single-Valued Atribut yang mempunyai nilai tunggal untuk setiap kejadian pada tipe entitas (Connolly & Begg, 2010, p. 380). 2.1.6.3.5. Atribut Multi-Valued Atribut yang mempunyai beberapa nilai untuk setiap kejadian pada sebuah entitas (Connolly & Begg, 2010, p. 380). 2.1.6.3.6. Atribut Derivasi Sebuah atribut yang mewakili sebuah nilai yang dapat lditurunkan dari atribut lain yang berhubungan atau kumpulan dari beberapa atribut, dan tidak harus berasal dari entitas yang sama (Connolly & Begg, 2010, p. 380). 2.1.6.4. Keys Terdapat 4 keys yaitu candidate key, primary key, composite key, dan foreign key yang dijelaskan lebih detil di bawah ini: 2.1.6.4.1. Candidate key Sejumlah kecil atribut yang secara unik mengidentifikasikan dari setiap tipe entitas (Connolly & Begg, 2010, p. 381). 22 2.1.6.4.2. Primary Key Kunci kandidat yang terpilih untuk medifinisikan secara unik setiap kejadian dari sebuah entitas (Connolly & Begg, 2010, p. 381). 2.1.6.4.3. Composite Key Sebuah kunci kandidat yang terdiri dari sebuah dua atau banyak atribut (Connolly & Begg, 2010, p. 382). 2.1.6.4.4. Foreign Key Himpunan atribut dalam suatu hubnugana yang cocok dengan kunci kandidat dari beberapa hubungan lainnya (Connolly & Begg, 2010, p. 151). 2.1.6.5. Structural Constraint Constraint harus menggambarkan pembatasan di dalam hubungan seperti halnya di “dunia nyata”. Jenis utama dari Constraint di namakan multiplicity. Multiplicity adalah banyak kejadian yang mungkin pada suatu tipe entitas yang mungkin berhubungan dengan suatu kejadian dari entitas lain pada suatu hubungan (Connolly & Begg, 2010, p. 385). Derajat yang paling umum pada suatu hubungan adalah biner. Hubungan biner terdiri dari: 2.1.6.5.1. Relationship one to one (1:1) 23 Gambar 2.2 Relationship One to One Pada gambar di atas, bisa di lihat bahwa SG5 hanya terhubung one-to-one dengan B003, dan SL21 hanya terhubung one-toone dengan B005 (Connolly & Begg, 2010, p. 386) Berdasarkan gambar diatas dapat ditulis multiplcity-nya seperti pada gambar berikut: Gambar 2.3 Multiplicty One to One 2.1.6.5.2. Relationship one to many (1:*) Gambar 2.4 Relationship One to Many Pada gambar diatas, bisa dilihat bahwa SG37 terhubung one to many dengan PG21 dan PG36. Berdasarkan dari gambar diatas 24 dapat ditulis multiplicity-nya seperti gambar di bawah ini (Connolly & Begg, 2010, p. 387). Gambar 2.5 Multiplicity One to Many 2.1.6.5.3. Relationship many to many Gambar 2.6 Relationship Many to Many Pada gambar di atas, dapat dilihat Glasgow daily terhubung one to many dengan PG21 dan PG36, sedangkan PG36 terhubung one to many dengan glasglow daily dan the west news. Maka entitas newspaper (dengan value glasglow daily dari gambar diatas) dan etitas propertyForRent (dengan value PG36 dari gambar diatas) tehubung many to many. Berdasarkan gambar dia atas dapat ditulis multiplictynya seperti pada gambar dibawah ini (Connolly & Begg, 2010, p. 388). Gambar 2.7 Many to Many Multiplicty 25 2.1.6.6. Cardinality Cardinality adalah nilai maksimum dari kejadian hubungan yang mungkin terjadi untuk sebuah entitas yang ikut serta pada suatu hubungan (Connolly & Begg, 2010, p. 390). Gambar 2.8 Cardinality 2.1.6.7. Participation Participation menentukan apakah semua atau hanya beberapa kejadian entitas yagn ikut serta dalam sebuah hubungan (Connolly & Begg, 2010, p. 391). 26 Gambar 2.9 Participation 2.1.7. Metodologi Perancangan Basis Data Berikut merupakan penjelasan lebih dalam tentang metodologi perancangan basis data. 2.1.7.1. Perancangan Konseptual Menurut Connolly (2010, p.470) perancangan konseptual model terdiri atas: 1. jenis entitas, 2. jenis relasi, 3. atribut dan domain atribut, 4. kunci primer dan kunci alternatif, 5. batasan integritas. Model konseptual didukung oleh dokumentasi, termasuk diagram ER dan kamus data yang merupakan hasil dari pengembangan suatu model. Berikut langkah-langkah yang mendukung pengembangan dari konseptual model. 27 1. Identifikasi jenis entitas (Identify Entity Types) Mengidentifiaksi jenis entitas yang diperlukan. Metode mengidentifikasi entitas dengan memeriksa spesifikasi kebutuhan user. Berdasarkan dari itu dapat diketahui benda atapun kata benda yang disebutkan (contoh: manusia, tempat, konsep yang menarik) dengan melalui ekstrasi kamus data. 2. Identifikasi jenis relasi (Identify Relationship Types) Untuk mengidentifikasi relasi penting yang ada atara jenis entitas. Untuk mempresentasikan entitas dan bagaimana mereka berhubungan satu sama lain dengan mudah dapat menggunakan Entity-Relationship (ER) diagrams. 3. Identifikasi dan mengasosiasikan atribut dengan jenis entitas atau relasi (Identify and Associate Attributes with Entity or Relationship Types) Untuk mengasosiasikan atribut dengan entitas atau jenis relasi yang sesuai. Mengidentifikasi atribut sederhana atau komposit, atribut single atau multi value, dan atribut turunan. 4. Menentukan domain atribut (Determine Attributes Domains) Untuk menentukan domain untuk atribut didalam konseptual model. 5. Menemukan kunci kandidat, primer, dan alternate atribut (Determine Candidate, Primary, and Alternate Key Atributes) Untuk mengidentifikasi kunci kandidat untuk setiap jenis entitas dan apabila terdapat lebih dari satu kunci kandidat, untuk memilih salah satu untuk mejadi kunci primer dan lainnya menjadi kunci alternate. 6. Mempertimbangkan penggunaan konsep-konsep (Consider Use of Enhanced Modeling Concepts) permodelan 28 Penggunaan salah satu bentuk konsep seperti spesialisasi atau generalisasi, agregasi dan komposisi. 7. Periksa model untuk redudansi (Check Model for Redudancy) Memeriksa apakah ada kemungkinan redudansi di dalam model dengan cara memeriksa relasi one-to-one (1:1), menghapus relasi redudansi, dan mempertimbangkan dimensi waktu. 8. Validasi model konseptual terhadap transaksi user (Validate Conceptual Data Model Against User Transantions) Untuk memastikan model konseptual mendukung kebutuhan transaksi, menggunakan dua pendekatan yaitu menggunakan jalur transaksi. 9. Meninjau model konseptual dengan user (Review Conceptual Data Model with User) Untuk meninjau model data konseptual dengan user untuk memastikan bahwa model merupakan representasi sempurna dari kebutuhan data perusahaan. 2.1.7.2. Perancangan Logikal Tahapan yang harus dilakukan untuk mengubah dari bentuk konseptual data ke model data logical menurut Connolly (2010, p.490) sebagai berikut. 1. Turunan relasi untuk model data logical (Derive Relations for Logical Data Model) Membuat relasi bagi model data logical untuk mempresentasikan entitas, relasi dan atribut yang telah diidentifikasikan. 2. Validasi relasi menggunakan normalisasi (Validate Relations Using Normalization) Memvalidasi relasi dalam model data logical menggunakan normalisasi. Tujuan dilakukannya normalisasi adalah untuk 29 memastikan himpunan relasi memiliki jumlah yang minimum tetapi atribut yang diperlukan masih mencukupi untuk persyaratan data yang diperlukan oleh perusahaan. 3. Validasi relasi terhadap transaksi user (Validate Relations Against User Transactions) Untuk memastikan bahwa relasi model data logical mendukung kebutuhan user. 4. Memeriksa batasan integritas (Check Integrity Constraint) Untuk memeriksa batasan integritas mempresentasikan model data logical. Batasan integritas adalah batasan yang dibutuhkan untuk melindungi basis data menjadi tidak lengkap, tidak akurat dan tidak konsisten. 5. Meninjau model data logical dengan user (Review Logical Data Model with User) Memastikan bahwa user menganggap model menjadi salah satu bentuk represntasi yang tepat berdasarkan dari persyaratan data perusahaan. 6. Menggabungkan model data logical menjadi model global (Merge Logical Data Models into Global Data Model) Untuk menggabungkan model data logical menjadi model data logical global tunggal yang mempresentasikan semua pandangan user basis data. 7. Memeriksa pertumbuhan masa depan (Check for Future Growth) Untuk menetukan apakah ada kemungkinan perubahan yang signifikan di masa depan dan untuk menilai apakah logical model data dapat diakomodasikan dengan perubahan ini. 2.1.7.3. Perancangan Fisikal 30 Menurut Connolly (2010, p.523), tahapan untuk melakukan perancangan fisikal sebagai berikut. 2.1.7.3.1. Mengubah Model Data Logikal ke DBMS Menghasilkan skema basis data relasional dari model data logical yang dapat diimplementasikan ke dalam DBMS. 2.1.7.3.1.1. Desain Relasi Dasar Memutuskan bagaimana cara mempresentasikan relasi dasar dapat diidentifikasi di model data logical yang akan dimasukkan ke dalam DBMS. 2.1.7.3.1.2. Desain Representasi dari Data Turunan Memutuskan bagaimana cara merepresentasikan data turunan berada di model data logical yang akan dimasukkan ke dalam DBMS. Nilai atribut berasal dari evaluasi atribut turunan dan hitungan. 2.1.7.3.1.3. Desain Batasan Umum Melakukan update untuk relasi yang dibatasi oleh batasan intergritas yang mengatur “dunia nyata” trasnsaksi berdasarkan representasi melalui update. Batasan biasanya tergantung dari bentuk DBMS dan sistem yang menyediakan fasilitas untuk mendefinisikan segala situasi umum. 2.1.7.3.2. Desain Organisasi file dan indeks Menentukan pengorganisasian file secara optimal untuk menyimpan relasi dasar dan indeks yang diperlukan untuk mencapai performa yang diinginkan dengan cara penyimpanan relasi dan tuples pada media penyimpanan sekunder. 31 2.1.7.3.2.1. Analisis transaksi Membuat perancangan basis data fisikal secara efektif dengan cara mengenali atau mengidentifikasi pada analisis transaksi sebagai berikut: 1. transaksi yang digunakan dapat memberikan dampak besar terhadap performa, 2. transaksi yang merupakan transaksi bisnis yang kritis, 3. jangka waktu hari atau mingguan ketika akan ada permintaan tinggi yang dibuat basis data. 2.1.7.3.2.2. Memilih organisasi file Menentukan organisasi file secara efektif untuk setiap relasional data. 2.1.7.3.2.3. Pemilihan indeks Menentukan penambahan indeks yang bertujuan untuk meningkatkan performa dari suatu sistem. 2.1.7.3.2.4. Perkiraan kapasitas penyimpanan Mengestimasi ukuran kapasitas penyimpanan yang diperlukan untuk menyimpan basis data. 2.1.7.3.3. Desain User View Sudah melalui pengidentifikasian selama pengumpulan kebutuhan dan analisis terhadap pengembangan sistem basis data siklus hidup. 2.1.7.3.4. Desain Mekanisme Keamanan Merancang ukuran keamanan untuk basis data yang sudah dispesifikasikan untuk user dengan memberikan mekanisme proteksi pada basis data untuk menghindari dari kejadian yang disengaja maupun tidak disengaja. 32 2.1.8. Normalisasi Connolly (2010, p.416) mengatakan bahwa normalisasi adalah teknik memproduksi sebuah kumpulan dari relasi dengan sifat yang diingkan, mengingat persyaratan dari suatu perusahaan. 1. Tujuan Normalisasi Tujuan dari normalisasi adalah untuk mengidentifikasi sekumpulan relasi yang sesuai yang dapat mendukung persyaratan data untuk perusahaan. Karakteristik dari sekumpulan relasi yang sesuai termasuk dalam contoh berikut: a. jumlah minimal atribut yang diperlukan untuk mendukung kebutuhan data dari suatu perusahaan, b. atribut dengan relasi logical dekat (dijelaskan sebagai ketergantungan fungsi) yang ditemukan pada relasi yang sama, c. meminimalisasi redudansi, dengan setiap atribut yang direpresentasikan hanya sekali, dengan pengecualian penting dari atribut yang dibentuk atau sebagai dari foreign key, yang penting untuk penggabungan hubungan yang terkait. 2. Reduduansi Data Dengan adanya pengelompokan atribut ke dalam relasi yang bertujuan untuk mengurangi redudansi data yang menjadi tujuan dari relasi basis data desain. Jika tujuan tercapai maka potensi keuntungan untuk implementasi basis data termasuk sebagai berikut: a. memperbaharui data yang tersimpan dalam basis data yang dapat diterima dengan jumlah operasi minimal, sehingga 33 mengurangi kemungkinan data tidak konsisten yang terjadi dalam basis data, b. pengurangan dalam ruang penyimpanan file yang dibutuhkan dari relasi dasar sehingga mengurangi biaya. 3. Update Anomalies Masalah yang ditimbulkan karena relasi memiliki data yang berulang, yang dapat diklasifikasikan sebagai insertion, deletion, atau modification anomalies. 4. Proses Normalisasi Normalisasi adalah teknik formal untuk menganalisa relasi berdasarkan dari kunci primer (atau kunci kandidat) dan ketergantungan fungsi. Teknik melibatkan sekumpulan aturan yang dapat digunakan untuk tes satu relasi sehingga basis data dapat dinormalisasikan ke semua tingkatan. Ketika persyaratan tidak terpenuhi, relasi melanggar persyaratan harus didekomposisikan menjadi relasi secara individual memenuhi persyaratan normalisasi. a. Unnormalized Form (UNF) Suatu tabel yang terdiri dari satu atau lebih kelompok yang berulang (Repeating Group). Repeating Group adalah sebuah atribut atau himpunan atribut didalam table yang memiliki lebih dari satu nilai (multi value) untuk sebuah primary key pada tabel tersebut (Connolly & Begg, 2010, p. 430). b. First Normal Form (1NF) Sebuah hubungan dimana titik antara baris dan kolomnya hanya mengandung satu nilai. Sebuah hubungan 34 berada dalam 1NF jika repeating group tersebut telah hilang. Ada dua pendekatan umum untuk menghilangkan repeating group dari tabel yang tidak normal, yaitu: a) memasukkan data yang tepat dikolom yang kosong dari baris yang mengandung data berulang, b) menempatkan data berulang bersama salinan atribut kunci pada hubungan yang terpisah. Sebuah primary key diidentifikasi kehubungan yang baru (Connolly & Begg, 2010, p. 430). c. Second Normal Form (2NF) Sebuah hubungan yang berada pada 1NF dan setiap atribut yang bukan primary key berfungsi secara penuh bergantung pada primary key-nya (Connolly & Begg, 2010, p. 434). d. Third Normal Form (3NF) Sebuah hubungan yang berada pada 1NF dan 2NF, dan tidak ada atribut yang bukan primary key secara langsung bergantung pada primary key-nya (Connolly & Begg, 2010, p. 435). 2.2. Pemahaman Objek Studi Pemahaman objek studi akan dibagi menjadi 4 bagian antara lain: sistem produksi, pembelian, persediaan, dan penjualan. 2.2.1. Sistem Produksi Produksi adalah proses yang dilakukan untuk menghasilkan barang dan jasa. Sistem produksi merupakan kumpulan dari sub sistem yang saling berinteraksi dengan tujuan mengubah input produksi menjadi output produksi. Dalam sistem produksi sendiri 35 ada proses-proses yang saling mendukung seperti, sistem pembelian, sistem penjualan, dan sistem persediaan. Tabel 2. 1 Sistem Produksi Seperti yang ditampilkan di gambar di atas, dapat disimpulkan bahwa tidak ada output tanpa input dan proses produksi. Input meliputi tenaga kerja, modal, material, energi, tanah, informasi, dan manajerial. Pada sistem produksi dapat penulis jelaskan lebih lengkap dengan gambar di bawah ini. Tabel 2. 2 Sistem Produksi (detail) 2.2.2. Sistem Pembelian Suatu proses yang mendukung proses penjualan, tanpa adanya proses pembelian maka tidak ada proses produksi barang yang akan dijual. 2.2.2.1. Fungsi yang terkait dalam Pembelian Berikut fungsi-fungsi yang terkait dalam pembelian. 1. Fungsi gudang Fungsi gudang bertanggung jawab untuk mengajukan permintaan pembelian sesuai dengan persediaan barang digudang. 2. Fungsi pembelian 36 Fungsi ini bertanggung jawab untuk memperoleh informasi mengenai barang, mementukan pemasok yang dipilih dalam pengadaan barang dan mengeluarkan order pembelian kepada pemasok yang dipilih. 3. Fungsi penerimaan Fungsi ini bertanggung jawab untuk memeriksa jenis, mutu dan kuantitas barang yang diterima. 4. Fungsi akuntansi Fungsinya adalah melakukan pencatatan terhadap utang dan fungsi pencatatan persediaan. 2.2.2.2. Jaringan Prosedur yang Membentuk Sistem Pembelian Prosedur-prosedur yang membentuk sistem pembelian antara lain: 1. prosedur permintan pembelian, 2. prosedur permintaan penawaran harga dan pemilih pemasok, 3. prosedur order pembelian, 4. prosedur penerimaan barang, 5. prosedur pencatatan utang, 6. prosedur distribusi pembelian. 2.2.2.3. Dokumen pada Sistem Pembelian Dokumen-dokumen yang ada pada sistem pembelian antara lain: 1. surat permintaan pembelian, 2. surat permintaan penawaran harga, 3. surat order pembelian, 4. laporan penerimaan barang, 5. surat perubahan order, 6. bukti kas keluar. 2.2.3. Sistem Persediaan 37 Persediaan dalam kata lain bisa disebut sebagai sumber daya yang belum dipakai. Sumber daya ini belom digunakan karena menunggu proses lebih lanjut seperti kegiatan produksi. 2.2.3.1. Fungsi yang terkait Sistem Persediaan Fungsi utama persediaan yaitu sebagai penyangga, penghubung antar proses produksi dengan proses distribusi untuk memperoleh efisiensi. Persediaan dapat dikategorikan berdasarkan fungsinya. 1. Persedian dalam lot size Persediaan muncul karena adanya persediaan ekonomis untuk penyediaan. Penyediaan dalam lot yang besar akan lebih ekonomis. 2. Persediaan cadangan Permintaan konsumen terkadang disertai kesalahan-peramalan. Dalam artian tidak sesuai dengan stock barang yang tersedia. Oleh karena itu, ada persediaan cadangan untuk mencegah kekurangan dari permintaan. 3. Persediaan antisipasi Persediaan yang timbul untuk mencegah sesuatu yang tidak dinginkan seperti terjadinya penurunan persediaan dan peningkatan permintaan. Untuk menjaga persediaan barang ke konsumen dalam rangka libur karyawan atau hal-hal yang tidak dinginkan seperti huru hara dan lainlain. 4. Persediaan pipeline Persediaan pipeline adalah persediaan setengah jadi dan persediaan transportasi. Persediaan pipeline merupakan total investasi perubahan dan harus dikendalikan. 5. Persediaan lebih Persediaan yang tidak dapat digunakan karena kelebihan atau kerusakan fisik yang terjadi. 38 2.2.3.2. Jaringan Prosedur yang Membentuk Sistem Persediaan Prosedur yang akan dilakukan dalam membentuk sistem persediaan antara lain: 1. prosedur pencataan barang jadi, 2. prosedur pencatatan harga pokok produk jadi yang dijual, 3. prosedur pencatatan harga pokok produk jadi yang dikembalikan oleh pembeli, 4. prosedur pencatatan tambahan dan penyesuain kembali harga pokok persediaan produk dalam proses, 5. prosedur pencatatan harga pokok persediaan yang dibeli, 6. prosedur pencatatan harga pokok persediaan yang dikembalikan kepada pemasok, 7. prosedur permintaan dan pengeluaran barang gudang, 8. prosedur pencatatan tambahan harga pokok persediaan karean pengembalian barang gudang, 9. sistem perhitungan fisik persediaan. 2.2.3.3. Dokumen pada Sistem Persediaan Dokumen-dokumen yang ada pada sistem persediaan antara lain: 1. kartu perhitungan fisik, 2. daftar hasil perhitungan fisik, 3. bukti memorial. 2.2.4. Sistem Penjualan Suatu kesatuan proses yang saling mendukung dalam usahanya untuk memenuhi kebutuhan pembeli dan bersama–sama mendapatkan kepuasan dan keuntungan. 2.2.4.1. Fungsi yang terkait Sistem Penjualan 39 1. Bagian penjualan Bagian ini menerima pesanan dari pembeli, mengedit pesanan dan meminta persetujuan dari bagian keuangan. 2. Bagian gudang atau pengiriman Bagian ini bertugas untuk menyimpan barang yang belum dikirim dan mengirim barang atas dasar pesanan. 3. Bagian penagihan Bagian ini membuat faktur untuk di berikan kepada pembeli dan nanti diserhakan ke bagian akuntasi. 4. Bagian akuntansi Bagian ini bertujuan untuk membuat pembukuan ke dalam jurnal penjualan dan secara periodik membukukan ke dalam rekening buku besar. 2.2.4.2. Jaringan Prosedur yang Membentuk Sistem Penjualan Berikut merupakan prosedur-prosedur yang membentuk sistem penjualan. 1. Prosedur order penjualan Fungsi penjulaan menerima order dari pembeli dan membuat faktur penjualan tunai supaya pembeli dapat melakukan pembayaran barang. 2. Prosedur penerimaan kas Fungsi kas menerima pembayaran harga barang dari pembeli dan memberikan tanda pembayaran kepada pembeli. 3. Prosedur penyerahan barang Dalam prosedur ini yang akan menyerahkan barang ke pembeli. 4. Prosedur pencatatan penjualan tunai 40 Fungsi akuntasi melakukan pencatatan transaksi penjualan tunai dalam jurnal penjualan dan jurnal penerimaan kas. 5. Prosedur penyetoran kas ke bank Fungsi kas meyetorkan kas yang diterima dari penjualan tunai ke bank dalam jumlah penuh. 6. Prosedur pencatatan penerimaan kas Fungsi akuntasi melakukan pencatatan penerimaan kas ke dalam jurnal penerimaan kas berdasarkan bukti setor bank yang diterima dari bank melalui fungsi kas. 7. Prosedur pencatatan harga pokok penjualan Fungsi akuntasi membuat rekapitulasi harga pokok penjualan berdasarkan data yang dicatat dalam kartu persediaan. 2.2.4.3. Dokumen pada Sistem Penjualan Berikut merupakan dokumen-dokumen pada sistem penjualan. 1. Faktur penjualan tunai Dokumen yang digunakan untuk merekam berbagai informasi yang diperlukan manajemen mengenai transaksi penjualaan tunai. 2. Pita kas register Dokumen ini dihasilkan oleh fungsi kas dengan cara mengoperasikan mesin register kas, merupakan bukti penerimaan kas yang dikeluarkan oleh fungsi kas dan merupakan pendukung faktur penjualan tunai yang dicatat dalam jurnal penjualan. 3. Bill of lading Dokumen ini digunakan oleh fungsi pengiriman dalam penjuaan COD (Cash On Delivery) yang penyerahaan barangnya dilakukan oleh perusahaan angkutan umum. 41 4. Faktur penjualan COD (Cash On Delivery) Dokumen ini digunakan merekam penjualan COD. Tembusan faktur diserahkan kepada customer melalui bagian angkutan umum. 5. Bukti setoran bank Dokumen ini dibuat oleh fungsi kas sebagai bukti penyertoran kas ke bank. Bukti setor dibuat tiga lembar dan diserhakan oleh fungsi kas ke bank. 6. Rekapitulasi harga pokok penjualan Dokumen ini digunakan oleh fungsi akuntansi untuk meringkas harga pokok produk yang dijual selama satu periode. 2.3. Tools yang Digunakan Berikut merupakan penjelasan tentang alat-alat yang digunakan dalam pembuatan sistem ini. 2.3.1. Diagram Tools Alat-alat yang digunakan untuk merancang sistem basis data ada 4, yaitu Entity Relationship Diagram (ERD), Data Flow Diagram (DFD), dan flowchart. 2.3.1.1. Entity Relationship Diagram (ERD) Entity Relationship Diagram (ERD) digunakan untuk menggambarkan hubungan antara satu entitas dengan entitas yang lain. (Connolly & Begg, 2010, p. 473) 2.3.1.2. Data Flow Diagram (DFD) 42 Data Flow Diagram (DFD) adalah sistem model grafik yang menampilkan semua kebutuhan sistem informasi dalam satu diagram. Ada input, output, process, dan data storage (Satzinger, Jackson, & Burd, 2009, p. 206). 2.3.1.3. State Transition Diagram (STD) State Transition Diagram (STD) adalah suatu alat yang digunakan untuk memodelkan penggambaran urutan dan variasi layar yang terjadi dalam sesi pengguna. (Whitten, Jeffery, Lonnie, Dittman, & Kevin, 2004, p. 673) 2.3.1.4. Flowchart Flowchart adalah gambaran terpisah dari tahap-tahap proses yang berurutan. Flowchart digunakan saat ingin mengembangkan dan menyampaikan pemahaman tentang bagaimana proses diselesaikan, untuk mempelajari proses untuk perbaikan, untuk mendokumentasikan proses, dan ketika merencanakan suatu proyek (ASQ, 2014). Elemen-elemen yang dimiliki oleh Flowchart antara lain: 1. sequence of actions, 2. inputs and outputs, 3. decisions, 4. people who become involved, 5. time involved at each step and/ or process measurement 2.3.2. Software Tools Berikut akan dijelaskan tentang perangkat lunak yang digunakan dalam pembuatan aplikasi ini. 2.3.2.1. PHP Bahasa PHP adalah perwakilan dari proyek open source yang bersifat stereotip, Diciptakan untuk menggabungkan kebutuhan lain yang belum terpenuhi dan 43 yang belum disempurnakan dari waktu ke waktu untuk menemukan kebutuhan masyarakat yang berkembang (Gilmore, 2010, p. 1). PHP diciptakan pada tahun 1995 oleh seorang pengembang software bernama Rasmus Ledrof membangun Perl/CGI script yang memungkinkan beliau untuk melihat orang yang melihat resume online-nya. 2.3.2.2. PHP MyAdmin Merupakan software gratis yang berbasis PHP, yang digunakan untuk menangani administrasi dari MySQL melalui web. phpMyAdmin mendukung berbagai operasi yang sering digunakan bisa dilakukan melalui user interface, sementara user masih memiliki kemampuan untuk menajalakan semua statement SQL secara langsung (phpMyAdmin, 2013). 2.3.2.3. SQL SQL adalah bahasa standar international untuk menangani data di dalam database relasional. Dikembangkan oleh IBM, SQL menjadi bahasa standar international pada tahun 1986. Kemudian diperbaharui pada tahun 1989, 1992, 1999, 2003 dan terakhir pada tahun 2008. SQL terus menerus berkembang hingga saat ini (Taylor, 2011, p. 1). SQL khusus dirancang untuk menangani data di database relasional. Tugastugas yang dapat dilakukan oleh SQL antara lain: 1. membuat database, termasuk table dan hubungannya, 2. mengisi table dengan data, 3. mengganti data di dalam table, 4. menghapus data di dalam table, 5. memberi dan mencabut akses ke table, 6. melindungi database dari kerusakan karena konflik saat akses atau kesalahan user. 44 2.3.2.4. MySQL MySQL adalah database open source yang paling terkenal. MySQL memungkinkan penyampaian yang cost-efficient yang dapat diandalkan, dengan kinerja yang tinggi, dan scalable dari aplikasi berbasis web dan embedded database (Oracle, 2013). 2.4. Teori Pendukung 2.4.1. 8 Aturan Emas Dalam merancang antarmuka user teradapat 8 aturan emas (Eight Golden Rules) sebagai berikut (Shneiderman, 2010, p. 74). 2.4.1.1.1. Berusaha untuk konsisten Konsistensi dilakukan pada urutan perintah, tindakan, dan istilah yang digunakan pada prompt, menu serta layar bantuan. Buatlaha agar user dapat mengetahui apa yang harus dilakukan seracar iuntuisi karean mereka sudah melihat situasi yang sama pada antar muka sebelumnya. 2.4.1.1.2. Adanya shortcut Memberikan user shortcut untuk informasi yang dibutuhkan, supaya user tidak bekerja terlalu keras. Cara untuk memaksimalkan kecepatan interaksi bisa melalui singkatan, simbol/icon, atau menggunakan menu yang sudah disiapkan pada halaman awal. 2.4.1.1.3. Memberikan umpan balik yang informatif Untuk setiap tindakan yang diambil pada sistem harus selalu ada umpan balik, baik ataupun buruk. Untuk tindakan yang sering digunakan atau tidak terlalu penting dapat diberikan umpan balik yang sederahana, sedangkan untuk hal yang penting dapat diberikan umpan balik yang lebih substansial. 2.4.1.1.4. Merancang dialog untuk menghasilkan suatu penutupan Merancang dialog untuk menghasilkan suatu penutupan akhir dari suatu proses. Urutan tindakan sebaiknya diorganisir dalam suatu kelompok dengan bagian awal, tengah dan akhir. Desain langkahlangkah yang harus dikakukan agar user dapat menyelesaikan suatu aksi. 45 2.4.1.1.5. Mencegah kesalahan Sebaiknya sistem dirancang agar user tidak dapat melakukan kesalahan fatal. Sistem dapat mendeteksi kesalahan dengan cepat dan memberikan mekanisme sederhana dan mudah dipahami oleh user 2.4.1.1.6. Memungkinkan pembalik aksi yang mudah. Mengurangi kekuatiran user karena user mengetahui kesalahan yang dilakukan dapat dibatalkan, sehingga user tidak takut untuk mengeksplorasi pilihan-pilihan yang belum digunakan. 2.4.1.1.7. Dukungan internal dari tempat kendali Membuat user sebagai pemegang kendali, bukan sistem yang mengendalikan user. Rancang antarmuka sedemikan rupa sehingga user menjadi inisiator bukan menjadi responden. User dapat bebas bernavigasi sesuai dengan keinginannya. 2.4.1.1.8. Mengurangi beban ingatan jangka pendek Rancanglah tampilan atarmuka sesederhana mungkin tetapi dimengerti oleh user. Dengan tampilan antarmuka yang simple dan menarik dapat membantu user untu mengurangi beban ingtan jangka pendek, sehingga tidak perlu mengingat terlalu banyak perintah. 2.4.2. CSS Merupakan aturan untuk mengedalikan beberapa komponen dalam sebuah web sehingga akan lebih lebih terstruktur dan seragam. Pada umumnya CSS dipakai untuk memformat tampilan halaman web yang dibuat dengan bahasa HTML dan XHTML. Tujuan CSS adalah menyediakan bahasa styling deklaratif yang fleksibel. CSS meyediakan kemampuan untuk styling dan cascade. (Meyer, 2012, p. 1). 2.4.3. jQuery jQuery merupakan suatu framework (library) javascript yang menekankan interaksi anatara Javascript dan HTML. jQuery merupakan library open source dengan lisensi GNU General Public License dan MIT License. Framework jQuery sunguh ramping hanya sekitar 20KB dan hanya terdiri dari 1 file. Jika menginginkan fungsi 46 lebih, jQuery memungkinkan penambahan fungsionalitas dalam bentuk plug in. (Chaffer & Swedberg, 2011). 2.5. Hasil Rancangan Sistem Basis Data Yang Serupa Pada pembuatan sistem basis data ini, diperlukan rancangan-rancangan yang telah dibuat sebelumnya untuk membandingkan dan menganalisis apa saja yang diperlukan agar pembuatan sistem basis data kali ini menjadi lebih baik daripada rancangan-rancangan yang telah dibuat sebelumnya. Analisis yang dilihat pada rancangan sebelumnya harus mengetahui apa saja yang menjadi kelebihan dan kekurangannya sehingga dapat menjadi pertimbangan dalam merancang sistem basis data pada PT. Tritunggal Adikarya Teknik. Dengan adanya analisis pada rancangan sebelumnya juga dapat menjadi alat pendukung untuk pembuatan sistem basis data ini. 2.5.1. Sistem Basis Data Manajemen Proses Produksi pada PT. Timah Industri Pada buku jurnal yang dibuat oleh Rizki Fiqarun Nisa (2014) mengatakan bahwa setiap perusahaan harus dapat mengolah datanya dengan cepat dan akurat. Dalam menggunakan teknologi informasi pada suatu perusahaan akan membuat dampak yang signifikan dan positif terhadap perusahaan yang sedang berkembang. Pada basis data di Indonesia kali ini sudah cukup terkenal sehingga basis data banyak sekali digunakan pada perusahaan baik dalam skala kecil maupun skala besar. Dengan adanya sistem basis data, kelalaian manusia dapat berkurang dan kerusakan data-data dapat dicegah dan diminimalisir. PT. Timah Industri merupakan salah satu produsen dan pengekspor timah terbesar di dunia. Perusahaan ini mengembangkan logam timah yang diolah menjadi Methyltin PVC (polyvinyl clorida) Heat Stabilizer dalam campuran pembuatan PVC. Pada saat itu PT. Timah Industri memiliki sistem yang masih manual dan perlu dikembangkan agar tercipta sistem kerja yang lebih efektif dan efisien. Salah satu kendala yang dialami adalah laporan produksi karena diperlukan 1 sampai 2 minggu dalam membuat laporan produksi setelah proses produksi selesai sehingga laporan yang 47 sampai pada pihak Perencanaan dan Pengendalian Produksi tidak sesuai dengan waktu yang diharapkan. Masalah lain yang dihadapi oleh PT. Timah Industri adalah persediaan bahan baku untuk kebutuhan produksi produk. Kegiatan produksi menjadi terhambat karena pengelolahan data bahan baku tidak baik. Oleh karena itu, diperlukan solusi yang tepat demi terjawabnya perumusan masalah yang terjadi pada PT. Timah Industri. Kesamaan yang terjadi antara masalah pada PT. Timah Industri dengan PT. Tritunggal Adikarya Teknik adalah sistem yang berlum terintegrasi dengan baik. Pada PT. Timah Industri sistem yang berjalan secara manual, sistem basis data pada perusahaan tersebut belum digunakan pada saat itu, sehingga data-data yang disimpan masih belum terintergrasi dengan baik. Begitu pula dengan PT. Tritunggal Adikarya Teknik, walaupun sistem yang berjalan sudah baik tetapi data-data yang tersimpan belum terintegrasi, sehingga sistem kerja menjadi kurang efektif, kurang efisien, dan waktu produktifitas menjadi lambat. Kelebihan aplikasi yang telah dibuat untuk PT. Timah Industri adalah memiliki hak akses yang berbeda-beda sehingga setiap user. Lalu user interface pada aplikasi PT. Timah Industri ini juga sangat mudah untuk digunakan. Navigasi pada aplikasi tersebut juga sangat mudah untuk diketahui dimana posisi halaman user berada. Sesuai dengan 8 aturan emas (8 golden rules) dalam design user interface, aplikasi yang dirancang juga sangat konsisten. Menu bar dan header pada setiap user yang hak aksesnya berbeda, letak-letaknya sama dan tidak berubah. 2.5.2. Analisis dan Perancangan Sistem Basis Data Produksi dan Penjualan pada PT. Sawit Riau Makmur Menurut Arief Surjono. (2013), perkembangan tentang konsep basis data muncul dan berkembang seiring adanya kebutuhan pengelolahan data untuk memenuhi kebutuhan informasi. Basis data saat ini diperlukan oleh perusahaan hingga industri besar untuk mempermudah proses pengelolahan data yang besar. 48 PT. Sawit Riau Makmur merupakan perusahaan yang bergerak dibidang pengelolahan Tandan Buah Sawit (TBS) yang menghasilkan Crude Palm Oil (CPO) dan Palm Kernel (PK). Pada PT. Sawit Riau ini memerlukan sistem basis data yang baru karena sistem yang lama tidak dapat mengelolah data dalam skala besar dalam mengontrol setiap perkembangan yang terjadi dalam perusahaan. Sistem yang digunakan pada saat itu ialah menggunakan excel dan access. Hal ini membuat kinerja perusahaan PT. Riau Sawit Makmur kurang efisien karena pengontrolan terhadap laporan sulit dikontrol secara real time. Begitu juga laporan hasil pengelolahan minyak setiap harinya dari pabrik yang kadang terhambat karena sistem kerja divisi produksi yang lambat. Masalah yang terjadi pada PT. Sawit Riau Makmur memerlukan suatu solusi atas perumusan masalah yang didapat. Solusi itu adalah merancang sistem basis data dan aplikasinya agar sistem kerja di PT. Sawit Riau Makmur dapat lebih cepat dan efektif. Kesamaan masalah yang terjadi antara PT. Sawit Riau Makmur dengan PT. Tritunggal Adikarya Teknik adalah penggunaan sistem lama yang kurang efektif seperti excel dan access. Hal ini membuat penyimpanan data-data menjadi terpisah dan bisa menimbulkan duplikasi data akibat human error. Data-data yang ada saat menggunakan sistem lama belum terintegrasi karena masalah pada PT. Sawit Riau Makmur yang mana bagian direktur harus menunggu laporan dari divisi penjualan. Kelebihan yang ada pada aplikasi PT. Sawit Riau Makmur adalah tampilan yang simpel sehingga bagi user yang ingin menggunakannya, dapat mudah mempelajari fitur-fitur yang ada pada aplikasi tersebut. Lalu dalam setiap mengakses halamannya, aplikasi ini juga diberikan fitur hak akses. 2.5.3. Merancang Sistem Basis Data Produksi, Penjualan, Pembelian, dan persediaan PT. Shansco Gunakarya Piranti Perkembangan teknologi informasi yang pesat membuat segala aspek kegiatan kehidupan mulai berlomba untuk menggunakan teknologi yang canggih, seperti salah satunya dalam dunia bisnis. Seiring perkembagan teknologi, persaingan dunia bisnis juga 49 semakin kuat. Dalam mengiringi persaingan yang kuat, perusahaan tentu memerlukan sebuah informasi yang cepat, tepat, dan akurat untuk menjamin segala informasi yang dibutuhkan sesuai dengan kebutuhan perusahaan. Teknologi yang sudah banyak dibuat oleh perusahaan hingga saat ini yaitu sebuah sistem berbasis data. PT. Shasco Gunakarya Piranti adalah sebuah perusahaan dagang yang bergerak di bidang manufakturing. Perusahaan ini membuat produk-produk sesuai pesanan customer, seperti contohnya: rak supermarket, cook ware, automotive parts, dan tabung gas 3 kg. PT. Shasco Gunakarya Piranti ini menganggap bahwa teknologi sangat penting dalam persaingan dunia bisnis. PT. Shasco Gunakarya Piranti memiliki kesulitan dalam mencari bahan baku yang mengakibatkan terhambatnya proses produksi dan pengiriman ke customer. Lalu faktor human error juga masih menjadi masalah bagi perusahaan ini. Dalam pencatatan transaksi, apabila terjadi kesalahan maka akan menghambat proses produksi. Oleh karena itu, diperlukan sebuah sistem basis data untuk memenuhi kebutuhan proses kegiatan produksi. Kesamaan PT. Shasco Gunakarya Piranti dengan PT. Tritunggal Adikarya Teknik adalah kegiatan proses produksi yang pembuatan produknya berdasarkan pada pemesanan customer. Aplikasi yang dibuat untuk PT. Shasco Gunakarya Piranti memiliki user interface yang menarik dan juga mudah untuk digunakan. 50