Wednesday, 6 September 2017

Membuat CRUD sederhana dengan Laravel



Pada postingan kali ini saya akan sharing cara membuat proses Create, Read, Update, Delete atau yang lebih dikenal dengan istilah CRUD :D.


Ok langsung saja :

Create new project
untuk nama project-nya saya buat dengan nama crud

composer create-project --prefer-dist laravel/laravel crud

Create database
setelah membuat project laravel, selanjutnya kita buat database dan table di mysql, untuk nama databasenya kita buat sama denga nama projectnya yaitu : crud. Setelah itu kita buat table dengan nama Books dan struktur tablenya seperti berikut :



sampai disini persiapan awal sudah selesai, selanjutnya buka folder project laravel yang sudah kita buat dan ikut step-step berikut :

Setting koneksi
untuk setting koneksi kita buka file .env dan kita rubah menjadi seperti berikut :
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=crud
DB_USERNAME=root
DB_PASSWORD=

Tambahkan bootstrap css
agar tampilan web yang akan kita buat lebih baik, kita tambahkan css bootstrap di project kita. jika belum punya boostrap bisa di download Disini. Setelah itu copy file bootstrap.css yang ada di folder css ke folder public/css yang ada di project kita.



Membuat View
dalam view ini kita bisa mengatur tampilan website yang akan kita buat, view ini terletak di folder resource/views, adapun view-view yang akan kita buat disini adalah :

1. View index
    view index ini berfungsi sebagai tampilan awal dari website kita, tambahkan kode berikut     di view index.blade.php
<!DOCTYPE html>
<html>
<head>
    <title>CRUD Laravel</title>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link rel="stylesheet" href="{{asset('css/bootstrap.css')}}">
</head>
<body>
    <div class="container">
        <div class="panel panel-default">
            <div class="panel-heading">
                <h4>Tutorial CRUD Laravel</h4>
            </div>
            <div class="panel-body">
                <form action="{{url('create')}}" method="get">
                    <div class="form-group">
                        <input type="submit" name="new" id="new" value="Entry Baru" class="btn btn-success">
                    </div>
                </form>
                <table class="table table-striped">
                    <thead>
                        <tr>
                            <th>Kode Buku</th>
                            <th>Judul</th>
                            <th>Deskripsi</th>
                            <th>Action</th>
                        </tr>
                    </thead>

                    <tbody>
                        @foreach($data as $key => $d)
                        <tr>
                            <td>{{ $d->kode_buku }}</td>
                            <td>{{ $d->judul }}</td>
                            <td>{{ $d->deskripsi }}</td>
                            <td>
                                <a href="{{url('read',array($d->id))}}">Read</a>
                                <a href="{{url('delete',array($d->id))}}">Delete</a>
                                <a href="{{url('edit',array($d->id))}}">Edit</a>
                            </td>
                        </tr>
                        @endforeach
                    </tbody>
                </table>
            </div>
        </div>
    </div>
</body>
</html>

2. view create.blade.php

<!DOCTYPE html>
<html>
<head>
    <title>CRUD Laravel</title>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link rel="stylesheet" href="{{asset('css/bootstrap.css')}}">
</head>
<body>
    <div class="container">
        <div class="panel panel-default">
            <div class="panel-heading">
                <h4>Tutorial CRUD Laravel</h4>
            </div>
            <div class="panel-body">
                <form action="{{url('insert')}}" method="post">
                    <div class="form-group">
                        <label for="kode">Kode Buku</label>
                        <input type="text" name="kode" id="kode" class="form-control" required="require">
                    </div>
                    <div class="form-group">
                        <label for="judul">Judul Buku</label>
                        <input type="text" name="judul" id="judul" class="form-control">
                    </div>                    
                    <div class="form-group">
                        <textarea id="deskripsi" name="deskripsi" class="form-control"></textarea>
                    </div>
                    <div class="form-group">
                        <input type="submit" name="send" id="send" value="Simpan" class="btn btn-success">{!!csrf_field()!!}                       
                    </div>
                </form>
            </div>
        </div>
    </div>
