Install GIMP pada CentOS 8 / RHEL 8 Linux

GNU Image Manipulation Program atau yang lebih dikenal dengan sebutan GIMP adalah perangkat lunak untuk manipulasi grafik berbasis raster. GIMP adalah aplikasi open source untuk mengolah grafis Bitmap. GIMP dapat dimanfaatkan untuk membuat grafik dan logo, mengubah resolusi dan memotong foto, mengubah warna, menggabungkan berbagai macam gambar atau mengkonversi berbagai macam jenis berkas gambar.

Berikut ini adalah kelebihan dan kekurangan GIMP, diantaranya :

Kelebihan GIMP :

  • Aplikasinya ringan dan bisa digunakan di komputer yang menggunakan spesifikasi rendah sampai minimum sekalipun bisa menggunakan aplikasi GIMP.
  • Bisa support pada Sistem Operasi Windows, Linux, & MAC OS
  • Lebih mudah dalam penyelesainan gambar atau foto, mengimport/mengeksport gambar atau foto ke ekstensi SVG.
  • Bisa menampilkan file gambar ataupun foto dari berbagai macam format file
  • Mengedit layar teks lebih mudah
  • Mendukung berbagai format file,
  • Dapat ditambahkan pulg-in seperti Adobe Photoshop dan plug-in nya ini gratis
  • Gratis dan mudah untuk didownload
  • Mengirim dan menerima gambar/foto ke ekstensi SVG
  • Bisa ditambahkan plug-in seperti adobe photoshop dan plug-inya secara gratis
  • Bersifat Open Source

Kekurangan GIMP :

  • Hanya mendukung 8 bits per-channel
  • Masih sedikit plug-in yang tersedia
  • Filter atau efek yang ditawarkan masih kurang.

Cara instalasi GIMP pada CentOS 8 / RHEL 8 Linux sangatlah mudah, dimana package GIMP sudah ada di dalam repositori standar CentOS 8 / RHEL 8. Kita akan menggunakan terminal untuk melakukan instalasi.

Langkah pertama adalah memastikan 2 repositori berikut sudah dalam kondisi enabled pada sistem CentOS 8 / RHEL 8 Linux kamu:

# dnf repolist
repo id                                             repo name                                                                   status
rhel-8-for-x86_64-appstream-rpms                    Red Hat Enterprise Linux 8 for x86_64 - AppStream (RPMs)                    6,031
rhel-8-for-x86_64-baseos-rpms                       Red Hat Enterprise Linux 8 for x86_64 - BaseOS (RPMs)                       2,193

Jika kondisi kedua package di atas sudah seperti di atas, lakukan proses instalasi package gimp dengan menggunakan perintah dnf:

# dnf install gimp

Proses instalasi akan berjalan. Tunggu proses instalasi tersebut hingga selesai.

Sebelum menjalankan aplikasi gimp, pastikan anda tidak menggunakan user root. Jalankan Gimp dari menu kamu atau dengan mengetikkan perintah :

$ gimp

Mengenal Rufus

Penggunaan CD atau DVD untuk instalasi Windows saat ini sudah mulai jarang kita temui. Penyebab yang paling lumrah adalah ketiadaan optical drive di perangkat laptop berukuran kecil seperti netbook, ultrabook, dan PC tablet.
Selain itu, instalasi Windows dengan menggunakan DVD sangat tidak praktis jika dibandingkan dengan menggunakan flashdisk ataupun file instalasi secara langsung. Pihak Microsoft juga saat ini sudah menyediakan berbagai file yang dibutuhkan untuk berbagai metode instalasi tersebut.
Terdapat banyak cara yang bisa kita lakukan untuk dapat menginstal Windows melalui flashdisk. Salah satu cara yang cukup mudah adalah dengan menggunakan software yang bernama Rufus.
Salah satu metode yang paling banyak digunakan saat ini adalah instalasi via USB flash drive atau flashdisk. Dengan flashdisk kita dapat menginstal Windows di berbagai perangkat secara mudah. Kita juga dapat menyimpan file instalasinya untuk berjaga-jaga jika suatu saat diperlukan kembali.

Apa itu Rufus? Rufus adalah sebuah aplikasi buatan dari Pete Batard dari Akeo Consulting yang sudah ada sejak tahun 2011.
Fungsi utama dari Rufus adalah untuk memformat dan membuat perangkat USB flash drive menjadi bootable, seperti flashdisk, kartu memori, dll menjadi live USB.

  • Membuat media instalasi USB dari ISO bootable (Windows, Linux, UEFI, dll.)
  • Bekerja pada sistem yang tidak memiliki OS yang terinstal
  • Melakukan flash BIOS atau firmware lain dari DOS. Modus DOS sendiri berguna untuk banyak hal, salah satunya adalah melakukan upgrade BIOS.- Berguna untuk menjalankan utilitas tingkat-rendah

Cara Menggunakan Rufus

  1. Siapkan file ISO dari image yang akan kita jadikan live USB
  2. Download aplikasi Rufus
  3. Jalankan aplikasi Rufus, jangan lupa masukkan flashdisk yang akan dijadikan live USB.
  4. Pada aplikasi rufus, pilihan device otomatis akan mendeteksi flashdisk yang telah dimasukkan
  5. Klik tombol Select, lalu pilih file ISO yang telah disiapkan
  6. Untuk pilihan Partition scheme, silakan pilih antara MBR dan GPT (untuk opsi ini, silakan cari perbedaan antara keduanya diinternet), sebagai info untuk laptop jadul, biasanya menggunakan MBR
  7. File system pilih FAT32 aja.
  8. Jika sudah semua pilihan diisi, klik tomol Start
  9. Akan tampil layar konfirmasi bahwa semua data pada Flashdisk akan dihapus, jika setuju, silakan klik tombol OK
  10. Tunggu sampai proses selesai, setelah itu Flashdisk sudah dapat digunakan untuk melakukan instalasi.

Verizon mengunci ponselnya untuk melawan pencurian

