14 Mei 2014

Menampilkan Teks Sederhana di Yii2

Melanjutkan artikel saya mengenai Yii2 yakni Instal Yii2 via Composer, kali ini kita akan belajar cara menampilkan teks sederhana di Yii2. Sebelumnya Anda harus telah menginstal minimal PHP 5.4, Apache 2.2, Composer, dan Yii2.

Alur Kerja Aplikasi
Alur kerja aplikasi ini menggambarkan secara umum proses yang terjadi antara request user dan response aplikasi. Berikut alurnya:
USER ---request---> Action ---call---> View ---render---> Content
  ^                                                          v
  |_________________________response_________________________|
 
Dari alur di atas dapat dijelaskan bahwa user melakukan request ke Action yang berada di dalam Controller kemudian dari Action tersebut memanggil View untuk menampilkan (rendering) konten tampilan (misalnya HTML) kemudian hasil proses tersebut berupa response halaman web ke user.

Berikut istilah yang sering dijumpai di Yii Framework:
  • Request berupa bentuk penulisan URL (bisa mode POST/GET) yang berisi permintaan kepada aplikasi yang kemudian router aplikasi akan meneruskan ke controller dan action mana yang sesuai.
  • Action berada di dalam controller yang berupa suatu method dengan imbuhan kata 'action' sebelum nama method tersebut. Fungsi utamanya sebagai tempat umtuk mengeksekusi kode program tertentu.
  • View adalah bagian proses di dalam framework yang fungsi utamanya menampilkan data hasil pengolahan action method yang pada umumnya berupa kode untuk tampilan atau front-end (bisa HTML,PHP,JavaScript,CSS).
  • Controller adalah bagian kerja yang berfungsi sebagai pusat logika yang menjadi penghubung utama user dengan aplikasi. Di dalam controller terdapat method biasa dan action method. Controller berupa PHP class dengan akhiran kata 'Controller dengan memiliki penamaan yang sama antara nama kelas dan nama filenya.

Langkah-Langkah Pembuatan Aplikasi Sederhana Yii2
Dengan asumsi bahwa Anda telah berhasil menginstal Yii2 seperti yang telah dijelaskan langkahnya pada artikel Instal Yii2 via Composer, maka saatnya kita belajar membuat aplikasi yang dibangun di atas salah satu PHP Framework terbaik di dunia saat ini yakni Yii Framework (Yii2).

1.Membuat File atau Kelas Controller
Buatlah sebuah file PHP untuk pembuatan class controller. Ketentuan penamaan class-nya dan nama filenya harus sama dan diakhiri dengan imbuhan kata 'Controller'. Huruf di awal kata harus memakai huruf kapital. Misalnya kita membuat controller dengan nama LatihanController. Untuk itu nama filenya harus LatihanController.php dan file ini harus diletakan di dalam folder controllers.

Kode program di dalam file ini menggunakan statemen: namespace app\controllers; untuk menandakan file ini berada pada paket yang sama dengan controller lainnya yakni berada pada namespace: app\controllers. Selanjutnya class LatihanController ini merupakan kelas yang diwariskan (subclass) dari kelas Controller yang berada di dalam namespace: yii\web sehingga perlu ada statemen: use yii\web\Controller;.

2.Membuat Action Method di dalam Controller
Di dalam class LatihanController ini perlu ada action method yang digunakan sebagai tempat eksekusi kode program yang dipanggil melalui request dari user.

Ketentuan penamaan action method ini adalah nama method harus diawali dengan imbuhan kata 'action' dan menggunakan bentuk penulisan camelCase, jadi tiap huruf per kata yang digabungkan harus kapital semua kecuali huruf paling depan yakni huruf 'a' untuk kata action. Misalnya nama action methodnya adalah actionAyo(). Kita ingin memiliki default parameter sehingga bila user tidak melampirkan nilai parameternya, method tersebut telah memiliki nilai parameter. Untuk itu action methodnya menjadi actionAyo($pesan = 'Ayo belajar Yii2').

