[WebDev] Best Practice Memulai Proyek Aplikasi di Laravel - Instalasi Tools Development

0
0
Deskripsi

Selamat malam Sobat sekalian, pada postingan kali ini saya akan membagikan sebagian rahasia saya dalam memulai mengerjakan suatu proyek aplikasi dengan menggunakan Framework Laravel khususnya untuk versi 5.8. Di sini saya akan memulai dari proses instalasi tools dan framework laravel, sampai dengan library tambahan yang wajib kamu install untuk proyek aplikasi apapun yang dibangun dengan Laravel. Bagi yang sudah level intermediate atau advance mungkin bisa langsung pada bagian library yang perlu...

Selamat malam Sobat sekalian, pada postingan kali ini saya akan membagikan sebagian rahasia saya dalam memulai mengerjakan suatu proyek aplikasi dengan menggunakan Framework Laravel khususnya untuk versi 5.8. Di sini saya akan memulai dari proses instalasi tools dan framework laravel, sampai dengan library tambahan yang wajib kamu install untuk proyek aplikasi apapun yang dibangun dengan Laravel. Bagi yang sudah level intermediate atau advance mungkin bisa langsung pada bagian library yang perlu untuk diinstall sehingga dapat langsung memulai ke inti aplikasinya.

Tools yang dibutuhkan:

  • Web server, kamu bisa memilih banyak tools untuk ini, bisa dimulai dengan XAMPP, Laragon, ataupun menggunakan bawaan dari laravel itu sendiri dengan menggunakan perintah php artisan serve di command prompt. Saya lebih memilih XAMPP karena didalamnya sudah satu paket web server dan DBMSnya. Jangan lupa versi PHP yang dipilih harus yang versi 7 ke atas (versi terbaru 7.4.4), karena Laravel versi 5.5 ke atas mengharuskan menggunakan PHP minimal versi 7. Hal ini tentunya untuk kemananan dan juga support ketika terdapat lubang keamanan pada versi PHP yang digunakan. PHP versi 5.6 sudah tidak support lagi terhadap lubang keamanan, jadi sudah harus ditinggalkan mulai dari sekarang.
  • DBMS, pilihan DBMS sangat beragam mulai dari Oracle, MySQL, SQL Server, IBM DB2, Postgre SQL, bahkan No SQL. Biasanya saya menggunakan Maria DB atau MySQL bawaan dari XAMPP. Disini kamu disarankan menginstall Database Client seperti SQLYog, Workbench ataupun bawaan dari Laragon yaitu HeidiSql. Saya sendiri lebih memilih SQLYog karena sudah terbiasa dengan fungsinya yang user friendly. Untuk MySQL sendiri
  • Composer, tools untuk memudahkan kita melakukan instalasi library yang akan kita butuhkan dalam membuat aplikasi di Laravel. Composer layaknya package manager yang harus dijalankan via Command Prompt.
  • Text Editor, text editor untuk membantu menuliskan program dengan cepat dan efisien biasanya memiliki fitur autocomplete atau intellisense. Ada banyak pilihan di pasaran yaitu Sublime, Visual Studio Code, PHP Storm, bahkan Notepad++ yang sudah di tweak akan membantu juga. Dalam hal ini saya memilih menggunakan Sublime 3, walaupun sudah tidak gratis, namun kaya fungsi dan hemat resource RAM ketimbang Visual Studio Code ataupun PHP Storm yang sangat menguras memory komputer. Untuk Notepad++ bagi yang sudah familiar pasti akan sangat membantu karena disamping sangat ringan juga kaya fitur.
  • Mindmaping, tools ini sangat bagus untuk sobat yang ingin menggali ide pembuatan aplikasi menjadi modul peta pikiran atau mindmap. Menurut saya ini fundamental yang harus kita lakukan terlebih dahulu karena seorang developer tidak bisa langsung turun ke coding tanpa tahu arah tujuan yang ingin dicapai. Mindmaping akan membantu menjabarkan ide dalam pikiran kita terkait suatu aplikasi dan memandu kita ketika kita membuat aplikasi. Mindmap biasanya saya gunakan selain untuk brainstorming ide aplikasi, juga sangat bermanfaat untuk menjabarkan struktur field dan tabel yang akan kita buat. Pada artikel sebelumnya saya sudah mengulas tool mindmap yang gratis namun tidak kalah powerfull yaitu Freeplane, silakan dibaca kembali mengenai tool mindmap gratis ini. 

