laporan resmi modul1 mata kuliah sistem operasi oleh kelompok d2

42
LAPORAN RESMI MODUL 01 PRAKTIKUM SISTEM OPERASI 2013/2014 KELOMPOK D2 : 5112100062 REVA YOGA PRADANA 5112100101 R MAULANA ISKANDAR Z JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNOLOGI INFORMASI INSTITUT TEKNOLOGI SEPULUH NOPEMBER SURABAYA 2013

Upload: reva-yoga-pradana

Post on 24-Nov-2015

31 views

Category:

Documents


3 download

DESCRIPTION

Laporan Resmi Kelompok D2, pada MODUL1 Mata Kuliah Sistem Operasi, Jurusan Teknik Informatika, Fakultas Teknologi Informasi, Institut Teknologi Sepuluh Nopember

TRANSCRIPT

  • LAPORAN RESMIMODUL 01

    PRAKTIKUM SISTEM OPERASI 2013/2014

    KELOMPOK D2 :5112100062 REVA YOGA PRADANA

    5112100101 R MAULANA ISKANDAR Z

    JURUSAN TEKNIK INFORMATIKAFAKULTAS TEKNOLOGI INFORMASI

    INSTITUT TEKNOLOGI SEPULUH NOPEMBERSURABAYA

    2013

  • SOAL PENDAHULUAN MODUL 11. Gambarkan silsilah (turunan) dari keluarga sistem operasi Linux yang kalian

    ketahui.

    2. Tuliskan dan jelaskan fungsi direktori sistem yang ada di Linux. Seperti:

    a. /dev

    berisi file sistem khusus yang merupakan refleksi device hardware yang dikenali dan digunakan sistem

    b. /usr

    berisi library,binary, dokumentasi, dan file lainnya hasil installasi user

    DEBIAN

    ENOCH SLSPUPPY LINUX

    CRUX

    RED HAT

    LINUX

    LINSPIRE

    KNOPPIX

    UBUNTUGENTOO

    SABAYON

    SLACKWAREARCH

    CALDERA

    FEDORA

    MANDRIVA

    OpenGEU

    LINUX MINTZenWalk

    OpenSUSEPCOSLinux

  • c. /var

    berisi file-file log mailbox, dan data aplikasi

    d. /bin

    berisi file-file binary, standar, yang dapat digunakan oleh semua user, baik user biasa maupun super user

    e. /mnt

    direktori khusus yang disediakan untuk mounting disk ke sistem dalam bentuk directory

    f. /etc

    berisi file-file konfigurasi sistem, biasanya hanya boleh diubah oleh super user

    g. /lib

    berisi file-file library yang digunakan untuk mendukung kerja kernel linux

    h. /

    direktori root yang menampung seluruh file yang ada di linux

    3. Jelaskan dan berikan contoh penggunaan command berikut beserta bukti screenshotnya masing-masing :

    mkdir : membuat direktori

    ls : menampilkan isi suatu direktori

  • cd : membuka suatu direktori

    pwd: mengetahui lokasi sekarang

    man: menampilkan manual penggunaan fungsi pada shell script

  • vim: menulis teks. Software editor teks selain gedit dan nano

    chown: mengganti kepemilikan direktori / file

  • cp: menggandakan file / folder

    mv: memindah file / folder

    rm: remove file / folder

  • find: menemukan suatu file / folder. Jika file / folder yang dicari ada, maka outputnya adalah nama file / folder tsb

    history: menampilkan history(apa saja yang telah diketik) di terminal.

    Cat: melihat isi file

    tail: melihat beberapa part dari isi suatu file

  • echo: untuk mencetak teks ke layar terminal / file

    grep: grep kata, memperlihtakan isi file dengan isi berawalan kata

    chmod: ngubah permission dari file

  • ps: liat proses status

    awk: pola scanning dan pengolahan bahasa.

    sudo: gak semua linux ada sudo. Jadi superuser intinya.

  • Nano: software editor selain gedit, vi

  • passwd:passwd : ganti password super user passwd user : ganti password user

    ln: link. Untuk membuat shortcut.Format: ln -s link_yang_dituju lokasi_dari_shortcut_tersebut

    export: misal export VAR=/home/username/maka, tiap kita memunculkan nilai dari VAR ($VAR), maka yang dihasilkan adalah lokasi /home/username.

    Su: subsitute user. Untuk ganti user. Format su namauser , lalu ketik password user yang ingin dituju

  • chattr: change attribute. digunakan untuk melindungi sebuah file sehingga tidak akan dapat dihapus ataupun dirubah dengan perintah apapun. Perintah chattr memberikan attribut i pada file yang dilindungi. contoh: # chattr +i namafile

    4. Jelaskan dan berikan contoh bagaimana melakukan manajemen (menambah, menghapus, set password) user beserta hak aksesnya (permission & ownership) terhadap suatu file dalam system operasi linux dengan melalui terminal. (sertakan dokumentasi berupa screenshot)

    manajemen user:

  • ADDUSER : untuk menambahkan akun

    PASSWD : mengubah password

    USERMOD : memodifikasi user

    USERDEL / DELUSER : menghapus user

    deluser NamaUser #menghapus user beserta foldernya di home#userdel NamaUser #menghapus user tanpa menghapus foldernya di home#

  • hak akses:

    d : ada direktorinyar : readw : writex : execute

    rwx rwx rwx7 7 7 ==> tiap rwx, sistemnya kyk biner

    5. Bagaimana cara menginstall dan menghapus perangkat lunak software di linux melalui terminal dengan repositori dan source code. (sertakan dokumentasi

  • berupa screenshot)Cara menghapus program:

    1. masukkan Perintah:sudo apt-get remove nama-aplikasi #hapus biasa, settingan ttg filenya ttp ada#

    atau

    sudo apt-get remove --purge nama-aplikasi #hapus semuanya, termasuk settingan2nya#

    2. masukkan password

    cara menginstall app:

    sudo apt-get install nama-aplikasi

  • 6. Jelaskan dan berikan contoh mengenai input redirection , output redirection,dan pipelining dan berikan contoh masing-masing 3. (sertakan dokumentasi berupa screenshot)

    output redirection:echo halooo > halo /*replace isi file halo dengan teks halooo*/echo halooo >> halo /*nggak replace isi filenya, tapi nambahi isi dari file halo, dengan teks halooo*/

    input redirection:cat < teks.txt

  • pipelining:

    7. Apa itu sed ? Berikan contoh penggunaanya pada terminal. (sertakan dokumentasi berupa screenshot)sed adalah stream editor. Untuk mengganti suatu kata dalam file tertentu menjadi kata lainnya. Misal kata galau jadi senang. Syntax nya adalah: sed -i 's/galau/senang/g' teks.txt

    8. Jelaskan dan berikan contoh penggunaan berikut pada shell scripting beserta screenshotnya :

    Argument dan Variable (inisialisasi dan access)Dalam pendefinisian variabel harus mengikuti beberapa aturan, seperti:

    - dimulai dengan huruf atau underscore

    - hindari pemakaian spesial karakter seperti *,$,#,dll.

    - bash bersifat case sensitive, maksudnya membedakan huruf besar dan kecil, a berbeda dengan A, nama berbeda dengan Nama,NaMa,dsb

    - untuk mengeset nilai variabel gunakan operator assignment (pemberi nilai)"="

  • Alias contoh penggunaan alias :

    alias nulis=echo

    jadi saat mengetik perintah nulis, fungsinya bakal sama kayak echo. Untuk menormalkan kembali, cukup pakai unalias nulis

    Functionsyntax membuat fungsi di shell script:function nama_fungsi(){

    perintah}

    if statementsalah-satu syntax dalam shell script, yang digunakan dalam percabangan.

    Syntaxnya:

    if [ kondisi1 ] #jika kondisi 1 terpenuhi#

    then

    perintah

    elif [ kondisi2 ] #jika kondisi 1 tidak terpenuhi, dan kondisi 2 terpenuhi#

  • then

    perintah

    else #jika kedua kondisi di atas tidak terpenuhi#

    perintah

    fi #akhir dari if#

    while statementsalah-satu syntax perulangan. Syntax:

    while [ kondisi ]; do

    perintah

    done

    for loopsfor (( kondisi_inisialisasi;syarat looping tetap berjalan;update value ))

  • do perintahdone

    case statementsyntax dasarnya seperti gambar ini:

    expr: syntax untuk pengorasian dua buah angka / variabel

    (masing-masing contoh penggunaan sertakan dokumentasi berupa screenshot)

    9. Bagaimana cara mengatur proxy pada shell? (sertakan dokumentasi berupa screenshot)

    export http_proxy=http://: export ftp_proxy=http://:

  • SOAL SHIFT

    1. Bahrul adalah seorang mahasiswa yang mudah galau. Jika sedang galau, biasanya setiap malam Jumat dia akan menulis kegalauannya pada sebuah diary digital berupa file plaintext di direktori /home/[username] setiap jam 8 malam. Supaya tidak kelihatan terlalu galau, Bahrul ingin mengganti setiap kata galau pada diary tersebut dengan kata senang. Namun, karena tidak tahu caranya, maka ia meminta bantuan anda sebagai sahabatnya, untuk membuat scriptnya.

  • *sesuaikan isi yang ada di dalam tanda [ ]Penjelasan soal nomor 1 :

    Soal menyuruh kita untuk membuat script yang bisa mengubah kata galau dalam suatu teks editor menjadi kata senang di waktu tertentu sesuai keinginan soal

    Karena diperlukan waktu tertentu ketika menjalankan script, maka diperlukan scheduling dalam menjalankan script, kita bisa gunakan fitur crontab

    Penyelesaian soal nomor 1 : Kita buat script untuk mengubah semua kata galau dalam text file menjadi kata senang

    Kita tulis di script.sh kita dengan perintah :export DISPLAY=:0 && gedit && sed i s/galau/senang/g /direktori yang dituju/*.txt

    Perintah sed = stream editor

    -i = in place, s = substitute, g = global Kemudian kita atur crontab sesuai jadwal yang diinginkan, format crontab : Minute-Hour-

    Date-Month-Day_in_Week

    Setelah pengaturan di crontab, maka program tadi akan berjalan sesuai jadwal

  • 2. Suatu ketika, Bu Diana memberikan kisi-kisi ujian matkul Matdis tentang bilangan Fibonacci. Dimana materi tersebut sangat sulit dipahami oleh bahrul. Sehingga ia kembali galau. Dia malu jika meminta temannya untuk menjelaskan materi tersebut berulang kali. Bahrul takut jikalau tidak lulus matdis. Sebagai sahabatnya, bantulah bahrul membuat script tentang bilangan Fibonacci tersebut.

    Penjelasan soal nomor 2 : Soal menyuruh kita untuk membuat script menampilkan bilangan Fibonacci di terminal kita

    Penyelesaian soal nomor 2 : Kita buat script.sh dengan isi sebagai berikut :

    var1=0

    var2=1

    read num #menentukan banyaknya bilangan yg ditampilkan

    for(( i=0;i

  • 3. Bahrul dinobatkan sebagai kepala bagian teknis di Lab AJK . bahrul memberikan suatu aturan kepada user bahwa pada jam aktif perkuliahan, user tidak diperkenankan untuk bermain game. namun suatu ketika ada 2 user yang bernama Rangga dan Cinta sedang bermain game. karena hal itu melanggar aturan, Bahrul memutuskan untuk menegur mereka secara halus dengan membuat sebuah script yang dapat menampilkan suatu pesan peringatan ke layar rangga dan cinta dengan aturan:

    Setiap kelipatan detik ganjil, script akan menuliskan kalimat Rangga, jangan main game ya untuk Rangga

    Setiap kelipatan detik genap, script akan menuliskan kalimat Cinta, jangan main game ya untuk Cinta

    Setiap kalimat yang ditulis untuk Rangga dalam suatu file, kalimat itu tidak boleh dibaca oleh Cinta, begitu pula sebaliknya. Sebagai sahabatnya, bantu bahrul dalam pembuatan script tersebut.

    a) Penjelasan soal nomor 3 :soal a menyuruh kita untuk menampilkan notifikasi pada user rangga di setiap detik ganjil dengan isi rangga, jangan main game ya

  • soal b menyuruh kita untuk menampilkan notifikasi pada user cinta di setiap detik genap dengan isi cinta, jangan main game ya

    kemudian text tempat menyimpan notifikasi itu tidak bisa dibaca oleh user yang lain

    b) Penyelesaian soal nomor 3 :Pertama kita buat user rangga dan cinta dengan perintah adduser rangga dan adduser cinta

    Untuk menampilkan notifikasi tersebut, kita bisa buat script.sh dengan isi :while [ true ];

    do

    #diperlukan dibeberapa komputer yang mengalami error pada #detik 8 dan 9 /*

    detik=`date +%S`;

    if [$detik -eq 08];

    then

    detik=8;

    elif [$detik -eq 09];

    then

    detik=9;

    fi;

    #*/

    if [ $(($detik%2)) -ne 0 ];

    then

    echo "rangga, jangan main game!" | write rangga;

    echo "rangga, jangan main game!" > 'alamat/rangga.txt';

    chmod 700 rangga.txt;

    chown rangga:rangga rangga.txt;

    else

    echo "cinta jangan nonton sinetron!" | write rangga; echo "cinta jangan nonton sinetron!" > 'alamat/cinta.txt';

  • chmod 700 cinta.txt;

    chown cinta:cinta cinta.txt;

    done

  • 4. Sebagai kepala bagian teknis Lab. AJK, bahrul diberikan sebuah server yang menyediakan berbagai layanan. Suatu ketika, bahrul menyadari kalau ada beberapa file penting di server yang sudah diedit oleh user yang memiliki akses pada server tersebut dan bisa menjadi root. Karena bahrul tidak begitu paham akan security server tersebut, dia meminta bantuan anda untuk mengamankan file-file penting tersebut. Ada dua cara yang bisa dilakukan, yaitu:

    a) menghapus hak akses sebagai root dari user tersebut.

    b) tanpa harus menghapus usaha hak akses tersebut sebagai root, tapi user tetap tidak bisa menghapus file.

    Penjelasan soal nomor 4 :

    Soal a) menyuruh kita untuk menghapus hak akses user sebagai root

    Soal b) menyuruh kita untuk menetapkan file agar tidak bisa dihapus oleh siapapun tanpa menghilangkan hak akses user sebagai root

    Penyelesaian soal nomor 4 :

    Untuk soal a) kita bisa buat script.sh dengan isi :deluser user sudo #user diisi nama user

    atau untuk menyelesaikan soal a) kita bisa mengubah visudo dengan menjalankan script.sh dengan isi :sed i s/user/#user /etc/sudoersdengan ini, kita akan menhapus user dari grup sudo NB : user adalah nama user

  • untuk menyelesaikan soal b) kita bisa menjalankan script.sh dengan isi : chattr +i /direktori/nama_file

  • 5. Bahrul mempunyai rencana berlibur di Karimun Jawa minggu depan. Namun dia merasa server AJK masih tidak aman karena takut ada orang lain yang menyalahgunakan. Bantu Bahrul membuat sebuah script yang dapat mencatat aktivitas apa saja yang sudah terjadi pada servernya dan disimpan ke dalam sebuah file tiap 1 menit. Kelompokan laporan dalam folder berdasarkan hari. Buat laporan sedetil mungkin seperti file apa yang dihapus, apa nama folder yang dibuat, dll.

    Scriptnya:

    hari=`date +%A`

    tanggal=`date +%F`

    penunjukhari=`date +%u`

    jam=`date +%H`

    menit=`date +%M`cek=`ls -l | grep $hari`

  • if [ "$cek" == "" ]; then

    mkdir $hari

    fi

    touch /home/revoreva/shift_1_sisop/$hari/$tanggal\ $jam:$menit

    cat /home/revoreva/.bash_history >> /home/revoreva/shift_1_sisop/$hari/$tanggal\ $jam:$menit

  • 6. Ketika di Karimun Jawa, Bahrul merasa bosan diving terus sehingga dia memutuskan membuat program yang dapat menampilkan sebuah pesan dan jika nama file sudah ada pada direktori tersebut maka nama file baru yang dibuat berformat namafile + urutan angka, contoh: file1, file2, dst. Pada saat program dibuka akan menampilkan selamat pagi/siang/sore/malam [nama kelompok] dengan user [username], sekarang pukul [waktu sekarang] dan pada direktori [direktori aktif sekarang].

    *sesuaikan isi yang ada di dalam tanda [ ]