Thursday, April 12, 2012

Perintah dalam Terminal [Linux]

Bagi yang baru belajar atau menggunakan linux seperti saya, mungkin memang terasa kaku, hal itu memang terasa wajar mengingat kita secara tidak sadar telah terdoktrin untuk menggunakan OS buatan “pakde” bill gates, apalagi kalo bukan windows, hampir di semua rumah, kantor, warnet bahkan di  lembaga pendidikan, semua pake windows,  jadi masalah utamanya hanya karena kekurang Familiarannya saja.  Namun Linux menurut saya adalah OS yang lumayan bagus dan simple dan cukup memanjakan user, disamping yang lebih penting adalah “halal” karena Opensource alias gratis, saya katakan demikian karena kalo kita mau jujur, berapa persen sih pengguna yang mengguakan windows asli ….. ?

Kalo di windows ada yang namanya Command Prompt, di linux di namakan Terminal/Console, walau sebenarnya hampir sama, tapi di linux jendela ini berfungsi lebih dari command prompt misal download dan install bisa di lakukan dengan mudah di sini, , yang coba saya bahas kali ini adalah tentang Perintah-perintah yang ada dalam Terminal / Console (linux), yuppp… mariii…..

[alt] + f1 – f7
berpindah dari terminal 1 – 7 (ciri khas linux)
&
menjalan perintah di belakang (background/ membiarkan sistem untuk menjalankan perintah sendiri)
adduser
menambahkan user baru
alias x=y
memberi nama lain dari sebuah perintah
apt-cache search x
mencari aplikasi yang telah didownload oleh apt-get
apt-get install x
menginstall atau uninstall aplikasi x
apt-get update
mengecek pembaruan dari aplikasi
apt-get upgrade
memperbarui aplikasi
bg
maminta sebuah proses yang dihentikan sementara(suspend) agar berjalan di background
cat
melihat isi dari suatu file text
cd .. atau cd ../ atau cd/..
pindah ke direktori satu level di bawah
cd x atau cd /x
masuk ke direktori x
chgrp <grup baru> <file>
merubah kepemilikan kelompok file atau direktori
chmod
mengubah permission suatu file r (read, w (write), x (execute)
chown <user id> <file>
merubah user id (owner) sebuah file atau direktori
cp x y
mengkopi file x ke file y
df atau df x
mengetahui space kosong dalam device x
echo x
mencetak isi dari suatu file x ke screen
fg
mengembalikan suatu proses yang dihentikan sementar(suspend) agar berjalan kembali di foreground
find x -name y -print
menemukan file y, dengan mencari mulai dari direktori x dan tampilkan hasilnya pada layar
grep  <teks> <file>
mencari file-file yang mengandung teks dengan kriteria yang telah anda tentukan
gzip <namafile>
kompresi zip versi gnu,  untuk mengkompresi sebuah file.
halt
shutdown
hostname localhost.localdomain
menampilkan host atau domain name sistem dan bisa pula digunakan untuk mengesset nama host sistem.
ifconfig
melihat ip
kill x
mematikan proses x (x adalah pid di dalam ps)
less x
melihat isi dari suatu file text
ln -s x y
membuat link dari suatu file x ke file y
logout
keluar dari sistem
ls atau dir
melihat isi suatu direktori
ls -l x
melihat isi suatu direktori secara rinci
man x
mengetahui keterangan manual dari suatu perintah
mesg y
memberikan ijin user lain menampilkan pesan dilayar terminal
mc
menghidupkan norton commander dalam linux (sangat berguna dan memudahkan bagi newbie)
mkdir x
membuat direktori x
more
mempaging halaman, seperti halnya less
mount
menghidupkan suatu device spt cdrom
mv x y
memindahkan atau merename file x ke file y
nano /etc/apt/sources.list
editor seperti notepad di windows untuk mengedit suatu file
passwd
mengganti password
ps
melihat seluruh proses yang sedang berjalan
pwd
menampilkan nama direktori dimana anda saat itu sedang berada.
reboot
reboot
rm p
menghapus paket tertentu
rm -r x
menghapus direktori x beserta seluruh isinya
rm x
menghapus file x
rmdir x
menghapus direktori x
scp
menyalin file dari satu host ke host lainnya
shutdown
mematikan sistem
su
login sementara sebagai user lain
tail
menampilkan 10 baris terakhir dari suatu file
talk
mengadakan percakapan melalui terminal
tar <aksi> <option> <file atau direktori>
menyimpan dan mengekstrak file dari media seperti tape drive atau hard disk
top
mengetahui status memori (tekan q untuk quit)
umount
kebalikan dari perintah mount
unalias
kebalikan dari perintah alias
unzip
mengekstrak atau menguraikan file yang dikompres dengan zip
wall
memberitahu tentang isi pesan dan menampilkannya di terminal tiap user yang sedang login
who
menampilkan siapa saja yang sedang login dan aktif / sedang menjalankan program
xhost +
memberi akses atau menghapus akses(xhost -) host atau user ke sebuah server x.
x lalu [tab] [tab]
berguna untuk mengetahui perintah apa saja yang tersedia yang berawalan huruf x
xset
mengeset beberapa option di x window seperti bunyi bel, kecepatan mouse, font, parameter screen saver
zip
membuat dan menambahkan file ke dalam file arsip zip

Nah, selamat mencoba…..
Read More..

Saturday, November 12, 2011

Merancang Database Menggunakan Normalisasi

          Database atau basis data memiliki pengertian sederhana sebagai kumpulan tabel. Satu tabel merepresentasikan suatu objek/entitas tertentu. Suatu entitas terdiri dari beberapa atribut. Beberapa entitas memiliki hubungan/relationship yang saling terkait.

Perancangan basis data diperlukan, agar kita bisa memiliki basis data yang kompak dan efisien dalam penggunaan ruang penyimpanan, cepat dalam pengaksesan dan mudah dalam pemanipulasian (tambah, ubah, hapus) data.

Proses Normalisasi adalah proses merancang database yang menggunakan Metode BOTTOM-UP yaitu proses pen-transformasian Database dari sistem klasik yang hanya menggunakan Flat File menjadi RDBMS yang integrative dan sistematis yang meliputi langkah-langkah dekomposisi dari rekord yang kompleks menjadi rekord yang sederhana atau proses reduksi tabel menjadi tabel yang lebih kecil tanpa menghilangkan informasi, dalam arti lain normalisasi merupakan  proses pengelompokan data elemen menjadi table-table yang menunjukkan entity dan relasinya.

 

Pada proses normalisasi  selalu diuji pada beberapa kondisi, apakah ada kesulitan pada saat menambah / insert, menghapus / delete, mengubah / update, dan membaca / retrieve pada suatu Database.Bila ada kesulitan pada pengujian tersebut, maka relasi tersebut dipecahkan menjadi beberapa table lagi, sehingga diperoleh database yang optimal.

Proses perancangan database menggunakan normalisasi dimulai dari dokumen dasar yang dipakai dalam sistem sesuai dengan lingkup sistem yang akan dibuat rancangan databasenya. Sebagai contoh adalah sebuah Kartu Rencana Studi (KRS) sebuah perguruan tinggi swasta di Jakarta





1.         Bentuk Unnormalisasi

Langkah pertama dalam merancang sebuah database adalah dengan membentuk contoh data tersebut di atas dengan membentuk unnormalisasi data, dengan cara mencantumkan semua atribut data yang ada apa adanya seperti terlihat berikut ini :


Pada relasi diatas adalah dengan menuliskan semua data yang ada yang akan direkam, data yang double tidak perlu ditulis. Terlihat baris / record yang tidak lengkap. Sulit dibayangkan bagaimana bentuk baris yang harus dibentuk untuk merekam data itu.

2.         Bentuk Normal Pertama (1 NF)

Suatu tabel dikatakan dalam bentuk normal pertama apabila:
a.      Tidak ada baris data yang duplikat atau berulang dalam tabel.
b.      Setiap sel memiliki nilai tunggal artinya tidak ada perulangan.
c.       Data dalam kolom memiliki tipe data yang sejenis.

Bentuklah menjadi bentuk normal pertama dengan memisah-misahkan data pada atribut-atribut yang tepat dan bernilai atomik, juga seluruh record / baris harus lengkap adanya. Bentuk relasi adalah flat file. Dengan normal pertama kita dapat membuat satu tabel yang terdiri dari 11 Atribut yaitu à

(NPM, Nama_Mahasiswa, Sem, Fakultas, Program_Studi, KaProdi, Kode_MK, Nama_MK, SKS, Kode_Dosen, Nama_Dosen).

Sehingga hasil daripada pembentukan normal pertama (1 NF) adalah sebagai berikut ini :


Pada normal pertama tersebut masih terjadi banyak kelemahan, terutama pada proses ANOMALI  insert, update dan delete berikut ini

a.
Inserting / Penyisipan
Kita tidak dapat memasukkan NPM dan nama  mahasiswa saja tanpa 
adanya Nama matakulian yang dimbil, sehingga mahasiswa baru bisa 
dimasukkan kalau ada telah mengambil mata kuliah.

b.
Deleting / Penghapusan
Bila satu record / baris di atas dihapus, misal Mata Kuliah Matematika 
Diskrit, maka berakibat pada penghapusan data Nama Dosen 
(S. Abas M.Eng) padahal data tersebut masih diperlukan.

c.
Updating / Pengubahan
NPM dan nama mahasiswa terlihat ditulis berkali-kali, bila nama 
mahasiswa berubah, maka di setiap baris yang ada harus dirubah, 
bila tidak menjadi tidak konsisten.

3.         Bentuk Normal Kedua (2 NF)

Tabel dalam keadaan 2NF apabila tabel sudah dalam keadaan 1NF dan semua atribut yang bukan kunci, bergantung pada semua kunci dalam tabel. Dengan kata lain 2NF bertujuan untuk menghilangkan ketergantungan parsial.

Bentuk normal kedua dengan melakukan dekomposisi relasi di atas menjadi beberapa relasi dan mencari kunci primer dari tiap-tiap relasi tersebut dan atribut kunci haruslah unik.
Melihat permasalahan contoh di atas, maka dapat diambil beberapa kunci kandidat :  ( NPM, Kode_MK, dan Kode_Dosen ). Kunci kandidat tersebut nantinya bisa menjadi kunci primer pada relasi hasil dekomposisi.

Dengan melihat normal pertama, kita dapat mendekomposisi menjadi empat relasi berserta kunci primer yang ada yaitu : relasi Mahasiswa (NPM), relasi Matakuliah(Kode_Matakuliah), relasi KRS (NPM dan Kode_MK) dan Relasi Dosen(Kode_Dosen). Dengan melihat ketergantungan fungsional atribut-atribut lain terhadap atribut kunci, maka didapatkan 4 (empat) relasi/tabel sebagai berikut :


 4.         Bentuk Normal Ketiga (3 NF)

Definisi Bentuk Normal Ketiga (3 NF) adalah:
a.         Memenuhi bentuk 2 NF (normal kedua).
b.         Atribut bukan kunci tidak memiliki dependensi transitif terhadap kunci utama / primary key.

Pada tabel Mahasiswa memenuhi bentuk 2 NF, tetapi tidak memenuhi bentuk 3 NF.

Atribut NPM merupakan kunci primer, atribut Nama mempunyai dependensi fungsional terhadap kunci primer tersebut.

Pada relasi di atas, setiap mahasiswa yang mempunyai program studi yang sama (Heca Ruyadi dan Bimbe), seperti contoh dibawah ini :


maka nilai Program Studi dan Kepala Prodi juga sama, sehingga menunjukkan adanya dependensi dua atribut tersebut, tapi manakah yang menentukan, apakah Program Studi bergantung pada Kepala Prodi, atau sebaliknya? Jadi Kepala Prodi memiliki dependensi fungsional terhadap Program Studi.

Pada relasi ini menunjukkan bahwa Kepala Prodi tidak memiliki dependensi secara langsung terhadap kunci primer (NPM).  Dengan kata lain Kepala Prodi memiliki dependensi transitif terhadap kunci primer.

Sehingga untuk memenuhi bentuk 3 NF, maka relasi di atas didekomposisi menjadi dua buah relasi sebagai berikut:


 Relasi Antar Tabel


Read More..