Senin, 27 Desember 2010

MICROSOFT ACCES

Walaupun bisa menganggap diri pribadi sebagai “programmer”, penulis suka membaca buku-buku pemrograman dari sudut yang berbeda seperti misalnya:
  • Great Software Debates oleh Alan M. Davis
  • Professional Software Development oleh Steve McConnel
  • Agile Software Development oleh Alistair Cockburn
  • dan lain sebagainya.
Buku-buku itu sama sekali tidak membahas tehnik-tehnik pemrograman tetapi membahas topik-topik umum yang penting dalam teknologi informasi.
Profesor Alan M. Davis adalah seorang yang rendah hati yang berani mengakui kegagalannya secara publik dalam bukunya. Dia berargumentasi pentingnya seseorang menguasai hal-hal yang non tehnis dalam pengembangan sebuah aplikasi untuk mengurangi risiko kegagalan.

Kesederhanaan - Program yang Membantu Bos

Sebagai ilustrasi, bayangkan seorang pimpinan perusahaan yang tidak terlalu mengerti tentang teknologi informasi bertanya kepada pegawainya, berapa penjualan barang A. Pegawai itu membuka sebuah aplikasi Microsoft Access, membuka sebuah query lalu memasukkan kriteria dan keluarlah hasilnya. Bos itu tersenyum puas dan kemudian mencoba membuat sebuah formdengan memasukkan objek-objek yang diperlukan untuk melihat perbandingan penjualan antar kategori, dan keluarlah hasilnya seketika dalam bentuk grafik. “A picture worth a thousand words”. Kembali bos itu tersenyum puas karena bisa juga membuat sebuah program yang berguna dengan cepat.
Sekarang coba bayangkan yang digunakan bukan Microsoft Access tetapi Microsoft SQL Server atau bahasa pemograman dalam keluarga NET. Bos itu yang mungkin mempunyai gelar Phd dalam bidang “Public Administration” akan membentak petugas IT nya bila mengatakan sesuatu yang teknikal seperti OOP, OLTP, OLAP. Dan dapat dipastikan bos itu tidak akan pernah mau mempelajari sesuatu yang rumit yang memerlukan waktu panjang untuk mempelajarinya karena tuntutan tugasnya sendiri sebagai pimpinan perusahaan sudah cukup berat.
Penulis bisa membayangkan banyak sekali orang-orang seperti bos di atas yang menggunakan Microsoft Access dalam pekerjaannya. Keamanan adalah hal yang sering digembor-gemborkan akhir-akhir ini. Tetapi tanya kepada bos itu yang hanya menggunakan data dan program untuk internal perusahaan, apakah keamanan demikian penting. Bos itu pasti akan membentak dengan mengatakan, “Kesederhanaan adalah hal yang paling penting”. Tanpa kesederhanaan bos itu pasti tidak akan pernah memulai belajar menggunakan Microsoft Access. Kesederhanaan mendorong semangat belajar.

Konvergensi dan Divergensi

