X

Thursday, April 14, 2022

Membuat Database Menggunakan Fitur Migration Laravel

Migration merupakan salah satu fitur yang disediakan oleh laravel yang bertindak sebagai version control database. Fitur migration dapat digunakan untuk membuat, mengedit, menambahkan data, hingga menghapus database.

Migration sangat membantu dalam pembuatan database tanpa harus membuka PhpMyadmin. Developer yang bekerja dengan banyak tim dapat melakukan syncronisasi database dengan mudah.

Sebagai contoh misalkan dalam satu project dikerjakan oleh si A, B, dan C. Ketika si A menambahkan tabel baru ke database local miliknya otomatis B dan C juga harus menambahkan tabel tersebut. Alih-alih mengcopy database, B dan C dapat langsung mengcopy migration dari si A yang mana ketika dijalankan akan membuat tabel baru sesuai tabel yang didefinisikan oleh si A.

Lebih baik lagi apabila project tim menggunakan Git atau layanan berbasis Version Controller System lainnya. Programer hanya perlus melakukan Git Pull untuk mengambil migration yang telah di buat.

Brikut langkah membuat migration di Laravel :

1. Buka terminal/cmd kemudian ketikkan perintah "php artisan make:migration create_nama_table". Ganti nama dengan nama table yang akan dibuat, misalnya untuk pembuatan table konsumen maka ketikkan perintah "php artisan make:migration create_konsumen_table" kemudian tekan enter.

2. Akan muncul file baru di "database/migrations/tanggal_nama_migration.php". Buka file tersebut kemudian edit.

3. Copy code dibawah dan tempelkan pada class migration yang telah dibuat.
	
		    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('konsumen', function (Blueprint $table) {
            $table->id();
            $table->string('name');
            $table->string('status');
            $table->timestamps();
        });
    }
 
    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::drop('konsumen');
    }
	


Penjelasan : "Schema::create('konsumen', function (Blueprint $table) {" merupakan perintah untuk membuat tabel baru dengan nama konsumen dimana isinya berupa id, name, status, timestamps (nantinya akan membentuk 2 field yaitu created_at dan updated_at).

4. Jalankan perintah "php artisan migrate" sehingga program akan membuat table konsumen secara otomatis.

5. Untuk membatalkan guanakan perintah "php artisan migrate:rollback", sistem akan membatalkan migrate terakhir. Jika ingin membatalkan secara manual silahkan hapus table kemudian hapus pula migrate di database tabel migrations.

Kode lainnya :
Mengosongkan table
	
		DB::table('nama_tabel')->truncate();
	
Menabahkan data kedalam table
	
		DB::table('nama_tabel')->insert($this->data);
	
Menghapus satu data dalam table
	
		DB::table('nama_tabel')->where($id)->delete();
	
Mengupadate satu data dalam table
	
		DB::table('nama_tabel')->where($id)->update($data);
	
Menambahkan field atau kolom baru kedalam table
	
		Schema::table('nama_table', function (Blueprint $table) {
            $table->integer('field_baru');
        });
	

Wednesday, March 30, 2022

Cara Mudah Membuat CRUD di Laravel

Halo sobat programmer, kali ini kita akan membahas hal dasar Laravel yaitu tentang bagaimana cara membuat CRUD di Laravel. CRUD merupakan singkatan dari Create Read Update Delete, yang merupakan aksi-aksi yang diperlukan dalam mengelola database. Pada contoh kali ini kita akan mencoba melakukan CRUD tabel user, dimana tabel ini biasanya terbentuk otomatis setelah melakukan migration.

Berikut langkah-langkah dalam membuat CRUD di Laravel :

1. Buat project baru dengan nama "coba"

2. Buat database dengan nama "coba"

3. Jalankan perintah php artisan migrate, akan muncul tabel user di database

4. Buat Controller dengan nama UserController, ketikkan perintah php artisan make:controller UserController


<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Models\User;

