• Tidak ada hasil yang ditemukan

BAB 5 KESIMPULAN DAN SARAN

5.2 Saran

Adapun saran yang dapat diberikan adalah sebagai berikut:

1. Relay yang ada pada modul relay hanya dapat menangani arus dengan nilai maksimal 10 ampere. Pastikan perangkat yang dihubungkan ke modul relay tidak menggunakan arus yang lebih besar dari 10 ampere. Karena hal tersebut dapat menyebabkan kegagalan pada saklar magnetik

2. Pengukuran waktu respon sistem Home Automation hendaknya dilakukan beberapa kali karena terdapat ketidak pastian keadaan jaringan pada saat tertentu. Jadi dengan melakukan pengukuran beberapa kali, hasil yang diperoleh akan lebih menggambarkan waktu respon yang sesungguhnya. 3. Kode program bagian controller pada Tugas Akhir ini dapat diakses di

www.github.com/nugrahawahyu/Fugue untuk peneliti berikutnya yang tertarik untuk mengembangkan sistem Home Automation yang telah dirancang.

BAB 2 TEORI DASAR

2.1 Home Automation

Home Automation merupakan sebuah metode dari pengendalian perangkat – perangkat yang ada dirumah secara otomatis untuk kemudahan dan kenyamanan dari penggunanya. Teknologi ini membuat kehidupan yang lebih mudah bagi penggunanya, dan dapat menghemat penggunaan energi dengan membatasi penggunaan perangkat-perangkat. Kontrol yang dilakukan dapat berupa kontrol sederhana berupa mematikan lampu dengan sebuah remote atau berupa menghubungkan beberapa perangkat yang ada dirumah kedalam sebuah jaringan perangkat – perangkat yang dapat diprogram menggunakan sebuah Controller

utama atau bahkan pengendalian menggunakan ponsel dari mana saja[2].

Bagian – bagian Home Automation adalah seperti yang terlihat pada Gambar 2.1. Terdapat tiga layer utama pada sistem Home Automation yaitu:

Sensor/Inputlayer, merupakan bagian yang meliputi input jarak jauh dari user dan sensor – sensor yang tehubung ke sistem Home Automation untuk mendapatkan nilai pengukuran beberapa parameter seperti suhu, cahaya dan sebagainya;

Control layer, merupakan bagian yang melakukan kendali berdasarkan program yang dipasangkan pada bagian tersebut; Actuator layer, merupakan bagian yang dikendalikan oleh Controler berdasarkan input dari pengguna atau berdasarkan nilai pembacaan sensor.

Home Automation Control Se nsors/Inputs Actuator Temperatur Controller Intensitas Cahaya Clock Perintah Jarak Jauh Script Status

Gambar 2.1 Tiga layer utama sistem Home Automation 2.2 Arduino

Arduino adalah sebuah BoardController yang bersifat open-source. Arduino banyak digunakan dengan tujuan edukasi diseluruh dunia, terutama oleh designer

yang ingin membuat sebuah prarupa dengan mudah tapi tidak membutuhkan pemahaman yang mendalam dari detail - detail teknikal yang ada dibelakang desainnya. Arduino juga mempunyai banyak contoh kode untuk mendemostrasikan berbagai penggunaan board tersebut.

2.2.1 Software Arduino

Software dari arduino disebut dengan sketches, yang tulis dalam bahasa pemprograman C++, dapat dibuat pada Arduino integrated development environtment (IDE) atau dengan menggunakan text editor lainnya. Kemudian setelah sketches siap, Arduino IDE digunakan untuk compile dan meng-upload Sketches ke Board arduino. Gambar 2.2memperlihatkan contoh dari sebuah Sketch Arduino.

1 v oi d s et up( ) {

2 pi nMode(LED_BUI LTI N, OUTPUT) ; 3 }

4

5 v oi d l oop( ) {

6 di gi t al Wr i t e(LED_BUI LTI N, LOW) ; 7 del ay(1000) ;

8 di gi t al Wr i t e(LED_BUI LTI N, HI GH) ; 9 del ay(2000) ;

10 }

Gambar 2.2 Contoh sebuah sketch Arduino

2.2.2 Hardware Arduino

