BAB II LANDASAN TEORI 2.1 Rekayasa Perangkat Lunak Rekayasa perangkat lunak (software engineering) merupakan pembangunan dengan menggunakan prinsip atau konsep rekayasa dengan tujuan menghasilkan perangkat lunak yang bernilai ekonomi yang dipercaya dan bekerja secara efisien menggunakan mesin. Rekayasa perangkat lunak lebih fokus pada praktik pengembangan perangkat lunak dan mengirimkan perangkat lunak yang bermanfaat kepada pelanggan (customer). Adapun ilmu komputer lebih fokus pada teori dan konsep dasar perangkat komputer. Rekayasa perangkat lunak lebih fokus pada bagaimana membuat perangkat lunak yang memenuhi kriteria berikut: 1)
Dapat terus di pelihara setelah perangkat lunak selesai di buat seiring berkembangnya teknologi dan lingkungan (maintainability).
2)
Dapat diandalkan dengan proses bisnis yang dijalankan dan perubahan yang terjadi (dependability dan robust).
3)
Efisien dari segi sumber daya dan penggunaan.
4)
Kemampuan untuk dipakai sesuai dengan kebutuhan (usability). Dari kriteria di atas maka perangkat lunak yang baik adalah perangkat lunak yang
dapat memenuhi kebutuhan pelanggan (customer) atau pemakai perangkat lunak (user) atau berorientasi pada pelanggan atau pemakai perangkat lunak, bukan berorientasi pada pembuatan atau pengembangan perangkat lunak (Rosa dan Shalahuddin, 2014:5).
2.1.1. Pengertian SDLC SDLC atau Software Development Life Cycle atau sering disebut juga System Development Life Cycle adalah proses mengembangkan atau mengubah suatu sistem perangkat lunak dengan menggunakan model-model dan metodologi yang digunakan orang untuk mengembangkan sistem-sistem perangkat lunak sebelumnya (berdasarkan best practice atau cara-cara yang sudah teruji dengan baik). Tahapan-tahapan yang ada pada SDLC
secara global adalah inisiasi (initiation), pengembangan konsep sistem
(system concept development), perencanaan (planning), analisis kebutuhan (requirements analysis), desain (design), pengembangan (development), integrasi dan pengujian (integration and test), implementasi (implementation), operasi dan pemeliharaan (operations and maintenance), disposisi (disposition) (Rosa dan Shalahuddin, 2014:26). Menurut Rosa, proses analisis dan desain sering dikelompokkan sebagai proses sistem/rekayasa informasi karena pada tahapan inilah informasi mengenai kebutuhan 6
http://digilib.mercubuana.ac.id/
7
perangkat lunak banyak dikumpulkan dan di integrasikan. Ada beberapa model SDLC yang dapat digunakan, semuanya memiliki kelemahan dan kelebihan pada setiap model SDLC. Hal terpenting adalah mengenali tipe pelanggan (customer) dan memilih menggunakan model SDLC yang sesuai dngan karakter pelanggan dan sesuai dengan karakter pengembang.
2.1.2. Waterfall Model SDLC air terjun (waterfall) sering juga disebut alur hidup klasik (classic life cycle). Model air terjun menyediakan pendekatan alur hidup perangkat lunak secara sekuensional atau berurutan di mulai dari communication, planning, modelling, construction, deployment (Pressman, 2010:39).
Gambar 2.1 Model waterfall (Pressman, 2010:39) Menurut Roger S. Pressman dalam (Pressman, 2010:39) menjelaskan proses alur hidup perangkat lunak secara berurut, yaitu: 1)
Komunikasi (Communication) Sebelum pekerjaan teknis apapun dapat dimulai, sangatlah penting untuk berkomunikasi dan berkolaborasi dengan pelanggan. Maksudnya adalah untuk memahami tujuan-tujuan stakeholder atas proyek perangkat lunak yang sedang di kembangkan dan mengumpulkan kebutuhan-kebutuhan yang akan membantu mengartikan fitur-fitur perangkat lunak beserta fungsi-fungsinya.
2)
Perencanaan (Planning) Alur yang rumit dapat disederhanakan jika terdapat suatu peta. Suatu proyek perangkat lunak pada dasarnya merupakan suatu alur yang rumit, dan kegiatan perencanaan perangkat lunak tersebut menciptakan suatu “pete” yang membantu membimbing tim perangkat lunak ketika mereka melakukan suatu perjalanan. Peta perangkat lunak tersebt yang disebut sebagai rencana proyek perangkat lunak mengartikan kerja rekaya perangkat lunak dengan menggambarkan tugas-tugas teknis yang harus dilakukan, resiko-resiko yang mungkin muncul, sumber daya yang akan dibutuhakan, produk-produk kerja yang harus dihasilkan, dan jadwal-jadwal kerja.
3)
Pemodelan (Modeling)
http://digilib.mercubuana.ac.id/
8
Pada tahapan ini merupakan tahapan untuk merancang sebuah aplikasi dalam bentuk gambaran yang akan dibuat sebelum melanjutkan ke tahapan pengkodean. Membuat sketsa dalam pembuatan software terlebih dahulu untuk memudahkan kebutuhan perangkat lunak maupun rancangan-rancangan yang akan emmenuhi kebutuhan tersebut. 4)
Konstruksi (Construction) Kegiatan yang menggabungkan pembentukan kode (code generation) (bisa secara manual maupun secara otomatis) dan pengujian yang sangat dibutuhkan untuk menemukan
kekeliruan-kekeliruan/kesalahan-kesalahan
dalam
kode
program
komputer yang dihasilkan sebelumnya. 5)
Pelaksanaan (Deployment) Perangkat lunak diserahkan kepada pelanggan yang kemudian akan mengevaluasi produk yang akan disajikan dan akan memberikan umpan balik berdasarkan evalasi tersebut. Menurut Rosa dalam (Rosa dan Shalahuddin, 2014:30) mengemukakan bahwa
kenyataan yang terjadi adalah sangat jarang model air terjun dapat dilakukan sesuai alurnya, hal tersebut dikarenakan sebab-sebab berikut: 1)
Perubahan spesifikasi perangkat lunak terjadi ditengah alur pengembangan.
2)
Sangat sulit bagi pelanggan untuk mendefinisikan semua spesifikasi di awal alur pengembangan. Pelanggan sering kali butuh contoh (prototype) untuk menjabarkan spesifikasi kebutuhan sistem lebih lanjut.
3)
Pelanggan tidak mungkin bersabar mengakomodasi perubahan yang diperlikan di akhir alur pengembangan. Dengan berbagai kelemahan yang dimiliki model air terjun, model ini telah menjadi
dasar dari model-model yang lain dalam melakukan perbaikan model pengembangan perangkat lunak. Model air terjun sangat cocok digunakan jika kebutuhan pelanggan sudah sangat dipahami dan kemungkinan terjadinya perubahan kebutuhan selama pengembangan perangkat lunak kecil. Hal positif dari model air terjun adalah struktur tahap pengembangan sistem jelas, dokumentasi dihasilkan di setiap tahap pengembangan, dan sebuah tahap dijalankan setelah tahap sebelumnya selesai dijalankan (tidak ada tumpang tindih pelaksanaan tahap).
2.1.3. Black-Box Testing Black-Box Testing atau metode pengujian black-box disebut juga dengan behavioral testing yaitu pengujian perangkat lunak atau fungsi dari perangkat lunak yang sedang dikembangkan. Poin-poin pengujian yang digunakan pada metode black-box menurut
http://digilib.mercubuana.ac.id/
9
Roger S.Pressman, “Black-box testing attempts to find errors in the following categories: (1) incorrect or missing functions, (2) interface errors, (3) errors in data structures or external database access, (4) behavior or performance errors, and (5) initialization and termination errors.” (Roger S. Pressman, 2010:495). Dapat diterjemahkan sebagai berikut: Blackbox testing bertujuan untuk menemukan kesalahan pada kategori-kategori berikut: (1) fungsi-fungsi yang salah atau hilang, (2) kesalahan antarmuka, (3) kesalahan pada struktur data atau akses basis data, (4) kesalahan pada perilaku dan kinerjanya, (5) kesalahan pada saat proses inisialisasi dan terminasi.
2.2 Monitoring Monitoring (Bahasa Indonesia : pemantauan) adalah pemantauan yang dapat dijelaskan sebagai kesadaran (awarenees) tentang apa yang ingin diketahui, pemantauan berkadar tingkat tinggi dilakukan agar dapat membuat pengukuran melalui waktu yang menunjukan pergerakan ke arah tujuan atau menjauh dari itu. (Muhammad Ichwan, dkk, 2012:3).
2.3 Server Server adalah sebuah komputer yang mengatur lalu lintas data yang terjadi pada sebuah jaringan. Server merupakan induk dari segala komputer yang terhubung pada sebuah jaringan dan berfungsi sebagai pengatur sistem jaringan, misalnya untuk pembatasan akses dan melakukan kontrol data. Sebuah server secara umum memiliki fungsi sebagai berikut: a)
Menyimpan aplikasi dan basis data yang dibutuhkan oleh komputer lain.
b)
Menyediakan fitur keamanan komputer.
c)
Melindungi semua komputer yang terhubung menggunakan firewall.
d)
Menyediakan IP Address untuk mesin komputer terhubung.
Layaknya sebuah komputer, sebuah server terdiri dari beberapa perangkat keras. Perangkat keras tersebut diantaranya adalah CPU (central processing unit), RAM (Random-Access Memory), serta Harddisk. (Abdul kadir, 2014:125).
2.3.1. CPU CPU (central processing unit) atau disebut prosesor sering dikatakan sebagai otak komputer. Analogi seperti ini sesungguhnya tidak tepat sepenuhnya, karena salah satu fungsi otak yaitu mengingat tidak merupakan bagian dari CPU (melainkan ditangani oleh komponen yang disebut memori). Pada masa sekarang, komponen CPU berupa sebuah mikroprosesor dengan ukuran yang relatif kecil. Mikroprosesor sendiri sebenarnya adalah sebuah komputer dalam sebuah chip. Chip adalah sekeping bahan semikonduktor yag mengandung sejumlah komponen. (Abdul kadir, 2014:137).
http://digilib.mercubuana.ac.id/
10
2.3.2. RAM RAM (Random-Access Memory) adalah jenis memori yang isinya dapat diganti-ganti selama komputer dihidupkan dan mempunyai sifat bisa mengingat data/program selama terdapat arus listrik (komputer hidup). Selain itu, RAM mempunyai sifat yakni dapat menyimpan dan mengambil data dengan sangat cepat.(Abdul kadir, 2014:143).
2.3.3 Harddisk Hard disk adalah perangkat keras (hardware) komputer yang bekerja secara sistematis yang berperan sebagai media penyimpanan data. Data yang tersimpan dalam harddisk tidak akan hilang walaupun laptop atau komputer dimatikan (OFF). Data yang tersimpan dalam harddisk ini bersifat permanen asalkan user (pengguna) bisa menggunakannya dengan baik, benar dan bijaksana. Fungsi harddisk secara umum adalah untuk menyimpan data yang dihasilkan oleh pemrosesan perangkat komputer. Didalam harddisk terdapat sebuah ruang penyimpanan utama, disitulah setiap data dan informasi disimpan. Selain memiliki ruang utama, harddisk juga mempunyai komponen-komponen bagian semacam ruang kecil yang terdiri dari direktori, folder, subdirektori, serta subfolder, yang digunakan untuk meletakkan data dan informasi dari ruang utama harddisk.(Abdul kadir, 2014:143).
2.3.4. Bit dan Byte Sistem komputer bekerja atas dasar bilangan binet. Bilangan binet adalah bilangan yang hanya mengenal digit 0 dan 1 atau hanya dua digit yang dipakai. Pada sistem matematika, bilangan seperti ini disebut bilangan berbasis 2. Nilai 0 atau 1 biasa disebut bit (berasal dari “binary digit”). Pada sistem komputer, digit 0 untuk menyatakan “tidak ada” dan digit 1 menyatakan “ada”. Deretan 8 bit seperti 100000010 biasa disebut byte. (Abdul kadir, 2014:134). Untuk menyatakan ukuran berkas (file) atau bahkan kapasitas hard disk terdapat beberapa istilah satuan: kilobyte (KB), megabyte (MB), gigabyte (GB), dan terabyte (TB). Tabel berikut memperlihatkan hubungan antara satu satuan dengan satuan lainnya. Tabel 2.1 Daftar satuan yang menyatakan jumlah byte (Abdul kadir, hal 135. 2014). Satuan
Ekuivalen
Keterangan
byte
8 bit
Untuk menyimpan sebuah karakter
kilobyte
1024 byte
Awal PC hanya memiliki memori sebesar 640 kilobyte
megabyte
1024 kilobyte
Memori PC pada saat ini berkisar antara 64-256 megabyte
gigabyte
1024 megabyte
Ukuran hardisk berkisar antara 20 - 500 gigabyte
terabyte
1024 gigabyte
Database yang sangat besar
http://digilib.mercubuana.ac.id/
11
2.4 Jaringan Komputer Jaringan komputer (computer network) atau sering disingkat jaringan saja adalah hubungan dua buah simpul (umumnya berupa komputer) atau lebih yang tujuan utamanya adalah untuk melakukan pertukaran data. Dalam praktiknya, jaringan komputer memungkinkan untuk melakukan berbagai perangkat lunak, perangkat keras, dan bahkan berbagi kekuatan pemrosesan. Ditinjau dari rentang geografis, jaringan dibagi menjadi tiga macam: LAN, MAN, dan WAN. Ditinjau dari penggunaan media transmisi, maka kepemilikan jaringan dapat dibedakan menjadi jaringan privat dan jaringan publik. Sedangkan ditinjau berdasarkan teknologinya dan penggunanya dibedakan menjadi intranet dan extranet.(Abdul kadir, 2014:288).
2.4.1. Local Area Network (LAN) LAN adalah jaringan komputer yang mencakup area dalam satu ruang, satu gedung, atau beberapa gedung yang berdekatan. Sebagai contoh, jaringan dalam satu kampus yang tepadu atau di sebuah perusahaan tergolong sebagai LAN. LAN umumnya menggunakan media transmisi berupa kabel. Namun, ada juga yang tidak menggunakan kabel dan disebut sebagai wireless LAN atau LAN tanpa kabel. Kecepatan LAN berkisar dari 10 Mbps sampai 1 Gbps (Abdul kadir, 2014:289).
2.4.2. Metropolitan Area Network (MAN) MAN adalah jaringan yang mencakup area satu kota atau dengan rentang sekitar 10-45 km. Jaringan yang menghubungkan beberapa bank yang terletak dalam satu kota atau kampus yang tersebar dalam beberapa lokasi tergolong termasuk sebagi MAN. Jaringan seperti ini umumnya menggunakan media transmisi dengan mikrogelombang atau gelombang radio. (Abdul kadir, 2014:289).
2.4.3. Wide Area Network (WAN) Jaringan yang mencakup antarkota, antarprovinsi, antarnegara, dan bahkan antarbenua disebut dengan WAN. Contoh WAN adalah jaringan yang menghubungkan ATM (anjungan tunai mandiri). Contoh lain adalah internet. (Abdul kadir, 2014:290).
2.4.4. Jaringan Privat Jaringan privat (private network) adalah jaringan yang dimiliki secara penuh oleh sebuah organisasi. Pada LAN, jaringan dibentuk dan dipelihara sepenuhnya oleh perusahaan yang menggunakannya.(Abdul kadir, 2014:291).
2.4.5. Jaringan Publik Jaringan yang ditujukan untuk digunakan oleh banyak perusahaan tergolong sebagai jaringan publik. Contoh jaringan publik adalah sistem telepon.(Abdul kadir, 2014:291).
http://digilib.mercubuana.ac.id/
12
2.4.6. Virtual Private Network (VPN) VPN adalah jaringan publik yang menjamin ketersediaan jalur komunikasi untuk suatu perusahaan, tetapi tidak dalam bentuk jaur khusus. (Abdul kadir, 2014:292). Jaringan ini memiliki karakteristik sebagai berikut: 1)
Perusahaan pemakai jasa membayar biaya penggunaan berdasarkan waktu.
2)
Meski tidak memakai jalur khusus, ketersediaan koneksi dijamin.
3)
Kecepatan transfer lebih tinggi daripada jaringan publik.
4)
Keamanan tinggi karena adanya fasilitas enkripsi.
2.4.7. Intranet Intranet adalah jaringan komputer dalam sebuah perusahaan yang menggunakan teknologi Internet sehingga terbentuk lingkungan yang seperti Internet tetapi bersifat privat bagi perusahaan bersangkutan. Dalam hal ini, pengaksesan informasi yang berkaitan dengan sistem basis data juga dilakukan melalui browser. Kadangkala, Internet juga dihubungkan ke jaringan Internet, dengan dilengkapi firewall. Firewall adalah program yang dijalakan pada komputer yang bekedudukan sebagai server dengan tujuan untuk mencegah akses intranet dari Internet, tetapi memungkinkan pemakai di dalam intranet mengakses Internet.(Abdul kadir, 2014:312).
2.4.8. Extranet Extranet adalah jaringan privat yang menggunakan teknologi Internet dan sistem telekomunikasi publik untuk membentuk hubungan yang aman antara pemasok, vendor, mitra kerja, pelanggan, dan pihak bisnis lainnya dalam rangka mendukung operasi bisnis atau pengaksesan informasi bisnis. Salah satu cara pengaplikasian extranet adalah dengan menggunakan virtual private network.(Abdul kadir, 2014:313).
2.5 Topologi Jaringan Menurut Abdul kadir (2014:292), Topologi jaringan menyatakan susunan komputer secara fisik dalam suatu jaringan. Secara garis besar dapat dibagi menjadi beberapa jenis, yaitu:
2.5.1. Topologi Bus Pada topologi ini semua simpul (umumnya komputer) dihubungkan melalui kabel yang disebut bus. Kabel yang digunakan adalah kabel koaksial. Jika seseorang pemakai mengirimkan pesan ke pemakai lain, maka pesan tersebut akan melalui bus. Setiap komputer perlu membaca alamat dalam pesan. Sekiranya alamat pada pesan cocok dengan alam komputer pembaca, komputer tersebut segera mengambil pesan tersebut. Topologi bus biasa digunakan untuk LAN dengan jumlah komputer yang sedikit. Misalnya, komputer pada sebuah warnet.
http://digilib.mercubuana.ac.id/
13
2.5.2. Topologi Cincin (Ring) Topologi cincin mirip dengan topologi bus. Informasi yang pada topologi cincin dikirim oleh sebuah komputer akan dilewati ke media transmisi, melewati satu komputer ke komputer berikutnya.
2.5.3. Topologi Bintang (Star) Pada topologi ini terdapat komponen yang bertindak sebagai pusat pengontrol. Semua simpul yang hendak berkomunikasi selalu melalui pusat pengontrol tersebut. Dalam hal ini, pusat pengontrol berupa hub atau switch.
2.6 Open Source Sebelum istilah open source populer digunakan, perangkat lunak yang tersedia dalam bentuk biner maupun kode sumber biasanya disebut free software. Menurut Stallman (1999), free software dan open source sebenarnya menyatakan keadaan yang sama pada perangkat lunak, tetapi memiliki perbedaan pandangan. Definisi resmi tentang open source tercantum pada situs http://www.opensource.org/osd.html. Secara prinsip open source memperkenalkan siapa saja untuk mendistribusikan perangkat lunak yang tergolong open source secara gratis atau dengan bayaran dan tidak ada royalti atau kompensasi yang perlu diberikan. Prinsip penting lainnya adalah bahwa sekiranya terdapat orang yang mengubah kode sumber, referensi terhadap pencipta asalnya tetap perlu dituliskan, sebagai bentuk penghargaan. (Abdul kadir, 2014:210).
2.7 Sistem Operasi Sistem operasi adalah program yang bertindak sebagai perantara antara pemakai komputer dan perangkat keras komputer. Tujuan sistem operasi adalah menyediaan lingkungan yang memungkinkan pemakai dapat menjalankan program apapun dengan mudah. Sistem operasi mempunyai tiga fungsi utama yaitu manajemen proses, manajemen sumber daya, dan manajemen data. (Abdul kadir, 2014:188) 1.
Manajemen proses mencakup penyiapan, penjadwalan, dan pemantauan proses pada komputer. Proses adalah program yang sedang dijalankan.
2.
Menajemen sumber daya berkaitan dengan pengendalian terhadapap pemakaian sumber daya dalam sistem komputer yang dilakukan oleh program sistem ataupun program aplikasi yang sedang dijalankan pada komputer. Maksud sumber daya disini adalah komponen perangkat keras dalam komputer seperti CPU, memori utama, dan peranti masukan/keluaran.
3.
Manajemen data berupa pengendalian terhadap data masukan/keluaran, termasuk dalam hal pengalokasian dalam peranti penyimpanan sekunder maupun dalam memori utama.
http://digilib.mercubuana.ac.id/
14
2.8 Linux Linux (Linux Is Not Unix) adalah sebuah kernel dari sistem operasi UNIX-like berbasis Open Source yang dibuat oleh seorang mahasiswa bernama Linux Torvalds pada sekitar awal tahun 90-an (Rizal Rahman, 2013:3). Menurut (Christopher Negus, 2015:4) Linux adalah sistem operasi komputer. Sistem operasi yang terdiri dari perangkat lunak yang mengelola komputer dan memungkinkan Anda menjalankan aplikasi di atasnya. Fitur yang membuat Linux dikatakan sebagai sistem operasi komputer meliputi: 1)
Mendeteksi dan mempersiapkan hardware - Ketika sistem Linux boot up (atau ketika Anda menghidupkan komputer), akan tampak komponen pada komputer Anda (CPU, harddisk, network cards, dan sebagainya) dan banyak perangkat lunak (drivers dan modules) yang diperlukan untuk mengakses perangkat keras tertentu.
2)
Mengelola proses - sistem operasi harus mempu melacak beberapa proses yang berjalan pada waktu yang bersamaan dan kemudian memutuskan mana yang memiliki akses ke CPU. Sistem juga harus mampu menyajikan cara memulai, menghentikan dan mengubah status dari suatu proses.
3)
Mengelola memori - RAM dan swap (extended memory) harus dialokasikan untuk aplikasi yang membutuhkan memori. Sistem operasi memutuskan bagaimana sebuah permintaan memori tersebut dapat ditangani.
4)
Menyediakan antarmuka pengguna - Sebuah Sistem operasi harus mampu menyediakan cara untuk mengakses sistem. Awalnya sistem Linux diakses melalui baris perintah yang disebut shell. Sekarang, antarmuka grafis desktop umumnya sudah tersedia.
5)
Mengendalikan berkas sistem - Struktur berkas sistem sudah ada di dalam sebuah sistem operasi (loaded as module). Sistem operasi mampu mengontrol kepemilikan dan akses ke berkas atau direktori pada berkas sistem.
6)
Menyediakan akses pengguna dan otentikasi - Membuat akun dan batasan antara pengguna adalah fitur dasar pada Linux. Memisahkan akun ke dalam user dan group sehingga mampu mengontrol berkas dan proses mereka sendiri.
7)
Menawarkan alat bantu administratif - Pada Linux, ratusan (mungkin ribuan) perintah dan aplikasi berbasis layar grafis tersedia untuk membantu melakukan halhal seperti menambahkan pengguna, mengelola media penyimpanan, memantau jaringan, menginstal perangkat lunak, yang pada umumnya untuk mengamankan serta mengelola komputer Anda.
http://digilib.mercubuana.ac.id/
15
8)
Menjalankan layanan - untuk menggunakan printer, menangani pesan log, menyediakan berbagai layanan sistem dan jaringan, menjalankan layanan secara background yang disebut daemon, menunggu sebuah proses permintaan masuk. Masih banyak lagi jenis layanan yang dijalankan di Linux.
2.8.1 Linux System Administrator Linux, seperti sistem operasi berbasis UNIX lainnya, yaitu dapat digunakan oleh lebih dari satu orang dalam waktu yang sama. Fitur Multiuser memungkinkan banyak orang memiliki akun pada sebuah sistem Linux, dengan data yang tetap aman dari orang lain. Multitasking memungkinkan banyak orang dapat menjalankan banyak program komputer secara bersamaan, dimana setiap orang dapat menjalankan lebih dari satu program. Protokol jaringan yang canggih dan aplikasi-aplikasi yang tersedia membuat sistem Linux memiliki kemampuan untuk memperluas pengguna jaringan dan komputer hingga ke seluruh dunia. Orang yang ditugaskan untuk mengelola semua sumber daya sistem Linux disebut Linux system administrator (Christopher Negus, 2015:173).
2.8.2. Ubuntu Ubuntu merupakan sistem operasi berbasis GNU/Linux turunan dari distro Debian yang sangat mudah digunakan, handal, stabil dan aman. Ubuntu berasal dari filosofi Afrika yang berarti "kemanusiaan kepada sesama”. Rilis pertama Ubuntu adalah Ubuntu 4.10 pada tahun 2004 dengan codename Warty Warthog. Mark Shuttleworth adalah tokoh dibalik dari kesuksesan Ubuntu hingga Ubuntu bisa terkenal seperti saat ini. Ia adalah pendiri dari perusahaan Cannonical, Ltd yang merupakan perusahan resmi pendukung Ubuntu (Rizal Rahman, 2013:12).
http://digilib.mercubuana.ac.id/
16
Gambar 2.2 Instalasi ubuntu server (Rizal Rahman, 2013:18).
2.8.3. CentOS CentOS merupakan akronim dari Community ENTerprise Operating System dan merupakan distribusi Linux yang sering dipergunakan dalam skala Enterprise selain itu juga gratis. CentOS berasal dari source code Red Hat Enterprise Linux (RHEL) dan kemudian dikembangkan oleh sebuah komunitas yang disebut CentOS Project (Akrom Musajid, 2016:1). CentOS saat ini banyak digunakan oleh perusahaan karena merupakan salah satu distribusi Linux yang dapat digunakan dalam skala Enterprise dan juga dapat digunakan secara gratis. Ada beberapa alasan yang mendasar kenapa CentOS bisa menjadi pilihan dari banyak distribusi Linux pada sebuah server. Selain karena CentOS berasal dari source code Red Hat yang dikenal dengan kehandalannya, CentOS juga memiliki dukungan terhadap software dan hardware yang baik.CentOS memiliki siklus hidup (Life Cycles) yang cukup panjang hingga 5 sampai 10 tahun.
http://digilib.mercubuana.ac.id/
17
Gambar 2.3 Instalasi CentOS 6.6 (Akrom Musajid, 2016:4).
2.8.4. OpenSSH Secure Shell (SSH) merupakan protokol jaringan untuk komunikasi data yang aman, login terminal, remote, dan layanan jaringan lainnya antara dua komputer. SSH mempunyai dua versi yaitu SSH-1 dan SSH-2. SSH banyak digunakan pada sistem operasi berbasis Linux dan Unix untuk mengakses akun shell. Protokol ini dirancang untuk menggantikan Telnet dan shell remote lainnya yang tidak aman pada saat pengiriman informasi, terutama kata sandi dalam bentuk teks sederhana yang membuatnya mudah untuk diintip. SSH menggunakan kriptografi kunci publik untuk mengotentikasi komputer remote dan biarkan komputer remote untuk mengontentikasi pengguna. SSH biasanya digunakan untuk login ke mesin remote dan mengeksekusi berbagai perintah, tetapi dapat juga digunakan untuk tunneling, forwarding TCP port dan komunikasi X11, dapat juga digunakan untuk mengirim berkas dengan aman seperti menggunakan protokol SFTP dan SCP. Secara default SSH menggunakan protokol TCP pada port 22. (Akrom Musajid, 2016:72).
http://digilib.mercubuana.ac.id/
18
Gambar 2.4 SSH Client dengan Putty di Windows (Akrom Musajid, 2016:76). OpenSSH atau OpenBSD Secure Shell adalah satu set aplikasi komputer yang bisa mendukung sesi komunikasi terenkripsi pada jaringan komputer menggunakan protokol ssh. Awalnya aplikasi ini dikembangkan sebagai aplikasi open source yang menjadi alternatif dari aplikasi serupa yang berbayar. OpenSSH dikembangkan dan merupakan bagian dari proyek OpenBSD (Akrom Musajid, 2016:73).
2.8.5. SNMP SNMP adalah sebuah protokol apikasi pada jaringan TCP/IP yang menangani manajemen jaringan. Protokol ini didesain sehingga pengguna dapat dengan mudah memantau kondisi jaringan komputer. Pemantauan kondisi jaringan dapat dilakukan dengan cara pengumpulan nilai-nilai informasi dari kondisi jaringan secara jarak jauh atau menggunkan satu pusat pengamatan. layanan SNMP seperti router, switch, server, workstation, dan printer. Protokol SNMP pada jaringan TCP/IP menggunakan transport UDP oleh karena itu dalam penggunaannya tidak akan membebani trafik jaringan.(Reza Pradikta, dkk.2013:2). Pada sistem pemantauan jaringan dengan menggunakan layanan SNMP, terdapat tiga komponen dasar antara lain:
http://digilib.mercubuana.ac.id/
19
1)
Manajer SNMP
Manajer adalah perangkat yang menjalankan dan dapat
menangani tugas-tugas
manajemen jaringan.
Gambar 2.5 Manajer, Agen, dan MIB SNMP (Reza Pradikta, dkk. 2013:2). 2)
Agen SNMP
Agen SNMP adalah perangkat pada jaringan yang akan diamati dan dikelola. Setiap agen akan merespon dan menjawab permintaan manajer SNMP.
Gambar 2.6 Diagram pohon MIB (Reza Pradikta, dkk. 2013:2). 3)
Management Information Base (MIB)
MIB pada SNMP dapat dikatakan sebagai tempat penyimpanan informasi yang dimiliki agen. MIB yang terdapat pada SNMP didefinisikan secara hirarki dan setiap bagian mempunyai identifikasi objek (OID).(Reza Pradikta, dkk. 2013:2).
2.8.6. Postfix Postfix merupakan sotfware MTA (Mail Transfer Agent) yang dapat menerima, meneruskan, dan mengirim email. Software ini merupakan open source dan bekerja di OS Unix dan Linux, postfix tidak support Windows. Umumnya instalasi postfix dilakukan
http://digilib.mercubuana.ac.id/
20
untuk menggantikan program send mail yang secara default telah terpasang pada sistem operasi Unix atau Linux. Postfix dapat menjadi pilihan software untuk mail server karena performa dan kecepatannya yang diklaim tinggi, selain itu postfix juga mendukung penggunaan database. (Christopher Negus, 2015:317) Awal mula Postfix bernama Vmailer dan IBM Secure Mailer, namun karena alasan kemiripan dengan merk dagang yang telah ada, maka diganti menjadi postfix atas saran IBM sendiri. Wietse Venema adalah pencipta postfix sewaktu ia bekerja di IBM, dan sampai sekarang masih aktif dikembangkan. Postfix berusaha memberikan alternatif untuk program sendmail yang telah meluas di masyarakat.
2.8.7. NTP Server adalah mesin yang berjalan selama 24 jam tanpa henti secara realtime dan ketepatan waktu menjadi hal yang harus berjalan dengan sangat baik. Untuk itu dibutuhkan singkronisasi antara jam di sistem Linux yang digunakan dengan jam standar dunia. Jam standar dunia itu disebut dengan NTP (Network Time Protocol). NTP pada server Linux juga berfungsi untuk singkronisasi waktu pada semua perangkat yang terhubung ke jaringan lokal.(Akrom Musajid, 2016:69).
Gambar 2.7 Restart service ntp (Akrom Musajid, 2016:69).
2.8.8. Apache Apache (Apache Web Server – The HTTP Web Server) merupakan web server yang paling banyak dipergunakan di Internet. Program ini pertama kali didesain untuk sistem operasi lingkungan UNIX. Apache mempunyai program pendukung yang cukup banyak. Hal ini memberikan layanan yang cukup lengkap bagi penggunanya. (Christopher Negus, 2015:449).
2.8.9. MySQL MySQL adalah sebuah perangkat lunak sistem manajemen basis data SQL (bahasa Inggris: database management system) atau DBMS yang multithread, multi-user, dengan sekitar 6 juta instalasi di seluruh dunia. MySQL AB membuat MySQL tersedia sebagai perangkat lunak gratis di bawah lisensi GNU General Public License (GPL), tetapi mereka
juga
menjual
dibawah
lisensi
komersial
untuk
kasus-kasus
dimana
penggunaannya tidak cocok dengan penggunaan GPL. Tidak seperti PHP atau Apache yang merupakan software yang dikembangkan oleh komunitas umum, dan hak cipta untuk kode sumber dimiliki oleh penulisnya masingmasing, MySQL dimiliki dan disponsori oleh sebuah perusahaan komersial Swedia yaitu
http://digilib.mercubuana.ac.id/
21
MySQL AB. MySQL AB memegang penuh hak cipta hampir atas semua kode sumbernya. Kedua orang Swedia dan satu orang Finlandia yang mendirikan MySQL AB adalah: David Axmark, Allan Larsson, dan Michael "Monty" Widenius (Achmad Solichin, 2010:10).
2.9 UML (Unified Modeling Language) Menurut (Alan Dennis, 2012:515) Unified Modeling Language atau disingkat UML empat teknik diagram yang terintegrasi dan digunakan bersama-sama untuk menggantikan DFDs dan ERD dalam SDLC tradisional. Penggunaan use case diagram biasanya digunakan untuk meringkas penggunaan set use case untuk bagian logis dari sistem (atau seluruh sistem). Kemudian class diagram, sequence diagram, dan state behavioral diagram digunakan untuk selanjutnya menentukan sistem yang berkembang dari berbagai perspektif. Diagram use case selalu dibuat pertama, tetapi urutan diagram lainnya diciptakan tergantung pada proyek dan preferensi pribadi para analis. Sebagian besar analis mulai dengan class diagram (menunjukkan apa saja dan bagaimana mereka terkait, seperti ERD) atau sequence diagram (menunjukkan bagaimana benda dinamis berinteraksi, seperti DFD), tetapi dalam prakteknya, proses ini berulang. Tujuan dari UML adalah untuk menyediakan istilah dalam hal teknik berbasis objek dan teknik menskemakan diagram yang cukup banyak untuk menggambarkan bermacam proyek pengembangan sistem mulai dari analisa sampai desain.
2.9.1. Use Case Diagram Use case diagram digunakan untuk mengilustrasikan fungsionalitas utama sistem yang paling sederhana dan pengguna yang terhubung dengannya. Secara umum use case diagram digambarkan terlebih dahulu dalam SDLC pada saat analis mengumpulkan dan mendefinisikan kebutuhan untuk sistem, karena use case diagram menyediakan cara yang mudah dan akurat dalam berkomunikasi dengan user mengenai apa yang sebenarnya dilakukan sistem.(Alan Dennis, 2012:517). Use case atau diagram use case merupakan pemodelan untuk kelakuan (behavior) sistem informasi yang dibuat. Use case mendeskripsikan sebuah interaksi antara satu atau lebih aktor dengan sistem informasi yang akan dibuat. Secara kasar, use case digunakan untuk mengetahui fungsi apa saja yang akan ada dalam sebauh sistem infomasi dan siapa saja yang berhak menggunakan fungsi-fungsi itu (Rosa dan Shalahuddin, 2014:156).
http://digilib.mercubuana.ac.id/
22
Tabel 2.2 Simbol Use Case Diagram (Rosa dan Shalahuddin, 2014:156) Simbol Use Case
Deskripsi Fungsionalitas yang disediakan sistem sebagai unit-unit yang saling bertukar pesan antar unit atau aktor, biasanya dinyatakan dengan menggunakan kata kerja di awal frase nama use case
Aktor/actor
Orang, proses, atau sistem lain yang berinteraksi dengan sistem informasi yang akan dibuat di luar sistem informasi yang akan dibuat itu sendiri, jadi walaupun simbol dari aktor adalah gambar orang, tapi aktor
belum
tentu
merupakan
orang
biasanya dinyatakan menggunakan kata benda di awal fase nama aktor. Asosiasi/association
Komunikasi antara aktor dan use case yang berpartisipasi pada use case atau use case memiliki interaksi dengan aktor.
Ekstensi/extend
Relasi use case tambahan ke sebuah use case dimana use case yang ditambahkan dapat berdiri sendiri walau tanpa use case tambahan
itu,
mirip
dengan
prinsip
inheritance pada pemrograman berorientasi objek,
biasanya
use
case
tambahan
memiliki nama depan yang sama degan use case yang ditambahkan .
http://digilib.mercubuana.ac.id/
23
Tabel 2.3 (Lanjutan) Simbol Use Case Diagram (Rosa dan Shalahuddin, 2014:156) Simbol
Deskripsi Hubungan generalisasi dan spesialisasi antara dua buah use case dimana fungsi yang satu adalah fungsi yang lebih umum dari lainnya.
Menggunakan/include/uses <
>
Relasi use case tambahan kesebuah use case dimana use case yang ditambahkan memerlukan use case in untuk menjalankan fungsinya atau sebagai syarat dijalankan use case ini.
Syarat penamaan pada use case adalah nama di definisikan sesimpel mungkin dan dapat di pahami. Ada dua hal utama apada use case yaitu pendefinisian apa yang di sebut aktor dan usecase. 1) Aktor merupakan orang, proses, atau sistem lain yang berinteraksi dengan sistem informasi yang akan dibuat di luar sistem informasi yang akan dibuat sendiri, jadi walaupun simbol dari aktor adalah gambar orang, tapi aktor belum tentu merupakan orang. 2) Use case merupakan fungsionalitas yang disediakan sistem sebagai unit-unit yang saling bertukar pesan antar unit-unit yang saling bertukar pesan antar unit atau aktor.
2.9.2. Sequence Diagram Sequence diagram menggambarkan kelakuan objek pada use case dengan mendeskripsikan waktu hidup objek dan pesan yang dikirimkan dan diterima antar objek. Oleh karena itu untuk menggambarkan diagram sekuen maka harus diketahui objek-objek yang terlibat dalam sebuah use case beserta metode-metode yang dimiliki kelas yang diintansiasi menjadi objek itu (Rosa dan Shalahuddin, 2014:165). Menurut Alan Dennis, (Alan Dennis, 2012:530). Sequence diagram merupakan model dinamis yang mendukung dynamic view untuk pengembangan sistem. Sequence diagram menunjukan urutan yang eksplisit yang dilewati antar objek dalam suatu interaksi yang didefinisikan. Sequence diagram menggambarkan objek-objek yang berperan serta dalam use case dan pesan-pesan yang dilewati oleh objek dari waktu ke waktu untuk sebuah use case.
http://digilib.mercubuana.ac.id/
24
Tabel 2.4 Sequence Diagram Syntax (Alan Dennis, 2012:532). Term and definition An actor:
Is a person or system that derives benefit from and is external to the system.
Participates in a sequence by sending and/or receiving messages.
Is placed across the top of the diagram.
An object:
Participates in a sequence by sending and/or receiving messages.
Is placed across the top of the diagram.
A lifeline:
Denotes the life of an object during a sequence.
Contains an X at the point at which the class no longer interacts.
A focus of control:
Is a long narrow rectangle placed atop a lifeline.
Denotes when an object is sending or receiving messages.
A message:
Conveys information from one object to another one.
Object destruction:
An X is placed at the end of an object’s lifeline to show that it is going out of existence.
http://digilib.mercubuana.ac.id/
Symbol
25
Gambar 2.8 Sequence Diagram (Alan Dennis, 2012:557)
2.9.3. Activity Diagram Activity diagram menggambarkan workflow (aliran kerja) atau aktivitas dari sebuah sistem atau proses bisnis atau menu yang ada pada perangkat lunak. Perlu diperhatikan bahwa diagram aktivitas menggambarkan aktivitas sistem bukan apa yang dilakukan aktor, jadi activity diagram adalah aktivitas yang dapat dilakukan oleh sistem (Rosa dan Shalahuddin, 2014:161). Berikut adalah simbol-simbol yang ada pada activity diagram: Tabel 2.5 Activity Diagram (Rosa dan Shalahuddin, 2014:162). Simbol Status awal
Deskripsi Status awal aktivitas sistem, sebuah diagram aktivitas
memiliki sebuah
status awal. Aktivitas
Aktivitas
yang
dilakukan
sistem,
aktivitas biasanya diawali dengan kata kerja. Percabangan/decision
Asosiasi percabangan dimana jika ada pilihan aktivitas lebih dari satu.
Penggabungan/join
Asosiasi penggabungan lebih dari satu ativitas digabungkan menjadi satu.
http://digilib.mercubuana.ac.id/
26
Tabel 2.6 (Lanjutan) Activity Diagram (Rosa dan Shalahuddin, 2014:162) Simbol Status akhir
Deskripsi Status akhir yang dilakukan sistem, sebuah diagram aktivitas memiliki sebuah status akhir.
Swimlane
Memisahkan organisasi bisnis yang bertanggung jawab terhadap aktivitas yang terjadi.
Activty diagram banyak digunakan untuk mendefinisikan hal-hal berikut: 1) rancangan proses bisnis dimana setiap urutan aktivitas yang digambarkan merupakan proses bisnis sistem yang didefinisikan. 2) Urutan atau pengelompokan tampilan dari sitem/user interface dimana setiap aktivitas dianggap memilkisebuah rancangan antarmuka tampilan. 3) Rancangan pengujian dimana setiap aktivitas dianggao memerlukan sebuah pengujian yang perlu didefinisikan kasus ujinya. 4) Rancangan menu yang ditampilkan pada perangkat lunak.
2.9.4. Class Diagram Diagram kelas atau class diagram menggambarkan struktur sistem dari segi pendefinisian kelas-kelas yang akan dibuat untuk membangun sistem. Kelas memiliki apa yang disebut atribut dan metode atau operasi. Atribut merupakan variabel-variabel yang dimiliki oleh suatu kelas. Sedangkan operasi atau metode adalah fungsi-fungsi yang dimiliki suatu kelas. (Rosa dan Shalahuddin, 2014:142). Class diagram sangat mirip dengan entitiy relationship diagram (ERD), class diagram menggambarkan sebuah kelas, yang mencakup atribut, perilaku, dan status, sementara ERD hanya mencakup atribut. Ruang lingkup class diagram sama seperti ERD yaitu keseluruhan sistem. Class diagram merupakan model statis yang mendukung static view pada pengembangan sistem. Class diagram menampilkan kelas-kelas dan relasi yang
http://digilib.mercubuana.ac.id/
27
terdapat pada sebuah sistem dalam waktu ke waktu secara konstan (Alan Dennis, 2012:522). Tabel 2.7 Class Diagram Syntax (Alan Dennis, 2012:524). Term and definition A class
Represents a kind of person, place, or thing about which the system must capture and store information.
Has a name typed in bold and centered in its top compartment.
Has a list of attributes in its middle compartment.
Has a list of operations in its bottom compartment.
Does not explicitly show operations that are available to all classes.
An attribute
Represents properties that describe the state of an object.
Can be derived from other attributes, shown by placing a slash before the attribute’s name.
A method
Represents the actions or functions that a class can perform.
Can be classified as a constructor, query, or update operation.
Includes parentheses that may contain special parameters or information needed to perform the operation.
http://digilib.mercubuana.ac.id/
Symbol
28
Tabel 2.8 (Lanjutan) Class Diagram Syntax (Alan Dennis, 2012:524). Term and definition
Symbol
An association
Represents a relationship between multiple classes, or a class and itself.
Is labeled by a verb phrase or a role name, whichever better represents the relationship.
Can exist between one or more classes.
Contains multiplicity symbols, which represent the minimum and maximum times
a
class
instance
can
be
associated with the related class instance.
Gambar 2.9 Class Diagram for Holiday Travel Vehicles (Alan Dennis, 2012:549)
http://digilib.mercubuana.ac.id/
29
2.10 HTML HTML merupakan singkatan dari Hypertext Markup Language. Singkatan ini terdiri dari 3 komponen kata, yakni: Hypertext, Markup dan Language (Andre Pratama, 2015:2). Kata Hypertext dari HTML menekankan pengertian: text yang lebih dari sekedar teks (‘hyper’-text). Maksudnya selain berfungsi sebagai teks biasa, sebuah teks di dalam HTML juga bisa berfungsi sebagai penghubung ke halaman lain atau dikenal dengan istilah link. Nantinya kita juga akan melihat bahwa tidak hanya teks saja yang bisa digunakan sebagai link, tetapi bisa berupa gambar. Link inilah yang menjadi inti dari HTML. Kata kedua dari singkatan HTML adalah Markup. Markup dapat diterjemahkan sebagai tanda atau penanda (bahasa inggris: mark). Di dalam HTML, kita akan menggunakan tanda-tanda khusus seperti , , atau . Tanda ini diperlukan untuk mengatur format dan membuat struktur halaman web. Bagian terakhir dari HTML adalah Language. Istilah language jika diterjemahkan berarti: bahasa. Khusus bagi anda yang pernah berkenalan dengan bahasa pemrograman komputer, disini HTML tidak menggunakan ‘Programming Language’, tetapi hanya ‘Language’ saja.
Gambar 2.10 Proses HTML oleh web server (Andre Pratama, 2015:7).
2.11 CSS CSS merupakan singkatan dari Cascading Style Sheet. CSS digunakan untuk mengubah tampilan (style) dari halaman web. Sebagaimana yang kita ketahui, halaman web modern terdiri dari 3 komponen dasar: HTML untuk membuat struktur, CSS untuk tampilan, dan JavaScript untuk interaksi. Jika halaman web diibaratkan sebuah bangunan, CSS adalah tampilan luar dari bangunan tersebut, seperti warna dinding atau warna atap.
http://digilib.mercubuana.ac.id/
30
Kerangka dasarnya dibuat dari HTML. Dengan demikian, kita bisa dengan mudah menukar warna dinding bangunan tanpa perlu mengubah struktur dasarnya. Terdapat 2 istilah penting yang perlu penjelasan tambahan, yakni: bahasa style sheet (style sheet language) dan bahasa markup (markup language). Istilah pertama: style sheet language adalah format bahasa khusus yang terdiri dari kumpulan kode untuk mengatur tampilan (style) dari sebuah dokumen. Sebagaimana yang akan kita lihat nanti dari sejarah CSS, pada awal perkembangannya terdapat berbagai variasi style sheet language yang bisa digunakan, dimana salah satunya adalah CSS. Istilah kedua, markup language merujuk kepada dokumen yang dibuat menggunakan “tanda” atau “mark”. Salah satu contoh dari markup language ini adalah HTML (Hypertext Markup Language). Walaupun begitu, CSS tidak hanya digunakan untuk HTML saja, tapi bisa untuk bahasa markup lain seperti XML (Extensible Markup Language) dan SVG (Scalable Vector Graphics).(Andre Pratama, 2015:1).
2.12 PHP PHP Pertama kali ditemukan pada 1995 oleh seorang Software Developer bernama Rasmus Lerdrof. Ide awal PHP adalah ketika itu Radmus ingin mengetahui jumlah pengunjung yang membaca resume online-nya. script yang dikembangkan baru dapat melakukan dua pekerjaan, yakni merekam informasi pengunjung, dan menampilkan jumlah pengunjung dari suatu website. Dan sampai sekarang kedua tugas tersebut masih tetap populer digunakan oleh dunia web saat ini. Kemudian, dari situ banyak orang di milis mendiskusikan script buatan Rasmus Lerdrof, hingga akhirnya rasmus mulai membuat sebuah tool/script, bernama Personal Home Page (PHP).
Gambar 2.11 Logo resmi PHP (Andre Pratama, 2015:14) Kebutuhan PHP sebagai tool yang serba guna membuat Lerdorf melanjutkan untuk mengembangkan PHP hingga menjadi suatu bahasa tersendiri yang mungkin dapat mengkonversikan data yang di inputkan melalui Form HTML menjadi suatu variabel, yang dapat dimanfaatkan oleh sistem lainnya. Untuk merealisasikannya, akhirnya Lerdrof mencoba mengembangkan PHP menggunakan bahasa C ketimbang menggunakan Perl. Tahun 1997, PHP versi 2.0 di rilis, dengan nama Personal Home Page Form Interpreter (PHP-FI). PHP semakin popular, dan semakin diminati oleh programmer web dunia.
http://digilib.mercubuana.ac.id/
31
Rasmus Lerdrof benar-benar menjadikan PHP sangat populer, dan banyak sekali tim pengembang yang ikut bergabung dengan Lerdrof untuk mengembangkan PHP hingga menjadi seperti sekarang, Hingga akhirnya dirilis versi ke 3-nya, pada Juni 1998, dan tercatat lebih dari 50.000 programmer menggunakan PHP dalam membuat website dinamis. Pengembangan terus berlanjut, ratusan fungsi ditambahkan sebagai fitur dari bahasa PHP, dan di awal tahun 1999, Netcraft mencatat, ditemukan 1.000.000 situs di dunia telah menggunakan PHP. Ini membuktikan bahwa PHP merupakan bahasa yang paling populer digunakan oleh dunia web development. Hal ini mengagetkan para pengembannya termasuk Rasmus sendiri, dan tentunya sangat diluar dugaan sang pembuatnya. Kemudian Zeev Suraski dan Andi Gutsman selaku core developer (programmer inti) mencoba untuk menulis ulang PHP Parser, dan diintegrasikan dengan menggunakan Zend scripting engine, dan mengubah jalan alur operasi PHP. Dan semua fitur baru tersebut di rilis dalam PHP 4. Pada 13 Juli 2004, evolusi PHP, PHP telah mengalami banyak sekali perbaikan disegala sisi, dan wajar jika Netcraft mengumumkan PHP sebagai bahasa web populer didunia, karena tercatat 19 juta domain telah menggunakan PHP sebagai server side scriptingnya. PHP saat ini telah Mendukung XML dan Web Services, Mendukung SQ. Tercatat lebih dari 19 juta domain telah menggunakan PHP sebagai server scripting-nya (Dwiarta Loka, 2010:10).
Gambar 2.12 Halaman PHP oleh web server (Andre Pratama, 2015:8).
2.12.1. PHPSECLIB PHPSeclib (PHP Secure Communications Library) adalah sebuah library pada bahasa pemrograman PHP buatan TerraFrost (Jim Wigginton). PHPSeclib biasa digunakan untuk mendukung komunikasi web yang aman, serta mendukung standarisasi teknologi kriptograpi seperti RSA, DES, 3DES, RC4, Rijndael, AES, SSH-1, SSH-2, dan SFTP.
http://digilib.mercubuana.ac.id/
32
Informasi lengkap mengenai dokumentasi penggunaan library ini bisa dibaca pada http://phpseclib.sourceforge.net (D. Baroxum, 2013).
Gambar 2.13 Implementasi phpseclib untuk enkripsi data (D. Baroxum, 2013:4).
2.13 MySQL MySQL adalah sebuah perangkat lunak sistem manajemen basis data SQL (bahasa Inggris: database management system) atau DBMS yang multithread, multi-user, dengan sekitar 6 juta instalasi di seluruh dunia. MySQL AB membuat MySQL tersedia sebagai perangkat lunak gratis di bawah lisensi GNU General Public License (GPL), tetapi mereka
juga
menjual
dibawah
lisensi
komersial
untuk
kasus-kasus
dimana
penggunaannya tidak cocok dengan penggunaan GPL. Tidak seperti PHP atau Apache yang merupakan software yang dikembangkan oleh komunitas umum, dan hak cipta untuk kode sumber dimiliki oleh penulisnya masingmasing, MySQL dimiliki dan disponsori oleh sebuah perusahaan komersial Swedia yaitu MySQL AB. MySQL AB memegang penuh hak cipta hampir atas semua kode sumbernya. Kedua orang Swedia dan satu orang Finlandia yang mendirikan MySQL AB adalah: David Axmark, Allan Larsson, dan Michael "Monty" Widenius (Achmad Solichin, 2010:10).
2.14 XAMPP XAMPP adalah salah satu aplikasi yang dikenal sebagai AMP Stack. AMP merupakan singkatan dari Apache Web Server, MySQL Database Server, dan PHP. Dalam pengembangan web, ketiga aplikasi ini sangat populer digunakan. Nama aplikasi XAMPP terdiri dari paket yang ada di dalamnya. X (berarti cross-platform, maksudnya tersedia dalam berbagai sistem operasi), Apache Web Server, MySQL Database Server, PHP dan
http://digilib.mercubuana.ac.id/
33
Perl. Selain aplikasi ini, XAMPP juga menyertakan aplikasi pelengkap seperti phpMyAdmin, File Zilla FTP Server, Mercury Mail Server. Jika AMP Stack dijalankan di sistem operasi Windows, namanya menjadi WAMP (Windows-Apache-MySQL-PHP). Jika dijalankan di OS Linux, menjadi LAMP (LinuxApache-MySQLPHP). Untuk Mac OS dikenal sebagai MAMP (Mac-Apache-MySQLPHP) (Andre Pratama, 2015:18).
Gambar 2.14 Menjalankan Apache dan MySQL Server (Andre Pratama, 2015:25).
2.15 Navicat Navicat adalah sebuah alat dengan graphical user interfaces (GUI) yang dapat digunakan untuk mengelola setiap aspek pada MySQL Server. Navicat tidak hanya handal, canggih dan mudah digunakan dalam mengelola database dengan GUI, tetapi juga asisten yang sangat berguna bagi pengembang yang bekerja pada aplikasi database-driven. Navicat tersedia untuk Windows, Mac, dan Linux. Navicat Premium merupakan produk unggulan pada keluarga Navicat. Alat lengkap untuk administrasi dan migrasi basis data yang menggabungkan semua versi Navicat sehingga memungkinkan pengguna untuk terhubung ke MySQL, SQL Server, SQLite, Oracle, dan PostgreSQL database secara bersamaan dalam satu aplikasi, membuat administrasi beberapa merek database secara substansial lebih mudah. (Gökhan Ozar, 2012:7).
http://digilib.mercubuana.ac.id/
34
Gambar 2.15 Tampilan Navicat Premium (Gökhan Ozar, 2012:114).
2.16 Sublime Text Sublime text adalah teks editor berbasis Python, sebuah teks editor yang elegan, kaya fitur, cross platform, mudah dan simpel yang cukup terkenal di kalangan pengembang, penulis dan desainer. Para programmer biasanya menggunakan sublime text untuk menyunting source code yang sedang ia kerjakan. Sampai saat ini sublime text sudah mencapai versi 3 (Miftah Faridl, 2015:4).
Gambar 2.16 Tampilan Sublime Text 3 (Miftah Faridl, 2015:6)
http://digilib.mercubuana.ac.id/
35
2.17 Bootstrap Dalam dunia pemrograman Bootstrap digunakan sebagai kerangka atau alat bantu dalam membuat sebuah situs yang responsif. Bootstrap terdiri dari kombinasi HTML, CSS, dan JavaScript yang menghasilkan grid, layout, typography, table, form, navigation, dan lainnya. JavaScript dengan beragam jquery yang disediakan membuat bootstrap memiliki kemampuan untuk menghasilkan tampilan user interfaces yang menarik seperti transitions, modal, dropdown, scrollspy, tooltip, alert, notification, button, dan masih banyak lagi. Bootstrap adalah sebuah produk opensource dari Mark Otto dan Jacob Thornton, dimana ketika membuatnya, mereka adalah karyawan Twitter. Karena hal tersebut, meskipun nama resminya bootstrap, para pengembang lebih mengenal sebagai Twitter Bootstrap. (Jake Spurlock, 2013:1).
Gambar 2.17 Tampilan tabel pada bootstrap (Jake Spurlock, 2013:21)
http://digilib.mercubuana.ac.id/