class UserController extends Controller
{
public function index()
{
$data = User::get();
return view('user', ['data'=>$data]);
}
public function form()
{
$data = new User;
return view('form', ['data'=>$data, 'url'=>route('simpan')]);
}
public function hapus($id)
{
User::where('id', '=', $id)->delete();
return redirect()->route('user');

}
public function simpan(Request $request)
{
$validated = $request->validate([
'name' => 'required|unique:users',
'email' => 'required|unique:users',
'password' => 'required'
]);
// $input = $request->except(['_token']);

$form['name'] = $request->name;
$form['email'] = $request->email;
$form['password'] = bcrypt($request->password);

User::insert($form);
return redirect()->route('user');
}
public function simpan_edit($id, Request $request)
{
$validated = $request->validate([
'name' => 'required|unique:users,name,'.$id,
'email' => 'required|unique:users,email,'.$id,
'password' => 'required'
]);

$form['name'] = $request->name;
$form['email'] = $request->email;
$form['password'] = bcrypt($request->password);

User::where('id', '=', $request->id)->update($form);
return redirect()->route('user');
}
public function edit($id)
{
$data = User::where('id', '=', $id)->first();
return view('form', ['data'=>$data, 'url'=>url('simpan_edit')."/".$id]);

}
}
5. Buat view di resources/views/ dengan nama user.blade.php.

<!DOCTYPE html>
<html>
<head>
<title>Tabel User</title>
</head>
<body>
<a href="{{route('tambah')}}">Tambah</a>
<br>
<br>
<table border="1" style="padding: 2px;">
<thead>
<tr>
<td>Nama</td>
<td>Email</td>
<td>Password</td>
<td>Aksi</td>
</tr>
</thead>
<tbody>
@foreach($data as $item)
<tr>
<td> {{$item->name}} </td>
<td> {{$item->email}} </td>
<td> {{$item->password}} </td>
<td> <button><a href="{{url('hapus')}}/{{$item->id}}">Hapus</a></button>
<button><a href="{{url('edit')}}/{{$item->id}}">Edit</a></button></td>
</tr>
@endforeach
</tbody>
</table>
</body>
</html>
6. Buat view di resources/views/ dengan nama form.blade.php.

<!DOCTYPE html>
<html>
<head>
<title>Tambah/Edit Data</title>
</head>
<body>

<form action="{{$url}}" method="post">
@csrf
<label>Nama</label>
<br>
<input type="text" name="name" value="{{$data->name}}">
<input type="text" name="id" value="{{$data->id}}" style="display: none;">
<br>
@error('name')
<div>{{ $message }}</div>
@enderror
<br>
<label>Email</label>
<br>
<input type="text" name="email" value="{{$data->email}}">
<br>
@error('email')
<div>{{ $message }}</div>
@enderror
<br>
<label>Password</label>
<br>
<input type="password" name="password">
<br>
@error('password')
<div>{{ $message }}</div>
@enderror
<br>
<button>Simpan</button>
<br>
<br>
</form>
</body>
</html>
7. Tambahkan route di Routes/web.php seperti berikut :
	
<?php

use Illuminate\Support\Facades\Route;

/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/

Route::get('/', 'App\Http\Controllers\UserController@index')->name('user');
Route::get('/tambah', 'App\Http\Controllers\UserController@form')->name('tambah');
Route::get('/hapus/{id}', 'App\Http\Controllers\UserController@hapus')->name('hapus');
Route::get('/edit/{id}', 'App\Http\Controllers\UserController@edit')->name('edit');
Route::post('/simpan', 'App\Http\Controllers\UserController@simpan')->name('simpan');
Route::post('/simpan_edit/{id}', 'App\Http\Controllers\UserController@simpan_edit')->name('simpan_edit');
8. Jalankan aplikasi, kemudian tes semua fitur mulai dari tambah data, hapus, dan edit data.

Thursday, March 24, 2022

Laravel Cara Menggunakan Passport Sebagai Authentikasi Token API

Secara default laravel menggunakan sanctum untuk membuat Authentikasi Token API. Namun pengguna dapat menggunakan package lain untuk membuat Authentikasi Token API salah satunya yaitu Passport.

Berikut cara pemasangan Passport pada Laravel :

