Friday, September 27, 2019

Implementasi MVC pada Laravel

Konsep MVC (Model, View, Controller) pada Laravel

Laravel merupakan salah satu framework yang memisahkan antara data (Model) dari tampilan (View) dan cara bagaimana memprosesnya (Controller).
  • Model adalah sebagai penghubung antara Controller dengan database yang berguna untuk mengambil data. Sementara  
  • Controller adalah kendali atau pengendali diambil dari kata controll bisa juga diartikan jembatan antara view dan model. Controller memiliki tugas mengendalikan ataupun menjembatani antara apa yang di-request yang selanjutnya Controller akan memprosesnya. Pada Laravel file Controller berada di app/Http/Controllers.
  • View digunakan untuk menerima dan merepresentasikan data kepada user. Letak file View berada pada folder Resources/views.
     Struktur laravel
    Berikut adalah beberapa struktur dari laravel :
  • App
    Berisi kumpulan logika dan alur sistem yang akan dibuat.
  • Bootstrap
    Direktori ini berisi beberapa file kerangka framework laravel termasuk autoload yang befungsi untuk mengoptimasi kinerja sistem yang dihasilkan.
  • Config
    Mencakup seluruh konfigurasi framework mulai dari database, app, mail, dan lain sebagainya.
  • Database
    Sebagai folder penampung file migrations dan seeds yang berhubungan langsung ke pengolahan data dalam database.
  • Public
    Sebagai folder yang akan diakses oleh public/users nantinya. Folder ini juga berisi file-file assets (css/js/images/dll)
  • Resource
    Folder ini berisi semua resource untuk bagian frontend.
  • Routes
    Folder ini digunakan untuk menentukan format url yang digunakan untuk mengakses halaman yang dibuat
  • Storage
    Berisi compiled blade templates, session, cache, logs dan file lainnya yang di-generateotomatis oleh framework.
  • Tests
    Berisi semua test yang kita buat untuk aplikasi.
  • Vendor
    Berisi seluruh library-library yang digunakan dalam framework laravel maupun yang diinstall melalui composer.
Contoh MVC di Laravel

  1.  Pertama kita buat dulu folder project yang mau di buat di dalam htdocs menggunakan cmd (command prompt) dengan mengetikkan
    composer create-project --prefer-dist laravel/laravel nama_project
  2. Setelah itu, buka folder pada text editor
  3. Setelah folder terbuka, kalian buka folder routes lalu buka file web.php, disini kita menentukan mau mengakses ke halaman mana saja.

 4. Lalu kita membuat halaman yang akan di akses dengan membuka folder resources, lalu buat file dengan (nama halaman yang ingin dibuat).blade.php










 5. Jika view sudah dibuat, selanjutnya kita akan membuat controllernya sesuai yang sudah kita ketikkan di routes. Ada 2 cara membuat Controllers :
 1. Buka folder app -> Http->Controllers ->lalu buat file baru
 2. Buka cmd -> buka xampp\htdocs\namaprojek -> ketik php artisan make:controller NamaController





6. Setelah kita membuat controller kita akan membuat database nya dengan membuka phpMyAdmin pada browser dengan mengetik localhost/phpmyadmin

jika sudah selanjutnya kalian buka file .env pada folder vendor, lalu kalian cari DB_CONNECTION = mysql setelah ketemu kalian ganti nama DB_DATABASE sesuai dengan nama database yang baru kalian buat tadi.

lalu kalian akan membuat tabel melalui cmd dengan mengetikkan php artisan make:migration create_table_barang --create=barang


setelah tabel sudah dibuat,kalian bisa membuka folder imigration lalu buka file folder tabel yang dibuat tadi.Kalian bisa mengedit tabel yang kalian buat disini.

Setelah mengedit tabel tersebut kalian harus meng imigrate nya di cmd


7. Selanjutnya kalian membuat model nya menggunakan cmd lagi,caranya sama seperti membuat controller menggunakan cmd hanya saja make nya di ganti make:model.
setelah model sudah dibuat, pasang model pada controller dengan mengetikkan use App\NamaModel;

