Feeds RSS
Feeds RSS

Rabu, 05 November 2014

Manajemen Proses Pada Sistem Operasi Linux


Perintah – perintah proses linux 

PS ( Process Status )

digunakan untuk melihat kondisi proses yang ada.

Untuk melihat proses yang sedang dijalankan adalah mengetikan perintah ps pada terminal, contohnya :
gambar 1. perintah ps
keterangan :
*PID = Nomor Identitas Proses
*TTY = nama terminal dimana proses tersebut aktif
*STAT = status , yang berisi S (Sleeping) dan R (Running).

dari gambar tersebut dijelaskan bahwa proses yang sedang dijalankan pada SO Debian ini adalah :
bash dan ps, bash merupakan program terminal yang dijalankan dan ps merupakan perintah yang dijalankan pada bash, sehingga dari gambar tersebut didapatkan dua proses yang sedang berlangsung yaitu program bash yang sedang menjalankan perintah ps.

ps u 

Untuk melilhat detail program yang sedang dijalankan menggunakan option -u (user).
Ketikan perintah ps u pada terminal.

gambar 2. perintah ps u

Dapat terlihat perbedaannya, dengan menggunakan ps u proses yang ditampilkan lebih rinci, pada perintah ini ditampilkan :
        CPU time yaitu presentasi CPU yang digunakan proses tersebut.
        MEM yang mempresentasikan memori yang digunakan proses tersebut.
        RSS ( Real System Storage ) adalah jumlah memori yang digunakan.
        dan Start  adalah waktu kapan proses tersebut diaktifkan.


TOP

 Menampilkan proses yang sedang dijalankan pada terminal dengan tampilan yang lebih interaktif, maka gunakan perintah top :

gambar 3. perintah top

ps -eH
menampilkan hubungan proses parent dan child
perintah yang digunakan adalah ps -eH.


gambar 4. perintah ps -eH

Sebagai contoh diatas, terdapat program yang merupakan parent dan child

        parent : gnome-terminal sebagai parent dari program gnome-pty-helpe dan bash
        child : ps merupakan child dari program bash.

ps -eF
Menampilkan hubungan proses parent and child serta letak prosesnya, maka gunakan perintah ps -eF


gambar 5. perintah ps -eF

untuk menunjukan program mana yang merupakan parent dan child, maka lakukan pemeriksaan pada PPID ( parent process ID ). contohnya :
untuk program ps – eF mempunyai PID 5854 dan PPID 4834, maka untuk mencari parent dari PID 5854 tersebut adalah mencari program yang mempunyai PID 4834, dari gambar tersebut terlihat bahwa yang mempunyai PID tersebut adalah bash. Jadi program ps -eF merupakan child dari parent bash/ 

pstree
Menampikan semua proses dalam bentuk tree atau hirarki. Dengan menggunakan perintah pstree maka akan ditampilkan proses – proses seperti tree.


gambar 6. perintah pstree

menghentinkan suatu proses / job
        misalkan kita buka program rythmbox
untuk menghentikannya bisa menggunakan dua cara :
1.      mengetikan kill <nomor job> : kill 14621


gambar 7. melihat PID dari program rythmbox



2.      mengetikan dengan pkill <nama program> : pkill rythmbox

3.      mengetikan pkillall < nama proses > : pkillall iceweasel

RENICE 
mengubah prioritas program

misalkan kita mencoba untuk membuat program iceweasel, kemudian kita ubah prioritas programnya dari . maka langkah yang dilakukan adalah :
melihat dulu PID dari program iceweasel terlebih dahulu
gambar 8. melihat PID dari program iceweasel 

setelah dilihat PID untuk program iceweasel adalah 5636, kemudian untuk melihat prioritasnya , masukan perintah top untuk melihat prioritas awal dari program tersebut. 



 gambar 9. melilhat prioritas dari PID 5636 

telihat PR 20, mendakan bahwa prioritas PID tersebut sekarang adalah 0. untuk mengubah prioritasnya lagi masukan perintah renice <prioritas> <PID>


gambar 10. mengubah prioritas PID 5636

untuk melihat hasilnya maka ketikan lagi perintah top


gambar 11. melihat prioritas PID setelah diubah 
dalam gambar terlihat prioritas untuk PID 5636 berubah dari 20 menjadi 25, itu artinya prioritas untuk PID 5636 sudah diganti.



~selesai~

referensi :
modul praktikum SO ilkom 2014



Selasa, 28 Oktober 2014

Cheat Sheet Basic Command Linux











Referensi : 
Modul Praktikum SO Ilkom UPI 2014 
http://www.tuntor.com/perintah-dasar-linux-untuk-pemula
http://bobsblogz.blogspot.com/2012/10/shortcut-pada-linux-ubuntu-1104.html




Rabu, 22 Oktober 2014

Instalasi Ubuntu



