Kamis, 03 Januari 2013

MYSQL dan PHP

BAB I
PENDAHLUAN
1.1  LATAR BELAKANG
Saat ini penggunaan internet sudah semakin banyak dikenal dan digunakan oleh semua kalangan dari anak-anak sampai orang dewasa, Sekarang pengguna internet sudah banyak yang mempunyai web site pribadi, baik yang meggunakan web hosting secara gratis dari ISP, fasilitas Pendidikan ataupun yang mempunyai domain sendiri. Sebagian Besar situs yang mereka buat adalah web site yang statis, mengapa ?salah satu jawabanya bahwa meraka belum mengatahui cara pembuatan halaman web yang dinamis
Kita dapat mebuat halaman web yang baik dan atraktif dan hanya dengan menggunakan tag-tag atau sintaks HTML murni, namun rasanya situs belum cukup lengkap dan Profesional tanpa adanya salam dinamis, seperti  HIT COUNTER, FEEDBACK FORM, Buku Tamu dan Aplikasi data base lasinnya. Masih banyak pemakai yang merasa takut terhadap rumitnya sebuah program atau Scripts yang menghasilkan sebuah program dinamis, mempelajari bahasa Scripts pada dasarnya tidak berbeda denga mempelajari bahasa pemrogramman lainnya. Bagi anda yang mempunyai niat dan latar belakang sebagai alhi dalam programmer, tentulah lebih mudah untuk memahaminya dan menguasainya dalam waktu singakat. namun bagi anda yang benar-benar ingin mempelajar bagaimana membuat suatu halaman web yang dinamis buku ini dibuat dan disusun sedemikian rupa guna menyederhanakan program yang sedemikian mudah.
Bahasa Scripts sudah sering didengar dan bermacam-macam, diantaranya seperti  CGI Scripts, Java Scripts, VB Scripts, ASP, PHP  dan lain-lain. Dalam makalah ini, saya akan menjelaskan bahasa MYSQL dan PHP.
Semoga makalah ini bermanfaat dan berguna untuk kemajuan ilmu komputer dan khusunya dibidang web programming.
1.2  Rumusan Masalah
1.      Bagaimana memaknai inti dari kata MYSQL dan PHP?
2.      Apa saja yang tercangkup dalam MYSQL dan PHP?
2.      Apa saja yang tercangkup dalam MYSQL dan PHP?
1.3  Tujuan Penulisan
Tujuan dibuatnya karya tulis ini agar mahasiswa dapat dengan langsung memahami latar belakang dan sejarah dari bahasa MYSQL dan PHP, Agar mahasiswa dapat mengetahui bagaimana menulis script yang baik dan benar sehingga dapat menciptakan hasil yang memuaskan. Dan juga tujuan penulisan ini adalah sebagai persyaratan tugas mata kuliah Pemrograman Terstruktur.
1.4    Manfaat
1.Memberikan ilmu yang lebih mendalam bagi mahasiswa dalam menbuat script berbasis HTML dan PHP.
2.Mengetahui sejarah bahasa MYSQL dan PHP.
1.5  Metode Penulisan
Dalam penulisan karya tulis ini penulis memperoleh data dari buku-buku, internet dan dari artikel-artikel yang terkait.
BAB II
PEMBAHASAN
2.1  Pengertian MYSQL
SQL (Structured Query Language) adalah bahasa standar yang digunakan untuk mengakses server basis data . Sejak tahun 70-an bahasa ini telah dikembangkan oleh IBM, yang kemudian diikuti dengan adanya Oracle, Informix dan Sybase. Dengan menggunakan SQL, proses akses basis data menjadi lebih user-friendly dibandingkan dengan misalnya dBase ataupun Clipper yang masih menggunakan perintah– perintah pemrograman murni.
Selain MySQL, ada beberapa jenis pemograman yang berorientasi basis data yang dapat digunakan untuk aplikasi di web seperti Oracle. Oracle merupakan sebuah perusahaan besar di dunia yang cakupan bisnis salah satunya adalah penjualan perangkat lunak dan pembuatan perangkat lunak basis data yang diperuntukkan bagi perusahaan-perusahaan besar di dunia. Karena softwarenya tidak bebas dipasaran atau tidak free perangkat lunak maka sebagian besar perusahaan kecil atau menengah atau programmer web masih menggunakan basis data MySQL sebagai perangkat lunak basis data perusahaan atau webnya.
MySQL adalah sebuah server basis data SQL multiuser dan multi-threaded. SQL sendiri adalah salah satu bahasa basis data yang paling populer di dunia. Implementasi program server basis data ini adalah program daemon mysqld dan beberapa program lain serta beberapa pustaka.
MySQL dibuat oleh TcX dan telah dipercaya mengelola sistem dengan 40 buah basis data berisi 10,000 tabel dan 500 di antaranya memiliki 7 juta baris (kira-kira 100 gigabyte data). Basis data ini dibuat untuk keperluan sistem basis data yang cepat, handal dan mudah digunakan. Walaupun memiliki kemampuan yang cukup baik, MySQL untuk sistem operasi Unix bersifat freeware, dan terdapat versi shareware untuk sistem operasi windows. Sebagaimana basis data sistem yang lain, dalam SQL juga dikenal hierarki server dengan basis data-basis data. Tiap-tiap basis data memiliki tabel-tabel. Tiap-tiap tabel memiliki field-field. Umumnya informasi tersimpan dalam tabel–tabel yang secara logik merupakan struktur 2 dimensi terdiri atas baris dan kolom. Field-field tersebut dapat berupa data seperti int, realm char, date, time dan lainnya. SQL tidak memiliki fasilitas pemrograman yang lengkap, tidak ada looping ataupun percabangan ,misalnya. Sehingga untuk menutupi kelemahan ini perlu digabung dengan bahasa pemrograman seperti C.
MySQL menawarkan berbagai keunggulan dibandingkan database server lain. Berikut ini adalah beberapa keunggulan MySQL :
v  Mampu menangani jutaan user dalam waktu yang bersamaan.
v  Mampu menampung lebih dari 50.000.000 record.
v  Sangat cepat mengeksekusi perintah.
v  Memiliki user privilege system yang mudah dan efisien.
2.1.1 Tipe Data MySQL
a. Char(M)
Tipe data ini digunakan untuk menyimpan data string dengan jumlah karakter tertentu. Panjang maksimum karakter tipe data Char harus dinyatakan secara eksplisit seperti contoh berikut:
Judul CHAR(50);
b. Varchar(M)
Tipe data ini cocok digunakan untuk menyimpan data string dengan panjang yang bervariasi. Sama seperti tipe data Char, panjang maksimum karakter yang akan ditampung dalam field harus dinyatakan
2.1.2   Keistimewaan MySQL
MySQL memiliki beberapa keistimewaan, antara lain :
A.    Portabilitas.
MySQL dapat berjalan stabil pada berbagai sistem operasi seperti Windows, Linux, FreeBSD, Mac Os X Server, Solaris, Amiga, dan masih banyak lagi.
B.     Open Source.
MySQL didistribusikan secara open source, dibawah lisensi GPL sehingga dapat digunakan secara cuma-cuma.
C.    Multiuser.
MySQL dapat digunakan oleh beberapa user dalam waktu yang bersamaan tanpa mengalami masalah atau konflik.
D.    Performance tuning.
MySQL memiliki kecepatan yang menakjubkan dalam menangani query sederhana, dengan kata lain dapat memproses lebih banyak SQL per satuan waktu.
E.     Jenis Kolom.
MySQL memiliki tipe kolom yang sangat kompleks, seperti signed / unsigned integer, float, double, char, text, date, timestamp, dan lain-lain.
F.     Perintah dan Fungsi.
MySQL memiliki operator dan fungsi secara penuh yang mendukung perintah Select dan Where dalam perintah (query).
G.    Keamanan.
MySQL memiliki beberapa lapisan sekuritas seperti level subnetmask, nama host, dan izin akses user dengan sistem perizinan yang mendetail serta sandi terenkripsi.
H.    Skalabilitas dan Pembatasan.
MySQL mampu menangani basis data dalam skala besar, dengan jumlah rekaman (records) lebih dari 50 juta dan 60 ribu tabel serta 5 milyar baris. Selain itu batas indeks yang dapat ditampung mencapai 32 indeks pada tiap tabelnya.
I.       Konektivitas.
MySQL dapat melakukan koneksi dengan klien menggunakan protokol TCP/IP, Unix soket (UNIX), atau Named Pipes (NT).
J.      Lokalisasi.
MySQL dapat mendeteksi pesan kesalahan pada klien dengan menggunakan lebih dari dua puluh bahasa. Meski pun demikian, bahasa Indonesia belum termasuk di dalamnya.
K.    Antar Muka.
MySQL memiliki interface (antar muka) terhadap berbagai aplikasi dan bahasa pemrograman dengan menggunakan fungsi API (Application Programming Interface).
L.     Klien dan Peralatan.
MySQL dilengkapi dengan berbagai peralatan (tool)yang dapat digunakan untuk administrasi basis data, dan pada setiap peralatan yang ada disertakan petunjuk online.
M.   Struktur Table
MySQL memiliki struktur tabel yang lebih fleksibel dalam menangani ALTER TABLE, dibandingkan basis data lainnya semacam PostgreSQL ataupun Oracle.
2.1.3   Microsoft SQL Server
Microsoft SQL Server adalah sebuah sistem manajemen basis data relasional (RDBMS) produk Microsoft. Bahasa kueri utamanya adalah Transact-SQL yang merupakan implementasi dari SQL standar ANSI/ISO yang digunakan oleh Microsoft dan Sybase. Umumnya SQL Server digunakan di dunia bisnis yang memiliki basis data berskala kecil sampai dengan menengah, tetapi kemudian berkembang dengan digunakannya SQL Server pada basis data besar.
Microsoft SQL Server dan Sybase/ASE dapat berkomunikasi lewat jaringan dengan menggunakan protokol TDS (Tabular Data Stream). Selain dari itu, Microsoft SQL Server juga mendukung ODBC (Open Database Connectivity), dan mempunyai driver JDBC untuk bahasa pemrograman Java. Fitur yang lain dari SQL Server ini adalah kemampuannya untuk membuat basis data mirroring dan clustering. Pada versi sebelumnya, MS SQL Server 2000 terserang oleh cacing komputer SQL Slammer yang mengakibatkan kelambatan akses Internet pada tanggal 25 Januari 2003.
2.2  Pengenalan PHP
PHP (akronim dari PHP Hypertext Preprocessor) yang merupakan bahasa pemrogramman berbasis web yang memiliki kemampuan untuk memproses data dinamis.
PHP dikatakan sebagai sebuah server-side embedded script language artinya sintaks-sintaks dan perintah yang kita berikan akan sepenuhnya dijalankan oleh server tetapi disertakan pada halaman HTML biasa. Aplikasi-aplikasi yang dibangun oleh PHP pada umumnya akan memberikan hasil pada web browser, tetapi prosesnya secara keseluruhan dijalankan di server.
Pada prinsipnya server akan bekerja apabila ada permintaan dari client. Dalam hal ini client menggunakan kode-kode PHP untuk mengirimkan permintaan ke server (dapat dilihat pada gambar dibawah). Ketika menggunakan PHP sebagai server-side embedded script language maka server akan melakukan hal-hal sebagai berikut :
Ø  Membaca permintaan dari client/browser
Ø  Mencari halaman/page di server
Ø  Melakukan instruksi yang diberikan oleh PHP untuk melakukan modifikasi pada halaman/page.
Ø  Mengirim kembali halaman tersebut kepada client melalui internet atau intranet.
2.2.1   Syntax PHP
Kode PHP disimpan sebagai plain text dalam format ASCII, sehingga kode PHP dapat ditulis hampir di semua editor text seperti windows notepad, windows wordpad, dll. Kode PHP adalah kode yang disertakan di sebuah halaman HTML dan kode tersebut dijalankan oleh server sebelum dikirim ke browser.
Pada file HTML, HTTP server hanya melewatkan content dari file menuju ke browser. Server tidak mencoba untuk mengerti atau memproses file, karena itu adalah tugas sebuah browser. Pada file dengan ekstensi .php akan ditangani secara berbeda. Yang memiliki kode PHP akan diperiksa. Web server akan memulai bekerja apabila berada diluar lingkungan kode HTML. Oleh karena itu server akan melewati semua content yang berisi kode HTML, CSS, JavaScript, simple text di browser tanpa diinterpretasikan di server.
Blok scripting PHP selalu diawali dengan ”<?php” (tanpa kutip) dan diakhiri dengan “?>” (tanpa kutip). Blok scripting PHP dapat ditempatkan dimana saja di dalam dokumen. Pada beberapa server yang mendukung, blok scripting PHP dapat diawali dengan “<?”(tanpa kutip) dan diakhiri dengan “?>” (tanpa kutip). Namun, untuk kompatibilitas maksimum, sebaiknya menggunakan bentuk yang standar (<?php ?>). Setiap baris kode PHP harus diakhiri dengan semikolon (;). Semikolon ini merupakan separator yang digunakan untuk membedakan satu instruksi dengan instruksi lainnya. PHP menggunakan // untuk membuat komentar baris tunggal atau /* dan */ untuk membuat suatu blok komentar.
2.2.2   Variabel PHP
Variabel digunakan untuk menyimpan suatu nilai, seperti text, angka atau array. Ketika sebuah variabel dibuat, variabel tersebut dapat dipakai berulang-ulang. Pada PHP semua variabel harus dimulai dengan karakter ‘$’. Variabel PHP tidak perlu dideklarasikan dan ditetapkan jenis datanya sebelum kita menggunakan variabel tersebut. Hal itu berarti pula bahwa tipe data dari variabel dapat berubah sesuai dengan perubahan konteks yang dilakukan oleh user. Secara tipikal, variabel PHP cukup diinisialisasikan dengan memberikan nilai kepada variabel tersebut.
Contoh berikut akan mencetak “PHP” :
$text = “PHP”;
print “$text”;
Identifier dalam PHP adalah case-sensitive, sehingga $text dengan $Text merupakan variabel yang berbeda. Built-in function dan structure tidak case-sensitive, sehingga echo dengan ECHO akan mengerjakan perintah yang sama. Identifier dapat berupa sejumlah huruf, digit/angka, underscore, atau tanda dollar tetapi identifier tidak dapat dimulai dengan digit/angka.
Ø  Aturan Penamaan Variabel
ü  Nama variabel harus diawali dengan sebuah huruf atau garis bawah (underscore) “_”
ü  Nama variabel hanya boleh mengandung karakter alpha-numeric dan underscore (a-Z, 0-9, dan _ )
ü  Nama variabel tidak boleh mengandung spasi.
2.2.3   String PHP
Variabel string digunakan untuk nilai yang mengandung karakter string. Pada contoh berikut, skript PHP memberikan string “Hello World” pada variabel string bernama $txt :
<?php
$txt=”Hello World”;
echo $txt;
?>
Output dari kode tersebut adalah : Hello World
Hanya ada satu operator string di PHP. Concatenation operator (.). digunakan untuk menggabungkan dua string. Contoh :
<?php
$txt1=”Hello World”;
$txt2=”1234″;
echo $txt1 . ” ” . $txt2;
?>
Output dari kode tersebut adalah : Hello World 1234
2.2.4   Operator di PHP
Operator digunakan untuk menentukan sebuah nilai dengan melakukan suatu prosedur, atau dengan suatu operasi dari beberapa nilai. Nilai yang digunakan dalam sebuah operasi disebut operand. Penjumlahan adalah sebuah contoh sederhana dari suatu operasi.
Sebagai contoh : 2 + 4
2 dan 4 adalah sebuah operand. Ekspresi ini akan menghasilkan 6.
A.    Ari thmetic Operator (Operator Aritmatika)
PHP menggunakan operator arithmetic dasar :
Operator
Aksi
Contoh
Penjelasan
+
Penjumlahan
5 + 9
Menghasilkan nilai : 14
-
Pengurangan
9 – 4
Menghasilkan nilai : 5
*
Perkalian
5 * 6
Menghasilkan nilai : 30
/
Pembagian
20 / 4
Menghasilkan nilai : 5
%
modulus
9 % 4
Menghasilkan nilai : 1
PHP mengabaikan karakter spasi dalam sebuah operasi. Ekspresi $x = 5 + 9 dengan dengan $x=5+9 akan menghasilkan nilai yang sama. Penggunaan spasi disesuaikan dengan keinginan dari para user.
B.     Unary Operator
Tanda minus ( – ) digunakan dengan sebuah nilai numerik tunggal untuk menegatifkan sebuah bilangan (untuk membuat negatif bilangan postif atau membuat postif bilangan negatif).
C.    Variable Assignment Operator
Tanda sama dengan ( = ) digunakan untuk mengatur atau menetapkan nilai suatu variabel. Oleh karena itu tanda tersebut dikenal sebagai operator penugasan.
D.    Comparison Operator (Operator Perbandingan)
Operator perbandingan digunakan untuk menguji suatu kondisi. Ekspresi yang menggunakan operator perbandingan akan selalu menghasilkan nilai boolean, yaitu antara true (benar) atau false (salah).
Beberapa operator perbandingan yang lain adalah sebagai berikut :
Operator
Arti
Contoh
Dianggap benar (true) ketika :
= =
Sama dengan
$i = = $j
$i dan $j mempunyai nilai yang sama
<
Kurang dari
$i < $j
$i kurang dari $j
>
Lebih dari
$i > $j
$i lebih dari $j
<=
Kurang dari atau sama dengan
$i <= $j
$i kurang dari atau sama dengan $j
>=
Lebih dari atau sama dengan
$i >= $j
$i lebih dari atau sama dengan $j
!=
Tidak sama dengan
$i != $j
$i tidak sama dengan $j
< >
Tidak sama dengan
$i <> $j
$i tidak sama dengan $j
= = =
identik
$a = = = $b
Benar jika $a sama dengan $b, dan keduanya memiliki type data yang sama. (hanya dalam PHP4)
Ingat ! ! !
Tanda ( == ) merupakan operator perbandingan untuk menguji suatu variabel sedangkan tanda ( = ) adalah operator penugasan untuk memberikan nilai kepada suatu variabel. Perhatikan dua contoh dibawah ini.
Contoh salah !
$i = 3;
if($i = 5) print “lima”;         // akan mencetak lima. Pernyataan $i=3 akan diabaikan
$i = 3;
if(5 = $i) print “lima”;
/* parse error terdapat kesalahan. PHP berusaha memberikan nilai
$i kepada bilangan 7
*/
Contoh Benar !
$i = 3;
if($i == 5) print “lima”;
// $i == 5 menghasilkan nilai false (salah) sehingga pernyataan
// print “lima” tidak dijalankan.
$i = 3;
if(5 == $i) print “lima”;
// 5 == $i menghasilkan nilai false (salah) sehingga pernyataan
// print “lima” tidak dijalankan.
$a = “7″;
$b = 7.00;
print ($a == $b); // mencetak 1 (true)
print (($a == $b) and (gettype($a) == gettype($b))); // mencetak 0
E.     Logical Operator (Operator Logika)
Operator logika digunakan untuk mengkombinasikan kondisi, sehingga beberapa kondisi dapat dievaluasi atau diperiksa dalam sebuah ekspresi. Sebagai contoh logika AND akan bernilai true jika semua kondisi benar. Tabel berikut ini menunjukkan semua anggota dari operator logika :
Operator
Contoh
Bernilai benar jika
AND / and
$i && $j atau $i AND $j
$i dan $j bernilai benar
OR / or
$i || $j atau $i OR $j
Salah satu atau keduan variabel bernilai benar
XOR
$i XOR $j
Salah satu variabel bernilai benar, tetapi tidak keduanya benar
NOT
!$i
$i tidak bernilai benar
F.     String Concatenation Operator
Tanda titik ( . ) sebagai operator concatenate (penggabung) digunakan untuk menggabungkan dua atau lebih nilai string menjadi sebuah string tunggal.      
G.    Variable Assignment Shortcut
Pada PHP dimungkinkan untuk melakukan penggunaan jalan pintas untuk operator pada pernyataan penugasan dimana operand pertama adalah sebuah variabel dan hasilnya disimpan pada variabel yang sama.
Contoh
Ekivalen dengan
$x + = $y
$x = $x + $y
$x – = $y
$x = $x – $y
$x * = $y
$x = $x * $y
$x / = $y
$x = $x / $y
$x % = $y
$x = $x % $y
$x & = $y
$x = $x & $y
$x ! = $y
$x = $x ! $y
$x ^ = $y
$x = $x ^ $y
$x . = $y
$x = $x . $y
$x >> = $y
$x = $x >> $y
$x << = $y
$x = $x << $y
$x ++
$x = $x + 1
$x –
$x = $x – 1
2.2.5   Control Structures PHP
Skrip PHP terdiri dari rangkaian pernyataan. Sebuah pernyataan dapat berupa assignment, pemanggilan fungsi, sebuah loop, pernyataan kondisional atau bahkan pernyataan kosong. Pernyataan biasanya diakhiri dengan semikolon. Sebagai tambahan, pernyataan-pernyataan dapat dikelompokkan menjadi suatu kelompok pernyataan menggunakan kurung kurawal ( {} ). Sebuah kelompok pernyataan merupakan sebuah pernyataan juga.
A.    IF
Syntax : if (expr) statement
Contoh : – if ($a > $b) print “a is bigger than b”;
- Jika statemen lebih dari satu maka :
if ($a > $b) {
print “a is bigger than b”;
$b = $a;  }
B.     Else
if ($a > $b) {
print “a is bigger than b”;
} else {
print “a is NOT bigger than b”;  }
C.    Elseif
if ($a > $b) {
print “a is bigger than b”;
} elseif ($a == $b) {
print “a is equal to b”;
} else {
print “a is smaller than b”; }
D.    Switch
Pernyataan switch mirip dengan rangkaian pernyataan IF dengan ekspresi yang sama. Pernyataan switch digunakan untuk membandingkan variabel yang sama (atau ekspresi) dengan banyak nilai yang berbeda, dan menjalankan kode-kode yang berbeda tergantung pada nilai mana variabel tersebut sama.
Sangat penting untuk memahami bagaimana pernyataan switch dieksekusi agar terhindar dari kesalahan. Pernyataan switch dieksekusi per pernyataan. Di awal, tidak ada kode yang dieksekusi. Ketika pernyataan case sesuai dengan ekspresi pada switch, PHP mulai mengeksekusi pernyataan-pernyataan tersebut. PHP terus mengeksekusi pernyataan-pernyataan tersebut hingga akhir blok switch, atau pada saat pertama kali bertemu pernyataan break. Jika tidak ada pernyataan break, PHP akan mengeksekusi pernyataan-pernyataan pada case berikutnya.Pada pernyataan switch, kondisi (ekspresi) hanya diperiksa sekali dan hasilnya dibandingkan dengan setiap pernyataan case.
E.     While
Perulangan while merupakan perulangan yang paling sederhana di PHP. Bentuk dasar pernyataan while adalah :
while (expr) statement
Pada while, PHP mengeksekusi pernyataan-pernyataan bersarang (nested statement(s)) berulang-ulang, selama ekspresi yang dievaluasi bernilai benar (TRUE). Nilai ekspresi tersebut diperiksa setiap saat di awal perulangan. Jika hasil evaluasi ekspresi adalah salah (FALSE) sejak awal, pernyataan-pernyataan bersarang tersebut tidak akan dijalankan meskipun sekali.
F.     Do …. while
Perulangan do..while loops hamper sama dengan perulangan while, kecuali kebenaran ekspresi dicek di akhir iterasi. Perbedaan mendasar dari perulangan while adalah iterasi pertama pada do…while pasti akan dijalankan.
G.    For
Syntax : for (expr1; expr2; expr3) statement
Ekspresi pertama (expr1) dievaluasi (dieksekusi) sekali di awal perulangan. Di awal setiap iterasi, expr2 dievaluasi. Jika benar, perulangan dilanjutkan dan pernyataan-pernyataan bersarang dieksekusi. Jika salah, perulangan dihentikan. Di akhir setiap iterasi, expr3 dievaluasi (dieksekusi).
2.2.6   Array di PHP
Array sederhana
Dalam PHP, sebuah variabel dapat dinyatakan sebagai sebuah tempat untuk sebuah nilai tunggal. Sedangkan Array adalah sebuah tempat untuk sekumpulan nilai. Sebuah array terdiri dari sejumlah element, yang masing-masing memiliki sebuah nilai – data yang tersimpan pada elemen array tersebut – dan sebuah key atau index, dimana elemen tersebut dapat dirujuk. Normalnya, sebuah index berupa integer. Secara default, array adalah basis nol, artinya elemen pertama dari array memiliki index nol. akan tetapi index dapat juga berupa string.
Bentuk sederhana array terdiri dari serangkaian elemen yang bertanda dimulai dari nol dan bertambah secara sekuensial. Sebagai contoh sebuah array bernama $branch, setiap elemen berisi nama kota cabang sebuah perusahaan.
$branch[0] $banch[1] $ banch[2] $ banch[3] $ banch[4]
“Semarang” “Surabaya” “Medan” “bandung” “Yogyakarta”
Array dalam PHP dapat berisi elemen dari sejumlah tipe data yang berbeda. Artinya array dalam PHP tidak harus memiliki tipe data yang sama. Setiap elemen dapat berupa tipe data apa saja.
Ada tiga jenis array di PHP:
Ø  Numeric array – Array dengan dengan kunci ID numerik
Ø  Associative array – Array dimana setiap kunci ID berasosiasi dengan sebuah nilai
Ø  Multidimensional array – Array yang menyimpan satu atau lebih array
BAB III
PENUTUP
3.1  Simpulan
3.1.1MYSQL
MySQL termasuk salah satu database utama yang digunakan di Indonesia terutama di kalangan developer PHP. Ini disebabkan native integration antara PHP dan MySQL serta banyaknya hosting yang menyertakan kedua produk tersebut karena bebas lisensi dan sudah terbukti tangguh dan efisien. Penggunaan PHP dan MySQL dapat menjadikan dan memudahkan untuk pembuatan aplikasi secara gratis dan stabil (dikarenakan banyak komunitas developer PHP dan MySQL yang ber-kontribusi terhadap bugs)
MySQL (My Structure Query Language) atau yang biasa dibaca “mai-se-kuel” adalah sebuah program pembuat database yang bersifat open source dan berjalan di semua platform baik Windows maupun Linux. Selain itu, MySQL juga merupakan program pengakses database yang bersifat jaringan sehingga dapat digunakan untuk aplikasi Multi User (Banyak Pengguna). Sebagai sebuah program penghasil database, MySQL tidak dapat berjalan sendiri tanpa adanya sebuah aplikasi lain (interface). Oleh karena itu harus ada software pendukung antara lain PHP (Paper Hipertext Preposesor), Visual Delphi, Visual Basic, Cold Fusion, dan lain-lain.
MySQL memiliki layer utama seperti layer DOS yaitu memiliki prompt utama yang disebut mysql, tetapi sekarang ada suatu program dump yang dibuat seperti web berjalan di bawah server database yang disebut PhpMyAdmin. Untuk memprogram database lewat prompt harus paham dan hafal mengenai perintah query tetapi dengan PhpMyAdmin pengaksesan akan terasa singkat dan lebih mudah karena sudah ada grafik interface yang memudahkan dalam pembuatan database serta pengaksesan perintah-perintah Query.
3.1.2        Itegrasi PHP dengan MYSQL
Salah satu kelebihan unggulan dari PHP adalah mampu berkomunikasi dengan berbagai database terkenal, seperti dBASE, Informix, Interbase, Access, MSQL, MySQL, Oracle, PostgreSQL, Sybase, dan masih banyak lagi. Dengan demikian, untuk menampilkan data yang bersifat dinamis (yang diambil dari database), merupakan hal yang mudah untuk diimplementasikan. Itulah sebabnya sering dikatakan bahwa PHP sangat cocok untuk membangun halaman-halaman dinamis, baik di lingkungan web maupun WAP.
PHP sudah menyediakan fungsi-fungsi bawaan (built-in) untuk mengakses database dan menampilkan data-data yang terdapat didalamnya. Selain itu, PHP juga bisa memasukkan perintah-perintah SQL untuk pengolahan database lebih lanjut, seperti untuk menambah, menghapus, mencari dan mengedit data yang terdapat di database. Untuk mengintegrasikan PHP dengan database di server MySQL, dibutuhkan dua fungsi utama, yaitu:
1.      Fungsi mysql_connect ($hostname, $username, $password);
Untk koneksi ke server MySQL dengan alamat $hostname, login $username, dan password $password. Jika parameter nama hostname tidak dideklarasikan, otomatis akan berisi localhost. Koneksi ke database akan secara otomatis terputus pada saat skrip program selesai dieksekusi seluruhnya, kecuali diberikan fungsi mysql_close( ). Fungsi mysql_connect( ) akan menghasilkan nilai true, jika koneksi berhasil dilakukan dan nilai false jika koneksi gagal.
2.      Fungsi mysql_select_db ($nama_database);
Untuk menghubungkan database yang bernama $nama_database;
3.2  Saran
Ø  Untuk Penerbit
Diharapkan bagi penerbit-penerbit buku agar menerbitkan buku-buku terbaru mengenai “MYSQL dan PHP, buku-buku tentang Teknologi Informasi” Karena penulis merasa masih kurang lengkap mencari buku-buku sumber yang berhubungan dengan pembahasan Karya Tulis Ilmiah yang dibuat, dan untuk memperdalam ilmu bagi yang membutuhkannya.
Ø  Untuk Pembaca
Agar para pembaca tertarik untuk membaca Karya Tulis Ilmiah yang Penulis susun. Sehingga pembaca bisa  mengambil hikmahnya dan bersedia untuk mengajarkan atau membagi ilmu pada orang lain. Karena ilmu tidak akan berkurang jika dibagikan, justru akan semakin berkembang.

