BAB II LANDASAN TEORI
2.1
Interaksi Manusia dan Komputer 2.1.1 Penertian Interaksi Manusia dan Komputer Menurut (Plaisant & Cathrine, 2010) Interaksi Manusia dan Komputer adalah sebuah disiplin ilmu yang berhubungan dengan perancangan, evaluasi, dan implementasi sistem komputer interaktif untuk digunakan oleh manusia, serta mempelajari fenomenafenomena besar yang berhubungan dengannya. 2.1.2 Faktor Manusia Terukur Terdapat lima faktor pada manusia terukur dalam desain interface pengguna, antara lain: 1. Time to learn ( Waktu Belajar ) Lama waktu orang biasa mempelajari cara relevan untuk melakukan suatu tugas. Contoh, ketika pengguna menggunakan salah satu aplikasi baru seperti aplikasi pada sistem pengamanan rumah berbasis Website, dan pengguna ingin mengendalikan peralatan listriknya, berapa lama pengguna mengetahui cara pengendalian tersebut menggunakan aplikasi itu, inilah yang disebut “time to learn”. 2. Speed of performance (Kecepatan kinerja) Lama waktu yang diperlukan untuk melakukan suatu tugas. Contoh, masih dalam kasus pengendalian listrik, ketika pengguna ingin menyalakan lampu rumahnya menggunakan melalui website, waktu antara pengguna menyalakan lampu rumah dengan kondisi lampu yang dinyalakan benar-benar menyala, hal tersebut yang dimaksud dengan “speed of performance”. 3. Rate of errors by user (Tinggkat kesalahan pengguna) Jumlah kesalahan yang dilakukan pengguna dan kesalahan apa saja yang dilakukan pengguna. Website itu mudah atau sulit dalam pengendalian dapat dilihat dari jumlah kesalahan yang sering 8 http://digilib.mercubuana.ac.id/
dilakukan oleh pengguna. Ada beberapa bagian yang menyulitkan pengguna dalam pengoperasian di dalam aplikasi tersebut, sehingga pengguna sering melakukan kesalahan. 4. Retention over time (Daya ingat) Kemampuan pengguna mempertahankan pengetahuannya setelah jangka waktu tertentu. Seperti pengguna selalu ingat bagaimana menggunakan fitur-fitur dalam aplikasi dalam website dengan mudah dan mengetahui betul apa fungsi dari tiap fitur tersebut. 5. Subjective satisfaction (Kepuasan subjektif) Kesukaan pengguna terhadap berbagai aspek sistem. Dalam arti pengguna merasa fitur-fitur di dalam aplikasi yang digunakan bermanfaat dan berguna bagi pengguna untuk kebutuhan seharihari. Sehingga pengguna puas dengan sistem didalam aplikasi tersebut. 2.1.3 Kategori Pengguna Ada tiga kategori pengguna dalam menggunakan suatu program, antara lain: 1. Novice of first-time user (Pemula) Tipe ini dapat digolongkan bagi seorang pemula dalam menggunakan program. Oleh sebab itu, hal yang perlu diperhatikan dari tipe ini yaitu mengenai perancangan program agar mudah digunakan baik dari segi tampilan, navigasi program, dan dalam memberikan pesan kesalahan kepada pengguna bila terjadi kesalahan dengan bahasa yang mudah dimengerti. 2. Knowledge intermetien users (Pengguna yang memiliki pengetahuan) Tipe ini menggambarkan pengguna yang memiliki pengetahuan akan sistem. Pengguna seperti ini biasanya mengerti konsep dan struktur menu pada suatu program, sehingga pengguna dapat menggunakan program dengan cepat.
9 http://digilib.mercubuana.ac.id/
3. Expert freqwen users (Ahli program) Pengguna yang tergolong dengan tipe ini adalah pengguna yang sudah paham mengenai cara kerja sistem atau program, sehingga pengguna dapat mempelajari dan menggunakan program lebih cepat dengan memanfaatkan command line, macro hingga short cut. 2.1.4 Delapan Aturan Emas Dalam Membangun Design Interface Terdapat delapan aturan emas yang harus diperhatikan dalam desain interface, antara lain: 1. Strive of consistensi (Konsistensi) Konsistensi dalam urutan tindakan program dalam segala segi, seperti tampilan menu, jenis tulisan hingga istilah-istilah yang digunakan. Konsistensi ini berguna agar pengguna dapat dengan cepat memahami yang dimaksudkan oleh sistem dan dapat menjalankan sistem dengan baik. 2. Carter to univer usability (Memenuhi kegunaan yang universal) Mengenali kebutuhan
dari
tiap
pengguna
yang
beragam.
Memahami perbedaan pengguna dari pengguna baru hingga pengguna ahli, kondisi pengguna, umur pengguna dan teknologi yang digunakan sebagai patokan dalam membuat desain interface. 3. Offer information feedback (Memberikan umpan balik yang informative) Setiap apa yang dilakukan oleh pengguna, sistem harus memberikan umpan balik yang jelas dan tegas. Hal ini menghindari pengguna dari kebingungan hingga membuat kesalahan fatal. Contohnya seperti memberi petunjuk letak kesalahan inputan dari pengguna ketika pengisian data diri. 4. Design dialogs to yield closure (Merancang dialog untuk penutup) Suatu aksi harus memiliki tiga bagian pada suatu sistem, yaitu bagian awal, bagian tengah dan bagian akhir. Memberikan umpan balik yang sesuai pada tiap tindakan, sehingga pengguna dapat 10 http://digilib.mercubuana.ac.id/
mengetahui hasil dari proses dan dapat melanjutkan ke tahap selanjutnya. 5. Prevent errors (Memberikan penanganan kesalahan) Sebaiknya sistem dirancang sedemikian rupa agar meminimalisir kesalahan dari apa yang dilakukan pengguna. Jika Pengguna melakukan kesalahan, sistem harus cepat mendeteksi dan memberi tahu letak kesalahan dan memberikan solusi yang mudah kepada pengguna. 6. Permit easy reversal of actions (mudah kembali ke tindakan sebelumnya) Sistem mampu melakukan operasi pengembalian tindakan ke sebelumnya jika hal tersebut dibutuhkan oleh pengguna, hal ini sangat berguna untuk mengurangi kecemasan pengguna ketika terjadinya kesalahan. 7. Support internal locus of control (Mendukung pengendalian internal) Menjadikan pengguna sebagai pengontrol utama bukan sebaliknya, pengguna harus leluasa dalam mengendalikan sistem sesuai dengan apa yang pengguna ingin lakukan. 8. Reduce short-term memory load (Mengurangi beban ingatan jangka pendek) Karena keterbatasan ingatan, pengguna harus diberikan tampilan yang sederhana, tidak memerlukan banyak halaman agar menghindari kebingungan yang terjadi pada pengguna.
2.2
UML Menurut (Fowler, 2005) Unfied Modeling Language (UML) adalah suatu set modeling yang menjelaskan suatu objek di dalam system yang berjalan. Dengan membuat UML programmer dengan mudah menentukan algoritma yang akan buat menjadi program dan menjadi patokan dalam membangun penampilan. Macam-macam bentuk dari UML:
11 http://digilib.mercubuana.ac.id/
2.2.1 Use Case Menurut (Whitten, 2007) Use Case diagram merupakan suatu interaksi antara system dan external system dan users. Pada penggambarannya use case menjelaskan siapa yang berkepentingan dalam menjalankan sebuah sistem. Dalam use case narrative memiliki actor, case dan penjelasan tiap case yang sequence pada setiap interaksi.
Gambar 2. 1 Use Case Use case mendeskripsikan fungsi dari sebuah sistem dilihat dari sudut pandang pengguna. 1. Actor Menurut (Whitten, 2007) actor merupakan sebuah entitas manusia atau sistem yang berinteraksi dengan sistem untuk melakukan pekerjaan tertentu. Actor tidak selamanya harus berupa manusia, tetapi dapat juga sistem yang melakukan proses terhadap sistem lainnya.
Gambar 2. 2 Actor Menurut (Whitten, 2007) terdapat empat type actor utama, antara lain: 1. Primary business actor (aktor bisnis utama) Pemangku kepentingan menjadi pengguna utama yang akan berinteraksi langsung pada sistem.
12 http://digilib.mercubuana.ac.id/
2. Primary system actor (aktor sistem utama) Aktor utama berinteraksi langsung dengan pelaku bisnis utama untuk tujuan menggunakan sistem. 3. External server actor (aktor server eksternal) Aktor sebagai pemangku kepentingan yang merespon permintaan dari Use Case 4. External receiver actor (aktor penerima eksternal) Pemangku kepentingan bukan sebagai aktor utama tetapi sebagai penerima dari Use Case. 2. Relations Menurut (Whitten, 2007) relasi atau hubungan terbagi menjadi lima tipe, antara lain : 1. Associations Merupakan relasi yang terjadi antara actor dengan use case, dimana hubungan yang terjadi tersebut bisa terjadi searah atau dua arah.
Gambar 2. 3 Contoh association relationship 2. Extends Use Case tersebut dapat menjadi fungsi Use Case yang lebih kecil. Hasil dari ekstraksi use case disebut extension use case. Hubungan yang terjadi antara extension use case dengan use case yang terekstraksi disebut extends relationship.
Gambar 2. 4 Contoh extends relationship
13 http://digilib.mercubuana.ac.id/
3. Includes (or uses) Ketika dua atau lebih use case memiliki fungsi yang identik, maka use cases tersebut dapat digabungkan membentuk use case umum menjadi abstract use case. Hubungan antara abstract use case dengan use case yang tergabung disebut includes relationships.
Gambar 2. 5 Contoh uses relationship 4. Depends on Hubungan antara use case yang menunjukkan bahwa satu use case tidak dapat dilakukan sampai use case yang lain dilakukan disebut depends on
Gambar 2. 6 Contoh Depends on relationship 5. Inheritance Ketika dua atau lebih aktor dapat menginisialisasikan use case yang sama, maka ekstrasi dilakukan terhadap aktor tersebut. Hasil ekstrasi tersebut dinamakan abstract actor yang akan mempunyai use case dari aktor induk.
14 http://digilib.mercubuana.ac.id/
2.2.2 Activity Diagram Activity Diagram adalah model tiap step proses atau tiap aktivitas sistem. Menurut (Whitten, 2007) ada sepuluh element pada activity diagram, antara lain: 1.
Initial node Sebuah lingkaran dengan isi penuh sebagai tAnda dimulainya proses.
2.
Action Action untuk menunjukan suatu aksi/aktivitas dari user dan system.
3.
Flow Flow berupa tAnda panah untuk menunjukan jalur dari satu aktivitas ke aktivitas berikutnya.
4.
Decision Decision untuk menunjukan keadaan kondisional dimana memilih flow/aktivitas mana yang dilanjutkan.
5.
Merge Merge berbentuk sama dengan decision, tetapi digunakan untuk menggabungkan flow dari aktivitas yang sebelumnya terpisah oleh decision.
6.
Fork Fork untuk menunjukan adanya dua atau lebih aktivitas yang berlangsung secara bersamaan/pararel
7.
Join Join berbentuk sama dengan fork, namun digunakan untuk menutup proses pararel yang sudah berakhir.
8.
Activity Final Activity final sebuah lingkaran dengan isi yang tidak penuh, menandakan bahwa proses sudah selesai.
9.
Subactivity indicator
15 http://digilib.mercubuana.ac.id/
Subactivity indicator proses yang ditandai oleh simbol tersebut mempunyai activity diagram tersendiri. 10. Connector Connector digunakan untuk mengatasi kompleksitas dari suatu proses. Sebuah flow yang menuju pada connector dapat melompat ke flow output yang mempunyai connector dengan huruf yang sama. Contoh Activity Diagram
Gambar 2. 7 Contoh Activity Diagram Member Urder Use Case
16 http://digilib.mercubuana.ac.id/
Gambar 2. 8 Contoh Activity Diagram with Partitioning 2.2.3 Sequence Diagram Menurut (Whitten, 2007) Sequence Diagram merupakan gambaran interaksi antara aktor dengan sistem pada waktu yang berurutan di dalam skenario use case.
17 http://digilib.mercubuana.ac.id/
Gambar 2. 9 System Sequence Diagram for place order Use Case
Gambar 2. 10 System Sequence Diagram for login validation Notasi Sequence Diagram dengan mengikuti ilustrasi di atas, (Whitten, 2007): 1. Actor Inisial aktor yang terdapat pada use case sebagai symbol actor. 2. System Kotak yang mengindikasikan sistem sebgai “black box” atau keseluruhan. Titik dua (:) standar notasi pada Sequence Diagram yang mengindikasikan contoh sebuah system berjalan.
18 http://digilib.mercubuana.ac.id/
3. Lifelines Garis horizontal yang memberikan simbol hubungan antara actor dengan sistem. 4. Activation Bar Diagram ini menunjukkan bagaimana aktifitas-aktifitas dari lifeline yang bertartisipasi dalam sistem bergantung satu sama lain untuk berinteraksi. 5. Input Message Baris horizontal dari actor ke sistem dalam bentuk pesan masuk. 6. Output Message Baris horizontal dari sistem ke actor sebagai garis berjalan. 7. Receiver actor Actor lain atau sistem eksternal yang menerima pesan dari sistem lain. 8. Frame Kotak yang dapat menutup satu atau lebih pesan divide off fragment dari setiap step. 2.3
Metode Waterfall Menurut (Pressman, 2005) model waterfall adalah model klasik yang bersifat sistematis, berurutan dalam membangun Perangkat lunak. Model ini sering disebut dengan “classic life cycle” atau model waterfall. Model ini termasuk kedalam model generic pada rekayasa Perangkat lunak dan pertama kali diperkenalkan oleh Winston Royce sekitar tahun 1970 sehingga sering dianggap kuno, tetapi merupakan model yang paling banyak dipakai di dalam Perangkat lunak Engineering (SE). Model ini melakukan pendekatan secara sistematis dan berurutan. Disebut dengan waterfall karena tahap demi tahap yang dilalui harus menunggu selesainya tahap sebelumnya dan berjalan berurutan.
19 http://digilib.mercubuana.ac.id/
Gambar 2. 11 System Development Waterfall Menurut (Pressman, 2005) metode waterfall ini memiliki tahapan, antara lain : 1. Requirment (Analisis Kebutuhan) Pada tahapan ini biasanya dilakukan pengumpulan data-data atau informasi-informasi yang berkaitan dengan perangkat lunak atau sistem yang akan dikembangkan. 2. Design System (Design Sistem) Pada tahapan ini, arsitektur perangkat lunak mulai dibuat berdasarkan data-data yang diperoleh sebelumnya pada tahapan analisa. Penulisan kode juga dilakukan pada tahapan ini, selanjutnya komponen antarmuka untuk perangkat lunak juga dirancang dengan mengacu pada kebutuhan-kebutuhan yang sebelumnya telah dilakukan pada tahapan analisa. 3. Coding and Testing (Penulisan Kode dan Testing) Pada tahapan ini, dilakukan pengujian terhadap tiap unit-unit program yang telah dibuat. Tujuan dilakukannya tahapan ini adalah untuk memverifikasi bahwa setiap unit program telah berjalan sesuai dengan fungsi yang telah ditetapkan sebelumnya.
20 http://digilib.mercubuana.ac.id/
4. Integration Testing (Penerapan / Pengujian Program) Pada tahapan ini, seluruh unit program mulai diintegrasikan satu sama lain kemudian diuji sebagai perangkat lunak atau sistem secara lengkap dan utuh. Tujuan dari tahapan ini adalah untuk menjamin bahwa segala persyaratan yang sebelumnya dicatat pada tahapan analisa telah terpenuhi dan tidak ada yang meleset dari perkiraan atau prediksi 5. Operation and Maintenance (Pemeliharaan) Pada tahapan ini biasanya dilakukan perbaikan, penambahan atau pengembangan perangkat lunak berdasarkan permintaan dari user atau pemilik.
2.4
Raspberry PI 2 B+ (Pi, 2015) Raspberry Pi suatu alat sebesar kartu kredit yang berukuran kecil yang dihubungkan ke monitor komputer atau TV, dan menggunakan keyboard standar dan mouse. Raspberry Pi adalah perangkat kecil yang mampu yang memungkinkan orang dari segala usia untuk mengeksplorasi komputasi, dan belajar bagaimana program dalam bahasa seperti Scratch dan Shell Script. Raspberry Pi mampu melakukan segala sesuatu di komputer, dari browsing internet dan bermain video highdefinition, untuk membuat spreadsheet, pengolah kata, dan bermain game. Berikut adalah komponen pada Raspberry PI 2 B+ : 1. Power Perangkat Raspberry Pi membutuhkan tegangan 5V dengan daya diantara 700-1500 mA untuk kondisi semua port yang membutuhkan daya seperti port usb untuk mouse/keyboard, audio. Bila menggunakan HUB USB (port usb yang melebihi standar ketersediaan dari Raspberry Pi) maka disarankan memakai daya diatas 1 Amp untuk menjaga kestablikan performa. Dengan kata lain bisa menggunakan power charger dari Blackberry tipe Dakota atau sejenisnya yang berdaya 8501000mA.
21 http://digilib.mercubuana.ac.id/
2. SD Card SD card diperangkat Raspberry Pi sangat penting, dikarenakan untuk tempat booting OS atau memulai program di perangkat tersebut. Tipe SD Card nya adalah tipe SD Card class 10 (tipe SD card untuk Handycam HD) bila mana bukan tipe itu maka SD Card akan error/SD card mengalami kerusakan data didalamnya. Minimum SD card yang disarankan adalah 8GB untuk keamanan dalam keleluasaan data bergerak dan menginstal keperluan lain selain OS/data. Untuk memori maksimal bisa sampai dengan 32GB dan bisa dilampirkan USB flashdisk atau HDD. Bila terjadi kerusakan atau kegagalan dalam SD Card, maka bisa me ”reflashing” ulang SD card tersebut. 3. Port HDMI , RCA , dan Audio Port HDMI adalah salah satu port untuk mengeluarkan tampilan (interface) dari sistem Raspberry Pi, dimana High-Definition Multimedia Interface (RHDMI) adalah salah satu antarmuka (interface) peralatan audio/video digital tanpa kompresi yang didukung oleh industri. HDMI menyediakan antarmuka antara beberapa sumber audio/video digital yang cocok, saperti set-top box, pemutar DVD atau penerima AV serta audio digital dan atau monitor video yang cocok, seperti televisi digital (DTV). Pada port HDMI kita bisa mengakali bila mana kita tidak menggunakan HDMI, atau dengan kata lain kita ingin menggunakan port DVI (satu jenis hubungan tunggal yang digunakan pada monitor komputer modern dan kartu grafik). VGA tidak support di Raspberry Pi, karena VGA adalah teknologi yang sudah mulai ditinggalkan dan tidak akan berfungsi bila VGA adapter ke HDMI tetap akan dipasang. Radio Corporation of America (RCA) adalah elektrik konektor yang dipergunakan untuk membawa sinyal audio dan video, di Raspberry Pi kita bisa mengeluarkan tampilan sistem menggunakan RCA Video dan akan muncuk di layar TV yang sudah menyediakan penerima RCA konektor, dan biasanya RCA konektor yang sering digunakan untuk video adalah warna kuning. Warna sebenarnnya tidak berpengaruh, hanya untuk penAnda jalur kabel nya saja. Jadi di Raspberry Pi sudah
22 http://digilib.mercubuana.ac.id/
menyediakan port untuk mengeluarkan tampilan sistem dalam Raspberry Pi, HDMI yang dipergunakan tampilan yang membutuhkan Qualitas atau RCA Video yang hanya sekedar tampilan biasa dan perangkat TV yang biasa dan bisa terjangkau. Terdapat satu port audio TRS connector jack audio out ke pengeras suara atau jack audio in untuk microphone dengan menggunakan jack standard 3.5mm. pilihan untuk menerima dan mengeluarkan suara dari Raspberry Pi bisa melewati jack 3.5mm atau melewati HDMI supported. 4. USB, Networking, dan Wireless (Pi, 2014) Raspberry Pi Model B dilengkapi port USB untuk menghubungkan antara perangkat perangkat tambahan di luar Raspberry Pi, tergantung kebutuhan dari project yang akan dibuat dan kebutuhan sistem, bila mana kita ingin memperbanyak port USB nya maka kita harus menyadari bahwa kebutuhan pasokan listrik ke Raspberry Pi akan bertambah besar. Untuk Raspberry Pi model B sudah dilengkapi wired Ethernet yang bisa digunakan untuk mengontrol sistem secara jarak jauh atau bisa menggunakan jaringan wireless. Di Raspberry Pi tidak ada perangkat wifi tetapi kita bisa menggunakan perangkat tambahan wifi untuk keperluan sistem secara wireless via USB. 5. CPU dan GPU Tabel 2. 1 Spesifikasi Raspberry PI 2 model B Broadcom BCM2836 SoC
Chip Core architecture
Quad-core ARM Cortex-A7
CPU
900 MHz
GPU
Dual Core VideoCore IV® Multimedia Co-Processor
Memory
1GB LPDDR2
Operating
Boots from Micro SD card, running a version of the
System
Linux operating system
USB
4 x USB 2.0 Connector
Ethernet
10/100 BaseT Ethernet socket
Video
HDMI
23 http://digilib.mercubuana.ac.id/
Output GPIO Connector Power Camera Connector
40-pin 2.54 mm (100 mil) expansion header: 2x20 strip Providing 27 GPIO pins as well as +3.3 V, +5 V and GND supply lines Micro USB socket 5V, 2A 15-pin MIPI Camera Serial Interface (CSI-2)
Audio
3.5mm jack, HDMI
Output Memory
Micro SDIO
Card Slot 6. GPIO
(Pi, 2015) General Purpose input/output adalah pin generik pada sirkuit terpadu yang perilakunya, termasuk apakah itu input atau output pin, dapat dikendalikan oleh pengguna pada waktu berjalan. Pin GPIO tidak memiliki tujuan khusus yang ditetapkan, dan pergi tidak terpakai secara default. Idenya adalah bahwa kadang-kadang sistem integrator membangun sistem lengkap yang menggunakan chip mungkin menemukan itu berguna untuk memiliki beberapa saluran kontrol digital tambahan, dan memiliki ini tersedia dari chip dapat menyimpan kerumitan harus mengatur sirkuit tambahan untuk menyediakan mereka.
2.5
Teori Listrik Menurut (Fylod, 2014) AC adalah kependekan dari Alternating Current yang artinya arus bolak-balik sedangkan DC adalah kependekan dari Direct Current yang artinya arus searah. AC dan DC adalah jenis tegangan atau arus listrik dengan karakteristik, sifat, dan bentuk gelombang yang berbeda, namun satuan dan besaran-besarannya sama yaitu: Volt (V) untuk satuan tegangan, Ampere (A) untuk satuan arus, dan Watt (W) untuk satuan daya. Jika suatu alat menggunakan sumber tegangan AC, maka arus yang mengalir pada perangkat tersebut adalah arus AC, demikian juga jika
24 http://digilib.mercubuana.ac.id/
suatu alat menggunakan sumber listrik DC, maka arus yang mengalir adalah arus DC.
2.6
Relay Board Relay Modul 5V adalah saklar elektronik untuk mengendalikan perangkat listrik yang memerlukan tegangan dan arus yang besar. Kompatible dengan semua mikrokontroler (khususnya Arduino, 8051, 8535, AVR, PIC, DSP, ARM, ARM, MSP430, TTL logic, maupun Raspberry Pi) .(Relay, 2013)
2.7
Internet Internet merupakan singkatan dari Interconnection Networking. Internet berasal dari bahasa latin “inter” yang berarti antara. Secara kata perkata INTERNET berarti jaringan antara atau penghubung, sehingga kesimpulan dari defenisi internet ialah merupakan hubungan antara berbagai jenis komputer dan jaringan di dunia yang berbeda sistem operasi maupun aplikasinya dimana hubungan tersebut memanfaatkan kemajuan komunikasi (telepon
dan
satelit)
yang
menggunakan
protokol
standar
dalam
berkomunikasi yaitu protokol Transmission Control/Internet Protocol (TCP/IP) menurut (Douglas, 1997). Model koneksi internet itu sendiri dapat dilakukan pada komputer pribadi maupun jaringan LAN/WAN. Defenisi LAN/WAN antara lain: 1.
Local Area Network (LAN) adalah suatu jaringan yang terbentuk dengan menghubungkan beberapa komputer yang berdekatan yang berada pada suatu room atau gedung yang terkoneksi ke internet gateway.
2.
Wide Area Network (WAN) adalah format jaringan dimana suatu komputer dihubungkan dengan yang lainnya melalui sambungan telepon. Data dikirim dan diterima oleh atau dari suatu komputer ke komputer lainnya lewat sambungan telepon. Konektor komputer dengan telepon adalah menggunakan Modulator, Demodulator (modem).
25 http://digilib.mercubuana.ac.id/
2.8
Website Website adalah kumpulan halaman web yang saling terhubung dan file-filenya saling terkait. Web terdiri dari page atau halaman, dan kumpulan halaman yang dinamakan homepage. Homepage berada pada posisi teratas, dengan halaman-halaman terkait berada di bawahnya. Biasanya setiap halaman di bawah homepage disebut child page, yang berisi hyperlink ke halaman lain dalam web (Wikipedia, n.d.).
2.9
HTML5 HTML5 adalah versi terbaru dari HTML (Hypertext Markup Languange) sebelumnya yaitu, HTML 4.01, XHTML 1.0, dan XHTML 1.1. HTML5 dikembangkan dengan fitur-fitur baru yang dibutuhkan untuk pengembangan aplikasi web yang canggih. Seperti versi sebelumnya, HTML5 didesain untuk multiplatform sehingga tidak harus digunakan pada sistem operasi tertentu untuk implementasinya, melainkan yang dibutuhkan adalah web browser versi terbaru yang bisa berjalan di berbagai platform sistem operasi seperti, Apple Safari, Google Chrome, Mozilla firefox, dan Opera. Begitu juga web browser yang ada di gadget seperti, Android, Blackberry dan iPhone. Secara keseluruhan, berikut kelebihan yang ditawarkan oleh HTML5 (David, 2012).
2.10 Bootstrap Sebuah alat bantu untuk membuat sebuah tampilan halaman website yang dapat mempercepat pekerjaan seorang pengembang website ataupun pendesain halaman website. Sesuai namanya, website yang dibuat dengan alat bantu ini memiliki tampilan halaman yang sama / mirip dengan tampilan halaman Twitter atau desainer juga dapat mengubah tampilan halaman website sesuai dengan kebutuhan. Bootstrap dibangun dengan teknologi HTML dan CSS yang dapat membuat layout halaman website, tabel, tombol, form, navigasi, dan komponen lainnya dalam sebuah website hanya dengan memanggil fungsi CSS (class) dalam berkas HTML yang telah didefinisikan. Selain itu juga
26 http://digilib.mercubuana.ac.id/
terdapat komponen-komponen lainnya yang dibangun menggunakan JavaScript (B Efreon, 1993).
2.11 MySQL MySQL (My Structure Query Language) adalah sebuah perangkat lunak sistem manajemen basis data SQL (Database Management System) atau DBMS dari sekian banyak DBMS, seperti Oracle, MS SQL, Postagre SQL, dan lain-lain. MySQL merupakan DBMS yang multithread, multi-user yang bersifat gratis dibawah lisensi GNU General Public Licence (GPL) (Nugroho, 2005). Menurut (Firdaus, 2007) MySQL atau yang biasa dibaca “mai-sekuel” adalah sebuah program pembuat database yang bersifat open source, yang artinya siapa saja boleh menggunakannya. MySQL merupakan salah satu software database (basis data) opensource yang dikembangkan sebuah komunitas bernama MySQL AB dengan tujuan membantu user untuk menyimpan data dalam tabel-tabel. Tabel terdiri atas field (kolom) yang mengkelompokan data-data berdasarkan kategori tertentu, seperti nama, alamat, nomor telepon, dan sebagainya (Firdaus, 2007). Disini kita menggunakan MySQL sebagai SQL server karena berbagai kelebihannya yaitu: 1. Source MySQL dapat diperoleh dengan mudah dan gratis. 2. Sintaknya lebih mudah dipahami dan tidak rumit. 3. Pengaksesan database dapat dilakukan dengan mudah. Keunggulan MySQL (Anhar, 2010): 1. MySQL dapat berjalan dengan stabil pada berbagai system operasi seperti Windows, Linux, FreeBSD, Mac OS X Server, Solaris, dan masih banyak lagi. 2. Bersifat Open Source, MySQL didistribusikan secara open source (gratis), dibawah lisensi GNU General Public Licence (GPL).
27 http://digilib.mercubuana.ac.id/
3. Bersifat Multiuser, MySQL dapat digunakan oleh beberapa user dalam waktu yang bersaman tanpa mengalami masalah. 4. MySQL memiliki kecepatan yang baik dalam menangani query (perintah SQL). Dengan kata lain, dapat memproses lebih banyak SQL per satuan waktu. 5. Selain MySQL bersifat fleksibel dengan berbagai pemograman, MySQL juga memiliki interface (antarmuka) terhadap berbagai aplikasi dan bahasa pemograman dengan menggunakan fungsi API (Application Programming Interface). Kekurangan MySQL: 1. Data yang ditangani belum besar. 2. Untuk koneksi ke dalam Bahasa pemograman visual seperti VB, Delphi, dan Foxpro. MySQL kurang support. Karena koneksi ini menyebabkan field yang dibaca harus sesuai dengan koneksi dari program visual tersebut, hal ini yang mengakibatkan MySQL jarang dipakai kedalam program visual.
2.12 PYTHON Python adalah bahasa pemrograman interpretatif multiguna dengan filosofi perancangan yang berfokus pada tingkat keterbacaan kode. Python diklaim sebagai bahasa yang menggabungkan kapabilitas, kemampuan, dengan sintaksis kode yang sangat jelas, dan dilengkapi dengan fungsionalitas pustaka standar yang besar serta komprehensif. Python mendukung multi paradigma pemrograman, utamanya; namun tidak dibatasi; pada pemrograman berorientasi objek, pemrograman imperatif, dan pemrograman fungsional. Salah satu fitur yang tersedia pada python adalah sebagai bahasa pemrograman dinamis yang dilengkapi dengan manajemen memori otomatis. Seperti halnya pada bahasa pemrograman dinamis lainnya, python umumnya digunakan sebagai bahasa skrip meski pada praktiknya
penggunaan
bahasa
ini
lebih
luas
mencakup
konteks
pemanfaatan yang umumnya tidak dilakukan dengan menggunakan bahasa
28 http://digilib.mercubuana.ac.id/
skrip. Python dapat digunakan untuk berbagai keperluan pengembangan perangkat lunak dan dapat berjalan di berbagai plat (Python, 2016). 2.13 Flask Flask adalah microframework untuk Python yang dibuat dengan toolkit wsgi dan Jinja2. Flask dibuat dan dimaintain oleh Armin Ronacher. Pertama kali dirilis 4 tahun yang lalu (April 2010), Flask saat ini berada di versi 0.10.1 dan dilisensikan dengan BSD license.Aplikasi web yang dibuat dengan Flask disimpan dalam satu berkas .py. Flask ingin menjadi web framework yang sederhana namun dapat diperluas dengan beragam pustaka tambahan yang sesuai dengan kebutuhan penggunanya. Flask memang belum mencapai versi 1.0 namun dokumentasi yang dimilikinya sangatsangat lengkap, anda dapat menemukan contoh kode maupun penjelasan penggunaan Flask (Ronacher, 2013).
2.14 PhpMyAdmin PhpMyAdmin merupakan suatu program open source yang berbasis web yang dibuat menggunakan aplikasi PHP. Program ini digunakan untuk mengakses
database
MySQL.
Program
ini
mempermudah
dan
mempersingkat kerja penggunanya. Dengan kelebihannya, pengguna awam tidak harus paham sintak-sintak SQL dalam pembuatan database dan table (Firdaus, 2007).
2.15 Web Server Web server adalah Perangkat lunak yang sebagai inti dari World Wide Web (WWW) server menunggu permintaan dari client yang menggunakan browser seperti Internet Explorer, Mozilla, dan program browser lainnya. Jika ada permintaan dari browser, maka web server akan memproses permintaan itu kemudian memberikan hasil prosesnya berupa data yang diinginkan kembali ke browser. Data ini mempunyai format yang standar, disebut dengan format Standar General Markup Language (SGML). Data yang berupa format ini kemudian akan ditampilkan oleh browser sesuai dengan kemampuan browser tersebut. Contohnya, bila data 29 http://digilib.mercubuana.ac.id/
yang dikirim berupa gambar, browser yang hanya mampu menampilkan teks (misalnya lynx) tidak akan mampu menampilkan gambar tersebut, dan jika ada akan menampilkan alternatifnya. Web server, untuk berkomunikasi dengan client-nya (web browser) mempunyai protokol sendiri, yaitu Hypertext Transfer Protocol (HTTP) (Effendi, 2009). 2.16 Pengujian Black-box Black-box testing adalah metode pengujian perangkat lunak yang tes fungsionalitas dari aplikasi yang bertentangan dengan struktur internal. Pengetahuan khusus dari kode aplikasi / struktur internal dan pengetahuan pemrograman pada umumnya tidak diperlukan. Uji kasus dibangun di sekitar spesifikasi dan persyaratan, yakni, aplikasi apa yang seharusnya dilakukan. Menggunakan deskripsi eksternal perangkat lunak, termasuk spesifikasi, persyaratan, dan desain untuk menurunkan uji kasus. Tes ini dapat menjadi fungsional atau non-fungsional, meskipun biasanya fungsional. Perancang uji memilih input yang valid dan tidak valid dan menentukan output yang benar. Tidak ada pengetahuan tentang struktur internal benda uji itu. Metode uji dapat diterapkan pada semua tingkat pengujian perangkat lunak: unit, integrasi, fungsional, sistem dan penerimaan. Ini biasanya terdiri dari kebanyakan jika tidak semua pengujian pada tingkat yang lebih tinggi, tetapi juga bisa mendominasi unit testing juga. Metode ujicoba blackbox memfokuskan pada keperluan fungsional dari software(Sommerville, 2011). Ujicoba blackbox berusaha untuk menemukan kesalahan dalam beberapa kategori, diantaranya: Fungsi-fungsi yang salah atau hilang Kesalahan interface Kesalahan dalam struktur data atau akses database eksternal
30 http://digilib.mercubuana.ac.id/