BAB 2 TINJAUAN PUSTAKA
2.1 Teori Yang Berkaitan Dengan Software Engineering Berikut adalah teori yang berkaitan dengan pengembangan software pada skripsi ini. 2.1.1 Software Software
adalah:
(1)
instruksi
(program
komputer)
akan
memberikan fitur-fitur, fungsi, performa yang diinginkan ketika dijalankan; (2) struktur data yang memungkinkan program untuk memanipulasi informasi; (3) informasi deskriptif dalam bentuk hard copy dan virtual yang menjelaskan operasi dan penggunaan program. Software merupakan elemen sistem logikal daripada fisikal. Oleh karena itu, software memiliki karakteristik yang berbeda dengan hardware (Pressman, 2010, hal. 4): •
Software dikembangkan atau direkayasa, bukan diproduksi.
•
Software tidak akan habis atau rusak karena dipakai.
•
Kebanyakan software dibuat berdasarkan pesanan.
2.1.2 Aplikasi Software Yang dimaksud
dengan
aplikasi software
adalah
program
independen yang memenuhi suatu kebutuhan bisnis. Aplikasi pada area ini memproses data bisnis dan teknikal yang mempermudah dalam pengambilan keputusan pada operasi bisnis atau manajemen/teknikal. Aplikasi software juga digunakan untuk mengontrol fungsi bisnis secara real time (Pressman, 2010, hal. 7).
2.1.3 Web Application (WebApps) Web application biasa disebut dengan WebApps. Software berbasis jaringan ini menjangkau berbagai macam jenis aplikasi. WebApps dapat berupa lebih dari kumpulan dokumen linked hypertext yang menyediakan 7
8 informasi menggunakan teks dan grafik yang terbatas. Sekarang ini, WebApps merupakan suatu alat komputasi yang mutakhir yang tidak hanya menyediakan fungsi yang independen kepada user, tetapi juga telah dapat diintegrasikan dengan database perusahaan dan aplikasi bisnis (Pressman, 2010, hal. 8).
2.1.4 Web Browser Web Browser adalah sebuah aplikasi software yang biasa digunakan untuk menemukan, menerima, dan menampilkan isi dari World Wide Web. Sumber informasi di identifikasi oleh Uniform Resource Identifier (URI/URL) seperti Web Pages, gambar, video, dan file lainnya. (Jacobs & Walsh, 2009). 2.1.5 Software Engineering Menurut IEEE, Software Engineering adalah aplikasi yang sistematis, disiplin, pendekatan kuantitatif terhadap pengembangan software, operasi, dan pemeliharaan suatu software. Software engineering juga merupakan pembelajaran akan pendekatan dari pernyataan sebelumnya. Metode software engineering menyediakan cara teknikal untuk membangun software (Pressman, 2010, hal. 12). Software engineering merupakan layer technology. Berdasarkan Gambar 1, pendekatan software engineering harus bertumpu pada kualitas (quality layer). Dasar dari software engineering adalah process layer. Process layer software engineering merupakan perekat yang menahan technology layer dan memungkinkan pengembangan software komputer yang logis dan tepat waktu. Metode software engineering (methods layer) menyediakan cara teknikal untuk membangun software. Metode software engineering meliputi susunan tugas yang luas yang meliputi komunikasi, analisa kebutuhan, pemodelan desain, pembuatan program, testing, dan support. Metode software engineering bergantung pada susunan prinsip dasar yang mengatur tiap area dari teknologi, termasuk aktivitas pemodelan, dan teknik deskriptif lainnya (Pressman, 2010, hal. 14).
9 Alat software engineering (Tools layer) menyediakan penunjang untuk process dan methods layer. Ketika alat digabungkan, akan dibentuk sebuah sistem untuk mendukung pengembang software yang dinamakan computer-aided-software engineering (Pressman, 2010, hal. 14).
Gambar 1 Software Engineering Layers
2.1.6 Waterfall Model Waterfall model merupakan pendekatan dari proses preskiriptif. Dikatakan
preskriptif
karena
menentukan
kumpulan
elemen
proses−aktivitas framework, aksi software engineering, tugas, produk, quality assurance, mekanisme change control untuk tiap proyek, dan process flow (Pressman, 2010, hal. 39). Waterfall model disebut juga classic life cycle mengusulkan pendekatan sekuensial sistematik terhadap pengembangan software yang dimulai dari spesifikasi kebutuhan pelanggan dan berkembang melalui planning, modeling, construction, dan deployment. Lima langkah proses waterfall model yaitu (Pressman, 2010, hal. 39): • Communication Berguna untuk memahami tujuan stakeholder untuk proyek dan mengumpulkan kebutuhan yang dapat membantu menetapkan fitur dan fungsi software. • Planning Membuat sebuah “peta” yang membantu untuk memandu tim dalam pembuatan aplikasi. Yang dimaksud dengan “peta” adalah suatu software project plan yang mendeskripsikan tugas teknikal yang harus dilakukan, risiko yang ada, sumber-sumber yang diperlukan, produk software yang akan diproduksi, dan jadwal kerja.
10 • Modelling Merupakan gambaran dari apa yang akan dibangun untuk mendapatkan pemahaman yang lebih baik akan kebutuhan software dan rancangan yang akan didapatkan dari kebutuhankebutuhan tersebut dan bagaimana solusinya. • Construction Gabungan dari aktivitas code generation dan testing yang berguna untuk menemukan error di dalam kode. • Deployment Software diserahkan kepada pelanggan yang mengevaluasi produk
yang
diserahkan
dan
memberikan
umpan
balik
berdasarkan evaluasi.
Gambar 2 Software Process Framework
2.1.7 Requirement Engineering Merupakan aktivitas software engineering yang utama yang dimulai saat aktivitas komunikasi dan berlanjut ke aktivitas pemodelan. Hal ini harus disesuaikan dengan kebutuhan proses, proyek, produk software, dan pengembang software (Pressman, 2010, hal. 120). Requirement Engineering menghubungkan antara desain dan pembangunan. Hubungan antara desain dan pembangunan tersebut, dimulai dari stakeholders proyek (manajer, pelanggan, user), dimana kebutuhan bisnis didefinisikan, user scenario dijelaskan, fungsi dan fitur digambarkan, dan batasan poyek diidentifikasikan (Pressman, 2010, hal. 120). Requirement Engineering menetapkan mekanisme yang sesuai untuk dapat memahami apa yang diinginkan pelanggan, analisis kebutuhan, mempertimbangkan kemungkinan yang terjadi, merundingkan solusi, menentukan solusi, memvalidasi spesifikasi, dan mengelola
11 kebutuhan yang diubah menjadi sebuah sistem operasional (Pressman, 2010, hal. 121).
2.1.8 Requirement Management Merupakan kumpulan aktivitas yang membantu tim proyek untuk identifikasi, kontrol, mengikuti kebutuhan, dan perubahan pada kebutuhan jika dibutuhkan pada proyek. Kebutuhan untuk sistem berbasis komputer berubah, dan keinginan untuk mengubah kebutuhan berlanjut selama kehidupan sistem (Pressman, 2010, hal. 124).
2.1.9 Flowchart Flowchart adalah gambaran terpisah dari tahap-tahap proses yang berurutan. Flowchart digunakan saat ingin mengembangkan dan menyampaikan pemahaman tentang bagaimana proses diselesaikan, untuk mempelajari proses untuk perbaikan, untuk mendokumentasikan proses, dan ketika merencanakan suatu proyek (ASQ, 2014). Elemen yang dimiliki oleh flowchart adalah : •
Sequence of actions
•
Inputs and outputs
•
Decisions
•
People who become involved
•
Time involved at each step and/or process measurements
2.1.10 UML (Unified Modelling Language) UML telah menjadi bagian yang penting dari pengembangan software sejak munculnya UML pada tahun 1997. UML digunakan untuk developer untuk menyampaikan pekerjaan mereka ke stakeholder proyek dan ke developer lain. Selain meningkatkan komunikasi secara internal dengan anggota tim dan secara eksternal dengan partner dan pelanggan, UML juga mengurangi kesempatan untuk kesalahpahaman. UML juga akan menghemat waktu dan memungkinkan developer untuk fokus pada pengembangan software (Ambler, 2005, hal. ix).
12 Manfaat penting UML adalah konsisten dan bagian dari konsistensi tersebut adalah aplikasi dari elemen pemodelan umum antar diagram yang berbeda (Ambler, 2005, hal. 15).
2.1.11 Use Case Diagram Sebuah UML use case diagram menunjukkan hubungan antara aktor dan use case dalam sebuah sistem. Use case diagram sering digunakan untuk menyediakan gambaran dari semua atau bagian dari kebutuhan pengunaan untuk sistem atau perusahaan, menyampaikan cakupan dari proyek pengembang softwarean, juga memodelkan analisis dari kebutuhan penggnaan pada bentuk dari sebuah sistem model use case (Ambler, 2005, hal. 33).
Gambar 3 Use Case Diagram Model use case menyesuaikan satu atau lebih use case diagram dan dokumentasi yang mendukung seperti spesifikasi use case dan definisi aktor. Spesifikasi use case cenderung sebagai artefak utama, dengan use case diagram mengisi peran sebagai “perekat” yang menjaga requirement model agar sesuai satu sama lain (Ambler, 2005, hal. 33).
2.1.12 Class Diagram UML Class diagram menunjukkan kelas-kelas pada sistem, hubungaan mereka, dan operasi dan atribut pada kelas. Class diagram digunakan untuk mengembangkan konsep domain dalam sebuah model domain, untuk analisis kebutuhan dalam bentuk dari model konseptual atau analisis, dan menggambarkan desain terperinci dari software
13 berbasis objek. Class model menyesuaikan satu atau lebih class diagram dan spesifikasi yang mendukung yang menjelaskan elemen model termasuk kelas, hubungan antar kelas, dan interface (Ambler, 2005, hal. 47).
Gambar 4 Class Diagram
2.1.13 Sequence Diagram UML sequence diagram adalah teknik pemodelan dinamis. Sequence diagram biasanya digunakan untuk (Ambler, 2005, hal. 80): •
Memvalidasi dan menyempurnakan logika dan kelengkapan dari use case scenario.
•
Menjelajahi desain, karena desain menyediakan jalan untuk .
•
Merasakan kelas mana pada aplikasi yang akan menjadi rumit.
•
Mendeteksi hambatan dalam desain berbasis objek. Dengan melihat pesan yang dikirim ke objek atau dengan melihat berapa lama untuk memanggil metode, pengembang software akan dengan cepat memahami bagian mana yang harus diubah dari desain untuk menyebarkan beban dalam sistem.
Alur pesan dimulai pada bagian atas sudut kiri dari sequence diagram. Sebuah pesan yang berada dibawahnya, dikirim setelah pesan yang ada di atas pesan tersebut. Pengembang software harus mengatur classifier (akor, kelas, objek, dan use case) di atas diagram untuk menggambarkan alur pesan dari kiri ke kanan. Terkadang pesan bisa tidak mengalir dari kiri ke kanan. Sebagai contoh, sepasang objek bisa saling memanggil operasi (Ambler, 2005, hal. 81).
14 Ketika sistem didesain secara layering, lifeline (classifier yang digambarkan dari atas pada diagram) pada tiap lapisan biasanya bekerja sama satu sama lain dan dan dipisahkan dari lapisan lain. Layering dimulai dengan lapisan teratas, seperti user interface, pada bagian kiri menuju lapisan dibawahnya saat bergerak ke kanan. Layering pada sequence diagram akan membuatnya lebih mudah untuk dibaca dan akan memudahkan untuk menemukan masalah pada logika layering (Ambler, 2005, hal. 81). Saat membuat sequence diagram sebaiknya berikan nama aktor yang sama dengan nama kelas. Tempatkan proactive system actor (aktor yang memulai interaksi) pada bagian paling kiri pada diagram. Tempatkan reactive system actor pada bagian paling kanan diagram (Ambler, 2005, hal. 83). Untuk pesan, tempatkan sejajar dengan garis panah. Penerima pesan akan melakukan operasi yang sesuai. Pada sequence diagram, return value diindikasikan menggunakan garis panah putus-putus dengan label yang mengindikasikan return value (Ambler, 2005, hal. 89).
Gambar 5 Sequence Diagram
2.1.14 Activity Diagram UML activity diagram digunakan untuk memeriksa logika dari (Ambler, 2005, hal. 113): • operasi yang kompleks • aturan bisnis yang kompleks
15 • sebuah use case tunggal • beberapa use case • proses bisnis • proses yang terjadi bersaman • proses software Sebuah activity diagram menggambarkan tingkah laku dinamis dari suatu sistem atau bagian dari sistem melalui alur kontrol antar tindakan yang dilakukan sistem. Komponen-komponen activity diagram (Ambler, 2005, hal. 114): • Action node: digambarkan dengan bentuk oval, yang sesuai dengan tugas yang dilakukan oleh sistem software. • Panah: menunjukkan urutan kontrol. Sebuah panah antara dua action node menunjukkan bahwa setelah tindakan pertama selesai dikerjakan, tindakan kedua akan dimulai. • Initial node: Bentuk yang berupa lingkaran yang menunjukkan titik saat aktivitas dimulai. • Fork: menunjukkan pembagian aktivitas menjadi dua atau lebih aktivitas yang bersamaan. Digambarkan dengan balok hitam dengan satu panah menunjuk ke balok hitam tersebut dan dua atau lebih panah menunjuk dari balok hitam tersebut. • Join: cara untuk memadukan alur yang bersamaan dari kontrol digambarkan dengan balok hitam dengan dua atau lebih panah yang menuju ke join tersebut dan satu panah yang keluar dari join tersebut. • Decision node: sebuah Decision node menyesuaikan dengan cabang didalam alur kontrol berdasarkan suatu kondisi. Node digambarkan dengan segitiga putih dengan sebuah panah masuk dan dua buah panah yang keluar. Setiap panah yang keluar ditandakan dengan kondisi didalam bracket. Alur kontrol mengikuti sebuah panah keluar yang bernilai true. • Final node: titik hitam yang dikelilingi oleh lingkaran hitam, yang menandakan bahwa alur kontrol telah berakhir.
16
Gambar 6 Activity Diagram
2.2 Teori Yang Terkait Dengan Tema Penelitian Berikut adalah teori yang berkaitan dengan tema skripsi ini. 2.2.1 Document Management System Sistem manajemen dokumen yang biasa disebut DMS adalah penggunaan sistem komputer dan software untuk menyimpan, mengelola, dan mengontrol dokumen dan gambar elektronik dari informasi paper based yang diambil melalui scanner dokumen. Istilah dokumen didefinisikan sebagai informasi atau objek yang disimpan yang dapat diperlakukan sebagai unit. Sistem manajemen dokumen memungkinkan dokumen untuk dimodifikasi dan dikelola (AIIM, 2013). Fungsi – fungsi utama dari sistem manajemen dokumen adalah (AIIM, 2013): •
Security control Fungsi ini mengontrol user mana yang memiliki akses pada informasi tertentu. Tiap sistem yang digunakan harus dapat melindungi notpublic record.
•
Addition Sistem manajemen dokumen harus memungkinkan user untuk menambahkan dokumen ke sistem.
•
Identifikasi dan penggunaan metadata Sistem manajemen dokumen harus memungkinkan user untuk identifikasi dan menggunakan metadata untuk perusahaan.
17 Terdapat juga fungsi-fungsi opsional untuk sistem manajemen dokumen, yaitu (AIIM, 2013): •
Records management Sebuah sistem manajemen dokumen dapat mengintegrasikan dan mengotomasikan perencanaan retensi records, penunjukkan status dokumen, dan mengalamatkan aspek lain dari rangkaian workflow records yang unik.
•
Storage Fungsi ini memungkinkan untuk menyimpan dokumen dalam sistem manajemen dokumen atau untuk mengelola sistem penyimpanan tambahan secara terpusat.
•
Free-text search Fungsi ini memungkinkan user untuk melakukan pencarian untuk tiap kata dalam dokumen atau sebuah kelompok dokumen tertentu.
•
Automatic conversion Beberapa sistem manajemen dokumen secara otomatis akan mengkonversi satu format file ke format lainnya.
•
Compund document management Beberapa
sistem
manajemen
dokumen
mengelola
dokumen
compound. Dokumen compound adalah dokumen tunggal yang mengandung beberapa elemen seperti teks, foto, video, dan hyperlink text.
2.2.2 Database Database adalah tempat penyimpanan data yang besar dan tunggal yang dapat digunakan secara serentak oleh banyak departemen dan user. Seluruh data item terintegrasi dengan duplikasi yang minimum. Database tidak lagi dimiliki oleh satu departemen tetapi berbagi dengan sumber daya perusahaan. Database tidak hanya memegang data opersional perusahaan tetapi juga deskripsi dari data. Maka dari itu sebuah database juga didefinisikan sebagai kumpulan dari self-describing collection of integrated records. Deskripsi dari data disebut system catalog (atau data dictionary atau metadata) (Connolly & Begg, 2009, hal. 15).
18 2.2.3 Database Management System (DBMS) DBMS adalah sistem software yang memungkinkan user untuk mendefinisikan, membuat, memelihara, dan mengontrol akses ke database. DBMS adalah software yang berinteraksi dengan program aplikasi user dan database. Sebuah DBMS menyediakan fasilitas seperti (Connolly & Begg, 2009, hal. 16): • Memungkinkan user untuk mendefinisikan database, biasanya melalui Data Definition Language (DDL). DDL memungkinkan user untuk menentukan tipe data dan struktur dan batasan pada data untuk disimpan dalam database. • Memungkinkan user untuk insert, update, delete, dan memanggil data dari database, biasanya melalui Data Manipulation Language (DML). • Menyediakan akses kontrol ke database, Sebagai contoh, menyediakan sistem pengamanan yang mencegah user yang tidak diberikan izin untuk akses ke database, menyediakan sistem terintegrasi, yang memelihara konsistensi data yang tersimpan, menyediakan concurency control system, yang memungkinkan untuk berbagi akses ke database.
2.2.4
Entity Relationship Diagram (ERD) Digunakan untuk menganalisa kebutuhan informasi dari suatu organisasi, biasanya untuk mengidentifikasi entitas, atribut, dan hubungan. Entitas adalah objek yang berbeda (orang, tempat, benda, konsep, atau peristiwa) dalam organisasi yang direpresentasikan pada database. Atribut adalah sebuah properti yang menjelaskan beberapa aspek dari objek yang diinginkan untuk disimpan. Hubungan adalah asosiasi antara entitas. Sebagai contoh, Gambar 7 menunjukkan sebuah Entity Relationship Diagram (ERD) yang terdiri dari enam entitas (Branch, Staf, PropertyForRent, Client, PrivateOwner, dan Lease), tujuh hubungan (Has, Offers, Views, Owns, LeasedBy, dan Holds), enam atribut (branchNo, staffNo, propertyNo, clientNo, ownerNo, leaseNo) (Connolly & Begg, 2009, hal. 15).
19
Gambar 7 Entity Relationship Diagram
2.2.5 User Interface Design User interface design menciptakan media komunikasi yang efektif antara manusia dan komputer. Pengembang software software merancang user interface dengan menerapkan proses berulang yang menggambarkan prinsip desain yang telah ditentukan. User interface sangat penting agar user lebih mudah menggunakan aplikasi, memperkecil kesalahan user, juga mempermudah pengembang software untuk mencapai tujuan mereka (Pressman, 2010, hal. 312)
2.2.6 Delapan Aturan Emas Untuk meningkatkan kegunaan dari sebuah aplikasi, penting untuk memiliki antarmuka yang dirancang dengan baik. Ada delapan aturan emas untuk desain antarmuka sebagai pedoman untuk desain interaksi yang baik, yaitu (Shneiderman, 2010, hal. 606): • Konsisten Urutan aksi yang konsisten diperlukan pada situasi yang serupa. Istilah yang serupa harus digunakan pada prompt, menu, dan tampilan bantuan atau help. Perintah yang konsisten juga harus secara menyeluruh pada aplikasi. •
Memungkinkan user untuk menggunakan cara yang singkat. Saat frekuensi penggunaan aplikasi meningkat, begitu juga dengan keinginan user untuk mengurangi jumlah interaksi dan meningkatkan kecepatan interaksi. Singkatan, tombol fungsi,
20 perintah tersembunyi, dan fasilitas makro yang sangat membantu user. • Memberikan umpan balik yang informatif Untuk setiap aksi user, harus ada beberapa umpan balik dari sistem. Untuk aksi minor yang sering dilakukan, tanggapannya harus sederhana. Sedangkan aksi yang jarang dilakukan, tanggapannya harus lebih substansial. • Desain dialog untuk menghasilkan closure Urutan aksi harus diatur menjadi kelompok dengan bagian awal, tengan, dan akhir. Umpan balik yang informatif pada pnyelesaian dari kelompok aksi memberikan user kepuasan atas pencapaian aksi, rasa lega, dan sebagai petunjuk untuk mempersiapkan kelompok aksi selanjutnya. • Memberikan penanganan error yang sederhana Sebanyak mungkin, rancanglah sistem agar user tidak dapat melakukan kesalahan yang serius. Jika terjadi error, sistem harus dapat mendeteksi error tersebut dan memberikan penanganan error yang sederhana dan mekanisme yang mudah dipahami. • Memungkinkan pembalikan aksi yang mudah Fitur ini mengurangi kegelisahan user, karena user mengetahui bahwa aksi dapat dibatalkan jika terjadi error. Pembalikkan aksi dapat mengembalikkan aksi tunggal, sebuah entri data, atau beberapa aksi. • Mendukung lokus kontrol internal User yang berpengalaman ingin dapat berkuasa atas sistem dan tanggapan sistem atas aksi mereka. Rancang sistem agar dapat membuat user menjadi pengambil inisiatif suatu tindakan daripada sebagai responden. • Mengurangi beban ingatan jangka pendek Terbatasnya pemrosesan informasi manusia pada ingatan jangka pendek membutuhkan tampilan yang sederhana dari suatu aplikasi.
Sebaiknya
mengurangi
frekuensi
mengkonsolidasi pergerakan
tampilan
window,
dan
halaman, waktu
21 pembelajaran yang cukup yang diberikan untuk kode, mnemonik, dan urutan aksi.
2.2.7 LAN (Local Area Network) LAN adalah sebuah jaringan data berkecepatan tinggi yang mencakup area geografi yang relatif kecil. Biasanya menghubungkan workstation, komputer personal, printer, server, dan perangkat lain. LAN menawarkan banyak keuntungan untuk pengguna computer seperti shared access antar perangkat dan aplikasi, perpindahan data antar user yang saling terhubung, dan komunikasi antar user melalui email dan aplikasi lain (Cisco, 2014).
2.2.8
Subversion Subversion adalah perangkat lunak untuk version control system yang bersifat open source. Berguna untuk mengatur file, direktorinya, dan perubahan yang terjadi pada sebuah file tersebut. Hal ini memungkinkan user untuk memulihkan data terdahulu atau memeriksa riwayat dari data yang telah berubah (Apache Subversion, 2011).
2.2.9 PHP Bahasa PHP adalah perwakilan dari proyek open source yang bersifat stereotip, Diciptakan untuk menggabungkan kebutuhan lain yang belum terpenuhi dan yang disempurnakan dari waktu ke waktu untuk menemukan kebutuhan masyarakat yang berkembang (Gilmore, 2010, hal. 1) Karena bahasa PHP sangat populer, sebaiknya mengetahui perbedaan dari versi-versi PHP sebelumnya. Terutama versi 4, 5, dan 6. Karena akan sangat membantu dalam mengevaluasi Web Hosting Provider dan aplikasi PHP-driven yang dibutuhkan, sehingga tidak terjadi kekeliruan (Gilmore, 2010, hal. 1). PHP mulai diciptakan pada tahun 1995 ketika seorang pengembang software bernama Rasmus Ledorf membangun Perl/CGI script yang memungkinkan beliau untuk melihat orang yang melihat resume
22 onlinenya. Script nya menjalankan 2 tugas, pertama mencatat informasi pengunjung, yang ke kedua melihat jumlah pengunjung yang dating untuk ditampilkan di Web page. Karena teknologi Web saat itu masih sangat baru, tools seperti itu masih belum ada. Karena itu, script yang dibangun Rasmus Ledorf sangat menarik. Beliau mulai memberikan toolset nya, yang diberi nama Personal Home Page (PHP) (Gilmore, 2010, hal. 1).
2.2.10
phpMyAdmin Merupakan software gratis yang berbasis bahasa PHP, yang dimaksudkan untuk menangani administrasi dari MySQL melalui Web. phpMyAdmin mendukung berbagai operasi dari MySQL, MariaDB, dan Drizzle. Operasi yang sering digunakan bisa dilakukan melalui user interface,
sementara
user
masih
memiliki
kemampuan
menjalankan semua statement SQL secara langsung
untuk
(phpMyAdmin,
2013).
2.2.11 JQuery JQuery Library menyediakan lapisan abstrak untuk Web scripting secara umum, namun berguna di dalam setiap situasi scripting. JQuery sifatnya dapat diperpanjang yang berarti programmer bisa mencakup semua kemungkinan dari penggunaan. JQuery dapat melakukan tugas seperti (Chaffer & Swedberg, 2011, hal. 9): •
Mengakses elemen di dalam dokumen.
•
Mengubah tampilan halaman Web.
•
Mengubah konten di dalam dokumen.
•
Merespon interaksi user.
•
Memberi efek animasi ke dalam dokumen.
•
Menerima informasi dari server tanpa melakukan refresh page dengan menggunakan Ajax.
•
Tugas Javascript yang umum.
2.2.12 JavaScript JavaScript adalah bahasa pemrograman tingkat tinggi dan dinamis yang sesuai dengan pemrograman berorientasi objek dan fungsionalitas
23 pemrograman. Javascript merupakan bahasa turunan dari Java, fungsi first-class berasal dari scheme, dan turunan berbasis purwarupa yang berasal dari dirinya sendiri (Flanagan, 2011, hal. 1). JavaScript sangatlah berbeda dengan bahasa pemrograman Java. JavaScript telah lama berkembang menjadi bahasa yang kuat dan memiliki beberapa tujuan. Versi terbaru dari bahasa ini memperkenalkan fitur baru pengembangan software berskala besar (Flanagan, 2011, hal. 1). Setiap bahasa harus memiliki Platform atau standard library atau API dari fungsi-fungsi melakukan aksi input-output dasar. Bagian inti dari javaScript memiliki API yang minimal untuk melakukan aksi dengan teks, array, tanggal, dan regular expressions namun tidak memiliki dasar input-output. Input-output merupakan tugas dari host environment yang ditanam oleh javascript, biasanya merupakan web browser (Flanagan, 2011, hal. 2).
2.2.13 HTML HTML adalah bahasa markup dasar yang digunakan untuk mendeskripsikan file teks ke program yang membacanya. HTML telah menjadi bahasa markup paling utama di Web, yang mana telah tersebar ke berbagai perangkat elektronik di seluruh dunia (Silveira, 2013, hal. 7). HTML awalnya merupakan pemikiran dari Tim Berners-Lee di tahun 1989. Saat bekerja di European Laboratory for Particle Physics di Geneva, Switzerland, Tim Berners-Lee berpikir akan sangat menguntungkan jika menghubungkan dokumen-dokumen penelitian yang ditulis dan digunakan oleh para peneliti. Dengan cara itu, daripada memiliki koleksi besar dokumen yang independen, sebaiknya setiap dokumen yang memiliki referensi dokumen lain dihubungkan dengan hyperlink ke dokumen lain. Sehingga pembaca bisa melakukan navigasi dari satu dokumen ke dokumen lain dengan mudah dan hemat waktu (Silveira, 2013, hal. 8).
24 Dalam rangka mewujudkan ide hyperlink dokumen ini, Tim Berners-Lee mencari ke bahasa markup yang sudah ada sebagai dasar untuk bahasa markup yang akan dia ciptakan sendiri. Standard Generalized Markup Language or SGML sebagai awalnya. SGML merupakan bahasa yang praktis dirancang untuk membuat kerangka text berdasarkan tag vocabulary. Contohnya, untuk mengenali bahwa teks ini merupakan sebuah paragraf, maka teks tersebut akan dikelilingi oleh tag paragraf seperti ini “paragraf”. Sementara vocabulary dari versi Tim tidak ada yang diubah, satu tag ditambahkan, yaitu hyperlink tag. Sejak saat itu muncul bahasa HTML (Silveira, 2013, hal. 8).
2.2.14 CSS CSS merupakan perangkat efektif yang mengubah penyajian satu atau banyak dokumen, dan menyebar hampir ke setiap sudut Web serta ke banyak lingkungan non-web yang menyerupai Web. CSS pertama kali diperkenalkan di tahun 1994, bersamaan dengan mulai terkenalnya teknologi Web (Meyer, 2012, hal. 1). CSS memiliki tujuan yang sederhana. Yaitu menyediakan bahasa styling deklaratif yang fleksibel untuk pengembang software, yang terpenting, menyediakan kemampuan styling kepada pengembang software dan user. Cascade memiliki arti dapat digabungkan dan diutamakan sehingga pengembang software dan user merasa nyaman (Meyer, 2012, hal. 1).
2.2.15 CSS3 CSS3 adalah standar terbaru untuk CSS. CSS3 backwardscompatible dengan versi CSS sebelumnya. CSS3 dibagi menjadi beberapa modul yang mengandung spesifikasi CSS lama (yang dibagi menjadi bagian yang lebih kecil). Sebagai tambahan, modul baru ditambahkan. Beberapa modul CSS3 yang paling penting adalah (w3schools, 2014): • Selector • Box Model
25 • Backgrounds dan Borders • Image Value dan Replaced Content • Text Effects • 2D/3D Transformations • Animations • Multiple Column Layout • User Interface
2.2.16 SQL SQL adalah bahasa standar internasional untuk menangani data di dalam database relasional. Dikembangkan oleh IBM, SQL menjadi bahasa standar internasional pada tahun 1986. Kemudian diperbarui pada tahun 1989, 1992, 1999, 2003, dan terakhir tahun 2008. SQL terus berkembang
hingga
saat
ini.
Vendor
database
terus-menerus
memperbarui produknya untuk menambah fitur ISO/IEC yang baru (Taylor, 2011, hal. 1). SQL bukan bahasa pemrograman umum seperti C++ atau Java. SQL khusus di rancang untuk menangani data di database relasional. SQL dapat melakukan tugas seperti (Taylor, 2011, hal. 1). • Membuat database, termasuk tabel dan hubungannya. • Mengisi tabel dengan data. • Mengganti data di dalam tabel. • Menghapus data di dalam tabel. • Menerima informasi tertentu dari tabel. • Memberi dan mencabut akses ke tabel. • Melindungi database dari kerusakan karena konflik saat akses atau kesalahan user.
2.2.17 MySQL MySQL adalah database open source yang paling terkenal. MySQL memungkinkan penyampaian yang cost-effective yang dapat
26 diandalkan, dengan kinerja yang tinggi, dan scalable dari aplikasi berbasis web dan embedded database (Oracle, 2013).
2.2.18 CodeIgniter CodeIgniter adalah PHP framework yang dibangun untuk programmer PHP yang membutuhkan toolkit yang praktis dan anggun untuk menciptakan aplikasi Web berfitur lengkap. Framework PHP CodeIgniter adalah beberapa potongan kode yang disimpan di file yang berbeda, yang menyederhanakan coding dari operasi yang berulang (Upton, 2007, hal. 12).
Gambar 8 Alur data pada komponen CI CodeIgniter mengimplementasikan pola Model – View – Controller (MVC). MVC merupakan metode untuk mengatur file yang digunakan untuk membuat website, atau membagi situs menjadi beberapa bagian
(Upton, 2007, hal. 45). MVC digunakan untuk
mengatur sebuah website yang dinamis. Garis besar dari tipe file yang berbeda adalah: • Model: model mengakses database seperti yang dibutuhkan, dan juga dapat melakukan operasi pada data. • View: menunjukkan keadaan dari model. View bertanggung jawab untuk menampilkan informasi ke user.
27 • Controller: memberikan pilihan untuk mengubah keadaan dari model. Controller menyediakan data dinamis ke view. Kode juga bisa ditempatkan pada libraries. Libraries berada pada folder system dan application. Libraries merupakan koleksi dari kode, yang dimaksudkan untuk bekerja dengan aplikasi. Gambar 10 menggambarkan cara yang berbeda di mana komponen dapat memanggil satu sama lain. Garis yang tidak putus menunjukkan Controller dapat memanggil view, dan model atau library, tetapi view tidak bisa memanggil controller. Library dan model dapat saling memanggil satu sama lain. Garis putus-putus menunjukkan penyampaian informasi dengan mengembalikan nilai. Model dan Library dapat melakukan hal ini ke controller dan sebaliknya. View tidak mengembalikan nilai. Garis titik-titik menunjukkan penyampaian informasi atau kontrol melalui user. View akan menampilkan sesuatu pada layar user dan mungkin akan meminta user untuk klik hyperlink (yang akan menjalankan controller) (Upton, 2007, hal. 45)
2.2.19
COM COM merupakan singkatan dari Component Object Model, adalah lapisan berorientasi object diatas DCE RPC dan mendefinisikan ketentuan pemanggilan yang umum yang memungkinkan penulisan kode dalam bahasa apapun untuk memanggil dan beroperasi dengan kode yang tertulis dalam bahasa apapun (Jika bahasa tersebut dapat terhubung dengan COM) (PHP, 2013). COM merupakan salah satu cara utama untuk menghubungkan aplikasi dan komponen dengan Windows Platform. COM bisa menjalankan program Microsoft seperti Microsoft Word, mengisi dokumen dan menyimpan hasilnya kedalam bentuk Word Document dan mengirimnya ke pengunjung web yang digunakan. COM juga bisa melakukan tugas administrasi untuk jaringan dan mengatur IIS. Dan masih banyak lagi yang bisa digunakan di dalam COM (PHP, 2013).
28 2.2.20
Fungsi PHP fopen() Fungsi yang digunakan untuk membuka file dalam bahasa PHP. Jika fopen() gagal, maka akan mengembalikan nilai FALSE. Pesan error bisa disembunyikan dengan menambahkan karakter ‘@’ didepan nama fungsinya. Syntax-nya ialah fopen(filename, mode, include_path, context) (w3schools, 2013).
Tabel 1 Fungsi PHP fopen() Parameter
Deskripsi
filename
Wajib, menentukan file atau URL yang ingin dibuka
mode
Wajib, menentukan tipe akses •
“r” (read only. Dimulai dari awal file)
•
“r+” (read/write. Dimulai dari awal file)
•
“w” (write only. buka dan menghapus isi file, atau membuat yang baru jika belum ada)
•
“w+” (read/write. buka dan menghapus isi file, atau membuat yang baru jika belum ada)
•
“a” (write only. Buka dan menulis diakhir file, atau membuat yang baru jika belum ada)
•
“a+” (read/write. Menjaga isi file dengan cara menulis di akhir file)
•
“x” (write only. Membuat file baru. mengembalikan nilai FALSE jika file tersebut sudah ada)
•
“x+” (read/write only. Membuat file baru. mengembalikan nilai FALSE jika file tersebut sudah ada)
include_path Opsional, masukkan nilai “1” jika ingin mencari file didalam include_path (didalam php.ini) context
2.2.21
Opsional, menentukan konteks dari file handle.
Fungsi PHP fwrite() Fungsi yang digunakan untuk menulis file yang telah dibuka. Fungsi akan berhenti jika telah mencapai akhir file atau mencapai panjang yang ditentukan, yang dimana ditentukan lebih dahulu. Fungsi
29 ini mengembalikan jumlah bytes yang telah ditulis atau FALSE jika gagal. Syntax-nya adalah fwrite(file,string,length) (w3schools, 2013).
Tabel 2 Fungsi PHP fwrite() Parameter Deskripsi file
Wajib, menentukan file yang akan ditulis
string
Wajib, menentukan kalimat apa yang akan ditulis ke file
length
Opsional, menentukan panjang maximum file yang akan dibaca dengan bytes
2.2.22
Fungsi PHP fclose() Fungsi yang digunakan untuk menutup file yang terbuka. Fungsi ini mengembalikan nilai TRUE jika berhasil atau FALSE jika gagal. Memiliki syntax fclose(file) (w3schools, 2013).
Tabel 3 Fungsi PHP fclose() Parameter
Deskripsi
file
Wajib, menentukan file yang akan ditutup
2.2.23 Black Box Testing Black box testing, juga biasa disebut behavioral testing, berfokus pada kebutuhan fungsional dari software. Artinya, teknik black box testing memungkinkan developer untuk mendapatkan kumpulan kondisi input yang sepenuhnya akan melaksanakan semua kebutuhan fungsional untuk suatu program (Pressman, 2010, hal. 495). Black box testing
berupaya untuk menemukan error dalam
kategori: • Fungsi yang salah atau hilang • Interface error • Error dalam struktur data atau akses database eksternal • Error karena perlaku atau kinerja • Error dalam inisialisasi dan terminasi
30 2.2.24 Lima Faktor Manusia Terukur Faktor manusia membentuk satu pertimbangan utama dalam pengembangan sistem dan saling mempengaruhi secara dinamis antara karakteristik user dan interface design. Faktor tersebut dapat menyediakan dasar pada interface mana yang dapat dievaluasi terutama dalam hal usability. Menurut Ben Shneiderman, terdapat lima faktor manusia terukur yaitu (Shneiderman, 2010, hal. 564): 1. Waktu pembelajaran Lama waktu yang dibutuhkan untuk belajar menggunakan perintah pada aplikasi. 2. Kecepatan performa Lama waktu yang dibutuhkan untuk menyelesaikan tugas 3. Tingkat kesalahan user Banyaknya dan tipe kesalahan atau error oleh user dalam menyelesaikan tugas. 4. Daya ingat Seberapa baik user menjaga pengetahuan yang sudah dipelajari. 5. Kepuasan subjektif Seberapa banyak user menyukai penggunaan sistem dan tampilannya.
2.3 Hasil Penelitian atau Produk Sebelumnya Penelitian atau produk Sistem Manajemen Dokumen pernah dilakukan oleh Sablin Yusuf (Desember 2010)
dengan judul Rancangan Aplikasi
Manajemen Dokumen Tender Berbasis Web Pada PT. EMI. Tujuan dari penelitan oleh Sablin Yusuf ini adalah menghasilkan suatu sistem aplikasi software untuk manajemen yang dapat menstrukturisasi segala keperluan di dalam pengerjaan sebuah rencana kerja dan syarat sebuah proyek. Permasalahan yang ada sebelumnya adalah, penyimpanan dan pengolahan data pada PT. EMI masih dilakukan secara manual dan tidak ada tempat penyimpanan data yang tetap untuk dokumen yang pernah ada, juga sering
31 hilangnya data-data. Permasalahan lainnya yaitu dalam komunikasi data perusahaan di luar kantor, dewan direksi sering membutuhkan data laporan perusahaan di luar kantor sedangkan data-data tersebut masih disimpan secara manual, yang juga mengakibatkan lamanya persiapan dokumen tender. Dalam rancangan keamanan pada aplikasi sistem manajemen dokumen yang dirancang untuk PT. EMI tersebut, user aplikasi dibagi menjadi 3 jenis, yaitu admin, super user, dan user. Setiap user mendapatkan hak akses yang berbeda, tetapi semua user dapat melihat semua data sesuai dengan hak aksesnya. Semua user harus login terlebih dahulu untuk dapat mengakses aplikasi. Pada aplikasi tersebut, terdapat fitur back up yang disesuaikan dengan user aplikasi. Back up dilakukan sebanyak 2 kali dalam sebulan jika tidak banyak order lelang tender. Tetapi jika sedang banyak order lelang tender, back up akan dilakukan sebanyak 4 kali dalam sebulan. Aplikasi tersebut dikembangkan dengan menggunakan bahasa PHP, sedangkan untuk database menggunakan MySQL. Evaluasi aplikasi dilakukan dengan cara meminta masukan atau pendapat dari user pada PT. EMI. Kuesioner disebarkan kepada 30 user aplikasi pada PT. EMI. Pada penelitian yang serupa oleh Linas Gabrielaitis dan Romualdas Bausys pada jurnal yang berjudul Electronic Document Management in Building Design, sistem dokumen manajemen sistem tersebut lebih fokus kepada data digital design termasuk gambar, spesifikasi, dan data teknikal lainnya pada desain bangunan dan konstruksi. Permasalahan pada manajemen informasi ini adalah kurangnya standar tentang bagaimana data digital design harus dikumpulkan dan disimpan secara efisien untuk desain bangunan dan konstruksi. Dalam jurnal dikatakan bahwa waktu dalam pengembang software proyek terbilang lama karena banyaknya data desain yang dibutuhkan untuk dipindahkan antar anggota dari kelompok proyek yang berbeda. Waktu pengembang software dan biaya proyek harus dikembangkan dari awal, karena tidak ada penyimpanan informasi yang terpusat dan mudah diakses. Maka dari itu, solusi yang efisien adalah dengan elctronic document management (EDM). EDM memfasilitasi manajemen dokumen yang relevan dengan perusahaan, proyek, dan tugas kelompok yang relevan. Sistem EDM memiliki fitur yang berkaitan dengan daur hidup, manajemen revisi sejarah dan versi. Beberapa alat
32 telah dibuat untuk manajemen dokumen, project information sharing, komunikasi online, workflow desain, workflow konstruksi, pengontrolan waktu, dan pengamanan informasi. Pada jurnal tersebut dijelaskan bagaimana sistem EDM menjadi bagian penting dalam mengontrol aktivitas desain perusahaan. Penelitian tentang sistem manajemen dokumen juga dilakukan oleh Guoren Wang, Bin Wang, Duonghong Han, dan Baiyou Qiao dengan judul jurnal Design and Implementation of a Semantic Document Management System. Pada penelitian tersebut menunjukkan sebuah sistem dimana dokumen tidak diidentifikasikan dengan nama file, tetapi direpresentasikan dengan semantiknya dalam istilah deskriptor dan vektor konten. Deskriptor dari dokumen meliputi kumpulan atribut, seperti tanggal, tipe, size, keterangan, dan lain-lain. Informasi semantik menyediakan user dengan kemampuan pencarian asosiatif, dengan begitu dokumen dapat diperoleh dengan memberikan ciri yang dibutuhkan. Dalam jurnal tersebut dikatakan terdapat tiga tipe semantik, yaitu semantik definisi, semantik asosiatif, dan informasi skema. Semantik definisi merupakan ekstensi file yang mendefinisikan tipe file. Semantik asosiatif adalah keyword pada file yang memberikan karakteristik pada konten. Pada aplikasi tersebut, dokumen yang disimpan pada database dikelompokkan secara fisikal berdasarkan topik, yang dinamakan topic based clustering. Fitur tersebut meningkatkan performa pemanggilan data. Dokumendokumen tersebut secara fisikal dikelompokkan pada database. Indeks multidimensional
menyediakan
akses
yang
efisien.
Indeks
struktural
diimplementasikan untuk mendukung query XML structure-based. Jika dibandingkan dengan penelitian dan produk Document Management System sebelumnya, tujuan dan manfaat dari aplikasi dapat dibilang hampir sama, yaitu untuk menambahkan efektivitas dan efisiensi dalam proses bisnis. User aplikasi Document Management System dapat menemukan atau mencari dokumen yang dibutuhkan dengan cepat, sehingga dapat membantu proses agar lebih cepat. Perbedaannya antara di ketiga jurnal tersebut dengan aplikasi yang dibahas pada skripsi ini adalah di fitur-fitur nya, karena tiap perusahaan memiliki
kebutuhan
yang
berbeda.
33