Controller & Berinteraksi dengan Database


Hallo, Brother and Sister,
Pada kesempatan kali ini saya akan melanjutkan pembahasan tentang Framework PHP yaitu Controller & Berinteraksi dengan Database. Controller dalam konsep MVC bertugas untuk menghubungkan antara Model dan View. Biasanya, Suatu Controller diperuntukan pada sebuah modul, ex : SiswaController -> merupakan Controller yang didalamnya terdapat fungsi - fungsi yang berhubungan dengan entitas Siswa. Berikut Penjelasan lebih lanjutnya :

CARA MEMBUAT CONTROLLER
Terdapat 2 cara untuk membuat Controller yaitu dengan kode pada CMD atau membuat file Controller secara manual.
Kode Pembuatan Controller : php artisan make:controller namaController
Jika anda ingin menggunakan Cara 2, maka anda harus membuat file pada folder app/Http/Controllers/namaController.php Dan isinya yaitu :


Bentuk umum Route pada web.php Route::get(‘/nama-rute’, Controller@function);
ex : 

Nah, Router tersebut akan mengarah kepada file SiswaController -> function index(). Pada function index kita buat untuk mengirimkan data pada tabel Siswa ke file View.
Nah, code diatas merupakan code untuk pengiriman data dari DB kepada file view belajarInteraksiDB. Cara menampilkannya :
Penjelasan :
  • Facade DB merukapan facade dari Laravel untuk berinteraksi dengan Database. Facade itu sendiri adalah hasil dari implementasi class dengan method static, sehingga programmer dapat dengan mudah mengaksesnya hanya dengan memanggil nama class dan fungsinya secara static (Facades Pattern).



  • DB digunakan untuk berinteraksi dengan tabel-tabel pada database namun belum berbasis objek (Belum menggunakan Eloquent ORM), tetapi sudah menggunakan fungsi-fungsi yang disediakan oleh Laravel.

  • @foreach
         Digunakan untuk melakukan looping data yang terdapat pada array atau object. Bentuk umum nya sama seperti penggunaan foreach pada php.
foreach ($object/array as $item)

  • @endforeach
         Digunakan untuk menutup blok foreach yang sudah didefinisikan di awal. Setiap blok foreach harus ditutup dengan endforeach

STUDI KASUS
Mengisi Tabel t_kelas, menampilkan data pada t_kelas dengan melewati controller

Tabel t_kelas pada Database

Routing :

Pembuatan Function pada SiswaController :

Menampilkan Data :

Hasilnya :
Bagaimana ?? Mudah Bukan ? Lalu Bagaimana jika kita ingin menambahkan pengkondisian dalam menampilkan data ? Tentu saja bisa. Berikut saya memaparkannya :

STUDI KASUS
  • Menampilkan Data dari t_kelas diurutkan berdasarkan lokasi_ruangan
Code :

Hasilnya :
  • Menampilkan Data dari t_kelas yang memiliki nama Wali Kelas diawali huruf A
Code :

Hasilnya :
  • Menampilkan Data dari t_kelas diurutkan berdasarkan Jurusan & Nama Kelas
Code :

Hasilnya :
  • Menampilkan Data dari t_kelas yang jurusannya Teknik Audio Video saja
Code :

Hasilnya :
Ya, sama seperti Database Migration kemarin, disini kita juga tidak perlu menuliskan query SQL untuk mengoperasikan Database. Pembahasan diatas merupakan cara SELECT sebuah tabel pada database dengan bantuan Laravel Framework

Oke segitu saja postingan dari saya untuk kali ini. Mohon maaf bila ada kesalahan, semoga bermanfaat untuk anda. Apabila ada komentar / masukan bisa diisi di kolom komentar. Sampai jumpa di postingan berikutnya dan jika menurut anda Postingan ini bermanfaat bisa diShare ke teman - teman anda.
😃 Salam Coding

Database Migration - Laravel Framework


Hallo, Brother and Sister,
Pada kesempatan kali ini saya akan melanjutkan pembahasan tentang Framework PHP yaitu Database Migration. Database Migration merupakan sebuah Fitur untuk menjaga histori migrasi database (CREATE, ALTER, DROP), dan dapat mengaplikasikan migrasi baru ataupun mengembalikannya. Secara singkatnya, Database Migration digunakan untuk Mengoperasikan Database tanpa menggunakan query SQL melainkan menggunakan Code yang terdapat pada Laravel Framework. Lalu Bagaimana cara membuat Database Migration ?? Berikut pembahasannya.

  • Dalam Pengoperasian Database menggunakan Database Migration, kita menggunakan Command Prompt dan juga Text Editor.
  • Pertama pastikan CMD sudah berada pada folder Laravel
Nantinya, akan ada file yang terbuat pada folder database/migrations/ File inilah yang nantinya akan kita gunakan untuk mengoperasikan Database. Saya akan menjelaskannya secara ringkas.

Langkah Pertama, anda buat Database Baru dan mensetting pada file .env seperti :


Membuat Migration
perintah pada CMD : php artisan make:migration aksi_nama_tabel (Setelah kata migration maka tuliskan secara detail apa yang akan dilakukan ex :  create_t_siswa , add_goldar_t_siswa, dll). Jika perintah tersebut berhasil dijalankan maka akan ada file baru, seperti yang sudah saya jelaskan diatas. Didalam file tersebut terdapat 2 function yaitu function up dan function down. Function Up akan dijalankan apabila di migrate, sedangkan function down akan dijalankan apabila di rollback.
Jika setelah di isi file tersebut, maka untuk menjalankannya menggunakan perintah php artisan migrate jika berhasil maka anda bisa melihat hasilnya di Database anda.

