BAB 2 TINJAUAN PUSTAKA 2.1. Teori yang berkaitan dengan Database 2.1.1. Pengertian Data Data adalah bentuk yang masih mentah yang belum dapat bercerita banyak, sehingga perlu diolah lebih lanjut. Data diolah melalui suatu model untuk dihasilkan informasi. (Analisa dan Desain Sistem Informasi, Jogiyanto, 2005 : 8). Menurut McFadden (1999, p5) data adalah fakta-fakta tentang segala sesuatu di dunia nyata yang dapat direkam dan disimpan pada media komputer. Berdasarkan pendapat para ahli tersebut maka dapat disimpulkan bahwa data adalah kenyataan yang menggambarkan kejadian-kejadian, dan masih berbentuk mentah sehingga perlu diolah lebih lanjut sehingga bisa menghasilkan informasi yang kemudian disimpan pada komputer. 2.1.2. Pengertian Basis Data Sebuah koleksi dari data yang saling berhubungan secara logika dan deskripsi dari data tersebut, dirancang untuk memenuhi informasi yang dibutuhkan sebuah organisasi (Conolly dan Begg, 2005). Menurut James Martin, basis data adalah kumpulan data yang saling berhubungan yang disimpan secara bersama sedemikian rupa dan tanpa pengulangan (redundansi) yang tidak perlu, untuk memenuhi berbagai kebutuhan. Menurut Michael V.Manino (2001), basis data adalah sekumpulan data persisten yang bisa dibagi (shared) dan saling berhubungan (interrelated). Persisten dalam arti data disimpan pada media penyimpanan yang stabil, contoh : Magnetic Disk. Dapat dibagi (shared) berarti basis data memiliki banyak kegunaan dan banyak pengguna sekaligus. Sedangkan saling berhubungan 7 8 (interrelated) berarti data yang disimpan dalam unit-unit terpisah bisa saling berhubungan untuk menyediakan data yang utuh. Dengan kata lain, dapat disebutkan bahwa basis data merupakan kumpulan berbagai data yang saling berhubungan secara logis untuk mengonsolidasi file yang terpisah dan menjamin agar tidak terjadi redudansi pada data, dirancang dengan tujuan memenuhi informasi yang dibutuhkan suatu perusahaan atau instansi dalam batasan tertentu. 2.1.3. Pengertian Sistem Sistem adalah sebuah tatanan (keterpaduan) yang terdiri atas sejumlah komponen fungsional (dengan satuan fungsi/tugas khusus) yang saling berhubungan dan secara bersama-sama bertujuan untuk memenuhi suatu proses / pekerjaan tertentu. (Basis Data, Fathansyah, 2002 : 9). Sedangkan sistem menurut jogiyanto adalah suatu jaringan kerja dari prosedur-prosedur yang saling berhubungan, berkumpul bersama-sama untuk melakukan suatu kegiatan/untuk menyelesaikan suatu sasaran tertentu. Berdasarkan pendapat diatas, maka dapat disimpulkan sistem adalah kumpulan elemen-elemen yang saling bekerja sama dan berinteraksi untuk memproses masukan kemudian saling berhubungan, berkumpul bersama-sama untuk mencapai suatu sasaran tertentu. 2.1.4. Pengertian Sistem Basis Data Sistem basis data adalah sekumpulan aplikasi program yang berinteraksi dengan basis data melalui suatu DBMS dan basis data itu sendiri serta merupakan suatu sistem penyimpanan record yang terkomputerisasi. Sistem basis data menyediakan informasi yang optimal yang diperlukan pemakai untuk kepentingan proses pengambilan keputusan. 2.1.5. Keuntungan dan Kerugian Sistem Basis Data Berikut ini adalah kelebihan sistem basis data : 9 1. Kerangkapan dan inkonsistensi data dapat dikontrol sehingga tidak terdapat data rangkap. 2. Terpeliharanya keselarasan data. 3. Data dapat dipakai secara bersama-sama. 4. Memudahkan penerapan standarisasi. 5. Memudahkan penerapan batasan-batasan pengamanan. 6. Terpeliharanya integritas data. Sedangkan berikut ini merupakan kekurangan sistem basis data : 1. Mahal dalam implementasinya. 2. Rumit/komplek. 3. Kerusakan pada sistem basis data dapat mempengaruhi departemen yang terkait. 2.1.6. Database Management System (DBMS) Menurut Conolly dan Begg (2005, p16), Database Management System merupakan suatu sistem perangkat lunak yang memungkinkan user untuk mendefinisikan, membangun, merawat dan mengatur control akses terhadap basis data. Tujuan utama dari DBMS adalah untuk memberikan tinjauan abstrak data kepada user. Jadi sistem menyembunyikan informasi tentang bagaimana data disimpan, dipelihara, dan tetap dapat diambil (akses) secara efisien. Pertimbangan efisien di sini adalah bagaimana merancang struktur data yang kompleks tetapi masih tetap bisa digunakan oleh pengguna awam tanpa mengetahui kompleksitas strukturnya. Menurut Connolly dan Begg (2005, p17) ada beberapa keuntungan dari Database Management Systems (DBMS) diantaranya : 1. Pengunaan data secara bersamaan (sharing of data) 2. Mencegah duplikasi data (control of data redundancy) 3. Menghindari ketidakkonsistensi data (data consistency) 4. Keamanan yang terjamin (improved security) 5. Integritas data yang terpelihara (improved data integrity) Sedangkan menurut ITL Education Solutions (2008), keuntungan dari 10 basis data adalah sebagai berikut : 1. Controlled data redundancy Selama basis data dirancang, berbagai file diterintegrasi dan setiap item data logikal disimpan di lokasi pusat. Ini menghilangkan kemungkinan replikasi data dalam file yang berbeda, dan memastikan konsistensi data serta menghemat ruang penyimpanan. Perhatikan bahwa redundansi dalam sistem database tidak dapat dihilangkan seluruhnyai karena mungkin ada beberapa pengembangan dan alasan teknis untuk memiliki beberapa jumlah redundansi. Namun, DBMS harus mampu mengendalikan redundansi ini untuk menghindari inkonsistensi data. 2. Enforcing data integrity Meneggakkan integritas data menjadi jauh lebih mudah. Berbagai kendala integritas diidentifikasi oleh DBA selama tahap perancangan desain basis data. Beberapa kendala integritas data dapat ditegakkan secara otomatis oleh DBMS, dan beberapa mungkin harus diperiksa oleh program aplikasi. 3. Shared Data Data yang disimpan dalam database dapat dibagi kepada beberapa pengguna atau program aplikasi. Selain itu, aplikasi baru dapat dikembangkan dengan menggunakan data yang disimpan sama. Akibat penggunaan data, mungkin untuk memenuhi kebutuhan data aplikasi baru tanpa harus membuat data tambahan atau dengan modifikasi minimal. 4. Ease of Application Development Programmer perlu mengembangkan program aplikasi yang sesuai dengan kebutuhan pengguna. Isu lain seperti akses bersamaan, keamanan, integritas data, dll, akan ditangani oleh DBMS itu sendiri. Hal ini memudahkan proses pengembangan aplikasi. 5. Data Security Karena data disimpan secara terpusat, mekanisme keamanan yang dirancang menjadi lebih mudah. DBMS memastikan bahwa satu-satunya cara akses ke database adalah melalui saluran resmi. Oleh karena itu, pemeriksaan keamanan data dapat dilakukan setiap kali dilakukan akses terhadap data 11 sensitif. Untuk menjamin keamanan, DBMS menyediakan alat-alat keamanan seperti kode pengguna dan password. Pemeriksaan yang berbeda dapat ditetapkan untuk setiap jenis akses (modifikasi, penghapusan, dll) untuk setiap potongan informasi dalam database. 6. Backup and Recovery DBMS menyediakan backup dan pemulihan subsistem yang bertanggung jawab untuk pemulihan dari kegagalan hardware dan software. Misalnya, jika terjadi kegagalan transaksi, subsistem pemulihan DBMS mengembalikan keadaan basis data ke keadaaan sebelum dimulainya transaksi atau melanjutkan transaksi dari titik itu terganggu sehingga efek lengkap dapat dicatat dalam database 2.1.7. Structured Query Languange (SQL) Menurut Connolly dan Begg (2005, p184), SQL adalah transform- oriented languange atau bahasa yang didesain untuk menggunakan relasi yang mentrasformasikan input menjadi output yang dibutuhkan. Sebagai bahasa standar ISO SQL memiliki dua komponen utama, yaitu : 1. Data Definition Languange (DDL) Mengijinkan DBA untuk mendefinisikan dan membuat struktur pe data dari objek-objek database seperti table, indeks, trigger, dll. 2. Data Manipulation Languange (DML) DML bertugas memanipulasi data sehingga DBA dapat memanupulasi data yang sesuai dengan permintaan yang ada. 2.1.8. Komponen DBMS Ada banyak komponen-komponen dari DBMS, menurut Connoly dan Begg (2005, p18) DBMS memiliki lima komponen penting yaitu : 1) Hardware (perangkat keras) Suatu DBMS dan aplikasi yang menggunakan hardware untuk menjalankan aplikasinya. Hardware dapat disusun dari suatu komputer tunggal, suatu mainframe tunggal, suatu jaringan komputer. 12 2) Software (perangkat lunak) Komponen perangkat lunak terdiri dari DBMS software dan aplikasi program beserta sistem operasi (OS), termasuk perangkat lunak tentang jaringan bila DBMS digunakan dalam jaringan. 3) Data Data merupakan komponen terpenting dalam DBMS khususnya sudut pandang dari end user mengenai data, dimana data berfungsis ebagai jembatan antara komponen mesin dengan komponen manusia. 4) Prosedur Prosedur merupakan instruksi dan aturan-aturan dalam membuat rancangan dan menggunakan basis data. Pengguna sistem dan staff yang mengatur kebutuhan basis data didokumentasikan dalam prosedur yang berupa petunjuk pengguna sistem atau petunjuk menjalankan sistem. Berikut ini terdiri dari : a. Log on ke DBMS. b. Menggunakan sebagian fasilitas DBMS atau aplikasi program. c. Menjalankan dan menghentikan DBMS. d. Membuat duplikat backup basis data. e. Menangani kesalahan pada hardware atau software. f. Mengubah struktur suatu tabel, mengatur ulang basis data melewati multiple disks, meningkatkan kinerja, atau menyimpan data ke secondary storage. 5) People (manusia) Komponen terakhir yaitu manusia yang terlibat dalam sistem tersebut. Berkut pembagian tugas yang telah dispesifikasaikan : 1. Application Programmer, bertanggung jawab untuk membuat aplikasi basis data dengan menggunakan bahasa pemrograman seperti VB, Java, dan lain-lain. 2. End-User, orang yang berinteraksi dengan sistem melalui workstation atau terminal. 13 3. DA (Data Administrator), seorang yang berwenang untuk membuat keputusan strategis dan kebijakan mengenai data yang ada, DBA (Basis data Admistrator), menyediakan dukungan teknis untuk implementasi keputusan tersebut, dan bertanggung jawab atas keseluruhan kontrol sistem pada tingkatan teknis. 4. Basis data Designer Dalam sebuah proyek basis data yang besar, seharusnya terdapat dua tipe designer yaitu logical basis data designe rdan physical basis data designer. Dimana, Logical Basisdata Designer bertugas untuk mengidentifikasi data (entitas dan atribut), hubungan antar data dan hambatan penyimpanan data ke dalam basis data. Sedangkan Physical Basis data Designer menentukan bagaimana basis data logikal untuk dilakukan realisasi fisiknya. Gambar 2.1 Komponen DBMS 2.1.9. Database System Development Lifecycle (DSDLC) Siklus pengembangan basis data yang dilalui dalam merancang sebuah sistem basis data disebut Database System Development Lifecycle (DSDLC). Pada aplikasi basis data kecil, dengan jumlah user yang kecil, siklus hidup yang diperlukan tidak terlalu kompleks. Namun, apabila merancang aplikasi basis data menengah ke atas dengan jumlah user yang banyak, menggunakan ratusan query dan program aplikasi, siklus hidup dapat menjadi sangat kompleks. Berikut siklus DBDLC menurut Connoly dan Begg : 14 Database Planing System Definition Requirement Collection and Analysis Database Design Conceptual Design DBMS Selection (Optional) Logical Design Application Desgin Physical Design Prototyping (Optional) Implementation Data Conversion and Loading Testing Operation Maintenance Gambar 2.2 Database System Development Lifecycle (DSDLC) 1. Database Planning Merupakan aktivitas manajemen untuk merealisasikan tahapan Database System Development Lifecycle secara efektif dan efisien. Perancangan database mencakup cara pengumpulan data, format data, dokumentasi yang diperlukan serta cara membuat desain dan implementasi. Namun, penentuan misi dari proyek basis data sangat penting untuk menentukan tujuan utama dari pembuatan aplikasi basis data tersebut. Misi dibagi menjadi dua, yaitu : 15 a. Mendefinisikan Mission statement Menguraikan tujuan perancangan basis data bagi organisasi. Contoh : Tujuan dari perancangan sistem basis data dreamhome adalah untuk memelihara data yang dipakai dan dihasilkan untuk mendukung kebutuhan perusahaan client dan memberikan fasilitas bagi perusahaan dalam pembagian data diantara cabang-cabang yang ada. b. Mendefinisikan Mission Objective Membuat definisi kegunaan atau operasi-operasi yang dapat dilakukan terhadap basis data. Contoh : 1. Memelihara data (insert, update, delete) pada setiap cabang. 2. Menjalankan fitur searching untuk melihat produk yang ada. 3. Menjelajahi status peminjaman. 2. System Definition Definisi sistem berisi deskripsi ruang lingkup dan batasan dari aplikasi basis data berdasarkan pandangan user agar aplikasi tepat guna. Pandangan user mendefinisikan apa yang dibutuhkan pada sebuah aplikasi basis data berdasarkan peranan pekerjaan seperti manajer atau berdasarkan area aplikasi perusahaan seperti pemasaran. Sebuah aplikasi basis data dapat memiliki satu atau lebih pandangan user. Gambar 2.3 Sistem Basis Data dengan Multiple User Views (Connolly, 2005) 16 3. Requirement Collection and Analysis Proses pengumpulan dan analisis informasi mengenai bagian-bagian dari sebuah organisasi yang didukung oleh aplikasi basis data, dan menggunakan informasi tersebut untuk mengidentifikasikan kebutuhan user akan sistem yang baru. Ada tiga pendekatan untuk mengatur kebutuhan dari sebuah aplikasi basis data dengan banyak pandangan user yaitu : a. The Centralized approach Kebutuhan setiap user dikumpulkan menjadi satu kesatuan kebutuhan dan model data global. b. The view integration approach Kebutuhan setiap user dibuat dalam model data yang terpisah (model data lokal), kemudian hasil dari model data yang ada digabungkan menjadi model data global menggunakan tahapan database design. c. A combination of both approach Pendekatan gabungan dari kedua pendekatan diatas. 4. Database Design Suatu proses merancang desain yang akan mendukung kebutuhan operasional dan tujuan perusahaan. Menurut Connolly dan Begg (2005, p291), Database Design dibagi menjadi tiga fase utama, yaitu perancangan basis data konseptual, perancangan basis data logikal, dan perancangan basis data fisikal. Dalam tahap ini, akan dilakukan peninjauan ulang dari pendekatan utama ke desain basis data. Kemudian Pada perancangan basis data terdapat tiga tahap utama yaitu : 1. Perancangan Basis Data Konseptual Proses kontruksi model data berdasarkan informasi yang digunakan perusahaan, tidak bergantung pada seluruh aspek fisikial apapun. Perancangan ini akan menghasilkan entitas, relasi dan atribut yang digambarkan dalam erd konseptual. Tahapan dalam perancangan konseptual basis data adalah sebagai berikut : 17 Tahap 1 Membangun model data konseptual local untuk setiap view Tujuan dari tahap ini adalah menghasilkan ER Diagram Konseptual dan kamus data Tahap 1.1 : Mengidentifikasikan entitas. Bertujuan untuk menentukan entity types utama yang dibutuhkan. Menentukan entity dapat dilakukan dengan memeriksa user’s requirement specification. Setelah terdefinisi, entity diberikan nama yang tepat dan jelas seperti peralatan, kondisi. Tahap 1.2 : Mengidentifikasikan hubungan. Bertujuan untuk mengidentifikasi suatu relationship yang penting yang ada antar entity yang telah diidentifikasi. Nama dari suatu relationship menggunakan kata kerja seperti mempelajari, memiliki mempunyai dan lain-lain. Tahap 1.3 : Mengidentifikasikan dan menghubungkan atribut dengan entitas atau relasinya. Bertujuan untuk menghubungkan attribute dengan entity atau relationship yang tepat. Attribute yang dimiliki setiap entity atau relationship memiliki identitas atau karakteristik yang sesuai dengan memperhatikan attribute berikut : simple/composite attribute, single/multi-valued attribute dan derived attribute Tahap 1.4 : Menentukan domain atribut. Bertujuan untuk menentukan attribute domain pada conceptual data model. Contohnya yaitu menentukan nilai attribute jenis_kelamin pada entity pegawai dangan ‘M’ atau ‘F’. Tahap 1.5 : Menentukan atribut primary key dan 18 candidate key. Bertujuan untuk mengidentifikasi candidate key pada setiap entity dan memilih primary key jika ada lebih dari satu candidate key. Pemilihan primary key didasari pada panjang dari attribute dan keunikan key di masa datang. Tahap 1.6 : Mempertimbangkan penggunaan dari konsep permodelan enhanced (optional). Pada langkah specialization, ini bertujuan untuk generalization, menentukan aggregation, composition. Dimana masing-masing pendekatan dapat dilakukan sesuai dengan kebutuhan yang ada. a) Specialization dan generalization adalah proses dalam mengelompokan beberapa entity dan menghasilkan entity yang baru. Beda dari keduanya adalah cara prosesnya, dimana spesialisasi menggunakan proses top-down dan generalisasi menggunakan proses bottom-up. b) Aggregation menggambarkan sebuah entity types dengan sebuah relationship types dimana suatu relasi hanya akan ada jika telah ada relationship lainnya. Tahap 1.7 : Memerikasa model untuk redudansi. Bertujuan untuk memeriksa conceptual model untuk menghindari dari adanya informasi yang redundan. Yang dilakukan pada langkah ini adalah : a) Memeriksa kembali one-to-one relationship. Setelah entity diidentifikasikan maka kemungkinan ada dua entity yang mewakili satu objek. Untuk itu dua entity tersebut harus di-merger bersama. Dan jika primary key-nya berbeda maka harus dipilih 19 salah satu dan lainnya dijadikan alternate key. b) Menghilangkan relasi yang redundansi. Untuk menekan jumlah model data, maka relationship data yang redundan harus dihilangkan. Tahap 1.8 : Melakukan validasi model konseptual lokal terhadap transaksi user. Bertujuan untuk menjamin bahwa conceptual data model mendukung kebutuhan transaksi. Dengan menggunakan model yang telah divalidasi tersebut, dapat digunakan untuk melaksanakan operasi secara manual. Ada dua pendekatan yang mungkin untuk mejamin bahwa local conceptual data model mendukung kebutuhan transaksi yaitu : a) Mendeskripsikan transaksi Memeriksa seluruh informasi (entities, relationship, dan attribute) yang diperlukan pada setiap transaksi yang disediakan oleh model dengan mendokumentasikan penggambaran dari tiap kebutuhan transaksi. b) Mengunakan transaksi pathways Pendekatan kedua, untuk memvalidasi data model dengan keperluan transaksi yang melibatkan diagram yang mewakili pathways diambil dari tiap transaksi secara langsung yang terdapat pada E-R diagram menggambarkan komponen-komponen dari entity dilengkapi dan relasi dengan yang masing-masing attribute-attribute yang merepresentasikan seluruh fakta dari real-world yang kita tinjau (Fathansyah,1999,p79). Sedangkan menurut Silberschartz (2002,p42), E-R diagram dapat menyatakan keseluruhan struktur logical dari 20 basis data dengan menggunakan bagan. Tahap 1.9 : Meninjau kembali validasi model konseptual lokal terhadap transaksi user. Bertujuan untuk melihat kembali conceptual model dan memastikan bahwa data model tersebut sudah benar. 2. Perancangan Basis Data Logikal Proses konstruksi model data yang digunakan perusahaan berdasarkan model data spesifik, namun independen terhadap DBMS. Perancangan ini memetakan model data konseptual kedalam model data logikal, untuk mencapai target basis data yaitu model relasional. Model data logikal merupakan sebuah sumber informasi bagi perancangan basis data fisikal, menyediakan pedoman yang digunakan db designer untuk merancang basis data seefisien mungkin. Tahap-tahap dalam perancangan logikal basis data adalah sebagai berikut. Tahap 2 Membangun dan memvalidasi model data logikal global untuk setiap sudut pandang user. Tujuannya untuk membangun suatu model data logikal global dari suatu model data konseptual lokal yang merepresentasikan pandangan tertentu dari perusahaan dan kemudian memvalidasi model data ini untuk memastikan strukturnya sudah benar dan memastikan bahwa model tersebut untuk mendukung transaksi yang diminta. Tahap 2.1 : Menghilangkan bagian yang tidak sesuai dengan model relasi (optional). Langkah ini bertujuan untuk memperbaiki model logikal data konseptual dengan menghilangkan fiturfitur yang tidak kompatibel dengan model 21 relasional. Ada 4 hal yang perlu diperhatikan dalam tahap ini, yaitu: 1. Menghilangkan tipe hubungan binary many-tomany (*:*). 2. Menghilangkan tipe hubungan rekursif many-tomany (*:*). 3. Menghilangkan tipe hubungan kompleks. 4. Menghilangkan atribut multi-valued. Tahap 2.2 : Menurunkan Relasi Untuk Model Data Logikal Lokal. Tujuannya adalah membuat relasi untuk model data logikal lokal untuk mewakili entity, relationship, dan atribut yang telah diidentifikasi. Relasi-relasi yang didapat dari model data logikal yang ada pada model data konseptual: 1. Strong entity type Karakteristiknya adalah setiap entitas dapat diidentifikasikan dengan primary key dari tipe entitas itu. 2. Weak entity type Karakteristiknya adalah atribut yang terdapat pada entitas tersebut tidak dapat mengidentifikasikan tipe entitas itu secara unik. 3. One-to-many (1:*) binary relationship types adalah relasi dimana setiap entitas yang ada dapat mempunyai satu atau lebih dari 1 relasi dengan entitas yang lain. 4. One-to-one (1:1) binary relationship types adalah relasi dimana setiap entitas yang ada hanya dapat mempunyai maksimal 1 relasi dengan entitas yang lain. 22 5. One-to-one (1:1) recursive relationship types adalah relasi dimana setiap entitas yang ada sama pada kedua sisinya. 6. Many-to-many (*:*) binary relationship type adalah relasi dimana setiap entitas dapat mempunyai lebih dari 1 relasi dengan entitas yang lain. 7. Superclass / subclass relationship types adalah relasi dimana superclass entity merupakan parent sedangkan subclass entity sebagai child. 8. Complex relationship types adalah sebuah relasi yang menghasilkan sebuah relasi untuk merepresentasikan relasi yang ada dan meliputi atribut-atribut yang menjadi bagian dari relasi tersebut. 9. Multi-value attributes adalah atribut yang mempunyai banyak nilai untuk setiap entita Tahap 2.3 : Validasi relasi menggunakan teknik normalisasi. Tujuannya adalah untuk memvalidasi relasi pada model data logikal lokal menggunakan normalisasi. Tahap 2.4 : Validasi relasi dengan transaksi-transaksi yang sesuai dengan kebutuhan user. Tujuannya adalah untuk memastikan bahwa relasi pada model data logikal mendukung transaksi- transaksi yang dibutuhkan oleh view. Tahap 2.5 : Menentukan batasan-batasan integritas. Tujuannya adalah memeriksa integrity constraint yang direpresentasikan pada model data logikal. Integrity constraint adalah batasan-batasan yang digunakan agar kelengkapan, keakuratan, dan 23 kekonsistensian sistem basis data terjaga baik. Tipe integrity constraint : 1. Required data Harus ada nilai valid (tidak boleh null). 2. Attribute domain constraint Setiap atribut harus mempunyai sebuah domain, satu set nilai yang sah yang telah didefinisikan sebelumnya. 3. Entity integrity Primary key dari sebuah tabel harus unik dan tidak mengandung nilai null untuk setiap baris. 4. Referential integrity Sebuah foreign key menghubugkan tiap tuple pada relasi child ke tuple pada relasi parent yang mengandung nilai candidate key yang sama. Referential integrity terdiri atas : a. NO ACTION Mencegah parent dihapus. b. CASCADE Jika parent dihapus maka child juga akan dihapus secara otomatis. c. SET NULL Jika parent dihapus, foreign key pada semua child akan di set null. d. SET DEFAULT Jika parent dihapus, foreign key pada semua child akan di set default. e. NO CHECK Jika parent dihapus, maka tidak akan melakukan apa-apa untuk memastikan referential integrity dijaga. 24 5. General constraints Perubahan pada tabel yang dibatasi oleh aturan yang mengatur transaksi pada dunia nyata yang direpresentasikan oleh perubahan tersebut. Tahap 2.6 : Meninjau ulang model data logikal lokal terhadap kebutuhan user. Tujuannya yang adalah telah meninjau kembali model data lokal dibangun untuk memastikan bahwa model tersebut sesuai dengan representasi yang sebenarnya dari persyaratan data yang dibutuhkan oleh perusahaan. Tahap 2.7: Menggabungkan model data logikal lokal ke dalam model data logikal global (optional). Tujuannya adalah menggabungkan model-model data logikal lokal menjadi sebuah model data logikal global yang merepresentasikan view sistem basis data bagi semua user. o Tahap 2.7.1 : Menggabungkan model data logikal lokal ke dalam model data logikal global. o Tahap 2.7.2 : Memvalidasi model data logikal global. o Tahap 2.7.3 : Meninjau ulang model data logika global terhadap kebutuhan user. Tahap 2.8 : Memeriksa model data untuk kebutuhan masa depan. Tujuannya adalah menvalidasikan relasi yang dibentuk dari model data logikal global dengan menggunakan teknik normalisasi serta menjamin model data logikal global ini mendukung transaksi- transaksi yang dibutuhkan. Tahap 2.9 : Cek perkembangan di masa yang akan 25 datang Tujuannya adalah memperkirakan apakah akan terjadi perubahan yang signifikan dimasa yang akan datang dan untuk menilai apakah model data logikal yang ada sekarang dapat mengikuti perubahan tersebut. 3. Perancangan Basis Data Fisikal Proses menghasilkan deskripsi basis data dengan cara implementasi basis data pada penyimpanan sekunder. Deskripsi basis data berisi relasi dasar, organisasi file dan indeks yang digunakan untuk membuat akses data lebih cepat dan seluruh batasan integritas yang berhubungan serta pengaturan mekanisme keamanan. Db desiger akan menspesifikasikan DMB tertentu pada perancangan ini. Tahapan dalam perancangan fisikal basis data adalah sebagai berikut : Tahap 3 Menerjemahkan model data logikal global untuk DBMS yang digunakan. Tahap 3.1 : Merancang relasi dasar. Dalam memulai merancang physical design, diperlukan untuk mengumpulkan dan memahami informasi tentang relasi yang dihasilkan dari logical database design. Informasi yang penting bisa didapatkan dari kamus data dan DDL. Tahap 3.2 : Merancang representasi dari derived data. Bertujuan untuk menentukan bagaimana setiap data yang diperoleh mewakili global logical data model ke dalam DBMS. Tahap 3.3 : Merancang batasan umum. Pada langkah ini bertujuan untuk merancang batasanbatasan yang ada pada perusahaan. Tahap 4 Merancang representasi fisikal Merancang representasi physical. Bertujuan untuk 26 menentukan organisasi file yang optimal untuk penyimpanan dan menentukan indeks yang dibutuhkan untuk meningkatkan performa. Tahap 4.1 : Menganalisa transaksi. Bertujuan untuk mengerti fungsi dari transaksi yang dijalankan pada basis data dan menganalisa transaksi yang penting. Kriteria kemampuan yang harus diidentifikasikan dalam menganalisa transaksi adalah : a) Transaksi dapat berjalan secara sering dan akan mempunyai dampak yang signifikan pada performa. b) Transaksi yang kritis pada operasi dan bisnis. c) Waktu selama sehari atau seminggu ketika akan ada permintaan yang tinggi pada saat basis data dibuat. Tahap 4.2 : Memilih organisasi file. Bertujuan untuk menyimpan data secara tepat ke tempat penyimpanan data. Ada beberapa pilihan struktur penyimpanan Tahap 4.3 : Memilih index. Bertujuan untuk meningkatkan performa dalam suatu sistem basis data. Salah satu pendekatan untuk memilih organisasi file yang cocok untuk relasi adalah untuk menyimpan tuples yang tidak disimpan dan dibuat sebanyak secondary indexes sebagaimana diperlukan. Oleh karena itu, atribut yang digunakan adalah: a) Atribut yang sering digunakan untuk join operations untuk membuat lebih efisien. b) Atribut yang sering dipesan untuk mengakses 27 tuples pada suatu relasi didalam urutan yang menunjukkan atribut. Terdapat tiga jenis index yaitu : a) Primary Index Pengindeksan dilakukan pada kolom kunci (keyfield), yang diurutkan terlebih dahulu secara sekuensial. b) Clustering Index Pengindeksan dilakukan pada kolom bukan kunci (non-keyfield), yang diurutkan terlebih dahulu secara sekuensial. c) Secondary Index Pengindeksan yang dilakukan pada kolom yang tidak terurut di dalam file data. Tahap 4.4 : Memperkirakan kebutuhan disk space. Bertujuan untuk memperkirakan jumlah ruang penyimpanan yang akan diperlukan dalam basis data. Perkiraannya didasari pada ukuran setiap tabel dalam suatu relasi. Contohnya dalam lima tahun mendatang berapa kapasitas hard disk yang dibutuhkan untuk menampung data. Tahap 5 Perancangan user views Merancang pandangan pengguna. Bertujuan untuk merancang pandangan pengguna yang telah diidentifikasi selama mengumpulkan kebutuhan dan menganalisis langkah dari relasional Database Application Lifecycle. Tahap 6 Perancangan mekanisme keamanan. Dalam sebuah sistem basis data, keamanan adalah elemen yang sangat penting mengingat isi dari basis data berupa 28 informasi yang sangat penting. Tahap 7 Mempertimbangkan kemunculan redudansi terkontrol. Pada langkah physical database design ini mempertimbangkan denormalisasi skema relational untuk meningkatkan performa. Hasil dari normalisasi adalah perancangan basis data logikal secara structural, konsisten, dan menekan jumlah redudansi. Faktor yang perlu dipertimbangkan adalah : a) Denormalisasi membuat implementasi lebih kompleks b) Denormalisasi selalu mengorbankan fleksibilitas c) Denormalisasi akan membuat cepat dalam retrieve data tetapi lambat dalam update. Ukuran performa dari suatu perancangan basis data dapat dilihat dari sudut pandang tertentu yaitu melalui pendekatan efisiensi data (Normalisasi) atau pendekatan efisiensi proses (Denormalisasi). Efisiensi data dimaksudkan untuk meminimalkan kapasitas disk, dan efisiensi proses dimaksudkan untuk mempercepat proses saat retrieve data dari basis data. Tahap 7.1 : Menggabungkan relasi 1:1 Tahap 7.2 : Melakukan duplikasi pada atribut non key pada relasi 1:* untuk mengurangi penggunaan joins. Tahap 7.3 : Melakukan duplikasi pada atribut foreign key pada relasi 1:* untuk mengurangi penggunaan joins. Tahap 7.4 : Melakukan duplikasi pada atribut pada relasi *:* untuk mengurangi penggunaan joins. Tahap 7.5 : Mengenali repeating groups. 29 Tahap 7.6 : Menggabungkan lookup tables dengan relasi dasar. Tahap 8 Tahap 7.7 : Membuat tabel ekstraksi. Memonitor sistem operasional. Bertujuan untuk memonitor sistem operasi, meningkatkan performa dan menentukan perancangan sistem yang tepat atau menggambarkan perubahan kebutuhan. 5. DBMS Selection (optional) Tahap seleksi dbms merupakan kegiatan pemilihan DBMS yang sesuai guna mendukung aplikasi basis data. Tahapan dalam memilih DBMS yang tepat antara lain : a. Mendefinisikan syarat-syarat sebagai referensi. Berupa dokumen yang menyatakan tujuan dan ruang lingkup penelitian, dan tugas-tugas yang harus dilakukan. Dokumen ini juga mencakup deskripsi dari kriteria berdasarkan persyaratan dari user yang digunakan untuk mengevaluasi produk DBMS, berisi list produk yang memungkinkan, prediksi-prediksi kendala yang mungkin terjadi dan rentang waktu yang dibutuhkan untuk penelitian. b. Membuat daftar singkat dari dua atau tiga produk. Kriteria yang diperlukan untuk keberhasilan implementasi untuk menghasilkan produk DBMS seperti dana yang tersedia, tingkat dukungan vendor, kecocokan dengan perangkat lunak lainnya, dan apakah produk berjalan pada perangkat keras tertentu. c. Mengevaluasi produk. Terdapat beberapa fitur yang digunakan untuk mengevaluasi produkproduk DBMS. Untuk tujuan dari evaluasi, fitur-fitur ini dapat digabung menjadi sebuah kelompok. d. Merekomendasikan produk yang terpilih dan membuat laporan. Tahap terakhir dari pemilihan DBMS ini adalah mendokumentasikan 30 proses dan menghasilkan pernyataan akan penemuan dan rekomendasi dari produk DBMS tertentu. 6. Application Design Merancang desain untuk user interface dan program aplikasi yang menggunakan dan memproses basis data. Terdapat 2 (dua) aspek penting dalam mendesain aplikasi, yaitu : 1. Transaction Design Suatu aksi yang dilakukan oleh single user atau program aplikasi untuk mengakses atau mengubah isi basis data. Transaksi mempresentasikan keadaan sesungguhnya seperti : peminjaman buku, pemesanan makanan. Transaksi semacam ini harus dimasukkan kedalam basis data untuk menjamin data yang berada di basis data tetap up-to-date sehingga dapat mendukung informasi yang dibutuhkan oleh user. erdapat 3 (tiga) jenis transaksi antara lain : 1. Retrieval transaction : Digunakan untuk mendapatkan data untuk diperlihatkan di monitor atau di dalam pembuatan laporan. 2. Update transaction : Digunakan untuk memasukkan record baru, menghapus record lama, ataupun mengubah record yang ada. 3. Mixed transaction : Melibatkan kedua jenis transaksi yaitu mendapatkan dan mengupdate data. 2. User Interface Design Sebelum mengimplementasikan sebuah laporan, penting sekali untuk membuat sebuah layout. Beberapa petunjuk penting untuk membuat report antara lain : 1. Penetapan judul yang bermakna. Informasi yang disampaikan dalam judul harus jelas. 2. Instruksi yang dapat dipahami. Menggunakan istilah yang mudah dimengerti dan seharusnya dapat menyampaikan instruksi kepada user. 3. Pengelompokan logika dan urutan kolom 31 Field yang saling berhubungan ditempatkan pada form/report secara logis. 4. Tampilan form yang menarik. 5. Penggunaan label yang sering digunakan. 6. Penggunaan istilah dan singkatan yang konsisten. 7. Penggunaan warna yang konsisten, warna digunakan untuk tampilan dapat memperjelas pesan yang penting. 8. Jumlah digit atau batasan data entry harus terlihat untuk mengisi kolom, seorang user seharusnya dapat melihat ruang yang tersedia untuk setiap kolomnya. 9. Pergerakan kursor yang baik. 10. Proses insert dan update data dapat dilakukan dengan baik. 11. Pesan error pada nilai yang tidak dapat diterima. 12. Pesan error harus muncul jika user melakukan suatu kesalahan. 13. Kolom pilihan harus terlihat jelas, misalnya diberi tanda (*). 14. Terdapat keterangan mengenai suatu kolom yang bersangkutan. 15. Pemberian indikator selesai, harus jelas bagi user ketika proses pengisian laporan selesai. 7. Prototyping (optional) Proses membangun sebuah model kerja dari aplikasi basis data. Tujuan utama dari tahap ini adalah untuk memberi izin user menggunakan prototype untuk mengidentifikasikan fitur dalam sistem berjalan baik, dan jika memungkinkan dapat memberi saran perbaikan atau menambah fitur baru ke dalam aplikasi basis data. Secara keseluruhan menjadi sistem ‘bayangan’ yang biasanya dibangun apabila terdapat rentang waktu yang cukup lama. 8. Implementation Tahap akhir dari perancangan ialah realisasi fisikal dari pembuatan basis data yang baru dan desain aplikasi. Basis data diimplementasikan 32 menggunakan DDL (Data Definition Language) dari DBMS yang terpilih, sedangkan program aplikasi diimplementasikan dengan 3GL atau 4GL (Third or Fourth Generation Language). 9. Data Conversion and Loading Suatu proses pengiriman data yang telah ada ke dalam basis data yang baru dan melakukan konversi sistem yang telah ada agar tetap dapat menjalankan basis data yang baru. Tahap ini dilakukan hanya jika sistem basis data yang baru menggantikan sistem basis data yang lama. 10. Testing Suatu proses mengeksekusi program aplikasi dengan menemukan kesalahan apa saja yang terjadi. Sebelum program aplikasi dipakai, sistem basis data yang dibuat harus benar-benar dilakukan uji coba. Sebaiknya menggunakan testing dan menggunakan data yang realistis, sehingga keseluruhan sistem dapat diuji coba. Contoh kriteria yang dapat digunakan untuk melakukan testing meliputi : a. Learnability Berapa lama waktu yang diperlukan untuk seorang pengguna baru menjadi produktif dengan sistem? (Connolly, 2005, p305). b. Performance Seberapa baik sistem dalam menanggapi kesesuaian praktek kerja pengguna? (Connolly, 2005, p305). c. Robustness Setoleransi apa sistem pada kesalahan pengguna? (Connolly, 2005, p305). d. Recoverability Seberapa baik sistem (Connolly, 2005, p306). e. Adaptibility saat pemulihan kesalahan pengguna? 33 Seberapa dekat sistem terkait ke satu model kerja? (Connolly, 2005, p306). 11. Operational Maintainance Suatu proses memantau dan memelihara sistem dan diikuti dengan instalasi pada sistem yang berjalan. Proses pemantauan sangat penting untuk menjaga kelangsungan sistem dapat berjalan dengan baik atau tidak. 2.1.10. Konsep Entity Relationship Modelling Menurut Conolly dan Begg (2005, p342) ER Modelling adalah sebuah pendekatan top-down untuk merancang basis data dengan mengidentifikasi data yang penting yaitu entitas dan relasi antar data yang harus dipresentasikan dalam model. Beberapa konsep dalam E-R Modelling, yaitu : a. Entity Entity adalah sekumpulan objek yang memiliki property yang sama, diidentifikasikan sebuah organisasi karena keberadaannya yang bebas (independent existence). (Connolly dan Begg, 2005). Setiap entity dilambangkan dengan sebuah persegi panjang yang diberi nama. Nama entity biasanya adalah kata benda tunggal. Penamaan entity dapat berupa real keberadaannya seperti staff, lecturer atau konseptual seperti penjualan, rental. Entity dapat diklasifikasikan menjadi dua yaitu : 1. Strong Entity, yaitu tipe entity yang keberadaannya independent tidak dipengaruhi tipe entity yang lain. 2. Weak Entity, yaitu tipe entity yang keberadaannya dipengaruhi tipe entity yang lain. 34 Strong Entity Weak Entity Client States ► ClenttNo Name TelNo Preference PrefType MaxRent Gambar 2.4 Representasi Diagran Entitas Kuat dan Entitas Lemah (Connolly, 2005) b. Relationship Relationship adalsah hubungan antar entity yang memiliki arti (Connolly dan Begg, 2005). Relationship digambarkan dengan sebuah garis yang menghubungkan entity-entity yang saling berhubungan. Garis tersebut diberi nama sesuai dengan nama hubungannya dan diberi tanda panah satu arah di samping nama hubungannya. Penamaan relationship menggunakan kata kerja, seperti frase singkat yang meliputi sebuah kata kerja seperti Membeli. Sedangkan tanda panah ditempatkan di samping nama relationship yang mengindikasikan arah bagi pembaca untuk mengartikan nama dari suatu relationship ditulis dengan huruf besar. Relationship Name Staff ◄ has Branch Gambar 2.5 Representasi Diagram Tipe Relationship Branch memiliki Staff (Connolly, 2005) 35 c. Atributte Atribut adalah properti sebuah entity atau relationship (Connolly, 2005). Terdapat jenis-jenis atribut, yaitu : 1. Domain Attribute Domain attribute merupakan kumpulan dari nilai-nilai yang diperbolehkan untuk satu atau lebih atribut, misalnya untuk atribut NIM harus diisi nilai sebanyak 10 karakter. 2. Simple and Composite Attributes Simple attribute adalah atribut yang terdiri dari komponen tunggal yang tidak dapat dipecah lagi. Cmtoh : jabatan, gaji pada entity staff. Sedangkan Composite attribute adalah atribut yang terdiri dari beberapa komponen, yang dapat dipecah menjadi sub-sub atribut yang memiliki makna. Comtoh : atribut alamat dipecah menjadi alamat, kota dan kode pos. 3. Single-Value dan Multi-Value Attributes Sngle - value attribute adalah atribut yang hanya memiliki sebuah nilai untuk setiap tipe entity.(Connolly dan Begg, 2005, p351- p352). Contoh : satu nim memiliki satu nama. Multi-Value Attributes adalah atribut yang mengandung lebih dari satu nilai untuk setiap tipe entity. Contoh : nomor telepon, hobi. 4. Derived Attributes Derived attributes merupakan sebuah atribut yang merepresentasikan sebuah nilai yang berasal dari nilai sebuah atribut yang berhubungan atau set atribut, dan tidak harus berada dalam tipe entity yang sama (Connolly dan Begg, 2005). d. Keys Menurut Conolly dan Begg (2005, p352) Key digolongkan menjadi empat macam yaitu sebagai berikut : 1. Candidate Key, yaitu sekumpulan atribut yang minimal secara unik mengidentifikasikan setiap occurrence dari sebuah entity. 36 2. Composite Key, ialah sebuah candidate key yang terdiri atas dua atau lebih atribut 3. Primary Key, adalah candidate key yang terpilih untuk mengidentifikasikan secara unik setiap occurrence dari sebuah entity. Pemilihan primary key biasanya berdasarkan panjang atribut, jumlah minimal atribut serta keunikannya. 4. Alternate Key, adalah setiap candidate key yang tidak terpilih menjadi primary key. Berikut merupakan gambaran hubungan atribut dalam suatu entitas : Primary Key Staff StaffNo (PK) Name Position Salary TotalStaff Branch Manage ► ◄ has Derived BranchNo (PK) Address TelNo Composite Attributes Attribute Multi-Value Attribute Gambar 2.6 Representasi Diagram Entity Branch dan Staff Beserta Artibut dan Primary key (Connolly, 2005) e. Batasan Struktural Batasan-batasan yang menggambarkan pembatasan pada relationship seperti yang ada pada “real world” harus diterapkan pada entity yang ikut serta pada sebuah relationship dnamakan multiplicity. Multiplicity menandakan banyaknya kejadian yang mungkin pada sebuah tipe entity yang mungkin dan berhubungan dengan tipe entity lain melalui relationship. Derajat yang paling umum pada suatu relasi adalah biner. Jenisjenis relasi biner terdiri dari : 1. One-to-one relationship (1:1) Setiap anggota entitas A hanya boleh berhubungan dengan satu anggota 37 entitas B, begitu pula sebaliknya. Berikut salah satu contoh relasi yang menggambarkan relasi one-to-one binary. Setiap Branch is manages oleh satu Setiap Staff manages satu atau tidak anggota Staff sama sekali Branch Staff StaffNo manages ► 1..1 Branch 0..1 BranchNo Gambar 2.7 Multiplicity Entitas Newspaper oversees entitas PropertyFoRrent dengan One-To-One Relationship (Connolly, 2005) 2. One-to-many relationship (1:*) Satu entitas dalam A dihubungkan dengan maksimum satu entity B. dan satu entitas dalam B dapat dihubungkan dengan sejumlah entitas A. Berikut salah satu contoh relasi yang menggambarkan relasi one-to-many binary. Setiap Staff oversees banyak atau Setiap PropertyForRent is overseen oleh tidak sama sekali barang satu atau tidak sama sekali anggota Staff Staff StaffNo PropertyForRent oversees ► 0..1 ProperyForRent 0..* PropertyNo Gambar 2.8 Multiplicity Entitas Newspaper oversees Entitas PropertyForRent dengan One-To-Many Relationship (Connolly, 2005) 38 3. Many-to-many relationship (*:*) Satu entitas dalam A dihubungkan dengan sejumlah entity dalam B . Satu entitas dalam B dihubungkan dengan sejumlah entity dalam A. Beriku merupakan salah satu contoh many-to-many relationship. Setiap PropertyForRent is advertised Setiap Newspaper advertises satu banyak atau tidak sama sekali atau lebih PropertyForRent Newspaper Newspaper advertises ► NewspaperName 0..* ProperyForRent 1..* PropertyNo Gambar 2.9 Multiplicity Entitas Newspapers advertises Entitas PropertyForRent dengan Many-to-Many Relationship (Connolly, 2005) f. Cardinality dan Participation Constraints Multiplicity terdiri dari dua batasan yaitu cardinality dan participation. Cardinality menggambarkan jumlah maksimum relasi yang mungkin terjadi dari sebuah entity yang berpartisipasi dalam tipe relasi. One-to-one (1:1), one-to-many (1:*), dan many-to-many (*:*) merupakan cardinality dari relasi binary. Sedangkan participation menentukan apakah semua atau hanya sebagian dari entity yang berpartisipasi dalam relasi. 39 Satu Branch diatur oleh satu anggota dari cardinality Satu Branch diatur oleh satu anggota dari staff staff Staff 1..1 manages 0..1 Branch StaffNo Semua Branch diatur oleh Staff BranchNo participation Tidak semua Staff mengatur Branch Gambar 2.10 Cardinality dan Participation pada Entitas Staff dan Branch (Connolly, 2005) 2.1.11. Normalisasi Normalisasi adalah suatu teknik yang bertujuan untuk menghasilkan himpunan relasi dengan property yang diinginkan berdasarkan kebutuhankebutuhan data suatu perusahaan (Connolly dan Begg, 2005). Tujuan dari normalisasi adalah untuk menghilangkan data yang berulang (redudansi) sehingga mengurangi kompleksitas data dan untuk memudahkan modifikasi data. Pada saat suatu data yang belum dilakukan normalisasi, maka bentuk tersebut dikenal sebagai Unnormalized Form (UNF). UNF adalah suatu entitas yang terdiri dari satu atau lebih kelompok yang berulang (repeating group), dibuat dengan cara memindahkan data dari sumber informasi. Repeating group adalah suatu atribut atau kumpulan atribut dalam suatu tabel yang memiliki lebih dari satu nilai untuk satu buah primary key pada tabel yang sama. Tahapantahapan normalisasi adalah sebagai berikut : 40 Sumber Sumber Data Data User-user Spesifikasi Kebutuhan Berbagai User Form atau Laporan Data Dictionary Dan Data Model Perusahaan Mengubah Mengubah Atribut Atribut Ke Ke Format Format Tabel Tabel UNF Menghilangkan Menghilangkan Perulangan Perulangan Grup Grup 1NF Menghilangkan Menghilangkan Ketergantungan Ketergantungan Parsial Parsial 2NF Menghilangkan Menghilangkan Ketergantungan Ketergantungan Transitif Transitif 3NF Gambar 2.11 Tahapan Proses Normalisasi 1) First Normal Form (1NF) Suatu relasi dapat dikatakan 1NF jika setiap baris dan kolom pada relasi tersebut mengandung hanya satu nilai (Connolly dan Begg, 2005). Sebuah relasi akan berada dalam keadaan 1NF jika : a. Repeating groupnya dihilangkan b. Tidak mengijinkan adanya derived atribut c. Mendefinisikan primary key untuk setiap entitas. 2) Second Normal Form (2NF) Suatu relasi dikatakan dalam bentuk 2NF jika relasi tersebut telah berada pada keadaan 1NF dan setiap atribut yang bukan primary key bergantung sepenuhnya (fully functionally dependent) terhadap primary key (Connolly dan Begg, 2005). Fully Funtional dependency terjadi jika A dan B merupakan atribut dari suatu relasi, dan B bisa dikatakan bergantung terhadap A, namun bukan subset dari A (Connolly dan Begg, 2005). 3) Third Normal Form (3NF) 41 Suatu relasi dikatakan 3NF jika relasi tersebut telah berada dalam keadaan 1NF dan 2NF, dan tidak ada atribut yang bukan primary key bergantung secara transitif (transitively dependent) terhadap primary key (Connolly dan Begg, 2005). Transitive dependency adalah sebuah kondisi dimana A, B, dan C merupakan atribut dari relasi. Jika B bergantung pada A dan C bergantung pada B maka dapat dikatakan bahwa C disebut bergantung secara transitif (transitively dependent) terhadap A melalui B (Connolly dan Begg, 2005). 2.1.12. PHP Menurut Connolly dan Begg (2005, p1043) PHP adalah bahasa pemrograman berlisensi terbuka yang didukung oleh banyak web server, termasuk Apache HTTP Server dan Microsofts Internet Information Server, dan juga merupakan bahasa pemrograman utama dalam sistem operasi Linux. Salah satu keuntungan PHP adalah dapat diperpanjang, dan jumlah perpanjangan modul dapat mendukung beberapa hal seperti basis data, konektivitas, mail, dan XML. 2.1.13. Flowchart Menurut Romney dan Steinbart (2006, p70) flowchart adalah teknik analitis yang digunakan untuk mendeskripsikan beberapa aspek sistem informasi secara jelas, singkat dan logis. Flowchart menggunakan kumpulan simbol yang umum untuk menggambarkan prosedur proses transaksi yang digunakan suatu perusahaan serta aliran data pada sistem tersebut. Tabel 2.1 mendeskripsikan flowchart. Tabel 2.1 Notasi Flowchart Notasi Keterangan Document Merepresentasikan dokumen atau laporan yang dapat berupa tertulis tangan atau hasil print komputer. 42 On-page Connector Mengubungkan aliran proses dalam satu halaman. Off-page Connector Menghubungkan aliran proses dengan halaman lain. Manual Operation Merepresentasikan proses operasi yang dilakukan secara manual. Decision Merepresentasikan tahapan pembuatan keputusan dengan adanya alternatif aliran proses data. Document or Processing Flow Merepresentasikan arah aliran pemrosesan atau dokumen. Terminal Merepresentasikan awal, akhir, atau interupsi dalam suatu proses atau program. 2.1.14. State Transition Diagram State Transistion Diagram merupakan suatu diagram yang menggambarkan bagaimana suatu proses berhubungan dalam satu waktu. STD mengilustrasikan keadaan dari komponen-komponen sistem yang dapat dimiliki dan tindakan yang menyebabkan perubahan dari satu keadaan ke keadaan yang lain (Hoffer et al, 1996, p364). STD pada dasarnya merupakan sebuah diagram yang terdiri dari state dan transisi atau perpindahan state. Transisi atau perpindahan state terdiri atas kondisi dan aksi. Kondisi adalah kejadian yang dapat diketahui oleh sistem. Sedangkan aksi adalah tindakan yang dilakukan oleh 43 sistem bila terjadi perubahan state atau merupakan reaksi terhadap kondisi. Berikut adalah table notasi STD : Tabel 2.2 Notasi STD Notasi Arti Keadaan Transisi/perubahan keadaan 2.1.15. Interaksi Manusia dan Komputer Definisi dari Interaksi Manusia dan Komputer adalah ilmu yang mempelajari bagaimana manusia berinteraksi dengan komputer dan pengaruh dari interaksi antara manusia dan komputer. Fokus dari interaksi manusia dan komputer adalah perancangan dan evaluasi antarmuka pemakai (user interface). Antarmuka pemakai (user interface) adalah bagian sistem komputer yang memungkinkan manusia berinteraksi dengan computer. Berikut dua metode perancangan dan evaluasi antarmuka pemakai : a. Delapan aturan emas dalam Perancangan Menurut Shneiderman Plaisant (2004, p74), terdapat delapan aturan emas dalam merancang sebuah user interface yaitu sebagai berikut : 1) Konsisten Konsisten dalam kesamaan terminology dalam membuat menu, tampilan, font, dan help screen. Selain itu, konsisten dalam warna, kapitalitas, dan tampilan juga merupakan hal yang penting. 2) Mengakomodasi kebutuhan secara universal Desain harus mampu menangani user yang beragam dan merancang shortcut untuk mempercepat navigasi dalam menelusuri web. 3) Memberikan umpan balik yang informatif Untuk setiap tindakan operator, sebaiknya disertakan suatu sistem umpan balik. Untuk tindakan yang sering dilakukan dan sederhana, dapat 44 diberikan umpan balik yang sederhana. Tetapi ketika tindakan merupakan hal yang penting, maka umpan balik sebaiknya lebih substansial. Misalnya muncul suatu suara ketika salah menekan tombol pada waktu input data atau muncul pesan kesalahannya. 4) Merancang dialog untuk menghasilkan keadaan akhir Bertujuan untuk membuat user merasa yakin dan tenang dalam melakukan suatu tindakan dengan memberikan gambaran hasil akhir dari suatu pilihan, serta memberikan banyak option kepada user sehingga bisa ikut mempengaruhi hasil akhir. 5) Memberikan penanganan kesalahan yang sederhana Sebisa mungkin suatu website harus dirancang agar user tidak melakukan kesalahan yang fatal, dan pesan kesalahan yang dimunculkan harus mudah dimengerti oleh user. 6) Memungkinkan pembalikan aksi yang mudah Tindakan yang dilakukan oleh user harus dapat dikembalikan pada kondisi sebelumnya sehingga user merasa aman untuk mengeksplorasi website karena ia tahu bahwa kesalahan yang ia lakukan dapat diperbaiki. 7) Mendukung internal locus of control (tempat pemakaian internal) Sistem harus dibuat agar user merasa memegang kendali atas suatu website. Kesulitan user dalam melakukan navigasi website atau dalam menampilkan data dapat membuat user menjadi tidak puas. 8) Mengurangi beban ingatan jangka pendek Manusia tidak dapat mengingat banyak info pada suatu waktu yang bersamaan. Oleh karena itu, suatu website harus dibuat sesederhana mungkin sehingga tidak membuat user bingung karena terlalu banyak info yang harus diingat. b. Lima faktor manusia terukur Menurut Shneiderman dan Plaisant (2004, p16) ada lima faktor manusia terukur yang harus diperhatikan dalam merancang suatu user interface agar pengguna dapat memahami perancangan User Interface. Berikut merupakan lima faktor manusia terukur : 45 1) Waktu Belajar Hal yang harus diperhatikan dalam merancang User Interface adalah waktu belajar pengguna dalam memahami User Interface yang telah dibuat, berapa lama pengguna belajar memahami rancangan User Interface. 2) Kecepatan Kinerja Dalam merancang User Interface, kecepatan kinerja menjadi hal yang harus terukur, kecepatan kinerja disini adalah kecepatan dalam melakukan suatu tugas/order pada suatu sistem. Hal ini penting, karena kecepatan juga menentukan seberapa menarik atau baik nya suatu sistem. 3) Tingkat Kesalahan User Interface dirancang sedemikian rupa kemungkinan kesalahan yang dilakukan oleh untuk mengurangi pengguna aplikasi dan memberikan penanganan kepada pengguna 4) Daya Ingat Merancang UI agar pengguna dapat dengan mudah mengingat, dengan tujuan agar pengguna tidak membutuhkan waktu lama untuk mempelajari penggunaan aplikasi. 5) Kepuasan subjektif Hal ini dapat dicapai dengan melakukan interview dan survey kepada beberapa pengguna untuk mendapat tingkat kepuasan. 2.2. Teori yang terkait Tema penelitian 2.2.1 Pengertian Pengawasan Menurut Schermerhorn dalam Ernie dan Saefullah (2005, p317), pengawasan merupakan sebagai proses dalam menetapkan ukuran kinerja dalam pengambilan tindakan yang dapat mendukung pencapaian hasil yang diharapkan sesuai dengan ukuran yang telah ditetapkan tersebut. 2.2.2 Teknik Pengawasan Untuk mencapai pengawasan yang efektif, maka pelaksanaan pengawasan harus berdasarkan kepada teknik-teknik pengawasan, yaitu kegiatan 46 atau tindakan yang perlu dilakukan oleh seorang pimpinan dalam mengawasi bawahannya. Proses pengawasan pada dasarnya terbagi dalam dua macam teknik, yaitu pengawasan langsung (direct control) dan pengawasan tidak langsung (indirect control). Siagian mengemukakan teknik-teknik pengawasan sebagai berikut : A. Pengawasan Langsung Pengawasan langsung merupakan teknik pengawasan dimana seorang pimpinan organisasi mengadakan sendiri pengawasan terhadap kegiatan yang sedang berjalan oleh bawahannya atau para pegawainya, hal ini dimaksudkan agar mengetahui secara benar dan objektif, kondisi pegawai dari pelaksanaan pekerjaan oleh para pegawai, sehingga dapat diketahui apabila ada penyimpangan, kesalahan, kelemahan-kelemahan yang terjadi dari rencana yang telah ditentukan, pengawasan langsung dapat berbentuk : a. Inspeksi Langsung Inspeksi langsung merupakan bentuk pengawasan langsung dimana pimpinan secara langsung mengadakan kunjungan kerja ke tempat kerja para pegawai untuk meninjau kondisi pegawai dan pelaksanaan pekerjaan yang dilakukan oleh para pegawai serta memeriksa kebenaran laporan yang diterimanya. b. Observasi di tempat (On-the-spot-observation) Merupakan salah satu bentuk pengawasan langsung dimana pimpinan mengadakan pengamatan, pemeriksaan secara langsung ke tempat kerja pegawai. Maksud dan tujuan dari teknik ini adalah untuk memperoleh informasi yang objektif tentang pelaksanaan kegiatan yang dilakukan oleh bawahannya dan selanjutnya pimpinan melakukan tindakan korektif. c. Laporan di tempat (On-the-spot-report) Adalah bentuk terakhir dari pengawasan langsung dimana pimpinan orgnisasi secara langsung meminta laporan kepada para pegawai dimana mereka melaksanakan tugasnya. Dengan demikian laporan di tempat dilakukan pada saat pimpinan melakukan kunjungan ke tempat kerja pegawai dengan jalan meminta keterangan secara langsung kepada para 47 pegawai mengenai pelaksanaan pekerjaan mereka dan hasil-hasilnya. Laporan di tempat ini dilaksanakan dengan maksud mendapatkan data dan fakta yang objektif mengenai pelaksanaan pekerjaan dan kondisi para pegawai serta hasil dari pelaksanaan pekerjaan oleh para pegawai yang bersangkutan, sehingga bila ada penyimpangan rencana dan kebijakan akan dapat ditanggulangi. B. Pengawasan Tidak Langsung Pengawasan tidak langsung adalah pengawasan dari jarak jauh yang dilakukan oleh pimpinan organisasi melalui laporan-laporan yang diterimanya dari bawahan mengenai pelaksanaan pekerjaan dan hasilhasilnya serta segala sesuatu yang ada hubungannya dengan pelaksanaan pekerjaan, termasuk di dalamnya mengenai perilaku para pegawai, pengawasan tidak langsung ini antara lain : a. Laporan Tertulis Merupakan alat pertanggung jawaban bawahannya kepada atasan mengenai pelaksanaan pekerjaan yang telah dilaksanakan sesuai dengan instruksi-instruksi dan tugas-tugas yang dibebankan kepadanya oleh atasan yang bersangkutan. b. Laporan Lisan Dilaksanakan dengan cara mengumpulkan informasi tentang pelaksanaan pekerjaan melalui penyampaian laporan lisan yang disampaikan bawahannya kepada atasannya. 2.2.3 Waktu Pelaksanaan Pengawasan Berikut merupakan waktu pelaksanaan pengawasan yang biasanya dilakukan, yaitu : a) Pengawasan yang dilakukan sebelum kegiatan dimulai, pengawasan ini antara lain dilakukan dengan mengadakan pemeriksaan dan persetujuan atas rencana kerja dan rencana anggarannya, penetapan petunjuk operasional (PO), persetujuan atas rancangan peraturan perundangan yang akan ditetapkan oleh pejabat/instansi yang lebih rendah. Pengawasan ini bersifat 48 preventif dengan tujuan untuk mencegah terjadinya penyimpangan, penyelewengan, pemborosan, kesalahan, terjadinya hambatan dan kegagalan. b) Pengawasan yang dilakukan selama pekerjaan sedang berlangsung. Pengawasan ini dilakukan dengan tujuan membandingkan antara hasil yang nyata-nyata dicapai dengan yang seharusnya telah dan yang harus dicapai dalam waktu selanjutnya. c) Pengawasan yang dilakukan sesudah pekerjaan selesai dilaksanakan. Pengawasan ini dilakukan dengan cara membandingkan antara rencana dan hasil. 2.2.4 Pengawasan yang Efektif Kriteria pengawasan yang efektif adalah sebagai berikut : a. Pengawasan harus mendukung sifat dan kebutuhan kegiatan (aktivitas). b. Pengawasan perlu melaporkan setiap penyimpangan yang terjadi dengan segera. c. Pengawasan harus mempunyai pandangan ke depan. d. Pengawasan harus objektif, teliti sesuai dengan standard yamg digunakan. e. Pengawasan harus luwes/fleksibel. f. Pengawasan harus serasi dengan pola organisasi g. Pengawasan harus ekonomis. h. Pengawasan harus mudah mengerti. i. Pengawasan harus diikuti dengan perbaikan/koreksi. 2.2.5 Peralatan Sistem Navigasi Penerbangan Sistem navigasi memberikan perkiraan posisi, kecepatan dan orientasi/attitude pesawat secara teratur pada kecepatan sampling tertentu. Kuantitas ini adalah perkiraan kuantitas sebenarnya akibat dari random noise yang selalu ada dalam setiap pengukuran. Oleh karena noise ini, kuantitas hasil perhitungan dari sistem navigasi mengandung random error. Artinya, posisi yang dilaporkan oleh suatu sistem navigasi, misalnya posisi hasil perhitungan GPS, bukanlah posisi sesungguhnya dimana pesawat itu berada. Seberapa jauh 49 perbedaan anatara lokasi perhitungan suatu sistem navigasi dengan lokasi sesungguhnya dimana sistem tersebut berada tergantung dari tingkat pengukuran (level measurement) noise pada sistem navigasi terebut. Agar suatu sistem navigasi dapat diterapkan, error pada sistem tersebut harus dipeljari dengan baik (karakterisasi). Namun, tidak hanya sumber-sumber yang menyebabkan random error yang dipelajari dan dikarakterisasi, tetapi juga harus mempelajari bagaimana menyatakan error tersebut pada kuantitas yang dihitung oleh sistem navigasi. Berikut beberapa peralatan yang berperan penting dalam sistem navigasi secara keseluruhan. a. Pemancar Pemancar radio di darat yang berfungsi sebagai penunjuk arah menyediakan sinyal-sinyal yang memandu pesawat. Pilot mempunyai instrumen yang menangkap sinyal-sinyal dari pemancar tersebut dan memberi tahu posisinya dengan tepat. Karena pemancar radio tersebut dipasang di berbagai lokasi tertentu, pesawat seolah-olah terbang dari satu titik ke titik lainnya hingga tiba ke tempat tujuan mereka. Sebenarnya, dengan bantuan sistem navigasi ini terciptalah jalur udara yang spesifik. Para petugas pemandu lalu lintas udara memantau pesawat pada jalur penerbangan ini. b. JAATS (Jakarta Automated Air Traffic Control System) Sistem komputer yang terdiri dari beberapa komputer sever dan komputer workstation yang berperan dalam mengolah data informasi yang digunakan untuk pemanduan lalu lintas udara yang hasil datanya dapat digunakan oleh petugas ATC dalam pengambilan keputusan. Untuk mengoperasikan sistem JAATS, menggunakan sistem operasi LINUX pengembangan dari UNIX. Fungsi JAATS ini dirancang untuk memproses data penerbangan dan data radar secara tepat waktu dan terus menerus kemudian menampilkannya pada monitor ATC untuk melakukan pengontrolan pesawat. Sebelum keberangkatan, para pilot diwajibkan mendaftarkan rencana penerbangan atau data penerbangan yang memperlihatkan rute penerbangan yang akan mereka tempuh. Pemandu memiliki salinan rute tersebut, yang disebut flight progress strip. Salvador Rafael, seorang kepala pemandu lalu lintas udara, 50 menjelaskan manfaat rencana tersebut, ”Ada titik-titik persimpangan pada jalur penerbangan. Sewaktu seorang pilot terbang di atas titik-titik tersebut, ia harus melaporkan informasi itu ke petugas pemandu. Lalu, petugas akan menandainya pada rute rencana penerbangan.” Dengan demikian, sang pemandu mendapatkan gambaran mental tentang jalur penerbangan itu. c. Radio Untuk mendapatkan flight progress strip, para pemandu ATC menggunakan radio. Ia tahu di mana pesawat itu berada, dan sang pilot menerima instruksi yang membantu dia menjaga jarak yang aman dari pesawat lain. Biasanya, para petugas pemandu (ATC) dan pilot mempunyai beberapa radio serta frekuensi, sehingga jika ada yang tidak berfungsi, yang lain masih dapat mereka gunakan. d. Radar Radar adalah alat lain yang digunakan oleh pemandu lalu lintas udara. Gelombang radio yang mengenai pesawat akan dipantulkan dan ditangkap oleh antena radar. Lalu, pada layar perangkat radar, pesawat akan kelihatan seperti titik-titik atau target. Banyak pesawat diperlengkapi dengan alat transponder, yang mengembalikan sinyal penanda pesawat ke radar. Sewaktu sinyal-sinyal itu digabungkan dengan informasi pada komputer, pesawat itu akan tampil di layar radar, lengkap dengan nomor penerbangan, kecepatan, ketinggian, dan jenis pesawatnya. Jika pemandu melihat perlunya mengarahkan pesawat agar menghindari tabrakan, ia mempunyai beberapa pilihan. Ia dapat menginstruksikan pilot agar mengubah (1) haluan, atau arah. Ini disebut vectoring. Atau, ia dapat menyarankan untuk mengubah (2) kecepatan jika, misalnya, sebuah pesawat menyalip pesawat lainnya. Cara yang paling umum ia lakukan agar pesawat saling menjaga jarak adalah dengan mengubah (3) ketinggian jelajah. Sebagai fitur yang membantu menjaga keselamatan, banyak sistem radar mengingatkan para pemandu akan timbulnya situasi yang membahayakan. Misalnya, jika sistem mengantisipasi bahwa dua pesawat terlalu dekat satu 51 sama lain, alarm akan terlihat dan terdengar. Alarm lain akan berbunyi jika sebuah pesawat kelihatannya terlalu dekat ke tanah. 2.2.6 Fungsi dan Peranan Pelayanan Lalu Lintas Penerbangan PT. Air Navigation sebagai lembaga yang melayani lalu lintas udara mempunyai fungsi utama untuk menjaga kelancaran dan keselamatan penumpang dalam pedawat terbang. Secara menyeluruh, fungsi unit pelayanan lalu lintas udara adalah sebagai berikut : [1] a. Prevent Collision Between Aircraft Dengan adanya Pelayanan Lalu Lintas Udara diharapkan dapat mencegah tabrakan di antara pesawat udara. b. Prevent Collision Between Aircraft on The Manoevering Area and Obstruction on That Area Mencegah terjadinya tabrakan antara pesawat udara didarat atau didaerah pergerakan pesawat udara, juga mencegah tabrakan pesawat udara dengan bangunan-bangunan didarat. c. Expedite and Maintain or Orderly Flow of Air Traffic Mempertahankan kelancaran dan keteraturan lalu lintas udara. Setiap Pelayanan Lalu Lintas Udara mempunyai tehnik yang berbeda satu sama lain dalam mempertahankan kelancaran lalu lintas udara. Seorang Pelayanan Lalu Lintas Udara dituntut untuk memiliki pola berfikir yang cepat. Hal ini dalam hubungannya dengan pengambilan keputusan yang cermat dan tepat. Semua hal diatas tidak ada artinya jika unsur keselamatan diabaikan. Kecepatan dan ketepatan diatas harus dikombinasikan dengan kecermatan guna memperoleh keputusan yang tepat tersebut. d. Provide Advice and Information Useful For The Safe an Efficient Conduct of Flight Diwajibkan juga untuk memberikan saran dan informasi yang berguna bagi keamanan dan efisiensi penerbangan. Untuk melengkapi uraian tentang kewajiban memberikan saran informasi, perlu pula dijelaskan tentang status wilayah penerbangan. Status wilayah penerbangan ada dua macam, yaitu : 52 1) Controlled Airspace Suatu wilayah udara dimana setiap pesawat udara yang berada diwilayah tersebut mendapatkan layanan Pelayanan Lalu Lintas Udara. Pelaksanaan Pemanduan dan pengendaliannya menjadi wewenang penuh dari seorang Pelayanan Lalu Lintas Udara yang sedang bertugas. 2) Flight Information Region Suatu Wilayah udara dimana setiap pesawat udara yang berada diwilayah tersebut hanya mendapatkan pengarahan atau informasi saja, sedangkan semua pengambilan keputusan yang berhubungan dengan penerbangan itu menjadi wewenang penuh dari penerbangnya. Jadi yang dimaksud berkewajiban memberikan informasi dan pengarahan dapat meliputi antara lain: adanya pesawat udara lain di jalur penerbangan yang dilalui, kondisi cuaca baik di jalur penerbangan atau keadaan di pelabuhan udara yang dituju. Dimaksud dengan pengarahan adalah agar suatu pesawat udara terbang menghindari daerah tertentu karena adanya gunung meletus atau keadaan yang membahayakan lainya. Apabila seorang Pelayanan Lalu Lintas Udara tidak memberikan atau lalai memberikan atau telah memberikan akan tetapi terdapat kesalahan, maka bila dengan kejadian diatas tersebut menyebabkan terjadinya kecelakaan pesawat udara, jelas Pelayanan Lalu Lintas Udara yang bertugas dapat dipersalahkan e. Notify Appropriate Organization Regarding Aircraft in Need Seacrh and Rescue aid and Assist Such Organization as Required Selain memberikan Pemanduan, panduan dan informasi kepada pesawat udara, maka Pelayanan Lalu Lintas Udara juga berkewajiban sebagai alerting post memberitahukan BASARNAS apabila terjadi peristiwa dimana terdapat pesawat yang membutuhkan bantuan SAR dan membantu BASARNAS tentang segala sesuatu yang berhubungan dengan penerbangan tersebut.Sebagai alerting post, tidak hanya terbatas bagi pesawat udara yang membutuhkan bantuan SAR saja akan tetapi juga terhadap kapal laut. 53 Jadi untuk menjalankan kelima fungsi diatas seorang Pelayanan Lalu Lintas Udara dituntut untuk mempunyai antisipasi, cepat tanggap untuk mengambil suatu keputusan sesuai dengan situasi keadaan saat itu. 2.3. Hasil Penelitian atau Produk Sebelumnya 2.3.1. Jurnal Penelitian Penulis mencari beberapa referensi yaitu beberapa hasil penelitian atau jurnal yang penah dilakukan dan dibuktikan. Referensi yang dicarai adalah referensi yang sesuai dengan topic skripsi penulis agar dapat dijadikan acuan dalam menulis skripsi. Berikut beberapa referensi yang penulis temukan : 1. Menurut Onawoga dan Olasunkanmi (Development of Equipment Maintenance Strategy For Critical Equipment, 2010, p328-342), Penelitian ini menyajikan dampak pemeliharaan sebagai salah satu faktor kompetitif dalam strategi bisnis secara keseluruhan. Menggunakan teknik pemeliharaan yang salah dapat membuang-buang waktu, uang, dan sumber daya, dan sering tidak memiliki efek pada peningkatan atau mempertahankan ketersediaan peralatan penting. Strategi yang disajikan di sini menggabungkan biaya efektif manajemen pemeliharaan, kesalahan dan kegagalan mode, bagian dan pembantu "kekritisan, dan manajemen informasi pada hasil mesin / equipment.The kritis penelitian ini akan signifikan untuk perusahaan manufaktur dalam meminimalkan penghentian insiden tidak hanya pada kritis peralatan tetapi fasilitas produksi. 2. Menurut Herbowo, Enggar dan Debby (Analisa dan perancangan aplikasi basis data fasilitas berbasis web pada Direktorat Jenderal Perhubungan Udara, 2010), penelitian ini bertujuan untuk membantu pihak Direktorat Jendral Perhubungan Udara dalam mengelula daa fasilitas pada Bandar udara ndengan aplikasi basis data berbasis web. Metodologi penelitian yang digunakan dalam perancangan aplikasi basis data berbasis web ini adalah perancangan basis data konseptual, logikal dan fisikan menurut 54 Thomas Conolly yang dikenal dengan System Database Lifecycle. Hasil penelitian yang dicapai adalah menyatakan informasi fasilitas pada Bandar udara seluruh Indonesia. Simpulan penelitian skripsi ini adalah dengan adanya aplikasi basis data berbasis web ini, pencarian informasi yang terkait fasilitas Bandar udara dapat dilakukan dengan waktu yang lebih cepat 3. Menurut Isabella (Penerapan sistem manajemen mutu ISO TS 1649 dalam perakitan bolt hub di poros penggerak Toyota Avanza pada PT. XYZi Isabella, 2000), Perusahaan yang memproduksi produk berkualitas adalah perusahaan yang mempunyai keunggulan di mata konsumen. Dalam peningkatan produk yang berkualitas perusahaan terus menerus mengadakan perbaikan yang berkesinambungan. PT. XYZ melakukan usaha pengendalian kualitas pada produknya dengan ketat. Pada tahun 2008 perusahaan penyedia spare part tersebut melakukan peningkatan kualitas yaitu mendapatkan sertifikasi ISO TS 16949 dalam hal ini standar untuk otomotif. Pada saat ini masih tahap untuk membuat produk dalam zero defect, yaitu program penghasilan produk yang tanpa cacat. Beberapa perusahaan produk otomotif sudah menghasilkan produk yang bermutu baik. PT. XYZ menghasilkan propeller shaft dan rear axle, pada produksi rear axle, di dalam komponen tersebut terdapat poros penggerak. Poros penggerak tersebut akan dirakit dengan bolt hub, jenis toyota avanza paling banyak untuk diproduksi di perusahaan tersebut. Saat perakitan tersebut, terjadi banyak kecacatan. Kecacatan tersebut dianalisa dengan metode pareto, diagram sebab-akibat dan menggunakan metode perbaikannya yaitu 5W + 1H.