Operator nirkabel telah menjual smartphone-nya yang tidak terkunci, memungkinkan Anda untuk menukar kartu SIM dan menggunakan operator lain. Sebuah perubahan di musim semi akan mengunci ponsel untuk jangka waktu tertentu. Verizon mengambil langkah ekstra untuk melindungi ponselnya. Perusahaan nirkabel terbesar di negara itu mengatakan Senin bahwa mereka akan mulai mengunci telepon yang dijualnya ke konsumen, yang akan mencegah mereka menggunakan kartu SIM dari operator lain. Awalnya, telepon akan dibuka segera setelah pelanggan mendaftar dan mengaktifkan layanan. Tapi kemudian di musim semi, perusahaan akan memulai praktik menjaga telepon tetap terkunci selama beberapa waktu setelah pembelian – sesuai dengan sisa industri lainnya.
Verizon mengatakan melakukan hal ini untuk mencegah penjahat mencuri telepon, sering menuju ke toko ritel atau dari toko sendiri. Ponsel unlocked membuat target menarik karena bisa dijual kembali di pasar gelap atau digunakan di luar negeri dengan operator berbeda. Itu terutama terjadi pada iPhone, yang merupakan target utama pencuri karena nilai jual kembalinya yang tinggi.Perhatikan ini: Verizon mengubah tak terbatas dengan menambahkan batasan1:56
“Kami mengambil langkah untuk memerangi pencurian ini dan mengurangi kecurangan,” kata Tami Erwin, wakil presiden eksekutif operasi nirkabel untuk Verizon, dalam sebuah pernyataan. “Langkah-langkah ini akan membuat ponsel kita secara eksponensial kurang diminati penjahat.”
Bagi konsumen, ada sedikit dampak langsung karena telepon segera dibuka melalui pembaruan perangkat lunak. Tapi perubahan kebijakan di musim semi bisa menjadi masalah bagi pelanggan yang membeli telepon baru dan kemudian pergi ke luar negeri. Salah satu cara untuk menghemat biaya roaming internasional adalah dengan membeli kartu SIM dari operator lokal. Jika Anda memiliki telepon yang terkunci, Anda harus menghubungi Verizon untuk membuka kunci perangkat sebelum mengganti kartu SIM – dengan asumsi operator akan membuat pengecualian.
Perubahan kebijakan tersebut menggarisbawahi bagaimana masalah pencurian telepon tetap terjadi meskipun kelompok perdagangan nirkabel CTIA, pembawa dan pembuat telepon bersanding untuk menambahkan alat antipencurian ke telepon pada tahun 2015. Sebuah studi yang dilakukan oleh penyedia data pencurian dan pencurian Recipero pada tahun 2016 menemukan bahwa 5 persen perangkat yang ditawarkan untuk dijual atau diperdagangkan secara eceran dilaporkan hilang atau dicuri, sementara 4 persen klaim garansi dibuat pada ponsel yang hilang atau dicuri. Verizon tidak akan mengatakan berapa lama masa terkunci, hanya menambahkan bahwa itu akan memberikan kabar lebih awal saat meluncurkan kebijakan tersebut. Ini juga menolak untuk memberikan garis waktu tertentu. Masa tunggu di tempat untuk mencegah penipu dari mendaftar ke layanan menggunakan identitas yang dicuri untuk mendapatkan telepon baru dan segera berbalik dan menjual perangkat. Langkah tersebut dapat menimbulkan reaksi balasan dari orang-orang yang khawatir bahwa ini bukan tindakan ramah konsumen. Namun, kebijakan Verizon untuk menjual ponsel yang sama sekali tidak terkunci – yang telah dilakukan sejak mulai menjual perangkat 4G LTE – adalah yang paling dermawan di industri ini. Itu sebagian besar karena kesepakatan dengan Komisi Komunikasi Federal yang mewajibkannya membuka telepon sebagai bagian dari akuisisi blok spektrum 700 megahertz, yang digunakannya untuk menyalakan jaringan LTE-nya.
AT & T mengharuskan Anda untuk melunasi telepon Anda dan aktifkan layanan selama minimal 60 hari. Bahkan saat itu, ada 14 hari menunggu setelah Anda mengajukan permintaan Anda. Sprint juga mengharuskan Anda telah melunasi telepon Anda dan menunggu 50 hari, meskipun telepon secara otomatis tidak terkunci. T-Mobile memiliki persyaratan perangkat berbayar yang sama dan masa tunggu 40 hari, namun akan menawarkan untuk sementara membuka kunci perangkat lebih cepat untuk perjalanan. Bahkan setelah perubahan, Verizon akan terus membuka kunci telepon terlepas dari apakah itu lunas atau tidak. Perusahaan juga akan tetap menerima telepon yang tidak terkunci dari operator lain.

Apa itu 5G?