Referensi
http://dinifathuljanah.blogspot.com

DBMS(Database Management System)

KATA PENGANTAR Tidak dapat dipungkiri bahwa produk database sangat dibutuhkan dalam setiap pengembangan sistem informasi. Dengan database, setiap organisasi dapat menyimpan dan menstrukturkan data mereka dalam bentuk elektronik yang tersimpan dalam suatu mesin komputer server.
Dengan semakin banyak dan beragamnya produk database yang ada di pasaran saat ini, menuntut siapa saja untuk dapat memahami keunggulan dan kekurangan dari tiap-tiap produk agar dapat memenuhi kebutuhan yang ada.
Salah satu produk database server yang sangat berkualitas dan terbukti sudah banyak digunakan diseluruh dunia adalah database Oracle.

Saat ini, produk database Oracle telah mencapai versi 10g (grid), yang di dalamnya mengusung teknologi terkini yaitu grid computing yang diterapkan dalam layanan database.
Belum ada produk database, selain Oracle, yang mampu memberikan solusi terpadu dan komplit untuk menangani segala macam kebutuhan database.
                                                                                                            Jakarta, 24 Oktober 2012
                                                                                                                       



                                                                                                                         Penulis
                                                                                ii
DAFTAR ISI
Bab I : Pendahuluan
A.Latar Belakang
B.Tujuan Belajar
Bab II : Pembahasan
1. Pengantar Basis Data