Di dalam method actionAyo() perlu adanya pemanggilan ke view melalui method render() yang dapat dilampirkan argumen nama file view tanpa akhiran .php dan data yang dilewatkan ke dalamnya dalam bentuk array. Hasil dari method render() ini perlu dikembalikan (return) ke method actionAyo() ini.

Untuk lebih jelasnya, script lengkap untuk file LatihanController.php ini adalah:

File: LatihanController.php
<?php
namespace app\controllers;
use yii\web\Controller;

class LatihanController extends Controller
{
    public function actionAyo($pesan = 'Ayo belajar Yii2')
    {
        return $this->render('hasil', ['pesan' => $pesan]);
    }
}


Sebelum lanjut ke pembuatan view, ada sebuah hal penting yang perlu diketahui yakni mengenai ID (Identitas) dari kelas Controller dan action method-nya. ID untuk Controller dan methodnya ini dipakai untuk keperluan tertentu misalnya untuk pemanggilan controller/action melalui router dari user request dan juga pembuatan folder view mengikuti penamaan ID controller.

Ketentuan penamaan ID untuk controller dan action-nya adalah sama yakni:
  1. ID harus menggunakan huruf kecil semua.
  2. Bila penamaan Controller atau action methodnya terdapat lebih dari satu kata yang digabungkan maka pada penulisan ID-nya dipisahkan dengan karakter dash (-).
  3. Kata 'Controller' dan 'action' tidak termasuk dalam penamaan ID sehingga kedua kata tersebut dihilangkan atau tidak dianggap.
Untuk lebih jelasnya, misalkan pada Controller dan action method yang telah kita buat di atas:
  1. Kelas LatihanController, ID-nya adalah latihan.
  2. Action method actionAyo(), ID-nya adalah ayo.
Misalkan ada controller dengan nama LatihanYiiController maka ID-nya adalah latihan-yii. Jika ada action method actionAyoBelajarYii() maka ID-nya adalah ayo-belajar-yii.

3.Membuat View untuk Tampilan
Setelah file controller dibuat, selanjutnya file view perlu dibuatkan. Ketentuannya adalah tiap file view yang dipanggil dari action method di dalam controller tertentu maka file view tersebut harus berada di dalam folder dengan nama folder ID controllernya. Sehingga jika file view: hasil.php dipanggil dari action method LatihanController::actionAyo() maka file tersebut dibuat di dalam folder: latihan dan folder latihan tersebut dibuat di dalam folder views (lengkapnya: views/latihan/hasil.php).

File view digunakan sebagai tempat penulisan kode program untuk urusan tampilan. Sehingga Anda dapat menuliskan script HTML/PHP/JavaScript/CSS di dalam file view ini. Untuk menghindari XSS attack, sebaiknya konten yang ingin ditampilkan di-filter dahulu menggunakan method Html::encode() yang diambil dari namespace: yii\helpers.

Hal penting lainnya adalah sebelumnya kita melampirkan sebagai argumen suatu variabel array yakni ['pesan' => $pesan] saat pemanggilan method render() di dalam action method LatihanController::actionAyo(). Variabel array tersebut dapat diakses di dalam view hasil (hasil.php). Sehingga kita bisa menggunakan variabel $pesan langsung di dalam file view tersebut.

Berikut ini contoh sederhana isi dari file view hasil.php:

File: hasil.php
<?php
use yii\helpers\Html;

echo '<h1>'.Html::encode($pesan).'</h1>';


Untuk mencoba aplikasi menampilkan teks sederhana di Yii2 yang telah kita buat, Anda perlu memanggilnya melalui web browser dengan bentuk URL request:
http://localhost/latihan-yii2/web/index.php?r=latihan/ayo
Hasil tampilan dari proses pemanggilan ini adalah:


Contoh tampilan Yii2 (memakai default parameter)


Perhatikan ID dari controller dan action methodnya setelah parameter r di atas yakni kombinasi ID controller/action (latihan/ayo). Jika kita menggunakan parameter URL seperti di atas maka default parameter untuk method actionAyo() yakni variabel $pesan berisi teks 'Ayo belajar Yii2'. Untuk lebih jelasnya silakan lihat kode program pada file LatihanController.php di atas.

