Virtualisasi menggunakan Xen Hypervisor seebagai efisiensi penggunaan server (PT. Smart Intermedia Solusindo)

(1)

VIRTUALISASI MENGGUNAKAN

XEN HYPERVISOR

SEBAGAI

EFISIENSI PENGGUNAAN SERVER

(PT. Smart Intermedia Solusindo)

Disusun oleh

ARI KRISTIYANTO

204091002559

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH

JAKARTA


(2)

VIRTUALISASI MENGGUNAKAN

XEN HYPERVISOR

SEBAGAI

EFISIENSI PENGGUNAAN SERVER

(PT. Smart Intermedia Solusindo)

Oleh

ARI KRISTIYANTO

204091002559

Skripsi

Sebagai Salah Satu Syarat Kelulusan untuk Memperoleh Gelar Sarjana Komputer

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH

JAKARTA


(3)

VIRTUALISASI MENGGUNAKAN

XEN HYPERVISOR

SEBAGAI

EFISIENSI PENGGUNAAN SERVER

(PT. Smart Intermedia Solusindo) Skripsi

Sebagai Salah Satu Syarat untuk Memperoleh Gelar Sarjana Komputer

Fakultas Sains dan Teknologi

Universitas Islam Negeri Syarif Hidayatullah Jakarta

Oleh:

204091002559 ARI KRISTIYANTO

Menyetujui,

Pembimbing I Pembimbing II

NIP. 197312092005011002 Herlino Nanang, MT

NIP. 197105222006041002 Yusuf Durrachman, MIT, M.Sc

Mengetahui,

Ketua Program Studi Teknik Informatika

NIP. 197105222006041002 Yusuf Durrachman, MIT, M.Sc


(4)

PENGESAHAN UJIAN

Skripsi berjudul Virtualisasi Menggunakan Xen Hypervisor Sebagai Efisiensi Penggunaan Server (PT. Smart Intermedia Solusindo) yang ditulis oleh Ari Kristiyanto dengan NIM 2040.9100.2559 telah diuji dan dinyatakan Lulus dalam Sidang Munaqosah Fakultas Sains dan Teknologi Universitas Islam Negeri Syarif Hidayatullah Jakarta pada hari Selasa, 9 Agustus 2011

Skripsi ini telah diterima sebagai salah satu syarat untuk memperoleh gelar Sarjana Strata Satu (S1) Program Studi Teknik Informatika

Jakarta, 9 Agustus 2011 Menyetujui,

Penguji I Penguji II

NIP. 198208112009121004 Andrew Fiade, M.Kom

NIP. 198008292011011002 Feri Fahrianto, M.Sc

Pembimbing I Pembimbing II

NIP. 197312092005011002 Herlino Nanang, MT

NIP. 197105222006041002 Yusuf Durrachman, MIT,M.Sc

Mengetahui,

Dekan Fakultas Sains dan Teknologi Ketua Program Studi TeknikInformatika

DR. Syopiansyah Jaya Putra, M.Sis

NIP. 19680117 200112 1 001 NIP. 19710522 200604 1 002 Yusuf Durrachman, MIT, M.Sc


(5)

PERNYATAAN

DENGAN INI SAYA MENYATAKAN BAHWA SKRIPSI DENGAN JUDUL “Virtualisasi Menggunakan Xen Hypervisor Sebagai Efisiensi

Penggunaan Server (PT. Smart Intermedia Solusindo)” ADALAH

BENAR – BENAR HASIL KARYA SENDIRI YANG BELUM PERNAH DIAJUKAN SEBAGAI SKRIPSI ATAU KARYA ILMIAH PADA PERGURUAN TINGGI ATAU LEMBAGA MANAPUN.

Jakarta, 10 Agustus 2011

NIM. 204091002559 ARI KRISTIYANTO


(6)

ABSTRAK

Ari Kristiyanto (204091002559), Virtualisasi Menggunakan Xen Hypervisor Sebagai Efisiensi Penggunaan Server (PT. Smart Intermedia Solusindo). (Dibawah bimbingan Bapak Herlino Nanang, MT dan Bapak Yusuf Durrachman, MIT, M.Sc).

Dewasa ini kebutuhan akan teknologi informasi terus berkembang pesat, terutama kebutuhan akan server salah satunya adalah untuk melayani aplikasi berbasis website. Disamping itu, terdapat kendala yang paling utama dalam pemanfaatan teknologi informasi saat ini yakni kebutuhan akan sumber daya yang tidak murah dan keterbatasan tempat, untuk itu diperlukan pemanfaatan sumber daya semaksimal mungkin. Virtualisasi sebagai salah bagian teknologi informasi yang diharapkan mampu mengatasi permasalahan yang ada. Jika dilihat sebagai bagian dari trend secara keseluruhan pada perusahaan IT yang meliputi komputasi otonom, sebuah skenario di mana lingkungan IT akan mampu mengelola dirinya sendiri didasarkan pada anggapan adanya aktivitas, dan utilitas komputasi, di mana kekuatan pemrosesan komputer dianggap sebagai utilitas bahwa klien dapat membayar yang hanya digunakan saja. Tujuan virtualisasi sendiri adalah untuk mensentralisasi tugas administratif dengan meningkatkan skalabilitas dan menurunkan beban kerja. Metodologi yang digunakan pada penelitian ini adalah NDLC yang memiliki 6 tahap yakni, analisis, desain, prototype simulasi, implementasi, monitoring dan management. Dengan hasil yang diharapkan adalah mampu mengatasi kendala yang ada.

Kata kunci :

Virtualisasi, Server, Linux, Xen hypervisor, Sistem Operasi, Jaringan, NDLC V bab


(7)

KATA PENGANTAR

Dengan mengucap puji dan syukur kehadirat Allah SWT, karena atas ridho dan hidayahNya, sehingga penulis dapat menyelesaikan Tugas Akhir ini. Tak lupa pula sholawat dan salam kepada Nabi Muhammad saw sebagai nabi akhir zaman.

Maksud dan tujuan dari penulisan skripsi ini adalah untuk memenuhi persyaratan kelulusan program Studi Strata I pada Program Studi Teknik Informatika di Universitas Islam Negeri Syarif Hidayatullah Jakarta. Selain itu penulis juga dapat mencoba menerapkan dan membandingkan pengetahuan dan keterampilan yang diperoleh dibangku kuliah dengan kenyataan yang ada di lingkungan kerja.

Tidak dipungkiri dalam penulisan skripsi ini, Penulis menemui beberapa kesulitan dan hambatan tapi banyak hikmah yang ada didalamnya. Disamping itu juga, penulis menyadari bahwa penulisan skripsi ini masih jauh dari sempurna, namun besar harapan semoga skripsi ini bermanfaat. Penulis menyadari dalam penulisan skripsi ini tidak lepas dari bantuan berbagai pihak, maka pada kesempatan ini penulis menyampaikan ucapan terima kasih yang setulus-tulusnya kepada :

1. DR. Syopiansyah Jaya Putra, M.Sis, selaku Dekan Fakultas Sains dan Teknologi Universitas Islam Negeri Syarif Hidayatullah Jakarta.

2. Bapak Yusuf Durrachman, MIT, M.Sc, selaku Ketua Program Studi Teknik Informatika dan Ibu Viva Arifin, MMSI, selaku Sekretaris Program Studi Teknik Informatika.

3. Bapak Herlino Nanang, MT dan Bapak Yusuf Durrachman, MIT, M.Sc selaku dosen pembimbing yang telah memberikan waktu, perhatian dan saran dalam penyusunan Tugas Akhir ini.


(8)

4. Seluruh dosen dan Staff perpustakaan Universitas Islam Negeri Syarif Hidayatullah Jakarta.

5. Pimpinan dan Staff PT. Smart Intermedia Solusindo yang telah banyak membantu penulis.

6. Pimpinan dan Staff Kantor Akuntan Gatot Permadi Joewono yang juga telah banyak membantu penulis.

7. Teruntuk keluarga penulis, khususnya Ibu dan Bapak serta adik – adikku yang senantiasa memberikan curahan kasih sayang, do’a yang tiada henti dan dukungannya kepada penulis.

8. Sahabat-sahabat penulis di Fakultas Sains dan Teknologi, khususnya jurusan Teknik Informatika angkatan 2004.

9. Semua Pihak yang tidak dapat penulis sebutkan satu persatu yang telah banyak membantu penulis sejak awal perkuliahan sampai akhir penulisan Tugas Akhir ini.

Jakarta, 10 Agustus 2011

204091002559 Ari Kristiyanto


(9)

DAFTAR ISI

Halaman

HALAMAN JUDUL ... i

LEMBAR PENGESAHAN... ii

LEMBAR PENGESAHAN UJIAN ... iii

PERNYATAAN ... iv

ABSTRAKSI ... v

KATA PENGANTAR ... vi

DAFTAR ISI ... viii

DAFTAR GAMBAR ... xiii

DAFTAR TABEL ... xv

BAB I PENDAHULUAN ... 1

1.1 Latar Belakang ... 1

1.2 Rumusan Masalah ... 3

1.3 Batasan Masalah ... 3

1.4 Tujuan Penelitian ... 4

1.5 Manfaat Penelitian ... 4

1.6 Metodologi Penelitian ... 4

1.6.1 Metode Pengumpulan Data ... 4

1.6.2 Metode Penelitian ... 5

1.7 Sistematika Penulisan ... 5

BAB II LANDASAN TEORI ... 7

2.1 Virtualisasi ... 7

2.1.1 Sejarah ... 7


(10)

2.1.3 Tipe Virtualisasi ... 9

2.2 Server ... 10

2.2.1 Pengertian ... 10

2.2.2 Fungsi Server ... 10

2.2.3 Cara Kerja Server ... 11

2.3 Linux ... 12

2.3.1 Pengertian Linux ... 12

2.3.2 Pemograman Linux ... 14

2.3.3 Layanan Pada Linux ... 16

2.4 Xen Hypervisor ... 17

2.4.1 Xen ... 17

2.4.2 Hypervisor ... 20

2.5 Client Server ... 21

2.5.1 Pengertian ... 21

2.6 Sistem Operasi ... 23

2.7 Teknologi Middleware ... 25

2.7.1 Konsep Middleware ... 25

2.7.2 Fitur dan Manfaat dari Middleaware ... 26

2.8 Internet ... 29

2.8.1 Pengertian Internet ... 29

2.8.2 Sejarah Internet ... 30

2.8.3 Layanan Utama Internet ... 31

2.8.4 Penyedia Akses Internet ... 33

2.9 World Wide Web (WWW)... 33


(11)

2.9.2 Sejarah WWW... 34

2.9.3 Jenis-jenis Web ... 36

2.9.4 Unsur-unsur Website atau Situs... 37

2.9.5 Istilah-istilah Seputar WWW ... 41

2.10 Network Development Life Cycle (NDLC) ... 43

2.10.1 Analysis (Analisis)... 44

2.10.2 Design (Perancangan) ... 44

2.10.3 Simulation Prototyping (Prototipe Simulasi) ... 45

2.10.4 Implementation (Implementasi) ... 45

2.10.5 Monitoring (Pengawasan) ... 45

2.10.6 Management (pengelolaan) ... 46

2.11 Penelitian Sejenis ... 46

BAB III METODOLOGI PENELITIAN ... 48

3.1 Metode Pengumpulan Data ... 48

3.1.1 Studi Pustaka ... 48

3.1.2 Studi Lapangan ... 48

3.2 Metode Pengembangan Sistem ... 49

3.2.1 Analisis ... 50

3.2.2 Design System (Sistem Perancangan) ... 50

3.2.3 Simulasi Prototype ... 51

3.2.4 Implementasi ... 51

3.2.5 Monitoring ... 51