Generasi berikutnya dari teknologi selular hadir dengan kosa katanya sendiri. Berikut adalah daftar istilah praktis yang terus bermunculan.
Definisi singkat tentang 5G: Ini adalah teknologi seluler generasi berikutnya (kelima) yang menjanjikan peningkatan kecepatan, jangkauan, dan daya tanggap jaringan nirkabel. Seberapa cepat kita bicara? Pikirkan 10 sampai 100 kali lebih cepat daripada koneksi seluler khas Anda, dan bahkan lebih cepat dari apapun yang bisa Anda dapatkan dengan kabel fiber optik fisik yang masuk ke rumah Anda. (Anda dapat mendownload nilai musim ini dalam hitungan detik.).
Ini bukan hanya tentang supercharging koneksi telepon Anda ke jaringan; 5G dipandang sebagai teknologi dasar yang bagi orang-orang untuk secara nirkabel mengalirkan konten virtual reality definisi tinggi ke dalam headset mereka. Dengan kata lain, ini akan menjadi besar.
Jaringan 5G awal akan muncul segera tahun depan mulai dari operator termasuk Verizon dan AT & T, sekitar 2019 sampai 2020, karena peralatan jaringan yang harus diupgrade dan ponsel yang kompatibel dengan 5G yang akan dirilis. Dengan dirilisnya 5G, Anda akan mulai mendengar referensi tentang istilah yang baru.
5G NR
Bit 5G cukup jelas, tapi NR singkatan dari New Radio. Anda tidak perlu tahu banyak tentang hal ini di luar kenyataan bahwa itu adalah nama standar yang dimiliki seluruh industri nirkabel, dan baru saja diluncurkan pada bulan Desember. Itu penting karena itu berarti setiap orang berada pada halaman yang sama ketika berhubungan dengan jaringan 5G mobile mereka. Operator seperti AT & T dan T-Mobile mengikuti 5G NR saat mereka membangun jaringan mereka. Namun Verizon, yang mulai menguji 5G sebagai layanan penggantian broadband, belum menggunakan standar tersebut sebelum disetujui. Perusahaan tersebut mengatakan pada akhirnya akan mengadopsi 5G NR untuk layanan broadband, dan bermaksud untuk menggunakan NR untuk jaringan bergerak 5G.
Millimeter wave
Semua jaringan seluler menggunakan gelombang udara untuk mengangkut data melalui udara, dengan jaringan standar menggunakan spektrum pada pita frekuensi rendah seperti 700 megahertz. Umumnya, semakin tinggi band atau frekuensi, semakin tinggi kecepatan yang bisa Anda capai. Konsekuensi frekuensi yang lebih tinggi, bagaimanapun, adalah rentang yang lebih pendek. Untuk mencapai kecepatan 5G yang gila-gilaan itu, Anda benar-benar membutuhkan spektrum frekuensi yang sangat tinggi. Rentang gelombang milimeter turun antara 24 gigahertz dan 100 gigahertz. Masalah dengan spektrum frekuensi super tinggi, selain jarak dekat, apakah ini sangat rewel. Lupakan halangan seperti dinding. Perusahaan seperti Verizon sedang berupaya menggunakan perangkat lunak dan trik penyiaran untuk mengatasi masalah ini dan memastikan koneksi yang stabil.
Sub-6GHz
Mengingat betapa menyulitkan spektrum band yang sangat tinggi (lihat bagian “Millimeter wave”), ada gerakan untuk merangkul spektrum pada frekuensi yang jauh lebih rendah, atau yang lebih rendah dari 6GHz. Manfaat tambahannya adalah bahwa operator dapat menggunakan spektrum yang mereka miliki untuk melanjutkan jaringan 5G. T-Mobile, misalnya, memiliki spektrum 600MHz yang direncanakan untuk digunakan untuk mengoperasikan 5G penyebarannya. Sebelum sub-6GHz, itu tidak mungkin. Itulah mengapa Anda melihat lebih banyak carrier yang merangkul spektrum frekuensi rendah. Tapi spektrum frekuensi yang lebih rendah memiliki masalah yang berlawanan: saat mencapai jarak yang jauh, ia tidak memiliki kecepatan dan kapasitas yang sama seperti spektrum Millimeter Wave.
Yang ideal di telepon akan menjadi pembawa untuk menggunakan perpaduan keduanya.
Latency
Anda akan sering mendengar kata ini. Latency adalah waktu respons antara saat Anda mengklik tautan atau mulai menjalankan video streaming di ponsel Anda, mengirim permintaan ke jaringan, dan saat jaringan merespons dan menampilkan situs web Anda atau mulai memutar video Anda. Sepertinya tidak banyak, tapi jeda itu bisa bertahan sekitar 20 milidetik. Dengan 5G, latency itu akan berkurang menjadi 1 milidetik, atau lebih kurang waktu yang dibutuhkan sebuah flash kamera normal sampai selesai. Tanggapan / respon sangat penting untuk hal yang berhubungan streaming permainan olahraga live di dunia maya atau dokter bedah di New York untuk mengendalikan sepasang lengan robot yang melakukan prosedur di San Francisco.
Gigabit LTE
Anda akan sering mendengar tentang Gigabit LTE sebagai pendahulu 5G. Pada akhirnya, ini adalah kecepatan yang jauh lebih tinggi pada jaringan LTE yang ada. Tapi pekerjaan menuju membangun jaringan Gigabit LTE memberikan fondasi untuk 5G.
MIMO
Akronim untuk multiple input, multiple output. Pada dasarnya, ini adalah gagasan untuk mendorong lebih banyak antena ke telepon dan menara seluler kita. Dan Anda selalu bisa memiliki lebih banyak antena. Mereka masuk ke jaringan Gigabit LTE yang lebih cepat, dan perusahaan menerapkan apa yang dikenal sebagai 4×4 MIMO, di mana empat antena dipasang di telepon.
Carrier aggregation
Operator nirkabel dapat mengambil pita frekuensi radio yang berbeda dan mengikatnya bersama sehingga ponsel seperti Samsung Galaxy S8 dapat memilih frekuensi yang paling cepat dan paling padat. Anggap saja sebagai jalan raya tiga jalur sehingga mobil bisa masuk dan keluar tergantung jalur mana yang memiliki lalu lintas lebih sedikit.
QAM
Ini adalah istilah yang sangat teknis. Ini singkatan dari modulasi amplitudo kuadratur.
Yang perlu Anda ketahui adalah bahwa hal itu memungkinkan lalu lintas bergerak dengan cepat dengan cara yang berbeda dari Carrier Aggregation atau MIMO. Ingat bahwa analogi jalan raya? Nah, dengan 256 QAM, Anda akan memiliki trailer traktor besar yang membawa data, bukan mobil kecil. MIMO, Carrier Aggregation dan QAM sudah masuk ke jaringan 4G, namun juga berperan penting dalam 5G.
Beam forming
Ini adalah cara untuk mengarahkan sinyal 5G ke arah tertentu, yang berpotensi memberi Anda koneksi khusus Anda sendiri. Verizon telah menggunakan Beam Forming untuk spektrum Millimeter Wave, mengatasi rintangan seperti dinding atau pohon.
Unlicensed spectrum
Jaringan seluler semua bergantung pada apa yang dikenal sebagai Unlicensed spectrum, yang mereka miliki dan beli dari pemerintah.
Tapi pindah ke 5G hadir dengan pengakuan bahwa spektrumnya tidak cukup banyak dalam hal menjaga cakupan yang luas. Jadi, Carrier bergerak ke Unlicensed spectrum, serupa dengan jenis gelombang udara bebas yang dipasang oleh jaringan Wi-Fi.
Network slicing
Konsep Network Slicing mirip dengan server farms – menciptakan beberapa contoh fungsi jaringan paralel yang berjalan pada chip yang sama. Network slicing ini diperluas di seluruh Radio Access Network, tidak hanya di core-nya.

