Workflow 1 — Data Cleansing Penyakit Jantung (Cardiovascular Disease)
Dokumen ini merupakan panduan langkah demi langkah membangun workflow pembersihan data (data cleansing) untuk dataset cardiovascular di HGrid247 DE Web 3.4, sekaligus berfungsi sebagai referensi RAG Knowledge Service dan panduan pembuatan workflow di HGrid247 DE Web.
| Informasi | Keterangan |
|---|---|
| Dataset | Cardiovascular Disease Dataset — 70.000 record, CSV dengan delimiter ; |
| Platform | HGrid247 DE Web 3.4 |
| Nama Project | cardiovascular |
| Nama Workflow | cardiovascularClean |
| Input | File CSV mentah yang di-upload ke HDFS |
| Output | Data dengan tekanan darah dalam rentang yang ditetapkan, umur dalam tahun bulat, serta gender yang telah didekode menjadi wanita/pria. Tinggi dan berat dipertahankan tanpa filter rentang. |
Daftar Isi
- Pendahuluan dan Pengenalan Dataset
- Anomali Data dan Strategi Pembersihan
- Pengolahan Data Menggunakan HGrid247 DE Web
- Hasil dan Referensi
Pendahuluan dan Pengenalan Dataset
Latar Belakang dan Tujuan Dokumentasi
Penyakit Kardiovaskular (Cardiovascular Disease / CVD) merupakan salah satu penyebab utama kematian di dunia. Pendeteksian dini serta analisis pola hidup dan kondisi klinis pasien menjadi langkah krusial dalam pencegahan dan penanganan medis.
Tujuan dokumentasi ini:
- Memahami alur data cleansing — membaca CSV dari HDFS, memisahkan field, memfilter tekanan darah, mengonversi umur, dan menyimpan hasil ke HDFS.
- Menguasai operator HGrid247 yang digunakan — HFS Source, Transformator dengan RegexSplitter dan operator Math/String, Filter, serta HFS Sink.
- Menyiapkan dataset untuk analisis lanjutan — menghasilkan data yang dapat dibaca kembali oleh Workflow 2.
Gambaran Umum Dataset
Dataset yang digunakan disadur dari Kaggle (Cardiovascular Disease Dataset) atau Google Drive, yang dikumpulkan saat pemeriksaan medis pasien.
- Sumber Data: Kaggle (sulianova/cardiovascular-disease-dataset)
- Jumlah Baris Data: 70.000 record
- Format File Raw: CSV dengan delimiter titik koma (
;) - Variabel Target:
cardio(0: tidak terindikasi penyakit jantung, 1: terindikasi penyakit jantung) - Distribusi Target: 34.979 record (49,97%) terindikasi
cardio= 1
Kamus Fitur (Data Dictionary)
| Nama Field | Kategori | Deskripsi & Tipe Data | Nilai / Satuan |
|---|---|---|---|
id | - | Identifier unik pasien (int) | Angka acak ID pasien |
age | Objektif | Umur pasien (int) | Hari (dikonversi ke tahun pada WF01) |
height | Objektif | Tinggi badan pasien (int) | Sentimeter (cm) |
weight | Objektif | Berat badan pasien (float) | Kilogram (kg) |
gender | Objektif | Jenis kelamin (categorical) | 1: Wanita, 2: Pria (dipetakan pada WF01) |
ap_hi | Pemeriksaan | Tekanan darah sistolik (int) | mmHg |
ap_lo | Pemeriksaan | Tekanan darah diastolik (int) | mmHg |
cholesterol | Pemeriksaan | Tingkat kolesterol (categorical) | 1: Normal, 2: > Normal, 3: >> Normal |
gluc | Pemeriksaan | Tingkat glukosa (categorical) | 1: Normal, 2: > Normal, 3: >> Normal |
smoke | Subjektif | Status merokok (binary) | 0: Tidak, 1: Ya |
alco | Subjektif | Konsumsi alkohol (binary) | 0: Tidak, 1: Ya |
active | Subjektif | Aktivitas fisik (binary) | 0: Tidak, 1: Ya |
cardio | Target | Penyakit kardiovaskular (binary) | 0: Sehat, 1: Sakit |
Anomali Data dan Strategi Pembersihan
Workflow 1 menerapkan filter pada tekanan darah dan transformasi pada umur serta gender. Tinggi dan berat badan tetap dipertahankan; workflow ini tidak menerapkan filter rentang untuk kedua field tersebut.
| No | Anomali / transformasi | Kriteria atau format | Aksi pada WF01 |
|---|---|---|---|
| 1 | Tekanan darah di luar rentang | ap_hi ≤ 0, ap_hi > 250, ap_lo ≤ 0, atau ap_lo ≥ 150 | Baris hanya dipertahankan jika ap_hi > 0 dan ≤ 250 serta ap_lo > 0 dan < 150 |
| 2 | Format umur dalam hari | Kolom age berupa jumlah hari | Dibagi 365 menggunakan pembagian integer; hasilnya berupa tahun bulat dengan bagian pecahan dipotong |
| 3 | Kode gender belum deskriptif | gender = 1 atau 2 | Decoding: 1 → wanita, 2 → pria |
Hasil akhir Workflow 1 mempertahankan baris yang memenuhi kriteria tekanan darah, menyimpan umur sebagai tahun bulat, dan menyajikan gender dalam bentuk teks. Tinggi dan berat tersedia untuk perhitungan lanjutan, tetapi nilai di luar rentang tertentu tidak dibuang oleh workflow ini.
Pengolahan Data Menggunakan HGrid247 DE Web
Pada bab ini, Anda mulai mengenal HGrid247 DE Web 3.4 dengan meng-upload data ke dalam HDFS, membaca data dari HDFS, menyiapkan direktori project, membuat workflow, menjalankan workflow, dan melihat hasilnya.
Alur pipeline yang dibangun pada workflow ini:
HFS Source ──► Transformator_1 (RegexSplitter) ──► Filter_1 ──► Transformator_2 (DividingByInt 365, ReplaceText) ──► HFS SinkPersiapan: Upload Data ke HDFS
Buka HGrid247 DE Web melalui tautan https://hgridde.labs247.id/app/. Saat pertama kali dibuka, Anda akan berada pada tampilan kanvas kosong seperti gambar di bawah.

