Kamis, 08 Januari 2015

POSTED BY MARSHALL GREEN ON TUESDAY, MARCH 05, 2013 2 COMMENTS
sebelumnya dadroid sudah menjelaskan pengertian Pengertian root serta Kelebihannya
kali ini DaDroidRd akan menjelaskan apa itu pengertian dan kegunaan dari revocery.

Apakah anda tahu pengertian serta kegunaanya?

Pengertian recovery tersebut adalah merupakan sebuah menu yang tidak terikat oleh sistem dan bisa di akses saat mulai menghidupkan device android anda. Dan berguna untuk berbagai macam keperluan untuk memaksimalkan penggunaan device android tersebut.
Dewasanya recovery ini sudah banyak mengalami perkembangan dari segi tampilan dan tambahan menu tetapi kinerja serta kegunaanya tetap sama dari awal diciptakanya recovery ini tersebut.



Apa saja kegunaan dari recovery tersebut

1. Untuk flasing rom
Nah seperti anda ketahui dipostingan saya yang lalu Syarat-sayarat dalam pemasangan custom rom. recovery berguna untuk mem-flashing rom android.

2. Untuk me-wipe cacheSelain untuk mem-flash custom rom recovery juga berguna untuk me-wipe cache agar device anda tidak berat dan lelet lagi.

3. Untuk menghapus 2nd patition memory
Recovery juga berguna untuk menghapus atau mereset kembali data dan cache yang tertanam pada partition memory card anda.

4. Factory reset
Jika anda ingin mengembalin keadaan device anda seperti semula recovery adalah jawabanya karena dalam recovery sudah disertakan menu ini dan menu ini bersifat hard reset dan akan menghapus semua data kontak,sms dan lainya (memory card tidak termasuk)

5. Tempat backup dan restore
Ini lah kelebihan tersendiri yang dimiliki oleh recovery, dengan fasilitas backup anda bisa membackup firmware atau rom lama anda dengan sangat mudah dan kalau anda ingin memakai firmware atau rom lama anda kembali anda bisa me-restore nya kembali di recovery dengan sama mudahnya seperti mem-backup data anda.

6. Bisa media storage
Selain ke lima hal diatas anda juga bisa menggunakan media stoge pada mode recovery ini dan di tujukan untuk menyertakan rom yang ingin di install saat lupa meletakanya dalam memory card anda.

Nah sudah tahukan pengertian dan kegunaan recovery tersebut.
Semoga bermanfaat dan tambah ilmu.

Pengertian Deadlock dan Cara Pencegahannya

Pada kesempatan kali ini saya akan sharing tentang apa itu deadlock? jika terjadi deadlock terus apa penyebab terjadinya deadlock? Nah berikut ini saya sharing juga bagaimana cara menghindari/ mencegah terjadinya deadlock. Oke gan, langsung saja mulai pembahasannya.

A. PENGERTIAN DEADLOCK

Dalam Sistem Operasi, suatu proses disebut deadlock jika:

Suatu proses menunggu suatu kejadian tertentu yang tidak akan pernah terjadi, karena kejadian itu hanya bisa dilakukan oleh proses lain. Atau suatu keadaan menunggu yang tidak akan pernah berakhir (kebuntuan).

pengertian deadlock

Setiap proses yang menggunakan sumber daya menjalankan urutan
operasi sebagaiberikut :
• meminta (request) : meminta sumber daya
• memakai (use) : memakai sumber daya
• melepaskan (release) : melepaskan sumber day
Akibat deadlock pada sistem operasi:
Sistem akan menjadi kacau
Syarat perlu terjadinya deadlock:
  • Mutual exclusion (kondisi mutual exclusion), yaitu hanya satu proses pada satu waktu yang dapat menggunakansumber daya.
  • Kondisi genggam dan tunggu (hold wait and wait condition), yaitu proses-proses yang sedang menggenggam sumber daya, menunggu sumber daya-sumber daya baru dari proses lain.
  • Kondisi non-preemption (non preemption condition), yaitu sumber daya-sumber daya yang sebelumnya diberikan tidak dapat diambil paksa dari proses itu.
  • Kondisi menunggu secara sirkular (circular wait condition), yaitu terdapat rantai sirkular dari dua proses atau lebih, masing-masing menunggu sumber daya yang digenggam oleh anggota berikutnya pada rantai itu.
