Laravel CRUD dengan repository

Buat Anda yang ingin mencari contoh Laravel CRUD, silahkan mendownload dari link github yang saya miliki https://github.com/duniadua/TodoApplication apa yang anda dapatkan dari contoh yang saya miliki

  1. PHP Repository Pattern
  2. Laravel Migration
  3. Blade Templating
  4. Travis CI (Continues Integration)

Yang mungkin nanti akan saya ulas 1 per 1 agar lebih jelas dan paham tentang Laravel ini, jika ada pertanyaan mungkin bisa comment dibawah ini

Iklan

Cara menggunakan Try and Catch pada Laravel

Terkadang bagi programmer yang baru belajar suka bertanya kegunaan fungsi try, throw and catch didalam sebuah fungsi atau didalam program, padahal banyak sekali kegunaan dari fungsi ini.

Apa itu Exception

Pernah dengar Exception ? Exception menurut halaman php.net adalah

PHP 5 has an exception model similar to that of other programming languages. An exception can be thrown, and caught (“catched”) within PHP. Code may be surrounded in a try block, to facilitate the catching of potential exceptions. Each try must have at least one corresponding catch or finally block.

Pada PHP 5 exception digunakan untuk menghandle error dengan pendekatan object oriented lihat http://www.w3schools.com/php/php_exception.asp

Contoh nya dapat dilihat disini

<?php
// Membuat fungsi untuk mengetahui bahwa var $number jika lebih besar dari 1 maka akan melempar Exception
  function checkNum($number) {
if($number>1) {
throw new Exception("Value must be 1 or below");
}
return true;
}

//Men trigger exception didalam "try" block
try {
checkNum(2);
}
catch(Exception $e) {
echo 'Message: ' .$e->getMessage();
}

1. Langkah pertama kita akan membuat fungsi checkNum yang didalam fungsi tersebut jika variable $number lebih dari 1 maka kita akan membuat Exception baru berisikan informasi bahawa variable $number tidak boleh lebih dari 1

2. Untuk mengimplementasikannya adalah kita masukan fungsi checkNum kedalam blok try and catch dan didalam blok catch akan menangkap pesan Exception yang telah dilempar dari dalam fungsi checkNum

Implementasi didalam Laravel

Baca lebih lanjut

Menampilkan view dengan Laravel part 1

Introduction

Untuk menampilkan view dengan Laravel adalah hal yang sangat mendasar sebelum memulai pemrograman PHP menggunakan Laravel Framework 5.2, untuk di ingat bahwa ini adalah hal yang paling mendasar, mengapa saya bilang very-very basic karena yang perlu Anda ingat adalah logika dalam menampilkan halaman itu sendiri, ingat ya logika, begitu logika masuk di otak dan pikiran Anda maka mau seperti apa bentuk Framework yang akan Anda gunakan maka dengan mudah Anda dapat ber Adaptasi.

Hal yang harus diperhatikan

Untuk memulai menampilkan View ada beberapa hal yang Anda harus perhatikan yaitu

  1. Route
  2. View

kedua hal itu yang akan diperlukan dalam membuat view karena Route untuk memappingkan URL yang akan diakses melalui Browser dan View berguna untuk menampilkan halaman dimana user mengakses alamat URL tersebut.

Memulainya dengan Hello World

Sekarang kita mulai tutorial ini dengan menampilkan the famous “hello world”, yak si hello world akan kita tampilkan yang perlu Anda lakukan adalah

  1. Mengedit File routes.php
  2. …. nothing (easy right 😀 )
File routes.php berada di
projectname\app\Http\routes.php

Lalu tambahkan beberapa baris program seperti ini

Route::get('hello', function() {
$name = 'Udin';
 return 'This is Hello World '.$name;
});

kemudian akses melalui browser http://localhost/sia/public/index.php/hello maka akan tampil “This is Hello World name”, agar lebih jelas lihat penjelasan berikut ini

  1. Kita membuat Route dengan metode GET dengan URL hello
  2. Dengan Anonymous function
  3. Dimana terdapat variable $name bertipe String yang berisikan ‘Udin’
  4. Lalu menghentikan suatu fungsi proses dengan menampilkan halaman / String

Menambahkan parameter Hello World

Lalu bagaimana jika Anda ingin menampilkan parameter yang ada di URL untuk dimasukan kedalam halaman?, yaitu dengan cara mengedit baris program yang kita buat sebelumnya seperti ini

Route::get('hello/{name}', function($name) { 
 return 'This is Hello World '.$name;
});

kemudian akses melalui browser http://localhost/sia/public/index.php/hello/udin maka akan tampil “This is Hello World udin”, untuk penjelasan dari baris diatas adalah sebagai berikut

  1. Kita membuat Route dengan metode GET dengan URL hello dengan menggunakan parameter name
  2. Dengan Anonymous function yang terdapat variable $name bertipe String
  3. Lalu menghentikan suatu fungsi proses dengan menampilkan halaman / String

Apakah Anda sudah paham tentang cara menampilkan view di Laravel ? baiknya Anda mengulang kembali apa yang sudah saya buat sebelumnya, inget repeating sangat penting bagi para pemula dalam mempelajari suatu ilmu baru, sampai ketemu di part 2 karena di part 2 akan saya jelaskan mengenai View lebih dalam.. Jangan lupa ulangi lagi tutorial saya dengan modifikasi yang ingin Anda lakukan.. Dont Forget Share this Knowledge..

Technical Needs (TN)

PHP Language
Laravel Framework 5.2
Bootstrap

Tutorial Experience Level (TEL)

Low
Medium
High

Consumed Time
10 Menit

Memulai Laravel Framework dengan 2 langkah mudah

Technical Needs (TN)

  1. PHP Language
  2. Composer
  3. Web Server (Apache / Nginx ect)

Tutorial Experience Level (TEL)

  1. Low
  2. Medium
  3. High

Consumed Time
10 Menit

Pengenalan

Dalam memulai Laravel tentu nya kita harus mengerti tentang bahasa pemrograman PHP, selanjutnya yang Anda perlu kan adalah pemahaman tentang logika pembuatan program dengan mengikuti design patterns MVC, namun Design Pattern ini tergantung oleh penggunannya.

Mengapa Anda harus mempelajari Laravel ?

Secara teknis, Framework adalah kumpulan dari class class yang digabung kedalam satu kerangka kerja.. ingat kerangka kerja, karena berbeda jenis framework maka berbeda juga cara penggunaannya jadi jika Anda pengguna fanatik salah satu framework berpindah ke Laravel maka yang Anda harus lakukan adalah melupakan framework Anda tersebut dan mulailah hal yang baru dengan Laravel

Pra Persyaratan

Persyaratan sebelum memulai Laravel secara teknis adalah

1. Framework Laravel 5.2
2. Php versi terakhir => 5.5.9
3. Webserver

Langkah 1 – Instalasi Laravel

Dalam melakukan instalasi Laravel dapat dilakukan oleh 3 langkah yaitu

  1. Laravel Installer
  2. Composer
  3. Zip File (compressed Project)

Kita akan membahas bagaimana melakukan installasi melalui Composer namun yang Anda harus tau bahwa melalui Composer akan membutuhkan waktu yang cukup lama tergantung kondisi internet dan koneksi ke server packagist.

Anda dapat melakukan proses instalasi dengan menggunakan comand line / terminal dengan cara sebagai berikut

composer create-project laravel/laravel (project name)

(project name) ini adalah folder kerja anda dalam menjalankan project laravel

Langkah 2 – Configurasi Laravel

Setelah folder kerja siap Anda harus melakukan configurasi folder permission terlebih dahulu, folder apa yang harus di configurasi:
1. Storage
2. Bootstrap / cache

Configurasi tambahan yaitu

None 🙂

lalu bagaimana cara saya dapat mengecek bahwa instalasi laravel saya berhasil ?, cara melihatnya adalah melalui browser dengan mengakses http://localhost/projectname/public/

Business Process Analysis

Business Processes Analysis

Business Processes Analysis (BPA) adalah kegiatan mendokumentasikan pekerjaan kita sehari-hari bertujuan untuk mengerti proses sekarang dan menyelesaikan suatu masalah jika diperlukan.

Business adalah kegiatan individual atau kelompok yang mendatangkan keuntungan .

Analysis / analisa adalah kegiatan mempelajari serta mengevaluasi suatu bentuk masalah.

Processes adalah urutan pelaksanaan yang secara alami atau didesign untuk menghasilkan suatu hasil.

Tujuan dilakukan BPA adalah untuk mendokumentasikan proses yang ada sehingga kita mudah untuk memperbaharui proses yang ada jika diperlukan, sesuai dengan kebutuhan zaman.

Lihat ilustrasi dibawah ini mengapa di perlukan Business Process Analysis

bpa_ilustration

Ilustrasi diatas jika kita perhatikan terdapat beberapa orang yang berperan sebagai

  1. Project Leader
  2. Engineer
  3. Programmer
  4. Sales
  5. Operations
  6. Helpdesk
  7. Customer

Tiap-tiap orang memiliki peranan yang sangat penting namun, tanpa dibekali oleh penjelasan dari Customer yang terperinci dan terdokumentasi terjadi kekacauan didalam internal kecuali sales yang lebih paham atas apa yang Customer butuhkan dan cenderung melebihi expektasi dari Customer.

Bisa dibayangkan jika ini adalah projek besar namun tanpa hal yang terdokumentasi dengan baik maka, pekerjaan kita akan sia-sia.

Contoh dari BPA

Contoh dari BPA berikut adalah mengenai proses kegiatan pengajuan cuti. Pada BPA disini cukup jelas bahwa terdapat Peranan (Role) dan Kegiatan (Activity) sehingga cukup jelas bahwa siapa yang melakukan dan apa yang dilakukan, ingat Who nya siapa What nya itu Apa, sehingga jelas pelaku dan kegiatan yang dilakukan oleh pelaku.Petunjuk_Pembuatan_BPA

(Contoh BPA Diagram)

Setelah adanya diagram, maka kita memerlukan BPA Narasi, yang berfungsi untuk menekankan dari pekerjaan yang dilakukan. Serta didalam BPA Narasi terdapat usulan dari User untuk saat ini dan untuk masa depan.

bpa_example.png

(Contoh BPA Narasi)

Dapat kita simpulkan bahwa didalam pembuatan BPA terdapat 2 jenis alat, kita sebut alat karena memiliki tugas dan fungsi nya masing-masing yaitu

  1. BPA Diagram
  2. BPA Narasi

Keduanya saling terkait dan memiliki tugas dan fungsi yang berbeda, sehingga dapat membantu anda dalam menentukan tahap selanjutnya..

Cara Menggunakan Composer di Codeigniter

Pernah dengar tentang composer ? coba lihat http://www.getcomposer.org/,  composer adalah Dependency Manager untuk PHP? ooohh masih blum mudeng juga? jadi sebenarnya Class / Paket PHP masih bersifat fregmentasi yg bisa dibilang tersebar dimana, disini tugas si composer adalah sebagai pengikat dari Class/Paket PHP yang harusnya bersifat universal. Universal ? iya jadi php banyak framework contoh Zend, Laravel, Symfony dll. mereka membuat class masing2 untuk kebutuhan mereka jadi bukankah hal yg baik jika class yg ada bisa di pake di framework lainnya ?

Di CI kita kenal akan getspark nah itu khusus CI saja, yang saya bahas disini adalah permulaannya saja, saya tidak mengulas cara instalasi Composer saya anggap anda sudah bisa instalasi Composer. untuk memanggil cukup mudah kita perlu melakukan perubahan file di index.php pada root directory CI, ada banyak macam caranya salah satu yg saya suka seperti ini