Rollback
Rollback digunakan apabila kita ingin membatalkan suatu migrasi yang telah dieksekusi seperti mengubah nama field pada tabel. perintah rollback : php artisan migrate:rollback Berikut Contoh Isi pada file migrasi :
Create Table
Schema::create('t_siswa', function (Blueprint $table) {
     $table->increments('id');
     $table->integer('nis');
     $table->string('nama_lengkap', 100);
     $table->string('jenis_kelamin', 1);
     $table->timestamps();

});

Alter Table(Add Field)
Schema::table('t_siswa', function($table) {
     $table->string('goldar', 1)->after('jenis_kelamin');
});

Change(Rename Field)
Schema::table('t_siswa', function($table) {
     $table->renameColumn('jenis_kelamin', 'jenkel');

});


STUDI KASUS 1
Membuat tabel dengan nama t_percobaan dengan 15 field lebih.


Hasil pada Database :


Studi Kasus 2


Hasilnya :



Oke segitu saja postingan dari saya untuk kali ini. Mohon maaf bila ada kesalahan, semoga bermanfaat untuk anda. Apabila ada komentar / masukan bisa diisi di kolom komentar. Sampai jumpa di postingan berikutnya dan jika menurut anda Postingan ini bermanfaat bisa diShare ke teman - teman anda.
😃 Salam Coding

Framework PHP

Hallo, Brother and Sister,
Pada kesempatan kali ini saya akan membahas tentang Framework PHP. Tapi, apakah kalian tahu, apa itu Framework ?? Mari kita bahas...
Framework (Kerangka Kerja) adalah sebuah software untuk memudahkan para programmer membuat aplikasi atau web yang isinya adalah berbagai fungsi, plugin, dan konsep sehingga membentuk suatu sistem tertentu. Dengan menggunakan framework, sebuah aplikasi akan tersusun dan terstruktur dengan rapi.
Framework - Framework PHP

Kemungkinan, Semua Framework PHP sudah menggunakan konsep MVC (Model View Controller)

Nah, Disini saya akan membahas salah satu Framework PHP yaitu Laravel Framework.
Laravel adalah framework PHP MVC yang dikembangkan oleh Taylor Otwell pada tahun 2011 dan sekarang telah mencapai versi 7 dan dengan slogan laravel “PHP THAT DOESN’T HURT. CODE HAPPY & ENJOY THE FRESH AIR.” Kita akan merasa bahwa pemrograman php itu menyenangkan dan mudah karna Banyak sekali fitur-fitur yang akan sangat membantu kita dalam menulis code, seperti : RESTful Routing, Composer, Command Line Tools, Beautiful Template Engine, Eloquent ORM, Database Migration.
Setelah, Anda tahu apa itu Laravel, saya akan membahas Cara - Cara yang dapat kita lakukan untuk mengirim data ke file View, pada saat kita membuat Route. Ada 2 cara yaitu :
Cara 1 :

Cara 2 :

Pemanggilan Data :

Lalu Apa Perbedaanya ??
Perbedaannya :
Untuk Cara 1 kita mengirimkan data dengan suatu Array Asosiatif, dimana index array tersebut, bukan sebuah angka melainkan kata kunci dari isi index yang kita deklarasikan.
Sedangkan Untuk cara 2 kita mengirimkan data dengan variabel, dimana cara pengiriman suatu data ke file 'view' berbeda - beda.
Berikut Penjelasannya :

+ Mengirimkan Array Asosiatif
return view('belajar', $data);
+ Pemanggilan Suatu Data 
Dipanggil Kata Kuncinya.

+ Mengirimkan Variabel
return view('belajar2', compact('nama', 'jk'));
+ Pemanggilan Suatu Data
Dipanggil nama Variabelnya.
Dari Perbedaan tersebut, kita dapat menyimpulkan kelebihan & Kekurangan masing - masing cara tersebut.
CARA 1
Kelebihan :
  - Saat Pengiriman data kita hanya perlu mendeklarasikan nama Arraynya Saja.
Kekurangan :
- Tidak memungkinkan membuat kata kunci yang sama pada Array yang berbeda(Karena Saat melakukan Pemanggilan kita memangggil Kata Kunci tersebut).

CARA 2
Kelebihan :
  - Jika data yang dikirimkan sedikit, maka cara ini adalah cara yang sangat mudah, baik itu dalam inisialisasi variabel(data) atau dalam pendeklarasian data yang akan dikirimkan.
Kekurangan :
- Saat Pengiriman Data kita harus mendeklarasikan Semua nama Variabel yang akan dikirimkan, jadi apabila data yang akan dikirimkan banyak, maka kita harus mendeklarasikan sebanyak data tersebut.

Jadi, Dapat saya tarik kesimpulan bahwa Cara 2 hanya digunakan apabila data yang akan dikirimkan Sedikit, karena jika data yang akan dikirimkan banyak, akan lebih mudah jika mengggunakan Cara 1.

Oke segitu saja postingan dari saya untuk kali ini. Mohon maaf bila ada kesalahan, semoga bermanfaat untuk anda. Apabila ada komentar / masukan bisa diisi di kolom komentar. Sampai jumpa di postingan berikutnya dan jika menurut anda Postingan ini bermanfaat bisa diShare ke teman - teman anda.
😃 Salam Coding