CRUD Laravel 5

MEMBUAT CRUD PADA LARAVEL 5

saat ini perkembangan akan teknologi sudah sangat berkembang didunia, kebutuhan akan aplikasi dan website juga sangat dibutuhkan dalam dunia marketing. CRUD atau yang lebih diketahui yaitu Create, Read, Update, Delete (CRUD) menjadi kebutuhan dalam sebuah aplikasi. dalam postingan saya kali ini saya akan membuat CRUD pada laravel 5. 

Setelah membuat form login pada postingan sebelumnya disini, anda bisa melihat file apa saja yang telah dibuat dalam pembuatan form login tersebut, disini saya akan mengambil file app.php yang ada dalam file layouts. ikuti langkah dibawah ini untuk membuat CRUD pada laravel.

LANGKAH MEMBUAT CRUD

1. MEBUAT DATABASE CRUD

pada postingan sebelumnya kita telah membuat database untuk form login. jadi kita gunakan database tersebut untuk databases crud pada aplikasi tersebut. dari phpmyadmin buatlah sebuah table dalam databases yang telah kita buat pada postingan sebelumnya. buatlah table "sells" seperti dibawah ini :


setelah membuat databases, isi data apa saja dalam table yang sudah dibuat untuk mengetahui apakah aplikasi berhasil

2. MEMBUAT CONTROLLER

masuk ke cmd dan ikuti perintah berikut untuk membuat controller :

> cd \xampp\htdocs\webtest
>php artisan make:controller sellController
Controller created successfully.

3. MEMBUAT MODEL

>php artisan make:model sell
Model created successfully.

4. INSTALL FORM HTML

>composer require illuminate/html
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies <including require-dev>
- Installing illuminate/html >v5.0.0>
  Loading from cache

Writing lock file
Generating autoload files
>Illuminate\Foundation\ComposerScripts::postUpdate
>php artisan optimize
Generating optimized class loader

lalu edit file app.php dalam direktori config/, lalu tambahkan source code dibawah ini dalam source provider dan source aliases  didalam [ ], jangan merubah atau menghilangkan source code yang sudah ada, cukup tambahkan saja dibawah source code yang ada dan masih berada didalam [ ] :

'providers' => [
          'Illuminate\Html\HtmlServiceProvider'::class,
]

'aliases' => [
          'Form' => Illuminate\Html\FormFacade::class,
          'Html' => Illuminate\Html\HtmlFacade::class,
]

5. EDIT FILE ROUTE

tambahkan kan resource controller yang sudah kita buat kedalam route untuk membuat laravel mengetahui arah aplikasi yang telah kita buat. edit file route didalam /app/http/routes.php


Route::resource('sells','sellController');

agar route mengetahui arah controller ikuti perintah berikut dalam command line :

>php artisan route:list


akan menampilkan table berikut ini :


Domain Method URI Name Action Middleware
GET|HEAD sells sells.index App\Http\Controllers\sellController@index web
POST sells sells.store App\Http\Controllers\sellController@store web
GET|HEAD sells/create sells.create App\Http\Controllers\sellController@create web
PUT|PATCH sells/{sells} sells.update App\Http\Controllers\sellController@update web
GET|HEAD sells/{sells} sells.show App\Http\Controllers\sellController@show web
DELETE sells/{sells} sells.destroy App\Http\Controllers\sellController@destroy web
GET|HEAD sells/{sells}/edit sells.edit App\Http\Controllers\sellController@edit web

Jika pada saat melakukan Route:list terjadi error bindshared, anda bisa lihat pada postingan sebelumnya disini untuk memperbaiki error bindshared.

6. BUAT VIEW UNTUK INDEX

edit file index untuk membuat arah halam index untuk tampilan aplikasi, edit sellController dalam app/http/controllers/sellController, tambahkan source code dibawah ini didalam class sellController extends Controller {}, tambahkan didalam {}, jangan lupa tambahkan juga arah modelnya didalm file tersebut.

<?php

namespace App\Http\Controllers;

use App\Sell;

use Illuminate\Support\Facades\Request;


//use Illuminate\Http\Request;

use App\Http\Requests;

class sellController extends Controller
{
    //
public function index(){
$sells=Sell::all();
return view('sells.index',compact('sells'));
}
}

dan buat file index.blade.php didalam /resources/views dan buatlah folder baru bernama sells dan simpan file index.blade.php didalamnya dengan isi source dibawah ini :

@extends('layouts.app')

