Database Butuh Designer

Nur Kholik Kurniana Putra
5 min readNov 11, 2020

The story of how I fell in love with this topic

SQL Programming from Unplash

Cerita dimulai dari adanya pengumuman pelatihan Fresh Graduate Academy yang diselenggarakan oleh Kementerian Kominfo. Kepo mode on dimulai, setelah cari tau lebih lanjut akhirnya memutuskan untuk ikut kelas Database Design and Database Programming with SQL. Harapan awal dikelas ini saya bisa memahami cara kerja data dalam database dan bisa belajar query dengan SQL. Waktu itu, untuk beberapa project analisis data saya belum pernah memakai database dan query. So, ini awal yang baik dong bisa belajar SQL.

Oke persyaratan semua sudah masuk dan ada test nya. Singkat cerita mendapat pengumuman diterima kelas di salah satu kampus terbaik di Indonesia. Senang? tentu. Gembira? harus. Belajar gratis bro!

Masuklah saya dalam group kelas di universitas tersebut. Berjumpa orang-orang baru secara online menjadi tantangan tersendiri. Pembahasan diawali dengan materials yang perlu dibutuhkan dan kapan kelas akan dimulai. Memang, software yang akan digunakan terasa asing. Untuk kelas ini Kominfo bekerja sama dengan Oracle Academy, jadi software yang digunakan adalah Oracle Data Modeller dan Oracle Application Express (APEX).

Awal Kelas

Kelas pertama dimulai. Beruntung banget dapat instruktur yang friendly dan santuy dengan siswanya. Materi diawal-awal sih ez ya, tapi makin lama makin bikin pusing. seperti biasa ikut training diawal-awal pasti gampang. Kelas biasa dimulai jam 8 dan kadang-kadang dijam lain menyesuaikan waktu dari instruktur. Setiap section terdiri dari live session, self-paced berupa latihan soal/studi kasus, dan kuis.

Bila rekan-rekan membayangkan kelasnya hanya beberapa kali dalam seminggu, itu salah besar. Kelas diadakan setiap hari! Kecuali hari minggu. Tapi belakangan hari minggu juga dipake buat kelompokan, haha. Gaada libur.

Oke, semester pertama saya belajar database design. Ini diluar ekspektasi saya, bahwa dalam kelas ini akan mengulik proses bisnis dan mentransformasi informasi tersebut kedalam design. Beruntungnya oracle selalu memberikan ilustrasi dan studi kasus dalam setiap teori ataupun aturan dalam database design. Dari sini saya mengenal adanya optionality, cardinality, primary key, mandatory, dll. Jika rekan-rekan tertarik akan saya buatkan artikel khususnya mengulik database design dengan studi kasus tentunya. (klik disini untuk survey)

Instruktur selalu menekankan

“gapapa di awal kita berdarah-darah. biar kedepannya setelah conseptual dan logical design jadi. implementasi physical designya gampang, jadi ga repot.”

Oke Pak siap!

Ya disinilah saya jatuh cinta dengan database design. Sangat erat kaitannya dengan proses bisnis. bagaimana bisnis dijalankan dan menginventarisasi data-data apa saja yang dibutuhkan dan bagaimana data-data tersebut saling berhubungan dan berkaitan.

Belajar sejauh apapun kalo tidak diamalkan kan percuma ya, hanya sebatas tau saja dan ilmunya engga naik kelas jadi transferable knowledge. Jadi berikutnya kami dibagi menjadi beberapa kelompok untuk mengerjakan project hingga kelas berakhir.

Welcome to the journey bruh!

Project Pertama

Kelompok saya terdiri dari 3 orang dan ternyata tiga-tiganya baru semua di database design. Salah satu ada latar belakang IT sih, dan sisanya dari astronomi dan saya oseanografi. Saya ucapkan selamat kepada masnya yang IT. hehe

Oke kami bertiga mengerjakan project membuat design database dari bisnis tiruan. Kami memilih bisnis penitipan dan antar barang kosan. Karna sedang hits ditengah pandemi banyak mahasiswa yang kuliah online dan barangnya ditinggalkan di kos/kontrakan.

Untungya, salah satu rekan kelompok memiliki kawan yang punya bisnis tersebut. Tentunya kami lontarkan banyak pertanyaan kepada ownernya tentang proses bisnis yang berjalan. Kami mendata entitas apa saja yang diperlukan, atribut serta bagaimana hubungan entitasnya.

