Program Shell
================================
Nomor 1
================================
#!/bin/sh
echo "============================="
echo "======ZAINUDIN ISHAK======"
echo "============================="
echo "[1] melihat user"
echo "[2] melihat waktu dan tanggal"
echo "[3] melihat waktu ON "
echo "[4] melihat lokasi direktori"
pil=4
while [ $pil = 4 ]
do
read -p "pilihan anda " x
case $x in
1)
echo -n "user :"
whoami
;;
2)
echo -n "waktu/tanggl :"
date
;;
3)
echo -n "waktu ON :"
uptime
;;
4)
echo -n "lokasi directori :"
pwd
;;
*)
echo -n "salah pilih !!"
esac
done
=============================
Nomor 2
============================
#!/bin/sh
echo "========================="
echo "= Data Mahasiswa Teknik ="
echo "========================="
echo
read -p "Silahkan masukan nama file anda :" file
touch $file
pil='yes'
while [ $pil = 'yes' ]
do
read -p "Nama :" nama
read -p "NIM :" nim
read -p "Prody :" prody
read -p "Jurusan :" jur
read -p "fakultas :" fak
read -p "Usia :" usia
read -p "Jumlah SKS :" sks
read -p "Nilai IPK :" ipk
read -p "Dosen PA :" pa
echo "nama :" $nama >> $file
echo "nim :" $nim >> $file
echo "prody :" $prody >> $file
echo "jurusan :" $jur >> $file
echo "fakultas :" $fak >> $file
echo "usia :" $usia >> $file
echo "jumlah sks:" $sks >> $file
echo "nilai ipk :" $ipk >> $file
echo "dosen pa :" n$pa >> $file
read -p "mau mengisi kembali ??" pil
while [ $pil = 'no' ]
do
echo "terima kasih, file telah tersimpan !!"
break
done
done
==================================
Nomor 3
==================================
#!/bin/sh
pil='y'
while [ $pil = 'y' ]
do
read -p "masukan bilangan yang anda mau :" x
if test 'expr $x % 2' -eq 0
then
echo $x "bilangan genap"
else
echo $x "bilangan ganjil"
fi
read -p "ingin menginput kembali ?? [y/n] :" pil
while [ $pil = 'n' ]
do
echo "terima kasih"
break
done
done
===================================
Nomor 4
===================================
#!/bin/bash
buatfolder (){
echo -n "Nama folder :"
read a
mkdir $a
echo "Folder $a berhasil dibuat."
sleep 2
}
buatfile (){
echo -n "Nama file :"
read a
touch $a
echo "File $a berhasil dibuat."
sleep 2
}
hapusfile (){
echo -n "Nama file yang ingin dihapus :"
read a
rm -r $a
echo "File $a berhasil di hapus."
sleep 2
}
hapusfolder (){
echo -n "Folder yang ingin dihapus :"
read a
rmdir-r $a
echo "Folder $a berhasil dihapus."
sleep 2
}
gantinama (){
echo -n "File/folder yang ingin di ganti:"
read a
echo -n "Ganti dengan nama :"
read b
mv $a $b
echo "File/folder $a berhasil diganti."
sleep 2
}
cekstatus (){
echo -n "file yang ingin dicek :"
read a
ls -l $a
sleep 2
}
lihatfile (){
ls
sleep 3
}
hakakses (){
echo -n "File/folder yang ingin digantipermissio :"
read b
echo -n "Ganti permission (contoh : 777) :"
read a
echo "#read(baca) :4
#write(tulis) :2
#excute(eksekusi) :1"
chmod $a $b
echo "File/folder $b berhasil diganti hak aksesnya."
sleep2
}
duplikasi (){
echo -n "File/folder yang ingin duplikat:"
read a
echo -n "Pindah ke (contoh : dekstop atau home/zishak/dekstop) :"
read b
mv $a $b
echo "File/folder $a berhasil diduplikat."
sleep 2
}
pindah (){
echo -n "file/folder yang ingin di pindah :"\
read a
echo -n "Pindah ke (contoh: dekstop atau home/zishak/dekstop) :"
read b
mv $a $b
echo "File/folder berhasil dipindah."
sleep 2
}
opsi=1
while [ $opsi ]
do
clear
echo "1.Buat folder"
echo "2.Buat file"
echo "3.Hapus file"
echo "4.Hapus folder"
echo "5.Ganti nama file/folder"
echo "6.Cek status file"
echo "7.Lihat file"
echo "8.Ganti permission"
echo "9.Duplikat file/folder"
echo "10.Pindah file/folder"
echo "11.Keluar"
echo -n "pilih opsi :"
read opsi
case $opsi in
1) buatfolder
;;
2) buatfle
;;
3) hapusfile
;;
4) hapusfolder
;;
5) gantinam
;;
6) cekstatus
;;
7) lihatfile
;;
8) hakakses
;;
9)duplikat
;;
10) pindah
;;
11) echo "terima kasih telah mengunjungi program ini."
sleep 2
;;
*)echo "maaf anda salah opsi!"
sleep
esac
done
================================
Nomor 5
================================
#!/bin/sh
pil='y'
while [ $pil = 'y' ]
do
read -p "bil. pertama :" x
read -p "bil. kedua :" z
echo "pilihan anda "
echo "tambah"
echo "kurang"
echo "kali"
echo "bagi"
echo -n "masukan pilihan anda :"
read masuk
case $masuk in
tambah)
tambah=$(echo "$x+$z"|bc)
echo "hasil :" $tambah
;;
kurang)
kurang=$(echo "$x-$z"|bc)
echo "hasil :" $kurang
;;
kali)
kali=$(echo "$x*$z"|bc)
echo "hasil :" $kali
;;
bagi)
bagi=$(echo "$x/$z"|bc)
echo "hasil :" $bagi
;;
*)
echo "pilhan salah !!"
esac
read -p "ingin menciba kembali [y/n] :" pil
while [ $pil = 'n' ]
do
exit
done
done
Tugas Sistem Operasi (Bash)
Nama : Zainudin Ishak
NIM : 532414038
Jurusan : Teknik Informatika
Prodi/Kelas : PTI/B
1. Sebelum
2. Sesudah
Penjelasan Tentang Bilangan Oktal
Oktal adalah sebuah sistem bilangan berbasis delapan. Simbol yang digunakan pada sistem bilangan ini adalah 0,1,2,3,4,5,6,7. Konversi Sistem Bilangan Oktal berasal dari Sistem bilangan biner yang dikelompokkan tiap tiga bit biner dari ujung paling kanan, Sistem Bilangan Oktal juga memiliki :
1.Absolue value merupakan nilai untuk masing-masing digit bilangan, sedangkan
2.Position value adalah merupakan penimbang atau bobot dari masing-masing digit tergantung dari 3.letak posisinya, yaitu nernilai basis dipangkatkan dengan urutan posisinya.
Jenis-Jenis Kernel
1. Monolithic Kernel
Pendekatan kernel monolitik didefinisikan sebagai sebuah antarmuka virtual yang berada pada tingkat tinggi di atas perangkat keras, dengan sekumpulan primitif atau system call untuk mengimplementasikan layanan-layanan sistem operasi, seperti halnya manajemen proses, konkurensi (concurrency), dan manajemen memori pada modul-modul kernel yang berjalan di dalam mode supervisor.
2. Microkernel
Pendekatan mikrokernel berisi sebuah abstraksi yang sederhana terhadap hardware, dengan sekumpulan primitif atau system call yang dapat digunakan untuk membuat sebuah sistem operasi agar dapat berjalan, dengan layanan-layanan seperti manajemen thread, komunikasi antar address space, dan komunikasi antar proses.
3. Hybrid Kernel
Kernel hibrida aslinya adalah mikrokernel yang memiliki kode yang tidak menunjukkan bahwa kernel tersebut adalah mikrokernel di dalam ruangan kernel-nya. Kode-kode tersebut ditaruh di dalam ruangan kernel agar dapat dieksekusi lebih cepat dibandingkan jika ditaruh di dalam ruangan user.
4. Exokernel
Sebenarnya, Exokernel bukanlah pendekatan kernel sistem operasi yang umum, seperti halnya microkernel atau monolithic kernel yang populer, melainkan sebuah struktur sistem operasi yang disusun secara vertikal.
Konversi Bilangan Biner, Desimal, dan Ascii
A. KONVERSI BILANANG BINER KE DESIMAL DAN SEBALIKNYA
1. mengubah bilangan biner –> desimal
Penjelasan :
Jumlahkan setiap angka di bilangan biner setelah dikalikan dengan 2*n-1 , n adalah
banyaknya angka di bilangan biner. Misal untuk bilangan di atas 0000110 terdapat 7 buah
angka 0,0,0,0,1,1.0. Jadi untuk merubah ke bilangan desimal kita perlu mengalikannya
dengan 2*n-1
Contoh 1 :
catatan : setelah tanda (*) adalah angka yang dipangkatkan!!!!
0000110
(0 x 2*7-1) + (0 x 2*6-1) + (0 x 2*5-1) + (0 x 2*4-1) + (1 x 2*3-1) + (1 x 2*2-1) +
(0 x 2*1-1)
(0 x 2*6) + (0 x 2*5) + (0 x 2*4) + (0 x 2*3) + (1 x 2*2) + (1 x 2*1) + (0 x 2*0)
= 0 + 0 + 0 + 0 + 4 + 2 + 0 = 6
Jadi 0000110= 6
Contoh 2 :
0010110
(0 x 2*7-1) + (0 x 2*6-1) + (1 x 2*5-1) + (0 x 2*4-1) + (1 x 2*3-1) + (1 x 2*2-1) +
(0 x 2*1-1)
(0 x 2*6) + (0 x 2*5) + (1 x 2*4) + (0 x 2*3) + (1 x 2*2) + (1 x 2*1) + (0 x 2*0)
= 0 + 0 + 16 + 0 + 4 + 2 + 0 = 22
Jadi 0010110= 22
Contoh 3 :
1100000
(1 x 2*7-1) + (1 x 2*6-1) + (0 x 2*5-1) + (0 x 2*4-1) + (0 x 2*3-1) + (0 x 2*2-1) +
(0 x 2*1-1)
(1 x 2*6) + (1 x 2*5) + (0 x 2*4) + (0 x 2*3) + (0 x 2*2) + (0 x 2*1) + (0 x 2*0)
= 64 + 32 + 0 + 0 + 0 + 0 + 0 = 96
Jadi 1100000= 22
2. mengubah bilangan desimal --> biner
Penjelasan :
Di sini kita akan mengonversi decimal ke biner, untuk mengerjakan soal ini kita
menngunakan angka 128, angka tersebut dibagi dengan angka 2 hingga menghasilkan
angka 1. Jika angka yang kita cari melebihi dari angka yang ditentuka nilainya adalah 0
sebaliknya jika angka tersebut belum melebihi angka yang kita cari maka nilainya adalah 0.
Contoh : kita mengkonversi angka 44 ke biner.
128 =0, 64=0, 32=1, 16=0, 8=1, 4=1, 2=0,
1=0 , hasilnya 00101100. Penjelasannya yaitu mengapa anggka 128 dan 64 hasilnya 0?
Karna angka 128 dan 64 sudah melebihi angka yang kita cari yaitu 44jadi kita gunakan
angka 0.sedangkan angka 32 belum melebihinya jadi kita gunakan angka 1, selanjutnya
kita mengambil angka 8 dan 4 untuk digunakan karna jika dijumlahkan akan menghasilkan
angka 44.
B. Mengubah ke bilangan ASCII
Untuk mempermudah mengubah bilangan biner yagn telah kita ubah menjadi bilangan
decimal tadi ke dalam bentuk teks, maka kita harus memperhatikan table KODE ASCII berikut
Biner | Desimal | Karakter |
1000001 | 65 | A |
1000100 | 68 | D |
1001000 | 72 | H |
1001001 | 73 | I |
1001011 | 75 | K |
1001110 | 78 | N |
1010011 | 83 | S |
1010101 | 85 | U |
1011010 | 90 | Z |
untuk lebih lengkapnya dapat anda lihat di tabel KODE ASCII yang lengkapb
Untuk mengetahui karakter apa yg di hasilkan dari bilangan biner diatas, maka kita harus
melihat table kode ASCII.
1011010 = 90 = Z
1000001 = 65 = A
1001001 = 73 = I
1001110 = 78 = N
1010101 = 85 = U
1000100 = 68 = D
1001001 = 73 = I
1001110 = 78 = N
Jadi, terjemahannya adalah ZAINUDIN