Anda di halaman 1dari 17

LABORATORIUM PEMBELAJARAN ILMU KOMPUTER

FAKULTAS ILMU KOMPUTER


UNIVERSITAS BRAWIJAYA

NAMA : ANDIKA RIFQI MAULANA


NIM : 195150207111059
MATERI : BAB VII
TANGGAL : 25/11/2020
ASISTEN : FRANKLID GUNAWAN

BAB 7
SISTEM BERKAS DAN DIREKTORI
7.1. Tujuan Praktikum
Praktikum ini bertujuan memperkenalkan konsep system berkas dan
direktori pada system operasi.

7.2. Capaian Praktikum


1. Mahasiswa mampu memahami konsep file system dan direktori.
2. Mahasiswa mampu menejelaskan konsep file system dan direktori
dan menggunakan beragam perintah berkaitan kedua hal tersebut.
7.3. Dasar Teori
7.3.1. File System
File System merupakan sebuah hal penting dalam sebuah sistem
operasi. Mekanisme file system memberikan teknik bagaimana sebuah
informasi diorganisasi dalam sebuah media penyimpan. Sebuah file dapat
dioperasikan dengan mekanisme sebagai berikut:

1. File merupakan data yang bersifat abstarak


2. Memiliki beberapa operasi seperti open, write, read, reposisi, delete,
truncate, open(Fj), close (Fj) dan lain lain
7.3.2. Direktori

Dalam file system Unix, sebuah node indeks yang lebih dikenal
dengan sebutan inode, yang merupakan strutktur data struktur data yang
digunakan untuk mewakili objek filesystem, yang dapat berupa file atau
direktori. Setiap inode menyimpan atribut dan lokasi blok disk dari data
objek filesystem. Atribut objek filesystem dapat mencakup manipulasi
metadata. Metadata dari sebuah file dan direktori dapat berupa:

• Nama File
• Besar File
• Waktu Pembuatan, Perubahan dan akses terakhir.
• Permissions
• Filepath
• Checksum
• File data (inode)

Direktori hanya melakukan pemetaan nama ke dalam inode, POSIX


dalam Unix menyediakan sebuah fungsi kecil untuk membaca nama file dan
nomor inode untuk setiap entri. Dalam Unix, direktori dapat
direperesentasikan sama dengan semua file dalam inode yang dapat
dilustrasikan seperti pada Gambar 7.1.

Gambar 7.1 Representasi Inode Number pada File dan Direktori

7.3.3. Hak Akses Direktori dan File

Setiap direktori dan file memiliki hak akses (permission) yang terdiri
dari set bilangan biner sebanyak 9 bit. Yang dapat direpsentasikan sebagai:
• Hak akses read (3 bit)
• Hak akses write (3 bit)
• Hak akses execute (3 bit)
Selain hak akses, setiap file juga meiliki kepemilikan yang dapat
diatur dan dipindahkan berdasarkan user atau group
LABORATORIUM PEMBELAJARAN ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER
UNIVERSITAS BRAWIJAYA

NAMA : ANDIKA RIFQI MAULANA


NIM : 195150207111059
TUGAS : BAB VII
TANGGAL : 25/11/2020
ASISTEN : FRANKLID GUNAWAN

Praktikum ini dilakukan dengan terlebih dahulu terhubung dengan


layanan aws educate dengan cara mengaktifkan instance dari halaman
instance summary. Pilih action dan Start untuk mengaktifkan instance.
Lakukan koneksi SSH dengan cara yang sama seperti pada Bab 1.

1. Menulis File

1) Login ke sistem GNU/Linux kemudian buka terminal.


2) Lakukan percobaan terhadap tiap kode program pada masing-
masing sub bab berikut.
3) Lakukan kompilasi kode program dengan menggunakan perintah
gcc -o <Nama_Output> <Nama_Source.c>
4) Jalankan hasil kompilasi menggunakan perintah ./<Nama_Output>
5) Capture / Snapshot output-nya dan simpan sebagai laporan.
6) Amati output tiap percobaan dan jawab pertanyaan pada masing-
masing percobaan.

tulis.c
1 #include <stdio.h>
2 #include <stdlib.h>
3
4 int main()
5 {
6 FILE *fh;
7 fh=fopen("Praktikum_IX.txt","w");
8
9 if(fh==NULL)
10 {
11 puts("Can't open that file!");
12 exit(1);
13 }
14
15 fprintf(fh,"Look what I made!n");
16 fclose(fh);
17 return(0);
18 }

2. Membaca File

1) Login ke sistem GNU/Linux kemudian buka terminal.


