Anda di halaman 1dari 20

KONSEP MVC (MODEL, VIEW, CONTROLLERS) PADA BAHASA

PEMROGRAMMAN PHP
(Studi Kasus Pada Framework Codeigniter)

Makalah

Oleh
Bagus Setio Raharjo
A01418007

UNIVERSITAS MUHAMMADIYAH GORONTALO

FAKULTAS SAINS DAN TEKNOLOGI

PROGRAM STUDI SISTEM INFORMASI

TAHUN 2019
ABSTRACT

Web hosting had become a popular and very advantage thing in


other word. In order to create these program, there had been created
many programming language. Programming language which still common
and famous until now are PHP. These programming language have their
own advantage on Server side. Every data had been processed by the
programming language are depent on how fastit can process a logic
created by the developer. The goal of this study is to know PHP the best
for developer to use while proceeding the data and logic at user side, so
user can always have a feeling that information needed give or respond on
time from the program and service created by developer.

Keywords: PHP, Logic Layer, Controller, Program.

i
ABSTRAK

Web hosting telah menjadi populer dan sangat menguntungkan.


Untuk membuat program ini, banyak menggunakan bahasa
pemrograman. Bahasa pemrograman yang masih Umum dan terkenal
sampai sekarang php. Bahasa pemrograman ini memiliki keuntungan
pada sisi Server. Seluruh data yang telah diproses dengan pemrograman
bahasa adalah kemasan pada bagaimana fastit dapat memproses logika
yang dibuat oleh pengembang bisa dilayani. Tujuan dari makalah ini
adalah untuk mengetahui PHP yang terbaik untuk pengembang untuk
menggunakan sementara melanjutkan data dan logika di sisi pengguna,
sehingga pengguna dapat selalu memiliki perasaan bahwa informasi
diperlukan memberikan atau merespon pada waktu dari program dan
layanan diciptakan oleh pengembang.

Kata kunci: PHP, logika lapisan, Controller, Program.

ii
KATA PENGANTAR

Dengan kesempatan ini penulis ingin mengucapkan puji syukur


kehadirat Allah SWT yang telah melimpahkan rahmat dan karunia-Nya
kepada penulis, sehingga akhirnya penulis dapat menyelesaikan makalah
ini tepat pada waktunya.

Makalah yang berjudul Konsep MVC (Model, View, Controllers)


Pada Bahasa Pemrogramman PHP (Studi Kasus pada Framework
Codeigniter), ditulis untuk memenuhi tugas mata kuliah Teknologi Web
Lanjutan. Pada kesempatan yang baik ini, izinkanlah penulis
menyampaikan rasa hormat dan ucapan terima kasih kepada semua
pihak yang dengan tulus ikhlas telah memberikan bantuan dan dorongan
kepada penulis dalam menyelesaikan makalah ini.

Penulis menyadari bahwa makalah ini masih banyak


kekurangannya baik bentuk, isi maupun teknik penyajiannya, oleh sebab
itu kritikan yang bersifat membangun dari berbagai pihak, penulis terima
dengan tangan terbuka serta sangat diharapkan. Semoga kehadiran
makalah ini memenuhi sasarannya.

Gorontalo, 10 Oktober 2019

Penyususn

Pratiwi Aliwu

iii
DAFTAR ISI

KONSEP.......................................................................................................i
ABSTRACT...................................................................................................i
ABSTRAK....................................................................................................ii
KATA PENGANTAR..................................................................................iii
DAFTAR ISI................................................................................................iv
BAB I PENDAHULUAN...............................................................................1
1.1. Latar Belakang................................................................................1
1.2. Rumusan Masalah..........................................................................2
1.3. Tujuan.............................................................................................2
1.4. Manfaat...........................................................................................2
BAB II LANDASAN TEORI.........................................................................3
2.1. Pengertian Sistem............................................................................3
2.1.1 Pengertian Sistem Menurut Para Ahli......................................3
2.2. Pengertian Sistem Informasi............................................................4
2.3. PHP (Hypertext Preprocessor)........................................................4
2.3.1. Sejarah PHP (Hypertext Preprocessor)...................................4
2.3.2. Fungsi PHP (Hypertext Preprocessor)........................................5
2.3.3. Kelebihan dan Kekurangan PHP (Hypertext Preprocessor).......8
2.4. MVC (Model, View, Controllers).....................................................9
2.4.1. Model........................................................................................9
2.4.2. View........................................................................................10
2.4.3. Controllers..............................................................................10
2.4.4. Konsep MVC (Model, View, Controllers)...............................11
2.4.5. CodeIgniter.............................................................................12
BAB III PENUTUP.....................................................................................13
a. Kesimpulan.......................................................................................13
b. Saran................................................................................................13
DAFTAR PUSTAKA..................................................................................14