NB:
Ketiga syarat pertama merupakan syarat perlu bagi terjadinya deadlock, kondisi keempat merupakan keharusan bagi terjadinya deadlock. Bila deadlock terjadi berarti terdapat 3 kondisi pertama, tetapi bila terdapat 3 kondisi pertama belum tentu terjadi deadlock.

Pencegahan Deadlock:

Strategi untuk mencegah terjadinya deadlock sistem operasi adalah:
1. Mencegah mutual exclusion
Mutual exclusion tidak dapat dihindari. jika tidak ada sumber daya yang secara khusus diperuntukkan bagi suatu proses maka tidak akan pernah terjadi deadlock. Namun jika membiarkan ada dua atau lebih proses mengakses sebuah sumber daya yang sama akan menyebabkan chaos. Langkah yang digunakan adalah dengan spooling sumber daya, yaitu dengan mengantrikan.
2. Mencagah hold and wait
Dilakukan dengan cara:
•sistem harus menjamin bila suatu proses meminta sumber daya, maka proses tersebut tidak sedang memegang sumber daya yang lain.
. Hold and release (genggam dan lepas)
3. Mencegah Non Preemption
Peniadaan non preemption mencegah proses-proses lain harus menunggu. Seluruh proses menjadi preemption, sehingga tidak ada tunggu menunggu. Cara mencegah kondisi non preemption :
  • Jika suatu proses yang membawa beberapa sumber daya meminta sumber dayalain yang tidak dapat segera dipenuhi untuk dialokasikan pada proses tersebut,maka semua sumber daya yang sedang dibawa proses tersebut harusdibebaskan.
  • Proses yang sedang dalam keadaan menunggu, sumber daya yang dibawanya ditunda dan ditambahkan pada daftar sumber daya.
  • Proses akan di restart hanya jika dapat memperoleh sumber daya yang lama dan sumber daya baru yang diminta.
4. Mencegah kondisi menunggu sirkular
Dilakukan dengan cara:
  • Proses hanya boleh dilakukan menggenggam satu sumber daya pada suatu saat
  • Penomoran global semua sumber daya

Penghindaran Deadlock

Penghindaran deadlock dengan cara hanya memberi akses ke permintaan sumber daya yang tidak mungkin menimbulkan deadlock. Strategi ini diimplementasikan dengan pengalokasian sumber daya memeriksa dampak-dampak pemberian akses kesuatu permintaan
  • Jika pemberian akses sumber daya tidak mungkin menuju deadlock, sumber daya diberi ke peminta
  • Jika tidak aman, proses yang diminta di tunda sampai suatu waktu permintaannya aman diberikan

Pengertian dan definisi CPU (Central Processing Unit)


· Pengertian CPU
          Pengertian CPU dapat kita ketahui secara ringkas dari kepanjangan CPU itu sendiri. CPU merupakan singkatan dari Central Processing Unit atau Pengolah pusat. Secara awam kita sering menyebutnya sebagai processor, karena merupakan pusat pengolahan data dalam sebuah komputer. CPU dapat diibaratkan sebagai sebuah otak dari computer itu sendiri. Cepat atau lambatnya kinerja dari sebuah computer cukup ditentukan oleh kualitas dan teknologi dari CPU yang digunakan.

· Definisi CPU

CPU, singkatan dari Central Processing Unit adalah perangkat keras komputer yang berfungsi untuk menerima dan melaksanakan perintah dan data dari perangkat lunak. Prosesor sering digunakan untuk menyebut CPU pada umumnya. Adapun mikroprosesor adalah CPU yang diproduksi dalam sirkuit terpadu, seringkali dalam sebuah paket sirkuit terpadu-tunggal. Sejak pertengahan tahun 1970-an, mikroprosesor sirkuit terpadu-tunggal ini telah umum digunakan dan menjadi aspek penting dalam penerapan CPU.

Komponen CPU terbagi menjadi beberapa macam, yaitu sebagai berikut :

1.     Unit kontrol (Control Unit) 

Unit kontrol ini adalah bagian dari prosesor yang mampu mengatur jalannya program. Komponen ini terdapat dalam semua CPU. CPU bertugas mengontrol komputer sehingga terjadi sinkronisasi kerja antar komponen dalam menjalankan fungsi-fungsi operasinya. termasuk dalam tanggung jawab unit kontrol adalah mengambil intruksi-intruksi dari memori utama dan menentukan jenis instruksi tersebut. Bila ada instruksi untuk perhitungan aritmatika atau perbandingan logika, maka unit kendali akan mengirim instruksi tersebut ke ALU (Aritmathic Logic Unit). Hasil dari pengolahan data dibawa oleh unit kendali ke memori utama lagi untuk disimpan, dan pada saatnya akan disajikan ke alat output. Dengan demikian tugas dari unit kendali ini adalah :