Sistem File Tradisional
Sistem Basis Data
Definisi Enterprise, Tuple, dan Derajat (Degree)

Pengguna Basis data
Keuntungan Sistem Basis Data
Kelemahan Sistem Basis Data
Konsep dan Model Basis Data
Komponen Bahasa dalam DBMS

Konsep Basis Data
Analogi ≈ Lemari Arsip
Operasi Dasar Basis data
Bab III: PENUTUP
PENUTUP
Daftar Pustaka

                                                                                       iii
BAB1
PENDAHULUAN

A.Latar Belakang
Basis data (bahasa Inggris: database), atau sering pula dieja basis data, adalah kumpulan informasi yang disimpan di dalam komputer secara sistematik sehingga dapat diperiksa menggunakan suatu program komputer untuk memperoleh informasi dari basis data tersebut. Perangkat lunak yang digunakan untuk mengelola dan memanggil kueri (query) basis data disebut sistem manajemen basis data (database management system, DBMS). Sistem basis data dipelajari dalam ilmu informasi.
Istilah “basis data” berawal dari ilmu komputer. Meskipun kemudian artinya semakin luas, memasukkan hal-hal di luar bidang elektronika, artikel ini mengenai basis data komputer. Catatan yang mirip dengan basis data sebenarnya sudah ada sebelum revolusi industri yaitu dalam bentuk buku besar, kuitansi dan kumpulan data yang berhubungan dengan bisnis.
Konsep dasar dari basis data adalah kumpulan dari catatan-catatan, atau potongan dari      pengetahuan. Sebuah basis data memiliki penjelasan terstruktur dari jenis fakta yang tersimpan di dalamnya: penjelasan ini disebut skema. Skema menggambarkan obyek yang diwakili suatu basis data, dan hubungan di antara obyek tersebut. Ada banyak cara untuk mengorganisasi skema, atau memodelkan struktur basis data: ini dikenal sebagai model basis data atau model data.
Model yang umum digunakan sekarang adalah model relasional, yang menurut istilah layman mewakili semua informasi dalam bentuk tabel-tabel yang saling berhubungan dimana setiap tabel terdiri dari baris dan kolom (definisi yang sebenarnya menggunakan terminologi matematika). Dalam model ini, hubungan antar tabel diwakili denga menggunakan nilai yang sama antar tabel. Model yang lain seperti model hierarkis dan model jaringan menggunakan cara yang lebih eksplisit untuk mewakili hubungan antar tabel.
Istilah basis data mengacu pada koleksi dari data-data yang saling berhubungan, dan perangkat lunaknya seharusnya mengacu sebagai sistem manajemen basis data (database management system/DBMS). Jika konteksnya sudah jelas, banyak administrator dan programer menggunakan istilah basis data untuk kedua arti tersebut.
B.Tujuan Belajar

