Selasa, 13 April 2021

PBO (Pemrograman Berorientasi Obyek) => Model View Controller (MVC)

Model View Controller (MVC): Pengertian, Alur Pengembangan, Manfaat, Tujuan dan Contoh Framework yang Mengguanakan Konsep MVC


Apa Itu MVC???

MVC atau Model View Controller adalah sebuah pola desain arsitektur dalam sistem pengembangan website atau sebuah metode untuk membuat sebuah aplikasi dengan memisahkan data (Model) dari tampilan (View) dan cara bagaimana memprosesnya (Controller).yang terdiri dari tiga bagian, yaitu: 
  1. Model, bagian yang mengelola dan berhubungan langsung dengan database atau Model merupakan bagian yang bertugas untuk mengatur, menyiapkan, memanipulasi, dan mengorganisir data.
  2. View, bagian yang akan menyajikan tampilan informasi kepada pengguna.
  3. Controller, bagian yang menghubungkan model dan view dalam setiap proses request dari user. 
Dengan konsep MVC ini, website seakan memiliki bagian yang terpisah dan bisa dikembangkan masing-masing. Maka, proses pembuatan website bisa dilakukan lebih cepat karena developer akan lebih fokus pada pengerjaan salah satu bagian saja. 
Sebagai contoh, seorang web designer bisa fokus merancang bagian View saja, yakni tampilan design website yang terdiri dari kode HTML dan CSS plus sedikit JavaScript. Kode program untuk berkomunikasi dengan database bisa ditangani oleh programmer yang secara khusus bagian Model. Serta programmer lain mengatur alur logika program di bagian Controller.

Dengan pemisahan seperti ini, kerja tim menjadi mudah dikelola. Selain itu dengan penerapan konsep MVC yang baik, setiap bagian tidak saling bergantung sama lain. Jika ada perubahan atau modifikasi, cukup edit di bagian yang diperlukan saja, tidak harus merombak ulang semua aplikasi.

Alur Kerja MVC pada Sistem Pengembangan


  1. Bagan view akan merequest informasi untuk bisa ditampilkan kepada pengguna.
  2. Request tersebut kemudian diambil oleh controller dan diserahkan bagan model untuk diproses. 
  3. Model akan mengolah dan mencari data informasi tersebut di dalam database.
  4. Model memberikan kembali pada controller untuk ditampilkan hasilnya di view. 
  5. Controller mengambil hasil olahan yang dilakukan di bagian model dan menatanya di  bagian view.

Manfaat dan Tujuan MVC 

Tujuan Pengembangan MVC
Metode MVC ini dikembangkan dengan sebuah tujuan, yaitu untuk membuat sebuah program yang bisa digunakan kembali secara berulang kali untuk sesuatu hal yang serupa, serta dapat dikembangkan dengan modul tambahan sehingga tidak akan terjadi proses pengulangan pengembangan dari nol.

Manfaat penggunaan MVC: 

  1. Proses Pengembangan Website Lebih Efisien.
  2. Error atau Bug Lebih Cepat dan Mudah Ditangani.
  3. Pemeliharaan atau Maintenance Lebih Mudah.
  4. Membantu dan memudahkan para programmer dalam membuat kodingan – kodingan yang memiliki sifat repetitif.
  5. Memudahkan para programmer dalam memanajemenkan source code, karena source code akan otomatis mengikuti struktur file yang ada di dalam framework.
  6. Testing Jadi lebih Mudah.

Contoh Framework yang Mengguanakan Konsep MVC

Untuk framework PHP, ada cukup banyak dan hampir semuanya menggunakan konsep MVC:

  • Laravel
  • Symfony
  • CakePHP
  • Zend
  • Codeigniter (versi 3 keatas)

Untuk framework Python di antaranya:

  • Django
  • Turbogears2
  • Watson-Framework

Untuk framework Nodejs di antaranya:

  • Express
  • Adonis
  • Sails.js
  • Total.js
  • Mean.js
  • Mojito

SEMOGA BERMANFAAT!!!

Jumat, 23 Agustus 2019

PBO (Pemrograman Berorientasi Obyek)


Semangat Pagi,
Di blog pertama saya ini, saya akan membahas tentang PBO(Pemrograman Berorientasi Obyek).
Apa kalian tahu apa itu PBO? Apa kalian sudah pernah mendengarnya? Jika kalian ingin tahu maka simak selengkapnya.


Pengertian PBO 

Jadi, PBO merupakan sebuah objek  atau konsep sentral dalam PBO. Dalam pengertian luas, obyek merupakan suatu benda, baik yang dapat diraba (tangible) ataupun yang tidak (intangible) atau sesuatu yang dapat kita bayangkan. 

       Objek memiliki keadaan (state) dan perilaku (behavior) yang melekat pada objek tersebut. State dan perilaku suatu objek bekerja bersama-sama. Suatu objek di java, terlebih dahulu harus dideklarasikan, setelah itu mengalami pembuatan, penggunaan.
