Fiona

Forum Informasi dan Komunikasi Akademik

Artikel

4 Artikel

Tag yang diterapkan Pemrograman
3 Likes

Laravel MongoDB Relation Dilema

MongoDB adalah jenis database NoSQL yang berarti setiap barisnya tidak memiliki struktur yang konsisten baik dari jumlah kolom ataupun jenis kolom. Pemanfaatan MongoDB banyak digunakan untuk penyimpanan data yang bersifat masif dan transaksional. Bagi saya yang programmer laravel dan sudah terbiasa dengan SQL, bermigrasi ke NoSQL mempunyai tantangan tersendiri. Syukurnya saat ini MongoDB sudah memberi dukungan penuh ke laravel  https://github.com/mongodb/laravel-mongodb yang dulunya disupport oleh komunitas. Tantangan implementasi adalah apakah merubah behavior dan struktur pengembangan menjadi full NoSQL atau tetap menggunakan fitur-fitur unggul laravel seperti relation namun membuat MongoDB tetap seperti MySQL.  Jujur secara hitung-hitungan saya tidak rela melepas fitur-fitur unggulan laravel. Karena selain pengerjaan cepat, code yang saya bangun juga lebih rapi dan readable. Masalah terjadi saat kita mendeklarasikan relation dengan MongoDB.Ini adalah contoh dekalrasi relation HasMany pada dua collection yaitu Tagihan dan TagihanItem dengan foreign_key = “tagihan_id”. Relation ini bekerja sempurna selama tagihan_id menggunakan tipe data String.Di sisi lain MongoDB punya fitur aggregation yang sangat bagus. Dalam fitur aggregation kita dapat melakukan summary, count, average, dengan berbagai kondisi. Selain itu yang juga penting kita bisa melakukan $lookup ke collection lain saat aggregation (mirip seperti join di SQL). Namun yang menjadi masalah adalah foreign_key harus bertipe data ObjectId. Yap ini dia dilemanya, saat kita performing select data dengan relation kita perlu foreign_key String namun saat aggregation kita perlu ObjectId. Masalah sudah dapat, lalu apa yang harus dilakukan.  mongodb bisa perform aggregation $lookup dengan tipe data String namun belum berhasil saya lakukan baik di Laravel ataupun raw query MongoDBMongoDB menyarankan menyimpan foreign_key sebagai ObjectId ketimbang String untuk efisiensi storageAkhirnya saya membuat kesimpulan untuk mengextend package Laravel-MongoDB dan membuat fungsi sendiri. Dengan harapan tidak mengganggu fungsi-fungsi lain yang telah stable.  Kalian bisa buat langsung dalam modelnya, atau membuat class baru yang kemudian di-extend oleh model kalian, atau bisa juga seperti saya membuat Trait. Untuk fungsi hasManyObjectId saya copypaste sepenuhnya dari fungsi hasMany. Tidak ada perubahan yang saya buat karena yang terpenting return-nya yang saya arahkan ke custom class HasMany. Yang terakhir pada custom class HasMany saya mengoverride fungsi addEagerConstraints agar setiap keys yang didapat dari foreign dapat diiterasi dan diconvert menjadi ObjectId sebelum dieksekusi laravel menggunakan query whereIn Yak demikian dilema singkat saya dengan tambahan code ini (mudah-mudahan tidak ada major code breaks update) saya bisa membuat relasi kepada kolom string ataupun kolom ObjectId pada Laravel-MongoDB. Kedepannya akan saya tambahkan agar dapat support hasOne, belongTo, belongsToMany, dst. Kedepannya saya harap ada juga yang membuatkan pull request agar apapun tipe datanya tetap bisa kita eksekusi menggunakan satu fungsi. Wassalam 

3 min read
3 Likes

Instalasi Laravel 10 dengan Composer

Langkah 1 : Prasyarat     - Versi php – 8      - Versi komposer – 2Hal pertama yang perlu anda lakukan adalah menginstall composer. Anda dapat menginstal Komposer dari tautan berikut : https://getcomposer.org/ Setelah instalasi komposer, jalankan perintah di bawah ini di terminal Anda.1ComposerTampilannya seperti berikut :Langkah 2: Setelah berhasil menginstal PHP dan Composer, Anda perlu membuat proyek Laravel baru melalui Composer . Jalankan perintah di bawah ini1composer create-project laravel/laravel blog-appHasilnya akan seperti ini :Langkah 3: Setelah berhasil membuat proyek, mulai server pengembangan lokal Laravel menggunakan perintah servis Artisan CLI Laravel12cd blog-appphp artisan serveMaka hasilnya adalah :Sekarang salin tautan ini dan tempel ke browser Anda. Ini akan terlihat seperti ini.Selamat Ngoding ! 

2 Likes

Dasar PHP | Pengertian, Sejarah, dan Fungsinya