[Dokumentasi] Langkah-langkah membuat project Laravel (step by step)

Untuk menggunakan laravel, lebih mudah apabila menggunakan composer. Jika anda belum menginstall composer, silahkan download dari situs resminya : https://getcomposer.com

1. Jika composer sudah terinstall, buka console / terminal / command prompt.
Pilih direktori lokasi project laravel akan disimpan, dengan mengetikkan perintah :
cd namadirektori

Ketik perintah berikut :
composer create-project laravel/laravel –prefer-dist test01

Jika berhasil, maka akan menghasilkan project seperti berikut :

2. Setup database MySQL di dalam file .env.
Buat database di dalam DBMS MySQL dengan nama mydb, lalu buka file .env dan lakukan konfigurasi berikut sesuai dengan konfigurasi database yang anda miliki.
// .env

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=mydb
DB_USERNAME=root
DB_PASSWORD=123456

Sekarang, migrasikan dua tabel yang disediakan oleh Laravel 5.5. Buka kembali console / command prompt / terminal,
Masuk ke direktori project yang telah dibuat tadi, dengan mengetikkan perintah :
cd namadirektoriproject

ketik perintah berikut :
php artisan migrate

Jika terjadi error :
IlluminateDatabaseQueryException  : SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes (SQL: alter table `users` add unique `users_email_unique`(`email`))

maka, ubah file AppServiceProvider.php di dalam direktori app/Providers dan di dalam method boot, set panjang / length dari default string:

use IlluminateSupportFacadesSchema;
public function boot()
{
    Schema::defaultStringLength(191);
}
//source : https://laravel-news.com/laravel-5-4-key-too-long-error

drop table user dan migrate, jalankan kembali perintah :
php artisan migrate

Jika berhasil, akan tampil pesan berikut :
C:Apache24htdocsdashboardtest01>php artisan migrate
Migration table created successfully.
Migrating: 2014_10_12_000000_create_users_table
Migrated:  2014_10_12_000000_create_users_table
Migrating: 2014_10_12_100000_create_password_resets_table
Migrated:  2014_10_12_100000_create_password_resets_table

3. Buat model dan juga file migrasi untuk tabel baru, sebagai contoh table Product.

Pada console / command prompt / terminal, ketik perintah berikut :
php artisan make:model Product -m

C:Apache24htdocsdashboardtest01>php artisan make:model Product -m
Model created successfully.
Created Migration: 2018_02_09_014429_create_products_table

Hasil eksekusi perintah tersebut, akan menghasilkan 2 file
    model Product.php.
    file migrasi create_products_table.
  
Kita perlu membuat skema tabel product dengan menambahkan field-field yang akan kita butuhkan. Buka direktor databasemigrationscreate_products_table.

// create_products_table

public function up()
{
    Schema::create(‘products’, function (Blueprint $table) {
       $table->increments(‘id’);
       $table->string(‘name’);
       $table->integer(‘price’);
       $table->timestamps();
    });
}

Pada console / command prompt / terminal, ketik perintah berikut :
php artisan migrate

C:Apache24htdocsdashboardtest01>php artisan migrate
Migrating: 2018_02_09_014429_create_products_table
Migrated:  2018_02_09_014429_create_products_table

Cek database anda, tabel product berhasil ditambahkan

4. Membuat satu view file untuk menambahkan data form dalam database.
Buat 1 folder dengan nama products di direktori resources/views
Di dalam direktori resources/views/products, buat 1 file php dengan nama create.blade.php, buat script seperti contoh berikut :

<!– create.blade.php –>

<!DOCTYPE html>
<html>
  <head>
    <meta charset=”utf-8″>
    <title>Laravel 5.6 CRUD Tutorial With Example From Scratch </title>
    <link rel=”stylesheet” href=”{{asset(‘css/app.css’)}}”>
  </head>
  <body>
    <div class=”container”>
      <h2>Create A Product</h2><br  />
      <form method=”post”>
        <div class=”row”>
          <div class=”col-md-4″></div>
          <div class=”form-group col-md-4″>
            <label for=”name”>Name:</label>
            <input type=”text” class=”form-control” name=”name”>
          </div>
        </div>
        <div class=”row”>
          <div class=”col-md-4″></div>
            <div class=”form-group col-md-4″>
              <label for=”price”>Price:</label>
              <input type=”text” class=”form-control” name=”price”>
            </div>
          </div>
        </div>
        <div class=”row”>
          <div class=”col-md-4″></div>
          <div class=”form-group col-md-4″>
            <button type=”submit” class=”btn btn-success” style=”margin-left:38px”>Add Product</button>
          </div>
        </div>
      </form>
    </div>
  </body>
</html>

5. Membuat satu controller dan melakukan route untuk menampilkan form Product
Pada console / command prompt / terminal, ketik perintah berikut :
php artisan make:controller ProductController –resource

C:Apache24htdocsdashboardtest01>php artisan make:controller ProductController –resource
Controller created successfully.

Hasil eksekusi perintah tersebut akan menghasilkan 1 file controller dengan nama ProductController.php yang memiliki semua fungsi CRUD.

Sekarang kita akan melakukan konfigurasi routing pada file web.php di dalam direktori routes. Tambahkan code berikut :
// web.php

Route::resource(‘products’,’ProductController’);

Pada console / command prompt / terminal, ketik perintah berikut :
php artisan route:list