• Memehami masalah-masalah operasional yang ada dalam pendekatan file datar terhadap manajemen data, yang melahirkan konsep basis data.
• Memahami relasi di antara elemen-elemen yang membentuk lingkungan basis data.
• Memahami relasi di anomali-anomali yang disebabkan oleh basis yang tidak dinormalisasi dan kebutuhan akan normalisasi basis data.
• Mengetahui tahap-tahap dalam desain basis data, termasuk identifikasi konseptual, pemodelan data, kontruksi basis data fisik, dan penyiapan pandangan pengguna.
BAB II
PEMBAHASAN
1. Pengantar Basis Data

• Sistem File Tradisional
Sebelumnya, sistem yang digunakan untuk mengatasi semua permasalahan bisnis, menggunakan pengelolaan data secara tradisional dengan cara menyimpan record-record pada file-file yang terpisah yang disebut juga sistem pemrosesan file.

• Sistem Basis Data
Seiring dengan berjalannya waktu, sistem pemrosesan file ditinggalkan karena masih bersifat manual yang kemudian dikembangkan sistem pemrosesan dengan pendekatan basis data.

Perbedaan antara File Manajemen tradisional dan File Manajemen Database
File Manajemen Tradisional : File Manajemen Database :
1. Program Oriented 1. Data Oriented
2. Kaku 2. Luwes
3. Adanya kerangkapan data 3. Terkontrolnya kerangkapan data

