[Web Dev] Instalasi Framework Laravel dan Library Dasar

0
0
Deskripsi

Melanjutkan seri tutorial pengembangan aplikasi website sebelumnya, kali ini kita masuk pada proses instalasi framework laravel dan library dasar. Output yang akan kita hasilkan adalah starter kit yang akan mempermudah kita dalam pengembangan aplikasi web. Dalam dunia pengembangan aplikasi, developer manapun pasti membutuhkan yang namanya pola atau pattern dalam membuat aplikasi. Pola yang terus berulang tentu tidak akan efisien jika harus dibuat setiap kali ada proyek pengembangan aplikasi. Starter...

Melanjutkan seri tutorial pengembangan aplikasi website sebelumnya, kali ini kita masuk pada proses instalasi framework laravel dan library dasar. Output yang akan kita hasilkan adalah starter kit yang akan mempermudah kita dalam pengembangan aplikasi web. Dalam dunia pengembangan aplikasi, developer manapun pasti membutuhkan yang namanya pola atau pattern dalam membuat aplikasi. Pola yang terus berulang tentu tidak akan efisien jika harus dibuat setiap kali ada proyek pengembangan aplikasi. Starter kit akan mempermudah pengembang sehingga semua fungsi dasar yang diperlukan sudah tersedia, sehingga pengembang tinggal membuat modifikasi sederhana sesuai dengan tujuan aplikasi yang dibuat. Dari best practice yang telah saya lalui, ada beberapa fungsi dasar yang seharusnya ada dalam sebuah aplikasi website yaitu:

  • User Management atau Authentication Management. User management akan mengelola hal-hal terkait dengan role dari masing-masing user yang login. Secara sederhana, autentikasi dibutuhkan dalam hal pembuatan backend, dimana pengelolaan konten harus dilakukan oleh admin, sehingga dibatasi hanya oleh yang berhak saja. Pada kondisi tertentu, misalnya aplikasi publishing/blog dimana masing-masing user bisa membuat konten artikel sendiri, maka user manegement juga dibutuhkan untuk pengelolaan masing-masing akun pribadi user. Lalu bagaiman pembagian user role yang baik dalam pengembangan suatu aplikasi? dari pengalaman saya, user role yang dibuat pada dasarnya dibagi menjadi 3 yaitu:
    • Role Super Admin, yang bertugas mengelola aplikasi secara menyeluruh baik segi teknis aplikasi maupun admin untuk pemberian hak akses.
    • Role Admin Konten, yang bertugas mengelola aplikasi secara konten, data umum website, maupun user support.
    • Role User, yaitu role sebagai pengguna pada umumnya yang telah melakukan registrasi dan terdaftar.
  • Fungsi Print atau mencetak data dalam berbagai format seperti PDF, Excel, Word atau tampilan lainnya. Fungsi ini sangat diperlukan untuk menghasilkan berbagai report atas data yang dikelola. Biasanya fungsi ini dapat ditambahkan dengan fitur keren lain yaitu mencetak QR Code untuk setiap dokumen yang dihasilkan. Penggunaan QR Code ini akan menambah validitas data jika didalamnya diberikan informasi untuk validasi dokumen hasil cetakan tersebut.
  • Fungsi Debugging. Dalam mode pengembangan atau development, fitur ini harus dimiliki bagi pengembang. Tujuannya yaitu menghasilkan solusi yang tepat atas error yang terjadi di aplikasi yang sedang dibangun.
  • API Management. Jika aplikasi yang kamu buat akan terhubung dengan aplikasi mobile, maka fungsi ini wajib kamu tambahkan. Dengan API Management, maka proses transaksi data antar sistem menjadi lebih mudah dikelola.
  • Frontend Design. Beberapa fitur untuk tampilan depan halaman website yang perlu kamu siapkan antara lain tampilan untuk message seperti popup message atau modal, tampilan tanggal dalam format bahasa Indonesia, tampilan list data dalam bentuk table, sampai pada Error handling design, yaitu tampilan dalam hal terjadi error atau url tidak tersedia. Walaupun sederhana fungsi ini akan sangat membantu kamu dalam membuat format-fromat yang sesuai dengam kebutuhan.
  • Fungsi Pendukung Database. Beberapa library yang dibutuhkan seperti yang sudah dibahas pada artikel sebelumnya yaitu library untuk membuat UUID sebagai referensi ID unik setiap transaksi yang disimpan ke dalam database.

