[Tutorial] Membuat Shopping Cart menggunakan PHP

Tutorial membuat Shopping Cart dengan PHP – Hai Sobat Tekno!, apakah kamu tahu Shopping Cart? (Shopping Cart) Keranjang belanja merupakan salah satu fitur yang digunakan untuk memasukkan ataupun menyimpan suatu item barang.

Shopping Cart biasanya terdapat pada web e-commerce untuk memudahkan user yang ingin menyimpan suatu barang dan bisa explore barang lain tanpa takut item tersebut hilang. 

Langkah-langkah yang harus kamu lakukan

1. Membuat list produk menggunakan file database

Pertama tama kita akan membuat product nya terlebih dahulu. Kita perlu membuat informasi yang diperlukan pada sebuah produk seperti:

[ORDER DETAIL]

  • productid
  • orderid
  • price
  • quantity

[TABEL STRUKTUR]

  • id
  • name
  • detecreation
  • status
  • username

[PRODUCT]

  • id
  • name
  • price
  • quantity
  • description

2. Membuat File Koneksi untuk mengakses database

Setelah pembuatan database di step 1, langkah selanjutnya buat file connection untuk mengkoneksikan database.

3. Membuat CSS untuk mempercantik tampilan

Buat juga file CSS untuk memperbaiki dan mempercantik tampilan halaman.

4. Membuat file.php

Setelah css dibuat, lanjut membuat file.php untuk mengambil data yang sudah disediakan di database.

5. Membuat file item.php

Kemudian buat file item untuk memanggil item-item yang sudah dibuat.

6. Membuat File Cart.php

Setelah kita membuat item.php, kita buat file cart untuk menyimpan data barang yang di pilih.

7. Membuat file checkout.php

Setelah barang dipindah ke cart, buat checkout untuk melanjutkan proses selanjutnya ke pembelian.

Setelah selesai mengikuti step step diatas, maka kamu sudah bisa membuat shopping cart. Demikian lah cara membuat Shopping Cart menggunakan php. Baca juga artikel kami lainnya mengenai Pentingnya Javascript bagi Developer

Download Code : Google Drive

Source : https://github.com/anhqui/SHOPPING_CART

Mengenal PHP Developer

Mengenal PHP Developer – Hai, Sobat Tekno.

Cukup banyak website di dunia yang menggunakan PHP. Website seperti Wikipedia dan WordPress pun juga menggunakan PHP. Tidak salah jika PHP menjadi salah satu bahasa pemrograman yang cukup populer.

Dengan kepopuleran PHP, maka semakin banyak PHP Developer yang dicari oleh perusahaan. Ngomong-ngomong soal PHP Developer, apakah kalian sudah mengenal PHP Developer? Kalau belum tau, simak penjelasan berikut ini.

PHP Developer

Mengutip dari laman niagahoster PHP Developer adalah seorang developer yang menguasai bahasa pemrograman PHP serta bertanggung jawab dalam pengembangan website. Seorang PHP developer memang akan fokus pada kinerja server dan keamanan serta pengelolaan databasenya. 

Pada praktiknya, seorang PHP Developer akan lebih banyak bekerja dalam sebuah tim web development. Baik saat melakukan perancangan website atau saat mengatasi error yang tiba-tiba muncul. 

Seorang PHP Developer harus mempunyai pengetahuan tentang eksploitasi PHP dan web server. Selain itu juga harus memahami prinsip-prinsip desain di balik aplikasi, memahami otentikasi pengguna dan otorisasi antara beberapa sistem, server, dan lingkungan.

Baca Juga : Web Developer vs Web Designer

Tugas dan Tanggung Jawab PHP Developer

Seorang PHP Developer tentunya juga memiliki tugas dan tanggung jawab, antara lain :

  • Harus bisa membuat modul PHP yang efisien
  • Menganalisis, meninjau, dan menulis ulang program menggunakan grafik dan diagram alur kerja
  • Mengintegrasikan elemen yang dikembangkan oleh front-end developer
  • Menguji dan mengevaluasi modul
  • Memberikan solusi pemecahan masalah bug dan penambahan berbagai fitur baru
  • Menyelesaikan masalah kinerja dan tantangan arsitektur data yang kompleks, serta integrasi solusi penyimpanan database, dan lain-lain
  • Mengonversi data dari berbagai format ke dalam database
  • Otentikasi pengguna dan otorisasi antara beberapa sistem, server, dan lingkungan

Baca Juga : 5 BAHASA PEMROGRAMAN MOBILE POPULER 2022