<code>

/*
* ——————————————————————–
* LOAD THE BOOTSTRAP FILE
* ——————————————————————–
*
* And away we go…
*
*/
require FCPATH.’./vendor/autoload.php’;

require_once BASEPATH . ‘core/CodeIgniter.php’;

</code>

 

Dengan begini kita bisa memanggil paket2 yg kita perlukan, dan menggunakannya di Class Libraries atau di Class Controller. Contoh penggunaan lebih lengkapnya akan menyusul ya 😀

Database Migration

Pembahasan kita saat ini adalah tentang database migration, mungkin beberapa orang bertanya buat apa sih database migration, trus apa sih gunanya. Mari kita bahas disini tentang Migrasi, pada umumnya setiap developer atau programmer baik perorangan maupun group lebih sering suka membuat database dan table langsung baik pada sql manager, phpmyadmin, squirellsql, navicat dll.

Memang lebih enak menggunakannya sebab langsung melakukan perubahan di DBMS itu sendiri tetapi jika si A (programmer) melakukan perubahan code program dan si B (Analis yang terperangkap sebagai Implementasi program) tersebut di suatu perusahaan C tidak mengetahui bahwa A telah ada penambahan field pada suatu table maka jika A lupa memberitahukan si B bahwa ada penambahan field di table itu maka apa yang terjadi ? pasti program tersebut pasti tidak akan jalan dengan semestinya.

Di Codeigniter (CI)  memiliki class migration bisa buka link disini, class ini bertanggung jawab untuk menghandle segala bentuk migrasi


defined('BASEPATH') OR exit('No direct script access allowed');

class Migration_Add_blog extends CI_Migration {

public function up()
{
$this->dbforge->add_field(array(
'blog_id' => array(
'type' => 'INT',
'constraint' => 5,
'unsigned' => TRUE,
'auto_increment' => TRUE
),
'blog_title' => array(
'type' => 'VARCHAR',
'constraint' => '100',
),
'blog_description' => array(
'type' => 'TEXT',
'null' => TRUE,
),
));

$this->dbforge->create_table('blog');
}

public function down()
{
$this->dbforge->drop_table('blog');
}

 

Contoh diatas adalah class dari penggunaan class migration dan class database forge yang berguna untuk membuat table blog. Kalau anda bertanya bagaimana cara menggunakan database migration ini berikut langkah2nya

  1. Buat folder migration didalam folder application
  2. Setiap kali kita akan membuat class yang berfungsi membuat table misalnya table blog maka penamaan file tersebut adalah 001_Add_Blog.php dan untuk versi migrasi selanjutnya 002_Add_News.php dan 003_Nama_File.php dan seterus nya jadi nama file itu berupa penomeran dari dari versi yang akan kita buat.
  3. Penamaan class harus mengikuti kaidahnya misal di file 001_Add_Blog.php maka penamaan class nya Migration_Add_Blog
  4. Membuat Controller untuk mengjalankan perintah migrasi ke versi tertentu buat nama file controller yang bernama migrate nanti isinya seperti ini
    
    class migrate extends CI_Controller {
    
    //put your code here
    public function ver($ver) {
    $this->load->library('migration');
    
    if (!$this->migration->version($ver)):
    show_error($this->migration->error_string());
    else:
    echo 'migration success -'.$ver.br();
    endif;
    
    
    }
    
    }
    
  5. Jalankan class migrate ini di browser sesuai dengan migrasi yang anda buat

Mengapa saya mengulas tentang database migration ini adalah untuk membuka mata para developer atau programer agar lebih rapih lagi dalam membuat suatu program yang nanti nya akan berguna bagi diri kita dan tidak menyulitkan bagi orang lain, jika anda masih bingung tentang ulasan ini anda bisa mengisi komen dibawah ini ya