@section('content')
<div class="container">
    <div class="row">
        <div class="col-md-10 col-md-offset-1">
            <div class="panel panel-default">
                <div class="panel-heading"><h1>Penjualan</h1></div>

                <div class="panel-body">
                    <a href="{{url('/sells/create')}}" class="btn btn-success">Add Item</a>
<hr>
<table class="table table-striped table-bordered table-hover">
<thead>
<tr class="bg-info">
<th><center>ID</center></th>
<th><center>MERK</center></th>
<th><center>SERI</center></th>
<th><center>HARGA</center></th>
<th colspan="3"><center>ACTION</center></th>
</tr>
</thead>
<tbody>
@foreach ($sells as $sell)
<tr>
<td><center>{{ $sell->id}}</center></td>
<td>  {{ $sell->merk}}</td>
<td><center>{{ $sell->seri}}</center></td>
<td><center>{{ $sell->harga}}</center></td>
<td><center><a href="{{url('sells',$sell->id)}}" class="btn btn-primary">Read</a></center></td>
<td><center><a href="{{route('sells.edit',$sell->id)}}" class="btn btn-warning">Update</a></center></td>
<td>
<center>
{!! Form::open(['method' => 'DELETE', 'route'=>['sells.destroy', $sell->id]]) !!}
{!! Form::submit('Delete', ['class' => 'btn btn-danger']) !!}
{!! Form::close() !!}
</center>
</td>
</tr>
@endforeach
</tbody>
<table>
                </div>
            </div>
        </div>
    </div>
</div>
@endsection

7. BUAT READ FUNCTION 

buat lah file untuk membaca data yang telah kita buat sebelumnya, buat file show.blade.php didalam folder sells tadi.


@extends('layouts.app')

@section('content')
<div class="container">
    <div class="row">
        <div class="col-md-10 col-md-offset-1">
            <div class="panel panel-default">
                <div class="panel-heading"><h1>Detail</h1></div>

                <div class="panel-body">
<form class="form-horizontal">
<div class="form-group">
<label for="barang" class="col-sm-2 control-label">MERK</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="merk" placeholder={{$sell->merk}} readonly>
</div>
</div>

<div class="form-group">
<label for="banyak" class="col-sm-2 control-label">SERI</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="seri" placeholder={{$sell->seri}} readonly>
</div>
</div>

<div class="form-group">
<label for="harga_jual" class="col-sm-2 control-label">SERIAL NUMBER</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="sn" placeholder={{$sell->sn}} readonly>
</div>
</div>

<div class="form-group">
<label for="harga_beli" class="col-sm-2 control-label">HARGA</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="harga" placeholder={{$sell->harga}} readonly>
</div>
</div>

<div class="form-group">
<label for="laba" class="col-sm-2 control-label">Deskripsi</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="deskripsi" placeholder={{$sell->deskripsi}} readonly>
</div>
</div>

<div class="form-group">
<label for="created_at" class="col-sm-2 control-label">Create</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="created_at" placeholder={{$sell->created_at}} readonly>
</div>
</div>

<div class="form-group">
<label for="updated_at" class="col-sm-2 control-label">Update</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="updated_at" placeholder={{$sell->updated_at}} readonly>
</div>
</div>

<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<a href="{{ url('sells')}}" class="btn btn-primary">Back</a>
</div>
</div>
</form>
</div>
            </div>
        </div>
    </div>
</div>
@stop

dan tambahkan function untuk read pada sellController dengan source dibawah ini

public function show($id){
$sell=Sell::find($id);
return view('sells.show',compact('sell'));
}

8. BUAT CREATE FUNCTION

buatlah file create.blade.php untuk membuat create dalam sistem, simpan dalam folder sells dan isikan source berikut ini :

@extends('layouts.app')

@section('content')
<div class="container">
    <div class="row">
        <div class="col-md-10 col-md-offset-1">
            <div class="panel panel-default">
                <div class="panel-heading"><h1>Add Item</h1></div>

                <div class="panel-body">
{!! Form::open(['url' => 'sells']) !!}
<div class="form-group">
{!! Form::label('MERK', 'MERK:') !!}
{!! Form::text('merk',null,['class'=>'form-control']) !!}
</div>
<div class="form-group">
{!! Form::label('SERI', 'SERI:') !!}
{!! Form::text('seri',null,['class'=>'form-control']) !!}
</div>
<div class="form-group">
{!! Form::label('SERIAL', 'SERIAL:') !!}
{!! Form::text('sn',null,['class'=>'form-control']) !!}
</div>
<div class="form-group">
{!! Form::label('HARGA', 'HARGA:') !!}
{!! Form::text('harga',null,['class'=>'form-control']) !!}
</div>
<div class="form-group">
{!! Form::label('DESCRIPTION', 'DESCRIPTION:') !!}
{!! Form::text('deskripsi',null,['class'=>'form-control']) !!}
</div>
<div class="col-sm-2">
{!! Form::submit('Save', ['class' => 'btn btn-primary form-control']) !!}
</div>
<div class="col-sm-2">
<a href="{{ url('sells')}}" class="btn btn-primary">Back</a>
</div>
{!! Form::close() !!}
</div>
            </div>
        </div>
    </div>
</div>
@stop

dan tambahkan function untuk read pada sellController dengan source dibawah ini

public function create(){
return view('sells.create');
}

public function store(){
$sell=Request::all();
Sell::create($sell);
return redirect('sells');
}

dan edit model Sell pada App/sell.php dengan source dibawah ini didalam {} Model :

protected $fillable=[
'merk',
'seri',
'sn',
'harga',
'deskripsi'
];

9. BUAT UPDATE FUNCTION

buatlah file edit.blade.php untuk membuat update dalam sistem, simpan dalam folder sells dan isikan source berikut ini :

@extends('layouts.app')

@section('content')
<div class="container">
    <div class="row">
        <div class="col-md-10 col-md-offset-1">
            <div class="panel panel-default">
                <div class="panel-heading"><h1>Update Item</h1></div>

                <div class="panel-body">
{!! Form::model($sell,['method' => 'PATCH','route'=>['sells.update',$sell->id]]) !!}
<div class="form-group">
{!! Form::label('MERK', 'MERK:') !!}
{!! Form::text('merk',null,['class'=>'form-control']) !!}
</div>
<div class="form-group">
{!! Form::label('SERI', 'SERI:') !!}
{!! Form::text('seri',null,['class'=>'form-control']) !!}
</div>
<div class="form-group">
{!! Form::label('SERIAL', 'SERIAL:') !!}
{!! Form::text('sn',null,['class'=>'form-control']) !!}
</div>
<div class="form-group">
{!! Form::label('HARGA', 'HARGA:') !!}
{!! Form::text('harga',null,['class'=>'form-control']) !!}
</div>
<div class="form-group">
{!! Form::label('DESCRIPTION', 'DESCRIPTION:') !!}
{!! Form::text('deskripsi',null,['class'=>'form-control']) !!}
</div>
<div class="col-sm-10">
{!! Form::submit('Update', ['class' => 'btn btn-primary']) !!}
<a href="{{ url('sells')}}" class="btn btn-primary">Back</a>
</div>
{!! Form::close() !!}
</div>
            </div>
        </div>
    </div>
</div>
@stop

dan tambahkan function untuk update pada sellController dengan source dibawah ini

public function edit($id){
$sell=Sell::find($id);
return view('sells.edit',compact('sell'));
}

public function update($id){
$sellUpdate=Request::all();
$sell=Sell::find($id);
$sell->update($sellUpdate);
return redirect('sells');
}

10. BUAT DELETE FUNCTION

dan tambahkan function untuk Delete pada sellController dengan source dibawah ini

public function destroy($id){
Sell::find($id)->delete();
return redirect('sells');
}

Selesai, dan sekarang CRUD yang telah kita set sudah selesai. saya ingatkan jika ada eror tidak diketahui layouts.app sebaiknya ikuti posting sebelumnya pada pembuatan form login disini, agar layouts.app dibuat otomatis,  untuk lebih lengkapnya liat video dibawah ini, jangan lupa like dan subcribes ya.


Terima kasih telah berkunjung pada blog yang sederhana ini, semoga postingan kali ini membantu teman-teman yang membutuhkan, mohon komentar dan saran anda pada kolom komentar untuk menambah wawasan saya dan membuat blog ini lebih baik lagi.

referensi :

1. crud operations in laravel 5 with mysql restful

Membuat Tanda Peringatan di Excel

TANDA PERINGATAN DI EXCEL

Assalamu'alaikum, sebelumnya terima kasih telah berkunjung pada blog yang sederhana ini, dalam postingan kali ini saya akan membuat tanda peringatan di excel menggunakan Conditional Formating. sedikit tentang excel, aplikasi excel ini adalah salah satu aplikasi microsoft office yang banyak digunakan untuk pencatatan keuangan oleh setiap kantor-kantor, aplikasi ini sangat berguna untuk membuat table dengan berbagai rumus, banyak sekali orang menggunakan excel untuk membuat table dan rumus saja, padahal dalam excel banyak tersimpan tools-tools rahasia seperti membuat peringatan, validasi data, databases dan masih banyak lainnya. dalam membuat peringatan saya menggunakan fitur Conditional Formating.

