Microsoft® Access
Oleh: Hermawih Hasan
Pendahuluan
Kesederhanaan - Program yang Membantu
Bos
Konvergensi dan Divergensi
Perdebatan Tentang Microsoft Access
Kesimpulan
Lampiran: Database Specifications
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 form
dengan 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.
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
aplikasi client 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.
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 clipboard
untuk 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.
Lampiran: Database Specifications
| GENERAL |
Maximum |
|
Attribute |
|
|
Access database (.accdb) file size |
2 gigabytes, minus the space needed
for system objects |
|
Number of objects in a database |
32,768 |
|
Number of modules (including forMicrosoft and
reports that have the HasModule property set
to True) |
1,000 |
|
Number of characters in an object name |
64 |
|
Number of characters in a password |
20 |
|
Number of characters in a user name or group name |
20 |
|
Number of concurrent users |
255 |
|
TABLE |
|
|
Attribute |
|
|
Number of characters in a table name |
64 |
|
Number of characters in a field name |
64 |
|
Number of fields in a table |
255 |
|
Number of open tables |
2048; the actual number might be smaller because of
tables opened internally by Access |
|
Table size |
2 gigabyte minus the space needed for the system
objects |
|
Number of characters in a Text field |
255 |
|
Number of characters in a Memo field |
65,535 when entering data through the user
interface;
2 gigabytes of character storage when entering data
programmatically |
|
Size of an OLE Object field |
1 gigabyte |
|
Number of indexes in a table |
32 |
|
Number of fields in an index |
10 |
|
Number of characters in a validation message |
255 |
|
Number of characters in a validation rule |
2,048 |
|
Number of characters in a table or field description |
255 |
|
Number of characters in a record (excluding Memo and
OLE Object fields) when the UnicodeCompression
property of the fields is set to Yes |
4,000 |
|
Number of characters in a field property setting |
255 |
|