Board Arduino adalah tempat dimana kode yang telah ditulis akan dieksekusi. Board tersebut hanya bisa mengontrol dan merespon listrik, jadi beberapa komponen spesifik ditambahkan untuk membuatnya dapat berinteraksi dengan dunia nyata. Komponen ini dapat berupa sensor, yang mengkonversikan beberapa aspek dari dunia nyata ke dalam bentuk listrik sehingga Arduino dapat merasakannya, atau berupa aktuator, yang mendapatkan listrik dari Arduino dan mengkonversikannya ke dalam bentuk lain seperti gerakan, cahaya, dan sebagainya. Contoh dari sensor meliputi switch, passive infrared sensor, dan

ultrasound distance sensor. Aktuator merupakan komponen seperti LED, speaker,

motor, dan masih banyak contoh lainnya [3]. Gambar 2.3 menunjukkan sebuah penampang Wemos D1 yang merupakan clone dari BoardArduino Uno yang dilengkapi dengan modul Wi-Fi ESP8266 dengan kapasitas flash memory sebesar 1MB dan RAM sebesar 82KB.

Gambar 2.3BoardWemos D1

TCP/IP adalah gabungan dari protokol TCP dan IP sebagai sekelompok protokol yang mengatur satu komputer ke komputer lain di dalam jaringan pengiriman data sampai ke alamat yang dituju. sendiri, karena protokol ini berupa kumpulan protokol ini juga merupakan protokol yang paling banyak digunakan saat ini, karena protokol ini mampu bekerja dan dapat diimplementasikan pada lintas

perangkat lunak ini adalah

2.3.1 Arsitektur Protokol TCP/IP

Dalam arsitektur jaringan komputer, terdapat suatu lapisan-lapisan (layer) yang memiliki tugas spesifik serta memiliki protokol tersendiri. ISO (International Standard Organization) telah mengeluarkan suatu standar untuk arsitektur jaringan komputer yang dikenal dengan nama Open System

Interconnection (OSI). Standarini terdiri dari 7 lapisan protokol yang menjalankan fungsi komunikasi antara 2 komputer. Dalam TCP/IP hanya terdapat 4 lapisan. Adapun perbandingan arsitektur OSI dan TCP/IP ini diperlihatkan pada Gambar 2.4.

Arsitektur OSI Arsitektur TCP/IP

Aplication Layer

Presentation Layer

Session Layer

Transport Layer

Network Layer

Data Link Layer

Network Access Layer Aplication Layer

Transport Layer

Internet Layer

Physical Layer

Gambar 2.4Perbandingan arsitektur OSI dan TCP/IP.

Pada Gambar 2.4 dapat diperhatikan bahwa pada Layer OSI terdapat

7-layer yang dimulai dari physical layer, data link layer, network layer, transport layer, session layer, presentation layer dan application layer. Sedangkan pada

TCP/IP hanya terdapat 4 layer, network access layer, internet layer, transport layer dan application layer.

Walaupun jumlahnya berbeda, namun semua fungsi dari lapisan-lapisan arsitektur OSI telah tercakup oleh arsitektur TCP/IP. Adapun rincian fungsi masing-masing layer arsitektur TCP/IP adalah sebagai berikut:

a. Network Access Layer mempunyai fungsi yang mirip dengan Data Link layer pada OSI. Lapisan ini mengatur penyaluran data frame-frame data pada media fisik yang digunakan secara handal. Lapisan ini biasanya memberikan servis untuk deteksi dan koreksi kesalahan dari data yang ditransmisikan. Beberapa contoh protokol yang digunakan pada lapisan ini adalah X.25 jaringan publik, Ethernet untuk jaringan Ethernet, AX.25 untuk jaringan Paket Radio dan sebagainya.

b. Internet Layer mendefinisikan bagaimana hubungan dapat terjadi antara dua pihak yang berada pada jaringan yang berbeda seperti Network Layer

pada OSI. Pada jaringan Internet yang terdiri atas puluhan juta host dan ratusan ribu jaringan lokal, lapisan ini bertugas untuk menjamin agar suatu paket yang dikirimkan dapat menemukan tujuannya dimana pun berada. Oleh karena itu, lapisan ini memiliki peranan penting terutama dalam mewujudkan internet working yang meliputi wilayah luas (worldwide Internet). Beberapa tugas penting pada lapisan ini adalah:

