BAB II LANDASAN TEORI Untuk Mendukung pembuatan laporan tugas akhir ini, maka perlu dikemukakan hal – hal atau teori yang berkaitan dengan permasalahan dan ruang lingkup sebagai landasan dalam pembuatan laporan ini. 2.1 Linux 2.1.1 Pengertian Linux Dari telepon pintar hingga super komputer dan alat rumah tangga, Sistem Operasi Linux ada dimana saja. Linux sudah mulai ada pada pertengahan 90an dan sudah mencakup basis pengguna di seluruh industri di dunia. Linux sama seperti Windows XP, Windos 7, Windows 8 dan Mac OSX, Linux adalah sebuah sistem operasi. Sebuah sistem operasi yang mengatur semua sumber daya hardware yang berkaitan dengan komputer desktop atau laptop. Pengertian mudahnya, sistem operasi mengelola komunikasi antara software dan hardware. Tanpa sistem operasi, software tidak akan dapat bekerja. Sistem operasi terbagi dari beberapa bagian : 1. Kernel Ini adalah bagian inti dan biasa disebut “Linux”. Kernel adalah inti dari sistem dan mengelola CPU, memori dan perangkat lainnya. Kernel adalah “lowest level” pada sistem operasi. 2. Daemons Adalah layanan yang berjalan di belakang dekstop (background services), contoh: printing, sound, scheduling, etc. dapat berjalan mulai berjalan pada saat booting atau setelah login masuk ke dalam desktop. 3. Shell Adalah command line pada Linux. Shell adalah sebuah command yang dapat memperbolehkan kita mengontrol menggunakan command yang diketik lewat text interface. 5 http://digilib.mercubuana.ac.id/ komputer 6 4. Graphical Server Ini adalah sub-system yang menampilkan gambar kedalam monitor. Pada umumnya biasa disebut server X atau hanya “X” saja. 5. Desktop Environment Ini adalah bagian yang disebut sebagai user interface. Ada macam – macam desktop environment yang bisa dipilih antara lain Unity, GNOME, Cinnamon, Enlightenment, KDE, XFCE, dll. Setiap desktop environment sudah termasuk aplikasi built-in (seperti file manager, configuration tools, web browsers, games, dll). 6. Applications Desktop environment tidak menyediakan banyak aplikasi. Sama seperti Windows dan Mac, Linux menawarkan hingga ratusan ribuan software berkualitas tinggi yang dapat didapat dan dipasang. Banyaknya distribusi Linux yang moderen (pada saat ini) termasuk toko aplikasi online yang terpusat dan untuk memudahkan dalam pemasangan aplikasi. Contoh : Linux Ubuntu memiliki Ubuntu Software Center. Gambar 2.1 Ubuntu Software Center Salah satu keunggulan dari sistem operasi lainnya adalah salah satu sistem komputer yang terpercaya dan selalu berkembang dan tidak perlu mengeluarkan biaya sama sekali. Kita dapat memasang Linux di banyak komputer tanpa harus mengeluarkan biaya sepeserpun untuk software atau http://digilib.mercubuana.ac.id/ 7 lisensi server (termasuk biaya untuk Microsoft Client Access License – CALs). Sistem operasi Linux sendiri bebas dari malware, virus, atau sesuatu yang dapat membuat komputer berjalan lambat, performa yang stabil dan jarang sekali untuk reboot server. Hanya pada saat pemutakhiran Kernel saja, selain itu jarang sekali server Linux di-reboot. Linux didistribusikan dibawah lisensi open-source yang mana mendukung : Kebebasan menjalankan program, untuk tujuan apa saja. Kebebasan untuk belajar bagaimana program bekerja dan merubahnya sesuai keinginan. Kebebasan mendistribusikan kembali salinan untuk membantu sekitar kita. Kebebasan untuk mendistribusikan salian yang telah dimodifikasi untuk orang lain. 2.1.2 Distribusi Linux Linux memiliki bermacam – macam versi yang dapat memenuhi hampir semua jenis penggunanya. Dari user baru atau yang sudah berpengalaman, ada banyak jenis Linux yang dapat digunakan. Versi ini dapat disebut dengan distribusi atau biasa disebut dengan “distro”. Hampir semua distro Linux dapat diunduh secara gratis dan diperbanyak dan dipasang di banyak mesin komputer. http://digilib.mercubuana.ac.id/ 8 Gambar 2.2 Desktop pada Unity Ubuntu Jenis distro Linux yang paling populer antara lain : 1. Ubuntu Linux 2. Linux Mint 3. Arch Linux 4. Deepin 5. Fedora 6. Debian 7. openSUSE Setiap distribusi memiliki perbedaan pada desktopnya. Beberapa opsi sangat moderen pada user interface, contoh: Unity Ubuntu (gambar diatas), sedangkan yang lain memilih tampilan desktop yang tradisional (openSUSE menggunakan KDE). Untuk server yang menggunakan Linux, distro yang sering digunakan antara lain : 1. Red Hat Enterprise Linux (RHEL) 2. Ubuntu Server 3. CentOS 4. SUSE Enterprise Linux Beberapa server yang telah disebutkan diatas seperti Ubuntu Server dan CentOS dapat dibagikan secara gratis, dan yang lainnya seperti Red Hat Enterprise Linux dan SUSE Enterprise Linux bisa didapat dengan harga terkait serta layanan bantuan dari service support. 2.2 File Transfer Protocol (FTP) 2.2.1 Pengertian FTP FTP adalah protokol jaringan yang baku dan digunakan untuk mengirim file komputer diantara klien dan server pada jaringan komputer. FTP dibuat pada arsitektur klien-server model dengan menggunakan kontrol yang terpisah dan koneksi data antara klien dan server. Pengguna FTP dapat mengauntentikasi dirinya sendiri dengan masuk menggunakan protokol clear-text, normalnya akan muncul sebuah form yang membutuhkan username dan password, tetapi bisa langsung terkoneksi anonymous-user http://digilib.mercubuana.ac.id/ 9 (tanpa nama) jika server terkonfigurasi untuk memperbolehkan anonymoususer masuk. Untuk keamanan transmisi yang mana melindungi username dan password dan meng-enkripsi konten, FTP biasa diamankan menggunakan SSL/TLS(FTPS). SSH File Transfer Protocol(SFTP) terkadang juga digunakan sebagai pengganti namun teknologinya berbeda. Aplikasi klien FTP pertama adalah program command-line kemudian dikembangkan sebelum adanya user interface pada sistem operasi dan sering digunakan pada sistem operasi Windows, Unix, dan Linux. Spesifikasi orisinil dari File Transfer Protocol ditulis oleh Abhay Bhushan dan dipublikasikan sebagai RFC 114 pada 16 April 1971. Hingga pada tahun 1980, FTP berjalan pada NCP (Network Control Program) pendahulu dari TCP/IP yang digunakan saat ini. Kemudian NCP diganti dengan versi TCP/IP RFC 765 (Juni 1980) dan RFC 959 (Oktober 1985) sebagai spesifikasi yang digunakan sekarang. 2.2.2 Keamanan pada File Transfer Protocol FTP tidak didesain untuk menjadi protokol keamanan, dan mempunyai beberapa kelemahan keamanan. Berikut daftar kerentanan merujuk pada RFC 2577 (Mei 1999) : Brute Force Attack FTP Bounce Attack Packet capture Port Stealing Spoofing attack Username protection FTP tidak mengenkripsi jalurnya, semua transmisi ada didalam teks, dan username, password, perintah dan data dapat dibaca oleh siapapun, serta mengambil data tersebut pada jaringan komputer. Masalah umum ini biasa ada pada spesifikasi Internet Protocol seperti SMTP, Telnet, POP, dan IMAP yang kemudian dibuatnya mekanisme enkripsi seperti TLS atau SSL. Solusi umum untuk masalah ini termasuk : http://digilib.mercubuana.ac.id/ 10 Penggunaan versi keamanan dari protokol yang tidak memiliki keamanan seperti penggunaan FTPS daripada FTP dan TelnetS daripada Telnet. Menggunakan protokol yang berbeda dan lebih aman untuk memegang transmisi seperti SSH File Transfer protocol atau Secure Copy Protocol Menggunakan jalur yang lebih aman seperti Secure Shell (SSH) atau Virtual Private Network (VPN). 2.3 Pengertian RSYNC Rsync adalah aplikasi perangkat lunak dan protokol jaringan mirip Unix dan Windows sistem yang mensinkronisasikan file dan direktori dari satu lokasi ke lokasi lain dan meminimalkan data transfer menggunakan pengkodean delta yang tepat. Fitur penting dari rsync tidak ditemnukan di sebagian besar program serupa/protokol adalah bahwa mirroring terjadi dengan hanya satu transmisi di setiap arah, rsync dapat menyalin atau menampilkan isi direktori dan file menyalin(Askari Azikin, 2011:07). Rsync merupakan tool untuk transfer dan sinkronisasi file atau tree(struktur direktori dan file) secara satu arah, baik transfer lokal( di sistem yang sama) maupun remote (jaringan/internet). Karena proses mengolah data pada suatu perusahaan atau organisasi tergantung kepada infrastruktur TI, maka proteksi data dan recovery menjadi penting, khususnya jika terjadi kerusakan atau bencana alam. 2.3.1 Pengertian Backup dan Restore Data Backup data adalah memindahkan atau menyalin kumpulan informasi (data) yang tersimpan di dalam hardisk komputer yang biasanya dilakukan dari satu lokasi/perangkat ke lokasi/perangkat lain. Data atau kumpulan informasi tersebut bisa berupa file dokumen, gambar, video, audio, system windows, driver, atau software/program tertentu. Restore data adalah proses penting setelah backup. Backup akan menjadi sia-sia bila proses pengembalian dan perbaikan data sistem sulit dilakukan. Untuk mencapai tujuan ini ada beberapa pendekatan yang harus diperhatikan, yaitu proses backup harus dilakukan dengan aturan yang jelas, hindari membackup dengan sembarangan dengan tidak terstruktur. Selain itu, banyak software http://digilib.mercubuana.ac.id/ 11 yang ada di pasaran (baik gratis maupun berbayar) yang memberikan kemudahan backup data. Dengan software yang sama biasanya proses restore dan recovery data akan lebih mudah dilakukan. Beberapa software backup memiliki fasilitas penjadwalan otomatis proses backup. Fitur ini sangat bermanfaat untuk digunakan karena menjamin proses backup selalu dilakukan dengan teratur. Pada teknologi informasi, backup mengacu pada menyalin data, dimana data tersebut merupakan data salinan yang dapat di restore kembali apabila ada data yang hilang. Data salinan tersebut biasa disebut dengan backup. Backup berguna untuk dua tujuan utama. Pertama, untuk mengembalikan (restore) data yang mengalami kerusakan akibat bencana alam (misalkan, banjir, gempa bumi). Kedua, untuk mengembalikan file setelah mengalami kesalahan menghapus atau korupsi data. Para pemakai memahami bahwa korupsi akan terjadi, hard drives akan gagal, motherboards rusak, dan kekeliruan dalam menghapus data. maka diperlukan backup data file yang merupakan salinan dari file-file yang masih aktif dalam database sebagai pelindung /cadangan bila file database rusak/hilang disebut backup file. (Askari Azikin,2011:08). 2.4 Identifikasi dan Perumusan Masalah Dalam sebuah penilitan berangkat dari suatu permasalahan, setelah masalah diidentifikasi dan dibatasi kemudian permasalahan tersebut dirumuskan. Perumusan masalah dalam penilitian ini dapat dilihat pada bagian pendahuluan dan perumusan masalah. 1) Studi Kepustakaan Dengan mempelajari literatur (buku, artikel, situs) yang berkaitan dengan Linux, penjadwalan serta backup data dalam FTP serta implementasinya kedalam bentuk server FTP. 2) Tahap Analisis Kebutuhan Sistem Pada tahap ini, dilakukan analisis terhadap penggunaan Linux sebagai server FTP dengan mencari kebutuhan fungsional sistem. 3) Tahap Desain Sistem Pada tahap desain ini, diterjemahkan kebutuhan-kebutuhan yang akan dicapai pada tahap analisis ke sebuah bentuk desain/perancangan sebelum http://digilib.mercubuana.ac.id/ 12 melakukan implementasi yang nyata terhadap sistem di jaringan. Hal-hal itu meliputi: a. Perancangan kebutuhan fungsional dan non fungsional terkait dengan server. b. Perancangan server menggunakan FTP server dan penggunaan algoritma penjadwalan crontab dan Rsync pada FTP. 4) Tahap Implementasi Tahap ini adalah tahap untuk mulai membuat dan melakukan aktifitas dalam penelitian yang sesuai dengan perancangan pada tahap sebelumnya. Pada tahapan ini dilakukan: 1. Pembangunan server FTP pada Linux server. 2. Penggunaan hak akses, previlege, jenis file yang di filter, penjadwalan backup data. 5) Tahap Pengujian Pada tahapan ini dilakukan pengujian terhadap implementasi server FTP pada Linux yang telah berhasil dibuat. http://digilib.mercubuana.ac.id/