• Definisi Enterprise, Tuple, dan Derajat (Degree)
-Enterprise
Adalah suatu bentuk organisasi seperti bank, universitas, rumah sakit, pabrik dan sebagainya.

-Tuple
Tuple merupakan baris pada sebuah relasi atau kumpulan elemen-elemen yang saling berkaitan menginformasikan tentang suatu entitas secara lengkap. Satu record mewakili satu data atau informasi tentang seseorang, misalnya : NPM, nama mahasiswa, alamat, kota, dll.

-Derajat (Degree)
Adalah jumlah atribut yang dimiliki oleh sebuah table atau relasi.

-Atribut
Atribut merupakan kolom pada sebuah relasi. Setiap entitas pasti memiliki aribut yang mendeskripsikan karakter dari entitas tersebut. Penentuan atau pemilihan atribut-atribut yang relevan bagi sebuah entitas merupakan hal penting dalam pembentukan model data
-Domain
Kumpulan nilai yang valid untuk satu atau lebih atribut

-Cardinality
Jumlah tupel dalam sebuah relasi

-Super key
Satu atribut / kumpulan atribut yang secara unik mengidentifikasi sebuah tuple di dalam relasi

-Primary key
Merupakan satu atribut atau satu set minimal atribut yang tidak hanya mengidentifikasikan secara unik suatu kejadian spesifik, tapi juga dapat mewakili setiap kejadian dari suatu entitas. Candidate key yang dipilih untuk mengidentifikasikan tuple secara unik dalam relasi. Setiap kunci candidate key punya peluang menjadi primary key, tetapi sebaiknya dipilih satu saja yang dapat mewakili secara menyeluruh terhadap entitas yang ada.

