BAB II REKAYASA PERANGKAT LUNAK 2.1 Rekayasa Perangkat Lunak Software (Perangkat Lunak) adalah kumpulan perintah (program komputer) yang ketika dieksekusi menyediakan kinerja struktur data yang memungkinkan program untuk memanipulasi informasi dan dokumen yang menggambarkan operasi dan kegunaan program. Singkatnya software merupakan program elektronik yang berguna untuk mengolah data menjadi informasi. Sedangkan Engineering (rekayasa) adalah aplikasi terhadap pendekatan sistematis yang berdasarkan atas ilmu pengetahuan dan matematis serta aplikasi tentang produksi terhadap struktur, mesin, produk, proses atau sistem. Singkatnya engineering merupakan praktek dari ilmu pengetahuan dan logika pada suatu sistem. Sehingga rekayasa perangkat lunak adalah metode untuk merekayasa perangkat lunak secara efisien dengan pendekatan sistematis. Singkatnya cara untuk membuat suatu software dapat memenuhi kebutuhan baru tanpa harus mengganti software sepenuhnya. Peran perangkat lunak (software) terhadap pekerjaan manusia ada bermacam-macam dan cenderung sulit untuk dilakukan sendiri, oleh karena itu diciptakan teknologi untuk membantu manusia dalam menjalankan pekerjaannya. Peran software atau perangkat lunak dalam teknologi sangatlah penting karena software merupakan bagian dari teknologi yang berfungsi memberikan perintah kepada mesin untuk menjalankan tugas/fungsinya. Seiring dengan berkembangnya kebutuhan manusia, teknologi juga semakin berkembang dan menuntut perkembangan software untuk menjalankannya. Sehingga software atau perangkat lunak berperan penting untuk memberikan perintah kepada mesin/komputer untuk menjalankan fungsinya. Karakteristik perangkat lunak menurut Ian Sommerville adalah ; 1. Maintainability. Perangkat lunak harus dapat diperbaharui sehingga dapat memenuhi berbagai kebutuhan user yang semakin bertambah. Dependability perangkat lunak harus dapat diandalkan dan dipercaya dalam menjalankan pekerjaan atau programnya. 2. Efisiensi. Perangkat Lunak harus seefisien mungkin dalam penggunaan resource/sumber daya. http://digilib.mercubuana.ac.id/ 3. Usability . Perangkat Lunak harus dapat menjalankan programnya sesuai dengan fungsi/kegunaannya. Perbedaan software (perangkat lunak) dan hardware (perangkat keras) adalah : software tidak berwujud fisik dan hanya dapat dilihat melalui interface (tatap mula) di layar komputer. Pembuatan software tergantung keoptimalan developer dalam membuat sistem. Biaya pembuatan software cenderung berdasarkan biaya developer.Batas pemakaian tergantung sesuai kebutuhan user, jika memang sudah tidak cocok dengan kebutuhan dapat diganti dengan yang lebih update. Sedangkan hardware memeilii ciri-ciri sebagai berikut: 1. Berwujud fisik dan dapat dilihat secara nyata. Pembuatan hardware bergantung kepada optimalnya produksi pabrik. 2. Biaya pembuatan hardware berdasarkan bahan bakunya 3. Terdapat usia tertentu dimana kinerja hardware akan menurun dan harus diganti dengan hardware yang sama atau dengan yang lebih baik. 2.1.1 Aplikasi Aplikasi merupakan suatu subkelas dari perangkat lunak yang memanfaatkan kemampuan komputer dalam melakukan suatu tugas tertentu. Contoh aplikasi adalah pengolah data, lembar kerja, dan pemutar media. (IT update, 2012). Gambar 2.1 Lapisan perangkat lunak ,Pressman 2015 Software dapat didefinisikan seperti berikut : 1. Struktur data yang sangat memungkinkan sebuah program dapat memanipulasi informasi dengan baik Biaya pembuatan hardware berdasarkan bahan bakunya http://digilib.mercubuana.ac.id/ 2. Informasi deskripttif berupa hard copy dan bentuk virtual yang dapat menggambarkan operasi dan kegunaan dari suatu program. 3. Instruksi (Program komputer) saat eksekusi dapat menyediakan features,fungsi dan performa yang sesuai dan dapat diinginkan oleh pengguna Rekayasa perangkat lunak juga merupakan pembuatan dan penggunaan prinsi-prinsip keahlian teknik untuk mendapatkan perangkat lunak yang ekonomis handal dan bekerja secara efisien pada mesin yang sesungguhnya. Rekayasa perangkat lunak mendirikan suatu pondasi untuk suatu proses perangkat lunak yang lengkap dengan mengidentifikasi sejumlah aktifitas kerangka kerja yang berlaku untuk semua proyek perangkat lunak terlepas dari hal ukuran dan kompleksitas. 2.2 Metode Agile Development Agile Software Development adalah cara membangun software dengan melakukannya dan membantu orang lain membangunnya sekaligus. Agile software development memungkinkan model proses yang toleransi terhadap perubahan kebutuhan sehingga perubahan dapat cepat ditanggapi. Namun di sisi lain menyebabkan produktifitas menurun. Dalam Agile Software Development interaksi dan personel lebih penting dari pada proses dan alat, software yang berfungsi lebih penting daripada dokumentasi yang lengkap, kolaborasi dengan klien lebih penting dari pada negosiasi kontrak, dan sikap tanggap terhadap perubahan lebih penting daripada mengikuti rencana. Namun demikian, sama seperti model proses yang lain, Agile Software Development memiliki kelebihan dan tidak cocok untuk semua jenis proyek, produk, orang dan situasi. Agile Software Development memungkinkan model proses yang toleransi terhadap perubahan sehingga perubahan dapat cepat ditanggapi. Namun di sisi lain menyebabkan produktifitas menurun. 2.2.1 XP Nilai-nilai Dasar Extreme Programming (XP). Berikut adalah nilai-nilai mendasar yang menjadi roh dari XP pada setiap tahapan proses pengembangan perangkat lunak : 1. Communication ( Komunikasi ). XP memfokuskan pada hubungan komunikasi yang baik antar anggota tim. Para anggota tim harus membangun saling pengertian, mereka juga wajib saling berbagi pengetahuan dan keterampilan dalam mengembangkan perangkat lunak. Ego dari para programer yang biasaanya cukup tinggi harus ditekan dan mereka harus membuka diri untuk bekerjasama dengan programer lain dalam menuliskan kode program. http://digilib.mercubuana.ac.id/ 2. Courage . Para anggota tim dan penanggungjawab pengembangan perangkat lunak harus selalu memiliki keyakinan dan integritas dalam melakukan tugasnya. Integritas ini harus selalu dijaga bahkan dalam kondisi adanya tekanan dari situasi sekitar (misalnya oleh klien atau pemilik perusahaan). Untuk dapat melakukan sesuatu dengan penuh integritas terlebih dahulu para anggota tim harus terlebih dahulu memiliki rasa saling percaya. Rasa saling percaya inilah yang coba dibangun dan ditanamkan oleh XP pada berbagai aspeknya. 3. Simplicity. Melakukan semua tahapan dengan sederhana. Hal tersebut adalah salah satu nilai dasar dari XP. Dengan menggunakan method yang pendek dan simpel,dalam membuat desain,menghilangkan fitur yang tidak ada gunanya, dan berbagai proses penyederhanaan lain merupakan nilai utama dari setiap aspek XP. 4. Feedback ( umpan balik). Selalu memberikan feedback kepada sesama anggota tim maupun pihak-pihak lain yang terlibat dalam pengembangan perangkat lunak. Utarakan selalu pikiran anda dan diskusikan kesalahan-kesalahan yang muncul selama proses pengembangan. Dengarkan selalu pendapat rekan yang lain, dengan adanya feedback inilah seringkali kita menyadari bagian mana yang salah atau bisa ditingkatkan lagi dari perangkat lunak yang dikembangkan. 5. Quality Work (Kualitas pekerjaan )Semua nilai di atas berujung pada sebuah kondisi di mana kita melakukan pekerjaan dengan berkualitas. Dengan proses yang berkualitas maka implikasinya akan muncul pula perangkat lunak yang berkualitas sebagai hasil akhirnya. Gambar 2.2 Agile development,Pressman 2015 http://digilib.mercubuana.ac.id/ Pemrograman Ekstrim ( XP ) menggunakan pendekatan berorientasi objek. Berikut langkah langkah Agile Development : 1. Perencanaan ( Planning). Aktivitas perencanaan dimulai dengan membuat user stories yang menggambarkan output,fitur dan fungsi fungsi dari software yang akan dibuat . user stories tersebut kemudian diberikan bobot seperti prioritas dan dikelompokkan untuk selanjutnya dilakukan proses delivery secara incremental 2. Desain ( Design). Desain dalam XP mengikuti prinsip KIS ( keep it simple). Untuk desain yang sulit, Xp akan menggunakan spike solution dimana pembuatan desain dibuat langsung ke tujuannya. XP juga mendukung adanya refractoring dimana software sistem diubah sedemikian rupa dengan cara mengubah struktur kode dan menyederhanakan namun hasil dari kode tidak berubah. 3. Pengkodean ( Coding). Proses pengkodean pada XP diawali dengan membangun serangkaian unit tes. Setelah itu pengembang akan berfokus untuk mengimplementasikannya. Dalam XP diperkenalkan istilah pair programming dimana proses penulisan program dilakukan secara berpasangan. Dua programmer saling bekerjasama dalam satu komputer untuk menulis program. Dengan melakukan ini akan didapat real time problem solving dan real time quality assurance. 4. Pengetesan(Testing). Tahap ini dilakukan pengujian kode pada unit test. Dalam Ekstreme Programming diperkenalkan XP acceptaance test . Tes ini dilakukan oleh customer yang berfokus kepada fitur dan fungsi sistem secara keseluruhan. Acceptance ini berasal dari user stories yang diimplementasikan. 2.3 UML UML adalah bahasa pemodelan untuk sistem atau perangkat lunak yang berparadigma „berorientasi objek‟. Pemodelan (modeling) sesungguhnya digunakan untuk penyederhanaan permasalahan-permasalahan yang komples sedemikian rupa sehingga lebih mudah dipelajari dan dipahami (Nugroho, 2010) . Sedangkan menurut Herlawati http://digilib.mercubuana.ac.id/ bahwa beberapa literature menyebutkan bahwa UML menyediakan sembilan jenis diagram, yang lain menyebutkan delapan karena ada beberapa diagram yang digabung, misanya diagram komunikasi, diagram urutan dan diagram pewaktuan digabung menjadi diagram interaksi (Herlawati, 2011). 2.3.1 Model UML Unified modeling language adalah bahasa standar untuk menulis rancangan software.UML dapat digunakan untuk membangun dan mendokumentasikan kerangka software.Disisi lain,dengan membangun rancangan arsitektur untuk digunakan para konstruksi perusahaan, pembangun software membuat UML diagram untuk membantu pengembang software untuk membangun software Sehingga lebih mudah untuk dipahami,mudah untuk menentukan sistem dan mudah untuk menjelaskan desain system [Pressman, 2010]. Diagram-diagram pada Unified Modeling Language (UML) dibagi menjadi 2 jenis yaitu structure diagrams dan behavior diagrams. Structure Diagrams yaitu diagram yang digunakan untuk menggambarkan data dan relasi paten yang terdapat pada sistem informasi. Sedangkan Behavior Diagrams adalah diagram yang menyediakan analisa dengan cara menggambarkan relasi yang dinamis antar objek yang mewakili sistem informasi yang akan dibangun.Dalam perancangaaplikasi ini digunakan beberapa step Diagram UML yang digunakan yaitu : 1. Use case Diagram ( Analisa sistem ) 2. Activity Diagram ( Analisa Desain dan Sistem ) 3. Sequence Diagram (Analisa dan Design sistem) 4. Class Diagram ( Analisa dan Design sistem ). Menurut (Widodo,2011),“Beberapa literature menyebutkan bahwa UML menyediakan sembilan jenis diagram, yang lain menyebutkan delapan karena ada beberapa diagram yang digabung,misanya diagram komunikasi,diagram urutan dan diagram pewaktuan digabung menjadi diagram interaksi”. Namun demikian model-model itu dapat dikelompokkan berdasarkan sifatnya yaitu statis atau dinamis. Jenis diagram itu antara lain: 1. Diagram kelas (Class Diagram). Bersifat statis, Diagram ini memperlihatkan himpunan kelas-kelas, antarmuka-antarmuka, kolaborasi-kolaborasi, serta relasirelasi. Diagram ini umum dijumpai pada pemodelan sistem berorientasi objek. Meskipun bersifat statis, sering pula diagram kelas memuat kelas-kelas aktif. http://digilib.mercubuana.ac.id/ 2. Diagram paket (Package Diagram). Bersifat statis. Diagram ini memperlihatkan kumpulan kelas-kelas, merupakan bagian dari diagram komponen. 3. Diagram use-case (Usecase Diagram). Bersifat statis. Diagram ini memperlihatkan himpunan use-case dan aktor-aktor (suatu jenis khusus dari kelas). Diagram ini terutama sangat penting untuk mengorganisasi dan memodelkan perilaku suatu sistem yang dibutuhkan serta diharapkan pengguna . 4. Diagram interaksi dan sequence (Sequence Diagram). Bersifat dinamis. Diagram urutan adalah iterasiksi yang menekankan pada pengiriman pesan dalam suatu waktu tertentu. 5. Diagram komunikasi (Communication diagram). Bersifat dinamis. Diagram sebagai pengganti diagram kolaborasi UML yang menekankan organisasi struktural dari objek-objek yang menerima serta mengirim pesan. 6. Diagram state chart (State chart diagram). Bersifat dinamis. Diagram status memperlihatkan keadaan-keadaan pada sistem, memuat status (state), transisi, kejadian serta aktivitas. 7. Diagram aktivitas (Activity Diagram). Bersifat dinamis. Diagram aktivitas adalah tipe khusus dari diagram status yang memperlihatkan aliran dari suatu suatu aktivitas ke aktivitas lainnya dalam suatu sistem. Diagram ini terutama penting dalam pemodelan fungsi-fungsi suatu sistem dan memberi tekanan pada aliran kendali antar objek. 8. Diagram komponen (Component diagram). Bersifat statis. Diagram komponen ini memperlihatkan organisasi serta kebergantungan sistem/perangkat lunak pada komponen-komponen yang telah ada sebelumnya. 9. Diagram deployment (deployment diagram). Bersifat statis. Diagram inimemperlihatkan konfigurasi saat aplikasi dijalankan (run-time). Memuat simpul-simpul beserta komponen-komponen yang di dalamnya. Kesembilan diagram ini tidak mutlak harus digunakan dalam pengembangan perangkat lunak, semuanya dibuat sesuai kebutuhan. Pada UML dimungkinkan kita menggunakan diagram-diagram lainnya misalnya data flow diagram, entity relationship diagram, dan sebagainya. http://digilib.mercubuana.ac.id/ 2.2.2 Use Case Diagram Use case adalah adalah deksripsi fungsi dari sebuah sistem dari perspektif pengguna. Use case bekerja dengan cara mendeskripsikan tipikal interaksi antara pengguna sebuah sistem (aktor) dengan sistemnya sendiri melalui sebuah cerita bagaimana sebuah sistemdipakai.Use case diagram secara grafis menggambarkan interaksi antara sistem, sistem eksternal dan pengguna. Dengan kata lain use case diagram secara grafis mendeskripsikan siapa yang akan menggunakan sistem dan dalam cara apa pengguna (user) mengharapkan interaksi dengan sistem itu. Use case secara naratif digunakan untuk secara tekstual menggambarkan sekuensi langkah-langkah dari setiap interaks. Ada dua hal utama pada use case yaitu pendefinisian apa yang disebut aktor dan use case. 1. Aktor merupakan orang, proses, atau sistem lain yang berinteraksi dengan sistem informasi yang akan dibuat diluar sistem informasi yang akan dibuat itu sendiri, jadi walaupun simbol dari aktor adalah gambar orang, tapi aktor belum tentu merupakan orang. 2. Use case merupakan fungsionalitas yang disediakan sistem sebagai unitunit yang saling bertukar pesan antar unit dan aktor. 2.2.3 Sequence Diagram Diagram sequence menggambarkan kelakuan objek pasa use case dengan mendeskripsikan waktu hidup objek dan massage yang dikirimkan dan diterima antar objek. Oleh karena itu untuk menggambaran diagram sequene maka harus diketahui objek – objek yang terlibat dalam sebuah use case beserta mode-mode yang dimiliki kelas yang diinstansi menjadi objek itu, membuat diagram sequence juga dibutuhkan untuk melihat scenario yang ada pada use case. (Rosa.A.S, M.salahudin,2014;165). Sequence diagram digunakan untuk menggambarkan event yang dilakukan aktor eksternal pada sistem atau inter system event dilihat dalam satu use case. 2.2.4 Activity Diagram Activity Diagram adalah representasi secara grafis dari proses dan control flow dan berfungsi untuk memperlihatkan alur dari satu aktivitas ke aktivitas yang lain serta menggambarkan perilaku yang kompleks. Berikut ini adalah contoh activity diagram oleh pressman ,2010. 2.2.5 Class Diagram http://digilib.mercubuana.ac.id/ Class diagram menggambarkan sstruktur sistem dari segi pendefiisian kelas – kelas yang akan dibuat untuk membangun sistem. Class diagram memiliki atribut dan metode relasi.Atribut merupakan variabel – variable yang dimiliki oleh satu kelas ,Metode adalah fungsi – fungsi yang dimiliki oleh suatu kelas. Kelas – kelas yang ada pada struktur sistem harus dapat melakukan fungsi – fungsi sesuai dengan kebutuhan sistem sehingga pembuat perangkat lunak atau programmer dapat membuat kelas – kelas didalam perangkat lunak sesuai dengan perancangan class diagram (Rosa & M. Shalahuddin 141). 2.3 ME ( Mekanikal Elektrikal) Pekerjaan ME (Mekanikal Elektrikal) pada proyek gedung Sinarmasland. Dikerjakan oleh Teknisi ME , proyek gedung merupakan proyek yang terdiri dari beberapa disiplin ilmu terutama struktur, arsitektur, dan Mekanikal elektrikal maupun pemipaan. MEP sangat berhubungan dengan pekerjaan arsitektural. Di dalam satu proyek semua divisi pekerjaan memiliki deadline yang harus segera diselesaikan. Hal ini sangat menguras fikiran dan fisik . Dalam sebuah proyek , pekerjaan ME sangat berpengaruh satu sama lain .Berikut ini adalah divisi-divisi ME dalam proyek gedung Sinarmaland Plaza: 2.3.1 Divisi Listrik. Divisi listrik adalah divisi yang bertanggung jawab atas segala hal teknis yang bersifat kelistrikan didalam gedung, banyak hal terjadi akibat tidak mematuhi prosedur perawatan instalasi listrik di gedung. Karena pada dasarnya perawatan instalasi listrik gedung tidak akan sama dengan perawatan instalasi listrik rumah tinggal. Dengan dilalaikannya hal tersebut maka akan mengakibatkan beberapa hal yang tidak menguntungkan terjadi, misalnya kebakaran akibat konsleting listrik, listrik menjadi tidak stabil, penurunan tegangan dan lain sebagainya . Untuk menghindari semua masalah itu, divisi listrik melakukan perawatan instalasi secara berkala. Umumnya instalasi listrik hanya bertahan 10-15 tahun saja, setelah itu instalasi wajib diperbaiki maupun diperbarui. Hal ini juga sudah dicantumkan dalam PUIL 2000. Pekerjaan Divisi listrik mencakup beberapa hal ,berikut tanggung jawab divisi listrik diantaranya adalah : 1. Perawatan TM & trafo atau taransformer 2. Perwatan kabel daya tegangan menengah 3. Perawatan panel listrik tegangan rendah 4. Pemasangan ( Instalasi) Kabel daya listrik ,tegangan rendah yaitu 220 Volt. 5. Armatur lampu penerangan ,saklar,stop kontak dan http://digilib.mercubuana.ac.id/ key tag, kabel instalasi,penerangan, insalasi stop kontak dan sistem penangkal petir. 2.3.2 Divisi AC. MVAC adalah pekerjaan instalasi AC (air conditioner) pada gedung Sinarmasland plaza. Seiring dengan kemajuan teknologi, AC yang digunakan sebagai pendingin adalah AC jenis split wall ,chiller dan cooling tower. Berikut adalah tugas-tugas dan tanggung jawab divisi AC : 1. Melakukan Monitoring /ceklist Ac dalam ruang yang berbentuk AC split, window, atau cassette dan kemampuanya (1pk, 1,5pk dan 2pk); 2. Melakukan pengukuran ampere Ac. 3. Melakukan pengisian Freon apabila diketahui tekanan ampere Ac dibawah normal. 4. Melakukan Pengecekan jaringan listrik Ac dan Mcb pada panel. 5. Melakukan pengeekan Ac indor periha (instalasi, remot,bering,scun,fan motor dll) 6. Melakukan Pengecekan mesin blower Ac (kompresor,kapasitor,instalasi dll) 7. Merapikan posisi Ac dan fasilitas (jaringan listrik, jaringan pipa, tempat) 8. Melakukan pergantian spertpart Ac (kapasitor, bearing , mcb, scun, fan motor indoor, penggulungan spul dll). 9. Melakukan pergantian Ac apabila kondisi Ac tersebut sangat parah/rusak berat. 10. Membuat rekaman laporan kegiatan harian yang diketahui oleh petugas jurusan dan leader. 11. Melakukan perbaikan segera setelah menerima tugas dari leader teknisi karena adanya komplain 12. Bertanggung jawab dan memelihara alat-alat kerja teknisi (vacuum, tang ampere, kunci-kunci dll) 13. Menulis kesimpulan mapping kinerja harian pada formulir yang telah tersedia 2.3.3 Mekanik Mekanik didalam gedung adalah divisi yang pekerjaannya berhubungan dengan mesin seperti : Genset, gondola, lift dan lain lain. Mekanik adalah juga termasuk dalam ME ( Mekanikal Elektrikal) .Divisi juga berhubungan dengan divisi listrik, seperti contohnya mesin genset yang merupakan mesin mekanik adalah alat yang digunakan untuk merubah tenaga gerak menjadi tenaga listrik, sehingga pekerjaan mekanik yang berhubungan dengan arus listrik tetap berkoordinasi dengan divisi listrik. http://digilib.mercubuana.ac.id/ 2.3.4 Plumbing. Plumbing adalah pekerjaan pemipaan yang terdapat pada bangunan gedung seperti pipa untuk air bersih, air kotor, pipa ventilasi, dan air hujan. Pada pekerjaan pemipaan ini biasanya menggunakan material pipa PVC, pipa PPR, atau pipa galvanis. Untuk air bersih dan air panas/dingin biasanya menggunakan pipa PPR. pemipaan pemadam kebakaran/fire hydrant adalah pekerjaan MEP yang masih berhubungan dengan pemipaan air khususnya untuk keperluan pemadam kebakaran jika terjadi kebakaran. Jenis pekerjaan ini biasanya menggunakan pipa besi jenis SCH 40 untuk mengalirkan air dengan tekanan bervariasi. Sistem dari pekerjaan pemadam kebakaran pada bangunan hotel akan berkolaborasi dengan pekerjaan elektrikal. Tiap ruangan kantor Sinarmasland Plaza dipasang alat bernama smoke detector yang akan mendeteksi asap atau api yang berada di kamar sehingga secara otomatis sistem pemadam kebakaran akan bekerja sendiri dengan mengeluarkan air melalui alat yang disebut dengan sprinkler. 2.3.5 Elektronik. Divisi elektronik adalah pekerjaan yang berhubungan dengan instalasi sistem-sistem dihotel seperti fire alarm system, sistem tata suara, sistem telepon, sistem data, sistem cctv, dan sistem MATV. Pekerjaan Mekanikal Pekerjaan yang berhubungan dengan alat mesin besar seperti Lift . 2.4 Xampp XAMPP merupakan paket web lengkap yang dapat dipakai untuk belajar pemrograman web, khususnya PHP dan MySQL. XAMPP dapat didownload secara gratis dan legal. (Nugroho, Bunafit, 2013). Fungsinya XAMPP adalah sebagai server yang berdiri sendiri (localhost), yang terdiri atas program Apache HTTP Server, MySQL database, dan penerjemah bahasa yang ditulis dengan bahasa pemrograman PHP dan Perl. Nama XAMPP merupakan singkatan dari X (empat sistem operasi apapun), Apache, MySQL, PHP dan Perl. http://digilib.mercubuana.ac.id/ Gambar 2.7 contoh tampilan XAMPP 2.5 MySQL Menurut (Raharjo, 2011), MySQL merupakan RDBMS (server database) yang mengelola basis data dengan cepat, menampung dalam jumlah sangat besar dan dapat diakses oleh banyak user. Menurut Nugroho MySQL adalah software atau program Database Server. Sedangkan SQL adalah bahasa pemrograman dari MySQL atau dikenal dengan bahasa permintaan (query) dalam database server. SQL juga dipakai dalam software database server lain, seperti SQL Server, Oracle, PostgreSQL dan lainnya. Berdasarkan pendapat yang dikemukakan di atas dapat ditarik kesimpulan bahwa MySQL adalah suatu software atau program yang digunakan untuk membuat sebuah database yang bersifat open source. MySQL adalah sebuah perangkat lunak sistem manajemen basis data SQL atau DBMS yang multithread, multi -user, dengan sekitar 6 juta instalasi di seluruh dunia. MySQL AB membuat MySQL tersedia sebagai perangkat lunak gratis dibawalisensi GNU General Public License (GPL), tetapi mereka juga menjual dibawah lisensi komersial untuk kasus -kasus dimana penggunaannya tidak cocok dengan penggunaan GPL. MySQL adalah Relational Database Management System (RDBMS) yang didistribusikan secara gratis dibawah lisensi GPL (General Public License). Dimana setiap orang bebas untuk menggunakan MySQL, namun tidak boleh dijadikan produk turunan yang bersifat http://digilib.mercubuana.ac.id/ komersial.MySQL sebenarnya merupakan turunan salah satu konsep utama dalam database sejak lama, (Structured Query Language). SQL adalah sebuah konsep pengoperasian database, terutama untuk pemilihan atau seleksi dan pemasukan data, yang memungkinkan pengoperasian data dikerjakan dengan mudah secara otomatis. Keandalan suatu sistem database (DBMS) dapat diketahui dari cara kerja optimizer -nya dalam melakukan proses perintah-perintah SQL, yang dibuat oleh user maupun program -program aplikasinya. Sebagai database server,MySQL dapat dikatakan lebih unggul dibandingkan database server lainnya dalam query data. Hal ini terbukti untuk query yang dilakukan oleh single user, kecepatan query MySQL bisa sepuluh kali lebih cepat dari PostgreSQL dan lima kali lebih cepat dibandingkan Interbase. MySQL memiliki beberapa keistimewaan, antara lain : 1. Portabilitas. MySQL dapat berjalan stabil pada berbagai sistem operasi seperti Windows, Lin ux,FreeBSD, Mac Os X Server, Solaris, Amiga, dan asih banyak lagi. 2. Open Source.MySQL didistribusikan secara open source,dibawah lisensi GPL sehingga dapat digunakan secara cuma -cuma. 3. „Multiuser‟. MySQL dapat digunakan oleh beberapa user dalam waktu yang bersamaan tanpa mengalami 2.6 Apache Apache adalah sebuah nama web server yang bertanggung jawab pada requestresponse HTTP dan logging informasi secara detail. Selain itu, Apache juga diartikan sebagai suatu web server yang kompak, modular, mengikuti standar protokol HTTP. Apache adalah perangkat lunak yang digunakan untuk mengakses dan mengatur konfigurasi Apache web server (Sibero, 2011) Kelebihan Apache server : 1. Relasi, dapat disebut dengan tabel yang terdiri dari baris dan kolom. 2. Mudah diinstall. 3. Mampu beroperasi pada berbagai platform sistm operasi 4. Mudah menkonfigurasinya http://digilib.mercubuana.ac.id/ 2.7 Jquery Jquery merupakan libary atau framework dari javascript yang dapat mempermudah pengolahan DOM pada halaman website . Jquery menekankan interaksi antara javascript dan HTML. Pada perkembangan Jquery tidak sekedar sebagai framework javascript tetapi memiliki banyak kelebihan diantaranya kemudahan akses ke bagian page atau halaman tertentu dan mempersingkat kode javascript sehingga lebih mudah dan menyingkat waktu. JQuery merupakan suatu framework (library) Javascriptyang menekankan bagaimana interaksi antara Javascript dan HTML. Fitur utama dari JQuery diantaranya: 1. Dapat mengakses elemen dalam dokumen Javascript khusus,untuk mengakses suatu bagian tertentu dari halaman, harus mengikuti aturan Document Object Model dan pengaksesan harus secara spesifik menyesuaikan denganstruktur HTML. 2. Mengubah tampilan halaman website CSS ( Cascading Style Sheet ) menawarkan metode yang cukup handal dalam mengatur dan mempercantik halaman web. 22 3. Memberikan fasilitas untuk mengubah isi dari dokumen hanya dengan beberapa baris perintah. 4. Dalam merespon interaksi user, Javascript memiliki beberapa even t-handling seperti onclick untuk menangani event saat terjadi click. 5. Animasi ,pada dokumen animasi seringkali disertakan dalam suatu halaman web untuk menambah keindahan. 6. Mengambil informasi dari server tanpa harus me -refresh halaman, mengambil informasi dari server tanpa refresh halaman merupakan salah satu konsep dasar yang dikenal dengan nama AJAX (Asynchronous Javascript and XML). 2.8 Javascript Javascript adalah bahasa yang berbentuk kumpulan skrip yang pada fungsinya berjalan pada suatu dokumen HTML, sepanjang sejarah internet bahasa ini adalah bahasa skrip pertama untuk web. Bahasa ini adalah bahasa pemrograman untuk memberikan kemampuan tambahan terhadap bahasa HTML dengan mengijinkan pengeksekusian perintah perintah di sisi user, yang artinya di sisi browser bukan di sisi server web. Javascript bergantung kepada browser ( navigator ) yang memanggil halaman web yang berisi skrip - skrip dari Javascript dan tentu saja terselip di dalam dokumen HTML. http://digilib.mercubuana.ac.id/ 2.9 Web Web yang tidak lain merupakan layanan yang didapat oleh pemakai komputer yang terhubung ke internet. Browser merupakan perangkat lunak untuk mengakses halaman web seperti Internet Explorer, Mozilla Firefox, Opera, Safari, dan lain-lain. (Kustiyahningsih, 2011). Menurut (Simarmata, 2010) “Web dapat diartikan sebagai alat untuk dapat menciptakan sistem informasi global yang mudah berdasarkan pada hiperteks”. Dapat disimpulkan Website adalah sebuah tempat di internet, yang menyajikan informasi dengan berbagai macam format data seperti text, image, bahkan video dan dapat diakses menggunakan berbagai aplikasi client shingga memungkinkan penyajian informasi yang lebih menarik dan dinamis dengan pengelolaan yang terorganisasi. Adapun jenis-jenis web adalh sebagai berikut : A. Jenis-jenis web bedasarkan sifat atau style. 1. Website Dinamis, merupakan sebuah website yang menyediakan konten atau isi yang selalu berubah-ubah setiap saat. Bahasa pemrograman yang digunakan antara lain PHP, ASP, .NET dan memanfaatkan database MySQL atau MS SQL. 2. Website Statis, merupakan website yang kontennya sangat jarang berubah. Bahasa pemrograman yang digunakan adalah HTML dan belum memanfaatkan database. Berdasarkan pada fungsinya ,website terdiri atas : a. Personal website .Yaitu website yang terdiri dari informasi pribadi seseorangm. b. Commercial website. Yaitu website yang dimiliki oleh ebuah perusahaan yang bersifat bisnis. c. Government website . Yaitu website yang dimiliki oleh pemerintah atau pendidikan yang bertujuan memeberikan layanan kepada pengguna. d. Non Profit Organization website,dimiliki oleh organisasi yang bersifat non-profit atau tidak bersifat bisnis. Ditinjau dari segi bahasa pemrograman yang digunakan web site terbagi atas: 1. Server Side, merupakan website yang menggunakan bahasa pemrograman yang tergantung kepada tersedianya server. Seperti PHP, ASP, .NET dan lain http://digilib.mercubuana.ac.id/ sebagainya. Jika tidak ada server, website yang dibangun menggunakan bahasa pemrograman di atas tidak akan berfungsi sebagaimana mestinya. 2. Client Side, adalah website yang tidak membutuhkan server dalam menjalankannya, cukup diakses melalui browser saja. Misalnya, HTML. 3. Client Side, adalah website yang tidak membutuhkan server dalam menjalankannya, cukup diakses melalui browser saja. Misalnya, HTML. 2.10 PHP PHP atau kependekan dari hypertext preprocessor adalah salah satu bahasa pemrograman open source yang sangat cocok atau dikhususkan untuk pengembangan Web dan dapat di tanamkan pada sebuah skrip HTML. Bahasa PHP dapat dikatakan menggambarkan beberapa bahasa pemrograman sistem kerja dari PHP diawali dengan permintaan yang beasal dari halaman website oleh browser. Berdasarkan URL atau alamat website dalam jaringan internet, browser akan menemukan sebuah alamat dari webserver, mengidentifikasi halaman yang dikehendaki,dan menyampaikan segala informasi yang dibutuhkan oleh webserver. Selanjutnya webserver akan mencarikan berkas yang diminta dan menampilkan isinya di browser. Browser yang mendapatkan isinya segera menerjemahkan kode HTML dan menampilkanny. Menurut (Kustiyahningsih,2011) PHP adalah skrip bersifat server-side yang ditambhakna kedalam html . PHP sendiri juga disebut Personal Home Page Tools , skrip ini akan membuat suatu aplikasi dapat di integrasikan ke dalam HTML sehingga suatu halaman web tidak lagi bersifat statis, namun menjadi bersifat dinamis. Sifat server side berarti pengerjaan skrip dilakukan di server, setelah itu hasilnya dikirimkan ke browser”. Beberapa alasan yang menjadi dasar pertimbangan mengapa menggunakan PHP: 1. Mudah dipelajari, alasan tersebut menjadi salah satu alasan utama untuk menggunakan PHP. 2. Lintas platform, artinya PHP dapat atau mudah diaplikasikan ke berbagai platform OS (Operating Sytem) dan hampir semua browser juga mendukung PHP. 3. Gratis, bersifat Open Source. 4. PHP memiliki tingkat akses yang cepat. 5. Didukung oleh beberapa macam web server, PHP mendukung beberapa web server, seperti Apache, IIS, Lighttpd, Xitami. http://digilib.mercubuana.ac.id/ 6. Mendukung database, PHP mendukung beberapa database, baik yang gratis maupun yang berbayar, seperti MySQL, PostgreSQL, mSQL, Informix, SQL server, Oracle. Berikut contoh sintaks dasar pada PHP: Gambar 2.8 : Contoh kode html 2.11 Notepad++ Notepad++ adalah evolusi dari editor teks notepad biasa yang sudah ada sebagai software bawaan di OS microsoft windows. Notepad++ dikhususkan sebagai software untuk membantu para programmer dalam mengedit kode dengan membedakan kode-kode tertentu dengan warna. Sofware pengedit kode ini mendukung lebih dari 50 bahasa pemrograman yang ada. http://digilib.mercubuana.ac.id/ Gambar 2.9 contoh tampilan html dengan Notepad++ Keunggulan Notepad++ Dalam Software Web Programming yaitu: 1. Simple, Ringan dan Cepat dibandingkan dengan text editor lainnya, notepad++ tidak perlu menunggu loading opening library, terlebih seperti pada software adobe dreamweaver dan eclipse apa lagi untuk PC / Laptop yang memiliki specification yang rendah. 2. Bracket Matching atau (berpasangan),biasanya bisa dibilang digunakan mengumpulkan pada saat yang menuliskan sesuai syntax percabangan,perulangan dan bagian utama program. Fungsi ini berguna untuk kita jika menuliskan block program yang panjang dan terkadang kita lupa untuk menutup block program yang telah kita 3. Syntax Highlighting tampilan source code,disini kita bisa melihat warna pada setiap fungsi dari syntax. Jadi kita tidak bingung menggolongkan kegunaan syntax yang kita tulis dan dapat dibaca dengan mudah. Contoh tulisan yang berwarna hijau biasanya terdapat pada statment jika kita menuliskan komentar pada sebuah program. 4. Syntax Folding atau melipat source code, ini hampir sama seperti bracket matching sebelumnya. Jika bracket matching digunakan untuk menunjukan awal dan akhir suatu block program. Syntax Folding disini tidak jauh beda tetapi, digunakan untuk menyembunyikan block program tertentu agar terlihat lebih ringkas tampilannya agar programmer tidak perlu melihat seluruh syntaxnya apa lagi jika sudah sampai lebih 1000 baris lebih. 5. Quick Color Picker++ fungsi ini berguna pada saat kita menuliskan kode warna pada html atau pun CSS tetapi tidak harus menuliskan kodenya terlebih jika kita lupa kode pada warna yang kita inginkan, biasanya akan muncul kotak dengan banyak aneka warna yang kita tinggal pilih,setelah memilih nanti kode warna tersebut akan muncul. 6. FingerText, biasa digunakan untuk menuliskan bahasa PHP di notepad++,fungsi ini berfungsi untuk memudahkan pengetikan syntax dengan kata tertentu sebagai pemicu/trigger dan menggantikannya dengan tombol TAB. Contoh kata g akan berubah menjadi $_GET. http://digilib.mercubuana.ac.id/ menekan http://digilib.mercubuana.ac.id/