• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar

Jaranguda

Belajar Mengajar

  • Home
  • Sponsor/Jasa
  • Tentang

PHP

Cara Mudah Membuat Registrasi dan Login di Laravel 8

Last Updated on 16 January 2021 By tommy Leave a Comment

Walaupun banyak yang merekomendasikan untuk menggunakan Laravel Breeze atau Laravel Jetstream, tetapi kita tetap bisa menggunakan cara lama untuk membuat pendaftaran user dan login user di Laravel.

Di Laravel 8 cara ini sudah menjadi legacy, walau demikian masih berfungsi normal dan bisa digunakan dengan lancar. Paling tidak sampai saat ini di Laravel 8.22.1

Install Composer

Kita akan menggunakan composer untuk menginstall Laravel 8. Di Linux caranya

wget https://getcomposer.org/composer-stable.phar
sudo cp composer-stable.phar /usr/local/bin/composer

Buat Database Baru

Untuk aplikasi yang akan dibuat kita akan membuat database baru dengan nama laravel8 dan user dblaravel, untuk password xaCJwXRdU7fPpdeaUexM.
Buka phpMyAdmin, klik menu SQL lalu eksekusi
buat database baru dari mysql
atau bila anda lebih memilih menggunakan CLI

CREATE DATABASE laravel8;
GRANT ALL PRIVILEGES ON laravel8.* TO "dblaravel"@"localhost" IDENTIFIED BY "xaCJwXRdU7fPpdeaUexM";

Install Laravel 8

Mari namai aplikasi yang akan kita buat penjualan-barang, install dengan

composer create-project laravel/laravel penjualan-barang

Ubah setting konfigurasi database di penjualan-barang/.env, sesuaikan dengan database yang tadi dibuat

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel8
DB_USERNAME=dblaravel
DB_PASSWORD=xaCJwXRdU7fPpdeaUexM

konfigurasi database laravel

Tambahkan dan install package laravel/ui

cd penjualan-barang
composer require laravel/ui

Generate auth

php artisan ui bootstrap --auth

Jalankan server build-in di Laravel

php artisan serve

Terakhir build CSS/JS

npm install && npm run dev

Di browser buka http://127.0.0.1:8000
tampilan laravel 8
Dipojok kanan atas ada dua menu yang ditambah Register dan Login.

Laravel user registration

Filed Under: PHP

Mempercepat Composer PHP Dependency Manager

Last Updated on 7 November 2020 By tommy Leave a Comment

Bagi yang terbiasa menggunakan PHP dengan composer pasti sering mengalami proses download oleh composer cukup lama. Sebagai contoh menginstall Laravel 8 dengan dengan composer v1 menghabiskan 4 menit lebih. Masalah ini terjadi karena composer 1 hanya single thread, jadi semua file di download satu persatu. Untuk mempercepat proses ini muncullah package yang bernama prestissimo yang saat tulisan ini ditulis sudah deprecated, tetapi masih berfungsi dengan baik.

Solusi yang akan kita gunakan adalah menggunakan composer 2, di versi 2 ini proses instalasi Laravel 8 jauh lebih cepat, menjadi 40 detik, bandingkan dengan versi 1 yang mencapai 4 menit.

Download Composer 2

Karena file composer hanya 1 file yang bisa langsung dijalankan (executable), jadi proses download dan menjalankannya sangat sederhana. Composer memiliki link tetap untuk versi stabil, bisa di download dengan wget.

wget https://getcomposer.org/composer-stable.phar

setelah mendownload file composer-stable.phar tersebut jalankan dengan php composer-stable.phar

Contoh Penggunaan Composer PHP

Sebagai contoh kita akan menginstall Laravel 8 menggunakan composer 2 yang baru kita install

php composer.phar create-project --prefer-dist laravel/laravel laravel

composer 2 install php

Dengan kedatangan composer versi 2 kita tidak perlu lagi menggunakan mirror yang belum tentu sering di update dan reliable.

Filed Under: PHP

Membuat Contoh Script Pencarian dengan CodeIgniter 4

Last Updated on 25 October 2020 By tommy Leave a Comment

Kali ini kita akan membuat sebuah pencarian sederhana di CodeIgniter 4, ada banyak perubahan yang perlu dilakukan bila anda pindah dari CodeIgniter versi 2/3 ke CodeIgniter 4. Beberapa diantaranya
– Penggunaan .env untuk menyimpan variabel
– Penggunaan composer
– PHP minimal 7.2+
– Server development menggunakan spark, seperti artisan di Laravel