Skill Yang Harus Dimiliki Seorang PHP Developer

  • Berpikir analitis untuk mengidentifikasi kekuatan dan kelemahan dari permasalahan yang ditangani
  • Problem solving, memahami masalah yang rumit dan mengetahui cara menggunakan teknologi untuk mencari jalan keluarnya
  • Manajemen waktu, harus mampu mengatasi deadline
  • Kemampuan komunikasi, dapat berbicara dalam istilah teknis dan non-teknis kepada tim developer atau bagian lainnya
  • Harus memiliki logika dan imajinasi, harus memiliki kemampuan untuk memecahkan suatu masalah tidak saja dengan satu jawaban namun banyak alternatif.

Dari beberapa penjelasan tersebut, apakah kamu berminat untuk menjadi seorang PHP Developer? Silahkan tulis di kolom komentar.

Web Developer vs Web Designer

Web Developer vs Web Designer – Hai Sobat Tekno, apakah kalian pernah mendengar yang namanya web developer? atau web designer? apakah keduanya sama?.

Ya, meskipun kedua profesi tersebut sama-sama membangun sebuah website, tapi sebenarnya keduanya memiliki perbedaan. Mungkin kalian sudah pernah mendengar kedua profesi tersebut meskipun hanya sekedar tahu saja.

Saat ini banyak perusahaan yang membutuhkan jasa dari keduanya untuk membangun dan mengoptimasi website mereka agar kinerja dan tampilan website sedap dipandang oleh user.

Nah, pada artikel kali ini kami akan membahas tentang Web Developer vs Web Designer atau lebih membahas tentang pengertian serta perbedaan dari keduanya. Maka dari itu simak penjelasannya di bawah ini ya.

Web Developer

Pada dasarnya web developer bertugas untuk membuat website agar berfungsi dengan baik. Nah, untuk menjadi Web Developer harus memahami berbagai macam pondasi untuk membangun website, seperti bahasa pemrograman, coding, database, domain dan lain-lain.

Web Developer harus bisa memastikan bahwa database aman, harus paham tentang HTML dan JavaScript agar website mudah digunakan oleh user dan dapat memastikan website dapat berjalan dengan optimal.

Web Developer lebih berfokus dalam membangun website dari dalam. Terdapat juga beberapa jenis pekerjaan sebagai Web Developer, seperti full stack developer, front-end developer, back-end developer, serta JavaScript developer.

Web Designer

Jika Web Developer lebih fokus dalam pembangunan website dari dalam, lain halnya dengan seorang Web Designer yang lebih fokus bertugas dalam mempercantik tampilan website. Web designer bertanggung jawab untuk merancang tata letak, tampilan visual, serta fitur-fitur dari sebuah situs.

Web Designer tidak dituntut untuk memahami bahasa pemrograman. Karena Web Designer lebih fokus terhadap tata letak atau tampilan website agar lebih sedap dipandang oleh user.

Seorang Web Designer malah lebih sering bertemu dengan tools untuk design seperti Adobe Photoshop, Sketch, ataupun Figma. Web Designer juga memiliki beragam jenis profesi, seperti UX designer dan UI designer.

Baca Juga : Mengenal VPS Beserta Cara Kerjanya

Perbedaan Web Developer dan Web Designer

Setelah memahami pengertian dari Web Developer dan Web Designer, kali ini kita akan membahas tentang perbedaan dari kedua profesi tersebut. 

Tugas dan Tanggung Jawab

Tugas dari seorang Web Developer adalah untuk mengoptimasi website, sedangkan tugas dari Web Designer untuk mempercantik tampilan website. Kedua profesi tersebut sama-sama bertanggung jawab dalam pembuatan website agar tampilan sedap dipandang dan optimal ketika dioperasikan oleh user.

Skill

Dari segi skill, sebagai Web developer harus memiliki skill bahasa pemrograman, seperti HTML, JavaScript, PHP dan lain-lain. Sedangkan untuk seorang Web Designer harus memiliki skill dalam mendesain UI dan UX. Web designer memang tidak dituntut untuk memahami bahasa pemrograman, namun setidaknya harus tahu tentang dasar HTML.

Tools

Tools yang digunakan, web developer cenderung menggunakan tools untuk coding, seperti Sublime Text atau VSCode serta tools untuk database seperti MySQL. Sedangkan seorang web designer cenderung menggunakan aplikasi seperti Adobe Photoshop, Sketch, dan Figma untuk mempercantik website.

5 Bahasa Pemrograman Mobile Populer 2022