Installasi Ubuntu 14.04 

kebutuhan yang digunakan untuk instalasi ubuntu 14.04 adalah : 
- file iso ubuntu 14.04
- gunakan software Universal-USB-Installer atau semacamnya untuk membuat bootable pada usb.

setelah membuat bootable, kita mulai instalasi dengan me restart PC atau Laptop kemudian lakukan booting dan pilih driver yang digunakan untuk instalasi, pada kali ini kita pilih USB untuk melakukan instalasi.  Tunggu prosesnya sampai muncul halaman seperti ini




Pada langkah pertama, Pilih Bahasa yang akan digunakan pasa OS Ubuntu ini. Pada instalasi kali ini kita pilih language nya ”English”, setelah itu klik Install Ubuntu  Setelah itu, halaman instalasi akan masuk ke halaman berikut ini, halaman ini menampilkan informasi mengenai memori, power dan koneksi. klik countinue untuk melanjutkan.

1.    


Pada halaman ini, kita diminta untuk memilih type instalasi yang akan dilakukan. kali ini kita pilih something else. tipe instalasi something else, maksudnya adalah instalasi yang dijalankan akan membuat partisi secara manual. setelah itu klik continue


Masuk ke halaman setting partisi, untuk memulai partisi klik New Partition Table


Klik continue


Tersedia partisi yang disediakan untuk instalasi sebesar 8.589 GB, dari partisi tersebut kita akan bagi lagi untuk swap dan root.
Swap : digunakan untuk membantu kinerja RAM 
Root : partisi yang digunakan untuk menyimpan seluruh file system, misalkan dalam windows root merupakan local disc C 


Kita lakukan partisi untuk swap terlebih dahulu, pilih free space dan klik icon plus atau double klik pada free space


Untuk settingannya :
Size : 1048 M
Type for the new partition : primary
Location for the new partition : end of this space
Dan yang paling penting adalah settinggan pada use as : pilih swap area
Setelah itu klik OK. 


Partisi untuk swap sudah dibuat.
Sekarang kita buat partisi untuk root.
Caranya sama seperti membuat partisi untuk swap. Klik free space kemudian klik icon plus , maka akan tampil seperti berikut : 

Buat partition baru untuk root, dengan

Size : 7542 MB , dimana ukuran tersebut dihasilkan dari 8589 MB – ukuran swap ( 1048 MB ) = 7542 MB
Type for the new partition : primary
 Location for the new partition : Beginning of this space
Use as : Ext4 journaling file system
Mount Point : / ( “/” artinya partisi dibuat untuk folder root )


Setelah partisi di set seperti itu klik OK. 


Partisi untuk root telah berhasil dibuat. Setelah kedua partisi dibuat klik install now. 

1.    Instalasi berikutnya adalah memilih region dimana pemilihan ini akan menentukan zona waktu pada Ubuntu yang kita install .


Klik pada peta Jakarta, menandakan bahwa kita berada pada zona waktu WIB, pengaturan ini berbeda tergantung tempat kalian tinggal. Setelah terisi nama region nya klik continue


1.     Selanjutnya adalah pemilihan type / layout yang akan digunakan pada Ubuntu 



Biarkan seperti defaultnya kita pilih keyboard layout : English (US). Kemudian klik continue.
1.       Selanjutnya adalah pengisian untuk profile os ubuntuk kita


Isi sesuai dengan identitas kalian .
Contohnya : 


Setelah semuanya terisi klik continue,
*) dan jangan lupa untuk selalu mengingat password yang kalian masukan. Karena setiap kalian booting Ubuntu ataupun untuk perizinan akses seperti folder, penginstalan software dan lain – lain  kalian akan selalu diminta memasukan password yang kalian buat saat instalasi.

Tunggu proses instalasi 



Tunggu instalasi sampai muncul message box seperti ini.


Setelah instalasi selesai, proses akan meminta restart, klik restart now untuk restart
Setelah restart maka akan muncul tampilan berikut 



Tampilan awal ketika booting, kita diminta memasukan password yang telah dibuat saat instalasi. Jika password yang dimasukan benar maka kita akan menuju halaman utama os Ubuntu ini. Jika tidak mempunyai akun, kita bisa masuk melalui Guest session.


OS ubuntu selesai di install ~~




Senin, 21 April 2014

Sistem Basis Data : Transaksi

Transaksi

Dalam Sistem Basis Data kita  mengenal istilah Transaksi.

Apa yang dimaksud dengan transaksi ?

Transaksi adalah kejadian yang menghasilkan data, dan lebih jelasnya transaksi adalah satu atau beberapa aksi yang dilakukan program aplikasi untuk mengakses atau mengubah isi basis data. 

Dalam transaksi kita mengenal commit dan rollback.

Commit adalah tanda bahwa transaksi sudah selesai dilakukan, atau transaksi yang dilakukan sudah menjadi data.