3.2.6 Management ... 52

3.3 Peralatan Penelitian ... 52


(12)

3.3.2 Perangkat Lunak ... 53

3.4 Kerangka Berpikir ... 53

BAB IVHASIL DAN PEMBAHASAN ... 55

4.1 Gambaran Umum PT. Smart Intermedia Solusindo ... 55

4.1.1 Visi dan Misi... 56

4.1.2 Logo ... 57

4.1.3 Struktur Organisasi ... 58

4.1.4 Tugas ... 58

4.2 Pengembangan Sistem ... 59

4.2.1 Analisis ... 60

4.2.2 Design System (Sistem Perancangan) ... 62

4.2.3 Simulasi Prototype ... 63

4.2.4 Implementasi ... 64

4.2.5 Monitoring ... 98

4.2.6 Management ... 105

BAB V PENUTUP ... 106

5.1 Kesimpulan ... 106

5.2 Saran ... 107

DAFTAR PUSTAKA ... 109 LAMPIRAN


(13)

DAFTAR TABEL

Halaman Tabel 3.1. Daftar perangkat keras……….……… 53 Tabel 3.2. Daftar perangkat lunak... 54


(14)

DAFTAR GAMBAR

Halaman

Gambar 2.1.Server sebagai proxy server dan web server ... 13

Gambar 2.2.Arsitektur Xen Hypervisor... 22

Gambar 2.3.Contoh URL Web National Park Service ... 44

Gambar 2.4.Alur NDLC ... 46

Gambar 3.1.Alur NDLC ... 51

Gambar 4.1.Logo PT. Smart Intermedia Solusindo ... 57

Gambar 4.2.Struktur Organisasi PT. Smart Intermedia Solusindo ... 58

Gambar 4.3.Keadaan sistem jaringan yang sedang berjalan ... 60

Gambar 4.4.Desain Virtualisasi ... 62

Gambar 4.5.Tahap awal instalasi CentOS ... 64

Gambar 4.6.Informasi partisi hard disk ... 65

Gambar 4.7.Partisi yang akan digunakan ... 66

Gambar 4.8.Memilih tipe instalasi ... 67

Gambar 4.9.Menambah group virtualisasi ... 67

Gambar 4.10.Pilihan paket virtualisasi ... 68

Gambar 4.11.Instalasi selesai ... 69

Gambar 4.12.PV-Grub ... 75

Gambar 4.13.Setting kernel ... 79

Gambar 4.14.Setting kernel selesai ... 80

Gambar 4.15.Tampilan output PV-Grub ... 80


(15)

Gambar 4.17.Tampilan xs-tool.iso ... 83

Gambar 4.18.Tools XenServer telah di pasang ... 86

Gambar 4.19.Tampilan tab ”Performance” ... 87

Gambar 4.20.Membuat guest OS baru ... 91

Gambar 4.21.Buat Virtual mschine baru ... 92

Gambar 4.22.Instalasi sistem baru ... 93

Gambar 4.23.Sistem operasi untuk guest ... 93

Gambar 4.24.Menentukan kapasitas hardisk... 95

Gambar 4.25.Instalasi secara remote... 96

Gambar 4.26.Tampilan YAST ... 97

Gambar 4.27.Grafik penggunaan server sebelum menggunakan virtualisasi 98 Gambar 4.28.Grafik penggunaan server setelah menggunakan virtualisasi 98 Gambar 4.29.Kinerja domain Xen ... 100


(16)

BAB I PENDAHULUAN

1.1. Latar Belakang

Kebutuhan akan server untuk menangani banyak layanan dibidang teknologi informasi pada dunia industri menjadi sangat penting. Khususnya dunia industri yang berbasis Teknologi Informasi. Disisi lain, kebanyakan dari server sekarang ini, performasi servisnya tidak lebih dari 15% saja (Ian Pratt, 2006). Hal ini menjadi pertanyaan bagaimana cara mengatasi permasalahan ini dengan mencoba sebuah teknologi baru. Pada akhirnya IBM mencetuskan ide virtualisasi sistem operasi untuk mengatasi hal ini (Ian Pratt, 2006).

Virtualisasi sistem operasi menjadi menarik dan banyak diteliti karena bisa menjawab pertanyaan terdahulu akan performasi sebuah server. Dengan teknologi virtualisasi ini utilitas akan server bisa ditingkatkan sehingga performasi bisa meningkat secara significant, dan yang lebih menarik dari teknologi ini adalah kemampuannya mendukung platform mesin server yang berbeda, sistem operasi yang berbeda, dan banyak server di dalamnya, dimana setiap server bisa berbagi resource dengan server lainnya.

Dunia industri banyak melirik teknologi ini karena selain keunggulan diatas, teknologi ini juga mampu menepis persepsi bahwa teknologi server mahal. Dengan teknologi virtualisasi jumlah kebutuhan akan komputer server bisa berkurang dan kebutuhan akan tempat menjadi lebih kecil. Keterbatasan resource server dan tempat sudah tidak menjadi permasalahan serius, sehingga mengurangi biaya operasional akan server yang selama ini sangat mahal menjadi sangat murah.


(17)

Bahkan untuk beberapa perusahaan besar sekelas datacenter mengalami kendala lain yakni tingginya pertumbuhan penggunaan server, tentu memerlukan ruangan yang lebih luas dan juga membutuhkan tenaga listrik yang besar pula. Oleh karena itu dibutuhkannya suatu alternatif sebagai solusi efisiensi penggunaan server dengan menggunakan teknologi virtualisasi. Sebagai perusahaan berkembang atau SME (Small Medium Enterprise) PT. Smart Intermedia Solusindo yang bergerak di bidang web hosting dan data storage menyambut dengan baik penelitian ini.

Xen Virtual Machine menggunakan Sistem Operasi berbasis Linux. Sistem operasi Linux dikenal dengan kemampuannnya menangani load kinerja yang tinggi, stabil, dan mempunyai sekuritas yang tinggi. Linux juga mempunyai kemampuan multitasking yang sama dengan Unix, kemampuan bekerja dalam waktu yang relatif lama secara terus menerus, dan juga relatif lebih aman dari serangan pihak-pihak yang tidak bertanggung- jawab ataupun gangguan-gangguan yang disebabkan oleh virus, trojan, dan lain sebagainya.

Banyaknya dokumentasi yang ada di internet dan dukungan langsung dari pengembang maupun komunitas Linux ditambah sifatnya yang open source dan gratis, menyebabkan pengembangan dengan menggunakan sistem operasi ini lebih disukai. Adanya bug maupun lubang keamanan yang barangkali ditemukan, bisa segera dilakukan patch baik oleh pengguna sendiri maupun memperoleh patch-nya dari pengembang maupun komunitasnya.

Teknik virtualisasi yang akan digunakan penulis dalam membahas virtualisasi ialah dengan teknik Full Hardware Virtualization Systems menggunakan Xen Hypervisor. Xen Hypervisor dikembangkan oleh Citrix Company Inc.


(18)

Penulis mencoba menggunakan Xen Hypervisor sebagai efisiensi penggunaan server menggunakan teknologi Xen virtual machine sehingga bisa menjadi alternatif bagi industri teknologi informasi khususnya untuk industri golongan menengah kebawah di Indonesia.

1.2. Rumusan Masalah

Berdasarkan permasalahan yang dipaparkan pada latar belakang maka dirumuskan beberapa masalah yang dihadapi yaitu:

Bagaimana PT. Smart Intermedia Solusindo dapat mengatasi tingginya biaya pengadaan server dan keterbatasan tempat atau ruang yang digunakan untuk server farm dengan menggunakan Xen Hypervisor?

Sehingga pada fokusnya penulis melakukan penelitian dengan judul ”Virtualisasi Menggunakan Xen Hypervisor Sebagai Efisiensi Penggunaan Server”

1.3. Batasan Masalah

Batasan masalah yang akan diteliti pada penelitian ini adalah sebagai berikut : 1. Teknologi virtualisasi yang digunakan adalah Xen Hypervisor.

2. Sistem Operasi yang digunakan adalah Linux Centos.

3. Penggunaan Xen Hypervisor pada Linux Centos di PT. Smart Intermedia Solusindo

1.4. Tujuan Penelitian

Tujuan dari penelitian ini adalah menjawab berbagai permasalahan yang telah penulis uraikan pada perumusan masalah, yaitu :

1. Untuk memaksimalkan sumber daya dan kinerja server. 2. Meminimalkan biaya pengadaan server.


(19)

1.5. Manfaat Penelitian 1. Bagi Penulis

a. Menerapkan ilmu-ilmu yang diperoleh selama perkuliahan. b. Mengerti dan Memahami konsep virtualisasi server.

c. Mengerti dan mampu mengimplementasikan virtualisasi pada server. 2. Bagi Perusahaan

a. Memberi solusi penghematan biaya infrastruktur jaringan komputer b. System administrator perusahan akan lebih mudah dalam mengatur atau

mengklarifikasikan dan mengoptimasi kinerja pada sebuah server. 1.6. Metodologi Penelitian

1.6.1. Metode Pengumpulan Data

Metode yang digunakan peneliti dalam melakukan analisis data ada beberapa tahap yaitu:

1. Studi Lapangan: a. Observasi

Observasi merupakan kegiatan pengamatan untuk mengetahui permasalahan dan survei pengembangan sistem yang diusulkan.

b. Wawancara

Kegiatan ini dilakukan untuk memperjelas kebutuhan suatu perusahaan dalam pelaksanaan implementasi sesuai informasi yang terkait dengan penelitian. Berupa kegiatan tanya-jawab kepada staff system administrator PT. Smart Intermedia Solusindo.

2. Studi Pustaka

Bagian ini dilakukan untuk mendapatkan data-data tertulis baik secara teoritis dan empiris yang terkait dengan topik penelitian. Selain itu studi pustaka yang


(20)

dilakukan peneliti pengumpulan bahan-bahan yang berkaitan dengan judul skripsi melalui buku-buku bacaan dan situs internet, penelitian yang terkait dengan implementasi virtualisasi pada server.

1.6.2. Metode Penelitian

Metode pengembangan sistem yang dipakai dalam penelitian skripsi ini adalah metode Network Development Life Cycle (NDLC) dengan beberapa tahapan, meliputi Analisis, Desain, Simulation Prototyping, Implementasi, Monitoring dan Management (James E.Goldman:2005).

1.7. Sistematika Penulisan

Dalam penyusunan tugas akhir ini, penulis akan menyusun penulisan ini menjadi beberapa bab, yaitu:

BAB I : PENDAHULUAN

Bab ini berisikan latar belakang, perumusan masalah, ruang lingkup dan batasan masalah, tujuan, manfaat serta metodologi dan sistematika penulisan yang dipakai.

BAB II : LANDASAN TEORI

Bab ini berisikan berbagai teori yang berhubungan dengan virtualisasi server pada linux centos

BAB III : METODOLOGI PENELITIAN

Bab ini berisi membahas tentang metode-metode yang dilakukan dalam implementasi virtualisasi pada sebuah server

BAB IV : HASIL DAN PEMBAHASAN

Bab ini menguraikan tentang hasil implementasi virtualisasi pada sebuah server sebagai efisiensi penggunaan server.


(21)

BAB V : PENUTUP

Bab ini berisikan kesimpulan dari hasil penelitian yang dilakukan dan saran-saran terhadap kekurangan dari penelitian tersebut.


(22)

BAB II

LANDASAN TEORI

2.1. Virtualisasi 2.1.1. Sejarah

