Assalamu'alaikum Warahmatullahi Wabarakatuh


Pada kesempatan kali ini, kita akan membahas tentang Controller pada Laravel, dan bagaimana caranya berinteraksi dengan Database pada Laravel itu sendiri. Di postingan sebelumnya kita sudah membuat sebuah tabel bernama "t_kelas" , nah kali ini kita akan menggunakan tabel tersebut sebagai bahan latihan kita di kesempatan kali ini Sob 😄. Bagi kalian yang belum baca postingan sebelumnya, biar paham secara utuh tentang materi ini, Mimin saranin buat baca dulu postingan Mimin sebelumnya tentang "Laravel : Database Migration" disini.

#Apa Itu Controller

Controller adalah salah satu komponen MVC, yaitu Model, View, dan Controller. Controller ini sendiri bertanggung jawab untuk menangani hubungan antara Model (Database) dengan View(Tampilan). Ini adalah definisi menurut Mimin, jika kalian masih awam dengan konsep MVC itu sendiri, kalian bisa baca secara lengkap disini Sob.

#Belajar Menggunakan Controller

Seperti biasa Sob agar kita bisa belajar dengan efektif dan efisien, maka kita akan "Learning By Doing". Karena menurut Mimin sendiri dalam dunia pemrograman itu, kita tidak memerlukan hafalan-hafalan syntax. Karena pada hakikatnya, syntax itu secara otomatis akan kita hafal apabila kita senantiasa terus berlatih Sob, jadi bagi kalian yang ingin belajar pemrograman dengan efektif, Mimin sarankan agar kalian banyak berlatih Sob, bukan hanya membaca. Pada kesempatan kali ini kita akan membahas beberapa hal dibawah ini Sob :
  • Membuat Controller
  • Membuat Fungsi pada Controller
  • Menggunakan Controller
Untuk persiapan apa saja yang kita perlukan, sudah Mimin bahas di postingan sebeleumnya, jadi bagi kalian yang belum tau apa saja yang harus dipersiapkan, kalian bisa kunjungin postingan sebelumnya disini. Seperti biasa kita akan menggunakan bantuan dari Artisan, agar pekerjaan kita menjadi lebih mudah Sob 😄

Oke kita langsung aja ke tutorialnya Sob! 😄

Pertama kita buat dulu Controllernya dengan mengetikan perintah berikut, Ouh iyah disini Mimin pake Code Editor Visual Studio Code, yang didalemnya udh ada terminalnya, jadi bagi kalian pengguna Sublime atau yang lainnya, kalian bisa buka CMD, lalu arahin ke folder project laravel kalian.

Membuat Controller

Maka di folder project Laravel kita akan terbuat sebuah Controller baru bernama KelasController

Controller yang telah dibuat

Lalu silahkan kalian pergi ke PhpMyAdmin milik kalian, pada database kalian, pastikan sudah ada tabel t_kelas didalamnya

Tabel t_kelas

Silahkan kalian isi tabel t_kelas dengan data Dummy atau data sesuai dengan keingan kalian, sebagai contoh Mimin memasukan beberapa data acak sesuai dengan keinginan Mimin.

Isi tabel t_kelas

Setelah kita selesai mengisi tabel t_kelas dengan data acak, lalu kita kembali ke dalam Code Editor kesayangan kita untuk mengisi file KelasController.php. Isi file tersebut dengan method index sebagai berikut :

Isi file KelasController.php

Ini artinya kita membuat sebuah method yang isinya akan memanggil semua data yang ada ada pada tabel t_kelas. Ini merupakan cara pemanggilan data dari Database menggunakan Laravel dengan cara langsung menuliskan Query Databasenya pada method yang kita buat. Dengan ini kita bisa mengambil data-data yang kita perlukan di View nanti, nah inilah fungsi dari sebuah Controller, yaitu menghubungkan antara Model denga View. Kita memanggil data(Model) yang kita perlukan di Controller lalu kita kirimkan data tersebut kepada View yang akan kita gunakan.

Lalu, apakah bisa langsung dijalankan? belum Sob 😄. Karena kita harus terlebih dahulu membuat Route baru agar Controller yang kita gunakan bisa berjalan dengan baik, karena cara pemanggilan Controller itu sendiri berbeda dengan sekedar pemanggilan View biasa Sob. Oke langsung aja kalian arahkan ke file web.php yang ada pada project Laravel kalian, lalu kalian buat sebuah Route baru dengan method get dan arahkan kedalam method yang kalian buat pada KelasController tadi, yaitu method index. Untuk lebih jelasnya bisa kalian lihat sebagai berikut :

Membuat Route baru

Kalian bisa memperhatikan Route yang Mimin buat, dan ada beberapa Route baru yang Mimin sudah buat untuk postingan selanjutnya Sob, jadi pantengin terus Blog ini ya Sob! 😄

# Bentuk Umum Route
Route::get(‘/nama-rute’, Controller@function);

Jadi kita sudah membuat sebuah route yang namanya sekolah, nah ketika Route tersebut dipanggil, secara otomatis akan memanggil sebuah fungsi atau method yang ada pada KelasController dengan method index. Setelah kita berhasil membuat Route baru, maka kita lanjut dengan memodifikasi View dari Route yang telah kita buat. Silahkan kalian buka file sekolah.blade.php jika filenya tidak ada, kalian bisa membuatnya secara manual dengan menambahkan file baru di folder View.