2) Lakukan percobaan terhadap tiap kode program pada masing-
masing sub bab berikut.
3) Lakukan kompilasi kode program dengan menggunakan perintah
gcc -o <Nama_Output> <Nama_Source.c>
4) Jalankan hasil kompilasi menggunakan perintah ./<Nama_Output>
5) Capture / Snapshot output-nya dan simpan sebagai laporan.
6) Amati output tiap percobaan dan jawab pertanyaan pada masing-
masing percobaan.

baca.c
1 #include <stdio.h>
2 #include <stdlib.h>
3
4 int main()
5 {
6 FILE *fh;
7 int ch;
8 fh=fopen("Praktikum_IX.txt","r");
9
10 if(fh==NULL)
11 {
12 puts("Can't open that file!");
13 exit(1);
14 }
15
16 while((ch=fgetc(fh))!=EOF)
17 putchar(ch);
18
19 fclose(fh);
20 return(0);
21 }

7) Cupliklah hasil keluaran pada percobaan 7.4.1


Jawab:
Gambar 1. Hasil keluaran tulis.c

Gambar 2. Hasil keluaran perintah ls


Gambar 3. Isi dari file Praktikum_IX.txt

8) Cupliklah hasil keluaran pada percobaan 7.4.2


Jawab:

Gambar 4. Hasil keluaran baca.c


Gambar 5. Hasil keluaran setelah kompilasi baca.c

9) Apa yang di maksud fh dan fopen (baris ke enam pada percobaan


7.4.1 dan baris ke tujuh percobaan 7.4.2)
Jawab:
1. FH (File Handle) adalah variabel yang menyimpan memori
address. FH berfungsi mengatur file seperti :
• membuat file baru
• menulis
• membaca
• mengakses file
2. Fope adalah method yang digunakan untuk membuka file
sesuai parameternya dan didalam parameter terdapat hak
kode akses file tersebut

10) Apa yang dimaksud dengan fungsi fclose dan fprint


Jawab:
o Fclose adalah fungsi untuk melepas memori agar memori
dapat digunaan oleh proses lain
o Fprint adalah fungski yang digunakan untuk mencetak
string dalam parameter fungsi ke dalam file yang sudah
dibuat

3. Membaca Direktori

1) Login ke sistem GNU/Linux kemudian buka terminal.


2) Buatlah sebuah direktrori yang berisi beberapa (minimal 2) sub
direktori. Isi sebuah file pada masing-masing
3) Lakukan percobaan terhadap tiap kode program pada masing-
masing sub bab berikut.
4) Lakukan kompilasi kode program dengan menggunakan perintah
gcc -o <Nama_Output> <Nama_Source.c>
5) Jalankan hasil kompilasi menggunakan perintah ./<Nama_Output>
6) Periksalah masing-masing keluaran dari perintah untuk setiap
direktori
7) Capture / Snapshot output-nya dan simpan sebagai laporan.
8) Amati output tiap percobaan dan jawab pertanyaan pada masing-
masing percobaan

ls.c
1 #include <stdio.h>
2 #include <dirent.h>
3 #include <stdlib.h>
4
5 int main(int argc, char **argv) {
6 if(argc ==1) {
7 printf("Usage: %s [directory]\n", *argv);
8 exit(0);
9 }
10
11 struct dirent *dp;
12 DIR *dirp = opendir(argv[1]);
13
14 while ((dp = readdir(dirp)) != NULL) {
15 printf("%s %lu\n", dp-> d_name, (unsigned long)dp-
16 > d_ino);
17 }
18
19 closedir(dirp);
20 return 0;
21 }
Gambar 6. Menjalankan direktori yang dibuat

9) Sebut dan jelaskan operasi direktori yang terdapat pada program


diatas?
Jawab:
o DIR : sebuah tipe data pada Bahasa C yang bernilai satu
direktori
o Opendir() : berfungsi untuk membuka/membaca direktori
sesuai dengan paramternya
o Readdir() : berfungsi untuk membaca file dalam direktori
satu per satu secara urut
o Closedir() : berfungsi untuk menutup direktori

10) Program yang berhasil anda kompilasi telah dimiliki oleh sistem
Unix dan bahkan lebih kompleks, sebutkan beserta opsi dan
keterangannya.
Jawab:
Gambar 7. Screenshot opsi program

1. -a : menampilkan semua file dan folder termasuk yang tersembunyi


2. -A : sama dengan “- a” tapi tidak menampilkan direktori
3. -C : menampilkan direktori dengan output berbentuk kolom
4. -d : berfungsi untuk menampilkan direktori saja, tidak menampilkan isi
dari direktori tersebut
5. -f : menampilkan isi tanpa diurutkan
6. -l : menampilkan isi direktori secara lengkap, mulai dari hak akses,
owner, group, dan tanggal direktori dibuat
7. -1 : menampilkan isi direktori dengan format satu direktori per baris

4. Percobaan mengatur hak akses (permission) file atau direktori