Bulan juni tahun 1959 seorang ilmuwan computer asal Inggris Christopher Strachey mempublikasikan paper yang berjudul Time Sharing in Large Fast Computers pada saat konferensi international Information Processing di UNESCO New York. Maksud dari konsep time sharing adalah bagaimana sebuah sistem komputer dapat berjalan secara Multi-Tasking dan Multi-Programming. Pada tahun 1960an IBM menjalankan beberapa proyek yang bertujuan untuk mengevaluasi konsep time sharing system danberhasil menciptakan mesin berdasarkan konsep time sharing dengan memanfaatkan penuh mainframe hardware dengan cara membagi logical hardware kedalam mesin virtual. Mesin yang berhasil diciptakan salah satunya adalah CP/CMS dan M44/44X yang menjadi cikal bakal dari arsitektur mesin virtual ( kernel, 2011).

2.1.2. Pengertian

Dalam ilmu komputer, virtualisasi (Inggris: virtualization) adalah istilah umum yang mengacu kepada abstraksi dari sumber daya komputer. Definisi lainnya adalah "sebuah teknik untuk menyembunyikan karakteristik fisik dari sumber daya komputer dan bagaimana sistem lain, aplikasi atau pengguna berinteraksi dengan sumber daya tersebut. Hal ini termasuk membuat sebuah sumber daya tunggal seperti server, sebuah sistem operasi, sebuah aplikasi atau peralatan penyimpanan terlihat berfungsi sebagai beberapa sumber daya logikal; atau dapat juga termasuk definisi


(23)

untuk membuat beberapa sumber daya fisik (seperti beberapa peralatan penyimpanan atau server) terlihat sebagai satu sumber daya logikal.

Istilah virtualisasi sudah digunakan secara luas sejak 1960-an oleh IBM untuk meningkatkan pemanfaatan sistem komputer saat itu yang sangat besar dan mahal, namun saat ini telah diaplikasikan kepada beberapa aspek komputer, dari keseluruhan sistem komputer sampai sebuah kemampuan atau komponen individu. Bentuk lain pengertian Virtualisasi adalah metode untuk membuat sesuatu menjadi lepas dari ketergantungan secara fisik. Contoh; virtual machine adalah komputer, yang sebetulnya hanya berupa sebuah file di hard disk. Dengan virtualisasi, maka sebuah komputer (fisik) bisa menjalankan banyak komputer virtual sekaligus pada saat yang bersamaan. Secara sederhana adalah komputer didalam komputer, yang di implementasi kan oleh software. Sebuah virtual machine mengemulasikan keseluruhan system hardware, mulai dari processor sampai network card, memungkinkan operating system yang berbeda untuk berjalan secara simultan. Setiap sistem operasi berada pada partisi software yang berbeda secara bebas ( EMA, 2011).

Berdasarkan press release yang dterbitkan oleh perusahaan riset Gartner Inc, penggunaan teknologi virtualisasi server berkembang pesat. Saat ini hanya 16 persen dari server yang berjalan pada mesin virtual, tetapi Gartner meramalkan bahwa angka tersebut akan naik sekitar 50 persen pada akhir 2012 - atau sekitar 58 juta mesin.

Semua faktor ini membuat virtualisasi menjadi trend tertinggi yang mengharuskan perusahaan IT untuk mengkonsentrasikan pada teknologi ini dan memperluas kemampuan tenaga ahli IT. Nantinya akan ada banyak permintaan pekerja dengan keahlian di bidang ini di masa yang akan dating


(24)

2.1.3. Tipe Virtualisasi 1. Emulation

Emulasi memungkinkan untuk menjalankan dan memodifikasi sistem operasi yang mendukung flat-form yang diemulasikan. Implementasi dalam katagori ini, menggunakan emulator seperti bochs sebagai solusi untuk memungkinkan beberapa kode dijalankan pada CPU dalam rangka meningkatkan kinerja. Namun kelemahan utama pada emulasi adalah rendahnya kepadatan dan performa sistem. Contohnya adalah bochs dan qemu.

2. Paravirtualization

Paravirtualization adalah teknik untuk menjalankan sistem operasi yang telah dimodifikasi yang berjalan didalam software yang disebut hypervisor. kelebihan dari paravirtualisasi adalah kinerja yang lebih baik dari emulasi namun memiliki kekurangan yakni membutuhkan sistem operasi yang dimodifikasi agar dapat berjalan di lingkungan virtual, contohnya adalah xen.

3. Operating System-level Virtualization

Sistem operasi virtualisasi ialah virtualisasi dimana kernel sebuah sistem operasi dapat membuat lingkungan virtual yang telah di isolasi, sebagai contoh FreeBSD Jail, Solaris Zones/Containers, Linux-VServer, OpenVZ (Kolyshkin, 2011).

2.2. Server 2.2.1. Pengertian

Pada komputerisasi, server merupakan kombinasi dari perangkat keras dan perangkat lunak yang dirancang untuk menyediakan layanan untuk klien pada sebuah


(25)

jaringan komputer. Server didukung oleh prosesor yang bersifat scalable dan penggunaan ram yang besar, juga dilengkapi dengan sistem operasi khusus yang disebut sebagai sistem operasi jaringan. Server juga digunakan untuk menjalankan perangkat lunak administratif yang mengontrol akses terhadap jarngan dan sumber daya yang terdapat didalamnya.

Umumnya, didalam sistem operasi terdapat berbagai macam service yang menggunakan arsitektur klien/server. Contoh dari service ini adalah DHCP Server, Mail Server, Web Server, FTP server, DNS Server dan sebagainya. Setiap sistem operasi yang digunakan untuk server biasanya sudah disediakan layanan-layanan tersebut disamping layanan tersebut bisa didapatkan dari pihak ketiga. Sistem Operasi yang digunakan sebagai server, biasanya tidak memerlukan GUI dan bersifat opsional. Namun saat ini banyak sekali komputer desktop dengan GUI dapat digunakan sebagai server namun sangat sedikit yang menggunakannya. Server biasanya terhubung dengan client dengan kabel UTP dan sebuah Network Card (adibowo, 2011).

2.2.2. Fungsi Server

Dilihat dari fungsinya, server di kategorikan dalam 2 jenis: 1. Server Aplikasi (application server)

Server aplikasi adalah server yang digunakan untuk menjalankan berbagai macam aplikasi yang dapat diakses oleh client.

2. Server Data (data server)

Server data adalah server yang digunakan untuk menyimpan data, baik yang digunakan client secara langsung maupun data yang diproses oleh server aplikasi.


(26)

2.2.3. Cara Kerja Server

Cara kerja sebuah server sangat lah sederhana, sebuah komputer server akan mendengarkan sebuah request dengan telinga yang disebut port, setiap layanan berjalan pada port yang berbeda berdasarkan standard international. Sebagai contoh, sebuah web server akan mendengarkan sebuah request melalui port 80, port 80 sering disebut sebagai HTTP port. Contoh lainnya ketika mengirim email, SMTP sever akan mendengarkan port 25. Tentunya ada aturan-aturan bagaimana cara mengirimkan sebuah request kepada server dan bagaimana seharusnya server merespond request tersebut.

Setiap layanan akan merespon terhadap request dari klien. Sebagai contoh, klien DHCP akan memberikan request kepada server yang menjalankan service DHCP server; 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 (issue, 2011).

Gambar 2.1 : Server sebagai proxy server dan web server (Sumber : issue, 2011)


(27)

2.3. Linux

2.3.1. Pengertian Linux

Linux tidaklah menjadi hal yang awam untuk dibicarakan di dunia teknologi informasi. Linux adalah nama yang diberikan kepada sistem operasi komputer berbasis Unix. Linux merupakan salah satu contoh hasil pengembangan perangkat lunak bebas dan sumber terbuka utama (Open Source). Seperti perangkat lunak bebas dan sumber terbuka lain pada umumnya, kode sumber Linux dapat dimodifikasi, digunakan dan didistribusikan kembali secara bebas oleh siapapun. Nama "Linux" berasal dari nama kernelnya (kernel Linux), yang dibuat tahun 1991 oleh Linus Torvalds. Sistemnya, peralatan sistem dan pustakanya umumnya berasal dari sistem operasi GNU, yang diumumkan tahun 1983 oleh Richard Stallman. Kontribusi GNU adalah dasar dari munculnya nama alternatif GNU/Linux.

Sistem operasi Linux yang dikenal dengan istilah distribusi Linux (Linux distribution) atau distro Linux umumnya sudah termasuk perangkat-perangkat lunak pendukung seperti server web, bahasa pemrograman, basisdata, tampilan desktop (desktop environment) (seperti GNOME dan KDE), dan paket aplikasi perkantoran (office suite) seperti OpenOffice.org, KOffice, Abiword, dan Gnumeric. Sebuah sistem Linux umumnya menyediakan sebuah antarmuka baris perintah lewat sebuah shell, yang merupakan cara tradisional untuk berinteraksi dengan sebuah sistem Unix. Sebuah distro Linux yang dikhususkan untuk lingkungan server mungkin hanya memiliki CLI(Command Line Interface) sebagai satu-satunya antarmuka. Sebuah sistem yang tidak memiliki monitor hanya dapat dikontrol melalui baris perintah lewat protokol seperti SSH atau telnet.

Kebanyakan komponen tingkat rendah Linux, termasuk GNU Userland, menggunakan CLI secara ekslusif. CLI cocok untuk digunakan pada lingkungan


(28)

otomasi tugas-tugas yang repetitif atau tertunda, dan menyediakan komunikasi inter-proses yang sangat sederhana. Sebuah program emulator terminal grafis sering digunakan untuk mengakses CLI dari sebuah Linux desktop. Perbedaan utama antara Linux dan sistem operasi populer lainnya terletak pada kernel Linux dan komponen-komponennya yang bebas dan terbuka. Linux bukan satu-satunya sistem operasi dalam kategori tersebut, walaupun demikian Linux adalah contoh terbaik dan terbanyak digunakan. Beberapa lisensi perangkat lunak bebas dan sumber terbuka berdasarkan prinsip-prinsip copyleft, sebuah konsep yang menganut prinsip: karya yang dihasilkan dari bagian copyleft harus juga merupakan copyleft. Lisensi perangkat lunak bebas yang paling umum, GNU GPL, adalah sebuah bentuk copyleft, dan digunakan oleh kernel Linux dan komponen-komponen dari proyek GNU.

Linux dikendalikan oleh pengembang dan komunitas penggunanya. Beberapa vendor mengembangkan dan mendanai distribusi mereka sendiri dengan dasar kesukarelaan. Debian merupakan contoh yang bagus. Yang lain memiliki versi komunitas dari versi komersialnya seperti yang Red Hat lakukan dengan Fedora. Di banyak kota dan wilayah, asosiasi lokal yang dikenal dengan nama Kelompok Pengguna Linux (Linux Users Group atau LUG) mempromosikan Linux dengan mengadakan pertemuan, demonstrasi, pelatihan, dukungan teknis dan instalasi sistem operasi Linux secara gratis. Ada banyak juga komunitas Internet yang menyediakan dukungan terhadap pengembang dan pengguna Linux. Banyak proyek distribusi dan perangkat lunak sumber terbuka yang memiliki ruang percakapan IRC atau newsgroup. Forum daring merupakan bentuk lain untuk mendapatkan dukungan, contoh: LinuxQuestions.org dan forum Gentoo. Distribusi Linux memiliki [milis] dengan pembagian topik seperti penggunaan atau pengembangan.


(29)

2.3.2. Pemograman Linux

Kebanyakan distribusi Linux mendukung banyak bahasa pemrograman. Koleksi peralatan untuk membangun aplikasi dan program-program sistem operasi yang umum terdapat di dalam GNU toolchain, yang terdiri atas GNU Compiler Collection (GCC) dan GNU build system. GCC menyediakan kompilator untuk Ada, C, C++, Java, dan Fortran. Kernel Linux sendiri ditulis untuk dapat dikompilasi oleh GCC. Kompilator tak bebas (proprietary) untuk Linux antara lain adalah Intel C++ Compiler dan IBM XL C/C++ Compiler.