Rollback adalah tanda bahwa transaksi gagal dilakukan, artinya transaksi yang diupdate harus diulangi atau di-undo.

Tujuan transaksi ?

Sebuah transaksi tidak bisa dihapus karena untuk melindungi tujuan transaksi itu sendiri yaitu mencegah dari kehilangan atau kerusakan data.

Untuk menjamin agar integritas dapat tetap terpelihara maka setiap transaksi harus memiliki sifat-sifat:

Atomicity, dimana semua operasi dalam transaksi dapat dikerjakan seluruhnya atau tidak sama sekali.

Consistency, dimana eksekusi transaksi harus dapat menjamin data tetap konsisten setelah transaksi berakhir.

Isolation, jika pada sebuah sistem basis data terdapat sejumlah transaksi yang dilaksanakan secara bersamaan, maka semua transaksi yang dilaksanakan pada saat yang bersamaan tersebut harus dapat dimulai dan bisa berakhir.

Durability, dimana perubahan data yang terjadi setelah sebuah transaksi berakhir dengan baik, harus dapat bertahan bahkan jika seandainya sistem mati.

Pada transaksi database, dikenal istilah locking yang berfungsi untuk menjaga integritas data. Terdapat dua buah metode locking yaitu :

Shared Lock (S-LOCK)
Jika transaksi memiliki shared lock pada suatu data, transaksi tersebut hanya bisa melakukan pembacaan. penggunan S-lock ini bisa dilakukan oleh banyak user dalam waktu yang bersamaan.

Exclusive Lock (X-LOCK)
Bagi transaksi yang memiliki exclusive lock pada suatu data, transaksi tersebut dapat melakukan perubahan dan pembacaan terhadap data tersebut. penggunaan x-lock hanya dapat dilakukan oleh 1 user saja.

jika yang menggunakan akses x-lock lebih dari satu user akan terjadi DEADLOCK

Apa itu DEADLOCK ? 
situasi dimana dua atau lebih transaksi dalam keadaan wait-state satu sama lain menunggu lock dilepaskan sebelum di mulai. atau situasi dimana hak akses bersama semua saling menunggu dimana sumber daya tidak sibuk sedangkan akses lock terkunci semua. 

dan bagaimana caranya untuk menangani DEADLOCK ? 

yaitu dengan menggunakan isolation , yaitu derajat pengaruh antar transaksi tertinggi. 

Isolation Transaksi 
Dalam transaksi database, ada 3 hal yang harus dicegah yaitu.

Dirty Read
Transaksi membaca data dari hasil transaksi lainnya yang gagal. Kedua transaksi tersebut berjalan bersamaan.

Non-Repeatable Read
Transaksi membaca ulang data yang telah di baca sebelumnya karena data tersebut telah di modifikasi oleh transaksi lainnya.

Phantom Read
Transaksi membaca sebuah data yang telah hilang akibat dari transaksi yang lainnya.

Untuk mencegah 3 hal tersebut, maka dalam Oracle terdapat 2 level isolasi yang dapat diimplementasikan, yaitu :

Read Commited

Transaksi hanya dapat melihat perubahan data setelah transaksi lain telah commit pada data tersebut. (Seperti dalam contoh commit)

Serializable

Adalah level isolasi yang menyediakan isolasi transaksi yang paling ketat. Level ini mengemulasikan eksekusi transaksi secara serial, menjadikan transaksi dieksekusi satu setelah yang 
lainnya,seperti secara serial, bukan secara bersamaan (pararel). 

Tetapi aplikasi yang menggunakan level isolasi ini harus bersedia untuk mengulangi transaksi dikarenakan kegagalan pengserialan transaksi. Saat transaksi berada pada level serializable, sebuah query SELECT hanya melihat data yang di COMMIT sebelum transaksi di mulai; transaksi tersebut tidak akan pernah melihat baik data yang belum di COMMIT atau perubahan data yang terjadi selama eksekusi transaksi oleh transaksi lain yang berjalan pada waktu bersamaan (e.g. saat transaksi ini berjalan, ada transaksi lain yang melakukan COMMIT pada data). Jika pada transaksi dengan level isolaso Serializable mengandung DML (Data Manipulatin Language) yang mencoba untuk meng-update suatu data yang mungkin sudah di update pada sebuah transaksi yang belum di commit pada awal transaksi Serializable, maka perintah DML tersebut akan gagal.

Untuk mengaplikasikan level isolasi Serializable, adalah dengan menggunakan perintah :

SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;

Isolai level ini mencegah terjadinya Phantom Read.

Untuk lebih jelasnya , yuk kita mulai praktikan.
Kali ini kita akan mencoba untuk menggunakan operasi commit dan rollback. Untuk mencobanya kita buat terlebih dahulu membuat database mahasiswa dengan table mahasiswa, dimana kita akan mencoba menginputkan atau mengubah pada table tersebut. Berikut contoh tabelnya : 