CONDITIONAL FORMATING

Apa itu conditional Formating, dari arti secara umum bisa kita artikan sebagai memberikan format pada kondisi yang memenuhi kriteria, jadi, conditional formating adalah suatu fitur dalam microsoft excel yang sangat berguna untuk menampilkan data sehingga mempermudah dalam analisa data. jika kita memiliki suatu table kita ingin dalam field table tersebut setelah mencapai kriteria tertentu warna dari tulisan atau background tulisan berubah, sehingga memudahkan kita untuk menganalisa data tersebut.

KASUS

dalam kasus yang saya buat kali ini adalah tentang nilai siswa yang dibawah rata-rata akan muncul tanda merah pada nilai tersebut, bisa dilihat contoh table dibawah ini.


No Nama Mata Pelajaran Nilai Keterangan
1 Heri Habibie Kalkulus 86 Lulus
2 Cut Nuzlia Kalkulus 93 Lulus
3 Muhammad Ismi Syacban Kalkulus 80 Lulus
4 Andy Syahrul Kalkulus 67 tidak Lulus
5 Buyong Kalkulus 50 tidak Lulus
6 Wahyu Kalkulus 90 Lulus


dari table diatas dapat dilihat pada kolom keterangan ada siswa yang tidak lulus, kalau datanya sedikit mungkin enak ngeceknya, tapi kalau sudah bejibun pusing juga guru atau verifikator ngecek data begini ini wwkakwakawkwa, ok data yang tidak lulus itu satu garis akan kita buat menjadi merah dengan menggunakan formating data. ikuti langkah dibawah ini.

LANGKAH 

  • Buka Excel,
  • pada tab home, dalam colom style, pilih conditional formatting,
  • lalu pilih manage rules,
  • dan keluar kotak dialog manage rules, klik new rules
  • pilih "Use a formula to determine which cells to format
  • pada "Format values where this formula is true isikan rumus ini "$E6="Tidak Lulus"
  • lalu klik format untuk memberikan format apa yang diinginkan
  • Pada tab Font, dalam kolom Font Style  kita pilih Bold 
  • color pilih warna merah, lalu tekan OK
  • dan Ok lagi,
  • dan pada Applies to blog seluruh isi table yang ingin dimasukkan kedalam format,
  • lalu tekan ok.
sip selesai dan hasilnya seperti table dibawah ini :

No Nama Mata Pelajaran Nilai Keterangan
1 Heri Habibie Kalkulus 86 Lulus
2 Cut Nuzlia Kalkulus 93 Lulus
3 Muhammad Ismi Syacban Kalkulus 80 Lulus
4 Andy Syahrul Kalkulus 67 tidak Lulus
5 Buyong Kalkulus 50 tidak Lulus
6 Wahyu Kalkulus 90 Lulus

Bagaimana, dengan adanya conditional formating sangat memudahkan kita untuk menganalisa data, sekarang tergantung dengan cara anda memodifikasi nya agar lebih sesuai dengan keinginan anda. bisa juga background nya yang diwarnai itu bisa pilih di fill bukan di font, untuk lebih lengkapnya liat Video dibawah ini, jangan lupa di like dan subcribe hehehehe.


Terima Kasih telah berkunjung pada blog saya ini, mohon saran anda untuk memotivasi saya agar membangun blog yang lebih baik lagi.

Konfigurasi CAS SSO backend MySQL

Konfigurasi CAS SSO backend MySQL

CAS BACKEND MYSQL


Dalam server cas kita dapat menggunakan database diantaranya MySQL, LDAP, dll. Dalam tutorial ini saya mengkonfigurasikan SSO menggunakan databases MySQL, sebelum konfigurasi CAS backend MySQL, ada baiknya untuk mereview postingan sebelumnya tentang instalasi CAS yang instalasinya merujuk pada backend MySQL disini.

LANGKAH INSTALASI

install kebutuhan perangkat untuk MySQL seperti di bawah ini: 



     #apt-get install mysql-server mysql-client libmysql-java


tunggu hingga proses instalasi selesai, setelah mysql-server telah terinstall, buatlah databases yang digunakan oleh cas server.



mysql > create database cas;
mysql > create table users (username char(20) PRIMARY KEY NOT NULL,
        -> password(64));


