Home > Uncategorized > Bahayanya Data Centric Application (CRUD)

Bahayanya Data Centric Application (CRUD)

Kenapa ya setiap ada aplikasi yg dibangung selalu aja langsung berpikir data2 nya apa? Table2 yg dibutuhkan apa? Relasi antar table seperti apa. Mikirnya table melulu. Argh… Setiap bangung aplikasi mikirnya langsung design database. Relasi. Foreign Key. dll. Emang OOP seperti itu ya? Justru hal ini bisa menyebabkan kesalahan dalam proses berpikir. Kita berpikir bahwa aplikasi yg telah kita buat itu OOP hanya karena kita menggunakan bahasa pemrograman OO.

Apalagi dengan adanya bantuan ORM skarang seperti Hibernate dan kawan2 nya. Wow.. Makin benar2 rusak pola pikir itu. Hancur. Setter dan getter dimana2. Kita berpikir bahwa semua aplikasi tersebut adalah CRUD applicationi. Setiap data ada operasi Add New, Delete, Update, Read. Arghh…………. Dunia seperti apa ini??

Kita tidak berpikir bahwa ada proses bisnis yg menyebabkan sesuatu di insert atau di update di database. Contohnya ketika kita menset suatu field pada object pasti ada behaviour yg related ke object tersebut. Misalnya kita mengeset field status dari seorang mahasiswa menjadi false. Sebenarnya mungkin aja mahasiswa tersebut diskorsing atau dipecat atau yg lain2. Contoh lain nya adalah employee.setSalary(20 juta); Coba kita lihat sebenarnya mungkin aja proses tersebut diakibatkan bahwa employee tersebut dipromosikan jabatan nya atau naek pangkat. Tul gak???

Jika kita memulai pembangunan suatu aplikasi dari level database. Maka hal yg disebutkan di atas hampir pasti terjadi. Padahal secara konsep OOP adalah encapsulasi. Jadi sebenarnya yg kita lakukan adalah programming prosedural di java. cuman struct di bahasa c diganti dengan class di java. Sama aja wong semua nya ada set get set get.

Kemaren saya baru dengar podcast dari herding code dengan greg young sebagai pembicara. Saya tertawa setengah mati. Karena dia benar2 keras dalam hal tersebut. Dia berkata bahwa ada fasilitas di visual studio yg memungkinkan kita mendrag table dan mengenerate dataset dan juga bisa menentukan operasinya. Trus dia menambahkan kok gak langsung dikasih aja enterprise manager sql server itu sama user. Hahahaahahahahahahahahaha…… Hal tersebut sering sekali saya lakukan. Sangat2 memalukan. Untuk lebih jelasnya lagi silahkan mendengar sendiri penjelasan Greg Young tersebut

Contoh lain yg dikatakannya adalah Grid view based application. Dimana memungkinkan user mengedit langsung field2 database tersebut. Apa bedanya kan dengan langsung make TOAD trus kasih ke user dan ajarkan sitaks sql sama usernya. Hahahahahaha…

Hal tersebut klo di java kejadiannya agak sedikit lebih traditional. DImana dengan hibernate kita bisa mengenerate hbm, pojo, dao dll. Sama aja. Cuman lebih halus caranya. Gak terlalu blak2an seperti di MS .NET World. Jadi saya sarankan bahwa kita lebih baik merubah cara berpikir tersebut sekarang. Saya juga malu mengakui bahwa saya orang yg mengerti Object Oriented karena sampai skarang pun saya masih dalam proses mengubah pola pikir tersebut.

Categories: Uncategorized
  1. ryzam
    August 24, 2009 at 10:15 pm

    Saya harap kamu bisa menulis lebih detail tentang CQS dan penggunaan Message dalam software development.

  2. rimhotps
    September 2, 2009 at 3:32 am

    memang itulah dunia nyata….

    • weltam
      September 9, 2009 at 7:11 pm

      iya ces.. cuman dunia nyata itu baik ato tidak. hehehe..

  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: