Skip to content

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.

InformasiKeterangan
DatasetCardiovascular Disease Dataset — 70.000 record, CSV dengan delimiter ;
PlatformHGrid247 DE Web 3.4
Nama Projectcardiovascular
Nama WorkflowcardiovascularClean
InputFile CSV mentah yang di-upload ke HDFS
OutputData 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 ​

  1. Pendahuluan dan Pengenalan Dataset
  2. Anomali Data dan Strategi Pembersihan
  3. Pengolahan Data Menggunakan HGrid247 DE Web
    1. Persiapan: Upload Data ke HDFS
    2. Membuat Workflow Baru
    3. Membaca Data dengan HFS Source
    4. Transformator 1: Parsing CSV dengan RegexSplitter
    5. Filter 1: Pembersihan Tekanan Darah
    6. Transformator 2: Konversi Umur dan Decoding Gender
    7. HFS Sink: Menyimpan Hasil Workflow
    8. Menjalankan dan Memverifikasi Workflow
  4. 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 FieldKategoriDeskripsi & Tipe DataNilai / Satuan
id-Identifier unik pasien (int)Angka acak ID pasien
ageObjektifUmur pasien (int)Hari (dikonversi ke tahun pada WF01)
heightObjektifTinggi badan pasien (int)Sentimeter (cm)
weightObjektifBerat badan pasien (float)Kilogram (kg)
genderObjektifJenis kelamin (categorical)1: Wanita, 2: Pria (dipetakan pada WF01)
ap_hiPemeriksaanTekanan darah sistolik (int)mmHg
ap_loPemeriksaanTekanan darah diastolik (int)mmHg
cholesterolPemeriksaanTingkat kolesterol (categorical)1: Normal, 2: > Normal, 3: >> Normal
glucPemeriksaanTingkat glukosa (categorical)1: Normal, 2: > Normal, 3: >> Normal
smokeSubjektifStatus merokok (binary)0: Tidak, 1: Ya
alcoSubjektifKonsumsi alkohol (binary)0: Tidak, 1: Ya
activeSubjektifAktivitas fisik (binary)0: Tidak, 1: Ya
cardioTargetPenyakit 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.

NoAnomali / transformasiKriteria atau formatAksi pada WF01
1Tekanan darah di luar rentangap_hi ≤ 0, ap_hi > 250, ap_lo ≤ 0, atau ap_lo ≥ 150Baris hanya dipertahankan jika ap_hi > 0 dan ≤ 250 serta ap_lo > 0 dan < 150
2Format umur dalam hariKolom age berupa jumlah hariDibagi 365 menggunakan pembagian integer; hasilnya berupa tahun bulat dengan bagian pecahan dipotong
3Kode gender belum deskriptifgender = 1 atau 2Decoding: 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 Sink

Persiapan: Upload Data ke HDFS ​

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

    Kanvas kosong HGrid247 DE Web saat pertama kali dibuka

  2. Masuk ke HDFS Browser.

    Tampilan HDFS Browser

  3. Klik kanan pada root → New Folder.

    Menu klik kanan pada folder root dengan pilihan New Folder

  4. Berikan nama folder, misal cardiovascular, lalu klik OK.

    Dialog pembuatan folder baru dengan nama cardiovascular

  5. Klik kanan pada folder cardiovascular → New Folder.

    Menu klik kanan pada folder cardiovascular untuk membuat sub-folder

  6. Berikan nama sub-folder untuk menyimpan data yang akan diolah. Dalam demo ini sub-folder diberi nama dataCardiovascular, lalu klik OK.

    Dialog pembuatan sub-folder dengan nama dataCardiovascular

  7. Klik kanan pada folder dataCardiovascular → Upload.

    Menu klik kanan pada folder dataCardiovascular dengan pilihan Upload

  8. Input data dari direktori lokal user dengan klik Select File.

    Dialog pemilihan file dari direktori lokal

  9. Setelah memilih file yang akan di-upload, klik Upload.

    Proses upload file data cardiovascular

  10. Preview data akan terlihat setelah data berhasil di-upload.

    Preview data cardiovascular setelah berhasil di-upload

  11. Tambahkan juga folder untuk menyimpan data hasil workflow.

    Folder baru untuk menyimpan hasil workflow