ok, untuk databases cas sudah kita buat, selanjutnya mengatur classpat, copy file mysql-connector java-5.1.22-bin.jar ke folder /usr/share/java/ (untuk download connector mysqlnya ada disini ), lakukan perintah dibawah ini untuk menambahkan classpath secara otomatis :




      #export CLASSPATH=$CLASSPATH:/usr/share/java/mysql-connector-java-5.1.22-bin.jar


untuk memastikan bahwa JDBC telah aktif, ikuti perintah berikut.



     #echo $CLASSPATH.:/usr/share/java/mysql-connector-java/mysql-connector-java-5.1.22-bin.jar:/usr/share/java/mysql-connector-java-5.1.22-bin.jar



TEST KONEKSI JDBC

lalu, test koneksi JDBC ke MySQL untuk mengetahui apakah MySQL sudah terkoneksi, buatlah source code dibawah ini.


import java.sql.*;
import java.util.properties;

public class JDBCDemo
{
     private static final String dbClassName = "com.mysql.jdbc.Driver";

     private static final String CONNECTION = "jdbc:mysql://127.0.0.1/"

     private static void main(String[] args) throws ClassNotFoundException,SQLException
     {
          System.out.println(dbClassName);
          Class.forName(dbClassName);
          Properties p = new Properties();
          p.put("user","root");
          p.put("password","secret");

          Connection c = DriverManager.getConnection(CONNETION,p);

          System.out.println("It works !");
          c.close();
     }
}


simpan dengan nama JDBCDemo.java, compiler file java tersebut untuk mengetahui jaringan MySQL sudah Terkoneksi dengan benar :




root@ebiemaru# javac JDBCDemo.java
root@ebiemaru# java JDBCDemo
com.mysql.jdbc.Driver
It works !


EDIT DEPLOYERCONFIGCONTEXT.XML

jika berhasil maka akan keluar perintah seperti diatas. lalu edit deployerConfigContext.xml didalam "/var/lib/tomcat6/webapps/cas/WEB-INF/"untuk mengarahkan server CAS ke Databases yang digunakan. ubah syntax didalam <property name="authenticationHandlers">

Ubah syntax dibawah ini :



<bean class="org.jasig.cas.authentication.handler.support.SimpleTestUsernamePasswordAuthenticationHandler" />

Menjadi Syntax dibawah ini


<bean class"org.jasig.cas.adaptors.jdbc.SearchModeSearchDatabaseAuthenticationHandler">
     <property name="tableUsers">
          <value>users</value>
     </property>
     <property name="fieldUser">
          <value>username</value>
     </property>   
     <property name="fieldPassword">
          <value>password</value>
     </property>
     <property name="passwordEncoder">        
          <bean class="org.jasig.cas.authentication.handler.DefaultPasswordEncoder"p:characterEncoding="UTF-8">
               <constructor-arg index="0" value="MD5" />
          </bean>
     </property>
     <property name="dataSource" ref="dataSource" />

</bean> 


EDIT TICKETREGISTRY.XML

setelah selesai diedit masuk ke directory /var/lib/tomcat6/webapps/cas/WEB-INF/spring-configuration/. edit ticketRegistry.xml, dan tambahkan source Code dibawah ini ;


<bean id="ticketRegistry" class="org.jasig.cas.ticket.registry.DefaultTicketRegistry" />

<bean class="org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor" />

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
     p:driverClassName="com.mysql.jdbc.Driver"
     p:url="jdbc:mysql://localhost:3306/cas"
     p:password="secret"
     p:username="root"
/>


simpan konfigurasi tersebut dan restart tomcat dan cek browser kamu untuk pengujian "https://localhost:8443/cas/" uji dengan username dan password yang telah didaftarkan pada database MySQL.

Sekian tutorial kali ini jika butuh bantuan jangan sungkan-sungkan untuk komentar atau bisa langsung email ke saya,

Terima Kasih

Management Bandwidth dengan Mikrotik


MIKROTIK SEBAGAI MANAJEMEN BANDWIDTH

PENDAHULUAN


Pesatnya perkembangan teknologi di dunia, banyak menghasilkan alat-alat atau teknologi-teknologi yang canggih. Perkembangan teknologi juga  memungkinkan bahwa sebuah frekuensi memiliki perbedaan dalam urusan penyampaian dan pemindahan data. Bandwitdh adalah sejenis frekuensi jalur lebar yang mampu memindahkan lebih banyak data dibandingkan dengan pembawa frekuensi yang lebih sempit (Narrowband).