7 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 use-case diagram. Arti dari relasi yang digambarkan bisa berbeda tergantung dari
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.
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
12. Description : ringkasan pendek yang mendeskripsikan maksud dari use-case dan aktivitas dari use-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
Tabel 2.2 Notasi Class Diagram
Simbol Keterangan
Class
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))
Tabel 2.3 Notasi Sequence Diagram
Nama Keterangan Simbol
Object Lifeline Menyatakan kehidupan
suatu objek.
Actor Orang atau divisi yang
terlibat dalam suatu sistem.
Message Menyatakan 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
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 Menyatakan akhir proses
2.4. 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
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 halaman-halaman, 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');
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 meng-install 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 (class-responsibility-collaborator) mengidentifikasi dan mengatur class yang berorientasi pada objek yang relevan terhadap current software increment.
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