5 Bahasa Pemrograman Mobile Populer 2022

Hai Sobat Tekno, pada artikel kali ini kita akan membahas tentang bahasa pemrograman. Dengan poin utamanya yaitu bahasa pemrograman mobile. Tanpa berlama-lama lagi, langsung saja simak artikelnya ya.

Mengutip dari laman Wikipedia “bahasa pemrograman merupakan suatu himpunan dari aturan sintaks dan semantik yang dipakai untuk mendefinisikan program komputer.”

Bahasa ini memungkinkan seorang programmer dapat menentukan secara persis data mana yang akan diolah oleh komputer, bagaimana data ini akan disimpan/diteruskan, dan jenis langkah apa yang akan diambil dalam berbagai situasi secara persis.

Bahasa pemrograman biasanya digunakan oleh programer untuk membuat aplikasi berbasis web dan mobile. Nah untuk pembahasan kali ini kami akan membahas tentang bahasa pemrograman mobile. Karena saat ini sudah banyak yang beralih dari aplikasi web ke aplikasi mobile dengan alasan perangkat mobile lebih mudah diakses dimanapun dan kapanpun.

Di dalam aplikasi mobile sendiri memiliki bahasa pemrograman yang berbeda-beda disesuaikan dengan platform masing-masing. Ada yang menggunakan sistem operasi Android, IOS, dan ada yang menggunakan keduanya (Cross – Platform).

Lalu apa saja 5 bahasa pemrograman mobile paling populer di tahun 2022? Simak selengkapnya di bawah ini.

Bahasa Pemrograman Mobile Populer

Berbasis Android

  • Java

Bahasa Pemrograman Java ini termasuk salah satu bahasa pemrograman paling populer dan juga sering digunakan dan diajarkan di kampus. Masih banyak pengembang aplikasi yang menggunakan Java karena dapat dipelajari dengan mudah.

IDE atau tools yang digunakan java ini adalah Android Studio Eclipse dan juga Visual Studio Code. Bagi para pemula untuk disarankan menggunakan java dalam mengembangkan aplikasi mobile yang berbasis android.

  • Kotlin

Bahasa Pemrograman Kotlin ini dari segi struktur penulisan kodenya bisa dibilang mirip dengan Java. Namun Kotlin lebih unggul dari segi kerapian penulisan kode dan lebih mudah dipahami dan sudah mendapat dukungan langsung dari Google.

IDE yang bisa digunakan ialah Intellij IDE, Eclipse, dan Android Studio. Kelebihan lain dari kotlin ini adalah dapat menggunakan library yang berasal dari java sendiri.

Baca Juga : Tutorial Desain Ip, Routing dan Firewall Menggunakan Packet Tracer

Berbasis IOS

  • Swift

Mengutip dari laman sekawanmedia “Bagi anda pengguna IOS terutama IPad dan IPhone, maka Swift menjadi pilihan tepat untuk membuat perangkat lunak. Swift sendiri diperkenalkan pada tahun 2014 dan kode programnya dirilis pada tahun 2015. Perusahaan besar maupun startup membutuhkan developer khusus untuk mengerjakan IOS”.

Banyak sekali fitur – fitur baru yang tersedia bagi bahasa Swift yang telah disediakan oleh Apple. Hal tersebut dilakukan untuk meningkatkan ekosistem dari IOS sendiri. Tools yang dapat anda gunakan adalah XCode IDE.

Cross-Platform

  • C#

Bahasa Pemrograman C# atau biasa disebut C Sharp merupakan bahasa pemrograman tingkat tinggi. Karena terdiri dari 60% pemrograman Java dan 40% pemrograman C++. C# ini digunakan untuk membuat aplikasi pada windows phone.

  • JavaScript

Bahasa pemrograman website terpopuler saat ini yaitu JavaScript ternyata bisa juga digunakan untuk membuat aplikasi android. Jika kamu sudah mempunyai basic HTML5, CSS, dan JavaScript Modern kita akan dapat dengan mudah membuat aplikasi, namun kita membutuhkan framework. Beberapa framework yang bisa kita gunakan untuk mengembangkan aplikasi android yaitu : React Native, Ionic, dan PhoneGap.

Itulah 5 bahasa pemrograman paling populer 2022. Untuk contoh aplikasinya, kamu bisa lihat aplikasi TapTap Presensi. Aplikasi tersebut menggunakan bahasa pemrograman JavaScript dengan framework React Native. Untuk kamu yang ingin mencoba aplikasi presensi digital bisa coba daftar gratis disini.

