Rabu, 18 Maret 2020

Praktikum 41 : Laravel Controllers & Interacting with Database

Assalamu'alaikum warrahmatullahi wabarakatuh

Di postingan kali ini saya akan membahas tentang controller dan interaksi dengan database.

Saya akan menjelaskan studi kasusnya saja yaitu sebagai berikut isinya.





Pertama buka cmd dan jalankan perintah php artisan make:controller KelasController




Sebelum itu isi terlebih dahulu tabel kelas pada database.


Buka file KelasController dan edit sebagai berikut.


Buat file blade baru untuk menampilkan view dari tabel kelas. Contoh beri nama tugas.blade.php dan isi sebagai berikut.


Begini tampilannya ketika di run.


Pertama tampilkan tabel diurutkan berdasarkan lokasi ruangan. Tambahkan kode sebagai berikut di file KelasController.


Jalankan di browser dan hasilnya seperti ini.


Kedua tampilkan tabel dengan nama walikelas yang berawalan huruf A. Karena di tabel saya tidak ada yang berawalan A maka saya ganti menjadi awalan K. Ubah kode pada Kelas Controller seperti ini.


Begini hasilnya.


Ketiga menampilkan tabel dengan mengurutkan jurusan dan nama kelas, edit pada KelasController sebagai berikut.


Berikut hasilnya.


Terakhir menampilkan data hanya dari jurusan TEAV saja. Ubah file KelasController sebagai berikut.


Berikut hasilnya.


Sekian untuk postingan kali ini. Terimakasih sudah berkunjung.

Wassalamu'alaikum warrahmatullahi wabarakatuh.

Selasa, 17 Maret 2020

Praktikum 40 : Database Migration

Assalamu'alaikum warrahmatullahi wabarakatuh

Untuk kali ini saya hanya akan menjelaskan tentang studi kasus yang saya kerjakan untuk materi database migration menggunakan laravel.

Yang pertama adalah membuat satu tabel percobaan dan membuat 15 field/kolom secara bebas.


Lalu isi field pada file t_percobaan sebagai berikut.


Buka lagi cmd dan jalankan perintah migrate.


Lalu periksa di database apakah tabel sudah muncul atau belum.


Selanjutnya studi kasus yang kedua adalah sebagai berikut.

Pertama buka cmd dan jalankan perintah php artisan make:migration create_t_kelas lalu setelah itu buka file t_kelas dan tambahkan field nama_kelas dan jurusan. Setelah itu buka lagi cmd dan jalankan perintah php artisan migrate lalu lihat di database apakah sudah muncul atau tidak. Saya tidak sempat mengscreenshot database yang ini karena tidak ingat dan langsung mengerjakan ke tahap berikutnya.

Setelahnya untuk menambahkan field baru yaitu field lokasi_ruangan. Pertama buka lagi cmd dan jalankan perintah php artisan make:migration add_lokasi_ruangan_t_kelas lalu buka file lokasi_ruangan dan edit sebagai berikut.


Lalu jangan lupa save terlebih dahulu baru buka kembali cmd dan jalankan perintah php artisan migrate dan cek pada database untuk melihat field sudah ditambahkan atau belum. Saya juga tidak sempat screenshot dan langsung mengerjakan poin berikutnya yaitu mengubah panjang field nama_kelas menjadi 50. Yang dilakukan adalah menjalankan perintah php artisan migrate:rollback seperti ini.


Lalu ubah panjang field nama_kelas pada file nama_kelas setelahnya buka kembali cmd dan jalankan perintah php artisan migrate.


Lalu cek pada database untuk memastikan perubahannya.


Selanjutnya adalah menambahkan field nama_wakel pada tabel, buka cmd dan jalankan perintah php artisan make:migration add_nama_wakel_t_kelas lalu buka file nama_wakel dan masukkan nama dan panjang field sebagai berikut.


Setelah itu save dan jalankan perintah php artisan migrate dan lihat perubahannya pada database.


Dan terakhir adalah mengubah nama field menjadi nama_walikelas. Pertama buka lagi cmd dan jalankan perintah php artisan make:migration change_nama_walikelas_t_kelas lalu lakukan perubahan nama field di file change_nama_walikelas sebagai berikut.


Setelahnya lihat di database untuk melihat perubahannya.


Saya rasa sekian saja untuk postingan kali ini. Terimakasih sudah berkunjung.

Wassalamu'alaikum warrahmatullahi wabarakatuh.

Selasa, 10 Maret 2020

Praktikum 39 : Framework Laravel

Assalamu'alaikum warrahmatullahi wabarakatuh

Bertemu lagi di postingan baru, kali ini saya akan membahas tentang Framework. Apa sih Framework?

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. Singkatnya, framework adalah sebuah standar.

Framework ini menggunakan konsep MVC. MVC atau Model-View-Controller ini adalah sebuah metode untuk membuat sebuah aplikasi dengan memisahkan data (Model) dari tampilan (View) dan cara bagaimana memprosesnya (Controller). Dalam implementasinya kebanyakan framework dalam aplikasi website adalah berbasis arsitektur MVC. MVC memisahkan pengembangan aplikasi berdasarkan komponen utama yang membangun sebuah aplikasi seperti manipulasi data, antarmuka pengguna, dan bagian yang menjadi kontrol dalam sebuah aplikasi web.

