BAB II TINJAUAN PUSTAKA 2.1 Penelitian Terdahulu 1. Shofi Nur Fathiya : 2011 (Pembuatan Java API untuk Dynamic Graph Software watermarking dengan enumerasi parent pointer graph) Dalam penelitian ini mengemukakan bahwa suatu software harus mempunyai data kepemilikan di dalamnya agar seseorang tidak dapat merubah isi serta menyebarkannya. Solusi yang terbaik adalah dengan menggunakan metode watermarking yang diimplementasikan dalam bentuk API. API ini mengaplikasikan metode Dynamic Graph Watermarking (DGW). Dan menggunakan teknik enumerasi graf Parent Pointer Graph karena teknik ini lebih sederhana dari teknik enumerasi lainnya. 2. Aghus Sofwan : 2010 (Perancangan Permainan Cannon 3D pada Sistem Operasi Linux menggunakan API OPENGL dan LAZARRUS 0.9.22) Dalam penelitian ini mengemukakan bahwa untuk membuat sebuah permainan berbasis 3D di Linux dibutuhkan API (Application Programming Interface) yang dapat menjembatani antara aplikasi dan kartu grafis. Pembuatan Permainan Cannon 3D dengan sistem deteksi tubrukan pada sistem operasi Linux II-1 II - 2 ini menggunakan API grafis OpenGL dengan Lazarus. Sistem deteksi tubrukan yang dibangun berhasil mendeteksi tubrukan yang terjadi dengan baik. Pada saat mendeteksi tubrukan walaupun sistem berjalan lambat tetap dapat mendeteksi tubrukan dengan baik. 3. Eka Budi Mahardhika Putra : 2009 (Implementasi Manajemen Interface untuk Konfigurasi Server Di Linux secara Remote) Dalam penelitian ini mengemukakan bahwa untuk manajemen interface untuk konfigurasi server menggunakan metode API untuk berinteraksi, antara program di sisi klien dengan low level service yang disediakan oleh Operating System di sisi server. Data yang dikirim ke server akan dienkripsi oleh server API yang akan meneruskan request yang diminta oleh klien keproses yang sesuai di low level sistem server. System ini dengan menggunakan metode API yang dibangun sangat membantu dalam proses pengiriman data ke server. 2.2 Landasan Teori 2.2.1 Server Iwan Sofana (2008 : 42) Server adalah pemilik informasi yang menyediakan dirinya untuk memberikan service atau layanan. Server juga berarti sebuah komputer yang bertugas untuk menyimpan file yang harus selalu II - 3 terhubung dengan internet agar file dapat dilihat/digunakan oleh orang yang sedang terhubung ke internet. 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. Server juga menjalankan perangkat lunak administratif yang mengontrol akses terhadap jaringan dan sumber daya yang terdapat di dalamnya, seperti halnya berkas atau alat pencetak (printer), dan memberikan akses kepada workstation anggota jaringan. (Melwin Syafrizal, 2010 : 125) Melwin Syafrizal (2010 : 126) menyimpulkan “Server adalah sebuah sistem komputer yang menyediakan jenis layanan tertentu dalam sebuah jaringan komputer (Sumber daya) yang dapat diakses oleh client”. 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. Server juga menjalankan perangkat lunak administratif yang mengontrol akses terhadap jaringan dan sumber daya yang terdapat di dalamnya, seperti halnya II - 4 berkas atau alat pencetak (printer), dan memberikan akses kepada workstation anggota jaringan. Fungsi server sangat banyak, misalnya untuk situs internet, ilmu pengetahuan, atau sekedar penyimpanan data. Namun yang paling umum adalah untuk mengkoneksikan komputer client ke Internet. Umumnya, sistem operasi server terdapat aplikasiaplikasi yang menggunakan arsitektur klien/server. Contoh dari aplikasi ini adalah DHCP Server, Mail Server, HTTP Server, FTP Server, DNS Server dan lain sebagainya. Setiap sistem operasi server umumnya membundel layanan-layanan tersebut atau layanan tersebut juga dapat diperoleh dari pihak ketiga. Setiap layanan tersebut akan merespons terhadap request dari klien. Sebagai contoh, klien DHCP akan memberikan request kepada server yang menjalankan server DHCP; ketika sebuah klien membutuhkan alamat IP, klien akan memberikan perintah/request kepada server, dengan bahasa yang dipahami oleh server DHCP, yakni protokol DHCP itu sendiri. Komputer server berfungsi sebagai sentral dari komputer-komputer lainnya. Komputer server mengatur manajemen komputer klien, penyimpanan data utama, dan pengatur komputer-komputer yang terhubung ke jaringan. II - 5 Dengan komputer server, manajemen komputer klien menjadi sangat mudah. Kita dapat mengeset hak akses ke suatu sumber daya serta pengontrolan lainnya seperti kontrol akses internet, file, printer, dan lain-lain. Komputer server juga menangani request data dari klien/workstation. Komputer server harus mempunyai memori RAM yang besar, prosesor kecepatan tinggi, dan tidak boleh sering dimatikan mendadak. Beberapa komputer server yang terkenal ialah IBM e-series dan HP. 2.2.2 Remote Server Thomas Murcko menyatakan Komputer yang tidak terkait pada keyboard pengguna, tetapi dimana ia memiliki beberapa tingkat pengendalian, apakah itu di ruangan yang sama, bagian lain dari bangunan, atau bagian lain dari dunia. Juga disebut Komputer remote atau remote host. Remote server adalah mengendalikan atau mendapatkan hak akses ke komputer server dalam jaringan komputer. Remote server ini memungkinkan seorang pengguna dapat mengoperasikan server dari jarak jauh tanpa harus secara fisik berhadapan dengan komputer server. Seorang pengguna dapat melakukan pemeliharaan, maintenance, atau dapat menjalankan sebuah program. II - 6 a. Remote SSH (Secure Shell) Secure Shell (SSH) adalah suatu protokol yang memfasilitasi sistem komunikasi yang aman diantara dua sistem yang menggunakan arsitektur client/server serta kemungkinan seorang user untuk login ke server secara remote. (Winarto.I , 2010:107) Berbeda dengan telnet dan FTP yang menggunakan plain text, SSH meng-enkripsi data selama proses komunikasi sehingga menyulitkan intruder yang mencoba mendapatkan password yang tidak dienkripsi. Fungsi utama aplikasi ini adalah untuk mengakses mesin secara remote. Bentuk akses remote yang biasa diperoleh akses pada mode teks maupun mode grafis/X apabila konfigurasinya mengijinkan. SSH dirancang untuk menggantikan serviceservice di sistem Unix/Linux yang menggunakan sistem plain text (seperti Telnet, FTP, Flogin, RSH, RCP, dll). Untuk menggantikan RCP (remote copy) dapat digunakan SCP (secure copy). Implementasi penggunaan SSH, maka semua percakapan antara server dan client di-enkripsi. Apabila percakapan tersebut disadap, penyadap tidak mungkin memahami isinya. Bayangkan seandainya anda sedang melakukan maintenance server dari jauh, tentunya II - 7 dengan account yang punya hak khusus, tanpa setahu anda, account dan password tersebut disadap orang lain. Kemudian server dirusak setelahnya. Implementasi SSH yang banyak dipakai saat ini adalah OpenSSH, aplikasi ini telah dimasukkan kedalam berbagai macam distribusi Linux, Redhat Linux versi 9 sudah menyediakan program tersebut dalam format RedHat Package Manager (RPM). Protokol SSH menyediakan layanan sbb : Pada saat awal terjadinya koneksi, client melakukan pengecekan apakah host yang dihubungi sudah terdaftar pada client atau tidak. Client mengirimkan proses autentifikasi ke server menggunakan teknik enkripsi 128 bit sehingga sangat sulit untuk dibaca tanpa mengetahui kode enkripsinya. Client dapat mem-forward aplikCasi Xwindows/X11 ke server.(Idris Winarto) b. FTP Server (File Transfer Protokol) Winarto.I (2010:115) menyatakan “FTP merupakan sebuah protocol yang digunakan untuk melakukan pemindahan satu atau lebih file dari suatu local host menuju remote host atau host tujuan”. FTP memiliki II - 8 kemampuan yang tidak terbatas pada pemindahan file saja, namun juga sangat memungkinkan pengguna untuk dapat melakukan remote (pengendalian) secara jarak jauh. Kemampuan transfer data dari satu komputer ke komputer yang dengan file sistem yang berbeda merupakan kemampuan lain yang dimiliki oleh FTP. Sebagai contoh, sebuah localhost yang menggunakan sistem operasi windows 98 (sistem file FAT 32) menghubungkan diri dengan sebuah remote host yang menggunakan sistem operasi Mandrake (dengan file sistem ex2fs). Contoh lain, sebuah mesin localhost RedHat (dengan file sistem ex3fs) menghubungkan diri dengan sebuah server yang memiliki sistem operasi windows 2003 dengan file sistem NTFS. FTP menggunakan protokol Transmission Control Protocol (TCP) untuk komunikasi data antara klien dan server, sehingga di antara kedua komponen tersebut akan dibuat sebuah sesi komunikasi sebelum transfer data dimulai. Sebelum membuat koneksi, port TCP nomor 21 di sisi server akan "mendengarkan" percobaan koneksi dari II - 9 sebuah klien FTP dan kemudian akan digunakan sebagai port pengatur (control port) untuk : membuat sebuah koneksi antara klien dan server, untuk mengizinkan klien untuk mengirimkan sebuah perintah FTP kepada server dan juga mengembalikan respons server ke perintah tersebut. Sekali koneksi kontrol telah dibuat, maka server akan mulai membuka port TCP nomor 20 untuk membentuk sebuah koneksi baru dengan klien untuk mentransfer data aktual yang sedang dipertukarkan saat melakukan pengunduhan dan penggugahan. FTP hanya menggunakan metode autentikasi standar, yakni menggunakan username dan password yang dikirim dalam bentuk tidak terenkripsi. Pengguna terdaftar dapat menggunakan username dan passwordnya untuk mengakses, men-download, dan meng-upload berkas-berkas yang ia kehendaki. Umumnya, para pengguna terdaftar memiliki akses penuh terhadap beberapa direktori, sehingga mereka dapat membuat berkas, membuat direktori, dan bahkan menghapus berkas. Pengguna yang belum terdaftar dapat juga menggunakan metode anonymous login, yakni dengan II - 10 menggunakan nama pengguna anonymous dan password yang diisi dengan menggunakan alamat e-mail. c. Remote MySQL MySQL database server adalah RDBMS (Relasional Database Management System) yang dapat menangani data yang bervolume besar dan tidak menuntut resource yang besar. MySQL adalah database yang paling popular diantara database yang lain. Menurut Yudhi Hermawan (2003:46) “MySQL merupakan database yang dikembangkan dari bahasa SQL (Structured Query Language)”. “MySQL merupakan database yang sangat populer dikalangan pengembang situs yang sifatnya dinamis”.(Dian Rakyat, 2005:3). MySQL adalah program database yang mampu mengirim dan menerima data dengan sangat cepat dan multi user. MySQL memiliki dua bentuk lisensi, yaitu free software dan shareware. Penulis sendiri dalam mengerjakan skripsi ini menggunakan MySQL yang free software karena bebas menggunakan database ini untuk keperluan pribadi atau usaha tanpa harus membeli atau membayar lisensi, yang berada dibawah lisensi GNU/GPL (general public license), yang dapat didownload pada II - 11 alamat resminya http://www.mysql.com. (Wahana Komputer. 2010. Panduan Belajar MySQL database server. Hal 5). MySQL sangat popular utamanya untuk aplikasi web. MySQL merupakan komponen database “M” yang ada di LAMP, BAMP, MAMP, dan WAMP (Linux/BSD/Mac/Windows-Apache-MySQLPHP/Perl/Python). Selain itu, digunakan di tool bugtracking seperti Bugzilla. Heryanto,I dan Raharjo.B (2009 : 41) menyatakan Remote MySQL digunakan untuk mengontrol database server. Seorang administrator jaringan yang telah login ke server dapat melihat semua isi dari database mysql, menambah database, melakukan perintah membuat query pada tabel, database ataupun sesuai keinginannya. 2.2.3 Aplikasi Web API (Application Programming Interface) Antar muka web bisa mengirimkan informasi dalam bentuk teks terformat (HTML), grafik/animasi, dan suara. HTTP mengirimkan informasi dengan format HTML (Hyper Text Markup Language). HTML merupakan format sederhana dari standar SGML. Selain itu, HTTP juga dapat mengirimkan informasi dalam bentuk lain. II - 12 Aplikasi web terletak pada server, yang merupakan perpanjangan dari web server untuk mengirim dan memproses informasi. Informasi yang dikirim ke browser menjadi dinamis dengan adanya alikasi tersebut. Proses tersebut dapat dilakukan oleh CGI (Common Gateway Interface) yang dapat dikembangkan dengan berbagai bahasa pemrograman dalam berbagai platform selama menggunakan standar yang ditetapkan. Aplikasi berbasis web juga dapat dijalankan sebagai script oleh processor seperti ASP atau PHP. Script dan program tersebut akan memberikan informasi dalam format HTML ke Web server untuk diteruskan ke browser dan juga memproses informasi dari web server, misalnya menyimpan data ke basis data. Perlu disadari bahwa aplikasi berbasis web kebanyakan menggunakan database (database-driven aplication). Contoh aplikasi web yang sering digunakan adalah web mail yaitu aplikasi web untuk membaca dan mengirimkan e-mail lewat browser. Jubilee E, (2009:19) API (Application Programming Interface) yaitu kumpulan struktur data, golongan objek dan protocol yang disediakan oleh layanan system operasi yang digunakan untuk mendukung pembentukan aplikasi. API ini bisa mencakup dua hal yaitu : II - 13 Language-dependent yang hanya tersedia pada bahasa program tertentu yang biasanya menggunakan syntax dan elemen tertentu pula agar API dapat digunakan pada konteks khusus. Language-independent yang dapat ditulis melalui beberapa bahasa program khususnya antarmuka C-level atau assembly. Jenis API ini berfungsi sebagai RPC (Remote P_rocedure Call) yaitu teknologi komunikasi inter-proses yang memungkinkan program komputer membuat prosedur untuk melaksanakan perintah program di komputer lain yang terhubung melalui suatu jaringan. Keberadaan API memungkinkan suatu aplikasi terintegrasi dengan aplikasi atau layanan situs lain. Artinya aplikasi dapat menerima aplikasi dari eksternal aplikasi itu sendiri. Didik D (2006 : 47) Pada saat ingin mengembangkan aplikasi web database, bisa menggunakan solusi praktis dari PERL, yaitu paket Database. Paket tersebut adalah layer abstraksi database yang menyediakan API (Application Programming Interface) tunggal untuk melakukan query ke setiap database yang didukung oleh php. II - 14 Paket Database menggunakan istilah DSN (Data source Name) untuk menggambarkan pengalamatan database. Adapun format yang digunakan adalah format URl (Uniform Resource Identificator) contoh seperti berikut: DSN untuk Koneksi ke SQLite Sqlite ://c:/path/windows/file.db Sqlite ://c:/path/unix/full/file.db DSN untuk koneksi ke MySQL Mysql://user@localhost/nama_database DSN untuk koneksi Ke MS Access Odbc(access)://user@/nama_data_sourse 2.2.4 Perangkat Lunak yang Digunakan a. PHP PHP adalah salah satu bahasa Server-side yang didesain khusus untuk aplikasi web. PHP dapat disisipkan diantara bahasa HTML dan karena bahasa Server side, maka bahasa PHP akan dieksekusi di server, sehingga yang dikirimkan ke browser adalah “hasil jadi” dalam bentuk HTML, dan kode PHP anda tidak akan terlihat. Secara khusus, PHP dirancang untuk membentuk web dinamis. Artinya, ia dapat membentuk suatu tampilan berdasarkan permintaan terkini. Misalnya anda bisa menampilkan isi database ke halaman web. Pada II - 15 prinsipnya, PHP mempunyai fungsi yang sama dengan skrip-skrip seperti ASP, Cold Fusion ataupun Perl. PHP adalah bahasa open source yang dapat digunakan di berbagai mesin (linux, unix, windows) dan dapat dijalankan secara runtime melalui console serta dapat menjalankan perintah-perintah sistem. b. MySQL (Anhar : 2010 : 63) MySQL (My Strukture Query Language) adalah sebuah perangkat lunak system manajemen basis data SQL (Database Management System) atau DBMS dari sekian bayak DBMS, seperti Oracle, MS SQL, Postagre SQL, dan lain-lain. MySQL merupakan DBMS yang multithread, multi-user yang bersifat gratis dibawah lisensi GNU General Public Licence (GPL). Tidak seperti apache yang merupakan software yang dikembangkan oleh komunitas umum, dan hak cipta untuk kode sumber dimiliki oleh penulisnya masing-masing. Mysql dimiliki dan disponsori oleh sebuah perusahaan swedia yaitu Mysql AB. mySQL AB memegang hak cipta kode sumbernya. Kedua orang swedia dan satu orang Finlandia yang mendirikan Mysql AB adalah : David Axmark, Allan Larson, dan Michael monty Wildenius. Seperti yang telah disebutkan II - 16 sebelumnya, mysql bersifat gratis atau open source sehingga kita bisa menggunakannya secara gratis. Pemrograman PHP juga sangat mendukung/support dengan database MySQL sehingga apabila kita mempelajarinya dengan sungguh-sungguh kita dapat mengaplikasikan PHP & MySQL dalam membuat aplikasi website maupun dalam membuat website. c. Adobe Dreamweaver Adobe Dreamweaver merupakan program penyunting halaman web keluaran Adobe Systems yang dikenal sebagai Macromedia Dreamweaver keluaran Macromedia. Program ini banyak digunakan oleh pengembang web karena fitur-fiturnya yang menarik dan kemudahan penggunaannya. Versi terakhir Macromedia Dreamweaver sebelum Macromedia dibeli oleh Adobe Systems yaitu versi 8. Versi terakhir Dreamweaver keluaran Adobe Systems adalah versi 10 yang ada dalam Adobe Creative Suite 4 (sering disingkat Adobe CS4). Program aplikasi Macromedia Dreamweaver menyertakan banyak perangkat yang berkaitan dengan pengkodean dan fitur seperti HTML, CSS, Java Script, Reference dan Java Script Debugger . Selain itu program II - 17 aplikasi ini juga memungkinkan pengeditan Java Script, XML dan dokumen teks lainnya secara langsung , yaitu dengan menggunakan fasilitas kode editor. Fitur – fitur pengeditan yang ditampilkan secara visual oleh Macromedia Dreamweaver dapat mempercepat penambahahan desain dan fungsi pada halaman web tanpa harus menuliskan satu baris kode. Semua elemen di dalam site dapat ditampilkan dan didrag dari panel-panel (yang terdapat di dalam Macromedia Dreamweaver) ke dalam dokumen secara langsung dan cepat . program aplikasi Macromedia dreamweaver dapat mengimpor image atau movie yang dibuat dengan program aplikasi lainnya, seperti macromedia flash, Macromedia Frameworks ataupun Macromedia Director. 2.3 Kerangka konseptual Kerangka konseptual penelitian adalah suatu hubungan atau kaitan antara konsep satu terhadap konsep yang lainnya dari masalah yang ingin diteliti. Berdasarkan tujuan penelitian di atas, kerangaka konseptual terlihat pada gambar 2.1 . II - 18 1. Tidak berada dikantor 2. Ditugaskan diluar kota ADMIN MAINTENENCE APLIKASI REMOTE SERVER KEBUTUHAN PERUSAHAAN 1. Ada file yang harus dikirim 2. Aplikasi yang harus di instal 3. Cek database Application Programming Interface (API) Secure Shell (SSH) File Transfer Protocol (FTP) Fungsi FTP : 1. Download file 2. Upload file 3. Edit file 4. Hapus file Faktor Maintenence 1. Database terhapus 2. File terhapus atau hilang. 3. Jaringan Bermasalah Fungsi SSH : 1. Penginstalan aplikasi 2. Kontrol jaringan server 3. Mengotomasi remote monitoring dan penglolaan server 4. Mounting direktori di server remote MySQL Fungsi MySql : 1. Create Database 2. Update Database 3. Delete Database 4. View Database KINERJA SERVER Gambar 2.1 Kerangka Konseptual 2.4 Defenisi Operasional 1. Admin / Administrator adalah orang yang bertugas untuk mengelolah server 2. Kebutuhan Perusahaan merupakan kondisi yang diinginkan oleh perusahaan. II - 19 3. Maintenance adalah segala kegiatan yang bertujuan untuk menjaga peralatan dalam kondisi terbaik. Proses maintenance meliputi pengetesan, pengukuran, penggantian, penyesuaian dan perbaikan. 4. Aplikasi Remote Server adalah aplikasi yang dibangun oleh penulis untuk mengontrol server dari jarak jauh. Server yang diremote oleh aplikasi yaitu SSH, FTP, dan Mysql Server. 5. Application Programming Interface adalah metode yang digunakan dalam membuat aplikasi. 6. File Transfer Protocol (FTP) adalah sebuah protokol Internet yang berjalan di dalam lapisan aplikasi yang merupakan standar untuk pengiriman berkas (file) komputer antar mesinmesin dalam sebuah jaringan. 7. Secure Shell memungkinkan (SSH) adalah protokol pertukaran data melalui saluran jaringan yang aman antara dua perangkat jaringan. 8. MySQL adalah sebuah perangkat lunak sistem manajemen basis data SQL yang multithread dan multi-user. 9. Kinerja Server merupakan hasil akhir yang ingin dicapai agar server berjalan sesuai dengan fungsinya.