- Pengguna Basis data
-  Kepegawaian
-  Pergudangan (inventory)

-  Akuntansi
-  Reservasi

- Perbankan
- Asuransi
-  Rumah Sakit
-  Produsen Barang
-  Industri Manufaktur
-  Pendidikan/Sekolah
-  Telekomunikasi
2. Keuntungan
Kecepatan dan Kemudahan (Speed)
-  Memungkinkan kita untuk dapat menyimpan dan melakukan perubahan/manipulasi terhadap data atau menampilkan kembali data tersebut dengan lebih cepat dan mudah.
Kebersamaan Pemakaian (Sharability)
-  Pemakai basisdata tidak terbatas, pengisian data dapat dilakukan oleh beberapa orang dalam satu lokasi.
Pemusatan Kontrol Data
-  Data yang ada menjadi terpusat pada satu tempat penyimpanan. Sehingga kita dapat mengaksesnya kapan saja.
Efisiensi Ruang Penyimpanan (Space)
-  Tidak adanya redundansi data sehingga efisiensi/optimalisasi penggunaan ruang penyimpanan dapat dilakukan. Penekanan jumlah redundasi data, dilakukan dengan menerapkan sejumlah pengkodean atau membuat relasi antar kelompok data yang saling berhubungan.
Keakuratan (Accuracy)
-  Pemanfaatan pengkodean dengan batasan tertentu, yang membuat satu data menjadi unik dan berbeda dengan yang lain, sehingga ketika menyimpan data tidak akan ada data yang sama dalam penyimpanan.
Ketersediaan (Availability)
-  karena kepentingan pemakaian data, sebuah basis data dapat memiliki data yang disebar di banyak lokasi. Dengan pemanfaatan teknologi jaringan computer, data nasabah yang berada di suatu cabang sebuah bank dapat diakses (menjadi tersedia/availibility) di cabang lainnya.
-  Keamanan (Security)
Adanya password setiap pemakai basis data. Kita juga dapat menentukan siapa saja yang boleh mengakses data penting atau data biasa . Kemudahan dalam Pembuatan Program Aplikasi Baru
-  Data yang disimpan dalam di eksport ke program aplikasi lain dengan menjamin terjaga/terpeliharanya data.
User View
• Pemakai dapat melihat langsung bentuk tampilan penginputan data, sehingga memudahkan pemakai dlm mengelola data.
Kelemahan Sistem Basis Data