i. Addressing, yakni melengkapi setiap datagram dengan alamat Internet dari tujuan. Alamat pada protokol inilah yang dikenal dengan Internet ProtocolAddress (IP Address). Karena pengalamatan (addressing) pada jaringan TCP/IP berada pada level ini (Software), maka jaringan TCP/IP independen dari jenis media dan komputer yang digunakan.

ii. Routing, yakni menentukan kemana datagram akan dikirim agar mencapai tujuan yang diinginkan. Fungsi ini merupakan fungsi terpenting dari IP. Sebagai protokol yang bersifat connectionless, proses routing sepenuhnya ditentukan oleh jaringan. Pengirim tidak memiliki kendali terhadap paket yang dikirimkannya untuk bisa mencapai tujuan. Router-router pada jaringan TCP/IP adalah hal yang sangat menentukan dalam penyampaian datagram dari penerima ke tujuan.

c. Transport Layer mendefinisikan cara-cara untuk melakukan pengiriman data antara end-to-end host secara handal. Lapisan ini menjamin bahwa informasi yang diterima pada sisi penerima adalah sama dengan informasi yang dikirimkan pada pengirim. Untuk itu, lapisan ini memiliki beberapa fungsi penting antara lain:

i. Flow Control

Pengiriman data yang telah dipecah menjadi paket paket tersebut harus diatur sedemikian rupa agar pengirim tidak sampai mengirimkan data dengan kecepatan yang melebihi kemampuan penerima dalam menerima data.

ii. Error Detection

Pengirim dan penerima juga melengkapi data dengan sejumlah informasi yang bisa digunakan untuk memeriksa data yang dikirimkan bebas dari kesalahan. Jika ditemukan kesalahan pada paket data yang diterima, maka penerima tidak akan menerima data tersebut. Pengirim akan mengirim ulang paket data yang

mengandung kesalahan tadi. Namun hal ini dapat menimbulkan

delay yang cukup berarti.

Pada TCP/IP, protokol yang dipergunakan adalah TCP atau UDP. TCP dipakai untuk aplikasi-aplikasi yang membutuhkan keandalan data, sedangkan UDP digunakan untuk aplikasi yang membutuhkan panjang paket yang pendek dan tidak menuntut keandalan yang tinggi. TCP memiliki fungsi flow control dan error detection dan bersifat connection

oriented. Sebaliknya pada UDP yang bersifat connectionless tidak ada mekanisme pemeriksaan data dan flow control, sehingga UDP disebut juga unreliable protocol.

d. Application Layer merupakan lapisan terakhir dalam arsitektur TCP/IP yang berfungsi mendefinisikan aplikasi - aplikasi yang dijalankan pada jaringan. Karena itu, terdapat banyak protokol pada lapisan ini, sesuai dengan banyaknya aplikasi TCP/IP yang dapat dijalankan. Contohnya adalah SMTP (Simple Mail Transfer Protocol) untuk pengiriman e-mail, FTP (File Transfer Protocol) untuk transfer file, HTTP (Hyper Text Transfer Protocol) untuk aplikasi web, NNTP (Network News Transfer

Protocol) untuk distribusi news group dan lain-lain. Setiap aplikasi pada umumnya menggunakan protokol TCP dan IP, sehingga keseluruhan keluarga protokol ini dinamai dengan TCP/IP[4].

2.3.2 Pengiriman dan Penerimaan Paket Data

Layer-layer dan protokol yang terdapat dalam arsitektur jaringan TCP/IP menggambarkan fungsi-fungsi dalam komunikasi antara dua buah komputer.

Setiap lapisan menerima data dari lapisan di atas atau dibawahnya, kemudian memproses data tersebut sesuai fungsi protokol yang dimilikinya dan meneruskannya ke lapisan berikutnya. Ketika dua komputer berkomunikasi, terjadi aliran data antara pengirim dan penerima melalui lapisan-lapisan di atas. Pada pengirim, aliran data adalah dari atas ke bawah. Data dari user maupun suatu aplikasi dikirimkan ke Lapisan Transport dalam bentuk paket-paket dengan panjang tertentu. Protokol menambahkan sejumlah bit pada setiap paket sebagai

header yang berisi informasi mengenai urutan segmentasi untuk menjaga integritas data dan bit-bit pariti untuk deteksi dan koreksi kesalahan.