Walaupun Sobat semua sedang belajar dengan best practice yang biasa saya lakukan, namun tidak memaksa juga melakukan instalasi persis seperti yang saya lakukan. Seandainya sudah memahami semua tools dan mendapatkan yang nyaman buat kamu maka gunakan dan kuasailah semua kelebihannya.

Demikian untuk artikel pendahuluan ini, silakan dipraktikan dahulu, nanti saya akan update dengan tutorial berikutnya mengenai membangun struktur relasi database yang baik. Pengetahuan ini akan sangat membantu kamu dalam membuat aplikasi yang berskala besar karena ketika pondasi yang dibangun salah atau kurang baik salah satunya struktur database, maka aplikasi kamu suatu saat akan sulit untuk berkembang. 

Selamat mencoba! jangan lupa untuk follow atau mendukung ya. :D

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

Selanjutnya [WebDev] Best Practice Membangun Desain Database Aplikasi yang Scalable
0
4
Tulisan ini adalah kelanjutan dari tulisan saya sebelumnya dalam seri Best Practice Membangun Aplikasi Website dengan Laravel. Sebelum memulai untuk membuat aplikasi atau coding, ada hal yang perlu dipersiapkan oleh pengembang aplikasi website, yaitu database yang akan digunakan. Aplikasi tanpa database sebenarnya tidak menjadi masalah, namun apabila ada kondisi dimana pengguna akan melakukan maintenance seperti merubah properti value website, tentu tidak mungkin dilakukan secara hardcode atau merubah kode setiap kali ada perubahan.Aplikasi website harus dibuat se-general mungkinUntuk mendapatkan aplikasi yang general dan mudah untuk dikustomisasi tentu dimulai dari desain database yang baik dan scalable. Saya akan memberikan beberapa contoh kasus kesalahan yang dilakukan pengembang dalam mendesain database. Kesalahan ini mungkin tidak menjadi masalah untuk jangka waktu pendek, namun seiring berkembangnya data dan sistem yang saling terhubung, kesadaran akan kesalahan desain database akan dirasakan sangat mengganggu.1. UUID sebagai atribut unik / primary keyKasus pertama kesalahan yang sering dilakukan yaitu pembuatan atribut unik atau primary key dalam tabel di database, dimana pengembang lebih suka membuat id transaksi dengan menggunakan autoincrement. Bagi saya, autoincrement pada dasarnya berguna hanya sebagai index untuk menghitung jumlah row terakhir yang pernah diinput sistem. Dalam hal dijadikan referensi id unik, penggunaan autoincrement sangatlah berisiko. Secara best practice, pengembang aplikasi yang sudah berpengalaman tidak akan menggunakan fungsi autoincrement ini dalam suatu id transaksi. Lalu bagaimana solusinya? Kita mengenal yang namanya universally unique identifier (UUID) yaitu kode unik yang dibangun atas 128-bit angka sebagai identifikasi sistem komputer.UUID sebagai primary keyPenggunaan UUID akan mengatasi masalah konflik data ketika suatu sistem akan dilakukan integrasi. Saya sendiri mengalami kendala ini dan tersadar ketika akan membuat fungsi export import data antar sistem. Suatu trasanksi yang menggunakan autoincrement ketika akan dilakukan penggabungan dengan data di sistem yang berbeda akan mengalami konflik id transaksi.2. Penggunaan Desain Relasional DatabaseSebelum membahas mengeniai relational database, kita akan membahas mengenai struktur database itu sendiri. Beberapa istilah yang akan ditemui diantaranya:Database atau Entitas adalah suatu objek yang memiliki atribut dan nilai sehingga memiliki karakteristik khusus. Sebagai contoh ketika akan membuat aplikasi perpustakaan, maka entitasnya adalah Perpustakaan.Tabel adalah komponen pembentuk database yang memiliki atribut field untuk menampung transaksi. Sebagai contoh untuk entitas perpustakaan akan dibentuk oleh 3 tabel utama yaitu Tabel Buku, Penerbit dan Pengarang.Field adalah atribut-atribut yang membentuk suatu tabel dimana suatu field akan menampung nilai yang akan mencirikan suatu tabel. Misalnya untuk tabel Buku, akan terdiri atas judul buku, tahun terbit, jumlah halaman, isbn, dll.Data Value, data value / nilai merupakan satuan data terkecil yang berisi hanya nilai pada field tertentu. Melanjutkan contoh sebelumnya, tabel Buku diisi dengan nilai diantaranya judul buku Cara Membuat Website, tahun terbit 2020, jumlah halaman 200 dan isbn 12328728.Record / row merupakan kumpulan data yang terdiri dari sekumpulan field. Record merupakan satuan informasi database yang berisi satu unit data konkrit. Satu record dapat disebut juga dengan 1 transaksi.Konsep Relational DatabasePenggunaan konsep relational database akan sangat membantu kita untuk menghasilkan desain database yang efisien. Relational database akan mengatasi permasalahan redudansi atau duplikasi data serta menciptakan desain database yang terintegrasi dan scalable. Sebagai contoh untuk aplikasi perpustakaan sebelumnya, untuk mendesain database yang berelasi, maka pada Tabel Buku tidak akan diisi dengan nama pengarang buku, namun akan diisi dengan kode pengarang buku. Sedangkan nama pengarang buku berada pada Tabel Pengarang Buku. Dengan metode ini, maka apabila sistem akan mengubah nama pengarang buku tidak perlu mencari judul buku yang dibuat oleh pengarang pada Tabel Buku lalu mengganti nama pengarang buku, melainkan sistem tinggal menggantinya pada Tabel Pengarang Buku. Dengan konsep ini, maka masing-masing tabel pada entitas perpustakaan dapat berdiri sendiri dan tercipta proses pengambilan data dari dan ke database dengan lebih efektif dan efisien. Secara umum konsep relasional database dibagi menjadi 3 yaitu:One to One (1 to 1)Relasi database model ini terjadi apabila sebuah data terdapat pada 2 buah tabel, dan hanya diperbolehkan satu data saja pada masing masing tabel (unique record), sama halnya seperti primary key, record yang ada pada model ini tidak boleh ada yang sama.One to Many (1 to n)Relasi database model ini membolehkan data yang sama pada tabel kedua, tapi hanya membolehkan data yang bersifat unique (unik) pada tabel pertama. Jadi pada model tabel kedua boleh memiliki beberapa data yang sama.Many to many (n to m)Berbeda dengan kedua model diatas, relasi database model ini membolehkan beberapa data yang sama baik pada tabel pertama maupun tabel kedua. Dengan demikian tidak ada unique record di kedua tabel tersebut.Demikianlah beberapa best practice dalam membangun desain database yang scalable yang dapat saya bagikan. Untuk tutorial selanjutnya, saya akan mulai membahas mengenai instalasi Framework Laravel dengan library dasar yang penting untuk diinstall. Salah satu library yang sudah saya sebutkan yaitu library UUID untuk mengenerate kode unik UUID.Referensi: mfikri.com, DosenIT.com
Apakah konten ini melanggar ketentuan yang berlaku sesuai syarat dan persetujuan? Laporkan