a)   Mengatur dan mengendalikan alat-alat input dan output. 
b)   Mengambil instruksi-instruksi dari memori utama. 
c)   Mengambil data dari memori utama (jika diperlukan) untuk diproses. 
d) Mengirim instruksi ke ALU bila ada perhitungan aritmatika atau perbandingan logika. 
e)   Mengawasi kerja dari ALU. 
f)      Menyimpan hasil proses ke memori utama.

2.     Register

Register merupakan alat penyimpanan kecil yang mempunyai kecepatan akses cukup tinggi, yang digunakan untuk menyimpan data dan/atau instruksi yang sedang diproses. Memori ini bersifat sementara, biasanya di gunakan untuk menyimpan data saat di olah ataupun data untuk pengolahan selanjutnya. jika dianalogikan, register ini dapat diibaratkan sebagai ingatan di otak bila kita melakukan pengolahan data secara manual, sehingga otak dapat diibaratkan sebagai CPU, yang berisi ingatan-ingatan, satuan kendali yang mengatur seluruh kegiatan tubuh dan mempunyai tempat untuk melakukan perhitungan dan perbandingan logika.

3.     ALU (Aritmathic Logic Unit)

ALU merupakan bagian dari CPU yang bertugas untuk melakukan operasi aritmetika dan operasi logika berdasar instruksi yang ditentukan. ALU sering di sebut mesin bahasa karena bagian ini ALU terdiri dari dua bagian, yaitu unit aritmatika dan unit logika boolean yang masing-masing memiliki spesifikasi tugas tersendiri. Tugas utama dari ALU adalah melakukan semua perhitungan aritmatika (matematika) yang terjadi sesuai dengan instruksi program. ALU melakukan semua operasi aritmatika dengan dasar penjumlahan sehingga sirkuit elektronik yang digunakan disebut adder.
Tugas lain dari ALU adalah melakukan keputusan dari suatu operasi logika sesuai dengan instruksi program. Operasi logika meliputi perbandingan dua operand dengan menggunakan operator logika tertentu, yaitu sama dengan (=), tidak sama dengan (¹ ), kurang dari (<), kurang atau sama dengan (£ ), lebih besar dari (>), dan lebih besar atau sama dengan.
CPU Interconnections adalah sistem koneksi dan bus yang menghubungkan komponen internal CPU, yaitu ALU, unit kontrol dan register-register dan juga dengan bus-bus eksternal CPU yang menghubungkan dengan sistem lainnya, seperti memori utama, piranti masukan /keluaran.

· Cara Kerja CPU

Saat data dan/atau instruksi dimasukkan ke processing-devices, pertama sekali diletakkan di RAM (melalui Input-storage); apabila berbentuk instruksi ditampung oleh Control Unit di Program-storage, namun apabila berbentuk data ditampung di Working-storage). Jika register siap untuk menerima pengerjaan eksekusi, maka Control Unit akan mengambil instruksi dari Program-storage untuk ditampungkan ke Instruction Register, sedangkan alamat memori yang berisikan instruksi tersebut ditampung di Program Counter. Sedangkan data diambil oleh Control Unit dari Working-storage untuk ditampung di General-purpose register (dalam hal ini di Operand-register). Jika berdasar instruksi pengerjaan yang dilakukan adalah arithmatika dan logika, maka ALU akan mengambil alih operasi untuk mengerjakan berdasar instruksi yang ditetapkan. Hasilnya ditampung di Accumulator. Apabila hasil pengolahan telah selesai, maka Control Unit akan mengambil hasil pengolahan di Accumulator untuk ditampung kembali ke Working-storage. Jika pengerjaan keseluruhan telah selesai, maka Control Unit akan menjemput hasil pengolahan dari Working-storage untuk ditampung ke Output-storage. Lalu selanjutnya dari Output-storage, hasil pengolahan akan ditampilkan ke output-devices.

· Fungsi CPU

