2.1. Rekayasa Perangkat Lunak
Rekayasa perangkat lunak (software engineering) merupakan pembangunan dengan menggunakan prinsip atau konsep rekayasa dengan tujuan menghasilkan perangkat lunak yang bernilai ekonomi yang dipercaya dan bekerja secara efisien menggunakan mesin (Rosa dan Shalahuddin, 2014:4). Rekayasa perangkat lunak lebih fokus pada praktik pengembangan perangkat lunak dan mengirimkan perangkat lunak yang bermanfaat kepada pelanggan (customer). Adapun ilmu komputer lebih fokus pada teori dan konsep dasar perangkat komputer.
Rekayasa perangkat lunak lebih fokus pada bagaimana membuat perangkat lunak yang memenuhi kriteria berikut:
1) Dapat terus di pelihara setelah perangkat lunak selesai di buat seiring berkembangnya teknologi dan lingkungan (maintainability).
2) Dapat diandalkan dengan proses bisnis yang dijalankan dan perubahan yang terjadi (dependability dan robust).
3) Efisien dari segi sumber daya dan penggunaan.
4) Kemampuan untuk dipakai sesuai dengan kebutuhan (usability).
Dari kriteria di atas maka perangkat lunak yang baik adalah perangkat lunak yang dapat memenuhi kebutuhan pelanggan (customer) atau pemakai perangkat lunak (user) atau berorientasi pada pelanggan atau pemakai perangkat lunak, bukan berorientasi pada pembuatan atau pengembangan perangkat lunak(Rosa dan Shalahuddin, 2014:5).
2.1.1. Pengertian SDLC
SDLC atau Software Development Life Cycle atau sering disebut juga System Development Life Cycle adalah proses mengembangkan atau mengubah suatu sistem perangkat lunak dengan menggunakan model-model dan metodologi yang digunakan orang untuk mengembangkan sistem-sistem perangkat lunak sebelumnya (berdasarkan best practice atau cara-cara yang sudah teruji dengan baik). Tahapan-tahapan yang ada pada SDLC secara global adalah inisiasi (initiation), pengembangan konsep sistem (system concept development), perencanaan (planning), analisis kebutuhan (requirements analysis), desain (design), pengembangan (development), integrasi dan pengujian (integration and test), implementasi (implementation), operasi dan pemeliharaan (operations and maintenance), disposisi (disposition) (Rosa dan Shalahuddin, 2014:26).
2.1.2. RAD(Rapid Application Development)
Menurut Alan Dennis dalam (Alan Dennis,2012:54) RAD atau Rapid Application Development merupakan metodologi pengembangan sistem yang muncul dalam menanggapi kelemahan-kelemahan metode Waterfall dan variasinya. RAD menggabungkan teknik khusus dan tools komputer tertentu untuk mempercepat analisis, desain, dan fase implementasi dalam rangka untuk mempercepat pengembangan beberapa bagian dari sistem yang dikembangkan sehingga bisa cepat sampai ke tangan pengguna untuk evaluasi dan umpan balik.
Tahapan pengembangan sistem dilakukan layaknya metode waterfall namun dalam waktu yang lebih singkat atau bisa disebut mini-waterfall process. Implementasi pengembangan sistem secara cepat menghasilkan sistem versi awal yang bisa langsung dicoba pengguna. Untuk kemudian pengguna bisa memberikan evaluasi dan masukan guna pengembangan ke sistem versi selanjutnya.
Gambar 2. 1 Tahapan RAD (Alan Dennis, 2012:55)
Berikut tahapan pengembangan sistem dengan metode RAD: 1) Planning
Planning atau perencanaan merupakan proses paling mendasar untuk memahami mengapa suatu sistem harus dibangun dan bagaimana tim proyek akan menentukan cara membangun sistem tersebut (Alan Dennis,2012:13).
2) Analysis
Tahap analysis atau analisis menjawab pertanyaan tentang siapa yang akan menggunakan sistem, apa yang akan bisa dilakukan sistem, dimana, dan kapan akan digunakan. Selama fase ini, tim proyek menyelidiki sistem saat ini(sistem berjalan), mengidentifikasi peluang perbaikan, dan mengembangkan konsep untuk sistem baru. 3) Design
Tahap design atau desain memutuskan bagaimana sistem akan beroperasi dalam hal perangkat keras, software, dan infrastruktur jaringan yang akan berada di tempat; antarmuka pengguna, bentuk, dan laporan yang akan digunakan; dan spesifik program, database, dan file yang akan dibutuhkan. Meskipun sebagian besar keputusan strategis tentang sistem yang dibuat dalam pengembangan konsep sistem selama tahap analisis, langkah-langkah dalam tahap desain menentukan dengan tepat bagaimana sistem akan beroperasi.
4) Implementation
Tahap akhir dalam adalah tahap implementasi, di mana sistem sebenarnya dibangun (atau dibeli, dalam kasus desain paket perangkat lunak dan diinstal). Pada tahap ini dihasilkan sistem yang sudah jadi dan bisa dicoba.
5) System Version
Setelah tahap imlementasi, sistem versi awal sistem bisa dicoba dan ditunjukkan ke pengguna untuk mendapatkan evaluasi dan masukan. Berdasarkan masukan dari pengguna akan dilakukan pengulangan untuk membuat sistem versi berikutnya dengan berbagai perbaikan. Pada tahap ini juga dilakukan pengujian tehadap sistem.
2.1.3. Black-Box Testing
Pengujian sistem menjadi bagian penting dalam tahap pengembangan sistem. Setelah melewati tahap implementasi, dilakukan beberapa ujicoba terhadap sistem. Black-Box testing merupakan salah satu metode pengujian sistem yang digunakan. Black-Box testing disebut juga behavioral testing, fokus pengujian pada persyaratan fungsional perangkat lunak. Black-box testing bertujuan untuk menemukan kesalahan berdasarkan kategori berikut: (1) fungsi yang salah atau hilang, (2) kesalahan antarmuka, (3) kesalahan dalam struktur data atau akses database eksternal, (4) perilaku atau kesalahan kinerja, dan (5 ) inisialisasi dan terminasi kesalahan. (Roger S. Pressman, 2010:495)
2.2. UML(Unified Modelling Language)
Unified Modelling Language atau disingkat UML adalah suatu teknik yang telah
menjadi standar untuk memodelkan sebuah sistem dalam pengembangan sistem dengan menggunakan teknik visual dalam bentuk diagram dan bahasa yang mudah dipahami. Padatahun 2003 Object Management Group(OMG) telah mengesahkan UML versi 2.0 yang terdiri dari 14 diagram teknik untuk pemodelan sistem. Dan dibagi dalam 2(dua) grup yaitu structure diagrams dan behavior diagrams.
Alan Dennis dalam (Alan Dennis, 2012:515) hanya menggunakan 4 diagram dasar UML untuk mengembangkan sistem. Empat diagram tersebut saling terintegrasi dan digunakan bersama-sama untuk menggantikan DFDs dan ERDs pada SDLC tradisional. Penggunaan use case diagram biasanya digunakan untuk meringkas penggunaan set use case untuk bagian logis dari sistem (atau seluruh sistem). Kemudian class diagram, sequence diagram, dan state behavioral diagram digunakan untuk menentukan sistem yang berkembang dari berbagai perspektif.
2.2.1. Usecase Diagram
Use case diagram digunakan untuk mengilustrasikan fungsionalitas utama sistem yang paling sederhana dan pengguna yang terhubung dengannya. Secara umum use case diagram digambarkan terlebih dahulu dalam SDLC pada saat analis mengumpulkan dan mendefinisikan kebutuhan untuk sistem, karena use case diagram menyediakan cara yang mudah dan akurat dalam berkomunikasi dengan user mengenai apa yang sebenarnya dilakukan sistem.(Alan Dennis, 2012:517).
Tabel 2. 1 Simbol Use Case Diagram (Rosa dan Shalahuddin, 2014:156)
Simbol Deskripsi
Use Case Fungsionalitas yang disediakan sistem
sebagai unit-unit yang saling bertukar pesan antar unit atau aktor, biasanya dinyatakan dengan menggunakan kata kerja di awal frase nama use case
Aktor/actor Orang, proses, atau sistem lain yang berinteraksi dengan sistem informasi yang akan dibuat di luar sistem informasi yang akan dibuat itu sendiri, jadi walaupun simbol dari aktor adalah gambar orang, tapi aktor belum tentu merupakan orang
biasanya dinyatakan menggunakan kata benda di awal fase nama aktor.
Tabel 2. 2 (Lanjutan) Simbol Use Case Diagram (Rosa dan Shalahuddin, 2014:156)
Simbol Deskripsi
Asosiasi/association Komunikasi antara aktor dan use case yang berpartisipasi pada use case atau use case memiliki interaksi dengan aktor.
Ekstensi/extend Relasi use case tambahan ke sebuah use case dimana use case yang ditambahkan dapat berdiri sendiri walau tanpa use case tambahan itu, mirip dengan prinsip
inheritance pada pemrograman berorientasi objek, biasanya use case tambahan
memiliki nama depan yang sama degan use case yang ditambahkan .
Hubungan generalisasi dan spesialisasi antara dua buah use case dimana fungsi yang satu adalah fungsi yang lebih umum dari lainnya.
Menggunakan/include/uses <<include>>
Relasi use case tambahan kesebuah use case dimana use case yang ditambahkan memerlukan use case ini untuk
menjalankan fungsinya atau sebagai syarat dijalankan use case ini.
Syarat penamaan pada use case adalah nama di definisikan sesimpel mungkin dan dapat di pahami. Ada dua hal utama apada use case yaitu pendefinisian apa yang disebut aktor dan usecase.
1) Aktor merupakan orang, proses, atau sistem lain yang berinteraksi dengan sistem informasi yang akan dibuat di luar sistem informasi yang akan dibuat sendiri, jadi walaupun simbol dari aktor adalah gambar orang, tapi aktor belum tentu merupakan orang.
2) Use case merupakan fungsionalitas yang disediakan sistem sebagai unit-unit yang saling bertukar pesan antar unit-unit yang saling bertukar pesan antar unit atau aktor.
Gambar 2. 2 Contoh Use Case Diagram (Alan Dennis, 2012:517)
2.2.2. Activity Diagram
Activity diagram menggambarkan workflow (aliran kerja) atau aktivitas dari sebuah sistem atau proses bisnis atau menu yang ada pada perangkat lunak. Perlu diperhatikan bahwa diagram aktivitas menggambarkan aktivitas sistem bukan apa yang dilakukan aktor, jadi activity diagram adalah aktivitas yang dapat dilakukan oleh sistem (Rosa dan Shalahuddin, 2014:161).
Tabel 2. 3 Simbol Activity Diagram (Rosa dan Shalahuddin, 2014:162)
Simbol Deskripsi Status awal Status awal aktivitas sistem, sebuah diagram aktivitas memiliki sebuah status awal. Aktivitas Aktivitas yang dilakukan sistem, aktivitas biasanya diawali dengan kata kerja. Percabangan/decision Asosiasi percabangan dimana jika ada pilihan aktivitas lebih dari satu. Penggabungan/join Asosiasi penggabungan lebih dari satu ativitas digabungkan menjadi satu.
Tabel 2. 4 (Lanjutan) Simbol Activity Diagram (Rosa dan Shalahuddin, 2014:162)
Simbol Deskripsi
Fork
Memisahkan kegiatan menjadi dua atau lebih aktivitas bersamaan. Kegiatan bersamaan dapat dilakukan pada komputer dengan menggunakan alur yang berbeda atau bahkan menggunakan komputer yang berbeda. (Roger S. Pressman, 2010:853) Status akhir Status akhir yang dilakukan sistem, sebuah diagram aktivitas memiliki sebuah status akhir. Swimlane Memisahkan organisasi bisnis yang bertanggung jawab terhadap aktivitas yang terjadi.
Activty diagram banyak digunakan untuk mendefinisikan hal-hal berikut:
1) Rancangan proses bisnis dimana setiap urutan aktivitas yang digambarkan merupakan proses bisnis sistem yang didefinisikan.
2) Urutan atau pengelompokan tampilan dari sitem/user interface dimana setiap aktivitas dianggap memilki sebuah rancangan antarmuka tampilan.
3) Rancangan pengujian dimana setiap aktivitas dianggap memerlukan sebuah pengujian yang perlu didefinisikan kasus ujinya.
Gambar 2. 3 Activity diagram with swimlanes added (Roger S. Pressman, 2010:855)
2.2.3. Class Diagram
Class diagram atau diagram kelas menggambarkan struktur sistem dari segi pendefinisian kelas-kelas yang akan dibuat untuk membangun sistem. Kelas memiliki apa yang disebut atribut dan metode atau operasi. Atribut merupakan variabel-variabel yang dimiliki oleh suatu kelas. Sedangkan operasi atau metode adalah fungsi-fungsi yang dimiliki suatu kelas. (Rosa dan Shalahuddin, 2014:142).
Class diagram sangat mirip dengan Entitiy Relationship Diagram (ERD), class diagram menggambarkan sebuah kelas, yang mencakup atribut, perilaku, dan status, sementara ERD hanya mencakup atribut. Ruang lingkup class diagram sama seperti ERD yaitu keseluruhan sistem. Class diagram merupakan model statis yang mendukung static view pada pengembangan sistem. Class diagram menampilkan kelas-kelas dan relasi yang
terdapat pada sebuah sistem dalam waktu ke waktu secara konstan (Alan Dennis, 2012:522).
Tabel 2. 5 Class Diagram Syntax (Alan Dennis, 2012:524)
Term and definition Symbol A class Represents a kind of person, place, or thing about which the system must capture and store information. Has a name typed in bold and centered in its top compartment.
Has a list of attributes in its middle compartment.
Has a list of operations in its bottom compartment.
Does not explicitly show operations that are available to all classes.
An attribute
Represents properties that describe the state of an object.
Can be derived from other attributes, shown by placing a slash before the attribute’s name. A method Represents the actions or functions that a class can perform. Can be classified as a constructor, query, or update operation.
Includes parentheses that may contain special parameters or information needed to perform the operation.
Tabel 2. 6 (Lanjutan) Class Diagram Syntax (Alan Dennis, 2012:524)
Term and definition Symbol
An association
Represents a relationship between multiple classes, or a class and itself. Is labeled by a verb phrase or a role name,
whichever better represents the relationship.
Can exist between one or more classes. Contains multiplicity symbols, which
represent the minimum and maximum times a class instance can be associated with the related class instance.
Gambar 2. 4 Contoh Class Diagram for Holiday Travel Vehicles (Alan Dennis, 2012:549)
2.2.4. Squence Diagram
Sequence diagram menggambarkan kelakuan objek pada use case dengan mendeskripsikan waktu hidup objek dan pesan yang dikirimkan dan diterima antar objek. Oleh karena itu untuk menggambarkan diagram sekuen maka harus diketahui objek-objek
yang terlibat dalam sebuah use case beserta metode-metode yang dimiliki kelas yang diintansiasi menjadi objek itu (Rosa dan Shalahuddin, 2014:165).
Menurut Alan Dennis, (Alan Dennis, 2012:530). Sequence diagram merupakan model dinamis yang mendukung dynamic view untuk pengembangan sistem. Sequence diagram menunjukan secara eksplisit urutan yang dilewati antar objek dalam suatu interaksi yang didefinisikan. Sequence diagram menggambarkan objek-objek yang berperan serta dalam use case dan pesan-pesan yang dilewati oleh objek dari waktu ke waktu untuk sebuah use case.
Tabel 2. 7 Sequence Diagram Syntax (Alan Dennis, 2012:532)
Term and definition Symbol
An actor:
Is a person or system that derives benefit from and is external to the system. Participates in a sequence by sending
and/or receiving messages.
Is placed across the top of the diagram.
An object:
Participates in a sequence by sending and/or receiving messages.
Is placed across the top of the diagram.
A lifeline:
Denotes the life of an object during a sequence.
Contains an X at the point at which the class no longer interacts.
A focus of control:
Is a long narrow rectangle placed atop a lifeline.
Denotes when an object is sending or receiving messages.
A message:
Conveys information from one object to another one.
Object destruction:
An X is placed at the end of an object’s lifeline to show that it is going out of existence.
Gambar 2. 5 Contoh Sequence Diagram (Alan Dennis, 2012:557)
2.3. Manajemen Kualitas
Istilah kualitas dipakai untuk mengukur karakteristik dari suatu produk atau pelayanan jasa yang diterima konsumen. Konsumen dapat menentukan apakah suatu produk berkualitas atau tidak berkualitas dengan mengukur secara relatif kebaikan dari produk itu. Istilah kualitas memiliki banyak definisi, interpretasi dan penggunaan yang cukup sulit untuk dipahami. Berdasarkan istilah, kualitas identik dan selalu terkait dengan istilah manajemen kualitas, dimana istilah manajemen kualitas berarti mempelajari manajemen operasi dari perencanaan lini produk dan fasilitas hingga penjadwalan produk atau jasa sampai memonitor hasil produk atau jasa.
2.3.1. Pengertian Kualitas
Dalam arti linguistik, kualitas atau quality berasal dari kata Latin ‘qualis’ yang berarti ‘such as the thing really is’. Sedangkan definisi kualitas di dunia internasional yaitu: ‘the degree to which a set of inherent characteristics fulfils requirements’ (ISO 9001 2015). Namun, dalam dunia bisnis saat ini tidak ada definisi tunggal mengenai kualitas yang diakui. Terlepas dari konteks apapun yang digunakan, kualitas biasanya dimaksudkan untuk membedakan satu organisasi, event, produk, layanan, proses, orang, hasil, tindakan, atau komunikasi dari yang lain.(
Dale, Barrie G., dkk
, 2016:5)2.3.2. Quality Control dan Quality Inspection
Quality Control adalah proses mengukur hasil atau output apakah sesuai standar dan mengambil tindakan perbaikan ketika output tidak memenuhi standar (William J. Stevenson, 2015:411). Jika hasilnya diterima, tidak ada tindakan lebih lanjut yang diperlukan. Namun jika hasilnya tidak dapat diterima, akan dilakukan tindakan perbaikan.
Inspeksi adalah kegiatan penilaian yang membandingkan barang atau jasa sesuai standar. Sedangkan Quality Inspection adalah bagian dari organisasi yang khusus melakukan inspeksi atau pemeriksaan terhadap kualitas barang atau jasa yang dihasilkan. Inspeksi merupakan aspek penting tetapi sering tidak dihargai sebagai bagian dari manajemen pengendalian kualitas. Pada dasarnya perusahaan yang menerapkan lean manufacuring, memang tidak memerlukan adanya inspeksi kualitas karena jaminan kualitas produk atau jasa menjadi tanggung jawab setiap lini produksi atau organisasi. Namun demikian inspeksi kualitas tidak bisa sepenuhnya dihilangkan.
Inspeksi dapat terjadi di tiga titik: sebelum produksi, selama produksi, dan setelah produksi. Pemeriksaan kesesuaian sebelum produksi bertujuan untuk memastikan bahwa input atau material produksi(untuk produk manufaktur) diterima. Sedangkan pemeriksaan kesesuaian selama produksi bertujuan untuk memastikan bahwa konversi input menjadi output dilakukan dengan cara yang dapat diterima. Dan pemeriksaan kesesuaian output dilakukan untuk verifikasi akhir dari kesesuaian sebelum barang diteruskan ke pelanggan. Pemeriksaan sebelum dan setelah produksi sering melibatkan acceptance sampling procedures, pemantauan selama proses produksi ini disebut sebagai process control. (William J. Stevenson, 2015:412)
2.3.3. Alat Pengendalian Kualitas
Ada sejumlah alat yang dapat digunakan untuk pengendalian kualitas. Namun hanya delapan alat yang sering digunakan dan tujuh diantaranya merupakan seven basic quality tools. Alat bantuan ini digunakan untuk mengumpulkan data, interpretasi, dan memberikan dasar untuk pengambilan keputusan. (William J. Stevenson, 2015:392-397)
1. Flowchart
Flowchart merupakan representasi visual dari sebuah proses. Sebagai alat pemecahan masalah, flowchart dapat membantu peneliti dalam mengidentifikasi kemungkinan titik dalam proses dimana terjadi masalah. Pada contoh di bawah menggambarkan flowchart untuk pesanan telepon katalog di mana titik potensi kegagalan yang disorot.
Gambar 2. 6 Flowchart Proses (William J. Stevenson, 2015:393)
Bentuk berlian di flowchart mewakili poin keputusan dalam proses, dan bentuk persegi panjang mewakili prosedur. Panah menunjukkan arah ”flow” dari langkah-langkah dalam proses. Untuk membangun sebuah flowchart sederhana, mulai dengan daftar langkah-langkah dalam proses. Kemudian mengklasifikasikan setiap langkah baik sebagai prosedur atau keputusan (atau check) titik.
2. Checksheets
Checksheet adalah alat sederhana yang sering digunakan untuk identifikasi masalah. Checksheet menyediakan format yang memungkinkan pengguna untuk merekam dan mengatur data dalam cara yang memfasilitasi pengumpulan dan analisis. Format ini mungkin menjadi salah satu metode sederhana. Checksheet dirancang atas dasar apa yang pengguna coba pelajari dengan mengumpulkan data.
Gambar 2. 7 Contoh Penggunaan Checksheet (William J. Stevenson, 2015:394)
Gambar 2. 8 Contoh Special Checksheet (William J. Stevenson, 2015:394)
Format dan jenis yang digunakan untuk checksheet ada bermacam-macam. Salah satu bentuk yang sering digunakan yaitu checksheet dengan jenis defect atau cacat, dan yang lainnya checksheet dengan lokasi cacat.
3. Histogram
Histogram dapat berguna dalam merasakan distribusi nilai-nilai yang dapat diamati. Antara lain, orang dapat melihat bahwa distribusi atau persebaran data sama rata, pada rentang nilai tertentu, dan jika ada nilai-nilai yang tidak biasa.
4. Pareto Analysis
Analisis Pareto adalah teknik untuk memfokuskan perhatian pada yang paling penting masalah daerah. Konsep Pareto, dinamai pada abad ke-19 sesuai penemunya, yaitu ekonom Italia Vilfredo Pareto. Konsep Pareto menyatakan bahwa hanya ada relatif sedikit faktor yang berpengaruh dari total kasus (misalnya, keluhan, cacat, masalah). Idenya adalah untuk mengklasifikasikan kasus sesuai dengan tingkat kepentingan dan fokus pada penyelesaian yang paling pentingn dan mengesampingkan yang kurang penting.
Gambar 2. 9 Contoh Pareto Diagram (William J. Stevenson, 2015:395)
Konsep Pareto sering juga disebut sebagai aturan 80-20, Pareto menyatakan konsep bahwa sekitar 80 persen dari masalah datang dari 20 persen dari masalah. Misalnya, 80 persen dari kerusakan mesin berasal dari 20 persen dari mesin, dan 80 persen dari cacat produk berasal dari 20 persen penyebab cacat.
5. Scatter Diagrams
Scatter Diagram atau diagram pencar dapat berguna dalam memutuskan apakah ada korelasi antara nilai-nilai dua variabel. Sebuah korelasi dapat menunjukkan penyebab masalah.
6. Control Charts
Control chart dapat digunakan untuk memantau proses untuk melihat apakah hasil proses acak beraturan atau tidak. Ini dapat membantu mendeteksi variasi penyebab masalah dan perbaikan yang mungkin bisa dilakukan. Control chart juga dapat menunjukkan bila terjadi masalah dan memberikan informasi mengenai apa yang menyebabkan masalah.
7. Cause-and-Effect Diagram
Diagram sebab-akibat menawarkan pendekatan terstruktur untuk mencari kemungkinan penyebab dari masalah. Diagram ini juga dikenal sebagai diagram tulang ikan (fishbone) karena bentuknya, atau diagram Ishikawa, setelah profesor Jepang yang mengembangkan pendekatan untuk membantu pekerja kewalahan dengan jumlah sumber-sumber masalah ketika memecahkan masalah. Alat ini membantu untuk mengatur upaya pemecahan masalah dengan mengidentifikasi kategori faktor yang mungkin menyebabkan masalah. Seringkali alat ini digunakan setelah sesi brainstorming untuk mengatur ide-ide yang dihasilkan.
Beberapa kesalahan mungkin mempunyai pengaruh yang lebih besar daripada yang lain, tergantung pada sifat dari kesalahan. Jika penyebabnya masih belum jelas, penyelidikan tambahan ke akar mungkin diperlukan, melibatkan analisis yang lebih mendalam. Seringkali, informasi lebih rinci dipapat dengan memberikan pertanyaan siapa, apa, di mana, kapan, mengapa, dan bagaimana ke sumber masalah.
Gambar 2. 10 Contoh Cause-and-Effect Diagram (William J. Stevenson, 2015:396)
8. Run Charts
Run chart dapat digunakan untuk melacak nilai-nilai variabel dari waktu ke waktu. Hal ini dapat membantu dalam mengidentifikasi tren atau pola lain yang mungkin terjadi. Manfaat penting dari run chart adalah kemudahan konstruksi dan kemudahan interpretasi.
2.3.4. Appearance
Secara bahasa appearance berarti tampilan. Appearance merupakan salah satu item atau poin penting yang menjadi perhatian khusus dalam menjaga kualitas dari produk yang dihasilkan. Termasuk produk yang dihasilkan oleh industri manufaktur otomotif. Selain appearance, item lain yang menjadi perhatian yaitu fitting dan function.
Untuk menjaga agar appearance suatu produk sesuai standar, biasanya dilakukan pengecekan baik secara visual maupun meraba permukaan atau area yang menjadi poin pengecekan. Guna menemukan cacat atau defect yang mungkin terjadi saat proses produksi dan dari bahan material. Cacat atau defect appearance yang mungkin ada cukup beragam, setidaknya ada 16 jenis defect (SOP/BODY1/XEVA-QW/P4/001).
Jenis – jenis defect appearance diantaranya : 1. Pecok (dent)
2. Benjol (bump) 3. Baret (metal scratch) 4. Gelombang (waving) 5. Pecah (crack) 6. Retak (retak) 7. Shockline 8. Spatter
9. Spot tajam (burry) 10. Spot bolong 11. Gram 12. Poor repair 13. Sealer over 14. Plat gompal 15. Plat tidak rata 16. Bolong plat
2.3.5. Feedback Sistem
Feedback Sistem merupakan suatu metode untuk menyampaikan komplain terkait masalah atau problem guna mendapatkan tanggapan dari pihak yang menjadi penanggungjawab masalah berupa tindak lanjut terhadap komplain tersebut.
2.4. HTML
HTML adalah dasar dari seluruh halaman web yang ada di Internet. HTML merupakan singkatan dari Hypertext Markup Language. Singkatan ini terdiri dari 3 komponen kata, yakni: Hypertext, Markup dan Language.
Kata Hypertext dari HTML menekankan pengertian: text yang lebih dari sekedar teks (‘hyper’-text). Maksudnya selain berfungsi sebagai teks biasa, sebuah teks di dalam HTML juga bisa berfungsi sebagai penghubung ke halaman lain atau dikenal dengan istilah link. Nantinya kita juga akan melihat bahwa tidak hanya teks saja yang bisa digunakan sebagai link, tetapi bisa berupa gambar. Link inilah yang menjadi inti dari HTML. Kata kedua dari singkatan HTML adalah Markup. Markup dapat diterjemahkan sebagai tanda atau penanda (bahasa inggris: mark). Di dalam HTML, kita akan menggunakan tanda-tanda khusus seperti <p>, <a>, atau <li>. Tanda ini diperlukan untuk mengatur format dan membuat struktur halaman web. Bagian terakhir dari HTML adalah Language. Istilah language jika diterjemahkan berarti: bahasa. Khusus bagi anda yang pernah berkenalan dengan bahasa pemrograman komputer, disini HTML tidak menggunakan ‘Programming Language’, tetapi hanya ‘Language’ saja.(Andre Pratama, 2015:1)
Gambar 2. 11 Struktur Dasar HTML (Andre Pratama, 2015:28)
HTML5 merupakan versi terbaru dari bahasa HTML yang telah disepakati oleh World Wide Web Consortium (W3C). HTML5 merupakan bagian yang lebih besar dari teknologi yang dikembangkan W3C yang disebut dengan istilah "open web platform", yang secara singkat berarti memungkinkan kita untuk membangun situs web dan aplikasi web yang dapat berjalan di perangkat manapun (Jonathan Fielding,2014:18).
2.5. CSS
CSS atau Cascading Style Sheet merupakan salah satu bahasa style web yang sekarang populer dipakai pada berbagai aplikasi web. CSS dibuat untuk membuat style pada web lebih bervariasi dan mudah digunakan (Komang Wiswakarma, 2011:2).
Jika halaman web diibaratkan sebuah bangunan, CSS adalah tampilan luar dari bangunan tersebut, seperti warna dinding atau warna atap. Kerangka dasarnya dibuat dari HTML. Dengan demikian, kita bisa dengan mudah menukar warna dinding bangunan tanpa perlu mengubah struktur dasarnya.
Terdapat 2 istilah penting yang perlu penjelasan tambahan, yakni: bahasa style sheet (style sheet language) dan bahasa markup (markup language). Istilah pertama: style sheet language adalah format bahasa khusus yang terdiri dari kumpulan kode untuk mengatur tampilan (style) dari sebuah dokumen. Sebagaimana yang akan kita lihat nanti dari sejarah CSS, pada awal perkembangannya terdapat berbagai variasi style sheet language yang bisa digunakan, dimana salah satunya adalah CSS. Istilah kedua, markup language merujuk kepada dokumen yang dibuat menggunakan “tanda” atau “mark”. Salah satu contoh dari markup language ini adalah HTML (Hypertext Markup Language). Walaupun begitu, CSS tidak hanya digunakan untuk HTML saja, tapi bisa untuk bahasa markup lain seperti XML (Extensible Markup Language) dan SVG (Scalable Vector Graphics).(Andre Pratama, 2015:1).
2.6. Javascript
JavaScript merupakan bahasa yang berbentuk kumpulan skrip yang berfungsi untuk memberikan tampilan yang tampak interaktif pada dokumen web (Wahana Komputer, 2010:2). Javascript tergolong bahasa pemrograman tingkat tinggi. Bahasa ini pertama kali dikembangkan oleh Brendan Eich dari Netscape pada tahun 1995, sebelumnya dikenal dengan nama LiveScript. Menurut Axel Rauschmayer dalam (Axel Rauschmayer, 2014:3), Brendan Eich menciptakan JavaScript dengan mengambil beberapa bagian bahasa pemrograman lain: Java(syntax, primitive values versus objects), Scheme dan AWK (first-class functions), Self (prototypal inheritance), Perl dan Python (strings, arrays, and regular expressions).
ECMAScript adalah nama resmi untuk JavaScript. Sebuah nama baru menjadi penting
karena adanya merek dagang Java (merek dagang milik Sun, sekarang Oracle). Pada saat ini, Mozilla adalah salah satu dari sedikit perusahaan yang diizinkan secara resmi untuk menggunakan nama JavaScript karena telah memiliki lisensi jauh sebelumnya. Untuk penggunaan umum, berlaku aturan berikut: ECMAScript adalah nama yang digunakan oleh spesifikasi bahasa. Oleh karena itu, setiap kali mengacu pada versi bahasa, orang mengatakan ECMAScript. Versi saat ini dari JavaScript adalah ECMAScript 5; ECMAScript 6 saat ini sedang dikembangkan (Axel Rauschmayer, 2014:3).
Untuk penggunaan yang lebih mudah, sekarang telah banyak dikembangkan library dan framework Javascript. Seperti jQuery, Angular JS, Ext JS, YUI dan lain-lain.
2.6.1. jQuery
jQuery merupakan salah satu library JavaScript yang terkenal dan banyak digunakan. Pertama kali dikembangkan pada tahun 2006 oleh John Resign. jQuery bisa digunakan secara gratis dan bebas di bawah lisensi MIT. Pada dasarnya jQuery merupakan library untuk memanipulasi DOM(Document Object Model). DOM merupakan struktur-pohon representasi dari semua elemen yang terdapat dalam sebuah halaman Web, dan jQuery menyederhanakan sintaks untuk mencari, menyeleksi, dan memanipulasi elemen-elemen DOM tersebut.
2.7. Bootstrap
Bootstrap merupakan framework ataupun tools untuk membuat aplikasi web ataupun situs web responsif secara cepat, mudah dan gratis. Bootstrap terdiri dari CSS dan HTML untuk menghasilkan menghasilkan Grid, Layout, Typography, Table, Form, Navigation, dan lain-lain. Di dalam Bootstrap juga sudah terdapat jQuery plugin untuk menghasilkan komponen UI yang cantik seperti Transitions, Modal, Dropdown, Scrollspy, Tooltip, Tab, Popover, Alert, Button, Carousel dan lain-lain.(Husein Alatas, 2013:2)
Bootstrap diciptakan oleh dua orang programmer di Twitter, yaitu Mark Otto dan Jacob Thornton pada tahun 2011. Pada saat itu para programmer di Twitter menggunakan berbagai macam tool dan library yang mereka kenal dan suka untuk melaksanakan pekerjaan mereka, sehinggat tidak ada standarisasi dan akibatnya sulit untuk dikelola, sehingga Mark Otto dan Jacob Thornton tergerak untuk menciptakan satu tool ataupun framework yang dapat digunakan bersama di lingkungan internal Twitter. Oleh karena faktor historis tersebut, walaupun nama resminya hanyalah Bootstrap, namun terkenal di kalangan developer sebagai Twitter Bootstrap.
2.8. XAMPP
XAMPP adalah salah satu aplikasi yang dikenal sebagai AMP Stack. AMP merupakan singkatan dari Apache Web Server, MySQL Database Server, dan PHP. Dalam pengembangan web, ketiga aplikasi ini sangat populer digunakan. Nama aplikasi XAMPP terdiri dari paket yang ada di dalamnya. X (berarti cross-platform, maksudnya tersedia dalam berbagai sistem operasi), Apache Web Server, MySQL Database Server, PHP dan
Perl. Selain aplikasi ini, XAMPP juga menyertakan aplikasi pelengkap seperti phpMyAdmin, File Zilla FTP Server, Mercury Mail Server. Jika AMP Stack dijalankan di sistem operasi Windows, namanya menjadi WAMP (Windows-Apache-MySQL-PHP). Jika dijalankan di OS Linux, menjadi LAMP (Linux-Apache-MySQLPHP). Untuk Mac OS dikenal sebagai MAMP (Mac-Apache-MySQL-PHP) (Andre Pratama, 2015:18).
Gambar 2. 12 Tampilan Halaman localhost XAMPP (Andre Pratama, 2015:25)
Mulai dari versi 5.5.30 ke atas, XAMPP tidak lagi menggunakan MySQL, tetapi
digantikan dengan MariaBD. Kebijakan ini diambil oleh Apache Friends selaku
pengembang XAMPP dengan berbagai pertimbangan.
2.8.1. Apache
Apache (Server HTTP Apache atau Server Web/WWW Apache) adalah server web yang dapat dijalankan di banyak sistem operasi (Unix, BSD, Linux, Microsoft Windows dan Novell Netware serta platform lainnya) yang berguna untuk melayani dan memfungsikan situs web. Protokol yang digunakan untuk melayani fasilitas web/www ini menggunakan HTTP. Apache bisa digunakan untuk membuat server web pribadi yang bisa dijalankan pada personal komputer.
2.8.2. MySQL
MySQL adalah sebuah perangkat lunak sistem manajemen basis data SQL (bahasa Inggris: database management system) atau DBMS yang multithread, multi-user, dengan sekitar 6 juta instalasi di seluruh dunia. MySQL AB membuat MySQL tersedia sebagai perangkat lunak gratis di bawah lisensi GNU General Public License (GPL), tetapi mereka juga menjual dibawah lisensi komersial untuk kasus-kasus dimana penggunaannya tidak cocok dengan penggunaan GPL.
Tidak seperti PHP atau Apache yang merupakan software yang dikembangkan oleh komunitas umum, dan hak cipta untuk kode sumber dimiliki oleh penulisnya masing-masing, MySQL dimiliki dan disponsori oleh sebuah perusahaan komersial Swedia yaitu MySQL AB. MySQL AB memegang penuh hak cipta hampir atas semua kode sumbernya. Kedua orang Swedia dan satu orang Finlandia yang mendirikan MySQL AB adalah: David Axmark, Allan Larsson, dan Michael "Monty" Widenius (Achmad Solichin, 2010:10).
2.9. PHP
PHP pertama kali ditemukan pada 1995 oleh seorang Software Developer bernama Rasmus Lerdrof. Ide awal PHP adalah ketika itu Radmus ingin mengetahui jumlah pengunjung yang membaca resume online-nya. Script yang dikembangkan baru dapat melakukan dua pekerjaan, yakni merekam informasi pengunjung, dan menampilkan jumlah pengunjung dari suatu website. Dan sampai sekarang kedua tugas tersebut masih tetap populer digunakan oleh dunia web saat ini. Kemudian, dari situ banyak orang di milis mendiskusikan script buatan Rasmus Lerdrof, hingga akhirnya rasmus mulai membuat sebuah tool/script, bernama Personal Home Page (PHP).
Kebutuhan PHP sebagai tool yang serba guna membuat Lerdorf melanjutkan untuk mengembangkan PHP hingga menjadi suatu bahasa tersendiri yang mungkin dapat mengkonversikan data yang di inputkan melalui form HTML menjadi suatu variabel, yang dapat dimanfaatkan oleh sistem lainnya. Untuk merealisasikannya, akhirnya Lerdrof mencoba mengembangkan PHP menggunakan bahasa C ketimbang menggunakan Perl. Tahun 1997, PHP versi 2.0 di rilis, dengan nama Personal Home Page Form Interpreter (PHP-FI). PHP semakin popular, dan semakin diminati oleh programmer web dunia. Rasmus Lerdrof benar-benar menjadikan PHP sangat populer, dan banyak sekali tim pengembang yang ikut bergabung dengan Lerdrof untuk mengembangkan PHP hingga menjadi seperti sekarang, Hingga akhirnya dirilis versi ke 3-nya, pada Juni 1998, dan tercatat lebih dari 50.000 programmer menggunakan PHP dalam membuat website dinamis.
Pengembangan terus berlanjut, ratusan fungsi ditambahkan sebagai fitur dari bahasa PHP, dan di awal tahun 1999, Netcraft mencatat, ditemukan 1.000.000 situs di dunia telah menggunakan PHP. Ini membuktikan bahwa PHP merupakan bahasa yang paling populer digunakan oleh dunia web development. Hal ini mengagetkan para pengembannya termasuk Rasmus sendiri, dan tentunya sangat diluar dugaan sang pembuatnya. Kemudian Zeev Suraski dan Andi Gutsman selaku core developer (programmer inti) mencoba untuk menulis ulang PHP Parser, dan diintegrasikan dengan menggunakan Zend scripting
engine, dan mengubah jalan alur operasi PHP. Dan semua fitur baru tersebut di rilis dalam PHP 4.
Pada 13 Juli 2004, evolusi PHP, PHP telah mengalami banyak sekali perbaikan disegala sisi, dan wajar jika Netcraft mengumumkan PHP sebagai bahasa web populer didunia, karena tercatat 19 juta domain telah menggunakan PHP sebagai server side scriptingnya. PHP saat ini telah Mendukung XML dan Web Services, Mendukung SQ. Tercatat lebih dari 19 juta domain telah menggunakan PHP sebagai server scripting-nya (Dwiarta Loka, 2010:10).
2.10. Navicat
Navicat adalah sebuah alat dengan graphical user interfaces (GUI) yang dapat digunakan untuk mengelola setiap aspek pada MySQL Server. Navicat tidak hanya handal, canggih dan mudah digunakan dalam mengelola database dengan GUI, tetapi juga asisten yang sangat berguna bagi pengembang yang bekerja pada aplikasi database-driven. Navicat tersedia untuk Windows, Mac, dan Linux.
Navicat Premium merupakan produk unggulan pada keluarga Navicat. Alat lengkap untuk administrasi dan migrasi basis data yang menggabungkan semua versi Navicat sehingga memungkinkan pengguna untuk terhubung ke MySQL, SQL Server, SQLite, Oracle, dan PostgreSQL database secara bersamaan dalam satu aplikasi, membuat administrasi beberapa merek database secara substansial lebih mudah. (Gökhan Ozar, 2012:7).
2.11. Sublime Text
Sublime text adalah teks editor berbasis Python, sebuah teks editor yang elegan, kaya fitur, cross platform, mudah dan simpel yang cukup terkenal di kalangan pengembang, penulis dan desainer. Para programmer biasanya menggunakan sublime text untuk menyunting source code yang sedang ia kerjakan. Sampai saat ini sublime text sudah mencapai versi 3 (Miftah Faridl, 2015:4).
Fitur unggulan dari Sublime text 3 diantaranya yaitu: Multiple Selection, Command Pallete, Distraction Free Mode, Find in project, Plugin API Switch, Drag and Drop, Split Editing, dan Multi Platform.