BAB II LANDASAN TEORI
2.1 Server Server adalah sebuah sistem komputer yang menyediakan jenis layanan tertentu dalam sebuah jaringan komputer. Server didukung dengan prosesor yang bersifat scalable dan RAM yang besar, juga dilengkapi dengan sistem operasi khusus, yang disebut sebagai sistem operasi jaringan atau network operating system.fungsi server dalam mengatur adalah bagai mana server mengatur dalam memberi hak akses terhadap client yang terhubung dengan server tersebut. Penulis menggunakan dua server yang mempuyai kapasitas yang berbeda, server satu (server utama) yang berisi cpanel untuk wadah database yang mempunyai kapasitas memory lebih besar dan prosesor lebih besar sedangkan server kedua (server cloud) mempunyai besar prosesor lebih rendah dari server pertama. Penulis juga menggunakan satu client cloud yang terinstal di dalam server satu (server utama).[1] 2.2 Linux Linux adalah salah satu sistem operasi varian Unix yang merupakan salah satu saingan terberat Microsoft Windows. Linux merupakan sistem operasi yang open source dibawah lisensi GNU (Gnu is Not Unix), General Public License (GPL) sehingga gratis dankita bisa memperoleh source codenya. Linux pertama kali dibuat oleh Linus Torvalds di Universitas Helsinki, Finlandia. Kemudian Linux dikembangkan lagi dengan bantuan dari banyak programmer dan hacker UNIX diseluruh dunia. Kernel yang digunakan adalah sama-sama Linux kernel, sedangkanperbedaannya hanyalah paket-paket aplikasi yang disertakan, sistem penyusunan direktori, init style.[2] 2.2.1 Linux Centos CentOS (Community ENTerprise Operating System) merupakan Distro Linux yang cocok dipergunakan dalam skala Enterprise selain itu juga gratis. CentOS di buat dari source code Red Hat Enterprise (RHEL) yang dikembangkan oleh sebuah komunitas yang disebut CentOS Project. CentOS memiliki dukungan yang lebih baik, dukungan mengenai software
6
7
dan hardware adalah salah satu alasan yang terpenting dari sebuah Distro skala Enterprise, selain itu anda tidak perlu khawatir, dengan dukungan software paket untuk update sebab jika anda mengunakan sebuah Operating System commercial maka anda harus membayar terlebih dahulu agar mendapatkan update yang terbaru, lain halnya dengan CentOS, dimana vendor CentOS Project memberikan support dalam produknya secara berkala.[7] 2.3 Cpanel Cpanel adalah kontrol panel terproteksi. Untuk masuk perlu username dan password. Informasi alamat akses Cpanel dan login ada dalam email aktivasi hosting. Cpanel sendiri ditampilkan dalam format web base, artinya bisa diakses melalui browser internet, semisal Internet Explorer, Firefox, Safari, dll. Fungsi Cpanel adalah sebagai jembatan perintah-perintah teknis ke program-program pendukung website yang berada di web server. Cpanel atau dikenal juga dengan kontrol panel adalah sebuah halaman aplikasi website terproteksi yang hubungkan Anda dengan program-program pendukung website dalam web server/web hosting.[6] Beberapa hal yang dapat dilakukan dengan Cpanel : 1. Menambah/menghapus/merubah email account 2. Upload dari browser 3. Instalasi software/script 4. Password protection untuk folder 5. Edit file-file website anda langsung dari browser 6. Melihat statistic website
2.4 MySQL 2.4.1 Pengertian DataBase Database didefinisikan sebagi kumpulan data yang terintegrasi dan diatur sedemikian rupa sehingga data tersebut dapat di manipulasi, diambil dan dicari secara cepat. Database Management System (DBMS) adalah kumpulan program yang digunakan untuk mendefinisikan, mengatur dan memproses database, edangkan database itu sendiri esensinya adalah sebuah struktur yang dibangun untuk keperluan penyimpanan data. DBMS
merupakan alat atau tool yang
8
berperan untuk membagun struktur tersebut.[3] MySQL merupakan sofware RDBMS (atau server database) yang dapat mengelola database dengan sangat cepat, dapat menampung data dalam jumlah besar, dapat diakses oleh banyak user (multi-user) dan dapat melakukan suatu proses secara sinkron atau berbarengan (multi-threaded).[3]
2.4.2 Keamanan database Keamanan database adalah suatu cara untuk melindungi database dari ancaman, baik dalam bentuk kesengajaan atau pun bukan.Ancaman adalah segala situasi atau kejadian baik secara sengaja maupun tidak yang bersifat merugikan dan
mempengaruhi
terhadap perusahaan/organisasi
system
serta
yang
memiliki
secara system
konsekuensi
database.Keamanan
database tidak hanya berkenaan dengan data yang ada pada databasesaja, tetapi juga meliputi bagian lain dari system database, yang tentunya dapatmempengaruhi database tersebut. Hal ini berarti keamanan database mencakup perangkatkeras, perangkat lunak, orang dan data.Agar memiliki suatu keamanan yang efektif dibutuhkan kontrol yang tepat.Seseorang yang mempunyai hak untuk mengontrol dan mengatur database biasanyadisebut Administrator database. Seorang administratorlah yang memegang peranan penting pada suatu system database, oleh karena itu administrator harus mempunyaikemampuan dan pengetahuan yang cukup agar dapat mengatur suatu system database[3]
2.4.3 Metode Backup Mysqldump MySQLDump adalah utilitas berupa program cadangan yang pertama kali ditulis oleh Igor Romanenko, digunakan untuk pembuangan (dump) data sebuah database atau kumpulan database, untuk cadangan (backup) atau perpindahan (transfer) data ke server lain. Hasil dumping dapat berisi pernyataan SQL untuk membuat tabel, insert, dan yang lain dalam bentuk file CSV, teks editor, atau format XML.[3]
9
2.5 Flowchart (Diagram Alir) Sistem flowchart merupakan bagan yang menunjukan arus pekerjaan secara keseluruhan dari sistem. Bagan ini menjelaskan urutan-urutan dari prosedurprosedur yang ada di dalam sistem ddengan menggunakan simbol-simbol. Simbol-simbol yang terdapat dalam sistem flowchart adalah. Table 2.5 Simbol-Simbol System Flowchart Simbol
Kegunaan Simbol
titik
terminal
digunakan
untuk awal dan akhir suatu proses
Terminal Poin Simbol Simbol input/output digunakan untuk mewakili data input/output
Input/Output Simbol Simbol
proses
menunjukan
digunakan pengeluarn
untuk yang
dilakukan oleh komputer
Process Simbol Simbol proses definisi di gunakan untuk menunjukan suatu operasi yang rinciannya ditunjukan di tempat lain Predefined Prosess Simbol Simbol penghubung digunakan untuk menunjukan sambungan dari bagian alir yang terputus di halaman yang Connector Simbol
masih sam
10
Simbol
pemutusan
hubungan
digunakan untuk masuk dan keluar suatu prosedur pada lembar kertas yang lain Offline Connector Simbol Simbol magnetic digunakan untuk menunjukan database yang dipakai dalam program Magnetic dist simbol Simbol keputusan digunakan untuk suatu penyelesaian kondisi didalam program Decission simbol Simbol persiapan digunakan untuk persiapan penyimpangan yang akan digunakan Preparation simbol
sebagai
tempat
pengelolaan di dalam storage Simbol dokumen merupakan simbol untuk
menunjukan
data
yang
berbentuk kertas maupun informasi
Document simbol Arus/flow dri prosedur yang dapat dilakukan dari atas kebawah, dari bawah keatas, dari kiri kekanan dan sebaliknya Line Connector
11
2.6 Cloud Computing Cloud computing adalah salah satu yang memanfaatkan teknologi virtualisasi untuk mewakili kehadiran perangkat seperti server [6]. Pengguna hanya diminta untuk membuat account dengan penyedia layanan untuk menggunakan dan memanfaatkan layanan [5]. Sumber virtual sebagai bagian dari cloud computing seperti mesin virtual (VM) akan mengeksekusi router virtual baik atau virtualisasi Layanan elemen. Sumber daya virtual ini akan digabungkan bersama-sama untuk menciptakan beberapa layanan komputasi awan yang spesifik. Dalam hal layanan aplikasi, aplikasi yang berjalan di cloud computing tidak jauh berbeda dari layanan tradisional pada web server. Perbedaan antara keduanya adalah bahwa cloud computing Layanan berjalan pada mesin virtual, tidak dalam mesin fisik seperti biasa. Hal ini dapat menyebabkan ke menciptakan banyak layanan aplikasi identik yang bisa dikelola lebih efisien.[8] Jenis jasa cloud computing dibagi menjadi 3, yaitu: 1. SaaS (Software as a Service) Layanan
aplikasi
tertentu
yang dapat
dimanfaatkan user dengan
berlangganan seperti software sales di salesforce.com, Yahoo Premium di Yahoo, LotusLive! dan Microsoft Office 365. 2. PaaS (Platform as a Service) Layanan penyedia modul siap pakai yang digunakan untuk mengembangkan aplikasi, berjalan di atas platform tersebut seperti pengembangan game di Facebook, Google Android, dan Apple i-Tunes. 3. IaaS (Infrastructure a Service) Layanan yang menyewakan perangkat untuk menjalankan aplikasi meliputi media
penyimpanan,
processing
power,
memory,
sistem
operasi,
dan
kapasitas.[8][9]
Penulis menggunakan jenis IaaS (Infrastructure a Service) , sistem cloud yang digunakan untuk wadah backup sebagai penyimpanan data backup. Dari jenis diatas yang cocok untuk di pakai jenis IaaS karna IaaS salah satu kegunaan untuk media penyimpanan.
12
2.6.1 Owncloud Merupakan suatu perusahaan dengan proyeknya yaitu owncloud project. Owncloud yang merupakan salah satu perangkat lunak berbagi berkas geratis dan bebas seperti Dropbox, menyediakan pengamanan yang baik, memiliki tata cara yang baik bagi pengguna aplikasi untuk membagi dan mengakses data yang secara lancer terintegrasi dengan perangkat teknologi informasi yang tujuannya mengamankan, melacak, dan melaporkan pengguna data.[4] 2.6.2 Cloud Storage Adalah layanan berbasis internet yang bias kita akses dari mana saja. Contoh layanan storage online adalah Dropbox, GoogleDrive dan lai lain . Owncloud di akses dengan menggunakan berbagi platform (OSX, iOS, windows, linux, Android). Dengan Owncloud kita dapat menyimpan file, folder, kotak, audio, galeri, foto dan dokumen lainya. Kita dapat mengakses file dan melakukan sinkronisasi file yang terdapat pada server owncloud dengan perangkat mobile, desktop, atau perangkat web.[10] 2.7 Bahasa Pemrograman Bash Bash merupakan kepanjangan dari ” Bourne Again Shell ” yang merupakan kelanjutan dari sh (shell dari original UNIX). Dikembangkan untuk proyek GNU dan secara de facto merupakan shell standar Linux. Bourne Again Shell (bash) mengimplementasikan beberapa fitur dari shell sebelumnya yaitu sh, csh, ksh, tcsh. Shell adalah Command executive, artinya program yang menunggu instruksi dari pemakai, memeriksa sintak dari instruksi yang diberikan, kemudian mengeksekusi perintah tersebut. Shell ditandai dengan prompt. Untuk pemakai menggunakan prompt $ dan untuk superuser menggunakan promp #. Sintaks perintah Bash adalah superset dari sintaks perintah Bourne shell. Mayoritas Bourne shell script dapat dijalankan oleh Bash tanpa modifikasi, dengan pengecualian Bourne shell script tersandung ke pinggiran sintaks perilaku ditafsirkan berbeda di Bash atau mencoba untuk menjalankan perintah sistem pencocokan baru Bash builtin, dll. Bash perintah sintaks termasuk ide-ide yang diambil dari shell Korn (ksh) dan C shell (csh) seperti pengeditan baris perintah,
13
riwayat perintah, susunan direktori, $RANDOM dan $PPID variabel, dan POSIX command substitusi sintaks $(...). Bila digunakan sebagai shell interaktif perintah dan menekan tombol tab, Bash secara otomatis menggunakan baris perintah penyelesaian untuk menyesuaikan sebagian mengetik nama program, nama file dan nama-nama variabel. Sistem penyelesaian baris perintah Bash sangat fleksibel dan dapat disesuaikan, dan sering dikemas dengan fungsi yang lengkap argumen dan nama file untuk program-program khusus dan tugas.[5] Beberapa macam shell : /bin/sh Bourne shell, dirancang oleh Steve Bourne dari AT&T /bin/csh Dikembangkan oleh UNIX Berkeley yang dikenal dengan C-Shell /bin/bash Kompatibel dengan Bourne Shell dan juga mengadaptasi kemampuan Korn-Shell. Perbedaan mendasar antara Shell diatasi hampir tidak ada, kecuali pada fasilitas pemrograman dan editing. [5]
2.8 Backup Backup adalah menyalin atau memindahkan kumpulan informasi (data) yang tersimpan di dalam hardisk komputer yang biasanya dilakukan dari satu lokasi perangkat ke lokasi perangkat lain. Data tersebut bisa berupa file dokumen, gambar, video, audio, system windows, driver, atau software/program tertentu. Dengan backup data kita mempunyai cadangan dari data yang hilang, rusak atau terhapus. Masalah tersebut biasanya terjadi dari kesalahan kita sendiri atau faktor lain seperti: terkena virus, file rusak (tidak bisa dibuka), perangkat komputer error atau bermasalah, padamnya aliran listrik, dan lain sebagainya. Fungsi backup data lebih mengacu pada faktor keamanan dan kenyamanan dalam menggunakan komputer.[11] Backup data bisa dilakukan dengan berbagai perangkat, baik itu melalui hard disk internal itu sendiri, hardisk eksternal, CD R/RW, DVD R/RW, flash disk, memory, maupun software backup baik yang bisa didapatkan secara gratis dengan mendownloadnya di internet maupun yang berbayar.[12]