Sebelum memulai tutorial ini pastikan PHP, MySQL/MariaDB sudah terinstall di system anda.

Install CodeIgniter 4

Install CodeIgniter 4 dengan composer

composer create-project codeigniter4/appstarter pencarian

setelah selesai, folder baru dengan nama pencarian akan muncul. Pindah ke folder tersebut untuk memulai proses pembuatan scriptnya.
Mirip seperti Laravel, CodeIgniter 4 sudah menggunakan dotenv (.env) untuk menyimpan konfigurasinya. Copy file env menjadi .env, di linux/MacOS caranya

cp env .env

Buat User dan Database

Database yang akan digunakan adalah MariaDB, kita perlu membuat database dan user baru untuk aplikasi yang akan kita buat. Hal ini sangat penting agar tidak bercampur dengan aplikasi lainnya.
Login sebagai MySQL root, lalu jalankan perintah dibawah ini

# buat database baru
create database pencarian;
# buat user untuk database 
GRANT ALL PRIVILEGES ON pencarian.* TO "pencarian"@"localhost" IDENTIFIED BY "JARANGUDACOM";

mysql membuat user dan database codeigniter

Konfigurasi Database di CodeIgniter 4

Di folder project pencarian yang tadi dibuat terdapat file .env, buka file tersebut lalu edit/tambahkan

database.default.hostname = localhost
database.default.database = pencarian
database.default.username = pencarian
database.default.password = JARANGUDACOM
database.default.DBDriver = MySQLi

Import Data Dummy

Sebagai contoh kita akan mengimport data dummy yang sudah dipersiapkan dibawah ini. Login ke database pencarian

mysql -h localhost -u pencarian -p pencarian

copy paste file dibawah ini