Apabila Anda ingin mengganti teks pesannya dengan kalimat lain, tinggal tambahkan parameter: pesan (sesuai nama variabel parameter pada method actionAyo()). Contohnya misalnya kita ingin menampilkan kalimat: "Selamat belajar Yii Framework" maka URL request di atas perlu diganti menjadi:
http://localhost/latihan-yii2/web/index.php?r=latihan/ayo&pesan=Selamat+belajar+Yii+Framework
Berikut hasil dari request di atas:


Contoh tampilan Yii2 (override default parameter)


Demikian artikel mengenai pembuatan aplikasi berbasis Yii2 untuk menampilkan teks sederhana. Artikel ini agak panjang yang berisi penjelasan lumayan detil untuk memudahkan kita memahami pembuatan controller dan action methodnya di dalam aplikasi berbasis Yii2. Terima kasih telah meluangkan waktu untuk membaca artikel ini dan semoga bermanfaat.

(©) 2014 husnanw.blogspot.com

13 Mei 2014

Cara Mudah Instal Yii2 via Composer

Yii2 merupakan versi terbaru dari Yii Framework. Yii2 merupakan penyempurnaan dari versi sebelumnya yakni Yii 1.1. Yii2 merupakan PHP Framework modern dengan membawa best practices dari sisi pengembangan web development modern. Yii2 menggunakan fitur-fitur terbaru mulai dari PHP versi 5.4 oleh karena itu versi PHP minimal yang diperlukan untuk instalasi Yii2 adalah versi 5.4 (lebih baru lebih baik).

Sebelum Anda menggunakan Yii2 sebagai framework pengembangan aplikasi web, Anda dapat menginstalnya dengan dua cara yakni:

1. Install via Composer.
2. Install via download file arsip Yii2.

Dalam artikel ini dijelaskan secara singkat dan sederhana proses instalasi via Composer. Composer adalah Dependency Manager untuk aplikasi yang dibangun melalui PHP. Melalui Composer ini kebutuhan paket library atau extension untuk aplikasi PHP yang Anda bangun dapat terpenuhi dengan mudah.

Cara instalasi via Composer lebih direkomendasikan karena kemudahan dalam proses instalasi dan yang lebih penting lagi adalah kemudahan proses update Yii2 dan instalasi extensions berikut dependensinya dengan menggunakan sebuah perintah sederhana.

Sebelum melangkah lebih lanjut, pastikan Anda telah menginstal PHP versi 5.4 ke atas berikut webserver Apache atau Nginx dan tersedia koneksi internet karena instalasi Yii2 via Composer membutuhkan koneksi internet.

Berikut langkah-langkah instalasi Yii2 via Composer:

1. Install Composer
Jika Anda belum memiliki aplikasi Composer, silakan install dengan cara memberikan perintah berikut pada terminal shell Linux:
curl -s http://getcomposer.org/installer | php
Setelah itu agar aplikasi Composer dapat dijalankan via terminal secara global (bisa dari path mana saja), pindahkan dan rename file Composer (composer.phar) ke lokasi /usr/local/bin kemudian buat agar file tersebut dapat dieksekusi, yakni dengan memberikan perintah chmod pada file tersebut. Berikut perintahnya:
sudo mv composer.phar /usr/local/bin/composer
sudo chmod 777 /usr/local/bin/composer

2. Install Yii2
Setelah aplikasi Composer diinstal berdasarkan langkah 1 di atas, saatnya untuk instalasi aplikasi web berbasis Yii2. Instalasi ini akan menginstall semua paket yang diperlukan beserta dependensinya. Selain itu proses instalasi berikut akan membuat template aplikasi dasar (basic application template). Ketikan perintah berikut:
composer create-project --prefer-dist --stability=dev yiisoft/yii2-app-basic htdocs/latihan-yii2
Bagian perintah di atas yang perlu Anda perhatikan adalah bagian terakhir. Di atas tertulis htdocs/latihan-yii2 artinya Composer akan menginstall Yii2 di dalam folder htdocs/latihan-yii2 dimana folder htdocs berada di dalam folder user account Linux Anda. Jika lokasi webroot aplikasi web Anda misalnya berada di /var/www maka ganti bagian perintah htdocs/latihan-yii2 menjadi /var/www/latihan-yii2.