Yuk Kenalan Dengan PHPMaker

Dalam membangun suatu website kita tak pernah terlepas dari bahasa PHP. PHP atau Hypertext Preprocess adalah suatu bahasa yang bahasa pemrograman script server-side yang berperan penting dalam pengembangan suatu website. Bahasa ini akan menjadi jiwanya suatu website. Tanpa pemahaman bahasa PHP, akan sulit bagi kita membuat satu halaman website yang utuh. Eits, tapi sekarang nggak gitu. Saat ini teknologi telah memanjakan kita dengan adanya tool yang dapat meng-efisiensi waktu dan daya dalam pengerjaan suatu proyek sistem informasi. Dengan tool ini, membuat website semudah klik – klik saja. Salah satu tool yang terkenal adalah PHPMaker. Ada istilah, tak kenalan maka tak sayang. Karenanya, yuk kenalan dengan PHPMaker

Secara bahasa PHPMaker berarti pembuat PHP. PHPMaker memiliki kemampuan untuk membangkitkan kode PHP, HTML, bahkan sampai kode terkait lainnya seperti Javascript, jQuery, CSS, XML, dan lainnya itu hanya dalam hitungan detik atau menit saja. Dengan PHPMaker, seseorang yang sama sekali tidak memiliki pengalaman coding akan dapat membangun website dengan mudah. Dengan PHPMaker, kamu akan dengan mudah  meng-generate suatu database menjadi file-file php yang nantinya digunakan untuk proses manipulasi database tersebut yang termasuk didalamnya adalah proses insert, view, update dan delete.

PHPMaker dapat melakukan otomasi terhadap berbagai macam DBMS seperti  MySQL, PostgreSQL, Microsoft Access, Microsoft SQL Server dan Oracle. Tool ini juga didukung dengan fleksibilitas tinggi, dan memungkinkan kamu untuk menghasilkan aplikasi PHP yang paling sesuai dengan kebutuhan. Untuk itu cocok bagi pemula maupun delevoper pengalaman dan cocok pula bagi perusahaan atau instansi yang memiliki banyak proyek untuk menyelesaikan waktu yang singkat.

Cara Kerja PHPMaker

Untuk men-generate project PHP, kamu hanya perlu melewati pilihan-pilihan pada setiap menu tab pada aplikasi PHPMaker, dan cukup menggunakan pengaturan standar pertama kalinya. Kamu dapat melewati langkah-langkah yang terdapat setelah menu tab [Database] dan sebelum menu tab [Generate]. Artinya, dari menu tab [Database], kamu dapat langsung lompat ke menu tab [Generate] setelah berhasil terhubung ke database, yaitu [Database] > [Generate]

Pastikan sebelum men-generate skrip, Kamusudah menyesuaikan pengaturan Application root folder di menu tab [Generate] tersebut. Jika sudah, maka pengaturan Destination folder juga akan otomatis menyesuaikan dengan lokasi Application root folder . Kedua pengaturan ini adalah lokasi tempat semua skrip akan dtersimpan. Biasanya, tempat penyimpanan ini berada pada folder www pada server lokal kamu. Misal kamu menggunakan server xampp, maka lokasi folder root aplikasi adalah: C:\xamp\www\.

Meskipun namanya PHPMaker, bukan berarti tools ini hanya mampu membangkitkan kode PHP saja loh. PHPMaker juga mampu membangkitkan kode pendukung lain seperti file-file .css (untuk pengaturan stylesheet), .txt (untuk template email), .js (untuk kode javascript), .xml (untuk file language dan pengaturan setting lainnya), dan file-file icon/gambar. Banyak fitur-fitur utama yang wajib ada di sebuah aplikasi web sudah ditangani oleh PHPMaker. Untuk mengetahui lebih banyak tentang fitur-fitur nya kamu dapat mengunjungi link ini. Jangan lupa untuk klik video ini juga ya.

Nah, itulah artikel yang akan membawa kamu berkenalan dengan PHPMaker. Apakah kamu tertarik mencobanya?

Suka Duka Menjadi Software Tester

Sumber : Gojekan_Tekno

