Friday, January 09, 2009

Bagaimana Kill Proses di Linux

Kadang kita tidak menginginkan lagi suatu proses running di system linux kita atau kita sudah membuka suatu aplikasi ternyata aplikasi yang kita buka itu sudah running akhirnya si linux kita neh nggak mau merunningkan aplikasi tersebut untuk kita dan ada komentarnya bilang kalo proses dah jalan tutup dulu untuk membuka yang baru. maka kalo ada yang ginian kill aja proses yang katanya dah running tersebut.

Caranya ada 2 :

A. Kill dari PID(Process ID) nya :
Langkahnya :
1. Lihat Semua PID proses yang sedang running dengan cara ketik ps (process status) command di konsole

ps -ef | grep [aplikasi/proses]

Contoh :

izzah@dev01:~> ps -ef | grep firefox

maka akan muncul

izzah@dev01:~> ps -ef | grep firefox
paddy 20644 13556 0 949 1396 0 Jan08 ? 00:00:00 /bin/sh /usr/bin/firefox
paddy 20649 20644 0 39768 37208 3 Jan08 ? 00:00:07 /usr/lib/firefox/firefox-bin
suseno 28352 7128 0 948 1392 1 10:17 ? 00:00:00 /bin/sh /usr/bin/firefox
suseno 28357 28352 1 47444 67336 7 10:17 ? 00:00:27 /usr/lib/firefox/firefox-bin
rusdi 31968 11397 0 948 1392 4 10:50 ? 00:00:00 /bin/sh /usr/bin/firefox
rusdi 31973 31968 0 28101 30096 6 10:50 ? 00:00:01 /usr/lib/firefox/firefox-bin
lukito 32752 11045 0 949 1396 6 10:52 ? 00:00:00 /bin/sh /usr/bin/firefox
lukito 32759 32752 3 42539 30924 1 10:52 ? 00:00:06 /usr/lib/firefox/firefox-bin
izzah 687 8926 0 733 1376 6 10:54 ? 00:00:00 /bin/sh /usr/bin/firefox
izzah 692 687 2 34632 40952 0 10:54 ? 00:00:02 /usr/lib/firefox/firefox-bin
izzah 823 772 0 491 680 6 10:56 pts/33 00:00:00 grep firefox



atau

kalau kita cuma pingin liat proses yang ada pada system qta sendiri(seperti saat kita main-main di windows dengan menekan tombol "CTRL+ALT+DEL" truss keluarlah "Task-Manager" ), di Linux bisa digunakan juga

izzah@dev01:~> ps ux


2. Kill Proses ID nya dengan cara ketik di konsole

kill -9 [PID]

Contoh :

izzah@dev01:~> kill -9 687

atau

izzah@dev01:~> kill 687


B. pkill nama prosesnya dengan cara ketik di konsole

pkill namaproses

Contoh :

izzah@dev01:~> pkill firefox

Wednesday, January 07, 2009

PEMODELAN DATABASE

I. Tahapan Pemodelan

Dalam suatu pemodelan tidak ada istilah model yang kita rancang benar atau salah, yang ada hanyalah model yang kita rancang tepat atau tidak tepat terhadap aplikasi yang akan kita buat

Tahapan dalam membuat model database :
1. Menentukan Entity(object dalam suatu sistem)
Tiap entity umumnya dijadikan dalam 1 tabel yang disebut tabel entity. Misal : dalam sistem penjualan maka ada entity supplier, customer, barang dan transaksi

2. Menentukan Atribut(Property) dari entity yang telah ditetapkan
Misal : tabel customer mempunyai atribut nama, alamat, kota, kodepos, propinsi, tanggal record dibuat, tanggal record diupdate, status record(aktif/tidak) dsb

3. Menentukan Kardinalitas(derajat relasi) antara entity-entity yang telah ditetapkan.

Kardinalitas(derajat relasi) :
Jumlah maximal entity yang dapat berelasi dengan entity pada himpunan entity lain.

Kardinalitas antara 2 himpunan entity (misal A dan B) dapat berupa :
1. One to One (1:1)
Tiap entity pada himpunan entity A boleh berelasi hanya maximal 1 entity di himpunan entity B, begitu juga sebaliknya. Tidak boleh terjadi duplikasi pada kedua himpunan entitiy.

2. One to Many (1:n)
Tiap entitiy pada himpunan entity A boleh berelasi lebih dari satu entity pada himpunan entity B. Tidak boleh terjadi duplikasi pada himpunan entity A.

3. Many to One (n:1)
Kebalikan dari definisi One to Many

4. Many to many (m:n)
Tiap entitiy pada himpunan entity A boleh berelasi lebih dari satu entity pada himpunan entity B. begitu pula sebaliknya.

Pada aplikasi sederhana pemodelan yang dibuat masih sederhana namun jika aplikasi berkembang menjadi lebih komplek otomatis pemodelan yang dirancang akan lebih komplek pula. Jumlah entity, atribut dan relasi juga akan bertambah. Dan terkadang yang semula merupakan atribut, pada aplikasi yang lebih komplek atribut tersebut harus diubah menjadi sebuah entity dikarenakan hubungan one to many atau many to many dengan atribut lain. Misal : tabel customer mempunyai atribut alamat. jika pada aplikasi yang kita rancang memungkinkan 1 customer bisa memiliki lebih dari 1 alamat maka alamat yang sebelumnya merupakan atribut dari entity customer harus diubah menjadi entity yang menempati suatu tabel tersendiri dah selanjutnya harus dibuat hubungan relasi one to many dari tabel customer ke tabel alamat.

