Pengembangan Dan Analisa Sistem Diskless Berbasis Ubuntu 10.04 Menggunakan Linux Terminal Server Project (LTSP)

(1)

ii

DEVELOPTMENT AND ANALYSIS DISKLESS SYSTEM BASED ON UBUNTU 10.04 USING LINUX TERMINAL SERVER

PROJECT (LTSP) By

TIFFAN KAMESWARA 10104241

Linux Operating System that has evolve and popular in the community has proven to provide many alternative solutions that boost efficiency, cost savings and ease of working. Linux allows to obtain the maximum capabilities of the computer with the minimization of the device of the client. Pronoun by using a computer network without a hard drive (diskless), which usually requires the development of computer network resources are fairly large.

The use of diskless systems can be used to solve the problems related to resource limitations. The concept of the computer is using the Linux Terminal Server Project (LTSP) in thin-client (diskless). Performance of the server that it is still not optimized to handle a client can do by configuring methods on the services that are used, such as the Linux kernel integration and use of local application so that performance of the server is not too disturbed, or in other words the existing resource on the server is not very much used by client.

The purpose of this final task is to optimize the performance of Linux Terminal Server Project (LTSP) which then will be used for various purposes ranging from education to the needs of work. The advantage of using diskless computers that Backup data is centralized on the server, and ease of administration on the client.

Keyword : Linux, Diskless Computer, Thin Client, Linux Terminal Server Project (LTSP.


(2)

i

PENGEMBANGAN DAN ANALISA SISTEM DISKLESS BERBASIS UBUNTU 10.04 MENGGUNAKAN LINUX TERMINAL SERVER

PROJECT (LTSP)

Oleh

TIFFAN KAMESWARA 10104241

Sistem Operasi Linux yang kian berkembang dan memasyarakat telah terbukti memberikan banyak solusi alternatif yang mendorong efisiensi, penghematan biaya dan kemudahan kerja. Linux memungkinkan untuk mendapatkan kemampuan yang maksimal dari perangkat komputer dengan minimalisasi perangkat untuk client. Salah satunya dengan memanfaatkan jaringan komputer tanpa harddisk (diskless), dimana biasanya pembangunan jaringan komputer membutuhkan resource yang cukup besar.

Penggunaan sistem diskless dapat dimanfaatkan untuk mengatasi masalah-masalah yang berhubungan dengan keterbatasan resource. Konsep komputer yang akan dijalankan yaitu dengan menggunakan Linux Terminal Server Project

(LTSP) secara thin-client (diskless). Performa server yang dirasa masih kurang untuk menangani client dapat dioptimasi dengan dilakukannya metode konfigurasi pada service-service yang digunakan, seperti integrasi kernel linux dan penggunaan local application agar kinerja server tidak terlalu terganggu atau dengan kata lain resource yang ada pada server tidak terlalu banyak terpakai oleh

client.

Tujuan tugas akhir ini adalah untuk mengoptimalkan kinerja penggunaan

Linux Terminal Server Project (LTSP) yang kemudian akan dimanfaatkan untuk berbagai keperluan mulai dari keperluan pendidikan sampai pada keperluan kerja. Keuntungan dari penggunaan diskless computer yaitu Backup data yang terpusat di server, dan mudahnya administrasi pada client.

Kata kunci : Linux, Diskless Computer, Thin Client, Linux Terminal Server Project (LTSP).


(3)

1

BAB 1

PENDAHULUAN

1.1Latar Belakang Masalah

Sistem Operasi Linux yang kian berkembang dan memasyarakat telah terbukti memberikan banyak solusi alternatif yang mendorong efisiensi, penghematan biaya dan kemudahan kerja. Linux memungkinkan untuk mendapatkan kemampuan yang maksimal dari perangkat komputer dengan minimalisasi perangkat untuk client. Salah satunya dengan memanfaatkan

jaringan komputer tanpa harddisk (diskless), dimana biasanya pembangunan

jaringan komputer membutuhkan resource yang cukup besar.

Penggunaan sistem diskless dapat dimanfaatkan untuk mengatasi

masalah-masalah yang berhubungan dengan keterbatasan resource. Konsep komputer yang

akan dijalankan yaitu dengan menggunakan Linux Terminal Server Project

(LTSP) secara thin-client (diskless). Pada jaringan diskless ini, satu komputer

yang dilengkapi dengan komponen yang lengkap bertindak sebagai server,

sedangkan komputer lain yang bertindak sebagai client tidak dilengkapi dengan

media penyimpan. Selanjutnya komputer client tersebut dapat menjalankan sistem

seperti komputer yang memiliki harddisk dan sudah terdapat sistem operasi

maupun paket aplikasi didalamnya serta client akan mendapatkan performa yang

tinggi sesuai komputer server. Selain itu dibutuhkan juga bootrom untuk

mengaktifkan LTSP (Linux Terminal Server Project) di client. Untuk membuat


(4)

(Dinamic host Configuration Protocol), NFS, Rdekstop, PXE, Portmap dan paket

LTSP itu sendiri.

Pengembangan sistem diskless menggunakan Linux Service Terminal Project

(LTSP) dapat dimanfaatkan untuk berbagai keperluan mulai dari keperluan pendidikan sampai pada keperluan kerja. Keuntungan dari penggunaan diskless

computer yaitu Backup data yang terpusat di server, dan mudahnya administrasi

pada client. Performa server LTSP yang dirasa masih kurang untuk menangani

client dapat dioptimasi dengan dilakukannya metode konfigurasi pada

service-service yang digunakan, seperti integrasi kernel linux dan penggunaan local

application yang digunakan pada sistem LTSP agar kinerja server tidak terlalu

terganggu atau dengan kata lain resource yang ada pada server tidak terlalu

banyak terpakai oleh client.

Sehubungan dengan hal tersebut, maka menjadi alasan bagi penulis untuk mengambil suatu judul “Pengembangan dan Analisa Sistem Diskless Berbasis Ubuntu 10.04 Menggunakan Linux Terminal Server Project (LTSP)”.

1.2Identifikasi Masalah

Berdasarkan latar belakang masalah yang ada, maka dapat diidentifikasikan masalah yang ada, yaitu :

1. Kemampuan client yang minim dan juga kebutuhan resource dalam

pembangunan jaringan komputer yang cukup besar.

2. Performa server LTSP dalam kondisi default masih dirasa kurang untuk


(5)

3. Bagaimana penggunaan resources dalam jaringan diskless?

1.3Maksud dan Tujuan

Berdasarkan permasalahan yang diteliti, maka maksud dari penulisan tugas akhir ini adalah untuk mengembangkan system diskless menggunakan Linux

Terminal Server Project (LTSP).

Sedangkan tujuan yang akan dicapai dalam penelitian ini adalah :

1. Membangun sistem diskless menggunakan Linux Terminal Server Project

(LTSP).

2. Melakukan optimasi dan efisiensi pada sistem LTSP dengan melakukan integrasi pada kernel linux (kernel versi 3.0) dan penggunaan local application

3. Mengetahui performasi processor dan memori kondisi default dan hasil

optimasi untuk sistem LTSP dan aplikasi yang berjalan diatasnya.

1.4Batasan Masalah

Dalam penelitian ini, penulis membatasi masalah sebagai berikut :

1. Kode sumber distro diadopsi dari distribusi Ubuntu versi 10.04 yang merupakan distribusi Linux turunan Debian.

2. Modifikasi Chroot menggunakan distribusi Linux Ubuntu versi 10.04. 3. Pengintegrasian kernel dari versi 2.6.xx menjadi versi 3.0.


(6)

Execution Environment).

5. Pengujian akan dilakukan dengan melihat perbandingan kerja processor dan memori dan diberikan tiga buah beban aplikasi, yaitu Openoffice,Gimp,dan Firefox web browser.

6. Sistem yang dibangun akan terdiri dari satu buah server LTSP dan tiga buah

client dengan spesifikasi sebagai berikut :

a. Spesifikasi server : Processor 2,0 Ghz, Memory 2 GB

b. Spesifikasi client : Processor minimal 533 Ghz, Memory 128 MB

1.5Metodologi Penelitian

Metodologi yang digunakan dalam penulisan tugas akhir ini adalah sebagai berikut :

1. Tahap pengumpulan data

Metode pengumpulan data yang digunakan dalam penelitian ini adalah sebagai berikut :

a) Studi Literatur.

Pengumpulan data dengan cara mengumpulkan literatur, jurnal, paper dan

bacaan-bacaan yang ada kaitannya dengan judul penelitian. b) Observasi.

Teknik pengumpulan data dengan mengadakan penelitian dan peninjauan langsung terhadap permasalahan yang diambil.

2. Tahap perancangan dan pengembangan sistem.


(7)

yang ditanamkan kedalam sistem server LTSP. 3. Instalasi dan modifikasi sistem

Tahap instalasi yang dibutuhkan oleh system dan dilakukan konfigurasi yang diperlukan untuk mengembangkan sistem.

4. Pengujian

Pengujian yang dilakukan terhadap kondisi sistem default dan setelah

dilakukannya optimalisasi pada sistem LTSP.

1.6Sistematika Penulisan

Sistematika penulisan penelitian dengan judul PENGEMBANGAN DAN

ANALISA SISTEM DISKLESS BERBASIS UBUNTU 10.04

MENGGUNAKAN LINUX TERMINAL SERVER PROJECT (LTSP) ini

disusun untuk memberikan gambaran umum tentang penelitian yang dijalankan. Sistematika penulisan tugas akhir ini adalah sebagai berikut :

BAB I PENDAHULUAN

Menguraikan tentang latar belakang permasalahan, identifikasi masalah, maksud dan tujuan, batasan masalah, metodologi, serta sistematika penulisan.

BAB II. LANDASAN TEORI

Membahas berbagai konsep dasar dan teori-teori yang berkaitan dengan topik penelitian yang dilakukan dan hal-hal yang berguna dalam proses analisis permasalahan, berupa jaringan komputer, DHCP, XDMCP, NFS, sistem


(8)

terdistribusi, client server, kernel, sistem operasi, linux, distribusi linux dan struktur direktori.

BAB III. ANALISIS DAN PERANCANGAN SISTEM

Mengemukakan mengenai dasar-dasar teori yang mendukung topik yang didapat dari studi literatur dan percobaan mulai dari Analisis Sistem, Analisis Masalah, Deskripsi Sistem, Analisis Non Fungsional, Analisis Fungsional, Perancangan Sistem Linux Terminal Server Project (LTSP).

BAB IV. IMPLEMENTASI DAN PENGUJIAN