Dalam pengembangan aplikasi, pengujian adalah hal yang penting. Pengujian aplikasi menjadi tanggung jawab seorang tester. Tester adalah orang bertugas untuk memastikan aplikasi berjalan tanpa kesalahan ataupun kerusakan ketika sampai ke tangan client. Tanpa pengujian, tingkat kepercayaan pengguna akan rendah. Tester akan melakukan ad-hoc testing sehingga kualitas aplikasi akan lebih terjamin. Banyak yang berpikir bahwa tester adalah pekerjaan yang menyenangkan. Tester hanya perlu mencari bug, tanpa ikut mengembangkan aplikasi. Ternyata itu semua SALAH BESAR! Banyak suka duka yang akan didapatkan ketika menjadi seorang software tester. Artikel ini akan bercerita bagaimana Suka Duka Menjadi Software Tester

Keberhasilan Tester Adalah Kegagalan Developer

Seorang tester memegang kendali penuh atas aplikasi yang akan rilis. Pekerjaan ini membutuhkan kemampuan analisa yang tinggi. Tester harus memikirkan segala kemungkinan dari segala sudut pandang. Dalam pengujian, tester akan mencoba berbagai skenario. Base case, edge case, bahkan corner case tidak boleh terlewat dalam proses pengujian.

Dalam melakukan pengujian, tester selalu berpegang pada dua dokumen yakni SRS (System Requirement Specification) dan SAD (Software Architecture Document). Setelah mengetahui proses bisnis aplikasi, tester akan menyusun test case. Test case ini terbagi dalam berbagai modul. Tahap ini memerlukan imajinasi dan kreativitas yang tinggi. Tester harus berusaha keras menjatuhkan aplikasi yang akan rilis.

Terdapat dua jenis pengujian yaitu manual testing dan automatic testing. Manual testing akan menguji aplikasi tanpa dukungan tool apapun. Keunggulan manual testing ini adalah mendapatkan visual feedback. Tester dapat menguji interface dan experience dari pengujian ini. Sebaliknya, automatic testing akan menguji aplikasi dengan bantuan pra-scripted tools, salah satunya dengan Selenium IDE. Keunggulan automatic testing adalah dapat memperoleh lebih banyak bug dalam waktu yang lebih cepat.

Menjadi Musuh Developer

Developer dan tester kerap kali terlibat dalam perang dingin. Developer akan mati-matian membuat aplikasi, sementara tester akan mati-matian menjatuhkan aplikasi yang akan rilis . Tester harus bisa menemukan celah dari aplikasi. Bug is victory. Semakin banyak bug yang berhasil ditemukan maka kualitas software akan semakin bagus kualitas aplikasi. Testerlah yang akan memberikan lampu hijau, kapan aplikasi siap rilis.

Dengan privilege menahan aplikasi sebelum rilis inilah kualitas tester akan diuji. Memang sih, suatu aplikasi tidak mungkin 100% bug free. Tetapi tester harus meminimalisir kemungkinan bug yang bisa saja muncul setelah aplikasi rilis. Tester juga harus mendokumentasikan semua berkas pengujian. Jadi jangan bermimpi menjadi tester jika kamu tipe orang yang anti dokumentasi-dokumentasian.

Bertemu developer “ngeyelan” adalah nightmare bagi tester. Tipe programmer ini adalah tipe developer yang selalu mencari menolak bug yang terjadi Ada aja alasan yang muncul ketika tester menemukan kesalahan dan cenderung engga untuk menyelesaikannya. Inilah beban hidup tambahan bagi seorang tester. Tester harus bisa tegas menolak alasan ini agar kualitas aplikasi lebih terjamin.

Kolaborasi Adalah Kunci

Sofware Tester dan Developer
Sumber ; Dokumen Pribadi

Tester adalah jembatan antara product owner dan developer. Testerlah yang akan menjadi penyeimbang antara keduanya. Product owner selalu ingin produk yang cepat rilis, begitupun developer. Namun, untuk menjamin kualitas aplikasi perlu adanya testing yang komperhensif dengan jiwa yang tenang. Walaupun waktunya kadang tidak tersedia.

Developer dan tester harus berjalan seiringan untuk mengantarkan aplikasi yang baik. Keduanya harus membangun chemistry yang baik. Chemistry ini bisa dibangun dalam beberapa cara, seperti sekadar makan dan minum bersama atau sekadar ngopi bersama untuk memperat hubungan. Selain itu, keduanya harus memiliki inisiatif yang tinggi. Developer harus berinisiatif menghindari bug. Sementara itu, tester harus menyadari pola bug yang memudahkan pekerjaan developer