Kalian bisa menjalankan Project yang sudah kalian buat tadi di browser dengan mengetikkan localhost/NamaProject/public/


contoh : localhost/sederhana/public/


kita bisa cek di phpMyAdmin apakah sudah berhasil disimpan datanya ke database atau belum

Ya, alhamdulillah berhasil disimpan. "Selamat Mencoba"

referensi :
https://sulhi.id/konsep-mvc-model-view-controller-pada-laravel/

Tuesday, September 3, 2019

Framework Untuk Pembuatan Aplikasi Berbasis Web


Pengertian Framework

 

Pengertian Framework adalah sebuah kerangka kerja yang digunakan untuk mempermudah para developer software dalam membuat dan mengembangkan aplikasi. Framework berisikan perintah dan fungsi dasar yang umum digunakan untuk membangun sebuah software aplikasi sehingga diharapkan aplikasi dapat dibangun dengan lebih cepat serta tersusun dan terstruktur dengan cukup rapi. Framework juga bisa diartikan sebagai komponen - komponen pemrograman yang sudah jadi dan siap untuk digunakan kapan saja, sehingga pengembang aplikasi tidak perlu lagi membuat scrip yang sama untuk tugas - tugas yang sama.

Ada dua jenis Framework dalam dunia pemrograman yaitu Desktop Framework dan Web Framework, keduanya memiliki fungsi yang berbeda, Desktop Framewok digunakan untuk membangun aplikasi berbasis desktop sedangkan Web Framewok digunakan untuk membangun aplikasi berbasis web.
Pada Desktop Framework program yang dijalankan tidak berjalan langsung pada perangkat keras, akan tetapi aplikasi berjalan dilingkungan perangkat lunak dengan memanfaatkan Common Language Runtime. Sedangkan aplikasi yang dibangun menggunakan Web Framework juga tidak langsung dieksekusi oleh web server, aplikasi web terlebih dahulu diproses oleh core
Secara umum Framework tersusun dengan struktur MVC ( Model View Controller ) yang memungkinkan pengembang dapat mengelompokan fungsi - fungsi seperti fungsi inputan, proses dan output dari sebuah aplikasi. Bagaimana dari sini sobat komputer pastinya sudah memahami apa itu Framework.
Beberapa contoh Framework yang ada di dunia pemrograman :
  • Framework aplikasi berbasis desktop : Net. Framework, JavaFx, Electron dan lain sebagainya.
  • Framework aplikasi berbasis website : Yii, CodeIgniter, Phalcon, Symfoni, Meteor dan lain sebagainya.

Fungsi Framework

 

Dalam penerapannya fungsi Framework dapat diuraikan sebagai berikut :
  1. Mempercepat proses pembuatan aplikasi baik itu aplikasi berbasis desktop, mobile ataupun web.
  2. Membantu para developer dalam perencanaan, pembuatan dan pemeliharaan sebuah aplikasi.
  3. Aplikasi yang dihasilkan menjadi lebih stabil dan handal, hal ini dikarenakan Framework sudah melalui proses uji baik itu stabilitas dan juga kehandalannya.
  4. Memudahkan para developer dalam membaca code program dan lebih mudah dalam mencari bugs.
  5. Memiliki tingkat keamanan yang lebih, hal ini dikarenakan Framework telah mengantisipasi cela - cela keamanan yang mungkin timbul.
  6. Mempermudah developer dalam mendokumentasikan aplikasi - aplikasi yang sedang dibangun.



Kelebihan Framework

 

1. Lebih cepat dan efisien

Jika Anda mengerjakan proyek besar, maka penggunaan framework dapat membantu mempercepat proses pengembangan. Pada umumnya, framework memiliki beragam fungsi dan plugin yang bisa Anda manfaatkan. Dengan kerangka kerja ini, maka proses pengembangan proyek jauh lebih cepat daripada Anda harus menulis kode dari awal. Selain itu, Anda juga tidak perlu menulis berulang-ulang untuk kode yang bersifat repetitif.

2. Menghemat biaya