CPU berfungsi seperti kalkulator, hanya saja CPU jauh lebih kuat daya pemrosesannya. Fungsi utama dari CPU adalah melakukan operasi aritmatika dan logika terhadap data yang diambil dari memori atau dari informasi yang dimasukkan melalui beberapa perangkat keras, seperti papan ketik, pemindai, tuas kontrol, maupun tetikus. CPU dikontrol menggunakan sekumpulan instruksi perangkat lunak komputer. Perangkat lunak tersebut dapat dijalankan oleh CPU dengan membacanya dari media penyimpan, seperti cakram keras, disket, cakram padat, maupun pita perekam. Instruksi-instruksi tersebut kemudian disimpan terlebih dahulu pada memori fisik (RAM), yang mana setiap instruksi akan diberi alamat unik yang disebut alamat memori. Selanjutnya, CPU dapat mengakses data-data pada RAM dengan menentukan alamat data yang dikehendaki.

· Bagian-Bagian CPU

Di dalam CPU terdapat beberapa bagian dengan fungsinya masing-masing yang saling berkaitan. Diantaranya adalah sebagai berikut :

1. Power Supply
Power Supply adalah sebuah perangkat yang ada di dalam CPU yang berfungsi untuk menyalurkan arus listrik ke berbagai peralatan computer. Perangkat ini memiliki 5 connector atau lebih, yang dapat disambungkan keberbagai peralatan seperti :

- Motherboard

- Harddisk

- Floppy Disk Drive

- CD – ROM

2. Motherboard
Motherboard ialah papan utama, atau papan sirkuit yang berfungsi untuk menghubungkan setiap komponen pada komputer. Motherboard yaitu papan PCB yang mempunyai jalur - jalur sistematis yang menghubungkan satu komponen dengan komponen lainnya. Motherboard bisa disebut juga Mainboard. Pada mainboard terdapat bagian - bagian input maupun output berupa socket ataupun slot. Seperti socket processor, slot memory, konektor IDE, socket Catu daya, Slot peripheral, I/O port, dll. Jadi semua tempat untuk komponen sudah tersusun rapi di dalam motherboard ini. Motherboard disimpan atau ditempatkan di Casing (Kotak Komputer).

3. Hardisk
Hardisk atau bisa disebut juga hard drive, fixed disk, HDD, atau cukup hard disk saja, adalah media yang digunakan untuk menyimpan file sistem dan data dalam komputer. Hard disk terdiri atas tiga bagian utama, yaitu piringan magnetik, bagian mekanis, serta head untuk membaca data. Piringan tersebut digunakan untuk menyimpan data, sedangkan bagian mekanis bertugas memutar piringan tersebut. Jenis-jenis Hardisk diantaranya :

- ATA

- SATA

- SCSI

4. Processor
Processor sering disebut sebagai otak dan pusat pengendali computer yang didukung oleh kompunen lainnya. Processor adalah sebuah IC yang mengontrol keseluruhan jalannya sebuah sistem komputer dan digunakan sebagai pusat atau otak dari komputer yang berfungsi untuk melakukan perhitungan dan menjalankan tugas. Processor terletak pada socket yang telah disediakan oleh motherboard, dan dapat diganti dengan processor yang lain asalkan sesuai dengan socket yang ada pada motherboard. Salah satu yang sangat besar pengaruhnya terhadap kecepatan komputer tergantung dari jenis dan kapasitas processor.

5. VGA Card
Kartu VGA adalah komponen yang tugasnya menghasilkan tampilan secara visual dari komputer kalian. Hampir semua program menghasilkan keluaran visual, kartu VGA adalah hardware yang memberikan perintah kepada monitor untuk menampilkan keluaran visual yang dapat kita lihat.

6. CD Room
CD-ROM (singkatan dari Compact Disc - Read Only Memory) adalah sebuah piringan kompak dari jenis piringan optik (optical disc) yang dapat menyimpan data. Ukuran data yang dapat disimpan saat ini bisa mencapai 700 MB atau 700 juta bita.
CD-ROM bersifat read only (hanya dapat dibaca, dan tidak dapat ditulisi). Untuk dapat membaca isi CD-ROM, alat utama yang diperlukan adalah CD Drive. Perkembangan CD-ROM terkini memungkinkan CD dapat ditulisi berulang kali (Re Write / RW) yang lebih dikenal dengan nama CD-RW.