iv
BAB I

PENDAHULUAN

1.1. Latar Belakang


Dalam pembuatan website, terdapat beberapa bahasa yang bisa
digunakan untuk membangun sebuah website. Beberapa bahasa terkenal
berbasis web yang digunakan untuk pembangunan website seperti
bahasa PHP. Bahasa pemograman ini sangat populer dan telah
digunakan oleh beberapa perusahaan raksasa pengembang web. Salah
satu metode dalam pembuatan program web menggunakan metode
Model View Controller (MVC).[2].

PHP adalah sebuah bahasa pemrograman web yang popular,


tangguh dan dapat di peroleh secara gratis. Belajar PHPcukup
menyenangkan, karena bahasa ini tergolong mudah untuk di pelajari.
Untuk mempermudah dan mempercepat pengembangan aplikasi dengan
PHP, banyak bermunculan framework PHP, satu di antara nya adalah
Code Igniter.

Code Igniter (CI) adalah salah satu framework php yang tangguh dan
popular. Code Igniter tergolong framework dengan ukuran kecil dan cukup
mudah di kuasai. CI juga datang dengan manual yang tergolong lengkap.

CodeIgniter merupakan aplikasi sumber terbuka yang berupa


framework PHP dengan model MVC (Model, View, Controller) untuk
membangun website dinamis dengan menggunakan PHP. CodeIgniter
memudahkan developer untuk membuat aplikasi web dengan cepat
mudah dibandingkan dengan membuatnya dari awal. CodeIgniter dirilis
pertama kali pada 28 Februari 2006. Versi stabil terakhir adalah versi
3.0.4

1
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. (Sumber : Makalah Framework CodeIgniter, Redho
Ridhallah Akbar, Tahun 2016)

1.2. Rumusan Masalah


Setelah mempelajari bab ini mahasiswa diharapkan dapat
menyelesaikan permasahana seperti

1. Apa yang di maksud dengan konsep MVC


2. Bagaimana penerapan Konsep MVC pada bahasa pemrogramman
PHP?
3. Bagaimana penerapan Konsep MVC pada Framework
CodeIgniter?

1.3. Tujuan
Tujuan penulisan makalah ini adalah bagaimana mahasiswa yang
bergelut di dunia IT (programmer) dapat menengetahui dan
mengimplementasikan konsep MVC pada suatu program atau aplikasi
yang akan dibuat nantinya.

1.4. Manfaat
Setelah mengetahui permasalahan dan tujuan diatas maka manfaat
penulisan makalah ini adalah :

1. Mempelajari dan memahami konsep MVC.


2. Implementasi penerapan konsep MVC pada bahasa
pemrogramman PHP.
3. Implementasi penerapan konsep MVC pada Framework
CodeIgniter.

2
BAB II

LANDASAN TEORI

2.1. Pengertian Sistem


Kata Sistem berasal dari bahasa Latin (systēma) dan bahasa Yunani
(sustēma) adalah suatu kesatuan yang
terdiri komponen atau elemen yang dihubungkan bersama untuk
memudahkan aliran informasi, materi atau energi mencapai suatu tujuan.
Istilah ini sering dipergunakan untuk menggambarkan suatu set entitas
yang berinteraksi, di mana suatu model matematika seringkali bisa dibuat.
(Sumber: Wikipedia, Tahun 2019)

Sistem dapat didefinisakan dengan pendekatan prosedur dan


dengan pendekatan komponen. Dengan pendekatan prosedur, sistem
dapat didefinisikan sebagai kumpulan dari prosedur-prosedur yang
mempunyai tujuan tertentu. Dengan pendekatan komponen, sistem dapat
didefinisikan sebagai kumpulan dari komponen yang saling berhubungan
yang satu dengan yang lainnya membentuk satu kesatuan untuk
mencapai tujuan tertentu. (Sumber: https://repository.widyatama.ac.id,
Tahun 2016)

2.1.1 Pengertian Sistem Menurut Para Ahli

Sistem menurut McLeod yang dikutip (2010:34) dalam bukunya yang


berjudul “Management Information System” adalah sekelompok elemen-
elemen yang terintegrasi dengan maksud yang sama untuk mencapai
tujuan.

Menurut Satzinger, Jackson, dan Burd (2010:6) sistem merupakan


sekumpulan komponen yang saling berhubungan dan bekerja bersama
untuk mencapai suatu tujuan.