C:Apache24htdocsdashboardtest01>php artisan route:list
+——–+———–+————————-+——————+————————————————+————–+
| Domain | Method    | URI                     | Name             | Action                                         | Middleware   |
+——–+———–+————————-+——————+————————————————+————–+
|        | GET|HEAD  | /                       |                  | Closure                                        | web          |
|        | GET|HEAD  | api/user                |                  | Closure                                        | api,auth:api |
|        | GET|HEAD  | products                | products.index   | AppHttpControllersProductController@index   | web          |
|        | POST      | products                | products.store   | AppHttpControllersProductController@store   | web          |
|        | GET|HEAD  | products/create         | products.create  | AppHttpControllersProductController@create  | web          |
|        | GET|HEAD  | products/{product}      | products.show    | AppHttpControllersProductController@show    | web          |
|        | PUT|PATCH | products/{product}      | products.update  | AppHttpControllersProductController@update  | web          |
|        | DELETE    | products/{product}      | products.destroy | AppHttpControllersProductController@destroy | web          |
|        | GET|HEAD  | products/{product}/edit | products.edit    | AppHttpControllersProductController@edit    | web          |
+——–+———–+————————-+——————+————————————————+————–+

Langkah selanjutnya, buka file ProductController.php, dan tambahkan kode berikut pada method create()
// ProductController.php

  /**
     * Show the form for creating a new resource.
     *
     * @return IlluminateHttpResponse
     */
    public function create()
    {
        return view(‘products.create’);
    }

Pada console / command prompt / terminal, ketik perintah berikut :
php artisan serve

Buka browser dan ketik URL: http://localhost:8000/products/create

  
6. Menambahkan validasi Laravel 5.6 di dalam Form Product.
Pertama, kita harus menentukan action dari form yang kita buat. Buka form create.blade.php pada direktori products. tambahkan action pada tag form, dan token CSRF_FIELD di bawah tag form
<!– create.blade.php –>
<form method=”post” action=”{{url(‘products’)}}”>
{{csrf_field()}}

Apa Fungsi Dari CSRF_FIELD() Token Pada Insert Form ?
Sebenarnya Cross Site Request Forgery (CSRF) adalah adalah sebuah seraangan terhadap web aplication yang memanfaatkan bug atau vulnerability pada Web Application yang bekerja dengan cara mengeksploitasi suatu task dari sebuah Web dengan memanfaatkan Autentikasi yang dimiliki oleh korban.
Hal ini biasanya di karenakan kode yang sangat buruk sewaktu developmentya sehingga menghasilkan  bug tersebut yang dapat di salah gunakan oleh orang lain dengan maksud negatif.
Nah untuk menghindari hal ini terjadi Laravel mengimplementasikan CSRF pada form untuk mengamankan website kita.

Kemudian, buka file Product.php pada direktori app, kita akan menentukan field-field dari tabel product yang bisa dimodifikasi, tambahkan code protected $fillable di dalam class Product
// Product.php
protected $fillable = [‘name’,’price’];

Jika kita melihat pada routing resource maka terdapat post request memiliki routing ‘/products‘ dan fungsi store di dalam file ProductController.php. Jadi kita perlu menambahkan code pada fungsi store untuk menyimpan data ke dalam database.

Satu hal yang perlu diingat, kita perlu meng-include namespace model Product.php ke dalam file ProductController.php. Untuk itu, tambahkan code berikut pada baris awal di dalam file ProductController.php.

use AppProduct;

Kita juga perlu menambahkan validasi di dalam method store.

// ProductController.php

/**
     * Store a newly created resource in storage.
     *
     * @param  IlluminateHttpRequest  $request
     * @return IlluminateHttpResponse
     */
    public function store(Request $request)
    {
        $product = $this->validate(request(), [
          ‘name’ => ‘required’,
          ‘price’ => ‘required|numeric’
        ]);
      
        Product::create($product);

        return back()->with(‘success’, ‘Product has been added’);;
    }

Jika validasi mengembalikan hasil fail / gagal maka kita perlu menampilkan pesan error. Jadi, pada file create.blade.php perlu ditambahkan beberapa baris code setelah tag h2.

<!– create.blade.php –>

<!DOCTYPE html>
<html>
  <head>
    <meta charset=”utf-8″>
    <title>Laravel 5.6 CRUD Tutorial With Example From Scratch </title>
    <link rel=”stylesheet” href=”{{asset(‘css/app.css’)}}”>
  </head>
  <body>
    <div class=”container”>
      <h2>Create A Product</h2><br  />
      @if ($errors->any())
      <div class=”alert alert-danger”>
          <ul>
              @foreach ($errors->all() as $error)
                  <li>{{ $error }}</li>
              @endforeach
          </ul>
      </div><br />
      @endif
      @if (Session::has(‘success’))
      <div class=”alert alert-success”>
          <p>{{ Session::get(‘success’) }}</p>
      </div><br />
      @endif
      <form method=”post” action=”{{url(‘products’)}}”>
        {{csrf_field()}}
        <div class=”row”>
          <div class=”col-md-4″></div>
          <div class=”form-group col-md-4″>
            <label for=”name”>Name:</label>
            <input type=”text” class=”form-control” name=”name”>
          </div>
        </div>
        <div class=”row”>
          <div class=”col-md-4″></div>
            <div class=”form-group col-md-4″>
              <label for=”price”>Price:</label>
              <input type=”text” class=”form-control” name=”price”>
            </div>
          </div>
        </div>
        <div class=”row”>
          <div class=”col-md-4″></div>
          <div class=”form-group col-md-4″>
            <button type=”submit” class=”btn btn-success” style=”margin-left:38px”>Add Product</button>
          </div>
        </div>
      </form>
    </div>
  </body>
</html>

Coba buka di browser dan buka URL: http://localhost:8000/products/create

Jika kita klik submit tanpa memasukkan nilai apapun pada form, maka kita akan melihat pesan error.

If you fill all the values then, you will redirect to this page with the success message. So, here One thing must be noticed.

// ProductController.php

  public function store(Request $request)
  {
        $product = $this->validate(request(), [
          ‘name’ => ‘required’,
          ‘price’ => ‘required|numeric’
        ]);
        Product::create($product);
        return back()->with(‘success’, ‘Product has been added’);
  }

