modul sistem operasi 2014

73

Upload: dhany-nurdiansyah

Post on 18-Jul-2016

47 views

Category:

Documents


4 download

DESCRIPTION

Modul ini digunakan sebagai petunjuk praktikum Sistem Operasi tahun 2014

TRANSCRIPT

Page 1: Modul Sistem Operasi 2014
Page 2: Modul Sistem Operasi 2014

Laboratorium Sistem Operasi Dan Jaringan Page ii

DAFTAR ISI

MODUL 1 Pengenalan Sistem Informasi dan File Management ............................................................ 1

I. Tujuan Praktikum.................................................................................................................................... 1

II. Alat dan Bahan .................................................................................................................................... 1

III. Landasan Teori .................................................................................................................................... 1

3.1 VMWare Workstation 9 .................................................................................................................. 1

3.2 Sistem Operasi ................................................................................................................................. 1

3.3 UNIX, LINUX, & UBUNTU .......................................................................................................... 2

3.4 User Interface .................................................................................................................................. 4

3.5 Terminal........................................................................................................................................... 4

3.6 File System ...................................................................................................................................... 5

3.7 File Management ............................................................................................................................. 5

3.8 Hirarki Direktori .............................................................................................................................. 8

IV. Lab / Praktek ..................................................................................................................................... 11

V. Studi Kasus Praktikum ...................................................................................................................... 11

MODUL 2 Vi Editor & Network Configuration ........................................................................................ 13

I. Tujuan Praktikum.................................................................................................................................. 13

II. Alat dan Bahan .................................................................................................................................. 13

III. Landasan Teori .................................................................................................................................. 13

3.1 Teks Editor .................................................................................................................................... 13

3.2 Network Configuration .................................................................................................................. 18

IV. Lab / Praktek ..................................................................................................................................... 19

4.1 Vi Editor ........................................................................................................................................ 19

4.2 Repository ...................................................................................................................................... 19

4.3 Network Configuration .................................................................................................................. 19

V. Studi Kasus Praktikum ...................................................................................................................... 20

5.1 Vi Editor ........................................................................................................................................ 20

5.2 Repository ..................................................................................................................................... 21

5.3 Network Configuration .................................................................................................................. 21

MODUL 3 Remote Access (Telnet, SSH, dan Remote Desktop)………………………………………22

I. Tujuan Praktikum.................................................................................................................................. 22

II. Alat dan Bahan .................................................................................................................................. 22

III. Landasan Teori .................................................................................................................................. 22

3.1 Telnet ............................................................................................................................................. 22

3.2 SSH (SecureShell) ......................................................................................................................... 23

3.3 Remote Desktop pada Windows.................................................................................................... 24

IV. Lab / Praktek ..................................................................................................................................... 25

4.1 Remote Desktop pada Windows.................................................................................................... 25

Page 3: Modul Sistem Operasi 2014

Laboratorium Sistem Operasi Dan Jaringan Page iii

4.2 Remote Menggunakan SSH dan Telnet antara Windows dan Ubuntu .......................................... 25

V. Studi Kasus Praktikum ...................................................................................................................... 25

5.1 Remote Desktop pada Windows.................................................................................................... 25

5.2 Remote Menggunakan SSH dan Telnet antara Windows dan Ubuntu .......................................... 26

MODUL 4 Web Server & FTP Server ......................................................................................................... 27

I. Tujuan Praktikum.................................................................................................................................. 27

II. Alat dan Bahan .................................................................................................................................. 27

III. Landasan Teori .................................................................................................................................. 27

3.1 Web Server .................................................................................................................................... 27

3.2 FTP Server ..................................................................................................................................... 28

IV. Lab / Praktek ..................................................................................................................................... 29

4.1 Memindahkan file dari PC ke Virtual machine. ............................................................................ 29

4.2 Install xampp.................................................................................................................................. 31

V. Studi Kasus Praktikum ...................................................................................................................... 32

MODUL 5 DNS Server ................................................................................................................................... 33

I. Tujuan Praktikum.................................................................................................................................. 33

II. Alat dan Bahan .................................................................................................................................. 33

III. Landasan Teori .................................................................................................................................. 33

3.1 DNS Server .................................................................................................................................... 33

IV. Lab / Praktek ..................................................................................................................................... 36

4.1 Install ............................................................................................................................................. 36

4.2 Setting IP Static ............................................................................................................................. 36

4.3 Membuat File Forward dan File Reverse ...................................................................................... 37

V. Studi Kasus Praktikum ...................................................................................................................... 41

MODUL 6 Mail Server .................................................................................................................................. 42

I. Tujuan Praktikum.................................................................................................................................. 42

II. Alat dan Bahan .................................................................................................................................. 42

III. Landasan Teori .................................................................................................................................. 42

3.1 Pengenalan Mail Server ................................................................................................................. 42

3.2 Cara kerja Mail Server ................................................................................................................... 43

3.3 Manfaat memiliki Mail Server sendiri........................................................................................... 46

IV. Lab / Praktek ..................................................................................................................................... 47

4.1 Installasi ......................................................................................................................................... 47

V. Studi Kasus Praktikum ...................................................................................................................... 54

MODUL 7 BASH Scripting ............................................................................................................................ 55

I. Tujuan Praktikum.................................................................................................................................. 55

II. Alat dan Bahan .................................................................................................................................. 55

III. Landasan Teori .................................................................................................................................. 55

3.1 BASH Script .................................................................................................................................. 55

Page 4: Modul Sistem Operasi 2014

Laboratorium Sistem Operasi Dan Jaringan Page iv

3.2 Cara menjalankan Script ................................................................................................................ 63

IV. Lab / Praktek ..................................................................................................................................... 64

4.1 Operasi Aritmatika Sederhana ....................................................................................................... 64

4.2 Menghitung Jumlah Kata Pada Suatu String atau Textfile............................................................ 66

4.3 Menghitung jumlah karakter pada elemen pertama array ............................................................. 66

V. Studi Kasus Praktikum ...................................................................................................................... 67

DAFTAR PUSTAKA.....................................................................................................................................69

Page 5: Modul Sistem Operasi 2014

Laboratorium Sistem Operasi & Jaringan Page 1

MODUL 1

Pengenalan Sistem Informasi dan File Management

I. Tujuan Praktikum

1. Praktikan memahami tentang sistem operasi.

2. Praktikan memahami hirarki direktori dari sistem operasi dan perinta-perintah yang ada pada

sistem operasi.

3. Praktikan dapat melakukan instalasi sistem operasi Ubuntu 12.04.2-desktop-i386.

4. Praktikan dapat melakukan file management pada sistem operasi Ubuntu.

II. Alat dan Bahan 1. VMware Workstation 9

2. ISO Ubuntu 12.04.2-desktop-i386

3. Komputer

III. Landasan Teori

3.1 VMWare Workstation 9

VMware merupakan sebuah aplikasi "virtual workstation", dimana sebuah user

menjalankan "sistem operasi didalam sistem operasi". Dengan aplikasi ini, user bisa mencoba

sebuah sistem operasi sebelum benar-benar menjalankan didalam sistem yang sebenarnya

(dalam hal ini, instalasi ke dalam sistem komputer). Dalam modul ini, kami akan menggunakan

VMware workstation versi 7. Tetapi sebelumnya, pastikan untuk mempersiapkan media

penyimpanan, semisal HDD, sebesar 10 GB. Pastikan juga untuk mencadangkan RAM untuk

VMWare sebesar 25 - 50% dari RAM total sistem. Dan juga, sumber instalasi OS yang akan

divirtualkan, baik dari CD, maupun dengan image CD (iso).

3.2 Sistem Operasi

Sistem operasi berdasarkan American National Standart Institute (ANSI) adalah

software yang mengontrol pelaksana program-program komputer, yaitu dengan mengatur

waktu proses, pengecekan kesalahan, mengontrol input dan output, melakukan perhitungan,

komplikasi, penyimpanan, pengolahan data serta pelbagai bentuk layanan yang terkait.

Sistem operasi menyediakan sejumlah layanan untuk program aplikasi dan juga user. Aplikasi

mengakses layanan tersebut melalui API (Application Programming Interfaces, atau disebut

juga system calls). Sementara user dapat berinteraksi dengan sistem operasi melalui 2 cara,

yakni CLI (Command Line Interface) atau GUI (Graphical User Interface). Beberapa

fungsinutama dari sistem operasi adalah mengelola sumber daya yang terkait dengan

pengendalian perangkat lunak sistem/perangkat lunak aplikasi yang sedang dijalankan,

melakukan pengelolaan proses mencakup penyiapan, penjadwalan, dan pemantauan proses

program yang sedang dijalankan, dan melakukan penerjemahan sebagai perantara komunikasi

antara komputer dengan user.

Sistem operasi secara umum terdiri dari beberapa bagian:

1. Mekanisme Boot, yaitu meletakkan kernel ke dalam memory.

2. Kernel, yaitu inti dari sebuah sistem operasi.

Page 6: Modul Sistem Operasi 2014

Laboratorium Sistem Operasi & Jaringan Page 2

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 mengontrolnya.

Beberapa program seperti BIOS, bootloader, dan MBR (Master Boot Record),

dijalankan pertama kali sebelum masuk ke interface-nya. Sebuah sistem operasi tentunya

memiliki akses tak terbatas pada hardware karena memiliki kernel, yang merupakan inti dari

sistem operasi sekaligus menjadi "jembatan penghubung" dengan hardware. Kernel memiliki

beragam fungsi terhadap hardware, seperti manajemen memori, penjadwalan proses,

penanganan kesalahan dan gangguan, manajemen berkas, serta pelayanan tanggal dan jam

sistem. Saat kita menjalankan suatu program, sistem operasi akan otomatis meng-handle

proses tersebut dengan kernel. Kernel kemudian "memesan" sejumlah memory dan resource

lain, mengatur prioritas dari proses tersebut (hanya pada sistem yang memiliki kemampuan

multi-tasking), memuat coding program ke dalam memori, kemudian mengeksekusi program.

Sebuah kernel harus mampu mengatur semua memori sistem, baik yang sedang digunakan

pada program-program yang sedang berjalan, maupun yang sedang tidak terpakai. Hal

ini diperlukan untuk memastikan agar masing-masing program hanya memakai memori

yang telah dialokasikan kepadanya (tidak menggunakan memori lain, apalagi yang telah

dipakai oleh program lain). Pengertian multitasking sendiri yaitu adalah kemampuan untuk

menjalankan beberapa program dalam komputer yang sama, sehingga terlihat dapat

menjalankan beragam proses dalam waktu yang sama. Sebuah kernel memiliki kemampuan

'scheduler', yang dapat menentukan berapa lama sebuah program dieksekusi, dan pada

urutan berapa program tersebut dikendalikan. Kernel kemudian memberikan kendali atas

proses tersebut, sehingga program dapat mengakses memori dan CPU. Nantinya, kendali

tersebut dikembalikan ke kernel lagi, jadi program lain bisa mengakses CPU juga. Proses diatas

biasa juga disebut sebagai context switch.

3.3 UNIX, LINUX, & UBUNTU

3.3.1 UNIX

Unix atau UNIX adalah sebuah sistem operasi komputer yang diawali dari project

Multics (Multiplexed Information and Computing Service) pada tahun 1965 yang dilakukan

American Telephone and Telegraph AT&T, General Electric (GE), dan Institut Teknologi

Massachusetts (MIT), dengan biaya dari Departemen Pertahanan Amerika (Departement

of Defence Advenced Research Project, DARPA atau ARPA), UNIX didesain sebagai

Sistem operasi yang portable, multi-tasking dan multi-user. Sistem operasi Unix digunakan

secara luas baik sebagai server atau workstation. Arsitektur Unix dan model client/server

merupakan elemen yang paling penting dalam perkembangan internet dan mengubah

proses komputasi secara terpusat dalam jaringan dari pada proses tunggal di komputer.

Linux, merupakan sistem operasi yang diadopsi dari Unix dan tersedia secara bebas mendapat

popularitas sebagai alternatif dari sistem operasi proprietary seperti Microsoft Windows.

Beberapa sistem operasi yang merupakan pengembangan dari sistem operasi UNIX adalah

Solaris, OpenSolaris, BSD UNIX, FreeBSD dan Linux.

Page 7: Modul Sistem Operasi 2014

Laboratorium Sistem Operasi & Jaringan Page 3

Gambar 1.1 - Arsitektur Sistem Operasi UNIX

3.3.2 LINUX

Linux adalah nama yang diberikan kepada sistem operasi komputer bertipe Unix.

Linux merupakan salah satu contoh hasil pengembangan perangkat lunak bebas dan sumber

terbuka utama. Seperti perangkat lunak bebas dan sumber terbuka lainnya pada umumnya,

kode sumber Linux dapat dimodifikasi, digunakan dan didistribusikan kembali secara bebas

oleh siapa saja. Nama "Linux" berasal dari nama pembuatnya, yang diperkenalkan 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. Linux telah lama dikenal

untuk penggunaannya di server, dan didukung oleh perusahaan-perusahaan komputer

ternama seperti Intel, Dell, Hewlett-Packard, IBM, Novell, Oracle Corporation, Red Hat, dan

Sun Microsystems. Linux digunakan sebagai sistem operasi di berbagai macam jenis perangkat

keras komputer, termasuk komputer desktop dan superkomputer.

3.3.3 UBUNTU

Ubuntu merupakan salah satu distribusi Linux yang didistribusikan sebagai perangkat

lunak bebas. Nama Ubuntu berasal dari filosofi dari Afrika Selatan yang berarti "kemanusiaan

kepada sesama". Ubuntu dirancang untuk kepentingan penggunaan pribadi, namun versi

server Ubuntu juga tersedia, dan telah dipakai secara luas. Tujuan dari sistem operasi Ubuntu

adalah untuk memberikan kebebasan pada penggunanya. Bukan hanya dari tools yang telah

disediakan secara bebas biaya, tetapi juga mempunyai hak untuk memodifikasi perangkat lunak

sehingga bekerja sesuai dengan keinginan pengguna. Ubuntu mempunyai keunggulan jika

dibandingkan dengan sistem operasi lain, yaitu:

Open Soure. Distribusi Linux adalah open source dan source code dapat diedit dan

dikembangkan sesuai kebutuhan kita.

Free Software. Setiap aplikasi dan software pada Linux gratis dan open source

sehingga tidak perlu khawatir masalah lisensi yang biasanya terdapat pada sistem

operasi lain.

Stabil. Jika ada aplikasi yang crash dalam Ubuntu, tidak menyebabkan sistem operasi

Down.

Reliable. Server Linux sudah biasa hidup dalam jangka waktu ratusan hari

dibandingkan Windows yang perlu di Reboot secara berkala.

Mudah Digunakan. Linux Ubuntu adalah salah satu distribusi Linux yang user-

friendly dan mudah untuk digunakan.

Page 8: Modul Sistem Operasi 2014

Laboratorium Sistem Operasi & Jaringan Page 4

Kemudahan Upgrade. Kita dapat mengupgrade Linux Ubuntu melalui package

manager dan semua aplikasi dapat diinstall/update dengan mudah.

Server. Lingkungan sistem operasi yang ideal untuk menjalankan server, seperti Web

Server, FTP server, Authentication Server dan sebagainya.

3.4 User Interface

3.4.1 CLI

Command Line Interface (CLI) adalah sebuah interface atau tampilan dari sistem