v> Deklarasi dan Pembuatan/Instansiasi Objek

Ilustrasi :
MyClass mc;                                        MyClass

MyClass
~var1 : int
~var2 : String
+method1:int
+method2:void
 
Ditentukan variabel mc dengan tipe MyClass, dalam deklarasi mc masih berupa pointer dan belum menunjuk alokasi memori. Keyword new diperlukan untuk membentuk objek tersebut sekaligus memanggil constructor.
mc = new MyClass()                  MyClass         

Karakteristik Obyek
Setiap obyek memiliki atribut sebagai status (state).
• Setiap obyek memiliki tingkah laku (behavior)
• Contoh: obyek sepeda
  – Memiliki atribut (state) à: pedal, roda, jeruji, warna, jumlah roda.
– Memiliki tingkah laku (behavior) à: kecepatannya menaik, kecepatannya menurun, perpindahan gigi sepeda.
• Penggambaran pemrograman berorientasi obyek = penggambaran pada dunia nyata.
• Pada pemrograman berorientasi obyek:
-     State disimpan pada → variabel
-     Tingkah laku disimpan pada → method

Apa Itu Class?
• Definisi class: merupakan template untuk membuat obyek.
Definisi class: merupakan prototipe / blue prints yang mendefinisikan variabel – variabel dan method – method secara umum.
• Obyek merupakan hasil instansiasi dari suatu kelas.
• Proses pembentukan obyek dari suatu class disebut dengan instantiation.
• Obyek disebut juga instances.

Attributes
Definisi atribut : adalah data yang membedakan antara obyek satu dengan yang lain.
Contoh: Volcano Robot à A volcanic exploration vehicle, mempunyai atribut sebagai berikut:
                        – Status à exploring, moving, returning home
                        – Speed à in miles per hour
     – Temperature, in Fahrenheit degrees
• Dalam class atribut disebut sebagai variabel
•  Instance variable: adalah atribut untuk tiap obyek dari class yang sama.
•  Tiap obyek mempunyai dan menyimpan nilai atributnya sendiri.
•  Jadi tiap obyek dari class yang sama boleh mempunyai nilai yang sama atau beda.
•  Class variable: adalah atribut untuk semua obyek yang dibuat dari class yang sama.
•  Semua obyek mempunyai nilai atribut yang sama.
•  Jadi semua obyek dari class yang sama mempunyai hanya satu nilai yang valuenya sama.

Behavior
•  Behavior / tingkah laku adalah hal – hal yang bisa dilakukan oleh obyek dari suatu class.
•  Behavior dapat digunakan untuk mengubah nilai atribut suatu obyek, menerima informasi dari obyek lain, dan mengirim informasi ke obyek lain untuk melakukan suatu task.
•  Contoh: Volcano Robot
– Check current temperature
– Begin a survey
– Report its current location
ž Dalam class, behavior disebut juga sebagai methods.

Methods 
Methods: adalah serangkaian statements dalam suatu class yang menghendle suatu task tertentu.
Cara obyek berkomunikasi dengan obyek lain adalah dengan menggunakan method.
Contoh: class, object, attributes, dan behavior



Berikut Perbedaan Antara Pemrograman Berorientasi Obyek dengan Pemrograman Prosedural Obyek
No.
Prosedural
No.
PBO
1
Fokus utama pada fungsi dan prosedur yang beroperasi pada data 1 Menekankan pada data yang sedang beroperasi dan tidak fungsi atau prosedur
2
Program besar terbagi dalam program unit kecil yang disebut fungsi 2 Program dibagi ke dalam apa yang disebut objek
3
Data dan fungsi diperlakukan sebagai entitas terpisah 3 Data dan fungsi diperlakukan sebagai entitas terpisah
4
Data bebas bergerak di sekitar sistem dari satu fungsi lain 4 Data tersembunyi dan tidak dapat diakses oleh fungsi eksternal
5
Data bersifat pasif 5 Objek-objek dalam OOP bersifat aktif
6
Program desain dengan pendekatan “Top Down” yaitu tugas-tugas kompleks dipecah menjadi bagian yang lebih kecil, sampai sub-tugas tersebut mudah diimplementasikan 6 Program desain pendekatan “Button Up” yaitu memuat prosedur-prosedur untuk menyelesaikan tugas-tugas yang sederhana, kemudian menggabungkan prosedur-prosedur tersebut dalam prosedur yang lebih  kompleks, sampai fungsionalitas yang ingin tercapai

Terima Kasih, maaf ya masih banyak kekurangannya, selamat belajar.