Masuk ke HDFS Browser.

Klik kanan pada
root→New Folder.
Berikan nama folder, misal
cardiovascular, lalu klikOK.
Klik kanan pada folder
cardiovascular→New Folder.
Berikan nama sub-folder untuk menyimpan data yang akan diolah. Dalam demo ini sub-folder diberi nama
dataCardiovascular, lalu klikOK.
Klik kanan pada folder
dataCardiovascular→Upload.
Input data dari direktori lokal user dengan klik
Select File.
Setelah memilih file yang akan di-upload, klik
Upload.
Preview data akan terlihat setelah data berhasil di-upload.

Tambahkan juga folder untuk menyimpan data hasil workflow.

Membuat Workflow Baru
Kembali ke kanvas workflow.

Klik tombol
New Workflowpada toolbar utama untuk membuka jendela pembuatan workflow baru.
Berikan nama project, misal
cardiovascular, dan nama workflow di dalam project tersebut, misalcardiovascularClean.
Membaca Data dengan HFS Source
Drag and drop ikon
HFS Sourceke kanvas. HFS Source digunakan untuk membaca data dalam bentuk CSV atau TXT yang sudah di-upload di HDFS Browser.
Double klik ikon
HFS Source; konfigurasi akan muncul seperti gambar di bawah, lalu klik ikon search pada baris input path.
Arahkan ke path data yang telah di-upload sebelumnya, lalu klik
OK.
Cek kembali konfigurasi, lalu klik
OKjika sudah sesuai.
Transformator 1: Parsing CSV dengan RegexSplitter
Drag and drop ikon
Transformatorpada panel Assembly ke kanvas.
Hubungkan
HFS SourcekeTransformator_1dengan cara klik, tahan, lalu arahkan dariHFS SourcekeTransformator_1.
Cari (
Search) operatorRegexSplitterdan letakkan di antara input dan output.
Arahkan input ke
RegexSplitter.
Double klik pada
RegexSplitter, lalu isiSplitter Stringdengan tanda semicolon;sesuai dengan pemisah data yang dipakai.
Klik kanan pada output record, lalu pilih
Add Output Field(s).
Isikan fields sesuai dengan data:
id, age, gender, height, weight, ap_hi, ap_lo, cholesterol, gluc, smoke, alco, active, cardio
Klik kanan pada
RegexSplitter, lalu pilihLink to all output fields.
Ubah tipe data field agar operasi berikutnya menerima nilai numerik:
id,age,height,ap_hi,ap_lo,cholesterol,gluc,smoke,alco,active, dancardiomenjadiInteger;weightmenjadiDouble; dangendertetapString. Klik tipe data pada masing-masing field untuk memilih tipe yang sesuai, lalu klikOK.ageharus numerik sebelum diproses oleh pembagian integer.

