BAB 2 TINJAUAN PUSTAKA
2.1.
Pengertian File Manager File manager adalah sebuah program komputer yang mengorganisir dan
membuat daftar dari semua file dan directory (kumpulan dari beberapa file) pada sebuah komputer (Cambridge University Press, 2015). 2.2.
Pengertian Database Menurut (Connolly & Begg, 2015, p. 63), Database adalah kumpulan dari
data-data yang berhubungan secara logikal dan deskripsi dari data yang dirancang untuk memenuhi kebutuhan informasi sebuah organisasi. 2.3.
Unified Modeling Language (UML) Menurut (Whitten & Bentley, 2007, p. 371), Unified Modeling Language
(UML) adalah sebuah bahasa pemodelan yang digunakan untuk menentukan atau menggambarkan sebuah sistem software yang berkaitan dengan objek-objek yang ada di dalam sistem tersebut. UML tidak menentukan sebuah cara khusus untuk mengembangkan sistem, melainkan hanya panduan standar yang sekarang diterima secara luas sebagai standar untuk object modeling.
2.3.1. Use-Case Diagram Menurut (Whitten & Bentley, 2007, p. 246), Use-case diagram menggambarkan interaksi-interaksi antara sistem dan sistem eksternal dan pengguna. Use-case diagram memiliki komponen yang harus dipenuhi, yaitu : -
Use Cases, yaitu sekumpulan fungsi yang terdapat dalam sistem dimana fungsi-fungsi tersebut dapat dilakukan oleh actor (user) untuk melakukan pekerjaannya dengan sistem yang ada.
-
Actors, yaitu segala sesuatu yang menginisiasi sistem, yaitu use-case, dengan tujuan menyelesaikan tugas bisnis yang memproduksi suatu nilai yang dapat diukur.
-
Relationships, yaitu garis yang menghubungkan antara 2 simbol pada usecase diagram. Arti dari relasi yang digambarkan bisa berbeda tergantung dari
7
8 bagaimana garis digambar dan lambang seperti apa yang dipakai untuk menghubungkan.
Gambar 1.1 Use-Case Diagram (Sumber: (Whitten & Bentley, 2007, p. 250))
Tabel 2.1 Notasi Use-Case Diagram
Nama Komponen
Keterangan
Simbol
Use-Case
Use-case digambarkan sebagai lingkaran elips dengan nama use case dituliskan di dalam elips tersebut.
Actor
Actor adalah pengguna sistem. Actor
tidak
terbatas
hanya
manusia saja, jika sebuah sistem berkomunikasi dengan aplikasi lain dan membutuhkan input atau memberikan
output,
maka
aplikasi tersebut juga dianggap sebagai actor.
Use case name
9 Association
Asosiasi digunakan untuk menghubungkan actor dengan use case. Asosiasi digambarkan dengan sebuah garis yang menghubungkan antara actor dengan use case.
2.3.2.
Use-Case Narrative Menurut (Whitten & Bentley, 2007, p. 246), Use-case narrative
adalah sebuah deskripsi tekstual secara detail dari peristiwa bisnis yang ada dalam use-case diagram dan menspesifikkan bagaimana user berinteraksi dengan sistem untuk menyelesaikan tugas. Terdapat beberapa bagian yang perlu diperhatikan pada saat menggunakan use-case narrative, antara lain : 1. Author : nama dari orang yang berpartisipasi dalam menulis use-case dan orang yang menyediakan titik temu bagi yang membutuhkan informasi tentang use-case. 2. Date : tanggal terakhir use-case dimodifikasi. 3. Version : versi use-case tersebut. 4. Use-case name : berisikan tujuan yang ingin dicapai oleh use-case. Nama yang ada harus diawali kata kerja. 5. Use-case type : business-oriented dan merefleksikan tingkah laku dari sebuah sistem. 6. Use-case ID : suatu tanda pengenal yang unik yang mengidentifikasikan sebuah use-case. 7. Priority : menginformasikan tingkat kepentingan dari use-case berada di tingkat tinggi, sedang, atau rendah. 8. Source : mendefinisikan aspek-aspek yang memicu dibentuknya use-case, bisa berupa kebutuhan, dokumen yang spesifik, atau stakeholder. 9. Primary business actor : stakeholder utama yang mendapatkan benefit apabila use-case yang ada telah berjalan. 10. Other participating actors : actor lain yang berpartisipasi dalam use-case untuk mencapai tujuan dari use-case tersebut. 11. Interested stakeholder(s) : siapa saja yang menopang pengembangan dan pengoperasian dari sistem software.
10 12. Description : ringkasan pendek yang mendeskripsikan maksud dari usecase dan aktivitas dari use-case tersebut.
Gambar 2.2 Use-Case Narrative (Sumber: (Whitten & Bentley, 2007, p. 257)) 2.3.3.
Class Diagram Menurut (Whitten & Bentley, 2007, p. 400), Class diagram adalah
sebuah penggambaran grafis dari sebuah struktur obyek statis pada sistem, yang menunjukkan kelas obyek yang menyusun sistem beserta relasi antara kelas-kelas obyek tersebut.
11
Gambar 3.3 Class Diagram (Sumber: (Whitten & Bentley, 2007, p. 406))
12 Tabel 2.2 Notasi Class Diagram
Simbol
Keterangan Class
Class name Deskripsi dari objek yang terbagi atas 3 bagian, yaitu nama class pada bagian atas, atribut pada bagian tengah dan operasi pada bagian bawah. Association
Relasi terstruktur antar class yang saling berelasi Aggregation
Bentuk spesial dari hubungan asosiasi yang memiliki hubungan secara spesifik antar kumpulan dan sebuah bagian. Agregasi digambarkan dengan wajik tidak berisi. Generalization
Relasi yang memperlihatkan suatu kelas dapat lebih general atau lebih spesifik dari kelas lainnya. contain
Multiplicity
Menggambarkan jumlah objek yang berpartisipasi dalam hubungan antar class.
2.3.4.
Sequence Diagram Menurut
(Whitten & Bentley, 2007, p. 394), Sequence diagram
adalah sebuah diagram yang menggambarkan interaksi antara seorang actor dan sistem untuk sebuah skenario use-case.
13
Gambar 4.4 Sequence Diagram (Sumber: (Whitten & Bentley, 2007, p. 395))
14 Tabel 2.3 Notasi Sequence Diagram
Nama Object Lifeline
Keterangan
Simbol
Menyatakan kehidupan suatu objek.
Orang atau divisi yang
Actor
terlibat dalam suatu sistem.
Menyatakan
Message
arah
tujuan
antara Object Lifeline.
Message (return)
Menyatakan arah kembali dalam 1 Object Lifeline.
Message (return)
Menyatakan arah kembali antara Object Lifeline.
Activation
Menyatakan objek dalam keadaan aktif dan berinteraksi.
2.3.5.
Activity Diagram Menurut (Whitten & Bentley, 2007, p. 390), Activity diagram adalah
sebuah diagram yang bisa digunakan untuk menggambarkan aliran dari proses bisnis, langkah-langkah use case, atau logika dari fungsi pada objek.
15
Gambar 5.5 Activity Diagram (Sumber: (Whitten & Bentley, 2007, p. 392))
16 Tabel 2.4 Notasi Activity Diagram
Komponen
Simbol
Keterangan
Initial Node
Menyatakan awal dari proses
Actions
Merupakan
langkah-langkah
individu yang membentuk aktivitas total yang ditunjukkan melalui diagram Flow
Menunjukkan
perkembangan
aktivitas Decision
Menunjukkan kegiatan pemilihan yang menghasilkan keputusan
Fork
Menunjukkan tindakan dilakukan secara bersama
Join
Menandakan
akhir
dan
penggabungan
proses
yang
berlangsung bersamaan
Activity Final
2.4.
Menyatakan akhir proses
Entity Relationship Diagram
Menurut (Connolly & Begg, 2015, p. 405), Entity relationship diagram (ERD) adalah diagram yang menggambarkan data-data penting seperti entity dan relationship di antara setiap data yang harus direpresentasikan melalui model. Penggunaan ERD memberikan kemudahan dalam pemodelan data. Adapun komponen pembentuk Entity Relationship Diagram adalah : •
Entity type merupakan kelompok objek dengan karakteristik, yang dapat diidentifikasi oleh enterprise yang memiliki keberadaan yang independen.
17 •
Relationship type adalah kumpulan dari asosiasi yang bermakna di antara entity type.
•
Attribute merupakan komponen dari sebuah entity atau relationship type.
Gambar 2.6 Entity Relationship Diagram (Sumber: (Connolly & Begg, 2015, pp. C-6)) 2.5.
PHP (PHP: HyperText Preprocessor) (Suehring & Valade, 2013, p. 271) mendefinisikan PHP adalah bahasa script
yang dirancang khusus yang digunakan dalam membangun sebuah web. PHP memiliki
fitur-fitur
yang
dapat
membantu
dalam
membuat
tugas-
tugas yang dibutuhkan untuk mengembangkan aplikasi web yang dinamis.
2.6.
Delapan Aturan Emas Menurut (Shneiderman & Plaisant, 2010, pp. 88-89), ada delapan aturan emas
yang digunakan dalam merancang antar muka, yaitu : a. Konsistensi Konsistensi urutan aksi dibutuhkan dalam situasi yang mirip, istilah yang identik perlu digunakan pada menu, dan help screen, serta konsistensi warna, layout, huruf, kapitalisasi dan lain-lainnya. Dengan tampilan yang konsisten
18 akan membantu user untuk merasa tetap berada dalam aplikasi yang sama walaupun telah berpindah halaman. b. Kegunaan universal Memenuhi kebutuhan universal berarti menyadari kebutuhan user yang berbeda-beda dan membuat desain yang fleksibel yang mendukung perubahan dalam konten. perbedaan Novice-Expert, jarak umur, kecacatan fisik, serta beragam teknologi masing-masing merupakan syarat yang harus menjadi pertimbangan dalam desain. c. Umpan balik yang informatif Setiap aksi dari user, harus ada umpan balik dari sistem. Untuk aksi-aksi kecil yang sering dilakukan, tanggapan dapat dibuat dengan sederhana. Sedangkan untuk aksi besar dan jarang dilakukan, tanggapan hendaknya lebih substansial agar user dapat mengerti dengan jelas. d. Desain dialog yang menghasilkan penutupan Urutan aksi sebaiknya disusun menjadi bagian awal, tengah, dan akhir. Umpan balik yang informatif ketika sekumpulan aksi diselesaikan, dapat memberikan kepuasan pencapaian, kelegaan, kepada user dan sebagai tanda untuk mempersiapkan diri memasuki bagian aksi selanjutnya. e. Mencegah kesalahan Sedapat mungkin sistem didesain agar user tidak dapat membuat kesalahan yang fatal. Contohnya, tidak memperbolehkan karakter alfabet pada kotak entry nomor. Interface harus mendeteksi kesalahan dan memberikan instruksi yang mudah dimengerti, membangun dan jelas untuk memperbaikinya jikalau user membuat kesalahan. f. Memungkinkan tindakan pembalikan yang mudah Sedapat mungkin, pada setiap aksi user harus terdapat pembalikan aksi. Fitur ini dapat memperkecil rasa takut, karena user tahu bahwa aksi yang salah bisa dibatalkan dan memberikan keberanian untuk memilih pilihan yang belum diketahui. Pembalikan bisa saja atas satu aksi seperti saat memasukkan data, atau serangkaian aksi seperti memasukkan nama dan alamat di formulir pengisian. g. Dukungan pusat kendali internal User yang sudah terbiasa dengan suatu aplikasi, biasanya ingin memiliki kendali atas antarmuka dan tanggapan pada aksinya. Mereka tidak
19 menginginkan adanya hal-hal yang mengejutkan pada aksi yang sudah biasa, rangkaian pemasukan data yang membosankan, sulit mendapatkan informasi yang diperlukan, dan tidak bisa menghasilkan aksi yang diinginkan. h. Mengurangi beban ingatan jangka pendek Dikarenakan oleh keterbatasan manusia dalam memproses informasi dalam jangka pendek, dibutuhkan tampilan yang ringan, penggabungan halamanhalaman, pengurangan frekuensi window-window, pemberian waktu latihan yang cukup untuk kode-kode, hafalan dan rangkaian aksi. Oleh karena itu, dalam setiap perancangan aplikasi dibutuhkan alur aplikasi yang mudah diingat oleh user. 2.7.
MVC Menurut
(Pressman,
2010,
p.
387),
MVC
merupakan
model
arsitektur yang memisahkan tampilan user dari fungsi dan content informasi webapp. Oleh karena itu MVC terbagi menjadi tiga bagian yaitu model, view dan controller. Model berisi semua aplikasi dan spesifik konten dan logika pemrosesan, termasuk di dalamnya semua obyek, akses ke data eksternal atau sumber informasi, dan semua fungsi pemrosesan yaitu aplikasi spesifik. View berisi semua fungsi tampilan yang spesifik dan memampukan presentasi mengenai isi dan logika pemrosesan, termasuk semua obyek, akses ke eksternal data atau sumber informasi, dan semua fungsi pemrosesan yang dibutuhkan oleh end user. Controller mengatur akses ke model dan view dan mengkoordinasi aliran data di antara mereka. 2.8.
Laravel Laravel merupakan framework PHP yang dibuat oleh Taylor Otwell dan
ditujukan untuk mengembangkan aplikasi web dengan mengikuti pola arsitektur Model-View-Controller (MVC). Sumber kode dari Laravel berasal dari GitHub, dan memiliki lisensi MIT (Service Stack LLC, 2015). Dalam proyek ini, kami menggunakan Laravel versi 5.1. Adapun kelebihan Laravel antara lain : 1. Sintaks yang mudah dimengerti $password = Hash::make('secret');
20 Method di atas menggunakan sintaks yang mudah dimengerti oleh manusia. 2. Fitur Eloquent ORM Fitur ini menyediakan sintaks baru yang dapat memudahkan developer dalam mengolah model yang terhubung dengan database. Contoh, untuk menampilkan semua data pada user, hanya perlu sintaks seperti ini : class User extends Eloquent{ $users = User::all(); } 3. Composer Support Composer adalah sebuah ‘dependency manager’ untuk PHP yang bisa menginstall suatu library melalui composer dan composer akan secara otomatis menginstall library lain yang dibutuhkan, tanpa perlu men-download library satu persatu. 4. Blade Templating Blade Templating memungkinkan developer untuk membuat tampilan yang lebih terstruktur dan dinamis (terbagi dalam beberapa section). 2.9.
Extreme Programming Menurut (Beck & Andres, 2004, p. 2) Extreme Programming (XP) adalah
gaya dari sebuah metode pengembangan perangkat lunak yang berfokus pada penerapan yang baik dari teknik pemrograman, komunikasi yang jelas, dan kerja sama yang menolong untuk menyelesaikan pekerjaan.
21
Gambar 2.7 Extreme Programming Process (Sumber : (Pressman, 2010, p. 74))
Menurut (Pressman, 2010) aktivitas yang dilakukan dalam proses XP: 1. Planning Aktivitas planning dimulai dengan mendengarkan atau mengumpulkan kebutuhan agar tim XP dapat mengerti konteks bisnis daripada software dan menangkap gambaran akan output, fitur utama, dan fungsionalitas. Hasil pengumpulan data akan membentuk kumpulan stories (disebut juga user stories) yang mendeskripsikan output, fitur dan fungsionalitas dari software yang akan dibangun. 2. Design Desain XP secara ketat mengikuti prinsip KIS (keep it simple). Desain yang dibuat Desain terhadap fungsionalitas tambahan tidak disarankan. XP menganjurkan penggunaan kartu CRC sebagai mekanisme efektif untuk berpikir tentang software dalam konteks berorientasi objek. Kartu CRC (classresponsibility-collaborator)
mengidentifikasi
dan
mengatur
class
berorientasi pada objek yang relevan terhadap current software increment.
yang
22 3. Coding Konsep utama dalam aktivitas coding (dan juga merupakan aspek paling utama
yang
dibicarakan
dalam
XP)
adalah
pair
programming.
XP
merekomendasikan dua orang untuk bekerja sama dalam satu komputer dalam pembuatan code sesuai dengan story. Hal ini memberikan mekanisme pemecahan masalah secara langsung (dua kepala seringkali lebih baik daripada satu) dan memastikan kualitas secara langsung (code ditinjau kembali sembari dibuat). Ketika pair programmer menyelesaikan bagiannya, code yang telah dikembangkan oleh mereka di-integrasikan dengan bagian yang lainnya. Dalam beberapa kasus hal ini biasanya dikerjakan oleh integration team. Dalam kasus lain, pair programmers memiliki tanggung jawab integrasi. 4. Testing XP acceptance tests, atau disebut juga customer tests, terspesifikasikan oleh customer dan berfokus terhadap fitur sistem secara keseluruhan dan fungsionalitas yang terlihat dan dapat ditinjau oleh customter. Acceptance tests diambil dari user stories yang telah diimplementasi dalam software release. 2.10. Cloud Storage Cloud storage adalah sebuah teknologi yang mengizinkan pengguna untuk menyimpan data dalam storage, dan dapat mengakses data tersebut melalui Cloud. Cloud merepresentasikan internet. Sedangkan service-service yang ada dalam internet disebut Cloud services (Machajewski, 2015). 2.11. User Acceptance Testing Menurut (Hambling & Goethem, 2013, p. 15), User Acceptance Testing merupakan uji formal yang menghormati kebutuhan pengguna, persyaratan, dan proses bisnis yang diadakan untuk menentukan apakah sistem yang dibuat memenuhi kriteria atau tidak, dan untuk mengizinkan pengguna, atau orang-orang yang berotoritas untuk menentukan apakah sistem bisa diterima atau tidak. Di dalam UAT, ada beberapa metode yang dapat dipakai. Salah satunya adalah metode Black box testing. Black box testing adalah sebuah metode pengujian software yang digunakan untuk menguji software tanpa pengguna mengetahui struktur internal dari program.
23 Semua pengujian menggunakan sudut pandang pengguna dan penguji hanya memperhatikan bagaimana software berfungsi, tetapi bagaimana permintaan itu diproses oleh software tidak diperhatikan (Software Testing Class, 2015). 2.12. Penelitian Sebelumnya Berdasarkan penelitian Marissa Tio Minar Butar-Butar dalam jurnalnya yang berjudul “Pembangunan Aplikasi Pengolahan Data Pasien Berbasis Web (Studi Kasus: Rumah Sakit Ibu Kartini Kisaran)”, (Butar-Butar, 2011) menyatakan bahwa pengolahan data dan informasi yang baik adalah hal penting yang dibutuhkan bagi suatu lembaga atau instansi yang semakin berkembang dalam menjalankan serangkaian aktivitas. Berdasarkan penelitian Andre Paterus dan Hardi Perdana dalam jurnalnya yang berjudul “Perancangan Aplikasi Pengaturan Dokumentasi Pada PT.XYZ”, (Paterus & Perdana, 2015) menyatakan bahwa kebutuhan akan pencarian, penyimpanan, dan ketersediaan data menjadi sangat penting dalam mendukung proses operasional perusahaan. Ia juga menyimpulkan bahwa aplikasi pengaturan dokumentasi mempermudah proses penyimpanan dokumen karena semua dokumen yang di-upload akan tersimpan pada suatu database yang terpusat. Menurut T. Sureshkumar dalam jurnalnya yang berjudul “System and Method to Extend A File Manager User Interface”, (Sureshkumar, 2010) mengemukakan bahwa berdasarkan sebuah perwujudan metode, file manager digunakan untuk mengatur penyimpanan file yang tersimpan dalam media komputer. File Manager juga dibuat untuk memberikan tampilan direktori untuk file yang disimpan
24