Dan kita coba untuk masukan datanya 



Untuk mencoba menerapkan operator commit, kita run sql command line nya dengan dua windows.

Pastikan kedua window sudah terkoneksi ke database mahasiswa yang akan digunakan untuk proses transaksi. Setalah itu coba lihat data ditabel mahasiswa pada sql command line yang berwarna abu.









Mengapa seperti ini ? 
Kerena pengguna akses X-lock yaitu user yang menggunakan command line berwarna hitam, belum memberikan commit pada proses transaksi, jadi jika sebuah transaksi belum di commit, transaksi yang dilakukan belum menjadi data, sehingga table pada command line berwarna abu masih terbaca kosong. 

Jika terjadi hal seperti itu kita gunakan operator commit, dimana commit ini merupakan penanda bahwa transaksi sudah selesai dilakukan dan transaksi tersebut telah menjadi data . untuk mencobanya, ketikan commit ; pada command line yang berwarna hitam. Dan hasilnya akan menjadi seperti berikut

















Kemudian kita coba untuk menginputkan data baru pada table mahasiswa, misalkan:






Perintah insert tersebut saya coba di sql command line yang berwarna hitam, dan coba lihat apakah di command line yang berwarna abu datanya sudah bertambah? 
















Ternyata terlihat perbedaannya,di command line yang berwarna abu, data masih terbaca 6 rows dan belum bertambah, nah.. jika data yang sudah diinputkan ingin dimunculkan di command line yang berwarna abu, maka perintah yang dituliskan adalah commit, sebagaimana yang telah dicontohkan diatas. 



















Selain operator commit, dalam transaksi ada operator rollback yaitu perintah untuk mengulang bahwa transaksi gagal dilakukan.
Selanjutnya kita akan menghapus data dengan nim 120001 


Namun, Dalam kasus ini , ternyata user membatalkan penghapusan data mahasiswa dengan nim = 120001, bagaimana caranya ? 

Maka untuk melakukan rollback terlebih dahulu kita harus menyimpan history transaksi yang pernah kita lakukan yaitu dengan membuat savepoint, dimana savepoint merupakan sebuah titik aman, dimana kita telah menyelesaiakan satu atau beberapa transaksi. Jadi ketika kita akan me- rollback sebuah transaksi maka savepoint ini akan menjadi tujuan rollback yang akan dilakukan. Untuk itu coba kita praktekan. 











Sebelum menghapus data, maka kita buat savepoint terlebih dahulu, contohnya data1;
Setelah itu lakukan perintah sql untuk menghapus data. 
maka data pada tabel mahasiswa menjadi seperti ini


Data telah terhapus,
Dan bagaimana cara membatalkan transaksi penghapusan data tersebut ? 


caranya adalah menggunakan operator Rollback, dengan cara memanggil nama savepoint nya. Contoh disini adalah rollback to data1

Artinya data pada table mahasiswa akan dikembalikan pada savepoint yang telah dibuat contohnya seperti savepoint pada keadaan data1, dimana data dengan nim 120001 belum dihapus. 

Contoh kasus II : 










Dari perintah yang sudah dijalankan diatas, bagaimanakah data table yang akan muncul ? 
maka lakukanlah sql pada command line seperti gambar dibawah ini




















Hasilnya adalah seperti ini : 


Data dengan nama mahasiswa “Munaroh “ terhapus,
Namun adakah yang menemukan perbedaan lain antara table mahasiswa di command line yang berwarna hitam dan yang abu ?

Perbedaan terjadi pada data mahasiswa dengan nim = 120004 dimana pada table command line abu, data dengan nim 120004 masih bernama Puji R, sedangkan di command line warna hitam menjadi Puji Rahmah. 

Mengapa demikian ?

Karena pada saat update data pada nim = 120004 di command line berwarna hitam,  perintah yang dilakukan tidak di lanjutkan dengan perintah commit, jadi perubahan data terjadi pada satu akses saja yaitu pada command line yang warna hitam saja. Sedangkan perintah penghapusan data mahasiswa dengan nama “munaroh” dilanjutkan dengan perintah commit, sehingga data tersebut dapat dilihat perubahannya dikedua user yang sedang mengakses table tersebut dan hasilnya data dengan nama mahasiswa “munaroh” berhasil dihapus.

Intinya dalam setiap transaksi yang kita lakukan, maka harus dilakukan commit, jika tidak inputan tidak akan menjadi data. dan penggunaan rollback yang paling penting adalah pembuatan savepoint dari setiap transaksi yang telah dilakukan, karena savepoint tersebut akan menjadi patokan kemana data itu akan di rollback.

sekian untuk pembahasan materi Transaksi, semoga bermanfaat ~~