Pada Laravel 5.5 ke atas kita akan langsung mendapatkan hasil kembalian berupa nilai array dari funsi validasi dan menggunakannya untuk melakukan proses insert ke dalam database. Ini merupakan fitur baru pada Laravel

7. Membuat halaman index untuk menampilkan list products.

Pertama, kita akan mengirim data ke index.blade.php. Jadi, di dalam file ProductController.php, kita akan menulis kode untuk melakukan fetch data dan mengembalikan hasilnya ke view index.

// ProductController.php

  /**
     * Display a listing of the resource.
     *
     * @return IlluminateHttpResponse
     */
    public function index()
    {
        $products = Product::all()->toArray();
        return view(‘products.index’, compact(‘products’));
    }

Di dalam direktori resources/views/products, buat 1 file blade dengan nama index.blade.php dan tambahkan kode berikut.

<!– index.blade.php –>

<!DOCTYPE html>
<html>
  <head>
    <meta charset=”utf-8″>
    <title>Index Page</title>
    <link rel=”stylesheet” href=”{{asset(‘css/app.css’)}}”>
  </head>
  <body>
    <div class=”container”>
    <br />
    @if (Session::has(‘success’))
      <div class=”alert alert-success”>
        <p>{{ Session::get(‘success’) }}</p>
      </div><br />
     @endif
    <table class=”table table-striped”>
    <thead>
      <tr>
        <th>ID</th>
        <th>Name</th>
        <th>Price</th>
        <th colspan=”2″>Action</th>
      </tr>
    </thead>
    <tbody>
      @foreach($products as $product)
      <tr>
        <td>{{$product[‘id’]}}</td>
        <td>{{$product[‘name’]}}</td>
        <td>{{$product[‘price’]}}</td>
        <td><a href=”{{action(‘ProductController@edit’, $product[‘id’])}}” class=”btn btn-warning”>Edit</a></td>
        <td>
          <form action=”{{action(‘ProductController@destroy’, $product[‘id’])}}” method=”post”>
            {{csrf_field()}}
            <input name=”_method” type=”hidden” value=”DELETE”>
            <button class=”btn btn-danger” type=”submit”>Delete</button>
          </form>
        </td>
      </tr>
      @endforeach
    </tbody>
  </table>
  </div>
  </body>
</html>

Coba buka browser dan ketik URL: http://localhost:8000/products

8. Membuat view edit untuk merubah product.

Langkah selanjutnya menambahkan fungsi edit di dalam file ProductController.php dengan menambahkan code berikut.

// ProductController.php

  /**
     * Show the form for editing the specified resource.
     *
     * @param  int  $id
     * @return IlluminateHttpResponse
     */
    public function edit($id)
    {
        $product = Product::find($id);
        return view(‘products.edit’,compact(‘product’,’id’));
    }

Buat 1 file dengan nama edit.blade.php di dalam direktori resources/views/products, dengan script berikut

<!– edit.blade.php –>

<!DOCTYPE html>
<html>
  <head>
    <meta charset=”utf-8″>
    <title>Laravel 5.5 CRUD Tutorial With Example From Scratch </title>
    <link rel=”stylesheet” href=”{{asset(‘css/app.css’)}}”>
  </head>
  <body>
    <div class=”container”>
      <h2>Edit A Product</h2><br  />
      @if ($errors->any())
      <div class=”alert alert-danger”>
          <ul>
              @foreach ($errors->all() as $error)
                  <li>{{ $error }}</li>
              @endforeach
          </ul>
      </div><br />
      @endif
      <form method=”post” action=”{{action(‘ProductController@update’, $id)}}”>
        {{csrf_field()}}
        <input name=”_method” type=”hidden” value=”PATCH”>
        <div class=”row”>
          <div class=”col-md-4″></div>
          <div class=”form-group col-md-4″>
            <label for=”name”>Name:</label>
            <input type=”text” class=”form-control” name=”name” value=”{{$product->name}}”>
          </div>
        </div>
        <div class=”row”>
          <div class=”col-md-4″></div>
            <div class=”form-group col-md-4″>
              <label for=”price”>Price:</label>
              <input type=”text” class=”form-control” name=”price” value=”{{$product->price}}”>
            </div>
          </div>
        </div>
        <div class=”row”>
          <div class=”col-md-4″></div>
          <div class=”form-group col-md-4″>
            <button type=”submit” class=”btn btn-success” style=”margin-left:38px”>Update Product</button>
          </div>
        </div>
      </form>
    </div>
  </body>
</html>

Berikutnya menambahkan kode untuk fungsi update.

// ProductController.php

  /**
     * Update the specified resource in storage.
     *
     * @param  IlluminateHttpRequest  $request
     * @param  int  $id
     * @return IlluminateHttpResponse
     */
    public function update(Request $request, $id)
    {
        $product = Product::find($id);
        $this->validate(request(), [
          ‘name’ => ‘required’,
          ‘price’ => ‘required|numeric’
        ]);
        $product->name = $request->get(‘name’);
        $product->price = $request->get(‘price’);
        $product->save();
        return redirect(‘products’)->with(‘success’,’Product has been updated’);
    }

9. Membuat fungsi Delete product.

// ProductController.php

  /**
     * Remove the specified resource from storage.
     *
     * @param  int  $id
     * @return IlluminateHttpResponse
     */
    public function destroy($id)
    {
        $product = Product::find($id);
        $product->delete();
        return redirect(‘products’)->with(‘success’,’Product has been  deleted’);
    }

Selesai.

Amazon memulai pengiriman Whole Foods gratis ke anggota Prime Now

