Skip to main content

Mengenal Composer

Apa itu Composer?

Dahulu, untuk membuat sebuah aplikasiwebsile, programmer akan membuat semua skrip dari awal. Kemudian mereka menyadari bahwa setiap aplikasi biasanya memiliki lungsi-fungsi yang sama, misalnya: mengirim email, membuat pagination, manajemen database, autentitikasi, manipulast string dan sebagain Maka mereka mulai mengoleksi skrip-skrip tersebut untuk digunakan pada provek berikutnya. Selain skrip yang dibuat sendiri, terkadang skrip-skrip tersebut juga didapatkan dari internet.

Seiring dengan semakin diterimanya Object Oriented Programming (OOP) di komunitas PHP, maka semakin timbul kesadaran akan pentingnya membuat kode yang reusable. Kode tersebut berupa class-class library yang bersifat modular, artinya dapat dipasang ketika diperlukan, seperti bongkar pasang. Sebelumnya, PHP memiliki kumpulan skrip/library resmi yang disebut PHP Extension and Application Repository (PEAR) dan PHP Extension Community Library (PECL). 

Ketika kita membutuhkannya dalam membuat sebuah aplikasi kita bisa memasangnya sesuai kebutuhan. Namun karena dianggap banyak kekurangan, terlalu rumit penggunaannya dan ukuran yang besar, maka tidak banyak yang memakainya. Pada titik inilah, mulai berkembang framework PHP yang lebih sederhana dan mudah dipakai. 

Sebut saja Codeigniter dan CakePHP, dua framework PHP yang cukup populer karena ukuran yang kecil serta mudah digunakan. Framework tersebut menyediakan fitur-fitur dasar yang biasa diperlukan pada sebuah aplikası, namun dengan tidak berlebihan. Jika ada fitur yang tidak tersedia kita tinggal menambahkan, baik dengan membuat sendiri atau memasang library pihak keiga Permasalahan muncul ketika framework-framework tersebut ternyata memiliki cara implementasi/aturan-aturan yang berbeda dalam membuat sebuah kode. 

Sebuah library yang semula dibuat untuk Codeigniter, ternyata tidak 100 persen sesuai untuk CakePHP, begitu pula sebaliknya. Bahkan sebuah library yang dibuat untuk Kohana temyata juga tidak sesuai untuk Codeigniter, dimana Kohana adalah produk turunan dari Codeigniter Hal ini memaksa programmer untuk membuat library yang spesifik untuk setiap framework. 

Framework PHP yang sebenamya lahir sebagai pengganti PEAR dan PECL tenyata masih memiliki masalah yang sama, yaitu kode yang tidak reusable. Masalah inilah yang terkadang membuat komunitas PHP dipandang sebelah mata dan dianggap sebagai amatiran. Sebuah library yang dalam perkembangannya disebut Package (paket) di komunitas PHP, biasanya dibuat oleh orang/kelompok yang berbeda. Kemudian mereka membagnya di internet. 

Dalam perjalanannya, tak jarang paket tersebut mengalami perbaikan/update, baik itu karena perbaikan bug atau penambahan fitur dan fungsi. Sehingga paket tersebut memiliki beberapa versi Sebuah paket, terkadang juga dibuat dengan memanfaatkan paket lainnya. Katakanlah Paket A dibuat dengan memanfaatkan Paket C. 

Dengan demikian dapat dikatakan bahwa Paket A tergantung dengan Paket C. Faktanya, sebuah paket terkadang dibuat dengan memanfaatkan beberapa paket sekaligus. Pada contoh sebelumnya, Paket C ternyata dibuat dengan memanfaatkan Paket K dan Paket M. Dengan demikian Paket C tergantung pada Paket K dan Paket M. Jadi, Paket A tergantung kepada Paket C, K dan M. Ilustrasinya lihat pada gambar dibawah. Aplikasi Paket A Paket C aww Paket K Paket M Gambar 1.1 lustrasi hubungan antar class pada beberapa paket.



Pada gambar 1.I bukan merupakan diagram standar yang digunakan untuk menggambarkan hubungan antar class, 1tu cara saya agar penggambaran konsep hubungan antar class pada suatu/beberapa paket dapat mudah dimengerti. 

Sudah disebutkan sebelumnya, bahwa sebuah paket terkadang memiliki beberapa versi. Bagaimana seandainya Paket A versi 1.0 mermbutuhkan Paket C versi 2.5. Paket C versi 2.5 tersebut membutuhkan Paket K dengan versi minimum 2 dan maksimum versi 4.0. Selain itu, Paket C 2.5 tersebut membutuhkan Paket M dengan versi 3.5.5 ke bawah, karena jika menggunakan Paket M dengan ve atas 3.5.5, maka Paket C 2.5 menjadi tidak berfungsi dengan baik. Dari contoh tersebut dapat disimpulkan bahwa sebuah paket dapat bergantung dengan paket lainnya. Ketergantungan ini biasa disebut dependency. 

