BAB 2 TINJAUAN PUSTAKA
2.1 Teori Umum 2.1.1 Software Engineering Menurut Pressman (2010:13), software engineering merupakan penerapan development, operation dan maintenance pada perangkat lunak dengan pendekatan yang sistematis, disiplin dan kuantitatif. Software engineering mencakup proses dan method untuk mengatur serta tools yang diperlukan dalam pengembangan perangkat lunak. Hal yang dasar yang menjadi pendukung software engineering adalah fokus pada kualitas. 2.1.1.1 Software Software merupakan (1) instruksi (program komputer) yang ketika dieksekusi menyediakan fitur, fungsi, dan performa yang dibutuhkan dan diinginkan; (2) struktur data yang memungkinkan program memiliki kemampuan yang cukup untuk memanipulasi informasi, dan (3) informasi deskriptif dalam bentuk virtual yang mendeskripsikan operasi dan manfaat dari program. Menurut Pressman (2010:4), pengertian seperti itu tidak cukup untuk mendefinisikan apa yang dimaksud dengan software secara formal. Karena itu untuk lebih memahami mengenai software, dilakukan penyelidikan mengenai karakteristik software yang membuatnya berbeda dari benda lain yang dibuat oleh manusia. Dia berpendapat, software memiliki karakteristik : Software dibangun dan dirancang, tidak dibuat dengan cara yang klasik Software tidak akan habis Walaupun industri bergerak ke arah konstruksi menggunakan komponen, kebanyakan software masih custom built.
2.1.2 Sistem Database 2.1.2.1 Sistem Menurut Oz (2009:11), Sistem merupakan sususan dari beberapa dari komponen yang bekerja bersama-sama untuk mencapai suatu tujuan utama atau beberapa tujuan tertentu dengan cara menerima input dan memproses
input
tersebut sehingga menghasilkan suatu output.
2.1.2.2 Database Menurut Connoly dan Begg (2005,p15) database adalah kumpulan dari data yang saling berelasi secara logical dan sebuah deskripsi dari data tersebut, yang di desain untuk menemukan informasi yang di butuhkan oleh suatu organisasi. Menurut McLeod (2001, p4) mendefinisikan database sebagai kumpulan dari data yang saling berhubungan. Menurut Mcleod (2001, p258) database adalah suatu koleksi data computer yang terintegrasi, di organisasikan dan di simpan dengan suatu cara yang memudahkan pengambilan kembali.
2.1.2.3 Database Management System (DBMS) DBMS merupakan suatu system atau software yang dirancang untuk mengelola suatu database dan menjalankan operasi terhadap data yang diminta oleh banyak user. Contoh dari beberapa DBMS diantaranya Oracle, SQL Server,
MS Access, MySQL dan sebagainya. DBMS merupakan software yang dirancang untuk dapat melakukan utilisasi dan menelola koleksi data dalam jumlah yang besar. DBMS juga dirancang agar dapat melakukan manipulasi data dengan lebih mudah. 2.1.2.4 Pengertian DBMS Menurut Connolly dan Begg (2005, p15) , DBMS adalah sebuah perangkat
lunak
yang
memberikan
kebebasan
pada
pengguna
untuk
mendefinisikan, membuat, memelihara, dan mengontrol akses ke database.
2.1.2.5 Keuntungan penggunaan DBMS Menurut Elmasari (2004, p15), beberapa keuntungan menggunakan database management system diantaranya sebagai berikut: 1. Mengontrol Redudancy Redudancy adalah penyimpanan data berkali-kali yang dapat menyebabkan masalah. Akan tetapi kontrol redundancy akan berguna ketika sedang menjalankan query. 2. Membatasi akses yang tidak sah Ketika banyak user berbagi database, kemungkinan beberapa pengguna tidak akan diberi wewenang untuk mengakses semua informasi di database. Oleh karena itu , jenis akses-akses pengambilan operasi atau update juga harus dikontrol. 3. Menyediakan penyimpanan persistent object untuk program dan struktur data Database dapat digunakan untuk menyediakan penyimpanan persistent untuk objek program dan struktur data. Hal ini merupakan salah satu alasan utama munculnya sistem database berorientasi objek.
4. Mengijinkan penelusuran dan tindakan dengan peraturan Beberapa
sistem
database
yang
memberikan
kemampuan
untuk
mendefinisikan aturan-aturan yang di kurangi untuk informasi penelusuran baru dari fakta database yang di simpan. Sistem seperti ini disebut sistem database deduktif. 5. Memberikan Multiple User Interface Karena banyak user dengan berbagai tingkat pengetahuan teknis yang menggunakan database, DBMS harus menyediakan berbagai macam jenis User Interface. Diantaranya termasuk query untuk user biasa, interface untuk programmer, bentuk dan kode perintah untuk parametric user , dan menu berbasis interface dan bahasa alami interface untuk user yang berdiri sendiri. Kemampuan untuk menyediakan World Wide Web akses ke database atau web memungkinkan database menjadi semakin umum. 6. Mewakilkan hubungan kompleks antara data Sebuah database dapat terdiri dari berbagai variasi data yang saling berhubungan dengan banyak cara. DBMS harus memiliki kemampuan untuk mewakili berbagai hubungan yang kompleks antara data-data, serta mengambil dan memperbarui data yang berhubungan dengan mudah dan efisien. 7. Menentukan batasan integritas (integrity constraints) Sebagian besar aplikasi database memiliki batasan integritas tertentu yang harus diperhatikan untuk data. Sebuah DBMS harus menyediakan kemampuan untuk menentukan dan menetapkan batasan tersebut. Jenis paling sederhana batasan integritas yaitu yang berisi penentuan tipe data untuk setiap data item. Perancang database bertanggung jawab untuk mengindentifikasi batasan integritas selama melakukan perancangan database. Beberapa batasan dapat ditentukan di DBMS dan dijalankan secara otomatis.batasan lain mungkin harus diperiksa pada saat update program atau pada saat memasukan data. Suatu data dapat dimasukan dengan tidak benar tidak memenuhi batasan integritas tertentu.
8. Memberikan backup dan recovery Sebuah DBMS harus menyediakan fasilitas untuk recovery dari hardware atau software failure. Subsistem bacup dan recovery pada DBMS berguna untuk perbaikan data. Menurut Ramakrishnan (2003, p9), keuntungan menggunakan database diantaranya sebagai berikut : a. Data yang mandiri Program aplikasi tidak seharusnya mengungkapkan rincian dari data yang akan ditampilkan dan disimpan. DBMS menyediakan tampilan abstrak dari sebuah data yang menyembunyikan detail-detail data tersebut. b. Akses data secara efisien Perangkat DBMS dilengkapi dengan berbagai macam teknologi yang canggih untuk menyimpan dan mencari data secara efisien. Fitur ini sangat penting terutama apabila data disimpan dalam media penyimpanan eksternal c. Data integritas dan keamanan Apabila data selalu diakses melalui DBMS, maka DBMS dapat memberlakukan pembatasan integritas. d. Administrasi data Ketika beberapa user
membagi data, DBMS memiliki proses
pemusatan administrasi data dengan menawarkan perkembangan yang signifikan. DBMS dengan professional mengerti memahami kebiasaan data yang diolah, dan perbedaan setiap user dalam penggunaannya, dapat bertanggung jawab dalam mengatur representasi data untuk mengurangi redudansi , dan untuk penyimpanan fine-tunning dari data untuk membuat pengambilan data secara efisien.
e. Kepastian akses dan recovery kerusakan
Kepastian akses dalam DBMS untuk akses data memungkinkan user berpikir bahwa data hanya dapat diakses oleh satu user pada saat itu. Bahkan DBMS melindungi user agar terhindar dari efek system failure. f. Mengurangi waktu perkembangan aplikasi Sudah jelas bahwa DBMS mendukung fungsi-fungsi penting yang sudah biasa untuk berbagai akses pada aplikasi DBMS. Menurut Connolly (2002, p25), keuntungan menggunakan DBMS sebagai berikut: •
Mengontrol pengulangan data
•
Konsistensi data
•
Lebih banyak informasi dari jumlah data yang sama
•
Membagi data
•
Meningkatkan integritas data
•
Meningkatkan keamanan
•
Penegasan standar
•
Keseimbangan dari persyaratan yang bertentangan
•
Meningkatkan kemudahan akses dan respon data
•
Meningkatkan pemeliharaan melalui data yang mandiri
•
Meningkatkan ketepatan
•
Meningkatkan backup dan recovery services.
Menurut Connolly (2002, p29), kerugian menggunakan DBMS adalah sebagai berikut : •
Harga dari DBMS itu sendiri
•
Performance
•
Berdampak lebih besar saat terjadi kegagalan
•
Kompleksitas
•
Ukuran
•
Tambahan harga pada hardware
2.1.3 Pengertian Website Website atau situs juga dapat diartikan sebagai kumpulan halaman yang menampilkan informasi data teks, data gambar diam atau gerak, data animasi, suara, video dan atau gabungan dari semuanya, baik yang bersifat statis maupun dinamis yang membentuk satu rangkaian bangunan yang saling terkait dimana masing-masing dihubungkan dengan jaringan-jaringan halaman (hyperlink). Bersifat statis apabila isi informasi website tetap, jarang berubah, dan isi informasinya searah hanya dari pemilik website. Bersifat dinamis apabila isi informasi website selalu berubah-ubah, dan isi informasinya interaktif dua arah berasal dari pemilik serta pengguna website. Contoh website statis adalah berisi profil perusahaan, sedangkan website dinamis adalah seperti Friendster, Multiply, dll. Dalam sisi pengembangannya, website statis hanya bisa diupdate oleh pemiliknya saja, sedangkan website dinamis bisa diupdate oleh pengguna maupun pemilik. 2.1.3.1 Domain Unsur-unsur Dalam Penyediaan Website atau Situs Untuk menyediakan sebuah website, maka kita harus menyeediakan unsurunsur penunjangnya. Nama domain (Domain name/URL - Uniform Resource Locator) Nama domain atau biasa disebut dengan Domain Name atau URL adalah alamat unik di dunia internet yang digunakan untuk mengidentifikasi sebuah website, atau dengan kata lain domain name adalah alamat yang digunakan untuk menemukan sebuah website pada dunia internet. Contoh : http://www.nama situs .com Nama domain diperjualbelikan secara bebas di internet dengan status sewa tahunan. Setelah Nama Domain itu terbeli di salah satu penyedia jasa pendaftaran, maka pengguna disediakan sebuah kontrol panel untuk administrasinya. Jika pengguna lupa/tidak memperpanjang masa sewanya, maka nama domain itu akan di lepas lagi ketersediaannya untuk umum. Nama domain sendiri mempunyai identifikasi ekstensi/akhiran sesuai dengan kepentingan dan lokasi keberadaan website tersebut.
Contoh nama domain ber-ekstensi internasional adalah com, net, org, info, biz, name, ws. Contoh nama domain ber-ekstensi lokasi Negara Indonesia adalah : • .co.id : Untuk Badan Usaha yang mempunyai badan hukum sah • .ac.id : Untuk Lembaga Pendidikan • .go.id : Khusus untuk Lembaga Pemerintahan Republik Indonesia • .mil.id : Khusus untuk Lembaga Militer Republik Indonesia . • .or.id : Untuk segala macam organisasi yand tidak termasuk dalam kategori “ac.id”,”co.id”,”go.id”,”mil.id” dan lain lain • war.net.id : untuk industri warung internet di Indonesia
2.1.3.2 Jenis-jenis Website Portal, seperti Yahoo!, adalah situs Web yang yang menawarkan beragam layanan internet dari satu lokasi tunggal yang mudah digunakan. Misalnya menawarkan mesin pencari, direktori, berita terbaru, e-mail, game, dan banyak lagi. Contoh portal lainnya: AltaVista, AOL, MSN, dan Netscape. Berita Situs macam ini mengandung materi terbaru yang berhasil diliput dan ditampilkan dalam Web. Keuangan, olahraga, selebritis, hingga berita politik. Hal-hal yang biasanya hanya kita dapatkan dari televisi, radio, amupun surat kabar sekarang dapat diakses dengan mudah dengan sekali klik. Misalnya situs berita CNN. Informasi Jaman sekarang orang haus akan informasi, dan di Web terlah terdapat banyak situs-situs berisi banyak informasi yang susah didapat di dunia nyata. Ingin tahu lebih banyak tentang chord gitar misalnya, silakan buka Ulimate-guitar. Bisnis Situs ini berisi promosi barang atau jasa yang ditawarkan lewat internet. Biasanya dimiliki oleh perusahaan yang benar-benar eksis di dunia nyata. Tidak menutup
kemungkinan kita dapat memesan barang secara online. Situs yang popular diantarnya adalah:Ebay Pendidikan Siapa bilang belajar cuma di sekolah dan buku? Di Web ada banyak situs pembelajaran yang dapat diandalkan mengisi waktu luang. Bahkan ada beberapa universitas yang menawarkan kuliah secara online dan mendapat seftifikat lewat cyberworld. Guru-guru sekolah yang melek internet juga biasanya memasang bahan pembelajaran dalam situs mereka untuk dapat dimanfaatkan anak didiknya. Salah satu contoh situs pebelajaran tentang komputer adalah:Ilmu Komputer. Hiburan Situs ini menawarkan hal-hal yang menarik dan inovatif. Mereka menyediakan video, lagu, games, dan masih banyak lagi. Contoh situs tentang download video misalnya, adalah Youtube. Advokasi Kita dapat menemukan isi tentang tujuan, pendapat, atau gagasan untuk meyakinkan pembaca bahwa hal itu adalah benar. Biasanya situs seperti ini merupakan buah pikiran dari orang-orang dari golongan tertentu. Misalnya situs Richdad. Blog Kependekan dari Weblog. Semacam buku harian atau jurnal, yang dipergunakan pemiliknya untuk menulis hal-hal yang disukainya. Isi blog satu dengan yang lain bervariasi, tergantung pola pikir pemiliknya. Dapat dibuat sendiri atau dengan menggunakan layanan gratis di internet, misalnya Wordpress. Contoh blog ya, Aer Puteh ini. Wiki Wiki merupakan situs hasil kolaborasi antar pengguna, yang mengubah, menambah, atau menghapus isi dari situs Web tersebut. Data penyuntingan tersebut
biasanya disimpan di halaman Web untuk ditentukan masalah ketepatannya. Situs ini berbeda denga blog karena pembaca blog tidak dapat menyinting isi dari siatu blog, kecuali pemiliknya sendiri. Wikipedia adalah salah satu contoh wiki yang populer. Agregator Isi Situs ini dinamakan juga Content Agregator, adalah perusahaan yang mendistribusikan atau menampilkan berita terbaru dari Web dan menyebarkannya pada pengguna. Aktifitas ini biasa disebut feed dan menggunakan fasilitas RSS (Really Simple Syndication). Hal ini memungkinkan kita tidak tertinggal berita dan selalu up-to-date tentang konten suatu situs. Salah satu contohnya adalah blog-indonesia yang menampilkan feed dari blog-blog yang terdaftar. Perorangan Semua orang dapat membuat situs pribadi dengan berbagai alasan. Apalagi sekarang orang bisa dengan mudah membuat situs dengan bantuan software tertentu seperti Dreamweaver. Isinya bergantung dengan kebutuhan pemilik, dan ia bebas mendesain situsnya dengan kreasinya sendiri. Misalnya situs It-he Software.
2.1.3.3 Pengertian PHP PHP pertama kali dibuat oleh Rasmus Lerdorf pada tahun 1995. Pada waktu itu PHP bernama FI (Form Interpreted). Pada saat tersebut PHP adalah sekumpulan script yang digunakan untuk mengolah data form dari web. Perkembangan selanjutnya adalah Rasmus melepaskan kode sumber tersebut dan menamakannya PHP/FI, pada saat tersebut kepanjangan dari PHP/FI adalah Personal Home Page/Form Interpreter. Dengan pelepasan kode sumber ini menjadi open source, maka banyak programmer yang tertarik untuk ikut mengembangkan PHP. Pada November 1997, dirilis PHP/FI 2.0. Pada rilis ini interpreter sudah diimplementasikan dalam C. Dalam rilis ini disertakan juga modul-modul ekstensi yang meningkatkan kemampuan PHP/FI secara signifikan.
Pada tahun 1997, sebuah perusahaan bernama Zend, menulis ulang interpreter PHP menjadi lebih bersih, lebih baik dan lebih cepat. Kemudian pada Juni 1998 perusahaan tersebut merilis interpreter baru untuk PHP dan meresmikan nama rilis tersebut menjadi PHP 3.0. Pada pertengahan tahun 1999, Zend merilis interpreter PHP baru dan rilis tersebut dikenal dengan PHP 4.0. PHP 4.0 adalah versi PHP yang paling banyak dipakai. Versi ini banyak dipakai sebab versi ini mampu dipakai untuk membangun aplikasi web kompleks tetapi tetap memiliki kecepatan proses dan stabilitas yang tinggi. Pada Juni 2004, Zend merilis PHP 5.0. Versi ini adalah versi mutakhir dari PHP. Dalam versi ini, inti dari interpreter PHP mengalami perubahan besar. Dalam versi ini juga dikenalkan model pemrograman berorientasi objek baru untuk menjawab perkembangan bahas pemrograman kearah pemrograman berorientasi objek. Kelebihan PHP dari bahasa pemrograman lain: * Bahasa pemrograman php adalah sebuah bahasa script yang tidak melakukan sebuah kompilasi dalam penggunaanya. * Web Server yang mendukung php dapat ditemukan dimana - mana dari mulai IIS sampai dengan apache, dengan configurasi yang relatif mudah. * Dalam sisi pengembangan lebih mudah, karena banyaknya milis - milis dan developer yang siap membantu dalam pengembangan. * Dalam sisi pemahamanan, php adalah bahasa scripting yang paling mudah karena referensi yang banyak. * PHP adalah bahasa open source yang dapat digunakan di berbagai mesin (linux, unix, windows) dan dapat dijalankan secara runtime melalui console serta juga dapat menjalankan perintah-perintah system.
2.1.3.4 Analisis Data Menurut Sekaran dan Bougie (2010:26), analisis data merupakan data yang dikumpulkan secara statistik kemudian dianalisis untuk melihat jika ada hipotesis yang dihasilkan dapat mendukung hasil berikutnya dari analisis yang akan diproses lebih lanjut. Menurut Sugiyono (2014:147), analisis data merupakan kegiatan setelah data dari seluruh responden atau sumber data lain terkumpul. Kegiatan dalam analisis data adalah: mengelompokkan data berdasarkan variabel dan jenis responden, mentabulasi data berdasarkan variabel dari seluruh responden, menyajikan data tiap variabel yang diteliti, melakukan perhitungan untuk menjawab rumusan masalah, dan melakukan perhitungan untuk menguji hipotesis yang telah diujikan. 2.1.3.5 Aplikasi O’Brien (2006:37), aplikasi merupakan suatu bagian dari perangkat lunak yang dapat digunakan untuk menyelesaikan masalah-masalah yang khusus yang dihadapi pengguna dengan menggunakan kemampuan komputer. Aplikasi digunakan oleh pemakai akhir dan merupakan program pemrosesan langsung di dalam suatu computer.
2.1.3.6 User Interface O’Brien (2005:117), user interface adalah bagian dari sistem operasi yang memungkinkan untuk berkomunikasi serta dapat menjalankan program, mengakses file dan menyelesaikan tugas-tugas lainnya.
Menurut O’Brien (2005:117,118) ada tiga tipe utama dari user interface yaitu : command drive, menu drive dan graphical user interface. Pressman (2010:319), menyatakan bahwa ada beberapa langkah-langkah dalam merancang user interface : 1. Interface analysis and modeling Interface analysis berfokus pada user untuk berinteraksi dengan sistem. Kemudian dianalisis untuk mendefinisikan satu set objek dan aksi interface. Informasi yang dikumpulkan digunakan untuk membuat model analisis untuk interface. 2. Interface design Interface design mendefinisikan satu set obyek dan aksi interface yang memungkinkan user untuk melakukan semua tugas desain tata letak. 3. Interface construction Interface construction biasanya dimulai dengan membuat sebuah prototype yang memungkinkan skenario penggunaan untuk dievaluasi dan digunakan untuk menyelesaikan konstruksi interface. 4. Interface validation Setelah pembuatan prototype, interface validation berfokus pada evaluasi secara keseluruhan untuk menentukan kemampuan interface untuk menjalankan setiap perintah berjalan dengan benar dan sejauh mana interface mudah digunakan dan mudah dipelajari serta memenuhi kebutuhan user.
2.1.4 Eight Golden Rules Teori delapan aturan emas dari Shneiderman dan Plaisant (2010:88) yang digunakan sebagai petunjuk dalam merancang tampilan situs web : a. Menjaga konsistensi Berfokus pada rentetan aksi yang bersifat konsisten pada situasi yang sama. Terminologi yang identik harus digunakan pada prompts, menu, dan help screen, serta konsisten dalam hal penggunaan warna, layout, kapitalisasi, font, dan lainnya. Kecuali
pada konfirmasi dalam perintah penghapusan atau penampilan password yang harus dipertimbangkan dan dibatasi penggunaannya. b. Menyediakan universal usability Memberikan penambahan fitur-fitur baru untuk pengguna awam seperti penjelasan mengenai menu yang ada. Dan untuk pengguna yang telah ahli disediakan fitur shortcut dan fitur untuk navigasi yang lebih cepat. Hal tersebut dapat memperkaya tampilan dan menambah kualitas sistem. c. Memberikan umpan balik yang informatif Untuk setiap aksi dari user, harus ada respon dari sistem. Untuk aksi yang kecil dan sering dilakukan, dapat digunakan respon yang sederhana, sedangkan untuk aksi yang penting dan jarang, dapat digunakan respon yang lebih kompleks. d. Perancangan dialog untuk menghasilkan penutupan Umpan balik yang informatif memberikan rasa puas terhadap pengguna bahwa hal yang dilakukan telah selesai maupun baru akan dimulai. Misalnya situs e-commerce yang diakhiri dengan halaman konfirmasi yang jelas bahwa transaksi yang dilakukan telah berakhir. e. Mencegah terjadinya error Rancangan dari sistem harus menghindari terjadinya error yang fatal. Misalnya memberikan warna peringatan terhadap menu yang tidak sesuai atau tidak mengijinkan karakter alfabet pada field numerik. Jika pengguna melakukan kesalahan, maka sistem harus segera mendeteksi kesalahan tersebut dan memberikan instruksi pemecahan masalah yang sederhana, konstruktif dan spesifik untuk mengatasi error tersebut. f. Memungkinkan untuk kembali ke aksi sebelumnya Sebisa mungkin suatu aksi harus dapat dibatalkan. Fitur ini akan menghilangkan kecemasan pengguna karena mereka tahu bahwa error dapat diatasi, dan mendorong eksplorasi dari opsi-opsi yang belum pernah dikunjungi sebelumnya. g. Mendukung internal locus of control Pengguna yang telah berpengalaman memiliki keinginan yang kuat bahwa mereka memegang kendali atas interface dan interface tersebut merespon terhadap aksi yang mereka lakukan.
h. Mengurangi beban ingatan jangka pendek Hal ini terjadi akibat keterbatasan kemampuan mengingat otak manusia dalam memproses suatu informasi yang diterima. Oleh karena itu perancang situs harus menghindari kondisi dimana pengguna harus mengingat informasi dari satu layar dan kemudian menggunakan informasi tersebut pada layar lainnya. Itu berarti bahwa nomor telepon harus dimasukkan sekali saja, lokasi situs web harus tetap terlihat, dan harus ada pertimbangan terhadap tampilan halaman web yang lebih dari satu.
2.2 Teori Khusus 2.2.1 Flowchart Menurut Hall (2008:71), flowchart merupakan representasi grafis dari suatu sistem yang mendeskripsikan physical relationship diantara entitasnya. Flowchart dapat digunakan untuk mendeskripsikan suatu aktivitas maupun proses. Simbol-simbol flowchart dapat dilihat pada tabel berikut. Tabel 2.1 Elemen Flowchart
2.2.2 UML (Unified Modelling Language) UML menurut Whitten & Bentley (2007:371) merupakan sekumpulan pemodelan konvensi yang digunakan untuk menspesifikasi atau mendeskripsikan obyek dari sistem perangkat lunak. UML tidak menetapkan suatu metode untuk mengembangkan sistem karena UML hanya berupa notasi yang diterima secara umum sebagai standarisasi untuk memodelkan obyek. 2.2.2.1 Analisis Menurut Ramnath dan Dathan (2011:134), analisis menentukan requirement dari sistem dan apa yang harus dilakukan oleh sistem. Proses ini dilakukan oleh tim analis. Tim analis akan membuat model dari sistem, mengidentifikasikan beberapa komponen sistem dan relationship diantara mereka. Produk yang dihasilkan dari fase ini adalah conceptual model dari sistem yang mendeskripsikan fungsionalitas sistem, mengidentifikasikan conceptual entities dan mencatat sifat asosiasi antar entitas tersebut. 2.2.2.2 Perancangan Pressman (2010:215) berpendapat perancangan adalah membuat gambaran atau model dari sebuah perangkat lunak dengan menyediakan rincian mengenai arsitektur dari perangkat lunak, struktur data, tampilan, dan komponen yang diperlukan untuk mengimplementasikan sistem. Perancangan berperan penting karena model ini dapat dinilai terlebih dahulu kualitasnya dan dikembangkan sebelum sistem dibangun. 2.2.2.3 Use Case Diagram Menurut Whitten & Bentley (2007:246), use case diagram merupakan diagram yang menggambarkan interaksi antara sistem, eksternal sistem dan pengguna. Diagram ini mendeskripsikan siapa yang akan menggunakan sistem dan dengan cara apa yang diharapkan oleh pengguna untuk dapat berinteraksi dengan sistem. Simbol pada use case diagram :
Gambar 2.1 Model diagram Use Case (Sumber: Whitten & Bentley, 2007:246) a) Use Case Use case mendeskripsikan fungsi dari sistem dari perspektif user dengan menggunakan kata-kata dan terminologi yang mereka pahami (Whitten & Bentley, 2007:246). Use case dilambangkan dengan simbol :
Gambar 2.2 Simbol Use-Case Use case menyatakan hanya satu tujuan dari sistem dan mendeskripsikan rentetan aktivitas dan interaksi pengguna dalam upaya mencapai tujuan tersebut. b) Actor Menurut Whitten & Bentley (2007:247), actor merupakan segala sesuatu yang berinteraksi dengan sistem untuk bertukar informasi. Actor merepresentasikan peran yang harus dipenuhi oleh pengguna untuk berinteraksi dengan sistem. Faktanya actor tidak harus manusia, actor dapat berupa organisasi, sistem informasi yang lain, peralatan eksternal seperti sensor panas, atau bahkan waktu. Simbol actor :
Gambar 2.3 Simbol Actor c) Relationship Relationship menurut Whitten & Bentley (2007:248), digambarkan sebagai garis yang menghubungkan antara dua simbol pada diagram use case. 1) Association Asosiasi merupakan relationship antara actor dan use case dimana interaksi terjadi diantara mereka berdua. Asosiasi dengan tanda panah mengindikasikan use case diimitasi oleh actor pada ujung garis yang lain. Sedangkan asosiasi tanpa tanda panah mengindikasikan interaksi antara use case dan eksternal server atau actor penerima (Whitten & Bentley, 2007:248).
Gambar 2.4 Contoh Association Relationship (Sumber: Whitten & Bentley, 2007:248) 2) Inheritance Menurut Whitten & Bentley (2007:250), inheritance dalam use case menunjukkan hubungan antara actor yang bertujuan untuk menyederhanakan penggambaran ketika abstract actor mewarisi peran dari beberapa actor asli lain.
Gambar 2.5 Contoh Inheritance Relationship (Sumber: Whitten & Bentley, 2007:250) 2.2.2.4 Use Case Narrative Whitten & Bentley (2007:246) mendeskripsikan use case narrative sebagai deskripsi secara tertulis dari event bisnis dan bagaimana user akan berinteraksi dengan sistem untuk mencapai tujuan. Format use case narrative adalah sebagai berikut. Tabel 2.2 Elemen Use Case Narrative Elemen Use case name
Keterangan Nama use case harus merepresentasikan tujuan yang hendak dicapai use case. Nama harus diawali dengan kata kerja.
Use case id
Penanda
yang
secara
unik
mendefinisikan use case. Priority
Mengkomunikasikan
tingkat
kepentingan use case (low, medium, high). Primary business actor
Stakeholder
yang
mendapatkan
keuntungan langsung dari eksekusi use
case dengan menerima sesuatu yang bisa diukur maupun dinilai. Description
Deskripsi singkat yang berisi beberapa kalimat yang menguraikan tujuan dan aktivitas dari use case.
Precondition
Use case lain harus dijalankan terlebih dahulu sebelum use case ini dieksekusi.
Trigger
Event yang memulai eksekusi sebuah use case. Biasanya berupa physical action atau waktu.
Typical Course of Events
Rentetan aktivitas yang dilakukan oleh actor dan system dengan maksud untuk memenuhi sasaran dari use case.
2.2.2.5 Class Diagram Class diagram menurut Whitten & Bentley (2007:400), merupakan gambaran grafis dari struktur obyek sistem yang bersifat statis, menunjukkan class object yang membentuk sistem serta relasi antar class object tersebut. Dalam class diagram dikenal istilah visibility, yaitu bagaimana atribut dan method didefinisikan untuk diakses oleh class lain. Ada tiga macam visibility Tabel 2.3 Visibility pada Class Diagram Nama
Simbol
Public
Keterangan Atribut
“+”
bersifat
public
dapat diakses dan dipanggil oleh method pada class yang berbeda.
Protected
Protected
method
dapat
dipanggil oleh method lain “#”
dalam class dimana atribut
atau method didefinisikan atau subclass dari class tersebut. Private
Private method hanya dapat dipanggil oleh method lain “-”
pada class dimana atribut atau
method
tersebut
didefinisikan.
a) Entity Classes Entity class biasanya berhubungan dengan item yang ada di dunia nyata dan berisi informasi, yang disebut dengan atribut. Class tersebut juga mengenkapsulasi behavior (method) yang berperan sebagai informasi atau atribut. (Whitten & Bentley, 2007:648).
Gambar 2.6 Contoh Entity Class (Sumber: Whitten & Bentley, 2007:651) b) Relationships 1) Association Association menurut Whitten & Bentley (2007:376) merupakan garis penunjuk relasi yang menghubungkan antar class.
Gambar 2.7 Contoh Association Relationship (Sumber: Whitten & Bentley, 2007:377 ) Relasi di atas dapat dijelaskan : Customer menempatkan nol atau lebih order Order ditempatkan oleh satu dan hanya satu customer. 2) Dependency Digunakan untuk memodelkan asosiasi antara dua class pada dua instansi dengan tujuan : Mengindikasikan bahwa ketika terjadi perubahan pada satu class akan berpengaruh pada class yang lain. Sebagai indikasi asosiasi antara persistent class dan transient class. Persistent class merupakan class yang mendeskripsikan object yang menyatakan bahwa object tersebut dapat hidup lebih lama dari waktu eksekusi programnya. Sedangkan transient class adalah class yang mendeskripsikan object yang object tersebut dibuat sementara oleh program dan hanya akan hidup selama eksekusi program berlangsung (Whitten & Bentley, 2007:405).
Gambar 2.8 Contoh Dependency Relationship (Sumber: Whitten & Bentley, 2007:650 ) Gambar di atas menjelaskan class Order Display Window merupakan class interface dan dibuat untuk menampilkan isi dari Order. Class Order Display Window tergantung pada class Place New Order Handler untuk memetakan informasi dan class tersebut akan merespon terhadap event . 3)Navigability
Asosiasi yang dilakukan pembatasan pengiriman pesan hanya ke satu arah saja. Seperti pada contoh di bawah yang menjelaskan pergantian password oleh user. Yang terjadi adalah class user mengirimkan pesan untuk mengubah password kepada class password. Bukan password dari user yang bersangkutan yang hendak diubah password-nya dikirim ke class user (Whitten & Bentley, 2007:650).
Gambar 2.9 Contoh Navigability (Sumber: Whitten & Bentley, 2007:650 ) 4) Aggregation Menurut Whitten & Bentley (2007:378), aggregation adalah relasi dengan class yang lebih besar terdiri dari satu atau lebih bagian kecil dari suatu class.
Gambar 2.10 Notasi Aggregation (Sumber: Whitten & Bentley, 2007:379 ) 5) Composition Relasi class yang utuh memiliki tanggung jawab atas pembentukan dan penghancuran bagian-bagiannya. Jika bagian yang utuhnya hancur maka bagian-bagiannya juga akan ikut
hancur
(Whitten
&
Bentley,
2007:378).
Gambar 2.11 Composition Notation (Sumber: Whitten & Bentley, 2007:379 ) c) Multiplicity Multiplicity menurut Whitten & Bentley (2007:378) adalah jumlah minimum dan maksimum kejadian yang terjadi pada suatu object class dengan class lainnya.
Gambar 2.12 Notasi Multiplicity (Sumber: Whitten & Bentley, 2007:377 ) 2.2.2.6 Activity Diagram Activity diagram menurut Whitten & Bentley (2007:390), merupakan diagram yang digunakan untuk menggambarkan aliran proses bisnis, langkah-langkah menggunakan use case atau logika behavior dari object. Setidaknya untuk satu use case bisa menghasilkan satu activity diagram, tetapi jika use case-nya panjang akan bisa menghasilkan lebih dari satu activity
diagram. Diagram ini bisa memodelkan kegiatan yang akan dieksekusi ketika sebuah operasi dieksekusi serta hasil dari kegiatan tersebut. Notasi activity diagram dapat dilihat pada table berikut : Tabel 2.4 Notasi Activity Diagram Nama Simbol Initial node
Simbol
Keterangan Gambar lingkaran penuh yang
merepresentasikan
dimulainya suatu proses. Action
Persegi panjang berbentuk bulat
yang
menyatakan
langkah-langkah kegiatan. Flow
Anak panah pada diagram yang
mengindikasikan
progression.
Kebanyakan
flow
memerlukan
tidak
penjelasan atau keterangan yang
mengidentifikasi
mereka kecuali flow yang merupakan
hasil
dari
decision. Decision
Gambar berbentuk diamond dengan
arah
satu
flow
masuk dan dua flow keluar. Flow yang keluar diberi keterangan
untuk
mengindikasikan kondisi.
Merge
Bentuk
diamond
dengan
dua atau lebih flow masuk dan satu flow keluar. Merge menggabungkan flow yang sebelumnya terpisah oleh decision. Fork
Balok hitam dengan satu flow masuk dan dua flow keluar.
Kegiatan
bersifat
paralel
menggunakan dapat
yang ditandai
fork
dieksekusi
agar secara
bersamaan. Join
Balok hitam dengan dua atau lebih flow masuk dan satu
flow
menandakan proses
keluar, berakhirnya
yang
dieksekusi
secara bersamaan. Semua kegiatan yang masuk ke join
harus
terlebih
diselesaikan
dahulu
sebelum
pemrosesan dilanjutkan. Activity final
lingkaran
penuh
yang
berada di dalam lingkaran berbentuk menandakan proses.
garis akhir
dari
2.2.7.7 Sequence Diagram
Gambar 2.13 Simbol Sequence Diagram I (Sumber: Whitten & Bentley, 2007:395 )
Gambar 2.14 Simbol Sequence Diagram II (Sumber: Whitten & Bentley, 2007:395 ) Menurut Whitten & Bentley (2007:394), sequence diagram merupakan diagram yang menggambarkan interaksi antara actor dan sistem untuk use case scenario. Sequence menjelaskan bagaimana object berinteraksi dengan yang lainnya melalui pesan pada waktu eksekusi use case. Notasi yang digunakan dalam sequence diagram dapat dilihat pada table berikut : Tabel 2.5 Notasi Sequence Diagram No Nama Notasi
Keterangan
1
Actor yang memulai suatu kegiatan, digambarkan
Actor
dengan simbol actor dari use case. 2
System
Kotak yang mengindikasikan sistem sebagai “black box” atau sepenuhnya. Tanda “:” merupakan notasi standar pada sequence diagram untuk menandakan instansi pada sistem yang sedang berjalan.
3
Lifelines
Garis putus-putus vertikal terbentang ke bawah dari actor dan sistem, menandakan kehidupan atau masa aktif dari sequence.
4
Activation bars
Balok yang ada pada lifelines mengindikasikan masa waktu ketika partisipan dalam status aktif pada interaksi.
5
Input messages
Anak panah horizontal yang terbentang dari actor ke sistem
mengindikasikan
pesan
yang
masuk.
Penulisannya adalah huruf awal merupakan huruf kecil dan menambahkan kata tambahan dengan abjad awal berupa huruf kapital dan tanpa spasi. 6
Output messages
Anak panah horizontal dari sistem ke actor yang ditunjukkan dengan garis putus-putus.
7
Receiver actor
Actor lain atau sistem eksternal yang menerima pesan dari sistem.
8
Frame
Kotak yang dapat menyertakan satu atau lebih pesan untuk memisahkan bagian dari sequence. Frame dapat menyatakan loop, bagian yang bersifat alternatif atau langkah opsional. Untuk bagian opsional, kondisi yang ditunjukkan pada kurung siku menyatakan tersebut
kondisi
akan
dimana
dieksekusi
langkah-langkah
apabila
memenuhi
kondisinya.
2.2.2.8 ERD (Entity Relationship Diagram) Menurut Whitten & Bentley (2007:271), ERD merupakan model data yang menggunakan beberapa notasi untuk menggambarkan data yang melambangkan entitas dan hubungannya yang dideskripsikan oleh data tersebut. Ada beberapa macam notasi ERD yang diberi nama sesuai dengan penemunya, seperti Chen, Bachman, Merise, atau standar penerbit, seperti IDEF1X. Tetapi yang dipakai adalah notasi Martin karena sudah dikenal dan mendukung CASE tool.
1) Entitas Entitas merupakan class dari manusia, tempat, obyek, kejadian, atau konsep mengenai apa yang perlu kita dapatkan dan menyimpan data (Whitten & Bentley, 2007:271). Kategori dari entitas meliputi : Tabel 2.6 Kategori Entitas ERD Entitas Persons
Keterangan Dalam kehidupan nyata dapat dicontohkan agensi, kontraktor, client, divisi, karyawan, mahasiswa, dan lainnya.
Places
Obyek yang dapat diambil sebagai contoh seperti bangunan, kamar, universitas, dan lainnya
Objects
Contohnya
buku,
mesin,
produk,
kendaraan dan lainnya. Entitas object dapat
merepresentasikan
obyek
yang
aktual (seperti lisensi perangkat lunak tertentu) atau spesifikasi untuk tipe dari obyek (seperti spesifikasi untuk paket perangkat lunak yang berbeda). Events
Contohnya penerbangan,
pembatalan,
penghargaan,
invoice,
pemesanan,
registrasi, dan lainnya. Concepts
Contohnya akun, kualifikasi, stok, dan lainnya.
Entitas digambarkan dengan :
Gambar 2.15 Contoh Entity (Sumber: Whitten & Bentley, 2007:271 ) 2) Attributes Atribut menurut Whitten & Bentley (2007:272), adalah deskripsi properti atau karakteristik dari entitas. Atribut bisa disebut element, property, dan field. Contohnya entitas STUDENT yang memiliki atribut : Name, Address, Phone Number, Date of Birth, Gender, Race dan lainnya. Ada juga atribut yang terdiri dari atribut lainnya yang disebut compound attribute. Compound attribute dapat juga disebut concatenated attribute, composite attribute dan data structure. Misalnya pada atribut Name pada entitas Student dapat memiliki atribut seperti Last Name, First Name, dan Middle Initial.
Gambar 2.16 Contoh Attribute dan Compound Attribute (Sumber: Whitten & Bentley, 2007:272 )
3) Relationships Whitten & Bentley (2007:275), mendeskripsikan relationship sebagai asosiasi bisnis yang bersifat alami antara satu atau lebih entitas. Contohnya :
Gambar 2.17 Contoh Relationship (Many to Many) (Sumber: Whitten & Bentley, 2007:275 ) Pada gambar di atas dapat dijelaskan bahwa entitas Student memiliki relasi dengan entitas Curriculum dimana : Student yang ada mengikuti satu atau lebih Curriculum. Curriculum dipelajari oleh tidak ada, satu, atau lebih Student. Gambar di atas juga menjelaskan adanya cardinality. Cardinality merupakan jumlah kejadian baik maksimum maupun minimum dari satu entitas yang mungkin memiliki relasi terhadap suatu kejadian dari entitas lain. Berikut adalah notasi cardinality :
Gambar 2.18 Notasi Cardinality (Sumber: Whitten & Bentley, 2007:276 )
2.3 Penelitian Terdahulu Penelitian Website Perancangan database untuk aplikasi gudang telah dilakukan sebelumnya. Berikut ini penulis uraikan beberapa penelitian terdahulu mengenai pengaruh kualitas sistem informasi terhadap kepuasan pengguna:
Nama Peneliti & Tahun
Tabel 2.7 Penelitian Terdahulu Judul Penelitian Method
Iqbal Maula Aplikasi Pengolahan Data Peminjaman Dan Yanwar (2010)
Pengembalian Perkakas Di Gudang PT. Dirgantara Indonesia
Metode peninjauan Deskriptif, dengan bantuan Sistem Waterfall
Hasil
Gudang Pt. Dirgantara Sangat Terbantu dengan adanya sistem peminjaman dan Pengembalian barang
Berdasarkan penelitian di atas di buktikan bahwa semakin bertambahnya tahun dan dengan adanya AFTA pada tahun 2015 maka akan semakin banyak perusahaan-perusahaan kecil maupun besar yang membutuhkan aplikasi gudang untuk stock barang pada perusahaan tersebut.