1. Buka atau Buat project baru Laravel beserta databasenya (tabel biarkan kosong). 


2. Sebelumnya untuk mempermudah dalam pengetesan nantinya silahkan pasang Bootstrap Auth
 

3. Setelah terpasang lanjut untuk memasang package passport dengan menggunakan perintah "composer require laravel/passport" pada terminal.
 

4. Lakukan migration dengan perintah php artisan migrate kemudian install passport php artisan passport:install
 

5. Buka app\Models\User.php, cari kode use Laravel\Sanctum\HasApiTokens; ganti menjadi use Laravel\Passport\HasApiTokens;
 

6. Buka app\Providers\AuthServiceProvider.php kemudian tambahkan code use Laravel\Passport\Passport; di atas class AuthServiceProvider extends ServiceProvider.
 

7. Buka config\auth.php cari kode :


'guards' => [
        'web' => [
            'driver' => 'session',
            'provider' => 'users',
        ],
    ],

Ubah menjadi

'guards' => [
        'web' => [
            'driver' => 'session',
            'provider' => 'users',
        ],
        'api' => [
            'driver' => 'passport',
            'provider' => 'users',
        ],
    ],

8. Jalankan perintah "php artisan passport:install --uuids".

9. Buka routes\api.php tambahkan kode Route::post('/login', 'App\Http\Controllers\Auth\LoginController@login')->name('login');.

10. Buka app\Http\Controllers\Auth\LoginController.php. Isi sesuai dengan code di bawah :

<?php

namespace App\Http\Controllers\Auth;

use App\Http\Controllers\Controller;
use App\Providers\RouteServiceProvider;
use Illuminate\Foundation\Auth\AuthenticatesUsers;

use Illuminate\Http\Request;

use App\Models\User;

class LoginController extends Controller
{
/*
|--------------------------------------------------------------------------
| Login Controller
|--------------------------------------------------------------------------
|
| This controller handles authenticating users for the application and
| redirecting them to your home screen. The controller uses a trait
| to conveniently provide its functionality to your applications.
|
*/

use AuthenticatesUsers;

/**
* Where to redirect users after login.
*
* @var string
*/
protected $redirectTo = RouteServiceProvider::HOME;

/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('guest')->except('logout');
}
public function login(Request $request)
{
$input = $request->all();

$this->validate($request, [
'email' => 'required',
// 'username' => 'required',
'password' => 'required',
]);

$fieldType = filter_var($request->email, FILTER_VALIDATE_EMAIL) ? 'email' : 'username';

$arrayauthuser = [
$fieldType => $input['email'],
'password' => $input['password']
];



if(auth()->attempt($arrayauthuser))
{


$token = auth()->user()->createToken('isi_sesuai_keinginan')->accessToken;


return response()->json([
'token' => $token
], 200);



}else{
return response()->json([
"response" => [
"status" => 201,
"message" => "Failed"
],
"data" => null
], 201);
}
}
}

11. Sampai pada tahap pengetesan. Caranya buat akun baru melalui menu registrasi seperti pada gambar, jika tidak ada silahkan pasang Bootstrap Auth terlebih dahulu.


12. Buka Aplikasi Postman kemudian buat request seperti di bawah :



Url, email, password sesuaikan dengan web anda. Jika akun berhasil ditemukan akan muncul token seperti gambar di bawah :
 



 

Token inilah yang akan digunakan untuk Authentikasi apabila client API ingin melakukan request.


Laravel 8 Membuat Login Dengan Bootstrap Auth

Proses login merupakan bagian yang sangat utama dalam pembuatan website. Untuk membuat proses login pada laravel kita bisa menggunakan Boostrap Auth. Tinggal pasang sekali anda sudah bisa menggunakan fitur login, register, logout, forget password, profile, dan reset password.

Berikut tutorial membuat Login dengan Boostrap Auth.