Kebanyakan distribusi juga memiliki dukungan untuk Perl, Ruby, Python dan bahasa pemrograman dinamis lainnya. Contoh bahasa pemrograman yang tidak umum tetapi tetap mendapat dukungan di Linux antara lain adalah C# dengan proyek Mono yang disponsori oleh Novell, dan Scheme. Sejumlah Java Virtual Machine dan peralatan pengembang jalan di Linux termasuk Sun Microsystems JVM (HotSpot), dan J2SE RE IBM, serta proyek-proyek sumber terbuka lainnya seperti Kaffe. Dua kerangka kerja utama untuk pengembangan aplikasi grafis di Linux adalah GNOME dan KDE. Proyek-proyek ini berbasiskan GTK+ dan Qt. Keduanya mendukung beragam bahasa pemrograman. Untuk Integrated development environment terdapat Anjuta, Code::Blocks, Eclipse, KDevelop, Lazarus, MonoDevelop, NetBeans, dan Omnis Studio, sedangkan penyunting teks yang telah lama tersedia adalah Vim dan Emacs.

Linux adalah sistem operasi yang di-porting secara luas. Kernel Linux awalnya didisain hanya untuk mikroprosesor Intel 80386, sekarang kernel Linux telah jalan di beragam arsitektur komputer antara lain di perangkat hand-held iPAQ berbasis ARM, komputer mainframe IBM System z9, dari peralatan berupa telepon bergerak hingga superkomputer.Terdapat distribusi yang dikhususkan untuk sejumlah


(30)

kecil arsitektur. Fork kernel ELKS dapat dijalankan di mikroprosesor 16-bit Intel 8086 atau Intel 80286, sementara fork kernel µClinux dapat dijalankan di atas sistem yang tidak memiliki sebuah unit manajemen memori.

2.3.3. Layanan Pada Linux

Pada awalnya Linux memang dirancang sebagai sistem operasi jaringan. Oleh karena itu tidak heran jika banyak sekali program yang berjalan dibackground (tidak terlihat di layar monitor) program seperti itu disebut dengan daemon. Di Windows kita biasa menyebutnya dengan istilah service(layanan). Jadi walaupun sepintas tidak ada aktivitas program di layar monitor, tapi sebenarnya komputer tetap menjalankan beberapa program di background. Misalnya saja httpd untuk webserver atau ftpd untuk FTP server.

Service merupakan program yang dijalankan oleh komputer untuk melayani request yang ditujukan pada komputer tersebut. Sebagai contoh agar user bisa melakukan telnet ke suatu server maka sever tersebut harus menjalankan service telnetd, karena jika telnetd tidak dijalankan maka server tersebut tidak akan melayani telnet. Kebanyakan service berjalan dengan menggunakan protokol TCP dan UDP dimana masing masing service telah mempunyai nomor port tersendiri sehingga tidak akan terjadi tabrakan antar service.

Pada saat pertama kali menginstal Linux, banyak sekali service yang secara default juga terinstal dan berjalan. Sehingga perlu dilakukan pemeriksaan apakah service-service yang telah berjalan tersebut benar-benar dibutuhkan. Jika memang tidak diperlukan sebaiknya service-service tersebut dimatikan untuk mencegah ekploitasi dan pemborosan sumberdaya. Pada Linux juga dikenal tiga jenis service yaitu init service, inet service dan xinet service. Init service merupakan service yang dijalankan oleh script init yang terdapat pada file dalam direktori /etc/rc.d/ atau


(31)

/etc/rc.d/init.d/. Inet service merupakan service yang dijalankan oleh daemon inetd, dimana inetd sendiri dijalankan melalui init service, sedangkan xinetd merupakan pengganti dari inetd yang digunakan pada kernel 2.4.x. yang digunakan untuk menghandle setiap koneksi yang masuk pada masing-masing port. Seperti yang diketahui bahwa service yang ada pada linux berjalan berdasarkan port masing-masing

Mematikan semua service mungkin memang cara terbaik untuk menjaga keamanan sistem, tetapi hal tersebut tidak mungkin dilakukan jika komputer tersebut adalah sebuah server, karena untuk melayani request dari klien banyak service yang harus dijalankan. Untuk memudahkan dalam mengambil keputusan apakah sebuah service harus dijalankan atau dimatikan ada beberapa hal yang dapat digunakan sebagai pedoman, yaitu :

1. Sedapat mungkin mengurangi service yang berjalan dengan tanpa mengorbankan fungsi dari komputer tersebut.

2. Jika tidak mengenal suatu service untuk lebih aman sebaiknya dimatikan.

3. Memastikan bahwa service-service tersebut tidak mempunyai hole, dengan melihat referensi dan informasi patch.

Untuk melihat service apa saja yang sedang dijalankan bisa digunakan utilitas seperti chkconfig, netstat atau ps.

2.4. Xen Hypervisor 2.4.1. Xen

Xen (baca : Zen) merupakan sebuah virtual machine monitor untuk computer dengan arsitektur IA-32, x86-64, Itanium and PowerPC 970 . Hal tersebut memungkinkan beberapa guest OS untuk mengeksekusi perangkat keras yang dimiliki


(32)

oleh host OS secara bersamaan. Xen di kembangkan dan di rilis sebagai bagian dari free software dengan lisensi di bawah GNU GeneralPublic Licence (GPLv2).

Xen memiliki struktur yang kompleks dengan Hypervisor yang merupakan layer paling bawah atau paling inti . Di atas lapisan ini terdapat beberapa sistem operasi tamu atau guest OS yang berjalan pada host OS atau system operasi utama dan di dalam Xen lebih sering di sebut sebagai “Domain Zero (dom04)” . Secara otomatis pada saat booting dom0 akan menerima hak istimewa khusus untuk mengelola hypervisor dan akses secara langsung ke semua perangkat keras. System administrator dapat login menggunakan dom0 untuk mengelola setiap sistem operasi tamu atau di sebut sebagai “domain U (domU5)”.

Sistem operasi yang bisa di jadikan sebagai dom0 dan domU di antaranya adalah Linux , NetBSD , dan solaris . Pada Xen versi 3.0 , xen sudah bisa di jalankan di sistem operasi Microsost Windows dan sistem operasi proprietary lain yang dapat di jadikan sebagai domU pada CPU x86 yang mendukung virtualisasi (seperti : Intel VT dan AMD-V).

Sehingga jika kesimpulannya dengan menggunakan xen kita bisa membuat virtual machine (domU) di dalam physical machine server (dom0) jadi kita bisa memisahkan beberapa layanan server (seperti : mail server , web server , dns server , dll). Hal ini dapat memudahkan dalam me-maintenance serta efisiensi untuk menjaga kestabilan layanan server, karena dengan melakukan pemisahan layanan – layanan server maka akan berdampak pada kinerja dan kecepatan server dalam memberikan layanan kepada client.

Berikut adalah kelebihan dan kekurangan Xen (Disebut Virtual Dedicated Server / VDS).


(33)

Kelebihan Xen :

1. Sistemnya berdiri sendiri layaknya sebuah Dedicated Server 2. Menggunakan SWAP

3. Hampir tidak ada masalah dengan seting karena tidak dibatasi oleh node

4. Jika Memory Dedicated habis, maka SWAP akan berfungsi otomatis dan tidak seperti OpenVZ yang down, pada XEN hanya menyebabkan sistem VDSnya akan melambat

5. Bisa mendukung instalasi Windows Server

Kekurangan Xen :

1. Setup Node dengan partisi LVM (Karena membutuhkan VG untuk client VDSnya)

2. XEN hanya dapat berjalan stabil pada memori minimal 256 MB RAM 3. Perlu space lebih di node untuk temp prosesnya

4. Tidak bisa melakukan overselling 5. Memerlukan resources yang besar

Xen biasanya merupakan pilihan pertama untuk situs yang memerlukan lebih banyak memori. Khususnya bagi pengguna yang berencana untuk melakukan banyak task yang membutuhkan memori tambahan, seperti : video encoding, kompilasi atau pengembangan aplikasi Java. Harga XEN juga jauh lebih mahal dibanding openVZ dikarenakan ketidakmampuannya untuk overselling.

2.4.2. Hypervisor

Hypervisor sering juga disebut sebagai Mikrokernel L4. Dalam pengetahuan mikrokernel merupakan seperangkat


(34)

minimum yang meyediakan beragam mekanisme dasar yang dibutuhkan untuk bekerja sebagai sebua tingkat rendah, manajem implementasinya mikrokernel merupakan satu-satunya perangkat lunak yang berjalan dengan tingkat kewenangan tertinggi (umumnya disebut sebagai modus supervisor atau modus kernel) dari serangkaian level kewenangan yang tersedia pada perangkat kerasnya. Layanan yang disediakan oleh sebuah sistem operasi beberapa diantaranya adal yang berada dalam ruang pengguna.

Mikrokernel sangat erat terkait dengan exokernel, namun implementasinya lebih bersifat minimalis, dan secara spesifik untuk mendukung pengimplementasian mikrokernel saat ini dengan istilah mikrokernel sebelumnya yang menyediakan layanan sistem aktual, namun secara prinsip minimalitas menurut Jochen Liedtke dalam disain mikrokernel L4 menyebutkan bahwa istilah-istilah tersebut memiliki arti yang kurang lebih sama.


(35)

Gambar 2.2 Arsitektur Xen hypervisor

2.5. Client Server 2.5.1. Pengertian

Client-Server adalah arsitektur jaringan yang memisahkan client(biasanya aplikasi yang menggunakan GUI) dengan server. Masing-masing client dapat meminta data atau informasi dari server. Sistem client server didefinisikan sebagai sistem terdistribusi, tetapi ada beberapa perbedaan karakteristik yaitu :

1. Service (layanan)

a. Hubungan antara proses yang berjalan pada mesin yang berbeda b. Pemisahan fungsi berdasarkan ide layanannya.

c. Server sebagai provider, client sebagai konsumen 2. Sharing resources (sumber daya)

Server bisa melayani beberapa client pada waktu yang sama, dan meregulasi akses bersama untuk share sumber daya dalam menjamin konsistensinya.


(36)

3. Asymmetrical protocol (protokol yang tidak simetris)

Many-to-one relationship antara client dan server.Client selalu menginisiasikan dialog melalui layanan permintaan, dan server menunggu secara pasif request dari client.

4. Transparansi lokasi

Proses yang dilakukan server boleh terletak pada mesin yang sama atau pada mesin yang berbeda melalui jaringan.Lokasi server harus mudah diakses dari client.

5. Mix-and-Match

Perbedaan server-client platforms 6. Pesan berbasiskan komunikasi

Interaksi server dan client melalui pengiriman pesan yang menyertakan permintaan dan jawaban.

7. Pemisahan interface dan implementasi

Server bisa diupgrade tanpa mempengaruhi client selama interface pesan yang diterbitkan tidak berubah.

Ketika client membutuhkan suatu service yang ada di server, dia akan mengirim request kepada server lewat jaringan. Jika request tersebut dapat dilaksanakan, maka server akan mengirim balasan berupa service yang dibutuhkan untuk saling berhubungan menggunakan Socket. Socket adalah sebuah endpoint untuk komunikasi didalam jaringan. Sepasang proses atau thread berkomunikasi dengan membangun sepasang socket, yang masing-masing proses memilikinya. Socket dibuat dengan menyambungkan dua buah alamat IP melalui port tertentu. Secara umum socket digunakan dalam client/server system, dimana sebuah server akan menunggu


(37)

