Anda di halaman 1dari 24

Pertemuan 5

Basis Data, Migration, dan Seeding


Basis data bisa dipahami sebagai suatu
kumpulan data terhubung (interrelated data)
yang disimpan dengan bersama-sama pada
suatu media

Pada Laravel, interaksi dengan basis data dibuat dengan


sangat sederhana di berbagai basis data menggunakan SQL,
query dan Eloquent ORM. Saat ini Laravel dapat mendukung
4 aplikasi sistem manajemen basis data, yaitu:
1. MySQL.
2. PostgreSQL.
3. SQLite.
4. SQL Server
Konfigurasi Koneksi Basis Data
Laravel sudah menyediakan file konfigurasi basis data yang disimpan
pada direktori config/database.php yang isinya seperti dibawah ini:
File tersebut berfungsi untuk menyimpan konfigurasi koneksi
database aplikasi Laravel, pada file tersebut ada beberapa
opsi driver database apa yang akan digunakan seperti mysql,
pgsql untuk postgreSQL, sqlite dan sqlsrv untuk MSSQL. Kode
di atas merupakan konfigurasi untuk mysql, isikan host dengan
host server mysql kita, misalnya 127.0.0.1 atau localhost,
kemudian isikan user dan password untuk mysql di host
tersebut, kemudian isi nama database yang akan kita
gunakan.
Metode Dalam Berinteraksi Dengan Basis Data pada
Laravel

Metode berinteraksi dengan basis data pada laravel terbagi menjadi dua
kelompok, yaitu:
1. Code First
Pada metode ini pemrogram tidak perlu merancangan, membuat basis
data bahkan memasukkan data awal melalui aplikasi yang biasa
digunakan seperti phpMyAdmin, Terminal, Adminer, dll. Perancangan dan
pembuatan basis data dapat dilakukan dengan memanfaatkan fitur yang
terdapat pada laravel yang disebut Migration, sedangkan input data awal
dapat dilakukan menggunakan fitur Seeding.
2. Database First.
Metode ini dilakukan jika sudah memiliki basis data, tabel dan skemanya
sehingga dapat langsung menggunakannya tanpa harus membuat basis
data baru. Jika ingin menggunakan metode ini maka tidak perlu
melakukan Migration dan Seeding.
Migration

Migration adalah sebuah fitur yang berfungsi sebagai Control


Version System untuk basis data yang memungkinkan mengelola
basis data dengan lebih mudah. Artinya dengan migration kita
dapat membuat, mengubah atau menghapus struktur tabel dan
field basis data tanpa membuka aplikasi GUI manajemen basis
data seperti phpMyAdmin, SQLYog atau terminal
Membuat Tabel dengan Migration
1. Aktifkan service Server dan basis data melalui Xampp-Control
dengan cara klik Start pada module Apache dan MySQL.
2. Buka phpMyAdmin melalui web browser, ketik pada url
localhost/phpMyAdmin.
3. Klik Tab Basis Data pada konten PhpMyAdmin, kemudian akan
tampil halaman Buat Basis Data.
4. Pada kolom Nama Basis Data, masukkan nama basis data
dbpa1, lalu klik Buat/Create.
5. Maka akan muncul basis data baru dengan nama dbpa1 seperti
gambar dibawah ini.
Setelah basis data berhasil dibuat berikutnya membuat tabel dengan
menggunakan fitur migration laravel. Pertama buat file migration dimana file
ini dapat dieksekusi agar dapat mengubah struktur tabel sesuai dengan
perintah yang dituliskan pada file tersebut. Untuk membuat file migration
dilakukan dengan menuliskan perintah dengan format seperti dibawah ini
pada terminal

Format : php artisan make:migration NamaMigration


Tuliskan perintah dibawah ini pada terminal untuk membuat file migration dengan
nama Mahasiswa.

php artisan make:migration Mahasiswa