1. Memerlukan tenaga spesialis
2. Kompleks
3. Memerlukan tempat yang besar
4. Mahal

4. Konsep dan Model Basis Data
• Model data Berbasis Record
Model data adalah kumpulan konsep yang terintegrasi yang menggambarkan data, hubungan antara data dan batasan-batasan data dala suatu organisasi. Fungsi dari sebuah model data untuk merepresentasikan data sehingga data tersebut mudah dipahami.

Untuk menggambarkan data pada tingkat eksternal dan konseptual digunakan model data berbasis objek atau model data berbasis record.
1. Model Data Berbasis Objek
Model data berbasis objek menggunakan konsep entitas, atribut dan hubungan antar entitas. Beberapa jenis model data berbasis objek yang umum adalah :
– entity-relationship
– semantic
– functional
– object-oriented
2. Model Data Berbasis Record
Pada model data berbasis record, basis data terdiri dari sejumlah record dalam bentuk yang tetap yang dapat dibedakan dari bentuknya. Ada 3 macam jenis model data berbasis record yaitu :
– model data relasional (relational)
– model data hierarkhi (hierarchical)
– model data jaringan (network)
Komponen Bahasa dalam DBMS

Data Definition Language (DDL)
Struktur / skema basis data yang menggambarkan / mewakili desain  basis data secara keseluruhan dispesifikasikan dengan bahasa khusus yaitu  DDL. Dengan bahasa ini kita dapat membuat tabel (create table) baru, indeks, mengubah table, menentukan struktur penyimpanan table, dan lainnya. Hasil  dari kompilasi perintah DDL, adalah kumpulan table yang disimpan dalam file  khusus yang disebut kamus data (data dictionary).

Data Manipulation Language (DML)
Bentuk bahasa basis data untuk melakukan menipulasi dan pengambilan  data pada suatu basis data. Manipulasi data pada dabase dapat berupa :
1). Penyisipan / penambahan data pada file / table dalam suatu basis data.
2). Penghapusan data pada file / table dalam suatu basis data.
3). Pengubahan data pada file / table dalam suatu basis data.
4). Penelusuran data pada file / table dalam suatu basis data.

• Konsep Basis Data
Basis data terdiri dari dua kata yaitu basis dan data. Basis dapat diartikan sebagai tempat berkumpul, markas atau sarang, sedangkan data suatu fakta dari dunia nyata yang mewakili suatu objek seperti kaset ( lagu, penyanyi, pencipta dan lain-lain ) atau kendaraan (mobil, motor, bus, dan lain-lain). Basis data dan lemari kaset memiliki prinsip kerja dan tujuan yang sama, yaitu pengaturan, kemudahan dan kecepatan dalam pengambilan suatu objek.

Pengaturan yang dilakukan pada lemari kaset merupakan pengaturan secara manual di mana pengaturan tersebut dapat diaplikasikan dalam ke dalam suatu data abstrak yang berisi karakteristik dari suatu kaset dan disimpan didalam suatu basis data atau tempat penyimpanan data tau file. Sehingga perbedaannya ada pada media penyimpanannya. Basis data menggunakan media penyimpanan elektronis sedangkan kaset menggunakan lemari untuk media penyimpanannya. Perbedaan ini akan mengakibatkan perbedaan-perbedaan lainnya seperti jenis metode cara yang digunakan dalam upaya penyimpanan atau jumlah yang akan disimpan.
Sebuah basis data dapat dipandang sebagai suatu jenis filing cabinet elektronik yang disebut juga sebuah tempat penyimpanan untuk files data yang terkomputerisasi.
n Analogi ≈ Lemari Arsip
Operasi Dasar Basis data
1. Pembuatan basis data (create database)
2. Penghapusan basis data (drop database)
3. Pembuatan file/tabel (create table)
4. Penghapusan file/tabel (drop table)
5. Pengubahan tabel (Update …)
6. Penambahan/pengisian (Insert …)
7. Pengambilan data (Retrieve/search)
BAB III
PENUTUP

Kesimpulan Basis data atau juga disebut database artinya berbasiskan pada data, tetapi secara konseptual, database diartikan sebuah koleksi atau kumpulan data-data yang saling berhubungan (relation), disusun menurut aturan tertentu secara logis, sehingga menghasilkan informasi. Untuk mengelola dan memanggil query basis data agar dapat disajikan dalam berbagai bentuk yang diinginkan dibutuhkan perangkat lunak yang disebut Sistem Manajemen Basis Data atau juga disebut Database Management System (DBMS). Penggabungan Database Management System (DBMS) dengan Basis Data akan membentuk satu kesatuan yang disebut Sistem Basis Data.
Komponen dasar dalam pembuatan basis data dengan adanya data, hardware, software, dan user. Istilah-istilah dalam basis data juga seyogyanya kita tahu, yaitu: enterprise, entitas, atribut, nilai data, kunci elemen data, record data.
DAFTAR PUSTAKA
http://anda0404.blogspot.com/2010/10/makalah-basis-data_02.html
http://olanarsyad.blogspot.com/2011/01/bab1-pendahuluan.html
http://www.uchan.or.id/isi/simse.pdf

NORMALISASI



KATA PENGANTAR
Puji syukur kehadirat tuhan yang maha ESA yang telah memberi rahmat serta karunia-NYA kepada kami sehingga kami dapat menyusun makalah ini tepat pada waktunya.Makalah ini berisi tentang NORMALISASI yang menjelaskan tentang suatu proses untuk mengubah suatu tabel yang memiliki  masalah tertentu  ke dalam dua buah tabel atau lebih.Yang insya ALLAH makalah ini dapat memberikan informasi yang bermanfaat kepada kita semua. Dan mungkin makalah ini masih banyak kekurangannya, sehingga kritik dan saran yang dapat menyempurnakan makalah ini yang kami harapkan.
Akhir kata kami ucapkan terimakasih semoga ALLAH SWT member segala berkahnya kepada kami, Amin.
PENDAHULUAN
    LATAR BELAKANG
Normalisasi adalah suatu proses untuk mengidentifikasi tabel kelompok atribut yang memiliki ketergantungan sangat tinggi antara satu atribut dengan aribut lainnya. Normalisasi bisa di sebut juga sebagai proses pengolompokan atribut-atribut dari suatu relasi sehingga membentuk “Well Stuructured Relation”.
1.  Definisi
Normalisasi adalah suatu proses memperbaiki/membangun data dengan model data relasional dan secara umum lebih tepat di koneksikan dengan data model logical Normalisasi adalah proses pengelompokan data ke dalam bentuk tabel atau relasi atau file untuk menyatakan entitas dan hubungan mereka, sehingga terwujud satu bentuk basis data yang mudah untuk di modifikasi
Normalisasi adalah suatu proses untuk mengidentifikasi tabel kelompok atribut yang memiliki ketergantungan sangat tinggi antara satu atribut dengan aribut lainnya.
Normalisasi bisa di sebut juga sebagai proses pengolompokan atribut-atribut dari suatu relasi sehingga membentuk “Well Stuructured Relation”.Well Stuructured Relation adalah sebuah relasi yang kerangkapan datanya sedikit (Minimum Amount Of Redudancy), serta memberikan kemungkinan bagi pemakai untuk melakukan  insert, Delete, Modify terhadap baris-baris data pada relasi tersebu,yang tidak berakibat terjadinya error atau inconsistency data yang disebabkan oleh operasi-operasiyang di berikan oleh pemakai.
 2. Proses
