993 lines
32 KiB
Markdown
993 lines
32 KiB
Markdown
# Studi Kasus: Penawaran, Quotation, dan Pengelolaan Order Pelanggan
|
|
|
|
## Kasus 1: Pemantauan Limbah Rutin Industri Tekstil
|
|
|
|
### **Latar Belakang**
|
|
PT. Industri Tekstil Nusantara (ITN) adalah perusahaan tekstil yang beroperasi di Bandung. Sebagai bagian dari kepatuhan lingkungan, perusahaan ini diwajibkan melakukan pemantauan kualitas air limbah setiap tiga bulan dan melaporkan hasilnya ke Dinas Lingkungan Hidup setempat. Pada awal Januari 2025, Budi Santoso selaku Environmental Officer PT. ITN menghubungi laboratorium untuk melakukan analisis triwulanan.
|
|
|
|
### **Alur Proses**
|
|
|
|
#### 1. Permintaan Awal
|
|
- **Pelanggan:** Budi Santoso (PT. Industri Tekstil Nusantara)
|
|
- **Kontak:** 08123456789, budi@tekstilnusantara.com
|
|
- **Jenis Permintaan:** Sampling dan Analisis
|
|
- **Deskripsi:** Pemantauan Limbah Triwulan I 2025
|
|
- **Lokasi Sampling:** Outlet IPAL PT. Industri Tekstil Nusantara, Jl. Industri No. 123, Bandung
|
|
- **Parameter yang diminta:** pH, TSS, COD, BOD, Ammonia (sesuai baku mutu air limbah industri tekstil)
|
|
|
|
#### 2. Penerimaan dan Pencatatan oleh Admin
|
|
Admin Lab, Dini Wijaya, menerima permintaan dari Budi dan mencatat di sistem:
|
|
|
|
```mermaid
|
|
sequenceDiagram
|
|
actor Customer as Budi Santoso
|
|
actor Admin as Dini Wijaya (Admin)
|
|
participant System as Sistem Lab
|
|
|
|
Customer->>Admin: Menghubungi untuk pemantauan triwulanan
|
|
Admin->>System: Membuat entry permintaan baru
|
|
System-->>Admin: Form permintaan layanan
|
|
Admin->>System: Mengisi detail pelanggan & permintaan
|
|
System-->>Admin: Menyimpan data permintaan
|
|
Admin->>Customer: Konfirmasi penerimaan permintaan
|
|
```
|
|
|
|
Entry data di sistem:
|
|
```
|
|
SERVICE_REQUESTS:
|
|
- request_id: 1
|
|
- customer_id: 1 (PT. Industri Tekstil Nusantara)
|
|
- request_date: 2025-01-10 09:15:00
|
|
- request_type: "Sampling and Analysis"
|
|
- project_name: "Pemantauan Limbah Triwulan I 2025"
|
|
- project_location: "Outlet IPAL PT. Industri Tekstil Nusantara, Bandung"
|
|
- status: "Draft"
|
|
- admin_id: 1 (Dini Wijaya)
|
|
- notes: "Permintaan rutin triwulanan untuk kepatuhan lingkungan"
|
|
```
|
|
|
|
#### 3. Penyiapan Penawaran
|
|
Admin Lab melakukan pengecekan terhadap parameter yang diminta dan menyiapkan surat penawaran:
|
|
|
|
```mermaid
|
|
sequenceDiagram
|
|
actor Admin as Dini Wijaya (Admin)
|
|
participant System as Sistem Lab
|
|
participant Params as Master Parameter
|
|
|
|
Admin->>System: Memilih parameter yang diminta
|
|
System->>Params: Query harga parameter
|
|
Params-->>System: Data harga parameter
|
|
System-->>Admin: Menampilkan daftar parameter & harga
|
|
Admin->>System: Mengisi jumlah sampel (1 outlet)
|
|
System-->>Admin: Menghitung total biaya
|
|
Admin->>System: Generate surat penawaran
|
|
System-->>Admin: Surat penawaran dalam format PDF
|
|
```
|
|
|
|
Entry data di sistem:
|
|
```
|
|
REQUEST_PARAMETERS:
|
|
- parameter_id: 1 (pH), quantity: 1, price_per_unit: 50.000
|
|
- parameter_id: 2 (TSS), quantity: 1, price_per_unit: 75.000
|
|
- parameter_id: 3 (COD), quantity: 1, price_per_unit: 125.000
|
|
- parameter_id: 4 (BOD), quantity: 1, price_per_unit: 150.000
|
|
- parameter_id: 5 (Ammonia), quantity: 1, price_per_unit: 100.000
|
|
```
|
|
|
|
#### 4. Pembuatan Quotation
|
|
Admin Lab menyiapkan quotation resmi berdasarkan parameter yang diminta:
|
|
|
|
```
|
|
Nomor: Q-2025-001
|
|
Tanggal: 15 Januari 2025
|
|
Kepada: PT. Industri Tekstil Nusantara
|
|
(Attn: Budi Santoso)
|
|
Perihal: Quotation Analisis Air Limbah Triwulan I 2025
|
|
|
|
Detail Analisis:
|
|
+--------+---------------+----------+--------+-------------+
|
|
| No. | Parameter | Metode | Jumlah | Harga (Rp) |
|
|
+--------+---------------+----------+--------+-------------+
|
|
| 1 | pH | SNI-01 | 1 | 50.000 |
|
|
| 2 | TSS | SNI-02 | 1 | 75.000 |
|
|
| 3 | COD | SNI-03 | 1 | 125.000 |
|
|
| 4 | BOD | SNI-04 | 1 | 150.000 |
|
|
| 5 | Ammonia | SNI-05 | 1 | 100.000 |
|
|
+--------+---------------+----------+--------+-------------+
|
|
| Subtotal Analisis | 500.000 |
|
|
+------------------------------------------+---------------+
|
|
| Biaya Sampling | 300.000 |
|
|
| Biaya Transport | 200.000 |
|
|
+------------------------------------------+---------------+
|
|
| Total | 1.100.000 |
|
|
+------------------------------------------+---------------+
|
|
|
|
Catatan:
|
|
- Harga belum termasuk PPN 11%
|
|
- Pembayaran DP 50% sebelum sampling dilakukan
|
|
- Hasil analisis akan diberikan 7 hari kerja setelah sampling
|
|
```
|
|
|
|
Update data di sistem:
|
|
```
|
|
SERVICE_REQUESTS (update):
|
|
- quotation_number: "Q-2025-001"
|
|
- quotation_date: "2025-01-15"
|
|
- total_amount: 1100000
|
|
- status: "Quotation Sent"
|
|
```
|
|
|
|
#### 5. Persetujuan Quotation oleh Pelanggan
|
|
Admin mengirimkan quotation kepada pelanggan dan pelanggan memberikan persetujuan:
|
|
|
|
```mermaid
|
|
sequenceDiagram
|
|
actor Admin as Dini Wijaya (Admin)
|
|
actor Customer as Budi Santoso
|
|
participant System as Sistem Lab
|
|
|
|
Admin->>Customer: Mengirim quotation via email
|
|
Customer->>Admin: Menyetujui quotation via email
|
|
Admin->>System: Mencatat persetujuan
|
|
Customer->>Admin: Mengirim bukti transfer DP 50%
|
|
Admin->>System: Upload bukti pembayaran
|
|
System-->>Admin: Update status permintaan
|
|
```
|
|
|
|
Update data di sistem:
|
|
```
|
|
SERVICE_REQUESTS (update):
|
|
- status: "Approved"
|
|
- approved_date: "2025-01-20"
|
|
- payment_proof: "bukti_transfer_ITN_20250120.jpg"
|
|
- payment_date: "2025-01-20"
|
|
```
|
|
|
|
#### 6. Melengkapi Data Teknis Order Pelanggan
|
|
Admin melengkapi detail teknis terkait order berdasarkan kebutuhan pelanggan:
|
|
|
|
```mermaid
|
|
sequenceDiagram
|
|
actor Admin as Dini Wijaya (Admin)
|
|
participant System as Sistem Lab
|
|
participant Sampling as Modul Sampling
|
|
|
|
Admin->>System: Buka detail permintaan
|
|
Admin->>System: Tambahkan informasi teknis
|
|
System-->>Admin: Form data teknis
|
|
Admin->>System: Isi data titik sampling
|
|
Admin->>System: Isi data metode sampling
|
|
Admin->>System: Isi instruksi khusus
|
|
System->>Sampling: Siapkan jadwal sampling
|
|
Sampling-->>System: Konfirmasi jadwal
|
|
System-->>Admin: Tampilkan ringkasan order
|
|
```
|
|
|
|
Data teknis yang dilengkapi Admin:
|
|
```
|
|
TECHNICAL_DETAILS: (dikasih centang, yang dikeluarkan di hasil laporan)
|
|
- Jenis Sampling: Grab Sampling
|
|
- Metode Sampling: Sesuai SNI 6989.59:2008
|
|
- Metode Pengawetan: Sesuai SNI 6989.59:2008
|
|
- Wadah Sampel: Botol kaca untuk BOD, botol plastik untuk parameter lain
|
|
- Preservasi Khusus: H₂SO₄ untuk COD, BOD, dan Ammonia
|
|
- Parameter lapangan: pH dan Suhu
|
|
- Instruksi Khusus: Sampel diambil saat produksi penuh (antara jam 10:00-12:00)
|
|
- Pelaporan Tambahan: Perbandingan dengan hasil triwulan sebelumnya
|
|
- Format Laporan: Digital (PDF) dan 2 hardcopy
|
|
```
|
|
|
|
```
|
|
SAMPLING_PLANS:
|
|
- plan_id: 1
|
|
- request_id: 1
|
|
- planned_date: "2025-01-25" (jadwal sampling yang sudah ada dan petugas)
|
|
- location: "Outlet IPAL PT. Industri Tekstil Nusantara"
|
|
- coordinates: "-6.914744, 107.609810"
|
|
- sampling_method: "Grab Sampling sesuai SNI 6989.59:2008"
|
|
- equipment_needed: "Botol sampling, pH meter, termometer, cool box"
|
|
- sampling_officer_id: 2 (Ahmad Ramadhan)
|
|
- status: "Planned"
|
|
- notes: "Sampling dilakukan saat produksi penuh (10:00-12:00)"
|
|
```
|
|
|
|
#### 7. Registrasi Order
|
|
Admin menyelesaikan proses registrasi order di sistem, yang mencakup:
|
|
|
|
```mermaid
|
|
sequenceDiagram
|
|
actor Admin as Dini Wijaya (Admin)
|
|
participant System as Sistem Lab
|
|
participant DB as Database
|
|
|
|
Admin->>System: Finalisasi order
|
|
System->>DB: Generate kode unik order
|
|
System->>DB: Assign petugas sampling
|
|
System->>DB: Create work order
|
|
DB-->>System: Konfirmasi registrasi
|
|
System-->>Admin: Tampilkan detail registrasi
|
|
Admin->>System: Cetak Surat Perintah Kerja (SPK)
|
|
```
|
|
|
|
Data registrasi order:
|
|
```
|
|
ORDER_REGISTRATION:
|
|
- registration_number: "REG-2025-001"
|
|
- registration_date: "2025-01-22"
|
|
- assigned_officer: "Ahmad Ramadhan (Sampling), Ani Suryani (Analis)"
|
|
- estimated_completion: "2025-02-01"
|
|
- reporting_deadline: "2025-02-05"
|
|
```
|
|
|
|
## Kasus 2: Monitoring Kualitas Air Sungai Multi-titik
|
|
|
|
### **Latar Belakang**
|
|
Dinas Lingkungan Hidup Kota (DLH) sedang melakukan program monitoring kualitas air Sungai Citarum di 5 titik sepanjang sungai yang melewati kota. Siti Aminah, selaku koordinator pemantauan kualitas air DLH, menghubungi laboratorium untuk melakukan sampling dan analisis di 5 titik yang telah ditentukan.
|
|
|
|
### **Alur Proses**
|
|
|
|
#### 1. Permintaan Awal
|
|
- **Pelanggan:** Siti Aminah (DLH Kota)
|
|
- **Kontak:** 08765432100, siti@dlh.kotabjb.go.id
|
|
- **Jenis Permintaan:** Sampling dan Analisis
|
|
- **Deskripsi:** Monitoring Kualitas Air Sungai Citarum
|
|
- **Lokasi Sampling:** 5 titik sepanjang Sungai Citarum (koordinat disediakan)
|
|
- **Parameter yang diminta:** pH, TSS, DO, BOD, COD, Total Coliform, Logam Berat (Pb, Cd, Hg)
|
|
|
|
#### 2. Analisis Kebutuhan dan Penyiapan Penawaran Kompleks
|
|
Admin Lab melakukan analisis kebutuhan spesifik untuk monitoring multi-titik:
|
|
|
|
```mermaid
|
|
sequenceDiagram
|
|
actor Admin as Faisal Rahman (Admin)
|
|
participant System as Sistem Lab
|
|
participant Mapping as Modul Pemetaan
|
|
|
|
Admin->>System: Input permintaan multi-titik
|
|
System-->>Admin: Form entri lokasi multiple
|
|
Admin->>Mapping: Plot 5 titik sampling di peta
|
|
Mapping-->>Admin: Konfirmasi koordinat & jarak
|
|
Admin->>System: Hitung biaya per titik sampling
|
|
System-->>Admin: Kalkulasi estimasi biaya total
|
|
Admin->>System: Terapkan diskon volume
|
|
System-->>Admin: Generate penawaran multi-titik
|
|
```
|
|
|
|
Detail perhitungan biaya untuk multi-titik:
|
|
```
|
|
Biaya per Parameter:
|
|
- pH: 50.000 x 5 titik = 250.000
|
|
- TSS: 75.000 x 5 titik = 375.000
|
|
- DO: 80.000 x 5 titik = 400.000
|
|
- BOD: 150.000 x 5 titik = 750.000
|
|
- COD: 125.000 x 5 titik = 625.000
|
|
- Total Coliform: 175.000 x 5 titik = 875.000
|
|
- Pb: 200.000 x 5 titik = 1.000.000
|
|
- Cd: 200.000 x 5 titik = 1.000.000
|
|
- Hg: 250.000 x 5 titik = 1.250.000
|
|
|
|
Subtotal Analisis: 6.525.000
|
|
Diskon Volume (10%): -652.500
|
|
Biaya Sampling (5 titik): 1.000.000
|
|
Biaya Transport: 500.000
|
|
Biaya Administrasi & Pelaporan: 250.000
|
|
|
|
Total setelah diskon: 7.622.500
|
|
```
|
|
|
|
#### 3. Pembuatan Quotation Khusus
|
|
Admin menyiapkan quotation khusus yang mendetailkan biaya per titik sampling dan diskon volume:
|
|
|
|
```
|
|
Nomor: Q-2025-002
|
|
Tanggal: 10 Februari 2025
|
|
Kepada: Dinas Lingkungan Hidup Kota
|
|
(Attn: Siti Aminah)
|
|
Perihal: Quotation Monitoring Kualitas Air Sungai Citarum (5 Titik)
|
|
|
|
Detail Analisis:
|
|
+--------+---------------+----------+--------+-------------+
|
|
| No. | Parameter | Metode | Titik | Harga (Rp) |
|
|
+--------+---------------+----------+--------+-------------+
|
|
| 1 | pH | SNI-01 | 5 | 250.000 |
|
|
| 2 | TSS | SNI-02 | 5 | 375.000 |
|
|
| 3 | DO | SNI-08 | 5 | 400.000 |
|
|
| 4 | BOD | SNI-04 | 5 | 750.000 |
|
|
| 5 | COD | SNI-03 | 5 | 625.000 |
|
|
| 6 | Total Coliform| SNI-07 | 5 | 875.000 |
|
|
| 7 | Logam Pb | SNI-06 | 5 | 1.000.000 |
|
|
| 8 | Logam Cd | SNI-09 | 5 | 1.000.000 |
|
|
| 9 | Logam Hg | SNI-10 | 5 | 1.250.000 |
|
|
+--------+---------------+----------+--------+-------------+
|
|
| Subtotal Analisis | 6.525.000 |
|
|
| Diskon Volume 10% | -652.500 |
|
|
+------------------------------------------+---------------+
|
|
| Biaya Sampling (5 titik) | 1.000.000 |
|
|
| Biaya Transport | 500.000 |
|
|
| Biaya Administrasi & Pelaporan | 250.000 |
|
|
+------------------------------------------+---------------+
|
|
| Total | 7.622.500 |
|
|
+------------------------------------------+---------------+
|
|
|
|
Detail Lokasi Sampling:
|
|
1. Titik 1 (Hulu): Koordinat -6.947890, 107.632505
|
|
2. Titik 2: Koordinat -6.933456, 107.621234
|
|
3. Titik 3: Koordinat -6.925678, 107.612345
|
|
4. Titik 4: Koordinat -6.912345, 107.603456
|
|
5. Titik 5 (Hilir): Koordinat -6.901234, 107.594567
|
|
|
|
Catatan:
|
|
- Harga sudah termasuk PPN (DLH dibebaskan dari PPN)
|
|
- Pembayaran dapat dilakukan dengan mekanisme penagihan anggaran pemerintah
|
|
- Hasil analisis akan diberikan 10 hari kerja setelah sampling
|
|
- Laporan akan mencakup interpretasi hasil dan visualisasi spasial
|
|
```
|
|
|
|
#### 4. Melengkapi Data Teknis yang Kompleks
|
|
Admin melengkapi data teknis yang lebih kompleks karena melibatkan multiple titik dan parameter yang lebih banyak:
|
|
|
|
```mermaid
|
|
sequenceDiagram
|
|
actor Admin as Faisal Rahman (Admin)
|
|
participant System as Sistem Lab
|
|
participant Schedule as Modul Penjadwalan
|
|
|
|
Admin->>System: Buka modul data teknis
|
|
Admin->>System: Input detail protokol sampling multi-titik
|
|
Admin->>System: Upload peta lokasi sampling
|
|
Admin->>System: Input kebutuhan peralatan khusus
|
|
Admin->>System: Input metode preservasi per parameter
|
|
Admin->>Schedule: Buat jadwal tim sampling
|
|
Schedule-->>System: Konfirmasi ketersediaan personil
|
|
System-->>Admin: Tampilkan ringkasan teknis
|
|
```
|
|
|
|
Data teknis kompleks yang dilengkapi:
|
|
```
|
|
MULTI_POINT_SAMPLING_DETAILS:
|
|
- Protokol Sampling: "Sesuai Permen LH No. 115 Tahun 2003"
|
|
- Urutan Pengambilan: "Dari hilir ke hulu untuk menghindari kontaminasi"
|
|
- Waktu Sampling: "Dilakukan pada pagi hari (07:00-10:00)"
|
|
- Tim Sampling: "2 petugas sampling + 1 petugas dokumentasi"
|
|
- Transportasi: "Perlu kendaraan 4WD untuk akses titik 1 dan 2"
|
|
- Peralatan Khusus: "DO meter, Multiparameter water quality tester, GPS"
|
|
- Metode Preservasi: "Cold storage untuk mikrobiologi, Asam nitrat untuk logam berat"
|
|
- Kebutuhan QA/QC: "Duplikat sampel untuk titik 3, Blank sample untuk parameter logam"
|
|
- Format Pelaporan: "Termasuk visualisasi spasial dan trend analisis"
|
|
```
|
|
|
|
```
|
|
MULTI_POINT_SAMPLING_PLANS:
|
|
- Plan for Point 1 (Hulu): {...}
|
|
- Plan for Point 2: {...}
|
|
- Plan for Point 3: {...}
|
|
- Plan for Point 4: {...}
|
|
- Plan for Point 5 (Hilir): {...}
|
|
|
|
EQUIPMENT_REQUISITION:
|
|
- Multiparameter water quality tester (YSI ProDSS): 1 unit
|
|
- DO meter: 1 unit
|
|
- pH meter (backup): 1 unit
|
|
- Botol sampel mikrobiologi (steril): 10 buah
|
|
- Botol sampel kaca amber (organik): 10 buah
|
|
- Botol sampel HDPE (anorganik): 25 buah
|
|
- Cool box besar: 2 unit
|
|
- GPS: 1 unit
|
|
- Kamera dokumentasi: 1 unit
|
|
- Kit preservasi sampel: 1 set
|
|
```
|
|
|
|
#### 5. Registrasi Order Kompleks
|
|
Admin melakukan registrasi order yang lebih kompleks dengan beberapa sub-order:
|
|
|
|
```mermaid
|
|
sequenceDiagram
|
|
actor Admin as Faisal Rahman (Admin)
|
|
participant System as Sistem Lab
|
|
participant Order as Modul Order
|
|
participant Lab as Laboratorium
|
|
|
|
Admin->>System: Finalisasi order multi-titik
|
|
System->>Order: Generate 5 sub-order (per titik)
|
|
Order->>Lab: Cek kapasitas lab untuk tanggal tersebut
|
|
Lab-->>Order: Konfirmasi kapasitas tersedia
|
|
Order-->>System: Assign kode sampel untuk 45 sampel (9 parameter x 5 titik)
|
|
System-->>Admin: Tampilkan ringkasan order kompleks
|
|
Admin->>System: Cetak dokumen Work Order
|
|
```
|
|
|
|
Data registrasi order kompleks:
|
|
```
|
|
MULTI_POINT_ORDER_REGISTRATION:
|
|
- master_registration_number: "REG-2025-002"
|
|
- sub_registrations: ["REG-2025-002-T1", "REG-2025-002-T2", "REG-2025-002-T3", "REG-2025-002-T4", "REG-2025-002-T5"]
|
|
- total_samples: 5
|
|
- total_analyses: 45
|
|
- assigned_officers: ["Team A: Ahmad & Budi (Sampling)", "Team B: Ani, Dedi, Eva (Analis)"]
|
|
- estimated_field_work: "1 hari (20 Februari 2025)"
|
|
- estimated_lab_work: "7 hari kerja"
|
|
- reporting_deadline: "3 Maret 2025"
|
|
- special_instructions: "Prioritaskan analisis mikrobiologi, maksimal 6 jam setelah sampling"
|
|
```
|
|
|
|
## Ringkasan Proses Admin dalam Sistem Laboratorium
|
|
|
|
Berdasarkan studi kasus di atas, berikut adalah ringkasan proses yang dilakukan oleh Admin Lab dalam sistem aplikasi laboratorium lingkungan:
|
|
|
|
### 1. Penerimaan dan Pencatatan Permintaan
|
|
- Menerima permintaan dari pelanggan
|
|
- Mencatat detail pelanggan di sistem
|
|
- Membuat entry permintaan layanan baru
|
|
- Mencatat parameter yang diminta
|
|
|
|
### 2. Penyiapan Penawaran
|
|
- Memeriksa ketersediaan parameter yang diminta
|
|
- Menghitung biaya berdasarkan parameter dan jumlah titik
|
|
- Menambahkan biaya tambahan (sampling, transport, dll)
|
|
- Menerapkan diskon jika diperlukan
|
|
- Menyiapkan dokumen penawaran
|
|
|
|
### 3. Pembuatan Quotation
|
|
- Membuat dokumen quotation resmi
|
|
- Mencantumkan detail parameter, metode, dan biaya
|
|
- Menambahkan detail lokasi sampling
|
|
- Mencantumkan syarat dan ketentuan
|
|
- Mendapatkan persetujuan dari kepala laboratorium
|
|
- Mengirimkan quotation ke pelanggan
|
|
|
|
### 4. Penerimaan Persetujuan dan Pembayaran
|
|
- Menerima persetujuan dari pelanggan
|
|
- Mencatat persetujuan di sistem
|
|
- Menerima bukti pembayaran DP
|
|
- Mengupload bukti pembayaran ke sistem
|
|
- Mengupdate status permintaan
|
|
|
|
### 5. Melengkapi Data Teknis Order
|
|
- Mencatat detail lokasi sampling
|
|
- Menentukan metode sampling yang sesuai
|
|
- Mencatat kebutuhan peralatan
|
|
- Menentukan metode preservasi sampel
|
|
- Mencatat instruksi khusus dari pelanggan
|
|
- Mengupload dokumen pendukung (peta, foto lokasi, dll)
|
|
|
|
### 6. Registrasi Order
|
|
- Membuat kode registrasi unik
|
|
- Menugaskan petugas sampling dan analis
|
|
- Menjadwalkan kegiatan sampling
|
|
- Mempersiapkan dokumen Work Order
|
|
- Mengkomunikasikan jadwal ke tim terkait
|
|
- Memastikan koordinasi antar departemen
|
|
|
|
### 7. Monitoring dan Komunikasi
|
|
- Memantau status pelaksanaan sampling
|
|
- Memantau progres analisis di laboratorium
|
|
- Menginformasikan status ke pelanggan
|
|
- Mengelola perubahan permintaan jika ada
|
|
- Memastikan timeline sesuai dengan yang dijanjikan
|
|
|
|
Proses-proses di atas menunjukkan peran krusial Admin Lab dalam menjembatani kebutuhan pelanggan dengan operasional laboratorium, memastikan data teknis yang lengkap dan akurat, serta menjamin kelancaran alur kerja laboratorium secara keseluruhan.
|
|
|
|
CREATE TABLE master_matrix_types (
|
|
MatrixTypeID INT PRIMARY KEY,
|
|
MatrixCode VARCHAR(20),
|
|
MatrixName VARCHAR(100), -- misal: 'Air Minum', 'Limbah Domestik', 'IPAL OUTLET'
|
|
Description TEXT,
|
|
Regulation VARCHAR(100), -- misal: 'Permenkes No.2 Tahun 2023'
|
|
IsActive BOOLEAN
|
|
);
|
|
|
|
CREATE TABLE master_matrix_sampling_details (
|
|
MatrixSamplingDetailID INT PRIMARY KEY,
|
|
MatrixTypeID INT, -- FK ke master_matrix_types
|
|
SamplingType ENUM('Grab', 'Composite'),
|
|
ContainerType VARCHAR(100),
|
|
MinimumVolume DECIMAL(10,2),
|
|
VolumeUnit VARCHAR(10),
|
|
PreservationMethod VARCHAR(100),
|
|
HoldingTime VARCHAR(50),
|
|
StorageTemperature VARCHAR(50),
|
|
SamplingProtocol VARCHAR(100),
|
|
SpecialRequirements TEXT
|
|
);
|
|
|
|
CREATE TABLE master_matrix_parameters (
|
|
MatrixParameterID INT PRIMARY KEY,
|
|
MatrixTypeID INT, -- FK ke master_matrix_types
|
|
ParameterID INT, -- FK ke master_parameters
|
|
TestMethod VARCHAR(100), -- misal: 'SNI/APHA', 'APHA 23 TAHUN 2017'
|
|
TestDepartment VARCHAR(50), -- misal: 'KIMIA', 'BIOLOGI', 'FISIKA'
|
|
IsRequired BOOLEAN,
|
|
SpecialHandling TEXT
|
|
);
|
|
|
|
-- Contoh untuk Air Minum
|
|
INSERT INTO master_matrix_types VALUES
|
|
(1, 'AM', 'Air Minum', 'Air untuk konsumsi manusia', 'Permenkes No.2 Tahun 2023', true);
|
|
|
|
INSERT INTO master_matrix_sampling_details VALUES
|
|
(1, 1, 'Grab', 'Botol steril', 1000, 'mL',
|
|
'Dinginkan 4°C', '24 jam', '4°C',
|
|
'SNI/APHA', 'Sampling aseptis untuk parameter mikrobiologi');
|
|
|
|
-- Parameter untuk Air Minum
|
|
INSERT INTO master_matrix_parameters
|
|
(MatrixTypeID, ParameterID, TestMethod, TestDepartment, IsRequired) VALUES
|
|
(1, 1, 'SNI/APHA', 'KIMIA', true), -- pH
|
|
(1, 2, 'SNI/APHA', 'KIMIA', true), -- TDS
|
|
(1, 3, 'SNI/APHA', 'BIOLOGI', true); -- Total Coliform
|
|
|
|
-- Contoh untuk Limbah Domestik
|
|
INSERT INTO master_matrix_types VALUES
|
|
(2, 'LD', 'Limbah Domestik', 'Air limbah dari aktivitas domestik',
|
|
'Permen LHK No.P.68/menlhk-setjen/2016', true);
|
|
|
|
INSERT INTO master_matrix_sampling_details VALUES
|
|
(2, 2, 'Composite', 'Botol plastik', 2000, 'mL',
|
|
'H2SO4 pH < 2', '48 jam', '4°C',
|
|
'SNI-6989.11-2019', 'Sampling composite 24 jam');
|
|
|
|
-- Parameter untuk Limbah Domestik
|
|
INSERT INTO master_matrix_parameters VALUES
|
|
(2, 1, 'SNI-6989.11-2019', 'KIMIA', true), -- pH
|
|
(2, 4, 'APHA 5210 B-2017', 'KIMIA', true), -- BOD
|
|
(2, 3, 'SNI', 'BIOLOGI', true); -- Total Coliform
|
|
|
|
#### 2. Work Order untuk Multi-titik Sampling
|
|
|
|
```text
|
|
SURAT PERINTAH KERJA (WORK ORDER)
|
|
No: WO-2025-002
|
|
=====================================
|
|
|
|
INFORMASI PROYEK
|
|
Nama Proyek : Monitoring Kualitas Air Sungai Citarum
|
|
No. Registrasi : REG-2025-002
|
|
Pelanggan : Dinas Lingkungan Hidup Kota
|
|
PIC Pelanggan : Siti Aminah (08765432100)
|
|
|
|
JADWAL SAMPLING
|
|
Tanggal : 20 Februari 2025
|
|
Waktu : 07:00 - 10:00 WIB
|
|
Jumlah Titik : 5 titik
|
|
Total Parameter : 9 parameter/titik
|
|
|
|
DETAIL TITIK SAMPLING
|
|
1. Titik 1 (Hulu)
|
|
- Koordinat: -6.947890, 107.632505
|
|
- Kode Sampel: REG-2025-002-T1
|
|
- Tim Sampling: Ahmad & Budi
|
|
- Waktu Target: 07:00 WIB
|
|
|
|
2. Titik 2
|
|
- Koordinat: -6.933456, 107.621234
|
|
- Kode Sampel: REG-2025-002-T2
|
|
- Tim Sampling: Ahmad & Budi
|
|
- Waktu Target: 07:45 WIB
|
|
|
|
[... titik 3-5 ...]
|
|
|
|
PERALATAN YANG DIPERLUKAN
|
|
1. Multiparameter water quality tester (YSI ProDSS)
|
|
2. DO meter
|
|
3. pH meter (backup)
|
|
4. Botol sampel (sesuai jenis parameter):
|
|
- Mikrobiologi (steril): 10 botol
|
|
- Organik (amber): 10 botol
|
|
- Anorganik (HDPE): 25 botol
|
|
5. Cool box dengan ice pack: 2 unit
|
|
6. GPS dan Kamera
|
|
7. Kit preservasi sampel
|
|
|
|
PROTOKOL SAMPLING
|
|
1. Urutan sampling: Hilir ke Hulu
|
|
2. Metode per parameter:
|
|
- pH, DO: Pengukuran lapangan
|
|
- TSS: Grab sampling
|
|
- BOD, COD: Botol gelap, preservasi dengan H2SO4
|
|
- Total Coliform: Botol steril
|
|
- Logam Berat: Botol HDPE, preservasi HNO3
|
|
|
|
QA/QC REQUIREMENTS
|
|
1. Blank sample untuk logam berat
|
|
2. Duplikat sampel di titik 3
|
|
3. Dokumentasi setiap titik sampling
|
|
|
|
TIMELINE ANALISIS
|
|
1. Parameter Mikrobiologi: Max 6 jam setelah sampling
|
|
2. Parameter Kimia: Max 24 jam setelah sampling
|
|
3. Logam Berat: Max 48 jam setelah sampling
|
|
|
|
DISTRIBUSI SAMPEL KE LABORATORIUM
|
|
Departemen Mikrobiologi:
|
|
- Total Coliform (5 sampel)
|
|
|
|
Departemen Kimia:
|
|
- pH, DO, BOD, COD (20 sampel)
|
|
- TSS (5 sampel)
|
|
|
|
Departemen Logam Berat:
|
|
- Pb, Cd, Hg (15 sampel)
|
|
|
|
PELAPORAN
|
|
1. Berita Acara Sampling per titik
|
|
2. Chain of Custody untuk setiap batch sampel
|
|
3. Hasil Analisis Lapangan
|
|
4. Dokumentasi Sampling
|
|
5. Laporan Hasil Uji Final
|
|
|
|
Disetujui oleh,
|
|
[TTD]
|
|
Kepala Laboratorium
|
|
```
|
|
|
|
#### 3. Chain of Custody untuk Multi-titik
|
|
|
|
```text
|
|
CHAIN OF CUSTODY - MULTI-POINT SAMPLING
|
|
No: COC-2025-002
|
|
=====================================
|
|
|
|
PROJECT INFORMATION
|
|
Project Name : Monitoring Kualitas Air Sungai Citarum
|
|
Registration No : REG-2025-002
|
|
Sampling Date : 20 Februari 2025
|
|
|
|
SAMPLE TRACKING
|
|
|
|
Titik 1 (REG-2025-002-T1)
|
|
Parameter | Botol | Preservasi | Sampling Time | Lab Receipt
|
|
---------------------------------------------------------
|
|
pH, DO | P1 | None | 07:00 | 10:30
|
|
BOD, COD | P1-O | H2SO4 | 07:00 | 10:30
|
|
Coliform | P1-M | Na2S2O3 | 07:00 | 10:30
|
|
Logam Berat | P1-L | HNO3 | 07:00 | 10:30
|
|
|
|
[... tracking untuk titik 2-5 ...]
|
|
|
|
SAMPLE HANDOVER
|
|
|
|
1. Field Sampling
|
|
Time : 07:00 - 10:00
|
|
Officer : Ahmad & Budi
|
|
Signature: [________]
|
|
|
|
2. Transport
|
|
Time : 10:00 - 10:30
|
|
Officer : Budi
|
|
Signature: [________]
|
|
|
|
3. Lab Reception
|
|
Time : 10:30
|
|
Officer : Dini
|
|
Signature: [________]
|
|
|
|
4. Distribution to Departments
|
|
Micro : 10:45 | [________]
|
|
Chemistry: 10:45 | [________]
|
|
Metals : 11:00 | [________]
|
|
|
|
SAMPLE CONDITION ON RECEIPT
|
|
Temperature : 4°C
|
|
Seal Condition : Intact
|
|
Preservation : Verified
|
|
Documentation : Complete
|
|
|
|
Notes:
|
|
- Priority handling for microbiological samples
|
|
- All samples received in proper containers
|
|
- Chain of cold maintained during transport
|
|
```
|
|
|
|
#### 4. Laporan Status Sampel
|
|
|
|
```text
|
|
LAPORAN STATUS SAMPEL
|
|
No: SSR-2025-002
|
|
=====================================
|
|
|
|
Project: Monitoring Kualitas Air Sungai Citarum
|
|
Date : 20 Februari 2025
|
|
Status : In Progress
|
|
|
|
TRACKING SUMMARY
|
|
|
|
Titik 1 (REG-2025-002-T1)
|
|
Parameter | Status | Start Time | Complete Time
|
|
--------------------------------------------------------
|
|
pH | Completed | 10:45 | 11:00
|
|
DO | Completed | 10:45 | 11:00
|
|
TSS | In Analysis | 11:15 | -
|
|
BOD | In Queue | - | -
|
|
COD | In Analysis | 11:30 | -
|
|
Total Coliform | In Analysis | 10:50 | -
|
|
Pb | In Queue | - | -
|
|
Cd | In Queue | - | -
|
|
Hg | In Queue | - | -
|
|
|
|
[... status untuk titik 2-5 ...]
|
|
|
|
PROGRESS SUMMARY
|
|
Total Samples : 45
|
|
Completed : 10
|
|
In Analysis : 15
|
|
In Queue : 20
|
|
Rejected/Resampling: 0
|
|
|
|
ESTIMATED COMPLETION DATES
|
|
Mikrobiologi : 20 Feb 2025 (16:00)
|
|
Kimia Dasar : 21 Feb 2025
|
|
Logam Berat : 22 Feb 2025
|
|
Final Report : 3 Mar 2025
|
|
|
|
Notes:
|
|
- All samples received in good condition
|
|
- No analytical issues reported
|
|
- On track for final deadline
|
|
```
|
|
|
|
#### 5. Alur Proses Multi-Point Order
|
|
|
|
```mermaid
|
|
sequenceDiagram
|
|
actor Admin as Admin Lab
|
|
participant System as Sistem Lab
|
|
participant Order as Order Management
|
|
participant Sampling as Sampling Module
|
|
participant Analysis as Analysis Module
|
|
|
|
Admin->>System: Input Multi-point Order
|
|
System->>Order: Generate Master Order
|
|
Order->>Sampling: Create Sampling Plans
|
|
|
|
loop For Each Point
|
|
Sampling->>Analysis: Generate Sample IDs
|
|
Analysis->>System: Create Analysis Schedule
|
|
end
|
|
|
|
System-->>Admin: Display Order Summary
|
|
Admin->>System: Generate Work Order
|
|
System-->>Admin: Work Order Document
|
|
|
|
Note over Admin,System: Tracking Begins
|
|
|
|
loop For Each Sample Point
|
|
Sampling->>System: Update Sampling Status
|
|
Analysis->>System: Update Analysis Progress
|
|
System-->>Admin: Real-time Status Updates
|
|
end
|
|
```
|
|
|
|
Sistem ini memungkinkan:
|
|
1. Tracking detail untuk setiap sampel dari multi-titik sampling
|
|
2. Manajemen workflow yang efisien untuk sampel dalam jumlah besar
|
|
3. Dokumentasi yang lengkap dan terstruktur
|
|
4. Pemantauan progress analisis secara real-time
|
|
5. Pelaporan yang komprehensif untuk pelanggan
|
|
|
|
### Manajemen Penjadwalan Sampling
|
|
|
|
#### 1. Struktur Database untuk Penjadwalan
|
|
|
|
```sql
|
|
-- Tabel untuk jadwal sampling
|
|
CREATE TABLE sampling_schedules (
|
|
schedule_id SERIAL PRIMARY KEY,
|
|
date DATE,
|
|
time_slot VARCHAR(20), -- 'PAGI', 'SIANG', 'SORE'
|
|
status VARCHAR(50), -- 'AVAILABLE', 'BOOKED', 'COMPLETED'
|
|
created_at TIMESTAMP,
|
|
updated_at TIMESTAMP
|
|
);
|
|
|
|
-- Tabel untuk detail booking jadwal
|
|
CREATE TABLE sampling_bookings (
|
|
booking_id SERIAL PRIMARY KEY,
|
|
schedule_id INT,
|
|
request_id INT, -- Link ke service_requests
|
|
customer_id INT,
|
|
project_name VARCHAR(200),
|
|
location TEXT,
|
|
sampling_type VARCHAR(50),
|
|
assigned_team_id INT,
|
|
status VARCHAR(50), -- 'SCHEDULED', 'IN_PROGRESS', 'COMPLETED', 'CANCELLED'
|
|
notes TEXT,
|
|
created_at TIMESTAMP,
|
|
updated_at TIMESTAMP
|
|
);
|
|
|
|
-- Tabel untuk tim sampling
|
|
CREATE TABLE sampling_teams (
|
|
team_id SERIAL PRIMARY KEY,
|
|
team_name VARCHAR(100),
|
|
team_leader_id INT,
|
|
vehicle_id INT,
|
|
status VARCHAR(50) -- 'AVAILABLE', 'ASSIGNED', 'ON_DUTY'
|
|
);
|
|
|
|
-- Tabel untuk anggota tim
|
|
CREATE TABLE team_members (
|
|
team_id INT,
|
|
staff_id INT,
|
|
role VARCHAR(50), -- 'LEADER', 'SAMPLER', 'ASSISTANT'
|
|
PRIMARY KEY (team_id, staff_id)
|
|
);
|
|
```
|
|
|
|
#### 2. API Endpoint untuk Cek Ketersediaan Jadwal
|
|
|
|
```php
|
|
// Endpoint: GET /api/sampling-schedules
|
|
public function getAvailableSchedules(Request $request) {
|
|
$startDate = $request->input('start_date', date('Y-m-d'));
|
|
$endDate = $request->input('end_date', date('Y-m-d', strtotime('+7 days')));
|
|
|
|
return DB::table('sampling_schedules')
|
|
->whereBetween('date', [$startDate, $endDate])
|
|
->where('status', 'AVAILABLE')
|
|
->orderBy('date', 'asc')
|
|
->orderBy('time_slot', 'asc')
|
|
->get();
|
|
}
|
|
|
|
// Endpoint: GET /api/sampling-schedules/{date}
|
|
public function getDayScheduleDetail($date) {
|
|
return DB::table('sampling_schedules as s')
|
|
->leftJoin('sampling_bookings as b', 's.schedule_id', '=', 'b.schedule_id')
|
|
->leftJoin('sampling_teams as t', 'b.assigned_team_id', '=', 't.team_id')
|
|
->where('s.date', $date)
|
|
->select([
|
|
's.*',
|
|
'b.project_name',
|
|
'b.location',
|
|
'b.sampling_type',
|
|
't.team_name',
|
|
DB::raw('(SELECT GROUP_CONCAT(CONCAT(staff.name, " (", tm.role, ")"))
|
|
FROM team_members tm
|
|
JOIN staff ON tm.staff_id = staff.id
|
|
WHERE tm.team_id = t.team_id) as team_members')
|
|
])
|
|
->get();
|
|
}
|
|
```
|
|
|
|
#### 3. Tampilan Kalender Jadwal Sampling
|
|
|
|
```text
|
|
KALENDER JADWAL SAMPLING
|
|
Periode: Februari 2025
|
|
=====================================
|
|
|
|
SENIN SELASA RABU KAMIS JUMAT
|
|
Week 1 [PENUH] [KOSONG] [PENUH] [KOSONG] [PENUH]
|
|
5 order ------- 3 order ------- 2 order
|
|
Week 2 [KOSONG] [PENUH] [PENUH] [PENUH] [KOSONG]
|
|
------- 2 order 4 order 1 order -------
|
|
[...]
|
|
|
|
Keterangan Status:
|
|
🟢 KOSONG : Semua time slot tersedia
|
|
🟡 SEBAGIAN: Beberapa time slot terisi
|
|
🔴 PENUH : Semua time slot terisi
|
|
```
|
|
|
|
#### 4. Detail Jadwal Harian
|
|
|
|
```text
|
|
DETAIL JADWAL SAMPLING
|
|
Tanggal: 20 Februari 2025
|
|
=====================================
|
|
|
|
TIME SLOT: PAGI (07:00 - 10:00)
|
|
Status : BOOKED
|
|
Project : Monitoring Kualitas Air Sungai Citarum
|
|
Customer : Dinas Lingkungan Hidup Kota
|
|
PIC Customer : Siti Aminah (08765432100)
|
|
Location : 5 titik sepanjang Sungai Citarum
|
|
Tim Bertugas : Team A
|
|
- Ahmad Ramadhan (Leader)
|
|
- Budi Santoso (Sampler)
|
|
- Citra Dewi (Assistant)
|
|
Kendaraan : B 1234 CD (Mobil Lab)
|
|
Notes : Sampling multi-titik, perlu cool box extra
|
|
|
|
TIME SLOT: SIANG (11:00 - 14:00)
|
|
Status : BOOKED
|
|
Project : Pemantauan Limbah Industri
|
|
Customer : PT. Tekstil Nusantara
|
|
PIC Customer : Deni Wijaya (08567890123)
|
|
Location : Outlet IPAL
|
|
Tim Bertugas : Team B
|
|
- Eko Prasetyo (Leader)
|
|
- Fajar Nugroho (Sampler)
|
|
Notes : Sampling rutin triwulan
|
|
|
|
TIME SLOT: SORE (15:00 - 17:00)
|
|
Status : AVAILABLE
|
|
Notes : Time slot masih tersedia
|
|
```
|
|
|
|
#### 5. Notifikasi Konflik Jadwal
|
|
|
|
```text
|
|
⚠️ PERINGATAN KONFLIK JADWAL ⚠️
|
|
Tanggal: 20 Februari 2025
|
|
Time Slot: PAGI (07:00 - 10:00)
|
|
|
|
Permintaan Baru:
|
|
- Customer: PT. Industri Kimia
|
|
- Lokasi: Kawasan Industri Pulogadung
|
|
- Jenis: Sampling Air Limbah
|
|
- Estimasi Durasi: 2 jam
|
|
|
|
Jadwal Yang Sudah Ada:
|
|
- Project: Monitoring Kualitas Air Sungai Citarum
|
|
- Tim: Team A (Sudah di-assign)
|
|
- Durasi: 3 jam
|
|
|
|
Rekomendasi:
|
|
1. Jadwalkan di time slot SORE (15:00 - 17:00)
|
|
2. Atau pilih tanggal alternatif: 21 atau 23 Februari 2025
|
|
```
|
|
|
|
#### 6. Laporan Utilisasi Tim Sampling
|
|
|
|
```text
|
|
LAPORAN UTILISASI TIM SAMPLING
|
|
Periode: Februari 2025
|
|
=====================================
|
|
|
|
TEAM A (Ahmad Ramadhan)
|
|
Total Assignment : 15 sampling
|
|
Completed : 12 sampling
|
|
Cancelled : 1 sampling
|
|
Pending : 2 sampling
|
|
Utilization Rate : 85%
|
|
|
|
TEAM B (Eko Prasetyo)
|
|
Total Assignment : 12 sampling
|
|
Completed : 10 sampling
|
|
Cancelled : 0 sampling
|
|
Pending : 2 sampling
|
|
Utilization Rate : 80%
|
|
|
|
[... other teams ...]
|
|
|
|
RINGKASAN:
|
|
- Total Tim Available : 4 tim
|
|
- Average Utilization : 82%
|
|
- Peak Days : Senin & Rabu
|
|
- Quiet Days : Jumat
|
|
- Overtime Assignments : 2 kasus
|
|
```
|
|
|
|
#### 7. Alur Proses Penjadwalan
|
|
|
|
```mermaid
|
|
sequenceDiagram
|
|
actor Admin as Admin Lab
|
|
participant Calendar as Kalender
|
|
participant Team as Tim Sampling
|
|
participant Customer as Pelanggan
|
|
|
|
Admin->>Calendar: Cek slot tersedia
|
|
Calendar-->>Admin: Tampilkan available slots
|
|
Admin->>Team: Cek ketersediaan tim
|
|
Team-->>Admin: Konfirmasi tim available
|
|
Admin->>Customer: Usulkan jadwal
|
|
Customer->>Admin: Konfirmasi jadwal
|
|
Admin->>Calendar: Book slot
|
|
Admin->>Team: Assign tim
|
|
Calendar-->>Team: Kirim notifikasi assignment
|
|
Team-->>Customer: Konfirmasi final jadwal
|
|
```
|
|
|
|
Sistem penjadwalan ini memungkinkan:
|
|
1. Pengecekan ketersediaan slot waktu secara real-time
|
|
2. Manajemen tim sampling yang efisien
|
|
3. Pencegahan konflik jadwal
|
|
4. Tracking utilisasi tim
|
|
5. Pelaporan kinerja tim sampling
|
|
6. Notifikasi otomatis untuk semua pihak terkait
|
|
|
|
[... continue with existing content ...] |