7 Kabel Data
Kabel data mempunyai fungsi penting juga yakni untuk menghubungkan 1 komponen komputer dengan komponen lainnya, sebagai contoh kabel data ini dapat menghubungkan antara motherboard dan hardisk, tujuannya adalah Hardisk kita dapat terbaca dan melewati sistem yang ada pada motherboard.

8. LAN Card (Local Area Network)
LAN Card mempunyai fungsi sebagai penghubung antara komputer 1 dengan komputer yang lainnya, selama kita mempunyai LAN Card ini sangat memungkinkan kita dapat terhubung dengan internet (tentunya jika kita mempunyai jaringan ADSL) ataupun bisa terkoneksi dengan komputer yang lainnya (jika terhubung ke dalam HUB/Switch).

9. Kabel UTP
Kabel UTP mempunyai fungsi untuk menghubungkan komputer 1 dengan komputer lainnya, jika kita memiliki LAN Card, tapi tidak memiliki kabel UTP maka sangatlah mustahil kita dapat melakukan koneksi antara 1 komputer dengan komputer yang lainnya

10. RAM (Random Access Memory)
Memory adalah perangkat yang berfungsi mengolah data atau intruksi. Semakin besar memori yang disediakan, semakin banyak data maupun intruksi yang dapat mengolahnya. RAM adalah sebuah perangkat yang berfungsi untuk menyimpan data. RAM bersifat sementara atau data yang tersimpan dapat dihapus.lain halnya dengan ROM.ROM mempunyai fungsi yang sama dengan RAM tetapi ROM bersifat permanen atau data yang tersimpan tidak dapat dihapus.

Pengertian Definisi Anomali Data Base

Pengertian Definisi Anomali Data Base 
Anomali adalah proses pada basis data yang memberikan efek samping yang tidak diharapkan ( misalnya menyebabkan ketidakonsistenan data atau membuat suatu data menjadi hilang ketika data dihapus)
Macam Anomali terdiri dari
  • Anomali peremajaan,
  • Anomali Penghapusan, dan
  • Anomali penyisipan

Anomali peremajaan

Anomali ini terjadi bila ada perubahan pada sejumlah data yang mubazir, tetapi tidak seluruhnya diubah. Contoh : Tabel Pesanan
PemasokKotaBarangJumlah
KartikaJakartaMouse5
CitraBandungMonitor2
YudiMedanCPU2
CitraBandungPrinter1
Seandainya Citra dengan kota Bandung pindah ke Bogor maka pengubahan data hanya dilakukan pada data pertama menjadi : Tabel Pesanan
PemasokKotaBarangJumlah
KartikaJakartaMouse5
CitraBogorMonitor2
YudiMedanCPU2
CitraBandungPrinter1
Di sini terlihat bahwa data tentang pemasok Citra tidak sama yang menyebabkan ketidakkonsistenan data.

Anomali Penyisipan

Anomali ini terjadi pada saat penambahan data ternyata ada elemen yang kosong dan elemen tsb justru menjadi key. Contoh : Tabel Kursus
NoSiswaKursusBiaya
10Bhs.Inggris60000
10Bhs.Perancis80000
10Bhs.Jepang70000
15Bhs.Inggris60000
20Bhs.Jepang70000
Misalnya akan dibuka kursus baru yaitu Bhs.Jerman dengan biaya 75000 akan tetapi belum ada seorangpun yang ikut kursus ini, shg data menjadi : Tabel Kursus
NoSiswaKursusBiaya
10Bhs.Inggris60000
10Bhs.Perancis80000
10Bhs.Jepang70000
15Bhs.Inggris60000
20Bhs.Jepang70000

Bhs.Jerman75000

Anomali penghapusan

Anomali ini terjadi apabila dalam satu baris/ tuple ada data yang akan dihapus sehingga akibatnya terdapat data lain yang hilang. Contoh pada table kursus data NoSiswa 20 akan dihapus karena sudah tidak ikut kursus lagi sehingga akibatnya data kursus bhs jepang dan biaya 70000 akan ikut terhapus.

Dependensi (Ketergantungan)

Konsep dasar pada tahap normalisasi yang menjelaskan hubungan atribut atau secara lebih khusus menjelaskan nilai suatu atribut yang menentukan atribut lainnya.
Macam-macam dependensi, yaitu :

Dependensi fungsional