Salah satu buku menarik dari pakar pemasaran Al Ries adalah “The Origins Of Brands”. Mungkin terasa aneh dalam bukunya ia mengulas teori Darwin yang pernah kita kenal dalam pelajaran Biologi sewaktu SMA. Ia membuat hubungan perkembangan produk perusahaan dengan teori Darwin “The Origin of Species” . Dalam bukunya ia juga mengulas tentang konvergensi dan divergensi. Konvergensi yang dibahas dalam buku tersebut adalah tentang bercampurnya beberapa fungsi produk menjadi satu seperti halnya dalam telepon selular dengan adanya fungsi telepon, TV, musik, kamera, PDA. Al Ries berargumentasi bahwa fungsi produk utama seharusnya berdiri sendiri – divergensi. Banyak produk gagal karena mengikuti perkembangan konvergensi dan bila ada yang sukses itupun karena masalah kesederhanaan pemakaiannya.
Apa hubunganya dengan Microsoft Access? Bagi pengembang Microsoft Access yang telah berpengalaman tentu tahu dua peran dari Microsoft Access yaitu sebagai back-end dan front-end. Microsoft Access adalah satu-satunya RDBMS (Relational Database Management System) dari Microsoft yang mempunyai dua sifat, sehingga menurut Al Ries ini mengikuti alur konvergensi. Jadi menurut Al Ries seharusnya ini dipisah karena akan gagal. Tetapi ia juga memberikan alasan bahwa produk yang berhasil menggabungkan dua atau lebih fungsi produk adalah karena kesederhanaannya.
Mungkin ada benarnya, karena kesederhanaan Microsoft Access, mendorong banyak orang tanpa latar belakang IT untuk memanfaatkannya dalam pekerjaannya. Seperti kita ketahui mungkin karena dorongan-dorongan dari penggunanya, Microsoft Access dicoba juga untuk ditambah fungsinya untuk aplikasi internet. Sayangnya fitur yang ditambahkan itu, Data Access Pages, tidak berhasil karena tidak sederhana penggunaannya. Menurut Al Ries, konvergensi akan gagal. Apa yang terjadi dengan Microsoft Access versi 2007? Data Pages dihilangkan sama sekali di versi tersebut. Secara pribadi dan ini mungkin tidak sependapat dengan pengembang Access yang berpengalaman lainnya, penulis setuju dengan langkah yang diambil.
Saya perlu mengutip pendapat dari Dr. West dalam bukunya “Object Thinking” tentang bagaimana seharusnya kita memilih bahasa pemrograman. Dr. West di halaman 34 di bukunya, memberikan tiga alasan yang seharusnya menjadi pegangan dalam pemilihan alat pemrograman yaitu:Pragmatics, Performance and Philosophy.
Penulis ingin menekankan pada hal yang ketiga yaitu Philosophy: Mengapa atau untuk alasan apa suatu bahasa pemrograman dibuat?
Siapa yang tahu mengapa Microsoft Access dibuat? Secara tepat penulis tidak tahu tetapi kita dapat melihat dari namanya saja, Microsoft Access database dan dalam kategori mana Microsoft Access database dimasukkan- Microsoft Office. Jadi kalau anda ingin membuat program “3D Game” atau program yang mengontrol “hardware” maka memilih Microsoft Access adalah pilihan yang salah. Namun jika anda ingin membuat aplikasi database dan ingin memanfaatkan objek-objek Microsoft Office yang kaya maka Microsoft Access adalah pilihan yang tepat.
Sekarang pertanyaannya adalah Microsoft Access yang mana yang akan digunakan untuk aplikasi database, apakah Microsoft Access back-end atau Microsoft Access sebagai Front-end? Jika yang akan dibuat adalah aplikasi database sederhana dengan sedikit pengguna dan jumlah data yang tidak terlalu banyak maka kita dapat menggunakan Microsoft Access sebagai front-end dan back-end sekaligus - sebagai aplikasi file server. Tetapi jika kita ingin membuat aplikasi database dengan banyak pengguna dan jumlah data yang besar, dan database itu akan diletakkan dalam komputer server yang mempunyai konfigurasi mesin yang cepat maka Microsoft Access sebagai front-end dan Microsoft SQL Server dapat digunakan untuk maksud tersebut - sebagai aplikasiclient server.  Dan yang lebih penting lagi adalah target pengguna aplikasi anda. Bila target pengguna aplikasi adalah perusahaan atau institusi di mana orang-orangnya tidak terlalu menguasai IT maka database Microsoft Access sebagai back-end adalah pilihan yang lebih tepat.
Dengan tidak mempertimbangkan philosophy Microsoft Access dan dua sifat Microsoft Access maka perdebatan atau diskusi tentang Microsoft Access akan mengarah kepada diskusi yang kurang tepat.

Perdebatan tentang Microsoft Access

Setelah ulasan-ulasan singkat pada bagian sebelumnya untuk memberikan sedikit latar belakang teori, maka sudah saatnya kita mengulas pendapat tentang Microsoft Access yang ada dalam banyak forum termasuk di dalam forum atau blog MSDN.
  • Microsoft Access tidak banyak digunakan.
  • Microsoft Access adalah mainan/“toy”.
  • Microsoft Access tidak berkembang.
  • Microsoft Access tidak bisa membuat komponen komponen.
  • Aplikasi Microsoft Access adalah aplikasi yang hanya cocok untuk prototipe.