CREATE TABLE `users` (
  `id` INT(11) NOT NULL,
  `first_name` VARCHAR(50) DEFAULT NULL,
  `last_name` VARCHAR(50) DEFAULT NULL,
  `email` VARCHAR(50) DEFAULT NULL,
  `password` VARCHAR(50) DEFAULT NULL,
  `country` VARCHAR(50) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
 
--
-- Dumping data for table `users`
--
INSERT INTO `users` (`id`, `first_name`, `last_name`, `email`, `password`, `country`) VALUES
(1, 'Winston', 'Bebis', '[email protected]', 'RCOWs2uJq7', 'Indonesia'),
(2, 'Ethelyn', 'Henrys', '[email protected]', 'ZwirrolHMukN', 'Russia'),
(3, 'Vittorio', 'Vellender', '[email protected]', 'hz7uqNpZ', 'Brazil'),
(4, 'Gearalt', 'Scinelli', '[email protected]', 'noer33vU', 'Poland'),
(5, 'Fey', 'Stevens', '[email protected]', 'j1afGfuw7Ve7', 'China'),
(6, 'Bentley', 'Ditt', '[email protected]', 'BUR6fv0A', 'Portugal'),
(7, 'Tonya', 'Rye', '[email protected]', 'X5tmZ9jDcS', 'China'),
(8, 'Juline', 'Roughey', '[email protected]', 'kjRRO45jeD0w', 'Indonesia'),
(9, 'Alic', 'Wevell', '[email protected]', 'TzSWEfZWy8vQ', 'China'),
(10, 'Norbie', 'Gelder', '[email protected]', '4jYZi2rj', 'Albania'),
(11, 'Emmalynn', 'Gabler', '[email protected]', 'Uri553LlQO', 'Sweden'),
(12, 'Sibelle', 'Bernardo', '[email protected]', 'Lbiznun', 'Ukraine'),
(13, 'Laurie', 'Spooner', '[email protected]', 'IpkvoEL96BXc', 'China'),
(14, 'Othilie', 'Eckly', '[email protected]', '27kZgqGFJMmL', 'Venezuela'),
(15, 'Artus', 'Pennycook', '[email protected]', 'QOs7uRh5yLKB', 'Mali'),
(16, 'Vincenz', 'Osler', '[email protected]', 'Gu5QCXHQ', 'China'),
(17, 'Isidro', 'Hemphall', '[email protected]', 'NQ4KEqzc', 'France'),
(18, 'Pinchas', 'Le Guin', '[email protected]', 'ZsfzyYqo', 'China'),
(19, 'Rorie', 'Aleksandrev', '[email protected]', 'dstH8RB5', 'South Africa'),
(20, 'Mayer', 'Pitkethly', '[email protected]', 'OHjZtbmX5gt', 'Canada'),
(21, 'Karol', 'Baiden', '[email protected]', 'EZ1iIWBYV1p6', 'Morocco'),
(22, 'Franciska', 'Peeters', '[email protected]', 'QJX2b8DfGs', 'Russia'),
(23, 'Chlo', 'Kennford', '[email protected]', 'NU8YjWQF', 'Portugal'),
(24, 'Wolfie', 'Lownds', '[email protected]', '1D00dQaOaO', 'Greece'),
(25, 'Sherri', 'Hellens', '[email protected]', 'Ee7nls3', 'Poland'),
(26, 'Emory', 'Semark', '[email protected]', 'VAIBfR8uO', 'Tajikistan'),
(27, 'Jakie', 'Hulks', '[email protected]', 'jI5ylhi', 'China'),
(28, 'Leticia', 'Mathie', '[email protected]', 'euFzcmE', 'Indonesia'),
(29, 'Raimondo', 'Milier', '[email protected]', '3fNmX69MpoiF', 'Poland'),
(30, 'Fawn', 'Cush', '[email protected]', 'odFVlovDiSj9', 'China');
 
ALTER TABLE `users`
  ADD PRIMARY KEY (`id`);
 
ALTER TABLE `users`
  MODIFY `id` INT(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=31;
COMMIT;

Membuat Model

Buat file model baru dengan nama UserModel.php di folder app/Models/

<?php namespace App\Models;
 
use CodeIgniter\Model;
 
class UserModel extends Model
{
    protected $table = 'users';
}

model diatas agar kita mudah mengakses table users yang tadi dibuat, untuk pencarian ini, file model tersebut sudah cukup.

Membuat Controller

Buat satu file controller baru dengan nama User.php di folder app/Controllers/. File di controller ini bisa kita bilang merupakan backend dari aplikasi sederhana yang kita buat

<?php namespace App\Controllers;
 
use App\Models\UserModel;
 
class User extends BaseController
{
    public function index()
    {
        return view('pencarian');
    }
 
    public function cari()
    {
        $users = new UserModel();
        $cari = $this->request->getGet('cari');
        $data = $users->where('country', $cari)->findAll();
        return view('hasil_pencarian', compact('data'));
    }
}

dari script diatas $users->where('country', $cari)->findAll(); melakukan query SELECT * FROM users WHERE country="$cari" untuk mengambil data berdasarkan firstname, lastname atau lainnya tinggal merubah dibagian country, sesuai dengan nama kolom tabel.

function index fungsi tersebut untuk menampilkan halaman HTML yang akan kita buat kemudian, sementara function cari berguna untuk melakukan query ke model UserModel dan menyimpan datanya di variable $data

Membuat View

Bagian terakhir disini kita membuat tampilan untuk user atau biasa disebut frontend. File yang akan kita buat diletakkan di app/Views/.

1. File pencarian.php, file ini akan ditampilkan sewaktu mengakses /user di browser. File ini berisi file HTML, dan memang isinya hanya HTML aja

<!doctype html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/5.0.0-alpha2/css/bootstrap.min.css" integrity="sha384-DhY6onE6f3zzKbjUPRc2hOzGAdEf4/Dz+WJwBvEYL/lkkIsI3ihufq9hk9K4lVoK" crossorigin="anonymous">
    <title>Script Pencarian dengan CodeIgniter 4 &raquo; Jaranguda.com</title>
  </head>
  <body>
    <div class="container">
        <br>
        <h3>Pencarian</h3>
        <hr>
        <form  action="<?php echo base_url('user/cari')?>" action="GET">
          <div class="mb-3">
            <label for="cari">data yang dicari</label>
            <input type="text" class="form-control" name="cari" aria-describedby="cari">
          </div>
          <button type="submit" class="btn btn-primary" value="Cari">Submit</button>
        </form>
    </div>
  </body>
</html>

file html pencarian codeigniter

2. File hasil_pencarian.php, file ini yang akan dipanggil untuk menampilkan hasil pencarian setelah user mengklik tombol Submit.

<!doctype html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/5.0.0-alpha2/css/bootstrap.min.css" integrity="sha384-DhY6onE6f3zzKbjUPRc2hOzGAdEf4/Dz+WJwBvEYL/lkkIsI3ihufq9hk9K4lVoK" crossorigin="anonymous">
    <title>Script Pencarian dengan CodeIgniter 4 &raquo; Jaranguda.com</title>
  </head>
  <body>
    <div class="container">
    <br>
    <h3>Hasil Pencarian</h3>
    <hr>
 
    <table class="table">
    <thead>
    <tr>
        <th>Nama Lengkap</th>
        <th>Email</th>
        <th>Password</th>
        <th>Negara</th>
    </tr>
    </thead>
    <?php
    if(count($data)>0) {
        foreach ($data as $user) {
            echo "<tr>";
            echo "<td>" . $user['first_name'] . ' ' .  $user['last_name'] . "</td>";
            echo "<td>" . $user['email'] . "</td>";
            echo "<td>" . $user['password'] . "</td>";
            echo "<td>" . $user['country'] . "</td>";
            echo "</tr>";
        }
    }
    else {
        echo "Data tidak ditemukan";
    }
    ?>
    </table>
 
 
    </div>
  </body>
</html>

hasil pencarian codeigniter

Filed Under: PHP

Mengenai Xdebug di PHP

Last Updated on 10 July 2020 By tommy Leave a Comment

Didunia bahasa pemrograman PHP Xdebug merupakan standart yang banyak digunakan untuk mendebug aplikasi yang dibuat dengan PHP. Xdebug bisa dibilang merupakan upgrade dari var_dump. Dengan Xdebug kita bisa melihat error yang lebih jelas, seperti barisnya

Contoh 1

<?php
 
$data = 'ini adalah data';
echo $error;
var_dump($data);

Tanpa Xdebug

PHP Notice:  Undefined variable: error in /home/tommy/info.php on line 4
string(15) "ini adalah data"

Menggunakan Xdebug

PHP Notice:  Undefined variable: error in /root/info.php on line 4
PHP Stack trace:
PHP   1. {main}() /root/info.php:0
/root/info.php:5:
string(15) "ini adalah data"

Contoh 2

<?php
 
$data = 'ini adalah data';
echo $error;
var_dump($data);
 
$data = null;
 
var_dump($data);

Tanpa Xdebug

PHP Notice:  Undefined variable: error in /home/tommy/info.php on line 4
string(15) "ini adalah data"
NULL

Menggunakan Xdebug

PHP Notice:  Undefined variable: error in /root/info.php on line 4
PHP Stack trace:
PHP   1. {main}() /root/info.php:0
/root/info.php:5:
string(15) "ini adalah data"
/root/info.php:9:
NULL

pada contoh kedua ini lebih kelihatan jelas kelihatan perbedaan output Xdebug dengan var_dump.

Filed Under: PHP

Script Konversi Karakter Jadi Nomor Handphone

Last Updated on 30 May 2020 By tommy Leave a Comment

Kalo lagi cari nomor baru, biasanya orang mencari kombinasi angka cantik (menurut mereka) ataupun berdasarkan nama atau sebutan. Biasanya perusahaan memilih nama perusahaannya.
Dari pada bingung mencari cara gimana taunya ‘PERTAMINA’ itu jadi berapa, ‘TELKOM’ itu angka berapa. Disini ada solusinya menggunakan PHP, scriptnya sangat sederhana hanya looping berdasarkan kombinasi huruf dan angka yang telah didefenisikan sebelumnya.

Simpan script dibawah ini sebagai konversiangka.php

<?php
// konversiangka.php
$hurufKeAngka = [
    "a" => 2,
    "b" => 2,
    "c" => 2,
    "d" => 3,
    "e" => 3,
    "f" => 3,
    "g" => 4,
    "h" => 4,
    "i" => 4,
    "j" => 5,
    "k" => 5,
    "l" => 5,
    "m" => 6,
    "n" => 6,
    "o" => 6,
    "p" => 7,
    "q" => 7,
    "r" => 7,
    "s" => 7,
    "t"  => 8,
    "u"  => 8,
    "v"  => 8,
    "w" => 9,
    "x" => 9,
    "y" => 9,
    "z" => 9,
];
 
$kata = "jaranguda";
$kataLowerCase = strtolower($kata);
 
$pecahkata = str_split($kataLowerCase);
 
foreach ($pecahkata as $key) {
    echo "$key ";
    if(array_key_exists($key, $hurufKeAngka)) {
        echo $hurufKeAngka[$key] . "\n";
    } else {
        echo "\n";
    }
}

Jalankan script php tersebut di terminal outputnya

j 5
a 2
r 7
a 2
n 6
g 4
u 8
d 3
a 2

biar output langsung angka saja, bisa diubah scriptnya dibagian foreach

foreach ($pecahkata as $key) {
    if(array_key_exists($key, $hurufKeAngka)) {
        echo $hurufKeAngka[$key];
    } else {
	echo "\n";
    }
}

bila dijalankan ulang outputnya

527264832

Filed Under: PHP

How To Use Multiple Database on Lumen 7

Last Updated on 2 May 2020 By tommy 1 Comment

Lumen database error
Lumen otomatis menggunakan konfigurasi .env, untuk default connectionnya. Bila ada kebutuhan khusus untuk menggunakan konfigurasi database, karena di Lumen 7 tidak ada folder config. Maka buat terlebih folder config

mkdir config

lalu buat file database.php

<?php
return [
    'default' => 'mysql',
    'connections' => [
        'mysql' => [
            'driver' => 'mysql',
            'host' => env('DB_HOST'),
            'database' => env('DB_DATABASE'),
            'username' => env('DB_USERNAME'),
            'password' => env('DB_PASSWORD'),
            'charset'   => 'utf8',
            'collation' => 'utf8_unicode_ci',
        ],
        'mysql2' => [
            'driver' => 'mysql',
            'host' => env('DB2_HOST'),
            'database' => env('DB2_DATABASE'),
            'username' => env('DB2_USERNAME'),
            'password' => env('DB2_PASSWORD'),
            'charset'   => 'utf8',
            'collation' => 'utf8_unicode_ci',
        ],
    ]
];

settingan untuk database tersebut diambil dari .env, .env untuk database seperti contoh dibawah ini

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=jaranguda_api
DB_USERNAME=jaranguda_api
DB_PASSWORD=xVLojgKnmm7iuEcVCCLf
 
DB2_CONNECTION=mysql
DB2_HOST=127.0.0.1
DB2_PORT=3306
DB2_DATABASE=jaranguda_admin
DB2_USERNAME=jaranguda_admin
DB2_PASSWORD=RL4cNnnMifNAFdPcxWvJ

Contoh penggunaan database di Lumen

# database 1
$data = \DB::connection('mysql')->table('harga_minyak')->select('harga')->where('status', 'jual')->orderBy('created_at', 'desc')->first();
# database 2
$harga = \DB::connection('mysql2')->table('mobil')->select('bulan')->where('status', 'aktif')->orderBy('created_at', 'desc')->first();

Cara ini tidak terbatas hanya pada database yang sama, bisa saja digunakan untuk MySQL dan SQLite atau PostgreSQL.

Filed Under: PHP

  • « Go to Previous Page
  • Go to page 1
  • Go to page 2
  • Go to page 3
  • Go to page 4
  • Interim pages omitted …
  • Go to page 38
  • Go to Next Page »

Primary Sidebar

Pencarian

Tanya Jawab tentang DevOps SRE CPE, gabung di https://t.me/devopsindonesia

Terbaru

  • Cara Menonaktifkan Pager di macOS
  • Cara Mengupdate Nama Apple silicon-as-a-Service Scaleway
  • Cara Force Delete Namespace di Kubernetes
  • Install PHP MariaDB di Mac Monterey
  • MacOS Minta Install Git

Komentar

  • Ari on Cara Mematikan SSID Molecool Balifiber
  • kiki anarki on Mengambil Data dari Situs BPJS Ketenagakerjaan dengan PHP cURL
  • musgan on Password Router Huawei HG8245H5 Indihome
  • ghabily on Mengambil Informasi Router Alcatel Lucent G-241W-A dengan PHP
  • nea on Mencari urutan angka yang hilang di PHP

Tulisan Populer

  • Password Router Huawei HG8245H5 Indihome 1.1m views
  • Password Terbaru ZTE F609 Indihome 784k views
  • Password Superadmin Huawei HG8245A 314.2k views
  • Cara Setting Manual Modem GPON ZTE F609 Indihome 272.2k views
  • Cara Setting Wireless ZTE F609 Indihome 256.1k views
  • Mengaktifkan Port LAN di Huawei HG8245 Indihome 169.1k views
  • Akses UseeTV Indihome via Wireless ZTE F609 156.5k views
  • Kemana Menghilangnya Saldo BCA 50 ribu 150.3k views
  • Cara Reset Password ZTE F609 Indihome 147.2k views
  • Cara Setting DHCP Server Modem/Router ZTE F609 112.9k views

Kategori

  • Delphi
  • dll
  • Gambas
  • Internet
  • Java
  • Lazarus
  • Linux
  • PHP
  • Review
  • Teknologi

Sponsor

kadal.id
carakami.com
kuotabisa.com
Untuk jadi sponsor, hubungi kita lewat halaman sponsor
© 2021. Jaranguda
  • Linux
  • PHP
  • Internet
  • Teknologi
  • Delphi
  • Gambas
  • Java