Nah, terdapat pola pengerjaan aplikasi yang baik untuk para developer. Pertama, pelajari proses bisnis yang akan berjalan pada aplikasi. Pikirkan segala kemungkinan yang mungkin akan terjadi. Setelah benar-benar paham barulah mulai pengerjaan aplikasi. Fokuslah hanya pada aplikasi dan jangan termakan pikiran adanya bug. Setelah modul dan aplikasi selesai, pengujian akan berlangsung. Dari testing inilah bug akan ketahuan. Revisi bug itu sampai selesai. Lakukan hal yang sama sampai akhirnya aplikasi menjadi layak rilis.

Nah itulah Suka Duka Menjadi Software Tester. Ternyata gampang-gampang susah ya. Ada yang ingin jadi tester?

Tidak perlu aplikasi yang sempurna. Mendekati sempurna saja sudah lebih lebih dari cukup

(Tester, 2020)

Benarkah NodeJS Akan Menggantikan PHP?

Web development semakin berkembang dari waktu ke waktu. Teknologi baru selalu bermunculan setiap harinya. Dari sisi back-end, terdapat dua bahasa pemrograman yang cukup mendominasi yaitu NodeJS dan PHP. PHP yang menjadi tulang punggung duni per-website-an diprediksi akan tergerus NodeJS yang merupakan pemain baru. Mampukah PHP tertap bertahan? Atau justru NodeJs akan berhasil menggantikan PHP?

Pembahasan ini sebenarnya cukup “keramat” untuk diperbincangkan. Meskipun, pada awal kemunculannya Javascript hanya pada sisi front end,lambat laun merambah ke back-end dan menjadi kompetitor tangguh bagi PHP. Terlebih beberapa artikel pergeseran teknologi dari PHP ke NodeJS beberapa kali ter-blow up. Bukan hanya dalam negeri, artikel seperti “Which is better for back-end – PHP or Node js?” , “Is Node js killing PHP?” atau “Is NodeJS eating PHP Market?” sering menjadi topik perbincangan developer luar negeri.

Sebagian orang akan mengganggap hal ini sebagai keuntungan. Tipe-tipe ini biasanya vendor besar yang sering mendapat ‘jatah’ project dari pemerintahan. Namun, tentu saja tidak sedikit yang akan menganggap hal ini menjadi malapetaka, karena project mereka akan otomatis berpindah tangan ke vendor yang lebih mampu. Jelas hal ini sebenarnya konsep yang salah kaprah. Jika ada teknologi baru yang lebih baik, mengapa tidak memilih yang lebih mudah?. Namun, benarkan NodeJS lebih baik dari PHP? Dan apakah PHP akan terus tergerus NodeJS? Sampai-sampai WordPresspun akan berpindah haluan ke NodeJS.

NodeJS VS PHP

PHP merupakan bahasa pemrograman paling umum yang dalam pengembangan webiste. Bahasa pemrograman ini dapat berperan sebagai compiler sekaligus interpreter. PHP pertama kali rilis pada tahun 1995. Saat ini versi terbaru PHP adalah 7.0.16 dan 7.1.2 yang resmi rilis pada tanggal 17 Februari 2017.

Nah, NodeJS sebenarnya bukan merupakan bahasa pemrograman. Jadi, salah jika seseorang mengatakan bahasa pemrograman NodeJs. NodeJS merupakan suatu framework yang akan membawa bahasa pemrograman JavaScript ke sisi back-end. Untuk dapat menggunakan NodeJs kita harus paham bahasa pemrograman.

Dari segi popularitas, NodeJS lebih unggul dari PHP. Sejak 2014 Framework NodeJS merajai kepopuleran bahasa pemrograman dengan angka 49,6% jauh melebihi PHP. Apa keuntungannya? Semakin populer suatu framework maka semakin dokumentasi akan semakin banyak. Hal ini akan mempermudah kita ketika mengalami kendala pengembangan proyek.

Sumber : stackoverflow.com

Sebaliknya, tingkat pengguna bahasa pemrograman PHP semakin berkurang dari waktu ke waktu. Tingkat penurunan yang terjadipun cukup signifikan yakni mencapai 7% .  Di sisi lain , pengguna NodeJS meningkat tajam 18% selama 4 tahun. Dengan ini, terbukti bahwa developer-developer website mulai beralih ke NodeJS

Sumber : stackoverflow.com

Selama proses development, PHP memerlukan web server. Meskipun server ini merupakan bawaan, namun hal ini akan memakan banyak resource server. Penggunaan server tambahan  seperti nginx tetap diperlukan untuk meningkatkan performa kecepatan PHP. Sebaliknya, NodeJS merupakan tipe single-fighter yang mampu berdiri sendiri tanpa memerlukan web server lain. NodeJS memiliki waktu eksekusi yang lebih baik dari PHP terutama dalam penambahan angka. Namun PHP memiliki waktu eksekusi yang lebih baik dalam hal operasi string, pengisian array, MySQL, dan membaca file.