Menguraikan implementasi atau penerapan sistem yang telah dirancang diantaranya : Instalasi Server Linux Terminal Server Project (LTSP), Tampilan Login dan Desktop Linux Terminal Server Project (LTSP), Pengujian kerja LTSP pada sepuluh Client dan Pengujian Linux Terminal Server Project (LTSP).

BAB V. KESIMPULAN DAN SARAN


(9)

7

TINJAUAN PUSTAKA

2.1 Jaringan Komputer

Jaringan komputer adalah sebuah kumpulan komputer, printer dan peralatan lainnya yang terhubung dalam satu kesatuan. Informasi dan data bergerak melalui kabel-kabel atau tanpa kabel sehingga memungkinkan pengguna jaringan komputer dapat saling bertukar dokumen dan data, mencetak pada printer yang sama dan bersama-sama menggunakan hardware/software yang terhubung

dengan jaringan. Setiap komputer, printer atau periferal yang terhubung dengan jaringan disebut node. Sebuah jaringan komputer dapat memiliki dua, puluhan,

ribuan atau bahkan jutaan node.

2.2.1 Jenis-Jenis Jaringan Komputer

Jaringan komputer dapat dibedakan berdasarkan cakupan geografisnya. Ada empat kategori utama jaringan komputer yaitu :

a. Local Area Network (LAN)

Local Area Network (LAN), merupakan jaringan milik pribadi di dalam

sebuah gedung atau kampus yang berukuran sampai beberapa kilometer. LAN seringkali digunakan untuk menghubungkan komputer-komputer pribadi dan

workstation dalam kantor suatu perusahaan atau pabrik-pabrik untuk memakai

bersama sumberdaya (resource, misalnya printer) dan saling bertukar


(10)

b. Metropolitan Area Network (MAN)

Metropolitan Area Network (MAN), pada dasarnya merupakan versi LAN yang berukuran lebih besar dan biasanya menggunakan teknologi yang sama dengan LAN. MAN dapat mencakup kantor-kantor perusahaan yang letaknya berdekatan atau juga sebuah kota dan dapat dimanfaatkan untuk keperluan pribadi (swasta) atau umum. MAN mampu menunjang data dan suara, bahkan dapat berhubungan dengan jaringan televisi kabel.

c. Wide Area Network (WAN)

Wide Area Network (WAN), jangkauannya mencakup daerah geografis

yang luas, seringkali mencakup sebuah negara bahkan benua. WAN terdiri dari kumpulan mesin-mesin yang bertujuan untuk menjalankan program-program (aplikasi) pemakai.

d. Global Area Network (GAN)

Global Area Network (GAN) merupakan suatu jaringan yang menghubungkan negara-negara diseluruh dunia. Kecepatan GAN bervariasai mulai dari 1.5Mbps sampai dengan 100Gbps dan cakupannya meliputi ribuan kilometer. [7]

2.2 DHCP (Dynamic Host Configuration Protocol)

DHCP menggunakan hubungan server-clientuntuk mengalokasikan

alamat, melacak penggunannya ,meminta kembali alamat IP yang sudah ditentukan dan informasi komunikasi yang diperlukan dalam system jaringan.

Server DHCP biasa digunakan dengan range alamat IP tertentu. Ketika sebuah

system clientmelakukan boot,system tersebut mengirimkan permintaan kepada


(11)

Pada umumnya, server DHCP berhubungan dengan alamat IP dan sebuah periode

waktu yang ditentukan (disebut juga dengan lease) yang akan digunakan oleh

client. DHCP mengatur reklamasi dan penugasan dari pengorganisasian alamat IP.

DHCP juga dapat digunakan untuk meneruskan informasi tambahan untuk sebuah system boot. Pertama, sebuah client melakukan request boot, yang

termasuk didalamnya informasi konfigurasi yang spesifik mengenai client. Server

menerima paket informasi ini dan membandingkan informasi konfigurasi dengn sebuah database parameter, dan bereaksi dengan data tambahan diluar alamat IP (seperti zona waktu atau informasi spesifik lainnya).[4][5][7]

2.3 XDMCP (X Display Manager Control Protocol)

X Window System protocol tampilan dan jaringan yang dikembangkan oleh

MIT. Sistem X dibangun dengan fungsi jaringan dan dengan kemampuan untuk menjalankan sesi grafis pada computer yang di remote. Didalamnya X Display

Manager digunakan untuk memulai sebuah session dari system lokal atau dari computer lain. Permintaan dan permulaan session ditangani oleh XDMCP (X Display Manager Control Protocol) dan protocol jaringannya.XDMCP menyediakan sebuah cara untuk menjalankan X−Terminal untuk PC dan menggunakan X Server untuk menyediakan sebuah antarmuka client/server antara

perangkat keras tampilan (mouse, keyboard, dan video) juga desktop dan juga

menyediakan baik infrastruktur windowing dan sebuah antarmuka aplikasi

standar. X−Terminal dapat ditampilan dengan sebuah jendela (tampilan) tunggal atau banyak jendela, berdasar kepada pengaturan dan kemampuan perangkat lunak system X. [4][5][7]


(12)

2.4 NFS ( Network File System)

NFS adalah sebuah file system yang dikembangkan oleh Sun Microsystems

dan diperkenalkan pada akhir tahun 1984. NFS pada awalnya dikembangkan untuk workstation Unix namun juga banyak digunakan oleh workstation lain seperti Microsoft Windows. Beberapa istilah yang digunakan dalam NFS adalah sbb:

1. INODE, adalah sebuah struktur data yang mewakili berkas atau direktori yang terdapat pada file system UNIX. INODE digunakan untuk

mengidentifikasi dan mencari sebuah berkas atau direktori yang terletak didalam file system lokal UNIX.

2. RNODE (remote file node), adalah sebuah struktur data yang mewakili berkas atau direktori yang terdapat pada remote file system (file system

tidak terdapat pada komputer lokal)

3. VNODE (the virtual file node), adalah sebuah struktur data yang mewakili berkas atau direktori yang terdapat pada virtual file system (VFS)

4. VFS (virtual file system), adalah sebuah struktur data (linked lists dari

VNODE) yang mengandung semua informasi yang diperlukan pada sebuah file system real yang diatur oleh NFS. Setiap VNODE berhubungan

dengan sebuah file system disertakan didalam linked list yang berpaut

kepada VFS untuk file system tersebut.

Server dan ClientNFS berkomunikasi menggunakan teknik remote procedure call.

Sebuah spesifikasi external data representation (XDR) digunakan untuk


(13)

2.5 Sistem Terdistribusi

Teknologi Informasi telah mengalami konvergensi (perpaduan), antara tiga kutub utama, yaitu teknologi komputer, telekomunikasi dan multimedia. Konvergensi antara ketiganya melahirkan inovasi-inovasi teknologi, produk dan layanan teknologi informasi yang baru, seperti internet, telepon seluler (ponsel) dan Personal Digital Assistant (PDA) dengan aplikasi-aplikasinya. Hal tersebut

membuka fenomena baru dalam ekplorasi pengembangan sistem terdistribusi, dimana infrastruktur teknologi baru memungkinkan terjadinya distribusi data, informasi objek, proses, beragam aplikasi, penggunaan bersama dan pengembangan sistem informasi. Konvergensi teknik informasi juga memungkinan terjadinya diversifikasi layanan ClientServer, seperti jasa layanan

perbankan Anjungan Tunai Mandiri (ATM), Internet Banking dan sebagainya.

2.5.1 Pengertian Sistem Terdistribusi

Sistem Terdistribusi terdiri dari dua kata, yaitu Sistem dan Terdistribusi. Sistem merupakan sekumpulan elemen yang saling berhubungan dengan lainnya dan membentuk satu kesatuan untuk menyelesaikan suatu tujuan yang spesifik atau menjalankan seperangakat fungsi. Sedangkan kata terdistribusi berasal dari kata distribusi yang merupakan lawan kata sentralisasi, yang artinya penyebaran, sirkulasi, penyerahan, pembagian menjadi bagian-bagian kecil.

Maka berawal dari pengertian kata-kata pembentuknya, Sistem Terdistribusi dapat didefinisikan sebagai suatu keadaan dari elemen-element yang saling berinteraksi secara sistematis dan teratur untuk mendistribusikan data, informasi, Sistem Operasi, objek dan layanan dari dan kepada pengguna yang terkait didalamnya.


(14)

Selain pengertian diatas, sistem komputer terdistribusi didefinisikan pula sebagai sebuah sistem yang memungkinkan aplikasi komputer beroperasi secara terintegrasi pada lebih dari satu lingkungan yang terpisah secara fisis. Ciri khas sistem komputer terdistribusi adalah heterogenitas dalam berbagai hal perangkat keras, Sistem Operasi, dan bahasa pemrograman. Adalah tidak mungkin untuk mengembangkan sistem terdistribusi yang homogen secara paksaan, karena secara alamiah sistem komputer terdistribusi tumbuh dari lingkungan yang heterogen. Kata kunci dalam menjembatani perbedaan-perbedaan yang muncul adalah interoperabilitas (interoperability). Interoperabilitas adalah kemampuan saling

bekerjasama antar sistem komputer.

2.5.2 Tantangan Pengembangan Sistem Terdistribusi

Dalam mengembangkan sistem terdistribusi perlu memperhatikan beberapa aspek yang merupakan tantangan dalam pengembangan sistem terdistribusi, yaitu :

1. Keanekaragaman (heterogencity)

Sistem Terdistribusi mampu mendukung berbagai jenis Sistem Operasi, perangkat keras dan perangkat lunak.

2. Keterbukaan (openness)

Pengembangan sistem terdistribusi dilakukan dengan menambahkan komponen-komponen baru dapat dilakukan oleh programer yang berbeda-beda.


(15)

Sistem Terdistribusi harus dapat menyediakan keamanan yang memadai bagi sumber daya yang digunakan bersama dan pesan yang dihantarkan dalam sistem.

4. Skalabilitas (scalability)

Ukuran sistem terdistribusi dan tetap dapat berjalan dengan baik. Perubahan dapat dilakukan dari segi jumlah pengguna maupun dari segi kekuatan perangkat keras komputer-komputer dalam sistem terdistribusi itu sendiri.

5. Penanganan masalah (error handling)

Kesalahan yang terjadi pada suatu komputer dalam sistem terdistribusi mempengaruhi kinerja sistem secara keseluruhan.

6. Kebersamaan (concurrency)

Apabila terjadi permintaan layanan secara bersamaan sistem terdistribusi tidak akan menjadi kacau.

7. Penyembunyian (transparancy)

Penyembunyian membuat aspek distribusi tidak tampil oleh pengguna. a. Penyembunyian akses

Seseorang yang bekerja dalam lingkungan sistem terdistribusi dapat mengakses berbagai sumber daya yang berada dalam lingkungan tersebut untuk menyelesaikan pekerjaannya.

