BAB 2 LANDASAN TEORI
Pada bab ini akan menjelaskan tentang teori-teori yang digunakan dalam pembuatan sistem manajemen ini.
2.1. HTML Menurut Alexander F.K Sibero (2011 : 19), HTML atau dengan singkatan Hyper Text Markup Language adalah bahasa pemograman yang digunakan dalam web sebagai bahasa untuk pertukaran dokumen web. Struktur HTML terdiri dari tag pembuka dan tag penutup. Contoh struktur dokumen HTML sebagai berikut:
Gambar 2. 1 Contoh Struktur Dokumen HTML
9
10
2.2. Web server Menurut Alexander F.K. Sibero (2011 : 11), Web server adalah sebuah komputer yang terdiri dari perangkat keras dan perangkat lunak. Secara bentuk fisik dan cara kerjanya, perangkat keras web server dengan PC dibedakan oleh kapasitas dan kapabilitasnya. Perangkat lunak dalam web server memiliki karakteristik dan teknologi yang digunakan untuk mengatur kerja sistemnya. Contoh-contoh perangkat lunak web server antara lain :
Tabel 2. 1 Perangkat Lunak Web server Vendor
Produk
Apache Software Foundation Apache Web server
Sistem Operasi Cross Platform
Microsoft Corp.
Internet Information Services (IIS) Windows Only
Oracle Corp.
iPlanet Web server
Cross Platform
2.3. PHP Menurut Alexander F.K. Sibero (2011 : 49), PHP adalah pemograman intrepreter yaitu proses penerjemahan source code menjadi kode mesin yang dimengerti komputer secara langsung pada saat source code dijalankan. PHP adalah singkatan dari Hypertext Preprocessor. PHP disebut sebagai Server Side Programming dikarenakan seluruh prosesnya dijalankan pada server. Script PHP yang dibuat harus tersimpan dalam sebuah server dan dieksekusi atau diproses dalam server tersebut. Dengan menggunakan PHP, sebuah halaman web akan lebih interaktif dan dinamis.
11
PHP tidak dapat dijalankan tanpa menggunakan software pendukung yang bekerja di komputer lokal. Software pendukung yang harus di instalasi, yaitu Apache, PHP, phpMyAdmin, dan database MySQL. Software pendukung ini terdapat dalam sebuah paket software, seperti Xampp dan Appserver.
2.4. UML Menurut Scott W. Ambler (2005 : ix), models digunakan oleh developer profesional untuk berkomunikasi antara pekerjaan mereka dengan project stakeholders dan dengan developer lainnya. Unified Modeling Language (UML) menjadi bagian penting dalam pembuatan software sejak diperkenalkan pada tahun 1997. UML merupakan bahasa desain model yang menjelaskan hubungan antara desain dan kode dengan sebuah sistem. The Object Management Group (OMG) merilis versi 1.1 pada 1997 yang menggabungkan Booch Notation, Object Modeling Technique (OMT), dan Object-Oriented Software Engineering (OOSE). UML termasuk sebuah set diagram konsisten yang digunakan untuk menjelaskan dan komunikasi kebutuhan sistem software, desain, dan kode. UML terdiri dari koleksi artefak yang digunakan untuk menangkap kebutuhan dan desain sistem software. UML yang biasa digunakan selama kegiatan antara lain: 2.4.1. Use-case Diagram Menurut Scott W. Ambler (2005 : 33), use-case diagram memperlihatkan hubungan antara aktor dan use-case dalam sebuah sistem.
12
Use-case sering digunakan untuk : - Memberikan gambaran tentang semua atau sebagian dari persyaratan penggunaan untuk sistem atau organisasi dalam bentuk model penting - Mengkomunikasikan lingkup sebuah proyek yang dibangun Use-case model terdiri dari satu atau banyak use-case diagram dan didukung oleh dokumentasi seperti spesifikasi use-case dan definisi aktor. Use-case memiliki dua tingkat use-case diagram, yaitu : - User level,
yang menggambarkan bagaimana user
berinteraksi dengan sistem. - Developer
level,
yang
menggambarkan
bagaimana
komponen sistem akan berinteraksi. User level dalam use-case ditempatkan pada kebutuhan sistem sedangkan developer level menyediakan kebutuhan untuk subsistem. Use-case digunakan untuk memodelkan sistem/subsistem dari aplikasi. Sebuah use-case diagram menangkap fungsi tertentu dari sistem. Use-case diagram membutuhkan : - Aktor, yang berfungsi sebagai yang menjalankan sistem. - Use-case, yang berfungsi sebagai kegiatan yang akan dijalankan oleh aktor. - Garis penghubung yang menghubungkan aktor dengan usecase yang dijalankan.
13
Gambar 2. 2 Scott W. Ambler, 2005 : 36 Figure 15
2.4.2. Activity Diagram Menurut Scott W. Ambler (2005 : 113), activity diagram setara dengan berorientasi objek seperti flow chart dan diagram aliran data. Activity diagram digunakan untuk mengeksplorasi logika seperti: - Operasi yang kompleks, - Aturan bisnis yang kompleks, - Use-case tunggal, - Use-case yang banyak, - Proses bisnis, - Proses yang bersamaan, - Proses perangkat lunak
14
Activity diagram pada dasarnya adalah flow chart untuk mewakili bentuk aliran satu aktifitas dengan aktifitas lainnya. Activity diagram dapat digambarkan sebagai operasi dari sistem.
Gambar 2. 3 Scott W.Ambler, 2005 : 127 Figure 46
2.4.3 Class Diagram Menurut Scott W. Ambler (2005 : 47), class diagram menampilkan semua kelas yang terdapat dalam sistem, hubungan mereka, dan operasi dan atribut dari class. Class diagram sering digunakan untuk : - Menjelaskan konsep domain dalam bentuk model. - Menganalisis persyaratan dalam bentuk model analisis dan konseptual. - Menggambarkan desain secara rinci berorientasikan objek atau objek berbasiskan software.
15
Class diagram merupakan diagram statis. Class diagram mewakili pandangan statis dari aplikasi. Class diagram tidak hanya digunakan
untuk
memvisualisasikan,
menggambarkan,
dan
mendokumentasikan perbedaan aspek dari sistem, tetapi juga untuk membangun kode executable dari aplikasi software. Class diagram menampilkan koleksi dari class, interface, associations, collaborations, dan constraints. Hal ini juga dikenal sebagai diagram struktural. Class diagram memberikan pandangan dari kelas desain dari sistem. Class diagram mengandung representasi dari kelas dan paket dan bagaimana mereka berhubungan.
Gambar 2. 4 Scott W.Ambler, 2005 : 50 Figure 19
16
2.4.4. Conceptual Diagram Menurut Robinson, Brooks, Kotiadis, & Van Der Zee (2010 : 1), conceptual model adalah suatu proses abstrak model dari sebuah kenyataan atau usulan sistem. Conceptual diagram digunakan untuk memodelkan konsepkonsep yang ada dalam aplikasi.
Gambar 2. 5 Robinson, Brooks, Kotiadis, & Van Der Zee, 2010 : 11 Figure 1.2
2.4.5. Sequence Diagram Menurut Scott W. Ambler (2005 : 80), sequence diagram adalah teknik permodelan yang dinamik, seperti communication diagram. Sequence diagram sering digunakan untuk: - Validasi logika dan melengkapi skenario yang digunakan - Mengeksplorasikan menyediakan
jalan
desain
karena
sequence
untuk
langkah
visualisasi
permintaan dari definisi class.
diagram melalui
17
Sequence diagram merupakan jenis interaction diagram yang menunjukkan bagaimana proses beroperasi satu sama lain. Sequence diagram menunjukkan interaksi objek yang diatur dalam urutan waktu. Sequence diagram biasanya berkaitan dengan realisasi use-case dalam logical
view
dari
pengembangan
sistem.
Garis
putus-putus
menunjukkan bahwa ada kegagalan dalam pencetakan diagram. Sequence diagram mengikat use-case diagram dan class diagram bersama. Sequence diagram menunjukkan bagaimana class diagram bekerja sama untuk melaksanakan use-case. Sequence diagram dapat disebut event diagram, event scenario dan timing diagram.
Gambar 2. 6 Scott W. Ambler, 2005 : 82 Figure 30
18
2.5. Database Management System Menurut Connoly dan Beff (2005 : 16), DBMS adalah sebuah sistem software yang memungkinkan pengguna untuk mendefinisikan, membuat, memelihara, dan mengendalikan akses terhadap database. DBMS merupakan perantara bagi user dengan database. Cara berinteraksi antara user dengan database diatur oleh sebuah bahasa yaitu bahasa database. Bahasa database terdiri atas sejumlah perintah yang dapat dituliskan oleh user untuk kemudian diproses oleh DBMS untuk melakukan aksi tertentu. Contohcontoh bahasa database antara lain: - SQL, - dBase, - QUEL, dll.
2.6. MySQL Menurut Alexander F.K Sibero (2011 : 97), MySQL adalah suatu RDBMS (Relational
Database Management
System)
yaitu
sistem
aplikasi
yang
menjalankan fungsi pengolahan data. MySQL dikembangkan oleh MySQL AB yang kemudian diakuisisi Sun Microsystem dan terakhir dikelola oleh Oracle Coorporation. 2.6.1. Data Definition Language (DDL) Data Definition Language (DDL) adalah suatu tata bahasa definisi data pada MySQL. DDL digunakan untuk mendefinisikan suatu DATABASE, TABLE, TABLESPACE, LOGFILE GROUP,
19
SERVER INDEX. DDL umunya digunakan untuk mendefinisikan suatu data atau record. Data Definition Language terdiri dari : - CREATE Create digunakan untuk mendefinisikan suatu struktur, wadah yang dipergunakan sebagai media suatu data atau record, dan atribut pendukung lainnya. - ALTER Alter digunakan untuk mengubah definisi suatu struktur, wadah yang dipergunakan sebagai media suatu data atau record, dan atribut pendukung lainnya. - DROP Drop digunakan untuk menghapus suatu struktur, wadah yang dipergunakan sebagai media suatu data atau record, dan atribut pendukung lainnya. - RENAME Rename digunakan untuk mengganti nama suatu struktur, wadah yang dipergunakan sebagai media suatu data atau record.
Penggunaan
DATABASE dan TABLE.
RENAME
hanya
berlaku
untuk
20
2.6.2. Data Manipulation Language (DML) Data Manipulation Language (DML) adalah suatu tata bahasa manipulasi data yang terdapat pada MySQL. DML digunakan untuk memanipulasi data pada TABLE Database.
2.6.3. Stored Procedure Stored Procedure adalah suatu fungsi yang tersimpan dalam database yang berisi kumpulan perintah untuk pengolahan data yang dapat dijalankan oleh program maupun sesama fungsi dalam database.
2.7. Waterfall Model Menurut Roger S. Pressman (2010 : 39), Waterfall model menyarankan pendekatan yang sistematis bagi software developer yang dimulai dari tahap communication, planning, modeling, construction, dan diakhiri oleh deployment.
Gambar 2. 7 Roger S. Pressman, 2010 : 39 Figure 2.3
- Communication Tahap communciation merupakan tahap pengumpulan kebutuhan secara intensif dan fokus kepada software yang ingin dibuat. Communication terdiri dari project initation dan requirements gathering.
21
- Planning Tahap planning merupakan perencanaan dalam menyelesaikan software yang akan dibuat. Pada tahap ini developer membuat perkiraan waktu yang diperlukan. Tahap ini terdiri dari estimating, scheduling, dan tracking. - Modeling Tahap modeling adalah tahapan perancangan aplikasi. Biasanya terdapat proses yang difokuskan pada empat bagian dari program, seperti struktur data, arsitektur software, representasi software, dan detail algoritma. Tahap ini terdiri dari analisis dan desain. - Construction Tahap construction adalah tahapan dimana penerjemahan desain menjadi coding. Setelah penerjemahan coding selesai, testing pun dilakukan. Proses ini menekankan pada logika internal pada aplikasi. Proses ini terdiri dari coding dan testing. - Deployment Tahap deployment terdiri atas delivery, support, dan feedback. Pada tahap ini, developer menyiapkan aplikasi yang menyediakan fungsi dan fitur yang bermanfaat. Developer juga menyediakan dokumentasi untuk semua fitur dan fungsi. Tahap ini developer juga mendapatkan feedback yang berakhir pada perubahan fungsi dan fitur dari software yang telah dibuat.
2.8. CSS Menurut Keith Schengili-Roberts (2000 : 9), Cascading Style Sheet (CSS) adalah alat yang ampuh untuk memenuhi kebutuhan web authors yang ingin
22
mengatur lebih baik tentang bagaimana halaman web ditampilkan. CSS tidak mempengaruhi fungsi dasar seperti hyperlink dalam halaman web. CSS digunakan untuk mengatur halaman web supaya terlihat lebih rapi dan dapat membuat tampilan pengguna yang sangat bagus.
2.9. World Wide Web Dalam buku Keith Schengli-Roberts, World Wide Web muncul pada tahun 1991 sebagai hasil dari proyek computer engineer Tim Berners-Lee di Eropa untuk riset nuklir (CERN) di Jenewa, Swiss. Tujuannya adalah untuk mendapatkan cara berkomunikasi antara satu sama lainnya dengan komputer yang berbeda dan diinformasikan melalui internet.
2.10. CodeIgniter CodeIgniter
merupakan
salah
satu
framework
PHP.
CodeIgniter
dikembangkan oleh Rick Ellis. Pada situsnya (www.ellislab.com) menjelaskan tujuan dari pembuatan framework CodeIgniter adalah untuk menghasilkan framework yang akan dapat digunakan untuk pengembangan proyek pembuatan website secara lebih cepat dibandingkan dengan pembuatan website dengan cara pengkodean secara manual. Fitur-fitur yang didukung oleh CodeIgniter antara lain : - Sistem berbasis Model View Controller - Compatible dengan PHP versi 4 - Ringan dan cepat - Terdapat dukungan untuk berbagai database, dll
23
2.11. MVC MVC merupakan metode pengembangan sistem yang dibagi atas komponen Model, View, Controller secara terstruktur. Salah satu penggunaan metode MVC adalah framework CodeIgniter pada PHP. - Model Model merupakan komponen yang berinteraksi langsung dengan database. Sistem-sistem seperti tampilan, penambahan, perubahan, dan penghapusan data terletak dalam komponen model. - View View merupakan komponen yang berinteraksi langsung dengan user atau pengguna. Sistem-sistem seperti menampilkan hasil dari permintaan pada komponen controller yang berinteraksi langsung dengan komponen model. - Controller Controller merupakan komponen penghubung antara view dan model. Controller berfungsi sebagai pengambilan inputan dari view dan mengirim inputan tersebut ke dalam komponen model
2.12. JetBrains PhpStorm JetBrains PhpStorm merupakan salah satu aplikasi yang dibuat untuk membangun halaman web berbasis PHP. PhpStorm menyediakan platform untuk kode PHP, HTML, dan JavaScript. Aplikasi inilah yang digunakan dalam pembuatan halaman web sistem manajemen restoran.
24
2.13. PhpMyAdmin Menurut Alexander F.K. Sibero (2011 : 376), phpMyAdmin merupakan aplikasi web yang digunakan untuk administrasi database MySQL. Sebelum menjalankan phpMyAdmin, kita harus menjalankan software pendukungnya, seperti Xampp. Fitur administrasi phpMyAdmin antara lain : - Pembuatan, Mengubah, dan Menghapus Database - Pembuatan, Mengubah, dan Menghapus Tabel - Menampilkan, Menambahkan, Mengubah, dan Menghapus Data - Membuat dan Menghapus View - Menampilkan dan Menghapus Indeks Kolom
2.14. Xampp Xampp merupakan salah satu paket web server yang umumnya digunakan oleh web developer. Xampp berisi antara lain server web Apache, intrepreter PHP, dan database MySQL.