MODUL 12 PHP&MYSQL RELATIONAL DATABASE PEMROGRAMAN WEB 2 TEKNIK INFORMATIKA UNIVERSITAS PASUNDAN BANDUNG 2015/2016
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
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
- 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
- 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
- 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
- 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
- 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
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. sandhikagalih@unpas.ac.id TEKNIK INFORMATIKA Universitas Pasundan Bandung 8