Files
LAB_LINGKUNGAN/lab_env_database_erd.md
2025-04-24 10:25:31 +07:00

161 lines
9.4 KiB
Markdown

# 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.