1) Login ke sistem GNU/Linux kemudian buka terminal.


2) Buatlah sebuah direktrori atau file
3) Ketik perintah berikut secara bergantian
$ chmod 644 <nama_file>
$ chmod 755 <nama_file>
$ chmod 700 <nama_file>
$ chmod ugo-w <nama_file>
$ chmod o-rx <nama_file>
4) Jalankan perintah ls –l dan cuplik tampilan outputnya
Jawab:

Gambar 8. Percobaan chmod 644

Gambar 9. Percobaan chmod 755

Gambar 10. Percobaan chmod 700

Gambar 11. Percobaan chmod ugo-w

Gambar 12. Percobaan chmod o-rx


5. Mengubah Kepemilikan File

1) Login ke sistem GNU/Linux kemudian buka terminal.

2) Buatlah sebuah direktrori atau file

3) Buatlah beberapa user dengan perintah adduser (konsultasikan


dengan asisten berkaitan dengan penggunaan perintah ini)

4) Ketik perintah berikut: $ chown (user_baru) (nama_file)


Jawab:

Gambar 13. Percobaan langkah 4

5) Jalankan perintah ls –l dan cuplik tampilan outputnya


Jawab:

Gambar 14. Bukti perubahan setelah percobaan langkah 4

6) Jelaskan hak akses dari setiap file yang anda set permission-nya.
Berapakah baset 9 digit hak aksesnya
Jawab:
1. Chmod 644 file1.txt
- owner memiliki akses read and write
- group memiliki akses read
- other memiliki akses read
2. Chmod 755 file2.txt
- owner memiliki semua akses (read, write dan execute)
- group memiliki akses read dan execute
- other memiliki akses read dan execute
3. Chmod 700 file3.txt
- owner memiliki semua akses (read, write dan execute)
- group tidak memiliki akses sama sekali
- other tidak memiiki akses sama sekali
4. Chmod ugo-w file4.txt
pada permission ini menunjukkan bahwa hak akses
untuk write dihapus dari owner, group, dan other
sehingga ketiganya tidak dapat melakukan write pada
file tersebut
5. Chmod o-rx file5.txt
pada permission ini menunjukkan bahwa hak akses
untuk read dan execute dihapus dari other sehingga
user lain (other) tidak dapat melakukan read dan
execute pada file tersebut

7) Pada percobaan 7.4.4 cobalah ubah persimission file dengan


perintah:
chown root (nama_file)

8) Tampilkan keluarannya!
Jawab:
Gambar 15. Menjalankan perintah sudo chown root

Gambar 16. Bukti perubahan setelah percobaan

9) Bagaimanakah agar anda dapat mengubah sehingga file tersebut


(pada tugas no 2) dapat berubah kepemilikan menjadi root
Jawab:
Sudo chown root diikuti dengan nama file bertujuan untuk
mengubah kepemilikan suatu file atau direktori yang ada menjadi
root. Chown berfungsi untuk mengubah kepemilikan suatu file
atau direktori. Root menunjukan pemilik baru dari file atau
direktori tersebut.

10) Tuliskan beberapa operasi file lainnya (minimal 4), lakukan


percobaan, cuplik dan tampilkan output lainnya
Jawab:
Gambar 17. Screenshot perintah mkdir

o mkdir : Untuk membuat direktori baru

Gambar 18. Screenshot perintah touch

o touch : Membuat file baru di dalam direktori


Gambar 19. Screenshot perintah mv

o mv : Mengubah nama file dalam suatu direktori

Gambar 20. Screenshot perintah rm

o rm : menghapus file dari suatu direktori


LABORATORIUM PEMBELAJARAN ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER
UNIVERSITAS BRAWIJAYA

NAMA : ANDIKA RIFQI MAULANA


NIM : 195150207111059
KESIMPULAN : BAB VII
TANGGAL : 25/11/2020
ASISTEN : FRANKLID GUNAWAN

Jelaskan kesimpulan dari hasil percobaan pada Bab 5 ini.

Pada praktikum kali ini kita mempelajari tentang Sistem Berkas dan
Direktori. Sistem berkas merupakan hal yang penting dalam suatu system
operasi, hal ini karena sistem berkas berperan sebagai pengolah
informasi didalam sebuah media penyimpanan. File didalam direktori ini
dapat dioperasikan menggunakan mekanisme tertentu.

Pada file terdapat Direktori,direktori ini sendiri adalah suatu file yang
dimiliki oleh sistem operasi dan dapat diakses oleh sistem operasi,
sebuah direktori terdapat komponen dari sistem berkas yang memiliki 1
berkas atau lebih yang dinamakan subdirektori, batasan subdirektori ini
tergantung pada jenis sistem berkas yang digunakan. Dalam Unix
direktori direpresentasikan dalam inode

Anda mungkin juga menyukai