Sebelum kita membahas Linux, kita bahas dulu tentang "Sistem Operasi".
Sistem Operasi adalah Perangkat lunak yang mengelola perangkat keras dan menyediakan layanan umum / sumber daya untuk program komputer.
Komponen maajemen utama pada sistem operasi :
- Manajemen Proses
- Manajemen Memori
- Manajemen Sistem Berkas
- Manajemen Input/Output
1) Manajemen Proses
Proses adalah sebuah program yang sedang dieksekusi. Sebuah proses membutuhkan beberapa sumber daya untuk menyelesaikan tugasnya. Sumber daya tersebut dapat berupa CPU time, memori, berkas-berkas, dan perangkat-perangkat masukan/ keluaran. Sistem operasi mengalokasikan sumber daya-sumber daya tersebut saat proses itu diciptakan atau sedang diproses / dijalankan. Ketika proses tersebut berhenti dijalankan, sistem operasi akan mendapatkan kembali semua sumber daya yang bisa
digunakan kembali.
digunakan kembali.
2) Manajemen Memori Utama
Memori utama atau lebih dikenal sebagai memori adalah sebuah array yang besar dari word atau byte, yang ukurannya mencapai ratusan, ribuan, atau bahkan jutaan. Setiap word atau byte mempunyai alamat tersendiri. Memori utama berfungsi sebagai tempat penyimpanan instruksi / data yang akses datanya digunakan oleh CPU dan perangkat masukan / keluaran. Memori utama termasuk tempat penyimpanan data yang yang bersifat volatile (tidak permanen) yaitu data akan hilang kalau komputer dimatikan.
Memori utama atau lebih dikenal sebagai memori adalah sebuah array yang besar dari word atau byte, yang ukurannya mencapai ratusan, ribuan, atau bahkan jutaan. Setiap word atau byte mempunyai alamat tersendiri. Memori utama berfungsi sebagai tempat penyimpanan instruksi / data yang akses datanya digunakan oleh CPU dan perangkat masukan / keluaran. Memori utama termasuk tempat penyimpanan data yang yang bersifat volatile (tidak permanen) yaitu data akan hilang kalau komputer dimatikan.
3) Manajemen Berkas
Berkas adalah kumpulan informasi yang berhubungan, sesuai dengan tujuan pembuat berkas tersebut. Umumnya berkas merepresentasikan program dan data. Berkas dapat mempunyai struktur yang bersifat hirarkis (direktori, volume, dll.). Sistem operasi mengimplementasikan konsep abstrak dari berkas dengan mengatur media penyimpanan massa, misalnya tapes dan disk.
4) Manajemen Sistem Masukan / Keluaran
Sering disebut device manager. Menyediakan device driver yang umum sehingga operasi masukan/ keluaran dapat seragam (membuka, membaca, menulis, menutup). Contoh: pengguna menggunakan operasi yang sama untuk membaca berkas pada perangkat keras, CD-ROM dan floppy disk.
Sering disebut device manager. Menyediakan device driver yang umum sehingga operasi masukan/ keluaran dapat seragam (membuka, membaca, menulis, menutup). Contoh: pengguna menggunakan operasi yang sama untuk membaca berkas pada perangkat keras, CD-ROM dan floppy disk.
Layanan yang Disediakan Sistem Operasi :
- Program development
- Editors and debuggers
- Program execution
- OS handles scheduling of numerous tasks required to execute a program
- Access I/O devices
- Each device will have unique interface
- OS presents standard interface to users
- Controlled access to files
- Accessing different media but presenting a common interface to users
- Provides protection in multi-access systems
- System access
- Controls access to the system and its resources
- Error detection and response
- Internal and external hardware errors
- Software errors
- Operating system cannot grant request of application
- Accounting
- Collect usage statistics
- Monitor performance
Linux adalah salah satu jenis sistem operasi, dimana sistem operasi linux ini bersifat Open Source.
Bash Command Line pada Linux :
- ls digunakan untuk memberikan informasi daftar tentang file
- pwd digunakan untuk memberitahu letak direktory saat ini (direktory kerja)
- mkdir digunakan untukmembuat folder baru
- chmod digunakan untuk mengubah izin akses file atau direktory
- chown digunakan untukmengubah kepemilikan file (user atau grup)
- chroot digunakan untukmengubah direktory root
- sudo digunakan untuk mengganti identitas user
- grep digunakan untuk mencari file dengan pola tertentu
- ps digunakan untuk menampilkan status proses
- halt digunakan untuk menghentikan atau restart sistem operasi
- cd digunakan untuk pindah ke direktory tertentu
- rm digunakan untuk menghapus file
- mv digunakan untuk memindahkan atau mengubah nama file atau direktory
- date digunakan untuk menampilkan atau mengubah waktu (tanggal, bulan, tahun, jam, menit, detik)
- free digunakan untuk menampilkan memori yang digunakan
- dan lain lain
Contoh Soal Problem Solving :
Cayza diberi tugas oleh dosennya untuk merubah codingan program bilangan prima dari bahasa C ke bash script.
Input : baris pertama berisi bilangan n
Output : semua bilangan prima <= n
Contoh :
5
2 3 5
10
2 3 5 7
Bantulah Cayza untuk menyelesaikan tugasnya ini !
Konsep : semua bilangan prima pasti hanya memiliki 2 faktor yaitu 1 dan dirinya dia sendiri
Logika : karena faktor dari bilangan prima pasti 1 dan dirinya dia sendiri, maka jika ada bilangan lain : (1 < a < n | n%a=0), maka n bukanlah bilangan prima (n,a adalah bilangan asli)
Kodingan :
#!/bin/bash
input=$1
for i in `seq 1 $input`;
do
faktor=0
for j in `seq 2 $i`;
do
if [ $(($i%$j)) -eq 0 ]
then let faktor=$faktor+1;
fi
if [ $faktor -eq 2 ]
then break
fi
done
if [ $faktor -eq 1 ]
then printf '$i '
fi
done
echo
do
faktor=0
for j in `seq 2 $i`;
do
if [ $(($i%$j)) -eq 0 ]
then let faktor=$faktor+1;
fi
if [ $faktor -eq 2 ]
then break
fi
done
if [ $faktor -eq 1 ]
then printf '$i '
fi
done
echo
Penjelasan :
#!/bin/bash
merupakan default header karena kita menggunakan bash scripting
input=$1
merupakan cara kita menerima inputan. bilangan yang diinputkan akan otomatis disimpan dalam variable input
for i in `seq 1 $input`;
merupakan bentuk perulangan dimulai dari 1 sampai angka inputan
faktor=0
merupakan variable yang digunakan untuk menampung ada berapakah bilangan i memiliki faktor
for j in `seq j $i`;
merupakan bentuk perulangan yang akan digunakan untuk mencari faktor dari i
if [ $(($i%$j)) -eq 0 ]
then let faktor=$faktor+1;
fi
merupakan cara penggunaan if dimana kita membandingkan 2 variable yaitu i dan j (apakah i habis dibagi j), ini berguna untuk mencari apakah j faktor dari i. jika ya, maka variabel faktor akan bertambah sebanyak 1
if [ $faktor -eq 2 ]
then break
fi
karena bilangan prima hanya memiliki 2 faktor maka jika ditemukan faktor lain selain dirinya dia sendiri maka bilangan itu bukanlah bilangan prima (bilangan prima saat variable faktor bernilai 1, karena kita menggunakan j dari 2,bukan 1)
untuk mengurangi waktu perhitungan, jika faktor telah lebih dari 1 (bernilai 2) maka pengecekan dihentikan
if [ $faktor -eq 1 ]
then printf '$i '
fi
digunakan untuk menampilkan bilangan yang memiliki syarat variabel faktor bernilai 1 saat bilangan itu dicek
Terimakasih atas kesediaannya membaca tulisan ini, jika ada kesalahan saya mohon maaf.
:) :) :) :) :)