Dan setiap paket memiliki dependency-nya masing-masing.Selain itu, sebuah paket dapat memiliki versi yang berbeda-beda, dan terkadang pada suatu dependencv juga mensyaratkan versi terientu yang spesifik. ency Menyadari rumitnya permasalahan tersebut, komunitas PHP harus menemukan cara yang lebih baik lagi untuk mengatur supaya sebuah paket pihak ketiga dapat dipasang pada suatu aplikasi dengan cara yang mudah dan universal, tidak melihat apa framework-nya, atau bahkan jika aplikasi tersebut tidak memakai lramework sama sekali. Dengan kata lain, komunitas PHP membutuhkan Package Manager yang lebih baik. 

Dari kebutuhan inilah, maka lahir Composer. Composer adalah package manager PHP. Dibandingkan dengan bahasa pemrograman lainnya, kelahiran package manager di PHP terbilang agak terlambat. Sebenarnya Composer terinspirasi dari NPM yaitu package manager Node.js, dan Bundler yang merupakan package manager Ruby. Dengan Composer, maka prOses instalasi sebuah paket menjadi lebih mudah. Ketika aplikasi yang kita buat membutuhkan Paket A seperti contoh di atas, maka dengan sekali perintah Composer akan memasang Paket A berserta semua dependency-nya (Paket C, K, M), tepat dengan versi yang disyaratkan. 

Composer akan mengurus semua ketergantungan antar paket secara otomatis. Pakel-paket yang diatur memakai Composer disimpan pada sebuah repository server terpusat yaitu https://packagist.org Lantas apa hubungan Composer dan Laravel? Laravel dibangun dengan banyakk Komponen yang dikenal dengan paket, baik itu paket yang dibuat oleh tm pengembang Laravel sendiri, atau paket dari pihak ketiga. Faktanya Laravel banyak menggunakan paket dari tramework symfony dan beberapa paket popule lainnya, Nah, Composer digunakan untuk menginstal Laravel, beserta semua dependecy-nya. 

Selain itu, Composer Juga digunakan untuk menambah paket paket lan jika diperlukan. Saat ini, beginilah cara modem untuk membangun sebuah aplikasi PHP. Aplikast PHP dibuat dengan memakai framework (atau tidak sama sekali) ditambah paKCt paket lain yang dibutuhkan, semuanya diatur dengan Composer. Berbeda denga dahulu, dimana kita harus membuat semua kode skripnya dari awal. lapi tentu saja untuk menampilkan "hello world" kita tidak perlu memakai framework, apalagi composer.

Instalasi Composer

Langkah-langkah untuk instal composer adalah sebagai berikut :

Langkah 1:

Langkah 2 :

Mengenal Composer

download file composer pada halaman tersebut dengan mengklik tautan Composer-Setup.exe, berikut adalah halaman download composer.

Langkah 3 :

setelah file Composer-Setup.exe didownload selanjutnya double klik file tersebut untuk memulai proses instalasi,kemudian akan muncul tampilan seperti berikut :
selanjutnya tekan tombol next maka akan muncul tampilan berikutnya  seperti pada gambar 4.


Langkah 4 :

pada tahap ini akan diminta untuk mencari lokasi tempat php terinstal, jika anda sudah instal xampp biasanya php.exe berada pada lokasi seperti gambar diatas yaitu C:\xampp\php\php.exe.

Langkah 5 :

selanjutnya tekan kembali tombol Next maka proses instalasi akan berjalan jika diminta untuk memasukan proxy anda tekan Next saja tidak perlu menceklist use a proxy server to connect internet kemudian tekan tombol install dan tekan tombol Next lagi jika diminta dan diakhiri dengan tampilan seperti berikut :

kemudian tekan tombol finish yang menandai proses instalasi telah selesai.

Langkah 6 :

langkah terakhir adalah menguji hasil instalasi yang telah kita lakukan, silahkan buka command prompt  anda dengan menekan tombol start ketik saja cmd

kemudian ketik composer pada command prompt, jika berhasil tampilan nya akan seperti berikut :


Demikian langkah-langkah untuk melakukan instalasi composer,jika ada pertanyaan silahkan isi dikolom komentar.






Comment Policy: Silahkan tuliskan komentar Anda yang sesuai dengan topik postingan halaman ini. Komentar yang berisi tautan tidak akan ditampilkan sebelum disetujui.
Buka Komentar
Tutup Komentar