Saya beri contoh, ada customer yang akan memesan layanan. Pertanyaannya adalah apakah customer hanya bisa memesan 1 kali saja atau boleh lebih dari 1? Kemudian apa saja yang perlu customer berikan datanya kepada client? Apakah customer pasti berada di kosan, bila tidak siapa yang bisa dikontak untuk pengambilan barang? Begitu seterusnya hingga kami mendapatkan semua informasi yang dibutuhkan.

Proses design dimulai, masing-masing kami membuat design versi masing-masing. Dan kami presentasikan saat kerja kelompok, memberikan saran masukan serta mendiskusikan bagaimana yang paling pas dan sesuai dengan proses bisnisnya. Perlu rekan-rekan ketahui, bila peserta bertanya perihal teori design baiknya bagaimana, instruktur selalu menjawab

“Sesuai proses bisnis bos!”

Mateklah kita. Tapi dari situ, kami menjadi paham memang begitulah adanya. Design yang paling baik adalah design yang mampu mengakomodir dan memfasilitasi proses bisnis yang disampaikan ke tim.

Merancang conseptual dan logical design diberi waktu 1 mingguan, ditambah perlu menyiapkan written documentation sebagai laporan dan presentasinya. Di akhir-akhir kami siapkan dengan matang dan kami sempatkan latihan presentasi malam hari dan pagi harinya sebelum presentasi. Untuk presentasi database design diadakan 2 kali.

Alhasil, voila kelompok 4 tak tergoyahkan.

Pada project ini kami membuat 1 logical design dan 1 relational table.

Logical Design
Relational Table

Semester 1 terselesaikan dengan mengerjakan final exam. Pelajaran belum selesai, lanjut ke sql programming. Disini akan belajar basic sql dan melakukan query sesuai dengan masalah atau kasus yang diminta.

Mulai Tepar hingga Final Project

Semester untuk sql programming lebih panjang dan materi yang disampaikan juga lebih banyak. Dibeberapa kesempatan, sehari bisa 2-3 kelas untuk mengejar materi dan latihan hands-on programmingnya.

Selain kasus-kasus yang diberikan instrukur saya juga mengerjakan kasus-kasus yang disediakan oleh oracle. Seringkali saya membuat kasus sendiri berdasarkan imajinasi kebutuhan data. Topik yang digunakan berkaitan dengan human resources terkait pendataan employee, salary, mencari bonus, membuat hirarki dari data, dll. Saya mulai membiasakan diri dengan join, manipulation data, dan subquery untuk mendapatkan data yang diinginkan

Overwhelmed saya rasakan menjelang akhir-akhir materi. Hingga merasa otak sudah ga bisa menerima tambahan lagi. Alhasil 2 hari sebelum final project saya tepar.

Final project berupa implementasi logical design menjadi physical design berdasarkan Entity Relational Diagram (ERD) yang diberikan oleh oracle. Pada project ini kami membuat tabel, sequence, constraint, view, dan index. Serta kami coba inputkan contoh values dari masing-masing table. Lebih lanjut dapat diakses disini. Ini dimaksudkan agar bisa melakukan testing database. Dokumentasi test juga perlua kami laporkan, berisi apa saja skenario testnya, bagaimana querynya, expected result, real result, serta action nya bagaimana. Seperti biasa, final project dipresentasikan di hadapan instruktur dan siswa lainnya.

Finally, kelas selesai ditutup dengan mengerjakan final exam dan upload dokumentasi project yang telah dibuat.

Tidak lupa di akhir sesi kami foto bersama

Closing

Terimakasih saya ucapkan untuk Instruktur dan juga rekan kelompok 4 yang sudah sama-sama berjuang menyelesaikan pelatihan ini. Saya ucapkan selamat kepada rekan-rekan semua yang sudah berhasil menyelesaikan pelatihan ini dengan baik. Semoga ilmu yang diperoleh dapat menebar kebermanfaatan.

Sekian cerita awal perkenalan saya dengan database design dan sql programming. Hopefully you can enjoy this story. Artikel selanjutnya kita balik lagi ke peranalisisan lagi ya.

Cheers,

-Kholik

--

--