20
BAB II LANDASAN TEORI 2.1 Sistem Informasi Sistem informasi adalah sekumpulan elemen/komponen yang saling berhubungan dimana didalamnya terdapat proses mengumpulkan (input), memanipulasi (proses), menyimpan (store), dan menyebarkan (output) data dan informasi, serta mampu menyediakan reaksi korektif (feedback mechanism) terhadap sistem itu sendiri (Stair & Reynolds 2016). Sistem informasi memiliki beberapa komponen pembentuk yaitu : a. input, melibatkan aktifitas yang berhubungan dengan pengumpulan data mentah. b. Processing, berkaitan dengan proses konfersi atau transformasi data menjadi output yang berguna. c. Output, berkaitan dengan hasil pemrosesan data mentah menjadi informasi yang berguna, biasanya dalam bentuk dokumen – dokumen dan laporan – laporan. d. Feedback, informasi dari sistem yang nantinya akan digunakan sebagai dasar untuk melakukan perubahan input atau aktifitas proses di sistem. e. Forecasting, memprediksi kejadian – kejadian di masa yang akan datang untuk menghindari permasalahan – permasalahan yang mungkin akan terjadi.
Gambar 2.1 Diagram Sistem Informasi
2.2 Rekayasa Perangkat Lunak Perangkat lunak atau software berbeda dengan program komputer.Software tidak hanya mencakup program, melainkan juga semua dokumentasi dan konfigurasi data yang berhubungan, yang dibutuhkan untuk membuat program dapat beroperasi dengan benar. Perangkat lunak merupakan instruksi-instruksi yang jika dijalankan akan menyediakan fungsi yang diperlukan, struktur data yang memungkinkan program untuk memanipulasi informasi, dokumen yang menyatakan operasi dan kegunaan program (Roger S. Pressman, 2010). Sistem perangkat lunak terdiri dari:
http://digilib.mercubuana.ac.id/
21 a. Sejumlah program yang terpisah b. File-file konfigurasi c. Dokumentasi sistem d. Dokumentasi user Dari beberapa definisi tersebut dapat dilihat bahwa pemeliharaan untuk rekayasa perangkat lunak sangatlah penting.Definisi ini menganggap bahwa pendekatan yang digunakan harus sistematis, disiplin, dan terukur bukan hanya didasarkan pada ilmu komputer dan matematika.Selain itu juga mencakup study dalam rekayasa perangkat lunak, yaitu studi dan mencari metode, teknik, alat, dan lain sebagainya. Penelitian terhadap rekayasa perangkat lunak sangat penting karena produksi perangkat lunas sulit, jauh lebih sulit daripada perkiraan banyak orang. Menurut (Roger S. Pressman, 2010) rekayasa perangkat lunak dikelompokkan dalam beberapa lapisan atau layers, antara lain:
Gambar 2.2 Software engineering layers (Roger S. Pressman, 2010) Landasan paling dasar yang mendukung rekayasa perangkat lunak adalah fokus kepada kualitas atau quality focus. Yang menjadi pondasi suatu rekayasa perangkat lunak adalah lapisan proses. Proses merupakan perekat yang memegang lapisan teknologi bersama dan memungkinkan pengembangan rasional dan tepat waktu bagi perangkat lunak komputer. Proses mendefiniskan kerangka kerja untuk satu set area proses kunci atau key process areas (KPAs) yang harus dibentuk untuk pengiriman efektif teknologi rekayasa perangkat lunak. Area proses kunci membentuk dasar bagi kontrol manajemen proyek piranti lunak dan menetapkan konteks dimana metode teknis yang diterapkan, pekerjaan produk (model, dokumen, data, laporan, formulir, dan lain sebaginya) diproduksi, kualitas dijamin, tonggak ditetapkan, dan perubahan dikelola dengan baik. Metode rekayasa perangkat lunak menyediakan teknis bagaimana membangun perangkat lunak.Metode tersebut mencakup tugas-tugas analis seperti kebutuhan, desain, konstruksi program, pengujian, dan metode rekayasa support. Perangkat lunak bergantung pada sekumpulan prinsip dasar yang mengatur setiap area teknologi dan termasuk aktifitas modelling dan teknik deskriptif lainnya. Alat rekayasa perangkat lunak memberikan dukungan otomatis atau semi-otomatis untuk proses dan alat methods. Ketika alat yang digunakan terintegrasi maka informasi yang dibuat oleh satu alat,
http://digilib.mercubuana.ac.id/
22 dapat digunakan oleh yang lain. Kasus menggabungkan software, hardware, dan rekayasa perangkat lunak database (repositori berisi informasi penting tentang analisis, desain, konstruksi program, dan pengujian) untuk menciptakan sebuah lingkungan piranti lunak rekayasa analog dengan CAD (Computer Aided Design) atau CAE (Computer Aided Engineering) untuk hardware. (Roger S. Pressman, 2010). 2.3 Metode PIECES Metode yang digunakan untuk membangun sistem ini adalah metode analisis PIECES (Performance, Information, Economy, Control, Efficiency dan Services. Adapun yang dilakukan pada analisis PIECES ini ada beberapa tahapan, yaitu Analisis Performance, Analisis Information, Analisis Economy, Analisis Control, Analisis Eficiency, dan Analisis Services. a. Analisis Performance Masalah kinerja terjadi terjadi ketika tugas-tugas bisnis yang dijalankan tidak mencapai sasaran.kinerja diukur dengan jumlah produksi dan waktu tanggap. Jumlah adalah jumlah pekerjaan yang bisa diselesaikan selama jangka waktu tertentu. b. Analisis Information Evaluasi terhadap kemampuan sistem dalam menghasilkan informasi yang bermanfaat perlu dilakukan untuk menyikapi peluang dan menangani masalah yang muncul. Analisis informasi ini memeriksa output sistem data yang tersimpan dalam sebuah sistem permasalahan yang dihadapi meliputi
Data berlebihan dimana data yang selama ini ditangkap atau disimpan dibanyak tempat
Kekakuan data dimana data ditangkap atau disimpan tetapi tidak diorganisasikan sedemikian rupa sehingga laporan dan pengujian tidak dapat atau sulit dilakukan.
c. Analisis Economy Persoalan ekonomis dan peluang berkaitan dengan biaya dan keuntungan. d. Analisis Control Control dipasang untuk meningkatkan kinerja sistem, menjamin keamanan data dan informasi. e. Analisis Eficiency Efisiensi menyangkut bagaimana menghasilkan output sebanyak-banyaknya dengan input yang sekecil mungkin
http://digilib.mercubuana.ac.id/
23 f.
Analisis Services Berikut adalah beberapa kriteria penilaian dimana kualitas suatu sistem dikatakan buruk:
Sistem menghasilkan produk yang tidak akurat
Sistem menghasilkan produk yang tidak konsisten
Sistem menghasilkan produk yang tidak dapat dipercaya
Sistem tidak mudah dipelajari
Sistem tidak mudah digunakan
Sistem canggung untuk digunakan
2.4 MetodeWaterfall Dalam pembuatan suatu aplikasi terdapat beberapa model proses, salah satu dari model proses yang digunakan adalah Waterfall Model. Menurut [Pressman, 2010] model waterfall adalah model klasik yang bersifat sistematis, berurutan dalam membangun perangkat lunak. Dalam tahapan proses pada waterfall model menurut Pressman terdapat 5 Tahapan, yaitu: 1. Communication (Project Initiation, Requirements Gathering) Pada tahap awal ini sebelum memulai pekerjaan teknis, diperlukan komunikasi terlebih dahulu untuk memahami dan mencapai tujuan yang hendak dicapai. Pada tahapan ini mencakup tahapan Project Initiation seperti analisa permasalahaan yang ada serta tujuan yang diinginkan, dan requirement gathering yaitu mengumpulkan data-data yang akan dibutuhkan. 2. Planning (Estimating, Scheduling, Tracking) Pada tahapan ini adalah tahap perencanaan untuk melakukan estimasi mengenai kebutuhan yang diperlukan dalam pembuatan sistem, penjadwalan, dan tracking proses pengerjaan sistem. 3. Modeling (Analysis, Design) Tahap ini merupakan tahap perancangan dan pemodelan arsitektur sistem dengan tujuan menerjemahkan kebutuhan elemen sistem ke dalam sebuah model-model diagram. 4. Construction (Code, Test) Pada tahapan ini merupakan tahap pengkodean sesuai dengan rancangan aplikasi yang telah dibuat.Setelah pengkodean selesai maka selanjutnya dilakukan testing terhadap sistem yang telah dibuat untuk menemukan kesalahan-kesalahan pada sistem tersebut kemudian dapat diperbaiki. 5. Deployment (Delivery, Support, Feedback)
http://digilib.mercubuana.ac.id/
24 Pada tahap Deployment sistem yang telah dibuat diimplementasikan oleh user.Selain implementasi, pada tahap ini juga mencakup tahap pemeliharaan, perbaikan, evaluasi dan pengembangan agar sistem dapat berjalan dengan baik dan dapat berkembang sesuai dengan fungsinya.
Gambar 2.3 Model Waterfall Pressman (Pressman, 2010) 2.5 Metode Software Testing Black Box Pengujian Black Box kadang disebut behavioral testing yaitu pengujian yang berfokus pada pengetesan kebutuhan fungsional perangkat lunak.Kasus uji yang digunakan metode Black Boxyaitu : [Pressman, 2010] 1. Pengecekan fungsi – fungsi yang tidak tepat atau hilang. 2. Pengecekan kesalahan antar muka. 3. Pengecekan kesalahan pada struktur data atau akses ke basis data eksternal. 4. Pengecekan kesalahan proses inisialisasi dan proses terminasi. 2.6 Teori Umum 2.6.1 Pengertian Produksi dan Efisiensi Produksi adalah setiap kegiatan atau usaha manusia untuk membuat dan mengolah barang atau jasa dagangan untuk mempertinggi kuantitas manusia dan kuantitas suatu barang atau jasa untuk memenuhi kebutuhan manusia (Ms. Encarta Library 2005).Banyak faktor yang sangat berperan dalam memperoleh kuantitas dan kualitas produksi yang baik, dimana yang menjadi faktor utamanya adalah sumber manuasia, sumber daya alam dan sumber daya keuangan yang baik. Efisiensi di dalam ilmu fisika dan teknik adalah perbandingan jumlah (barang / jasa) yang diproduksi (nyata) oleh suatu mesin dengan jumlah (barang / jasa) yang direncananakan (target). Efisiensi pada umumnya dinyatakan sebagai persentase, dan tidak ada mesin dapat bekerja dengan efisiensi 100 persen (Ms. Encarta Library 2005).Quality Control adalah suatu kegiatan meneliti, mengembangkan, merancang dan memenuhi kepuasan konsumen, memberi pelayanan yang baik dimana pelaksananya melibatkan seluruh kegiatan dalam perusahaan mulai dari pimpinan teratas sampai karyawan pelaksana.
http://digilib.mercubuana.ac.id/
25 2.6.2 Pengertian dan Sejarah Quality Control Quality Control adalah suatu sistem yang efektif untuk mengintegrasikan kegiatan – kegiatan pemeliharaan dan pengambangan mutu dalam suatu organisasi sehingga dapat diperoleh produksi dan servis dalam tingkat yang paling ekonomis dan memuaskan konsumen (Feightboum). Quality Control adalah aktivitas memelihara dan memperbaiki produk dan service yang ditawarkan kepada perusahaan, quality control bukan hanya menjadi tanggung jawab begian quality control saja, tetapi seluruh karyawan atau pihak menjadi satu kesatuan memecahkan masalah ini. Sejarah Quality Control setelah Perang Dunia II ( 1939-1945) pada saat kekalahan Jepang atas Amerika : 1. Tahun 1945, Jepang mengalami kekelahan perang dengan Amerika. Penyebabnya adalah Amerika negara yang besar dan mempunyai kemampuan yang lebih dibandingkan dengan Jepang, demikian juga untuk kualitas peralatan perangnya, amerika menghasilkan peralatan yang kualitasnya baik. 2 Deming, W. Edwards ( 1900-1993), orang statistik dan tenaga ahli manajemen berkwalitas yang bertindak sebagai seorang guru, penasehat, dan konsultan bagi sejumlah korporasi penting, para pemimpin bisnis, dan tenaga ahli pengendalian mutu. Deming revitalize dibantu ekonom Jepang yang mengikuti Perang Dunia II ( 1939-1945) dan mengadakan revolusi praktek bisnis dari banyak perusahaan di (dalam) Amerika Serikat sepanjang 1980. 3. Tahun 1950, Pada perang Amerika dengan Korea Utara, Jepang menjadi basis militer Amerika terutama untuk memperbaiki peralatan tempur Amerika, disinilah awalnya Jepang kemudian belajar mengenai Quality Control. 4. Tahun 1954, E. Deming ( Seorang Ilmuan dari Amerika ) diundang datang ke Jepang untuk memberi kuliah mengenai Quality Control. 5. Tahun 1960, Jepang mulai mengadopsi dan menerapkan Quality Control pada industri – industrinya. 2.6.3 Tujuan Quality Control Tujuan quality control adalah agar tidak terjadi barang yang tidak sesuai dengan standar mutu yang diinginkan (second quality) terus-menerus dan bisa mengendalikan, menyeleksi, menilai kualitas, sehingga konsumen merasa puas dan perusahaan tidak rugi. Tujuan Pengusaha menjalankan QC adalah untuk menperoleh keuntungan dengan cara yang fleksibel dan untuk menjamin agar pelanggan merasa puas, investasi bisa kembali, serta perusahaan mendapat keuntungan untuk jangka panjang. Bagian pemasaran dan bagian produksi tidak perlu melaksanakan, tetapi perlu kelancaran dengan memanfaatkan data, penelitian dan testing dengan analisa statistik dari bagian QC yang disampaikan kepada pihak produksi untuk mengetahui bagaimana hasil kerjanya sebagai langkah untuk perbaikan. Saat
http://digilib.mercubuana.ac.id/
26 pelaksanaan pengujian QC dan testing bila ditemukan beberapa masalah khusus, perlu dibuat suatu study agar dapat digunakan untuk mengatasi masalah di bagian produksi tersebut. Quality Control berarti memenuhi keinginan costumer terhadap produk dan service, maka tujuan quality control berdasarkan pengertian tersebut adalah : 1. Quality adalah Kualitas produk dan kegiatan (aktifitas kerja), Meliputi aspek kesesuaian, keindahan, kenyamanan dipakai dsb, yaitu aspek-aspek fisik dari produk. 2. Cost adalah Biaya, produk yang dihasilkan memberikan harga yang bersaing (Competitive price) 3. Delivery adalah Penyampaian ( ketepatan dan cara), penyerahan barang terkait dengan pengaturan untuk menghasilkan jumlah produk yang tepat waktu pengiriman, sehingga dapat tepat waktu diterima oleh customer. 4. Safety adalah Keselamatan 5. Environment adalah Ramah Lingkungan Membuat keseimbangan antara quality dan cost. Kualitas dicapai secara ekonomis dan efisien hanya bila tiap proses dapat memberi jaminan kualitas pekerjaannya pada proses – proses berikutnya. Aktivitas QC circle ( berkesinambungan ), operasional ZD ( Zero Defect ). 2.6.4 Prinsip Dasar Quality Control Qualitas adalah memenuhi keinginan sesuai yang diharapkan oleh pelanggan, yaitu dengan memberikan barang serta service yang memuaskan. Quality control adalah dari Top Managemen sampai dengan seluruh karyawan benar – benar merasakan dan menyadari bahwa Quality adalah jiwa dari perusahaan. Langkah – langkah yang dilakukan dalam Quality Control adalah Plan – Do – Action ( Deming Circle ). 2.6.5 Langkah-langkah dalam Quality Control Berikut adalah langkah-langkah yang dilakukan dalam quality control : 1. Langkah pertama dalam quality control adalah benar – benar mengerti dan memahami keadaan ( kelemahan maupun kelebihan ) yang ada pada diri sendiri. 2. Selanjutnya adalah mampu mengurangi kesalahan pada diri sendiri. 3. Setelah menemukan penyebab masalahnya, ambil penyebab nomor 1 dan 2 , buang penyebab nomor 3,4, dan seterusnya. 4. Jangan hanya melihat hasilnya tetapi check satu – persatu prosesnya. 5. Check dan yakinkan fakta yang ada di lapangan, dengan produk dan data. 6. Lakukan pengamatan pada nilai rata – rata dari hasil data, karena bisa saja terjadi ketidak seimbangan nilai rata – rata. 7. Jangan hanya melakukan penyelidikan, tetapi dari hasil penyelidikan di check satu persatu prosesnya.
http://digilib.mercubuana.ac.id/
27 8. Cara bekerja serta urutan bekerja jangan hanya disampaikan secara lisan tetapi sampaikanlah dalam bentuk tulisann. 9.Kalau melihat sesuatu yang abnormal, segera lakukan action,stop mesin, hubungi maintenance, segera cari penyebabnya dan lakukan tindakan perbaikan. 10. Jangan sampai kesalahan yang sama terulang kembali. 2.7 Unified Modeling Language (UML) Pada perkembangan teknologi perangkat lunak, diperlukan adanya bahasa yang digunakan untuk memodelkan perangkat lunak yang akan dibuat dan perlu adanya standarisasi agar orang di berbagai Negara dapat mengerti pemodelan perangkat lunak. Seperti yang kita ketahui bahwa menyatukan banyak kepala untuk menceritakan sebuah ide dengan tujuan untuk memahami hal yang sama tidaklah mudah, oleh karena itu diperlukan sebuah bahasa pemodelan perangkat lunak yang dapat dimengerti oleh banyak orang. Unified Modeling Language adalah bahasa berupa grafik atau gambar yang menjadi standar untuk memodelkan software yang berorientasi objek [Bernd Bruegge and Allen H. Dutoit, 2010]. Pendekatan berorientasi objek Unified Modeling Languange (UML.2.0) berawal dari Object Management Group(OMG) dan ditemukan oleh Grady Booch, James Rumbaugh, dan Ivar Jacobson. Pendekatan model-driven, analisis dimulai dengan menggunakan kasus dan scenario kemudian mendifinisikan kelas domain masalah yang terlibat pekerjaan pengguna. UML termasuk model persyaratan dengan diagram use case, deskripsi use case, diagram activity dan diagram sequence. [Satzinger, 2010] Pada 1996, Object Management Group (OMG) mengajukan proposal agar adanya standarisasi pemodelan berorientasi objek dan pada bulan September 1997 UML diakomodasi oleh OMG sehingga sampai saat ini UML telah memberikan kontribusinya yang cukup besar di dalam metodologi berorientasi objek dan hal-hal yang terkait di dalamnya.Secara fisik, UML adalah sekumpulan spesifikasi yang dikeluarkan oleh OMG. UML terbaru adalah UML 2.3 yang terdiri dari 4 macam spesifikasi, yaitu Diagram Interchange Specification, UML Infrastructure, UML Superstructure, dan Object Constraint Language (OCL). [Shalahuddin, 2013]. Notasi UML merupakan sekumpulan bentuk khusus untuk menggambarkan berbagai diagram piranti lunak dan UML 2.0 terdiri dari 13 jenis diagram resmi seperti yang tertulis dibawah ini :
http://digilib.mercubuana.ac.id/
28 Tabel 2.1 Tabel Notasi UML No
Diagram
Kegunaan
Structure Diagram 1
Menggambarkan hubungan antara kelas yang dimodelkan di
Class
dalam sistem 2
Menggambarkan hubungan antara objek dimodelkan dalam
Object
sistem; digunakan ketika contoh aktual dari kelas akan lebih baik berkomunikasi mode 3
Kelompok elemen UML lain bersama-sama untuk
Package
membentuk konstruksi tingkat yang lebih tinggi; pelaksanaan 4
Menampilkan arsitektur fisik sistem; juga dapat digunakan
Deployment
untuk menunjukkan komponen perangkat lunak yang digunakan di dalam arsitektur fisik 5
Menggambarkan pelaksanaan hubungan fisik antara
Component
komponen perangkat lunak; 6
Composite
Menggambarkan struktur internal kelas, yaitu, hubungan
Structure Design
antara bagian-bagian dari kelas
Behavioral Diagrams 7
Activity
Menggambarkan alur kerja bisnis dari kelas independen, alur kegiatan dalam usecase, atau desain rinci
8
Sequence
Model perilaku objek dalam usecase; berfokus pada urutan berdasarkan waktu dari suatu kegiatan
9
Communication
Model perilaku objek dalam usecase; fokus pada komunikasi antara satu set objek berkolaborasi dari suatu kegiatan
10
Interaction
Menggambarkan ikhtisar alur kontrol dari sebuah proses
Overview 11
Timing
Menggambarkan interaksi antara set objek dan perubahan negara mereka pergi melalui sepanjang sumbu waktu
12
Behavioral State
Mengkaji perilaku satu kelas
Machine 13 14
Protocol State
Menggambarkan ketergantungan antara antarmuka yang
Machine
berbeda dari kelas
Use-Case
Menangkap kebutuhan bisnis untuk sistem dan menggambarkan interaksi antara sistem dan lingkungannya.
http://digilib.mercubuana.ac.id/
29 Diagram UML terdiri dari 13 macam diagram [S, Rosa A. dan M. Shalahuddin, 2013]. Namun dalam penyusunan skripsi ini penulis hanya menggunakan 5 macam diagram diantaranya Use Case Diagram, Activity Diagram, Class Diagram, Sequence Diagram dan Navigation Diagram. Menurut (Rosa AS dan M. Shalahuddin, 2013) dalam buku Rekayasa perangkat lunak (terstruktur dan berorientasi objek) bagian dari pada UML terdiri atas beberapa diagram yaitu: 2.7.1
Use case diagram Use case atau diagram use case merupakan pemodelan untuk kelakuan (behavior) sistem informasi yang akan dibuat. Use case mendeskripsikan sebuah interaksi antara satu atau lebih aktor dengan sistem informasi yang akan dibuat. Use case digunakan untuk mengetahui fungsi apa saja yang ada didalam sebuah sistem informasi dan siapa saja yang berhak menggunakan fungsi-fungsi itu. Menurut (Rosa AS dan M. Shalahuddin, 2013). Syarat penamaan pada use case adalah nama di definisikan sesimpel mungkin dan dapat dipahami. Ada dua hal utama pada use case yaitu pendefinisian apa yang disebut aktor dan use case. a.)
Aktor merupakan orang, proses atau sistem lain yang berinteraksi dengan sistem
informasi yang akan dibuat diluar sistem informasi itu sendiri, jadi walaupun simbol dari aktor adalah gambar orang, tapi aktor belum tentu merupakan orang. b.)
Use case merupakan fungsionalitas yang disediakan sistem sebagai unit-unit
yang saling bertukar pesan antar unit atau aktor. Berikut adalah simbol-simbol yang ada pada diagram use case: Berikut adalah symbol-simbol dalam Use Case : Tabel 2.2 Simbol dalam use case sumber: (Rosa A.S dan M. Shalahudin, 2013) Use case Fungsionalitas yang disediakan sistem sebagai unit-unit yang saling bertukar pesan antar unit atau aktor; biasanya dinyatakan dengan menggunakan kata kerja diawal, diawal fase nama use case
http://digilib.mercubuana.ac.id/
30 Aktor/Actor Orang,
proses
atau
sistem
lain
yang
berinteraksi dengan sistem informasi yang akan dibuat diluar 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 diawal frase nama aktor
Asosiasi / association Komunikasi antar 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 dengan use case yang ditambahkan, misal
Arah panah mengarah pada use case yang ditambahkan; biasanya use case yang menjadi
http://digilib.mercubuana.ac.id/
31 extend-nya merupakan jenis yang sama dengan use case yang menjadi induknya.
Generalisasi/ generalization Hubungan
generalisasi
dan
spesialisasi
(umum-khusus) antara dua buah use case dimana fungsi yang satu adalah fungsi yang lebih umum dari lainnya, misalnya;
Arah panah mengarah pada use case yang menjadi generalisasinya (umum) Menggunakan / include /uses Relasi use case tambahan ke sebuah use case dimana
use
case
yang
ditambahkan
memerlukanuse case ini untuk menjalankan
<
>
fungsinya atau sebagai syarat dijalankan use case ini, ada dua sudut pandang yang cukup besar mengenai include use case tambahan, misalkan pada kasus berikut :
http://digilib.mercubuana.ac.id/
32 include berarti use case yang tambahan akan selalu melakukan pengecekkan apakah use case yang ditambahkan telah dijalankan sebelum use case tambahan dijalankan, misal pada kasus berikut;
Kedua implementasi diatas dapat dianut salah satu, atau keduanya tergantung pada pertimbangan dan interpretasi yang dibutuhkan
Gambar 2.4 Contoh use case diagram Sumber :(Roger S. Pressman, Ph.D, 2010)
2.7.2
Activity Diagram Diagram aktivitas atau activity diagram menggambarkan workflow (aliran kerja)
atau aktivitas dari sebuah sistem atau proses bisnis atau menu yang ada pada perangkat lunak. Yang perlu diperhatikan disini bahwa diagram aktivitas menggambarkan aktifitas sistem bukan apa yang dilakukan aktor, jadi aktifitas yang dapat dilakukan oleh sistem.Diagram aktivitas juga banyak digunakan untuk mendefinisikan hal-hal berikut:
http://digilib.mercubuana.ac.id/
33
Rancangan proses bisnis dimana setiap urutan aktivitas yang digambarkan merupakan proses bisnis sistem yang didefinisikan.
Urutan atau pengelompokan tampilah dari sistem / user interface dimana setiap aktivitas dianggap memiliki sebuah rancangan antarmuka tampilan.
Rancangan pengujian dimana setiap aktivitas dianggap memerlukan sebuah pengujian yang perlu didefinisikan kasus ujinya.
Berikut adalah symbol-simbol dalam Activity Diagram Tabel 2.3 Simbol-simbol pada activity diagram sumber: (Rosa A.S dan M. Shalahudin, 2013) Nama
Keterangan
Status Awal
Statuss awal aktivitas sistem, sebuah diagram aktivitas memiliki sebuah status awal.
Aktifitas
Aktifitas yang dilakukan sistem , aktivitas biasanya diawali dengan kata kerja
Percabangan/decision
Asosiasi percabangan dimana jika ada pilihan aktivitas lebih dari satu
Asosiasi penggabungan dimana lebih Penggabungan/ join
dari satu aktivitas digabungkan menjadi satu.
http://digilib.mercubuana.ac.id/
34
Status Akhir
Status akhir yang dilakukan sistem, sebuah diagram aktivitas memiliki sebuah status akhir.
Memisahkan organisasi bisnis yang bertanggung jawab terhadap aktivitas atau
yang terjadi.
Gambar 2.5 Contoh Activity Diagram (Sumber : Roger S. Pressman, Ph.D, 2010)
http://digilib.mercubuana.ac.id/
35 2.7.3
Sequence Diagram Diagram ini memperlihatkan interaksi yang menekankan pada urutan pertukaran pesan/data dalam suatu waktu tertentu yang dilakukan oleh sekumpulan objek atau aktor yang mengerjakan pekerjaan.(Prabowo Pudjo Widodo dan Herlawati, 2011).Sequence Diagram biasanya tersusun dari elemen obyek, dan
interaction
message.Interaction
menghubungkan
2
obyek
dengan
pesannya.Diagram ini menjelaskan aspek dinamis dari sistem yang sedang dibangun. Untuk satu use case bisa dibuat beberapa sequence diagram, karena satu use case biasanya terdiri dari beberapa aktivitas yang harus dilakukan dan masing-masing aktivitas ini bisa direpresentasikan dalam satu sequence diagram. Berikut adalah symbol-simbol dalam Sequence Diagram: Tabel 2.4 Simbol-simbol pada sequence diagram sumber: (Rosa A.S dan M. Shalahudin, 2013) Nama
Keterangan
Aktor
Orang, proses atau sistem lain yang berinteraksi dengan sistem informasi yang akan dibuat diluar sistem informasi itu sendiri, jadi walaupun simbol aktor adalah gambar orang, biasanya dinyatakan menggunakan kata benda diawal fase nama
Atau
aktor.
Nama aktor Tanpa waktu aktif
Garis Hidup/ Life line
Menyatakan kehidupan suatu objek.
http://digilib.mercubuana.ac.id/
36 Object
Menyatakan objek yang berinteraksi pesan.
Menyatakan objek dalam keadaan aktif dan Waktu Aktif
berinteraksi, semua yang terhubung dengan waktu aktif ini adalah sebuah tahapan yang dilakukan didalamnya, missal
Maka
cek
Status
Login()
dan
open()
dilakukan dalam metode login(), Aktor tidak memiliki waktu aktif Pesan tipe create
Menyatakan suatu objek membuat objek yang lain, arah panah mengarah pada objek yang dibuat.
Pesan tipe Call
Menyatakan suatu objek memanggil operasi / metode yangbada pada objek lain atau dirinya sendiri,
1: nama_metode()
Arah panah mengarah pada objek yang memiliki operasi / metode, karena ini memanggil operasi /nmetode maka operasi / metode yang dipanggil harus ada pada diagram kelas sesuai dengan kelas objek yang berinteraksi.
http://digilib.mercubuana.ac.id/
37 Pesan tipe Return
Menyatakan bahwa suatu objek yang telah menjalankan suatu operasi atau metode menghasilkan suatu kembalian ke objek tertentu, arah panah mengarah pada objekk yang menerima kembalian.
Pesan tipe Destroy
Menyatakan suatu objek mengakhiri hidup objek yang lain, arah panah mengarah pada objek yang diakhiri, sebaiknya jika ada create maka ada destroy.
Gambar 2.6 Contoh Sequence Diagram (Sumber : Roger S. Pressman, Ph.D, 2010)
2.7.4
Class Diagram Diagram kelas atau class diagram 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 variable-variable yang dimiliki oleh suatu kelas.
Operasi atau metode adalah fungsi-fungsi yang dimiliki oleh suatu kelas. Diagram kelas dibuat agar pembuat program atau programmer membuat kelas-kelas
sesuai rancangan dan perangkat lunak sinkron. Banyak berbagai kasus, perancangan kelas yang dibuat tidak sesuai dengan kelas-kelas yang dibuat pada perangkat lunak, sehingga
http://digilib.mercubuana.ac.id/
38 tidaklah ada gunanya lagi sebuah perancangan karena apa yang dirancang dan hasil jadinya tidak sesuai Kelas-kelas yang ada pada struktur sistem harus dapat melakukan fungsi-fungsi sesuai dengan kebutuhan sistem sehingga pembuat perangkat lunak atau programmer dapat membuat kelas-kelas di dalam program perangkat lunak sesuai dengan perancangan diagram kelas. Susunan struktur kelas yang baik pada diagram kelas sebaiknya memiliki jenis-jenis kelas berikut: a. Kelas main. Kelas main memiliki fungsi awal dieksekusi ketika sistem dijalankan. b. Kelas yang menangani tampilan sistem (view) Kelas yang mendefinisikan dan mengatur tampilan ke pemakai. c. Kelas yang diambil dari pendefinisian use case (controller) Kelas yang menangani fungsi-fungsi yang harus ada diambil dari pendefinisian use case, kelas ini biasanya disebut dengan kelas proses yang menangani proses bisnis pada perangkat lunak. d. Kelas yang diambil dari pendefinisian data (model) Kelas yang digunakan untuk memegang atau membungkus data menjadi sebuah kesatuan yang diambil maupun akan disimpan ke basis data. Jenis-jenis kelas diatas juga dapat digabungkan satu sama lain sesuai dengan pertimbangan yang dianggap baik asalkan fungsi-fungsi yang sebaiknya ada pada struktur kelas tetap ada. Susunan kelas juga dapat ditambahkan kelas utilitas (utility class) seperti koneksi data base, membaca file teks dan lain sebagainya sesuai dengan kebutuhan. Dalam mendefinisikan metode yang ada di dalam kelas perlu memperhatikan apa yang disebut dengan cohesion dan coupling. Cohesion adalah ukuran sebarapa dekat keterkaitan instruksi di dalam sebuah metode terkait satu sama lain. Sedangkan coupling adalah ukuran seberapa dekat keterkaitan instruksi antara metode yang satu dengan metode yang lain di dalam sebuah kelas. Sebagai aturan secara umum maka sebuah metode yang dibuat harus memiliki kadar cohesion dan kadar coupling yang lemah. Berikut adalah simbol-simbol yang ada pada class diagram:
http://digilib.mercubuana.ac.id/
39
Tabel 2.5 Simbol-simbol pada class diagrams sumber: (Rosa A.S dan M. Shalahudin, 2013) Nama
Keterangan
Kelas
Kelas pada struktur sistem
antarmuka/ interface
Sama dengan konsep interface dalam pemrograman berorientasi objek
nama_interface asosiasi / association
Relasi asosiasi
antarkelas
dengan
biasanya
juga
makna
umum,
disertai
dengan
multiplicity asosiasi berarah / directed
Relasi antar kelas dengan makna kelas yang
association
satu digunakan oleh kelas yang lain, asosiasi biasanya juga disertai dengan multiplicity
generalisasi
Relasi antarkelas dengan makna generalisasispesialiasi (umum khusus)
kebergantungan/ depedency
Relasi antar kelas dengan makna kebergantungan antar kelas
agregasi/ aggregation
Relasi antarkelas dengan makna semua-bagian (whole-part)
http://digilib.mercubuana.ac.id/
40
Gambar 2.7 Contoh class diagram (Sumber : Roger S. Pressman, Ph.D, 2010)
2.8 MySQL Dalam pengimplementasiannya sistem ini akan menggunakan database 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 diseluruh dunia. MySQL tersedia sebagai perangkat lunak gratis dibawah lisensi GNU General Public Lisence (GPL).Namun dengan batasan perangkat lunak tersebut tidak boleh dijadikan produk turunan yang bersifat komersial.MySQL sebenarnya merupakan turunan salah satu konsep utama dalam basis data yang telah ada sebelumnya yaitu SQL (Structured Query Languange). (Aditya, 2010) Bahasa SQL adalah bahasa tingkat tinggi, berorientasi pada group data, non prosedur untuk relational database.Disebut bahasa tingkat tinggi karena memakai bahasa inggris. Disebut orientasi pada group data (table) karena berbeda dengan bahasa lain yang hanya mempunyai kapabilitas record. Bersifat non prosedur karena memberikan apa yang hendak kita inginkan dari informasi, bukan berdasarkan dengan cara apa kita harus mengambil informasi. (Fajar Masya, 2010).
http://digilib.mercubuana.ac.id/
41 2.9 Pengenalan PHP Menurut (Madcoms, 2010) mengemukakan bahwa” PHP (Hypertext Preprocessor) adalah bahasa pemrograman yang bekerja dalam sebuah website”.Script-script PHP dibuat harus tersimpan dalam sebuah server dan dieksekusi atau diproses dalam server tersebut. Dengan menggunakan program PHP, sebuah website akan lebih interaktif dan dinamis. Sebagai media penulisan PHP, dapat menggunakan beberapa program, diantaranya adalah Notepad, Dreamweaver, atau PHP Expert Editor. Beberapa hal yang harus diketahui agar dapat memahami script-script PHP adalah tipe data dan variabel. Ada beberapa tipe data yang dikenali dalam script PHP, yaitu tipe string, integer, array, object dan floating point. Tipe data dalam script PHP akan otomatis dikonversi sesuai karakternya tanpa harus menggunakan variabel. Variabel adalah tempat untuk menyimpan data. Data yang disimpan sewaktu-waktu bisa saja anda panggil atau diganti dengan data lain. Mendefinisikan variabel cukup dengan sebuah kata (akan menjadi nama variabel) yang diawali dengan tanda $, kemudian isikan nilai dari variabel tersebut. Di dalam pemrograman PHP terdapat juga tentang fungsi, operator, dan struktur kendali.Fungsi-fungsi dasar dalam pemrograman PHP yaitu Fungsi Date, Fungsi Time, dan Fungsi Include.Operator adalah suatu simbol yang memiliki tugas dan fungsi untuk memanipulasi nilai.Dengan operator, sebuah fungsi dapat berjalan dan bersifat dinamis.Nilainilai pada sebuah operasi sering disebut operator.Operator dasar dalam pemrograman PHP yaitu Operator Aritmatika, Operator Pembanding, dan Operator Logika.Struktur kendali atau statement adalah bagian penting dalam suatu bahasa pemrograman, karena bagian ini mengatur jalannya eksekusi program.Ada 4 struktur kendali atau statement dalam pemrograman PHP yaitu Fungsi IF, Pernyataan Switch, Pernyataan While, dan Pernyataan For.
2.10 Database Data memiliki arti yang sangat penting bagi kelangsungan suatu organisasi atau perusahaan.Data yang baik merupakan data yang dapat disusun dalam basis data sehingga basis data tersebut dapat digunakan secara optimal bagi organisasi atau perusahaan untuk mengumpulkan, mengorganisir dan menganalisa data bisnis perusahaan atau organisasi. 2.10.1 Pengertian Database Pengertian umum definisi dari database adalah berbagi (shared), penyimpanan yang saling terhubung (intergration collection), kumpulan (repository) yang terintegrasi dari data. Dua kata yang menitik beratkan pada pendefinisian dari database adalah berbagi (shared) dan saling terhubung (integrated). Berbagi (shared) berarti beberapa pengguna dapat meng-akses data didalam database secara bersama-sama. Yang terhubung (integrated) berarti
http://digilib.mercubuana.ac.id/
42 menghilangkan data yang terduplikasi (informasi yang ditulis lebih dari satu kali). Sebagai contoh informasi tentang data mahasiswa mungkin saja tersebar diberbagai komputer namun jikalau diletakkan dalam satu server data mahasiswa dan data tersebut diakses secara bersama-sama oleh pengguna maka dapat dikatakan database.(Masya, 2010). Pengertian database atau basis data menurut (Indrajani, 2011) adalah sebagai berikut: a) Basis data merupakan kumpulan terpadu dari elemen data logis yang saling berhubungan. Basis data mengonsolidasi banyak catatan yang sebelumnya disimpan dalam file terpisah. b) Merupakan suatu kumpulan data yang berhubungan secara logis dan deskripsi data tersebut, yang dirancang untuk memenuhi informasi yang dibutuhkan oleh suatu organisasi. Artinya, basis data merupakan tempat penyimpanan data yang besar, di mana dapat digunakan oleh banyak pengguna. Seluruh item basis data tidak lagi dimiliki oleh satu departemen melainkan menjadi sumber daya perusahaan yang dapat digunakan bersama. Application Developer atau Programmer, merupakan tenaga ahli komputer yang berfungsi untuk mengembangkan program-program aplikasi yang diperlukan dalam manajemen basis data. End user, termasuk dalam kategori pengguna akhir adalah pemilik sistem (enterprise) para manager, supervisor, operator, pelanggan dan sebaginya yang terlibat langsung dalam penggunaan basis data. 2.10.2 DBMS (DataBase Management System) DBMS adalah sebuah piranti lunak yang mengatur penyimpanan dan akses data dalam database.Tentunya hal ini di atur secara otomatis – berdasarkan sistem informasi management.Kata management meliputi beberapa fungsi yang meliputi keamanan, akses secara bersama-sama, dan perbaikan.Pengguna dan program mengakses dan menyimpan data dengan berinteraksi melalui DBMS. Kebanyakan dari DBMS mempunyai beberapa cara untuk menyimpan data pada alat penyimpanannya, seperti bagaimana cara mengaksesnya dan seterusnya dan semuanya berinteraksi dengan level internal dari database. DBMS bertanggung jawab dalam membagi aplikasi atau pengguna (sesuai hak akses) dari keruwetan levelinternal dan menampilkan secara mudah, dalam tampilan logika dari sebuah data. Tujuan dari semua database adalah memberikan dukungan data fisik yang berdiri sendiri (physical data independent). Istilah lain adalah penampilan luar eksternal) yaitu bagaimana menampilkan data kepada masing-masing pengguna. (Masya, 2010).
http://digilib.mercubuana.ac.id/
43 2.11 Pegujian Perangkat Lunak 2.11.1 Metode White Box Dalam pengujian white-box, anda bisa tahu bagaimana sebuah metode bekerja.Anda kemudian menggunakan pengetahuan lebih untuk merancang sebuah tes untuk mencoba membuat sebuah metode rusak.Pengujian white-box memiliki keuntungan bahwa anda tahu bagaimana sebuah metode bekerja, jadi anda bisa mencoba untuk memilih kasus pengujian yang sulit. Sayangnya ia memiliki kelemahan yang anda tahu bagaimana sebuah metode bekerja, jadi anda melewati beberapa kasus pengujian yang anda anggap bekerja. Misalnya, anda mungkin mengetahui bahwa sebuah metode akan dibingungkan dengan string kosong. Tapi anda tahu bahwa ketika anda menulis kode, jadi anda yang mengatasinya.Masalahnya, anda mungkin tidak menanganinya dengan benar. Jika anda menangani semuanya dengan benar, maka tidak akan ada bug dan anda tidak akan perlu melakukan pengujian secara keseluruhan. Menggunakan pengujian white-box untuk membuat tes akan merepotkan, tapi jangan melewati tes yang anda “tahu” metodenya anda dapat tangani (RodStephend, 2015:188) 2.11.2 Metode Black-Box Dalam pengujian black-box, anda berpura-pura bahwa metode ini adalah black-box yang anda tidak dapat melihat kedalam. Anda tahu apa yang seharusnya dilakukan, tapi anda tidak tahu bagaimana ini bekerja. Anda kemudian mencoba segala macam masukan untuk melihat apa yang akan dilakukannya. Anda dapat memulai pengujian black-box dengan mengirim sekelompok masukan acak.Ingat bahwa anda perlu untuk melakukan tes ini hanya beberapa kali, tidak setiap kali program berjalan, jadi anda bisa menguji banyak nilai acak. Contohnya,
anda
bisa
mencoba
untuk
menebak
nilai
yang
mungkin
mengacaukannya.Biasanya, itu melibatkan nilai spesial seperti 0 untuk angka dan kosong untuk string.Mereka juga boleh termasuk nilai terbesar dan terkecil yang memungkinkan. Untuk string yang mungkin maksudnya adalah string yang semuanya kosong atau semua karakter. Misalnya, biasanya quicksort adalah salah satu algoritma pengurutan tercepat, tapi ia memberikan kinerja yang buruk jika item yang diurutkan memiliki nilai yang sama. Jika metode mengambil sejumlah variabel masukan, pastikan ia dapat mengatasi masukan 0 dan sejumlah angka yang sangat besar untuk masukan. Jika dibutuhkan sebuah array atau daftar parameter, lihat apakah ia lakukan jika array atau daftar parameter kosong atau hilang. Akhirnya, lihat pada batasan nilai. Jika metode menerapkan parameter float antara 0.0 dan 1.0, maka pastikan ia dapat menangani kedua nilai itu (Rod Stephend,2015:187).
http://digilib.mercubuana.ac.id/
44 2.12 Studi Pustaka (Literatur Review) Penggalian dari penelitian terdahulu dilakukan sebagai upaya untuk memperjelas penelitian yang
telah
dilakukan
serta
membedakan
penelitian
ini
dengan
penelitian
sebelumnya.Beberapa penelitian yang telah dilakukan terkait dengan Sistem Informasi quality control, akan dibahas dibawah ini : 1. Jurnal Pertama Judul
: RANCANG BANGUN SYSTEM APLIKASI INSPECTION BEFORE SHIPPING (IBS) UNTUK PROSES EXPORT IMPORT PADA DEPARTEMENT QUALITY CONTROL (QC) di PT. KINGJIM : INDONESIA
Penulis
Aalima Taufik , M. Noval Riswandha, M. Kom STMIK YadikaBangil : [email protected] ; [email protected]
Tahun Terbit
: Jurnal SPIRIT Vol. 8 No. 1 Mei 2016, hal 24-30 ISSN : 2085 – 3092
Pembahasan
Pembuatan aplikasi untuk inspection before shipping (eksport & import) Database menggunakan Ms. Acsess dan program menggunakan VB 6.0 berbasis GUI Merubah sistem dari manual (menggunakan Ms.excel) menjadi sistem :
Kesimpulan
(menggunakan database Ms. Acsess) pengolahan data inspection menjadi terkomputerisasi
: aplikasi berhasil memudahkan staf dalam inspection before shipping Saran
perlu dilakukan pengembangan dari segi rancangan agar semakin :
Perbedaan
memudahkan pengoperasian dan lebih fleksibel pada jurnal pertama ini, aplikasi hanya mengakomodir inspection atau pengecekan produk yang sudah jadi sebelum menuju proses pengiriman barang. Sedangkan pada penelitian ini penulis membuat program aplikasi untu pengecekan barang incomming, in process hingga finish goods
http://digilib.mercubuana.ac.id/
45 2.
Jurnal Kedua
Judul
: Application of 7 Quality Control (7 QC) Tools for Continuous Improvement of Manufacturing Processes
Penulis
Varsha M. Magar; Dr. Vilas B. Shinde : Mumbai University [email protected]
Tahun Terbit
"International Journal of Engineering Research and General Science : Volume 2, Issue 4, June-July, 2014 ISSN 2091-2730"
Pembahasan
aplikasi yang digunakan untuk perbaikan berkala pada proses :
Kesimpulan
manufakturing tool atau aplikasi yang digunakan hanya berupa diagram untuk
:
melakukan perubahan secara berkala aplikasinya masih bersifat manual
Saran Perbedaan
perlu dilakukan pengembangan agar semua terkomputerisasi : pada jurnal kedua ini, aplikasi yang digunakan hanya berupa diagram. :
Data yang dibutuhkan diinput secara manual sedangkan penulis lakukan untuk membuat aplikasi secara terkomputerisasi
3. Jurnal Ketiga Judul
: EFEKTIVITAS PELAKSANAAN QUALITY CONTROL PADA BAGIAN PRODUKSI PT INDOHAMAFISH DI PENGAMBENGAN
Penulis
: Ayunita Kusuma Wardani Universitas Pendidikan Ganesha Singaraja, Indonesia [email protected]
Tahun Terbit
: Jurnal Vol: 5 No: 1 Tahun 2015
Pembahasan
: metode deskripsi untuk menganalisis data statistik dalam pelaksanaan quality control pelaksanaan quality control dilakukan dengan sistem
Kesimpulan
: pembahasan hanya sekedar analisis tidak menciptakan sebuah aplikasi semua kegiatan masih dikerjakan manual
Saran
: perlu dilakukan pengembangan agar semua terkomputerisasi
Perbedaan
: pada jurnal ketiga, hanya menganalisis sedangkan penulis menanalisis dan merancang aplikasinya
http://digilib.mercubuana.ac.id/