inlinecss

WELCOME TO SCHOOLBLOG

Minggu, 26 April 2020

Eloquent

Assalamualaikum Wr, Wb.
Kembali lagi bersama saya di SchoolBlog. Untuk pertemuan kali ini saya akan membahas mengenai Eloquent. Mari langsung saja ke pembahasannya yuk!

Eloquent adalah salah satu fitur yang menarik yang dimiliki oleh Laravel, dengan adanya eloquent ini kita dapat berinteraksi dan memanipulasi database sesuai dengan yang kita mau. Setiap model Eloquent yang telah dibuat adalah representasi table dari databse yang ada.
Nah, untuk cara penulisannya langsung saja kita mulai yuk!

Step 1
Buat model baru pada folder app dengan nama Siswa.php. lalu isi dengan format ini :



Penjelsaan : $table berfungsi untuk menentukan nama tabel pada database untuk model ini.
$fillable berfungsi untuk menentukan fiel apa saja yang akan di fill / di insert ke tabel pada mode ini. Biasanya digunakan untuk mass-assigment.


Step 2
Modifikasi file SiswaController.php. Menjadi seperti ini :


Penjelasan : Seluruh method yang dipanggil setelah inisialisasi Eloquent sama dengan penggunaan DB Facades.
Method find hanya ada pada Eloquent Model, dan digunakan untuk mencari data pada model berdasarkan primary key. Biasanya primary key yang dicari adalah id. Selain id anda dapat mengaturnya pada model dengan meng-override variable public $primaryKey.

Untuk hasilnya sama dengan tampilan di materi DB Facades!

Studi Kasus

1. Lakukan hal yang sama seperti yang sudah dijelaskan di atas untuk tabel kelas!

Kelas.php :


KelasController.php :



2. Buat tabel baru untuk menyimpan data guru dengan fiel nip, nama_guru, jenis_kelamin, alamat. Buatlah migration dan view untuk CRUD nya. Cobalah gunakan ORM untuk insert dan update data pada tabel data guru tersebut!

Guru.php :


GuruController.php :


guru.blade.php :

form.blade.php :


Hasilnya :







3. Bisakah anda menjelaskan perbedaan yang signifikan antara penggunaan DB Facades dengan Eloquent?