Definisi : Suatu atribut Y mempunyai dependensi fungsional terhadap atribut X jika dan hanya jika setiap nilai X berhubungan dengan sebuah nilai Y.
Notasi    :   X –> Y      (X secara fungsional menentukan Y)
Contoh   : Tabel Pesanan
PembeliKotaBarangJumlah
P1YogyaB110
P1YogyaB25
P2JakartaB14
P2JakartaB27
P3SoloB36
P3SoloB46
Pembeli secara fungsional menentukan kota, sebab setiap pembeli yang sama  mempunyai kota yang sama, dengan demikian :   Pembeli –> Kota
contoh lain                      :  {Pembeli, Barang}   –> Jumlah
Keterangan:
  • Bagian yang terletak disebelah kiri tanda panah biasa disebut DETERMINAN / PENENTU dan bagian yang terletak di sebelah kanan panah disebut DEPENDENSI / YANG TERGANTUNG.
  • Tanda {} biasanya digunakan untuk menentukan lebih dari satu atribut sebagai penentu atau sebagai yang tergantung.

Dependensi fungsional sepenuhnya

Definisi : Suatu atribut Y mempunyai dependensi fungsional penuh terhadap X jika
  • Y mempunyai dependensi fungsional terhadap X dan/atau
  • Y tidak memiliki dependensi terhadap bagian dari X
Contoh :   Pembeli –> Kota
{Pembeli, Barang} –>  Jumlah
Intinya :   Kota mempunyai dependensi fungsional terhadap Pembeli atau {Pembeli, Barang} tapi kota mempunyai dependensi fungsional sepenuhnya terhadap pembeli bukan barang.

Dependensi Total

Definisi : Suatu atribut Y mempunyai dependensi total terhadap atribut X jika
  • Y memiliki dependensi fungsional terhadap X dan
  • X memiliki dependensi fungsional terhadap Y
Notasi  :   X<–> Y
Contoh : Tabel Pemasok
KodePemasokNamaPemasokKota
K1KartikaJakarta
C1CitraBandung
C2CandraJakarta
Pada kasus ini  KodePemasok <–>NamaPemasok, karena setiap kode tidak mempunyai nama yang sama.

Dependensi Transitif

Definisi : Atribut Z mempunyai dependensi transitif terhadap X bila :
  • Y memiliki dependensi fungsional terhadap X
  • Z memiliki dependensi fungsional terhadap Y
Contoh :
KuliahRuangTempatWaktu
JarkomMerbabuGedung UtaraSenin
Basis DataArjunaGedung SelatanSelasa
MatematikaMerapiGedung BaratRabu
FisikaMerbabuGedung TimurKamis
Relasi :
  • Kuliah  –> {Ruang, Waktu}
  • Ruang  –> Tempat
Terlihat bahwa :    Kuliah –> Ruang –> Tempat
Dengan demikian Tempat mempunyai dependensi transitif terhadap kuliah

Diagram Dependensi Fungsional (Diagram DF)

Diagram Dependensi Fungsional (Diagram DF) Adalah diagram yang digunakan untuk menggabarkan dependensi fungsional. Diagram ini menunjukkan hubungan antara atribut yang menjadi penentu atribut lainnya, dengan hubungan yang dinyatakan dengan tanda panah. Seperti contoh diatas dapat digambarkan diagram DF sebagai berikut :

Dekomposisi

Pada tahap normalisasi sering kali terjadi pemecahan table kedalam bentuk dua atau lebih relasi. Proses pemecahaan ini disebut dengan dekomposisi. Syarat : Tidak ada informasi yang hilang ketika suatu relasi dipecah menjadi relasi-relasi lain. Contoh : Terdapat suatu relasi awal sebagai berikut :
NimNamaProgram Studi
95001AndiEkonomi
95002ViraTeknik
95003AndiFisika
Akan dibentuk kedalam dekomposisi tak hilang menjadi :
NimNama
NimProgram Studi
95001Andi
95001Ekonomi
95002Vira
95002Teknik
95003Andi
95003Fisika
Pada relasi awal dapat diketahui informasi sebagai berikut : 95001 adalah ANDI program studi Ekonomi.Setelah proses dekomposisi tak hilang hasilnya adalah sama 95001 adalah ANDI dan 95001 program studiEkonomi. Contoh dekomposisi hilang adalah
NimNama
NamaProgram Studi
95001Andi
AndiEkonomi
95002Vira
ViraTeknik
95003Andi
AndiFisika
95001 bernama ANDI, tetapi ANDI dengan program studi Ekonomi atau Fisika?