Framework yang saya gunakan dan akan saya jelaskan disini adalah Laravel.

Laravel

Laravel adalah framework PHP MVC yang dikembangkan oleh Taylor Otwell pada tahun 2011. Berikut adalah beberapa fitur pada Laravel Framework.

  • RESTful Routing
RESTful adalah cara baru dalam mengelola request seperti GET, POST, PUT, PATCH, DELETE, dan STORE.
  • Composer
Composer adalah Depedency Management PHP yang membantu programmer untuk menggunakan library. Semua dependency ini di host di packagist.org
  • Command Line Tools (Artisan)
Fitur command line ini untuk memudahkan programmer melakukan beberapa pekerjaan, misalnya membuat database migration, server application, database seeding, creating controller & model dan masih banyak yang lainna.
  • Beautiful Template Engine
Laravel dilengkapi dengan template engine dengan nama Blade Template Engine untuk memudahkan penggabungan kode PHP pada HTML.
  • Eloquent ORM
Fitur Eloquent ORM (Object Relational Model) memungkinkan penulisan kode yang berhubungan dengan objek (Entitas/Tabel pada Database) dioperasikan menggunakan konsep OOP.
  • Database Migration
Fitur ini untuk menjaga histori migrasi database (CREATE, ALTER, DROP), mengaplikasikan migrasi baru ataupun mengembalikannya.


Struktur Folder Laravel

Folder utama laravel atau disebut dengan ROOT FOLDER
  • .env
File konfigurasi yang hanya berlaku untuk environment local saja atau dimana file ini berada.
  • composer.json
File yang berisi kumpulan dependency yang digunakan di project ini. Kita dapat menambahkannya dengan perintah composer require atau langsung menulisnya di dalam file ini.
  •  app
Tempat menyimpan seluruh file yang berhubungan dengan aplikasi yang akan dibangun dan tempat menyimpan file Model.
  • app/Http/Controllers
Tempat menyimpan file Controller.
  • config
Tempat menyimpan seluruh file yang berhubungan dengan konfigurasi aplikasi Laravel yang akan dibangun, mulai dari database, tempat menyimpan file hasil upload, konfigurasi untuk melakukan pengiriman email, dan sebagainya.
  • database
Tempat menyimpan seluruh file yang berhubungan dengan database migration dan database seeder.
  • public
Tempat menyimpan seluruh file yang nantinya dapat diakses secara publik oleh pengguna. 
  • resources
Tempat menyimpan seluruh file views dari aplikasi yang akan dibangun. Views menggunakan template engine bernama blade sehingga setiap kali kita membuat file untuk view, maka harus ditambahkan ekstensi .blade
  • web.php
File yang berisi kumpulan route dari sistem yang akan dibangung. Route ini yang nantinya diakses oleh pengguna dan diarahkan sesuai dengan kode yang kita ketik.

Sekarang coba buka file web.php dan lakukan perubahan sebagai berikut.


Dan buka pada browser maka begini hasilnya.

Bentuk umum mendefinisikan Route pada file web.php


Menulis nama-rute tidak boleh menggunakan simbol (!@#$%^&*()~`/,.;:'")

nama-rute tidak boleh mengandung spasi, sebaiknya spasi diganti menggunakan dash(-)

Memanggil View (1)

Buat file baru di resources/views/belajar.blade.php

Contohnya isi seperti ini:


Lalu selanjutnya, yaitu ubah file routes/web.php


view('nama_view') adalah fungsi bawaan laravel untuk memanggil view.

return view artinya mengembalikan (return) view yang telah dipanggil ke pengguna yang memanggil alamat tersebut.

Begiini hasil keluarannya.


Mengirim Data Ke View

Cara 1 : Menggabungkan data dalam satu variabel array sosiatif, sehingga data yang dikirim ke view hanya 1 saja.


Cara 2 : Membuat variabel masing-masing untuk data yang akan dikirim ke view, gunakan compact untuk mengirimkan data ke view nya.

Dalam bentuk teks biasa

Menampikan data yang sudah dikirim menggunakan blade template.


Berikut hasilnya.


Dalam bentuk tabel

Menampilkan data yang sudah dikirim menggunakan blade template.


Berikut hasilnya.
Jadi, apa perbedaan antara cara 1 dan 2 mengirim data ke view? Apa kekurangan dan kelebihan masing-masing cara tersebut?

Perbedaannya ialah, cara 1 menggunakan array sosiatif untuk menggabungkan data dalam satu variabel saja. Sedangkan cara 2 membuat variabel masing-masing untuk setiap data yang akan dikirim ke view dan menggunakan fungsi compact untuk mengirimkan data ke view.

Menurut saya, secara penulisan code lebih baik menggunakan cara ke 1 karena lebih efektif dan singkat dalam menuliskan variabel di return view yakni cukup menuliskan satu variabel saja meski ada banyak data yang dikirim. Dibandingkan cara ke 2 yang mengharuskan mengetik kembali nama-nama variabel di dalam compact.

Cukup sekian saja saya rasa untuk postingan kali ini. Maaf masih banyak kekurangannya dan terimakasih sudah berkunjung.

Wassalamu'alaikum warrahmatullahi wabarakatuh.