Selanjutnya Anda bisa mencoba apakah hasil instalasi Yii2 ini berjalan dengan mengetikan perintah berikut pada web browser:
http://localhost/latihan-yii2/web/
Berikut ini contoh tampilan bila proses instalasi Yii2 ini berhasil:


Yii2 Basic Application Template


Demikian penjelasan saya mengenai instalasi Yii2 via Composer, semoga bermanfaat bagi kita semua.

(©) 2014 husnanw.blogspot.com

22 April 2014

Mengganti hostname di Ubuntu atau Debian Linux

Hostname pada Ubuntu atau Debian Linux dapat diganti dengan mudah dan mungkin perlu diganti misalnya namanya tidak sesuai dengan keinginan atau memang harus diganti dengan nama yang lain.

Hostname dapat diketahui dengan mudah saat masuk shell atau terminal yakni dituliskan setelah username dan di belakang karakter @.

Untuk mengubah hostname, Anda perlu melakukan empat langkah berikut melalui terminal (Anda bisa menggunakan aplikasi vi, vim, nano, gedit atau yang lainnya untuk membuka file berikut):

1. Ubah nama host pada file hosts
sudo vim /etc/hosts
Setelah file tersebut dibuka kemudian ganti nama host yang terletak dibelakang IP Address.

2. Ubah nama hostname pada file hostname
sudo vim /etc/hostname
Setelah file tersebut dibuka kemudian ganti nama hostname.

3. Restart service untuk hostname
sudo service hostname restart
Langkah ini dilakukan untuk mengenali perubahan hostname yang telah dilakukan.

4. Restart komputer
sudo reboot
Setelah komputer restart silakan masuk shell terminal, dan nama hostname telah berhasil diubah.

(©) 2014 husnanw.blogspot.com

19 Maret 2014

Install NetBeans 8 di Sistem Operasi Ubuntu/Debian Linux

Programmer Java pastinya tidak asing dengan nama NetBeans. Ya sebuah powerful IDE (Integrated Development Environment) untuk berbagai bahasa pemrograman khususnya Java ini telah memasuki versi 8.0 (stable). NetBeans 8.0 memiliki berbagai fitur unggulan untuk bahasa pemrograman Java dan berbagai bahasa pemrograman dan teknologi lain yang di-support. Anda bisa lihat selengkapnya di sini.

Saya akan menjelaskan secara ringkas instalasi dan sedikit konfigurasi NetBeans 8.0 di sistem operasi Ubuntu/Debian Linux. Sebelumnya silakan download gratis file NetBeans IDE versi 8.0 di sini. Ada beberapa pilihan paket download NetBeans 8.0 ini. Anda bisa pilih salah satunya dan sesuaikan dengan kebutuhan. Pastikan platform NetBeans IDE-nya adalah Linux(x86/x64) pada menu di sebelah kanan atas halaman downloadnya.