operasi yang berisi perintah-perintah. Pengguna menjalankan perintah dan program di sistem

operasi tersebut dengan cara mengetikkan baris-baris tertentu. Meskipun konsepnya sama,

tiap-tiap sistem operasi memiliki nama atau istilah yang berbeda untuk CLI-nya. UNIX

memberi nama CLI-nya sebagai bash, ash, ksh, dan lain sebagainya. Microsoft Disk

Operating System (MS-DOS) memberi nama command.com atau Command Prompt.

Sedangkan pada Windows Vista, Microsoft menamakannya PowerShell. Pengguna Linux

mengenal CLI pada Linux sebagai terminal, sedangkan pada Apple namanya adalah

commandshell. Pada CLI kita dapat menjadi pengguna atau user khusus dimana kita

bisa melakukan segala macam administrasi pada sistem operasi tersebut. Pada Windows

biasa disebut Administrator dan pada Unix dan Linux disebut Root.

Pada Ubuntu, untuk menjadi root bisa dengan perintah:

$ sudo su

3.4.2 GUI

GUI (Graphical User Interface) adalah jenis antarmuka pengguna yang menggunakan

metoda interaksi pada piranti elektronik secara grafis (bukan perintah teks) antara pengguna

dan computer. GUI menggambarkan informasi dan perintah yang tersedia untuk pengguna

menggunakan icon grafis. Contoh: Microsoft Windows, MacOS dan Xwin.

3.5 Terminal

Bekerja dengan baris perintah tidaklah tugas yang menakutkan seperti yang kita pikir

sebelumnya. Tidak dibutuhkan pengetahuan khusus untuk mengetahui bagaimana

menggunakan baris perintah, ini adalah program seperti yang lainnya. Semua tugas di Linux

dapat diselesaikan menggunakan baris perintah, walaupun telah ada alat berbasis grafik untuk

semua program, tetapi kadang-kadang itu semua tidak cukup. Disinilah baris perintah akan

sangat membantu. Pada desktop terminal dapat ditemukan di Applications ->Terminal.

Terminal sering disebut command prompt atau shell. Di masa lalu, hal ini adalah cara

pengguna untuk berinteraksi dengan komputer, dan para pengguna Linux berpendapat bahwa

penggunaan perintah melalui shell akan lebih cepat dibanding melalui aplikasi berbasis grafik

dan hal ini masih berlaku sampai sekarang.

Disini Kita akan mempelajari bagaimana menggunakan terminal. Kegunaan awal dari

terminal adalah sebagai browser berkas dan kenyataannya saat ini masih digunakan sebagai

browser berkas, di saat lingkungan berbasis grafik tidak tersedia. Kita dapat menggunakan

terminal sebagai browser berkas untuk melihat berkas dan membatalkan perubahan yang

telah dibuat.

Page 9: Modul Sistem Operasi 2014

Laboratorium Sistem Operasi & Jaringan Page 5

3.6 File System

File System adalah sebuah struktur logika yang berguna untuk pengendalian akses

terhadap data yang berada pada disk atau tempa penyimpanan. Pada file sytem tersedia aturan

dan tatacara penyimpanan data dan program yang dimiliki oleh sebuah sistem operasi serta

seluruh user dari sistem computer tersebut.2 Pada umumnya file system terdiri dari dua bagian,

yang pertama adalah Sekumpulan file yang masing-masing menyimpan data-data yang

terintegrasi. Dan yang kedua adalah struktur direktori yang melakukan pengorganisasian dan

menyediakan informasi mengenai seluruh file dalam sebuah sistem.

File System pada Ubuntu disebut sebagai file system hirarki. Ini berarti bahwa file system

itu terdiri dari banyak direktori yang berisi file-file. Windows sebenarnya juga menggunakan

file system hirarki namun Ubuntu mengacu pada file system hingga hirarki tingkat bawah atau

sering disebut sebagai root. Tetapi hal ini tidak ada hubungannya dengan user root. Beberapa

contoh file system adalah : FAT (FAT16 dan FAT32), NTFS adalah singkatan dari New

Technology File System, ZFS, EXT2, dan lain-lain.

3.7 File Management

File management adalah sebuah aktivitas dan proses dalam mengatur dan menangani suatu

dokumen. Pengaturan yang dilakukan dapat berupa informasi bahwa suatu dokumen dapat di

tulis, diatur, dibagikan, dihapus, dan disimpan.3 Tentu saja hal ini dilakukan dengan tujuan

melakukan efektivitas dan efisiensi pengelolaan dokumen supaya tepat sasaran.4 Selain itu kita

juga dapat mengaturnya sesuai kebutuhan, seperti mengatur ijin (permission) bagi user lain

yang ingin menggunakannya.

Pada Ubuntu ada dua interface yang digunkan untuk melakukan file management, yaitu

dengan Graphical User Interface (GUI) dan Command-line User Interface (CLI). Dalam

Ubuntu, menggunakan CLI/ command prompt/ shell untuk melakukan file management lebih

disarankan karena perintah yang ada lebih lengkap dari pada menggunakan grafis. Ketika kita

berbicara tentang command-line kita di ibaratkan berbicara langsung dengan Linux dan dengan

menggunakan command-line kita bisa menemukan fleksibilitas dalan berinteraksi dengan

sistem operasi linux tersebut sehingga bisa dikatakan lebih efektif.

3.7.1 Struktur Dasar Linux

Perintah-perintah di console linux memiliki aturan-aturan penulisan, aturan struktur

penulisan perintah linux tersebut berlaku pada hampir semua perintah –perintah linux.

Penulisan perintah linux bersifat case sensitive.

Berikut struktur penulisan perintah linux :

$ perintah [-opsi] [argument_1] [argument_2]

1 2 3 4 5

Keterangan :

1. Merupakan tanda representasi user mode. Tanda representasi tersebut dibagi menjadi 2

yaitu $ dan #, berikut adalah penjelasan dari tanda user mode tersebut :

# (biasa disebut dengan root) adalah user mode yang memiliki hak akses tertinggi, root

memiliki hak akses yang tak terbatas terhadap seluruh perintah linux. Perintah-perintah

yang dapat di jalan pada mode root terdepan di folder /etc/sbin.

$ digunakan sebagai tanda jika user yang sedang mengakses adalah user biasa.

Page 10: Modul Sistem Operasi 2014

Laboratorium Sistem Operasi & Jaringan Page 6

2. Perintah adalah command-command yang digunakan untuk berinteraksi dengan sistem

operasi linux.

3. Opsi adalah fungsionalitas-fungsionalitas default yang dimiliki oleh perintah yang

digunakan. Kita dapat mengkombinasikan beberapa opsi untuk mendapatkan hasil yang

diinginkan. Fungsionalitas dari setiap perintah linux dapat dibaca dengan menggunakan

perintah:

$ man (perintah)

4. Argument_1, biasanya adalah nama file,direktori atau alamat (relative atau absolute) dari

suatu file ataupun folder.

5. Argument_2, pada beberapa perintah linux argument_2 tidak selalu harus ada, namun untuk

beberapa perintah operasi argument_2 biasanya berisi nama,direktori atau alamat (relative

atau absolute) dari suatu file ataupun folder tujuan.

#pwd Untuk mengetahui posisi direktori user sedang bekerja

#cd

(directory)

Untuk berpindah ke direktori lain

#ls –l

(directory)

Untuk menampilkan seluruh isi dari sebuah direktori

$ man

(command)

Untuk menampilkan pilihan option yang dapat

digunakan pada sebuah perintah dan ketik “quit” jika

ingin keluar dari manual

Pada Ubuntu manajemen file yang dapat dilakukan adalah penyalinan, penghapusan,

pembuatan, pemindahan, dan pemberian File Permissions.

a. Penyalinan

Untuk melakukan penyalinan file atau direktori dapat menggunakan perintah berikut:

#cp –option source

Untuk option terdapat dua pilihan yaitu.

-i Menghindari adanya penimpaan terhadap file yang sudah ada

pada direktori tujuan.

-r Menyalin secara rekursif, semua direktori yang ada pada

direktori asal disalin kedalam direktori tujuan.

b. Penghapusan

Untuk melakukan penghapusan file atau direktori dapat menggunakan perintah berikut:

#rm –option filename

Untuk option terdapat dua pilihan yaitu.

-i Menghindari adanya penghapusan terhadap file tanpa

kesengajaan.

Page 11: Modul Sistem Operasi 2014

Laboratorium Sistem Operasi & Jaringan Page 7

-r Menyalin secara rekursif, semua direktori yang ada pada

direktori asal disalin kedalam direktori tujuan (harus

dituliskan saat menghapus direktori).

c. Pembuatan

Untuk membuat direktori kita dapat menggunakan perintah:

#mkdir directoryname

Untuk membuat sebuah file kosong kita dapat menggunakan perintah:

#touch filename

d. Pemindahan

Untuk melakukan pemindahan file ke sebuah direktori dapat menggunakan perintah:

#mv –option source

Pada pilihan option sama seperti yang ada penyalinan file.

e. Pemberian File Permissions

Ada 3 jenis permissions yang ada pada Ubuntu.

Owner

Permission yang digunakan oleh pemilik file atau direktori.

Group

Permission yang digunakan oleh anggota dari grup pemilik file atau direktori.

Other

Permission yang digunakan oleh anggota dari grup pemilik file atau direktori.

Pada Ubuntu penulisan permission disusun dengan rangkaian drwxrwxrwx. Dimana

notasi pertama menetukan bahwa item yang dimaksud sebuah direktori atau file. Lalu tiga

notasi berikutnya adalah permissions milik owner, begitu seterusnya untuk group, dan other.

Karakteristik permission dapat kita kelompokkan sebagai berikut.

Permission Notasi Akses untuk file Akses untuk direktori

Read R Dapat menampilkan isi

file serta menyalin file

Dapat mendaftar isi dari

direktori

Write W Dapat memodifikasi isi

dari file

Dapat memodifikasi isi

dari direktori, seperti

menghapus. Namun juga

dibutuhkan execute

permission untuk

melakukannya

Execute X Dapat mengeksekusi

file maupun

menjalankan shell

Dapat mengakses

direktori. Dapat

mendaftar isi dari

Page 12: Modul Sistem Operasi 2014

Laboratorium Sistem Operasi & Jaringan Page 8

script. Dibutuhkan juga

read permission untuk

menjalankannya

direktori jika memilih

read permission

Untuk mengubah file permission dapat menggunakan perintah sebagai berikut.

#chmod permission target

Jika dikonversikan dari octal menjadi symbolic, maka akan sebagai berikut.

Symbolic Octal

--- 0

--x 1

-w- 2

-wx 3

r-- 4

r-x 5

rw- 6

rwx 7

3.8 Hirarki Direktori

Konsep dasar hirarki pada sistem operasi linux adalah seperti pohon. Dimana pohon terdiri

dari akar hingga ranting yang memiliki fungsiya sendiri. Dalam sistem operasi linux semuanya

disebut sebagai berkas. Hirarki ini menggambarkan berkas berkas yang ada pada sistem operasi

linux jika digambarkan akan seperti pohon. Dari akar berkas hinga ranting berkas yang

memiliki fungsinya tersendiri.

Dalam susunan hirarki di Linux level tertinggi dari sistem berkas di linux ini adalah direktori

root. Ini berarti bahwa semua berkas dan direktori ada di bawah direktori root. Dibawah

direktori /root, ada beberapa direktori sistem berkas yang umum digunakan oleh banyak

distribusi linux termasuk Ubuntu.

Berikut adalah beberapa direktori yang berada tepat di bawah /root yang merupakan cabang

pertama root.

/bin Aplikasi biner penting.

/boot Lokasi berkas konfigurasi untuk boot.

/dev Berkas peranti (device).

/etc Berkas konfigurasi, script startup, dll.

/home Direktori pangkal (home) untuk pengguna.

/lib Libraries yang digunakan oleh sistem.

/lost+found Menyediakan sistem lost+found untuk berkas yang berada

dibawah direktori root.

/media Mount (memuat) removable media seperti CD-ROM, kamera

digital, dll.

/mnt Untuk me-mount sistem berkas.

Page 13: Modul Sistem Operasi 2014

Laboratorium Sistem Operasi & Jaringan Page 9

/opt Tempat lokasi untuk menginstal aplikasi tambahan (optional).

/proc Direktori dinamis khusus yang menangani informasi

mengenai kondisi sistem, termasuk proses-proses (processes)

yang sedang berjalan.

/root Direktori pangkal untuk root.

/sbin Sistem biner penting.

/sys Mengandung informasi mengenani sistem.

/tmp Berkas sementara (temporary).

/usr Tempat aplikasi dan berkas yang sering digunakan oleh

pengguna (users).

/var Berkas variable seperti log dan database.

3.9 Package Management

Sistem manajemen paket Ubuntu berasal dari sistem yang sama digunakan oleh distribusi

GNU / Linux. File-file paket berisi semua file yang diperlukan, meta-data, dan petunjuk untuk

melaksanakan fungsi tertentu atau aplikasi perangkat lunak pada komputer Ubuntu kita.

Paket biasanya dari format biner pre-compiled, sehingga instalasi cepat dan tidak

memerlukan kompilasi perangkat lunak. Banyak paket kompleks menggunakan konsep

dependensi. Dependensi adalah paket tambahan yang dibutuhkan oleh paket utama agar dapat

berfungsi dengan benar.

1) DPKG

