CodeIgniter: Perbedaan antara revisi

Konten dihapus Konten ditambahkan
Totoprayogo1916 (bicara | kontrib)
Membalikkan revisi 10391211 oleh Computer Course (bicara)
Datago (bicara | kontrib)
Saya menambahkan kelebihan dari framework codeigniter
 
(45 revisi perantara oleh 20 pengguna tidak ditampilkan)
Baris 1:
{{Infobox software
|title = CodeIgniter
|developer = [http://bcit.ca/ British Columbia Institute of Technology]
|name = CodeIgniter
|author = [https://ellislab.com/codeigniter/ EllisLab]
|logo = CodeIgniterLogo.png
|name = CodeIgniter
|logo size = frameless
|title = CodeIgniter
|logo alt = CodeIgniter logo
|released = {{release date|2006|02|28}}
|logo caption =
|latest release version = 3.0.3<ref>{{Cite web
|screenshot = <!-- Image name is enough -->
| url = https://github.com/bcit-ci/CodeIgniter/releases/tag/3.0.3
|screenshot size =
| title = bcit-ci/CodeIgniter: Release v3.0.3
|screenshot alt =
| date = {{date|2015-11-01|mdy}} | accessdate = {{date|2015-11-03|mdy}}
|caption =
| website = github.com
|collapsible =
}}</ref>
|author = [[EllisLab]]
|latest release date = {{release date|2015|11|01}}
|developer = [[British Columbia Institute of Technology]] (2014-2019)<br />CodeIgniter Foundation (2019-sekarang)<ref>{{cite web|url=https://forum.codeigniter.com/thread-74677.html|title=The CodeIgniter Foundation is finally here.|date=2019-10-23|access-date=2020-06-10}}</ref>
|status = Aktif|programming language = [[PHP]]
|released = {{release date|2006|02|28}}
|operating system = [[Cross-platform]]
|discontinued =
|website = {{URL|http://www.codeigniter.com/}}
|latest release version = 4.1.9<ref name="ci_release">{{cite web|url=https://github.com/codeigniter4/CodeIgniter4/releases|title=Releases codeigniter4/CodeIgniter4|via=GitHub}}</ref>
|license = [[MIT License]]
|latest release date = {{release date|2022|02|26}}
|genre = [[Web application framework]]
|latest preview version =
|logo = [[File:Datei-Ci logo2.png|Datei-Ci logo2]]
|latest preview date =
|repo = {{plainlist|
* {{URL|https://github.com/bcit-ci/CodeIgniter|Repositori CodeIgniter v3}}
* {{URL|https://github.com/codeigniter4/CodeIgniter4|Repositori CodeIgniter v4}}
}}
|status = Aktif
|programming language = [[PHP]]
|operating system = [[Lintas platform]]
|platform = [[PHP]] 5.6.0+ (v3.1.11)<ref name="ci_requirements">{{cite web|url=https://www.codeigniter.com/user_guide/general/requirements.html|title=Server Requirements — CodeIgniter 3.1.11 documentation|website=www.codeigniter.com|access-date=2018-10-05|archive-date=2019-07-11|archive-url=https://web.archive.org/web/20190711002349/https://codeigniter.com/user_guide/general/requirements.html|dead-url=yes}}</ref> dan [[PHP]] 7.2 atau terbaru (v4.x)<ref name="ci4_requirements">{{cite web|url=https://codeigniter4.github.io/userguide/intro/requirements.html|title=Server Requirements — CodeIgniter 4.x documentation|website=www.codeigniter.com}}</ref>
|size =
|language =
|language count = <!-- Number only -->
|language footnote =
|genre = [[Kerangka kerja aplikasi web]]
|license = [[Lisensi MIT]]
|alexa =
|website = {{URL|https://codeigniter.com/}}
|standard =
|AsOf =
}}
 
'''CodeIgniter''' merupakan aplikasi [[sumber terbuka]] yang berupa frameworkkerangka kerja PHP dengan model [[MVC]] (Model, View, Controller) untuk membangun [[websitesitus web]] dinamis dengan menggunakan [[PHP]]. CodeIgniter memudahkan [[developer]]pengembang web untuk membuat aplikasi web dengan cepat dan mudah dibandingkan dengan membuatnya dari awal. CodeIgniter dirilis pertama kali pada [[28 Februari]] 2006. Versi stabil terakhir adalah versi 3.0.3.
 
== FrameworkKerangka kerja ==
Kerangka kerja secara sederhana dapat diartikan kumpulan dari fungsi-fungsi/prosedur-prosedur dan kelas-kelas untuk tujuan tertentu yang sudah siap digunakan sehingga bisa lebih mempermudah dan mempercepat pekerjaan seorang pemrogram, tanpa harus membuat fungsi atau kelas dari awal.
 
Ada beberapa alasan mengapa menggunakan [[kerangka kerja]]:{{cn}}
Framework secara sederhana dapat diartikan kumpulan dari fungsi-fungsi/prosedur-prosedur dan class-class untuk tujuan tertentu yang sudah siap digunakan sehingga bisa lebih mempermudah dan mempercepat pekerjaan seorang programer, tanpa harus membuat fungsi atau class dari awal.
* Mempercepat dan mempermudah pembangunan sebuah aplikasi [[situs web|web]].
* Relatif memudahkan dalam proses pemeliharaan karena sudah ada pola tertentu dalam sebuah kerangka kerja (dengan syarat [[pemrogram]] mengikuti pola standar yang ada).
* Umumnya kerangka kerja menyediakan fasilitas-fasilitas yang umum dipakai sehingga kita tidak perlu membangun dari awal (misalnya validasi, [[ORM]], paginasi, pangkalan data ganda, ''scaffolding'', pengaturan sesi, [[penanganan pengecualian]], dan lain-lain.
* Lebih bebas dalam pengembangan jika dibandingkan [[CMS]].
* Mendukung pembuatan CRUD (''Create, Read, Update, Delete'').
 
== Design Patern: MVC (Model, View, Controller) ==
Ada beberapa alasan mengapa menggunakan [[Framework]]:
Model View Controller merupakan suatu konsep yang cukup populer dalam pembangunan aplikasi web, berawal pada bahasa pemrograman Small Talk, MVC memisahkan pengembangan aplikasi berdasarkan komponen utama yang membangun sebuah aplikasi seperti manipulasi data, antarmuka pengguna, dan bagian yang menjadi kontrol aplikasi. Terdapat 3 jenis komponen yang membangun suatu pola MVC dalam suatu [[aplikasi]] yaitu:{{cn}}
* Mempercepat dan mempermudah pembangunan sebuah aplikasi [[website|web]].
* Relatif memudahkan dalam proses maintenance karena sudah ada pola tertentu dalam sebuah framework (dengan syarat [[programmer]] mengikuti pola standar yang ada)
* Umumnya framework menyediakan fasilitas-fasilitas yang umum dipakai sehingga kita tidak perlu membangun dari awal (misalnya validasi, [[ORM]], pagination, multiple database, scaffolding, pengaturan session, error handling, dll
* Lebih bebas dalam pengembangan jika dibandingkan [[CMS]]
 
# View, merupakan bagian yang menangani logika presentasi. Pada suatu aplikasi web bagian ini biasanya berupa berkas templat HTML, yang diatur oleh controller. View berfungsi untuk menerima dan merepresentasikan data kepada pengguna. Bagian ini tidak memiliki akses langsung terhadap bagian model.
== Design Patern: [[MVC]] (Model, View, Controller) ==
# Model, biasanya berhubungan langsung dengan pangkalan data untuk memanipulasi data (''insert, update, delete, search''), menangani validasi dari bagian controller, tetapi tidak dapat berhubungan langsung dengan bagian view.
# Controller, merupakan bagian yang mengatur hubungan antara bagian model dan bagian view, controller berfungsi untuk menerima permintaan dan data dari pengguna kemudian menentukan apa yang akan diproses oleh aplikasi.
 
Dengan menggunakan prinsip MVC suatu aplikasi dapat dikembangkan sesuai dengan kemampuan pengembangnya, yaitu pemrogram yang menangani bagian model dan controller, sedangkan desainer yang menangani bagian view, sehingga penggunaan arsitektur MVC dapat meningkatkan pemeliharaan dan pengorganisasian kode. Walaupun demikian dibutuhkan komunikasi yang baik antara pemrogram dan desainer dalam menangani variabel-variabel yang akan ditampilkan.<ref>[https://koderumit.com/2017/12/mengenal-framework-codeigniter.html Mengenal Framework Codeigniter] koderumit.com</ref>
Model View Controller merupakan suatu konsep yang cukup populer dalam pembangunan aplikasi web, berawal pada bahasa pemrograman Small Talk, MVC memisahkan pengembangan aplikasi berdasarkan komponen utama yang membangun sebuah aplikasi seperti manipulasi data, user interface, dan bagian yang menjadi kontrol aplikasi. Terdapat 3 jenis komponen yang membangun suatu MVC pattern dalam suatu [[aplikasi]] yaitu :
 
Ada beberapa kelebihan CodeIgniter (CI) dibandingkan dengan kerangka kerja PHP lain,{{cn}}
# View, merupakan bagian yang menangani presentation logic. Pada suatu aplikasi web bagian ini biasanya berupa file template HTML, yang diatur oleh controller. View berfungsi untuk menerima dan merepresentasikan data kepada user. Bagian ini tidak memiliki akses langsung terhadap bagian model.
* Performa sangat cepat: salah satu alasan tidak menggunakan kerangka kerja adalah karena eksekusinya yang lebih lambat daripada PHP ''from the scracth'', tapi CodeIgniter sangat cepat bahkan mungkin bisa dibilang CodeIgniter merupakan kerangka kerja yang paling cepat dibanding kerangka kerja yang lain.{{Butuh rujukan}}
# Model, biasanya berhubungan langsung dengan database untuk memanipulasi data (insert, update, delete, search), menangani validasi dari bagian controller, namun tidak dapat berhubungan langsung dengan bagian view.
* Konfigurasi yang sangat minim ''(nearly zero configuration)'': tentu saja untuk menyesuaikan dengan pangkalan data dan keleluasaan perutean tetap diizinkan melakukan konfigurasi dengan mengubah beberapa berkas konfigurasi seperti <code>database.php</code> atau <code>autoload.php</code>, tetapi untuk menggunakan CodeIgniter dengan pengaturan yang standar, Anda hanya perlu mengubah sedikit saja berkas pada [[folder]] <code>config</code>.{{Butuh rujukan}}
# Controller, merupakan bagian yang mengatur hubungan antara bagian model dan bagian view, controller berfungsi untuk menerima request dan data dari user kemudian menentukan apa yang akan diproses oleh aplikasi.
* Banyak komunitas: dengan banyaknya komunitas CI ini, memudahkan kita untuk berinteraksi dengan yang lain, baik itu bertanya atau teknologi terbaru.
* Dokumentasi yang sangat lengkap: setiap paket instalasi CodeIgniter sudah disertai [[panduan|panduan pengguna]] yang sangat bagus dan lengkap untuk dijadikan permulaan, bahasanya pun mudah dipahami.
* Berukuran sangat kecil: source code sangat kecil. Dan sudah include dokumentasinya yang sangat lengkap.
* Sangat mudah diintegrasikan: CodeIgniter sangat mengerti tentang pengembangan berbagai library saat ini. Karenanya CodeIgniter memberikan kemudahan untuk diintegrasikan dengan library-library yang tersedia saat ini.
* Mudah dipelajari: disamping dokementasi yang lengkap, ia juga memiliki berbagai forum diskusi.
 
== Versi ==
Dengan menggunakan prinsip MVC suatu aplikasi dapat dikembangkan sesuai dengan kemampuan developernya, yaitu programmer yang menangani bagian model dan controller, sedangkan designer yang menangani bagian view, sehingga penggunaan arsitektur MVC dapat meningkatkan maintanability dan organisasi kode. Walaupun demikian dibutuhkan komunikasi yang baik antara programmer dan designer dalam menangani variabel-variabel yang akan ditampilkan.
 
* Codeigniter v2.0
Ada beberapa kelebihan CodeIgniter (CI) dibandingkan dengan Framework PHP lain,
* CodeIgniter v2.1.0
* Performa sangat cepat : salah satu alasan tidak menggunakan framework adalah karena eksekusinya yang lebih lambat daripada PHP from the scracth, tapi Codeigniter sangat cepat bahkan mungkin bisa dibilang codeigniter merupakan framework yang paling cepat dibanding framework yang lain.
* CodeIgniter v2.1.1
* Konfigurasi yang sangat minim ''(nearly zero configuration)'' : tentu saja untuk menyesuaikan dengan database dan keleluasaan routing tetap diizinkan melakukan konfigurasi dengan mengubah beberapa file konfigurasi seperti database.php atau autoload.php, namun untuk menggunakan codeigniter dengan setting standard, anda hanya perlu mengubah sedikit saja file pada [[folder]] config.
* CodeIgniter v2.1.2
* Banyak komunitas: dengan banyaknya komunitas CI ini, memudahkan kita untuk berinteraksi dengan yang lain, baik itu bertanya atau teknologi terbaru.
* CodeIgniter v2.1.3
* Dokumentasi yang sangat lengkap : Setiap paket instalasi codeigniter sudah disertai [[panduan|user guide]] yang sangat bagus dan lengkap untuk dijadikan permulaan, bahasanya pun mudah dipahami.
* CodeIgniter v2.1.4
* Dan banyak lagi yang lainnya.
* CodeIgniter v2.2.0
* CodeIgniter v2.2.1
* CodeIgniter v2.2.2
* CodeIgniter v2.2.3
* CodeIgniter v2.2.4
* CodeIgniter v2.2.5
* CodeIgniter v2.2.6
* CodeIgniter v3.0.0
* CodeIgniter v3.0.1
* CodeIgniter v3.0.2
* CodeIgniter v3.0.3
* CodeIgniter v3.0.4
* CodeIgniter v3.0.5
* CodeIgniter v3.0.6
* CodeIgniter v3.1.0
* CodeIgniter v3.1.1
* CodeIgniter v3.1.10
* CodeIgniter v3.1.11
* CodeIgniter v3.1.12
* CodeIgniter v3.1.13
* CodeIgniter v3.1.2
* CodeIgniter v3.1.3
* CodeIgniter v3.1.4
* CodeIgniter v3.1.5
* CodeIgniter v3.1.6
* CodeIgniter v3.1.7
* CodeIgniter v3.1.8
* CodeIgniter v3.1.9
* CodeIgniter v4.0.0
* CodeIgniter v4.0.0-alfa.3
* CodeIgniter v4.0.0-alfa.5
* CodeIgniter v4.0.0-alpha.1
* CodeIgniter v4.0.0-alpha.2
* CodeIgniter v4.0.0-alpha.4
* CodeIgniter v4.0.0-beta.1
* CodeIgniter v4.0.0-beta.2
* CodeIgniter v4.0.0-beta.3
* CodeIgniter v4.0.0-beta.4
* CodeIgniter v4.0.0-rc.1
* CodeIgniter v4.0.0-rc.2
* CodeIgniter v4.0.0-rc.3
* CodeIgniter v4.0.0-rc.4
* CodeIgniter v4.0.3
* CodeIgniter v4.0.4
* CodeIgniter v4.0.5
* CodeIgniter v4.1.0
* CodeIgniter v4.1.1
* CodeIgniter v4.1.2
* CodeIgniter v4.1.3
* CodeIgniter v4.1.4
* CodeIgniter v4.1.5
* CodeIgniter v4.1.6
* CodeIgniter v4.1.7
* CodeIgniter v4.1.8
* CodeIgniter v4.1.9
* CodeIgniter v4.2.0
* CodeIgniter v4.2.1
* CodeIgniter v4.2.10
* CodeIgniter v4.2.2
* CodeIgniter v4.2.3
* CodeIgniter v4.2.4
* CodeIgniter v4.2.5
* CodeIgniter v4.2.6
* CodeIgniter v4.2.7
* CodeIgniter v4.2.8
* CodeIgniter v4.2.9
 
Khusus Codeigniter versi 4 itu sangat berbeda struktur dengan versi sebelum nya bahkan bisa di katakan mempunyai kemiripan dengan framework [[Laravel]] mulai dari cara penginstalan dan menggunakannya.<ref>{{Cite web|title=Perbedaan Codeigniter dengan beberapa versi|url=https://tekno.blog.unisbank.ac.id/pemrograman/review-codeigniter-perbedaan-ci-4-dan-3/|website=tekno.blog.unisbank.ac.id}}</ref>
 
== Referensi ==
{{Reflist}}
<references />
 
== Pranala luar ==
* [http{{Situs web resmi|https://www.codeigniter.com Situs resmi CodeIgniter]}}
* [https://codeigniter.com/en/docs Dokumentasi CodeIgniter] {{Webarchive|url=https://web.archive.org/web/20200226224839/https://codeigniter.com/en/docs |date=2020-02-26 }}
* [http://ellislab.com/ EllisLab, Inc.]
* [https://githubforum.codeigniter.com/bcit-ci/CodeIgniter GithubForum Codeigniterresmi CodeIgniter]
* {{GitHub|codeigniter4/CodeIgniter4}}
* [http://forum.codeigniter.com Forum resmi CodeIgniter]
 
{{software-stub}}
{{Authority control}}
 
[[Kategori:Bahasa pemrograman PHP]]
Baris 62 ⟶ 162:
[[Kategori:Peralatan dan pustaka pengembangan perangkat lunak bebas]]
[[Kategori:Kerangka kerja aplikasi web]]
 
 
{{software-stub}}
 
[[es:EllisLab#Code Igniter]]