MODUL 12 – PHP&MYSQL RELATIONAL DATABASE
PEMROGRAMAN WEB 2 TEKNIK INFORMATIKA UNIVERSITAS PASUNDAN BANDUNG 2015/2016
[MODUL 12 – PHP&MYSQL]
Pada modul kali ini kita akan mengubah struktur dari tabel mahasiswa di dalam database, dan juga menambahkan 2 tabel baru yaitu tabel jurusan dan universitas. Hal tersebut dilakukan karena tabel mahasiswa tidak melalui tahap normalisasi, juga agar pada saat user / admin menginputkan data mahasiswa baru, tidak mengisikan jurusan dan universitas secara ‘manual’ melainkan memilihnya menggunakan combo-‐box.
Persiapan Hal pertama yang harus kalian lakukan adalah membuat sebuah folder dengan nama “Modul12”. Lalu kita akan meng-‐copy-‐kan file-‐file hasil akhir dari modul 11 minggu lalu, atau kalian bisa menggunakan source-‐code-‐modul-‐12-‐awal.zip (download dari website pw2). Lakukan hal yang sama untuk source code pada kasus kalian sendiri.
Membuat 2 tabel baru -‐ Buka phpmyadmin kalian, masuk ke database kalian masing-‐masing, lalu kita buat tabel baru dengan nama ‘jurusan’, lalu buatlah struktur berikut.
-‐ Jangan lupa untuk menambahkan atribut primary untuk index pada id_jurusan, dan juga ceklis A_I agar id tersebut auto increment -‐ Isi tabel jurusan tersebut dengan 5 data baru.
-‐ Buat tabel baru dengan nama ‘universitas’, lalu lakukan hal yang sama dengan tabel ‘jurusan’
TEKNIK INFORMATIKA | Universitas Pasundan Bandung 1
[MODUL 12 – PHP&MYSQL]
Mengubah struktur tabel ‘mahasiswa’ -‐ Sebelum kita me-‐relasi-‐kan ketiga tabel yang sudah dibuat, kita akan mengubah terlebih dahulu struktur dari field jurusan dan universitas pada tabel ‘mahasiswa’ agar sesuai dengan id pada tabel ‘jurusan’ dan ‘universitas’ -‐ Ini dilakukan agar field jurusan dan universitas pada tabel ‘mahasiswa’ bertindak sebagai foreign key dari tabel ‘jurusan’ dan ‘universitas’. -‐ Buka struktur tabel mahasiswa, lalu tekan tombol change pada field jurusan
-‐ Ubah type dan lengthnya agar sesuai dengan id_jurusan pada tabel ‘jurusan’
-‐ Beri atribut index pada field jurusan
-‐ Tekan tombol index di sebelah kanan field jurusan, jika kalian tidak menemukannya, kalian bisa klik tombol ‘more’ dan cari di dalamnya -‐ Tekan OK jika ada popup konfirmasi
TEKNIK INFORMATIKA | Universitas Pasundan Bandung 2
[MODUL 12 – PHP&MYSQL]
-‐ Lakukan hal yang sama untuk tabel ‘universitas’
-‐ Untuk mengecek sudah benar atau belum, kalian bisa klik kembali tab / menu ‘structure’
-‐ Lalu klik tombol +index yang ada di bagian bawah
-‐ Jika, benar maka akan tampil seperti ini
-‐ Pemberian index ini dilakukan agar kita bisa mengubungkan tabel mahasiswa dengan kedua tabel yang baru dibuat dan menjadikannya sebagai foreign key
Mengubah isi data jurusan dan universitas pada tabel mahasiswa -‐ Karena struktur field jurusan dan universitas pada tabel mahasiswa sudah kita ubah, maka data yang sudah kita isikan sebelumnya ikut berubah juga
TEKNIK INFORMATIKA | Universitas Pasundan Bandung 3
[MODUL 12 – PHP&MYSQL]
-‐ Karena tidak ada id_jurusan dan id_universitas yang memiliki nilai 0 (lihat di tabel jurusan dan universitas), maka kita harus mengganti secara manual nilai-‐nilai 0 tersebut agar sesuai dengan id yang ada di tabel jurusan dan universitas *silahkan diganti dengan sembarang*
Memberikan relasi antar tabel (foreign key) -‐ Masuk ke struktur tabel ‘mahasiswa’ dan tekan tombol relation view di bagian bawah
-‐ Tampilan berikut digunakan untuk menghubungkan tabel-‐tabel yang sudah dibuat
-‐ Pada kolom jurusan, pilih kolom keduanya agar terhubung ke tabel jurusan dan foreign keynya adalah id_jurusan -‐ Pilih SET NULL pada ON DELETE dan ON UPDATE
TEKNIK INFORMATIKA | Universitas Pasundan Bandung 4
[MODUL 12 – PHP&MYSQL]
-‐ Pemilihan pada ON DELETE dan ON UPDATE dilakukan berdasarkan apa yang akan kita lakukan pada saat data di tabel jurusan mengalami perubahan atau penghapusan • Jika kita pilih CASCADE maka jika data berubah / dihapus pada tabel jurusan, maka data mahasiswa yang memiliki jurusan yang sama akan ikut berubah / terhapus • Jika kita pilih SET NULL maka jika data berubah / dihapus pada tabel jurusan, maka data mahasiswa yang memiliki jurusan yang sama akan di-‐set nilainya jadi NULL • Jika kita pilih NO ACTION maka jika data berubah / dihapus pada tabel jurusan, maka data mahasiswa yang memiliki jurusan yang sama tidak akan terpengaruhi • Jika kita pilih RESTRICT maka kita tidak bisa menghapus / mengubah data jurusan apabila ada mahasiswa yang memiliki jurusan tersebut -‐ Lakukan hal yang sama untuk tabel universitas
-‐ Saat ini database sudah selesai kita relasikan, namun sekarang timbul masalah pada saat menampilkan datanya, coba buka halaman index modul12 di localhost.
TEKNIK INFORMATIKA | Universitas Pasundan Bandung 5
[MODUL 12 – PHP&MYSQL]
-‐ Data jurusan yang tampil berupa angka bukan namanya.
-‐ Setelah ini kita harus ubah string query agar yang tampil adalah namanya bukan id nya
Mengubah query dengan menggabungkan 3 buah tabel -‐ Ubah query untuk halaman index.php pada user
-‐ Menjadi ini,
TEKNIK INFORMATIKA | Universitas Pasundan Bandung 6
[MODUL 12 – PHP&MYSQL]
-‐ Selesai! Sekarang, lakukan hal yang sama untuk halaman profile.php pada user, index.php dan ubah.php pada admin agar datanya tampil dengan benar
Memperbaiki halaman tambah.php pada admin -‐ Pada halaman tambah ini kita akan menampilkan data jurusan dan universitas menggunakan combo box, agar admin tidak perlu mengisikan secara manual data-‐data tersebut -‐ Buka halaman tambah.php, dan tambahkan baris berikut di bagian atas halaman untuk mengambil data jurusan dan universitas dari database
-‐ Ubah bagian input jurusan yang tadinya seperti ini:
-‐ Menjadi,
-‐ Lakukan hal yang sama untuk universitas
TEKNIK INFORMATIKA | Universitas Pasundan Bandung 7
[MODUL 12 – PHP&MYSQL]
Memperbaiki halaman ubah.php pada admin -‐ Buka halaman ubah.php, sama seperti halaman tambah, tambahkan baris berikut di bagian atas halaman untuk mengambil data jurusan dan universitas dari database
-‐ Ubah bagian input jurusan yang tadinya seperti ini:
-‐ Menjadi,
-‐ Lakukan hal yang sama untuk universitas -‐ SELESAI!!
Pengumpulan -‐ Kompres (zip / rar) folder ‘modul12’ beri nama dengan modul12-‐nrp.zip/rar lalu kirimkan ke asisten masing-‐masing -‐ File yang dikirimkan merupakan file dari kasus kalian masing-‐masing (film, buku atau karyawan) -‐ Jangan lupa juga untuk menyertakan file .sql yang sudah di-‐export pada saat pengumpulan, bukan hanya mengumpulkan file-‐file web-‐nya saja. = Selamat Mencoba dan Belajar = Jangan malu bertanya kepada Dosen dan Asisten bila ada materi yang kurang dipahami.
[email protected]
TEKNIK INFORMATIKA | Universitas Pasundan Bandung 8