Sebagian besar kerangka populer bersifat open source dan gratis untuk digunakan. Biaya yang harus dikeluarkan oleh client Anda juga akan menjadi lebih kecil karena proses pengerjaan yang lebih simple dan lebih cepat.

3. Memperhatikan faktor keamanan

Framework populer telah banyak digunakan oleh banyak pengembang, dan kemungkinan adanya masalah keamanan atau pun bug telah diperbaiki. Selain itu, framework biasanya juga memiliki komunitas besar yang dapat berperan sebagai penguji jangka panjang. Setiap kali pengguna menemukan celah keamanan, maka mereka dapat memberi tahu tim untuk segera memperbaikinya.



Kelemahan Framework

 

1. Kurangnya pemahaman bahasa pemrograman

Jika Anda bekerja menggunakan kerangka kerja dan hanya mengetahui sedikit tentang bahasa pemrograman yang digunakan dibaliknya, maka Anda hanya mempelajari mengenai kerangka tersebut. Sehingga pemahaman mengenai  bahasa pemrograman menjadi tidak berkembang.

2. Memiliki batasan

Dalam penggunaannya, kerangka ini juga memiliki beberapa batasan yang tidak dapat Anda modifikasi. Sehingga Anda harus bekerja sesuai dengan standar yang digunakan di dalamnya. Oleh karena itu, ketika mengembangkan sebuah aplikasi, Anda harus menggunakan kerangka kerja yang sesuai dengan kebutuhan Anda.

3. Kode Publik

Karena bersifat publik, maka kode dapat digunakan siapa saja termasuk pihak-pihak yang mempunyai niat buruk. Mereka dapat mempelajari cara kerja kode untuk menemukan kelemahan untuk menyerang Anda.



Jenis – Jenis Framework

 

1. Desktop Framework

 

Dibawah ini merupakan beberapa framework yang termasuk kedalam kategori desktop framework.

A. Electron

Electron merupakan suatu framework JavaScript yang digunakan untuk mengembangkan aplikasi berbasis desktop. Pada umumnya, JavaScript identik dengan pembuatan website. Oleh karena itu, JavaScript yang digunakan electron ini dirancang dengan menggunakan teknologi HTML, CSS dan JavaScript. Padahal sebenarnya, electron juga dapat ditulis dengan menggunakan bahasa C++. Beberapa aplikasi desktop populer yang dibangun oleh Electron seperti Atom, Slack, WordPress, Skype dan Github desktop.

B. Proton Native

Proton Native merupakan framework JavaScript yang dikembangkan oleh Gustav Hansen untuk merancang aplikasi berbasis desktop. Proton Native memiliki fitur native tools yang mempunyai ukuran yang kecil dan penggunaan sumber kekuatan yang lebih sedikit.


2. Web Framework

 

Saat ini, terdapat beberapa daftar web framework yang sengaja dirancang untuk mendukung pengembangan aplikasi berbasis web yang akan dijelaskan berikut ini.

A. Django

Django merupakan suatu framework yang berbasis Python dengan menggunakan pola MTV, yaitu Model, Template dan View. Django menawarkan berbagai fitur untuk mengembangkan aplikasi web yang berkualitas, terutama bagian keamanan yang digunakan untuk mencegah terjadinya eksekusi program dilapisan Template. Web framework ini sudah banyak digunakan oleh perusahaan besar seperti Disqus, Pinterest, Instagram dan Quora.

B. Angular JS

Angular JS merupakan framework JavaScript yang sengaja dirilis oleh Google dalam mengembangkan aplikasi web. Bahkan, angular dapat membangun halaman web di sisi client dengan kinerja yang tinggi. Framework ini memiliki konsep MVC (Model, View, Controller). Web framework ini sudah banyak digunakan oleh perusahaan besar seperti Youtube on PS3, Weather dan Netflix.

C. Laravel





Framework ini diperkenalkan pada tahun 2011, Laravel kini telah menjadi framework PHP open-source gratis paling populer di dunia. Kok bisa? Karena framework ini dapat menangani aplikasi web yang kompleks dengan aman, dengan kecepatan yang jauh lebih cepat dari pada framework lainnya. Laravel menyederhanakan proses pengembangan dengan memudahkan tugas-tugas umum seperti routing, session, caching dan otentikasi.