1. Buat project baru dengan nama "login" (sesuaikan dengan keinginan anda).
2. Buka terminal atau cmd kemudian arahkan ke folder root project.
3. Ketikkan perintah "composer require laravel/ui", pastikan telah menginstall composer
4. Setelah ui terpasang sekarang ketikkan perintah "php artisan ui bootstrap --auth", kemudian tunggu hingga proses instalasi selesai.
5. Selanjutnya buat database dengan nama "login" (sesuaikan dengan keinginan).
6. Kembali ke terminal ketikkan perintah "php artisan migrate", perintah ini kan menjalankan migrate di folder database project. Dimana migration defaultnya akan membuat tabel user dan beberapa tabel lainnya.
7. Cek database apakah sudah terdapat tabel seperti pada gambar.



8. Jalankan web di browser. Jika anda belum menggunakan cara Menjalankan Project Laravel Menggunakan XAMPP, Laragon, atau WAMP tanpa port silahkan gunakan perintah "php artisan serve".
9. Berikut tampilan web setelah di pasang Boostrap auth

Tampilan Awal


 

Halaman Login



Halaman Dashboard


 

Halaman Register


10. Pasang css dan javascript bootstrap untuk mengaktifkan class yang telah terpasanga pada "resources/views/layouts/app.blade.php" tambahkan code berikut di atas tag "</head>":



	
<!-- boostrap -->
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script>

11. Buka kembali web di browser dan tampilan akan berubah, contohnya seperti tampilan login akan menjadi seperti pada gambar di bawah :



Sunday, March 20, 2022

Menjalankan Project Laravel Menggunakan XAMPP, Laragon, atau WAMP

Jika biasanya untuk menjalankan project laravel kita menggunakan perintah "php artisan serve" pada terminal maka kali ini saya akan berbagi bagaimana cara menjalankan Project Laravel Menggunakan XAMPP, Laragon, atau WAMP.

Maksudnya kita akan menjalankan project sama halnya seperti ketika anda membangun aplikasi web native dimana website di tempatkan di folder root xampp, laragon, atau wamp.

Untuk caranya bisa anda simak di bawah ini :

1. Buat project baru seperti biasa dengan perintah "laravel new web", web = nama project. Hanya saja ketika membuat projectnya tempatkan di folder root, contoh htdocs untuk XAMPP atau www untuk Laragon.

2. Pastikan project sudah terpasang dengan sempurna dan bisa berjalan caranya. Untuk memastikannya bisa menggunakan perintah "php artisan serve", ini hanya untuk mengecek saja.

3. Setelah dipastikan project sudah aman, silahkan stop "php artisan serve" dengan cara CTRL-C untuk windows.

4. Buka folder utama project kemudian buat file dengan nama ".htaccess"

5. Isi .htaccess yang sudah di buat dengan kode di bawah :
	


<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews -Indexes
</IfModule>

RewriteEngine On

# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

RewriteCond %{REQUEST_FILENAME} -d [OR]
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^ ^$1 [N]

RewriteCond %{REQUEST_URI} (\.\w+$) [NC]
RewriteRule ^(.*)$ public/$1

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ server.php

</IfModule>


6. Jalankan project dengan menggunakan url "localhost/nama_web", pastikan XAMPP atau Laragon anda sudah berjalan.

Dengan menggunakan cara ini anda juga tidak perlu lagi menambahkan port ketika menjalankan project. Selain itu anda tidak harus bolak-balik mengecek terminal.

Wednesday, March 2, 2022

Membuat Controller Dengan Laravel

Sama halnya seperti Codeigniter, Laravel juga menerapkan sistem MVC (Model View Controller). Hal dasar yang perlu di pelajari untuk menggunakan Laravel adalah cara membuat controller.

Ada 2 cara yang bisa digunakan dalam membuat controller di laravel, pertama menggunakan terminal atau command line (di windows CMD), kedua dengan membuat langsung file controller secara manual.

Menggunakan Terminal, Commandline, atau CMD

Buka terminal atau cmd anda kemudian rahkan ke folder root project laravel yang sudah di buat. Ketikkan perintah php artisan make:controller DaftarController. "DaftarController" merupakan nama controller yang akan di buat.

Tunggu hingga pembuatan controller selesai kemudian buka app/Http/Controllers. Nanti akan muncul controller yang sudah di buat.