Mungkin masih banyak fitur lainnya yang belum terdaftar, namun secara umum semua fitur di atas akan sangat diperlukan untuk menghasilkan starter kit yang sangat berguna untuk semua jenis aplikasi. 

Instalasi Laravel Framework 5.8

Saatnya memulai proses instalasi framework Laravel 5.8. Saya memilih laravel 5.8 dengan berbagai pertimbangan, yaitu karena pada versi ini sudah tersedia helper yang lengkap untuk mendukung pengembangan aplikasi. Jika kamu ingin versi yang lebih tinggi yaitu laravel 6 atau 7 itu pilihan yang bebas. Pada tutorial sebelumnya, saya sudah memberikan instruksi untuk melakukan instalasi beberapa tool dasar, salah satunya Composer. Composer akan membantu kita dalam melakukan proses instalasi dari server laravel serta untuk library utama yang akan diinstall. 

1. Buka Command prompt di windows atau bash pada mac. Lalu ketikkan perintah untuk change directory ke folder htdocs di dalam server XAMPP. 

Cara Install Laravel 5.8
Mengarahkan ke folder web server xampp

2. Ketikkan perintah composer untuk install Laravel 5.8, composer create-project --prefer-dist laravel/laravel blog "5.8.*". blog merupakan folder baru yang akan dibuat dengan framework laravel 5.8. Tunggu sampai proses unduh seluruh file selesai. Proses ini akan memakan waktu tergantung koneksi internet kamu.

Cara Install Laravel 5.8
Proses unduh file framework laravel

3. Setelah proses selesai, buka editor text dengan Visual Studio Code atau Sublime dan arahkan ke folder instalasi yaitu di c:\xampp\htdocs\blog.

Cara Install Laravel 5.8
File laravel yang berhasil diunduh

4. Hal pertama yang harus disetting adalah file konfigurasi dengan nama .env. Secara default, file ini akan bernama .env.example, kita hanya perlu melakukan duplikasi file ini dan mengubah namanya menjadi .env. Pada file ini, akan kita gunakan untuk menghubungkan database dengan aplikasi, juga sebagai media penyimpanan variable global yang dibutuhkan aplikasi. Variable yang harus diisi yaitu:

DB_CONNECTION=mysql

DB_HOST=127.0.0.1

DB_PORT=3306

DB_DATABASE=(isikan nama database)

DB_USERNAME=root

DB_PASSWORD=

5. Sampai disini aplikasi kamu sudah bisa dijalankan baik dengan mengetik langsung pada browser alamat fisik (web server xampp sudah dijalankan PHP dan Mysql) dengan mengakses localhost/blog/public atau juga tanpa web server xampp dengan menjalankan perintah php artisan serve pada command prompt. Setelah menjalankan fungsi tersebut maka akan muncul alamat yang bisa dijalankan, biasanya di localhost:8000.

Cara Install Laravel 5.8
Menjalankan laravel tanpa web server xampp
Cara Install Laravel 5.8
Aplikasi laravel sudah berhasil dijalankan

Yeay! Kamu sudah berhasil menjalankan aplikasi laravel kamu. 

Instalasi Library Utama Laravel

Pada struktur organisasi laravel pada gambar sebelumnya, kita melihat beberapa file seperti .env, lalu ada composer.json dan composer.lock. Pada file composer.json terdapat konfigurasi library laravel yang sudah terinstall pada aplikasi kita. Sedangkan file composer.lock adalah hasil terjemahan dari file composer.json yang sudah terparsing untuk dieksekusi aplikasi. Jika kamu mencoba hapus file composer.lock maka akan terjadi error. Sedangkan jika file composer.json yang dihapus maka tidak akan error, namun kamu akan kesulitan jika akan melakukan instalasi library.