Tool instalasi ̀ dpkg` ini merupakan program yang pertama kali digunakan dalam instalasi

paket software distro GNU/Linux sebelum muncul tool-tool lain seperti dselect, apt-get,

serta synaptic.

Untuk melihat penggunaan tool dpkg, gunakan perintah berikut.

#dpkg –help

Untuk menginstall sebuah paket software (deb) dapat menggunakan perintah berikut.

#dpkg –i namapaket.deb

Untuk melakukan uninstall software dapat menggunakan perintah berikut.

#dkpkg –r | -–remove | –P | -–purge | paketsoftware

Keterangan:

-r atau –remove akan menghapus software tetapi tidak akan menghapus file konfigurasi

untuk mencegah konfigurasi ulang jika suatu saat akan diinstall kembali. Pilihan –P atau

–purge akan menghapus seluruh software termasuk file konfigurasi.

Untuk mengekstrak paket software dapat menggunakan perintah berikut.

#dpkg --unpack paketsoftware.deb

Page 14: Modul Sistem Operasi 2014

Laboratorium Sistem Operasi & Jaringan Page 10

Untuk mendaftar seluruh file yang terinstall bersama paket software dapat menggunakan

perintah berikut.

#dpkg

Untuk menampikan status software yang terinstall dapat menggunakan perintah berikut.

#dpkg –s paketsoftware

2) Apt-Get

Tool instalasi berikut ini memiliki kemudahan dibandingkan dengan menggunakan tool

dpkg. Jika terdapat dependensi (ketergantungan) dengan paket lain, maka `apt-get` akan

mencari sendiri kemudian menginstal paket tersebut tanpa harus bersusah payah mencari

letak software tersebut.

Perintah yang digunakan adalah sebagai berikut.

#apt-get [opsi] software1 software2

Sebagai contoh kita akan menginstall ssh dengan menggunakan perintah sebagai berikut.

Untuk menginstall sebuah paket, gunakan perintah berikut.

sudo apt-get install ssh

Untuk menghapus paket, gunakan perintah berikut.

sudo apt-get remove ssh

Jika ingin menghapus lebih dari satu paket, gunakan spasi untuk memisahkannya

Untuk mengupdate paket, gunakan perintah berikut.

sudo apt-get update

Sebelum melakukan update, cek terlebih dahulu repository yang ada dengan

membuka /etc/apt/sources.list. Tujuannya agar link repository yang kita gunakan

menyediakan update software yang akan kita gunakan atau tidak.

Untuk mengupgrade paket, gunakan perintah berikut.

sudo apt-get upgrade

Semua perintah dari apt-get yang telah kita lakukan seperti instalasi dan

penghapusan akan dicatat di /var/log/dpkg.log

3) Aptitude

Aptitude adalah menu-driven, berbasis teks front-end untuk Advanced Packaging Tool

(APT) sistem. Banyak fungsi manajemen paket umum, seperti instalasi, penghapusan, dan

upgrade, adalah dilakukan di Aptitude dengan satu tombol perintah, yang biasanya huruf

kecil. Aptitude paling cocok untuk digunakan dalam lingkungan terminal non-grafis, untuk

memastikan kelayakan fungsinya ketikkan satu kunci perintah. Perintah yang digunakan

adalah sebagai berikut.

Page 15: Modul Sistem Operasi 2014

Laboratorium Sistem Operasi & Jaringan Page 11

#sudo aptitude

Ketika Aptitude dimulai, Kita akan melihat menu bar di bagian atas layar dan dua panel

bawah menu bar. Panel atas berisi kategori paket, seperti Paket Baru. Panel bawah berisi

informasi yang berhubungan dengan paket dan kategori paket. Menggunakan Aptitude

untuk manajemen paket relatif mudah, dan antarmuka pengguna dibuat sederhana.

IV. Lab / Praktek

1. Pada video tutorial ini memiliki kasus seseorang akan melakukan installasi sistem operasi Ubuntu

12.04.2-desktop-i386 pada sebuah virtual komputer VMWare workstation 9. User dari sistem

operasi tersebut adalah sisjar dan password sisjarlab.

2. Selain itu dari tutorial modul 1 ini diberikan contoh sederhana melakukan file management pada

sistem operasi Ubuntu 12.04.2-desktop-i386. Kasusnya adalah : Seorang admin ingin membuat

fileteks_1 pada Desktop. Kemudian admin tersebut membuat folder sisjarfile di Desktop juga.

Admin tersebut ingin menyalinfileteks_1 pada foldersisjarfile yang dia buat. Kemudian admin

menyalin foldersisjarfile yang ada di Desktop ke direktori /home/sisjar. Fileteks_1 dan

foldersisjarfile yang ada di Desktop akan di hapus oleh admin. Selanjutnya, Admin harus

mengubah namafileteks_1 yang ada di direktori /home/sisjar mejadi teks_2 dan

mengubahpermission-nya menjadi owner dapat mengeksekusi, menampilkan, menyalin dan

modifikasi,group dapat menampilkan, menyalin dan modifikasi, serta other dapat

menampilkan, menyalin dan modifikasi.

V. Studi Kasus Praktikum

1. Instalasi Ubuntu 12.04.2-desktop-i386

Pada praktikum modul 1 ini praktikan diminta untuk melakukan instalasi VMware workstation

9 pada komputer masing masing. Selanjutnya melakukan installasi ISO Ubuntu 12.04.2-desktop-

i386 pada virtual komputer VMware yang diberi nama SISOP_2014. Untuk user dari Ubuntu

12.04.2-desktop-i386 adalah NIM praktikan dan password adalah sisop2014.

2. File management pada Ubuntu 12.04.2-desktop-i386

Lakukan file management dengan terminal/command prompt Ubuntu yang telah disediakan

sederhana di virtual computer masing-masing dengan mengikuti langkah-langkah praktikum

sebagai berikut :

Melihat direktori mana yang sedang praktikan masuki.

Masuk ke dalam root dan menjadi root

Membuat file modul_1 di direktori /home/(NIM praktikan)

Membuat folder atau direktori SISOP di direktori /home/(NIM praktikan)

Pindahkan file modul_1 ke dalam direktori SISOP

Salin (Copy) direktori SISOP ke dalam Desktop

Hapus direktori SISOP yang ada di direktori /home/(NIM praktikan)

Rubah nama file modul_1 di dalam direktori SISOP di Desktop menjadi sisjar

Page 16: Modul Sistem Operasi 2014

Laboratorium Sistem Operasi & Jaringan Page 12

Rubah permission file sisjar supaya owner bisa menyalin dan modifikasi, menampilkan ,

dan eksekusi, group bisa menyalin dan modifikasi, menampilkan , dan eksekusi , other

hanya bisa menampilkan saja.

Page 17: Modul Sistem Operasi 2014

Laboratorium Sistem Operasi & Jaringan Page 13

MODUL 2

Vi Editor & Network Configuration

I. Tujuan Praktikum 1. Praktikan mengerti definisi, peggunaan, serta pemanfaatan Vi Editor

2. Praktikan mampu melakukan operasi menggunakan Vi Editor

3. Praktikan mengerti definisi, pemanfaatan, dan penggunaan Network Configuration

4. Praktikan mampu melakukan operasi Network Configuration

II. Alat dan Bahan

1. Alat tulis

2. Komputer

3. VMware Player

4. Sistem Operasi Ubuntu 12.04

III. Landasan Teori

3.1 Teks Editor

3.1.1 Pengertian

Distribusi linux termasuk sejumlah aplikasi yang dikenal sebagai teks editor yang dapat

kita gunakan untuk membuat file teks atau mengedit file system configuration. Teks editor mirip

dengan word processing program, tetapiumumnya memiliki beberapa feature, bekerja hanya

dengan file teks, dan mungkin atau mungkin tidak mendukung pemeriksaan ejaan atau format.

Teks Editordapat ditemukan dihampir setiap distribusi linux yang ada. Jumlah editor yang ada

pada sistem tergantung pada software package apa saja yang telah terinstal pada sistem atau

OS.

Teks editor adalah suatu aplikasi dimana kita bisa membuat dan memodifikasi

file berbentuk teks. Beberapa text editor yang populer digunakan pada console-based

(CLI)adalah sebagai berikut :

emacs

nano – Simpel text editor yang sama seperti pico text editor

vim – Perkembangan, versi kompatibel dari vi editor

3.1.2 Vi Editor

Vi editor adalah suatu aplikasi teks editor yang dapat digunakan untuk membuat atau

memodifikasi suatu file berbasis teks. Kegunaan vi tidak jauh beda dengan Gedit, sama-sama

untuk mengolah data berupa teks. Tetapi kelebihannya yaitu ketika kita sedang menggunakan

OS tetapi tidak dengan desktop environment atau sedang me-remote suatu server. Dan hanya

menggunakan vi editor kita bisa mengedit file tapi tanpa mengubah hak akses terhadap file

tersebut.

Untuk memulai atau menggunakan vi editor, command atau perintah yang digunakan

adalah sebagai berikut :

matthew@seymour:~$ vi file.txt

Page 18: Modul Sistem Operasi 2014

Laboratorium Sistem Operasi & Jaringan Page 14

Kunci untuk memahami bagaimana vi editor bekerja adalah untuk mempelajari perbedaan

antara berbagai mode. Tiga mode penting dalam vi : Command mode, Insert mode, dan

Command-Line mode.

Command Mode

Command mode adalah mode utama dalam vi, ketika editor ini dijalankan maka pertama

kali akan berada pada mode ini. Pada mode ini, kita bisa melakukan perintah seperti

hapus, copy-paste. Dan bisa juga untuk mengarahkan posisi cursor, cari kata, dan keluar

dari vi.

Gambar 2.1 - Vi Command mode

Daftar perintah yang dapat digunakan dalam Command mode :

Command Description

Delete Text

dd Delete current line

ndd Delete n number of lines (for example, 5ddwill delete five lines)

dw Delete the current word under the cursor

db Delete the word before the cursor

d Delete everything from the cursor to the end of the line

x Deletes a character at the cursor

Search

/ Search forward (type the search text directly after the slash)

? Search backwards

ndd Repeat search in a forward direction

N Repeat search in a backward direction

Cut and Paste

yy Copy the current line

nyy Copy nnumber of lines into the buffer from the cursor downwards

(for example, 5yy copies five lines of text)

p Paste the contents of the clipboard Insert Text

Page 19: Modul Sistem Operasi 2014

Laboratorium Sistem Operasi & Jaringan Page 15

i Switch to Insert mode at the cursor

o Switch to Insert mode, placing the cursor below current line

O Switch to Insert mode, placing the cursor above current line

A Append text to end of line

Command Description

Navigation

$ Move the cursor to the end of the current line

w Move the cursor to the next word

b Move the cursor to the previous word

Miscellaneous

. Repeat the last command

u Undo the last command

Insert Mode

Untuk menuliskan atau mengedit suatu teks, kita perlu beralih ke Insert mode. Kita akan

memasuki mode ini ketika kita telah menekan/mengetikkan “i”,tetapi dapat juga dengan

menekan/mengetikkan “0” atau “o” untuk memasuki Insert mode, yang ditunjukkan oleh

INSERT kata yang muncul di bagian bawah layar, seperti pada gambar 2.2. Perbedaan

antara perintah yang diperlukan untuk beralih ke Insert mode adalah bahwa beberapa

membiarkan Anda memasukkan sebelum atau sesudah kursor. Umumnya, “i” adalah

yang paling berguna, karena apa yang Anda ketik akan muncul sebelum karakter di

bawah kursor.

Gambar 2.2 - Vi Insert Mode

Pada Insert mode, Anda masih bisa bergerak/memindahkan kursor di sekitar

teks dengan menggunakan tombol kursor. Apa pun yang Anda ketikan akan

muncul di titik kursor. Untuk keluar dari mode ini, tekan tombol "Esc" dan akan

mengembalikan Anda ke Command mode.

Tombol untuk cursor movement adalah sebagai berikut :

Command Description

Cursor Movement

h, Left arrow, Backspace Left one character

Page 20: Modul Sistem Operasi 2014

Laboratorium Sistem Operasi & Jaringan Page 16

j, Down arrow Down one character

K, Up arrow Up one line L, Right arrow, Space bar Right (forward) one character

Command-Line Mode

Mode yang ketiga adalah Command-Line mode (Perhatikan bahwa mode ini berbeda

dengan Command mode). Seperti namanya, mode ini adalah mode dimana anda dapat

memasukkan perintah untuk menyimpan dan memuat file serta melakukan tugas tugas

mendasar lainnya seperti mengontrol vi editor atau keluar dari program (vi). Kita dapat

masuk pada mode ini dengan mengetikkan atau menekan tombol “:”. Jika masih berada

pada Insert mode kita tetap harus menekan tombol “Esc” terlebi dahulu. Kita dapat

mengidentifikasi vi pada mode ini karena kursor akan berada pada bagian bawah layar

(vi) atau terdapat pada gambar 2.3.

Gambar 2.3 - Vi Command-Line Mode

Daftar basic Command-Line mode :

Command Description

:w Save the file

:w! Save the file and ignore errors such as an existing file

with the same filename

:q Quit vi

:q! Quit viand ignore errors such as an unsaved file

:s/word/replacement/ Search from the cursor downwards and replace any

instances of the word with the replacement

:help View help documentation

3.1.3 Repository

Repository adalah tempat penyimpanan arsip-arsip software, dimana software dalam

arsip ini dapat diambil oleh user untuk digunakan (instal, update) suatu software. Repository

biasanya kita update secara online, tetapi ada juga yang kita update repository secara offline

menggunakan DVD Repository.

Page 21: Modul Sistem Operasi 2014

Laboratorium Sistem Operasi & Jaringan Page 17

Ubuntu menggunakan “apt” untuk package management. apt dafttar repository terletak

pada file atau directory :

/etc/apt/sources.list

Dengan mengedit file ini, kita dapat menambah, menghapus, atau menonaktifkan

sementara repository software yang digunakan. Biasakan sebelum mengedit suatu fie

konfigurasi seperti source.list untuk backup terlebih dahulu. Perintah untuk backupsource.list

dengan menggunakan “cp” yang telah kita pelajari pada modul 1 pengenalan sistem operasi

dan file management. contohnya adalah sebagai beriku :

root@ubuntu:/home/sisjar#cp /etc/apt/sources.list

/etc/apt/sources.list.backup

Biasanya, isi default dari file/etc/apt/source.list sebagai berikut :

# sources.list

#deb cdrom:[Ubuntu 13.10 _Saucy Salamander_ - Release i386

(20131016.1)]/ saucy main restricted

# See http://help.ubuntu.com/community/UpgradeNotes for how to

upgrade to

# newer versions of the distribution.

deb http://ch.archive.ubuntu.com/ubuntu/ saucy main restricted

deb-src http://ch.archive.ubuntu.com/ubuntu/ saucy main

restricted

#...

Penjelasan dari format repository :

1. Semua baris yang dimulai dengan satu atau dua hash (#) adalah komenttar, hanya untuk

informasi.

2. Baris tanpa hash (#) adalah baris apt repository, yang biasanya disebut :

a. deb : repository ini mengandung binari atau precompiled packages. Repositori ini

diperlukan sebagian besar para pengguna.

b. deb-src : repository ini berisi source code packages. Repository ini sangat berguna

untuk developer.

c. http://archive.ubuntu.com/ubuntu : URI (Uniform Resource Identifier), dalam hal

ini berlokasi di internet.

d. saucy adalah release name atau version dari distribution linux yang terinstall.

e. main & restricted adalah nama-nama bagian atau komponen. Ada beberapa nama

bagian yang dipisahkan dengan spasi.

Page 22: Modul Sistem Operasi 2014

Laboratorium Sistem Operasi & Jaringan Page 18

3.2 Network Configuration

Materi network configuration ini diarahkan untuk administrator server dan fokus pada

pengelolaan jaringan menggunakan command lineinterface.

3.2.1 Ethernet Interface

Ethernet Interface diidentifikasi oleh sistem menggunakan konvensi penamaan

ethX, dimana X mewakili nilai numerik. Etehrnet Interface pertama biasanya

diidentifikasi sebagai eth0, kedua eth1, dan penomorannya semakin bertambah jika

memiliki interface yang lebih banyak.

Identify Ethernet Interfaces

Untuk mengidentifikasi semua Ethernet interfaces yang tersedia, Anda dapat

menggunakan perintah ifconfig seperti yang ditunjukkan di bawah ini.

ifconfig-a | grep eth

eth0 Link encap: Ethernet HWaddr 00:15: c5: 4a: 16:05

a

IP Addressing

Dynamic IP Address Assignment (DHCP Client)

Untuk mengkonfigurasi komputer (ubuntu) anda menggunakan DHCP dalam

pengisian alamat secara otomatis yang didapatkan dari DHCP server. Add

DHCP methode yang terdapat pada file/etc/network/interfaces

melalui terminal pada sistem operasi anda (Ubuntu). Contoh di bawah ini

mengasumsikan anda mengkonfigurasi Ethernet Interface yang diidentifikasi

sebagai eth0.

auto eth0

iface eth0 inet dhcp

Static IP Address Asignment

Untuk mengkonfigurasi komputer (ubuntu) anda menggunakan alamat IP Static.

Addstaticmethode yang terdapat pada file /etc/network/interfaces

melalui terminal pada sistem operasi anda (Ubuntu). Contoh di bawah ini

mengasumsikan anda mengkonfigurasi Ethernet Interface yang diidentifikasi

sebagai eth0 dengan IP Address, Subnet mask, Gateway seperti pada konfigurasi

dibawah ini.

auto eth0

iface eth0 inet static

address 10.0.0.100

netmask 255.255.255.0

gateway 10.0.0.1

Page 23: Modul Sistem Operasi 2014

Laboratorium Sistem Operasi & Jaringan Page 19

Setelah merubah suatu konfigurasi, biasakan menyimpan dan me-restart

service konfigurasi yang telah kita rubah.

IV. Lab / Praktek

4.1 Vi Editor

4.1.1 Studi Kasus

SysAdmin sisjar dari PT. FRI ingin memberikan informasi pada sysadmin yang lain.

informasi yang diberikan berupa file teks yang terdapat pada direktori

"root@ubuntu:/home/sisjar#" nama file teks tersebut adalah "Quote1" yang berisikan :

don't cry because it's over, smile because it's happened - Dr. zeuss.

Selanjutnya sysadmin sisjar mebuat file teks baru dengan nama "Quote2" yang

berisiskan :

you only live once , but if you do it right , once is enough- Mae West.

Karena suatu alasan kedua isi file tersebut harus digabungkan dan diberikan nama baru

"sisteminformasi", isi dari file teks sistem informasi tersebut yaitu :

don't cry because it's over, smile because it's happened - Dr. zeuss.

you only live once , but if you do it right , once is enough- Mae West.

File teks tersebut dibuat pada sistem operasi linux ubuntu dengan menggunakan Vi

Editor. (Tutorial Lengkapnya lihat di Video 2.1)

4.2 Repository

4.2.1 Studi Kasus

Backup terlebih dahulu dan tambahkan repository pada sistem operasi linux ubuntu

anda dengan menggunakan vi editor :

deb http://kambing.ui.ac.id/ubuntu/ precise-proposed main

restricted universe multiverse

deb http://kambing.ui.ac.id/ubuntu/ precise-security main

restricted universe multiverse

deb http://kambing.ui.ac.id/ubuntu/ precise-updates main

restricted universe multiverse

deb http://kambing.ui.ac.id/ubuntu/ precise main restricted

universe multiverse

Selanjutnya simpan dan lakukan update sistem operasi linux ubuntu anda.

4.3 Network Configuration

4.3.1 Studi Kasus

Diberikan satu komputer dengan sistem operasi windows 7 yang didalamnya terdapat

software VMware player, VMware player tersebut didalamnya terdapat virtual komputer

dengan sistem operasi Linux ubuntu. Praktikan diminta untuk mengkoneksikan dari windows

7 ke Ubuntu dan sebaliknya (Atau dari komputer ke VMware Player). IP yang diberikan

Page 24: Modul Sistem Operasi 2014

Laboratorium Sistem Operasi & Jaringan Page 20

terdapat pada Gambar 4.1 pada topoligi dibawah ini. untuk mengkonfigurasi IP pada Ubuntu

menggunakan command line interface (CLI). (Tutorial Lengkapnya lihat di Video 2.3)

Gambar 2.4- Topologi & alokasi IP Address

V. Studi Kasus Praktikum

5.1 Vi Editor

5.1.1 Studi Kasus

SysAdmin sisjar dari PT. FRI ingin memberikan informasi pada sysadmin yang lain.

informasi yang diberikan berupa file teks yang terdapat pada direktori

"root@ubuntu:/home/sisjar#" nama file teks tersebut adalah "sisteminformasi-1" yang

berisikan :

Program studi Sistem Informasi didirikan pada tahun 2007 dengan Surat Keputusan

Menteri Pendidikan dan Kebudayaan Republik Indonesia nomor 235/D/O/2007 Tanggal 30

November 2007. Berdasarkan SK ijin program studi, maka program studi Sistem Informasi

pertama kali beroperasi pada tahun 2008 di bawah naungan Fakultas Rekayasa Industri.

Selanjutnya sysadmin sisjar mebuat file teks baru dengan nama "sisteminformasi-2"

yang berisiskan :

Program studi Sistem Informasi IT Telkom dirancang untuk menghasilkan sumber daya

manusia yang berkompeten dalam pengelolaan industri infokom dengan keahlian di bidang

sistem informasi, manajemen dan teknologi informasi.

Karena suatu alasan kedua isi file tersebut harus digabungkan dan diberikan nama baru

"sisteminformasi", isi dari file teks sistem informasi tersebut yaitu :

Program studi Sistem Informasi didirikan pada tahun 2007 dengan Surat Keputusan

Menteri Pendidikan dan Kebudayaan Republik Indonesia nomor 235/D/O/2007 Tanggal 30

November 2007. Berdasarkan SK ijin program studi, maka program studi Sistem Informasi

pertama kali beroperasi pada tahun 2008 di bawah naungan Fakultas Rekayasa Industri.

Program studi Sistem Informasi IT Telkom dirancang untuk menghasilkan sumber daya

manusia yang berkompeten dalam pengelolaan industri infokom dengan keahlian di bidang

sistem informasi, manajemen dan teknologi informasi.

File teks tersebut dibuat pada sistem operasi linux ubuntu dengan menggunakan Vi

Editor.

Page 25: Modul Sistem Operasi 2014

Laboratorium Sistem Operasi & Jaringan Page 21

5.2 Repository

5.2.1 Studi Kasus

Backup terlebih dahulu dan tambahkan repository pada sistem operasi linux ubuntu

anda dengan menggunakan vi editor :

deb http://kambing.ui.ac.id/ubuntu/ precise-proposed main

restricted universe multiverse

deb http://kambing.ui.ac.id/ubuntu/ precise-security main

restricted universe multiverse

deb http://kambing.ui.ac.id/ubuntu/ precise-updates main

restricted universe multiverse

deb http://kambing.ui.ac.id/ubuntu/ precise main restricted

universe multiverse

Selanjutnya simpan dan lakukan update sistem operasi linux ubuntu anda.

5.3 Network Configuration

5.3.1 Studi Kasus

Diberikan satu komputer dengan sistem operasi windows 7 yang didalamnya terdapat

software VMware player, VMware player tersebut didalamnya terdapat virtual komputer

dengan sistem operasi Linux ubuntu. Praktikan diminta untuk mengkoneksikan dari windows

7 ke Ubuntu dan sebaliknya (Atau dari komputer ke VMware Player). IP yang diberikan

terdapat pada Gambar 4.1 pada topoligi dibawah ini. untuk mengkonfigurasi IP pada Ubuntu

menggunakan command line interface (CLI).

Gambar 2.5 - Topologi & alokasi IP Address

Page 26: Modul Sistem Operasi 2014

Laboratorium Sistem Operasi & Jaringan Page 22

MODUL 3

Remote Access (Telnet, SSH, dan Remote Desktop)

I. Tujuan Praktikum

1. Praktikan memahami prinsip kerja remoteadministrationtelnet, SSH dan remotedesktop

2. Praktikan mampu melakukan praktik remoteadministrationtelnet, SSH dan remotedesktop pada

Operating System Ubuntu 12.04

3. Praktikan mampu mingimplementasikan konsep remote administration telnet, SSH, dan remote

desktop

4. Praktikan mampu mengimplementasikan konsepsecurity dengan menggunakan SSH

II. Alat dan Bahan

1. Komputer/Laptop

2. Software VMware Workstation 9.0

3. Sistem Operasi Ubuntu 12.04

4. Sistem Operasi Windows 7

5. Software PuTTY

III. Landasan Teori

RemoteAccess terdiri dari:

a. Koneksi ke sistem pengolahan data dari lokasi remote, misalnya melalui VPN

(VirtualPrivateNetwork).

b. Remotedesktop perangkat lunak, mengacu kepada perangkat lunak atau fitur OS yang

memungkinkan aplikasi untuk dijalankan dari jarak jauh pada server.

c. Emulasi terminal digunakan untuk interface dengan sistem remote, misalnya telnet dan ssh.

3.1 Telnet

3.1.1 Pengertian

Telnet merupakan sebuah protokol yang digunakan untuk menghubungkan suatu sistem

dengan sistem yang lain secara remote dengan menggunakan koneksi virtual terminal melalui

jaringan. Telnet terdiri dari client dan server. Aplikasi telnet menghubungkan ke servis yang

sedang berjalan pada sistem remote dan menciptakan sesi login setelah autentifikasi yang tepat

telah dikonfirmasi. Namun, informasi autentikasi dan semua data yang ditukar melalui client

dan servertelnet dipertukarkan dengan jelas berupa teks biasa. Sehingga informasi tersebut

mudah untuk dilihat oleh siapa saja dengan melakukan akses ke jaringan, melihat paket, rasa

ingin tahu yang tinggi atau motif lain. Telnet dapat digunakan misalnya untuk sistem tertanam

yang mana memiliki sebuah catatan kecil OS yang penting. Terkadang, telnet merupakan cara

tercepat dan termudah untuk menguji servis yang baru diinstall selama konfigurasi.

3.1.2 Kelebihan Telnet

Mudah dalam melakukan remote komputer dengan jarak yang jauh.

Hemat bandwidth karena hanya mengirimkan data berupa teks

3.1.3 Kekurangan Telnet

Kurang aman karena tidak adanya enkripsi sehingga memudahkan untuk pencurian

password dan data - data penting lainnya.

Page 27: Modul Sistem Operasi 2014

Laboratorium Sistem Operasi & Jaringan Page 23

3.2 SSH (SecureShell)

3.2.1 Pengertian

SSH merupakan singkatan dari Secure Shell yang merupakan protokol jaringan yang

memungkinkan dalam pertukaran data antara dua komputer secara aman. SSH memberikan

alternatif pertukaran data yang lebih aman dibandingkan dengan remotesession tradisional dan

filetransfer protokol seperti telnet karena SSH mendukung beberapa protokol enkripsisecretkey

untuk membantu memastikan privacy dari keseluruhan komunikasi yang dimulai dengan

username/password awal. Port standard yang digunakan untuk menghubungi server SSH

adalah port 22.

3.2.2 Fungsi SSH

a. Untuk login ke shell pada remotehost (menggantikan Telnet dan rlogin)

b. Untuk mengeksekusi satu perintah pada remote host (menggantikan rsh)

c. Untuk menyalin file dari server lokal ke remote host

d. Dalam kombinasi dengan SFTP, sebagai alternatif yang aman untuk FTP transfer

file.

3.2.3 Kelebihan SSH

a. Data yang dipertukarkan ketika melakukan remote terenkripsi

b. Memiliki kode khusus untuk identifikasi client.

3.2.4 Kekurangan SSH

Rentan terhadap serangan man-in-the-middle-attack

Gambar 3.1 -Man-in-the-middle-attack

3.2.5 Security pada SSH

Mengubah port default SSH

Untuk mengamankan port SSH (port 22) yang defaultnya terbuka, dapat dilakukan

perubahan konfigurasi pada file sshd_config. Di dalam file tersebut, kita dapat

mengubah port default SSH yang awalnya 22 ke port lain yang tersedia. Tujuannya

adalah agar orang yang ingin me-remote komputer tidak dapat mengaksesnya

dikarenakan tidak mengatahui port yang telah kita rubah.

Blok akses root dari port SSH

Page 28: Modul Sistem Operasi 2014

Laboratorium Sistem Operasi & Jaringan Page 24

Salah satu masalah keamanan sistem operasi linux khususnya Ubuntu adalah hak

akses Root yang pertama diinginkan para perusak sistem agar bisa mudah menguasai

sistemnya. Maka dari itu perlu adanya pengamanan hak akses root yang bisa

dilakukan dengan cara memblok akses ke root yang nanti akan dijelaskan lebih lanjut

pada video dengan link dibawah.

3.2.6 PuTTY

PuTTY adalah program yang digunakan untuk meremote suatu OS yang terhubung

dengannya.

Gambar 3.2 - PuTTY

3.3 Remote Desktop pada Windows

Merupakan suatu aplikasi yang dapat memonitor kegiatan seseorang atau kinerja server

dari jarak jauh. RemoteDesktop menggunakan RemoteDesktopProtocol (RDP) dan secara

default berjalan di TCP port 3389. Remotedesktop digunakan untuk memantau apa saja yang

dilakukan oleh user maupun server. Selain itu, bisa juga digunakan untuk membantu

pekerjaan orang lain yang belum terselesaikan jika orang tersebut sedang ada masalah atau

kepentingan pribadi yang harus di tinggalkan dan tidak dapat menyelesaikan tugas tersebut

dalam satu kantor, instansi, dan lain – lain.

Page 29: Modul Sistem Operasi 2014

Laboratorium Sistem Operasi & Jaringan Page 25

IV. Lab / Praktek

4.1 Remote Desktop pada Windows

Pada suatu kantor PT. Sisjar terdapat beberapa ruangan yang menggunakan komputer dan

terhubung dengan jaringan, diantaranya adalah ruangan ICT Center yaitu ruangan yang

digunakan sebagai pusat jaringan di kantor tersebut sekaligus menjadi ruangan bagian

maintenance di kantor tersebut yang terletak di lantai 7, dan ruangan bagian keuangan di lantai

2.

Suatu ketika terjadi masalah pada salah satu komputer di ruangan bagian keuangan (PC1)

dengan IP 192.168.1.100. Lalu seorang staff dari bagian keuangan menghubungi bagian

maintenance yang berada di lantai 7. Karena sedang banyak urusan di ruang ICT center, teknisi

yang ada dibagian maintenance tidak bisa turun langsung untuk menyelesaikan masalah

tersebut. Jadi teknisi bagian maintenance menyelesaikan permasalahan tersebut dengan cara

meremotedesktop komputer bagian keuangan (PC1) menggunakan PC yang ada di ruangan

ICT center (PC2) dengan IP 192.168.1.200.

Pada awal instalasi jaringan di bagian keuangan, sejak awal sudah diatur agar komputer

bagian keuangan bisa diremote, jadi ketika ada masalah, teknisi tidak perlu berhadapan

langsung dengan komputer yang bermasalah dan bisa hanya dengan meremote saja jika

permasalahan masih terletak pada bagian perangkat lunak di komputer tersebut.

4.2 Remote Menggunakan SSH dan Telnet antara Windows dan Ubuntu

Perusahaan Wowowiwi Corp mempunyai sebuah server baru dengan Sistem Operasi

Ubuntu yang memakai IP 192.168.10.136 Netmask 255.255.255.0, sehingga bisa diakses dari

manapun, asalkan terkoneksi dengan jaringan Internet. Untuk mempermudah pengotrolan dan

pekerjaan lainnya yang berhubungan dengan server tersebut, server tersebut

dilengkapidengan program SSH yang menggunakan port default (port 22).

Suatu ketika salah seorang pegawai pengelola servertersebut ingin mengakses server

untuk menambahkan sistem keamanan SSH yaitu mengubah port defaultnya menjadi

port 69, memblok akses loginroot dan menambahkan telnet pada server tersebut. Akan

tetapi beliau sedang dinas keluar kota. Oleh karena itu beliau menggunakan program Putty

sebagai media untuk menggunakan SSH agar dapat mengakses server tersebut.

V. Studi Kasus Praktikum

5.1 Remote Desktop pada Windows

Indonesia Company memiliki sebuah kantor pusat yang terdiri dari 10 lantai. Di masing –

masing lantai, terdapat beberapa komputer yang saling terhubung dengan jaringan. Di lantai 8,

terdapat ruangan IT Center yang berperan penting dalam berjalannya seluruh komputer dan

sistem di dalam perusahaan.

Pada suatu hari, terdapat permasalahan pada komputer di lantai 3 yaitu pada bagian HRD

yang memiliki IP 192.168.100.100. Kemudian salah seorang staff HRD menghubungi bagian

IT untuk mengatasi masalah tersebut. Namun, para staff IT juga sedang memiliki pekerjaan

sehingga tidak bisa meninggalkan ruangan mereka. Anda sebagai mahasiswa IT, diminta oleh

staff IT dari Indonesia Company untuk membantu memperbaiki komputer bagian HRD yang

bermasalah tersebut dengan melakukan remote desktop dari komputer yang ada pada ruangan

IT yang meemiliki IP 192.168.100.168.

Page 30: Modul Sistem Operasi 2014

Laboratorium Sistem Operasi & Jaringan Page 26

5.2 Remote Menggunakan SSH dan Telnet antara Windows dan Ubuntu

PT. Nusantara membeli sebuah server baru dengan menggunakan Sistem Operasi

Ubuntu dengan IP 192.168.5.30/25. Suatu hari, direktur perusahaan tersebut ingin

menambahkan suatu file kedalam server dan juga menambahahkan sistem keamanan

dengan mengubah port default dari SSH. Jarjit adalah salah seorang staff pada PT. Nusantara

yang diminta untuk melakukan pekerjaan tersebut. Namun, Jarjit sedang tidak berada di kantor.

Oleh karena itu, Jarjit memakai software PuTTY untuk mengakses server melalui ssh/telnet.

Page 31: Modul Sistem Operasi 2014

Laboratorium Sistem Operasi & Jaringan Page 27

MODUL 4

Web Server & FTP Server

I. Tujuan Praktikum

1. Praktikan dapat memahami Definisi, Penggunaan dan Pemanfaatan Web Server & FTP Server

2. Praktikan dapat membuat Web Server & FTP Server

3. Praktikan dapat memahami penggunaan aplikasi untuk Web Server & FTP Server (Xampp)

II. Alat dan Bahan

1. PC/Laptop

2. Sistem Operasi Ubuntu 12.04

3. Vmware Workstation 9.0

4. File xampp-linux 1.8.1

5. Koneksi Internet

6. FileZilla

III. Landasan Teori

3.1 Web Server

3.1.1 Definisi

Web server merupakan sebuah server yang melayani permintaan web dengan

menggunakan protokol HTTP atau HTTPS. Server ini melayani permintaan dari klien melalui

web browser seperti Mozilla Firefox, Chrome, Internet Explorer, dan lain-lain. Web server

dapat mengacu ke hardware (komputer) atau software (aplikasi komputer) yang membantu

untuk memberikan konten web yang dapat diakses melalui internet.

Fungsi utama dari web server untuk menyimpan, mengolah dan mengirimkan halaman

web kepada klien. Halaman yang dikirimkan menggunakan HTML yang dapat menampung

gambar, style sheet, teks, dan lain-lain.

3.1.2 Contoh Web Server

a. Apache Web Server

Apache merupakan web server yang mudah dan sering digunakan, selain itu

Apache juga dapat dijalankan di banyak sistem operasi (Unix, BSD, Linux, Microsoft

Windows dan Novell Netware serta platform lainnya). Apache berguna untuk

melayani dan memfungsikan situs web. Protokol yang digunakan adalah HTTP.

Apache mempunyai beberapa kelebihan yaitu:

Termasuk dalam kategori freeware.

Memiliki level-level keamanan dengan kontrol akses.

Mempunyai kompatibilitas platform yang tinggi.

Mendukung transaksi yang aman (secure transaction) menggunakan SSL

(Secure Socket Layer)

Mendukung third party berupa modul-modul tambahan.

b. Nginx

Page 32: Modul Sistem Operasi 2014

Laboratorium Sistem Operasi & Jaringan Page 28

Nginx (baca: engine-x) adalah server HTTP dan Proxy berbasis open source

berkemampuan tinggi yang dapat juga digunakan sebagai proxy IMAP/POP3.

Ditemukan oleh Igor Sysoev pada tahun 2002 dan dirilis ke publik pada tahun 2004.

Nginx terkenal karena stabil, memiliki tingkat performansi tinggi dan minim

penggunaan memori. Nginx dapat digunakan pada Linux, BSD, Mac OS X, Solaris,

dan Microsoft Windows.

Fitur HTTP proxy dan Web server.

Dapat menangani lebih dari 10.000 koneksi secara simultan dengan

menggunakan memori yang sedikit.

Penanganan terhadap file statik, file indeks, dan auto-indexing.

Reverse proxy with caching.

Fault tolerance.

Kompatibel dengan IPv6.

FLV dan MP4 streaming.

dll.

3.2 FTP Server

3.2.1 Pengertian

File Transfer Protokol (FTP) adalah suatu protokol yang berfungsi sebagai perantara

tukar-menukar file dalam suatu network yang mensupport protokol TCP/IP . Komunkasi FTP

yang digunakan mengikuti arsitektur client server. FTP server biasanya berjalan di port 21. FTP

server membutuhkan username dan password untuk mengaksesnya, bisa juga tidak, tergantung

konfigurasi.

Terdapat dua hal penting yang ada dalam FTP yaitu FTP server dan FTP Client. FTP

server adalah server yang melayani perpindahan file melalui protokol FTP , Sedangkan FTP

client merupakan komputer yang merequest koneksi ke FTP server untuk tujuan tukar menukar

file (mengupload atau mendownload file).Perintah yang umum digunakan pada FTP yaitu Put

,Get dan Bye .

FTP Server pada linux yang terkenal ada 2 yaitu ProFTPDaemon dan

VerySecureFTPDaemon. Dalam praktikum kali ini kita menggunakan ProFTPDaemon

yangsudah menjadi bawaan default dari LAMPP. Konfigurasi dari ProFTPDaemon ini

terdapatpada file /opt/lampp/etc/proftpd.conf .

3.2.2 Tujuan

1. Untuk men-sharing data.

2. Untuk menyediakan indirect atau implicit remote computer.

3. Untuk menyediakan tempat penyimpanan bagi user.

4. Untuk menyediakan transfer data yang reliable dan efisien

3.2.3 Cara Kerja

Sebuah server FTP diakses dengan menggunakan Universal Resource Identifier (URI)

dengan menggunakan format ftp://namaserver. Klien FTP dapat menghubungi server FTP

dengan membuka URI tersebut

Sebelum membuat koneksi, port TCP nomor 21 di sisi server akan "mendengarkan"

percobaan koneksi dari sebuah klien FTP dan kemudian akan digunakan sebagai port pengatur

(control port) . Sekali koneksi kontrol telah dibuat, maka server akan mulai membuka port TCP

Page 33: Modul Sistem Operasi 2014

Laboratorium Sistem Operasi & Jaringan Page 29

nomor 20 untuk membentuk sebuah koneksi baru dengan klien untuk mengirim data yang

sedang dipertukarkan saat melakukan download dan upload.

Gambar 4.1 - Cara Kerja FTP

IV. Lab / Praktek

4.1 Memindahkan file dari PC ke Virtual machine.

a. Pastikan Service SSH telah diaktifkan di Virtual Machine

b. Pastikan antara PC dan Virtual Machine telah terhubung dengan cara tes koneksi dengan

ping

Gambar 4.2 - Mengecek ip pc dan ip virtual machine

Page 34: Modul Sistem Operasi 2014

Laboratorium Sistem Operasi & Jaringan Page 30

Gambar 4.3 - Test Ping Sukses

c. Buka FileZilla.

d. Masukkan IP virtual machine pada kolom Host, Username dan password root dari Ubuntu.

Untuk port, gunakan port 22.

Gambar 4.4 - Tampilan Pada Filezilla

e. Setelah berhasil maka akan muncul tampilan seperti berikut.

Gambar 4.5 - Tampilan Setelah Koneksi berhasil

Page 35: Modul Sistem Operasi 2014

Laboratorium Sistem Operasi & Jaringan Page 31

f. Masukkan file xampp yang ada pada Windows lalu letakkan pada Desktop Ubuntu. Kolom

sebelah kiri merupakan direktori Windows dan kolom sebelah kanan merupakan direktori

Ubuntu.

g. Setelah berhasil, pindahkan file xampp yang berada di desktop Ubuntu kedalam file /opt/

dengan menggunakan command berikut.

#mv xampp-linux-1.8.1.tar.gz /opt/

4.2 Install xampp

h. Ekstrak xampp yang berada pada direktori /opt/ dengan menggunakan command berikut.

#tar zxvf xampp-linux.1.8.1.tar.gz

i. Setelah berhasil, masukkan command seperti pada gambar dibawah.

Gambar 4.6 -Command untuk Mengaktifkan Service Xampp

j. Jika berhasil maka akan muncul tulisan seperti di gambar.

Gambar 4.7 - Service Xampp Berhasil

Page 36: Modul Sistem Operasi 2014

Laboratorium Sistem Operasi & Jaringan Page 32

k. Tes pada browser Windows dengan memasukkan IP address Ubuntu. Jika berhasil maka

tampilannya akan seperti gambar berikut.

Gambar 4.8 - Tampilan Pada Browser

V. Studi Kasus Praktikum

1. Toni adalah mahasiswa Sistem Informasi di Telkom University. Suatu ketika seorang dosen

meminta Toni untuk membantu beliau membuat sebuah Web server dengan menggunakan

Apache di sistem operasi Ubuntu, karena Toni hanya punya laptop dengan OS Windows maka

Toni membuat Web tersebut di Virtual Machine dengan OS Ubuntu . File yang diperlukan Toni

untuk membuat Web Server ada di Laptop Toni . Sebagai mahasiswa Sistem Informasi dan

mengerti cara membuat Web server. Bantulah Toni untuk memindahkan file yang diperlukan

untuk membuat Web server dari Laptop Toni ke Virtual Machine dan buatlah Web server pada

virtual machine yang disediakan . File yang anda perlukan ada pada folder (contoh: Praktikum

SISOP 2014/Modul 4).

Silahkan ikuti langkah-langkah pembuatannya yang ada pada modul jika anda menemukan

kesulitan.

NB : Segala bentuk kecurangan akan mendapatkan sanksi.

Page 37: Modul Sistem Operasi 2014

Laboratorium Sistem Operasi & Jaringan Page 33

MODUL 5

DNS Server

I. Tujuan Praktikum 1. Praktikan mengenal dan memahami Domain Name System (DNS)

2. Praktikan dapat mengkonfigurasikan DNS pada server

3. Praktikan dapat memahami konfigurasi file Forward dan file Reverse

II. Alat dan Bahan 1. Alat Tulis

2. PC/Komputer

3. Software VMware Workstation 10

4. Sistem Operasi Linux ubuntu-12.04.2-desktop-i386

5. Software BIND (Barkeley Internet Name Domain)

III. Landasan Teori

3.1 DNS Server

3.1.1 Pengertian

DNS (Domain Name System, bahasa Indonesia: Sistem Penamaan Domain) adalah

sebuah sistem yang menyimpan informasi tentang nama host maupun nama domain dalam

bentuk basis data tersebar (distributed database) di dalam suatu jaringan komputer.

DNS menyediakan servis yang cukup penting untuk Internet. Apabila perangkat keras

komputer dan jaringan bekerja dengan alamat IP untuk mengerjakan tugas seperti

pengalamatan dan penjaluran (routing), manusia pada umumnya lebih memilih untuk

menggunakan nama host dan nama domain, contohnya adalah penunjukan sumber

universal (URL) dan alamat e-mail. DNS menghubungkan kebutuhan ini. Selain digunakan

di Internet, DNS juga dapat di implementasikan ke privatenetwork atau intranet.

Pada sistem operasi Ubuntu, DNS diimplementasikan dengan menggunakan software

yang bernama BIND (Barkeley Internet Name Domain). BIND dapat diinstall dan

dikonfigurasikan pada sebuah PC dalam jaringan kantor atau rumah. Jika anda memilih

sebuah PC sebagai DNS Server dengan alamat IP 192.168.1.5, maka setiap komputer yang

terhubung dalam jaringan harus mendefinisikan siapa servernya. Komputer yang tidak

mendefinisikan siapa server DNS-nya, maka tidak dapat memanfaatkan penamaan DNS.

Page 38: Modul Sistem Operasi 2014

Laboratorium Sistem Operasi & Jaringan Page 34

3.1.2 Cara Kerja DNS

Fungsi dari DNS adalah menerjemahkan dari nama komputer ke IP address

(memetakan). Client DNS disebut dengan resolvers dan server DNS disebut dengan name

servers. Resolvers atau client mengirimkan permintaan ke name server berupa queries. Name

server akan memproses dengan cara melakukan pengecekan ke localdatabase DNS,

menghubungi name server lainnya atau akan mengirimkan message failure jika ternyata

permintaan dari client tidak ditemukan. Proses tersebut disebut dengan Forward Lookup Query,

yaitu permintaan dari client dengan cara memetakan nama komputer (host) ke IP address.

Gambar 5.1 - Cara Kerja DNS Server

3.1.3 Struktur DNS

Domain Name Space merupakan sebuah hirarki pengelompokan domain

berdasarkan nama, yang terbagi menjadi beberapa bagian diantaranya:

Root-Level Domains

Domain ditentukan berdasarkan tingkatan kemampuan yang ada pada struktur

hirarki yang disebut dengan level. Level paling atas di hirarki disebut dengan root

domain. Root domain di ekspresikan berdasarkan periode dimana lambang untuk

rootdomain adalah . (dot).

Top-Level Domains

Berikut adalah contoh dari top-level domains:

1. .com : Organisasi Komersial

2. .edu : Institusi pendidikan atau universitas

3. .org : Organisasi non-profit

4. .net : Networks (backboneInternet)

5. .gov : Organisasi pemerintah non militer

6. .mil : Organisasi pemerintah militer

7. .arpa : Reverse DNS

8. .xx : dua-huruf untuk kode negara (.id: Indonesia, .sg: Singapura, dan lain-lain)

Page 39: Modul Sistem Operasi 2014

Laboratorium Sistem Operasi & Jaringan Page 35

Second-Level Domains

Second level domains dapat berisi host dan domain lain yang disebut dengan

subdomain. Sebagai contoh academic.telkomuniversity.ac.id, dan lain-lain.

Host Names

Domainname yang digunakan dengan host name akan menciptakan fully

qualified domain name (FQDN) untuk setiap komputer. Misalnya

academic.telkomuniversity.ac.id, dimana academic adalah host name dan

telkomuniversity.ac.id adalah domain name.

3.1.4 Jenis – Jenis DNS Record (Elemen Dasar DNS)

1. NS (Name Server) : Digunakan untuk menyatukan “Authoritative Name Server”

yang mengelola domain.

2. A (Address) : Digunakan untuk memetakan suatu hostname ke suatu IP Address.

3. PTR (Pointer) : Digunakan untuk meletakan IP Address ke hostname.

4. CNAME (CanonicalName) : Digunakan untuk menyatakan sebuah alias atau

nickname dari suatu host.

5. MX (MailExchange) : Digunakan untuk mengarahkan e-mail untuk suatu host atau

domain ke host yang berfungsi sebagai mail server.

6. SOA : Start of Authority merupakan perintah yang hanya digunakan oleh

primary DNS. Perintah tersebut mendefinisikan awal dari suatu zone.

7. Nameserver : Nama domain yang anda buat dilayani oleh server DNS.

8. Serial_number : Nomor seri dari zone file. Biasanya menggunakan format

berbentuk yyyymmddxx (y: tahun, m: bulan, d: tanggal, x: kode serial )

9. Refresh_number : Mendefinisikan selang waktu yang diperlukan oleh

SecondaryName Server untuk memeriksa perubahan zone file pada Primary Name

Server.

10. Retry_number : Mendeklarasikan beberapa DNS menunggu pengulangan

pengecekan terhadap DNS apabila DNS tidak memberikan respon pada saat proses

refresh.

11. Expire_number : Mendeklarasikan berapa lama zone file dipertahankan pada DNS.

Apabila DNS tidak bisa, maka ia akan melakukan penghapusan.

12. Negative Cache TTL _number : Mendeklarasikan nilai defaultTime To Live

untuk semua resource pada zone file.

DNS Management adalah hal yang memegang peranan penting dalam memaintain

suatu domain, mail server, website atau service lainnya. Meskipun membangun server DNS

merupakan pekerjaanyang cukup rumit, akan tetapi modifikasi terhadap DNS yang sudah

berjalan sangat jarang dilakukan karena setiap server di internet pada umumnya

mempunyai IP Address yang statik.

Page 40: Modul Sistem Operasi 2014

Laboratorium Sistem Operasi & Jaringan Page 36

IV. Lab / Praktek

4.1 Install

DNS digunakan sebagai penerjemah dari nama domain ke alamat IP dan sebaliknya, yaitu

dari alamat IP ke nama domain. Pada modul ini kita akan mencoba membuat DNS server dari

aplikasi bind9. Langkah pertama adalah install dns-server dengan perintah :

# apt-get install bind9

Sebelum menginstall pastikan OS Ubuntu telah terkoneksi dengan internet dan

repository (telah dijelaskan pada modul sebelumnya).

4.2 Setting IP Static

Sebelum melakukan konfigurasi DNS server pada bind9, lakukan dahulu edit

konfigurasi network untuk mengubah IP Ubuntu menjadi static.

Tambahkan baris berikut pada file /etc/network/interfaces :

auto eth0

iface eth0 inet static

address 192.168.1.128

netmask 255.255.255.0

gateway 192.168.1.1

Lalu tes dengan perintah ifconfig.

Gambar 4.2 - Cek konfigurasi IP address

Page 41: Modul Sistem Operasi 2014

Laboratorium Sistem Operasi & Jaringan Page 37

4.3 Membuat File Forward dan File Reverse

Disini kita hanya perlu melakukan duplikat dari file konfigurasi default yang telah ada pada

bind9. Namun sebelumnya kita harus terlebih dahulu membuat file database baru untuk DNS

yang berfungsi untuk konfigurasi IP server dan sebagainya.

Ketikkan perintah berikut :

#touch /etc/bind/db.sisjar1.com

#touch /etc/bind/db.sisjar2.com

File forward: copy file db.local kedalam direktori yang sama dengan nama

db.sisjar1.com .

Ketikkanperintah berikut :

#cp /etc/bind/db.local /etc/bind/db.sisjar1.com

Kemudian edit file tersebut seperti pada gambar di bawah, ubah beberapa baris, dan

sesuaikan dengan ip server dan nama domain yang di inginkan. Contohnya adalah

sisjar1.com

#nano /etc/bind/db.sisjar1.com

Gambar 5.3 - Tampilan konfigurasi file forward

File Reverse: begitu juga dengan file reverse, copy file db.127 ke dalam direktori yang

sama dengan nama db.sisjar2.com

Page 42: Modul Sistem Operasi 2014

Laboratorium Sistem Operasi & Jaringan Page 38

#cp /etc/bind/db.127 /etc/bind/db.sisjar2.com

Kemudian edit file tersebut seperti pada gambar di bawah, ubah beberapa baris, dan

sesuaikan dengan ip server dan nama domain yang di inginkan. Contohnya adalah

sisjar2.com

#nano /etc/bind/db.sisjar2.com

Gambar 5.4 - Tampilan konfigurasi file reverse

Bagian ini adalah yang terpenting, dimana kita akan menentukan nama untuk domain

dari server Ubuntu kita. Untuk melakukan penentuan nama domain dan sever,edit dan

tambahkan konfigurasi untuk forward dan reverse pada file named.conf dengan

mengetikkan perintah berikut ini:

#nano /etc/bind/named.conf.local

tambahkan baris berikut :

zone “sisjar1.com” {

type master;

file “/etc/bind/db.sisjar1.com”;};

zone “192.168.1.128.in-addr.arpa” {

type master;

file “/etc/bind/db.sisjar2.com”;};

Page 43: Modul Sistem Operasi 2014

Laboratorium Sistem Operasi & Jaringan Page 39

Gambar 5.4 - Tampilan konfigurasi domain name server

Restart daemon dari bind9.

#/etc/init.d/bind9 restart

Gambar 5.5 - Tampilan setelah bind9 di restart

Jika sudah ok, ubah DNS di ubuntu menggunakan ip servernya, agar DNS

sisjar1.com dapat terbaca.

Page 44: Modul Sistem Operasi 2014

Laboratorium Sistem Operasi & Jaringan Page 40

Tambahkan baris berikut pada file /etc/network/interfaces:

Gambar 5.6 - Tampilan interface DNS server sisjar1.com

Lakukan tes apakah DNS Server tersebut berhasil atau tidak, dengan melakukan ping ke

sisjar.com.

# ping sisjar.com

Gambar 4.7 Tampilan tes ping sukses

Page 45: Modul Sistem Operasi 2014

Laboratorium Sistem Operasi & Jaringan Page 41

Atau dengan melakukan perintah nslookup.

# nslookup sisjar1.com

# nslookup 192.168.1.128

Gambar 5.8 - Tampilan tes nslookup sukses

V. Studi Kasus Praktikum

1. Diberikan satu komputer dengan sistem operasi windows 7 yang didalamnya terdapat software

VMware player, VMware player tersebut didalamnya terdapat virtual komputer dengan sistem

operasi Linux ubuntu. Praktikan diminta untuk membuat dan mengkonfigurasikan DNS server

pada OS Ubuntu agar dapat bekerja sebagai mana mestinya.

2. Konfigurasi dapat dilakukan melalui vi editor, nano editor maupun text editor lainnya selama tidak

mempersulit pengerjaan.

3. Untuk domain name beri nama pada DNS name server “sisjar.com” dengan IP 192.168.1.26 /24.

4. Lakukan Uji ping maupun nslookup untuk memastikan apakah dns server telah bekerja atau

belum.

Page 46: Modul Sistem Operasi 2014

Laboratorium Sistem Operasi & Jaringan Page 42

MODUL 6

Mail Server

I. Tujuan Praktikum

1. Memahami cara kerja Mail Server

2. Mampu melakukan installasiMail Server

3. Mampu mengkonfigurasi Mail Server

II. Alat dan Bahan 1. Perangkat komputer

2. Sistem Operasi Ubuntu

3. Postfix MTA packages

4. Dovecot MDA packages

5. Thunderbird Mail Client

III. Landasan Teori

3.1 Pengenalan Mail Server

Mail Server merupakan perangkat lunak yang dapat mendistribusikan file atau informasi

sebagai respon atas permintaan yang dikirim viaemail, dan juga digunakan pada bitnet untuk

menyediakan layanan serupa seperti FTP. Komponen utama pada sistem Mail Server yakni

Mail Transfer Agent (MTA), Mail Delivery Agent (MDA) dan Mail User Agent (MUA) atau

sering disebut juga Mail Client.

3.1.1 Mail Transfer Agent (MTA)

MTA merupakan suatu program yang bertanggung jawab dalam mengirim email dari

satu komputer ke komputer yang lain dengan menggunakan Simple Mail Transfer Protocol

(SMTP).

3.1.2 Mail Delivery Agent (MDA)

MDA merupakan suatu program yang sebenarnya mengirim email yang diterima oleh

MTA, ke MailboxPersonal. MDA juga dapat berfungsi sebagai filter SPAM, deteksi virus dan

mengirim balasan otomatis. Selain itu, MDA juga bekerja pada layer presentation dalam

mengolah email dari Mailbox ke penggunanya, dimana protocol yang dapat dioleh berupa Post

Office Protocol (POP dan POP3) dan Internet Message Access Protocol (IMAP) pada host

dimana email tersimpan. Contoh umum dari MDA pada sistem Linux adalah procmail,

Qpopper, Cyrus, pop3d, Courier IMAP dan Dovecot. MDA dapat secara langsung terintegrasi

pada MTA, seperti pada Microsoft Exchange.

3.1.3 Mail User Agent (MUA) atau Mail Client

Suatu Program yang bekerja dalam mengirim dan membaca email yang diterima dalam

MailboxPersonal dengan menggunakan protokol berupa POP, POP3 dan IMAP. Kebanyakan

MUA juga menyediakan layanan dalam menyusun email. Contoh dari MUA yakni Evolution,

Microsoft Outlook mutt, kmail, pine dan Thunderbird

Page 47: Modul Sistem Operasi 2014

Laboratorium Sistem Operasi & Jaringan Page 43

3.2 Cara kerja Mail Server

Seperti yang sudah dijelaskan sebelumnya, sistem pada Mail Server terdiri dari 3 komponen

utama yakni MDA, MTA dan MUA serta komponen pendukung lainnya yakni database untuk

domain table dan DNS. Berikut merupakan diagram Mail Server :

Gambar 6. 1 - Diagram Mail Server

Pada gambar diatas, bisa dilihat bahwa MTA bertugas untuk meneruskan email yang masuk

ke MDA dan keluar, sedangkan MDA bertugas untuk meneruskan email yang diterima dari

MTA ke Mailbox yang kemudian akan dapat diakses oleh MUA. MUA sendiri akan langsung

melakukan pengiriman email ke MTA tanpa melalui MDA.

Pada modul ini kita akan menggunakan Postfix sebagai MTA, Dovecot sebagai MDA dan

MySQL sebagai database.

Page 48: Modul Sistem Operasi 2014

Laboratorium Sistem Operasi & Jaringan Page 44

3.2.1 Proses pengiriman email

Gambar 6. 2 - Pengiriman Email

Berikut penjelasan untuk gambar diatas :

1. Pertama Mail Client akan mencoba membuat hubungan dengan Postfix, dengan tujuan

mengirim email.

2. Postfix menerima perintah dari Mail Client, kemudian meminta Username dan Password

untuk mengirim email ke Mail Client.

3. Mail Client mengirim Username serta Password ke Postfix.

4. Postfix kemudian meneruskan Username dan Password tadi ke Dovecot untuk diperiksa.

5. Dovecot kemudian mengakses database MySQL untuk melihat apakah Username dan

Password terdaftar.

6. Username dan Password terdaftar dalam tabel domain

7. Dovecot melakukan konfirmasi ke Postfix bahwa Username dan Password terdaftar.

8. Postfix melakukan konfirmasi ke Mail Client, bahwa Username dan Passwordvalid.

9. Mail Client mengirim email ke Postfix yang nantinya diteruskan oleh Postfix ke domain

tujuan.

Page 49: Modul Sistem Operasi 2014

Laboratorium Sistem Operasi & Jaringan Page 45

3.2.2 Proses Penerimaan email

Gambar 6. 3 - Penerimaan email

Berikut penjelasan untuk gambar diatas :

1. Email dikirim dari [email protected] ke alamat kita.

2. DNS memeriksa tujuan email kemudian meneruskannya ke domain kita.

3. Email diterima oleh Postfix.

4. Postfix kemudian mengakses tabel domain untuk memeriksa apakah email dapat

diteruskan atau tidak.

5. Email terkonfirmasi bahwa dapat diteruskan ke alamat tujuan.

6. Postfix meneruskan email ke Dovecot dengan LMTP.

7. Dovecot kemudian meneruskan (menyimpan) email yang diterima ke alamat Mailbox yang

valid.

Page 50: Modul Sistem Operasi 2014

Laboratorium Sistem Operasi & Jaringan Page 46

3.2.3 Pengecekan Email

Gambar 6. 4 - Pengecekan Email

Berikut penjelasan dari gambar di atas :

1. Mail Client mencoba membuat koneksi via IMAP ke Dovecot.

2. Dovecot melakukan konfirmasi, kemudian meminta Username dan Password.

3. Mail Client mengirimkan Username dan Password ke Dovecot.

4. Dovecot kemudian mengakses database untuk memeriksa Username dan Password

pada tabel user.

5. Username dan Password pada database cocok.

6. Dovecot kemudian mengakses Mailbox yang bersangkutan.

7. Dovecot mengambil email yang ada pada Mailbox.

8. Dovecot mengirimkan email yang telah diambil dari Mailbox ke Mail Client.

3.3 Manfaat memiliki Mail Server sendiri

Tidak ada batasan jumlah pengguna. Kebanyakan ISP dan domainhosting menyediakan

slot pengguna ataupun alias pada jumlah yang telah ditentukan dan mengenakan biaya

tambahan untuk jumlah yang lebih banyak.

Tidak ada batasan jumlah domain yang ditangani oleh satu Mail Server. Sama halnya

dengan jumlah pengguna, kebanyakan ISP dan perusahaan hosting akan mengenakan

biaya untuk setiap domain.

Keleluasaan dalam menggunakan jenis Mail Server yang berbeda dibandingkan dengan

yang disediakan ISP ataupun domainhosting.

Page 51: Modul Sistem Operasi 2014

Laboratorium Sistem Operasi & Jaringan Page 47

IV. Lab / Praktek

4.1 Installasi

Pada praktikum ini kita akan menginstall Postfix packages dan Dovecot packages. Untuk

database kita akan menggunakan database yang telah tersedia.

Buka terminal, kemudian ketikan perintah berikut :

$ sudo apt-get install postfix dovecot-common dovecot-imapd dovecot-

pop3d

Perintah sudo bertujuan untuk mengganti privilege menjadi root, apt berguna untuk

menampilkan packages yang akan diolah (diinstall), dan setelah commandinstall merupakan

packages program yang akan diinstall.

4.1.2 Postfix Packages

1. Kemudian muncul menu untuk jenis Mail Server yang akan digunakan

Gambar 6. 5 - Menu Jenis Mail Server

Bisa dilihat pada penjelasan dalam menu, untuk pilihan Internet SiteMail

Server terhubung dengan internet dan meneruskan email dengan SMTP. Satellite

system, dimana email dikirim ke perangkat lain, disebut Smarthost bertindak

sebagai MDA. Local only, dimana email hanya digunakan dalam cakupan lokal

dimana MTA tidak mengakses DNS.

Page 52: Modul Sistem Operasi 2014

Laboratorium Sistem Operasi & Jaringan Page 48

2. Kemudian muncul pop-menu untuk memasukan nama domain :

Gambar 6. 6 - Menu Nama Domain

Silahkan ketikan nama domain yang diinginkan.

4.1.3 Dovecot packages

1. Pada pop-menu berikut, pilih yes. Hal ini dimaksudkan agar dovecot tidak

menggunakan sertifikat SSL default.

2. Kemudian akan muncul pop-menu lagi sebagai berikut :

Ketikan mail.example.com.

4.1.4 Konfigurasi Postfix

1. Pertama tambahkan daftar host dengan mengeditfile /etc/hosts kemudian masukan

baris berikut

192.168.1.1 mail.example.com

2. Buka terminal kemudian ketikan perintah berikut

$ sudo nano /etc/postfix/main.cf

Bertujuan untuk mengedit file konfigurasi postfix via nano editor.

3. Berikut adalah tampilan file main.cf

smtp_tls_session_cache_database =

btree:${queue_directory}/smtp_scache

myhostname = ubuntu32.vonhagen.org

alias_maps = hash:/etc/aliases

alias_database = hash:/etc/aliases

myorigin = /etc/mailname

mydestination = mail.example.com, example.com,

localhost.localdomain, localhost

Page 53: Modul Sistem Operasi 2014

Laboratorium Sistem Operasi & Jaringan Page 49

relayhost =

mynetworks = 127.0.0.0/8192.168.1.0/24

Mailbox_size_limit = 0

recipient_delimiter = +

inet_interfaces = all

4. Pada baris mynetworks masukan IP addresshost yang akan ditambahkan sehingga

barisnya menjadi :

mynetworks = 127.0.0.0/8192.168.1.0/24

Dalam contoh diatas alamat host yakni 192.168.1.1-192.168.1.254.

5. Kemudian agar alamat domain kita valid, ganti nilai pada mydestination menjadi

alamat domain, dan host kita. Misalnya hasilnya sebagai berikut

Mydestination = example.com, mail.example.com,

localhost.localdomain, localhost

Dikarenakan Postfix secara default akan menerima semua permintaan yang

masuk pada semua interface jaringan, tetapi hanya akan membolehkan host pada

loopbacknetwork yang terdaftar untuk mengirim email melalui Mail Server

tersebut. Maka agar setiap host yang terdaftar pada Mail Server dapat mengirim

email, diperlukan penambahan jaringan seperti pada langkah diatas.

6. Tambahkan baris berikut untuk konfigurasi proses autentikasi

smtpd_sasl_type = dovecot

smtpd_sasl_path = private/auth

smtpd_sasl_auth_enable = yes

smtpd_recipient_restrictions =

permit_sasl_authenticated,

permit_mynetworks,

reject_unauth_destination

Untuk baris smtpd_sasl_type diisi nilai dovecot bertujuan agar Simple

Authentication and Security Layer (SASL) yang digunakan menggunakan milik

dovecot.

Page 54: Modul Sistem Operasi 2014

Laboratorium Sistem Operasi & Jaringan Page 50

Smtpd_sasl_pathdiisi dengan alamat authenticationsocket,

smtpd_sasl_auth_enable diisi dengan nilai yes bertujuan agar memperbolehkan

penerusan email dengan SASL untuk user yang terautentikasi, lalu baris

smtpd_recipient_restricition bertujuan untuk menentukan jenis user yang dapat

meneruskan email dengan server ini.

7. Untuk menggunakan format Maildir tambahkan baris berikut pada file konfigurasi

tadi (/etc/postfix/main.cf)

Home_mailbox = Maildir/

Save dan exit.

8. Arahkan path SSL ke file berikut

Postconf –e ‘smtpd_tls_key_file =

/etc/ssl/private/server.key

Postconf –e ‘smtpd_tls_cert_file =

/etc/ssl/certs/server.crt’

9. Aktifkan akses via smtp melalui port 587 dengan mengedit file

/etc/postfix/master.cf : (hapus karakter # pada baris-baris berikut)

Submission inet n - - - - smtpd

-o syslog_name=postfix/submission

-o smtpd_tls_security_level=encrypt

-o smtpd_sasl_auth_enable=yes

-o smtpd_relay_restrictions=permit_sasl_authenticated,

reject

-o milter_macro_daemon_name=ORIGINATING

Save dan Exit.

4.1.5 Konfigurasi Dovecot

1. Buka fileetc/dovecot/conf.d/10-master.confkemudian tambahkan baris berikut

pada bagian Postfix smtp-auth (baris ke 95)

Unix_listener /var/spool/postfix/private/auth {

Mode = 0660

User = postfix

Group = postfix

Page 55: Modul Sistem Operasi 2014

Laboratorium Sistem Operasi & Jaringan Page 51

Baris diatas ditambahkan agar proses autentikasi menggunakan user system

Postfix. Save lalu keluar.

2. Buka file /etc/dovecot/conf.d/10-auth.confkemudian temukan perintah pada baris

ke 100 ganti dengan baris berikut :

Auth_mechanism = plain login

Simpan hasil editan.

3. Restart Dovecot dan Postfix dengan perintah

Service dovecot restart

Service postfix restart

4.1.6 Testing Mail Server

1. Buat akun baru pada ubuntu, dengan perintah berikut :

Useradd –m test –s /sbin/nologin

Passwd test

Masukan password yang diinginkan.

2. Buka Mail Client (thunderbird), tambahkan user baru yang telah dibuat tadi (test)

Gambar 6. 7 - Menu Thunderbird

Page 56: Modul Sistem Operasi 2014

Laboratorium Sistem Operasi & Jaringan Page 52

3. Dalam menu create a new account, klik Email.

Gambar 6. 8 - Create mail account Thunderbird

4. Klik skip this and use my existing account, maka akan muncul tampilan sebagai

berikut :

Gambar 6. 9 - Menu Mail Account Setup Thunderbird

Masukan password dan alamat email sesuai user yang telah dibuat lalu klik

continue.

5. Kemudian, untuk mengkonfigurasikan akun agar terhubung dengan domain yang

sudah kita buat (example.com), klik manual config. Maka akan muncul tampilan

sebagai berikut :

Page 57: Modul Sistem Operasi 2014

Laboratorium Sistem Operasi & Jaringan Page 53

Gambar 6. 10 Manual Config Thunderbird

Pada baris Incoming sesuaikan protocol yang akan digunakan, pada contoh

diatas adalah IMAP. Kemudian, untuk kolom Server hostname ketikan domain

yang sudah dibuat sebelumnya, lalu untuk Port pilih 143. Selanjutnya pada kolom

SSL pilih STARTTLS untuk baris Incoming dan Outgoing. Begitu juga untuk

kolom Authentication pilih Normal Password untuk kedua baris.

Pada baris Outgoing, pada kolom Server hostname masukan domain seperti

pada baris Incoming, hal ini dimaksudkan sehingga server yang digunakan untuk

mengirim dan menerima email, menggunakan server dengan domain yang sudah

kita buat sebelumnya. Untuk Port pilih 587.

Pada baris Username masukan username sesuai dengan username yang ada

pada server, pada contoh diatas yakni ridle8. Setelah semua informasi yang

dibutuhkan sudah dimasukan, klik Done.

6. Buat email baru kemudian kirimkan ke user yang lama :

Page 58: Modul Sistem Operasi 2014

Laboratorium Sistem Operasi & Jaringan Page 54

Gambar 6. 11 Tampilan Pengiriman Email Thunderbird

7. Jika email masuk pada inbox yang dituju, maka Mail Server sudah berjalan :

Gambar 6. 12 - Tampilan Inbox Thunderbird

V. Studi Kasus Praktikum

1. Perusahaan sisjar hendak mengganti alamat domain mereka yang lama (example.com) dengan

yang baru (sisjar.com). Ubahlah konfigurasi pada Postfix sehingga Mail Server dapat berjalan

dengan domain (sisjar.com)!

2. Dikarenakan suatu hal, perusahaan sisjar perlu mengganti private address mereka yang lama

(192.168.1.1), menjadi 172.16.1.1. Konfigurasikanlah Postfix sehingga alamat yang baru berlaku!

Page 59: Modul Sistem Operasi 2014

Laboratorium Sistem Operasi & Jaringan Page 55

MODUL 7 BASH Scripting

I. Tujuan Praktikum

1. Memberi pemahaman tentang dasar-dasar BASH Scripting dan kegunaannya pada Linux

2. Memberi contoh penggunaan BASH Scripting untuk menunjang kegiatan dasar sehari-hari

dengan Sistem Operasi Linux.

II. Alat dan Bahan

1. PC dengan Sistem Operasi Linux

2. Text Editor (vi atau Nano)

III. Landasan Teori

3.1 BASH Script

3.1.1 Definisi

BASH (Bourne Again Shell) adalah shell default di sebagian besar Sistem Operasi GNU

/ Linux. BASH adalah shell yang dibuat oleh Brian Fox untuk GNU Project sebagai pengganti

dari Bourne Shell. BASH dirilis tahun 1989.

BASH adalah command processor yang biasanya di jalankan di terminal. Dimana

mengijinkan user untuk memasukkan command yang dapat menghasilkan sesuatu / action.

3.1.2 Kemampuan Dasar Yang Harus Dimiliki

Sebelum memulai scripting, anda harus memiliki kemampuan dasar untuk command-

command shell seperti :

cd, pwd, alias, umask, exit, logout, ls, mkdir, rmdir, mv, cp, rm, clear

Utiliti seperti cat, tac, cut, paste, chmod

Redirection (menggunakan operator >, >>, <, <<)

o ls > data

Hasil command ls dikirim ke data. Jika file data tersebut belum ada,

akan dibuat filenya sedangkan jika sudah ada maka isinya akan

ditimpa.

o ls >> data

Sama seperti diatas, namun bedanya jika file tersebut sudah ada isinya,

maka hasil command ls akan ditambahkan di akhir file.

o cat < data

Isi file data tersebut akan dijadikan input oleh perintah cat.

Pipe

Pipe digunakan untuk membuat output suatu perintah menjadi input dari perintah

lain.

Contoh : ls –l | grep data

Perintah ini berarti : List semua file pada direktori tersebut, lalu cari yang namanya

mengandung data.

grep

Page 60: Modul Sistem Operasi 2014

Laboratorium Sistem Operasi & Jaringan Page 56

Grep digunakan untuk mencari suatu string tertentu pada file input. Grep berguna

untuk mempercepat pencarian anda pada suatu file.

swoordom@ubuntu:~/contohPrak$ cat /etc/passwd | grep root

root:x:0:0:root:/root:/bin/bash

Contoh diatas adalah kita hanya mencari string / line yang berisikan kata root pada

file /etc/passwd.

sed

Perintah sed digunakan untuk memanipulasi teks. Sed kepanjangannya adalah

stream editor. Bentuk Syntax dari sed ialah :

sed `s/teks_lama/teks_baru/flag` filename

Detail :

o s adalah perintah untuk mengganti (substitusi)

o flag bisa ditambahkan pada command. Flag umum yang digunakan ialah: /g

(untuk mengganti semua kata yang ditemukan), /p untuk mencetak line yang telah

dimodifikasi, /1, /2 .. /n adalah untuk mengkhususkan penggantian pada line yang

bersangkutan (nomor 1 atau 2 merujuk pada nomor line).

3.1.3 Penulisan Script

Shell script selalu diawali dengan tanda komentar (#) yang disambung dengan ! dan

nama shell yang digunakan.

#!/bin/sh

#Contoh Shell

#

Variabel1=15

echo $Variabel1

Variabel

Variabel pada Shell Scripting atau BASH Scripting pada umumnya adalah variable

yang mempunyai nilai String. Variabel disini harus dimulai dengan alfabet, baru

kemudian disusul dengan alfanumerik atau karakter lain. Satu hal lagi, penamaan

disini bersifat case-sensitive.

Contoh penulisan variabel :

nama_variabel = value_variabel

umur=20

Untuk melihat isi variabel, gunakan perintah echolalu diikuti dengan tanda dollar

($) dan diikuti dengan nama variabel tersebut.

Page 61: Modul Sistem Operasi 2014

Laboratorium Sistem Operasi & Jaringan Page 57

echo $nama_variabel

swoordom@ubuntu:~$ var1=lol

swoordom@ubuntu:~$ echo $var1

lol

Mengeluarkan isi variabel

Untuk variabel yang isinya lebih dari satu kata, harus menggunakan tanda kutip

atau apostrof

swoordom@ubuntu:~$ var1="this is just a joke XD"

swoordom@ubuntu:~$ echo $var1

this is just a joke XD

Cara penulisan variabel yang isinya lebih dari satu kata

Penggunaan Tanda Kutip

Ada beberapa tanda kutip yang digunakan pada BASH Script. Pertama adalah kutip

satu / single quoted (‘). Kutip satu digunakan untuk menampilkan string apa adanya

(tidak bisa menyisipkan variabel)

swoordom@ubuntu:~$ nama=swrdm

swoordom@ubuntu:~$ echo 'nama saya $nama'

nama saya $nama

Kutip dua / double quoted digunakan untuk menampilkan string namun

mengijinkan penyisipan variabel.

swoordom@ubuntu:~$ nama=swrdm

swoordom@ubuntu:~$ echo "nama saya $nama"

nama saya swrdm

Kutip terbalik ( ` ) digunakan untuk menerjemahkan string didalam kutip menjadi

