Azwar

Berbagi cerita dan informasi

HMVC Design Patern tidak dapat menggantikan Source Code Management

Pada artikel ini saya ingin membahas mengenai Design Patern pada Software Development yang saat ini sedang naik daun, nama Design Patern itu adalah HMVC.

HMVC 结构图

HMVC adalah versi pengembangan dari Design Patern MVC (Model-View-Control). HMVC sendiri adalah singkatan dari Hierarchical Model View Control. Atau bisa kita bilang sebagai versi MVC yang diimplementasikan secara hirarkis. Hirarkis di sini maksudnya adalah hirarki folder (struktur folder) yang mana menjadi modul.

Kuncinya adalah, satu modul memiliki satu MVC, atau bisa dikatan lebih gampangnya adalah, satu modul memiliki masing2 file model, file view dan file controll. Meskipun masing-masing file tersebut tidak selamanya diperlukan, ada kalanya cuma perlu file view dan controll saja.

Contoh: Saya memiliki folder modules folder ini nantinya akan saya gunakan sebagai tempat menaruh modul-modul saya. Oke, sekarang anggaplah saya ingin membuat modul produk, maka saya buat folder produk di dalam folder modules maka struktur foldernya menjadi modules/produk, di dalam folder produk ini akan kita buat folder untuk masing-masing file MVC, dengan kata lain kita akan membuat folder bernama model, view control .

Jika digambarkan, maka struktur hirarki nya akan menjadi sebagai berikut:

-modules/
….|
…+—-produk/
…….|
……+—-model/
……+—-view/
……+—-control/

File-file model akan diletakkan dalam folder model, begitu juga file view dan file control (controller) akan diletakkan ditempatnya masing-masing sesuai nama foldernya.

Keuntungan dari design pater ini, terutama bagi aplikasi web adalah, modularitas file pada aplikasi yang dikelompokkan berdasarkan fungsinya. Contohnya, file-file yang berhubungan dengan produk ditempatkan pada modul produk (file view nya produk, file controllernya produk, dan file modelnya produk).

Maksud dari pengelompokkan folder berdasarkan fungsinya tersebut adalah agar ketika ada tambahan fungsi baru pada program, misal tadi ada fungsi produk kemudian teman kita sudah membuat fungsi user maka kita tinggal mengkopikan modul user yang telah dikerjakan oleh teman kita tersebut pada folder modules/ dengan demikian maka didalam folder modules/ sekarang ada dua folder, yaitu produk dan user. Singkatnya seperti itu.

Sampai tahap ini terlihat simpel dan mudah ketika kita melakukan kerja dalam team. Nyatanya cerita pewayangan, eh salah, cerita software development model HMVC ini belum berhenti sampai disini.

Ketika ada suatu update-an file yang sifatnya tidak spesifik pada modul, maksud saya adalah perubhan diluar folder modul, maka pada saat itu bentrok update-an akan bermunculan. Misalkan saya mengedit file style.css pada folder CSS/, maka ketika ada orang lain yang juga mengupdate file style.css tersebut dan ditimpakan pada folder CSS makan akan menimpa kepunyaan saya tadi. Dengan demikian model kolaborasi ini tidak efektif jika tidak ada komunikasi yang intens, sayangnya, kebanyakan programmer pada umumnya enggan berkomunikasi tentang update-an yang seperti ini. Kebanyakan hanya main replace-replace aja tanpa peduli versi baru file tsb. Akibatnya, ini akan menjadi bencana yang tak akan pernah reda.

Masalah lain yg timbul. Masalah lainnya adalah, jika dalam folder modul kita mengupdate file yang sama. Misalkan si A da si B bertugas mengerjakan module produk pada PC nya masing-masing. Ketika salah satu akan melakukan update source code, maka masing-masing akan saling menimpa file yang telah dibuat. Lagi-lagi tanpa komunikasi dari keduanya maka semua ini hanya akan menjadi spageti monster, alias kodingan yang acak-aduk amburadul. Dan lagi-lagi, kebanyakan enggan untuk berkomunikasi.

HMVC adalah Design Patern, bukan Source Code Management, jadi jangan disamakan fungsinya. Jangan disamakan fungsi Gelas dan Pisau, jenisnya saja beda, yg satu alat untuk minum yang satu alat untuk mengiris. Apalagi kategorinya, gelas teh dan pisau lipat, apa pun kategorinya, keduanya tidak bisa disandingkan untuk dijadikan pengganti. Begitu juga dengan HMVC dengan misalkan GIT atau Mercurial atau sejensnya.

HMVC design patern, tidak bisa menggantikan GIT, Mercurial, SVN dll yang jenisnya adalah Source Code Management.

Saya pernah terpaksa menggunakan HMVC sebagai pengganti Source Code Management, karena ikut aturan main team.

Berdasarkan pengalaman saya HMVC tidak bisa efektif untuk dijadikan pengganti Source Code Management, karena HMVC tidak diciptakan untuk itu dan HMVC pun bukan “itu” (Source code Management).

Semoga artikel ini berguna. Terimakasih.

Saya suka game, tapi tidak suka “Authestic Gamer”

Siapa yang tidak suka bermain game, hampir semuanya suka. Termasuk saya. Saya suka main game, tapi jarang-jarang, dan tidak sampai level maniak apalagi autistik.

Sekian kali saya mengalami kejadian yang sangat menyebalkan dan membuat saya jengkel. Banyak sekali cerita yang tidak mengenakan dengan para gamer yang saya dekati. Mulai dari menunda-nunda janji, hingga saya tidak bisa masuk kosan sampai beberapa menit (tengah malam sampai dicurigai orang) karena orang yang ada di dalam kosan pada sibuk main game. Bahkan suntuk hanya diam saja pun pernah.