Membuat Workflow Baru ​

  1. Kembali ke kanvas workflow.

    Kembali ke kanvas workflow

  2. Klik tombol New Workflow pada toolbar utama untuk membuka jendela pembuatan workflow baru.

    Tombol New Workflow pada toolbar utama

  3. Berikan nama project, misal cardiovascular, dan nama workflow di dalam project tersebut, misal cardiovascularClean.

    Dialog pembuatan workflow dengan nama project cardiovascular dan workflow cardiovascularClean

Membaca Data dengan HFS Source ​

  1. Drag and drop ikon HFS Source ke kanvas. HFS Source digunakan untuk membaca data dalam bentuk CSV atau TXT yang sudah di-upload di HDFS Browser.

    Ikon HFS Source pada panel Assembly

  2. Double klik ikon HFS Source; konfigurasi akan muncul seperti gambar di bawah, lalu klik ikon search pada baris input path.

    Konfigurasi HFS Source dan tombol pencarian path

  3. Arahkan ke path data yang telah di-upload sebelumnya, lalu klik OK.

    Pemilihan path data cardiovascular di HDFS

  4. Cek kembali konfigurasi, lalu klik OK jika sudah sesuai.

    Konfirmasi konfigurasi HFS Source

Transformator 1: Parsing CSV dengan RegexSplitter ​

  1. Drag and drop ikon Transformator pada panel Assembly ke kanvas.

    Ikon Transformator pada panel Assembly

  2. Hubungkan HFS Source ke Transformator_1 dengan cara klik, tahan, lalu arahkan dari HFS Source ke Transformator_1.

    Koneksi HFS Source ke Transformator_1

  3. Cari (Search) operator RegexSplitter dan letakkan di antara input dan output.

    Pencarian operator RegexSplitter

  4. Arahkan input ke RegexSplitter.

    Penempatan RegexSplitter di antara input dan output

  5. Double klik pada RegexSplitter, lalu isi Splitter String dengan tanda semicolon ; sesuai dengan pemisah data yang dipakai.

    Konfigurasi Splitter String dengan tanda semicolon

  6. Klik kanan pada output record, lalu pilih Add Output Field(s).

    Menu klik kanan pada output record dengan pilihan Add Output Field(s)

  7. Isikan fields sesuai dengan data:

    id, age, gender, height, weight, ap_hi, ap_lo, cholesterol, gluc, smoke, alco, active, cardio

    Daftar field output sesuai kolom data cardiovascular

  8. Klik kanan pada RegexSplitter, lalu pilih Link to all output fields.

    Menu klik kanan pada RegexSplitter dengan pilihan Link to all output fields

  9. Ubah tipe data field agar operasi berikutnya menerima nilai numerik: id, age, height, ap_hi, ap_lo, cholesterol, gluc, smoke, alco, active, dan cardio menjadi Integer; weight menjadi Double; dan gender tetap String. Klik tipe data pada masing-masing field untuk memilih tipe yang sesuai, lalu klik OK. age harus numerik sebelum diproses oleh pembagian integer.

    Pengubahan tipe data kolom height, weight, ap_hi, ap_lo

    Hasil perubahan tipe data kolom numerik

Filter 1: Pembersihan Tekanan Darah ​

  1. Tarik dan tempatkan ikon Filter_1 ke kanvas.

    Ikon Filter pada panel Assembly

  2. Hubungkan Transformator_1 ke Filter_1, lalu double klik pada filter untuk membuka konfigurasi.

    Koneksi Transformator_1 ke Filter_1

  3. Konfigurasi kriteria filter untuk tekanan sistolik (ap_hi) dan diastolik (ap_lo) sesuai contoh berikut:

    FieldKondisi ValidAlasan
    ap_hi (sistolik)ap_hi > 0 dan ap_hi ≤ 250Sistolik tidak mungkin negatif; nilai ekstrem di atas 250 dibuang
    ap_lo (diastolik)ap_lo > 0 dan ap_lo < 150Diastolik tidak mungkin negatif; nilai ekstrem di atas 150 dibuang

    Untuk menambah baris kriteria, tekan Add Row.

    Dialog konfigurasi Filter_1 dengan daftar baris kriteria

    Konfigurasi kriteria filter tekanan darah pada Filter_1 (bagian 2)

    Konfigurasi kriteria filter tekanan darah pada Filter_1 (bagian 3)

    Konfigurasi kriteria filter tekanan darah pada Filter_1 (bagian 4)

    Konfigurasi kriteria filter tekanan darah pada Filter_1 (bagian 5)

    Catatan: Jika pilihan parameter tidak muncul pada kolom field, berarti terdapat kesalahan konfigurasi pada Transformator_1 atau tahap sebelumnya.

  4. Jika sudah sesuai, klik OK.

    Tombol OK pada konfigurasi Filter_1