sebuah command / perintah yang dapat dieksekusi oleh sistem.

swoordom@ubuntu:~$ echo "tampilkan list direktori /home `ls -

l /home` "

tampilkan list direktori /home total 8

drwxr-xr-x 3 dika dika 4096 Apr 13 04:58 dika

drwxr-xr-x 4 swoordom swoordom 4096 Aug 1 17:07 swoordom

Page 62: Modul Sistem Operasi 2014

Laboratorium Sistem Operasi & Jaringan Page 58

Pada contoh diatas, yang menjadi command untuk system adalah ls –l /home

Membaca Input dari Keyboard

Kita bisa membaca input dari keyboard dan memasukkannya ke dalam variabel

menggunakan command read.

read nama_var

echo nama_var

swoordom@ubuntu:~$ read nilai

80

swoordom@ubuntu:~$ echo $nilai

80

Membaca input dari keyboard

Parameter

UnSebuah shell dapat mempunyai maksimal 9 buah parameter dan dipresentasikan

melalui variabel khusus yaitu $1,$2,$3,$4,$5,$6,$7,$8dan $9.

Variabel $0 merepresentasikan nama shell. Jumlah parameter yang digunakan dalam

shell direpresentasikan dengan variabel $#. Variabel $* digunakan untuk mencetak

string yang menjadi parameter.

Contoh script sebagai berikut :

#!/bin/bash

#Test doang

#mencetak text

echo "test doang nih"

#mengeluarkan status berhasil dijalankan atau tidak

0=berhasil 1=gagal

echo "status : "$?" "

#Mengeluarkan PID

echo "Process ID : "$$" "

#parameter #1

echo "Parameter 1 : "$1" "

#parameter #2

echo "Parameter 2 : "$2" "

#menghitung jml parameter

Page 63: Modul Sistem Operasi 2014

Laboratorium Sistem Operasi & Jaringan Page 59

echo "jumlah parameter : "$#" "

#mencetak string yang digunakan sebagai parameter

echo "String yang digunakan sbg. parameter : "$*" "

Contoh script penggunaan parameter

Untuk menjalankannya gunakan perintah seperti berikut :

chmod +x nama_script

./nama_script

Atau

./nama_script param1 param2 .... param 9

Contoh jika dijalankan adalah sebagai berikut :

swoordom@ubuntu:~$ ./s.sh

test doang nih

status : 0

Process ID : 2007

Parameter 1 :

Parameter 2 :

jumlah parameter : 0

String yang digunakan sbg. parameter :

Script dijalankan tanpa parameter

swoordom@ubuntu:~$ ./s.sh StringParam1 StringParam2

test doang nih

status : 0

Process ID : 2008

Parameter 1 : StringParam1

Parameter 2 : StringParam2

jumlah parameter : 2

String yang digunakan sbg. parameter : StringParam1

StringParam2

Script dijalankan dengan parameter

Instruksi Test

Instruksi test digunakan untuk memeriksa kondisi dari sebuah ekspresi. Ekspresi

terdiri dari factor dan operator yang dipisahkan oleh spasi. Hasil dari test adalah nilai

status exit (0 = Berhasil , 1 = Gagal).

Instruksi test dapat ditulis dengan cara : [ ekspresi ] . Perlu diperhatikan bahwa

setelah kurung siku pembuka dan sebelum kurung siku penutup harus ditambahkan

Page 64: Modul Sistem Operasi 2014

Laboratorium Sistem Operasi & Jaringan Page 60

spasi. Jika tidak, ekspresi tidak akan bisa diproses / gagal. Instuksi test juga dapat

ditulis dengan test ekspresi.

Operator yang ada pada test adalah sebagai berikut :

Operator Bernilai True / 0 , jika

String1 = String2 Kedua string identik

String1 != String2 Kedua string tidak identik

-n String String tidak null

-z String String bernilai null

Operator test untuk file dan direktori adalah sebagai berikut :

Operator Bernilai True / 0, jika

-f filename File ada dan tipenya adalah file

-d filename File ada dan tipenya adalah direktori

-r filename File dapat diread / baca

-w filename File dapat diwrite / tulis

-x filename File dapat dieksekusi

-s filename File ada dan tidak kosong

Contoh penggunaan test adalah sebagai berikut :

a. Cek file kosong atau tidak

swoordom@ubuntu:~$ touch fileKosong

swoordom@ubuntu:~$ test -s fileKosong

swoordom@ubuntu:~$ $?

1: command not found

Di gambar diperlihatkan bagaimana cara mengecek apakah file kosong atau

tidak. Pertama – tama kita buat dahulu filenya menggunakan perintah touch,

setelah itu kita test menggunakan operator –s (test –s filename) lalu

setelah itu dicetak statusnya menggunakan $?. Setelah status dicetak terlihat

statusnya adalah 1 atau false. Ini berarti file ada namun kosong alias tidak ada

isinya.

swoordom@ubuntu:~$ touch fileIsi && cat /etc/passwd >>

fileIsi

swoordom@ubuntu:~$ test -s fileIsi

swoordom@ubuntu:~$ $?

Page 65: Modul Sistem Operasi 2014

Laboratorium Sistem Operasi & Jaringan Page 61

0: command not found

Bandingkan dengan gambar tadi dengan gambar ini. Awalnya kita membuat

file kosong bernama fileIsi. Lalu kita isi file ini dengan isi dari file /etc/passwd

(menggunakan command cat). Setelah itu kita test file fileIsi ini dan statusnya

adalah 0 atau true. Itu berarti fileIsi ini memiliki isi alias tidak kosong.

b. Mengecek string null atau tidak

#!/bin/bash

#null or not

#masukkan string

echo -n "string : "

read strgg

#cek null atau tidak

if [[ -z "$strgg" ]]; then

echo "null"

else

echo "not null"

fi

Script diatas adalah script untuk mengecek string null atau tidak. Pada bagian

if terlihat bahwa variabel strgg dicek menggunakan opsi –z , yaitu mengecek

apakah null atau tidak, jika hasilnya true maka string tersebut null.

swoordom@ubuntu:~$ ./kosongTidak.sh

string : Lalala

not null

Script dijalankan dengan memasukkan string

swoordom@ubuntu:~$ ./kosongTidak.sh

string :

null

Script dijalankan dengan memasukkan string

Bisa dilihat seperti contoh diatas, saat kita memasukkan string hasilnya adalah

not null, namun saat kita tidak memasukkan string hasilnya null.

Page 66: Modul Sistem Operasi 2014

Laboratorium Sistem Operasi & Jaringan Page 62

Selain instruksi untuk string, kita juga bisa menggunakan instruksi test untuk

mengecek angka / bilangan. Operator test untuk mengeceknya adalah sebagai

berikut :

Operator Bernilai true, jika

Integer1 –eq Integer2 Bilangan 1 sama dengan Bilangan 2

Integer1 –ge Integer2 Bilangan 1 lebih besar atau sama dengan

Bilangan 2

Integer1 –gt Integer2 Bilangan 1 lebih besar dari Bilangan 2

Integer1 –le Integer2 Bilangan 1 lebih kecil atau sama dengan

Bilangan 2

Integer1 –lt Integer2 Bilangan 1 lebih kecil dari Bilangan 2

Integer1 –ne Integer2 Bilangan 1 tidak sama dengan Bilangan 2

Konstruksi if-else

if instruksi1

then

instruksi_lainnya

.........

else

instruksi_lain_yang_lainnya

.........

fi

atau

if instruksi1

then

instruksi_lainnya

..........

elif instruksi2

then

instruksi_lain_yang_lainnya

fi

Konstruksi Case

case variable in

match1)

instruksi1.1

………………

Page 67: Modul Sistem Operasi 2014

Laboratorium Sistem Operasi & Jaringan Page 63

;;

match2)

instruksi2.1

………………

;;

*)

instruksi3.1

………………

;;

esac

Catatan : *) adalah case jika input tidak ada yang sesuai dengan kriteria.

Konstruksi For

for var in str1 str2 …..strn

do

instruksi

done

Konstruksi while

while kondisi

do

instruksi

done

Array

Penulisan array pada BASH scripting adalah sama seperti variabel biasa namun

ditambahkan dengan kurung.

swoordom@ubuntu:~/contohPrak$

mobil=(toyota,suzuki,honda,mazda,nissan)

swoordom@ubuntu:~/contohPrak$ echo ${mobil[*]}

toyota,suzuki,honda,mazda,nissan

3.2 Cara menjalankan Script

Untuk menjalankan script sebenarnya mudah. Hanya cukup memberi permission untuk execute

pada file BASH. Setelah itu jalankan seperti biasa dengan ./ (jika anda bekerja di direktori yang

sama dengan file BASH. Ex : ./script.sh) atau ditulis full pathnya. (ex : /home/user/script.sh)

swoordom@ubuntu:~/tes$ ls -l

Page 68: Modul Sistem Operasi 2014

Laboratorium Sistem Operasi & Jaringan Page 64

total 4

-rw-rw-r-- 1 swoordom swoordom 1 Aug 1 17:48 script.sh

swoordom@ubuntu:~/tes$ chmod +x script.sh

swoordom@ubuntu:~/tes$ ls -l

total 4

-rwxrwxr-x 1 swoordom swoordom 1 Aug 1 17:48 script.sh

swoordom@ubuntu:~/tes$ ./script.sh

jalan

Pertama kita cek terlebih dahulu permission dari file script. Ternyata permissionnya –rw-rw-r-

- (0755). Dengan permission seperti ini jika anda mencoba menjalankan script maka akan

muncul error permission denied.

swoordom@ubuntu:~/tes$ ./script.sh

-bash: ./script.sh: Permission denied

Untuk menanggulanginya kita butuh mengubah permission agar group yang sama dengan

owner bisa mengeksekusinya pula (dalam hal ini user anda satu group dengan owner), Maka,

kita jalankan perintah chmod +xkepada file scriptnya.

swoordom@ubuntu:~/tes$ chmod +x script.sh

swoordom@ubuntu:~/tes$ ./script.sh

jalan

Setelah menjalankan perintah tersebut, permission akan berubah menjadi –rwx-rwx-r-x atau

0775. Script sudah siap dijalankan.

IV. Lab / Praktek

4.1 Operasi Aritmatika Sederhana

4.1.1 Menggunakan perintah let

#!/bin/bash

#Matematika menggunakan let

echo -n "masukkan angka 1 : "

read angka1

echo -n "masukkan angka 2 : "

read angka2

let jml=$angka1+$angka2

let kali=$angka1*$angka2

Page 69: Modul Sistem Operasi 2014

Laboratorium Sistem Operasi & Jaringan Page 65

let bagi=$angka1/$angka2

echo "hasil jumlah : "$jml" , hasil kali : "$kali" , hasil bagi

: "$bagi""

swoordom@ubuntu:~/contohPrak$ ./letArit.sh

masukkan angka 1 : 5

masukkan angka 2 : 2

hasil jumlah : 7 , hasil kali : 10 , hasil bagi : 2

Patut diperhatikan bahwa BASH Scripting hanya mendukung integer alias bilangan

bulat. Jadi jika seperti contoh, 5/2 hasilnya akan menjadi 2.

4.1.2 Menggunakan perintah declare dan expr

#!/bin/bash

#declare untuk aritmatika

declare -i angka1

declare -i angka2

echo -n "masukkan angka 1 : "

read angka1

echo -n "masukkan angka 2 : "

read angka2

declare -i hKali

hKali=$angka1*$angka2

declare -i hBagi

hBagi=$angka1/$angka2

declare -i hTambah

hTambah=$angka1+$angka2

echo "hasil kali adalah : "$hKali" , hasil tambah adalah

"$hTambah" dan hasil bagi adalah "$hBagi" "

#!/bin/bash

#expr example

echo -n "masukkan angka 1 : "

read angka1

echo -n "masukkan angka 2 : "

read angka2

Page 70: Modul Sistem Operasi 2014

Laboratorium Sistem Operasi & Jaringan Page 66

hBagi=`expr $angka1 / $angka2`

echo "hasil bagi ialah : "$hBagi" "

4.2 Menghitung Jumlah Kata Pada Suatu String atau Textfile

#!/bin/sh

#Word Count scripts

echo -n "Baca kata dari 1)Kata 2)File : "

read pil

case $pil in

1)

echo -n "Masukkan kata : "

read kata

echo $kata | wc -w

;;

2)

echo -n "masukkan nama file : "

read fileName

wc -w $fileName

;;

*)

echo "pilihan tidak valid"

;;

esac

4.3 Menghitung jumlah karakter pada elemen pertama array

#!/bin/bash

#Array First element Char Count

#isi array

declare -i arLength

echo -n "panjang array : "

read arLength

declare -a arr

i=0

Page 71: Modul Sistem Operasi 2014

Laboratorium Sistem Operasi & Jaringan Page 67

while [ $i -lt $arLength ];

do

echo -n "masukkan isi array : "

read -a arrx;

arr[$i]=$arrx;

let i=$i+1;

done

echo ${arr[*]}

echo "banyak char pada element pertama array : " ${#arr} " "

V. Studi Kasus Praktikum

Buatlah dua buah script, untuk :

a. Menghitung banyak karakter dalam textfile yang bernama paragraf (textfile sudah disediakan)

dan menemukan kata terpanjang didalamnya beserta banyak karakternya. (Hint : gunakan

for loop dan array)

b. Mengganti kata aku menjadi urang pada textfile cerita.txt pada line 5 dan 13 (textfile sudah

disediakan) (Hint : gunakan perintah sed)

Perhatian : gunakan perintah man [command yang ingin ditelusuri]untuk mendapatkan

info lengkap tentang perintah yang bersangkutan. Contoh : man sedatau man wc.

DAFTAR PUSTAKA Tim Penyusun Modul Sistem Operasi 2013. 2013. Modul Sistem Operasi 2013.pdf. Bandung

Page 72: Modul Sistem Operasi 2014

Laboratorium Sistem Operasi & Jaringan Page 68

Thomas, K. (2009). Ubuntu Kung Fu. The Pragmatic Bookshelf.

Thomas, K. (2009). Ubuntu Pocket Guide and Reference.MacFreda Publishing.

Siever, E, Spainhour, S, Figgins, S, Hekman, P, J. (2000). Linux in a Nutshell Third Edition. O'Reilly.

http://id.wikipedia.org

---------------------------

Canonical Ltd. (2014, July 13). Network Configuration. Retrieved from ubuntu documentation:

https://help.ubuntu.com/12.04/serverguide/network-configuration.html

Canonical Ltd. (2014, July 16). Repositories/CommandLine. Retrieved from ubuntu documentation:

https://help.ubuntu.com/community/Repositories/CommandLine

Daftar Repositori Lokal Ubuntu 12.04. (2014, July 14). Daftar Repositori Lokal Ubuntu 12.04. Diambil

kembali dari INFO LINUX: http://infolinux.web.id/2013/06/19/daftar-repositori-lokal-ubuntu-12-04/

Hagen, W. v. (2007). William von Hagen. Wiley Publishing, Inc.

Matthew Helmke, A. H. (2012). Ubuntu UBLEASHED. SAMS.

Thomas, K. (2006). Beginning Ubuntu Linux: From Novice to Professional. Apress.

Thomas, K. (2009). Ubuntu Kung Fu. The Pragmatic Bookshelf.

---------------------------

Hagen, W. v. (2007). William von Hagen. “Ubuntu Linux – Bible”

Helmke Matthew , Andrew Hudson, Paul Hudson (2012). “Ubuntu Unleased”

Keir Thomas. “Ubuntu Kung Fu

---------------------------

Wikipedia. (2014, August 1).Protokol Transfer Berkas.Diperoleh 3 Agustus 2014, dari

http://id.wikipedia.org/wiki/Protokol_Transfer_berkas.html

Wikipedia. (2014, August 1).File Transfer Protocol.Diperoleh 3 Agustus 2014, dari

http://dedenthea.wordpress.com/2007/02/08/apa-itu-ftp.html

Wikipedia. (2014, August 1).Apache Web Server.Diperoleh 3 Agustus 2014, dari

http://en.wikipedia.org/wiki/Apache_HTTP_Server.html

Wikipedia. (2014, August 1).Nginx.Diperoleh 3 Agustus 2014, dari http://en.wikipedia.org/wiki/Nginx.html

Sisjar, Lab.(2013).Modul Praktikum Sistem Operasi 2013.

----------

Daftar Repositori Lokal Ubuntu 12.04. (2014, July 14). Daftar Repositori Lokal Ubuntu 12.04. Diambil

kembali dari INFO LINUX: http://infolinux.web.id/2013/06/19/daftar-repositori-lokal-ubuntu-12-04/

Ellen Siever, Stephen Spainhour, Stephen Figgins and Jessica P. Hekman “Linux in a Nutshell” ISBN 0-596-

00025-1 Third Edition, published August 2000

Hagen, W. v. (2007). William von Hagen. Wiley Publishing, Inc.

Helmke Matthew , Andrew Hudson, Paul Hudson (2012). “Ubuntu Unleased”

----------

Krizna. 2014. Setup Mail Server on Ubuntu 14.04 (Postfix – Dovecot). <http://www.krizna.com/ubuntu/setup-

mail-server-ubuntu-14-04/>.

Page 73: Modul Sistem Operasi 2014

Laboratorium Sistem Operasi & Jaringan Page 69

Linode. 2014. Email with Postfix, Dovecot and MySQL. <https://www.linode.com/docs/email/email-with-

postfix-dovecot-and-mysql>.

Von Hagen, W. (2010) Ubuntu Linux Bible. (John Wiley and Sons, Hoboken).

----------

2010. BASH Scripting Tutorial. Accessed July 10, 2014. http://linuxconfig.org/bash-scripting-tutorial.

Cyberciti. n.d. Test Command Guide. Accessed July 15, 2014. http://bash.cyberciti.biz/guide/Test_command.

Fajar, Moch. 2009. Pengantar Pemrograman Bash Shell di Linux. Accessed July 10, 2014.

http://pemula.linux.or.id/programming/bash-shell.html.

Tushar, Shantanu, and Sarath Lakshman. 2013. Linux Shell Scripting Cookbook, 2nd Edition. Birmingham:

Packt Publishing.