Aplikasi Approval Sederhana (Analisa&Desain)
Tahap awal untuk membuat sebuah aplikasi adalah analisa dan desain, salah satunya adalah perancangan sistem dimana kita harus bisa menerjemahkan requirement dari user untuk menuju proses selanjutnya yaitu fase development. Mungkin kalian sering menjumpai contoh-contoh kasus pada artikel lain atau juga mungkin yang sering dipakai disekolah/kuliah seperti sistem penjualan, penyewaan, gudang, dan lain-lain dalam artikel kali ini kita akan mengambil sebuah contoh kasus yang ngga mainstream namun tetap sederhana agar mudah dipahami.
Sedikit overviewnya tentang sistem approval sederhana yang akan kita buat, jadi tujuannya adalah untuk melakukan persetujuan dahulu sebelum data dapat diproses lebih lanjut. Contoh implementasinya misal "Sistem approval penerimaan anggota baru", jadi ketika ada anggota baru yang mendaftar tidak secara otomatis dianggap sebagai anggota yang sah, namun harus disetujui dulu oleh ketua organisasi. Jika ketua setuju maka pendaftar resmi menjadi anggota dan dapat diproses lebih lanjut, begitupun sebaliknya.
Sedikit overviewnya tentang sistem approval sederhana yang akan kita buat, jadi tujuannya adalah untuk melakukan persetujuan dahulu sebelum data dapat diproses lebih lanjut. Contoh implementasinya misal "Sistem approval penerimaan anggota baru", jadi ketika ada anggota baru yang mendaftar tidak secara otomatis dianggap sebagai anggota yang sah, namun harus disetujui dulu oleh ketua organisasi. Jika ketua setuju maka pendaftar resmi menjadi anggota dan dapat diproses lebih lanjut, begitupun sebaliknya.
Tahap 1 : Analisa Requirement
Sebuah program dirancang berdasarkan requirement dari user, dalam hal ini pihak developer biasanya diberikan sebuah dokumen yang disebut dengan SOR (Scope of Requirement). Mirip seperti batasan masalah, dokumen ini berisi apa saja dan seberapa jauh yang diharapkan user dari aplikasi tersebut. Kenapa SOR? Karna keinginan manusia itu tidak ada batasnya, jika tidak dibatasi bisa melebar selebar samudra dan sejauh angkasa :D
Judul : Aplikasi Approval Sederhana
Requirement : Sistem approval multilevel yang bisa diimplementasikan ke banyak proses bisnis
Detail Requirement:
- Approval dilakukan oleh user yang terdaftar pada sistem
- Satu user hanya boleh melakukan 1x approval di setiap kategori
- Level approval bisa dibuat tak terbatas/dinamis sesuai kebutuhan
- Setiap level bisa berisi 1 atau lebih user, kecuali level tertinggi hanya berisi 1 user
- Status approval terdiri dari (approve/not approve/in progress/reject)
- Terdapat kategori approval yang bisa diimplementasikan ke masing-masing data
- User dapat mendesign skema approval untuk setiap kategori
Tahap 2 : Flowchart Program
Setelah kita tahu keinginan dari pihak user, maka ini adalah saatnya untuk membuat diagram alur, dimana kita menganalisa bagaimana jalannya proses bisnis tersebut ketika diimplementasikan kedalam sebuah program aplikasi. And ya, kemampuan berhayal menganalisa akan sangat diuji pada tahapan ini :D
Tahap 3 : Database Design (using SQL Server)
Yap, tahap terakhir sebelum memasuki proses coding/development adalah database design dan kali ini kita akan menggunakan SQL Server sebagai databasenya. Berikut adalah daftar table yang diperlukan untuk membuat Aplikasi Approval Sederhana berdasarkan flowchart diatas.
Table User:
untuk menyimpan data user
Field
|
Type
|
Null
|
Default
|
Description
|
|
PK
|
Username
|
Varchar(20)
|
No
|
||
Password
|
Varchar(max)
|
No
|
Table Master:
untuk menyimpan data master
Field
|
Type
|
Null
|
Default
|
Description
|
|
PK
|
MasterID
|
Varchar(20)
|
No
|
reference ke table master, bisa diisi dengan ID dari
berbagai table master
|
|
Description
|
Varchar(max)
|
Yes
|
|||
FK
|
Category
|
Varchar(20)
|
No
|
||
Status
|
Varchar(20)
|
No
|
In Progress
|
Table Category:
untuk menyimpan skema approval pada setiap kategori
Field
|
Type
|
Null
|
Default
|
Description
|
|
PK
|
Category
|
Varchar(20)
|
No
|
||
FK
|
Username
|
Varchar(max)
|
No
|
user yg bertugas untuk melakukan approval
|
|
Level
|
Int
|
No
|
menunjukkan level approval setiap user pada setiap
kategori, semakin banyak nilainya maka semakin tinggi levelnya
|
Table Approval:
untuk menyimpan data transaksi approval
Field
|
Type
|
Null
|
Default
|
Description
|
|
PK
|
ApprovalID
|
Varchar(20)
|
No
|
||
FK
|
MasterID
|
Varchar(20)
|
No
|
||
FK
|
Username
|
int
|
No
|
||
Turn
|
Bit
|
No
|
0
|
menunjukkan level yg sedang melakukan approval
|
|
Approve
|
bit
|
Yes
|
Null
|
And Yay! we are done
Selesailah tahap analisa dan desain sampai disini, semoga bermanfaat untuk menambah pengetahuan kita tentang bermacam proses bisnis dan juga mengembangkan kemampuan analisa serta design sistem. See yaa at next article and have a nice weekend :)