D. CodeIgniter

Dikenal karena ukurannya yang kecil (hanya berukuran sekitar 2 MB, termasuk dokumentasinya) CodeIgniter adalah framework PHP yang cocok untuk mengembangkan situs web dinamis. Ia menawarkan banyak modul prebuilt yang membantu membangun komponen yang kuat dan dapat digunakan kembali.

E. Symfony

Framework Symfony ini diluncurkan pada tahun 2005, dan meskipun sudah ada lebih lama dari pada framework lainnya yang ada dalam daftar ini, symfony adalah platform yang handal dan matang. Symfony adalah framework PHP MVC yang luas dan satu-satunya framework yang diketahui mengikuti standar PHP dan web.

F.  CakePHP

Jika Anda mencari toolkit yang sederhana dan elegan, sekarang tidak perlu lagi mencarinya. CakePHP akan membantu Anda mengembangkan situs web yang mengesankan secara visual dan fitur. Selain itu, CakePHP adalah salah satu framework termudah untuk dipelajari, terutama karena kerangka CRUD-nya (creat, read, update, dan delete). CakePHP memasuki pasar pada awal 2000-an, dan sejak saat itu memperoleh kinerja yang lebih baik dan banyak terus memiliki komponen terbaru.

G. Yii

Framework Yii Ini adalah framework PHP berbasis komponen dan kinerja tinggi untuk mengembangkan aplikasi web modern. Yii cocok untuk semua jenis aplikasi web. Yii menyediakan fitur yang aman dan profesional untuk membuat proyek yang kuat dengan cepat.

H.  Zend Framework

Framework Zend adalah framework open source yang berorientasi objek cukup lengkap. Framework ini dibangun pada metodologi MVC, yang membantu Anda untuk menghasilkan aplikasi berkualitas tinggi kepada klien perusahaan. Framework Zend berisi kumpulan paket PHP yang dapat digunakan untuk mengembangkan aplikasi dan layanan web.

I. Phalcon
Merupakan framework PHP full-stack yang menggunakan pola desain arsitektur web MVC, Phalcon pada awalnya ditulis dalam C dan C ++ dan dirilis pada 2012. Karena framework ini dikirim sebagai C-extension, Anda tidak perlu khawatir belajar bahasa pemrograman C .

J. FuelPHP
FuelPHP adalah framework PHP full-stack yang fleksibel yang pertama kali dirilis pada 2011. Selain mendukung pola desain MVC, ia memiliki versi sendiri yang disebut hierarchical model view controller (HMVC). Dengan HMVC, tidak seperti dengan MVC, konten tidak perlu digandakan untuk ditampilkan di beberapa halaman. Akibatnya, ia menghabiskan lebih sedikit waktu dan memori.

K. PHPixie
Diperkenalkan pada tahun 2012 dan seperti halnya FuelPHP, PHPixie mengimplementasikan pola desain HMVC. Tujuannya adalah untuk menciptakan framework berkinerja tinggi untuk aplikasi berbasis web.

L. Slim

Slim adalah framework PHP yang cukup populer yang dapat membantu pengembang membuat aplikasi web dan API yang sederhana namun powerfull.

Selain jenis framework PHP di atas, ada juga framework dari CSS. Nah berikut ini adalah jenis framework CSS yang cukup familiar.

M. Rails

Rails adalah web framework Model-View-Controller yang ditulis oleh David Heinemeier Hansson. Selain itu, Rails mencakup semua yang diperlukan untuk membuat aplikasi web berbasis database menggunakan Ruby. Web framework ini sudah banyak digunakan oleh perusahaan seperti AirBnB, GitHub, UrbanDictionary, GroupOn dan Shopify.

N. Spring

Spring adalah web framework Model-View-Controller yang dikembangkan oleh Pivotal Software. Framework ini dirancang untuk menciptakan aplikasi web berbasis JVM yang sederhana, portabel, cepat dan fleksibel. Web framework ini sudah banyak digunakan oleh perusahaan seperti Mascus dan Allocine.