</body>
</html>


3. view edit.blade.php

<!DOCTYPE html>
<html>
<head>
    <title>CRUD Laravel</title>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link rel="stylesheet" href="{{asset('css/bootstrap.css')}}">
</head>
<body>
    <div class="container">
        <div class="panel panel-default">
            <div class="panel-heading">
                <h4>Tutorial CRUD Laravel</h4>
            </div>
            <div class="panel-body">
                <form action="{{url('update', $data->id)}}" method="post">
                    <!-- <input type="hidden" name="id" id="id" value="{{$data->id}}"> -->
                    <div class="form-group">
                        <label for="kode">Kode Buku</label>
                        <input type="text" name="kode" id="kode" value="{{$data->kode_buku}}" class="form-control">
                    </div>
                    <div class="form-group">
                        <label for="judul">Judul Buku</label>
                        <input type="text" name="judul" id="judul" value="{{$data->judul}}" class="form-control">
                    </div>                    
                    <div class="form-group">
                        <textarea id="deskripsi" name="deskripsi" class="form-control">
                            {!!$data->deskripsi!!}
                        </textarea>
                    </div>
                    <div class="form-group">
                        <input type="submit" name="send" id="send" value="Simpan" class="btn btn-success">{!!csrf_field()!!}                       
                    </div>
                </form>
            </div>
        </div>
    </div>
</body>
</html>

4. view read.blade.php

<!DOCTYPE html>
<html>
<head>
    <title>CRUD Laravel</title>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link rel="stylesheet" href="{{asset('css/bootstrap.css')}}">
</head>
<body>
    <div class="container">
        <div class="panel panel-default">
            <div class="panel-heading">
                <h4>Tutorial CRUD Laravel</h4>
            </div>
            <div class="panel-body">
                    <!-- <input type="hidden" name="id" id="id" value="{{$data->id}}"> -->
                    <div class="form-group">
                        <label for="kode">Kode Buku</label>
                        <input type="text" name="kode" id="kode" value="{{$data->kode_buku}}" class="form-control" readonly>
                    </div>
                    <div class="form-group">
                        <label for="judul">Judul Buku</label>
                        <input type="text" name="judul" id="judul" value="{{$data->judul}}" class="form-control" readonly>
                    </div>                    
                    <div class="form-group">    
                        <label for="desk">Deskripsi</label>    
                        <input type="text" name="desk" id="desk" value="{{$data->deskripsi}}" class="form-control" readonly>
                    </div>
                    <form action="{{url('back')}}" method="get">
                        <div class="form-group">
                            <input type="submit" value="Back" class="btn btn-success">
                        </div>
                    </form>
            </div>
        </div>
    </div>
</body>
</html>


Membuat Controller
controller ini berfungsi untuk menuliskan logic program (contohnya : query ke database)
untuk membuat controller kita jalan command line dan tuliskan command berikut :

php artisan make:controller BooksController
setelah itu dalam project kita akan terbentuk sebuah controller dengan nama BooksController yang trsimpan di folder app/Http/Controllers dan tambahkan kode berikut :

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use DB;
use App\Books;
class BooksController extends Controller
{
    public function index(){
     $data=Books::all();
        return view('index',compact('data'));
    }

    public function back(){
     return redirect ('/');
    }
    
    public function create(){
     return view('create');
    }

    public function insert(Request $request){
     $data=new Books();
        $data->kode_buku=$request->get('kode');
        $data->judul=$request->get('judul');
        $data->deskripsi=$request->get('deskripsi');
        $data->save();
     return redirect ('/');
    }

    public function delete($id){
     $data=Books::find($id);
        $data->delete();
        return back();
    }

    public function edit($id){
     $data=Books::find($id);
     return view('edit',compact('data'));
    }

    public function update(Request $request, $id){     
     $data = Books::findOrFail($id);
        $data->kode_buku=$request->get('kode');
        $data->judul=$request->get('judul');
        $data->deskripsi=$request->get('deskripsi');
        $data->save();
     return redirect ('/')->with('alert-success','Data berhasil Diubah.');
    }