Menurut saya, perbedaannya terletak pada cara pengambilan databasenya. Apabila DB Facades mengambil langsung dari nama databsenya, sedangan Eloquent mengambil dulu data dari App Model ketika CRUD. Eloquent juga lebih simple, karena ridak memakai \DB::table('nama_tale") di setiap fungsinya.


Alhamdulillah sudah sampai di ujung postingan. Semoga postingan kali ini dapat membantu kalian dalam mempelajari pemrograman web. Terima kasih..
Wassalamualaikum Wr, Wb.

Senin, 06 April 2020

Edit dan Delete Data dengan Database

Assalamualaikum Wr, Wb.

Kembali lagi di SchoolBlog, dengan saya Muhamad Syahrul Ramadhan yang akan menyampaikan setiap materi yang telah saya pelajari disekolah. Untuk postingan kali ini saya akan melanjutkan materi yang sudah saya bahas di postingan sebelumnya, dengan tema Edit dan Delete Data dengan Database. Mari langsung saja kepembahasannya Yuk...


Edit Data dengan Database Facade

Buka file siswa.blade.php, tambahkan kolom baru untuk tombol aksi seperti ini :


Buka file siswa/form.blade.php, lalu edit codingan menjadi seperti di bawah ini :

Buka file web.php, tambahkan route edit seperti ini :
Route::get('/siswa/{id}/edit', 'SiswaController@edit');
Route::patch('/siswa/{id}', 'SiswaController@update');
{id} adalah parameter yang harus ada pada url nya dan parameter tersebut akan dilempar ke controller.

Buka file SiswaController.php, tambahkan function ini :


Langsung aja Coba di Browser, dan hasilnya akan seperti ini :
Klik edit pada kolom yang akan di edit
Edit lah sesuai yang di butuhkan 
dan hasilnya akan berubah pada tabel siswa seperti ini 

Delete Data dengan Database Facade

Buka file siswa.blade.php, tambahkan kolom baru pada tag @foreach seperti ini :


Buka file web.php, tambahkan route edit seperti ini :
Route::delete('/siswa/{id}', 'SiswaController@destroy');
{id} adalah parameter yang harus ada pada url nya dan parameter tersebut akan dilempar ke controller.

Buka file Siswa.controller.php, tambahkan function ini :


Langsung aja Coba di Browser, dan hasilnya akan seperti ini :
kllik delete pada baris siswa yang akan di hapus
dan hasilnya akan muncul pesan terhapus dan data sudah terhapus seperti ini 

Studi kasus

1. Jelaskan isi dari fungsi update dan destroy!
jawab :
Update
   Fungsi dari update ini adalah untuk mengambil terlebih dahulu data yang telah ada dari database kita, lalu ada juga update($input) fungsi ini pula yang mengirimkan data terbaru dari edit sesuai dengan yang user input. ada kata kunci rule untuk validasi, ada percanbangan if else, jika data gagal diubah atauoun berhasil diubah apa yang akan terjadi.

Destroy
   Fungsi dari destroy ini adalah untuk menghapus data yang user pilih. Caranya adalah mengambil data dari database sesuai dengan yang user pilih, data mana yang akan dihapus dengan menggunkan delete() untuk menghapusnya. Di fungsi ini juga ada percabngan if else, jika data gagal dihapus ataupun berhasil dihapus apa yang akan terjadi.

2. Lakukan hal yang sama pada tabel kelas (edit dan delete)
jawab :

kelas.blade.php

form.blade.php

KelasController.php

web.php


Hasilnya!
Edit :



Delete :


Alhamdulilah untuk postingan kali ini cukup sampai disini dulu. Mohon maaf bila ada kesalahan kata. Terimakasih sudah melihat blog saya. Sampai jumpa dipostingan selanjutnya..

Wassalamualaikum Wr, Wb.

Minggu, 29 Maret 2020

Create Data with DB, Validation, and Old input

Assalamualaikum Wr, Wb.

Welcome back in SchoolBlog!! Saya Muhamad Syahrul Ramadhan akan terus mentransferkan ilmu yang sudah saha pelajari dikelas kepada kalian semua para pembaca blog ini. And today in this postingan, saya akan membahas mengenai yang tertulis di judul.. Okey langsung saja kepembahasannya yuk!

*postingan ini adalah lanjutan dari postingan sebelumnya yang membahas mengenai 

Create Data with Database Facade

Step 1
Buka file siswa.blade.php, tambahkan link menuju form add seperti ini :
<a href="{{ url('/siswa/create') }}">Tambah Data</a>

Penjelasan
URL digunakan untuk menciptakan URL menuju url tertentu. URL yang diciptakan akan ditambahkan base_url dari project anda.
Misal: url('/siswa/crete'), maka yang akan muncul di HTML-nya adalah http://localhost/laravel/public/siswa/create

Step 2
Buka file web.php, tambahkan route create seperti ini :
Route::get('/kelas/create', 'KelasController@create');
   Perintah tersebut akan mengarahkan route /siswa/create ke function create pada controller SiswaController

Step 3
Buka file SiswaController.php. Lalu tambahkan tag seperti ini :

Tag tersebut untuk menampilkan view dengan nama Form yang terdatap pada folder siswa di resource.

Step 4
Buat file form.blade.php, pada folder siswa di resource/views. Dengan format :


Penjelasan
   csrf_token() digunakan untuk membuat csrf token.
csrf_field() digunakan untuk membuat input hidden _token beserta tokennya. Contoh tag :
<input type="hidden" name="_token" valuew=" "
   @csrf adalah fitur dari blade, sama dengan csrf_field, namun tidak perlu menggunakan bracket ({{}}) untuk menampilkannya di HTML. Setiap request yang memiliki method selain GET, wajib digunakan didalam form sebagai fungsi keamanan dari serangan CSRF.
   CSRF (Cross-Site Request Forgery) merupakan bentuk eksploitast website yang dieksekusi atas wewenang korban, tanpa dikehendakinya.CSRF menipu web site melalui request dari user yang dipercaya. Serangan bekerja melalui link atau scrip pada halaman site yang diakses user.

Step 4
Buka file web.php, tambahkan route post seperti ini :
Route::post('/kelas', 'KelasController@store');
   Perintah tersebut akan mengarahkan route /siswa dengan methode POST ke function store pada controller SiswaController.

Step 5
Buka file SiswaController.php, tambahkan fungsi store :


Coba di Browser :
tabel siswa

form siswa 

setelah di submit

Success/Error Message Feedback

Buka file siswa.blade.php :


Penjelasan
@if digunakan untuk menampilkan suatu bagian pada HTML ketika kondisi pada PHP trepenuhi.

Coba di Browser
Maka akan muncul tamoilan ini dengan pesan Data berhasil di Tambahkan

Input Validation

Untuk melakukan validasi input agar sesuai dengan yang diharapkan, Laravel sudah menyediakan fiturnya yaitu dengan menggunakan Facades Validator atau function validate.

Step 1
Buka file SiswaController.php, tambahkan code di fungsi store :


Step 2
Buka file form.blade.php, lalu tambahkan di paling atas :


Coba di Browser :
akan tampil error seperti ini jika field yang diisi belum sesuai dengan yanga ada di rule.

Penjelasan
   Cara menulis rule adalah dengan membuat array asosiatif yang didalmnya berisi key yang berupa nama field yang ada pada form dan value yang berisi string validasinya. Jika terdapat lebih dari 2 validasi, digunakan simbil | jika string validasi memerlukan parameter, gunakan simbol titik dua.


Displaying User's Old Value

Ketika form tidak lengkap atau tidak sesuai dengan rules, seharusnya form yang sudah diisi oleh user yang sebelunya harus tetap muncul.

Buka file form.blade.php, lalu tamabahkan jadi seperti ini :



Studi Kasus

1. Lakukan hal seperti yang sudah dijelaskan pada slide sebelumnya untuk tabel t_kelas. Buatlah tampilan form untuk menambahkan data kelas. lalu implementasikan validasi nya.

Web.php :

KelasController.php :

kelas.blade.php :

form.blade.php :


Coba di Browser :
tabel kelas
form kelas 
validasi 
message feedback 


2.  Temukan BUG pada tutorial ini!

Menurut saya tidak ada bug, hanya saja ada kesalahan dalam penempatan koma yang seharusnya tidak perlu karena sudah tidak ada variable untuk selajutnya.


3. Implementasilan fungsi old untuk field berjenis radio button dan field berjenis optio pada form siswa (Field jenis kelamin dan golongan darah).

Untuk Jenis kelamin :

Untuk Golongan darah :




Alhamdulillah sudah sampai di ujung postingan yang lumbayan banyak ini. Semoga membantu dan mudah di pahami. Mohon maaf bila ada salah kata atau typo.

Wassalamualaikum Wr, Wb.

Minggu, 15 Maret 2020

Controller & Interacting with Database

Assalamualaikum Wr, Wb.

Welcome back to SchoolBlog. Pada postingan kali ini saya akan membahas mengenai Controller dan Interaksi dengan Database. Mari langsung saja ke pembahasaannya yuk!

   Pada konsep MVC, Controller adalah yang bertugas untuk menghubungkan Model dengan view. Biasanya satu buah Controller untuk sebuah modul. Misal, kita memiliki SiswaContoller, yang didalamnya terdapat fungsi-fungsi yang berhubungan dengan entitas/modul.

Membuat Contoller :





Menghubungkan Route
   Buka file web.php, bentuk umum untuk menghubungkannya dengan :
Route::get('/nama_rute', Controller@function);

Contoh saya!
web.php :


SiswaController.php :


Hasilnya :


Penjelasan :
   *Nama controller harus PascalCase dan diakhiri dengan Controller
   *Nama fungsi pada controller bebas, namun pada umumnya setiap controller memiliki fungsi index, create, store, edit, dan show yang nantinya berhubungan dengan CRUD. Dan nama fungsi harus berbentu camelCase.


Interkasi dengan Database

Step 1
   Isi data dummy pada tabel t_siswa minimal 5 data berbeda.

Step 2
   Buat file di app/Http/Controller dengan nama file SiswaController.php, lalu isi dengan format seperti dibawa ini :


Step 3
   Buka file resources/views/belajar.blade.php, lalu edit menjadi seperti ini :



Step 4
   Buka file web.php lalu tambahkan code ini :



Hasilnya :

Penjelasan :
DB merupakan facade dari laravel untuk berinteraksi dengan Database. Namun hanya berbasis objek.



Materi yang selanjutnya adalah OrderBy dan Where.
Order By adalah querying untuk mengurutkan data dari huruf abjad A - Z atau angka 1 - seterusnya. sedangkan Where  adalah qurying untuk menampilkan  data yang memiliki abjad atau angka yang ditentukan.



Studi Kasus 1
Menampilkan tabel kelas dengan data yang ada di SMKN4 Bandung, dengan controller dan modifikasi view.
tambahkan code pada SiswaController.php :



buat file siswa.blade.php :



tambahkan code pada web.php :



Hasilnya : 

Studi kasus 2
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 Akuntansi saja
Jawaban :
1. Order by lokasi ruangan :


2. Where nama wali kelas diawali huruf A :

3. Order by jurusan dan nama_kelas :

4. Where data jurusan TAV :

Minggu, 08 Maret 2020

Framework (Laravel)

Assalamualaikum Wr. Wb.

Hallo everyone, selamat datang di SchoolBlog. Kembali lagi bersana saya Syahrul Ramadhan. untuk postingan kali ini saya akan membahas mengenai FRAMEWORK. Untuk itu langsung saja ke pembahasannya!

Framework
   Yaitu sebuah software untuk memudahkan para programmer membuat aplikasi atau web yang isinya adalah berbagai fungsi, plugin, dan konsep. Sehingga membentuk suatu sistem tertentu. Dengan menggunkan sebuah aplikasi akan tersusun dengan rapi.

Konsep MVC
   Yaitu sebuah metode untuk membuat sebuah apk dengan memisahkan data atau MODEL dari tampilan atau VIEW dan cara bagaimana memprosesnya atau CONTROLLER.

PHP Framework

   PHP Framework ini banyak sekali macam-macamnya, tapi sekarang saya akan membahas tentang Laravel.

Laravel Framework
   Yaitu framework PHP MVC yang dikembangkan oleh Taylor Otwel pada tahun 2011 dan sekarang telah mencapi versi 7, dengan slogannya "PHP THAT DOESN'T HURT> CODE HAPPY & ENJOY THE FRESH AIR". Dengan Framework ini kita akan merasa bahwa pemrograman php itu menyenangkan dan mudah karena banyak sekali fitur-fitur yang akan sangat membantu kita dalam membuat code.

Instalasi Laravel
1. pastikan versi PHP pada PC anda diatas 7.1, cek di PHP info
2. install Composer terbaru
3. buka CMD, masuk ke folder htdocs anda dengan perintah CD, kemudian jalankan perintah composer create-project laravel/laravel (tunggu proses mendownload sdk sampai selesai)
4. buka di web dengan perintah localhost/laravel/public untuk memsatikan laravel berhasil di instal.(laravel adalah nama folder yang ada di htdocs).
5. jika ada tulisan "Laravel". Alhamdulillah laravel sudah terinstall!!

Stuktur Folder Laravel
1. Root Folder
2. app Folder
 3. config Folder
 4. database Folder
 5. public Folder
 6. resources Folder
 7. routes Folder

Nah sekarang saya mempraktikan mengenai route terleboh dahulu, jadi silahkan baca dan simak dengan baik yah!!

Route
   Funsi route ini untuk menangani request kita di Url , kemudian mengarahkan apk untuk memanggil halaman/resource tertentu. Untuk route ini tidak boleh menulis namanya dengan simbol dan spasi. 

Modify web.php menjadi seperti ini :
Akses di web browser :

Studi Kasus 1
Buat 3 rute berbeda (bebas) dengan type GET berdasarkan bentuk umum penulisan route.
source code :

hasilnya :



Studi Kasus 2
Buat 3 views berbeda (bebas) dan panggil view tsb di route yang sudah anda buat di studi kasus 1.
source code :
route


blade :
1

2

3
hasilnya :




Mengirim Data
   Ada 2 cara untuk mengirim data pada laravel ini.
Cara 1:
Cara 2 :

blade :


Hasilnya :

Studi Kasus 3
   Analisis cara mengirim data ke view menggunakan cara 1 dan cara 2. Apa perbedaannya? Dimana letak perbedaanya? Apa kekurangan dan kelebihan masing-masing cara tersebut?
Jawaban :
Cara untuk mengirim dan return-nya berbeda.
Cara 1 menggunakan array asosiatif. Sehingga data bisa dimasukan terlebih dahulu di array, dan data yang dikirim hanya dapat 1 data saja.
Kelebihan : saat memanggil data sangat simple.
Kekurangan : tidak bisa memanggil data yang sesuai dengan keinginan kita. Karena jika kita memanggilnya maka data yang keluar adalah semuanya.

Cara 2 menggunkan compact untuk mengirim data ke viewnya, dan setiap data mempunyai masing-masing variable.
Kelebihan : dapat memanggil data yang kita inginkan dengan compact tadi.
Kekurangan : tidak efisien, karena jika banyak data yang ingin kita panggil, maka banyak pula variablenya.

Jadi intinya mah 2 cara itu saling melengkapi. Jika kalian ingin memaggil banyak data kalian bisa menggunakan cara 1. Tapi, jika kalian ingin memanggil salah satu data maka gunakan cara kedua.


Cukup sekian dulu untuk postingan kali ini, semoga bermanfaat dan dapat membantu. Demikian, mohon maaf bila ada kekurangan, dan terimakasih sudah mengunjungi blog saya.

Wassalamualiakum. Wr, Wb.