Nah di artikel kali ini, saya akan membahas tentang perbandingan bahasa pemograman yang saya gunakan dalam pekerjaan saya sehari-hari sesuai dengan kemampuan saya saat ini. Sesuai dengan judul diatas, kita akan membahas tentang perbandingan Bahasa Pemograman PHP dan Go. Berikut poin-poin perbandingannya: Show Go adalah bahasa pemrograman yang dibuat di Google pada tahun 2009 oleh Robert Griesemer, Rob Pike, dan Ken Thompson. Bahasa ini biasanya digunakan untuk keperluan server side, tetapi juga dapat menjalankan script client side. Sudah banyak perusahaan yang menggunakan bahasa Go untuk produksi sistem mereka (untuk beberapa ibu kota di indonesia). PHP pada awalnya merupakan singkatan dari “Personal Home Page” dan sekarang menjadi “PHP: Hypertext Prepocessor”. PHP pertama kali dibuat oleh Rasmus Lerdorf pada tahun 1995. PHP sering digunakan untuk pembuatan website karena php dapat menjalankan dan mensisipkan script client side juga. Bahasa ini sudah menyebar di berbagai belahan di dunia, banyak perusahaan yang masih menggunakan bahasa PHP, apalagi setau saya berbagai project pemerintahan masih menggunakan PHP. Struktur Bahasa — — — Golang — — —Go memiliki sebuah ekstensi file yaitu .go. Struktur bahasa golang tidak memerlukan sebuah semi colon (;) untuk mengakhiri setiap baris perintahnya. file go harus di eksekusi (compile) melalui command prompt. Dalam sebuah file ada struktur yang harus dimiliki, yaitu: Deklarasi PackagePackage adalah suatu cara untuk mewadahi file yang digunakan atau bisa di bilang nama folder yang tersedia. Package wajib di deklarasikan di setiap file. package main Deklarasi ImportImport digunakan untuk memanggil setiap library yang akan kita gunakan di setiap file go. Ada 2 cara pemanggilan import di golang. import "fmt"atauimport( Deklarasi MethodKetika ingin compile sebuah file .go file tersebut harus memiliki sebuah function main, atau pun jika dari method main ingin memanggil method yg lain. func main(){ — — —PHP — — —PHP memiliki sebuah ekstensi file yaitu .php dan dalam sebuah file ada aturan yang harus dimiliki, yaitu: Tag Pembuka dan PenutupSetiap file .php harus memiliki sebuah tag pembuka, berikut contohnya <?php // untuk memulai perintahecho "selamat datang di halaman saya;?> // untuk mengakhiri perintah php tidak mewajibkan eksekusi (compile) melalui command prompt. Ekstensi PHP dalam di jalankan melalui browser juga Framework Framework adalah sebuah kerangka kerja untuk memudahkan para developer untuk menggembangkan aplikasi mereka. Golang dan PHP memiliki banyak framework yang populer, yaitu: Go
PHP
GinUntuk Gin sendiri tidak banyak memakan banyak folder, walau harus diinstal dulu tetapi untuk eksekusi sebuah http response cukup membutuhkan sebuah file saja. LaravelLaravel adalah framework dari PHP, untuk menggunakannya kita harus menginstall frameworknya melalui command prompt. Untuk struktur folder laravel sendiri sangatlah banyak, dan ukuran standar projectnya adalah 36 MB. Laravel sendiri adalah sebuah framework yang sering digunakan untuk pembuatan website, karena memiliki sebuah template engine sendiri untuk html yang disebut Blade Template. LumenLumen adalah sebuah microframework dari laravel, untuk dari segi ukuran project yang pastinya lebih sedikit dan ada beberapa fitur utama yang tidak dimiliki oleh Lumen. Untuk struktur folder lumen sendiri pastinya lebih sedikit dari laravel dan ukuran standar projectnya adalah 25 MB. Lumen biasanya fokus dalam segi server-side, beda dengan Laravel yang bisa menghandle serve-sidedan client-side. Performansi Disini saya akan membandingkan framework Go dan PHP, untuk Go akan menggunakan framework Gin dan PHP menggunakan Laravel & Lumen. Struktur folder dan kecepatan load yang akan saya ukur perbedaanya. Untuk mengukur perbedaan kecepatan loadnya, saya menggunakan aplikasi Postman. Berikut perbedaan setiap Framework — Struktur Folder —Struktur folder Gin GolangStruktur Folder Dasar LaravelStruktur Folder LumenStatic Text— Gin Golang — — Laravel — Hello World Laravel— Lumen — Untuk percobaan melalui static text, dapat kita lihat bahwa golang unggul dalam hal kecepatan. Golang mampu menjalankan 0.9% dari kecepatan laravel dan 5.5% dari kecapatan lumen Json— Gin Golang — Single row json Gin GolangMultiple Row gin Golang— Laravel — Single Row LaravelMultiple Row Laravel— Lumen — Single Row LumenMultiple Row LumenUntuk percobaan melalui Json saya uji coba menjadi 2 tipe, yaitu 1 row dan multiple row. Dapat kita lihat bahwa golang unggul lagi dalam hal kecepatan. perbedaannya pun cukup jauh jika kita lihat dari gambar diatas. Sehingga bisa saya simpulkan, dalam hal performansi golang jauh lebih unggul. Tentu saja Laravel dan Lumen memiliki keunggulan lainnya dibandingkan Gin, walau belum saya bahas disini. Mungkin akan saya bahas di artikel selanjutnya. Terima Kasih telah membaca artikel pertama saya, tolong beritahu jika ada kesalahan informasi atau kesalahan penulisan lainnya dalam artikel ini. |