client pada port tertentu. Begitu ada client yang menghubungi server maka server akan menyetujui komunikasi dengan client melalui socket yang dibangun.

Sebagai contoh sebuah program web browser pada host x (IP 146.86.5.4) ingin berkomunikasi dengan web server (IP 152.118.25.15) yang sedang menunggu pada port 80. Host x akan menunjuk sebuah port. Dalam hal ini port yang digunakan ialah port 1655. Sehingga terjadi sebuah hubungan dengan sepasang socket (146.86.5.4:1655) dengan (152.118.25.15:80) (budi, 2011).

2.6. Sistem Operasi

Sistem operasi atau dalam bahasa Inggris: operating system atau OS adalah perangkat lunak sistem yang bertugas untuk melakukan kontrol dan manajemen perangkat keras serta operasi-operasi dasar sistem, termasuk menjalankan software aplikasi seperti program-program pengolah kata dan browser web. Secara umum, Sistem Operasi adalah software pada lapisan pertama yang ditaruh pada memori komputer pada saat komputer dinyalakan. Sedangkan software-software lainnya dijalankan setelah Sistem Operasi berjalan, dan Sistem Operasi akan melakukan layanan inti umum untuk software-software itu. Layanan inti umum tersebut seperti akses ke disk, manajemen memori, skeduling task, dan antar-muka user. Sehingga masing-masing software tidak perlu lagi melakukan tugas-tugas inti umum tersebut, karena dapat dilayani dan dilakukan oleh Sistem Operasi.

Jika sistem komputer terbagi dalam lapisan-lapisan, maka Sistem Operasi adalah penghubung antara lapisan hardware dan lapisan software. Lebih jauh daripada itu, Sistem Operasi melakukan semua tugas-tugas penting dalam komputer, dan menjamin aplikasi-aplikasi yang berbeda dapat berjalan secara bersamaan dengan lancar. Sistem Operasi menjamin aplikasi software lainnya dapat menggunakan memori, melakukan input dan output terhadap peralatan lain, dan memiliki akses


(38)

kepada sistem file. Apabila beberapa aplikasi berjalan secara bersamaan, maka Sistem Operasi mengatur jadwal yang tepat, sehingga sedapat mungkin semua proses yang berjalan mendapatkan waktu yang cukup untuk menggunakan prosesor (CPU) serta tidak saling mengganggu. Dalam banyak kasus, Sistem Operasi menyediakan suatu pustaka dari fungsi standar, dimana aplikasi lain dapat memanggil fungsi-fungsi itu, sehingga dalam setiap pembuatan program baru, tidak perlu membuat fungsi-fungsi tersebut dari awal. Sistem Operasi secara umum terdiri dari beberapa bagian:

1. Mekanisme Boot, yaitu meletakkan kernel ke dalam memori 2. Kernel, yaitu inti dari sebuah Sistem Operasi

3. Command Interpreter atau shell, yang bertugas membaca input dari pengguna.

4. Pustaka-pustaka, yaitu yang menyediakan kumpulan fungsi dasar dan standar yang dapat dipanggil oleh aplikasi lain.

5. Driver untuk berinteraksi dengan hardware eksternal, sekaligus untuk mengontrol mereka.

Sebagian Sistem Operasi hanya mengizinkan satu aplikasi saja yang berjalan pada satu waktu, tetapi sebagian besar Sistem Operasi baru mengizinkan beberapa aplikasi berjalan secara simultan pada waktu yang bersamaan. Sistem Operasi seperti itu disebut sebagai Multi-tasking Operating System. Beberapa Sistem Operasi berukuran sangat besar dan kompleks, serta inputnya tergantung kepada input pengguna, sedangkan Sistem Operasi lainnya sangat kecil dan dibuat dengan asumsi bekerja tanpa intervensi manusia sama sekali. Tipe yang pertama sering disebut sebagai Desktop OS, sedangkan tipe kedua adalah Real-Time OS. Sebagai contoh,


(39)

yang dimaksud sistem operasi itu antara lain adalah Unix, Linux, Windows, FreeBSD, Solaris dan sebagainya.

2.7. Teknologi Middleware

Middleware adalah perangkat lunak sistem yang berdiri sendiri atau program layanan, aplikasi terdistribusi menggunakan perangkat lunak ini untuk berbagi sumber daya antar teknologi yang berbeda. Middleware mengelola database atau program klien dan komunikasi awal antara aplikasi. Middleware antara klien didistribusikan dan jasa memainkan peranan penghubung, seperti manajemen transaksi, load balancing, dan komputasi berbasis Web.

2.7.1. Konsep Middleware

Dengan pesatnya perkembangan teknologi komputer, berbagai perangkat lunak aplikasi harus transplantasi berbagai platform, atau platform yang dibutuhkan untuk mendukung beberapa aplikasi dan manajemen dari beberapa sistem aplikasi, perangkat lunak dan platform perangkat keras dan sistem aplikasi harus handal dan efisien transfer data atau konversi, sistem ini mampu menjamin interoperabilitas. Semua ini memerlukan perangkat lunak dan dibangun pada platform perangkat keras, sementara juga menyediakan dukungan terhadap aplikasi atas sistem perangkat lunak, dan middleware di lingkungan ini.

Sebagai teknologi middleware adalah dalam proses berkembang, sehingga saat ini tidak dapat didefinisikan secara tegas. Definisi Populer adalah: Middleware adalah perangkat lunak sistem yang terpisah atau program layanan, mendistribusikan perangkat lunak aplikasi menggunakan software ini dalam suatu sumber daya bersama antara teknologi yang berbeda. Middleware di klien / sistem operasi server, pengelolaan sumber daya komputasi dan komunikasi jaringan. Seperti dapat dilihat dari definisi middleware, middleware adalah perangkat lunak kelas, bukan software,


(40)

middleware tidak hanya saling berhubungan, tetapi juga untuk mencapai interoperabilitas antara aplikasi, middleware didasarkan pada pemrosesan perangkat lunak didistribusikan penekanan khusus pada definisi komunikasi jaringan.

2.7.2. Fitur dan Manfaat dari Middleware

Dalam arti biasa, middleware harus memiliki fitur berikut: sejumlah besar aplikasi untuk memenuhi kebutuhan; dijalankan pada hardware berganda dan platform OS; dukungan komputasi terdistribusi, untuk menyediakan antar-jaringan, perangkat keras dan platform OS, aplikasi atau layanan interaksi transparanfungsi; mendukung protokol standar; mendukung antarmuka standar. Programmer untuk menyediakan sejumlah besar dengan memanggil middleware API, lingkungan heterogen, komunikasi, dan dengan demikian terlindung sistem operasi yang kompleks dan protokol jaringan heterogen. Klien dan middleware server untuk menyediakan konektivitas antara layanan yang memiliki antarmuka standar dan prosedur protokol.Untuk sistem operasi yang berbeda dan platform perangkat keras, mereka dapat memenuhi berbagai antarmuka dan spesifikasi protokol untuk mencapainya.

Sebagai antarmuka standar untuk portabilitas dan protokol standar untuk pentingnya interoperabilitas, middleware telah menjadi bagian utama dari banyak pekerjaan standardisasi. Untuk pengembangan aplikasi, middleware, sistem operasi dan layanan jaringan jauh lebih penting untuk memberikan middleware program antarmuka mendefinisikan sebuah lingkungan yang relatif stabil aplikasi tingkat tinggi, terlepas dari perangkat keras komputer dan perangkat lunak yang mendasari sistem bagaimana untuk menggantikan yang lama, selama middleware update, dan memelihara middleware yang sama dan definisi antarmuka eksternal, aplikasi, hampir


(41)

tanpa modifikasi, sehingga melindungi pengembangan perangkat lunak aplikasi enterprise dan pemeliharaan investasi besar.

Penggunaan teknologi ini membantu mengurangi beban pengembang aplikasi sehingga mereka menggunakan hardware yang telah ada, sistem operasi, jaringan, sistem manajemen database, dan model obyek untuk membuat perangkat lunak aplikasi mendistribusikan lebih berguna. Sebagai middleware untuk melindungi perusahaan-perusahaan investasi untuk menjamin stabilitas relatif dari aplikasi perangkat lunak, ekstensi aplikasi untuk mencapai; sementara middleware sangat menyederhanakan struktur hardware dari kompleksitas lingkungan multi-pengolahan terdistribusi, itu menyebabkan munculnya semakin perhatian pengguna.

Manfaat dari middleware itu sendiri yaitu memungkinkan aplikasi :

1. Transparansi di seluruh jaringan sehingga menyediakan interaksi dengan layanan atau aplikasi lain

2. Independen dari layanan jaringan 3. Handal dan selalu tersedia

Middleware menawarkan beberapa keunggulan untuk bisnis dan industri. Dalam bisnis sering digunakan untuk menghubungkan informasi dari departemen database seperti penggajian, penjualan, dan akuntansi. E-Commerce juga menggunakan middleware ini untuk membantu dalam menangani transaksi cepat dan aman di berbagai jenis lingkungan komputer. Singkatnya, middleware telah menjadi elemen penting di berbagai industri, berkat kemampuannya untuk menyatukan sumber daya yang berbeda di seluruh jaringan atau platform komputasi.

Jenis Middleware Hurwitz mengatur sistem klasifikasi berbagai jenis middleware yang tersedia saat ini. Klasifikasi ini didasarkan pada skalabilitas dan recoverability :


(42)

a. Remote Procedure Call. Klien membuat panggilan dengan prosedur yang berjalan pada sistem remote. Dapat asinkron atau sinkron.

b. Message Oriented Middleware. Pesan yang dikirim ke client dikumpulkan dan disimpan sampai ditindak lanjuti, sementara client terus dengan pengolahan lain. c. Object Request Broker. Jenis ini memungkinkan aplikasi untuk mengirim

permintaan dalam suatu sistem berorientasi objek.

d. SQL-oriented Data AccessMiddleware antara aplikasi dan database server

e. Embedded Middleware. Layanan komunikasi dan integrasi antarmuka software / firmware yang beroperasi antara aplikasi dan real time operating system.

2.8. Internet

Dunia dalam genggaman, begitulah ungkapan yang tepat diutarakan saat membicarakan tentang teknologi internet. Dengan internet kita bisa menjelajah ke mana saja, asal mengetahui tujuannya. Kita bisa menelpon gratis dan berkirim surat secara cepat, mudah, murah dan tidak mengenal letak geografis (Yuhefizar : 2008 : 1). 2.8.1. Pengertian Internet

Ada tiga pendapat yang mengatakan bahwa internet adalah sebuah singkatan dari kata international network, internetworking dan interconnected network (Yuhefizar : 2008 : 1). Internet adalah rangkaian hubungan jaringan komputer yang dapat diakses secara umum diseluruh dunia, yang mengirimkan data dalam bentuk paket data berdasarkan standar Internet Protocol (IP). Lebih dalam lagi, internet adalah kumpulan jaringan dari jaringan-jaringan komputer dunia yang terdiri dari jutaan unit-unit kecil, seperti jaringan pendidikan, jaringan bisnis, jaringan pemerintahan dan lain-lain, yang secara bersama menyediakan layanan informasi seperti e-mail, online chat, transfer file, dan saling keterhubungan (linked) antara satu halaman web dengan sumber halaman web yang lainnya (Yuhefizar : 2008 : 2).


(43)

Pengertian internet menurut Nana Suarna ST, internet merupakan jaringan komputer terluas di dunia (world wide network) dimana antara satu komputer dengan komputer lainnya saling berhubungan dan saling berkomunikasi (Nana Suarna, ST : 2007 : 9). Sedangkan pengertian internet menurut situs adalah hubungan komputer dengan berbagai tipe yang membentuk sistem jaringan yang mencakup seluruh dunia (jaringan komputer global) dengan melalui jalur telekomunikasi seperti telepon, radio link, satelit dan lainnya yang berasal dari kata Interconnection Networking (Pramana, 2009).