Sumber : blog.teknosejahtera.co.id

Perfoma NodeJS vs PHP

Untuk kasus multi-tasking, NodeJS jauh lebih handal daripada PHP. Misal kita memiliki dua task yakni mengambil data dari database, dan menghapus file. Jika kita menggunakan PHP, proses ini akan dilakukan berurutan. Hapus file akan dilakukan setelah pengambilan data selesai. Namun, jika kita menggunakan NodeJS kedua hal ini dapat dilakukan bersamaan. Hasilnya, bisa jadi file terhapus duluan sebelum pengambilan data selesai.

sumber : Sebuah Seni Menerapkan “Clean Code”

Hal ini tidak berlaku untuk multithread. NodeJS menggunakan konsep single thread, artinya hanya akan ada satu proses yang berjalan sepanjang waktu, berbeda dengan PHP yang berbasis multi-threaded. Misal terdapat empat orang mengunjungi web kita. Dalam PHP, proses ini dibuat empat thread dimana setiap pengunjung dilayani oleh 1 thread khusus. Setiap thread akan diproses dengan sistem antrian seperti sebelumnya. Sedangkan di Node.js, empat pengunjung itu akan di layani oleh 1 thread saja. Thread secara bergantian berpindah dari satu proses ke proses lain tanpa harus menunggu proses yang satu selesai.

Sumber : quora.com

Sanggupkah NodeJS Menggantikan PHP?

Sampai saat ini, kita belum bisa menyimpulkan bahwa NodeJS akan menggantikan PHP. Penggunaan NodeJS dan PHP sangat bergantung pada jenis aplikasi yang akan kita kembangkan. Pada akhirnya yang terjadi antara NodeJS dan PHP bukanlah kompetisi melainkan sinergi. Sebagai contoh, untuk project yang bersifat real-time, NodeJS lebih cocok untuk dipakai. Sebaliknya,  tidak semua hosting mendukung NodeJs, saat itulah kita harus memilih menggunakan PHP.

Selamat bereksplorasi ! #HappyEnjoyneering!

Membuat Unit Testing di PHP dengan PHPUnit

Unit Testing adalah tes terkecil dalam serangkaian test untuk menguji sebuah fungsi atau kelas pada kode kita. Sebenarnya, beberapa tahapan testing dalam pengembangan aplikasi. Lebih lanjut, pengujian meliputi Unit Testing, Integration Test, Acceptance test, Performance Test, dsb. Unit testing memegang peranan penting pengujian ini. Tujuannya agar software yang telah rilis memiliki kualitas yang lebih baik. Untuk alasan ini, biasanya pengembang library selalu menyertakan unit test. Artikel ini akan membahas bagaimana cara membuat unit testing di PHP dengan PHPUnit.

Unit test akan menjadi kompas dalam pengujian (base case, edge case hingga corner case) . Tanpa adanya unit test, proses pengujian akan memakan banyak waktu. Pada perusahaan besar seperti Gojek dan Grab, unit test adalah suatu kewajiban. Tak jarang mereka merekrut tenaga khusus untuk melakukan pengujian software sehingga aplikasi menjadi lebih secure & reliable

Unit Test ini memiliki kemiripan dengan Integration Test. Keduanya menggunakan tools yang sama, hanya saja pada unit test tidak memperkenankan service-service dari luar. Setiap bahasa pemrograman atau framework memiliki tools berbeda untuk melakukan unit testing ini. Di PHP, salah satu tools yang populer untuk pengujian unit testing menggunakan PHPUnit.

Instalasi PHPUnit

Sebelum anda menginstall PHPunit anda harus menginstall composer terlebih dahulu. Composer ini tidak built-in di PHP, karena itu instalasi dilakukan terpisah. Composer merupakan dependency manager pada bahasa pemrograman PHP. File instalasi dan dokumentasi composer tersedia pada website resminya, https://getcomposer.org/. Proses instalasi composer sama seperti software pada umumnya. Kita hanya perlu double klik pada master instalasi kemudian next sampai finish.

Selanjutnya, buat sebuah folder kosong beri nama “belajar-php-unit”. Kemudian jalankan perintah ini pada Terminal atau CMD bagi pengguna OS windows

composer require phpunit/phpunit