    public function read($id){
     $data=Books::find($id);
     return view('read',compact('data'));
    }
}

Membuat model
untuk membuat model tuliskan command berikut di command line :
php artisan make:model Books
Tuliskan kode berikut di model Books
<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Books extends Model
{
    protected $table="Books";
 protected $primaryKey="id";
 protected $fillable=['kode_buku','judul','deskripsi'];
}


Routing
routing ini berfungsi untuk menghubungkan controller dengan view, routing ini kita tambahkan didalam folder routes/web.php dan tambahkan kode berikut :

Route::get('/','BooksController@index');

Route::get('back','BooksController@back');

Route::get('create','BooksController@create');

Route::post('insert', 'BooksController@insert');

Route::get('delete/{id}','BooksController@delete');

Route::get('edit/{id}','BooksController@edit');

Route::post('update/{id}', 'BooksController@update');

Route::get('read/{id}','BooksController@read');


jika sudah selesai semua, coba jalankan programnya melalui web browser.

Berikut screen shot dari aplikasi ini :

index

Read




Edit



Sekian sharing kali ini, semoga bermanfaat.
keep sharing..... :D









Tuesday, 5 September 2017

Membuat Project Baru di Laravel


Setelah membahas mengenal laravel pada postingan Sebelumnya, pada postingan kali ini saya akan sharing cara membuat project baru di laravel. Sebelum membuat project baru pastikan sudah meng-install composer laravel jika belum bisa di download Disini. untuk IDE saya sarankan menggunakan Visual Studio Code. 

Sebelum membuat project laravel, Pastikan komputer/laptop terhubung internet.

Ok lansung saja kita mulai step-step membuat project baru di laravel :

Buka command line di folder tempat kita akan meletakkan file project kita dengan cara klik kanan + tombol shift kemudian tuliskan command berikut :
contoh disini saya akan membuat project seperti digambar berikut :



Setelah command line dijalankan, tuliskan command berikut :
composer create-project --prefer-dist laravel/laravel nama_project

nama project yang saya buat adalah Latihan1, setelah itu tekan enter dan tunggu proses instalasi laravel sampai selesai.




Setelah proses instalasi selesai maka akan tercreate satu folder baru dengan Latihan1 dan strukture foldernya seperti berikut :


Sampai disini kita sudah berhasil membuat project baru di laravel dan kita bisa langsung menjalankan project melalui web browser, untuk menjalankan projectnya kita buka command line didalam folder project Latihan1 kemudian tuliskan command berikut :

php artisan serve


Setelah itu jalankan : http://localhost:8000/ di browser maka akan muncul tampilan seperti berikut :


Ok, sekian sharing kali ini semoga bermanfaat.
:D

Mengenal Laravel




Laravel merupakan salah satu framework PHP yang banyak digunakan oleh para web developer untuk membangun sebuah sistem berbasis web. Laravel juga sudah menerapkan konsep MVC (model view controller).

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.
  1. 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.
  2. View, View adalah bagian yang mengatur tampilan ke pengguna. Bisa dikatakan berupa halaman web. 
  3. Controller, Controller merupakan bagian yang menjembatani model dan view.

Beberapa fitur yang terdapat di Laravel :
  1. Bundles, yaitu sebuah fitur dengan sistem pengemasan modular dan tersedia beragam di aplikasi.
  2. Eloquent ORM, merupakan penerapan PHP lanjutan menyediakan metode internal dari pola “active record” yang menagatasi masalah pada hubungan objek database.
  3. Application Logic, merupakan bagian dari aplikasi, menggunakan controller atau bagian Route.
  4. Reverse Routing, mendefinisikan relasi atau hubungan antara Link dan Route.
  5. Restful controllers, memisahkan logika dalam melayani HTTP GET and POST.
  6. Class Auto Loading, menyediakan loading otomatis untuk class PHP.
  7. View Composer, adalah kode unit logikal yang dapat dieksekusi ketika view sedang loading.
  8. IoC Container, memungkin obyek baru dihasilkan dengan pembalikan controller.
  9. Migration, menyediakan sistem kontrol untuk skema database.
  10. Unit Testing, banyak tes untuk mendeteksi dan mencegah regresi.
  11. Automatic Pagination, menyederhanakan tugas dari penerapan halaman.

