tugas sistem operasi tentang shell
================================
Nomor 1
================================
#!/bin/sh
echo "============================="
echo "====== JULIANTO ======"
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
Nama : Julianto
NIM : 532414007
Jurusan : Teknik Informatika
Prodi/Kelas : PTI/B
1.
2.
.
3.
4.
Tugas SO Mengenai Cara Konversi Bilangan Oktal
Bilangan Oktal adalah sistem bilangan yang berbasis 8. Simbol yang di gunakan pada bilangan Oktal adalah dimulai dari angka 0,1,2,3,4,5,6,7.
Cara Konversi
Konversi Oktal ke Biner
untuk mengkonversi bilangan Oktal kebiner sama saja dengan cara mengkonversi bilangan Biner ke Oktal. Hanya saja ini kebalikannya.
Langsung saja kita ke contoh :
konversikan bilangan oktal berikut ke bilangan desimal :
66 = ....
caranya seperti berikut :
untuk mengkonversikan bilangan tersebut maka kita harus memisahkan kedua angka tersebut. Kemudian kita konversikan angka tersebut menjadi angka biner dengan cara satu persatu. Seperti dibawah ini.
1. kita cari angka 6 yang pertama. yaitu dengan cara :
6 : 2 = 3 sisa 0
3 : 2 = 1 sisa 1
1 : 2 = 0 sisa 1
2. kita cari angka 6 yang kedua seperti cara yang di atas :
6 : 2 = 3 sisa 0
3 : 2 = 1 sisa 1
1 : 2 = 0 sisa 1
3. kita gabungkan kedua hasil tersebut. yaitu menjadi 100100
Konversi Oktal ke Desimal
Untuk mengkonversi bilangan Oktal ke bilangan Desimal, cara yang saya lakukan adalah mengalikan setiap digit dari bilangan tersebut dengan angka 8 yang di pangkatkan dengan angka 0,1,2,3,.. , dst, secara berurutan.
contohnya :
400= .....
cara pertama yang dilakukakan adalah
4 x 8 pangkat 2 =256
0 x 8 pangkat 1 =0
0 x 8 pangkat 0 =0
jadi hasilnya adalah : 256 + 0 + 0 = 256
jenis-jenis kernel
Kernel monolitik
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.
Mikroblora
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. Layanan-layanan lainnya, yang biasanya disediakan oleh kernel, seperti halnya dukungan jaringan, pada pendekatan microkernel justru diimplementasikan di dalam ruangan pengguna (user-space), dan disebut dengan server.
Kernel hibrida
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. Hal ini dilakukan oleh para arsitek sistem operasi sebagai solusi awal terhadap masalah yang terjadi di dalam mikrokernel: kinerja.
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.
mengkonversikan bilangan biner,desimal dan ascii
Berikut ini adalah cara untuk merubah bilangan biner menjadi bilangan desimal
A. KONVERSI BILANANG BINER KE DESIMAL DAN SEBALIKNYA
1. mengubah bilangan biner –> desimal
Penjelasan :
Jumlahkan setiap angka di bilangan biner setelah dikalikan dengan 2n-1 , n adalah
banyaknya angka di bilangan biner. Misal untuk bilangan di atas 1001010 terdapat 7 buah angka 1,0,0,1,0,1,0. Jadi untuk merubah ke bilangan desimal kita perlu mengalikannya dengan 2n-1
Contoh 1 :
catatan : setelah tanda (*) adalah angka yang dipangkatkan!!!!
0000110
(1 x 2*7-1) + (0 x 2*6-1) + (0 x 2*5-1) + (1 x 2*4-1) + (0 x 2*3-1) + (1 x 2*2-1) +
(0 x 2*1-1)
(1 x 2*6) + (0 x 2*5) + (0 x 2*4) + (1 x 2*3) + (0 x 2*2) + (1 x 2*1) + (0 x 2*0)
= 64 + 0 + 0 + 8 + 0 + 2 + 0 = 74
Jadi 1001010 = 74
Contoh 2 :
1010101
(1 x 2*7-1) + (0 x 2*6-1) + (1 x 2*5-1) + (0 x 2*4-1) + (1 x 2*3-1) + (0 x 2*2-1) + (1 x 2*1-1)(1 x 2*6) + (0 x 2*5) + (1 x 2*4) + (0 x 2*3) + (1 x 2*2) + (0 x 2*1) + (1 x 2*0)
= 64 + 0 + 16 + 0 + 4 + 0 + 1 = 85
Jadi 1010101= 85
Contoh 3 :
1001100
(1 x 2*7-1) + (0 x 2*6-1) + (0 x 2*5-1) + (1 x 2*4-1) + (1 x 2*3-1) + (0 x 2*2-1) +
(0 x 2*1-1)
(1 x 2*6) + (0 x 2*5) + (0 x 2*4) + (1 x 2*3) + (1 x 2*2) + (0 x 2*1) + (0 x 2*0)
= 64 + 0 + 0 + 8 + 4 + 0 + 0 = 76
Jadi 1001100 = 76
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 77 ke biner.
128 =0, 64=1, 32=0, 16=0, 8=1, 4=1, 2=0,
1=1 , hasilnya 01001101. Penjelasannya yaitu mengapa anggka 128 hasilnya 0?
Karna angka 128 sudah melebihi angka yang kita cari yaitu 77 jadi kita gunakan
angka 0.sedangkan angka 64 belum melebihinya jadi kita gunakan angka 1, selanjutnya
kita mengambil angka 8,4 dan 1 untuk digunakan karna jika ke tiga angka tersebut di
jumlahkan akan menghasilkan angka 77
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
1001001 73 I
1001010 74 J
1001100 76 L
1001110 78 N
1001111 79 O
1010100 84 T
1010101 85 U
untuk lebih jelasnya dapat langsung anda lihat di tabel KODE ASCII yang lebih lengkap…