Pengertian PHP PHP (Hypertext Preprocessor) adalah bahasa pemrograman open-source yang umumnya digunakan untuk membangun aplikasi web dinamis dan interaktif. PHP dapat dijalankan pada server web dan dikombinasikan dengan HTML, CSS, dan JavaScript untuk membuat halaman web yang dinamis. Menurut Survei Teknologi Web, PHP digunakan oleh 78,1% dari seluruh website yang ada di dunia, termasuk Facebook dan Wikipedia.Kini, memahami PHP bisa menjadi keuntungan tersendiri terutama kalau Anda tertarik dengan web development. PHP tersedia di semua OS utama, seperti Linux, Microsoft Windows, dan macOS. Sebagian besar web server, termasuk Apache dan IIS, juga mendukung PHP.Bahasa pemrograman PHP juga memiliki banyak kerangka kerja (framework) yang dapat digunakan oleh pengembang untuk mempercepat proses pembuatan aplikasi web. Beberapa kerangka kerja PHP yang populer antara lain Laravel, CodeIgniter, dan Symfony.  Sejarah PHP Awal mulanya, PHP diciptakan oleh Rasmus Lerdorf untuk memantau orang-orang yang mengunjungi home page miliknya. Lambat laun, PHP menjadi populer dan Lerdorf pun akhirnya memutuskan untuk merilis PHP sebagai project open-source. Sejak saat itu, developer mulai menggunakan, memperbaiki, dan menyempurnakan kode dalam PHP hingga menjadi bahasa penulisan skrip yang kini banyak digunakan. PHP memiliki fitur yang sangat berguna bagi para developer untuk mengembangkan web, yaitu dapat menyematkan ke file HTML. Jadi, misalnya developer tidak ingin mengekspos source code kepada orang lain, maka PHP dapat menjadi solusi untuk menyembunyikannya. Cukup dengan menulis kode ke dalam file PHP lalu sematkan ke dalam HTML, orang-orang pun tidak akan bisa melihat kode aslinya.  Tidak hanya itu, fitur ini juga cukup berguna ketika developer harus menggunakan markup HTML yang sama secara berulang kali sehingga tidak perlu menulis kodenya berulang kali. Cukup menulis kode ke dalam file PHP dan setiap kali developer menggunakan HTML, dan hanya perlu memasukkan file PHP. Saat ini, lebih dari 78% website di seluruh dunia menggunakan bahasa pemrograman PHP. Beberapa contoh website besar yang menggunakan PHP di antaranya adalah Facebook, Wikipedia, WordPress, Yahoo, MailChimp, dan Badoo. Berikut contoh script PHP sederhana:  <!DOCTYPE html> <html> <head> <title>Contoh Script PHP</title> </head> <body> <?php echo "Contoh Menggunakan PHP";?> </body> </html>  Fungsi PHP  Sebagaimana telah diketahui, fungsi PHP umumnya adalah untuk mengubah halaman statis menjadi halaman dinamis. Dengan PHP, website dapat menyesuaikan tampilan konten berdasarkan situasi.  Selain itu, PHP juga memiliki beberapa fungsi lainnya, seperti untuk mengumpulkan data form, menambahkan, menghapus, dan memodifikasi data di database, serta mengontrol akses pengguna, enkripsi data. Sebagai informasi, setiap bahasa pemrograman memiliki aturan coding-nya sendiri. Begitu pula dengan sintaks dasar PHP yang dibuka dengan <?php dan ditutup dengan ?> misalnya seperti contoh di bawah:  <?php echo “Selamat malam”; ?>; Penjelasan kode di atas: <?php ini adalah kode wajib untuk membuka program PHP.    Echo adalah sebuah perintah untuk menampilkan teks.  “Selamat malam”; merupakan teks yang ditampilkan dan ditulis diantara tanda petik dan titik koma.  ?> adalah kode untuk mengakhiri PHP dan wajib digunakan saat digabung dengan bahasa pemrograman lain, seperti HTML.   Nah, itulah penjelasan lengkap mengenai PHP. Jadi, PHP adalah bahasa pemrograman yang sangat berguna dan sering digunakan dalam pengembangan aplikasi web. Fungsi-fungsinya yang beragam dan mudah dipahami membuat PHP menjadi pilihan yang populer untuk para developer. Dengan adanya dukungan komunitas yang besar, sumber daya yang tersedia secara bebas, dan terus berkembangnya teknologi web, PHP akan terus menjadi salah satu bahasa pemrograman yang paling banyak digunakan dalam pembuatan aplikasi web. Sebagai developer, kamu dapat memanfaatkan potensi PHP untuk menciptakan aplikasi web yang inovatif dan menarik bagi pengguna. 

PENULIS TERBAIK

Perhitungan dalam satu tahun terakhir. Tidak termasuk like dari penulis artikel.

Fiona

FIONA

Forum Informasi dan Komunikasi Akademik

Jl. Dr. T. Mansur No. 9, Kampus Padang Bulan, Medan, 20155, Sumatera Utara

© 2024 - Ditgrasi - Universitas Sumatera Utara