first commit
This commit is contained in:
161
lab_env_database_erd.md
Normal file
161
lab_env_database_erd.md
Normal file
@@ -0,0 +1,161 @@
|
||||
# Entity Relationship Diagram (ERD) - Sistem Aplikasi Laboratorium Lingkungan
|
||||
|
||||
Berikut adalah representasi hubungan antar entitas dalam sistem aplikasi laboratorium lingkungan.
|
||||
|
||||
```
|
||||
+----------------+ +-------------------+ +---------------------+
|
||||
| CUSTOMERS | | SERVICE REQUESTS | | REQUEST PARAMETERS |
|
||||
+----------------+ +-------------------+ +---------------------+
|
||||
| PK customer_id |<------| FK customer_id | | PK request_param_id |
|
||||
| customer_name | | PK request_id |<------| FK request_id |
|
||||
| customer_type | | request_date | | FK parameter_id |
|
||||
| contact_person | | request_type | | quantity |
|
||||
| phone_number | | project_name | | price_per_unit |
|
||||
| email | | project_location | +---------------------+
|
||||
| address | | status | ^
|
||||
| company_name | | admin_id | |
|
||||
+----------------+ | quotation_number | |
|
||||
| quotation_date | +---------------------+
|
||||
| approved_date | | ANALYSIS PARAMETERS |
|
||||
| payment_proof | +---------------------+
|
||||
| payment_date | | PK parameter_id |------+
|
||||
| total_amount | | parameter_name | |
|
||||
| notes | | unit | |
|
||||
+-------------------+ | method | |
|
||||
| | FK sample_type_id |---+ |
|
||||
| | standard_value | | |
|
||||
v | price | | |
|
||||
+-------------------+ +---------------------+ | |
|
||||
| SAMPLING PLANS | | |
|
||||
+-------------------+ +---------------------+ | |
|
||||
| PK plan_id | | SAMPLE TYPES | | |
|
||||
| FK request_id | +---------------------+ | |
|
||||
| planned_date | | PK sample_type_id |<---+ |
|
||||
| location | | type_name | |
|
||||
| coordinates | | description | |
|
||||
| sampling_method | | standard_method | |
|
||||
| equipment_needed | +---------------------+ |
|
||||
| sampling_officer_id| |
|
||||
| status | |
|
||||
| notes | +---------------------+ |
|
||||
+-------------------+ | SAMPLES | |
|
||||
| +---------------------+ |
|
||||
| | PK sample_id | |
|
||||
+----------------->| FK request_id | |
|
||||
| FK plan_id | |
|
||||
| sample_code | |
|
||||
| FK sample_type_id |------+
|
||||
| sampling_date |
|
||||
| sampling_location |
|
||||
| sampling_officer_id|
|
||||
| received_date |
|
||||
| received_by |
|
||||
| sample_condition |
|
||||
| preparation_notes |
|
||||
| preservation_method|
|
||||
| status |
|
||||
+---------------------+
|
||||
|
|
||||
|
|
||||
v
|
||||
+---------------------+ +----------------+
|
||||
| ANALYSIS RESULTS | | REPORTS |
|
||||
+---------------------+ +----------------+
|
||||
| PK result_id | | PK report_id |
|
||||
| FK sample_id | | FK request_id |
|
||||
| FK parameter_id |------>| report_number |
|
||||
| analyst_id | | report_date |
|
||||
| analysis_date | | prepared_by |
|
||||
| result_value | | verified_by |
|
||||
| unit | | approved_by |
|
||||
| method_used | | status |
|
||||
| is_within_standard | | file_path |
|
||||
| notes | | notes |
|
||||
| status | +----------------+
|
||||
| verified_by |
|
||||
| verification_date |
|
||||
+---------------------+
|
||||
|
||||
+----------------+ +---------------------+
|
||||
| USERS | | ACTIVITY LOGS |
|
||||
+----------------+ +---------------------+
|
||||
| PK user_id |<------| FK user_id |
|
||||
| username | | PK log_id |
|
||||
| password | | action |
|
||||
| full_name | | table_name |
|
||||
| email | | record_id |
|
||||
| role | | details |
|
||||
| department | | ip_address |
|
||||
| is_active | | created_at |
|
||||
| last_login | +---------------------+
|
||||
+----------------+
|
||||
```
|
||||
|
||||
## Keterangan Relasi
|
||||
|
||||
1. **Customers** (1) -- (N) **Service Requests**
|
||||
- Satu pelanggan (customer) dapat memiliki banyak permintaan layanan (service requests).
|
||||
|
||||
2. **Service Requests** (1) -- (N) **Request Parameters**
|
||||
- Satu permintaan layanan dapat meminta banyak parameter untuk diuji.
|
||||
|
||||
3. **Analysis Parameters** (1) -- (N) **Request Parameters**
|
||||
- Satu parameter analisis dapat diminta dalam banyak permintaan layanan.
|
||||
|
||||
4. **Sample Types** (1) -- (N) **Analysis Parameters**
|
||||
- Satu jenis sampel dapat memiliki banyak parameter analisis.
|
||||
|
||||
5. **Service Requests** (1) -- (N) **Sampling Plans**
|
||||
- Satu permintaan layanan dapat memiliki banyak rencana sampling.
|
||||
|
||||
6. **Sampling Plans** (1) -- (N) **Samples**
|
||||
- Satu rencana sampling dapat menghasilkan banyak sampel.
|
||||
|
||||
7. **Service Requests** (1) -- (N) **Samples**
|
||||
- Satu permintaan layanan dapat memiliki banyak sampel.
|
||||
|
||||
8. **Sample Types** (1) -- (N) **Samples**
|
||||
- Satu jenis sampel dapat memiliki banyak sampel.
|
||||
|
||||
9. **Samples** (1) -- (N) **Analysis Results**
|
||||
- Satu sampel dapat memiliki banyak hasil analisis.
|
||||
|
||||
10. **Analysis Parameters** (1) -- (N) **Analysis Results**
|
||||
- Satu parameter analisis dapat digunakan untuk banyak hasil analisis.
|
||||
|
||||
11. **Service Requests** (1) -- (N) **Reports**
|
||||
- Satu permintaan layanan dapat menghasilkan banyak laporan.
|
||||
|
||||
12. **Users** (1) -- (N) **Activity Logs**
|
||||
- Satu pengguna dapat memiliki banyak catatan aktivitas.
|
||||
|
||||
13. **Users** berhubungan dengan banyak tabel lain melalui kolom seperti:
|
||||
- admin_id pada Service Requests
|
||||
- sampling_officer_id pada Sampling Plans
|
||||
- sampling_officer_id pada Samples
|
||||
- received_by pada Samples
|
||||
- analyst_id pada Analysis Results
|
||||
- verified_by pada Analysis Results
|
||||
- prepared_by, verified_by, approved_by pada Reports
|
||||
|
||||
Relasi ini menggambarkan alur layanan laboratorium lingkungan sesuai dengan diagram alur pelayanan yang disediakan.
|
||||
|
||||
## Penjelasan Proses Bisnis berdasarkan Diagram ERD
|
||||
|
||||
Dengan mengikuti ERD di atas, proses bisnis laboratorium lingkungan berjalan sebagai berikut:
|
||||
|
||||
1. **Customer** (internal atau eksternal) mengajukan permintaan layanan (service request).
|
||||
|
||||
2. **Admin Lab** memproses permintaan, membuat penawaran dan quotation, mencatat detail parameter yang akan dianalisis.
|
||||
|
||||
3. **Petugas Sampling** membuat rencana sampling berdasarkan permintaan layanan.
|
||||
|
||||
4. Sampel diambil oleh **Petugas Sampling** sesuai dengan rencana sampling.
|
||||
|
||||
5. Sampel diterima oleh **Bagian Penerimaan Contoh Uji** yang mencatat kondisi sampel dan melakukan persiapan sampel.
|
||||
|
||||
6. **Bagian Analisis Laboratorium** melakukan analisis sampel dan mencatat hasilnya di tabel Analysis Results.
|
||||
|
||||
7. **Bagian Verifikasi Hasil Uji** memverifikasi hasil analisis dan menyiapkan laporan hasil uji.
|
||||
|
||||
8. Semua aktivitas pengguna dicatat dalam Activity Logs untuk audit trail dan pelacakan.
|
||||
Reference in New Issue
Block a user