BAB II LANDASAN TEORI 2.1 PHP PHP merupakan singkatan dari Personal Home Page, Sesuai dengan namanya, Php digunakan untuk membuat website pribadi. Menurut Madcoms (2011) PHP adalah bahasa pemrograman yang berjalan dalam sebuah webserver dan berfungsi sebagai pengolah data pada sebuah server. Dengan menggunakan program PHP, sebuah website akan lebih interaktif dan dinamis Php menjadi bahasa pemrograman web yang powerful dan tidak hanya digunakan untuk membuat halaman web sederhana, tetapi juga website yang dinamis. Php memiliki kepanjangan PHP Hypertext Preproscessor, yang merupakan bahasa pemrogaman yang berfungsi untuk membangun suatu website dinamis. PHP merupakan aplikasi perangkat lunak open source dan mampu digunakan pada system operasi Windows maupun Linux. PHP pertama kali dibuat oleh Rasmus Lerdorf pada tahun 1995. Pada waktu itu PHP bernama FI (Form Interpreted). Menurut Anhar (2010) PHP adalah bahasa scripting yang menyatu dengan HTML dan dijalankan pada server side. Artinya semua sintaks yang kita berikan akan sepenuhnya dijalankan pada server sedangkan yang dikirimkan ke browser hanya hasilnya saja. 9 http://digilib.mercubuana.ac.id/ Menurut Anhar (2010:3) “PHP merupakan script yang terintegrasi dengan HTML dan berada pada server (server side HTML embedded scripting). PHP adalah script yang digunakan untuk membuat halaman website yang dinamis”. Program ini mempermudah dan mempersingkat kerja penggunanya. Dengan kelebihannya,para pengguna awam tidak harus paham sintak-sintak SQL dalam pembuatan database dan table. 2.2 HTML HTML adalah singkatan dari Hyper Text Mark Up Language yaitu sebuah bahasa yang digunakan untuk membuat suatu halaman web. Html dapat juga digunakan sebagai link antara media. HTML merupakan sebuah standar yang digunakan secara luas untuk menampilkan halaman web. HTML saat ini merupakan standar Internet yang didefinisikan dan dikendalikan penggunaannya oleh World Wide Web Consortium (W3C). HTML dibuat oleh kolaborasi Caillau TIM dengan Berners-lee robert ketika mereka bekerja di CERN pada tahun 1989 (CERN adalah lembaga penelitian fisika energi tinggi di Jenewa). 2.3 BASIS DATA (DATABASE) Sistem basis data adalah sistem terkomputerisasi yang tujuan utamanya adalah memelihara data yang sudah diolah atau informasi dan membuat informasi tersedia saat dibutuhkan. Pada intinya basis data adalah media untuk 10 http://digilib.mercubuana.ac.id/ menyimpan data agar dapat diakses dengan mudah dan cepat. Menurut Connoly dan Begg (2010, p65), basis data adalah suatu kumpulan logikal data yang berhubungan dan dekripsi dari data tersebut yang di rancang untuk kebutuhan informasi suatu organisasi Sistem informasi tidak dapat dipisahkan dengan kebutuhan menyimpan basis data ataupun bentuknya, entah berupa file teks ataupun Database Managament System (DBMS). Kebutuhan basis data dalam sistem informasi meliputi : a) Memasukan, menyimpan, dan mengambil data b) Membuat laporan berdasarkan data yang telah disimpan. 2.3.1 DBMS (DATABASE MANAGEMENT SYSTEM) DBMS (Database Management System) atau dalam bahasa Indonesia sering disebut sebagai Sistem manajemen basis data adalah suatu sistem aplikasi yang digunakan untuk menyimpan, mengelola, dan menampilkan data. Suatu sistem aplikasi disebut DBMS jika memenuhi persyaratan minimal sebagai berikut : a) Menyediakan fasilitas untuk mengelola data. b) Mampu menangani integritas data c) Mampu menangani akses data yang dilakukan secara berkala d) Mampu menangani backup data. Karena pentingnya bagi suatu organisasi/perusahaan, maka hampir 11 http://digilib.mercubuana.ac.id/ sebagian besar perusahaan memanfaatkan DBMS dalam mengelola data yang mereka miliki. Pengelolalaan DBMS sendiri biasanya ditangani oleh tenaga ahli yang spesialis menangani DBMS yang disebut sebagai DBA (Datasabe administrator). DBMS sudah mulai berkembang sejak tahun 1960an. Kemudian sekitar tahun 1970an mulai berkembangan teknologi Relational DBMS yaitu DBMS berbasis relasiona model. Relasional model pertama kali dikembangkan oleh Edgar J. Codd pada tahun 1970. Secara sederhana relasiona model dapat dipahami sebagai suatu model yang memandang data sebagai sekumpulan tabel yang saling terkait. Hampir semua DBMS komesial dan open source saat ini berbasis Relational DBMS atau RDBMS. Pada tahun 1980-an mulai berkembang Object oriented DBMS (OODBMS). OODBMS berkembang seiring dengan perkembangan teknologi pemrograman berorientasi objek. Secara umum dapat diartikan bahwa OODBMS merupakan DBMS yang memandang data sebagai suatu objek. Saat ini OODBMS juga cukup berkembang namunbelum dapat menggeser kepopuleran RDBMS. Berikut adalah 4 macam DBMS versi komersial yang paling banyak digunakan di dunia saat ini : a) Oracle b) Microsoft SQL Server 12 http://digilib.mercubuana.ac.id/ c) IBM DB2 d) Microsoft Access Sedangkan DBMS versi open source yang cukup berkembang dan paling banyak digunakan saat ini adalah sebagai berikut : a) MySQL b) PostgreSQL c) Firebird d) SQLite Hampir semua DBMS mengadopsi SQL sebagai bahasa untuk mengelola data pada DBMS. 2.4 MYSQL Menurut Arief (2011d:152) “Mysql adalah salah satu jenis database server yang sangat terkenal dan banyak digunakan untuk membangun aplikasi web yang menggunakan database sebagai sumber dan pengolahan datanya”. MySQL adalah sistem manajemen database SQL yang bersifat Open Source dan paling populer saat ini. Sistem Database MySQL mendukung beberapa fitur seperti multithreaded, multi-user, dan SQL database managemen sistem (DBMS). Database ini dibuat untuk keperluan sistem database yang cepat dan mudah digunakan. Ulf Micheal Widenius adalah penemu awal versi pertama MySQL yang kemudian pengembangan selanjutnya dilakukan oleh perusahaan MySQL AB. 13 http://digilib.mercubuana.ac.id/ MySQL AB yang merupakan sebuah perusahaan komersial yang didirikan oleh para pengembang MySQL. MySQL adalah software manajemen database yang open source, sebelumnya merupakan software database yang shareware. Shareware adalah suatu software yang dapat didistribusikan secara bebas untuk keperluan penggunaan secara pribadi, tetapi jika digunakan secara komersial maka pemakai harus mempunyai lisensi dari pembuatnya. Software open source menjadikan software dapat didistribusikan secara bebas dan dapat dipergunakan untuk keperluan pribadi ataupun komersial, termasuk didalamnya source code dari software tersebut. MySQL merupakan database yang didukung oleh bahasa pemrograman script untuk internet (PHP dan Perl). MySQL dan PHP dianggap sebagai pasangan software untuk membangun aplikasi web yang ideal. MySQL lebih sering digunakan untuk membangun aplikasi berbasis web, umumnya pengembangan aplikasinya menggunakan bahasa pemrograman script PHP. 2.5 LARAVEL Laravel adalah framework pengembangan web yang ditulis menggunakan bahasa pemrograman PHP. Laravel telah dirancang untuk meningkatkan kualitas perangkat lunak dengan mengurangi biaya, baik biaya pengembangan awal dan biaya pemeliharaan, serta memberikan sintaks ekspresif yang jelas dan setiap fungsi inti yang akan menghemat waktu pengerjaan. 14 http://digilib.mercubuana.ac.id/ Menurut Nugraha (2014) Laravel adalah aplikasi web dengan sintak yang ekspresif dan elegan. Dengan Laravel, tugas-tugas umum developer dapat dikurangi pada sebagian besar proyek-proyek web seperti routing,session dan caching. Disamping itu, laravel berusaha menggabungkan pengalamanpengalaman development dalam bahasa lain, seperti Ruby on Rails, ASP.NET, MVC dan Sinatra. Laravel merupakan framework yang mudah diakses, powerful dan menyediakan tools yang diperlukan untuk skala aplikasi besar. Laravel juga merupakan sebuah aplikasi luar biasa dari sebuah kumpulan program kontrol, sistem migrasi yang ekspresif dan dukungan tools yang dibutuhkan dalam menguji aplikasi Anda yang terintegrasi dengan aplikasi yang lain. 2.6 BOOTSTRAP Bootstrap adalah sebuah library framework css yang dibuat khusus untuk bagian pengembangan front-end-website. Bootstrap mempunyai tampilan yang telah dirancang secara menarik, bersih dan ringan. Bootstrap dapat juga mengatur layout pada halaman website yang dapat digunakan secara cepat dan mudah. Menurut Nahado (2014:14), “Bootstrap adalah platform untuk membuat interface website dan aplikasi berbasis web”. Bootstrap berisi kode HTML dan CSS yang telah dilengkapi desain untuk tipografi, bentuk, tombol, navigasi dan 15 http://digilib.mercubuana.ac.id/ sebagainya. Bootstrap bertujuan untuk meringankan pembuatan dan pengembangan web. Bootstrap salah satu framework html, css dan javascript yang paling sering digunakan oleh web developer. Pada saat ini hampir semua web developer menggunakan bootstrap dalam membuat tampilan front-end. Dengan menggunakan bootstrap dapat diberi keleluasaan dalam mengembangakan tampilan website. Seperti membuat tombol, grid, navigasi dan lainya. 2.7 ALGORITMA ROUND ROBIN SCHEDULING Algoritma Round Robin Scheduling merupakan salah satu algoritma penjadwalan yang paling sederhana untuk di proses dalam sistem operasi. Penjadwalan round robin sederhana, mudah digunakan, dan bebas starvation. Penjadwalan Round Robin juga dapat diterapkan untuk masalah penjadwalan lainnya, seperti penjadwalan paket data dalam jaringan komputer. Proses yang telah dieksekusi dan belum selesai akan kembali ke antrian terakhir yang ada pada saat itu sehingga penggiliran untuk eksekusi di lakukan sesuai dengan waktu yang disediakan. Algoritma Round Robin Scheduling dirancang untuk sistem time sharing. Algoritma ini mirip dengan penjadwalan FCFS (First Come First Served), namun preemption ditambahkan untuk switch (peralihan proses) antara proses. Proses dengan waktu terpendek akan diselesaikan terlebih dahulu, setelah itu baru proses-proses lainnya yang mempunyai waktu proses lebih lama. 16 http://digilib.mercubuana.ac.id/ 2.8 ENTITY RELATIONSHIP DIAGRAM (ERD) Menurut Sutanta (2011:91) Entity Relationship Diagram (ERD) merupakan suatu model data yang dikembangkan berdasarkan objek. Entity Relationship Diagram (ERD) digunakan untuk menjelaskan hubungan antar data dalam basis data kepada pengguna secara logis. Entity Relationship Diagram (ERD) didasarkan pada suatu persepsi bahwa real world terdiri atas obyek-obyek dasar tersebut. Penggunaan Entity Relationship Diagram (ERD) relatif mudah dipahami, bahkan oleh para pengguna yang awam. Bagi perancang atau analis sistem, Entity Relationship Diagram (ERD) berguna untuk memodelkan sistem yang nantinya, basis data akan di kembangkan. Komponen Entity Relationship Diagram menurut Sutanta (2011:91) adalah sebagai berikut : 1. Entitas Entitas merupakan suatu objek yang dapat dibedakan dari lainnya yang dapat diwujudkan dalam basis data. Objek dasar dapat berupa orang, benda, atau hal yang keterangannya perlu disimpan didalam basis data. Untuk menggambarkan sebuah entitas digunakan aturan sebagai berikut : a) Entitas dinyatakan dengan simbol persegi panjang. b) Nama entitas dituliskan didalam simbol persegi panjang. c) Nama entitas berupa kata benda, tunggal. Nama entitas sedapat mungkin menggunakan nama yang mudah dipahami dan dapat menyatakan maknanya dengan jelas. 17 http://digilib.mercubuana.ac.id/ 2. Atribut Atribut merupakan keterangan-keterangan yang terkait pada sebuah entitas yang perlu disimpan dalam basis data. Atribut berfungsi sebagai penjelas pada sebuah entitas. Untuk menggambarkan atribut digunakan aturan sebagai berikut: a) Atribut digambarkan dengan simbol ellips. b) Nama atribut dituliskan didalam simbol ellips. c) Nama atribut merupakan kata benda, tunggal. d) Nama atribut sedapat mungkin menggunakan nama yang mudah dipahami dan dapat menyatakan maknanya dengan jelas. 3. Relasi Relasi merupakan hubungan antara sejumlah entitas yang berasal dari himpunan entitas yang berbeda. Aturan penggambaran relasi adalah sebagai berikut: a) Relasi dinyatakan dengan simbol belah ketupat. b) Nama relasi dituliskan didalam simbol belah ketupat c) Nama relasi berupa kata kerja aktif. d) Nama relasi sedapat mungkin menggunakan nama yang mudah dipahami dan dapat menyatakan maknanya dengan jelas. 18 http://digilib.mercubuana.ac.id/ 2.9 UNIFIED MODELING LANGUAGE (UML) Bahasa pemrograman berorientasi objek yang pertama dikembangkan dikenal dengan nama Simua-67 yang dikembangkan pada tahun 1967. Bahasa pemrograman ini kurang berkembang dan dikembangkan lebih lanjut, namun dengan kemunculannya telah memberikan sumbangan yang besar pada developer pengembang bahasa pemrograman berorientasi objek selanjutnya. Menurut Nugroho (2010:6) UML (Unified Modeling Language) adalah'bahasa pemodelan untuk sistem atau perangkat lunak yang berparadigma 'berorientasi objek. Pemodelan (modeling) sesungguhnya digunakan untuk penyederhanaan permasalahan-permasalahan yang kompleks sedemikian rupa sehingga lebih mudah dipelajari dan dipahami”. Perkembangan aktif dari pemrograman berorientasi objek mulai menggeliat ketika berkembangnya bahasa Smalltalk pada awal tahun 1980-an yang kemudian diikuti dengan perkembangan bahasa pemrograman berorientasi objek yang lainnya seperti C objek, C++, Eiffel, dan CLOS. Secara aktual, penggunaan bahasa pemrograman berorientasi objek pada saat itu masih terbatas, namun telah banyak menarik perhatian disaat itu. Sekitar lima tahun setelah Smalltalk berkembang, maka berkembang pula metode pengembangan berorientasi objek. Metode yang pertama diperkenalkan oleh Sally Shlaer dan Stephen Mellor (Shlaer-Mellor, 1988) dan Peter Coad dan Edward Yourdon (Coad-Yourdon, 1991), diikuti oleh Grady Booch (Booch, 1991), James R.Rumbaugh, Michael R.Blaha, William Lorensen, Frederick Eddy, William 19 http://digilib.mercubuana.ac.id/ Premerlani (Rumbaugh- Blaha- Premerlani-Eddy-Lorensen, 1991), dan masih banyak lagi. Pada perkembangan teknik pemrograman berorientasi objek, munculah sebuah standarisasi bahasa pemodelan untuk pembangunan perangkat lunak yang dibangun dengan menggunakan teknik pemrograman berorientasi objek, yaitu Unified Modeling Language (UML). UML muncul karena adanya kebutuhan pemodelan visual untuk menspesifikasikan, menggambarkan, membangun dan mendokumentasikan dari sistem perangkat lunak. UML merupakan bahasa visual untuk pemodelan dan komunikasi m Menurut Whitten dan Bentley (2007, p371), “Unified Modeling Language (UML) adalah sekumpulan konvensi tentang pemodelan yang digunakan untuk menspesifikasi atau menggambarkan sistem software dalam hal-hal tentang objek.” Jika ingin membangun suatu model dari suatu sistem yang kompleks. Tidak mungkin user dapat memahaminya secara keseluruhan. Dengan meningkatnya kompleksitas sistem, visualisasi dan pemodelan menjadi sangat penting. Sehingga UML digunakan untuk merespon hal tersebut. Melihat dari faktor sejarah dan pendorongan terbentuknya UML ini, dapat ditarik suatu kesimpulan mengenai tujuan pembuatan UML, yaitu sebagai berikut: 1. Memberikan gambaran model konseptual piranti lunak dari suatu bahasa pemprograman yang tekstual sehingga dapat dimengerti oleh orang-orang yang non-programer. 20 http://digilib.mercubuana.ac.id/ 2. Membangun model yang tepat, tidak ambigu, dan lengkap yang dapat membantu dalam tahap-tahap dari analisis, perancangan, dan implementasi. 3. Dapat memodelkan beberapa jenis bahasa pemprograman, dan membantu memetakan kembali model tersebut ke suatu bahasa pemprograman yang lain. 4. Membantu dalam dokumentasi perancangan piranti lunak. Menurut Whitten dan Bentley (2007, p382) Ada 5 (lima) macam diagram dalam Unified Modeling Language (UML), yaitu : a) Use case diagram Diagram ini memperihatkan himpunan use case dan aktor-aktor (suatu jenis khusus dari kelas). Diagram ini terutama sangat penting untuk mengorganisasi dan memodelkan perilaku dari suatu sistem yang dibutuhkan serta diharapkan pengguna. Gambar 2.1 Contoh Use Case Diagram menurut Whitten dan Bentley (2010) 21 http://digilib.mercubuana.ac.id/ Tabel 2.1 Relasi pada use case Diagram (Whitten dan Bentley, 2007) Notasi Keterangan Actor Menspesifikasikan seperangkat peranan yang user system dapat perankan ketika Actor1 berinteraksi dengan use case. Use Case Sebuah deskripsi dari seperangkat aksi-aksi yang berurutan yang ditampilkan sebuah UseCase1 sistem. Association Menggambarkan interaksi antara aktor dan use case. System System Tempat seluruh aktivitas-aktivitas sistem yang sedang/ berjalan. Dependency Untuk menggambarkan ketergantungan sebuah use case dengan use case lainnya. <<include> > Include Menggambarkan bahwa keseluruhan dari sebuah use case merupakan fungsionalitas use case lainnya. <<extend> > Extend Menggambarkan hubungan antar use case dimana bahwa sebuah use case merupakan fungsionalitas use case lainnya, apabila kondisi tertentu dipenuhi. Generalization Relasi antara use case, dimana salah satunya dalam bentuk yang lebih umum dari yang lain. 22 http://digilib.mercubuana.ac.id/ b) Use case Narrative Menurut Whitten dan Bentley (2007, p385), setelah semua kebutuhan bisnis telah didapatkan, setiap use case perlu diberikan lebih banyak informasi untuk menjelaskan spesifikasi sistem lebih mendalam. Untuk itu diperlukan system analysis use case / use case narative yang meliputi narasi dari perspektif pengguna sistem dan hubungannya dengan sistem. Dalam membuat system analysis use case, sangat penting untuk menentukan hal – hal yang perlu ditentukan (To Be Determines / TBDs) sebelum melanjutkan ke perancangan karena keputusan yang akan diambil dalam sistem akan berdampak pada desain secara keseluruhan. Elemen tambahan yang perlu diperhatikan dalam system analysis use case diantaranya : 1) Tipe use case Case pertama yang harus dibuat adalah Bussiness Requirement use case. Tipe use case ini menunjukan sudut pandang tingkat tinggi dari sistem yang diharapkan. Tipe use case ini bebas dari detail – detail teknis dan dapat meliputi baik sistem yang dilakukan secara manual ataupun otomatis. Business Requirement use case memberikan pemahaman secara umum tentan lingkup dan pokok permasalahan namun tidak termasuk 23 http://digilib.mercubuana.ac.id/ detail untuk mengkomunikasikan pengembang aplikasi tentang apa yang seharusnya dilakukan sistem. Untuk menunjukan detail implementasi seperti user interface constraints, use case teknis yang disebut system use case diturunkan dari bussiness requirement use case. Satu atau lebih system use case dapat diturunkan dari suatu business requirement use case. 2) Aktor utama dalam sistem Aktor utama menggunakan dalam dan sistem berhubungan adalah stakeholder dengan sistem. yang Untuk stakeholder inilah tampilan layar harus didesain. 3) Abstract use case Contoh dari memanggil sebuah abstract use case adalah Membuat narasi dari extention use case dan abstract use case sangat mirip dengan membuat use case biasa. Namun tetap ada beberapa perbedaan besar. Extention use case dan abstract use case. c) Class diagram Diagram ini memperlihatkan himpunan kelas - kelas, antarmukaantarmuka, kolaborasi-kolaborasi dan relasi-relasi antar objek. Class memiliki 3 (tiga) area pokok, yaitu: 24 http://digilib.mercubuana.ac.id/ 1. Nama (dan stereotype) 2. Atribut 3. Metoda Gambar 2.2 Contoh Class Diagram menurut Whitten dan Bentley (2007) 25 http://digilib.mercubuana.ac.id/ Tabel 2.2 Relasi Pada Class Diagram menurut Whitten dan Bentley (2007) Notasi Keterangan Class Class1 Sebuah deskripsi dari seperangkat objek yang berbagi atribut operasi dan relasi -attribute1 yang sama. Class terbagi atas 3 bagian yaitu nama class pada bagian atas, +operation1() attribute class pada bagian tengah, dan operasi pada bagian bawah. Composition Composition digambarkan dengan wajik terisi. Composition menggambar hubungan bahwa class yang satu merupakan bagian dari kelas yang lain dan harus ada. Aggregation Merupakan bentuk spesial dari hubungan asosiasi yang menspesifikasikan semua hubungan antara kumpulan (The Whole) dan sebuah bagian (The Part ). Aggregasi digambarkan dengan wajik tidak terisi. Association Merupakan hubungan struktural antara class yang saling berelasi. Multiplicity Menggambarkan jumlah objek yang berpartisipasi dalam hubungan antar class. Generalization Merupakan sebuah relasi spesialisasi / generalisasi dimana suatu class dapat lebih general atau lebih spesifik dari class lainnya. 26 http://digilib.mercubuana.ac.id/ d) Sequence diagram Diagram ini memperlihatkan interaksi yang menekankan pada pengiriman pesan (message) dalam suatu waktu tertentu. Gambar 2.3 Contoh Sequence Diagram menurut Whitten dan Bentley (2007) Tabel 2.3 Relasi Pada Sequence Diagram menurut Whitten dan Bentley (2007) Notasi Keterangan Object Lifeline Merupakan sebuah garis yang merepresentasikan adanya sebuah objek dengan jangka waktu tertentu. Activation Menggambarkan periode waktu ketika pemrosesan terjadi dalam objek tersebut. Message, return, callback message Penyampaian pesan dari satu objek ke objek lain atau ke diri sendiri. 27 http://digilib.mercubuana.ac.id/ e) Activity diagram Diagram ini memperlihatkan aliran dari suatu aktivitas ke aktivitas lainnya dalam suatu sistem. Diagram ini terutama penting dalam pemodelan fungsi-fungsi dalam suatu sistem dan memberi tekanan pada aliran kendali antar objek. Gambar 2.4 Contoh Activity Diagram menurut Whitten dan Bentley (2007) 28 http://digilib.mercubuana.ac.id/ Tabel 2.4 Relasi Pada Activity diagram menurut Whitten dan Bentley (2007) NOTASI KETERANGAN Initial State Merepresentasikan dimulainya alur kerja suatu sistem dalam activity diagram. Action State ActionState Sebuah state yang menggambarkan eksekusi dari aksi atomic. Transition between activities Mengindikasikan bahwa suatu objek dari state pertama akan menampilkan aksi-aksi tertentu Decision points Menentukan kapan alur dalam aktivitas menjadi bercabang. Synchronization bars Menspesifikasikan dua atau lebih aktivitas yang dapat dilakukan secara paralel. Final state Merepresentasikan diakhirinya alur kerja suatu sistem dalam activity. 29 http://digilib.mercubuana.ac.id/