Untuk melakukan instalasi library dapat dilakukan dengan 2 cara yaitu pertama dengan mengubah file composer.json lalu menghapus file composer.lock (akan direfresh dan dibuat kembali dengan file terbaru), atau cara kedua dengan menggunakan command prompt. Struktur file composer.json akan terlihat sebagai berikut:

composer.json.jpg

Variabel “require” berisi parameter atau list library yang akan ada pada mode production, sedangkan variable “require-dev” berisi parameter atau list library yang hanya akan ada pada mode development. Lalu bagaimana cara mengubah mode tersebut? kamu bisa mengubahnya pada file .env pada variable APP_ENV atau pada folder config/app.php.

Dari gambar di atas sudah dapat dilihat library yang harus dipersiapkan yaitu:

1. "barryvdh/laravel-dompdf": "^0.8.5", library untuk membantu melakukan cetak dalam format pdf.

2. "jenssegers/date": "^3.5", library untuk membantu format tanggal yang ditampilkan sesuai dengan format tanggal Indonesia.

3. "laravel/framework": "5.8.*", library utama yaitu laravel framework versi 5.8.

4. "ramsey/uuid": "3.9.3", library untuk menggenerate UUID untuk id unik transaksi di dalam database.

5. "simplesoftwareio/simple-qrcode": "~1", library untuk membuat QR Code di dalam cetakan file pdf.

6. "uxweb/sweet-alert": "^2.0", library untuk menampilkan popup alert setiap ada interaksi user, seperti insert, update, delete data untuk konfirmasi atau informasi.

7. "yajra/laravel-datatables-oracle": "~9.0", library untuk menampilkan data dalam bentuk tabel yang dinamis, baik client side maupun server side dengan menggunakan fungsi ajax / dom.
8. “maatwebsite/excel”, library untuk mencetak data dalam format excel. Selain library maatwebsite kamu juga bisa menggunakan library bawaan yajra untuk export data dalam berbagai format dengan variabel “yajra/laravel-datatables-buttons”:"^4.0"

9. "barryvdh/laravel-debugbar": "^3.2", library untuk menampilkan pesan error pada laravel dengan lebih rinci, sehingga proses debugging lebih mudah dilakukan oleh developer. Library ini sebaiknya diletakkan pada variabel require-dev sehingga hanya akan muncul pada mode development.

Seperti yang sudah saya sebutkan sebelumnya, kamu bisa langsung menuliskan list library pada file composer.json, kemudian menghapus file composer.lock. Setelah itu barulah kamu jalankan perintah di command prompt “Composer Install”. Perintah ini akan menginstall library yang ada pada file composer.json dan membuat kembali file composer.lock.

Cara kedua yang menurut saya lebih mudah dipahami adalah dengan mengetikkan perintah instalasi masing-masing library. Dari list library di atas, maka yang perlu dilakukan adalah dengan mengetik perintah sebagai berikut pada command prompt kamu:

1. composer require barryvdh/laravel-dompdf

2. composer require jenssegers/date

3. composer require ramsey/uuid

4. composer require simplesoftwareio/simple-qrcode

5. composer require uxweb/sweet-alert

6. composer require yajra/laravel-datatables-oracle

7. composer require maatwebsite/excel

8. composer require yajra/laravel-datatables-buttons

9. composer require barryvdh/laravel-debugbar

Untuk library utama framework laravel 5.8 tidak perlu dilakukan instalasi lagi.

Catatan Penting!

Untuk menjalankan update secara menyeluruh aplikasi maka kamu bisa menggunakan perintah composer update, namun saya sangat tidak menyarankan perintah ini, karena semua depedencies akan berubah mengikuti versi laravel yang terbaru. Dari pengalaman saya, dengan menjalankan perintah composer update, maka ada saja beberapa library yang menjadi tidak support alias tidak berfungsi. Saya lebih menyarankan kamu untuk menghapus file composer.lock terlebih dahulu, kemudian menjalankan perintah composer install jika ada perubahan versi library di file composer.json.