Transformator 2: Konversi Umur dan Decoding Gender ​

  1. Tarik dan tempatkan ikon Transformator_2 ke kanvas, lalu hubungkan dari Filter_1 ke Transformator_2.

    Ikon Transformator_2 pada panel Assembly

    Koneksi Filter_1 ke Transformator_2

  2. Setelah filter terhubung dengan Transformator_2, double klik pada Transformator_2 untuk membuka konfigurasi. Hubungkan satu per satu dari input ke output untuk semua parameter kecuali age dan gender, karena kedua kolom tersebut akan melalui transformasi tambahan. Pastikan semua field lain diteruskan agar skema hasil tetap berisi 13 field.

    Mapping input-output pada Transformator_2 kecuali age dan gender

  3. Konversi umur: tarik dan tempatkan operator Math → /(integer) ke kanvas, double klik, isi value dengan 365, lalu hubungkan output DividingByInt(365) ke parameter age. Pembagian integer memotong bagian pecahan; misalnya nilai hasilnya adalah umur dalam tahun bulat, bukan umur desimal.

    Operator pembagian integer pada panel Math

    Konfigurasi value 365 pada operator pembagian

    Koneksi DividingByInt(365) ke parameter age

  4. Decoding gender: tarik dan tempatkan operator String → ReplaceText, konfigurasi target = 1 dan replacement = wanita; ambil ReplaceText lagi, konfigurasi target = 2 dan replacement = pria; hubungkan keduanya secara berurutan ke parameter gender.

    Operator ReplaceText pada panel String

    Konfigurasi ReplaceText pertama: target 1, replacement wanita

    Penempatan ReplaceText kedua

    Konfigurasi ReplaceText kedua: target 2, replacement pria

    Koneksi ReplaceText ke parameter gender

HFS Sink: Menyimpan Hasil Workflow ​

  1. Tarik dan tempatkan ikon HFS Sink ke kanvas untuk menyimpan hasil workflow.

    Ikon HFS Sink pada panel Assembly

  2. 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 bernama cardiovascularClean.

    Folder baru cardiovascularClean pada HDFS Browser

  3. Double klik pada HfsSink_1, lalu klik ikon search.

    Dialog konfigurasi HfsSink_1

    Ikon pencarian output path pada konfigurasi HFS Sink

    Pemilihan folder output cardiovascularClean

  4. Cek kembali hasil pemilihan output path. Atur SinkMode ke REPLACE agar hasil run sebelumnya dapat ditimpa saat workflow dijalankan ulang.

    Konfirmasi output path HFS Sink

  5. Pada parameter output, pastikan record ditulis dengan delimiter tab (\t), sesuai dengan RegexSplitter pada Workflow 2. Jika konfigurasi HFS Sink menggunakan nilai default saat Field Delim kosong, pastikan preview hasil tetap menunjukkan field yang dipisahkan tab.

Menjalankan dan Memverifikasi Workflow ​

  1. Untuk menjalankan workflow, klik Save → Generate → Run Workflow.

    Menu Save, Generate, dan Run Workflow

  2. Generate file jar sukses, selanjutnya klik Run Workflow.

    Notifikasi sukses generate file jar

  3. Riwayat running dapat dicek pada Job Management logs.

    Riwayat running pada Job Management

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

    Hasil workflow pada HDFS Browser

    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 ​