3
Bedasarkan kedua pengertian di atas, maka dapat disimpulkan
bahwa pengertian sebuah sistem adalah sekumpulan elemen yang
terintegasi dan bekerja bersama guna mencapai suatu tujuan tertentu.

2.2. Pengertian Sistem Informasi


Sistem informasi adalah suatu system didalam suatu organisasi yang
mempertemukan kebutuhan pengolahan transaksi harian, mendukung
operasi, bersifat manajerial dan kegiatan strategi dari suatu organisasi,
dan menyediakan pihak luar tertentu dengan laporan-laporan yang
diperlukan.

Jadi dapat disimpulkan bahwa sistem informasi adalah suatu alat


yang membantu dalam menyediakan informasi bagi penerimanya dan
untuk membantu dalam pengambilan keputusan bagi manajemen di
dalam operasi perusahaan sehari-hari dan informasi yang layak untuk
pihak luar perusahaan. (Sumber: https://repository.widyatama.ac.id,
Tahun 2016)

2.3. PHP (Hypertext Preprocessor)


PHP (Hypertext Preprocessor) adalah suatu bahasa pemrograman
yang banyak digunakan dalam pembuatan website yang bersifat server
side yang di-Embed dalam HTML. Artinya dalam suatu dokumen HTML
dapat dimasukkan skrip PHP. (Sumber :

PHP adalah sebuah bahasa pemrograman web yang popular,


tangguh dan dapat di peroleh secara gratis. Belajar PHPcukup
menyenangkan, karena bahasa ini tergolong mudah untuk di pelajari.
Untuk mempermudah dan mempercepat pengembangan aplikasi dengan
PHP, banyak bermunculan framework PHP, satu di antara nya adalah
Code Igniter.

2.3.1. Sejarah PHP (Hypertext Preprocessor)

4
PHP pada awalnya di ciptakan dan di kembangkan pada tahun 1995
oleh Rasmus Lerdorf, dan sekarang dikelola oleh The PHP Group. Situs
resmi PHP beralamat di (http://www.php.net). Pada awalnya PHP
merupakan singkatan dari Personal Home Page. Sesuai dengan
namanya, PHP digunakan untuk membuat website pribadi. Dalam
beberapa tahun perkembangannya, PHP menjelma menjadi bahasa
pemrograman web yang powerfull dan tidak hanya digunakan untuk
membuat halaman web sederhana, tetapi juga website populer yang
digunakan oleh jutaan orang.

PHP dapat digunakan dengan gratis (free) dan bersifat Open Source.
PHP dirilis dalam lisensi PHP License, sedikit berbeda dengan lisensi
GNU General Public License (GPL) yang biasa digunakan untuk proyek
Open Source. Kemudahan dan kepopuleran PHP sudah menjadi standar
bagi programmer web di seluruh dunia. Menurut (Wikipedia) pada februari
2014, sekitar 82% dari web server di dunia menggunakan PHP. PHP juga
menjadi dasar dari aplikasi CMS (Content Management System) populer
seperti Wikipedia, Joomla, Drupal, dan WordPress.

Gambar 1.1. Presentasi Pengguna PHP


Dapat dilihat dari gambar di atas bahwa mayoritas website modern
saat ini menggunakan PHP.

5
2.3.2. Fungsi PHP (Hypertext Preprocessor)

Untuk membuat halaman web, sebenarnya PHP bukanlah bahasa


pemrograman yang wajib digunakan. Kita bisa saja membuat website
hanya menggunakan HTML saja. Web yang dihasilkan dengan HTML
(dan CSS) ini dikenal dengan website statis, dimana konten dan halaman
web bersifat tetap. Sebagai perbandingan, website dinamis yang bisa
dibuat menggunakan PHP adalah situs web yang bisa menyesuaikan
tampilan konten tergantung situasi. Website dinamis juga bisa menyimpan
data ke dalam database, membuat halaman yang berubah-ubah sesuai
input
dari user, memproses form, dll. Untuk pembuatan web, kode PHP
biasanya di sisipkan kedalam dokumen HTML. Karena fitur inilah PHP
disebut juga sebagai Scripting Language atau bahasa pemrograman
script. Sebagai contoh penggunaan PHP, misalkan kita ingin membuat list
dari nomor 1 sampai nomor 10. Dengan menggunakan HTML murni, kita
bisa membuatnya secara manual seperti kode berikut ini:

6
Gambar 2.1. Contoh Sourch Code
Halaman HTML tersebut dapat dibuat dengan mudah dengan cara
men copypaste tag <li> sebanyak 10 kali dan mengubah sedikit angka-
angka no urut di belakangnya. Namun jika yang kita inginkan adalah
menambahkan list tersebut menjadi 100 atau 1000 list, cara copy-
pastetersebut menjadi tidak efektif. Jika menggunakan PHP, kita tinggal
membuat perulangan for sebanyak 1000 kali dengan perintah yang lebih
singkat seperti berikut ini:

Gambar 2.2. Contoh Sourch Code Lanjutan

7
Dengan menggunakan kode baris yang bahkan lebih sedikit, kita
dapat membuat list tersebut menjadi 1000 kali, bahkan 100.000 kali
dengan hanya mengubah sebuah variabel $i. PHP tidak hanya dapat
melakukan pengulangan tersebut, masih banyak hal lain yang bisa kita
lakukan dengan PHP, seperti menginput data ke database, menghasilkan
gambar, menkonversi halaman text menjadi PDF, management cookie
dan session.

2.3.3. Kelebihan dan Kekurangan PHP (Hypertext Preprocessor)

 Kelebihan
Banyak sekali kelebihan yang dimiliki PHP dibandingkan dengan
bahasa pemrograman yang lain, Diantaranya :
1. Bisa membuat Web menjadi Dinamis.
2. PHP bersifat Open Source yang berarti dapat digunakan oleh siapa
saja secara gratis.
3. Program yang dibuat dengan PHP bisa dijalankan oleh Semua
Sistem Operasi karena PHP berjalan secara Web Base yag artinya
semua Sistem Operasi bahkan HP yang mempunyai Web Browser
dapat menggunakan program PHP.
4. Aplikasi PHP lebih cepat dibandingkan dengan ASP maupun Java.
5. Mendukung banyak paket Database seperti MySQL, Oracle,
PostgrSQL, dan lain-lain.
6. Bahasa pemrograman PHP tidak memerlukan Kompilasi / Compile
dalam penggunaannya.
7. Banyak Web Server yang mendukung PHP seperti Apache,
Lighttpd, IIS dan lain-lain.
8. Pengembangan Aplikasi PHP mudah karena banyak Dokumentasi,
Refrensi & Developer yang membantu dalam pengembangannya.
9. Banyak bertebaran Aplikasi & Program PHP yang Gratis & Siap
pakai seperti WordPress, PrestaShop, dan lain-lain.

8
 Kekurangan
Selain kelebihan PHP, PHP juga mempunyai kekurangan. Namun
masalah kekurangannya sangat sedikit. Diantaranya :
1. Tidak ideal untuk pengembangan skala besar.
2. Tidak memiliki sistem pemrograman berorientasi objek yang
sesungguhnya (sampai versi 4 ini)
3. Tidak bisa memisahkan antara tampilan dengan logik dengan baik
(walau penggunaan template dapat memperbaikinya)
4. PHP memiliki kelemahan security tertentu apabila programmer
tidak jeli dalam melakukan pemrograman dan kurang
memperhatikan isu dan konfigurasi PHP

2.4. MVC (Model, View, Controllers)


Pola MVC memecahkan sebuah aplikasi menjadi tiga modul
asosiasi: model, view, dan controller. Model modul adalah logika bisnis
dari aplikasi dan inti dari sebuah aplikasi. View adalah user interface dari
controller. Yang merupakan muka umum untuk respon event pengguna.
Komponen controller mengimplementasi flow yang mengontrol antara
view dan model.

MVC (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.

Model-View-Controller (MVC) adalah sebuah konsep yang


diperkenalkan oleh penemu Smalltalk (Trygve Reenskaug) untuk meng-
enkapsulasi data bersama dengan pemrosesan (model), mengisolasi dari

9
proses manipulasi (controllers) dan tampilan (view) untuk
direpresentasikan pada sebuah user interface definisi teknis dari arsitektur
MVC.

2.4.1. Model

Digunakan untuk mengolah informasi dan memberitahu pengamat


ketika ada perubahan informasi. Hanya model yang mengandung data
dan fungsi yang berhubungan dengan pemrosesan data. Sebuah model
meringkas lebih dari sekedar data dan fungsi yang beroperasi di
dalamnya. Pendekatan model yang digunakan untuk komputer model atau
abstraksi dari beberapa proses dunia nyata. Hal ini tidak hanya
menangkap keadaan
proses atau sistem, tetapi bagaimana sistem bekerja. Sebagai contoh,
programmer dapat menentukan model yang menjembatani komputasi
back-end dengan frontend GUI (graphical user interface).

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.

2.4.2. View

Bertanggung jawab untuk pemetaan grafis ke sebuah perangkat. View


biasanya memiliki hubungan 1-1 dengan sebuah permukaan layar dan
tahu bagaimana untuk membuatnya. View melekat pada model dan me-
render isinya ke permukaan layar. Selain itu, ketika model berubah
view secara otomatis menggambar ulang bagian layar yang terkena
perubahan untuk menunjukkan perubahan tersebut. Terdapat
kemungkinan beberapa view pada model yang sama dan masingmasing
view tersebut dapat merender isi model untuk permukaan
tampilan yang berbeda.

10
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.

2.4.3. Controllers

Menerima input dari pengguna dan mengintruksikan model dan view


untuk melakukan aksi berdasarkan masukan tersebut. Sehingga,
controller bertanggung jawab untuk pemetaan aksi pengguna akhir
terhadap respon aplikasi. Sebagai contoh, ketika pengguna mengklik
tombol atau memilih item menu, controller bertanggung jawab untuk
menentukan bagaiman aplikasi seharusnya merespon.

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.

2.4.4. Konsep MVC (Model, View, Controllers)

Konsep MVC adalah konsep pemisahan antara logic dengan


tampilan dan database. Manfaat konsep ini adalah, membuat coding logic
lebih simple, karena sudah di pisah dengan code untuk tampilan dan
membuat programmer dapat bekerja secara terpisah dengan designer.
Programmer mengerjakan logic, sedangkan designer berkutat dengan
design dan tampilan.
Model → Merupakan code struktur data. Model berisi fungsi di dalam
pengolahan database. Script

Sql masuk di sini.

11
View → Merupakan code untuk menampilkan tampilan suta program.
Tampilan dapat berupa web page, header, footer dan apa saja yang
berjenis tampilan.

Controller → Merupakan code untuk logic, algoritma dan sebagai


penghubung antara model, view, dan sumber lain yang di perlukan
untuk mengolah HTTP request dan generate web page.

CI menerapkan pola MVC yang flexible, karena model dapat tidak di


gunakan. Anda dapat hanya menggunakan Controller dan View saja
dalam menggunakan CI tanpa Model. Jika anda tidak memerlukan
pemisahan di dalam struktur data dan database atau menganggap
penggunaan model hanya menambah kompleks aplikasi dengan
keuntungan yang kurang sebanding, maka anda dapat tidak
menggunakan model.

2.4.5. CodeIgniter

CI adalah sebuah php framework yang berupa kumpulan folder dan


file php, java script,css,txt dan file berbasis web lainnya dengan setting
tertentu untuk menggunakannya dan menyediakan library dan helper yang
dapat di manfaatkan di dalam pemrograman php. CI di jalankan under
web dan harus dengan web server. Program CI cukup di letakkan di
bawah folder directory web server anda. Berikut adalah struktur file CI :

12
CI

Syste User_G
m uide

Applicati scaffoldi
on ng

Cache

Codeigni
ter

Databas
e

Fonts

Helpers

Languag
e

Librarie
s

Logs

Plugins

13
BAB III

PENUTUP

3.1. Kesimpulan
Berdasarkan hasil pengujian dan pembahasan yang telah diuraikan
dapat ditarik kesimpulan sebagai berikut:

1. Berdasarkan hasil pengujian , bahwa performa bahasa PHP


termasuk dalam indikator performa baik dibagian View pada MVC,
sedangkan performa bahasa PHP termasuk dalam indikator
performa baik dibagian Controller pada MVC dan performa bahasa
PHP termasuk dalam indikator performa baik dibagian Model pada
MVC.
2. Berdasarkan hasil pengujian, terdapat bahwa bahasa PHP terbukti
dapat berjalan dengan optimal dalam penggunaan reusable.
3. Berdasarkan hasil pengujian pada, terdapat bahwa bahasa PHP
tidak bisa berjalan sama sekali jika kondisi server sedang down
ataupun tidak aktif, maka bahasa PHP tidak berjalan dengan
optimal pada bagian flexibility.
4. Berdasarkan hasil pencarian data di internet, terdapat bahwa PHP
lebih banyak digunakan dalam penerapan metode MVC (Model
View Controller).

3.2. Saran
Demikian makalah ini dibuat singkat dan sebaik mungkin.bila dalam
penulisan makalah ini masih terdapat kesalahan mohon untuk
memakluminya.cukup sekian dan terimah kasih.

14
DAFTAR PUSTAKA

[1]. Hidayat Arief dan Surarso Bayu (2012). Penerapan Arsitektur


Model View Controller (MVC) Dalam Rancang Bangun Sistem Kuis
Online Adaptif:58..
[2]. Pastima Simanjuntak (2016). Jurnal Analisis Model View Controller
(MVC) Pada Bahasa PHP.

15

Anda mungkin juga menyukai