Bayangkan ketika anda hendak makan, kemudian mengajak teman anda, dan teman anda ingin ikut dengan anda, namun dia meminta waktu untuk menyelesaikan game nya terlebih dahulu. Kemudian kita bermurah hati memberi dia waktu. Akan tetapi, ternyata setelah satu level/misi selesai, dia mengatakan tunggu sekali lagi. Dan setelah selesai, mengatakan tunggu sekali lagi. Pasti sebagai orang biasa kita akan jenuh, bete bahkan marah. Ketika perut kita keroncongan, kita disuruh nunggu teman kita yang sedang main game. Cara terbaik adalah, jangan ganggu mereka, kita langsung pergi saja tanpa mengajak mereka.

Cerita yang lain lagi, saya pernah tidak bisa masuk kosan karena pintu luar dikunci dan orang yang didalam sedang bermain game dan ketika dipanggil tidak mau datang. Menyedihkan, game lebih penting ketimbang pergaulan yang sebenarnya. Saya mengalami ini tidak cuma sekali. Dan saya sangat-sangat sedih sekali mengalaminya.

Beda cerita ketika waktu dahulu, saya datang ke suatu tempat mengunjungi teman, namun sayang disana saya hanya melihat teman saya bermain game, tidak ada obrolan. Obrolan dimulai setelah game nya selesai. Sangat menyedihkan.

Banyak sekali kejadian buruk yang saya alami ketika bertemu dengan gamer autis.

dokter-ngegame

gara-gara game

maingame-bayi-jaditewas

gara-gara game

cerai-karena-game

gara-gara game

 

Jangan menularkan prinsip negatif

Sering kali kita bertemu dengan rekanan bisnis atau juga atasan dengan masing-masing karakternya. Ada yg keep cool jaga jarak, tidak terlalu dekat dari sisi personal. Hanya dekat dari sisi bisnis saja. Ada juga yg dekat baik secara personal maupun bisnis.

Dekat scara personal itu ada plus ada minusnya, baik bagi kita maupun mereka. Negatifnya, masalah timbul ketika rekan tersebut atau bahkan kita sendiri menularkan pronsip-prinsip negatif dalam berbisnis. Misalkan, “kalau bisnis itu jangan pake hati, gausah memandang teman atau bukan”. Hal tersebut bagi saya adalah negatif, karena menghilangkan norma. Pada dasarnya bisnis pun punya aturan dan norma. Apakah anda mau memiliki uang banyak tapi semua orang membenci kita?

Dunia hanyalah fatamorgana, boleh kita hidup mewah, harus tetap menjunjung norma. Kalau kita saling menghormati, harga menghargai, pastilah khidupan ini indah. Dan anda pun akan menemukan orang-orang berkarakter positif seperti itu.

Zupa-zupa

Ditraktir makan zupa-zupa. Rasanya agak asin, gurih, cramy, kadang ada sdikit rasa enek, mungkin karena lidahku lidah kampung kali ya…? :-D

image

image

Si kakek penjual Mi Tektek

Berapa umur anda sekarang?  Di bawah 17? Di atas 17? Dibawah 40, atau di atasnya?

Kenapa tiba-tiba saya menanyakan umur?

Hari ini saya mendapatkan suatu pelajaran berharga, mengenai umur dan kerja keras.
Barusan saya makan di luar, sembari menunggu makan, saya bermain hp. Tiba-tiba ada sosok kakek-kakek umur 70an lewat memikul mi tektek. Sepintas kakek tersebut agak keberatan, namun langkahnya terlihat mantap, seakan-akan hatinya kuat dan semangat. Mungkin anda bisa saja berkomentar, ‘ah biasa, kami juga sering lihat kaya gitu’. Saya pun bukan cuman sekali saja melihat hal seperti ini, tapi kali ini perasaannya sangat beda. Ada perasaan yg campuraduk di hati saya, ya salut, iba, sedih, bangga, senang, semuanya bercampuraduk. Kakek setua itu dengan badan yang pendek dan kecil, memikul berat beban dagangan mi tektek dg langkah agak keberatan namun tetap teguh.
Saya jadi berkaca pada diri saya, yang sekarang ini dikatakan berada pada usia produktif.  Saya merasa belum mengoptimalkan waktu saya sepenuhnya, tenaga dan pikiran sepenuhnya. Saya pun selama ini masih terlalu sering mengingkari nikmat dari hasil pendapatan saya yg sebenarnya cukup. Selalu saja saya berandai-andai dan terlalu terobsesi untuk mendapatkan pekerjaan yg nilainya lebih besar. Ketika saya melihat si pak tua tadi, saya jadi malu, maluuu sekali. Saya bekerja tidak perlu memikul beban, tak perlu keliling, hanya duduk dan saya pun masih muda perkasa. Sedangkan kakek tersebut sudah tua, kurus, keriput, harus memikul barang jualannya dan berkeliling. Kenapa rasa sukur saya masih sebegitu sedikit, kadang saya merasa terketuk hatinya. Kakek setua itu saja bersukur dengan pekerjaannya, harusnya saya pun bersukur.
Alhamdulillah teman, jika kalian masih berumur tergolong muda dan memiliki pekerjaan yang tidak begitu berat, mari kita syukuri. Kakek yang sudah tua pun tidak mengeluh, jadi kenapa kita harus mengeluh dg pekerjaan kita yg sebenarnya sangat nyaman ditambah lagi umur kita masih muda.

Dari kejadian malam ini, saya jadi merasa ada yang mengingatkan saya untuk selalu bersyukur atas hal sekecil apa pun dan bersungguh-sungguh dg pekerjaan sekecil dan se remeh apa pun.

Ikuti

Get every new post delivered to your Inbox.