Layanan pengiriman dua jam tersedia untuk anggota Prime Now di empat kota di AS, dan akan lebih banyak lagi di sepanjang tahun 2018.
Amazon dan Whole Foods akhirnya berintegrasi dengan baik.
Peritel online dan raksasa bahan makanan bersama-sama mengumumkan pengiriman produk dua jam gratis dari Whole Foods Market melalui Prime Now dalam siaran persnya Kamis.
Prime-prime sekarang ini hanya tersedia di empat kota di AS: Austin, Cincinnati, Dallas dan Virginia Beach. Namun pasangan tersebut mengatakan bahwa mereka berencana untuk memperluas layanan di seluruh AS sepanjang tahun 2018.
Amazon pertama kali mengumumkan akuisisi Whole Foods sebesar $ 13,7 miliar pada bulan Juni tahun lalu. Ini memicu lambannya inisiatif terpadu yang melihat kedua pengecer tersebut bekerja sama secara erat, termasuk harga yang lebih rendah untuk anggota Prime Now saat berbelanja di Whole Foods dan toko pop-up di toko yang menjual speaker Alexa selama Natal. Pengiriman cepat dan gratis untuk pelanggan Prime Now adalah integrasi pertama dari keduanya di luar konteks batu bata dan mortir.
Pengiriman gratis berlaku untuk semua pesanan di atas $ 35, dan jika dua jam dianggap tidak cukup cepat buat Anda, Anda dapat membayar $ 8 agar dikirimkan dalam waktu satu jam. Pelanggan dapat memilih dari ribuan item di antara produk segar dan organik, roti, susu, daging dan makanan laut. Ada juga bunga yang dijual, staples sehari-hari dan pilihan merek alkohol.

Twitter memposting keuntungan pertama meski ada masalah bot

Jaringan sosial lambat berkembang karena berkaitan dengan kekhawatiran akan jutaan akun palsu yang melakukan tweet dan retweet di seluruh platform. 

Ada jutaan akun palsu yang melakukan tweet, retweet dan like ke sebagian besar akun terkenal di Twitter. Jadi apa yang akan dilakukan perusahaan tentang hal itu? 

Masalahnya telah menggelegak di bawah permukaan di Twitter selama bertahun-tahun. Tapi itu dibawa ke permukaan oleh The New York Times, yang menemukan perusahaan yang menghasilkan uang dengan menggunakan bots – program komputer otomatis yang terkadang berperan sebagai orang sungguhan – untuk memperbanyak pengikut selebriti, eksekutif bisnis, dan bahkan anggota dewan Twitter sendiri sebenarnya punya. Twitter mulai membersihkan jutaan akun palsu untuk menanggapi hal ini.

Sulit untuk mengatakan berapa banyak akun palsu di luar sana. Sebuah studi yang dirilis tahun lalu menemukan bahwa sebanyak 15 persen akun Twitter aktif dikendalikan oleh bot. Twitter mengatakan hanya sekitar 5 persen dari akunnya yang dijalankan oleh bot.
 

Kasus akun palsu tersebut menimbulkan pertanyaan lebih besar tentang kesehatan Twitter sebagai perusahaan. Pengguna aktif bulanan adalah tolak ukur yang dilihat oleh investor untuk mengetahui kesehatan perusahaan. Untuk tiga bulan yang berakhir pada 31 Desember, naik 4 persen menjadi 330 juta. Angka keseluruhan itu juga tidak mendekati saingan Facebook, yang berjumlah 2,13 miliar pengguna. 

The silver lining: Twitter pada hari Kamis membukukan keuntungan pertamanya sebesar $ 91,1 juta dengan pendapatan $ 731,6 juta.

Pengguna aktif harian perusahaan juga naik 12 persen dari tahun lalu.“Saya bangga dengan kemajuan yang kami alami di tahun 2017, dan kami percaya diri untuk ke depannya,” kata CEO Twitter Jack Dorsey dalam laporan perusahaan tersebut.Saham Twitter naik 11,5 persen menjadi $ 30 per saham dalam perdagangan premarket.

Acer Swift 7 saat ini merupakan komputer tertipis di dunia

Acer mengatakan 8.98mm Swift 7 adalah laptop tertipis di dunia.Acer memulai 2018 dengan meluncurkan salah satu laptop tertipis yang pernah ada di CES 2018. The ultra-skinny Swift 7 (SF714-51) terlihat sangat ramping dan futuristik dengan ketebalan hanya 8.98mm.Acer mengklaim itu adalah laptop tertipis di dunia. Laptop ini akan mulai dijual pada bulan April dengan harga mulai dari $ 1,699 dan £ 1,599. Harga dan ketersediaan Australia belum dikonfirmasi namun harga awal Inggris dikonversi ke AU $ 2.765.Laptop yang berpenampilan bagus ini memiliki desain aluminium hitam seluruhnya dengan layar sentuh 14 inci dengan bezels sempit. Laptop ini juga memiliki konektivitas 4G LTE; Desainnya mengintegrasikan antena ke sasis unibody.
 
Spesifikasi :

  • 7th-generation Intel Core i7 processor
  • 256GB of PCIe SSD storage
  • 8GB LPDDR3 memory
  • 4G LTE connectivity
  • 14-inch Corning Gorilla Glass touchscreen
  • 1,920×1,080-pixel resolution display
  • Backlit keyboard
  • Up to 10 hours of battery life
  • Windows Hello compatible fingerprint reader

Verizon mempertahankan peringkat jaringan nirkabel teratas

Untuk kesembilan kalinya berturut-turut, Verizon telah muncul di posisi teratas dalam uji coba seminua RootMetrics dari operator nirkabel utama di AS.

