Tugas 1 Praktikum Sistem Operasi - TK 19 C - Kelompok 1
Nama : Irham Iswanda Duhair
Operation
and
Directory Structure
POKOK BAHASAN :
1. Operasi File pada Sistem Operasi Linux
2. Struktur Direktory pada Sistem Operasi Linux
TUJUAN BELAJAR :
1. Setelah mempelajari materi dalam bab ini, mahasiswa diharapkan mampu :
2. Memahami organisasi file dan direktory pada sistem operasi linux
3. Menciptakan dan manipulasi directory
4. Memahami konsep link dan symbolic link
DASAR TEORI :
1. ORGANISASI FILE
Sistem file pada linux menyerupai pepohonan (tree), yaitu dimulai dari root, kemudian direktori dan sub direktori. Sistem file pada linux diatur secara hirarkikal, yaitu dimulai dari root dengan symbol “ / “.
Kita dapat menciptakan file dan direktori mulai dari root ke bawah. Direktori adalah file khusus, yang berisi nama file dan INODE (pointer yang menunjuk ke data / isi file tersebut). Secara logika, direktori dapat berisi file dan direktori lagi (disebut juga subdirektori).
Direktori |
Deskripsi |
/etc |
Berisi
file administrative (konfigrasi, dll) dan file executable atau script yang
berguna unruk administrasi system. |
/dev |
Berisi
file khusus yang merepresentasikan peralatan hardware seperti memori, disk,
printer, tape, floppy, jaringan, dll. |
/bin |
Berisi
utilitas sistem level rendah (binary). |
/sbin |
Berisi
utuilitas sistem untuk superuser (untuk membentuk administrasi sistem). |
/usr/sbin
/usr/bin |
Berisi
utilitas sistem dan program aplikasi level tinggi. |
/usr/lib |
Berisi
program library yang diperlukan untuk kompilasi program (misalnya C). Berisi
instruksi (command) misalnya untuk Print Spooler (lpadmin), dll. |
/tmp |
Berisi
file sementara, yang pada saat Bootstrap akan dihapus (dapat digunakan oleh
sembarang user). |
/boot |
Berisi
file yang sangat penting untuk proses bootstrap. Kernel vmlinuz disimpan di direktori ini. |
/proc |
Berisi
informasi tentang kernel Linux, proses dan virtual system file. |
/var |
Direktori
variable, artinya ytempat penyimpanan LOG (catatan hasil output program),
file ini dapat membengkak dan perlu dimonitor perkembangannya. |
/home /mnt |
Berisi
direktori untuk pemakai Linux (pada SCO diletakkan pada /usr). Direktori
untuk mounting system file |
/root |
Home
direktori untuk superuser (root). |
/usr/bin/X11 |
Symbolic
link ke /usr/X11R6/bin. Program untuk X-Window |
/usr/src |
Source
code untuk Linux. |
/cpt |
Option,
direktori ini biasanya berisi aplikasi tambahan (“add-on”)seperti Nestcape
Navigator, kde, gnome, applix, dll. |
Direktori /etc
Berisi file yang berhubungan dengan administrasi system, maintenance script, konfigurasi, security dll. Hanya superuser yang boleh memodifikasi file yang berada di deroktori ini. Subderiktri ini yang sering diakses pada direktori/rtc antara lain :
- Httpd, apache web server.
- Ppp, point to point protocol untuk koneksi ke internet.
- Rc.d atau init.d, inisialisasi (starup) dan terminasi (shutdown) proses di linux dengan konsep runlevel.
- Cron.d,rincian proses yang dieksekusi dengan menggunakan jadwal(time depedent process)
- Files,file security dan konfigurasi meliputi : passwd, host, shadaow, ftpacces, inetd.confg, lilo.confg, motd,printcap, profile, resolv.confg, sendmail.cf, syslog.confg, dhcp.confg, smb.conf, fstab.
Direktori /dev
Konsep Unix dan Linux adalah memperlakukan peralatan hardware sama seperti penanganan file. Setiap alat mempunyai nama file yang disimoan pada direktori/dev.
Peralatan |
Direktori |
Floppy |
/dev/fd0 |
Harddisk |
IDE : /dev/had, /dev/hdb, /dev/hdc,
/dev/hdd SCSI : /dev/sda, /dev/sdb, /dev/sdc |
CDROM |
SCSI : /dev/scd0, d/dev,scd1 IDE : /dev/gscd, /dev/spnycd Universal : /dev/cdrom (link dari actual cdrom ide atau scsi) |
Mouse |
PS2 : Universal : |
Parallel Port |
LPT1 : /dev/lp0 LPT2 : /dev/ttyS1 |
Serial
Port |
COM1 : /dev/ttyS0 COM2 : /dev/ttyS1 Universal :
/dev/modem(link dari S0 atau S1) |
Direktori /proc
Direktori /proc adalah directory yang dibuat diatas RAM (Random Acces Memory) dengan system file yang diatur oleh kernel. /proc berisi nomor proses dari system dan nama driver yang aktif di sytem. Semua direktori berukuran 0 (kosong) kecuali file kcore dan self. Setiap nomor yang ada pada direktori tersebut mempresentasikan PID (Proccess Id).
3. TIPE FILE
Pada Linux terdapat 6 buah tipe file, yaitu :
a. Ordinary file
b. Direktori
c. Block Device (Perlatan I/O)
Merupakan representasi dari peralatan hardware yang menggunakan transmisi data per block
(misalnya 1KB block), seperti disk, floppy, tape.
d. Character Device (PeralatanI/O)
Merupakan represntasi darib peralatan hardware yang mnggunakan transmisi data karakter per
karakter, seperti disk, floppy,tape.
e. Character Device (peralatan I/O)
Merupakan representasi dari peralatan hardware yang menggunakan transmisi data karakter
per karakter, seperti terminal, modern, plotter, dll
f. Named Pipe (FIFO)
File yang digunakan secara intern oleh system operasi untuk komunikasi antar proses
Link file
4. PROPERTI FILE
File mempunyai beberapa atribut, antara lain :
Tipe file : menentukan tipe dari file, yaitu :
Karakter |
Arti |
- |
File
biasa |
d |
Direktori |
l |
Symbolic
link |
b |
Block
special file |
c |
Character
special file |
s |
Socket
link |
p |
FIFO |
5. NAMA FILE
Nama file maksimal terdiri dari 255 karakter berupa alfanumerik dan beberapa karakter special
yaitu garis bawah, titik, koma dan lainnya kecuali spasi dan karakter "&", ",", "|", "?", "`", """,
""", "[", "]", "(", ")", "$", "<", ">", "{", "}", "^", "#", "\", "/". Linux membedakan huruf
kecil dengan huruf besar (case sensitive). Contoh nama file yang benar :
Abcde5434
3
prog.txt
PROG.txt
Prog.txt,old
report_101,v2.0.1
5-01.web.html
6. SIMBOLIC LINK
Link adalah sebuah teknik untuk memberikan lebih dari satu nama file dengan data yang
sama. Bila file asli dihapus, maka data yang baru juga terhapus. Format dari Link :
In fileAsli fileDuplikat
fileDuplikat disebut hard link dimana kedua file akan muncul identik (link cout=2) Bila
fileAsli atau ileDuplikat diubah perubhan akan terjadi pada file lainnya.
Symbolic Link diperlukan bila file tersebut di “link” dengan direktori / fle yang berada pada partisi yang berbeda. Tipe file menjadi 1 (link) dan file tersebut menunjuk ke tempat asal. Format :
Format :
In –s /FULLPATH/fileAsli /FULLPATH/fileDuplikat
Pilihan –s (shortcut) merupakan bentuk soft link dimana jumlah link count pada file asal tidak akan berubah. Pada bentuk soft link, symbolic link dapat dilakukan pada file yang tidak ada, sedangkan pada hard link tidak dimungkinkan. Perbedaan lain, symbolic link dapat dibentuk melalui media disk atau partisi yang berbeda dengan soft link, tetapi pada hard link terdapat pada partisi disk yang sama.
7. MELIHAT ISI FILE
Untuk melihat jenis file menggunakan format :
File filename(s0
Isi file akan dilaporkan dengan deskripsi level tinggin seperti contoh berikut
$ file myprog.c letter.txt webpage.html
Myprog.c: c program text
Letter.txt ASCII text
Webpage.html: HTML document tet
Perintah ini dapat digunakan secara luas untuk file yang kadang membingungkan, misalnya antara kode C++ dan Java.
8. MENCARI FILE
Jika ingin melihat bagaimana pohon ddirektori dapat digunakan perintah
a. Find
Format : find directory –name targetfile –print
Akan melihat file yang bernama targetfile (bisa berupa karakter wildcard)
b. Which
Format : which command
Untuk mengetahui letak system utility
c. Locate
Format : locate string
Akan mencari file pada semua directori dengan lebih cepat dan akan menampilkan baris yang sesuai.
9. MENCARI TEXT PADA FILE
Untuk mencari text pada file digunakan perintah grep (general Regular expression Print) dengan format perintah
grep option pattern files
Grep akan mencari file yang bernama sessuai pattern yang diberikan dan akan menampilkan baris yang sesuai.
TUGAS PENDAHULUAN
Jawablah pertanyaan-pertanyaan di bawah ini :
1. Apa yang dimaksud perintah-perintah direktori : pwd, cd, mkdir, rmdir.
Jawab :
pwd : Perintah yang digunakan untuk melihat posisi di direktori mana kita berada saat ini.
cd : Perintah yang digunakan untuk masuk ke dalam direktori, bisa juga digunakan untuk
keluar dari direktori.
mkdir : Perintah yang digunakan untuk membuat direktori.
rmdir : Perintah yang digunakan untuk menghapus direktori.
2. Apa yang dimaksud perintah-perintah manipulasi file : cp, mv dan rm (sertakan format yang digunakan)
Jawab :
cp : Perintah yang digunakan untuk mengcopy file .
Format : cp <nama_file> <direktori_tujuan>
mv : Perintah yang digunakan untuk memindahkan / cut file .
Format : mv <nama_file> <direktori_tujuan>
rm : Perintah yang digunakan untuk menghapus file.
Format : rm <nama_file>
3. Jelaskan perbedaan Symbolic link menggunakan hard link (direct) dan soft link (indirect).
Hard Link : Digunakan untuk membuat link pada sebuah file, dan hasil link dari file tersebut sama persis dengan yang aslinya. Dan bila file link/yang asli diubah/dihapus file lain yang terhubung juga akan berubah. Untuk linknya juga terbatas hanya dalam satu partisi.
Soft Link : Digunakan untuk membuat link namun dalam bentuk shortcut. Dan bila menggunakan soft link, Link Count file yang asli tidak akan berubah, berbeda dengan hard link. Untuk linknya bisa berbeda partisi.
4. Tuliskan maksud perintah-perintah : file, find, which, locate dan grep.
file : Digunakan untuk melihat jenis file.
find : Digunakan untuk mencari file.
which : Digunakan untuk mengetahui letak direktori yang kita inginkan.
locate : Digunakan untuk mencari file pada semua direktori dengan lebih cepat dan ditampilkan dengan path yang penuh.
grep : Digunakan untuk mencari text pada file.
PERCOBAAN :
1. Login sebagai user
2. Bukalah Console Terminal dan lakukan percobaan-percobaan di bawah ini. Perhatikan hasilnya.
3. Selesaikan soal-soal latihan.
Percobaan 1 : Direktory
A. Melihat direkrori HOME
$ pwd
$ echo $HOME
Analisa :
Pada percobaan ini kita belajar penggunaan perintah cd.
cd . : Perintah ini digunakan untuk memastikan dimana posisi kita sekarang.
cd .. : Perintah ini digunakan untuk keluar dari sebuah direktori dan kembali ke direktori sebelumnya
cd : Perintah ini digunakan untuk kembali ke direktori home awal.
C. Membuat satu direktori, lebih dari satu direktori atau sub direktori
$ pwd
$ mkdir A B C A/D A/E B/F A/D/A
$ ls –l
$ ls –l A
$ ls –l A/D
Analisa :
Pada percobaan ini kita belajar penggunaan perintah cd.
cd . : Perintah ini digunakan untuk memastikan dimana posisi kita sekarang.
cd .. : Perintah ini digunakan untuk keluar dari sebuah direktori dan kembali ke direktori sebelumnya
cd : Perintah ini digunakan untuk kembali ke direktori home awal.
C. Membuat satu direktori, lebih dari satu direktori atau sub direktori
$ pwd
$ mkdir A B C A/D A/E B/F A/D/A
$ ls –l
$ ls –l A
$ ls –l A/D
Analisa :
Pada percobaan ini kita disuruh membuat direktori dan subdirektori menggunakan perintah mkdir, yaitu direktori A yang didalamnya ada direktori D dan E didalam D ada subdirektori lagi bernama A. Lalu direktori B yang didalamnya ada subdirektori bernama F. Kemudian kita juga membuat direktori C tanpa subdirektori.
D. Menghapus satu atau lebih direktori hanya dapat dilakukan pada direktori kosong dan hanya dihapus oleh pemiliknya kecuali bila diberikan ijin aksesnya
$ rmdir B (terdapat pesan error, mengapa?)
$ ls –l B
$ rmdir B/F B
$ ls –l B (terdapat pesan error, mengapa?)
Analisa : Pada percobaan ini direktori B tidak dapat dihapus karena didalam direktori B ada subdirektorinya. Jadi bila kita ingin menghapus direktori B, kita harus menghapus subdirektorinya dulu, lalu direktori B bisa terhapus. Pada saat ls -l B terdapat pesan error karena direktori B sudah terhapus.
E. Navigasi direktori dengan intruksi cd untuk pindah dari satu direktori ke direktori lain
$ pwd
$ ls –l
$ cd A
$ pwd
$ cd ..
$ pwd
$ cd /home/<user>/C
$ pwd
$ cd /<userC
$pwd
Analisa : Pada percobaan ini kita disuruh masuk ke direktori bernama C. Namun pada perintah selanjutnya terjadi error, itu disebabkan karena pada perintah yang dimasukkan tidak menyertakan parent direktorinya. Jadi computer mengira kalau kita akan masuk ke directori /yohanes/C dalam direktori C itu sendiri. Tapi itu tidak bisa karena pada direktori C tidak ada direktori tersebut.
Percobaan 2 : Manipulasi file
A. Perintah cp untuk mengkopi file atau seluruh direktori.
$ cat > contoh
Membuat sebuah file
{Ctrl –d}
$ cp contoh contoh1
$ ls –l
$ cp contoh A
$ ls –l A
$ cp contoh contoh1 A/D
$ ls –l A/D
Analisa :
Pada percobaan ini kita disuruh untuk :
Membuat file bernama contoh.
Mengcopy isi file contoh ke file bernama contoh1.
Mengcopy file contoh ke direktori A.
Kemudian mengcopy file contoh dan contoh1 ke direktori D yang letaknya ada didalam direktori A.
B. Perintah mv untuk memindahkan file
$ mv contoh contoh2
$ ls –l
$ mv contoh1 contoh2 A/D
$ ls –l A/D
$ mv contoh contoh1 C
$ ls –l C
Analisa :
Pada perintah ini kita disuruh untuk :
Memindahkan file contoh ke file contoh2.
Memindahkan file contoh1 dan contoh2 ke direktori D yang ada pada direktori A.
Lalu memindahkan file contoh dan contoh1 ke direktori C, namun pada perintah ini terjadi error, karena file contoh dan contoh1 sudah tidak ada karena sudah dipindahkan sebelumnya.
C. Perintah rm untuk menghapus file
$ rm contoh2
$ ls –l
$ rm –i contoh
$ rm –rf A C
$ ls –l
Analisa :
Pada percobaan ini kita disuruh untuk :
Menghapus file contoh2 tanpa konfirmasi.
Menghapus file contoh dengan konfirmasi.
Mengapus seluruh direktori A dan C dan semua isinya.
Fungsi-fungsi yang ada pada perintah rm.
rm : Menghapus tanpa konfirmasi.
rm –i : Menghapus dengan konfirmasi.
rm –rf : Menghapus direktori dan semua direktori didalamnya.
Percobaan 3 : Symbolic Link
Membuat shortcut (file link)
$ echo “Hallo apa khabar” > halo.txt
$ ls –l
$ ln halo.txt z
$ ls –l
$ cat z
$ mkdir mydir
$ ln z mydir/halo.juga
$ cat mydir/halo.juga
$ ln –s z bye.txt
$ ls –l bye.txt
$ cat.byt.txt
Analisa :
Pada percobaan kita disuruh untuk :
Membuat file halo.txt yang berisikan tulisan “Hallo apa khabar”.
Kemudian membuat link (hard link) file halo.txt ke file z dengan perintah ln.
Membuat direktori mydir
Membuat link (hard link) dari file z ke file halo.juga didalam direktori mydir.
Lalu membuat link lagi namun softlink dari file z ke file bye.txt.
Lalu mengecek file bye.txt.
Percobaan 4: Melihat isi file
$ ls –l
$ file halo.txt
$ file bye.txt
Analisa : Pada percobaan ini kita disuruh unutk melihat komposisi pada sebuah file. Pertama file halo.txt yang berisikan text ASCII, dan yang kedua file bye.txt yang menyambung dengan file z.
Perrcobaan 5: Mencari file
A. Perintah find
$ Find /home –name “*.txt” –print > myerror.txt
$ cat myerror.txt
$ find . –name “*.txt’ –exec wc –i ‘{ }’ ‘;’
Analisa : Pada percobaan ini kita disuruh untuk mencari file yang berekstensi .txt pada direktori home, namun outputnya dibelokkan ke file myerror.txt.
B. Perintah which
$ which ls
Analisa : Pada perintah ini kita disuruh untuk melihat dimana letak direktori ls.
C. Perintah locate
$ locate “*.txt”
Analisa : Pada percobaan ini kita disuruh melihat dimana letak semua file yang berekstensi .txt pada computer kita menggunakan perintah locate.
Percobaan 6: Mencari text pada file
$Grep Hallo *.txt
Analisa : Pada percobaan ini kita disuruh mencari kata “Hallo” pada semua file yang berekstensi .txt menggunakan perintah grep.
LATIHAN :
1. Cobalah urutan perintah berikut :
$ cd
$ pwd
$ ls –al
$ cd .
$ pwd
$ cd ..
$ pwd
$ ls -al
Analisa :
Setelah mencoba sekumpulan perintah diatas, maka saya simpulkan :
Perintah $cd digunakan untuk berpindah ke direktori lain.
$ pwd digunakan untuk melihat posisi kita.
$ ls –al digunakan untuk melihat semua file secara lengkap.
$ cd .. digunakan untuk kembali ke direktori sebelumnya.
Cat digunakan untuk melihat isi dari sebuah file.
$ ls –al | more digunakan untuk melihat semua file secara satu layar penuh.
$ cd – digunakan untuk kembali ke root.
2. Lanjutkan penelusuran pohon pada sistem file menggunakakn cd, ls,pwd dan cat. Telururi direktory /bin, /usr/bin, /sbin, /tmp dan /boot.
a. /bin
b. /usr/bin
c. /sbin
d. /tmp
e. /boot
Analisa :
a. /bin : Setelah saya mencoba beberapa perintah disoal, /bin adalah sebuah direktori system yang berisi utility binary (rendah), seperti hostname, dll.
b. /usr/bin : Sebuah direktori system yang berisi utilitas dan program aplikasi level tinggi, seperti gnome, dll.
c. /sbin : Sebuah direktori system yang isinya utility untuk superuser (SU), seperi ifconfig, dll.
d. /tmp : Sebuah direktori system yang berisi file sementara (setelah bootstrap akan dihapus).
e. /boot : Sebuah direktori system yang berisi file sangat penting untuk proses bootstrap. Contohnya : vmlinuz.
3. Telusuri direktory /dev. Indentifikasi perangkat yang tersedia identifikasi tty (terminal) A (ketika who am i); siapa pemilih tty Anda (gunakan ls –l).
Analisa : Dari latihan diatas setelah menelusuri direktori /dev dengan perintah cd, di dalam /dev ada daftar perangkat yang tersedia. Kemudian mengidentifikasi terminal yang digunakan menggunakan perintah whoami yang ternyata anggi. Selanjutnya menggunakan perintah ls –l untuk melihat siapa saja pemilih terminal tersebut.
4. Telusuri directory /proc. Tampilkan isi file interrupts, devices, cpuinfo meminfo dan uptime menggunakan perintah cat. Dapatkah Anda melihat mengapa direktory /proc disebut pseudo –filesytem yang memungkinkan akses ke struktur data karnel ?
a. File interrups
Berisi tentang proses apa saja yang terjadi saat ini
b. File devices
c. File cpuinfo
Berisi tentang info cpu dan bagaimana prosesnya saat ini.
d. File meminfo
Berisi tentang info memory dan bagaimana prosesnya saat ini.
e. File uptime
Mengetahui informasi tentang lama system berjalan setelah terakhir reboot atau mati.
Analisa :
Untuk pertanyaan mengapa direktori /proc disebut pseudo-filesystem yang memungkinkan akses ke struktur data kernel ? menurut saya hal ini disebabkan direktori /proc dibuat diatas RAM dengan sistem file yang diatur oleh kernel itu sendiri, jadi kita bisa melihat info memory, info processor, dsb.
5. Ubahlah direktory home ke user lain secara langsung menggunakan cd ~username
Analisa : Setelah mencoba latihan di atas, dengan menggunakan perintah cd ~username kita akan langsung bisa masuk ke direktori home nya user lain. Dalam latihan ini sebelumnya saya menggunakan user yohanes kemudian masuk ke home user yohanesdahlah.
6. Ubahlah ke direktory home Anda.
Analisa : Dalam latihan diatas, untuk kembali ke direktori home saya sebelumnya, bisa menggunakan perintah $ cd.
7. Buat subdirektory work dan play
Analisa : Disini saya membuat subdirektori work dan play pada direktori Douments menggunakan perintah mkdir. Kemudian saya cek dan hasilnya seperti diatas.
8. Hapus subdirektory work
Analisa : Disini saya menghapus subdirektori work yang ada dalam direktori tugas menggunakan perintah rmdir. Kemudian saya cek menggunakan ls, seperti gambar diatas.
9. Copy file /ect/passwd ke direktori home anda
Analisa : Disini saya menggunakan perintah cp /etc/passwd dahlah untuk mengcopy file “passwd” ke dalam direktori home saya dengan nama dahlah. Kemudian saya cek menggunakan perintah ls.
10 Pindahkan subdirektory play.
Analisa : Disini saya memindahkan file passwd di dalam direktori home ke dalam subdirektori play, menggunakan perintah mv. Lalu saya cek menggunakan perintah ls.
11. Ubahlah ke subdirektory play dan buat symbolic link dengan nama terminal yang menunjukkan ke perangkat tty. Apa yang terjadi jika melakukan hard link ke perangkat tty ?
Analisa : Disini saya mencoba melakukan symbolic link dengan cara softlink. yaitu dengan perintah echo.
12. Buatlah file bernama hello.txt yang berisi kata “hello word” . dapat Anda gunakan “cp” menggunakan “terminal” sebagai file asal untuk menghasilkan efek yang sama ?
Analisa : Disini saya membuat file hello.txt yang berisikan kalimat “Hello World” menggunakan cat. Kemudian mencoba menggunakan perintah cp, saat menggunakan perintah cp hasilnya seperti saat saya melakukan perintah cat pada hello.txt.
13. Copy hello.txt ke terminal apa yang terjadi
14. Masih direktory home. Copy keseluruhan direktory play ke direktory bernama work menggunakan symbolic link.
Analisa : Disini saat saya menggunakan hardlink terjadi error, namun saat menggunakan softlink berhasil.
15. Hapus direktory work dan isinya dengan satu perintah.
Analisa : Karena isi dari direktori work hanya shortcut maka hanya dengan menggunakan perintah rm tanpa ada option apapun bisa dilakukan.
LAPORAN RESMI
1. Analisa hasil percobaan yang Anda lakukan.
a. Analisa setiap hasil tampilannya
Jawab : Sudah dilampirkan diatas
b. Pada percobaan 1 point 3 buatlah pohon dari struktur file dan direktori
Jawab :
c. Bila terdapat pesan error, jelaskan penyebabnya ?
Jawab : Sudah dilampirkan diatas
2. Kerjakan latihan diatas dan analisa hasil tampilannya
Jawab : Sudah dikerjakan dan dianalisa diatas
3. Berikan kesimpulan dari praktikum ini
Jawab :
Saya jadi mengetahui bahwa sistem file pada linux menyerupai tree yang dimulai dari root kemudian direktori dan subdirektori.
Lebih mengetahui symbolic link
Lebih mengetahui cara kerja dan perbedaan antara hardlink dan softlink.
Alamat Website Program Studi, Fakultas, Universitas :
https://tk.ftik.teknokrat.ac.id, https://ftik.teknokrat.ac.id www.teknokrat.ac.id
Nama Mahasiswa : Irham Iswanda Duhair
Komentar
Posting Komentar