Monday, September 21, 2015

Uniform Cost Search dan Iterative Depeending Search

Uniform Cost Search
Metode ini adalah perpaduan antara BFS dan DFS pada UCS, pencarian nya mempehatikan cost/jarak antara 1 node ke node lain.

Contoh nya.















pada permasalahan diatas telah ditentukan jarak antara node. maka pada ucs akan membuka node yang memiliki nilai/cost antar node yang terendah.
pada gambar diatas jika kita buka
c = 10
b = 20
a = 10

karena nilai c dan a sama maka teserah mau buka yang mana lebih dahulu.
seandainya kita mebuka c maka kita teruskan pencariannya, jika kita buka 
d = 10+5 =15
e = 10+40 = 50 (mencapai goal, namun nilai cost nya dirasa masih terlalu besar)

maka kita buka node d, lalu akan didapat
e = 10+5+30 = 45 (nilai pada pencarian ini pun terasa masih terlau besar) maka dari itu kita buka node yang kecil di awal tadi yaitu node a

setelah kita buka node a akan di dapat
e = 10 + 20 = 30 (di dapatkan goal dengan solusi terbaik)

dari kasus diatas dapat kita lihat, ada banyak cara unuk mendapatkan solusi. namun dari berbagai macam penyelesaian kasus, kita dapat mencari solusi yang paling optimal dan ini lah ke unggulan dari UCS

Pencarian dengan Breadth First Search akan menjadi optimal ketika nilai pada semua path adalah sama. Dengan sedikit perluasan, dapat ditemukan sebuah algoritma yang optimal dengan melihat kepada nilai tiap path di antara node-node yang ada.
Selain menjalankan fungsi algoritma BFS, Uniform Cost Search melakukan ekspansi node dengan nilai path yang paling kecil. Hal ini bisa dilakukan dengan membuat antrian pada successor yang ada berdasar kepada nilai path-nya (node disimpan dalam bentuk priority queue).
Iterative Depeending Search 

Iterative deepening search merupakan sebuah strategi umum yang biasanya dikombinasikan dengan depth first tree search, yang akan menemukan berapa depth limit terbaik untuk digunakan. Hal ini dilakukan dengan secara menambah limit secara bertahap, mulai dari 0,1, 2, dan seterusnya sampai goal sudah ditemukan.

Metode ini adalah sebuah metode yang menggabungkan kelebihan yang ada pada BFS dan DFS namun memiliki konsekuensi yaitu adanya kompleksitas waktu yang tinggi karena IDS adalah sebuah algoritma search yang menggunakan batasan level pada setiap iterasi pencarian yang berupa f limit nilai gabungan antara nilai sebenarnya dengan nilai perkiraan , pada IDS memungkinkan setiap simpul simpul berulang ulang di gunakan inilah yang menyebabkan memungkinkan adanya kompleksitas waktu yang tinggi.

Friday, March 13, 2015

Tugas Praktikum 1 - Sistem Operasi

PENGERTIAN & SEJARAH LINUX

Linux adalah software sistem operasi open source yang gratis untuk disebarluaskan di bawah lisensi GNU. Linux merupakan turunan dari unix dan dapat bekerja pada berbagai macam perangkat keras koputer mulai dari inter x86 sampai dengan RISC.
Dengan lisensi GNU (Gnu Not Unix) Anda dapat memperoleh program, lengkap dengan kode sumbernya (source code). Tidak hanya itu, Anda diberikan hak untuk mengkopi sebanyak Anda mau, atau bahkan mengubah kode sumbernya.Dan itu semua legal dibawah lisensi. Meskipun gratis, lisensi GNU memperbolehkan pihak yang ingin menarik biaya untuk penggandaan maupun pengiriman program.
Linux pada awalnya dibuat oleh seorang mahasiswa Finlandia yang bernama Linus Torvalds. Dulunya Linux merupakan proyek hobi yang diinspirasikan dari Minix, yaitu sistem UNIX kecil yang dikembangkan oleh Andrew Tanenbaum. 
Linux versi 0.01 dikerjakan sekitar bulan Agustus 1991. Kemudian pada tanggal 5 Oktober 1991, Linus mengumumkan versi resmi Linux, yaitu versi 0.02 yang hanya dapat menjalankan shell bash (GNU Bourne Again Shell) dan gcc (GNU C Compiler).
Saat ini Linux adalah sistem UNIX yang sangat lengkap, bisa digunakan untuk jaringan, pengembangan software dan bahkan untuk pekerjaan sehari-hari. Linux sekarang merupakan alternatif sistem operasi yang jauh lebih murah jika dibandingkan dengan sistem operasi komersial (misalnya Windows 9.x/NT/2000/ME).
Linux mempunyai perkembangan yang sangat cepat. Hal ini dapat dimungkinkan karena Linux dikembangkan oleh beragam kelompok orang. Keragaman ini termasuk tingkat pengetahuan, pengalaman serta geografis. Agar kelompok ini dapat berkomunikasi dengan cepat dan efisien, internet menjadi pilihan yang sangat tepat.


PERINTAH-PERINTAH DASAR PADA LINUX

cd
fungsi: digunakan untuk berpindah ke direktori lain.

chmod

fungsi: digunakan untuk mengatur hak akses suatu file atau direktori

clear

fungsi: digunakan untuk membersihkan seluruh layar terminal

cp
fungsi: digunakan untuk menyalin sebuah file

date
fungsi: digunakan untuk menampilkan tanggal dan waktu

halt

fungsi: digunakan untuk mematikan sistem

history