2.8.2. Sejarah Internet

Sejarah kelahiran internet bermula dari lahirnya ARPAnet (Advanced Research Projects Agency Network) pada tahun 1969. ARPAnet dikembangkan oleh IPTO (Information Processing Techniques Office) dengan dukungan penuh dari US DARPA (The United States department of Defense Advanced Research Projects Agency). Tujuan awal proyek ARPAnet ini adalah mencari solusi untuk membangun komunikasi data dari node (komputer) yang satu dengan node yang lainnya yang jaraknya sangat berjauhan. Pada waktu itu, mesin yang digunakan untuk berkomunikasi disebut IMPs (Interface Message Processors). Komunikasi data pertama dilakukan antara mesin IMPs yang berada di UCLA di bawah kendali Leonard Kleinrock’s dengan mesin IMPs yang berada di Stanford Research Institute pada bulan Oktober 1969 (Yuhefizar : 2008 : 3).

Pada tahun 1970, ARPAnet berhasil menghubungkan 10 node melalui protokol NCP, dan pada tahun 1972, Ray Tomlinson berhasil menemukan konsep komunikasi jarak jauh yang kita kenal saat ini sebagai e-mail sekaligus mendeklarasikan icon ‘@’ sebagai pembatas antara nama user dengan domainnya. Pada tahun yang sama ditemukan juga protocol telnet, sebagai protocol untuk remote


(44)

node dari jarak jauh. Sejalan dengan itu, pada tahun 1976, Ratu Inggris, berhasil mengirimkan e-mail dari Royal Signals dan Radar Establishment di Malvern, dan beliau dianggap sebagai pemimpin negara pertama yang menggunakan teknologi e-mail. Network Control Protocol atau Network Communication Protocol atau Network Control Program mengacu pada maksud yang sama yaitu NCP adalah jenis protokol yang digunakan untuk berkomunikasi data saat itu, hingga tanggal 1 Januari 1983. NCP digantikan oleh protokol TCP/IP (Transmission Control Protocol/Internet Protocol) sebagai protokol standar bagi internetsampai dengan saat ini.

Pada tahun 1974, Bob Kahn dan Vinton G. Cerf dari Stanford University memperkenalkan konsep tentang Transmission Control Protocol (TCP), yaitu protokol untuk komunikasi data yang lebih cepat, lebih murah dan lebih mudah diimplementasikan dibandingkan dengan NCP yang dipakai sebagai standar protocol saat itu. Pada tahun 1978, protokol TCP dipecah menjadi TCP dan IP (Internet Protocol), sehingga kombinasi 2 protokol inilah yang disebut saat ini sebagai TCP/IP (Yuhefizar : 2008 : 4).

2.8.3. Layanan Utama Internet

Internet telah membawa perubahan yang sangat besar dalam segala aspek kehidupan kita, hal ini tidak terlepas dari fasilitas-fasilitas yang terdapat dalam internet. Berikut ini fasilitas utama yang ada di internet (Yuhefizar : 2008 : 10) :

1. Electronic Mail (e-Mail)

Fasilitas untuk mengirim surat yang lebih cepat, murah dan mudah digunakan.

2. Website (www)

Website (WWW) yang sering juga kita sebut dengan website, merupakan fasilitas internet yang paling banyak dipakai, hampir 80 %


(45)

transaksi di internet dilakukan melalui media website. Dengan website kita dapat menampilkan informasi apa saja melalui browser dan informasi tersebut dapat ditampilkan berupa teks, grafik, suara, gambar, atau video sekalipun, bahkan melalui website kita dapat menonton televisi, radio dan video secara online (Yuhefizar : 2008 : 159).

3. Mailing List (milis)

Media untuk membentuk ruang diskusi di internet yang dapat diikuti oleh siapa saja yang mempunyai minat terhadap suatu topik.

4. File Transfer Protocol (FTP)

Fasilitas untuk mengirim (meng-upload) dan mengambil (men-download) file atau folder antara komputer yang terhubung dengan jaringan internet.

5. Chatting

Fasilitas untuk mengobrol secara online baik secara teks maupun secara grafik.

2.8.4. Penyedia Akses Internet

Selain memiliki piranti akses dan sarana koneksi, kita juga memerlukan penyedia jasa internet agar bisa terhubung ke internet. Terdapat tiga macam penyedia jasa yaitu penyedia jasa internet, jasa online komersial, dan penyedia jasa internet nirkabel.

1. Penyedia Jasa Internet (ISP; Internet Service Provider)

Penyedia jasa internet (ISP) adalah organisasi skala lokal, regional, atau nasional yang menyediakan akses ke internet.


(46)

2. Jasa Online Komersial

Jasa online komersial adalah perusahaan berbasis keanggotaan yang tidak hanya menyediakan akses internet, tetapi juga isi (content) khusus lain, misalnya berita, game, dan data finansial. Contohya adalah AOL (American Online) dan MSN (Microsoft Network).

3. Penyedia Jasa Internet Nirkabel

Penyedia jasa internet nirkabel memungkinkan para pengguna komputer yang memiliki modem nirkabel (biasanya laptop) Smart Phone, dan PDA berfitur web untuk mengakses internet. Contohnya adalah AT&T Wireless dan Verizon Wireless (Williams and Sawyer, 2007 : 59).

2.9. World Wide Web (WWW)

World Wide Web (WWW) yang sering juga kita sebut dengan website, merupakan fasilitas internet yang paling banyak dipakai, hampir 80 % transaksi di internet dilakukan melalui media website. Dengan website kita dapat menampilkan informasi apa saja melalui browser dan informasi tersebut dapat ditampilkan berupa teks, grafik, suara, gambar, atau video sekalipun, bahkan melalui website kita dapat menonton televisi, radio dan video secara online.

2.9.1. Pengertian World Wide Web (WWW)

Istilah web dapat juga diartikan merupakan fasilitas yang berisi database terdistribusi (Suarna : 2007 : 56). Pendapat lain menyebutkan, world wide web sering disingkat dengan www atau web adalah suatu metode untuk menampilkan informasi di internet, baik berupa teks, gambar, suara maupun video yang interaktif dan mempunyai kelebihan untuk menghubungkan (link) satu dokumen dengan dokumen


(47)

lainnya (hypertext) yang dapat diakses melalui sebuah browser (Yuhefizar : 2008 : 159).

Pengertian website menurut salah satu situs yang diakses penulis adalah kumpulan halaman-halaman yang digunakan untuk menampilkan informasi teks, gambar diam atau gerak, animasi, suara, dan atau gabungan dari semuanya itu baik yang bersifat statis maupun dinamis yang membentuk satu rangkaian bangunan yang saling terkait dimana masing-masing dihubungkan dengan jaringan-jaringan halaman (hyperlink)

2.9.2. Sejarah WWW

Sir Timothy Berners-Lee, penemu konsep www, Hypertext Markup Language (HTML), perancang skema pemberian alamat (URL), mendesain aturan-aturan di web yang kemudian menjadi HTTP (Hyper Text Transfer Protocol). Seorang computer scientis yang saat ini bekerja pada University of Southampton dan direktur world wide web Consortium (W3C). Sebuah organisasi yang memiliki 400-an anggota dengan staf yang berjumlah sekitar 40 orang yang tersebar seluruh dunia dan kantor berlokasi di Massachussets Institute of Technology (Yuhefizar : 2008 : 161).

Sejarah penemuan www berawal ketika tim bekerja di CERN (European Organization for Nuclear Research) merupakan suatu lembaga bagi peneliti fisika energi tinggi di Ganeva Swiss yang mengusulkan sebuah proyek berdasarkan konsep hypertext untuk memfasilitasi dan memperbaharui berbagai informasi antar periset. di tahun 1980. Pada awalnya CERN mempunyai tujuan adalah untuk membantu para fisikawan di berbagai lokasi yang berbeda dalam bekerja sama dan berbagi material penelitian (Williams and Sawyer, 2007 : 65). Pada tahun 1989 Berners-Lee membuat proposal untuk proyek pembuatan hypertext secara global, kemudian pada bulan


(48)

Oktober 1990, world wide web sudah bisa dijalankan dalam lingkungan CERN. Pada musim panas tahun 1991, www resmi digunakan secara luas pada jaringan internet.

Selama rentang tahun 1991 hingga 1993, Tim Berners-Lee terus berupaya membuat web tampil lebih baik lagi. Ia mulai membuat perancangan untuk halaman web, sekaligus mengkoordinir masukan dari para pengguna internet. Ia juga tercatat sebagai orang pertama yang membuat browser, server dan kunci protokol untuk internet. Hasil karyanya dalam membuat alamat URL, penggunaan HTTP dan pengkodean HTML terbukti berhasil dan menjadi kemajuan besar dalam perkembangan teknologi web.

Atas jasanya itu, Berners-Lee disebut sebagai bapak world wide web dan majalah Times edisi 14 Juni 1999 menempatkan Tim Berners-Lee sebagai salah satu dari 100 orang yang paling berpengaruh di abad ke-20. Tidak itu saja, beliau juga dianugrahi Millennium Technology Prize di Helsinki, Finlandia. Mendapat penghargaan itu, Berners-Lee hanya berkomentar merendah, “Banyak orang yang terlibat dalam pengembangan web. Saya hanya mengumpulkan (gagasan) dan mengemasnya” (Yuhefizar : 2008 : 162).

2.9.3. Jenis-Jenis Web

Seiring dengan perkembangan teknologi informasi yang begitu cepat, website juga mengalami perkembangan yang sangat berarti. Dalam pengelompokan jenis web, lebih diarahkan berdasarkan kepada fungsi, sifat, dan bahasa pemograman yang digunakan (Yuhefizar : 2008 : 162-164).

1. Jenis-jenis web berdasarkan sifatnya :

a. Website Dinamis, merupakan website yang menyediakan content atau isi yang selalu berubah-ubah setiap saat. Misalnya


(49)

website berita, seperti lain-lain.

b. Website Statis, merupakan website yang contentnya sangat jarang diubah. Misalnya, web profile organisasi, dan lain-lain. 2. Berdasarkan pada tujuannya, website terbagi atas :

a. Personal web, website yang berisi informasi pribadi seseorang. b. Corporate web, website yang dimiliki oleh sebuah perusahaan. c. Portal web, website yang mempunyai banyak layanan, mulai

dari layanan berita, e-mail, dan jasa-jasa lainnya.

d. Forum web, sebuah web yang bertujuan sebagai media untuk diskusi.

e. Disamping itu juga ada website Government, Banking, e-Shop, e-Learning, e-Payment, e-Procurement, e-Commerce,

dan lain sebagainya.

3. Ditinjau dari segi bahasa pemrograman yang digunakan, website terbagi atas :

a. Server Side, merupakan website yang menggunakan bahasa pemrograman dan sangat tergantung pada sebuah web server. b. Client Side, adalah website yang tidak membutuhkan server

dalam menjalankannya, cukup diakses melalui browser saja. 2.9.4. Unsur-Unsur Website atau Situs

Untuk menyediakan keberadaan sebuah website, maka harus tersedia

unsur-unsur penunjang untuk membangun website,


(50)