Membuat file langsung

Masuk ke app/Http/Controllers kemudian buat file baru dengan nama controller yang akan di buat misalnya DaftarController.php kemudian buka filenya dan isikan kode berikut :

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;


class DaftarController extends Controller
{

}

Perbedaan membuat controller menggunakan cmd dan manual, pada manual anda harus menuliskan code dasar controller secara manual sedangkan ketika menggunakan cmd code dasar tersebut langsung tergenerate.

Friday, February 11, 2022

Mengenal C++ dan Sejarah C++ Secara Lengkap


 

Salah satu bahasa pemrograman yang penting untuk dipelajari bagi Anda yang ingin jadi seorang programer adalah C++. Ulasan kali ini akan membahas tentang apa itu C++ dan juga sejarah c++ itu sendiri.


Apa itu C++

Sebelum membahas tentang sejarah c++, tentunya baik adanya jika Anda mengenal apa itu C++. Bahasa program yang satu ini dibuat oleh seorang ilmuwan komputer yang bernama Bjorne Stroustrup. Dimana sebagian dari C++ ini adalah evolusi dari bahasa C itu sendiri. 


Dalam hal ni C++ ini adalah bahasa komputer yang berorientasi pada objek itu sendiri. Adapun bahasa yang satu ini sengaja dikembangkan dengan tujuan untuk meningkatkan lintas platform dari C itu sendiri. Hasilnya pengembangan tingkat kontrol jadi lebih tinggi, dari memori dan juga sumber daya sistem yang ada.


C++ ini juga memperkenalkan prinsip prinsip pemrograman yang berorientasi pada objek, termasuk menggunakan kelas yang telah ditentukan, pada kerangka bahasa pemrograman C itu sendiri. Seiring waktu bahasa yang satu ini tetap berguna, dan mampu mendukung berbagai prosedural dan fungsional yang ada.


Sejarah C++

Hingga saat ini, semenjak diperkenalkannya C++ tersebut, sudah jadi salah satu pilihan bahasa pemrograman untuk berbagai jenis aplikasi tertentu. Salah satu pemrograman C++ yang cukup populer digunakan adalah untuk membangun infrastruktur perangkat lunak besar, walau berada di sebuah aplikasi yang berjalan di sumber daya yang terbatas. Salah satunya karena C++ ini, mampu memanipulasi perangkat keras atau juga mein yang dijalankan secara langsung.


Seperti yang dibahas di atas tentang tipe data c++, dalam hal ini bahasa C++, dibuat oleh seseorang bernama Bjorne Stroustrup dan timnya di AT&T Bell laboratories di tahun 1979. Dimana C++ ini sendiri adalah sebuah bahasa pemrograman yang dapat digunakan secara umum.  Dimana pertama kali, prototype C++ muncul sebagai C yang dibuat secara canggih, dari bentuk awalnya, dalam hal ini dibekali dengan fasilitas kelas. Hingga membuat bahasa tersebut disebut dengan C dengan kelas atau C with Class.


Kemudian pada tahun 1983 hingga 1984, bahasa ini kemudian disempurnakan dengan menambahkan fasilitas overloading operator, dimana yang awal nya disebut dengan ‘a better c’, kemudian berganti nama di tahun 1983, yang kemudian jadi C++. Digunakannya simbol ++ ini, sebagai tanda dari operator yang naik, dibandingkan bahasa C umumnya. Yang artinya C++ ini lebih canggih dibandingkan dengan bahasa C itu sendiri.


Seiring berjalannya waktu, bahasa C++ terus berkembang menjadi sebuah standar yang baru, dan juga menggunakan beberapa modul baru yang berasal dari Boost perpustakaan. Tentunya standar baru C++ seperti ini akan sangat membantu para programer untuk membuat aplikasi secara lebih baik, dan lebih cepat.


Demikianlah beberapa ulasan tentang apa itu dan juga sejarah c++. Semoga ulasan kali ini bermanfaat untuk Anda.


Tags : Tentang sejarah C++, bahasa program C++, standar baru C++, mengenal sejarah C++.