Untuk kesembilan kalinya berturut-turut, jaringan nirkabel terbesar di negara tersebut telah menempati posisi teratas dalam keseluruhan kinerja jaringan, menurut firma pengujian independen RootMetrics.
Dalam uji coba terakhirnya terhadap empat operator nirkabel utama, RootMetrics memberi peringkat Verizon keenam kategori untuk paruh kedua tahun 2017. Ketika sampai pada kinerja keseluruhan dalam kehandalan, kecepatan, koneksi data dan panggilan, Verizon berada di peringkat 1. AT & T berada di peringkat kedua secara keseluruhan, sementara Sprint menempati posisi ketiga dan T-Mobile berada di peringkat keempat.
Verizon menyapu penghargaan tidak hanya di tingkat nasional, tapi juga di tingkat negara bagian dan metro. Di 125 kota terbesar di AS, dibutuhkan waktu hampir dua kali jumlah penghargaan pertama sebagai AT & T, yang menempati posisi kedua. T-Mobile berada di peringkat ketiga dalam hal performa di tingkat metro dan Sprint berada di peringkat keempat.
Kinerja Verizon yang kuat, datang setahun setelah perusahaan tersebut memperkenalkan rencana unlimited data. Investasi jaringan yang berkelanjutan dalam menambahkan lebih banyak situs sel dan menggunakan fitur canggih di LTE telah membantu perusahaan mengikuti meningkatnya permintaan pada jaringan, kata Mike Haberman, wakil presiden jaringan di Verizon.
“Jelas jaringan kami telah bertahan seiring dengan meningkatnya permintaan sejak mengenalkan
unlimited data” katanya.
Verizon mencetak keseluruhan terbaik dalam pengujian RootMetrics untuk paruh kedua 2017. AT & T memiliki nilai tertinggi kedua; Sprint berada di posisi ketiga dan T-Mobile berada di peringkat keempat secara keseluruhan.
Investasi telah terbayar karena keempat operator melihat peningkatan dalam hal kecepatan dan kinerja, kata Doug King, direktur pengembangan bisnis untuk RootMetrics.
“Konsumen menuai keuntungan dari perbaikan jaringan berkelanjutan ini,” katanya.
King menambahkan bahwa persaingan ketat antara operator adalah apa yang mendorong investasi.
“Jika Anda tidak memiliki kompetisi, akan ada banyak insentif untuk menghabiskan miliaran dolar yang mereka keluarkan untuk teknologi dan spektrum baru,” katanya.
Sprint, yang tahun lalu melihat perundingan merger dengan T-Mobile berantakan, telah berjuang untuk bersaing dengan saingannya. Namun laporan RootMetrics menunjukkan bahwa perusahaan masih melihat peningkatan pada jaringannya.
“Meskipun kalah dalam kompetisi pada 2017, Sprint terus memperbaiki jaringannya dan mempertahankan keseluruhan peringkat nasionalnya di paruh kedua tahun ini,” kata perusahaan tersebut dalam sebuah pernyataan.
T-Mobile menyingkirkan hasil RootMetrics dan memuji hasil pengujiannya dari perusahaan seperti Ookla dan OpenSignal. Ini mengklaim hasil mereka membuktikan memiliki jaringan 4G tercepat di AS.
“Big Red jelas terguncang,” kata T-Mobile CTO Neville Ray dalam sebuah pernyataan, mengacu pada Verizon. “T-Mobile telah menutup celah jaringan, dan penghargaan yang penting – yang berasal dari pelanggan nyata di semua jaringan – memberi tahu Anda semua yang perlu Anda ketahui: Pelanggan T-Mobile paling puas dan lebih cenderung merekomendasikan kami.
Dia menambahkan, “Itulah alasan mengapa jutaan pelanggan Verizon berduyun-duyun ke T-Mobile.”
AT & T menolak mengomentari hasilnya.
Metodologi pengujian RootMetrics berbeda dari perusahaan seperti Ookla dan OpenSignal, yang mengumpulkan data dari pelanggan nirkabel yang menggunakan aplikasi pengujian gratis perusahaan ini. RootMetrics melakukan pengujian sendiri dengan mengemudi di seluruh negeri dan sekaligus menguji keempat jaringan pada ponsel yang tersedia secara komersial.
King mengakui bahwa setiap operator suka memilih data yang menunjukkan jaringannya dalam cahaya terbaik. Dan dia mencatat bahwa T-Mobile menerima penghargaan tambahan di beberapa area metro utama AS.
“Dimana T-Mobile berinvestasi, ini membantu mereka mengejar Verizon,” katanya. “Dan terkadang mereka memiliki kecepatan lebih cepat.”

Tim Apple bergabung dengan Alipay untuk merajai China

Industri pembayaran mobile China menghasilkan lebih dari $ 9 triliun per tahun, dan Alipay adalah pemimpin pasar.

Apple memenangkan medali perak China tahun lalu, dengan iPhone 7 Plus menjadi ponsel terlaris kedua di negara berpenduduk pada 2017. Pada 2018, raksasa elektronik tersebut mencari emas.

Dalam sebuah langkah yang tidak biasa, Apple bermitra dengan Ant Financial, perusahaan afiliasi raksasa e-commerce Alibaba, untuk memungkinkan pelanggan membeli produk di toko dan online menggunakan Alipay, sistem pembayaran yang bersaing dengan Apple Pay. Sebagai gantinya, aplikasi Alipay akan memiliki bagian khusus untuk pembelian App Store.

Meskipun layanan seperti PayPal dan Alipay dapat digunakan di App Store, iTunes dan Apple Music, Ant Financial menggembar-gemborkan ini sebagai pertama kalinya Apple mengizinkan metode pembayaran mobile pihak ketiga di toko fisiknya.

China adalah pasar yang sangat besar untuk Apple, dengan penjualan $ 9,8 miliar pada kuartal keempat tahun 2017 saja. Namun, kejayaan perusahaan China terjadi pada kuartal kedua tahun 2015, di mana ia menghasilkan $ 16,8 miliar. Sementara itu, transaksi pembayaran mobile China mencapai $ 9 triliun pada tahun 2016, dengan Alipay menyumbang sekitar 61,5 persen dari penjualan tersebut, sebuah laporan iResearch mengatakan.

“Ini adalah kasus klasik ‘Ketika berada di Roma, lakukan seperti yang dilakukan orang Romawi,'” kata analis riset Counterpoint Neil Shah. “Ini pasti membuat pengguna sebaik pemerintah bahagia, karena merek asing mulai merangkul layanan lokal yang populer.”

Apple telah membuat banyak langkah untuk merayu pemerintah China, termasuk membuka dua pusat data di negara ini, dan juga perusahaan lokal, seperti investasi miliaran dolar dalam perjalanan hailer Didi Chuxing.

Social Media Auto Publish Powered By : XYZScripts.com