Sebelum kita masuk pada ulasan-ulasan ini ada baiknya kita harus mengingat dua hal yang penting di atas yaitu: Philosophy dan dua sifat Microsoft Access.

Apakah Benar Microsoft Access Tidak Banyak Digunakan?

Yang mengatakan ini pasti tidak pernah melihat diskusi di situs-situs internet seperti MSDN, Google dan lain sebagainya. Kenyataannya adalah Microsoft Access database adalah RDBMS yang paling populer di muka bumi yang pemakainya berjuta-juta orang. Tepatnya berapa tidak ada yang bisa tahu karena banyak sekali mereka-mereka seperti bos di atas, siswa-siswi, mahasiswa-mahasiswi, profesor di universitas yang hanya menggunakan Microsoft Access untuk kepentingan tugas atau pribadi yang tidak mungkin terdeteksi satu persatu.

Microsoft Access adalah Mainan/“Toy”

Tanya seorang anak kecil, apakah yang paling disukainya. Anak-anak akan mengatakan bahwa mereka suka mainan. Demikian pula orang dewasa suka sekali pada hal yang menyenangkan. Apa salahnya dengan hal-hal yang menyenangkan dalam pekerjaan? Microsoft Access adalah alat yang menyenangkan karena mudahnya pembelajar awal untuk membuat sesuatu yang berguna. Sukses kecil dari awal akan memberikan motivasi yang luar biasa untuk belajar.
Kritik ini dapat dipastikan dari orang-orang yang menyukai hal-hal teoritis dan tidak mengerti alasan dibuatnya Microsoft Access. Orang-orang teoritis ini suka sekali pada hal-hal yang ruwet dan tidak mempertimbangkan kecepatan dalam pengembangan. Kebalikannya, pimpinan perusahaan seperti di atas sangat menghargai kecepatan dan waktu dan tidak peduli bila Microsoft Access “heavily sub classing”- istilah itu adalah untuk menyatakan pembuatan class dari class sampai beberapa kali. Kemungkinan besar bos itu sama sekali tidak mengerti istilah yang dimaksud.
Ada pendapat menarik dari Dan Appleman dalam bukunya “Moving to VB NET” halaman 61 yang yang mengkritik programmer yang terlalu teoritis. Harap diingat yang dimaksud VB dalam komentarnya adalah VB 6 atau sebelumnya.
“Saya pikir pengembang VB merasa terintimidasi oleh pengembang C++, yang mempunyai kecenderungan untuk menaikkan hidungnya dan berkata, VB bukan bahasa berorientasi objek yang benar. Bahasa berorientasi objek mempunyai sifat ‘Inheritance’ – yang mana pengembang dalam bahasa VB dapat menyelesaikan kode yang sama banyak dalam satu jam sedangkan pengembang C++ menyelesaikannya dalam satu minggu. Tetapi itu tidak masalah karena C++ adalah bahasa yang modern, elegan, profesional, OOP dan VB hanya mainan bagi pengembang pemula, yang dirancang bagi mereka yang tidak bisa mengatasi C++”
Penulis setuju dengan kritikan Dan Appleman.

Microsoft Access Tidak Berkembang

Ini keluhan dari pengembang profesional Microsoft Access yang ditemukan di blog MSDN. Namun sayangnya karena tidak memberikan keterangan Microsoft Access yang mana maka keluhan ini bisa mengarah pada hal yang tidak tepat. Bila yang dimaksud adalah Microsoft Access sebagai back-end maka hal ini ada benarnya. Lihat bagian lampiran Database Specifications yang penulis ambil dari dokumentasi Help Microsoft Access 2007 yang memang tidak banyak perubahan. Pertanyaannya adalah untuk apa dan mengapa?
Banyak keluhan bersumber karena lemahnya mereka pada teori desain database sehingga mereka memerlukan banyak sekali tabel untuk aplikasinya yang semestinya bisa berkurang lebih dari 50 persen dari yang seharusnya.
Bila melihat Access sebagai front-end maka keluhan itu bisa jadi salah besar dengan terus ditambahkannya fitur-fitur yang bermanfaat seperti koneksi Microsoft Access Project untuk koneksi ke SQL Server, koneksi ke SharePoint dan tampilan terbarunya dengan UI Ribbon. Secara pribadi penulis sependapat dengan perkembangan yang terjadi dengan Microsoft Access.
Jika karena suatu hal Microsoft Access harus dipisahkan dan menghilangkan salah satu dari dua sifat Microsoft Access (lihat teori divergensi), mana yang anda pilih, menghilangkan Access sebagai back-end atau menghilangkan Access sebagai front-end. Penulis lebih memilih menghilangkan Access back end. Perhatikan perkembangan yang terjadi dengan Microsoft SQL Server Express yang databasenya dapat dianggap sebagai file server. Penulis mengharapkan SQL server Express ini dapat terus dikembangkan dan disederhanakan.

Microsoft Access Tidak Bisa Membuat Komponen-Komponen

Jika yang dimaksud dengan membuat dll (Dynamic Linking Library) maka ada benarnya pendapat tersebut tetapi kita bisa membuat sub sistem-sub sistem dari aplikasi dengan memecahnya menurut fungsi-fungsinya. Dan bila diperlukan untuk membuat dll maka kita bisa membuatnya dengan aplikasi VB6 atau sebelumnya. Ini mungkin akan mengejutkan bila saya katakan bahwa Microsoft Access juga bisa menggunakan dll yang dibuat oleh teknologi NET. Alasan utama mengapa penulis tidak pernah membuat dll dengan teknologi NET adalah karena keharusan mempunyai NET Framework bila pengguna menggunakan aplikasi Microsoft Access yang kami buat. Ini juga mungkin akan mengejutkan anda, bila kami katakan bahwa Microsoft Access juga bisa dikembangkan dengan metodologi OOP dan dirancang dengan teknologi “Three or More tier”.

Aplikasi Microsoft Access adalah Aplikasi yang Hanya Cocok untuk Prototipe

Saya pernah membaca buku yang mengatakan bahwa Microsoft Access hanya cocok untuk membuat prototipe aplikasi. Kalau penulis itu merubah kalimatnya dengan “Microsoft Access cocok untuk membuat prototipe” maka penulis setuju tetapi Microsoft Access tidak hanya cocok untuk membuat prototipe, Microsoft Access adalah alat pengembangan database yang handal yang dapat digunakan untuk membuat aplikasi database desktop ataupun untuk membuat aplikasi client server dengan Microsoft SQL server sebagai back-end nya. Jadi aplikasi Microsoft Access anda jangan dibuang tetapi perlu terus dipelihara dan dikembangkan sesuai dengan spesialisasi perusahaan di mana anda bekerja.

Kesimpulan

Microsoft Access adalah alat favorit penulis namun bukan alat pengembangan yang ideal. Mengapa demikian? Ada hal yang membuat iri penulis kepada pengembang NET karena tersedianya koleksi “Class” yang luar biasa besar pada teknologi NET. Kami cukup dibuat repot dengan keterbatasan pada Microsoft Access karena terbatasnya “library” yang ada, misalnya saja untuk fungsi clipboarduntuk gambar yang mengharuskan kami menggunakan API yang cukup rumit dan kode yang panjang, dibandingkan dengan satu baris kode bila menggunakan satu Class pada NET.
Mengapa tidak menggunakan VB NET? Ada satu alasan yang masuk akal mengapa tidak menggunakan VB NET untuk aplikasi database kami. Microsoft Access adalah keluarga Microsoft Office dan kami ingin menggunakan objek-objek di dalam Microsoft Office dengan mudah dan cepat. Walaupun VB NET dapat melakukan itu tetapi Microsoft Access dapat dipastikan jauh lebih mudah dan cepat. Untuk saat sekarang Microsoft Access adalah alat favorit kami untuk pembuatan aplikasi database di desktop. Dan bila anda ingin tahu, ASP NET dengan bahasa VB NET adalah alat favorit kami untuk membuat aplikasi database di internet atau intranet.
Mudah-mudahan tulisan kecil ini sedikit memberikan sumbangan pikiran dan sedikit pencerahan. Pendapat ini adalah pendapat pribadi yang mungkin saja bisa salah dan tidak sesuai dengan pendapat pembaca

0 komentar:

Posting Komentar