JURNAL SISTEM INFORMASI [VOL. Xi NO. 02 AGUSTUS 2. STMIK ANTAR BANGSA Penerapan Test Driven Development (TDD) pada Laravel Menggunakan PHPUnit Sigit Wijanarko1. Subhiyanto2 AbstractAiTest Driven Development (TDD) is a software development approach that prioritizes writing tests before functional Laravel, as one of the popular PHP frameworks, provides strong support for TDD through tools like PHPUnit and Laravel Dusk. This journal discusses the concept of TDD, its benefits and challenges, and its application in developing applications with Laravel. A simple case study will also be provided to illustrate the implementation of TDD in Laravel. IntisariAiTest Driven Development (TDD) adalah pendekatan pengembangan perangkat lunak yang mendahulukan penulisan tes sebelum kode fungsional. Laravel, sebagai salah satu framework PHP yang populer, menyediakan dukungan yang kuat untuk TDD melalui alat-alat seperti PHPUnit dan Laravel Dusk. Jurnal ini membahas konsep TDD, keuntungan dan tantangannya, serta penerapannya dalam pengembangan aplikasi dengan Laravel. Studi kasus sederhana juga akan diberikan untuk mengilustrasikan penerapan TDD dalam Laravel. Kata KunciAi perangkat lunak. TDD. aplikasi web. Laravel. PHPUnit. PENDAHULUAN Test Driven Development (TDD) adalah metodologi pengembangan perangkat lunak yang berfokus pada penulisan tes otomatis sebelum menulis kode aplikasi. AuTDD sebagai salah satu praktik yang umum dalam inti pengembangan metodeAy. AuTDD merupakan sebuah strategi pengembangan perangkat lunak yang Langkah pengerjaannya adalah dengan membuat test case terlebih dahulu baru kemudian dilakukan producing code dan refactoringAy. TDD digunakan untuk mengembangkan perangkat lunak gabungan antara desain dan pengujian logika program. Oleh karena itu dianggap sebagai penyatuan dari Test First Development dimana unit test dilakukan terlebih dahulu sebelum writing code. AuRefactoring juga terkait dengan proses TDD dan ini berperan penting dalam menstruktur ulang potongan kode. Selanjutnya, test harus berhasil untuk mengurangi kompleksitas, dan meningkatkan pemahanan, pemeliharaan, dan kejelasan kodeAy. Ae. AuSatu poin penting dalam metode TDD adalah pengembangan perangkat lunak focus pada spesifikasi bukan pada validasinyaAy. AuDengan demikian perangkat lunak membutuhkan proses pengujian yang mendetail pada komponen-komponen yang ada sebelum komponen tersebut diintegrasikan satu sama lain hingga menjadi suatu system untuk digunakanAy. Hal ini membantu mengurangi jumlah bug dan mempercepat proses pengembangan. 1,2 STMIK Antar Bangsa. Kawasan Bisnis CBD Ciledug. Jl. HOS Cokroaminoto No. RT. 001/RW. Karang Tengah. Kec. Ciledug. Kota Tangerang. Banten 15157 . lp: 50986099. sgtwijanarko23@gmail. com, subhiyanto. bian@gmail. AuSistem yang mempunyai bug atau error tentu saja akan mempengaruhi kinerja perangkat lunak seperti kegagalan dalam pemrosesan data, kegagalan dalam mengirim data dan kegagalan pada hasil yang diingingkanAy. , . II. KAJUAN LITERATUR Test Driven Development Test Driven Development (TDD) adalah metodologi pengembangan perangkat lunak yang berfokus pada penulisan tes otomatis sebelum menulis kode aplikasi. Metode ini pertama kali diperkenalkan oleh Kent Beck dalam bukunya "Test Driven Development: By Example". Konsep utama TDD adalah "Red. Green. Refactor" yang menggambarkan tiga fase utama dalam siklus pengembangan TDD. Konsep dan Prinsip TDD Penulisan Tes Terlebih Dahulu: Dalam TDD, pengembang menulis tes sebelum menulis kode fungsional. Tes ini menggambarkan spesifikasi atau persyaratan dari fungsi yang akan dibuat. Siklus Red-Green-Refactor: Red: Menulis tes yang akan gagal karena kode fungsional belum ada. Green: Menulis kode minimum yang diperlukan agar tes tersebut lulus. Refactor: Memperbaiki kode agar lebih bersih dan efisien tanpa mengubah perilaku yang diuji. Continuous Testing: Tes harus dijalankan secara terus menerus selama pengembangan untuk memastikan bahwa perubahan tidak merusak fungsionalitas yang sudah ada. Keuntungan dan Tantangan TDD Keuntungan: Kode Lebih Andal: TDD membantu memastikan bahwa setiap bagian kode telah diuji dengan baik sebelum digabungkan ke dalam sistem. Dokumentasi Otomatis: Tes yang ditulis dapat berfungsi sebagai dokumentasi hidup dari sistem. Desain yang Lebih Baik: TDD mendorong desain kode yang modular dan dapat diuji. Tantangan: Kurva Belajar: Memulai dengan TDD bisa menjadi sulit, terutama bagi pengembang yang belum terbiasa dengan pengujian otomatis. Waktu Pengembangan Awal yang Lebih Lama: Menulis tes dan kode fungsional dapat memakan waktu lebih lama di awal, meskipun ini biasanya terbayar dalam jangka panjang dengan kualitas kode yang lebih tinggi. ISSN 2089-8711 E-ISSN 2615-093X | Penerapan Test DrivenA JURNAL SISTEM INFORMASI STMIK ANTAR BANGSA [VOL. Xi NO. 02 AGUSTUS 2. METODE PENELITIAN Penelitian ini menggunakan pendekatan kualitatif dan kuantitatif untuk menganalisis penerapan TDD dalam pengembangan aplikasi dengan Laravel. Pendekatan kualitatif digunakan untuk memahami persepsi dan pengalaman pengembang yang menggunakan TDD, sedangkan pendekatan kuantitatif digunakan untuk mengukur efektivitas TDD dalam hal kualitas kode dan waktu pengembangan. Laravel adalah framework PHP yang sangat cocok untuk penerapan TDD karena dukungan yang kuat dari komunitasnya dan integrasi alat pengujian seperti PHPUnit dan Laravel Dusk. Jalankan migrasi untuk membuat tabel di database. Ubah file Post. php di direktori app/models untuk menambahkan properti $fillable, yaitu mengaktifkan mass Pengumpulan Data Metode pengumpulan data pada penelitian ini dilakukan dengan melakukan studi literatur untuk memahami konsep dasar TDD, manfaat dan tantangannya, serta bagaimana Laravel mendukung TDD. Sumber literatur mencakup buku, artikel jurnal, dokumentasi resmi Laravel, dan blog Mengimplementasikan studi kasus penerapan TDD dalam proyek Laravel nyata. Studi kasus ini mencakup seluruh siklus pengembangan dari penulisan tes, pengembangan fitur, hingga refactoring. Data yang dikumpulkan mencakup waktu pengembangan, jumlah bug yang ditemukan, dan perubahan kualitas kode. Implementasi Implementasi program dilakukan dengan mempersiapkan lingkungan pengujian: Laravel menggunakan PHPUnit sebagai kerangka kerja pengujian default. Pertama adalah membuat proyek Laravel untuk mengelola sumber daya posting. assignment untuk atribut yang aman dengan menandai mereka sebagai "fillable". Konfigurasi pengaturan database di file . env yang terletak di root proyek Laravel untuk menggunakan SQLite atau MySql, lalu buat model, migration, dan controller untuk mengelola sumber daya posting. Lakukan modifikasi di file migrasi untuk memasukkan bidang yang diperlukan. Selanjutnya adalah menulis tes atau pengujian, kita akan menambahakan fitur untuk mengelola postingan dalam aplikasi Laravel. Lalu, implementasikan fungsionalitas untuk membuat pengujian berhasil. Perapihan Kode Dalam pendekatan Test First Development (TFD), kode yang dihasilkan biasanya belum rapi. Oleh karena itu, diperlukan proses perapihan kode untuk meningkatkan kemudahan pemeliharaan. IV. HASIL DAN PEMBAHASAN Penelitian ini menghasilkan sebuah aplikasi web untuk mengelola sumber daya posting. Pengembangan aplikasi menggunakan metode Test Driven Development, yang dimulai dengan pengujian, dilanjutkan dengan implementasi program, dan diakhiri dengan proses perapihan kode. 61 ISSN 2098-8711 E-ISSN 2615-093X | Penerapan Test Driven . JURNAL SISTEM INFORMASI [VOL. Xi NO. 02 AGUSTUS 2. STMIK ANTAR BANGSA Menulis Pengujian Proses pengujian unit dibuat dengan bantuan PHPUnit. dengan perintah berikut: Jalankan pengujian dengan perintah berikut: Tulis pengujian untuk memverifikasi bahwa pengguna dapat membuat postingan. Buat file pengujian jika belum ada, menggunakan perintah berikut: Edit file pengujian pembuatan postingan. Gambar 1. Hasil Pengujian Unit Implementasi Fungsionalitas Selanjutnya, implementasikan fungsionalitas untuk membuat pengujian berhasil. Buka file routes/web. php dan tentukan rute untuk operasi CRUD aplikasi. Tabel 1. Hasil Pengujian Unit Unit Hasil Pengujian Tambah Posting Berhasil Perapihan Kode Dengan berhasilnya pengujian. Kode dapat dirapihkan untuk meningkatkan strukturnya dan keterbacaan sambil memastikan pengujian tetap berhasil. Buka app/Http/Controllers/PostController. implementasikan metode controller untuk CRUD pengelolaan KESIMPULAN Penerapan TDD dalam pengembangan aplikasi menggunakan Laravel menawarkan banyak keuntungan, termasuk kode yang lebih andal, desain yang lebih baik, dan ISSN 2089-8711 E-ISSN 2615-093X | Penerapan Test DrivenA JURNAL SISTEM INFORMASI STMIK ANTAR BANGSA [VOL. Xi NO. 02 AGUSTUS 2. dokumentasi otomatis. Meskipun ada tantangan dalam mengadopsi TDD, manfaat jangka panjangnya sering kali Dengan alat pengujian yang kuat seperti PHPUnit. Laravel menyediakan lingkungan yang sangat baik untuk penerapan TDD. Implementasi studi kasus sederhana menunjukkan bagaimana TDD dapat digunakan untuk mengembangkan fitur-fitur baru secara iteratif dan teruji dengan baik. UCAPAN TERIMA KASIH Penulis bersyukur kepada Tuhan Yang Maha Esa. Pencipta alam semesta, dan ingin mengungkapkan rasa terima kasih kepada semua individu dan kelompok yang telah memberikan bantuan, dukungan, dan arahan berharga selama pelaksanaan penelitian ini. REFERENSI