BAB 2 LANDASAN TEORI 2.1. Teori Umum Berikut ini berisikan teori-teori umum yang digunakan sebagai landasan teori berpikir dalam penulisan skripsi ini. 2.1.1. Database 2.1.1.1. Definisi Database Database merupakan suatu kumpulan bagian dari data yang berhubungan secara logis, dan deskripsi dari data tersebut dirancang untuk memenuhi informasi yang dibutuhkan oleh sebuah organisasi. Database merupakan tempat penyimpanan data yang besar dimana data tersebut dapat digunakan secara bersamaan oleh beberapa user dan departemen. Pada database, data-data yang saling terintegrasi perlu menghindari kemungkinan terjadinya duplikasi data (Connolly dan Begg, 2010). 2.1.1.2. Database Management System (DBMS) 2.1.1.2.1. Definisi DBMS Menurut Connolly dan Begg (2010) DBMS adalah software yang dapat berinteraksi dengan program aplikasi yang dimiliki user dan database. DBMS memungkinkan user untuk mendefinisikan, membuat, memelihara, dan memiliki akses untuk melakukan kontrol ke dalam database. 9 10 2.1.1.2.2. Komponen DBMS Menurut Connolly dan Begg (2010) komponen DBMS ada 5 (lima), yaitu: 1. Hardware Perangkat keras yang dibutuhkan untuk menjalankan aplikasi dan DBMS, hardware meliputi PC, mainframe, dan jaringan komputer. 2. Software Meliputi perangkat lunak terdiri dari DBMS itu sendiri, program aplikasi, sistem operasi, dan juga perangkat lunak jaringan. 3. Data Komponen paling penting dalam DBMS, khususnya dalam sudut pandang dari end user. Dalam DBMS environment sendiri, fungsi data adalah menjembatani antara mesin dan manusia. 4. Procedures Procedures mengacu kepada instruksi dan aturan yang mengatur perancangan dan penggunaan database. User dan Staff yang menangani database memerlukan banyak prosedur yang didokumentasikan seperti bagaimana cara menggunakan sistem, adapun instruksinya yaitu: a. Log on ke database, b. Menggunakan fasilitas dari DBMS, c. Start dan stop DBMS, d. Membuat cadangan database, e. Menangani kegagalan hardware dan software, f. Mengubah struktur tabel, g. Mengatur ulang database, 11 h. Meningkatkan kemampuan, i. Mengarsipkan data ke penyimpanan data. 5. People Komponen terakhir dari komponen DBMS, adalah manusia yang terlibat langsung dengan sistem, diantaranya: DBA (Database Administrator), perancang database, pengembang aplikasi, dan end-user. 2.1.2. Sistem Informasi 2.1.2.1. Definisi Sistem Menurut Whitten dan Bentley (2007) sistem merupakan sebuah kumpulan dari komponen yang saling berhubungan, serta berfungsi bersama untuk mencapai tujuan yang diinginkan. 2.1.2.2. Definisi Sistem Informasi Menurut Whitten dan Bentley (2007) sistem informasi merupakan pengaturan orang, data, proses, dan teknologi informasi yang berinteraksi untuk mengumpulkan, memproses, menyimpan, dan menyediakan sebagai output informasi yang diperlukan untuk mendukung sebuah organisasi. 2.1.2.2.1. Jenis Sistem Informasi Adapun sistem informasi dapat diklasifikasikan menurut fungsinya: a. Transaction Processing System (TPS) Sistem informasi yang meng-capture dan memproses data transaksi bisnis. b. Management Information System (MIS) Sistem informasi yang menyediakan untuk pelaporan berorientasi manajemen berdasarkan pemrosesan transaksi dan operasi organisasi. 12 c. Decision Support System (DSS) Sistem informasi yang membantu mengidentifikasi kesempatan dalam pembuatan keputusan atau membantu pembuatan keputusan. d. Executive Information System (EIS) Sistem informasi yang mendukung perencanaan dan penilaian kebutuhan dari manajer eksekutif. e. Expert System Sistem informasi yang meng-capture keahlian pekerja dan mensimulasikan keahlian tersebut pada mereka yang tidak ahli. f. Communication and Collaboration System Sistem informasi yang membuat komunikasi yang lebih efektif antar pekerja, rekan kerja, pelanggan, dan supplier agar dapat meningkatkan kemampuan mereka dalam berkolaborasi. g. Office Automation System Sistem informasi yang mendukung aktivitas kantor bisnis secara luas yang menyediakan aliran kerja yang diperbaiki antara para pekerja. 2.1.3. Internet 2.1.3.1. Definisi Internet Menurut Stair dan Reynolds (2010), internet adalah jaringan komputer terbesar yang terdiri dari ribuan jaringan yang saling terhubung, dan bertukar informasi secara bebas. Perusahaan riset, sekolah, universitas, dan bisnis adalah beberapa contoh organisasi yang menggunakan internet. Semua orang menggunakan internet untuk kebutuhan riset, jual beli produk atau jasa, membuat waktu perjalanan wisata, keperluan 13 banking, download video atau music, mendengarkan radio, selain melakukan kegiatan lain. Secara cepat internet saat ini digunakan untuk media komunikasi, kolaborasi, dan berbagi informasi. 2.1.3.2. Universal Resource Locator (URL) Menurut Carey (2009) Universal Resource Locator (URL) berfungsi untuk menunjukkan lokasi sebuah resource pada internet. Sebagai contoh URL www.whitehouse.gov, sebuah home page dari presiden Amerika Serikat, dan www.w3.org, sebuah home page lainnya dari konsorsium World Wide Web. Semua URL memiliki bentuk sama yaitu, Scheme: location. Scheme menunjukkan tipe resource yang direferensikan oleh URL dan location menunjukkan lokasi resource tersebut. Pada halaman web, location mengacu pada lokasi file HTML, namun pada resources lain, lokasi hanyalah sebuah nama dari suatu resource. Sebagai contoh, sebuah link kepada suatu akun email memiliki alamat email sebagai suatu resource. Adapun nama dari scheme diambil dari protocol yang digunakan untuk mengakses resource. Protocol adalah suatu set aturan yang mendefinisikan bagaimana informasi saling bertukar antara dua devices. 2.1.3.3. Hypertext Transfer Protocol (HTTP) Menurut Carey (2009) Hypertext Transfer Protocol (HTTP) digunakan dalam komunikasi antara Web browser dan Web server. Karena itu, URL pada setiap halaman Web harus dimulai dengan HTTP scheme. Hal ini menegaskan browser harus menggunakan HTTP ketika akan mengakses suatu halaman web. 14 2.1.4. Web 2.1.4.1. World Wide Web (WWW) Menurut Rainer dan Cegielski (2011) World Wide Web (WWW) adalah sistem dengan standar yang diterima secara universal untuk menyimpan, menelusuri, memformat dan menampilkan informasi melalui arsitektur client/server. Web menangani segala tipe informasi digital, termasuk hypermedia, grafik, dan suara. Hal tersebut menggunakan user interface sehingga mudah dalam navigasi. Organisasi yang berharap untuk menawarkan informasi melalui web harus membangun suatu home page. Di mana terdiri atas text dan grafik tampilan layar yang menyambut user dan menjelaskan organisasi tersebut. Semua hal tersebut sering dinamakan atau dikenal sebagai Website. Kebanyakan web menyediakan kontak informasi mengenai organisasi tersebut. 2.1.4.2. Browser Menurut Rainer dan Cegielski (2011) untuk menggunakan internet diperlukan adanya suatu aplikasi peranti lunak yang digunakan user untuk mengakses Web yaitu browser. Browser menyediakan grafik tampilan depan yang memudahkan user dalam menjelajahi web, proses ini disebut surfing. Web browser menjadi sangat berarti di dalam akses universal dikarenakan mereka mengirimkan interface yang sama pada setiap sistem operasi yang dijalankan. Adapun beberapa contoh browser yaitu Internet Explorer dari Microsoft, Firefox dari Mozilla, dan Safari dari Apple. 2.1.4.3. Hypertext Markup Language (HTML) Menurut William dan Sawyer (2011) HTML adalah pondasi/dasar dari tampilan sistem pada browser atau bisa disederhanakan sebagai bahasa pendeskripsi halaman. 15 2.1.4.3.1. HTML5 Menurut MacDonald (2011) angka 5 dalam HTML5 merupakan indikasi standar terbaru dari HTML sebelumnya yaitu HTML versi 4.01. HTML5 tentunya telah mendukung semua yang tidak ada pada versi sebelumnya. Seperti XHTML-style syntax dan inovasi JavaScript. HTML5 dapat mendukung konvensi XHTML, tetapi memberlakukan aturan HTML. 2.1.5. Personal Home Page (PHP) Menurut MacIntyre (2010) Personal Home Page (PHP) diperkenalkan pada tahun 1995 oleh Rasmus Lerdorf, PHP merupakan piranti lunak open source dari awal hingga saat ini. PHP terintegrasi dengan database yang mulai diimplementasikan dengan versi 2.0 pada tahun 1996, dan bertumbuh sangat cepat semenjak itu. PHP digunakan di seluruh dunia dengan pencapaian lebih tinggi dibanding web development language lain. PHP adalah sebuah scripting language, yang sering digunakan pada server side. Dan dapat difungsikan untuk menghasilkan informasi Hypertext Markup Language (HTML) secara dinamis. PHP terkoneksi dengan web server, biasanya Apache atau Internet Information System (IIS). 2.1.6 Application Programming Interface (API) Menurut Patterson dan Hennesy (2008) Application Programming Interface (API) adalah kumpulan dari fungsi dan struktur data yang menyediakan sebuah interface ke kumpulan library dari fungsi-fungsi. 16 2.1.7. Structured Query Language (SQL) 2.1.7.1. Definisi SQL Menurut William dan Sawyer (2011) Structured Query Language (SQL) adalah sebuah bahasa query yang digunakan dalam mengakses dan memanipulasi data sebuah Database Management System (DBMS). Komponen-komponen SQL menurut Connolly dan Begg (2010) adalah: 1. Data Definition Language (DDL) Bahasa yang digunakan seorang Database Administrator atau user dalam mendeskripsikan dan membuat suatu nama entitas, atribut, serta relasi yang dibutuhkan dalam sebuah aplikasi. 2. Data Manipulation Language (DML) Bahasa yang memfasilitasi kumpulan operasi untuk mendukung manipulasi dasar sebuah data di dalam database. Adapun yang terkandung dalam DML, yaitu: a. Menambahkan data dalam database. b. Memodifikasi data yang tersimpan dalam database c. Mengambil atau mengakses data di dalam sebuah database. d. Menghapus data yang terdapat dalam sebuah database. 2.1.7.2. Microsoft SQL Server 2012 (MS SQL) Menurut Mistry dan Misner (2012) Microsoft SQL Server 2012 adalah information platform milik Microsoft yang mendukung cloud computing untuk melakukan skala terhadap data organisasi. SQL Server 2012 dapat mendukung sumber data dari berbagai jenis devices, seperti desktops, phones dan tablets yang digunakan sebagai data center secara public dan private. 17 2.1.8. Virtual Private Network (VPN) Menurut Stair dan Reynolds (2010), penggunaan Virtual Private Network adalah sebuah private network yang menggunakan public network (biasanya internet) untuk menghubungkan beberapa lokasi yang berjauhan. Sebuah VPN menyediakan konektivitas jaringan yang secara fisik jauh dan bisa diibaratkan seperti Wide Area Network (WAN). VPN mendukung koneksi yang aman dan dapat dienkripsi antara private network perusahaan dan user melalui third-party service provider. 2.1.9. Gantt Chart Menurut Whitten dan Bentley (2007) Gantt Chart ditemukan oleh Henry L. Grant pada 1917, banyak digunakan untuk penjadwalan pembuatan suatu projek dan juga sebagai alat evaluasinya. Gantt Chart adalah sebuah bagan horizontal sederhana yang menggambarkan tugas pekerjaan dengan sebuah kalender waktu. Setiap bagan memperlihatkan nama dari sebuah pekerjaan yang harus dilakukan. Pekerjaan tersebut tertulis vertikal pada bagian sebelah kiri kolom. Sedangkan pada garis horizontal menunjukan kalender waktu. 2.1.10. Scrum Methodology Scrum merupakan salah satu jenis Agile Software Development Method. Menurut Cervone (2011) scrum merupakan proses yang ringan untuk mengelola dan mengendalikan pengembangan piranti lunak dan produk dalam lingkungan yang berubah dengan cepat. Pada scrum terdapat roles/peran, artifacts dan process yang penting untuk dipahami. 18 a. Scrum Roles terdiri dari: 1. Scrum Master, peran dari Scrum Master adalah membantu Scrum Team supaya memberikan performa terbaik dan mengatasi hambatan yang dihadapi dalam proses pengerjaan. Scrum Master tidak menentukan tugas Scrum Team, melainkan fokus kepada team dan tantangan yang dihadapi. 2. Scrum Team merupakan tim yang bekerja secara mandiri dan menentukan tugas-tugas yang akan diselesaikan didalam sprint. 3. Product Owner adalah stakeholders yang tahu apa yang harus dibangun dan bagaimana seharusnya progress berjalan. b. Scrum Artifacts terdiri dari: 1. Product backlog merupakan daftar kebutuhan backlog items, yaitu fitur dan produk yang akan diselesaikan dan diatur berdasarkan skala prioritas. 2. Sprint backlog merupakan daftar tahap pengerjaan untuk penyelesaian backlog items yang dibuat secara mandiri oleh Scrum Team. c. Proses kerja dalam Scrum Process: 1. Kickoff Meeting adalah pertemuan yang dihadiri oleh Scrum Master, Scrum Team, dan Product Owner untuk menentukan tujuan utama proyek. 2. Sprint Planning adalah meeting yang dihadiri oleh Scrum Master, Scrum Team, dan Product Owner diawal setiap iterasi (sprint). Fokus meeting ini ada 2 (dua) hal yaitu: a) Menentukan product backlog dan hasil akhir sprint. b) Menentukan sprint backlog. 19 3. Sprint merupakan proses pengerjaan product backlog sesuai dengan sprint backlog yang dilakukan oleh Scrum Team. Dalam proses pengerjaan akan berjalan secara tertutup dan tidak boleh ada perubahan requirements. 4. Daily Scrum adalah pertemuan singkat sekitar 15 menit yang dipimpin oleh Scrum Master sebelum memulai sprint setiap harinya. Pertanyaan yang biasa ditanyakan pada pertemuan ini adalah: a) Apa yang sudah dilakukan pada Scrum terakhir? b) Apa yang akan kalian lakukan untuk Scrum berikutnya? c) Apa yang membuat pekerjaan kalian tertunda? Tujuan dari pertemuan singkat ini adalah melacak progress dari sprint dan membentuk komitmen yang kuat antar anggota tim. 5. Sprint Review Meeting dilaksanakan pada akhir sprint dan mendemonstrasikan hasil sprint kepada Product Owner. Gambar alur Scrum Process dan Scrum Artifacts dapat dilihat pada gambar di bawah ini: Gambar 2.1 Alur Scrum Process and Scrum Artifacts 20 2.1.11. Model-View-Controller (MVC) Menurut Pressman (2010) arsitektur Model-View-Controller (MVC) adalah satu dari beberapa model infrastruktur Web App yang memisahkan user interface dari fungsionalitas dan informasi konten dari Web App. Gambar 2.2 Arsitektur MVC (Sumber: Pressman, 2010, p387) Model mengandung semua konten yang application-specific dan logika pemrosesan, termasuk semua objek, akses ke data/informasi external dan semua pemrosesan yang berhubungan dengan aplikasi. View mengandung semua konten yang interface-specific dan memungkinkan konten dan logika pemrosesan untuk ditampilkan, termasuk semua objek, akses ke data/informasi external dan semua pemrosesan yang dibutuhkan oleh end-user. Controller mengatur akses ke model dan view. Controller melakukan koordinasi dengan data dari model berdasarkan dari inputan user. 21 2.1.12. Object-Oriented Programming Menurut Whitten dan Bentley (2007) pemrograman berorientasi objek sangat populer. Alasannya, karena pemrograman berorientasi objek dapat meningkatkan pemakaian ulang pada code untuk menekan biaya pemrograman. Pada pemrograman tipe ini memungkinkan sebuah sistem yang terintegrasi dalam bentuk project untuk dikerjakan oleh sekumpulan programmer yang berbeda lingkungan geografisnya. Setiap programmer tersebut memiliki tanggung jawab untuk menyelesaikan bagian-bagian independen dari suatu program yang sudah didefinisikan tampilannya. 2.1.13. Unified Modelling Language (UML) Menurut Whitten dan Bentley (2007) Unified Modeling Language (UML) adalah kumpulan konvensi permodelan yang digunakan untuk menentukan atau menggambarkan sebuah sistem piranti lunak yang terkait dengan objek. 2.1.13.1. Use Case Diagram Menurut Whitten dan Bentley (2007) Use Case Diagram adalah diagram yang menggambarkan interaksi antara sistem dengan sistem eksternal dan pengguna. Dengan kata lain, Use Case Diagram secara grafis menggambarkan siapa saja yang akan menggunakan sistem dan dengan cara apa yang pengguna harapkan untuk berinteraksi dengan sistem. 22 Tabel 2.1 Simbol dan Keterangan Use Case Diagram No Simbol 1 Keterangan Perilaku use case symbol yang (merupakan berurutan skenario). tiap langkahnya Tujuannya untuk menyelesaikan satu bisnis tunggal. 2 Segala apapun yang perlu berinteraksi dengam sistem untuk pertukaran informasi. actor symbol 3 Relasi yang mengidentifikasi bahwa use case association with arrowhead yang diimitasi oleh actor yang berada di ujung lain dari garis. 4 Relasi yang mengidentifikasi interaksi diantara use case dan association without arrowhead 5 external server atau receiver actor. Hubungan antara actor yang dibuat untuk menyederhanakan gambar ketika abstract actor inheritance mewarisi peran dari beberapa actor yang sebenarnya. (Sumber: Whitten dan Bentley, 2007) 23 Berikut ini adalah contoh penggunaan Use Case Diagram: Gambar 2.3 Contoh Use Case Diagram (Sumber: Whitten dan Bentley, 2007) Gambar 2.4 Contoh Hubungan Inheritance (Sumber: Whitten dan Bentley, 2007) 24 2.1.13.2. Use Case Narrative Menurut Whitten dan Bentley (2007) Use Case Narrative merupakan deskripsi tekstual kegiatan bisnis dan bagaimana pengguna akan berinteraksi dengan sistem untuk menyelesaikan suatu tugas. Beberapa elemen yang dapat dibuat untuk mendokumentasikan Use Case Narrative adalah: Tabel 2.2 Elemen dan Keterangan Use Case Narrative No Elemen Keterangan 1 Use Case Name Nama dari use case harus mempresentasikan tujuan yang (Nama Use Case) ingin dicapai oleh use case tersebut. Nama use case diawali oleh kata kerja. 2 Actor (Aktor) 3 Description Ringkasan pendek yang berisi sejumlah kalimat yang (Deskripsi) menunjukan secara garis besar tujuan use case. 4 Actor yang akan menjalankan use case. Precondition Batasan pada keadaan sistem sebelum use case dapat (Prakondisi) dieksekusi. Biasanya hal ini mengacu ke use case lain yang harus dieksekusi sebelumnya. 5 Trigger (Pemicu) Kejadian yang menginisiasi eksekusi use case. 6 Typical Course of Merupakan langkah-langkah yang harus dilakukan untuk Events (Bidang Khas menyelesaikan use case. Suatu Event) 25 Bagian alternatif mendokumentasikan kelakuan use case 7 Alternate Courses jika terjadi exception atau variasi terhadap bagian umum. (Bagian Alternatif) Hal ini berjalan jika titik keputusan terjadi dalam use case atau terjadi exception yang memerlukan langkah tambahan di luar lingkup bagian umum. 8 Postcondition Batasan pada kejadian sistem setelah use case dieksekusi (Pascakondisi) dengan baik. (Sumber: Whitten dan Bentley, 2007) 2.1.13.3. Activity Diagram Menurut Whitten dan Bentley (2007) Activity Diagram adalah diagram yang dapat digunakan untuk menggambarkan secara grafis aliran proses bisnis, langkahlangkah dari sebuah use case atau logika dari prilaku objek (method). Berikut ini adalah notasi-notasi yang digunakan dalam activity diagram: Tabel 2.3 Notasi dan Keterangan Activity Diagram No Notasi 1 Keterangan Menggambarkan awal dari sebuah proses. initial node 2 Menggambarkan individual steps actions 26 3 Mengindikasikan progress dalam sebuah action. flow Flow tidak perlu diikuti kata identifikasi, kecuali flow yang keluar dari decision. 4 Berbentuk diamond dengan satu aliran masuk dan dua/lebih aliran yang keluar. Aliran yang keluar decision 5 ditandai untuk mengindikasikan kondisi. Bentuk diamond dengan dua/lebih aliran masuk dan satu aliran keluar. Ini mengkombinasikan aliran merge yang tadinya terpisah oleh decisions. Diproses sehingga satu aliran. 6 Simbol rake yang mendentifikasikan bahwa activity yang memiliki simbol ini merupakan bagian dari subactivity indocator 7 activity diagram lainnya. Balok hitam dengan satu aliran masuk dan dua atau lebih aliran keluar. Aksi dalam aliran yang pararel. fork 8 Balok hitam dengan dua atau lebih aliran masuk dan satu aliran keluar. Aksi yang masuk ke dalam join harus selesai sebelum proses lainnya dilanjutkan. join 27 9 Menggambarkan bagian akhir dari proses. activity final (Sumber: Whitten dan Bentley, 2007) Berikut ini adalah contoh Activity Diagram: Gambar 2.5 Contoh Activity Diagram 28 2.1.13.4. Class Diagram Menurut Whitten dan Bentley (2007) Class Diagram merupakan suatu penggambaran grafis mengenai struktur objek statis dari suatu sistem, menunjukan kelas-kelas objek yang menyusun sebuah sistem dan juga hubungan antara kelas objek tersebut. Atribut dan method dari Class Diagram dapat memiliki salah satu sifat berikut: Private, ditandai dengan (-) Tidak dapat dipanggil dari luar class yang bersangkutan. Protected, ditandai dengan (#) Hanya dapat dipanggil oleh class yang bersangkutan dan anak-anak yang mewarisinya. Public, ditandai dengan (+) Dapat dipanggil oleh class siapa saja. Gambar 2.6 Letak komponen Class Diagram 2.1.13.4.1. Multiplicity Menurut Whitten dan Bentley (2007) multiplicity adalah angka/nomor minimal dan maksimal dari sebuah kejadian suatu objek class terhadap satu kejadian antar object class dalam sebuah relasi. 29 Berikut adalah contoh hubungan dengan multiplicity beserta contoh dan penjelasannya: Gambar 2.7 Notasi Multiplicity Beserta Contoh dan Penjelasan (Sumber: Whitten dan Bentley, 2007, p377) 30 2.1.13.4.2. Hubungan dalam Class Diagram 1. Association Gambar 2.8 Contoh Association (Sumber: Whitten dan Bentley, 2007) 2. Generalization/Specialization Menurut Whitten dan Bentley (2007) Generalization/Specialization adalah sebuah teknik di mana atribut dan behavior yang umum pada beberapa tipe kelas objek, dikelompokkan (diabstraksi) ke dalam ke dalam kelasnya sendiri, yang disebut supertype. Atribut dan method kelas objek supertype kemudian diwariskan oleh kelas objek tersebut (subtype). Berikut contoh hubungan dalam penggunaan Generalization/Specialization: 31 Gambar 2.9 Contoh hubungan Generalization/Specialization (Sumber: Whitten dan Bentley, 2007) 3. Aggregation Menurut Whitten dan Bentley (2007) Aggregation adalah hubungan di mana satu kelas whole yang lebih besar berisi satu atau lebih kelas part yang lebih kecil. Atau kelas part yang lebih kecil merupakan bagian dari kelas whole yang lebih besar. Berikut contoh hubungan dalam penggunaan Aggregation: 32 Gambar 2.10 Contoh Aggregation (Sumber: Whitten dan Bentley, 2007) 4. Composition Menurut Whitten dan Bentley (2007) Composition adalah sebuah hubungan agregasi di mana whole bertanggung jawab atas pembuatan dan perusakan tiap part. Jika whole rusak, maka part juga akan rusak. Berikut contoh hubungan dalam penggunaan Aggregation: 33 Gambar 2.11 Contoh Composition (Sumber: Whitten dan Bentley, 2007) 2.1.13.5. Sequence Diagram Menurut Whitten dan Bentley (2007) Sequence Diagram adalah sebuah diagram UML yang memodelkan logika dari sebuah use case dengan menggambarkan bagaimana objek berinteraksi satu dengan yang lain melalui pesan. Diagram ini mengilustrasikan bagaimana pesan terkirim dan diterima diantara objek dan dalam rangkaian waktu. Notasi-notasi yang ada di dalam sequence diagram, yaitu: 34 Tabel 2.4 Notasi dan Keterangan Sequence Diagram No Simbol Notasi Keterangan 1 Aktor yang diinisialisasi di dalam use case ditampilkan dengan simbol aktor dari use actor case. 2 Kotak yang mengindikasikan kode class pada user interface. interface class 3 Controller class memiliki gambar yang sama dengan user interface. Setiap use case memiliki satu atau lebih dari controller class. controller class 4 Kotak yang mengindikasi sistem secara keseluruhan. Titik dua adalah notasi standar sequence diagram untuk mengindikasi instance yang berjalan di dalam sistem. entity class 5 Panah horizontal dari aktor ke sistem yang messages mengindikasi masukkan pesan. 35 6 Balok yang ditaruh di atas lifelines yang mengindikasi periode waktu ketika sistem aktif dalam interaksi. activation bars 7 Garis-garis vertikal yang merupakan perpanjangan ke bawah dari simbol aktor lifelines dan sistem yang mengindikasikan kehidupan dari sebuah sequence. 8 Panah horizontal dari sistem ke aktor yang ditampilkan dengan garis-garis. return messages 9 Sebuah objek dapat memanggil method-nya self-call sendiri. 10 Sebuah kotak yang melampirkan satu atau lebih pesan untuk memisahkan fragment di dalam sequence. frame (Sumber: Whitten dan Bentley, 2007) 36 Gambar 2.12 Contoh Sequence Diagram (Sumber: Whitten dan Bentley, 2007) 2.1.14. Interaksi Manusia Komputer 2.1.14.1. Definisi Interaksi Manusia dan Komputer Menurut Shneiderman dan Plaisant (2010) Interaksi Manusia dan Komputer adalah ilmu yang mempelajari implementasi dan perancangan interaksi manusia sebagai user dengan sistem komputer. Perancangan yang dilakukan di sini adalah dengan memanfaatkan kelebihan teknologi yang dimiliki oleh komputer sehingga dapat menjangkau kapasitas dan kebutuhan manusia sebagai user. 2.1.14.2. User Interface Menurut Galitz (2010) User interface adalah bagian dari komputer dan software yang manusia dapat dilihat, didengar, disentuh, diajak berbicara, diajak mengerti atau diarahkan. 37 2.1.14.3. Eight Golden Rules of Interface Design Dalam perancangan sebuah interface, terdapat delapan aturan emas yang harus diperhatikan dalam melakukan perancangan menurut Shneiderman dan Plaisant (2010) Kedelapan aturan emas tersebut adalah: 1. Berusaha untuk konsisten Konsistensi yang diperlukan dalam perancangan interface antara lain dengan menggunakan bentuk layout yang sama, font yang sama, warna yang sama, dan terminologi yang sama pada setiap halaman. 2. Memenuhi kegunaan yang universal Perancang interface harus mengetahui kebutuhan dari beragam jenis user. Kebutuhan tersebut bisa terdiri dari perbedaan tingkat kemahiran user, perbedaan usia user, kekurangan (kecacatan) user, dan lain sebagainya. Penambahan interface terhadap kebutuhan-kebutuhan yang beragam tersebut dapat memperkaya interface tersebut dan memperbaiki kualitas sistem. 3. Memberikan umpan balik yang informatif Umpan balik yang informatif dimaksudkan agar user dapat mengerti setiap aksi yang dilakukannya. Untuk aksi yang sering dilakukan atau aksi yang sederhana, umpan balik yang diberikan boleh umpan balik yang sederhana. Sedangkan untuk aksi yang jarang dilakukan atau aksi yang besar, umpan balik yang diberikan adalah umpan balik yang lebih rinci. 4. Merancang dialog untuk hasil akhir Urutan aksi harus dikelompokkan ke dalam beberapa kelompok yaitu kelompok awal, tengah, dan akhir. Umpan balik yang diberikan pada saat user selesai melakukan sebuah aksi, dapat memberikan kepuasan dan rasa lega sehingga user 38 dapat mempersiapkan diri untuk aksi selanjutnya. 5. Memberikan penanganan kesalahan yang sederhana Interface harus dirancang agar user tidak melakukan kesalahan yang besar, misalnya dengan menahan input numerik pada kolom isian alfabetis. Interface juga harus dirancang untuk memberikan penanganan kesalahan yang dilakukan oleh user secara sederhana. 6. Memberikan pembalikan aksi yang mudah Setiap aksi harus dirancang agar dapat melakukan pembalikan aksi sehingga dapat mengurangi kekhawatiran user ketika melakukan kesalahan karena kesalahan tersebut bisa diperbaiki. 7. Memberikan tempat kontrol internal User yang berpengalaman lebih menginginkan perasaan bahwa mereka yang memegang kendali atas interface dan interfacenya memberikan respon atas kendali mereka. 8. Mengurangi beban ingatan jangka pendek Batas kemampuan ingatan jangka pendek manusia menyebabkan tampilan interface yang diberikan harus sederhana, tampilan yang jumlahnya banyak harus digabungkan, jumlah pergerakan window harus dikurangi, dan waktu belajar yang diberikan dialokasikan untuk mempelajari kode-kode dan urutan aksi. 39 2.1.15. Statistik Menurut Dodge (2006) Statistik adalah studi dalam mengkoleksi, mengorganisasi dan menganalisis data. 2.1.16. Chart Menurut Anonim4 (2013) chart digunakan untuk menampilkan data numerik dalam bentuk grafik yang bertujuan untuk memudahkan pemahaman dari banyaknya kuantitas data dan hubungannya dari sekumpulan data yang berbeda. 2.1.16.1. Line Chart Menurut Anonim5 (2013) line chart menampilkan bentuk diagram yang didistribusikan secara horizontal berdasarkan dua poin data yang berbeda. Berikut adalah contoh line chart: Gambar 2.13 Line Chart Example (Sumber: http://office.microsoft.com/en-us/excel-help/present-your-data-in-ascatter-chart-or-a-line-chart-HA010227478.aspx, 2013) 40 2.1.16.2. Bubble Chart Menurut Anonim6 (2013) bubble chart adalah variasi dari scatter chart yang poin datanya diganti dengan bubble. Bubble chart dapat digunakan jika data yang digunakan memiliki 3 seri (x, y, z) yang berasosiasi dimana xy merepresentasikan lokasi dan z merepresentasikan ukurannya. Berikut adalah contoh dari data yang akan direpresentasikan dalam bubble chart: Tabel 2.5 Nilai Industry Market Share yang Akan Dijadikan Bubble Chart (Sumber: http://office.microsoft.com/en-us/excel-help/creating-a-bubble-chartHA001117076.aspx, 2013) Dalam bubble chart, ukuran dari bubble ditentukan oleh seri data ketiga, dimana pada gambar diatas diwakilkan oleh kolom ketiga (Market share %), dan lokasi dari bubble ditentukan oleh kolom pertama dan kedua (Number of products dan Sales). 41 Gambar 2.14 Bubble Chart yang Merepresentasikan Tabel Industry Market Share (Sumber: http://office.microsoft.com/en-us/excel-help/creating-a-bubble-chartHA001117076.aspx, 2013) Dari gambar diagram diatas, dapat diperhatikan data pada diagram sebagai berikut: Number of products di tampilkan dalam bentuk sumbu x. Sales ditampilkan dalam bentuk sumbu y. Market share percentages direpresentasikan dengan ukuran bubble. 42 2.2 Teori Khusus Berikut ini berisikan teori-teori khusus yang digunakan sebagai landasan teori berpikir dalam penulisan skripsi ini. 2.2.1. Perizinan Kapal Laut 2.2.1.1. Definisi Kapal Laut Menurut Peraturan Presiden RI Nomor 79 Pasal 1 (2011), kapal adalah kendaraan air dengan bentuk dan jenis tertentu, yang digerakan dengan tenaga angin, tenaga mekanik, energi lainnya, ditarik atau ditunda, termasuk kendaraan yang berdaya dukung dinamis, kendaraan di bawah permukaan air, serta alat apung dan bangunan terapung yang tidak berpindah-pindah. 2.2.1.2. Definisi Keagenan Agen umum adalah perusahaan angkutan laut nasional atau perusahaan nasional yang khusus didirikan untuk melakukan usaha keagenan kapal, yang ditunjuk oleh perusahaan angkutan laut asing untuk mengurus kepentingan kapalnya selama berada di Indonesia (Peraturan Presiden RI Nomor 79 Pasal 1, 2011). 2.2.1.3. Definisi Wilayah Laut Indonesia Wilayah laut Indonesia terdiri dari perairan teritorial seluas 0,3 juta km2, perairan laut Nusantara seluas 2,8 juta km2 dan perairan Zona Ekonomi Eksklusif (ZEE) seluas 2,7 km2. Di dalam perairan tersebut terdapat keanekaragaman sumber daya ikan laut yang melimpah (Ditjen Tangkap-DKP 2010). 43 2.2.1.4. Definisi Port/Pelabuhan Pelabuhan adalah tempat yang terdiri atas daratan atau perairan dengan batasbatas tertentu sebagai tempat kegiatan pemerintahan dan kegiatan pengusahaan yang dipergunkan sebagai tempat kapal bersandar, naik turun penumpang, dan atau bongkar muat barang, berupa terminal dan tempat berlabuh kapal yang dilengkapi dengan fasilitas keselamatan dan keamanan pelayaran dan kegiatan penunjang pelabuhan serta sebagai tempat perpindahan intra dan antarmoda transportasi (Peraturan Presiden RI Nomor 79 Pasal 1, 2011). 2.2.1.5. Definisi Call Sign Call Sign memiliki pengertian yang berbeda berdasarkan sudut pandangnya, yaitu pengertian secara umum dan khusus di bidang maritim. Pengertian call sign secara umum adalah tanda pengenal untuk stasiun pemancar di berbagai negara, tanda panggil digunakan sebagai nama stasiun penyiar, tapi banyak negara lainnya tidak, sedangkan pengertian call sign secara khusus di bidang maritim adalah identifikasi transmisi atau pancaran radio untuk menunjukkan identitas nama stasiun radio dan kepemilikan kebangsaan (Anonim3, 2012). 2.2.1.6. Definisi Long Range Identification and Tracking (LRIT) Long Range Identification and Tracking (LRIT) adalah sistem pengamanan kapal yang ditetapkan oleh Organisasi Maritim Internasional (IMO) pada tanggal 19 Mei 2006 dimana regulasi LRIT dimasukkan dalam ketentuan Safety of Life at Sea (SOLAS) Bab V pada Peraturan 19-1 dan mengikat semua pemerintah/negara yang sudah meratifikasi konvensi SOLAS (Prosedur Tetap Ketua Badan Koordinasi Keamanan Laut 44 nomor: PROTAP-063/KETUA/BAKORKAMLA/VI/2011 tentang upaya pencegahan oleh perusahaan dan nakhoda kapal terhadap perompakan). 2.2.1.7. Definisi Clearance Approval for Indonesian Territory (C.A.I.T) Permohonan untuk memperoleh Clearance and Approval for Indonesian Territory (CAIT) dan perizinan terkait dengan pelabuhan, kepabeanan, keimigrasian, dan karantina sebagaimana dimaksud pada ayat (1) dapat dilakukan secara elektronik (Peraturan Presiden RI Nomor 79 Pasal 1, 2011). 2.2.2. Windows 8 Menurut Honeycutt (2012) Windows 8 adalah sistem operasi baru yang dikonsep ulang oleh Microsoft untuk mencerminkan cara orang bekerja dan bermain, menggunakan berbagai ragam devices, dan berinteraksi pada social media. Sekilas kita berpikir bahwa Windows 8 dengan fitur baru hanya akan disukai oleh pengguna non bisnis, tetapi Windows 8 juga memiliki banyak fungsi untuk bisnis dan IT Professional. User interface dan model aplikasi baru memungkinkan para pebisnis untuk menciptakan aplikasi Line-of-Business (LOB) mereka sendiri untuk meningkatkan produktifitas user. Sistem operasi ini meningkatkan hal-hal yang paling mendasar seperti kecepatan, kehandalan dan keamanan. Dan yang terakhir Windows 8 bekerja dengan infrastruktur yang ada saat ini, tetapi juga menawarkan cara-cara baru untuk mengelola lingkungan desktop pengguna. 45 2.2.2.1. Line-of-Business Applications Menurut Rothaus (2012) aplikasi yang ditargetkan terhadap konsumen umum dapat dipasarkan diseluruh dunia melalui Windows Store, namun aplikasi line-ofbusiness (LOB) hanya digunakan untuk pengguna yang mengambil peran dalam operasi bisnis diperusahaan tertentu. Aplikasi LOB biasanya bekerja dengan penyimpanan data secara back-end yang ditargetkan terhadap proses bisnis yang spesifik dan harus mematuhi kebijakan batasbatas keamanan (restricted security policies). Untuk menjamin keamanan sumber daya perusahaan, aplikasi LOB perlu kontrol ketat dalam update aplikasi. Contoh-contoh dari aplikasi berjenis LOB adalah point-of-sale, katalog produk, penjualan, monitoring, dan workflow management. 2.2.2.2. Distributing Within an Enterprise Menurut Honeycutt (2012), distribusi aplikasi melalui enterprise berbeda dengan melalui Windows Store. Aplikasi yang dibuat akan diinstall secara sideloading. Setelah aplikasi dikembangkan, secara otomatis disebarkan (push) ke komputer yang ada diorganisasi tersebut. Adapun 3 requirement utama untuk aplikasi sideloading, yaitu: 1. Komputer tujuan harus tergabung ke dalam domain. 2. Group Policy harus diatur menjadi “Allow all trusted apps to install.” 46 Gambar 2.15 Group Policy Management Editor 3. Aplikasi harus signed dengan Certificate Authority (CA) yang dipercaya oleh komputer tujuan. 2.2.2.3. Windows App Certification Kit (ACK) Menurut Honeycutt (2012), Windows ACK adalah tool untuk melakukan uji evaluasi terhadap pemenuhan dan kelayakan sebuah aplikasi Windows 8. Faktor-faktor yang diuji adalah sebagai berikut: 1. Crashes and hangs test Melakukan monitoring terhadap aplikasi ketika dimulai, sedang berjalan dan dimatikan. 2. App manifest compliance test Memastikan file dengan format package.appxmanifest. Jika file tersebut diedit dengan Visual Studio, maka tidak akan jadi masalah. 47 3. Windows security features test Memastikan aplikasi tidak melakukan perubahan terhadap proteksi keamanan Windows. 4. Supported API test Memastikan bahwa aplikasi hanya menggunakan API yang mendukung Windows 8 seperti devices, graphics, media, networking, printing, security, dan lain-nya. 5. Performance test Mencatat waktu aplikasi berjalan untuk memastikan aplikasi berjalan dengan cepat. Tes ini juga melakukan interaksi dengan UI untuk memastikan interaksi user dan perintah sistem berjalan dengan cepat. Apabila satu respon memakan waktu 3 detik atau lebih, maka untuk tes ini akan menghasilkan statement Warning. 6. App manifest resources test Memastikan bahwa gambar, icon aplikasi terdapat pada lokasi yang tepat dan dapat diakses. 7. Debug confguration test Memastikan bahwa aplikasi dibangun dengan release configuration, bukan dengan debug configuration. 8. File encoding Memastikan bahwa semua file menggunakan encoding jenis UTF-8. Hal ini penting sekali untuk file JavaScript yang akan dicompile ke dalam bytecode ketika instalasi untuk performa yang lebih cepat. 9. Direct3D feature level support Memastikan aplikasi mendukung Direct3D untuk animasi. 48 10. App Capabilities test Memastikan app capabilities yang telah dideklarasi dalam aplikasi berhubungan dengan function inti didalam aplikasi. 11. Windows Runtime metadata validation Memastikan bahwa semua file metadata tersimpan dengan benar pada lokasi yang ingin dipanggil. Diakhir pengujian, Windows ACK akan membuat packages dari aplikasi yang diuji beserta menampilkan hasil uji tes keseluruhannya. Packages aplikasi Windows 8 memiliki ekstensi .appx (khusus package yang tidak akan didistribusikan melalui Windows Store), dan .appxupload (khusus package yang akan didistribusikan ke Windows Store). Hasil pengujian tiap-tiap faktor uji berupa statement yaitu Passed, Warning, dan Failed. Untuk aplikasi yang handal maka perlu Passed semua faktor uji diatas. Jika ada salah satu faktor uji diatas failed, maka hasil keseluruhannya juga failed. Statement Warning diberikan apabila hasil faktor uji tersebut tidak terlalu kritis. 2.2.2.4. Windows 8 Features 2.2.2.4.1. Windows-8 Style UI Menurut Bright (2012) aplikasi Windows 8 saat ini sudah berganti nama dari Metro Style lagi menjadi Windows-8 Style UI. Karakteristik dari Windows-8 Style UI adalah: a. Chromeless yaitu aplikasi yang tidak memiliki border sehingga bebas dari pengalihan. b. Mendukung inputan dengan touch dan pen. 49 c. Aplikasi yang dapat berbicara dengan aplikasi lain. d. AppBar untuk memudahkan kontrol secara application specific dan CharmBar untuk secara general. e. Menggunakan Tile yang hidup, bukan Icon. 2.2.2.4.2. Notifications Notifications berada di dalam tile yang hidup, berfungsi untuk memberi tahu event yang sedang terjadi dan membutuhkan perhatian dari user. Pada Windows 8, notifications dapat direpresentasikan dengan: 1. Live Tile dan Badges Tiles terdapat pada start screen. Live Tiles adalah tile yang hidup dengan menampilkan konten dari aplikasi. Badges adalah konten dari tiles yang dapat ditampilkan dalam bentuk angka atau glyph. 2. Toast Notification Toast bisa terdapat pada semua lingkungan Windows 8 dan terletak dikanan atas layar. 2.2.2.5. Building Windows 8 Apps Menurut Honeycutt (2012) semua Visual Studio dapat membuat aplikasi untuk Windows. Ketika aplikasi di-build, maka akan menghasilkan App Package. App Package mengandung file yang dibutuhkan aplikasi bersamaan dengan package manifest. Package manifest mengandung informasi tentang aplikasi tersebut, didalamnya termasuk bagaimana cara berinteraksi dengan aplikasi, apa saja resources yang dibutuhkan, dan lain-lain. 50 Setiap organisasi memiliki kemampuan masing-masing dalam membuat aplikasi dengan keahlian bahasa yang berbeda. Pada Windows apps kali ini dapat dibangun dengan berbagai bahasa pemrograman yaitu: a. JavaScript b. Visual C# c. Visual C++ d. Visual Basic 2.2.2.6. JavaScript for Windows Menurut Crockford (2008), JavaScript adalah bahasa pemrograman yang sangat penting karena JavaScript adalah bahasa untuk web browser. Asosiasinya dengan browser menjadikan JavaScript bahasa pemrograman yang paling populer di dunia ini. Menurut Esposito (2012), dengan rilisnya Windows 8, Microsoft menjadikan JavaScript sebuah platform kelas atas dalam membuat aplikasi. Developer menggunakan HTML5 untuk membangun layout atau tata letak, CSS untuk memberikan style dan JavaScript untuk melakukan manipulasi terhadap elemen halaman. Developer juga memiliki akses ke berbagai sistem yang telah disediakan dalam bentuk library bernama WinJS. Dalam library tersebut menawarkan UI Widgets dan alat-alat untuk mengakses capabilities pada Windows 8, seperti toast, live tile, dan badges. 2.2.3. Simple Object Access Protocol (SOAP) Menurut Harwani (2010) SOAP adalah protokol standar milik W3C yang ditujukan untuk menentukan format dalam pertukaran informasi dalam web service. SOAP menggunakan teknologi XML untuk mendefinisikan kerangka pesan extensible 51 dan menyediakan konstruksi pesan yang dapat dipertukarkan melalui berbagai protokol yang mendasarinya. Kerangka kerja ini telah dirancang untuk menjadi independen dari setiap model pemrograman tertentu dan implementasi semantik lain yang spesifik. Perlu diperhatikan bahwa SOAP hanya bertanggung jawab untuk mendefinisikan stuktur yang akan digunakan untuk bertukar pesan. SOAP tidak mendefinisikan protocol yang digunakan untuk mentransfer pesan dan fitur Web Service untuk menerima atau mengirim pesan. Berikut adalah gambaran bagaimana client berkomunikasi dengan web service dengan menggunakan SOAP: Gambar 2.16 Demonstrasi komunikasi SOAP (Sumber: Harwani, 2010, p212) 2.2.3.1. NuSOAP Menurut Harwani (2010), NuSOAP adalah kumpulan dari classes PHP yang memungkinkan proses untuk mengkonsumsi dan membuat SOAP messages menjadi lebih mudah. Kumpulan classes ini ditulis oleh Dietrich Ayala menawarkan banyak fitur seperti: 1. Simplicity NuSOAP dengan pendekatan object oriented memungkinkan user untuk fokus dalam membuat aplikasi karena tidak perlu memperhatikan lagi detil untuk memasang, parsing, submission dan penerimaan pesan SOAP. 52 2. WSDL generation and importing NuSOAP membuat dokumen WSDL ke web service yang biasa digunakan sebagai dokumentasi dan referensi terhadap SOAP Client. 3. A proxy class NuSOAP dapat membuat procy class yang memperbolehkan methods untuk dipanggil seolah-olah dipanggil secara lokal. 4. HTTP Proxying Untuk berbagai alasan (security dan audit), beberapa client yang ingin mengajukan koneksi perlu melewati proxy sebelum melakukan query ke service center. 5. Socket Secure Layer (SSL) NuSOAP mendukung komunikasi data yang aman dengan SSL jika ekstensi CURL disediakan oleh PHP. 2.2.4. jQuery Mobile Menurut Reid (2010), jQuery Mobile adalah kumpulan dari jQuery plug-ins dan widgets yang bermaksud untuk menyediakan API lintas platform dalam membuat mobile web applications. Dalam segi implementasi kode, jQuery Mobile sangat mirip dengan jQuery UI, tetapi jQuery UI berfokus pada desktop applications, dan jQuery Mobile dibangun dengan kesesuaian perangkat mobile.