Sebelum menginstall NetBeans IDE versi 8.0 (untuk versi Full/All) versi JDK yang perlu Anda miliki adalah JDK versi 7 update 10 (atau setelahnya) atau JDK versi 8. Untuk instalasi JDK terbaru (saat artikel ini ditulis) yakni JDK 8 Anda bisa lihat di artikel Install Oracle JDK 8 di Ubuntu/Debian Linux.
  1. Install NetBeans IDE versi 8.0
    Setelah file NetBeans Anda download (misalnya nama filenya: netbeans-8.0-linux.sh ), lakukan langkah berikut untuk membuat file tersebut dapat dijalankan sebagai aplikasi installer.
    sudo chmod 777 netbeans-8.0-linux.sh
    
    Selanjutnya lakukan perintah berikut untuk mengeksekusi proses instalasinya
    ./netbeans-8.0-linux.sh
    
    Disarankan Anda tidak mengeksekusi perintah di atas sebagai root karena Anda harus login sebagai root jika ingin menyimpan file atau membuat project-nya. Kemudian setelah itu proses instalasi akan dengan sendirinya memeriksa kelengkapan syarat instalasi seperti ada tidaknya JDK/JRE berikut versi dan path instalasinya. Proses instalasi ini dijalankan menggunakan antarmuka GUI (Graphical User Interface) sehingga mempermudah proses instalasinya. Anda tinggal klik beberapa tombol dan memilih opsi yang disediakan.
  2. Konfigurasi NetBeans IDE versi 8.0 (Opsional)
    Langkah ini bersifat opsional. Konfigurasi yang dimaksud adalah untuk merubah tampilan GUI dari NetBeans agar terlihat futuristik menggunakan Look and Feel dari Nimbus. Caranya Anda perlu membuka file netbeans.conf yang terletak pada path: /home/username/netbeans-8.0/etc/netbeans.conf kemudian tambahkan atribut string:
    --laf com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel pada pengaturan netbeans_default_options. Selengkapnya lihat potongan pengaturannya berikut:
    netbeans_default_options="-J-client -J-Xss2m -J-Xms32m -J-XX:PermSize=32m 
    -J-Dapple.laf.useScreenMenuBar=true -J-Dapple.awt.graphics.UseQuartz=true 
    -J-Dsun.java2d.noddraw=true -J-Dsun.java2d.dpiaware=true 
    -J-Dsun.zip.disableMemoryMapping=true 
    --laf com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel"
    


Proses instalasinya sederhana bukan? Selamat mencoba...

(©) 2014 husnanw.blogspot.com

Install Oracle JDK 8 di Ubuntu/Debian Linux

Jenis JDK (Java Development Kit) di sistem operasi Linux misalnya pada distro Ubuntu atau Debian terdapat dua macam jenis yakni Oracle's JDK dan OpenJDK yang dikelola oleh komunitas open source. Selain itu berdasarkan arsitektur komputernya dibedakan menjadi JDK versi 32-bit dan 64-bit.

Artikel ini akan membahas secara ringkas instalasi Oracle JDK 8 versi 64-bit di Ubuntu/Debian Linux. Untuk JDK 8 versi 32-bit prinsip instalasinya sama saja.