b. Penyembunnyian lokasi

Pengguna layanan transaksi tersebar tidak perlu mengetahui basis data yang akan diakses. Pengguna layanan transaksi juga dapat


(16)

mengakses basis data dari mana saja sejauh memiliki fasilitas untuk mengakses basis data yang bersangkutan.

c. Penyembunyian kebersamaan

Pengelola data mengetahui cara dalam menangani transaksi yang terjadi secara bersama.

d. Penyembunyian replikasi

Pengguna tidak terpengaruh apakah mengakses data orisinil atau replikasi.

e. Penyembunyian masalah

Apabila salah satu komputer dalam sistem terdistribusi mengalami kerusakan, kerusakan tersebut dapat diatasi secara langsung dan cepat tanpa terlihat dan tidak memerlukan banyak campur tangan dari pengguna.

f. Penyembunyian skala

Pengguna tidak terpengaruh atau direpotkan apabila komputer-komputer dalam sistem terdistribusi di-upgrade guna

meningkatkan kinerja dan jangkauan layanan.

2.5.3 Arsitektur Sistem Terdistribusi

Arsitektur didefinisikan sebagai suatu rancangan untuk penyusunan dan operasi komponen-komponen suatu sistem dimana rancangan tersebut mengidentifikasikan komponen beserta fungsi masing-masing komponen, konektifitas/hubungan antar komponen dan mendeskripsikan pemetaan fungsionalitas ke dalam komponen. Arsitektur sistem terdistribusi diharapkan mampu menyediakan gambaran fisik dan logikal dari sistem, serta mampu


(17)

menyediakan aplikasi dari komponen-komponen sistem beserta hubungan atarkomponen dalam sistem. Beberapa jenis arsitektur sistem terdistribusi adalah sebagai berikut :

1. ClientServer

Clientmenghubungi server untuk mendapatkan data, yang kemudian

memformat dan menampilkan pada pengguna. 2. Tightly Coupled (clustered)

Mesin-mesin terintegrasi yang menjalankan Sistem Operasi yang sama secara bersamaan dengan membagi tugas kedalam beberapa bagian yang dijalankan masing-masing mesin. Apabila Sistem Operasi telah selesai, hasil pekerjaan masing-masing mesin digabungkan menjadi satu.

3. Peer-to-peer

Arsitektur dimana tidak ada mesin yang menyediakan layanan atau mengelola sumber daya jaringan, sehingga segala tanggung jawab dibagikan diantara seluruh mesin dikenal dengan istilah pe

2.5.4 Proses

Berikut akan dibahas beberapa materi mengenai proses.

a. Sistem Operasi

Sebuah Sistem Operasi adalah program/instruksi berurutan yang sedang dijalankan. Sistem Operasi mempunyai komponen sebagai berikut :

a. Kode program yang akan dieksekusi/dijalankan.

