Selasa, 26 Februari 2019

Controllers & Interacting With DB - Sesi 3 | Nassya Putri R


Assalamualaikum kawan-kawanku dari berbagai belahan dunia, eaaa. Apa kabar nih kalian semua? Semoga selalu dalam keadaan sehat wal'afiat dan selalu dalam lindungan-Nya ya. Kali ini pada penasaran ga, saya mau kasih informasi tentang apa? Oke oke, sama kaya di judul blognya, saya mau kasih tau kawan kawan nih mengenai Controller dan Interaksi dengan Database, masih pada laravel yaa. Langsung aja yuk kita mulai!!!

Controller?
  • Pada Konsep MVC, Controller adalah yang bertugas untuk menghubungkan Model dengan View.
  • Biasanya, satu buah Controller untuk sebuah modul. Misalnya kita memiliki SiswaController, didalamnya terdapat fungsi-fungsi yang berhubungan dengan entitas/modul.
Membuat Controller
  • Buka CMD, masuk ke folder root project laravel anda, jalankan perintah:
php artisan make:controller (NamaController)

Nama controller harus berbentuk PascalCase, setiap kata pertama adalah huruf kapital. Contoh: SiswaController, KelasController, GuruController, dsb.

Study Kasus 1
- Pindahkan 3 route yang sebelumnya anda buat di routes ke SiswaController

SiswaController

web.php
Nama fungsi pada controller sebetulnya bebas, tidak ada aturan khusus. Namun pada umumnya setiap controller memiliki fungsi index, create, store, edit, update dan show yang nantinya berhubungan dengan CRUD.
* Nama fungsi harus berbentuk camelCase.

Study Kasus 2
- Isi data dummy untuk tabel t_kelas dengan data kelas XI di SMK Negeri 4 Bandung (Semua jurusan, 13 kelas)
-Buatlah controller dan modifikasi view nya untuk menampilkan data dari t_kelas

Isi Data t_kelas
Membuat KelasController
Buat function kelas yang berfungsi untuk mengambil data dari t_kelas
Panggil route tersebut di web.php
Buat kelas.blade.php untuk menampilkan data

Facade DB :
  1. 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).
  2. 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.
Template Blade :
@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.

Hasilnya

Study Kasus 3
Lakukan beberapa query dibawah ini untuk menampilkan data pada t_kelas
1. Tampilkan data dari t_kelas, diurutkan berdasarkan lokasi ruangan
2. Tampilkan data dari t_kelas yang memiliki nama wali kelas diawali huruf A saja
3. Tampilkan data dari t_kelas diurutkan berdasarkan jurusan dan nama_kelas
4. Tampilkan data dari t_kelas hanya data jurusan Audio Video saja

Jawab :

1. Tampilkan data dari t_kelas, diurutkan berdasarkan lokasi ruangan 



2. Tampilkan data dari t_kelas yang memiliki nama wali kelas diawali huruf A saja 



3. Tampilkan data dari t_kelas diurutkan berdasarkan jurusan dan nama_kelas 



4. Tampilkan data dari t_kelas hanya data jurusan Audio Video saja



Nah teman-teman, segitu sajaa informasi dan analisis yang saya lakukan. Semoga dapat bermanfaat bagi teman-teman sekalian. Mohon maap apabila masih banyak kekurangan Keep Happy and Stay Healthy guys!❤👀 Wassalamualaikum wr.wb.

Minggu, 24 Februari 2019

DATABASE MIGRATIONS (Masih Laravel) - Sesi 2 | Nassya Putri R

Assalamualaikum teman-teman yang sedang melihat blog saya kali ini hihi! Apa kabar semuanya? Semoga selalu dalam keadaan sehat wal'afiat dan selalu dalam lindungan-Nya ya. Kali ini informasi apa sih yang bakal saya bagikan? Nah seperti yang kalian liat pada judul blog saya. Kali ini, saya akan membagikan informasi tentang Migrasi pada Database (masih menggunakan framework laravel). Semoga informasi yang saya sampaikan kali ini dapat bermanfaat bagi teman teman ya. Langsung saja kita mulai yuk..

Apa itu Migration ?

Menyadur dokumentasi Laravel, Migration bekerja seperti version control untuk database yang membuat anggota tim lebih mudah dalam memodifikasi skema database yang digunakan oleh aplikasi kita.

Bagaimana cara menggunakannya?

1. Pertama-tama disini saya sudah membuat db_belajarlaravel yang sebelumnya sudah saya lakukan migrasi dengan melakukan pembuatan t_siswa.

2. Buka file .env pada root folder project laravel anda, konfigurasi koneksi database di file tersebut.

3. Setelah itu masuk ke folder laravel kalian menggunakan cmd



STUDI KASUS 1
- Buatlah migrasi baru untuk membuat tabel t_percobaan. Cobalah buat minimal 15 field yang berbeda pada tabel tersebut.

Langkah 1 :

Secara otomatis akan muncul file baru pada folder database/migrations. Kemudian buka file tersebut.
Langkah 2 :