fungsi: digunakan untuk melihat perintah apa saja yang telah digunakan

ifconfig

fungsi: digunakan untuk melihat informasi pada kartu jaringan, seperti IP address, Mac address, dan lain-lain.

ls
fungsi: digunakan untuk melihat isi dari suatu direktori

mkdir
fungsi: digunakan untuk membuat direktori baru.

mv
fungsi: untuk memindahkan file, bisa juga untuk merubah nama sebuah file.

nano

fungsi: digunakan untuk text editor

passwd
fungsi: digunakan untuk menggunakan password

pwd

fungsi: digunakan untuk menampilkan nama direktori dimana Anda sedang berada

reboot

fungsi: digunakan untuk menghidupkan ulang sistem/komputer

restart
fungsi: menjalankan ulang service yang sedang berjalan.

rm

fungsi: digunakan untuk menghapus file.

rmdir
fungsi: digunakan untuk menghapus direktori

shutdown

fungsi: sama seperti halt, digunakan untuk mematikan sistem

start

fungsi: digunakan untuk menjalankan sebuah service.

stop

fungsi: digunakan untuk menghentikan sebuah service yang sedang berjalan

sudo

fungsi: menjalankan perintah sebagai root

tar

fungsi: digunakan untuk mengekstrak file dengan format *tar.gz *.tgz

touch

fungsi: digunakan untuk membuat file baru dalam keadaan kosong.

unzip

fungsi: digunakan untuk mengekstrak atau mengurai file yang dikompress dalam bentuk *.zip

who
fungsi: digunakan untuk melihat siapa saja yang sedang login


PERINTAH PS

Perintah atau command ps (process status) di gunakan untuk menampilkan informasi proses yang sedang berjalan termasuk nomor PID (Process Identification Number) dari proses tersebut. Proses atau biasa disebut task akan berjalan jika ada sebuah aplikasi yang sedang dijalankan, setiap proses yang berjalan oleh system diberi nomor PID yang unik.

Syntax dasar dari perintah ps adalah
ps [option]
Jika anda menggunakan perintah ps tanpa diikuti option apapun, maka akan ditampilkan output standart dari perintah ps tersebut yang terdiri dari PID, TTY, TIME, dan CMD

1. Memulai menggunakan perintah ps
Ketikkan perintah berikut untuk menampilkan semua prosess yang sedang berjalan
ps -aux | less

option -a akan menampilkan semua user yang sedang menjalankan proses, option -u berfungsi untuk menampilkan semua proses ylain yang sedang berjalan, option -x berfungsi untuk menampilkan proses yang tidak dikontrol oleh terminal (tty) seperti daemon yang dijalankan saat booting.
2. Menampilkan semua proses yang sedang berjalan pada sistem
ps -A
Atau gunakan perintah berikut
ps -e

3. Melihat semua proses yang berjalan kecuali root

ps -U root -u root -N
4.Menampilkan proses yang sedang dijalankan oleh user tertentu

ps -u user

5. Menampilkan proses yang sedang berjalan dalam bentuk bagan
pstree




Tuesday, November 11, 2014

Transaksi dalam Sistem Basis Data

Transaksi

Transaksi berarti suatu aksi atau perbuatan yang dilakukan oleh program bertujuan untuk mengakses atau mengubah data yang terdapat di database. Transaksi ini hanya mengenal dua hasil yaitu berhasil keseluruhan atau gagal keseluruhan. Tujuan dari Transaksi ini adalah untuk melindungi dari kehilangan data atau kerusakan data. Dalam transaksi terdapat dua operasi penting yang berfungsi untuk menjaga dan ketahanan data , yaitu Commit dan Rollback. Commit adalah memberi tanda bahwa transaksi telah selesai. Rollback adalah untuk menggunakan tanda bahwa transaksi gagal dan Semua update harus di-undo. Selain transaksi mempunyai dua operasi, transaksi mempunyai 4 elemen, diantaranya adalah : Atomicity -> Ini berarti bahwa transaksi haruslah berhasil secara keseluruhan, atau gagal sama sekali. Consistency -> Menjaga konsistensi data di database Isolation -> Transaksi yang dilakukan secara bersamaan haruslah bisa dimulai dan bisa berakhir. Durability -> Setelah transaksi berakhir, data yang berubah tidak boleh kembali ke data awal walaupun sistem mati. Didalam transaksi terdapat Savepoint seperti chekpoint. Artinya sebuah titik aman, dimana kita telah menyelesaiakan satu atau beberapa transaksi. Fungsi dari save point adalah supaya pada saat kita ingin rollback atau ada transaksi yang gagal, transaksi tidak berjalan dari awal kembali, tetapi dari savepoint yang telah kita buat.

Commit

Buka SQL Command Line lalu buat table dan isi table seperti ini.


















Buka satu lagi SQL Command Line dengan warna berbeda, lalu log in menggunakan user yg sama dengan SQL Command Line pertama.














Bila kita tampilkan tabel "huruf" yg dibuat di Command Line pertama, maka isi tabel tersebut kosong karena belum Commit di Command Line pertama













Lalu coba kembali ke Command Line pertama dan commit tabelnya












Setelah commit, jika kita tampilkan tabel tersebut di Command Line kedua (hijau) maka akan muncul isi dari tabel yg kita buat di Command Line pertama (hitam)











Savepoint dan Rollback

Pada tabel huruf kita buat savepoint, disini saya namakan savepoint "system"













Lalu kita tambahkan isi tabel tersebut sehingga menjadi seperti ini












Sekarang, kita coba rollback sehingga tabel kembali ke savepoint