II. Normalisasi

Normalisasi merupakan proses pengelompokan data menjadi tabel yang menunjukkan entity dan relasi. Proses normalisasi suatu data sampai tidak ada kesulitan pada proses Create, Read(Select/Retrieve), Update dan Delete(Destroy),atau yang sering disingkat CRUD, data pada database.

Misal : kita mengambil kasus transaksi penjualan dengan mengambil data sample dari nota penjualannya dan kita coba membuat step-step bentuk normalisasinya.

======================================================================
| PT Winaros Kawula Bahari |
| Jl. Cangkringmalang Beji- Pasuruan |
| www.kawula.or.id |
| |
| No Nota : Kode Customer : |
| Tanggal : Nama : |
| Alamat : |
| |
| ================================================================= |
| |No | Kode | Nama Barang | Harga |Quantity | Total | |
| ================================================================= |
| |1 | | | | | | |
| ================================================================= |
| |2 | | | | | | |
| ================================================================= |
| Total | | | |
| ======================= |
| Pasuruan, 23 Agustus 2008 |
| Kasir, |
| |
| Stevany |
======================================================================

Dalam perancangan dikenal beberapa tahap pembentukan tabel yaitu :

1. Bentuk Tidak Normal ( Unnormalized )
Kumpulan data yang akan ditangani tidak ada keharusan mengikuti suatu format tertentu, bisa berupa data yang tidak lengkap atau terduplikasi. Data yang dikumpulkan apa adanya sesuai keberadaanya.

2. Bentuk Normal Pertama (First Normal Form / 1NF )
Data dipisahkan pada field yang tepat dan bernilai atomik(tidak ada set atribut yang berulang-ulang/ bernilai ganda(Multi Value) ).

======================================================================
| No Nota | Tanggal |Kode Customer|Nama Customer|Alamat |
======================================================================
|001/SBY/01/2008|01/01/2008| A001 |Anna Via |Jl Mawar 1 |
======================================================================
|002/SBY/02/2008|01/02/2008| A002 |Andrea |Jl.Kinibalu 2|
======================================================================
Lanjutan record tabel
=====================================================
Kode Barang|Nama Barang | Harga |Quantity| Total |
=====================================================
T01 |Tas Elizabeth|150.000 | 3 |450.0000|
=====================================================
S01 |Sepatu Beauty|100.000 | 2 |200.0000|
=====================================================

3. Bentuk Normal Kedua (Second Normal Form / 2NF )
Menentukan kunci field sebagai acuan pencarian data dan memiliki sifat yang unit. Diasumsikan bahwa data telah memenuhi kriteria bentuk normal pertama. atribut bukan kunci haruslah bergantung secara fungsi pada primary key.

Dari tabel diatas maka primary key nya dapat ditentukan sebagai berikut :
A. No Nota
B. Kode Customer
C. Kode Barang

dari ketiga primary key diatas maka dapat diturunkan tabel yang mempunyai ketergantungan pada masing-masing kunci.

===============
|Tabel Nota |
===============
|No Nota |
|Tanggal Nota |
|Kode Customer|
|Kode Barang |
|Quantity |
|Harga |
==============


=================
|Tabel Customer |
=================
|Kode Customer |
|Nama Customer |
|Alamat |
================


================
| Tabel Barang |
================
|Kode Barang |
|Nama Barang |
|Harga |
================

Dengan struktur tabel diatas maka proses insert, delete, Update todak bermasalah, Kode customer dan nama customer baru dapat diinsertkan tanpa harus ada transaksi di tabel nota. Begitu juga Kode barang dan nama barang baru.
Selanjutnya terdapat masalah di tabel nota karena field entity dan harga tidak bergantung pada primary key No Nota di tabel nota tapi fungsinya bergantung pada kode barang. Hal ini disebut ketergantungan transitif dann harus dipisah dalam 2 buah tabel(tabel master-detail).

4. Bentuk Normal Ketiga (third Normal Form / 3NF )
Bentuk normal ketiga mempunyai syarat setiap tabel tidak mempunyai field yang bergantung transitif, namun harus bergantung penuh pada kunci utama.
Dengan Demikian, Relasi haruslah dalam bentuk normal kedua(2NF) dan semua atribut yang bukan primer tidak punya hubungan transitif. Dengan kata lain, setiap atribut bukan kunci haruslah bergantung hanya pada primary key secara menyeluruh.
Mengacu pada bentuk normal ketika maka model yang kita buat sebelumnya harus diubah menjadi :

=================
|Tbl Nota Master|
=================
|No Nota |
|Tanggal Nota |
|Kode Customer |
================


=================
|Tbl Nota Detail|
=================
|No Nota |
|Kode Barang |
|Quantity |
|Harga |
=================


=================
|Tabel Customer |
=================
|Kode Customer |
|Nama Customer |
|Alamat |
=================


================
| Tabel Barang |
================
|Kode Barang |
|Nama Barang |
|Harga |
================

5. Boyce-codd Normal Form (BCNF)
Mempunyai paksaan yang lebih kuat dari bentuk normal ketiga untuk menjadi BCNf, relasi harus dalam bentuk normal kesatu dan setiap atribut harus bergantung secara fungsi pada atribut superkey