3.  CSS Framework

 

A. Blueprint CSS

Blueprint CSS termasuk CSS Framework  yang cukup lampau. Meskipun sudah lampau tapi CSS Framework ini masih banyak digunakan oleh para pengembang web. Bahkan, boleh dibilang Blueprint CSS ini yang kemudian menginspirasi pengembang untuk menciptakan CSS Framework lain. Boleh lah CSS Framework ini sebagai perintis.
Untuk mengetahui CSS Framework ini lebih lanjut, bisa klik http://blueprintcss.org

B. Bootstrap

Bootstrap adalah CSS Framework yang sedang naik daun. Digunakan oleh Twitter dan dibagikan pula oleh situs microblogging tersebut ke umum.  Karena itu, CSS Framework ini punya lisensi Free Public Open Source. Lisensi tersbeut memungkinkan para pengembang untuk menggunakan bootstrap  untuk berbagai keperluan, termasuk keperluan komersil.
Fitur Bootstrap sudah terbilang lengkap. CSS Framework ini sudah dilengkapi dengan fitur seperti UI, grid system, responsiveness, dropdown menu, dan lain sebagainya. Untuk mengetahui lebih lanjut terkait Bootstrap bisa klik http://getbootstrap.com

C. Less Framework

Less Framework hadir sebagai CSS Framework dengan konsep sederhana dan efisien. Hal ini dapat dilihat dari fitur dan tool yang memungkinkan penulisan CSS menjadi lebih sederhana layaknya menulis kode PHP maupun Javascript.  Penulisan kode untuk Grid System dan Responsiveness juga dibuat lebih simpel berkat Less Framework ini.  Informasi terkait CSS Framework ini terdapat pada situs https://angrycreative.se/less-framework/

D.  Foundation 

Zurb, sebuah perusahaan web desain, cukup berkontribusi besar dalam kehadiran CSS framework ini. Berkat mereka, CSS Foundation hadir dengan fitur yang tidak kalah dengan CSS Framework lain. Hal ini dapat dilihat dari berbagai fitur didalamnya yang sudah memenuhi fitur standar sebuah CSS Framework. Informasi terkait CSS Framework bisa didapat dengan mengklik http://foundation.zurb.com

E. Gumby

Jika menginginkan CSS Framework alternatif Bootstrap, maka Gumby bisa jadi jawabannya. Sebabnya, fitur yang ada di CSS Framework  ini terbilang mirip dengan Bootstrap seperti grid system, responsiveness, dan UI.
CSS Framework ini terbilang cukup menarik. Apalagi CSS Framework ini hadir dengan desain yang lebih khas dibandingkan yang lain. Untuk mengetahui CSS Framework ini lebih lanjut, bisa klik http://gumbyframework.com


Cara Install Laravel di Windows

 

Laravel yang saya gunakan adalah Laravel versi 5.7
Untuk menjalankan laravel versi 5.7 maka dibutuhkan kriteria web server sebagai berikut :
  • Versi PHP >= 7.1.3
  • OpenSSL PHP Extension
  • PDO PHP Extension
  • Mbstring PHP Extension
  • Tokenizer PHP Extension
  • XML PHP Extension
Laravel menggunakan Composer untuk mengelola dependensinya. Jadi sebelum menggunakan Laravel install Composer nya dulu :
  1. Download XAMPP  https://www.apachefriends.org/xampp-files/7.2.3/xampp-win32-7.2.3-0-VC15-installer.exe
  2. Download  Composernya  https://getcomposer.org/download/
  3. Jalankan composer.exe yang telah didownload.
  4. Install seperti biasa sampai masuk proses dimana harus browse php.exe C:\php\php.exe (sesuaikan saja dengan direktori kalian) next.
  5. Finish, sebaiknya restart dulu Windowsnya.
  6. Untuk memastikan composer sudah terinstall atau belum. Cek dengan menulis “composer -v” (tanpa tanda petik) di comand promt.





























Lalu kita install Laravel melalui cmd.