JDK 8 (pada saat artikel ini ditulis) merupakan JDK versi terbaru yang mengusung fitur unggulan yakni lambda expression dan beberapa fitur lain yang Anda bisa lihat secara lengkap di sini. Sebelumnya Anda perlu mengunduh file JDK 8 terlebih dahulu dari alamat web ini.
  1. Ekstrak File
    Hasil download file Oracle JDK 8 untuk sistem Ubuntu/Debian Linux adalah jenis file tar.gz, untuk itu Anda perlu melakukan ekstraksi filenya (misal nama filenya: jdk-8-linux-x64.tar.gz) dengan cara menuliskan script bash berikut pada terminal Linux dan pastikan path terminal Anda telah berada di folder dimana file JDK 8 berada.
    sudo tar -xvf jdk-8-linux-x64.tar.gz 
    
  2. Memindah folder JDK 8
    Folder JDK 8 hasil ekstrak (misal nama folder-nya: jdk.1.8.0) perlu dipindahkan ke path /usr/lib/jvm agar semua user dapat menggunakan JVM (Java Virtual Machine) pada JDK tersebut (pada JDK terdapat JRE sebagai runtime environment bagi aplikasi Java). Bila belum ada folder jvm-nya maka Anda perlu membuatnya terlebih dahulu dengan script bash:
    sudo mkdir -p /usr/lib/jvm 
    
    Setelah itu lakukan pemindahan folder JDK 8 (jdk1.8.0) ke path /usr/lib/jvm dengan perintah:
    sudo mv jdk1.8.0 /usr/lib/jvm 
    
  3. Mendaftarkan path instalasi ke sistem
    Path JDK 8 yang baru dipindahkan perlu "didaftarkan" atau istilah teknisnya membuat symbolic link agar operasi sistem Ubuntu/Debian Linux Anda mengenalnya. Ketikan perintah berikut:
    sudo update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/jdk1.8.0/bin/java" 1
    sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/lib/jvm/jdk1.8.0/bin/javac" 1
    sudo update-alternatives --install "/usr/bin/javaws" "javaws" "/usr/lib/jvm/jdk1.8.0/bin/javaws" 1 
    
  4. Merubah default JVM yang dipakai (opsional)
    Langkah berikut digunakan jika sebelumnya Anda telah menginstal Oracle JDK atau OpenJDK versi sebelumnya. Jika di sistem operasi Ubuntu/Debian Linux Anda memiliki beberapa JDK (misal versi JDK 7 dan dan JDK 8), maka Anda perlu memberitahu JDK mana yang ingin dijadikan default JDK. Untuk itu Anda perlu mengetikan perintah berikut:
    sudo update-alternatives --config "java"
    sudo update-alternatives --config "javac"
    sudo update-alternatives --config "javaws"
    
    Lakukan eksekusi perintah di atas satu-persatu. Setelah Anda menekan tombol Enter maka Anda diberi opsi pemilihan JDK mana yang akan dipakai dengan memasukan nomor seleksinya. Pilihlah versi JDK 8 yang baru Anda install tadi dengan cara mengetikan nomor seleksinya (misal 1, 2, atau 3). Lakukan untuk konfigurasi "java", "javac", dan "javaws".
  5. Memeriksa versi JDK/JRE yang dipakai
    Langkah ini untuk memastikan versi Java yang dipakai. Untuk itu ketikan perintah berikut:
    java -version
    javac -version 
    
    Lakukan eksekusi perintah di atas satu-persatu. Jika tidak ada masalah pada saat instalasi dan konfigurasi maka hasil keluaran di atas akan menunjukan versi compiler dan runtime Java 8 yang baru Anda install, misal keluarannya adalah:
    javac 1.8.0
       
    java version "1.8.0"
    Java(TM) SE Runtime Environment (build 1.8.0-b132)
    Java HotSpot(TM) 64-Bit Server VM (build 25.0-b70, mixed mode)
    

Sekarang Anda dapat menggunakan fitur-fitur terbaru yang ditawarkan oleh Java 8 termasuk lambda expression dan JavaFX. Selamat mencoba semoga artikel ini bermanfaat.

(©) 2014 husnanw.blogspot.com

11 Maret 2014

Merubah dan Mengupdate Password MySQL

Merubah dan mengupdate password MySQL database server dapat dilakukan melalui terminal. Artikel sederhana ini akan menjelaskan hal tersebut.

Adakalanya password MySQL dari suatu user account perlu dirubah atau diupdate misalnya untuk alasan keamanan. Untuk melakukan perubahan atau pembaharuan (update) bukalah terminal Linux. Kemudian ketikan perintah berikut:
  mysqladmin -u root -p'passwordlama' password passwordbaru
Pastikan antara atribut -p dan string 'passwordlama' tidak ada spasinya. Perintah di atas digunakan untuk merubah password dari username akun root. Anda perlu menyesuaikannya dengan username akun yang ingin dirubah. Setelah itu coba login dengan perintah:
  mysql -u root -p
Saat Anda diminta memasukan password MySQL, masukanlah password baru Anda. Selamat mencoba...

(©) 2014 husnanw.blogspot.com

06 Maret 2014

Menambahkan Primary Key Pada Tabel MySQL

Bila Anda terlanjur mendefinisikan primary key pada sebuah tabel pada database MySQL maka Anda dapat merubahnya dengan mudah. Misalnya tabel yang Anda buat memiliki field lebih dari satu yang ingin dijadikan field primary key (composite primary key).

Untuk menambahkan primary key pada suatu tabel yang sebelumnya telah memiliki primary key adalah dengan cara:
  1. Menghapus primary key yang ada (Drop)
  2. Mendefinisikan ulang primary key (Add)
Kedua langkah tersebut dapat dituliskan dalam satu sintaks SQL yakni:
ALTER TABLE contoh_tabel DROP PRIMARY KEY, ADD PRIMARY KEY(field_1, field_2);
Mudah bukan? Semoga bermanfaat.

(©) 2014 husnanw.blogspot.com