Imam Ferianto Blogs

sekedar catatan kecil saja

Halo, ketemu lagi, Lama ga nulis di blog. Kali ini saya akan mengupas tutorial menggunakan framework yii2 untuk membuat sebuah aplikasi penjualan sederhana dengan cara yang singkat padat dan jelas dan InsyaAlloh dapat dipahami dengan mudah.

Apa itu yii2 ?

Yii versi 2 adalah salah satu dari sekian banyak framework php yang menerapkan konsep MVC. Ahir-ahir ini mungkin kurang populer, dibangingkan laravel code igniter dan lainnya. Tetapi menurut saya yang sudah lama menggunakan berbagai macam framework, yii ini paling stabil karena dari pertama digunakan major versionya masih 2, cepat loadingnya, modular dan sudah ada embeded crud didalamnya. Untuk platform instalasi dan requirement juga sudah menggunakan composer sama seperti framework lainnya. Yii dapat di download pada websitenya di alamat https://www.yiiframework.com/. Dengan kelebihan diatas dan segudang feature  lainnya Yii sangat recomended dipertimbangkan untuk digunakan dalam sebuah project PHP.

Baiklah sesuai judulnya adalah tutorial singkat pada dan jelas. tanpa berlama-lama kita langsung saja menuju langkat instalasi. Kali ini kita akan menggunakan platform windows xampp (sepertinya banyak juga programer pemula menggunakan windows).

1. Prequisite checks (Opsional tips)

Jika menggunakan windows (server) atau yang sudah terinstall visual studio seringkali bentrok port 80 dengan IIS ,
maka stop dulu iis dengan perintah  pada cmd

net stop w3svc

atau dari menu windows service

langkah ini dapat di skip jika windows masih default (belum diinstall macam-macam tools)

 

2. Download dan install xampp 

Xampp adalah paket instalasi lengkap untuk development php yang terdiri dari (apache, mysql, php, perl, mercury mail,
filezilla ftp, tomcat, phpmyadmin, sendmailer).

Search saja di google dengan keyword “download xampp”, rekomendasikan saya download yang php 7.3

https://www.apachefriends.org/download.html