Jika berhasil dijalankan maka akan tampil notifikasi seperti gambar dibawah ini:
setelah dieksekusi akan menghasilkan sebuah file migration pada direktori
database/migration dengan nama 2020_04_16_114021.php,
2020_04_16_114021 merupakan stempel waktu kapan file tersebut dibuat
sedangkan students merupakan nama migration yang didefinisikan. File tersebut
berisi kode seperti dibawah ini:
Pada kode sebelumnya terdapat dua metode yaitu up() yang berfungsi
untuk menuliskan perintah membuat atau mengubah struktur tabel,
sedangkan down() berfungsi untuk menuliskan perintah yang
membatalkan perintah yang telah dieksekusi di metode up().
Sebagai contoh kita akan membuat tabel “mahasiswa” dengan
struktur tabel sebagai berikut:
Untuk membuat struktur tabel mahasiswa masukkan kode
berikut pada metode up().
Untuk mengeksekusi perintah tersebut masukan perintah dibawah ini
pada terminal.

php artisan migrate

jika berhasil maka akan tampil notifikasi seperti dibawah ini.


Kemudian buka PhpMyAdmin pada database dbpa1 akan muncul tabel
mahasiswa yang baru saja dibuat menggunakan migration dengan struktur
seperti gambar dibawah ini.
Mengisi Data Pada Tabel Menggunakan Seeding

Seeding merupakan salah satu fitur yang dimiliki oleh Laravel untuk mengisi data
pada tabel dalam database, namun biasanya data yang digunakan pada seeding
adalah data dummy atau data sembarang yang digunakan untuk keperluan
pengujian fitur tertentu apakah sudah berjalan sesuai dengan kebutuhan atau tidak.
Konsep penggunaan seeding sama seperti migration, pertama harus dibuat dulu file
seeder dengan memasukkan perintah menggunakan terminal dengan perintah
seperti dibawah ini.

php artisan make:seeder MahasiswaSeeder


Kode sebelumnya merupakan class yg terbentuk hasil kompilasi
perintah php artisan make:seeder yang dijalankan melalui terminal,
class tesebut hanya memiliki satu metode yaitu run(), pada metode
tersebut dituliskan kode untuk mengisi data ke dalam tabel students.
Sebagai contoh masukan data students dengan data sebagai berikut:

Id NIM Nama Jurusan


1 11192938 Selvy Permatahati Sistem Informasi Akuntansi
2 12190832 Razqa Rafisqy Sistem Informasi
Perintah sebelumnya setelah dieksekusi akan menghasilkan sebuah
file model pada direktori app/ dengan nama Mahasiswa.php, dimana
file tersebut berisi kode seperti dibawah ini:
Pada dasarnya penamaan tabel dengan menggunakan migration pada
Laravel akan di representasikan dengan nama jamak, sehingga ketika
seeder dieksekusi tidak jarang akan terjadi error dikarenakan seeder akan
membaca nama tabel secara jamak misalnya siswas, dosens, dsb. Untuk
mengatasi hal tersebut perlu dilakukan konvensi model yang merupakan
fitur untuk menjaga agar nama tabel yang didefinisikan oleh model dengan
tabel yg berada di basis data tetap sama. Untuk melakukan konvensi model
dilakukan dengan menambahkan satu baris kode seperti dibawah ini.
Setelah model terbentuk dan menambahkan konvensi model
didalamnya, kemudian buka file MahasiswaSeeder.php yang sudah
dibuat sebelumnya, kemudian masukan kode seperti dibawah ini.
Sebelum menjalankan seeder untuk memasukan data ke dalam tabel,
pada file MahasiswaSeeder.php harus menambahkan satu baris kode
untuk menggunakan model mahasiswa (baris ke empat pada kode
diatas), jika sudah lalu jalankan perintah dibawah ini menggunakan
terminal
php artisan db:seed –class=MahasiswaSeeder
Jika berhasil maka tampil notifikasi seperti dibawah ini.

Buka tabel students pada PhpMyAdmin, klik tab Browse/Jelajahi maka


akan terlihat data yang sudah ditambahkan menggunakan seeder seperti
gambar dibawah ini.
Latihan

Anda mungkin juga menyukai