Dari Lapisan Transport, data yang telah diberi header tersebut diteruskan ke Lapisan Network / Internet. Pada lapisan ini terjadi penambahan header oleh protokol yang berisi informasi alamat tujuan, alamat pengirim dan informasi lain yang dibutuhkan untuk melakukan routing. Kemudian terjadi pengarahan routing

data, yakni ke network dan interface yang mana data akan dikirimkan, jika terdapat lebih dari satu interface pada host. Pada lapisan ini juga dapat terjadi segmentasi data, karena panjang paket yang akan dikirimkan harus disesuaikan dengan kondisi media komunikasi pada network yang akan dilalui. Proses komunikasi data di atas dapat dilihat seperti pada Gambar 2.5.

Ekapsulasi Data Transport Layer Aplication Layer Internet Layer Network Access Layer Data Data Header Data Header Data Header Send Receive

Gambar 2.5 Proses enkapsulasi Data.

Selanjutnya data menuju Network Access Layer (Data Link) dimana data akan diolah menjadi frame-frame, menambahkan informasi keandalan dan

address pada level link. Protokol pada lapisan ini menyiapkan data dalam bentuk yang paling sesuai untuk dikirimkan melalui media komunikasi tertentu.

Terakhir data akan dikirimkan dalam bentuk besaran-besaran listrik/fisik seperti tegangan, arus, gelombang radio maupun cahaya, sesuai media yang digunakan. Di bagian penerima, proses pengolahan data mirip seperti di atas hanya dalam urutan yang berlawanan (dari bawah ke atas). Sinyal yang diterima pada akan diubah dalam ke dalam data. Protokol akan memeriksa integritasnya dan jika tidak ditemukan error, header yang ditambahkan akan dilepas. Selanjutnya data diteruskan ke lapisan network. Pada lapisan ini, address tujuan dari paket data yang diterima akan diperiksa. Jika address tujuan merupakan

addresshost yang bersangkutan, maka header lapisan network akan dicopot dan data akan diteruskan ke lapisan yang diatasnya. Namun jika tidak, data akan di forward ke network tujuannya, sesuai dengan informasi routing yang dimiliki.

Pada lapisan Transport, kebenaran data akan diperiksa kembali, menggunakan informasi header yang dikirimkan oleh pengirim. Jika tidak ada kesalahan, paket-paket data yang diterima akan disusun kembali sesuai urutannya pada saat akan dikirim dan diteruskan ke lapisan aplikasi pada penerima. Proses yang dilakukan tiap lapisan tersebut dikenal dengan istilah enkapsulasi data. Enkapsulasi ini sifatnya transparan, maksudnya suatu lapisan tidak perlu mengetahui ada berapa lapisan yang ada di atasnya maupun di bawahnya. Masing masing hanya mengerjakan tugasnya. Pada pengirim, tugas ini adalah menerima data dari lapisan diatasnya, mengolah data tersebut sesuai dengan fungsi protokol, menambahkan header protokol dan meneruskan ke lapisan di bawahnya. Pada penerima, tugas ini adalah menerima data dari lapisan di bawahnya, mengolah data sesuai fungsi protokol, mencopot header protokol tersebut dan meneruskan ke lapisan di atasnya[4].

2.3.3 Internet Protocol

Internet Protocol (IP) berfungsi menyampaikan paket data ke alamat yang tepat. Oleh karena itu Internet Protokol memegang peranan yang sangat penting dari jaringan TCP/IP. Karena semua aplikasi jaringan TCP/IP pasti bertumpu kepada IP agar dapat berjalan dengan baik. IP merupakan protokol pada

networklayer yang bersifat:

a. Connectionless, yakni setiap paket data yang dikirim pada suatu saat akan melalui rute secara independen. Paket IP (datagram) akan melalui rute yang ditentukan oleh setiap router yang dilalui oleh datagram tersebut. Hal ini memungkinkan keseluruhan datagram tiba di tempat tujuan dalam

b. Unreliable atau ketidakandalan yakni Protokol IP tidak menjamin

datagram yang dikirim pasti sampai ke tempat tujuan. Ia hanya akan melakukan best effort delivery yakni melakukan usaha sebaik-baiknya agar paket yang dikirim tersebut sampai ke tujuan.

Suatu datagram bisa saja tidak sampai dengan selamat ke tujuan karena beberapa hal berikut:

a. Adanya bit error pada saat pentransmisian datagram pada suatu medium. b. Router yang dilewati mendiscard datagram karena terjadinya kongesti dan

kekurangan ruang memori buffer.

c. Putusnya rute ke tujuan untuk sementara waktu akibat adanya router yang

down.

d. Terjadinya kekacauan routing, sehingga datagram mengalamilooping. IP juga didesain untuk dapat melewati berbagai media komunikasi yang memiliki karakteristik dan kecepatan yang berbeda-beda. Pada jaringan Ethernet, panjang satu datagram akan lebih besar dari panjang datagram pada jaringan publik yang menggunakan media jaringan telepon, atau pada jaringan wireless. Perbedaan ini semata-mata untuk mencapai throughput yang baik pada setiap media. Pada umumnya, semakin cepat kemampuan transfer data pada media tersebut, semakin besar panjang datagram maksimum yang digunakan. Akibat dari perbedaan ini, datagram IP dapat mengalami fragmentasi ketika berpindah dari media kecepatan tinggi ke kecepatan rendah (misalnya dari LAN ethernet 10 Mbps ke leased line menggunakan Point-to-Point Protocol dengan kecepatan 64 kbps). Pada router/host penerima, datagram yang ter-fragmen ini harus disatukan kembali sebelum diteruskan ke router berikutnya, atau ke lapisan transport pada

host tujuan. Hal ini menambah waktu pemrosesan pada router dan menyebabkan

delay[4].

2.4 Wireless Fidelity (Wi-Fi)

Wi-Fi adalah sebuah teknologi terkenal yang memanfaatkan peralatan elektronik untuk bertukar data secara nirkabel (menggunakan gelombang radio) melalui sebuah jaringan komputer, termasuk koneksi Internet berkecepatan tinggi. Wi-Fi Alliance mendefinisikan Wi-Fi sebagai "produk jaringan wilayah lokal nirkabel (WLAN) apapun yang didasarkan pada standar Institute of Electrical and Electronics Engineers (IEEE) 802.11". Meski begitu, karena kebanyakan WLAN zaman sekarang didasarkan pada standar tersebut, istilah "Wi-Fi" dipakai dalam bahasa Inggris umum sebagai sinonim "WLAN"[6].

Sebuah alat yang dapat memakai Wi-Fi (seperti komputer pribadi, konsol

video game, telepon pintar, tablet, atau pemutar audio digital) dapat terhubung dengan sumber jaringan seperti Internet melalui sebuah titik akses jaringan nirkabel. Titik akses (atau access point) seperti itu mempunyai jangkauan sekitar 20 meter di dalam ruangan dan lebih luas lagi di luar ruangan. Cakupan access point dapat mencakup wilayah seluas kamar dengan dinding yang memblokir gelombang radio atau beberapa kilometer persegi.

2.5 Hypertext Transfer Protocol (HTTP)

HTTP adalah sebuah protokol yang digunakan untuk berkomunikasi di dalam World Wide Web(WWW). Ada banyak aplikasi dari HTTP, tapi HTTP paling populer digunakan untuk komunikasi dua arah antara web browsers dan

web servers[7]. HTTP mulai sebagai sebuah protokol yang sederhana. Sekarang semuanya telah berubah, HTTP menjadi sebuah protokol yang sangat populer

2.5.1 HTTP: Kurir Multimedia di Internet

Miliaran gambar JPEG, halaman HTML, file teks, video MPEG, fileaudio

WAV, java applets, dan masih banyak lagi berlayar di internet setiap hari. HTTP membawa informasi ini dengan sangat cepat, mudah, dan terpercaya dari web server yang ada di berbagai lokasi ke web browser yang ada di pengguna.

Karena HTTP menggunakan protokol transimisi data yang reliable, dia menjamin bahwa data user tidak akan rusak atau teracak pada saat transit, bahkan ketika data tersebut datang dari belahan bumi yang lain. Hal ini bagus untuk pengguna, karena pengguna dapat mengakses informasi tanpa perlu khawatir tentang apa yang terjadi di belakang. Transmisi yang reliable juga bagus untuk para pengembang aplikasi internet, karena mereka bisa fokus pada detail – detail aplikasi mereka tanpa perlu khawatir tentang ketidak pastian yang ada di jaringan internet

2.5.2 Web Client dan Web Server