Isi file View Sekolah

Ini hanya contoh dari Mimin saja, kalian bisa merubah tampilan View nya sesuai dengan keinginan kalian. Pada kesempatan kali ini Mimin sengaja membuatnya sederhana agar kalian fokus terhadap topic kali ini, bukan kepada tampilannya. Karena pada hakikatnya, untuk masalah estetika itu relatif, tergantung cara pandang tiap individu masing-masing. Jadi maafkan Mimin bila tampilannya terlalu sederhana 😅

Jika kalian perhatikan disana Mimin menggunakan foreach tapi dengan cara yang mungkin bagi kalian aneh. Tenang Sob, ini adalah cara menggunakan loop foreach pada Blade Engine nya Laravel Sob, jadi bagi kalian yang khawatir atau parno dengan kurung kurawal, tenang Sob di Blade Engine nya Laravel sederhana kok caranya 😄. Kalian bisa baca dokumentasi lengkap tentang loop di Laravel pada link berikut.

Ini adalah tampilan dari hasil kerja keras kita Sob :

Hasil kerja keras kita


Oke silahkan kalian coba akses Route yang baru aja kita buat Sob, gimana Sob ? apakah berhasil atau belum ? jika berhasil Mimin ucapkan selamat! 😄😁 bagi kalian yang belum jalan atau malah jadi Error, tenang Sob semua pasti ada jalan keluarnya kok, ayo coba dibaca lagi dari atas, mungkin ada kesalahan penulisan atau mungkin kalian harus lebih teliti lagi, Semangat Sob! 😄

Nah setelah kita berhasil membuat Controller baru, berhasil memanggil data dari Database yang ada. Lalu gimana kalau Mimin pengen kaya gini :

  • Menampilkan data dari Database, tapi diurutkan berdasarkan lokasi ruangan
  • Menampilkan daftar kelas yang nama wali kelasnya berawalan Huruf A saja
  • Menampilkan data, tapi diurutkan berdasarkan nama kelas
  • Menampilkan hanya data dari jurusan Audio Video Saja
Mari kita pecahkan Sob!

#Menampilkan Data dan Diurutkan Berdasarkan Lokasi Ruangan

Untuk melakukan hal itu, kita hanya akan memodifikasi cara pemanggilan datanya pada KelasController.php. Silahkan sobat buka dan tambahkan kode berikut ini : 

Menambahkan Query orderBy

Tambahkan query yang Mimin berikan garis merah, artinya kita akan memanggil data pada t_kelas dan diurutkan berdasarkan "lokasi_ruangan". Silahkan sobat buka kembali View yang telah kita buat, maka data akan diurutkan berdasarkan lokasi ruangan, bisa dilihat perbedaanya dengan hasil sebelumnya Sob. Lokasi Ruangannya diurutkan berdasarkan namanya.

Diurutkan berdasarkan lokasi_ruangan

#Menampilkan Daftar Kelas Yang Nama Wali Kelasnya Berawalan "A"

Sama seperti sebelumnya, kita hanya mengubah sedikit query yang ada pada file KelasController.php sebagai berikut :

Menambahkan Query Where

Dengan menambahkan Query Where kita ingin menampilkan data dari tabel t_kelas yang dimana memiliki nama wali kelas dengan diawali huruf "A". Maka jika kalian memiliki data yang nama wali kelasnya berawalan A, seharusnya muncul datanya, seperti Mimin : 

Mencari data dengan wali kelas berawalan huruf A

#Menampilkan Data dan Diurutkan Berdasarkan Nama Kelas

Sama dengan sebelumnya, kita akan menggunakan Query OrderBy dan diurutkan berdasarkan nama kelas, untuk melakukan hal itu, tinggal kita ganti Querynya menjadi seperti berikut :

Mengganti Query

Maka data akan diurutkan berdasarkan nama kelas.

Diurutkan berdasarkan nama kelas

#Menampilkan Data Hanya Jurusan Audio Video

Oke langsung saja ketikan sebagai berikut : 


Menganggti Query

Maka dengan ini kita akan memanggil data dari Database yang jurusannya hanya Teknik Audio Video Saja.
Ditampilkan hanya yang jurusan Audio Video saja

Oke Sob, postingan tentang Laravel selalu panjang yah, heheheehe 😅. Kalau kalian tanya kenapa sih Min postingannya panjang ?. Ini Mimin sengaja panjangin karena Mimin pengen detail dari setiap penjelasan, bisa kalian pahami dengan mudah. Maka dari itu, meskipun panjang tapi Mimin usahain biar semua postingan Mimin tentang Laravel bisa bermanfaat buat kalian semua. Pada kesempatan kali ini kita telah berhasil membuat Controller, bagaimana cara menggunakannya, dan kita juga belajar bagaimana cara berinteraksi dengan Database. Semoga postingan Mimin kali ini bisa bermanfaat buat kalian semua, mohon Maaf apabila masih banyak kekurangan. Untuk kedepannya Mimin bakalan perbaiki terus menerus menjadi lebih baik lagi. Sekian Sob, pantengin terus Blog ini Yaw! 😄

Quotes :


Ketika kita bangun tidur, ada dua pilihan yang bisa kita pilih. Kembali tidur untuk melanjutkan Mimpi, atau Bangun dari tidur untuk mewujudkan Mimpi - Zeptian

Wassalamu'alaikum Warahmatullahi Wabarakatuh 

0 Komentar