b. Data yang digunakan ketika program dieksekusi (berasal dari file


(18)

c. Sumber daya yang dibutuhkan oleh program. d. Status dari Sistem Operasi tersebut.

Agar Sistem Operasi bisa dijalankan, maka Sistem Operasi harus mempunyai lingkungan abstrak mesin yang sesuai untuk mengatur/mengelola sumber daya yang dapat digunakan secara bersama dan sumber daya yang terisolasi di antara komunitas Sistem Operasi.

Gambar II.1 Lingkungan mesin abstrak mengelola Sistem Operasi dan sumber daya.[3]

b. Thread

Motivasi adanya model thread adalah untuk membuat abstraksi sistem

informasi yang sederhana dimana terdapat beberapa entri untuk menjalankan program yang sama menggunakan file dan peralatan/device yang sama pula.

Thread merupakan bentuk lain sistem operasi menurut sistem informasi klasik

Dalam model thread, Sistem Operasi adalah abstraksi sistem informasi yang

dapat mengalokasikan beragam sumber daya, namun tidak mempunyai komponen untuk menjalankan program.

Thread adalah suatu entitas yang berjalan menggunakan program dan

sumber daya dari sistem operasi yang memilki thread tersebut. Sistem operasi

dapat mempunyai beberapa thread. Thread sibling (thread yang berada dalam

satu sistem operasi) menggunakan program dan sumber daya sistem operasi secara bersama. Thread harus mempunyai alokasi sumber daya-nya sendiri

Code Data Process Status

Abstract Machine Environment (SISTEM


(19)

sehingga status internalnya dapat dibedakan dengan status internal thread lain.

Secara praktis, sumber daya minimum yang harus dipunyai adalah stack,

informasi status thread, dan beberapa entri tabel sistem informasi. Thread

dijalankan dalam address space yang sama namun merupakan unit komputasi

yang berdiri sendiri.

2.5.5 RPC (Remote Procedure Call)

Paradigma remote procedure call (RPC) merupakan perluasan dari

lingkungan pemrograman sekuensial dengan mengambil keuntungan dari teknologi jaringan. Dalam pemrograman sekuensial, prosedur digunakan untuk memodularkan proses komputasi. Pemodularan ini membungkus data dan implementasi fungsi-fungsi ke dalam suatu interface prosedur publik.

RPC merupakan sebuah variasi dari model penyampaian pesan. Esensi dari teknik ini adalah diperbolehkannya program-program yang terdapat dalam mesin yang berlainan untuk saling berinteraksi dengan menggunakan pemanggilan prosedur, seakan-akan kedua program berada pada satu mesin yang sama. Berikut beberapa penjelasan tambahan mengenai RPC, diantaranya :

a. Mekanisme Kerja RPC

Dalam suatu lingkungan komputasi terdistribusi, RPC diimplementasikan sebagai suatu kumpulan protokol jaringan yang membolehkan satu prosedur untuk memanggil prosedur lain yang dijalankan pada mesin yang berbeda dan mengirimkan salinan paramater untuk digunakan dalam proses komputasi. Karena alasan ini, RPC menjalankan pada ruang alamat yang berbeda dari prosedur pemanggil. RPC adalah suatu pola komunikasi antar proses yang mana program penginisialisasi menjalankan operasi pengiriman yang


(20)

langsung diikuti operasi baca-pemblokan. Program penerima akan menjalankan proses baca-pemblok hingga ia mendapat pesan yang dikirim oleh proses pemanggil tadi. Selanjutnya, akan memberikan pelayanan dan mengembalikan hasilnya ke proses asal.

Konsep sinkron dan tidak sinkron pada RPC analog dengan konsep

blocking (pemblokan) dan nonblocking pada pesan. RPC yang tradisional

bersifat sinkron yaitu yang mengharuskan proses pemanggil menunggu hingga proses terpanggil mengembalikan nilai. RPC yang sinkron mudah dipahami dan diprogram karena perilakunya dapat diperkirakan akan tetapi tidak berhasil mengeksploitasi keparalelan yang terwaris dalam aplikasi terdistibusi. Ini membatasi macam interaksi yang bisa dimiliki oleh aplikasi yang berakibat pada turunnya unjuk kerja. Untuk memberikan fleksibilitas yang lebih luas, RPC tidak-sinkron diimplementasikan untuk mengoptimalkan keparalelan sambil tetap mempertahankan kesederhanaan RPC. RPC tidak-sinkron tidak memblok pemanggil, nilai-nilai yang dikembalikan dapat diterima saat mereka dibutuhkan, yang memungkinkan eksekusi proses di clientdilanjutkan secara


(21)

Int main(…) {

…..

func(a1, a2, …, an);

…. }

void func(p1, p2, …, pn) {

….. } … pack(a1, msg); pack(a2, msg); … pack(an, msg); send(rpcServer, msg); //waiting…

Result = receiving(rpcServer); ...

//Initialize the server While(TRUE){

msg = receive(anyClient); unpack(msg, t1); unpack(msg, t2);

unpack(msg, tn); func(t1, t2, …, tn); pack(a1, rtnmsg); pack(a2, rtnmsg); … pack(an, rtnmsg); send(rpcServer, rtnMsg); }

Gambar II.2 Sinkronisasi RPC

b. Pengimplementasian RPC

Ada beberapa isu yang didapat dalam pengimplementasian RPC, antara lain :

a. Sintaksis RPC sebaiknya memiliki penampilan sintaksis yang sama seperti pemanggilan prosedur lokal dalam bahasa pemrograman tingkat tinggi.

b. Semantik pemanggilan dalam kasus remote dan kasus lokal

diupayakan seserupa mungkin, walaupun pada pelaksanaannya sulit. c. Penerima proses RPC sebaiknya dijalankan dalam lingkungan yang

sama dengan lingkungan dimana pemanggilan dilaksanakan. Untuk alasan ini, sebuah prosedur dapat mengacu dan mengubah variabel global dalam lingkungan konvensional.


(22)

c. Pengorganisasian Umum

Pada proses implementasi RPC, mesin clientmengeksekusi proses yang

terdiri atas kode aplikasi client, client stub dan mekanisme transport. Mesin

server mengimplementasikan proses rpcServer dengan sebuah mekanisme

transport, program utama server stub dan implementasi server dari prosedur

remote. Client stub berfungsi menterjemahkan prosedur lokal menjadi aksi

pada sisi clientdari protokol RPC dan server stub mengimplementasikan sisi

server dari protokol RPC.

Name Server Register(remoteF); … While(1) { receive(msg); unpack(msg); remoteF(…); pack(rtnMsg);

send(theClient, rtnMsg); }

Server Stub

remoteF(…) {

return; }

a Main Program

Int main(…) {

…. localF(…);

….

remoteF(…);

…. }

localF(…) {

…. return; }

lookup(remoteF); {

Pack(…);

Send(rpcServer.msg); Receive(…); Return; Client Stub

lookeupF(…) {

}

register(…) {

}

theClient rpcServer

Procedure Call Message Passing

Gambar II.3 Implementasi RPC[8]

d. Dukungan jaringan

Mekanisme transport mengimplementasikan penyampaian pesan jaringan.

Implementasi aktual cenderung untuk menggunakan protokol datagram dengan protokol RPC yang khusus. Pendekatan ini dibenarkan dengan


(23)

memperhatikan bahwa protokol RPC tidak mensyaratkan sirkuit virtual seperti

yang disediakan oleh TCP.

RPC berguna untuk proses tersebar pada mesin berbeda tetapi dia tidak mendorong komputasi paralel. Pada implementasi RPC, unjuk kerja pada saat

runtime selalu menjadi isu utama. Walau begitu, prosedur remote digunakan

secara luas dalam aplikasi terdistribusi karena dia mengimplementasi mode pemrograman tradisional tanpa perlu membutuhkan pengetahuan yang banyak tentang strategi dan mekanisme distribusi.

2.5.6 Penamaan

Nama dalam sebuah sistem yang terdistribusi adalah sebuah string dari bit atau karakter yang digunakan untuk menunjuk sebuah Entity. Untuk

mengoperasikan di dalam sebuah Entity, diperlukan sesuatu untuk mengaksesnya,

yaitu sesuatu yang disebut Acces Point. Nama dari sebuah Acces Point disebut

Address. Untuk menambahkan Address, perlu adanya tipe nama yang lain

mengirimkan sebuah perintah yang khusus, sebagaimana nama unik yang digunakan untuk identify entity. Identifier yang benar adalah sebuah nama yang

mempunyai properti berikut.

1. Sebuah Identifier yang menunjukan maksimal satu Entity.

2. Tiap Entity ditunjukkan oleh maksimal satu Identifier.

3. Sebuah Identifier selalu menunjuk ke Entity yang sama.(tidak pernah

digunakan kembali)

Nama dalam sistem terdistribusi biasanya diorganisasikan kedalam sesuatu yang disebut name space. Sebuah name space dapat diwakili oleh label, yaitu


(24)

grafik yang diarahkan melalui dua tipe Node yaitu Leaf Node yang mewakili

sebuah nama Entity dan mempunyai properti yang tidak mempunyai outgoing

edge dan Directory Node yang mempunyai sejumlah outgoing edge.

i. Fault Tolerance

Sebuah sistem dikatakan fail apabila sistem tersebut tidak dapat

melakukan apa yang sudah dijanjikan. Error adalah apabila ada bagian dari sistem

yang menujukkan kegagalan. Penyebab dari error disebut fault. Topik yang paling

hangat dari fault tolerance adalah bagaimana caranya sistem tersebut dapat

menyediakan servis meskipun dalam keadaan fault.

Secara umum fault diklasifikasikan kedalam transient, intermittent, atau

permanent.

2. Transient fault terjadi sekali dan kemudian menghilang. Jika

pengoperasian diulang, fault pun menghilang.

3. Intermittent fault terjadi, kemudian lenyap, lalu muncul kembali

dan begitu seterusnya.

4. Permanent fault adalah satu-satunya fault yang terus ada sampai

komponen yang mengalami fault tersebut diperbaiki.

Terdapat beberapa model Failure, diantaranya :

1. Crash failure terjadi apabila server berhenti secara prematur, tapi

pernah berjalan secara benar sampai server itu berhenti.

2. Ommision failure terjadi ketika server gagal untuk merespon


(25)

3. Timing failure terjadi apabila respon yang terjadi tidak sesuai

dengan waktu yang seharusnya.

4. Respon failure adalah apabila respon dari server tidak benar. Ini

adalah failure yang termasuk kategori serius.

5. State transition failure terjadi apabila respon dari server tidak

sesuai dengan apa yang diharapkan oleh permintaan yang datang. 6. Arbitrary failure atau disebut juga Byzantine failure, ketika failure

ini terjadi, dampaknya adalah clientharus bersiap untuk

kemungkinan yang terburuk.[8]

2.6 Client server

ClientServer merupakan salah satu arsitektur dari sistem terdistribusi.

Arsitektur ini memiliki beberapa hal yang perlu diketahui, diantaranya :

2.6.1 Komponen dasar ClientServer

1. Client

Clientmerupakan terminal yang digunakan oleh pengguna untuk

meminta layanan tertentu yang dibutuhkan. Terminal clientdapat

berupa PC, ponsel, komunikator, robot, televisi dan peralatan lain yang membutuhkan informasi

2. Middleware

Midleware merupakan komponen perantara yang memungkinkan

clientdan server untuk saling terhubung dan berkomunikasi satu sama

lain. Midleware ini dapat berupa Transaction Monitor /TP. Remote


(26)

3. Server

Server merupakan pihak yang menyediakan layanan. Server ini akan dapat berupa basis data SQL, Monitor TP, server groupware, server

objek dan web. Secara umum, server berperan menerima pesan

permintaan layanan dari client, memproses permintaan tersebut dan

mengirimkan hasil permintaan kepada client.

2.6.2 Ciri-ciri CilentServer

Beberapa ciri dari arsitektur sistem terdistribusi ClientServer diantaranya :

1. Berbasis layanan

Server memberikan sejumlah layanan yang dibutuhkan dan diminta oleh

client, antara lain : berbagai pakai berkas, dan peralatan pendukung.

2. Sumber daya yang digunakan bersama

Server mengelola sejumlah sumber daya yang dimiliki agar dapat diakses

dan digunakan secara bersama-sama oleh terminal-terminal clientyang

terhubung pada server.

3. Hubungan dan interaksi Client Server

Hubungan yang terjadi antara server dan client adalah one-to many, yang

berarti bahwa satu server melayani banyak client. Client selalu memulai

transaksi dengan meminta layanan sedangkan server menanti permintaan

layanan secara pasif.

4. Client tidak perlu mengetahui lokasi fisik server

Server dapat terletak di berbagai tempat yang belum tentu diketahui oleh

client, Walaupun demikian clienttetap dapat mengakses server untuk


(27)

5. Interoperabilitas perangkat lunak dan perangkat keras

Perangkat lunak dan keras yang digunakan oleh masing-masing clienttidak

harus sama dengan yang digunakan pada server, namun masih dapat saling

terkoneksi antara satu dan yang lain.

6. Pertukaran berbasis pesan

Mekanisme dari ClientServer berdasar pada pertukuran pesan. Pesan yang

dipertukarkan adalah permintaan layanan dan umpan balik dari permintaan layanan tersebut.

7. Enkapsulasi layanan

Clienttidak perlu mengetahui Sistem Operasi pengelolaan permintaan yang

terjadi dalam server sehingga client tidak dapat mengontrol Sistem

Operasi pengelolaan permintaan.

8. Skalabilitas

Skalabilitas adalah kemampuan untuk diperbesar atau diperkecil. Ukuran sistem ClientServer dapat diubah secara horizontal maupun vertikal.

Perubahan vertikal berarti berpindah ke server lebih besar atau lebih cepat

atau mendistribusikan tugas melayani clientke beberapa server.

Pengubahan horizontal berarti menambah atau mengurangi jumlah client.

9. Konsistensi data

Data hanya dikelola pada server pusat sehingga konsistensi dan data lebih


(28)

2.6.3 Tipe Jaringan Client Server

Berdasarkan tipe layanan yang diberikan server kepada client, jaringan

ClientServer dapat dibagi menjadi kedalam banyak tipe, tipe-tipe tersebut antara

lain :

1. Server Berkas

Sistem jaringan berkas adalah sistem jaringan yang dimana layanan yang diberikan server berupa berkas, baik berkas aplikasi seperti aplikasi

pengolahan kata, pengolahan angka, pengolahan data, pengolahan gambar dan lain sebagainya, maupun berkas yang dihasilkan oleh aplikasi tersebut, seperti dokumen pengolahan kata, tabel-tabel pengolahan angka, berkas presentasi dan lain sebagainya.

`

Permintaan

Berkas

Client Server

Gambar II.4 Server Berkas[8]

2. Server Basis Data

Sistem jaringan server basis data adalah merupakan sistem jaringan

dimana layanan yang diberikan oleh server berupa pengolahan dan

penyajian data berdasarkan perintah terstruktur (query) yang diberikan

client. Pada jaringan ini, server menyimpan berbagai macam data yang


(29)

Client Server `

Perintah Terstruktur

Hasil Proses Aplikasi

Gambar II.5 Server Basis Data[8]

3. Server Transaksi

Sistem jaringan server transaksi adalah sistem jaringan dimana layanan

yang diberikan server berupa hasil Sistem Operasi dari sekelompok

perintah terstruktur yang diberikan client. Jaringan ini pada dasarnya

hampir sama dengan sistem jaringan basis data sebelumnya. Perbedaan terletak pada server transaksi yang memproses sekelompok perintah

terstruktur dari client, dan sekelompok perintah terstruktur ini disebut

prosedur.

Client Server

`

Prosedur

Hasil Proses

Aplikasi Aplikasi

Gambar II.6 Server Transaksi[8]

4. Groupware Server

Sistem jaringan groupware adalah sistem jaringan dimana layanan yang diberikan server berupa fasilitas pemakaian bernama informasi semi

terstruktur diantara pengguna jaringan. Pada jaringan ini, server

menyimpan, mengelola dan menyebarkan informasi antar pengguna dalam jaringan, misalnya teks, gambar, surat dan ruang diskusi.


(30)

5. Server Objek

Sistem jaringan server objek adalah sistem jaringan dimana layanan

yang diberikan server berbentuk objek. Dalam jaringan ini, clientdan

server berkomunikasi melalui objek-objek yang miliki clientdan server.

6. Web Server

Sistem jaringan web server adalah sistem jaringan dimana layanan

yang diberikan server berupa pengelolaan 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 jaringan laba-laba.

2.6.4 Arsitektur Client Server

1. Two Tier

Arsitektur two tier merupakan arsitektur yang disebut ClientServer dimana

terdapat komputer sebagai clientdan server yang berinteraksi melalui

protokol dan media komunikasi tertentu Model arsitektur Two Tier


(31)

a. Thin Client– thick Server

Server Aplikasi

Client `

Client `

Client `

Gambar II.7 Thin Client – Thick Server[4] b. Thick Client – Thin Server

Server

Client

`

Client

`

Client

` Aplikasi Aplikasi Aplikasi

Gambar II.8 Thick Client – Thin Server[4]

2. Three Tier

Arsitektur ClientServer ini memisahkan antara data (Data

Management Tier), aplikasi (Middle Tier) dan penyajian (Presentation


(32)

Aplikasi

Client

`

Client

`

Server Server

Gambar II.9 Arsitektur Three Tier[8]

a. Data Management Tier

Merupakan komputer server yang dikhususkan untuk

menangani pengolahan basis data.

b. Middle Tier

Merupakan komputer server yang dikhususkan untuk

menangani aplikasi-aplikasi dimana prosedur-prosedur dan perhitungan-perhitungan yang kompleks dilakukan di komputer.

c. Presentation Layer

Merupakan komputer clientyang menjadi interface bagi

pengguna untuk memasukkan data, mengajuan permintaan layanan kepada server dan melihat hasilnya..

3. n-Tier

Istilah n-tier menunjukan lapisan yang ada dalam sebuah aplikasi.

Sebuah aplikasi terdiri dari beberapa komponen utama, yaitu lapisan

Presentation (Presentation Layer), lapisan application (Application Layer)

dan logika bisnis (bussiness logic layer) dan lapisan data (Data

layer).Lapisan Presentation menghubungkan antarmuka dengan pengguna aplikasi, dapat berupa model grafis atau berupa teks. Pengguna dapat


(33)

berinteraksi dengan aplikasi tersebut menggunakan lapisan presentation

ini. Lapisan Application berisi inti dari aplikasi dan lapisan data yang

digunakan oleh aplikasi tersebut. Lapisan data dapat berbentuk satu atau lebih server basis data yang lokasinya tersebar dibeberapa tempat.[4][8]

2.7 Kernel

Kernel yang pada banyak persepsinya disamakan dengan Linux adalah low level code yang berfungsi untuk mengatur interaksi perangkat

keras komputer yang kemudian lebih dikenal dengan istilah kernel sistem operasi. Kernel ini bertugas menyediakan sumber daya yang akan digunakan oleh aplikasi untuk dapat saling berinteraksi, memungkinkan CPU agar dapat digunakan oleh berbagai aplikasi secara bersamaan dan mengatur penggunaan memori.

Kernel kemudian dilengkapi dengan aplikasi yang menyediakan perangkat fungsional sistem operasi. Perangkat fungsional ini menyediakan antar muka perintah berbasis teks yang berfungsi memberikan instruksi kepada kernel agar dapat berinteraksi dengan perangkat keras komputer. Selain itu, kernel juga dilengkapi dengan compiler, sebuah aplikasi yang berfungsi untuk

mengubah kode sumber program menjadi aplikasi binary yang siap

digunakan.

Hingga saat ini, kernel terus dikembangkan agar dapat mengenali dan mengoperasikan berbagai perangkat keras komputer dan elektronik baru yang terus menerus bermunculan. Perkembangan kernel ini kemudian ditandai dengan munculnya versi kernel. Perkembangan kernel terbaru dapat dilihat pada situs http://kernel.org/.


(34)

2.7.1 Monolithic Kernel

Kernel yang menyediakan abstraksi perangkat keras yang kaya dan tangguh. Kernel monolitik mengintegrasikan banyak fungsi di dalam kernel dan menyediakan lapisan abstraksi perangkat keras secara penuh terhadap perangkat keras yang berada dibawah sistem operasi.

Pendekatan kernel monolitik didefinisikan sebagai sebuah antar muka virtual yang berada pada tingkat tinggi perangkat keras, dengan sekumpulan primitif atau system call untuk mengimplementasikan layananlayanan sistem

operasi, seperti halnya manajemen proses, konkurensi, dan manajemen memori pada modul – modul kernel yang berjalan di dalam mode supervisor.

Meskipun jika setiap modul memiliki layanan operasioperasi tersebut terpisah dari modul utama, integrasi kode yang terjadi di dalam monolitik kernel sangatlah kuat, dan karena semua modul berjalam dalam address space yang

sama, sebuah bug dalam salah satu modul dapat merusak keseluruhan sistem.

Akan tetapi, ketika implementasi dilakukan secara benar, integrasi komponen internal yang sangat kuat tersebut justru mengijinkan fiturfitur yang dimiliki oleh sistem yang berada dibawahnya dieksploitasi secara efektif, sehingga membuat sistem operasi dengan kernel monolitik sangatlah efisien, meskipun sangat sulit membuatnya.

Pada sistem operasi modern yang menggunakan kernel monolitik, seperti halnya GNU/Linux, FreeBSD, Open Solaris, dan Microsft Windows, dapat memuat modul – modul yang dapat dieksekusi pada saat kernel tersebut dijalankan sehingga mengijinkan ekstensi terhadap kemampuan kernel sesuai


(35)

kebutuhan, dan tentu saja dapat membantu menjaga agar kode yang berjalan pada ruangan kernel seminim mungkin.

Gambar II.10 Sruktur Kernel Sistem operasi

Monolitik kernel linux dapat dibuat sangat kecil tidak hanya karena kemampuannya untuk memuat modul secara dinamis tetapi juga karena kemudahan kustomisasi. Bahkan, ada beberapa versi yang cukup kecil yang cocok dengan jumlah besar utilitas dan program lain pada satu floppy disk dan masih

menyediakan sistem operasi yang berfungsi penuh. Kemampuan untuk miniaturize dengan kernel juga mengakibatkan pertumbuhan yang cepat dalam penggunaan GNU/Linux pada embedded system (yaitu, sirkuit komputer dibangun

menjadi produk lain). Selain itu, ukuran kernel yang dikompilasi hanya sebagian kecil dari source code aslinya. Sehingga kernel linux yang terkompilasi

mempunyai kemampuan untuk memuat modul-modul secara dinamis pada saat


(36)

2.8 Sistem Operasi

Sistem operasi merupakan program yang ditulis untuk mengendalikan dan mengkoordinasikan kegiatan dari sistem komputer serta menyediakan program ke pengguna dengan antarmuka yang lebih sederhana dari pada pengguna langsung mengakses hardware atau sumber daya sistem secara langsung.

Sistem operasi adalah bagian yang sangat penting bagi semua sistem komputer, secara umum sistem komputer terbagi atas hardware, sistem operasi, program aplikasi, dan user.

Gambar II.10 Komponen komponen Sistem Operasi[3]

Sistem operasi mempunyai peranan yang sangat penting dalam sistem berbasis komputer. Modern Operating system, ada dua tugas utama sistem

operasi. Kedua tugas tersebut yaitu sistem operasi sebagai extended machine dan


(37)

machine artinya sistem operasi bertugas untuk menyembunyikan kerumitan

hardware dan menyediakan antarmuka yang lebih mudah dipakai pengguna. Sedangkan sistem operasi sebagai resource manager berarti sistem operasi

berfungsi sebagai pengatur sumber daya yang ada di komputer baik itu jaringan, software aplikasi, hardware atau sumber daya lainya.

Sistem operasi dilihat dari metode pengembangannya sendiri bisa dibagi menjadi dua. Pertama adalah sistem operasi dengan metode pengembangan tertutup seperti Windows dimana tidak bisa melihat dan mengubah source code

dari sistem operasi tersebut dan yang kedua adalah sistem operasi open source

dimana pengguna bisa memakai dan melihat kode penyusun dari sistem operasi tersebut. Contoh sistem operasi open source yaitu Linux, Minix dan FreeBSD.

Namun, sistem operasi free yang paling populer untuk saat ini adalah Linux.

Linux bisa berjalan diatas arsitektur prosesor yang berbeda beda, dari super komputer, server, komputer pribadi, handled device sampai embedded sistem.

Untuk memperjelas tentang konsep sistem operasi, berikut adalah diagram yang menunjukan posisi sistem operasi pada sistem berbasis komputer. [3]


(38)

2.9 Linux

Sistem operasi GNU/Linux adalah sebuah sistem operasi yang dibangun dari perpaduan antara kernel Linux yang dibuat oleh Linus Torvalds dan GNU, sebuah sistem yang menyerupai Unix namun terdiri dari berbagai macam program dan komponen sistem operasi yang bersifat terbuka dan bebas yang dikembangkan oleh Free Software Foundation (FSF).

Linux merupakan sistem operasi yang dapat diandalkan, baik sebagai sebuah workstation/desktop maupun sebagai server yang menyediakan berbagai

service dan aplikasi seperti yang dapat dilakukan oleh server berbasis sistem

operasi Microsoft Windows Server, Unix, dan server lainnya. Selain itu di Linux,

semua program (yang berada dibawah lisensi GNU) dapat diperoleh secara cuma-cuma dan legal dengan cara mengunduhnya langsung dari internet. Hampir seluruh perangkat lunak dan berbagai aplikasi yang biasa digunakan pada sistem operasi windows terdapat padanannya pada sistem operasi Linux.

Migrasi dari sistem operasi Microsoft Windows (atau sebagian diantaranya dari Macintosh) ke sistem operasi Linux adalah isu yang menarik dan sering muncul. Berkaitan dengan kemudahan pemakaian, banyak pengguna komputer yang mengalami kesulitan pada saat pertama kali menginstalasi Linux. Selanjutnya, saat instalasi berjalan mulus, pengguna dihadapkan pada prompt

dengan perintah-perintah yang asing untuk dapat membuatnya bekerja. Keadaaan semacam ini tampaknya disadari sepenuhnya oleh para pengembang Linux sehingga kemudian muncul berbagai pengembangan modus grafik pada seluruh proses instalasi dan penggunaannya sehingga para pengguna baru dapat menggunakan dan memahami Linux dengan mudah. [6]


(39)

2.10Distribusi Linux

Distribusi Linux (juga disebut GNU / Linux distribusi oleh beberapa

vendor dan user) adalah anggota dari keluarga Unix seperti distribusi software

yang dibangun di atas kernel Linux. Seperti distribusi (sering disebut singkat untuk distro-distro) yang besar terdiri dari kumpulan perangkat lunak aplikasi seperti pengolah kata, spreadsheet, pemutar media, dan aplikasi database. Sistem operasi akan terdiri dari kernel Linux, dan biasanya, sejumlah perpustakaan dan utilitas dari GNU proyek, dengan dukungan dari grafis X Window System. Distro

dioptimalkan untuk ukuran mungkin tidak berisi X, dan cenderung menggunakan lebih kompak alternatif untuk GNU utilitas seperti busybox, uclibc atau dietlibc.

Saat ini terdapat lebih dari tiga ratus distribusi Linux. Kebanyakan dari mereka yang aktif dalam pembangunan, yang direvisi dan terus ditingkatkan. Karena kebanyakan dari kernel dan paket yang mendukung beberapa kombinasi dari perangkat lunak bebas dan open source, distribusi Linux telah mengambil berbagai bentuk - fitur penuh dari desktop dan server untuk sistem operasi

minimal lingkungan (biasanya untuk digunakan dalam embedded system, atau

untuk booting dari floppy disk). Selain beberapa perangkat lunak kustom (seperti

installers tool dan konfigurasi) yang hanya merujuk kepada distribusi tertentu

assortment aplikasi diinstal di atas satu set perpustakaan disandingkan dengan

versi kernel, antara lain bahwa "out-of-the-box" kemampuan memenuhi sebagian

besar kebutuhan khusus para pengguna yang menginginkan fungsi tertentu. Terdapat juga distibusi Linux juga didukung distribusi komersial, seperti Fedora (Red Hat), openSUSE (Novell), Ubuntu (Canonical Ltd), dan Mandriva Linux dan masyarakat seperti distribusi Debian dan Gentoo, meskipun ada Distro lain yang


(40)

tidak didorong oleh korporasi maupun masyarakat, yang salah satu contohnya adalah Slackware. [6]

2.11 Struktur Direktori

Salah satu perbedaan utama antara sistem operasi Linux dengan DOS ataupun windows adalah sistem file. Linux tidak mengunakan notasi drive yang berbeda untuk membedakan partisi yang terdapat pada hard disk karena semuanya disimpan dalam sebuah direktori utama yang dikenal dengan nama root (/). Linux

mengenali semua partisi yang ada pada sebuah hard disk dengan menempatkan partisi-partisi tersebut kedalam sebuah direktori yang terdapat pada direktori utama.

Keunggulan dari penggunaan metode satu direktori utama ini adalah kemampuannya untuk menciptakan sebuah direktori yang bisa terdiri dari berbagai partisi yang dapat membuat kapasitas penyimpanannya bertambah. Sebagai contoh, jika pada sistem operasi windows kapasitas drive sistem c:\ sudah habis, maka kita tidak dapat menambahkan kapasitas baru dari partisi lain agar kapasitas drive c:\ bertambah, sedangkan pada sistem operasi Linux, jika kapasitas direktori utama root sudah habis, maka kita dapat menambahkan partisi lain cukup dengan menempatkannya pada direktori utama tadi dan secara otomatis maka kapasitasnya pun akan bertambah.

Di dalam direktori utama, terdapat beberapa direktori yang merupakan bagian dari sistem operasi Linux dan memiliki fungsi-fungsi tertentu. Direktori berikut fungsinya tersebut antara lain :


(41)

1. /

Direktori ini adalah direktori utama sistem operasi Linux yang menampung seluruh sub-direktori yang terdapat pada sistem operasi Linux.

2. /bin

Direktori ini berisi program-program utama yang dapat dieksekusi oleh pengguna untuk berinteraksi dengan sistem operasi. Selain itu, direktori ini berisi shell dan juga perintah-perintah sistem file seperti ls, cp, mkdir, dll.

3. /boot

Direktori ini beris program yang digunakan untuk melakukan proses pada saat komputer dinyalakan (booting), program tersebut akan mengaktifkan

kernel Linux yang juga terdapat pada direktori ini. 4. /dev

Pada sistem operasi Linux, semua sistem, berikut dengan konfigurasi dan bahkan juga perangkat kerasnya dikenali kedalam file. Semua perangkat keras seperti serial port, usb, hard disk, dll akan dibuatkan sebuah file

khusus yang berisi informasi perangkat keras dan metode aksesnya. Direktori ini berisi file-file khusus mengenai perangkat keras yang terdapat pada komputer.

5. /etc

Direktori ini berisi seluruh file konfigurasi sistem, mulai dari file konfigurasi tampilan grafis, database pengguna, konfigurasi pada saat komputer dinyalakan dan file konfigurasi lain yang digunakan oleh sistem operasi.


(42)

6. /home

Sistem operasi Linux bersifat multi user sehingga setiap pengguna

diberikan sebuah akses dan direktori kerja masing-masing yang bersifat pribadi dan berbeda antara pengguna yang satu dengan pengguna yang lainnya. Direktori ini berisi direktori-direktori pengguna tersebut. 7. /lib

Direktori ini berisi seluruh pustaka (libraries) yang akan digunakan oleh

sistem operasi. 8. /mnt

Direktori ini berisi akses menuju media penyimpanan data seperti media cakram padat (CD-ROM) ataupun tempat meletakkan partisi-partisi dari media penyimpanan data lain kedalam direktori utama.

9. /opt

Direktori ini berisi program ataupun aplikasi tambahan yang tidak terdapat pada direktori /bin yang akan digunakan oleh pengguna. Biasanya

program/aplikasi tersebut adalah program/aplikasi tambahan (optional).

10./proc

Direktori ini adalah salah satu direktori spesial yang berisi virtual

filesystem yang menyediakan akses menuju informasi kernel seperti jenis prosesor yang digunakan, kecepatan akses memori, dan lain sebagainya. 11./root

Pada sistem operasi Linux, terdapat pengguna yang memiliki hak akses penuh untuk melakukan pengubahan terhadap sistem. Pengguna ini dikenal dengan nama root dan memiliki direktori kerja yang terpisah dari


(43)

pengguna lainnya. Direktori ini merupakan direktori kerja untuk pengguna tersebut.

12./sbin

Direktori ini berisi program-program yang dapat digunakan oleh pengguna

root untuk mengubah konfigurasi sistem operasi. Seluruh file dan program

yang terdapat pada direktori ini tidak dapat digunakan oleh pengguna biasa.

13./tmp

Direktori ini digunakan sebagai media penyimpanan data sementara pada saat proses komputasi berlangsung. Direktori ini dapat digunakan oleh semua pengguna yang terdapat pada sistem operasi.

14./usr

Direktori ini merupakan direktori utama untuk berbagai macam keperluan seperti dokumentasi, kode sumber kernel, modul-modul kernel, dan juga program-program seperti Windows Manager untuk tampilan grafis dan juga program lain yang di install dari kode sumber.

15./var

Direktori ini berisi log dan cache dari seluruh proses komputasi yang


(44)

42

ANALISIS DAN PERANCANGAN SISTEM

3.1 Analisis Sistem

Seringkali pengadaan infrastruktur komputer terbentur pada masalah optimalisasi penggunaan perangkatnya yang harus menyesuaikan perkembangan teknologi yang diadopsi seperti sistem operasi atau perangkat lunak yang digunakan.

Hal ini disebabkan penggunaan arsitektur yang umumnya mengharuskan kompabilitas semua perangkat yang digunakan. Solusi dari masalah tersebut adalah dengan menerapkan arsitektur thin-client, sehingga tidak semua perangkat

komputer harus di upgrade atau diganti. Hanya perangkat di sisi server saja yang

disesuaikan agar dapar mengadopsi teknologi sistem operasi dan perangkat lunaknya, dalam artian memenuhi kompabilitas yang diinginkan.

Dengan sistem LTSP komputer client tidak diinstal suatu Sistem Operasi.

Semuanya memanfaatkan teknologi kloning, yaitu sebuah Server yang besar

diakses oleh banyak client melalui jaringaan LAN agar merasakan kecepatan yang

hampir sama dengan Server tersebut.

Teknologi ini populer di lingkungan sekolah dan kantor yang memiliki keterbatasan dana dalam pengembangan jaringan komputernya. Peningkatan performa serta fitur dilakukan hanya pada server sehingga dapat menekan biaya


(45)

investasi jangka panjang. Disamping itu sistem yang terpusat telah mengurangi beban pemeliharaan dan penanganan masalah (error handling), sehingga

pengembangan dapat lebih ditekankan pada pengembangan fitur dan performa dari server dan client.

3.2 Analisis Masalah

Linux Terminal Server Project (LTSP) menyediakan suatu cara yang bisa

dipelajari dengan mudah untuk mengoptimalkan komputer jaringan yang murah (low cost workstation) sebagai workstation (client) dengan tampilan grafik

ataupun terminal yang berbasiskan teks dengan memanfaatkan GNU/Linux server. Teknologi yang mirip sistem mainframe ini semakin populer karena dapat

menghemat sumber daya perangkat keras (hardware) tanpa perlu mengurangi

kinerja.

Platform Linux yang kian berkembang dan memasyarakat telah terbukti memberikan banyak solusi alternatif yang mendorong efisiensi, penghematan biaya dan kemudahan kerja. Sifatnya yang open source telah melahirkan berbagai

kombinasi baru di bidang teknologi informasi dan dapat dimanfaatkan oleh siapa saja yang mau memanfaatkannya. Cukup dengan menyediakan satu harddisk,

LTSP dapat menjalankan banyak terminal komputer. Dengan demikian teknologi

lowend PC yang menggunakan LTSP ini dapat mengoptimalkan komputer lama

yang sudah tidak terpakai untuk dapat digunakan kembali dengan mode GUI. LTSP merupakaan penggunaan PC secara bersama - sama oleh dua user/client


(46)

menggunakan harddisk, dan dapat digunakan untuk solusi alternatif jika tidak

menggunakan komputer berkekuatan tinggi.

Dengan diskless system, PC lama bisa digunakan dengan lebih cepat. Hal

ini bisa terjadi karena proses kerjanya sebagai berikut :

1. Sebuah client yang disambungkan ke server tanpa menggunakan sistem

operasi yang tersimpan di harddisk. Sebagai gantinya, menggunakan bootrom

yang terpasang di kartu untuk menghubungkan client ke server.

2. Penggunaan metode diskless computer berbeda dengan metode dump

terminal. Karena pada diskless system, meskipun client menggunakan

resource pada server namun tidak semuanya, karena tetap dibantu oleh

processor dan memori pada client.

3. Tentunya semakin baik client akan membantu kinerja server. Demikian pula

halnya server, semakin tinggi spesifikasi dan optimalnya aplikasi pada server yang digunakan akan semakin baik pula kinerja diskless system.

3.3 Deskripsi Sistem

LTSP adalah kepanjangan dari Linux terminal Server Project yang

dikembangkan oleh James McQuillan (www.ltsp.org). LTSP adalah paket add-on dari linux yang memungkinkan banyak user bekerja pada sebuah komputer. Seluruh aplikasi berjalan pada server dan terminal hanya menangani input dan output.


(47)

SERVER LTSP

CLIENT LTSP 1

CLIENT LTSP 2

CLIENT LTSP 3

APPLIKASI NETWORK SERVICE

LOGON STORE FILES DISPLAY MANAGER

Gambar 3.1 Deskripsi Sistem LTSP

Seperti yang terlihat pada Gambar 3.1, LTSP merupakan sebuah jaringan komputer dimana server memberikan fasilitas identifikasi, sistem operasi,aplikasi, penyimpanan data dan display manager kepada client, sehingga komputer client

dapat memiliki sistem operasi dan aplikasi yang sama dengan servernya. Teknologi yang mirip sistem mainframe ini semakin populer karena dapat

menghemat sumber daya hardware tanpa perlu mengurangi performanya.

Linux Terminal Server Project adalah sebuah aplikasi linux yang mampu menjawab kebutuhan akan sebuah sistem yang murah, free dan powerfull. Dengan membuat sebuah LTSP server, maka semua terminal yang terhubung ke server tidak harus mempunyai harddisk, dan bisa berbagi resource dengan sempurna.


(48)

3.4 Analisis Non Fungsional

3.4.1 Analisis Pengguna

Pengguna Linux Terminal Server Project akan dibuat untuk user yang memiliki karakteristik sebagai berikut :

1. Sebagian besar sudah terbiasa menggunakan komputer

2. Memiliki ketertarikan pada perangkat lunak berbasis kode sumber terbuka dan bebas (open source)

3. Pernah menggunakan sistem operasi Linux ataupun minimal pernah mengetahui sistem operasi Linux

3.4.2 Analisis Perangkat Keras

3.4.2.1 Server

Spesifikasi perangkat keras yang digunakan sebagai komputer server

memiliki spesifikasi sebagai berikut :

1. Prosesor : AMD Turion 2,2 GHz

2. RAM : 2 GB DDR2

3. Ethernet : Realtek Ethernet

4. HDD : SATA 160 Gb

3.4.2.2 Client

Spesifikasi perangkat keras yang digunakan sebagai komputer client

sebagai berikut :

1. Prosesor : Minimal 533 MHz

2. RAM : 128 MB


(49)

3.4.3 Analisis Jaringan Komputer

Dalam pengerjaan skripsi ini, tipe dan arsitektur jaringan yang digunakan adalan LAN berdasarkan jangkauan areanya, kemudian berdasarkan fungsinya digunakan sistem jaringan client server, serta menggunakan Topologi Star.

Tipe ini digunakan karena jaringan dibangun di satu ruangan dengan jangkauan kecil. LAN merupakan salah satu arsitektur jaringan yang paling sederhana dan dapat dikembangkan menjadi arsitektur jaringan yang cukup luas cakupannya. Luas cakupan LAN itu sendiri tidak melebihi dari satu area yang terdiri dari beberapa terminal yang saling dihubungkan, sehingga menambahkan fungsi dari terminal itu sendiri.

Jaringan komputer yang digunakan dalam sistem Linux Terminal Server

Project (LTSP) ini adalah sebagai berikut :

SERVER LTSP / 192.168.1.1

CLIENT LTSP 1 / 192.168.1.2

CLIENT LTSP 2 / 192.168.1.3

CLIENT LTSP 3 / 192.168.1.4


(50)

1. Menggunakan topologi star dengan satu switch.

2. Terdapat satu server LTSP yang melayani 3 client.

3. Server menggunakan IP 192.168.1.1

4. Range IP client mulai 192.168.1.2 sampai 192.168.1.20

Lebih lanjut mengenai jaringan yang akan dipakai untuk server dan client

LTSP dapat dilihat pada tabel berikut : Tabel III.1 Konfigurasi jaringan LTSP

No Jenis Konfigurasi Analisis Konfigurasi

1 Subnet 192.168.1.0

2 Netmask 255.255.255.0

3 Range IP DHCP 192.168.1.2 – 192.168.1.20

4 Root path /opt/ltsp/i386

3.4.4 Analisis Perangkat Lunak

Spesifikasi perangkat lunak yang digunakan pada server adalah sebagai

berikut :

1. Sistem operasi : Ubuntu 10.04 (distro turunan Debian) 2. Ruang Hard disk : 120 GB

3. SWAP : 1Gb

4. Tipe partisi : EXT3


(51)

3.5 Analisis Fungsional

Untuk menjalankan sistem LTSP dibutuhkan beberapa sevice yang harus telah terinstall dan berjalan dengan baik, service – service itu sendiri adalah :

1. DHCP (Dynamic Host Configuration Protocol), adalah layanan yang

secara otomatis memberikan nomor IP kepada komputer yang memintanya. Komputer yang memberikan nomor IP disebut sebagai DHCP server, sedangkan komputer yang meminta nomor IP disebut sebagai DHCP Client. Dengan demikian tidak perlu lagi harus

memberikan nomor IP secara manual pada saat konfigurasi TCP/IP untuk

client LTSP, tapi cukup dengan memberikan referensi kepada DHCP

Server.

2. TFTP (Trivial File Transfer Protocol), memiliki fungsionalitas dasar dari

protokol File Transfer Protocol (FTP). TFTP digunakan untuk melakukan

booting komputer dalam proses LTSP.

3. NBD (Network block device) merupakan sebuah teknik remote data

storage, yang memungkinkan sebuah komputer client untuk dapat

mengakses penyimpanan data (data store) pada LTSP. NBD digunakan seolah-olah terdapat sebuah disk drive sebenarnya pada client.

4. SSH (Secure Shell), protokol jaringan yang memungkinkan pertukaran

data melalui saluran aman antara dua perangkat jaringan. Digunakan untuk login ke mesin remote dalam X11 connections.


(52)

Pada Proses kerjanya, LTSP menggunakan port-port komunikasi untuk

melakukan pertukaran informasi maupun permintaan-permintaan dari client

kepada server. Berikut adalah daftar port-port yang dipergunakan dalam LTSP :

Tabel III.2 Daftar Port pada LTSP

Port Spesifik LTSP

Port Tipe Dekripsi

9100 9102

TCP Printer, dilayani oleh lp_server

9200 TCP ltspinfo – digunakan untuk query informasi dari client

9202 TCP lbuscd – berjalan pada thin client, menunggu koneksi dan pendaftaran session

9210 TCP Port default untuk ltspswapd (NBD Swap Server)

Standard services

67 UDP DHCP (menunggu request DHCP dari clients)

68 UDP DHCP (dhcpd mengirim jawaban kepada client)

69 UDP TFTP (client terhubung ke port 69 pada server untuk mengunduh kernel)


(53)

177 UDP XDMCP (XDM,GDM,KDM)

1067 UDP Port alternatif untuk port DHCP-67

1068 UDP Port alternatif untuk port for DHCP-68

6000 TCP X Protocol menggunakan port ini untuk menghubungkan aplikasi client dengan Xserver

Tahapan atau proses kerja umum dari sebuah linux terminal server project

dapat dilihat pada gambar berikut :

Server LTSP

Boot Room

DHCP

TFTP NBD

NBD File System

NBD File System

File System

File System 3

2

Client LTSP 5

Mac Address

NIC Card

Lts.conf

1

4

Gambar 3.3 Proses kerja umum LTSP

Berikut penjelasan langkah - langkah proses kerja umum LTSP dari gambar diatas :


(54)

1. Pada saat komputer client melakukan booting dari Lancard, Client akan

meminta IP Address dari LTSP Server melalui protokol DHCP (server), DHCP akan membaca file konfigurasi dhcp.conf yang berada pada /etc/ltsp/dhcp.conf.

2. Setelah client mendapatkan IP address dari protocol DHCP, Server

kemudian memuat Linux kernel dari preconfigured Linux Image

(pxelinux.0 atau nbi.img) kedalam BOOT Rom client dengan

menggunakan protokol TFTP (Trivial File Transfer Protokol) yang telah berjalan pada services LTSP Server.

3. Pada saat bersamaan Server akan melakukan mount filesystem baru yang dilakukan oleh protokol NBD (Network File System) khas berada di

/opt/ltsp/i386. Ia tidak dapat menambatkan sistem berkas baru sebagai /.

Pertama−tama harus dimount sebagai /mnt. Kemudian, ia akan melakukan pivot_root. pivot_root akan menukar sistem berkas root sekarang dengan sistem berkas baru. Ketika selesai, sistem berkas NBD akan dimount pada /, dan sistem berkas root lama akan dimount pada/oldroot. dan meload image dari /opt/ltsp/images/i386.img.

4. Server akan membaca file konfigurasi lts.conf, jika pada file lts.conf terdapat konfigurasi sound maka daemon pulseaudio akan dijalankan, untuk mengizinkan client melakukan koneksi ke server dan menjalankan

file audio. Server juga menjalankan service ltspfsd untuk memungkinkan

client menggunakan USB Flash Drive dan meload screen session yang


(55)

5. Client akan membangun saluran SSH (Secure Shell tunnel) untuk

berhubungan ke Server LTSP yang kemudian memulai LDM (LTSP Display Manager) login manager pada client.

3.6 Perancangan Sistem Linux Terminal Server Project (LTSP)

Spesifikasi service dan konfigurasi server LTSP yang akan dibangun

adalah sebagai berikut :

1. Menggunakan Distribusi Linux Ubuntu 10.04 (Lucid Lynx)

Sistem operasi yang akan digunakan pada server LTSP adalah Linux

distribusi Ubuntu 10.04 (Lucid Lynx). Distribusi linux ini digunakan karena merupakan versi LTS (long term support), yang berarti adanya

support waktu sepanjang 3 tahun baik dari segi penyediaan program dan plugin-plugin tambahan yang diperlukan. Repository atau sumber

program untuk linux Ubuntu 10.04 dapat ditemui di situs resmi ubuntu, maupun pada mirror-mirror lokal yang terdapat di Indonesia.

2. Menggunakan kernel versi 3.0

Untuk rilis versi 3.0 ini merupakan “loncatan” dari versi sebelumnya

yaitu versi 2.6.39 tidak dimaksudkan sebagai suatu perubahan fitur yang mendasar. Fitur terpenting yang diikutkan disamping perampingan penomoran menjadi Linux 3.0, antara lain adalah termasuk: Btrfs Data scrubbing dan defragmentasi otomatis, dukungan


(56)

XEN Dom0, ICMP_ECHO biasa, wake on WLAN, penyaringan Berkeley Packet Filter JIT, syscall yang memungkinkan penanganan lebih baik dari sistem virtualisasi ringan seperti kontainer. Dukungan hardware baru telah ditambahkan: misalnya, Microsoft Kinect, AMD Fusion Llano APUS, Intel iwlwifi 105 dan 135, Intel C600 serial-attached-scsi controller, Ralink RT5370 USB, beberapa perangkat Realtek RTL81xx atau Apple iSight webcam.

3. Menggunakan LTSP-Server-Standalone

Terdapat dua opsi untuk instalasi LTSP pada linux distribusi Ubuntu, yaitu ltsp-server dan ltsp-server-standalone. Perbedaan dari kedua

paket tersebut adalah kelengkapan service dan environment

pendukungnya. Ltsp-server-standalone digunakan karena merupakan

paket LTSP server yang lengkap dan memiliki environment dan

program-program pendukung yang lengkap untuk linux terminal

server project (LTSP) yang akan dibangun.

4. Melakukan modifikasi pada chroot

Modifikasi pada chroot akan dilakukan dengan cara melakukan

kombinasi penggunaan environment chroot yang digunakan pada

sistem linux terminal server project (LTSP). Kombinasi tersebut

adalah dengan menggunakan server dengan paket LTSP linux

distribusi Ubuntu 10.04 dan dilakukan setelah server LTSP terinstall


(57)

top yang akan memberikan informasi yang dibutuhkan mengenai

kinerja prosessor dan memori pada saat linux terminal server project

(LTSP) bekerja.

5. Melakukan konfigurasi pada file /etc/ltsp/dhcpd.conf

Konfigurasi yang dilakukan pada file ini adalah setting pada range DHCP, root path, serta next server yang akan digunakan pada client

linux terminal server project (LTSP).

6. Efisiensi sistem LTSP agar kinerja client dan server semakin optimal,

salah satunya dengan menggunakan dengan menggunakan localapps .

Parameter lain yang digunakan adalah adanya pembedaan hak akses dari setiap user untuk pengaksesan program pada LTSP, artinya dapat dilakukan

pengaturan hak akses program yang digunakan pada setiap user. Pengaturan

tersebut dilakukan pada server dengan perintah chmod.

Sistem LTSP yang akan dibangun akan terdiri dari satu buah server dan

tiga buah client yang akan dihubungkan dengan satu hub dan menggunakan

topologi star. Aplikasi yang akan dijalankan oleh client akan terdiri dari tiga

aplikasi yaitu :

1. Open Office 2. GIMP 3. Firefox


(58)

3.6.1 Perancangan paket kernel versi 3.0 untuk server LTSP

Persiapan sebelum melakukan pembangunan dan instalasi paket kernel dengan metode manual, dilakukan dalam mode user root, yaitu login sebagai root

dan mempersiapkan mesin untuk mengkompilasi kernel versi 3.0 semua dilakukan di Terminal. Paket-paket yang dibutuhkan diantaranya :

1. Paket kernel-package, digunakan sebagai paket kernel yang akan menjadi pedoman saat akan melakukan pengkonfigurasian kernel

source, sebelum kernel source akan di kompilasi sesuai dengan kebutuhan dan menyediakan kemampuan untuk membuat paket

kernel-image debian.

2. Paket gcc (GNU Compiler Collection), yakni program untuk

mengkompilasi source code C. Kernel Linux sendiri ditulis untuk dapat dikompilasi oleh GCC, sehingga paket ini dibutuhkan untuk mengkompilasi paket kernel.

3. Paket libncurses5-dev, digunakan agar saat melakukan kompilsai

pada kernel source dapat menampilkan modus grafik (GUI) dari

kernel source yang akan dikompilasi sehingga memudahkan dalam

melakukan kompilasi kernel linux.

4. Paket fakeroot, berfungsi untuk menyamarkan user yang akan

digunakan, seolah olah menjadi user root.

5. Paket wget dan bzip2, aplikasi download manager yang ada pada


(59)

default dari linux. Sedangkan paket bzip2 digunakan untuk

mengekstrak atau menguraikan file terkompresi berbentuk tar.gz2

dan sama seperti wget, paket ini sudah terinstal secara default.

Untuk menginstal dependensi dari paket-paket yang dibutuhkan diatas, jalankan perintah berikut dalam terminal dan ketik password untuk user, ketika diminta:

$ sudo apt-get install gcc

$ sudo apt-get install libncurses5-dev $ sudo apt-get install wget bzip2

3.6.2 Perancangan Server Linux Terminal Server Project (LTSP)

Gambar dari perancangan sistem LTSP yang akan dibangun dapat dilihat pada gambar di bawah ini :


(60)

Client 1 / 192.168.1.2

Client 2 / 192.168.1.3

Client 3 / 192.168.1.4

Install LTSP Server dan Client Software

Membangun dan konfigurasi LTSP Server dan Client

Start service : DHCP, TFTP, Portmapper, XDMCP

Server LTSP / 192.168.1.1

Gambar 3.4 Rancangan sistem LTSP

Flowchart atau diagram alir dari proses Linux Terminal Server Project


(61)

START

Server DHCP ON

DHCP dan TFTP Request dari

Client

Sukses

Client mendapat

IP adress DHCP

Client Memuat kernel dan melakukan inisialisasi hardware

Inisialisasi NFS dari Client ke Chroot server

Server memberi environment chroot ke client

Client mendapat environment

chroot

Client meminta service XDMCP

Sukses

Client mendapat session

Finish Ya

Ya Tidak

Tidak


(62)

Penjelasan dari flowchart diatas adalah sebagai berikut :

1. Muat kernel linux ke dalam memori komputer kerja. Langkah ini dapat

dilakukan dengan menggunakan PXE bootrom.

2. Setelah kernel dimuat ke memori, ia akan mulai mengeksekusi.

3. Kernel akan menginisialisasi keseluruhan sistem dan semua periferal yang

dikenalinya.

4. Selama proses pemuatan kernel, citra ramdisk juga akan dimuat ke dalam

memori. Argumen baris perintah kernel root=/dev/ram0 memberitahu

kernel untuk menambatkan citra tersebut sebagai direktori root.

5. Secara normal, jika kernel selesai melakukan boot, ia akan meluncurkan

program init. Namun, dalam kasus ini, telah di instruksikan kernel untuk

memuat skrip shell kecil sebagai gantinya. Hal ini dilakukan ini dengan

melewatkan init=/linuxrc pada perintah baris kernel.

6. Skrip /linuxrc dimulai dengan memindai bus PCI, mencari kartu jaringan,

Untuk tiap peranti PCI yang ditemukannya, skrip akan dicari di berkas /etc/niclist, untuk melihat apakah ditemukan yang bersesuaian. Setelah yang ditemukan sesuai, nama modul driver NIC dikembalikan, dan modul

kernel itu akan dimuat. Untuk kartu ISA, modul driver harus ditetapkan pada baris perintah kernel, bersama dengan IRQ atau parameter−parameter

alamat yang mungkin diperlukan.

7. Sebuah client DHCP kecil yang disebut dhclient kemudian akan

dijalankan untuk membuat permintaan dari server DHCP. Hal ini perlu


(1)

DAFTAR PUSTAKA

[1] Raharjo,Suwanto. (2004), Teori, Analisa, dan Implementasi Jaringan Tanpa Disk ,pada GNU/Linux, Andi, Yogyakarta.

[2] Hartono, Jogiyanto. (2004). Pengenalan Komputer: Dasar Ilmu Komputer, Pemrograman, Sistem Informasi, dan Intelegensi Buatan, Andi, Yogyakarta

[3] Kusumadewi, Sri. (2002). Sistem Operasi, Graha Ilmu, Yogyakarta.

[4] Purbo, Onno W. (2006). PC Cloning Windows Pakai Linux LTSP, Andi, Yogyakarta. [5] Noprianto. (2004), Teknologi Tepat Guna Dengan Linux, Infolinux, Jakarta

[6] Handaya, Wilfridus B.T., Suteja, Bernard R., & Ashari, Ahmad. (2008). Linux System Administrator, Informatika, Bandung.

[7] Sofana, Iwan. (2006), Membangun Jaringan Komputer (Membuat Jaringan Komputer (Wire dan Wireless)) Untuk Pengguna Windows dan Linux, Informatika, Bandung. [8] Oetomo, Budi Sutedja Dharma. (2009), Client server dan Sistem Terdistribusi, Andi,

Yogyakarta.

[9] http://wiki.ltsp.org/twiki/bin/view/Ltsp/Documentation, di akses September 2011 [10] https://help.ubuntu.com/community/UbuntuLTSP, di akses September 2011. [11] http://www.sanitarium.net/golug/netboot.html, diakses Oktober 2011. [12] http://id.wikipedia.org/wiki/Kernel_(ilmu_komputer), diakses Oktober 2011


(2)

iii

KATA PENGANTAR

Segala puji dan syukur penulis panjatkan kehadirat Allah SWT, atas berkat rakhmat serta karunia-Nya, sehingga dapat terselesaikannya skripsi ini yang berjudul “PENGEMBANGAN DAN ANALISA SISTEM DISKLESS

BERBASIS UBUNTU 10.04 MENGGUNAKAN LINUX TERMINAL SERVER PROJECT (LTSP)”.

Laporan ini disusun sebagai salah satu syarat kelulusan mata kuliah Tugas Akhir pada Program Strata 1 Jurusan Teknik Informatika. Keterbatasan pengetahuan, pengalaman dan kemampuan serta kendala – kendala yang mengiringi membuat penulisan laporan tugas akhir ini jauh dari sempurna, namun berkat bimbingan, dukungan serta doa dari berbagai pihak menjadikan penulisan laporan ini dapat terselesaikan dengan baik.

Dengan hati ikhlas, penulis haturkan rasa syukur dan terima kasih serta penghargaan yang tidak terhingga sedalam-dalamnya kepada :

1. Allah SWT, yang telah memberikan segala nikmat yang tak terhingga, terutama nikmat kesehatan.

2. Kedua orang tua, Bapak Sanusi dan Ibu Nimah atas semua do’a dan dukungan selama ini. “Mohon maaf apabila anakmu ini pernah mengecewakan”, semoga perlindungan, keselamatan, kasih sayang serta Ridho Allah SWT selalu menyertai kita.


(3)

3. Rahadian Alfiah Malik, yang selalu memotivasi agar tetap optimis dalam mengerjakan Tugas Akhir ini. Terima kasih atas semua, kasih sayang, pengertian, perhatian dan kesabarannya, you’re always be my love .

4. Bapak Andri Heryandi,S.T selaku Dosen Wali.

5. Bapak Irawan Afrianto, S.T M.T., selaku Pembimbing yang senantiasa membimbing dan terima kasih atas saran – sarannya dari awal pembuatan sampai selesainya laporan tugas akhir ini.

6. Bapak Iskandar Ikbal S.T., M.Kom., dan ibu Nelly Indriani W, S.Si., M.T. selaku penguji.

7. Ibu Mira Kania Sabariah, S.T., M.T. selaku Ketua Jurusan Teknik Informatika Universitas Komputer Indonesia Bandung.

8. Seluruh staff dosen Jurusan Teknik Informatika, terima kasih atas ilmu yang telah diberikan.

9. Staff Jurusan Teknik Informatika, kang Hendar, Santi dan Teh Hanny, hatur nuhun ka sadayana.

10.Keluarga Gunung Batu dan Cirebon yang selalu mendukung dan mendoa’kan penulis.

11.Muhammad Aditya Prima, terima kasih adikku sudah mau meminjamkan laptopnya.


(4)

v

12.Teman – teman di PT. Laju Paramitra dan PT. Garuda Games, terutama untuk Bapak Yadhi dan Bapak Pramulyana selaku manager di tempat penulis bekerja, terima kasih atas dukungannya.

13.Teman – teman seperjuangan skripsi, terima kasih atas dorongan semangatnya. Semoga dimudahkan dalam mencapai semua cita – citanya.

14.Teman- teman IF-17K angkatan 2007, terima kasih atas dorongan semangatnya.

15.Semua pihak yang tidak dapat penulis sebutkan satu per satu yang telah memberikan bantuan dan dorongan dalam penyusunan laporan ini.

Tiada kata yang pantas saya ucapkan selain kata terima kasih kepada semua pihak yang telah membantu sehingga laporan ini bisa terselesaikan dengan baik. Mudah-mudahan amal baik mereka diterima oleh Allah SWT, Amin Yaa robbal Alamiin.

Bandung, Maret 2012


(5)

(6)