Setelah perintah selesai dijalankan, buka folder belajar-php-unit. Dalam folder tersebut akan muncul tiga file baru yakni composer.json, composer.lock & folder vendor. Nah pada tahapan ini kita sudah berhasil menginstall phpunit.

Membuat Class Baru

Pada tutorial ini kita akan mencoba membuat unit-test pada kelas baru bernama class Matematika. Class Matematika ini adalah library yang kita buat dan akan dipakai oleh kita sendiri atau sendiri atau tim. Kita akan membuat unit test terhadap method yang ada pada class matematika ini.

Buat sebuah file bernama Matematika.php kemudian isikan source code berikut

<?php

class Matematika
{

    /**
     * @param integer $bilanganBasic
     * @param integer $bilanganExponen
     * 
     * @return integer
     */
    public static function pangkatBilangan($bilanganBasic, $bilanganExponen)
    {
        $nilaiSekarang = 1;
        for ($i = 1; $i <= $bilanganExponen; $i++) {
            $nilaiSekarang = $nilaiSekarang * $bilanganBasic;
        }
        return $nilaiSekarang;
    }
}

Method ini bertujuan untuk mencari hasil perpangkatan dua bilangan. Dalam method ini terdapat empat case yang mungkin terjadi, yakni:
1. Bilangan basic positif, bilangan exponen positif
2. Bilangan basic negatif, bilangan exponen positif
3. Bilangan basic Positif, exponen negatif
4. Inputan berupa string

Selanjutnya buat file test dengan nama MatematikaTest.php, dengan code seperti berikut:

<?php

use PHPUnit\Framework\TestCase;

require_once "./Matematika.php";

class MatematikaTest extends TestCase
{

    /*
     * Menguji pangkat bilangan positif, positif
     * 
     */

    public function testPositifSemua()
    {
        $hasilPangkat = Matematika::pangkatBilangan(2, 3);
        $this->assertEquals(8, $hasilPangkat);
    }

    /*
     * Menguji pangkat bilangan negatif, positif
     * 
     */
    public function testNegatifPositif()
    {
        $hasilPangkat = Matematika::pangkatBilangan(-3, 2);
        $this->assertEquals(9, $hasilPangkat);
    }

    /*
     * Menguji pangkat bilangan positif, negatif
     * 
     */
    public function testPositifNegatif()
    {

        $hasilPangkat = Matematika::pangkatBilangan(4, -2);
        $this->assertEquals(1 / 16, $hasilPangkat);
    }

    /*
     * Menguji pangkat bilangan input tidak sesuai
     * 
     */
    public function testInputNgawur()
    {

        $hasilPangkat = Matematika::pangkatBilangan("a", 4);
        $this->assertEquals(10, $hasilPangkat);
    }
}

Jalankan unit test dengan command:

vendor/bin/phpunit MatematikaTest.php

Hasil eksekusi unit test ini adalah sebagai berikut

PHPUnit 8.5.8 by Sebastian Bergmann and contributors.

..FE                                                                4 / 4 (100%)

Time: 79 ms, Memory: 4.00 MB

There was 1 error:

1) MatematikaTest::testInputNgawur
A non-numeric value encountered

{FOLDER ANDA}/Matematika.php:16
{FOLDER ANDA}/MatematikaTest.php:52

--

There was 1 failure:

1) MatematikaTest::testPositifNegatif
Failed asserting that 1 matches expected 0.0625.

{FOLDER ANDA}/MatematikaTest.php:42

ERRORS!
Tests: 4, Assertions: 4, Errors: 1, Failures: 1.

Kita melihat dari response tersebut, terdapat 4 test dengan 4 assertions, terdapat 1 error dan 1 failure.
1) MatematikaTest::testInputNgawur
A non-numeric value encountered

Error ini terjadi karena memberi inputan string pada inputan yang seharusnya integer.

Sedangkan 1 Failure terjadi karena hasil yang salah saat melakukan testPositifNegatif. Dalam kasus 2 pangkat -4, seharusnya menghasilkan 0.0625. Ini tidak sesuai dengan kenyataan dari pemanggilan method tersebut yakni 1. Dengan demikian method tersebut gagal untuk case bilangan positif pangkat negatif.

Contoh kasus diatas merupakan contoh kasus sederhana yang sangat lumrah terjadi dalam pengembangan aplikasi.

Meskipun kode yang dibuat sesuai requirement, terdapat case-case yang tidak berjalan pada proses bisnis yang akan terjadi. Itulah dia, cara membuat unit Testing di PHP dengan PHPUnit