1. Nama domain (Domain name/URL - Uniform Resource Locator) Pengertian Nama domain atau biasa disebut dengan Domain Name atau URL adalah alamat unik di dunia internet yang digunakan untuk mengidentifikasi sebuah website, atau dengan kata lain domain name adalah alamat yang digunakan untuk menemukan sebuah website pada dunia internet. Sebagai contoh : http://www.baliorange.net, domain diperjualbelikan secara bebas di internet dengan status sewa tahunan. Nama domain sendiri mempunyai identifikasi ekstensi/akhiran sesuai dengan kepentingan dan lokasi keberadaan website tersebut. Contoh nama domain ber-ekstensi internasional adalah .com, .net, .org, .info, .biz, .name, .ws. Contoh nama domain ber-ekstensi lokasi Negara Indonesia adalah co.id (untuk nama domain website perusahaan), ac.id (nama domain website pendidikan), go.id (nama domain website instansi pemerintah), or.id (nama domain website organisasi).

2. Rumah tempat website (Web hosting)

Pengertian Web Hosting dapat diartikan sebagai ruangan yang terdapat dalam harddisk tempat menyimpan berbagai data, file-file, gambar dan lain sebagainya yang akan ditampilkan di website. Besarnya data yang bisa dimasukkan tergantung dari besarnya web hosting yang disewa/dipunyai, semakin besar web hosting semakin besar pula data yang dapat dimasukkan dan ditampilkan dalam website. Web Hosting juga diperoleh dengan menyewa. Besarnya hosting ditentukan ruangan harddisk dengan ukuran MB( Mega Byte ) atau GB( Giga Byte ). Lama penyewaan web hosting rata-rata dihitung per tahun. Penyewaan


(51)

hosting dilakukan dari perusahaan-perusahaan penyewa web hosting yang banyak dijumpai baik di Indonesia maupun Luar Negeri.

3. Bahasa Program (Scripts Program)

Scripts Program adalah bahasa yang digunakan untuk menerjemahkan setiap perintah dalam website yang pada saat diakses. Jenis bahasa program sangat menentukan statis, dinamis atau interaktifnya sebuah website. Semakin banyak ragam bahasa program yang digunakan maka akan terlihat website semakin dinamis, dan interaktif serta terlihat bagus. Beragam bahasa program saat ini telah hadir untuk mendukung kualitas website. Jenis-jenis bahasa program yang banyak dipakai para designer website antara lain HTML, ASP, PHP, JSP, Java Scripts, Java applets dan sebagainya. Bahasa dasar yang dipakai setiap situs adalah HTML sedangkan PHP, ASP, JSP dan lainnya merupakan bahasa pendukung yang bertindak sebagai pengatur dinamis, dan interaktifnya situs. Bahasa program ASP, PHP, JSP atau lainnya bisa dibuat sendiri. Bahasa program ini biasanya digunakan untuk membangun artikel, forum diskusi, buku tamu, anggota organisasi, email, mailing list dan lain sebagainya yang memerlukan update setiap saat.

4. Design website

Setelah melakukan penyewaan domain name dan web hosting serta penguasaan bahasa program (scripts program), unsur website yang penting dan utama adalah design. Design website menentukan kualitas dan keindahan sebuah website. Design sangat berpengaruh kepada penilaian pengunjung akan bagus tidaknya sebuah website. Untuk


(52)

membuat website biasanya dapat dilakukan sendiri atau menyewa jasa website designer. Saat ini sangat banyak jasa web designer, terutama di kota-kota besar. Perlu diketahui bahwa kualitas situs sangat ditentukan oleh kualitas designer. Semakin banyak penguasaan web designer tentang beragam program/software pendukung pembuatan situs maka akan dihasilkan situs yang semakin berkualitas, demikian pula sebaliknya. Jasa web designer ini yang umumnya memerlukan biaya yang tertinggi dari seluruh biaya pembangunan situs dan semuanya itu tergantung kualitas designer.

5. Publikasi website.

Keberadaan situs tidak ada gunanya dibangun tanpa dikunjungi atau dikenal oleh masyarakat atau pengunjung internet. Karena efektif tidaknya situs sangat tergantung dari besarnya pengunjung dan komentar yang masuk. Untuk mengenalkan situs kepada masyarakat memerlukan apa yang disebut publikasi atau promosi. Publikasi situs di masyarakat dapat dilakukan dengan berbagai cara seperti dengan pamlet-pamlet, selebaran, baliho dan lain sebagainya tapi cara ini bisa dikatakan masih kurang efektif dan sangat terbatas. Cara yang biasanya dilakukan dan paling efektif dengan tak terbatas ruang atau waktu adalah publikasi langsung di internet melalui berbagai search engine (seperti : Yahoo, Google, Search Indonesian, dan sebagainya). Cara publikasi di search engine ada yang gratis dan ada pula yang berbayar. Yang gratis biasanya terbatas dan cukup lama untuk bisa masuk dan dikenali di search engine terkenal seperti Yahoo atau Google. Cara efektif publikasi adalah dengan membayar, walaupun harus sedikit


(53)

mengeluarkan akan tetapi situs cepat masuk ke search engine dan dikenal oleh pengunjung.

6. Pemeliharaan Website.

Untuk mendukung kelanjutan dari situs diperlukan pemeliharaan setiap waktu sesuai yang diinginkan seperti penambahan informasi, berita, artikel, links, gambar atau lain sebagainya. Tanpa pemeliharaan yang baik situs akan terkesan membosankan atau monoton juga akan segera ditinggal pengunjung. Pemeliharaan situs dapat dilakukan per periode tertentu seperti tiap hari, tiap minggu atau tiap bulan sekali secara rutin atau secara periodik saja tergantung kebutuhan(tidak rutin). Pemeliharaan rutin biasanya dipakai oleh situs-situs berita, penyedia artikel, organisasi atau lembaga pemerintah. Sedangkan pemeliharaan periodik bisanya untuk situs-situs pribadi, penjualan/e-commerce, dan lain sebagainya.

2.9.5. Istilah-Istilah Seputar WWW

Dengan penerapan Graphic User Interface (GUI), memudahkan para pengguna internet mengakses informasi-informasi yang terdapat dalam internet melalui web browser. Web browser diantaranya adalah Netscape Navigator, Internet Explorer, Mozilla Fairfox, Mosaic, Google dan lain-lain (Suarna : 2007 : 56)

1. Browser

Browser adalah perangkat lunak untuk menjelajah web, Browser atau Web Browser adalah perangkat lunak yang memungkinkan seseorang mencari dan mengakses beragam komponen web. Web browser digunakan untuk memperoleh informasi dengan format hypertext. Web browser akan mengirimkan request ke web server, dan menampilkan


(54)

hasilnya ke pengguna. Selain itu web browser juga dapat mengirimkan form ke web server untuk diproses. Contoh dari web browser adalah NCSA Mosaic, Netscape Navigator, MacWeb, IE, Opera, Conqueror dan sebagainya.

2. Web

3. Halaman Web

Halaman Web adalah suatu dokumen pada sebuah situs web, sebuah situs dapat terdiri dari beberapa halaman web atau kumpulan halaman web yang terkait. Halaman web adalah dokumen pada world wide web yang bisa berisi teks, gambar, suara dan video. Halaman pertama yang dijumpai pada sebuat situs web mirip dengan halaman judul pada sebuah buku yang disebut homepage atau welcome page, yang merupakan penunjuk sebuah situs web dan berisi links ke halaman lain di situs tersebut.

4. URL

URL (Uniform Resource Locator) adalah kumpulan karakter yang menunjukkan pada potongan informasi khusus dibagian mana saja pada web. Dengan kata lain, URL adalah alamat situs web yang unik (tidak ada dua situs berbeda yang memiliki alamat sama). Berikut ini adalah contoh URL untuk sebuah situs web milik National Park Service untuk Taman Nasional Yosemite (Williams and Sawyer, 2007 : 64-65).


(55)

Gambar 2.3. Contoh URL Web National Park Service ( Sumber : Williams and Sawyer, 2007 : 66 ) 5. Web Server

Web server memberikan jawaban/response dari permintaan/request web browser. Web server juga dapat memproses form yang dikirimkan oleh web browser. Contoh dari Web server adalah, Apache, NCSA HTTPD (Unix), Webstar (Mac), IIS/PWS (Windows). Sistem jaringan web server ialah sistem jaringan di mana layanan yang diberikan server berupa pengolahan dan pemakaian bersama dokumen-dokumen yang saling terhubung. Jaringan ini merupakan jaringan yang memungkinkan tiap dokumen dalam jaringan memiliki hubungan ke dokumen lain sehingga dokumen-dokumen dalam jaringan terhubung satu dengan yang lain, semacam jaring laba-laba (Oetomo, et al, 2006 : 88).

2.10. Network Development Life Cycle (NDLC)

NDLC merupakan model kunci dibalik proses perancangan jaringan komputer. NDLC merupakan model yang mendefinisikan siklus proses pembangunan atau pengembangan sistem jaringan komputer. (Goldman & Rawles, 2001 : 470). Seperti model pengembangan sistem untuk software, NDLC terdiri dari elemen yang mendefinisikan fase, tahapan, langkah, atau mekanisme proses spesifik. Kata “cyle” (siklus) adalah kata kunci deskriptif dari siklus-hidup pengembangan sistem jaringan


(56)

yang menggambarkan secara eksplisit seluruh proses dan tahapan pengembangan sistem jaringan yang berkesinambungan.

NDLC dijadikan metode yang digunakan sebagai acuan (secara keseluruhan atau secara garis besar) pada proses pengembangan dan pembangunansistem jaringan komputer, mengingat bahwa setiap jaringan komputer memiliki kebutuhan yang berbeda dan permasalahan yang berbeda (spesifik) dengan melakukan pendekatan yang bervariasi terhadap model NDLC. NDLC mendefinisikan siklus hidup proses yang berupa fase atau tahapan-tahapan dari mekanisme yang dibutuhkan dalam suatu rangkaian proses pembangunan atau pengembangan sistem jaringan komputer. Berkaitan dengan penelitian skripsi ini, penerapan dari setiap tahap NDLC adalah sebagai berikut :

Gambar 2.4 : Alur NDLC (James E.Goldman:2005) 2.10.1. Analysis (Analisis)

Model pengembangan sistem NDLC dimulai pada fase analisis. Pada tahap ini dilakukan proses perumusan permasalahan, Mengidentifikasi konsep dari penelitian yang akan kita lakukan.

2.10.2. Design (Perancangan)

Adalah tahap dimana akan dibuatnya gambar design topology jaringan interkoneksi yang akan dibangun, diharapkan dengan gambar design topology akan memberikan gambaran seutuhnya dari kebutuhan yang ada. Design bisa berupa design


(57)

struktur topology, design akses data, design tata layout perkabelan, dan sebagainya yang akan memberikan gambaran jelas tentang penelitian yang akan dibuat.

2.10.3. Simulation Prototyping (Prototipe Simulasi)

Adalah tahap dimana dilakukannya pembuatan prototipe sistem yang akan dibangun, tahap ini dilakukan sebagai simulasi dari implementasi sistem produksi. Dengan demikian dapat diketahui gambaran umum dari proses komunikasi, keterhubungan dan mekanisme kerja dari interkoneksi keseluruhan elemen sistem yang akan dibangun.

2.10.4. Implementation (Implementasi)

Adalah tahap dimana spesifikasi rancangan solusi yang dihasilkan pada fase design dan perancangan, digunakan sebagai panduan instruksi implementasi pada lingkungan yang sebenarnya. Aktivitas pada fase implementasi melingkupi instalasi dan konfigurasi terhadap : rancangan topologi jaringan, komponen sistem (beserta sejumlah aplikasi pendukung).

2.10.5. Monitoring (Pengawasan)