Konten web disimpan di dalam web servers. Web servers berkomukasi dengan menggunakan protokol HTTP, sehingga mereka seringkali disebut server

HTTP. Server HTTP ini menyimpan data internet dan menyediakan data tersebut ketika data tersebut di minta (requested) oleh klien HTTP. Klien mengirim

request HTTP ke server, dan server mengirimkan kembali data yang diminta di dalam pespon HTTP, seperti yang terlihat pada Gambar 2.6. HTTP cilents dan

HTTP servers secara bersama – sama membangun komponen dasar dari World Wide Web.

Gambar 2.6Web servers dan web clients

2.5.3 HTTP Methods

HTTP men-support beberapa perintah request yang berbeda, yang disebut

HTTP methods. Setiap pesan requestHTTP mempunyai sebuah method.

Methodmenyatakan aksi apa yang akan dilakukan. Tabel 2.1 menampilkan beberapa mehtod HTTP yang sering digunakan [7].

Tabel 2.1 Beberapa HTTP methods yang sering digunakan.

HTTP Method Deskripsi

GET Mengirimkan data yang diminta

dari server ke klien

PUT Menyimpan data yang berasal dari

klien ke resourcesserver.

DELETE Membuang resource dari server

POST Mengirimkan data klien ke sebuah

aplikasi serverGateway.

2.5.4 HTTP Persistent dan HTTP Non-persistent

Connection dibagi menjadi 2 yaitu persistent dan non-persistent.

Persistentconnection adalah linkatau sambungan yang tidak akan mati atau tertutup ketika pengeksekusian scriptnya berakhir. Jika persistentconnection

tersebut diminta, maka akan langsung mengecek apakah sambungan tersebut masih ada atau tidak. Jika masih ada, maka sambungan itu akan langsung digunakan. Jika tidak ada, maka akan berusaha membuat sambungan tersebut.

Non-persistentconnection ini berkebalikan dengan persistentconnection artinya

linkatau sambungan akan langsung ditutup atau mati saat pengeksekusian script berakhir. Jadi setiap link ini dipanggil, maka ia akan langsung membuat sambungan baru.

2.6 Personal Home Page (PHP)

PHP adalah sebuah bahasa scriptyang di interpretasikan di bagian server. Ini berarti kode PHP di-upload terlebih dahulu ke web server, kemudian di eksekusi oleh sebuah interpreter. PHP biasanya digunakan dengan sebuah web serverseperti Apache untuk memberikan konten yang dinamis. Namun PHP juga bisa digunakan untuk membuat sebuah aplikasi command-line(seperti bash, Ruby, Python)[8].

2.6.1 Fitur PHP

Bahasa PHP modern mempunyai banyak fitur baru menarik. Fitur – fitur baru ini membuat bahasa PHP menjadi sebuah platform yang kuat dan menyediakan pengalaman yang menyenangkan dalam membangun aplikasi

2.6.1.1Namespaces

Namespacesadalah sebuah fitur penting yang mengorganisir kode PHP menjadi sebuah hirarki virtual seperti struktur direktori yang ada pada filesystem

sistem operasi. Setiap komponen dan frameworkPHP modern mengorganisir kodenya dibawah namespace global vendor yang unik sehingga kode yang dimilikinya tidak konflik atau memiliki nama class yang sama dengan class yang digunakan oleh vendor lain[8].

2.6.1.2Multiple Imports

Ketika melakukan import beberapa class, interface, fungsi, atau konstanta kedalam sebuah file PHP, kata kunci useakan banyak sekali digunakan untuk melakukan hal tersebut. PHP mempunyai sintaks pintas yang dapat menggabungkan beberapa pernyataan usemenjadi satu seperti yang terlihat pada Gambar 2.7.

1 <?php

2

3 us e I l l umi nat e\ Cons ol e\ Sc hedul i ng\ Sc hedul e,

4 I l l umi nat e\ Foundat i on\ Cons ol e\ Ker nel as Cons ol eKer nel ;

Gambar 2.7 Pengunaan satu pernyataan use untuk meng-import beberapa class 2.6.1.3Autoloading

Autoloader adalah salah satu fitur yang banyak dijumpai pada komponen PHP modern. Dengan adanya autoloader, dependencies proyek dapat di-autoload dengan menggunakan pengelola dependencies Composer. Jadi ketika pada suatu

Dokumen terkait