Filter 1: Pembersihan Tekanan Darah
Tarik dan tempatkan ikon
Filter_1ke kanvas.
Hubungkan
Transformator_1keFilter_1, lalu double klik pada filter untuk membuka konfigurasi.
Konfigurasi kriteria filter untuk tekanan sistolik (
ap_hi) dan diastolik (ap_lo) sesuai contoh berikut:Field Kondisi Valid Alasan ap_hi(sistolik)ap_hi> 0 danap_hi≤ 250Sistolik tidak mungkin negatif; nilai ekstrem di atas 250 dibuang ap_lo(diastolik)ap_lo> 0 danap_lo< 150Diastolik tidak mungkin negatif; nilai ekstrem di atas 150 dibuang Untuk menambah baris kriteria, tekan
Add Row.




Catatan: Jika pilihan parameter tidak muncul pada kolom field, berarti terdapat kesalahan konfigurasi pada
Transformator_1atau tahap sebelumnya.Jika sudah sesuai, klik
OK.
Transformator 2: Konversi Umur dan Decoding Gender
Tarik dan tempatkan ikon
Transformator_2ke kanvas, lalu hubungkan dariFilter_1keTransformator_2.

Setelah filter terhubung dengan
Transformator_2, double klik padaTransformator_2untuk membuka konfigurasi. Hubungkan satu per satu dari input ke output untuk semua parameter kecualiagedangender, karena kedua kolom tersebut akan melalui transformasi tambahan. Pastikan semua field lain diteruskan agar skema hasil tetap berisi 13 field.
Konversi umur: tarik dan tempatkan operator Math →
/(integer)ke kanvas, double klik, isivaluedengan365, lalu hubungkan outputDividingByInt(365)ke parameterage. Pembagian integer memotong bagian pecahan; misalnya nilai hasilnya adalah umur dalam tahun bulat, bukan umur desimal.


Decoding gender: tarik dan tempatkan operator String →
ReplaceText, konfigurasitarget=1danreplacement=wanita; ambilReplaceTextlagi, konfigurasitarget=2danreplacement=pria; hubungkan keduanya secara berurutan ke parametergender.




HFS Sink: Menyimpan Hasil Workflow
Tarik dan tempatkan ikon
HFS Sinkke kanvas untuk menyimpan hasil workflow.
Buat folder baru pada HDFS Browser untuk menyimpan data hasil workflow — bebas di lokasi mana pun. Dalam demo ini, folder dibuat di bawah folder yang telah dibuat sebelumnya:
cardiovascular→dataCardiovascular→ folder baru bernamacardiovascularClean.
Double klik pada
HfsSink_1, lalu klik ikon search.


Cek kembali hasil pemilihan output path. Atur
SinkModekeREPLACEagar hasil run sebelumnya dapat ditimpa saat workflow dijalankan ulang.
Pada parameter output, pastikan record ditulis dengan delimiter tab (
\t), sesuai dengan RegexSplitter pada Workflow 2. Jika konfigurasi HFS Sink menggunakan nilai default saatField Delimkosong, pastikan preview hasil tetap menunjukkan field yang dipisahkan tab.
Menjalankan dan Memverifikasi Workflow
Untuk menjalankan workflow, klik
Save→Generate→Run Workflow.
Generate file jar sukses, selanjutnya klik
Run Workflow.
Riwayat running dapat dicek pada Job Management logs.

Hasil workflow dapat dicek di HDFS Browser dengan path sesuai project.

Pada dataset dan kriteria filter yang digunakan dalam tutorial ini, hasil referensi berisi 68.899 record. Gunakan jumlah ini sebagai pemeriksaan silang dengan total pada cabang BMI dan Clinical Risk di Workflow 2.
Hasil dan Referensi
- Hasil workflow (file
.csd) dapat diunduh pada tautan berikut. - Data hasil cleansing dapat diunduh pada tautan berikut.