BAB 7
SISTEM BERKAS DAN DIREKTORI
7.1. Tujuan Praktikum
Praktikum ini bertujuan memperkenalkan konsep system berkas dan
direktori pada system operasi.
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)
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
1. Menulis File
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
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 }
3. Membaca Direktori
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
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
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
8) Tampilkan keluarannya!
Jawab:
Gambar 15. Menjalankan perintah sudo chown root
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