Demikian akhir dari tutorial melakukan instalasi framework laravel dan library utama untuk dijadikan bahan starter kit kamu. Semoga bermanfaat. Untuk file hasil pembuatan starter kit ini merupakan konten eksklusif yang bisa kamu dapatkan dengan mendukung saya melalui karyakarsa.

Selamat mencoba!

Referensi: https://solutech.id

Karya ini GRATIS! Tapi kamu boleh kok kasih tip biar kreator hepi 🥰

Selanjutnya [Desk Dev] Membuat Aplikasi Desktop Dengan ElectronJS (Pengenalan)
0
0
Dahulu pengembang aplikasi desktop harus mempelajari bahasa pemrograman C++, C, Visual Basic, Fortran, Foxpro atau bahasa pemrograman khusus aplikasi desktop lainnya. Kini, dengan perkembangan teknologi terbaru, kita bisa juga membuat aplikasi cross platform dengan bahasa pemrograman HTML, CSS dan Javascript! Saya sendiri dahulu tidak menyangka kalau bahasa untuk web development bisa digunakan untuk desktop app, karena yang bisa adalah kebalikannya, yaitu bahasa untuk desktop app bisa untuk pengembangan website. Dengan adanya framework ElectronJS, semua ini jadi mungkin. Tidak perlu jauh-jauh mencari contoh aplikasi desktop yang dibuat dengan framework ini, karena sudah familiar kita pakai sehari-hari. Aplikasi tersebut yaitu Visual Studio Code, Whatsapp, Twitch, Slack, Facebook messanger, Microsoft Teams serta Figma. Pasti teman-teman yang baru tahu akan kaget luar biasa. Termasuk saya juga. Aplikasi tersebut sangat familiar saya gunakan, dan ternyata dibangun hanya dengan pondasi HTML, CSS dan Javascript. Untuk lebih lengkapnya kamu bisa kunjungi website ini “Electron Apps to Supercharge Your Productivity”.Aplikasi yang dibuat dengan ElectronJSUntuk mencobanya, teman-teman silakan mengunduh aplikasi GIT terlebih dahulu untuk memudahkan melakukan clonning project dari aplikasi github, serta NPM atau NodeJS. Saya menyarankan kamu untuk install NPM atau NodeJS, bebas, karena didalamnya sudah menyertakan kedua library yang menjadi pondasi aplikasi yang akan kita bangun. Untuk alamatnya bisa diunduh melalui:Git for Windows (didalamnya terdapat GIT GUI, GIT CMD dan GIT BASH)NPMNode.jsPilih sesuai dengan operating system yang kamu punya. Lalu lalukan instalasi sesuai dengan petunjuk yang ada di masing-masing website. Setelah selesai instalasi tools di atas, buka GIT CMD lalu ketik secara berurutan perintah di bawah ini:3 Langkah Membuat Aplikasi NotepadPenjelasan:$ git clone https://github.com/electron/electron-quick-start - melakukan proses unduh file contoh aplikasi notepad dengan electronjs.$ cd electron-quick-start - pindah directory ke folder hasil unduhan sebelumnya.$ npm install && npm start -  install aplikasi lalu jalankan dengan perintah npm start.Hasilnya akan seperti gambar di bawah ini:Hasil Aplikasi Desktop dengan ElectronJSSangat mudah bukan?Untuk seri tutorial berikutnya paralel dengan tutorial Best Practice Pengembangan Aplikasi Website dengan Laravel, saya akan membahas pengembangan aplikasi desktop dengan framework ElektronJS ini. Sebagai pendahuluan ini saja yang dapat saya sampaikan. So, dukung terus melalui karyakarsa, sehingga saya bisa terus memberikan tutorial bermanfaat berikutnya. Salam. 
Apakah konten ini melanggar ketentuan yang berlaku sesuai syarat dan persetujuan? Laporkan