Dalam method up(), terdapat method create() dan class Schema yang berfungsi untuk membuat tabel baru dengan nama t_percobaan. Sedangkan di method down() sendiri berisi method dropIfexists() dari class Schema yang berfungsi untuk menghapus tabel t_percobaan apabila di-rollback.

  • Schema::create('t_percobaan', function (Blueprint $table) {..} = Memanggil method create() dari class Schema.
  • $table->increments('id_percobaan')->unique; = Method untuk membuat increment field dengan nama id_percobaan dengan nilai yang unik.
Rumus membuat field : $table->tipedata('namavariable', 'panjangvariable);
Disana saya membuat 15 field dengan tipe data berbeda, untuk menguji penggunaan dan memenuhi tugas study kasus saya.

Langkah 3 :


Note: ketika saya mengecek bahwa pembuatan table t_percobaan berhasil atau tidak, ditemukan syntax error seperti gambar diatas. Dimana, primary key lebih dari satu. Mengapa? Setelah saya telaah, ternyata penggunaan tipe data (int, bigInt, dan tinyInt) memungkinkan secara default menjadikan field tersebut sebagai primary key. Sehingga beberapa field, tipe datanya saya ubah.

Langkah 4 : 


Periksa localhost/PhpMyAdmin table yang sudah dibuat.

Nah bagaimanaa teman-teman? Mudah bukan? Mari lanjut ke Study Kasus 2!


 STUDY KASUS 2
- Buat Migrasi Data
  1. Buatlah tabel t_kelas dengan field nama_kelas, jurusan.
  2. Buatlah perubahan tabel t_kelas dengan menambahkan field lokasi_ruangan dengan tipe data string dan panjang 100 karakter.
  3. Buatlah perubahan tabel t_kelas dengan mengganti panjangnya menjadi 50 karakter.
  4. Buatlah perubahan tabel t_kelas dengan menambahkan field nama_walkel dengan tipe data string dan panjang 50 karakter.
  5. Buatlah perubahan tabel t_kelas dengan mengubah nama field nama_walkel menjadi nama_wali_kelas.
Ayo kita mulai..

1. Buatlah tabel t_kelas dengan field nama_kelas, jurusan.
 * php artisan make:migration create_t_kelas


* Buka filenya pada database/migrations

Ketikkan perintah tersebut untuk membuat field
* Lakukan pengecekan pada table


* Lihat struktur table di PhpMyAdmin



2. Buatlah perubahan tabel t_kelas dengan menambahkan field lokasi_ruangan dengan tipe data string dan panjang 100 karakter.

php artisan make:migration add_lokasi_ruangan_t_kelas


* buka file pada database/migrations kemudian edit

ketikkan perintah diatas untuk memperbaiki struktur table

* Jalankan kembali perintah migrate


* Periksa PhpMyAdmin


3. Buatlah perubahan tabel t_kelas dengan mengganti panjangnya menjadi 50 karakter.
note :  Misalnya, ada kesahalan penulisan pada file migrasi anda, tetapi migrasi sudah dilakukan. Anda ingin melakukan perubahan file yang sudah berhasil di migrasi. Sebelumnya anda harus melakukan rollback terlebih dahulu sebelum melakukan editing file migrasi tersebut.

* Jalankan perintah : php artisan migrate:rollback


* Buka kembali, kemudian edit file



* Jalankan kembali perintah migrate


* Cek PhpMyAdmin


4. Buatlah perubahan tabel t_kelas dengan menambahkan field nama_walkel dengan tipe data string dan panjang 50 karakter.

* php artisan make:migration add_nama_walkel_t_siswa


* buka filenya kemudian edit



* Lakukan migrate


* Cek PhpMyAdmin


5. Buatlah perubahan tabel t_kelas dengan mengubah nama field nama_walkel menjadi nama_wali_kelas.

* php artisan make:migration change_jenkel_t_siswa


* Buka filenya kemudian edit


note : Sesuai instruksi yang ada pada dokumentasi Laravel, untuk menjalankan migrasi renameColumn diperlukan library doctrine/dbal. Lakukan instalasi package tersebut menggunakan composer dengan menjalankan perintah dibawah ini pada root folder laravel anda (diperlukan koneksi internet).
==> composer require doctrine/dbal

* setelah terinstall lakukan migrate

(ketika installasi berhasil)
sumber : gg.gg/s4sesi12


* Buka PhpMyAdmin



Nah, begitu teman-teman cara menggunakan Migrate pada Database. Tak hanya membuat tabel baru, dengan migration, kita juga bisa memodifikasi field atau opsi lain pada tabel yang sudah ada.

Masih ada tiga aksi lagi yang tersedia pada migration, ialah status, refresh dan install, yang ketiganya berfungsi sebagai berikut:
  • install membuat repositori migrations.
  • refresh rollback sepenuhnya migration, kemudian menjalankan ulang migrations tersebut dari awal.
  • status memeriksa status migrasi saat ini.
Selain membuat tabel dan memodifikasinya, masih ada banyak hal yang dapat dilakukan dengan migrations pada Laravel. Aksi lainnya semisal menghapus atau mengganti nama tabel yang sudah ada, menghapus field, membuat indeks, foreign key, dan lainnya. Tutorial di atas merupakan basic yang sudah mencakup sebagian besar fitur migrations. Kalau ingin belajar lebih dalam, bisa langsung ke official situs resmi Laravel di https://laravel.com/docs/5.3/migrations

Nah teman-teman, sekian saja informasi yang dapat saya bagikan. Dilain waktu saya akan membagikan informasi lagi kepada teman-teman, jadi jangan bosan untuk mengunjungi blog sayaa ya. Selamat belajar dan sehat selalu!!💕💕

Selasa, 19 Februari 2019

BELAJAR LARAVEL YUK! -Sesi 1

Assalamualaikum teman-teman!
Kembali lagi diblog saya guys, semoga informasi yang saya bagikan dapat bermanfaat bagi kalian, termasuk saya sebagai penulis. Pada kesempatan kali ini saya akan membagikan sedikit informasi mengenai LARAVEL. Tapi sebelumnya temen-temen udah tau belum LARAVEL itu apa? Kalau belum, yuu simak penjelasan yang akan saya paparkan. Dan bagi temen temen yang sudah tau, boleh juga ya membagikan pengetahuan teman teman dikolom komentar agar kita bisa sama-sama belajar. Terima kasih! Mari kita mulai...


Laravel adalah sebuah framework PHP yang dirilis dibawah lisensi MIT, dibangun dengan konsep MVC (model view controller). Laravel adalah pengembangan website berbasis MVP yang ditulis dalam PHP yang dirancang untuk meningkatkan kualitas perangkat lunak dengan mengurangi biaya pengembangan awal dan biaya pemeliharaan, dan untuk meningkatkan pengalaman bekerja dengan aplikasi dengan menyediakan sintaks yang ekspresif, jelas dan menghemat waktu.

  1. MVC adalah sebuah pendekatan perangkat lunak yang memisahkan aplikasi logika dari presentasi. MVC memisahkan aplikasi berdasarkan komponen- komponen aplikasi, seperti : manipulasi data, controller, dan user interface.
  2. Model, Model mewakili struktur data. Biasanya model berisi fungsi-fungsi yang membantu seseorang dalam pengelolaan basis data seperti memasukkan data ke basis data, pembaruan data dan lain-lain.
  3. View, View adalah bagian yang mengatur tampilan ke pengguna. Bisa dikatakan berupa halaman web.
  4. Controller, Controller merupakan bagian yang menjembatani model dan view.
Beberapa fitur yang terdapat di Laravel :
  • Bundles, yaitu sebuah fitur dengan sistem pengemasan modular dan tersedia beragam di aplikasi.
  • Eloquent ORM, merupakan penerapan PHP lanjutan menyediakan metode internal dari pola “active record” yang menagatasi masalah pada hubungan objek database.
  • Application Logic, merupakan bagian dari aplikasi, menggunakan controller atau bagian Route.
  • Reverse Routing, mendefinisikan relasi atau hubungan antara Link dan Route.
  • Restful controllers, memisahkan logika dalam melayani HTTP GET and POST.
  • Class Auto Loading, menyediakan loading otomatis untuk class PHP.
  • View Composer, adalah kode unit logikal yang dapat dieksekusi ketika view sedang loading.
  • IoC Container, memungkin obyek baru dihasilkan dengan pembalikan controller.
  • Migration, menyediakan sistem kontrol untuk skema database.
  • Unit Testing, banyak tes untuk mendeteksi dan mencegah regresi.
  • Automatic Pagination, menyederhanakan tugas dari penerapan halaman.
Disini saya akan memberikan testimoni cara mengirimkan data ke view dengan 2 cara,
Cara 1 :

Saat menggunakan return view, kita hanya perlu memanggil induk variablenya saja ($data) yang sudah mencakup variable nama dan jk, dan tidak lupa pula kita harus mengisi variable nama dan jk seperti contoh diatas. atau dengan kata lain mengembalikan nilai dengan tipe variabel array ( lebih dari 1 variabel ) yang diarahkan kepada rute belajar  yang didalamnya terdapat file belajar.blade.php, dengan mempassing data dengan variabel $data.

Cara 2 :

Pada struktur penulisan memang tidak terlalu ada perubahan signifikan, namun pada fungsi compact() ini, kita tinggal memberikan nama variable kemudian mengisinya tidak perlu membubuhi variable induk seperti cara 1. Namun pada saat return, kita perlu menuliskan hal seperti diatas dimana kita perlu membubuhi tulisan compact kemudian diikuti nama variable tanpa menggunakan $.

Nah, sekian saja dari saja. Mohon maaf  apabila banyak kekurangan, Semoga informasinya bermanfaat. Wassalamualaikum wr.wb. Keep Happy & Stay Healthy guys!<3 Thank uu 

INTRODUCING ELOQUENT

Assalamualaikum teman-teman yang sedang melihat blog saya kali ini hihi! Apa kabar semuanya? Semoga selalu dalam keadaan sehat wal'afiat...