Menurut tulisan akun “kursuswebdesign” di Kompasiana.com, ada beberapa kelebihan PHP Framework Laravel, antara lain:

Tampilan Sintak Lebih Artistic
Berbagai sintaks pada Laravel tersaji dengan sangat artistik, laravel memperhatikan dengan betul tampilan sintaks yang digunakan, sehingga bukan hanya terlihat lebih rapi juga lebih indah dipandang.

Blade Tamplating
Blade templating akan membantu developer dalam membuat template yang lebih terstruktur serta dinamis, yaitu dengan cara memotong struktur pada template agar lebih mudah dalam pengembangan.

Sintak Mudah Dipahami
Selama menggunakan Laravel maka akan dipastikan kita tidak akan merasa kesulitan ketika harus membaca sintaks. Mamahami sintaks pada beberapa framework yang biasanya akan terasa sulit tidak berlaku pada Laravel. Penggunaan bahasa untuk pengoperasiaannya tergolong mudah untuk dipahami dan juga singkat. Kondisi ini akan lebih memudahkan para programmer dalam menggunakan sintaks meski pada awalnya termasuk yang belum pernah menggunakannya.

Dilengkapi dengan Aplikasi Eloquent ORM
Aplikasi Eloquent ORM akan Aplikasi Eloquent ORM akan melakukan penyederhanaan proses query ke database, sehingga SQL query sama sekali tidak akan digunakan. Terdengar sangat praktis bukan? Hal ini berlaku ketika kita akan mengambil semua data pada tabel users.

Mempunyai Dokumentasi yang Lengkap.
Laravel merupakan salah satu Framework PHP yang dirancanng dengan dokumentasi yang sangat lengkap, sehingga membuatnya lebih mudah ketika digunakan.

Composer yang Sangat Lengkap
Programmer pastinya sudah tidak asing lagi dengan package manager bagi PHP yang satu ini. Laravel didukung dengan composer yang sangat support, penggunaannya pun sangat mudah untuk diaplikasikan. Composer ini akan secara otomatis menginstall library yang dibutuhkan tanpa harus mendownload library atau fitur baru bagi aplikasi yang sedang dibuat. Sehingga proses mengupdate aplikasi pun akan lebih mudah dilakukan.

Menggunakan Kosep Model View Controller (MVC)
Laravel merupakan framework yang menerapkan penggunaan konsep MVC pada struktur aplikasi yang akan dibangun. Penggunaan konsep MVC ini sangat diperlukan untuk menghasilkan kode program yang lebih bersih dan juga terstruktur tertutama bagi pengembangan aplikasi dengan skala yang besar. Hal ini sangat berguna ketika akan melakukan update.
Framework Laravel ini bisa dipelajari dengan bimbingan NF Computer  (NF Computer) dengan durasi training 28 jam. Model kelas ada 3 pilihan yaitu Public Training dengan minimal jumlah peserta 6 orang, Exclusive Training dengan peserta minimal 2 orang secara full day training selama 4 hari kerja (weekday), dan Inhouse Training dengan peserta maksimal 10 orang per group dari satu institusi atau perusahaan. Kelebihan inhouse training dibanding 2 model kelas yang lain adalah waktu dan lokasi pelaksanaan sesuai dengan kesepakatan. (YTN)

Link Terkait :
https://idcloudhost.com/pengertian-dan-keunggulan-framework-laravel/

http://www.kompasiana.com/kursuswebdesign/kelebihan-php-laravel_5667e266d87a61cf2268c692

ABAP CDS View Part 10 : Authorization & DCL untuk ABAP CDS

Authorization & DCL di ABAP CDS | Panduan Lengkap (PFCG, @AccessControl, DCL) Authorization & DCL untuk ABAP CDS — Pandua...