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
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
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
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.
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.
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.
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.
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.
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.
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
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.
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
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.
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
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.
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
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
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
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.
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.
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
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
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.
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
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.
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
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.
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.
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.
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
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
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
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
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
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.
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.
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)
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.
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
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
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”;};
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.
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
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.
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
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.
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.
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.
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.
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.
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
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.
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
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
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 :
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 :
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!
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
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.
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
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
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
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:~$ $?
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.
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
………………
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
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
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
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
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
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/>.
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.
Top Related