Adalah tahap dimana dilakukannya pengawasan terhadap hasil dari implementasi yang telah dilakukan. Pada NDLC, proses pengujian digolongkan pada fase ini. Hal ini mengingat bahwa proses pengujian dilakukan melalui aktivitas pengoperasian dan pengamatan sistem yang sudah dibangun/dikembangkan dan sudah diimplementasikan untuk memastikan bilamana sistem dan sejumlah komponen pendukung sudah berjalan dengan baik dan benar, sudah sesuai dengan kebutuhan, serta sudah menjawab semua pertanyaan dan permasalahan spesifik yang dirumuskan. 2.10.6. Management (pengelolaan)

Adalah tahap dimana dilakukannya pengaturan atau pengelolaan terhadap system yang telah dibangun agar dapat berjalan dengan baik dan berlangsung lama.


(58)

Pada NDLC, aktivitas perawatan, pemeliharaan dan pengelolaan dikategorikan pada fase ini, karena proses manajemen/pengelolaan sejalan dengan aktivitas perawatan/pemeliharaan sistem. Jaminan efektivitas dari interkoneksi sistem menjadi masukan pada tahap ini untuk menghasilkan keluaran berupa jaminan fleksibilitas dan kemudahan pengelolaan serta pengembangan sistem di masa yang akan datang.

2.11. Penelitian Sejenis

Sebagai acuan dalam melakukan penelitian tugas akhir ini, maka penulis melakukan perbandingan studi terhadap beberapa penelitian sejenis yang berkaitan dengan penelitian ini.

Berikut ini adalah beberapa penelitian yang dijadikan perbandingan oleh penulis dalam melakukan penelitian.

1. PERBANDINGAN KINERJA SERVER MELALUI VIRTUALIZATION XEN PADA LINGKUNGAN TERBATAS oleh Haris (Universitas Indonesia, 2008)

Implementasi software Virtualization untuk berbagai platform sudah cukup matang untuk digunakan dalam tingkatan operasional organisasi. Dikombinasikan dengan server yang menggunakan prosesor dengan multi-core atau server dengan multi prosesor yang mudah dijumpai di pasaran, unjuk kerja virtualization menjadi semakin baik. Sementara itu, pemakaian virtualization sebagai pilihan untuk pemisahan server-server dengan kebutuhan spesifik belum popular di Indonesia. Terbukti dari sulitnya mencari publikasi tentang implementasi atau cerita sukses penggunaan virtualization pada lingkungan suatu organisasi yang berlokasi di Indonesia.

Dalam penelitian ini, eksperimen dilakukan untuk mencari tahu sejauh mana server virtual bisa dibuat untuk melayani beberapa layanan popular,


(59)

yaitu web, mail, dan file-sharing. Eksperimen dalam penelitian ini membuktikan bahwa penggunaan server virtual dengan beban kerja ringan memberikan kinerja dengan perbedaan hamper sama jika dibandingkan dengan layanan pada server native. Hal ini menunjukkan bahwa penggunaan virtualization di dalam suatu organisasi dapat diterima oleh pengguna layanan tertentu, demi mendapatkan keuntungan dari virtualization.

Berdasarkan kelebihan dan kekurangan dari penelitian sejenis di atas, maka penelitian penulis yang berjudul “Virtualisai Menggunakan Xen Hypervisor Sebagai Efisiensi Penggunaan Server (Studi Kasus: PT. Smart Intermedia Solusindo) memiliki kelebihan yaitu menggunakan multi Operating System dan aplikasi mudah untuk digunakan.


(1)

**************************** File /boot/grub/menu.lst ****************************

[root@rhel52pvm ~]# cat /boot/grub/menu.lst # grub.conf generated by anaconda

#boot=/dev/xvda default=0

timeout=15

splashimage=(hd0,0)/grub/splash.xpm.gz # hiddenmenu

title CentOS (2.6.18-92.el5xen) root (hd0,0)

kernel /vmlinuz-2.6.18-92.el5xen ro root=/dev/VolGroup00/LogVol00 rhgb quiet initrd /initrd-2.6.18-92.el5xen.img

************************************* Setup vncserver to run at DomU:- ************************************* # mkdir .vnc

# cd .vnc # vncserver :1

Vnc password will be requested by the last command. Edit ~/.vnc/xstartup and uncomment first two lines. Make this file as follows bellow:

#!/bin/sh

unset SESSION_MANAGER

exec /etc/X11/xinit/xinitrc

[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup [ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources xsetroot -solid grey

vncconfig -iconic &

xterm -geometry 80×24+10+10 -ls -title “$VNCDESKTOP Desktop” & twm &

Make following changes to /etc/sysconfig/vncservers file:- VNCSERVERS=”1:root”

VNCSERVERARGS[1]=”-geometry 1024×768″ Then run:-

# chkconfig vncserver on # reboot

**************************************************** “xm list -l rhel-pvgrub” report follows bellow:- **************************************************** [root@ServerCentOS52 ~]# xm list -l rhel-pvgrub (domain

(domid 39)

(on_crash restart)

(uuid 7b1bd3ec-cb48-209e-7332-fac938b5d47e) (bootloader_args )

(vcpus 1)

(name rhel-pvgrub) (on_poweroff destroy) (on_reboot restart) (bootloader )

(maxmem 2048) (memory 2048) (shadow_memory 0) (features )


(2)

(on_xend_stop ignore) (start_time 1223242728.57) (cpu_time 22.126731432) (online_vcpus 1)

(image (linux

(kernel /usr/lib/xen/boot/pv-grub-x86_64.gz) (args ‘(hd0,0)/grub/menu.lst’)

(notes) )

)

(status 2) (state -b—-)

(store_mfn 2239405) (console_mfn 2239404) (device

(vif

(bridge eth0)

(mac 00:16:3e:3c:e4:55) (script vif-bridge)

(uuid 02994996-60ef-44fa-3913-ee5f7bf02c3a) (backend 0)

) )

(device (vbd

(protocol x86_64-abi)

(uuid 00a0c8e2-561a-9eb3-9c0a-3511bbd1ef88) (dev xvda:disk)

(uname phy:/dev/sda10) (mode ‘w!’)

(backend 0) (bootable 1) (VDI )

) )

(device (console

(protocol vt100) (location 2)

(uuid 1e8291b4-07a2-67e5-b124-0fd4084849b2) )

) )

Instalasi menggunakan SSH

$ ssh 10.17.37.243

Last login: Thu Sep 11 12:57:31 2008 from 10.0.80.84 [root@ns0 ~]# cd /mnt

[root@ns0 mnt]# ls

[root@ns0 mnt]# mkdir xs-tools

[root@ns0 mnt]# mount /dev/xvdd /mnt/xs-tools/

mount: block device /dev/xvdd is write-protected, mounting read-only

[root@ns0 mnt]# cd /mnt/xs-tools/Linux/ [root@ns0 Linux]# bash install.sh


(3)

Detected `CentOS release 5.2 (Final)' (centos version 5). The following changes will be made to this Virtual Machine:

* packages to be installed/upgraded:

- kernel-xen-2.6.18-53.1.13.el5.xs4.1.0.24.x86_64.rpm - xe-guest-utilities-4.1.0-257.x86_64.rpm

Continue? [y/n] y

Preparing...########################################### [100%] 1:xe-guest-utilities########################################### [100%]

Preparing...########################################### [100%] package 2.6.18-92.el5 (which is newer than kernel-xen-2.6.18-53.1.13.el5.xs4.1.0.24) is already installed

You should now reboot this Virtual Machine. [root@ns0 Linux]#

mkdir /mnt/xs-tools

mount /dev/xvdd /mnt/xs-tools cd /mnt/xs-tools/Linux/

bash install.sh

Virt-install

cat /etc/xen/vm01

name = "vm01"

uuid = "6c835c75-41da-b13f-ec1b-946c4079ec17" maxmem = 256

memory = 256 vcpus = 1

bootloader = "/usr/bin/pygrub" on_poweroff = "destroy"

on_reboot = "restart" on_crash = "restart" vfb = [ ]

disk = [ "tap:aio:/vm/vm01.img,xvda,w" ]

vif = [ "mac=00:16:3e:7a:27:02,bridge=xenbr0" ]

Jalankan

xm console vm01

untuk login pada mesin virtual lagi (tipe

CTRL +]

jika kita berada di konsol,

atau

CTRL +5

jika kita menggunakan Putty untuk kembali ke

dom0

), atau

menggunakan klien SSH untuk menyambungkan.


(4)

Untuk mendapatkan daftar tipe yang berjalan di mesin virtual

xm list

Output akan terlihat seperti ini:

[root@server1 ~]# xm list

Name

ID Mem(MiB) VCPUs State Time(s)

Domain-0

0 771 1 r--- 283.5

vm01

1 255 1 -b---- 237.6

[root@server1 ~]#

Untuk menutup

vm01

, lakukan ini:

xm shutdown vm01

Untuk memulai

vm01

lagi, jalankan

xm create /etc/xen/vm01

Jika ingin

vm01

untuk memulai secara otomatis pada boot berikutnya dari

sistem, kemudian melakukan ini:

ln -s /etc/xen/vm01 /etc/xen/auto

Output info xm

xm info

host : localhost.localdomain release : 2.6.18-53.el5xen

version : #1 SMP Wed Oct 10 17:06:12 EDT 2007

machine : i686

nr_cpus : 1

nr_nodes : 1

sockets_per_node : 1

cores_per_socket : 1

threads_per_core : 1

cpu_mhz : 2993

hw_caps : 0febfbff:20100000:00000000:00000180:0000a015:00000000:00000001 total_memory : 255

free_memory : 14

xen_major : 3

xen_minor : 1


(5)

xen_caps : xen-3.0-x86_32p xen_pagesize : 4096

platform_params : virt_start=0xf5800000 xen_changeset : unavailable

cc_compiler : gcc version 4.1.2 20070626 (Red Hat 4.1.2-14)

cc_compile_by : brewbuilder cc_compile_domain : build.redhat.com

cc_compile_date : Wed Oct 10 16:30:55 EDT 2007 xend_config_format : 2

XenMon

ms_per_sample = 100 Initialized with 1 cpu CPU Frequency = 2993.98 Event counts:

00000000 Other 00000000 Add Domain 00000000 Remove Domain 00000000 Sleep

00022838 Wake 00022838 Block 00045666 Switch 00000000 Timer Func 00045666 Switch Prev 00045666 Switch Next 00000000 Page Map 00000000 Page Unmap 00000000 Page Transfer

processed 182674 total records in 288 seconds (634 per second)

woke up 288 times in 288 seconds (1 per second)

xenmon.py:

xenmon.py --help

usage: xenmon.py [options] options:

-h, --help show this help message and exit -l, --live show the ncurses live monitoring frontend (default)

-n, --notlive write to file instead of live monitoring

-p PREFIX, --prefix=PREFIX

prefix to use for output files -t DURATION, --time=DURATION

stop logging to file after this much time has elapsed

(in seconds). set to 0 to keep logging indefinitely

-i INTERVAL, --interval=INTERVAL

interval for logging (in ms) --ms_per_sample=MSPERSAMPLE


(6)

determines how many ms worth of data goes in a sample

--cpu=CPU specifies which cpu to display data for

--allocated Display allocated time for each domain --noallocated Don't display allocated time for each domain

--blocked Display blocked time for each domain --noblocked Don't display blocked time for each domain

--waited Display waiting time for each domain --nowaited Don't display waiting time for each domain

--excount Display execution count for each domain

--noexcount Don't display execution count for each domain

--iocount Display I/O count for each domain --noiocount Don't display I/O count for each domain

XenTop

xentop --help

Usage: xentop [OPTION]

Displays ongoing information about xen vm resources -h, --help display this help and exit

-V, --version output version information and exit -d, --delay=SECONDS seconds between updates (default 3) -n, --networks output vif network data

-x, --vbds output vbd block device data

-r, --repeat-header repeat table header before each domain -v, --vcpus output vcpu data

-b, --batch output in batch mode, no user input accepted