Teknik normalisasi adalah proses pengelompokan data element menjadi tabel-tabel yang entity dan relasi.Proses pembentukan tabel normal penuh (normalisasi)bertujuan untuk Membuat sekecil mungkin terjadinya data rangkap
1.     Menghindari data yang tidak konstan terutama bila dilakukan penambahan dan penghapusan data sebagai akibat adanya data rangkap
2.     Menjamin bahwa identitas tabel secara tunggal sebagai determinan semua atributProses normalisasi juga digunakan pada beberapa operasi yang berhubungan dengan data record yaitu
a.   Operasi penambahan (insert)
b. Operasi penghapusan (delete)
Teknik normalisasi adalah proses pengelompokan data element menjadi tabel-tabel yang entity dan relasi.Proses pembentukan tabel normal penuh (normalisasi)bertujuan untuk Membuat sekecil mungkin terjadinya data rangkap
1.     Menghindari data yang tidak konstan terutama bila dilakukan penambahan dan penghapusan data sebagai akibat adanya data rangkap
2.     Menjamin bahwa identitas tabel secara tunggal sebagai determinan semua atributProses normalisasi juga digunakan pada beberapa operasi yang berhubungan dengan data record yaitu
a.   Operasi penambahan (insert)
b.   Operasi penghapusan (delete)
c.   Operasi pengubahan (update)
d.   Operasi pembacaan data
Apabila terjadi kesulitan saat proses data maka tabel-tabel di pecahkan menjadi beberapa tabel yang merupakan hasil pengolompokan data berdasarkan entiti masing-masing.
Syarat dalam melakukan normaliasi
a.   Adanya field (attribute kunci)
b. Berdasarkan kepada ketergantungan fungsi
3. Tahapan
Proses noramalisasi secara umum di bagi dalam 5 tahap sehingga di kenal bentuk-bentuk tabel normal sesuai dengan tahapan normalisasi yang telah dilakukan yaitu bentuk normal pertama, Kedua, ketiga, keempat,dan  kelima
1.   Bentuk tidak normal
Bentuk tidak normal adalah kumpulan data yang tidak disimpan tidak mempunyai format tertentu, data disimpan apa adanya sesuai masukan yang di peroleh.
Dalam bentuk ini data mungkin saja tidak lengkap tidak konsisten / terduplikasi
2.   Bentuk normal ke1 (1NF=first normalized form)
Bentuk normal ke pertama dicapai apabila setiap nilai atribut adalah tunggal
Ciri-cirinya
a.   File dibentuk dalam bentuk flat file
b. Fieldnya berupa atomic value yang artinya data tidak bisa dipecahkan ke bentuk yang lebih kecil
c. Tidak ada file yang sama
d. Setiap fieldnya mempunyai satu penger
3. Bentuk normal ke-2(2NF=second normalized form)
Bentuk normal ke-2 dicapai apabila atribute yang di jadikan identitas benar-benar sebagai deterniman dari semua attribute
Syarat-syaratnya
a. Bentuk ke-2 di capai jika tabel sudah membentuk normal ke-1
b. Atribut bukan kunci harus bergantung secara fungsi pada kunci pertama
c. Menentukan field-field kunci-kunci bisa berupa primary key, kandidat key, dll
4. Bentuk normal ke-3 (3NF=third normalized form)
Bentuk normal ke-3 adalah bentuk normal ke-2 tanpa terjadi adanya ketergantungan transitif determinan.
Syarat-syarat
a.   Tabel sudah harus berbentuk normal ke-2
b.   Atribut bukan primer tidak tergantung secara transitif determinan terhadap kunci primernya
CONTOH KASUS
1) diberikan tabel mahasiswa di bawah ini akan dilakukan normalisasi sampai bentuk normal ketiga

Perhatikan bahwa tabel di atas sudah dalam bentuk normal ke-1(1NF)
2) Bentuk norma kedua (2NF)
Memenuhi kriteria 3NF, karena atribut non-key nilai dan bobot masih memiliki ketergantungan fungsional
3) Bentuk normal ke-tiga (3NF)

KESIMPULAN
Teknik normalisasi adalah proses pengelompokan data element menjadi tabel-tabel yang entity dan relasi.Proses pembentukan tabel normal penuh (normalisasi)bertujuan untuk:
Membuat sekecil mungkin terjadinya data rangkap
1.     Menghindari data yang tidak konstan terutama bila dilakukan penambahan dan penghapusan data sebagai akibat adanya data rangkap
2.     Menjamin bahwa identitas tabel secara tunggal sebagai determinan semua atribut
Proses normalisasi juga digunakan pada beberapa operasi yang berhubungan dengan data record yaitu
a.   Operasi penambahan (insert)
b.   Operasi penghapusan (delete)
c.   Operasi pengubahan (update)
d.   Operasi pembacaan data
Apabila terjadi kesulitan saat proses data maka tabel-tabel di pecahkan menjadi beberapa tabel yang merupakan hasil pengolompokan data berdasarkan entiti masing-masing.
Syarat dalam melakukan normaliasi
a.   Adanya field (attribute kunci)
b. Berdasarkan kepada ketergantungan fungsi
KATA PENUTUP
Demikian pembahasan mengenai makalah ini, yang mana di balik ini semua masih banyak kelemahan dan kekurangan. Dengan ini kami mengharapkan pengertian dari para pembaca yang budiman untuk dapat memberi saran yang berkaitan dengan pokok pembahasan mengenai materi ini.  Semoga di kemudian hari kami dapat dan lebih menyempurnakan makalah ini dengan baik, dan tentunya dapat berguna bagi penulis dan pembaca makalah ini.
 REFERENSI
http://www.google.com
Kadir, Abdul. (2003). Pengenalan Sistem Informasi. Penerbit Andi.
Kadir, Abdul. (2003). Pengenalan Sistem Informasi. Penerbit Andi. Yogyakarta
Simarmata, Janner. (2007). Perancangan Basisdata. Penerbit Andi. Yogyakarta
http://ragustia.blogspot.com