Bentuk Normalisasi

Bentuk normalisasi pertama (1NF)

Dikenakan pada tabel yang sama sekali belum ternomalisasi. Tabel yang belum ternomalisasi adalah tabel yang mempunyai atribut berulang. Contoh : terdapat suatu data sebagai berikut :
NIPNamaJabatanKeahlianLama Kerja
107IlhamAnalis SeniorCobol6



Oracle1
109RyanAnalis JuniorCobol2



C++2
120FikaProgrammerDbase3



Sybase1



Cobol1
Pada contoh di atas, keahlian mempunyai atribut yang berulang. Untuk itu akan dibentuk ke normal 1NF. Syarat Normal 1NF adalah suatu relasi dikatakan dalam bentuk normal pertama jika dan hanya jika setiap atribut bernilai tunggal dalam satu baris.
NIPNamaJabatanKeahlianLama Kerja
107IlhamAnalis SeniorCobol6
107IlhamAnalis SeniorOracle1
109RyanAnalis JuniorCobol2
109RyanAnalis JuniorC++2
120FikaProgrammerDbase3
120FikaProgrammerSybase1
120FikaProgrammerCobol1
Tabel di atas sudah memenuhi bentuk normal 1NF

Bentuk Normal 2NF

Bentuk ini didefinisikan berdasarkan dependensi fungsional dengan syarat adalah :
  • Berada pada bentuk normal pertama
  • Semua atribut bukan kunci memiliki dependensi sepenuhnya terhadap kunci primer
Contoh :
  • Nama  dan jabatan mempunyai dependensi fungsional terhadap NIP
  • Lama mempunyai dependensi fungsional terhadap NIP dan keahlian
  • Bentuk tabelnya adalah : NNJ (NIP, Nama, Jabatan) dan NKL (NIP, Keahlian, Lama Kerja)
NIPNamaJabatan
107IlhamAnalis Senior
109RyanAnalis Junior
120FikaProgrammer
NIPKeahlianLama Kerja
107Cobol6
107Oracle1
109Cobol2
109C++2
120Dbase3
120Sybase1
120Cobol1

Bentuk Normal 3NF

  • Berada dalam bentuk normal 2 NF
  • Setiap atribut bukan kunci tidak memiliki dependensi transitif terhadap kunci primer
Contoh di atas sudah memenuhi normal 3NF karena : Tidak memiliki dependensi transitif, yaitu
NIP –> {Nama, Jabatan}
{NIP, Keahlian} –> Lama Kerja

Bentuk Normal boyce-codd (BCNF)

Bentuk ini dilakukan jika dan hanya jika semua penentu (determinan) adalah kunci kandidat (atribut yang bersifat unik). BCNF merupakan perbaikan dari 3NF. Relasi yang memenuhi BCNF pasti memenuhi 3NF tetapi tidak sebaliknya. Contoh : Tabel SKT
SiswaKursusTutor
AnwarBhs. PerancisPierre
AnwarBhs. InggrisRichard
BudiBhs. PerancisPierre
CecepBhs. InggrisSuzanne
Tabel di atas adalah suatu relasi yang memenuhi 3NF tetapi tidak memenuhi BCNF. Relasi diatas didasarkan oleh fakta :
  • Seorang siswa dapat mengambil sejumlah kursus
  • Setiap tutor hanya mengajar satu kursus bahasa
  • Setiap siswa dalam satu kursus diajar oleh satu tutor
  • Suatu kursus bisa dipegang oleh beberapa tutor
Pada keadaan tersebut di atas dapat digambarkan sebagai berikut : Siswa & Kursus  dan Siswa & Tutor.
Memenuhi bentuk 3NF karena tidak ada dependensi transitif pada relasi tersebut. Tetapi tidak memenuhi BCNF karena adanya determinan Tutor yang berdiri sebagai kunci kandidat. Realsi SKT menyebabkan anomali karena baris Cecep dihapus maka Suzane sebagai tutor jug akan terhapus. Cara konversi dari 3NF ke BCNF adalah :
  • Carilah semua penentu
  • Bila terdapat penentu yang bukan kunci kandidat, maka :
    • Pisahkan relasi tersebu
    • Buat penentu sebagai kunci primer
  • Dekomposisi berupa : ST (Siswa, Tutor) dan TK (Tutor, Kursus)

SiswaTutor
AnwarPierre
AnwarRichard
BudiPierre