Untuk pengguna mac os dapat menggunakan MAMP ( https://www.mamp.info/en/downloads/ )

 

Install xampp , bisa diinstall pada sembarang drive c,d dan seterusnya(sebaiknya pada secondary drive d:\xampp , supaya tidak terganggu dan aman bila windows crash), cara installnya tinggal klik 2x dan ikuti next sampai selesai.

Tunggu sampai instalasi selesai, jika sudah selesai install xampp biasanya akan muncul toolbar di tray icon kanan dengan logo xampp.

 

3. Download dan Install mysql workbench

Mysql Workbench merupakan tools untuk “memanage”  database mysql dalam bentuk GUI. Berbeda dengan phpmyadmin, tools ini lebih responsif dan merupakan official tools dari oracle mysql. Kita menggunakan tools ini tentunya supaya praktis dan cepat untuk seorang developer pemula, tidak perlu pusing memikirkan perintah sql untuk membuat table, konstrain dan lainnya.

search pada google dengan kata kunci “mysql worksbench download”   (download yang sesuai os anda, windows , mac atau linux)

https://dev.mysql.com/downloads/workbench/

Install mysql worksbench complete sesuai path default (biasanya pada c:\programfiles) tinggal klik next sampai selesai.

 

4. Install Composer

Composer merupakan “package installer” aplikasi php yang menerapkan otomatis instalasi dependency requirement. Jadi kita bisa menginstall sembarang aplikasi dan framework php (tanpa menyebutkan requirementnya secara explisit). Secara umum composer terkait dengan website http://packagist.org (yang merupakan website repository library php) yang juga digunakan oleh laravel dan banyak framework php lainnya.

Untuk windows download composer dapat dicari pada google dengan kata kunci “composer for windows download”, atau pada alamat: https://getcomposer.org/download/    .

Download dan install composer-setup.exe sampai selesai. Jika ada pilihan untuk memasukan path php.

ketik D:\xampp\php\php.exe (atau browse ke php.exe, sesuai lokasi instalasi masing-masing xampp sebelumnya)

Jangan lupa pastikan cekbox add to path sudah dipilih, supaya nanti composer dapat dipanggil dari path manapun.

Klik next sampai finish

Untuk melakukan testing apakah composer sudah berhasil diinstal atau belum, klik menu start (tombol logo window) dan pilih run. atau tekan tombol keyboard ctrl+R bersamaan, atau pada searchbar windows ketik cmd.exe

Klik kanan pada cmd dan klik run as administrator, selanjutnya akan muncul windows cmd.

Kemudian Pada windows cmd  ketik: composer        , jika composer terinstall dengan benar makan akan muncul hasil seperti berikut:

tips,  untuk mac os composer dapat diinstall dengan perintah

brew install composer

 

5. Install Yii2

Download yii sesuai petunjuk pada alamat https://www.yiiframework.com/ .atau https://www.yiiframework.com/doc/guide/2.0/en/start-installation .

Jika menggunakan composer maka setelah terbuka cmd seperti diatas, ketik  perintah sebagai berikut

d:
cd d:\xampp\htdocs
mkdir penjualan
cd penjualan

Selanjutnya ketik (masih di windows cmd tadi) , copy paste saja perintah di bawah ke windows cmd supaya tidak salah ketik.

composer create-project --prefer-dist yiisoft/yii2-app-basic basic

tungu sampai proses download dan instalasi yii2 basic selesai

 

6. Membuat database menggunakan Mysql Workbench

sementara menunggu installasi yii, kita akan membuat database penjualan dengan tools mysql workbech. Terlebih dahulu pastikan apache dan mysql pada xampp sudah “start” dengan mengklik tray icon xamp.

Selanjutnya buka Aplikasi mysql wordbench

Klik tanda + pada mysql connections (untuk menambahkan koneksi ke mysql server local), isi dengan parameter seperti berikut:

(hostname=127.0.0.1    username = root , kosongkan password, defaultnya mysql pada xampp tidak menggunakan password)

Kemudian klik tombol test connection, jika ada warning abaikan saja klik continue, jika sukses maka akan muncul result windows seperti berikut ini:

Selanjutnya klik ok 2x untuk menyimpan koneksi mysql.

Jika koneksi sudah tersimpan pada bagian bawah mysql connections sudah muncul seperti gambar diatas, selanjutnya klik 2x pada mysql-lokal untuk membuka koneksi. (jika ada warning abaikan saja dan klik continue)

Untuk desain databasenya menggunakan ERD (Entity Relation Ship Diagram) sederhana , dengan prinsip yang sangat mudah seperti ini saja:

  • ada barang dijual  oleh penjual, dibeli oleh pembeli
  • 1 orang pembeli bisa membeli banyak barang
  • 1 orang penjual melayani banyak pembeli

Untuk membuat tablenya pada Workbench klik Menu: File ->new Model.

 

Pada Windows Model, Klik Icon +Add Diagram

 

Setelah Muncul Window EER diagram Seperti dibawah ini, ada baiknya kita simpan dan namain dulu modelnya misalnya : penjualan.mwb.  Simpan satu folder dengan project kita di path d:\xampp\htdocs\penjualan     (supaya tidak tertukar dengan project lainnya).

 

Selanjutnya kita buat table sesuai dengan panduan ERD diatas, bisa dilihat pada Video berikut.

 

hasilnya ahirnya seperti ini:

 

7. Generate Mysql Database dari skema EER

Bila tadi pada saat create schema lupa memberi nama DB.
Pada Klik Kanan Pada katalog skema mydb, dan pilih edit schema, rename ke penjualan dan klik tombol save (icon disket)

     

 

Selanjutnya Klik menu database–> forward engineer.

 

Pilih stored connection : mysql-lokal , dan klik next button

 

Check drop object and generate schema

Check export mysql table

 

Sql DDL Telah berhasil dibuat dari ER schema

Klik Next untuk execute SQL DDL

Bila ada Erros seperti ini, kembali ke Back button

 

Perlu diubah sedikit SQL DDL nya agar compatible dengan syntax mysql 5, Hilangkan kata Visible di ahir index.

Menjadi SQL seperti berikut

Simpan Ke File : d:\xampp\htdocs\penjualan\penjualan.sql

 

Kemudian klik lagi tombol next, Sukses bila tidak ada error:

 

Untuk melakukan testing apakah sudah tergenerate kita bisa menggunakan phpmyadmin. caranya

buka browser dan ketik http://localhost/phpmyadmin seharusnya sudah muncul tampilan berikut:

 

9. Install notepad++ untuk mengedit code

Jika belum mempunyai editor ada baiknya menggunakan notepad++ ataupun sublime (pilih salah satu) agar editing code php selanjutnya lebih mudah.

Notepad++ dapat di download disini:

https://notepad-plus-plus.org/downloads/

 

untuk Sublime 3 dapat di download disini:

https://www.sublimetext.com/3

 

 

10. Konfigurasi Yii untuk database penjualan

Buka kembali CMD yang digunakan untuk instalasi yii, jika belum berada di folder d:\xampp\htdocs\penjualan

maka ketik di cmd

d:
cd d:\xampp\htdocs\penjualan

 

Selanjutnya buka Windows Explorer arahkan ke d:\xampp\htdocs\penjualan, perhatikan ada beberapa folder dan file didalamnya. rename basic menjadi protected (selanjutnya folder protected ini dapat kita pindah ke secure folder diluar public folder bila nantinya akan diupload ke server hosting).

  menjadi :

 

Selanjutnya copy isi folder dan file yang ada di c:\xampp\htdocs\penjualan\protected\web\*.* ke  c:\xampp\htdocs\penjualan\

 

atau bila menggunakan cmd perintahnya:

 

cd D:\xampp\htdocs\penjualan\
ren basic proctected
xcopy /e /v D:\xampp\htdocs\penjualan\protected\web\* .

Hasilnya struktur folder harusnya seperti ini:

 

Edit file : folder d:\xampp\htdocs\penjualan\index.php, text .. pada required diganti menjadi protected

hasilnya seperti ini:

 

Kemudian ubah konfigurasi yii yang berada di file

d:\xampp\htdocs\penjualan\protected\config\web.php

aktifkan modul GII (hilangkan comment pada allowed ips) dari:

Diubah menjadi seperti ini:

 

dan pada d:\xampp\htdocs\penjualan\protected\config\db.php

ubah nama database yii2basic

ubah menjadi penjualan:

 

Selanjutnya buka browser dan ketik  http://localhost/penjualan, seharusnya muncul seperti ini:

 

Artinya setup Yii sudah selesai dan siap memulai project menggunakan framework ini.

 

 

11. Membuat Model Database Yii

Model Database pada Yii merupakan interface yang menjembatani komunikasi ke fisik table di database mysql. Umumnya Model database yii biasanya merupakan instance dari class (\yii\db\ActiveRecord) .  Secara default penamaan model pada yii mengikuti nama tabelnya dan bila ada reference foreign key Yii otomatis akan membuat linked maping dengan properti field khusus yang bisa dipanggil untuk meload related data.

Tools untuk melakukan generate model dan kode secara otomatis (yang bisa saya sebut magicnya yii) disini, kita menggunakan embeded tools yang bernama GII , caranya dengan membuka alamat pada browser chrome

http://localhost/penjualan/?r=gii

# membuat model untuk tabel barang:

Karena kita sudah melakukan konfigurasi koneksi database sebelumnya pada file web.php. sekarang tinggal klik tombol start pada model Generator. Kemudian ketik atau pilih tabelnya misalnya sebagai berikut:

Tablename=barang
ModelClass = Barang     (penamaan model diawali huruf besar)
namespace = app\Models

Kemudian klik tombol preview dilanjutkan dengan klik tombol generate untuk membuat code

Kode Model sukses dibuat, Hasilnya dapat dilihat pada file:  d:\xampp\htdocs\penjualan\protected\models\Barang.php

Dapat kita lihat barang mempunyai child table isikeranjang (merefer ke table: isi_keranjang)

Isi di table isi_keranjang yang related ke table barang dapat diambil dengan mudah dengan memanggil properti

Barang->isiKeranjang()

 

#membuat model untuk table isi_keranjang

Demikian juga sebaliknya jika kita create model  untuk tabel isi_keranjang akan me-reverse  balik ke table barang , contohnya.

Tablename=isi_keranjang 
ModelClass = IsiKeranjang  (tidak boleh ada kharakter khusus dan spasi pada nama model)
namespace = app\Models

Hasil Kode Model Generated File :  d:\xampp\htdocs\penjualan\protected\models\IsiKeranjang.php 

Model IsiKeranjang mempunya field foreign key properti getKodeBarang, artinya kita bisa melihat data barang nya pada model ini dengan memanggil properti tersebut misalnya:

Isikeranjang->KodeBarang->NamaBarang.

 

Ulangi langkah diatas (membuat model) untuk semua tabel lainnya.

 

12. Crud Code Yii

Crud Code yii juga masih merupakan magicnya yii, disini tools CRUD generator akan membuat kode otomatis beserta View htmlnya untuk melakukan operasi CRUD (create read update delete)  pada database.  Yang perlu menjadi catatan untuk crud ini semua model terkait crudnya harus sudah dibuat dahulu di langkah sebelumnya diatas.

Klik pada menu CRUD generator, isikan modelnya seperti berikut (harus sebutkan namespace lengkap ya):

model= app\models\Barang
search= app\models\BarangSearch
controller= app\controllers\BarangController
views path = @app/views/barang

Klik tombol preview dilanjutkan dengan tombol generate

Hasil kode generator dapat dilihat di folder

D:\xampp\htdocs\penjualan\protected\controller\BarangController.php
D:\xampp\htdocs\penjualan\protected\views\barang

 

Views untuk barang: D:\xampp\htdocs\penjualan\protected\views\barang\index.php

 

12.  Tips Edit Layout dan Hasil Ahir 

Hasil implementasi crud barang dapat dilihat pada url

http://localhost/penjualan/index.php?r=barang

Untuk mengedit judul aplikasi edit pada d:\xampp\htdocs\penjualan\protected\config\web.php
tambahkan properti name pada array

 

Untuk mengedit layout utama tampilan dan sebagainya , edit pada file di d:\xampp\htdocs\penjualan\protected\layouts\main.php

seperti berikut ini.

 

Contoh layout yang telah diedit menggunakan  themes adminlte dari https://adminlte.io/

 

Untuk pembahasan selanjutnya tentang themeing layout details, authentifikasi  dan customize widget dan lainya akan kita bahas  pada sesi lainya. Semoga bermanfaat.

 

—————————————————————————————————————————————

Tulisan ini merupakan hasil karya saya sendiri yang sudah dipadatkan supaya lebih mudah dipahami dengan cepat.
Jika sudah menguasai  silahkan Kontak Saya kembali, ada banyak project yang membutuhkan bantuan Anda.

Terimakasih.