Cara menggunakan golang php parser

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:

Pengenalan

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 Package

Package 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 Import

Import digunakan untuk memanggil setiap library yang akan kita gunakan di setiap file go. Ada 2 cara pemanggilan import di golang.

import "fmt"atauimport(
"fmt"
"time"
)

Deklarasi Method

Ketika 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(){
fmt.Println("selamat datang di halaman saya")
panggilMethod()
}func panggilMethod(){
fmt.Println("ya method dipanggil")
}

— — —PHP — — —

PHP memiliki sebuah ekstensi file yaitu .php dan dalam sebuah file ada aturan yang harus dimiliki, yaitu:

Tag Pembuka dan Penutup

Setiap 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

  1. Gin
  2. Echo
  3. Beego
  4. Iris

PHP

  1. Laravel & Lumen
  2. Yii
  3. Codeigniter
  4. CakePHP

Gin

Untuk Gin sendiri tidak banyak memakan banyak folder, walau harus diinstal dulu tetapi untuk eksekusi sebuah http response cukup membutuhkan sebuah file saja.

Laravel

Laravel 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.

Lumen

Lumen 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 Golang

Struktur Folder Dasar Laravel

Struktur Folder Lumen

Static Text

— Gin Golang —

Percobaan pertama hello world Golang

Percobaan kedua hello world Golang

— Laravel —

Hello World Laravel

— Lumen —

Percobaan Hello World Pertama Lumen

Percobaan Hello World Kedua 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 Golang

Multiple Row gin Golang

— Laravel —

Single Row Laravel

Multiple Row Laravel

— Lumen —

Single Row Lumen

Multiple Row Lumen

Untuk 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.