Selasa, 03 Agustus 2021

Why MVC?


 



MVC = Model View Controller
Adapun definisi MVC adalah pola arsitektur pada perancangan perangkat lunak yang berorientasi objek. Tujuan dari MVC adalah untuk memisahkan antara tampilan, data dan proses. Dalam hal ini controller memegang peran utama untuk mengatur alur proses dengan model sebagai data dan view sebagai tampilan.

Why MVC?
  • Organisasi dan struktur kode
  • Pemisahan logic dan tampilan
  • Perawatan kode
  • Implementasi konsep OOP
  • Digunakan oleh banyak Web Application Framework
Untuk lebih jelasnya lagi tentang MVC bisa dilihat pada skema di bawah ini:  



Berikut ini beberapa catatan penting dari apa yang telah kita pelajari sekilas tentang MVC:

Model = Data
    • Representasi Pengetahuan
    • Mengelola Data
    • Logika Bisnis 
View = Tampilan
    • Output, apa yang dilihat oleh user
    • Representasi visual dan model
    • Lapisan presentasi
Controller = Proses
    • Perantara antara model dan view
    • Menangani pemrosesan pada aplikasi
    • Menangani aksi dari user

Untuk penjelasan lebih lengkapnya bisa disimak di channel Web Programming UNPAS tentang MVC

Selamat belajar, tetap semangat dan semoga bermanfaat. Terima kasih

Senin, 02 Agustus 2021

Apa Sih Git dan GitHub?



Setelah postingan sebelumnya saya menulis tentang roadmap seorang web developer. Kali ini saya akan menuliskan dan membahas salah satu komponen dari roadmap tersebut.

Saya akan menulis tentang Git daan GitHub, yang mana saya sendiri juga baru berkenalan dengan aplikasi ini. Jadi di sini kita sama-sama belajar saja karena saya hanya akan berbagi dari apa yang telah dan sedang saya pelajari.

Sebelumnya saya tekankan di sini bahwa Git dan GitHub adalah dua hal yang berbeda dan terpisah, jadi kita bisa menggunakan aplikasi tersebut secara terpisah atau bahasa lainnya tidak harus digunakan secara bersamaan.

Version Control System (VCS)

Ada yang harus kita pelajari terlebih dahulu sebelum mengenal Git dan GitHub yaitu Version Control System (VCS). VCS biasa disebut juga source code management adalah sistem yang mengelola perubahan dari sebuah dokumen. Dokumen tersebut bisa berupa source code atau program komputer, website atau informasi lainnya. Apa sih latar belakang atau alasan kenapa kita perlu menggunakan VCS?

Beberapa hal yang menjadi alasan atau latar belakang mengapa diperlukannya VCS antara lain:

1. Bagaimana melacak history perubahan pada suatu dokumen?

2. Bagaimana untuk membuat version file  misal dari sebuah program yang kita buat?

3. Bagaimana agar satu dokumen dapat dikerjakan secara tim atau kolaborasi anatara beberapa orang secara bersamaan?

4. Bagaimana jika kita ingin berbagi source code atau opensource dari program yang kita buat?


Untuk itu kita butuh sebuah Version Control System (VCS):

- Sebuah sistem yang menyimpan (rekaman/ snpashot) perubahan pada sebuah file/ source code

- Memungkinkan untuk bekerja secara berkolaborasi dengan lebih baik

- Kita dapat mengetahui siapa yang melakukan perubahan dan kapan perubahan tersebut dilakukan

- Memungkinkan kita untuk kembali pada perubahan sebelumnya atau ke keadaan sebelum perubahan (chekout)


Macam-macam VCS:

- GIT

- Subversion

- Mercurial

- CVS


GIT

Sekarang kita coba mengenal lebih dekat apa itu Git. Git adalah sebuah VCS terdistribusi untuk mengelola file dalam folder yang disebut repo/ repository. Penjelasan atau keterangan lebih lengkapnya mungkin bisa dibaca di halaman wikipedia tentang Git.

Pada Git kita akan bekerja dalam folder yang disebut repository/ repo. Riwayat perubahan yang terjadi pada file yang kita simpan dalam repo akan disimpan dengan sebuah commit dengan menggunakan sebuah penanda unik yang disebut hash. 

Secara singkatnya dapat kita katakan bahwa 1 commit = 1 snapshot = 1 perubahan = 1 hash


GitHub

Sekarang kita akan coba mengenal tentang GitHub, adalah sebuah website layanan cloud untuk menyimpan/ mengelola project/source code. di GitHub kita bisa melakukan apa yang ada di GIT tapi bedanya semuanya dilakukan secara online. Penjelasan atau keterangan lainnya seperti biasa bisa dibaca di wikipedia tentang GitHub

Namun jika di komputer kita diinstal Git maka kita bisa mengirim project yang ada di Git ke GitHub dan juga sebaliknya kita bisa mengambil project yang ada di Git Hub untuk di simpan di Git. Proses tersebut bisa kita lakukan dengan syarat repo yang ada di GitHub kita clone untuk kita simpan di Git sehingga kita bisa bekerja dengan remote. Dengan kata lain kita bisa mengerjakan project kita secara lokal di komputer kita menggunakan Git dan selanjutnya project tersebut bisa kita kirim ke akun GitHub agar bisa dilihat bersama.

Demikian sekilas penjelasan tentang apa itu Gut dan GitHub dari apa yang sedang saya pelajari, penjelasan lengkapnya mungkin bisa dilihat di channel youtube Web Programming UNPAS tentang Git & GitHub

Berikut ini beberapa daftar istilah dari apa yang telah kita pelajari:

- VCS

- Git

- GitHub

- Repo/Repository, folder

- Commit, menyimpan perubahan pada suatu file

- Hash, penanda unik untuk setiap commit

- Checkout, beralih ke commit sebelum perubahan

- Branch, cabang dari sebuah commit

- Merge, menggabungkan beberapa branch

- Remote, sumber yang memeiliki repo untuk bisa melakukan clone

- Clone, membuat repo yang sama di lokal komputer kita (Git) dengan yang ada di GitHub

- Push, mengirim commit

- Pull, mengambil commit


Selamat belajar, tetap semangat dan semoga apa yang saya bagi di sini bisa bermanfaat. Terima kasih



Get Well Soon My Sweety

  Ini adalah catatan pertamaku di tahun 2022, catatan pertama yang diawali dengan kesedihan. Kesedihan karena tulisan ini aku buat saat seda...