2017
Wijaya, Hengky
http://repositori.usu.ac.id/handle/123456789/2460
Downloaded from Repositori Institusi USU, Univsersitas Sumatera Utara
SISTEM RINGKASAN OTOMATIS UNTUK MELAPORKAN HASIL
PEMERIKSAAN HEMATOLOGI PASIEN DALAM
BENTUK REPRESENTASI TEKSTUAL
SKRIPSI
HENGKY WIJAYA
131402073
SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Sarjana
Teknologi Informasi
HENGKY WIJAYA
131402073
PERSETUJUAN
Komisi Pembimbing :
Pembimbing 2 Pembimbing 1
Prof. Dr. Opim Salim Sitompul, M.Sc Indra Aulia, S.TI., M.Kom
NIP. 19610817 198701 1 001 NIP. 19900530 201704 1 001
Diketahui/disetujui oleh
Program Studi S1 Teknologi Informasi
Ketua,
PERNYATAAN
SKRIPSI
Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa
kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya.
Hengky Wijaya
131402073
Puji dan syukur kehadirat Allah SWT, karena rahmat dan izin-Nya penulis dapat
menyelesaikan skripsi ini sebagai syarat untuk memperoleh gelar Sarjana Komputer,
Program Studi S1 Teknologi Informasi Fakultas Ilmu Komputer dan Teknologi
Informasi Universitas Sumatera Utara.
Skripsi ini penulis persembahkan kepada kedua orang tua penulis, Bapak Suprapto
dan Ibu Juniwaty Nurdewi yang selalu memberikan doa semangat serta kasih sayang.
Semoga Allah SWT selalu memberikan kebahagian, kesehatan dan umur yang panjang
kepada orang tua penulis. Terima kasih penulis ucapkan kepada abang dan kakak
penulis, Boby Suhendra, Budi Ezra Wijaya, S.T, dr. Venny Ria Pratiwi dan Alvin Tandi
Prasetya yang selalu memberikan dukungan dan semangat dalam pengerjaan skripsi ini.
Penulis menyadari bahwa penelitian ini tidak akan terwujud tanpa bantuan banyak
pihak. Dengan rendah hati, penulis ucapkan terima kasih kepada:
1. Bapak Prof. Runtung Sitepu, SH., M.Hum selaku Rektor Universitas Sumatera
Utara.
2. Bapak Prof. Dr. Opim Salim Sitompul, M.Sc selaku Dekan Fasilkom-TI USU
dan Dosen Pembimbing I yang bersedia meluangkan waktu, pikiran, saran dan
kritiknya untuk penulis dalam menyelesaikan skripsi ini.
3. Bapak Romi Fadillah Rahmat, B.Comp.Sc., M.Sc Selaku Ketua Program Studi
S1 Teknologi Informasi Universitas Sumatera Utara dan Dosen Pembanding I
yang telah memberikan saran dan kritik dalam penyempurnaan skripsi ini.
4. Ibu Sarah Purnamawati, S.T., M.Sc Selaku Seketaris Program Studi S1
Teknologi Informasi Universitas Sumatera Utara.
5. Bapak Indra Aulia, S.TI, M.Kom selaku Dosen Pembimbing I yang bersedia
meluangkan waktu, pikiran, saran dan kritiknya untuk penulis dalam
menyelesaikan skripsi ini.
6. Bapak Dedy Arisandi, S.T., M.Kom selaku Dosen Pembanding II yang telah
memberikan saran dan kritik dalam penyempurnaan skripsi ini
Semoga Allah SWT melimpahkan berkah kepada semua pihak yang telah
memberikan bantuan, perhatian, serta dukungan kepada penulis dalam menyelesaikan
skripsi ini. Selain itu, penulis menyadari bahwa masih banyak kekurangan dalam
skripsi ini, untuk itu penulis mengharapkan saran dan kritik yang bersifat membangun
dari semua pihak demi kesempurnaan skripsi ini. Akhir kata penulis ucapkan terima
kasih.
Penulis
ABSTRAK
ABSTRACT
Hematology examination results, which obtained from laboratory, are still presented in
the form of medical abbreviations and numbers along with its unit. Those are
represented in a table form without providing a summary text to explain whether the
blood components from examination results of hematology are under normal
circumstances, or either abnormal values or critical value is discovered. To find the
abnormal or critical blood components, a doctor has to manually compare each
examination results blood components with normal value ranges hematology one by
one. It is time-consuming to find abnormal or critical blood components with manual
way. Therefore, to overcome these problems, this study develops a Natural Language
Generation (NLG) approach by using a template-based method to help interpret the data
results from laboratory examination of hematology patients into a summary text in
Bahasa Indonesia. The experiment result shows that this method is able to generate a
summary text on the data results from examination of hematology patients.
Furthermore, the experiment results show the assessment of general practitioners and
co-assistant physicians who gave the naturalness grade of the summary text generated
by the system is reaching 93.1% to 97.5%.
DAFTAR ISI
Halaman
PERSETUJUAN iii
PERNYATAAN iv
ABSTRAK vii
ABSTRACT viii
DAFTAR ISI ix
BAB 1 PENDAHULUAN
5.1 Kesimpulan 99
5.2 Saran 100
LAMPIRAN
5 Kuesioner 127
DAFTAR TABEL
Halaman
Table 3.4. Hasil proses Text Segmentation dari T-Gen system mengolah
korpus rincian nilai kritis atau abnormal hasil
pemeriksaan hematologi 69
DAFTAR GAMBAR
Halaman
Gambar 2.1. Arsitektur umum Sistem NLG Menurut Reiter & Dale (2000) 12
Gambar 3.4. Pseudocode proses pemisahan judul dan data inti field
tabel pertama 29
Gambar 3.9. Proses yang terdapat di T-Gen System untuk mengolah korpus
uraian hasil pemeriksaan hematologi 55
Gambar 3.10. Pseudocode Regex untuk menentukan dan memberikan tag slot
dalam kalimat berdasarkan daftar entity slot yang diberikan 57
Gambar 3.11. Proses Entity Slotting kalimat korpus uraian hasil pemeriksaan
hematologi 58
Gambar 3.12. Proses pemberian nomor pada setiap jenis tag slot di kalimat ST[i] 63
Gambar 3.14. Proses yang terdapat di T-Gen System untuk mengolah korpus
rincian nilai kritis atau abnormal hasil pemeriksaan hematologi 68
Gambar 3.15. Proses Entity Slotting kalimat korpus rincian nilai kritis atau
abnormal hasil pemeriksaan hematologi 70
Gambar 3.18. Pseudocode Regex untuk mengganti data tag slot di template
kalimat dengan data values dari struktur data pesan variabel
data list ODS[i] 77
Gambar 4.8. Tingkat naturalness teks ringkasan yang dinilai oleh dokter
muda/koas 94
Gambar 4.9. Tingkat naturalness teks ringkasan yang dinilai oleh dokter umum 95
DAFTAR ISTILAH
KU Kalimat Uraian
ST Segmented Text
PENDAHULUAN
Salah satu pendekatan yang biasanya dilakukan untuk mengetahui kondisi kesehatan
manusia adalah dengan pemeriksaan laboratorium. Pemeriksaan laboratorium yang
paling umum adalah hitung darah lengkap (HDL) atau complete blood count (CBC)
akan tetapi sering juga disebut dengan pemeriksaan hematologi yang memeriksa jenis
sel dalam darah, termasuk sel darah merah, sel darah putih dan trombosit atau paletelet
(Yayasan Spirita, 2014). Hasil pemeriksaan laboratorium merupakan informasi yang
berharga untuk membedakan diagnosis, mengonfirmasi diagnosis, menilai status klinik
pasien, mengevaluasi efektivitas terapi dan munculnya reaksi obat yang tidak
diinginkan (Herawati & Andrajati, 2011). Hasil pemeriksaan hematologi yang diperoleh
dari laboratorium biasanya masih disajikan dalam bentuk istilah-istilah medis dan
angka-angka beserta satuannya (misalnya MCV: 70.4 fL, MCH : 24.3 pg) yang
direpresentasikan ke dalam bentuk tabel tanpa memberikan sebuah teks ringkasan untuk
menjelaskan apakah komponen-komponen darah dari hasil pemeriksaan hematologi
dalam keadaan normal atau ditemukan nilai abnormal maupun nilai kritis.
hasil pemeriksaan hematologi dalam keadaan normal atau ditemukan nilai abnormal
maupun nilai kritis.
Beberapa tahun belakangan ini sudah ada beberapa penelitian yang berfokus
kepada pengembangan suatu sistem untuk menginterpretasikan suatu data (seperti data
angka) ke dalam informasi yang berbentuk representasi tekstual (seperti laporan atau
teks ringkasan), seperti yang dilakukan oleh Eugiono, et al. (2014) dan Archarya, et al.
(2016). Penelitian tentang pengembangan suatu sistem representasi tekstual dilakukan
dengan maksud agar data (seperti data angka) tersebut mudah dibaca dan bisa
dimengerti oleh pengguna yang bukan ahli atau pengguna yang tidak memiliki waktu
dalam membaca data tersebut (Reither & Dale, 2000). Dalam rangka mengembangkan
sistem representasi tekstual, penelitian yang dilakukan oleh Eugiono, et al. (2014) dan
Archarya, et al. (2016) menggunakan pendekatan Natural Language Generation (NLG)
atau narrative science. NLG adalah salah satu bidang penelitian yang berhubungan
dengan otomatisasi memproduksi human-readable text yang cocok untuk aplikasi
tertentu (Biran, 2016).
1. Data input yang digunakan sistem merupakan data pemeriksaan hematologi yang
diperoleh dari Rumah Sakit Bhayangkara TK. II Medan dalam bentuk dokumen
word.
2. Corpora yang digunakan untuk membuat template kalimat terdiri dari dua jenis
korpus yaitu korpus uraian hasil pemeriksaan hematologi pasien dan korpus rincian
nilai abnormal atau nilai kritis secara rinci dalam Bahasa Indonesia yang dibuat
sendiri telah sesuai dengan tata bahasa dan diverifikasi oleh pakar yaitu dokter.
3. Output sistem adalah teks ringkasan yang menginterpretasikan hasil laboratorium
hematologi pasien dalam Bahasa Indonesia.
4. Output sistem berupa teks ringkasan ditujukan untuk membantu dokter muda/koas
dan dokter umum dalam memperoleh informasi dari data hasil pemeriksaan
hematologi pasien apakah komponen-komponen darah dari hasil pemeriksaan
hematologi dalam keadaan normal atau ditemukan nilai abnormal maupun nilai
kritis.
Tujuan dari penelitian ini adalah membuat suatu sistem yang dapat membantu
menginterpretasikan data hasil pemeriksaan laboratorium hematologi pasien ke dalam
suatu teks ringkasan yang dapat memberikan informasi apakah komponen darah dari
data hasil pemeriksaan hematologi dalam keadaan normal atau ditemukan nilai
abnormal maupun nilai kritis.
1. Membantu dokter muda/koas dan dokter umum dalam memperoleh informasi dari
data hasil pemeriksaan hematologi pasien apakah komponen-komponen darah dari
hasil pemeriksaan hematologi dalam keadaan normal atau ditemukan nilai abnormal
maupun nilai kritis menjadi lebih cepat dan mudah.
2. Mengetahui proses kerja dari Natural language Generation dalam pembentukan
representasi tekstual berdasarkan data non tekstual.
3. Menjadi referensi untuk pengembangan selanjutnya dalam bidang Natural language
Generation.
Adapun tahapan-tahapan yang akan dilakukan pada penelitian ini adalah sebagai
berikut:
1. Studi Literatur
Pada tahap ini studi literatur dilakukan dengan mengumpulkan bahan referensi dari
jurnal, buku, artikel, dan sumber referensi lainnya mengenai pemeriksaan
hematologi (cek darah lengkap), Natural Language Generation, Text Segmenation
Tokenizing dan Regular Expression.
2. Analisis Permasalahan
Pada tahap ini dilakukan analisis terhadap tahapan yang telah dilakukan sebelumnya
yaitu studi literatur untuk mendapatkan pemahaman mengenai metode yang
diterapkan yaitu Natural Language Generation, beserta masalah yang akan
diselesaikan yaitu membuat teks ringkasan dari hasil pemeriksaan hematologi.
3. Perancangan Sistem
Pada tahap ini dilakukan proses perancangan sistem berdasarkan hasil analisis dari
studi literatur yang telah dilakukan pada tahap sebelumnya. Adapun yang dilakukan
pada tahapan ini adalah perancangan arsitektur umum, pengumpulan data dan
perancangan antarmuka sistem.
4. Implementasi
Pada tahap ini dilakukan implementasi ke dalam kode pemrograman berdasarkan
analisis dan perancangan yang telah dilakukan pada tahap sebelumnya.
5. Pengujian
Pada tahap ini dilakukan pengujian sistem yang telah dibuat untuk menguji
implementasi metode Natural Language Generation dalam menghasilkan teks
ringkasan dari hasil pemeriksaan hematologi pasien sesuai dengan apa yang
diharapkan.
6. Dokumentasi dan Penyusunan Laporan
Pada tahap akhir ini dilakukan dokumentasi dan penyusunan laporan dari hasil
evaluasi berdasarkan keseluruhan penelitian yang telah dilakukan.
Sistematika penulisan dari skripsi ini terdiri dari lima bagian, yaitu:
Bab 1: Pendahuluan
Bab ini berisi latar belakang penelitian, rumusan masalah, tujuan penelitian, batasan
masalah, manfaat penelitian, metodologi penelitian dan sistematika penulisan.
LANDASAN TEORI
Pemeriksaan laboratorium yang paling umum adalah hitung darah lengkap (HDL) atau
complete blood count (CBC) akan tetapi sering disebut juga dengan pemeriksaan
hematologi yang memeriksa jenis sel dalam darah, termasuk sel darah merah, sel darah
putih dan trombosit atau paletelet (Yayasan Spirita, 2014). CBC atau pemeriksaan
hematologi merupakan metode diagnostik yang penting dan dapat dihandalkan untuk
memantau respons tubuh terhadap suatu terapi, mengatasi keparahan penyakit, atau
digunakan sebagai langkah awal untuk menentukan diagnosis diferensial (Barger,
2003).
Menurut pedoman interpretasi data klinik yang diterbitkan oleh Kemenkes yang ditulis
oleh Herawati & Andrajati (2011), rentang nilai normal hematologi tergantung pada
jenis kelamin seperti yang ditunjukkan pada Tabel 2.1.
Batas
Pemeriksaan Satuan
Bawah Atas
Hematrokit (Hct) % ≤ 21 ≥ 65
Haemoglobin (Hb) g/dL ≤ 7.0 ≥ 21
Leukosit 109/L ≤ 2.0 ≥ 40
Jumlah trombosit 109/L ≤ 20 ≥ 1000
Gambar 2.1. Arsitektur Umum Sistem NLG Menurut Reiter & Dale (2000)
Arsitektur umum sistem NLG menurut Reiter & Dale (2000) dapat dilihat pada Gambar
2.1. Adapun penjelasan dari setiap proses yang terdapat pada arsitektur umum sistem
NLG Gambar 2.1 dapat dijabarkan sebagai berikut:
1. Communicative goal adalah input yang digunakan untuk menentukan tujuan atau
keluaran yang akan dihasilkan dari sistem NLG. Secara umum, input yang dapat
digunakan sistem NLG ada empat komponen (k, c, u, d) dimana k (knowledge
source) adalah sumber pengetahuan atau informasi tentang suatu domain yang
digunakan, c (communicative source) adalah menjelaskan tujuan komunikatif dari
teks yang akan dihasilkan, u (user model) adalah karakterisasi teks yang akan
dihasilkan sistem NLG ditujukan untuk siapa, dan d (discourse history) adalah
sejarah tentang suatu wacana yang akan dituangkan ke dalam sistem NLG.
2. Document planner atau Document planning adalah proses menentukan isi dan
struktur dari sebuah dokumen. Proses ini bertanggung jawab untuk memutuskan
informasi apa yang akan dikomunikasikan dan menentukan bagaimana informasi ini
terstruktur untuk dipresentasikan ke teks akhir. Document planning melakukan dua
tugas utama yaitu content selection atau content determination dan document
structuring (Gatt et al, 2009):
a. Content determination adalah tugas yang bertanggung jawab untuk memilih
informasi mana dari data input yang harus ditampilkan pada hasil akhir. Tugas
yang dilakukan yaitu menyaring dan menganalisis data input untuk memilih
informasi yang paling penting (Aires, 2016). Proses ini juga melakukan
pemotongan informasi menjadi potongan – potongan konten atau pesan.
b. Document structuring adalah tugas memutuskan bagaimana potongan konten
harus dikelompokan atau distrukturkan ke dalam dokumen dan bagaimana
potongan konten yang berbeda harus saling dikaitkan atau dihubungkan.
Output dari proses ini adalah document plan. Document plan dapat disebut
juga sebagai wacana perencanaan atau rencana teks spesifik yang biasanya
direpresentasikan dalam bentuk tree, dimana leaf nodes menentukan pesan atau
konten dan internal nodes menentukan struktur informasi seperti bagaimana pesan
dikelompokan.
3. Microplanner atau Microplanning adalah proses yang menerima input berupa
document plan dan melakukan penyempurnaan untuk menghasilkan teks spesifik
yang lebih rinci lalu akan dikirimkan ke proses surface realiser. Ada tiga tugas yang
dilakukan pada tahap ini:
a. Lexicalisation merupakan proses untuk memutuskan apa kata – kata spesifik yang
harus digunakan untuk mengekspresikan konten yang dipilih dari proses content
determination. Proses ini dalam kasus tertentu juga berfungsi sebagai untuk
menentukan kata atau frasa unik yang akan digunakan untuk mengekspresikan
suatu konsep penulisan (konten yang dipilih dari proses content determination)
agar menjadi lebih bervariasi (Soto et al, 2016).
b. Referring Expression Generation menentukan ekspresi apa yang harus digunakan
untuk mengidentifikasi entitas domain tertentu pada penggunaannya didalam
suatu kalimat.
c. Aggregation memutuskan berapa banyak informasi yang harus dikomunikasikan
di setiap kalimat dokumen. Tidak semua pesan atau informasi perlu diungkapkan
dalam kalimat terpisah, dengan menggabungkan beberapa pesan menjadi satu
kalimat lebih berpotensi bahwa teks akan yang dihasilkan lebih mudah dibaca
(Gatt & Krahmer, 2017).
Berikut adalah contoh dari Gatt & Krahmer (2017), terdapat sebuah template kalimat:
Template kalimat di atas memiliki tiga variabel yang merupakan slot yang dapat
diisi dengan input non-lingustik meliputi nama pemain ($player), sebuah tim ($team)
dan waktu kapan pemain mencetak gol ($minute). Dengan demikian template kalimat
di atas bisa bermanfaat untuk digunakan menyampaikan pesan-pesan yang berbeda
dengan mengisi slot yang terdapat pada template kalimat. Dibawah ini merupakan
contoh template kalimat ketika slot pada template kalimat telah terisi dengan baik yang
akan menghasilkan output kalimat:
2.5. Tokenizing
Regular expressions (Regex) merupakan salah satu cara untuk mengenali pola suatu
kalimat dan juga memungkinkan untuk menulis ulang suatu kalimat dengan mengganti
beberapa entitas yang terdapat di dalam kalimat melalui pencocokan regular expression
yang disebut dengan regular expression subtitution (Welch, 1999). Secara sederhana
menurut Eden (2007), regular expression adalah sebuah instruksi yang diberikan
kepada sebuah fungsi untuk apa dan bagaimana mencocokkan atau mengganti suatu
string.
Menurut Li et al (2008), sebuah kelas besar dari tugas entity extraction dapat
diselesaikan dengan cara menggunakan regular expressions. Contoh entitas yang dapat
dilakukan ektraksi adalah alamat email, nama perangkat lunak (koleksi web), nomor
kartu kredit, nomor jaminan sosial, nama gen atau protein (bioinformatika), dan
sebagainya.
file1.dat
file2.dat
file3.dat
file.dat
fileN.dat
Pada Tabel 2.5 terdapat beberapa pola umum yang digunakan pada regex
menurut Muliantara (2009).
Pola Penjelasan
Ekspresi kurung. cocok dengan satu karakter yang berada dalam kurung,
misal: pattern "a[bcd]i" cocok dengan string "abi", "aci", dan "adi".
penggunaan range huruf dalam kurung diperbolehkan, misal : pattern "[a-
[] z]" cocok dengan salah satu karakter diantara string "a" sampai "z".
pattern [0-9] cocok dengan salah satu angka. jika ingin mencari karakter
"-" juga, karakter tersebut harus diletakkan di depan atau di belakang
kelompok, misal: "[abc]"
Cocok dengan sebuah karakter yang tidak ada dalam kurung, berlawanan
[^ ] dengan yang diatas. misal: pattern "[^abc]" cocok dengan satu karakter
apa saja kecuali "a", "b", "c".
Cocok dengan nol atau satu karakter sebelumnya. misal: pattern "died?"
?
cocok dengan string "die" dan "died".
Cocok dengan satu atau lebih karakter sebelumnya. misal: "yu+k" cocok
+
dengan "yuk", "yuuk", "yuuuk", dan seterusnya.
Cocok dengan nol atau lebih karakter sebelumnya. misal: pattern "hu*p"
*
cocok dengan string "hp", "hup", "huup" dan seterusnya.
Pola Penjelasan
Cocok dengan karakter sebelumnya sejumlah x karakter. misal: pattern
{x}
"[0- 9]{3}" cocok dengan bilangan berapa saja yang berukuran 3 digit.
Cocok dengan karakter sebelumnya sejumlah x hingga y karakter. misal:
{x,y} pattern "[a-z]{3,5}" cocok dengan semua susunan huruf kecil yang terdiri
dari 3 sampai 5 huruf.
Jika diletakkan di depan pattern, maka berarti "bukan". misal pattern
! "!a.u" cocok dengan string apa saja kecuali string "alu", "anu", "abu",
"asu", "aiu", dan seterusnya.
^ Jika diletakkan di depan pattern, akan cocok dengan awal sebuah string.
Jika diletakkan di belakang pattern, akan cocok dengan akhir sebuah
$
string.
Gruping. digunakan untuk mengelompokkan karakter-karakter menjadi
() single unit. string yang cocok dalan pattern yang berada dalam tanda
kurung dapat digunakan pada operasi berikutnya. semacam variable.
Escape character. mengembalikan fungsi metacharacter menjadi karakter
\ biasa. pada beberapa system dapat berarti sebaliknya, yaitu metacharacter
menggunakan escape character didepannya.
yang ditulis oleh dokter dan data dokumentasi struktural perawat). Berdasarkan grafik
yang diperoleh akan terlihat konsep informasi yang berhubungan dan konsep informasi
yang tidak saling berhubungan antara catatan singkat yang dibuat dokter dengan
dokumentasi dari perawat. Kemudian dilakukan ekstraksi informasi yang menarik dari
grafik yang diperoleh pada proses sebelumnya untuk memilih informasi apa saja yang
akan dikomunikasikan ke dalam teks ringkasan. Dan proses terakhir adalah penerapan
sistem SimpleNLG (SimpleNLG adalah sistem yang difokuskan pada tahap
pembentukan realisasi representasi teks ringkasan yang dikembangkan secara eksklusif
untuk representasi berbahasa Inggris. Sistem ini bertujuan membantu penulisan kalimat
dengan tata bahasa yang benar) untuk realisasi hasil keluaran akhir yaitu teks ringkasan.
Penelitian lain yaitu penelitian Mahamood, et al. (2011) yang fokus pada
pendekatan efektif membuat sistem yang menghasilkan suatu teks laporan informasi
medis untuk orang tua dari bayi prematur. Pada penelitian ini tahap awal dilakukan yaitu
menganalisis sinyal dan teknik interpretasi pada data EMR, serta melakukan identifikasi
peristiwa penting dan hubungan antara peristiwa yang terjadi pada data EMR tersebut.
Kemudian menggunakan metode NLG untuk mengungkapkan peristiwa dan hubungan
yang terjadi pada data EMR menjadi suatu teks naratif. Penelitian ini fokus pada teks
yang dihasilkan pada sistem dapat dipahami orang–orang yang bukan merupakan
profesional di bidang medis dan teks laporan yang dihasilkan hanya memberikan
informasi positif tentang perkembangan bayi.
Gkatzia, et al. (2016) meneliti mengenai pembuatan laporan otomatis dari data
time-series dalam domain kesehatan, dimana output sistem berbeda–beda disesuaikan
dengan preferensi pengguna yang menggunakan sistem NLG. Penelitian berfokus
tentang pendekatan baru untuk menangani pengguna yang pertama kalinya
menggunakan output sistem NLG dalam membuat keputusan pertolongan pertama.
Peneliti mengusulkan penggunaan multi-objective optimisation (MOO) untuk
memperhitungkan preferensi beberapa kemungkinan jenis pengguna yang akan
menggunakan output sistem NLG. Input yang digunakan untuk pembuatan laporan
medis menggunakan data sensor dalam bentuk numerik time-series dari skenario
pertolongan pertama (first aid) yang mengukur tiga kondisi fisiologi yaitu Breathing
Rate –BR, Blood Oxygen Saturation – SpO2, dan Hear Rate – HR. Metodologi yang
digunakan didasarkan pada dua asumsi yaitu pendekatan NLG pada umumnnya dan
sistem interaktif.
Perbedaan penelitian ini dengan penelitian terdahulu adalah pada penelitian ini
penulis mengimplementasikan Natural Language Generation untuk melaporkan hasil
pemeriksaan hematologi pasien ke dalam bentuk teks ringkasan menggunakan metode
Template-Based. Template kalimat yang digunakan untuk membentuk teks ringkasan
diperoleh dengan mengolah korpus uraian hasil pemeriksaan hematologi dan korpus
rincian nilai abnormal atau kritis hasil pemeriksaan hematologi menggunakan metode
Regular Expression untuk menentukan slot pada kalimat korpus.
Berdasarkan arsitektur umum pada Gambar 3.1 proses pertama yang akan dilakukan
adalah data extraction. File dokumen word hasil pemeriksaan laboratorium hematologi
seperti yang telah dijelaskan pada Bagian 3.2 merupakan input yang digunakan pada
proses data extraction. Karena input yang digunakan berformat dokumen word terdiri
dari beberapa bagian tabel, maka data extraction memerlukan beberapa metode untuk
membaca dan mengekstrak dokumen word tersebut untuk mendapatkan data yang
relevan (data yang akan diambil dari file input tersebut adalah data diri pasien dan data
nilai hasil pemeriksaan laboratorium hematologi). Output proses ini adalah extracted
data atau data yang diekstrak yang akan disimpan ke variabel data list yang telah
ditentukan dalam program untuk digunakan pada proses selanjutnya (data processing).
Proses data extraction ini menerapkan metode seperti yang ditunjukkan oleh Flowchart
pada Gambar 3.3.
Berikut ini merupakan penjelasan mengenai setiap tahap pada metode yang
digunakan pada proses Data Extraction yang terdapat pada flowchart Gambar 3.3.
Berdasarkan flowchart pada Gambar 3.3 proses data extraction ini akan mengolah data
input berbentuk dokumen word hasil pemeriksaan laboratorium hematologi pasien
seperti yang telah dijelaskan pada Bagian 3.2. Proses data extraction ini diawali dengan
membaca data yang terdapat pada field tabel yang terdiri dari dua bagian tabel yaitu
tabel pertama dan tabel kedua dokumen word hasil pemeriksaan hematologi. Jumlah
field tabel yang akan dibaca pada proses ini adalah sebanyak dua puluh field data tabel.
Dimana diantara dua puluh field data tabel tersebut enam data diantaranya terdapat pada
field tabel pertama yang merupakan tabel data diri pasien (field-field tabel terdiri dari
data nama pasien, umur pasien, jenis kelamin pasien, ruangan pasien, tanggal
pemeriksaan hematologi, dan dokter pengirim) dan sisanya empat belas data terdapat
pada field tabel kedua yang berada pada bagian kolom nilai hasil pemeriksaan
hematologi pasien. Proses pembacaan data dilakukan berdasarkan posisi tabel, baris
tabel dan kolom tabel. Posisi data yang terdapat dalam field tabel dan jenis datanya
dapat dilihat secara lengkap pada Tabel 3.1.
Berdasarkan flowchart pada Gambar 3.3 proses selanjutnya adalah menyimpan data
hasil pembacaan field-field tabel dari Proses 3.3.1 ke dalam variabel data list sementara
yang terdapat dalam program. Contoh data yang tersimpan dalam variabel data list
sementara berdasarkan input dokumen word hasil pemeriksaan hematologi pasien
Gambar 3.2 yang telah melalui Proses 3.3.1 dapat dilihat pada Contoh 1.
Data yang terdapat di dalam variabel data list sementara selanjutnya harus
diproses lagi untuk dapat digunakan pada bagian data processing, karena data yang
dibaca dari field data tabel pertama bercampur dengan judul data (seperti: “Nama pasien
: P12”, seharusnya hanya data “P12” saja yang diambil) dan data yang dibaca dari field
data tabel kedua (nilai hasil pemeriksaan hematologi pasien) masih terbaca sebagai
string bukan tipe data integer atau float. Untuk itu berdasarkan flowchart pada Gambar
3.3 akan dilakukan proses selanjutnya yaitu proses memisahkan judul dan data inti dari
field data tabel pertama yang terdapat di variabel data list sementara dan proses
mengubah tipe data dari field data tabel kedua yang terdapat di variabel data list
sementara sesuai kelompoknya.
3.3.3. Memisahkan judul dan data inti dari field data tabel pertama
Berdasarkan flowchart pada Gambar 3.3 proses yang dilakukan selanjutnya adalah
proses memisahkan judul dan data inti dari field data tabel pertama yang terdapat di
variable data list sementara (terdiri dari data nama pasien, umur pasien, jenis kelamin
pasien, ruangan pasien, tanggal pemeriksaan hematologi, dan dokter pengirim).
Pemisahan tersebut dilakukan dengan memisahkan setiap komponen atau entitas yang
terdapat dalam field data tabel pertama menjadi beberapa bagian entitas tunggal
menggunakan metode split() yang terdapat pada Python. Metode split() digunakan
untuk memisahkan setiap field data tabel menjadi beberapa entitas tunggal berdasarkan
karakter spasi yang berada diantara entitas. Contoh data hasil pembacaan field data pada
tabel pertama dapat dilihat pada Contoh 2.
Data Contoh 2 yang telah diproses menggunakan metode split() akan terbagi
menjadi beberapa entitas tunggal yaitu:
Nama
Pasien
:
P12
Kumpulan entitas tunggal tersebut disimpan ke dalam sebuah variabel list.
Selanjutnya dilakukan indexing dimana karakter ‘:’ terdapat dalam kumpulan entitas
tunggal. Setelah diketahui index karakter ‘:’ maka, untuk setiap entitas tunggal setelah
posisi index ‘:’ akan digabungkan menjadi satu entitas. Proses selengkapnya dapat
dilihat pada Gambar 3.4.
Gambar 3.4. Pseudocode proses pemisahan judul dan data inti field tabel
pertama
3.3.4. Mengubah tipe data dari field data tabel kedua sesuai dengan kelompoknya
Berdasarkan flowchart Gambar 3.3 data yang telah melalui serangkaian Proses 3.3.3
dan 3.3.4 akan disimpan ke dalam variabel data list akhir bernama LDP (List Data
Pasien). Variabel data list tersebut terdiri dua puluh data (variabel LDP index ke 0-5
merupakan data diri pasien output dari Proses 3.3.3 dan pada index ke 6-19 merupakan
data nilai hasil pemeriksaan hematologi pasien output dari Proses 3.3.4). Data yang
terdapat di variabel LDP tersebut dapat disebut juga sebagai data yang diekstrak. Data
yang diekstrak merupakan output dari proses data extraction yang akan digunakan
sebagai input pada proses selanjutnya yaitu data processing pada Bagian 3.4. Contoh
data real yang tersimpan dalam variabel LDP dapat dilihat pada contoh 3.
Berdasarkan arsitektur umum pada Gambar 3.1 proses kedua yang akan dilakukan
adalah data processing. Data processing adalah proses menemukan dan menentukan
status dari setiap nilai data komponen-komponen darah hasil pemeriksaan hematologi
pasien dari output Proses 3.3.5 apakah dalam keadaan normal, abnormal menurun,
abnormal meningkat, kritis menurun atau kritis meningkat berdasarkan sekumpulan
aturan yang dibuat dan tersimpan di knowledge base (knowledge base berisi
pengetahuan atau expertise tentang rentang nilai normal dan rentang nilai kritis
komponen darah yang diperoleh dari pakar dan literatur hematologi yang telah
dijabarkan pada bagian 2.2 dan 2.3). Sekumpulan aturan untuk menentukan status dari
setiap nilai data komponen-komponen darah hasil pemeriksaan hematologi dapat dilihat
pada Tabel 3.2.
Tabel 3.2. Aturan penentuan status setiap nilai komponen darah (Lanjutan)
NO Status Aturan
5 Kritis menurun Jika nilai komponen darah hasil pemeriksaan
hematologi berada di bawah rentang batas
terendah sesuai data pada Tabel 2.2.
Penerapan sekumpulan aturan yang terdapat di dalam Tabel 3.2 pada proses
Data Processing dapat dilihat secara detail dalam Flowchart Gambar 3.5.
Proses data processing diawali dengan mempersiapkan beberapa data input yaitu:
Data pertama yang perlu disiapkan adalah data nilai hasil pemeriksaan hematologi
pasien. Data nilai hasil pemeriksaan hematologi pasien yang diperoleh dari output
proses 3.3.5 yang tersimpan dalam variabel data list LDP khususnya terdapat pada
index ke 6-19. Struktur data variabel data list LDP pada index ke 6-19 dapat dilihat
pada Contoh 4 dan contoh data real berdasarkan output proses 3.3.5 yang tersimpan
dalam variabel data list LDP (index ke 6-19) dapat dilihat pada Contoh 5.
Contoh 4. Struktur data variabel data list LDP pada index ke 6-19
[nilai hasil pemeriksaan hematologi pada komponen darah haemoglobin, nilai hasil
pemeriksaan hematologi pada komponen darah leukosit, . . . . , nilai hasil
pemeriksaan hematologi pada komponen darah monosit]
Contoh 5. Data real berdasarkan output proses 3.3.5 yang tersimpan dalam
variabel data list LDP (index ke 6-19)
[6.9, 4.2, 50, 243, 16.4, 1.89, 87.3, 36.5, 42.0, 3.0, 0.0, 60.0, 30.0, 7.0]
Selanjutnya data kedua yang perlu disiapkan adalah rentang nilai normal
berdasarkan jenis kelamin pasien yang diperoleh dari database (rentang nilai normal
dapat dilihat pada Tabel 2.1). Rentang nilai normal tersebut disusun ke dalam satu
variabel data list bernama DRN (Data Rentang Normal). Struktur susunan data
variabel DRN dapat dilihat pada Contoh 6.
Berikut ini adalah contoh data real rentang nilai normal berdasarkan jenis
kelamin pasien yang diperoleh dari output proses 3.3.5 yaitu data variabel LDP
(pada index kedua) dapat dilihat pada Contoh 7.
Contoh 7. Data real rentang nilai normal berdasarkan jenis kelamin pasien
[13.0, 18.0, 3.2, 10.0, 0, 15, 170, 380, 40.0, 50.0, 4.4, 5.6, 80.0, 100.0, 28.0, 34.0,
32.0, 36.0, 0.0, 6.0, 0.0, 2.0, 36.0, 73.0, 15.0, 45.0, 0.0, 10.0]
Selanjutnya data ketiga yang perlu disiapkan adalah rentang nilai kritis yang
diperoleh dari database (rentang nilai kritis untuk jenis kelamin pria dan wanita
sama dan rentang nilai kritis dapat dilihat pada Tabel 2.2). Rentang nilai kritis
tersebut disusun ke dalam satu variabel data list bernama DKD (Data Rentang
Kritis). Struktur susunan data variabel DRK dapat dilihat pada Contoh 8.
Berikut ini adalah contoh data real rentang nilai kritis variabel DRK dapat dilihat
pada Contoh 9.
Selanjutnya data keempat yang perlu disiapkan adalah membuat struktur urutan
komponen darah yang dilakukan pemeriksaan status. Struktur urutan komponen
darah tersebut disimpan ke dalam satu variabel data list bernama DKD (Data
Komponen Darah). Struktur susunan DKD dapat dilihat pada Contoh 10.
Contoh 10. Struktur urutan komponen darah yang disusun ke dalam variabel
DKD
[ "haemoglobin" , "leukosit" , "laju endap darah" , "trombosit" , "hematokrit" ,
"eritrosit" , "MCV" , "MCH" , "MCHC" , "eosinofil" , "basofil" , "neotrofil" ,
"limfosit" , "monosit"]
Tahap selanjutnya dari data processing adalah melakukan deklarasi beberapa variabel
data. Variabel data yang dideklarasikan terdiri dari:
i=0
Variabel i menunjukkan index komponen darah yang sedang dilakukan deteksi
golongan status.
i1 = 6
Variabel i1 menunjukkan posisi index pertama data nilai hasil pemeriksaan
hematologi pasien dalam variabel LDP yaitu index nomor 6.
i2 = 0
Variabel i2 menunjukkan posisi index rentang nilai normal dalam variabel DRN.
i3 = 0
Variabel i3 menunjukkan posisi index rentang nilai kritis dalam variabel DRK.
status = []
Variabel data list status digunakan untuk menyimpan status suatu komponen darah
(apakah normal, abnormal menurun, abnormal meningkat, kritis menurun atau kritis
meningkat) sesuai dengan struktur urutan komponen darah pada Contoh 10.
kritis_menurun = []
Variabel data list kritis_menurun digunakan untuk menyimpan data komponen-
komponen darah yang termasuk kelompok kritis menurun dan juga menyimpan data
berapa poin nilai komponen darah hasil pemeriksaan hematologi pasien menurun
dari batas nomal.
kritis_meningkat = []
Variabel data list kritis_meningkat digunakan untuk menyimpan komponen-
komponen darah yang termasuk kelompok kritis meningkat dan juga menyimpan
data berapa poin nilai komponen darah hasil pemeriksaan hematologi pasien
meningkat dari batas nomal.
abnormal_menurun = []
Variabel data list abnormal_menurun digunakan untuk menyimpan komponen-
komponen darah yang termasuk kelompok abnormal menurun dan juga menyimpan
data berapa poin nilai komponen darah hasil pemeriksaan hematologi pasien
menurun dari batas nomal.
abnormal_meningkat = []
Variabel data list abnormal_meningkat untuk menyimpan komponen-komponen
darah yang termasuk kelompok abnormal meningkat dan juga menyimpan data
berapa poin nilai komponen darah hasil pemeriksaan hematologi pasien meningkat
dari batas nomal.
3.4.3. Pemeriksaan nilai i lebih kecil dari ukuran data variabel DKD
Tahapan selanjutnya adalah dilakukan pemeriksaan apakah nilai i lebih kecil dari
ukuran data variabel DKD. Jika benar nilai i lebih kecil dari ukuran data variabel DKD,
maka proses akan dilanjutkan ke Bagian 3.4.4. Namun, jika nilai i tidak lebih kecil dari
ukuran data variabel DKD maka proses akan dilanjutkan ke Bagian 3.4.7.
3.4.4. Penerapan aturan pertama Tabel 3.2 terhadap data variabel LDP[i1]
Data variabel LDP[i1] pertama kali akan diolah menggunakan aturan pertama dari
Tabel 3.2 untuk mengetahui data variabel LDP[i1] termasuk golongan normal atau
bukan. Jika data variabel LDP[i1] termasuk golongan normal maka data status
“Normal” akan di tambahkan ke dalam list variabel data status dan melakukan
penambahan nilai variabel i +=1, i1 +=1, dan i2 +=2, kemudian proses akan dilanjutkan
kembali ke Bagian 3.4.3. Namun, jika data variabel LDP[i1] tidak termasuk golongan
normal maka proses akan dilanjutkan ke Bagian 3.4.5.
3.4.5. Penerapan aturan kedua dan keempat Tabel 3.2 terhadap data variabel LDP[i1]
Data variabel LDP[i1] yang tidak memenuhi aturan pertama dari Tabel 3.2 selanjutnya
akan diolah menggunakan aturan kedua dari Tabel 3.2 untuk mengetahui data variabel
LDP[i1] nilainya lebih besar atau lebih kecil dari batas normal tertinggi suatu
komponen darah. Untuk tahap ini jika data variabel LDP[i1] nilainya lebih besar dari
batas normal tertinggi suatu komponen darah, maka proses akan dilanjutkan ke bagian
dua proses berbeda untuk mengetahui data variabel LDP[i1] termasuk golongan kritis
meningkat atau abnormal meningkat. Namun, jika data variabel LDP[i1] nilainya lebih
kecil dari batas normal tertinggi suatu komponen darah maka proses akan dilanjutkan
ke Bagian 3.4.6.
Dua proses berbeda yang dilakukan terhadap data variabel LDP[i1] untuk
mengetahui data variabel LDP[i1] termasuk golongan kritis meningkat atau abnormal
meningkat adalah sebagai berikut:
Proses pertama dari dua proses berbeda adalah melakukan pemeriksaan apakah nilai
i apakah termasuk ke dalam range index [0,1,3,4] (komponen darah yang sedang
dilakukan pemeriksaan golongan status adalah komponen darah haemoglobin,
leukosit, trombosit, dan hematokrit). Jika nilai i termasuk ke dalam range index
tersebut, maka data variabel LDP[i1] akan di proses dengan aturan keempat dari
Tabel 3.2. Namun, jika nilai i tidak termasuk ke dalam range index tersebut, maka
data variabel LDP[i1] akan diolah ke proses b Bagian 3.4.5.
Data variabel LDP[i1] yang di proses dengan aturan keempat dari Tabel 3.2
bertujuan untuk melihat apakah data variabel LDP[i1] termasuk golongan kritis
meningkat atau bukan. Jika data variabel LDP[i1] termasuk golongan kritis
meningkat, maka dilakukan penambahan data status “Kritis meningkat” pada list
variabel data status, penambahan data komponen darah SDR[i] ke list variabel data
kritis_meningkat, penambahan data jumlah selisih data variabel LDP[i1] dengan
data variabel DRN[i2+1] ke list variabel data kritis_meningkat dan melakukan
penambahan nilai variabel i3 +=2, i +=1, i1 +=1, dan i2 +=2. Kemudian proses akan
dilanjutkan kembali ke Bagian 3.4.3. Namun, jika data variabel LDP[i1] tidak
Proses kedua dari dua proses berbeda ini dilakukan ketika i tidak termasuk ke dalam
range index [0,1,3,4] (komponen darah yang sedang dilakukan pemeriksaan
golongan status adalah bukan termasuk komponen darah haemoglobin, leukosit,
trombosit, dan hematokrit) atau ketika data variabel LDP[i1] tidak termasuk
golongan kritis meningkat . Adapun proses yang dilakukan pada bagian ini adalah
melakukan penambahan data status “Abnormal meningkat” pada list variabel data
status, penambahan data komponen darah SDR[i] ke list variabel data
abnormal_meningkat, penambahan data jumlah selisih data variabel LDP[i1] dengan
data variabel DRN[i2+1] ke list variabel data abnormal_meningkat dan melakukan
penambahan nilai variabel i +=1, i1 +=1, dan i2 +=2 lalu tahap data processing akan
dilanjutkan kembali ke Bagian 3.4.3.
3.4.6. Penerapan aturan ketiga dan kelima Tabel 3.2 terhadap data variabel LDP[i1]
Data variabel LDP[i1] yang tidak memenuhi aturan kedua dari Tabel 3.2 selanjutnya
akan diolah menggunakan aturan ketiga dari Tabel 3.2 untuk mengetahui data variabel
LDP[i1] nilainya lebih kecil atau lebih besar dari batas normal terendah suatu
komponen darah. Untuk tahap ini jika data variabel LDP[i1] nilainya lebih kecil dari
batas normal terendah suatu komponen darah, maka proses akan dilanjutkan ke bagian
dua proses berbeda untuk mengetahui data variabel LDP[i1] termasuk golongan kritis
menurun atau abnormal menurun. Namun, jika data variabel LDP[i1] nilainya lebih
besar dari batas normal rendah suatu komponen darah maka data status “Tidak
terdeteksi” akan di tambahkan ke dalam list variabel data status dan melakukan
penambahan nilai variabel i +=1, i1 +=1, dan i2 +=2, kemudian proses akan dilanjutkan
kembali ke Bagian 3.4.3.
Dua proses berbeda yang dilakukan terhadap data variabel LDP[i1] untuk
mengetahui data variabel LDP[i1] termasuk golongan kritis menurun atau abnormal
menurun adalah sebagai berikut:
a) Jika nilai i termasuk ke dalam range [0,1,3,4]
Proses pertama dari dua proses berbeda adalah melakukan pemeriksaan nilai i
apakah termasuk ke dalam range index [0,1,3,4] (komponen darah yang sedang
dilakukan pemeriksaan golongan status adalah komponen darah haemoglobin,
leukosit, trombosit, dan hematokrit). Jika nilai i termasuk ke dalam range index
tersebut, maka data variabel LDP[i1] akan di proses dengan aturan kelima dari
Tabel 3.2. Namun, Jika nilai i tidak termasuk ke dalam range index tersebut, maka
data variabel LDP[i1] akan diolah ke proses b Bagian 3.4.6.
Data variabel LDP[i1] yang di proses dengan aturan kelima dari Tabel 3.2
bertujuan untuk melihat apakah data variabel LDP[i1] termasuk golongan kritis
menurun atau bukan. Jika data variabel LDP[i1] termasuk golongan kritis menurun
maka dilakukan penambahan data status “Kritis menurun” pada list variabel data
status, penambahan komponen darah SDR[i] ke list variabel data kritis_menurun,
penambahan data jumlah selisih data variabel LDP[i1] dengan data variabel
DRN[i2] ke list variabel data kritis_menurun dan melakukan penambahan nilai
variabel i3 +=2, i +=1, i1 +=1, dan i2 +=2. Kemudian proses akan dilanjutkan
kembali ke Bagian 3.4.3. Namun, jika data variabel LDP[i1] tidak termasuk
golongan kritis menurun maka maka proses dilanjutkan ke proses b Bagian 3.4.6.
Proses kedua dari dua proses berbeda ini dilakukan ketika i tidak termasuk ke
dalam range index [0,1,3,4] (komponen darah yang sedang dilakukan pemeriksaan
golongan status adalah bukan komponen darah haemoglobin, leukosit, trombosit,
dan hematokrit) atau ketika data variabel LDP[i1] tidak termasuk golongan kritis
menurun. Adapun proses yang dilakukan pada bagian ini adalah melakukan
penambahan data status “Abnormal menurun” pada list variabel data status,
penambahan komponen darah SDR[i] ke list variabel data abnormal_menurun,
penambahan data jumlah selisih data variabel LDP[i1] dengan data variabel
DRN[i2] ke list variabel data abnormal_menurun dan melakukan penambahan nilai
variabel i +=1, i1 +=1, dan i2 +=2 lalu tahap data processing akan dilanjutkan
kembali ke Bagian 3.4.3.
Jika nilai i tidak lebih kecil dari ukuran data variabel DSR maka akan dilakukan proses
akhir yaitu menggabungkan variabel data list status, kritis_menurun, kritis_meningkat,
abnormal_menurun dan abnormal_meningkat menjadi satu variabel data list bernama
ODP (Ouput Data Processing). Variabel ODP secara konsisten memiliki lima index
data walaupun belum tentu index 1-4 akan berisi data pasti karena dari data hasil
pemeriksaan hematologi belum pasti terdapat komponen darah yang kritis menurun,
kritis meningkat, abnormal menurun ataupun abnormal meningkat. Data variabel list
ODP ini akan menjadi input pada proses selanjutnya yaitu proses data structuring pada
Bagian 3.5. Contoh data real variabel list ODP tersebut dapat dilihat pada Contoh 11.
Contoh 11. Data real variabel ODP (output proses Data Processing)
[['Kritis Menurun', 'Normal', 'Abnormal Meningkat', 'Normal', 'Kritis Menurun',
'Abnormal Menurun', 'Normal', 'Abnormal Meningkat', 'Abnormal Meningkat',
'Normal', 'Normal', 'Normal', 'Normal', 'Normal'], ['haemoglobin', 6.1, 'hematokrit',
23.6], [], ['eritrosit', 2.51], ['laju endap darah', 35, 'MCH', 2.5, 'MCHC', 6.0]]
Berdasarkan arsitektur umum pada Gambar 3.1 proses ketiga yang akan dilakukan
adalah data structuring. Data structuring adalah proses pengolahan output data
processing seperti yang terdapat pada Contoh 11 untuk menentukan serta membangun
struktur data-data pesan apa saja yang akan digunakan untuk menggantikan slot yang
terdapat di dalam template kalimat. Output dari proses data structuring disebut sebagai
data terstruktur nantinya akan diolah lagi ke proses microplanning pada Bagian 3.6.
Data structuring memerlukan metode-metode untuk mengolah data output dari proses
data processing. Adapun metode-metode yang dilakukan pada proses Data Structuring
dapat dilihat dalam flowchart Gambar 3.6.
Adapun penjelasan flowchart yang disajikan dalam Gambar 3.6 sebagai berikut.
Proses data structuring diawali dengan mempersiapkan data input yaitu output dari
proses data processing yang telah dijelaskan pada Bagian 3.4 (output proses Data
Processing tersimpan dalam variabel ODP).
Tahap selanjutnya dari proses data structuring adalah melakukan deklarasi beberapa
variabel data. Variabel data yang dideklarasikan terdiri dari:
SKP ={}
Variabel data dictionaries SKP (Struktur Kalimat Pembuka) digunakan untuk
menyimpan struktur kalimat pembuka yang terdiri dari data-data pesan apa yang
akan digunakan untuk menggantikan data slot yang terdapat di dalam template
kalimat pembuka.
SKK ={}
Variabel data dictionaries SKK (Struktur Kalimat Kritis) digunakan untuk
menyimpan struktur kalimat nilai kritis yang terdiri dari data-data pesan apa yang
akan digunakan untuk menggantikan data slot yang terdapat di dalam template
kalimat uraian nilai kritis.
SKA ={}
Variabel data dictionaries SKA (Struktur Kalimat Abnormal) digunakan untuk
menyimpan struktur kalimat nilai abnormal yang terdiri data-data pesan apa yang
akan digunakan untuk menggantikan data slot yang terdapat di dalam template
kalimat uraian nilai abnormal.
SKRK =[]
Variabel data list SKRK (Struktur Kalimat Rincian Kritis) digunakan untuk
menyimpan beberapa struktur kalimat rincian nilai kritis yang terdiri dari data-data
pesan apa yang akan digunakan untuk menggantikan data slot yang terdapat di
dalam template kalimat rincian nilai kritis.
SKRA =[]
Variabel data list SKRA (Struktur Kalimat Rincian Abnormal) digunakan untuk
menyimpan beberapa struktur kalimat rincian nilai abnormal yang terdiri dari data-
data pesan apa yang akan digunakan untuk menggantikan data slot yang terdapat di
dalam template kalimat rincian nilai abnormal.
JKM1 = len(ODP[1])/2
Variabel data JKM (Jumlah Kritis Menurun) digunakan untuk menyimpan jumlah
komponen darah hasil pemeriksaan hematologi yang termasuk ke dalam golongan
kritis menurun yang terdapat di variabel data ODP index pertama (ODP[1]).
JKM2 = len(ODP[2])/2
Variabel data JKM2 (Jumlah Kritis Meningkat) digunakan untuk menyimpan
jumlah komponen darah hasil pemeriksaan hematologi yang termasuk ke dalam
golongan kritis meningkat yang terdapat di variabel data ODP index kedua
(ODP[2]).
JAM1 = len(ODP[3])/2
Variabel data JAM1 (Jumlah Abnormal Menurun) digunakan untuk menyimpan
jumlah komponen darah hasil pemeriksaan hematologi yang termasuk ke dalam
golongan abnormal menurun yang terdapat di variabel data ODP index ketiga
(ODP[3]).
JAM2 = len(ODP[4])/2
Variabel data JAM2 (Jumlah Abnormal Meningkat) digunakan untuk menyimpan
jumlah komponen darah hasil pemeriksaan hematologi yang termasuk ke dalam
golongan abnormal meningkat yang terdapat di variabel data ODP index keempat
(ODP[4]).
TJK = JKM1+JKM2
Variabel data TJK (Total Jumlah Kritis) digunakan untuk menyimpan jumlah total
komponen darah hasil pemeriksaan hematologi yang termasuk ke dalam golongan
kritis dengan menambahkan data variabel JKM1 dengan data variabel JKM2.
TJA = JAM1+JAM2
Variabel data TJA (Total Jumlah Abnormal) digunakan untuk menyimpan jumlah
total komponen darah hasil pemeriksaan hematologi yang termasuk ke dalam
golongan abnormal dengan menambahkan data variabel JAM1 dengan data variabel
JAM2.
Tahap selanjutnya akan dilakukan adalah penentuan struktur kalimat pembuka. Tugas
yang dilakukan pada proses ini adalah menentukan struktur data-data pesan apa saja
yang akan digunakan untuk menggantikan slot yang terdapat di dalam template kalimat
pembuka. Penentuan struktur data pesan kalimat pembuka yang akan digunakan,
ditentukan berdasarkan pada ditemukannya nilai kritis dan nilai abnormal yang terdapat
dalam data variabel ODP. Output dari proses penentuan struktur kalimat pembuka ini
akan disimpan ke dalam variabel data dictionories SKP. Adapun terdapat dua struktur
data pesan kalimat pembuka yang dapat digunakan sebagai berikut:
Jika nilai dari data variabel TJK dan TJA keduanya menunjukkan nilai lebih
besar dari nol (menunjukkan hasil pemeriksaan hematologi ditemukan nilai kritis
dan nilai abnormal) maka struktur data pesan dalam kalimat pembuka ganda yang
terdapat pada Contoh 3.5.1 akan menjadi seperti Contoh 13.
Contoh 13. Struktur data pesan dalam kalimat pembuka ganda menunjukkan
hasil pemeriksaan hematologi ditemukan nilai kritis dan nilai abnormal
{"STATUSDITEMUKAN1" :"ditemukan" , "SATUAN1" :"TJK" ,
"STATUSKELAINAN1" :"kritis" , "STATUSDITEMUKAN2" : "ditemukan" ,
"SATUAN2":"TJA","STATUSKELAINAN2": "abnormal" }
Catatan : nilai dari data variabel TJK dan TJA telah dikonversikan dari angka
menjadi huruf (nilai angka 1 disebutkan menjadi satu, nilai angka 2 disebutkan
menjadi dua dan seterusnya) menggunakan sekumpulan aturan if … else … seperti
yang terdapat pada Gambar 3.7.
Jika nilai dari data variabel TJK dan TJA keduanya menunjukkan nilai sama
dengan nol (menunjukkan hasil pemeriksaan hematologi dalam keadaan normal
karena tidak ditemukan nilai kritis dan juga tidak ditemukan nilai abnormal) maka
struktur data pesan dalam kalimat pembuka ganda yang terdapat pada Contoh 12
akan menjadi seperti Contoh 14.
Contoh 14. Struktur data pesan dalam kalimat pembuka ganda menunjukkan
hasil pemeriksaan hematologi normal
{"STATUSDITEMUKAN1" :"tidak ditemukan" , "SATUAN1" :"" ,
"STATUSKELAINAN1" :"kritis" , "STATUSDITEMUKAN2" : "tidak
ditemukan" , "SATUAN2":"","STATUSKELAINAN2": "abnormal" }
Jika nilai dari data variabel TJA menunjukkan nilai lebih dari nol maka struktur
data pesan kalimat pembuka tunggal yang terdapat pada Contoh 15 akan menjadi
seperti Contoh 16. Sedangkan itu, jika nilai dari data variabel TJK yang
menunjukkan nilai lebih dari nol maka struktur data pesan kalimat pembuka tunggal
yang terdapat pada Contoh 15 akan mirip dengan Contoh 16 hanya saja data-data
pesan yang terdapat di dalam struktur kalimat pembuka tunggal disesuaikan dengan
data TJK
Catatan : Nilai dari data variabel TJA telah dikonversikan dari angka menjadi huruf
(nilai angka 1 disebutkan menjadi satu, nilai angka 2 disebutkan menjadi dua dan
Tahap selanjutnya yang akan dilakukan proses Data Structuring adalah penentuan
struktur kalimat uraian nilai kritis. Proses penentuan struktur kalimat uraian nilai kritis
dilakukan dengan aturan jika nilai dari data variabel JKM1 atau JKM2 lebih besar dari
nol. Jika aturan penentuan struktur kalimat uraian nilai kritis terpenuhi, maka proses
penentuan struktur kalimat uraian nilai kritis dilanjutkan. Namun jika aturan proses
penentuan struktur kalimat uraian nilai kritis tidak terpenuhi, maka proses akan
dilanjutkan ke proses selanjutnya yaitu proses penentuan struktur kalimat uraian nilai
abnormal yang terdapat pada Bagian 3.5.5.
Tugas yang dilakukan pada proses penentuan struktur kalimat uraian nilai kritis
adalah menentukan struktur data-data pesan apa saja yang akan digunakan untuk
menggantikan slot yang terdapat di dalam template kalimat uraian nilai kritis.
Penentuan struktur data pesan kalimat uraian nilai kritis yang akan digunakan
bergantung pada ditemukannya nilai kritis meningkat dan nilai kritis menurun yang
terdapat dalam data variabel ODP. Output dari proses penentuan struktur kalimat uraian
nilai kritis ini akan disimpan ke dalam variabel data dictionaries SKK. Adapun terdapat
dua struktur data pesan kalimat uraian yang dapat digunakan untuk menjabarkan nilai
kritis yaitu:
Jika nilai dari data variabel JKM1 dan JKM2 keduanya menunjukkan nilai lebih
dari nol (menunjukkan hasil pemeriksaan hematologi ditemukan nilai kritis
menurun dan kritis meningkat) maka struktur data pesan dalam kalimat uraian ganda
yang terdapat pada Contoh 17 akan menjadi seperti Contoh 18.
Contoh 18. Struktur data pesan dalam kalimat uraian ganda menunjukkan
hasil pemeriksaan hematologi ditemukan nilai kritis menurun dan kritis
meningkat
{"SATUAN1" : "TJK", "STATUSKELAINAN" : "kritis", "SATUAN2" : "JKM1",
"TINGKATAN1" : "menurun", "KOMPONENDARAH1" : "KDKM1" ,
"SATUAN3" : "JKM2" , "TINGKATAN2" : "meningkat" ,
"KOMPONENDARAH2" : "KDKM2"}
Catatan : Nilai dari data variabel TJK, JKM1 dan JKM2 telah dikonversikan dari
angka menjadi huruf (nilai angka 1 disebutkan menjadi satu, nilai angka 2
disebutkan menjadi dua dan seterusnya) menggunakan sekumpulan aturan if … else
… seperti yang terdapat pada Gambar 3.7. Variabel data KDKM1 (Komponen Darah
Kritis Menurun) terdiri dari data komponen-komponen darah yang termasuk ke
dalam nilai kritis menurun yang diperoleh dari variabel ODP pada index satu
(ODP[1]) dan variabel data KDKM2 (Komponen Darah Kritis Meningkat) terdiri
dari data komponen-komponen darah yang termasuk ke dalam nilai kritis meningkat
yang diperoleh dari variabel ODP pada index dua (ODP[2]). Data komponen-
komponen darah yang terdapat di variabel KDKM1 dan KDKM2 harus diproses
untuk menentukan apakah penyampaiannya dalam sebuah data pesan untuk
mengganti slot di template kalimat memerlukan kata penghubung atau tidak. Jika
data yang terdapat di dalam variabel KDKM1 dan KDKM2 hanya terdiri satu
komponen darah, maka tidak perlu diberikan kata penghubung diantara komponen-
komponen darah. Namun jika data di dalam variabel KDKM1 dan KDKM2 terdiri
dari dua komponen darah, maka perlu diberikan kata penghubung (seperti kata
serta) diantara komponen-komponen darah. Selain itu, jika data di dalam variabel
KDKM1 dan KDKM2 terdiri terdiri dari lebih dari dua komponen darah maka perlu
diberikan tanda baca (seperti tanda koma) dan kata penghubung (seperti kata serta)
diantara komponen-komponen darah. Proses penentuan perlu atau tidaknya
#Proses penentuan perlu atau tidaknya diberikan tanda baca atau tanda
penghubung pada komponen darah
Fungsi penyampaian pesan komponen darah (data komponen darah):
if ukuran komponen darah dibagi dua == 1
return data komponen darah [0]
elif ukuran komponen darah dibagi dua > 1:
dpkd ← "" # inisialisasi variabel untuk menyimpan penyampaian data
pesan komponen darah
i←0
while i < ukuran data komponen darah
if i==0:
dpkd ← data komponen_darah [i]
else if i == ukuran data komponen darah dikurang dua:
dpkd ← dpkd +" serta "+ data komponen darah [i]
else:
dpkd ← dpkd +", "+ data komponen darah [i]
i+=2
return dpkd
Jika nilai dari data variabel JKM1 menunjukkan nilai lebih besar dari nol, maka
struktur data pesan kalimat uraian tunggal yang terdapat pada Contoh 19 akan
menjadi seperti Contoh 20. Sedangkan itu, jika nilai variabel JKM2 yang
menunjukkan nilai lebih besar dari nol maka struktur data pesan kalimat uraian
tunggal yang terdapat pada Contoh 19 akan mirip dengan Contoh 20 hanya saja
data-data pesan yang terdapat di dalam struktur kalimat uraian tunggal disesuaikan
dengan data JKM2.
Contoh 20. Struktur data pesan dalam kalimat uraian tunggal menunjukkan
hasil pemeriksaan hematologi hanya ditemukan nilai kritis menurun
{"SATUAN1" : "JKM1", "STATUSKELAINAN" : "kritis", "TINGKATAN1" :
"menurun", "KOMPONENDARAH1" : "KDKM1"}
Catatan : Aturan penulisan data JKM1, JKM2, KDKM1 dan KDKM2 akan sama
dengan aturan di catatan Contoh 18.
Tahap selanjutnya yang dilakukan proses data structuring adalah penentuan struktur
kalimat uraian nilai abnormal. Proses penentuan struktur kalimat uraian nilai abnormal
dilakukan dengan aturan jika nilai dari data variabel JAM1 atau JAM2 lebih besar dari
nol. Jika aturan penentuan struktur kalimat uraian nilai abnormal terpenuhi maka proses
penentuan struktur kalimat uraian nilai abnormal dilanjutkan. Namun, jika aturan proses
penentuan struktur kalimat uraian nilai abnormal tidak terpenuhi maka proses akan
dilanjutkan ke proses penentuan struktur kalimat rincian yang ada di Bagian 3.5.6.
Tugas yang dilakukan pada proses penentuan struktur kalimat uraian nilai
abnormal adalah menentukan struktur data-data pesan apa saja yang akan digunakan
untuk menggantikan slot yang terdapat di dalam template kalimat uraian nilai abnormal.
Penentuan struktur data pesan kalimat uraian nilai abnormal yang akan digunakan
bergantung pada ditemukannya nilai abnormal meningkat dan nilai abnormal menurun
yang terdapat dalam data variabel ODP. Output dari proses penentuan struktur kalimat
uraian nilai abnormal ini akan disimpan ke dalam variabel data dictionaries SKA.
Adapun terdapat dua jenis struktur data pesan kalimat uraian yang dapat digunakan
untuk menjabarkan nilai abnormal yaitu:
Struktur data pesan kalimat uraian ganda
Struktur data pesan kalimat pembuka ganda digunakan jika nilai dari data variabel
JAM1 dan JAM2 keduanya menunjukkan nilai lebih dari nol (menunjukkan hasil
Jika nilai dari data variabel JAM1 dan JAM2 keduanya menunjukkan nilai lebih
dari nol maka struktur data pesan dalam kalimat uraian ganda yang terdapat pada
Contoh 17 akan menjadi seperti Contoh 21.
Contoh 21. Struktur data pesan dalam kalimat uraian ganda menunjukkan
hasil pemeriksaan hematologi ditemukan nilai abnormal menurun dan
abnormal meningkat
Catatan : aturan penulisan data TJA, JAM1, JAM2, KDAM1 (Komponen Darah
Abnormal Menurun) dan KDAM2 (Komponen Darah Abnormal Meningkat) akan
sama dengan aturan di catatan Contoh 18.
Jika nilai dari data variabel JAM1 menunjukkan nilai lebih dari nol maka
struktur data pesan kalimat uraian tunggal yang terdapat pada Contoh 19 akan
menjadi seperti Contoh 22. Sedangkan, jika nilai dari data variabel JAM2 yang
menunjukkan nilai lebih dari nol maka struktur data pesan kalimat uraian tunggal
yang terdapat pada Contoh 19 akan mirip dengan Contoh 22 hanya saja data-data
pesan yang terdapat di dalam struktur kalimat uraian tunggal disesuaikan dengan
data variabel JAM2.
Contoh 22. Struktur data pesan dalam kalimat uraian tunggal menunjukkan
hasil pemeriksaan hematologi hanya ditemukan nilai kritis menurun
Catatan : Aturan penulisan data JAM1, JAM2, KDAM1 dan KDAM2 akan sama
dengan aturan di catatan Contoh 18.
Tahap selanjutnya yang akan dilakukan proses data structuring adalah penentuan
struktur kalimat rincian. Proses penentuan struktur kalimat rincian dilakukan dengan
aturan jika nilai dari data variabel TJK atau TJA lebih besar dari nol. Jika aturan
penentuan struktur kalimat rincian terpenuhi maka proses penentuan struktur kalimat
rincian akan dilakukan. Namun, jika aturan proses penentuan struktur kalimat rincian
tidak terpenuhi maka proses akan dilanjutkan ke proses terakhir data structuring pada
Bagian 3.5.7.
Tugas yang dilakukan pada proses penentuan struktur kalimat rincian adalah
menentukan jumlah struktur kalimat rincian yang akan disajikan ke dalam teks
ringkasan berdasarkan data jumlah komponen darah yang termasuk nilai kritis atau
abnormal yang terdapat di dalam variabel ODP (index pertama hingga index keempat)
dan menentukan data-data pesan apa saja yang akan digunakan untuk menggantikan
slot yang terdapat di dalam template kalimat rincian. Struktur kalimat rincian terdiri dari
dua bagian yaitu kumpulan struktur kalimat rincian nilai kritis yang akan disimpan ke
dalam variabel data list SKRK (Struktur Kalimat Rincian Kritis) dan kumpulan struktur
kalimat rincian nilai abnormal yang akan disimpan ke dalam variabel data list SKRA
(Struktur Kalimat Rincian Abnormal). Adapun struktur data pesan dalam kalimat
rincian dapat dilihat dalam Contoh 23.
Jumlah struktur kalimat rincian nilai kritis yang akan disimpan ke dalam
variabel data list SKRK tergantung pada jumlah komponen darah nilai kritis menurun
yang terdapat dalam variabel ODP[1] dan jumlah komponen darah nilai kritis
meningkat yang terdapat dalam variabel ODP[2]. Jika ukuran data variabel ODP[1]
menunjukkan nilai lebih dari nol maka struktur data pesan kalimat rincian yang terdapat
pada Contoh 23 akan menjadi seperti Contoh 24. Selain itu, jika ukuran dari data
variabel ODP[2] juga menunjukkan nilai lebih dari nol maka struktur data pesan
kalimat rincian yang terdapat pada Contoh 23 akan mirip dengan Contoh 24 hanya saja
data-data pesan yang terdapat di dalam struktur kalimat rincian akan disesuaikan dengan
data variabel ODP[2].
Contoh 24. Struktur data pesan dalam kalimat rincian nilai kritis menurun
{"KOMPONENDARAH" : "ODP[1][i]", "TINGKATAN" : "-", "NILAIPOIN" :
"ODP[1][i+1]" , “STATUSBATAS" : “terendah"}
Catatan: data pesan “-“ pada index ke-1 struktur data pesan kalimat rincian nilai kritis
menurun pada Contoh 24 menunjukkan komponen darah mengalami penurunan dari
batas normal sedangkan untuk peningkatan menggunakan data pesan “+”.
Sedangkan itu, jumlah struktur kalimat rincian nilai abnormal yang disimpan ke
dalam variabel data list SKRA akan bergantung pada jumlah komponen darah nilai
abnormal menurun yang terdapat dalam variabel ODP[3] dan jumlah komponen darah
nilai abnormal meningkat yang terdapat dalam variabel ODP[4]. Jika ukuran dari data
variabel ODP[3] menunjukkan nilai lebih dari nol maka struktur data pesan kalimat
rincian yang terdapat pada Contoh 23 akan mirip seperti Contoh 24 hanya saja data-
data pesan yang terdapat di dalam struktur kalimat rincian disesuaikan dengan data
variabel ODP[3]. Selain itu, jika ukuran dari data variabel ODP[4] juga menunjukkan
nilai lebih dari nol maka struktur data pesan kalimat rincian yang terdapat pada Contoh
23 juga akan mirip dengan Contoh 24 hanya saja data-data pesan yang terdapat di dalam
struktur kalimat rincian disesuaikan dengan data variabel ODP[4].
Proses terakhir dari Data Structuring adalah proses menyatukan data struktur kalimat
uraian yang terdapat di dalam variabel SKP, SKK dan SKA (tersimpan dalam variabel
data ODS index ke-0 atau disebut ODS[0]) dengan data struktur kalimat rincian yang
terdapat di dalam variabel SRK dan SRA (tersimpan dalam variabel data ODS index ke-
1 atau disebut ODS[1]) menjadi satu variabel data list bernama ODS (Output Data
Structuring). Data variabel ODS ini akan menjadi input pada proses proses
microplanning pada Bagian 3.6.
Contoh data real variabel ODS yang merupakan output dari proses Data
Structuring yang mengolah output proses Data Processing (Contoh 3.4.8) dapat dilihat
pada Contoh 25 berikut ini.
Contoh 25. Data real variabel ODS (output proses Data Structuring)
[[{'STATUSDITEMUKAN1': 'ditemukan', 'SATUAN1': 'dua',
'STATUSKELAINAN1': 'kritis', 'STATUSDITEMUKAN2': 'ditemukan', 'SATUAN2':
'empat', 'STATUSKELAINAN2': 'abnormal'}, {'SATUAN1': 'dua',
'STATUSKELAINAN': 'kritis', 'TINGKATAN1': 'menurun', 'KOMPONENDARAH1':
'haemoglobin serta hematokrit'}, {'SATUAN1': 'empat', 'STATUSKELAINAN':
'abnormal', 'SATUAN2': 'tiga', 'TINGKATAN1': 'meningkat',
'KOMPONENDARAH1': 'laju endap darah, MCH serta MCHC', 'SATUAN3': 'satu',
'TINGKATAN2': 'menurun', 'KOMPONENDARAH2': 'eritrosit'}],
[[{'KOMPONENDARAH': 'haemoglobin', 'tingkatan': '-', 'NILAIPOIN': '6.1', 'STB':
'terendah'}, {'KOMPONENDARAH': 'hematokrit', 'tingkatan': '-', 'NILAIPOIN': '23.6',
'STB': 'terendah'}], [{'KOMPONENDARAH': 'laju endap darah', 'tingkatan': '+',
'NILAIPOIN': '35', 'STB': 'tertinggi'}, {'KOMPONENDARAH': 'MCH', 'tingkatan': '+',
'NILAIPOIN': '2.5', 'STB': 'tertinggi'}, {'KOMPONENDARAH': 'MCHC', 'tingkatan':
'+', 'NILAIPOIN': '6.0', 'STB': 'tertinggi'}, {'KOMPONENDARAH': 'eritrosit',
'tingkatan': '-', 'NILAIPOIN': '2.51', 'STB': 'terendah'}]]]
3.6. Microplanning
Berdasarkan arsitektur umum pada Gambar 3.1 proses selanjutnya yang akan dilakukan
adalah microplanning. Microplanning memiliki tugas yang disebut dengan sentences
generation atau proses menghasilkan kalimat-kalimat yang akan disajikan ke dalam
representasi tekstual Berbahasa Indonesia berdasarkan data-data pesan yang diperoleh
dari output proses data structuring. Untuk menghasilkan kalimat yang dimaksudkan,
microplanning melibatkan sistem eksternal yang disebut T-GEN system. Penjelasan
secara rinci mengenai T-Gen system dan sentences generation akan dibahas pada bagian
berikut ini.
T-Gen system (Template Generation System) adalah proses eksternal yang dibangun
untuk mendukung tugas yang dilakukan microplanning. T-Gen system bertugas untuk
menghasilkan template kalimat yang dibutuhkan oleh microplanning. Untuk
menghasilkan template kalimat yang dibutuhkan, T-Gen system memilih dan
menganalisis pola kalimat yang terdapat di dua korpus berbeda. Dua korpus tersebut
terdiri dari korpus uraian hasil pemeriksaan hematologi dan korpus rincian nilai kritis
atau abnormal hasil pemeriksaan hematologi yang dibuat sendiri (korpus yang dibuat
telah sesuai dengan tata bahasa dan diverifikasi oleh pakar yaitu seorang dokter). Untuk
mengolah korpus uraian hasil pemeriksaan hematologi, T-Gen system melakukan
serangkaian proses yang terdiri dari empat tahap yaitu text segmentation, entity slotting,
deleting the same sentence template dan classification of sentences template. Sedangkan
untuk mengolah korpus rincian nilai kritis atau abnormal hasil pemeriksaan hematologi,
T-Gen system hanya melakukan serangkaian proses yang terdiri dari tiga tahap yaitu
text segmentation, entity slotting dan deleting the same sentence template.
3.6.1.1. Proses T-Gen system mengolah korpus uraian hasil pemeriksaan hematologi
Serangkaian proses yang terdapat di T-Gen system untuk mengolah korpus uraian hasil
pemeriksaan hematologi dapat dilihat pada Gambar 3.9.
Korpus uraian hasil pemeriksaan hematologi terdiri dari beberapa contoh teks
uraian hasil pemeriksaan hematologi yang disatukan ke dalam sebuah file txt. File
korpus tersebut dilakukan serangkaian proses yang terdapat pada Gambar 3.9 agar
menjadi template kalimat yang akan disimpan ke dalam database dan dapat digunakan
pada proses microplanning. Adapun proses yang terdapat pada Gambar 3.9 yaitu terdiri
dari a) text segmentation; b) entity slotting; c) deleting the same sentence template; d)
classification of sentences template.
a) Text Segmentation
Berdasarkan Gambar 3.9 proses pertama yang akan dilakukan untuk mengolah
korpus uraian hasil pemeriksaan hematologi adalah Text Segmentation. Text
Segmentation adalah proses pemisahan teks korpus menjadi kalimat-perkalimat
yang diidentifikasi berdasarkan karakter titik (“.”) yang terdapat diantara kalimat
satu dengan kalimat lainnya. Proses Text Segmentation pada penelitian ini
menggunakan metode Text Segmentation yang terdapat di Library Natural
Language Toolkit (NLTK). Tabel 3.3 berikut ini menunjukkan contoh korpus uraian
hasil pemeriksaan hematologi yang telah melalui proses Text Segmentation dari T-
Gen system.
Tabel 3.3. Hasil proses Text Segmentation dari T-Gen System mengolah korpus
uraian hasil pemeriksaan hematologi
b) Entity Slotting
Berdasarkan Gambar 3.9 proses selanjutnya yang akan dilakukan adalah entity
slotting. Entity slotting adalah proses menentukan dan memberikan tag slot (tag slot
adalah sebagai penanda bahwa kata atau data yang terdapat pada template kalimat
dapat diganti berdasarkan data pesan dari output Proses 3.5) pada entity atau kata–
kata tertentu yang terdapat pada setiap kalimat output proses text segmentation
berdasarkan data daftar entity slot yang diperoleh dari database of entity slot
(database of entity slot berisi kumpulan entity atau kata-kata yang akan dijadikan
slot berdasarkan jenis tag slot-nya yang dijadikan parameter pada penentuan slot
dalam kalimat korpus).
Gambar 3.10. Pseudocode Regex untuk menentukan dan memberikan tag slot
dalam kalimat berdasarkan daftar entity slot yang diberikan
Metode yang digunakan Regex dalam menentukan dan memberikan tag slot
yaitu dengan mencari entity kalimat (output proses text segmentation) yang cocok atau
match dengan pola entity dari data daftar entity slot. Jika ditemukan entity kalimat yang
match dengan pola entity yang diperoleh dari data daftar entity slot, maka akan
dilakukan pengantian entity kalimat yang match tersebut dengan jenis tag slot yang
telah ditentukan. Adapun output yang diperoleh dari proses ini adalah kalimat yang
sudah terdapat tag slot didalamnya atau disebut sebagai template kalimat. Proses entity
slotting secara jelas dapat dilihat pada flowchart Gambar 3.11.
TKU = []
Variabel data list TKU (Template Kalimat Uraian) digunakan untuk menyimpan
kalimat ST[i] yang telah dilakukan serangkaian proses entity slotting.
UST
Variabel data UST (Ukuran data Segmented Text) digunakan untuk menyimpan
nilai ukuran atau jumlah kalimat yang tersimpan dalam variabel ST.
3) Tahapan selanjutnya adalah dilakukan pemeriksaan apakah nilai i lebih kecil dari
nilai UST. Jika benar nilai i lebih kecil dari nilai UST, maka proses akan dilanjutkan
ke tahap empat. Namun, jika nilai i tidak lebih kecil dari nilai UST maka proses
Entity Slotting akan diakhiri dan diperoleh sekumpulan template kalimat yang
tersimpan ke dalam variabel data list TKU[].
4) Pada tahap ini, kalimat ST[i] pertama kali dilakukan proses Regex (Gambar 3.10)
untuk menemukan entity dalam kalimat ST[i] yang termasuk ke dalam jenis tag slot
“KOMPONENDARAH”. Adapun data daftar entity slot yang termasuk ke dalam
jenis tag slot “KOMPONENDARAH” adalah kata “haemoglobin”, “leukosit”,
“led”, “laju endap darah”, “trombosit”, “hematokrit”, “eritrosit”, “mcv”, “mch”,
“mchc”, “eosinofil”, “basofil”, “neotrofil”, “limfosit” dan “monosit”. Contoh
kalimat sebelum diproses tahap keempat ini dapat dilihat pada Contoh 26 dan
contoh kalimat setelah diproses tahap keempat ini dapat dilihat pada Contoh 27.
Proses pada tahap keempat ini belum selesai dilakukan, karena seperti yang
dilihat pada Contoh 26 entity komponen darah trombosit serta hematokrit masih
berganti dengan tag slot terpisah pada Contoh 27 (“KOMPONENDARAH serta
KOMPONENDARAH”). Oleh karena itu, dilakukan proses Regex (Gambar 3.10)
untuk menggabungkan tag slot komponen darah yang berjumlah lebih dari dua data
komponen darah yang terdapat dalam kalimat ST[i]. Proses penggabungan tag slot
komponen darah dilakukan dengan mengenali pola-pola entity yang terdapat di
kalimat. Jika terdapat pola entity “KOMPONENDARAH serta
KOMPONENDARAH” atau “KOMPONENDARAH, KOMPONENDARAH serta
KOMPONENDARAH” dalam kalimat ST[i], maka pola entity tersebut akan diganti
menjadi satu entity atau satu tag slot yaitu “KOMPONENDARAH”. Adapun
kalimat pada Contoh 27 yang telah melalui proses Regex penggabungan entity
komponen darah dapat dilihat pada Contoh 28.
5) Kalimat ST[i] yang telah melalui proses pada tahap keempat selanjutnya dilakukan
proses Regex (Gambar 3.10) untuk menemukan entity dalam kalimat ST[i] yang
termasuk ke dalam jenis tag slot “SATUAN”. Adapun data daftar entity slot yang
termasuk ke dalam jenis tag slot “SATUAN” adalah kata “satu”, “dua”, “tiga”,
“empat”, “lima”, “enam”, “tujuh”, “delapan”, “sembilan”, “sepuluh”, “sebelas”,
“dua belas” dan “tiga belas”. Kalimat yang terdapat pada Contoh 28 yang telah
diproses tahap kelima ini dapat dilihat pada Contoh 29.
dan SATUAN nilai abnormal menurun yang terdapat pada komponen darah
KOMPONENDARAH.”
6) Selanjutnya kalimat ST[i] yang telah melalui proses pada tahap kelima akan
dilakukan proses Regex (Gambar 3.10) untuk menemukan entity dalam kalimat
ST[i] yang termasuk ke dalam jenis tag slot “TINGKATAN”. Adapun data daftar
entity slot yang termasuk ke dalam jenis tag slot “TINGKATAN” adalah kata
“meningkat” dan “menurun”. Kalimat yang terdapat pada Contoh 29 yang telah
diproses tahap keenam ini dapat dilihat pada Contoh 30.
7) Pada tahap ini, selanjutnya kalimat ST[i] yang telah melalui proses tahap keenam
akan dilakukan proses Regex (Gambar 3.10) untuk menemukan entity dalam kalimat
ST[i] yang termasuk ke dalam jenis tag slot “STATUSKELAINAN”. Adapun data
daftar entity slot yang termasuk ke dalam jenis tag slot “STATUSKELAINAN”
adalah kata “abnormal” dan “kritis”. Kalimat yang terdapat pada Contoh 30 yang
telah diproses tahap ketujuh ini dapat dilihat pada Contoh 31.
8) Proses selanjutnya dilakukan pemeriksaan apakah pada kalimat ST[i] terdapat kata
“pemeriksaan hematologi” (pemeriksaan dilakukan menggunakan metode search()
Regex) yang menunjukkan kalimat yang sedang diproses adalah kalimat pembuka.
Jika benar kata tersebut terdapat didalam kalimat ST[i], maka kalimat ST[i] akan
diproses dengan Regex (Gambar 3.10) untuk menemukan entity dalam kalimat ST[i]
yang termasuk ke dalam jenis slot “STATUSDITEMUKAN”. Adapun data daftar
entity slot yang temasuk ke dalam jenis tag slot “STATUSDITEMUKAN” adalah
kata “ditemukan” dan “terdapat”. Namun, jika kata “pemeriksaan hematologi” tidak
terdapat di dalam kalimat ST[i] maka proses akan dilanjutkan pada tahap
kesembilan.
Contoh kalimat sebelum diproses tahap kedelapan ini dapat dilihat pada Contoh
32 (kalimat pada Contoh 32 telah melalui proses Regex tahap keempat hingga
ketujuh) dan contoh kalimat setelah diproses tahap kedelapan ini dapat dilihat pada
Contoh 33.
9) Pada tahap ini, dilakukan penghapusan kata penghubung antar kalimat seperti kata
“selain itu,” yang terdapat di dalam kalimat ST[i]. Proses penghapusan kata
penghubung antar kalimat ini dilakukan dengan menggunakan proses Regex
(Gambar 3.10). Proses Regex yang digunakan tidak akan mengganti kata
penghubung antar kalimat seperti kata “selain itu,” dengan jenis tag slot , melainkan
kata tersebut akan dihapus. Kalimat yang terdapat pada Contoh 31 yang telah
diproses tahap kesembilan ini dapat dilihat pada Contoh 34.
10) Pada tahap ini, dilakukan pemberian nomor pada setiap tag slot
(“KOMPONENDARAH”,“SATUAN”,“TINGKATAN”, “STATUSKELAINAN”,
dan “STATUSDITEMUKAN”) yang terdapat di kalimat ST[i]. Tujuan dilakukan
proses pemberian nomor pada setiap jenis tag slot ini adalah agar proses
microplanning dapat secara tepat menggantikan data tag slot di dalam template
kalimat dengan data pesan yang diperoleh dari output proses data structuring.
Selain itu, pemberian nomor pada setiap jenis tag slot ini juga bermanfaat dalam
proses penentuan jenis template kalimat. Adapun proses penomoran setiap jenis tag
slot yang terdapat di kalimat ST[i] dapat dilihat pada flowchart Gambar 3.12.
Gambar 3.12. Proses pemberian nomor pada setiap jenis tag slot di kalimat ST[i]
template kalimat yang telah ditentukan. Setelah sekumpulan data token dalam
variabel data TST telah dilakukan serangkaian proses, maka data token tersebut akan
digabungkan kembali menjadi sebuah kalimat menggunakan metode join() di
Python. Kemudian dilakukan pembaharuan kalimat ST[i] dengan kalimat hasil
penggabungan data token tersebut. Kalimat ST[i] yang telah diperbaharui ini dapat
juga disebut template kalimat. Kalimat yang terdapat pada Contoh 34 yang telah
diproses tahap kesepuluh ini dapat dilihat pada 35.
11) Tahap selanjutnya yang akan dilakukan adalah kalimat ST[i] dari output proses
tahap kesepuluh akan ditambahkan ke list variabel data TKU dan melakukan
penambahan nilai variabel i +=1 lalu proses akan dilanjutkan kembali ke tahap tiga
hingga seluruh kalimat yang terdapat di variabel list ST[] terproses.
Berdasarkan Gambar 3.9 proses selanjutnya yang akan dilakukan adalah deleting
the same sentence templates. Deleting the same sentence templates adalah proses
penghapusan template kalimat yang sama dari sekumpulan data template kalimat
output proses entity slotting yang tersimpan di dalam variabel data list TKU[]. Dari
proses ini akan diperoleh output berupa template kalimat yang tidak akan sama
antara satu template kalimat dengan template kalimat lainnya. Adapun proses
deleting the same sentence templates dapat dilihat pada flowchart Gambar 3.13.
Berdasarkan Gambar 3.9 proses terakhir dari serangkaian proses yang terdapat di T-
Gen system untuk mengolah korpus uraian hasil pemeriksaan hematologi adalah
3.6.1.2. Proses T-Gen system mengolah korpus rincian nilai kritis atau abnormal hasil
pemeriksaan hematologi
Serangkaian proses yang terdapat di T-Gen system korpus rincian nilai kritis atau
abnormal hasil pemeriksaan hematologi dapat dilihat pada Gambar 3.14.
Gambar 3.14. Proses yang terdapat di T-Gen System untuk mengolah korpus
rincian nilai kritis atau abnormal hasil pemeriksaan hematologi
Korpus rincian nilai kritis atau abnormal hasil pemeriksaan hematologi terdiri
dari beberapa contoh kalimat rincian nilai kritis atau abnormal hasil pemeriksaan
hematologi yang disatukan ke dalam sebuah file txt. File korpus tersebut dilakukan
serangkaian proses yang terdapat pada Gambar 3.14 agar menjadi template kalimat
yang akan disimpan ke dalam database dan dapat digunakan pada proses
microplanning. Adapun proses yang terdapat pada Gambar 3.14 yaitu terdiri dari a) text
segmentation; b) entity slotting; c) deleting the same sentence template.
a) Text Segmentation
Berdasarkan Gambar 3.14 proses pertama yang akan dilakukan untuk mengolah
korpus rincian nilai kritis atau abnormal hasil pemeriksaan hematologi adalah text
segmentation. Proses text segmentation yang dilakukan pada bagian ini akan mirip
dengan proses text segmentation Bagian 3.6.1.1. Namun untuk proses pemisahan
teks korpus menjadi kalimat-perkalimat, proses text segmentation ini diidentifikasi
berdasarkan karakter baris baru (“\n”) yang terdapat diantara kalimat satu dengan
kalimat lainnya. Proses Text Segmentation pada penelitian ini menggunakan metode
split(\n) yang terdapat di Pyhton. Tabel 3.4 berikut ini menunjukkan contoh korpus
rincian nilai kritis atau abnormal hasil pemeriksaan hematologi yang telah melalui
proses Text Segmentation dari T-Gen system.
Tabel 3.4. Hasil proses Text Segmentation dari T-Gen System mengolah korpus
rincian nilai kritis atau abnormal hasil pemeriksaan hematologi
b) Entity Slotting
Berdasarkan Gambar 3.14 proses selanjutnya yang akan dilakukan adalah entity
slotting. Proses entity slotting yang dilakukan pada bagian ini akan mirip dengan
proses entity slotting Bagian 3.6.1.1. Perbedaan proses entity slotting bagian ini
dengan proses entity slotting Bagian 3.6.1.1 adalah terletak pada bagian data entity
dan jenis tag slot yang terdapat di daftar entity slot. Adapun output yang diperoleh
dari proses ini adalah kalimat yang sudah terdapat tag slot di dalamnya atau dapat
juga disebut sebagai template kalimat. Proses entity slotting bagian ini secara jelas
dapat dilihat pada flowchart Gambar 3.15.
Gambar 3.15. Proses Entity Slotting kalimat korpus rincian nilai kritis atau
abnormal hasil pemeriksaan hematologi
Adapun penjelasan flowchart dari proses entity slotting yang disajikan dalam
Gambar 3.15 adalah sebagai berikut.
1) Proses entity slotting diawali dengan menyiapkan data input yaitu output hasil
proses text segmentation yang telah dijelaskan pada Bagian 3.6.1.2 A (output
proses text segmentation diinisialkan tersimpan ke dalam variable data list ST).
5) Selanjutnya kalimat ST[i] yang telah melalui proses pada tahap keempat akan
dilakukan proses Regex (Gambar 3.10) untuk menemukan entity dalam kalimat
ST[i] yang termasuk ke dalam jenis tag slot tingkatan. Adapun data daftar entity
slot yang temasuk ke dalam jenis tag slot tingkatan dibagi menjadi dua jenis
yaitu kata “peningkatan” dan “penurunan” termasuk ke jenis tag slot TKB
(Tingkatan Kata Benda) dan untuk kata “meningkat” dan “menurun” termasuk
ke jenis tag slot TKK (Tingkatan Kata Kerja). Kalimat yang terdapat pada
Contoh 41 yang telah diproses tahap kelima ini dapat dilihat pada Contoh 42.
6) Pada tahap ini, selanjutnya kalimat ST[i] yang telah melalui proses tahap kelima
akan dilakukan proses Regex (Gambar 3.10) untuk menemukan entity dalam
kalimat ST[i] yang termasuk ke dalam jenis tag slot “NILAIPOIN”. Adapun
data entity yang termasuk ke dalam jenis tag slot “NILAIPOIN” adalah data
angka integer atau float. Kalimat yang terdapat pada Contoh 42 yang telah
diproses tahap keenam ini dapat dilihat pada Contoh 43.
7) Pada tahap ini, selanjutnya kalimat ST[i] yang telah melalui proses tahap
keenam akan dilakukan proses Regex (Gambar 3.10) untuk menemukan entity
dalam kalimat ST[i] yang termasuk ke dalam jenis tag slot “STATUSBATAS”.
Adapun data daftar entity slot yang termasuk ke dalam jenis tag slot
“STATUSBATAS” adalah kata “terendah” dan “tertinggi”. Kalimat yang
terdapat pada Contoh 43 yang telah diproses tahap ketujuh ini dapat dilihat pada
Contoh 44.
8) Tahap selanjutnya yang akan dilakukan adalah kalimat ST[i] dari output proses
tahap ketujuh akan ditambahkan ke list variabel data TKR dan dilakukan lakukan
penambahan nilai variabel i +=1 , lalu proses akan dilanjutkan kembali ke tahap
tiga hingga seluruh kalimat yang terdapat di variabel list ST[] terproses.
Berdasarkan Gambar 3.14 proses terakhir yang akan dilakukan adalah deleting the
same sentence templates. Proses deleting the same sentence templates yang
dilakukan pada bagian ini akan sama dengan proses deleting the same sentence
templates Bagian 3.6.1.1 yaitu proses penghapusan template kalimat yang sama dari
sekumpulan template kalimat dari output proses entity slotting yang tersimpan di
variabel data list TKR[]. Adapun output yang diperoleh dari proses ini adalah
template kalimat yang tidak akan sama antara satu template kalimat dengan template
kalimat lainnya dan template kalimat hasil output proses ini akan disimpan ke dalam
database sebagai template kalimat rincian.
Template kalimat yang dihasilkan dan disimpan oleh T-Gen system ke dalam database
akan digunakan oleh proses microplanning untuk melakukan tugas sentences
generation atau proses menghasilkan kalimat-kalimat yang akan disajikan ke dalam
teks ringkasan berdasarkan sekumpulan struktur data pesan yang diperoleh dari output
proses data structuring. Struktur data pesan dari output proses data structuring yang
tersimpan di dalam variabel data list ODS terdiri dari dua bagian yaitu struktur data
pesan teks uraian hasil pemeriksaan hematologi yang terdapat di variabel ODS index
ke-0 (ODS[0]) dan struktur data pesan teks rincian nilai kritis atau abnormal hasil
pemeriksaan hematologi yang terdapat di variabel ODS index ke-1 (ODS[1]). Karena
struktur data pesan yang terdapat di dalam variabel data list ODS terdiri dari dua bagian,
maka proses sentences generation ini terdiri dari dua proses yaitu proses penentuan teks
uraian dan proses penentuan teks rincian. Dari kedua proses tersebut akan diperoleh
output berupa teks ringkasan yang merupakan penggabungan output proses penentuan
teks uraian dan proses penentuan teks rincian. Adapun proses sentences generation
dapat dilihat pada flowchart Gambar 3.16.
2. Struktur data pesan kedua adalah jika dari hasil pemeriksaan hematologi pasien
ditemukan komponen darah yang termasuk ke dalam salah satu nilai yaitu nilai kritis
atau nilai abnormal, maka struktur data pesan variabel data list ODS[0] akan
terdapat dua struktur data pesan. Dua struktur data pesan tersebut terdiri dari struktur
data pesan kalimat pembuka dan struktur data pesan kalimat uraian. Struktur data
pesan kalimat pembuka berfungsi untuk menjelaskan bahwa dari hasil pemeriksaan
hematologi pasien ditemukan nilai kritis atau nilai abnormal. Selain itu, struktur data
pesan kalimat uraian berfungsi untuk menjelaskan komponen-komponen darah
mana yang termasuk ke dalam nilai kritis atau abnormal.
3. Struktur data pesan ketiga adalah jika dari hasil pemeriksaan hematologi pasien
ditemukan komponen darah yang termasuk nilai kritis dan nilai abnormal, maka
struktur data pesan variabel data list ODS[0] akan terdapat tiga struktur data pesan.
Tiga struktur data pesan tersebut terdiri dari satu struktur data pesan kalimat
pembuka dan dua struktur data pesan kalimat uraian. Struktur data pesan kalimat
pembuka berfungsi untuk menjelaskan bahwa dari hasil pemeriksaan hematologi
pasien ditemukan nilai kritis dan nilai abnormal. Selain itu, dua struktur data pesan
kalimat uraian jenis ketiga ini terdiri dari struktur kalimat uraian yang berfungsi
untuk menjelaskan komponen-komponen darah mana yang termasuk ke dalam nilai
kritis dan struktur kalimat uraian yang berfungsi untuk menjelaskan komponen-
komponen darah mana yang termasuk ke dalam nilai abnormal.
Adapun proses penentuan teks uraian ini dapat dilihat pada serangkaian proses
dalam flowchart Gambar 3.17 untuk diperoleh kalimat-kalimat yang akan disajikan ke
dalam teks uraian.
(Entity tagging). Gambar 3.18 berikut ini menunjukkan cara penggunaan Regex untuk
melakukan penggantian data tag slot yang terdapat di template kalimat dengan data nilai
atau values dari struktur data pesan yang terdapat pada variabel data list ODS[i].
Gambar 3.18. Pseudocode Regex untuk mengganti data tag slot di template
kalimat dengan data values dari struktur data pesan variabel data list ODS[i]
Setelah struktur data pesan yang terdapat di dalam variabel data list ODS[i]
diproses hingga menjadi kalimat akhir yang tersimpan sementara ke dalam variabel data
list KU[], selanjutnya dilakukan proses terakhir yaitu penggabungan atau penyusunan
kalimat-kalimat yang terdapat di dalam variabel data list KU[] menjadi sebuah teks
uraian akhir. Adapun struktur data pesan yang terdapat di variabel data list ODS[0] pada
Contoh 25 yang telah melalui serangkaian proses penentuan teks uraian hingga
diperoleh output teks uraian akhir dapat dilihat pada Contoh 45.
Contoh 45. Variabel data list ODS[0] pada Contoh 25 yang telah melalui
serangkaian proses penentuan teks uraian
“Berdasarkan hasil pemeriksaan hematologi pasien di atas, ditemukan dua nilai kritis
dan juga ditemukan empat nilai abnormal. Dua nilai kritis tersebut menunjukkan nilai
kritis menurun yang ditemukan pada komponen darah haemoglobin serta hematokrit.
Selain itu, dari empat nilai abnormal tersebut terdapat tiga nilai abnormal meningkat
pada komponen darah laju endap darah, MCH serta MCHC dan satu nilai abnormal
menurun pada komponen darah eritrosit.”
Proses penentuan teks rincian ini akan mirip dengan proses penentuan teks uraian
yang telah dijabarkan pada Bagian 3.6.2.1 untuk mengubah struktur data pesan yang
terdapat di variabel data list ODS menjadi kalimat-kalimat yang akan disajikan ke dalam
teks rincian. Perbedaan dari proses penentuan teks rincian dengan proses penentuan teks
uraian Bagian 3.6.2.1 terdapat pada struktur data pesan yang digunakan sebagai input
dan proses pengabungan atau penyusunan kalimat-kalimat akhir. Input yang digunakan
pada proses ini adalah struktur data pesan yang terdapat di variabel data list index ke-1
(ODS[1]) yang merupakan struktur data pesan uraian nilai kritis dan nilai abnormal
untuk menjelaskan berapa poin nilai suatu komponen darah hasil pemeriksaan
hematologi pasien yang meningkat atau menurun dari suatu batas normal. Dan pada
proses pengabungan atau penyusunan kalimat-kalimat akhir yang terdapat pada proses
ini adalah dilakukan pemberian nomor pada setiap kalimat-kalimat akhir yang akan
disajikan pada teks rincian agar menjadi teratur dan mudah dibaca. Adapun output
proses ini adalah teks rincian hasil proses pengubahan struktur data pesan yang terdapat
di variabel data list ODS index ke-1 (ODS[1]) menjadi kalimat-kalimat akhir. Struktur
data pesan yang terdapat di variabel data list ODS[1] pada Contoh 25 yang telah melalui
proses penentuan teks rincian dapat dilihat pada Contoh 46.
Contoh 46. Variabel data list ODS[1] pada Contoh 25 yang telah melalui proses
penentuan teks rincian
“Secara rinci penjelasan di atas dapat dijabarkan sebagai berikut:
A. Nilai kritis
1. Haemoglobin menunjukkan penurunan 6.1 poin dari batas normal terendah.
2. Hematokrit menurun 23.6 poin dari batas normal terendah.
B. Nilai abnormal
1. Laju endap darah terdeteksi meningkat 35 poin dari batas normal tertinggi.
2. MCH ditemukan meningkat 2.5 poin dari batas normal tertinggi.
3. MCHC terdeteksi meningkat 6.0 poin dari batas normal tertinggi.
4. Eritrosit menunjukkan penurunan 2.51 poin dari batas normal terendah.”
disabled karena frame sudah diatur ukurannya dan terakhir tombol close yang akan
menutup aplikasi tersebut.
b. Bagian ini merupakan menu yang terdiri dari menu beranda untuk membuka
tampilan beranda dan menu histori untuk membuka tampilan histori.
c. Pada bagian ini terdapat textfield yang merupakan tempat hasil url location file
dokumen word hasil pemeriksaan hematologi, tombol browse yang akan
menampilkan kotak dialog untuk memilih file dokumen word hasil pemeriksaan
hematologi yang akan diuraikan ke teks ringkasan dan tombol process yang akan
memproses dokumen word hasil pemeriksaan hematologi yang telah dipilih
sebelumnya. Setelah diproses maka hasilnya akan ditampilkan pada bagian-bagian
textfield data diri pasien, data nilai komponen darah hasil pemeriksaan hematologi
pasien, status data nilai komponen darah hasil pemeriksaan hematologi pasien dan
teks ringkasan hasil uraian data hasil pemeriksaan hematologi pasien.
d. Bagian ini akan menampilkan hasil dari proses data extraction (data diri pasien dan
data nilai komponen darah hasil pemeriksaan hematologi pasien) dan Data
Processing (status data nilai komponen darah hasil pemeriksaan hematologi pasien)
ke dalam bagian-bagian textfield yang telah disediakan.
e. Pada bagian ini terdapat textfield yang merupakan tempat teks ringkasan hasil uraian
data hasil pemeriksaan hematologi pasien dan terdapat dua tombol yang terdiri dari
tombol lihat dalam PDF dan tombol reset. Tombol lihat dalam PDF merupakan
tombol yang akan menampilkan data diri pasien, data nilai komponen darah hasil
pemeriksaan hematologi pasien dan teks ringkasan ke dalam sebuah file berbentuk
PDF. Sedangkan itu, tombol reset merupakan tombol yang akan mengosongkan
semua data-data yang terdapat di textfield data url location file yang dipilih, data
diri pasien, data nilai komponen darah hasil pemeriksaan hematologi pasien, status
data nilai komponen darah hasil pemeriksaan hematologi pasien dan teks ringkasan
hasil uraian data hasil pemeriksaan hematologi pasien.
b. Bagian ini merupakan menu yang terdiri dari menu beranda untuk membuka
tampilan beranda dan menu histori untuk membuka tampilan histori.
c. Pada bagian ini terdapat beberapa bagian textfield yang akan terisi sesuai dengan
data record histori pada tabel Bagian d yang di-klik atau dipilih oleh pengguna.
Textfield tersebut terdiri dari data id, tanggal atau jam teks ringkasan dihasilkan,
nama pasien, umur pasien, jenis kelamin pasien, tanggal pemeriksaan hematologi
yang dilakukan pasien, teks ringkasan yang merupakan uraian data hasil
pemeriksaan hematologi pasien dan terdapat dua tombol yaitu tombol lihat dalam
PDF dan tombol reset. Tombol lihat dalam PDF merupakan tombol yang akan
menampilkan data diri pasien, data nilai komponen darah hasil pemeriksaan
hematologi pasien dan teks ringkasan ke dalam sebuah file berbentuk PDF.
Sedangkan itu, tombol reset merupakan tombol yang akan mengosongkan semua
data-data yang terdapat di textfield data id, tanggal atau jam teks ringkasan di
hasilkan, nama pasien, umur pasien, jenis kelamin pasien, tanggal pemeriksaan
hematologi yang dilakukan pasien dan teks ringkasan yang merupakan uraian data
hasil pemeriksaan hematologi pasien.
d. Pada bagian ini terdapat sebuah tabel yang akan menampilkan data record histori
penggunaan aplikasi yang dilakukan oleh pengguna untuk memperoleh teks
ringkasan berdasarkan data hasil pemeriksaan hematologi pasien. Data-data yang
terdapat di dalam tabel terdiri dari data id, tanggal dan jam teks ringkasan di
hasilkan, nama pasien, umur pasien, jenis kelamin pasien, tanggal pemeriksaan
hematologi yang dilakukan pasien dan teks ringkasan yang merupakan uraian data
hasil pemeriksaan hematologi pasien. Data record histori yang terdapat di setiap
baris tabel ini juga bisa di-klik sehingga akan menampilkan rincian datanya ke
dalam textfield yang telah dijelaskan pada Bagian c.
Spesifikasi perangkat keras yang digunakan pada penelitian ini adalah sebagai berikut:
1. Processor AMD A8-4555M APU with Radeon(tm) HD Graphics 1.60 GHz.
2. Kapasitas hard disk 500GB.
3. Memori RAM yang digunakan 6 GB.
Spesifikasi perangkat lunak yang digunakan pada penelitian ini adalah sebagai berikut:
1. Sistem operasi yang digunakan Windows 8.1 Pro 64-bit.
2. JetBrains PyCharm Community Edition 2017.1.3.
3. Library yang digunakan adalah Natural Language Toolkit (NLTK) 3.2.4,
Regular Expressions (RE) 2.2.1 dan ReportLab 3.4.14.
Data yang diimplementasikan pada penelitian ini terdiri dari dua bagian yaitu
implementasi data sistem teks ringkasan dan implementasi data T-Gen system.
Data yang digunakan untuk menguji sistem teks ringkasan seperti yang telah dijelaskan
pada Bagian 3.2 adalah hasil pemeriksaan hematologi pasien yang diperoleh dari
Rumah Sakit Bhayangkara TK. II Medan dalam bentuk dokumen word. Jumlah data
yang digunakan untuk pengujian sistem teks ringkasan ini adalah sebanyak 15 dokumen
word hasil pemeriksaan hematologi (15 dokumen word hasil pemeriksaan hematologi
pasien dapat dilihat pada Lampiran 1).
Data yang digunakan sebagai input T-Gen system seperti yang telah dijelaskan pada
Bagian 3.6.1 adalah korpus uraian hasil pemeriksaan hematologi dan korpus rincian
nilai kritis atau abnormal hasil pemeriksaan hematologi. Di dalam korpus uraian hasil
pemeriksaan hematologi terdapat 20 contoh teks uraian yang terdiri dari 10 contoh teks
uraian yang memiliki 3 kalimat di setiap paragrafnya dan 10 contoh teks uraian yang
memiliki 2 kalimat di setiap paragrafnya. Jumlah kalimat di dalam korpus uraian hasil
pemeriksaan hematologi yang akan di analisis adalah 10 contoh x 3 kalimat + 10 contoh
x 2 kalimat = 50 kalimat. Selain itu, di dalam korpus rincian nilai kritis atau abnormal
hasil pemeriksaan hematologi terdapat 20 contoh kalimat rincian yang akan dianalisis.
Korpus uraian hasil pemeriksaan hematologi dapat dilihat pada Lampiran 2 dan korpus
rincian nilai kritis atau abnormal hasil pemeriksaan hematologi dapat dilihat pada
Lampiran 3.
Setelah korpus uraian hasil pemeriksaan hematologi dan korpus rincian nilai
kritis atau abnormal hasil pemeriksaan hematologi dianalisis oleh serangkaian proses
T-Gen system maka diperoleh sekumpulan template kalimat. Jumlah template kalimat
yang diperoleh dari hasil analisis T-Gen system tersebut terdiri dari 10 template kalimat
pembuka ganda, 10 template kalimat pembuka tunggal, 4 template kalimat uraian
ganda, 7 template kalimat uraian tunggal , dan 5 template kalimat rincian. Template
kalimat hasil dari analisis T-Gen system tersebut dapat dilihat pada Lampiran 4.
Tampilan awal aplikasi adalah halaman loading seperti yang terdapat pada Gambar 4.1,
setelah halaman loading maka akan tampil halaman utama sistem yaitu halaman
beranda. Tampilan halaman beranda yang ditunjukkan pada Gambar 4.2 terdiri dari
beberapa bagian seperti yang telah dijelaskan pada Bagian 3.8.2.2. Untuk memulai
memproses data hasil pemeriksaan hematologi pasien ke dalam teks ringkasan, maka
dilakukan pemilihan input file dokumen word hasil pemeriksaan hematologi pasien
dengan menekan button browse pada tampilan halaman beranda. Setelah menekan
button tersebut, maka akan menampilkan kotak dialog dan pengguna dapat memilih file
dokumen word hasil pemeriksaan hematologi pasien. Tampilan kotak dialog ketika
button browse ditekan dapat dilihat pada Gambar 4.4.
Selain itu, untuk melihat hasil pemeriksaan hematologi pasien yang sebelumnya
telah diproses ke sistem teks ringkasan dapat dilihat pada tampilan halaman histori
dengan menekan menu histori yang terdapat di menu bar bagian atas tampilan halaman
beranda. Setelah menekan menu histori tersebut, pengguna akan melihat beberapa
bagian textfield dan tabel seperti yang telah dijelaskan pada Bagian 3.8.2.3. Untuk
melihat data histori hasil pemeriksaan hematologi pasien yang sebelumnya telah
diproses pada sistem teks ringkasan, pengguna dapat menekan bagian baris yang
terdapat di dalam tabel dan kemudian data-data pasien akan muncul ke textfield yang
terdapat di tampilan halaman histori. Tampilan data histori hasil pemeriksaan
hematologi pasien yang sebelumnya telah diproses pada sistem teks ringkasan dapat
dilihat pada Gambar 4.7.
Gambar 4.7. Tampilan data histori hasil pemeriksaan hematologi pasien yang
telah dipilih
Pada bagian tampilan halaman histori ini, pengguna dapat melihat kembali hasil
pemeriksaan hematologi pasien dan teks ringkasan dalam berbentuk laporan dengan
menekan button lihat lebih detail dalam bentuk PDF yang terdapat di tampilan halaman
histori tepatnya di bawah textfield teks ringkasan dan laporan akan muncul berbentuk
PDF seperti Gambar 4.6.
Pada tahap ini akan dilakukan pengujian terhadap data dan sistem. Pengujian data
dilakukan pada 15 dokumen word hasil pemeriksaan hematologi. Dari 15 dokumen
word tersebut yang diujikan ke sistem, maka diperoleh 15 teks ringkasan.
Pengujian sistem dilakukan dengan mengevaluasi tingkat naturalness dari
kalimat-kalimat yang terdapat di dalam teks ringkasan yang dihasilkan sistem melalui
penilaian yang dilakukan oleh dokter muda/koas sebagai pengguna utama teks
ringkasan yang dihasilkan sistem dan penilaian yang dilakukan oleh dokter umum
sebagai pengukur tingkat ketepatan teks ringkasan yang dihasilkan sistem. Para dokter
diminta mengisi dan memberikan penilaian yang diformatkan ke dalam kuesioner
terstruktur seperti yang ditunjukkan pada Lampiran 5. Kuesioner tersebut terdiri dari
tiga aspek yang harus dinilai dengan bobot tertentu dari skala 0 sampai 5, dimana tiga
aspek yang harus dinilai adalah readability (understandable), clarity dan general
appropriateness (Belz & Reiter, 2006).
1. Readability
Readability merupakan aspek yang menunjukan tingkat pemahaman dan
kemudahan pembaca dalam membaca kalimat-kalimat yang terdapat di dalam
teks ringkasan. Adapun terdapat lima skala penilaian yang digunakan aspek
readability pada penelitian ini yaitu:
Skala 1 : menyatakan teks ringkasan sangat sulit dipahami.
Skala 2 : menyatakan teks ringkasan sulit dipahami.
Skala 3 : menyatakan teks ringkasan cukup dapat dipahami.
Skala 4 : menyatakan teks ringkasan mudah dipahami.
Skala 5 : menyatakan teks ringkasan sangat mudah dipahami.
2. Clarity
Clarity merupakan aspek yang menunjukan tingkat kejelasan penyampaian
informasi ke dalam kalimat-kalimat yang terdapat di teks ringkasan. Adapun
terdapat lima skala penilaian yang digunakan aspek clarity pada penelitian ini
yaitu:
Skala 1 : menyatakan teks ringkasan sangat tidak jelas.
Skala 2 : menyatakan teks ringkasan tidak jelas.
Skala 3 : menyatakan teks ringkasan cukup jelas.
Skala 4 : menyatakan teks ringkasan jelas.
Skala 5 : menyatakan teks ringkasan sangat jelas.
3. General Appropriateness
General appropriateness merupakan aspek yang bertujuan untuk
mengidentifikasi apakah kalimat-kalimat yang terdapat di dalam teks ringkasan
hasil dari output sistem dapat meningkatkan pengetahuan pembaca mengenai
informasi hasil pemeriksaan hematologi pasien. Adapun terdapat lima skala
penilaian yang digunakan aspek general appropriateness pada penelitian ini
yaitu:
Skala 1 : menyatakan teks ringkasan sangat tidak tepat.
Selain itu, penelitian ini mengevaluasi tingkat naturalness dari teks ringkasan
yang dihasilkan sistem berdasarkan penilaian 8 dokter umum sebagai pengukur tingkat
ketepatan teks ringkasan yang dihasilkan sistem. Adapun hasil penilaian 8 dokter umum
yang terdapat pada Gambar 4.9 dapat dianalisis sebagai berikut:
1. Hasil dari penilaian dokter umum berdasarkan aspek readability menunjukkan
bahwa 12.5 % dokter umum menyatakan teks ringkasan yang dihasilkan sistem
sangat mudah dipahami, 42.5 % dokter umum menyatakan teks ringkasan yang
dihasilkan sistem mudah dipahami, 40.0 % dokter umum menyatakan teks
ringkasan cukup dapat dipahami dan hanya 5.0 % dokter umum menyatakan
teks ringkasan sulit dipahami. Berdasarkan Persamaan 4.1, penelitian ini
menyimpulkan bahwa 95.0 % dokter umum dengan mudah memahami kalimat-
kalimat yang terdapat dalam teks ringkasan yang dihasilkan oleh sistem.
5.1 Kesimpulan
Berdasarkan penerapan metode dari arsitekstur umum yang dirancang untuk membuat
sistem yang dapat menghasilkan teks ringkasan berdasarkan data hasil pemeriksaan
hematologi pasien, didapatkan beberapa kesimpulan yaitu:
aspek clarity 97 % dokter muda/koas menilai teks ringkasan yang dihasilkan sistem
sudah jelas menyampaikan informasi hasil pemeriksaan hematologi pasien ke dalam
kalimat-kalimat yang terdapat di teks ringkasan, sedangkan dokter umum
menunjukan persentase sebesar 96.6 %; sedangkan itu, berdasarkan aspek general
appropriateness 98.9 % dokter muda/koas menilai teks ringkasan yang dihasilkan
sistem sudah tepat dalam membantu dokter untuk memperoleh informasi hasil
pemeriksaan hematologi pasien, sedangkan dokter umum menunjukan persentase
sebesar 87.5 % terhadap aspek ini.
5.2. Saran
Adapun saran yang dapat penulis berikan untuk pengembangan selanjutnya adalah
sebagai berikut:
Archarya, S., Eugenio, B.D., Boyd, A.D., Lopez, K.D, Cameron, R. & Keenan,
G.M. 2016. Generating summaries of hospitalizations: A new metric to
assess the complexity of medical terms and their definitions.
Proceedings of The 9th International Natural Language Generation
conference, pages 26–30.
Barger, A. M. 2003. The complete blood cell count: A powerful diagnostic tool.
The Veterinary clinics of North America 33:1207-1222.
Belz, A & Reither, E. 2006. Comparing automatic and human evaluation of nlg
systems. In EACL.
Bird, S., Klein, E. & Loper, E. 2009. Natural Language Processing with Python.
O'Reilly Media : Gravenstein Highway North, Sebastopol.
Eugenio, B.D., Boyd, A.D., Lugaresi, C., Balasubramanian, A., Keenan, G.M.,
Burton, M., Macieira, T.G.R., Lopez, K.D., Friedman, C., Li, J. &
Lussier, Y.A. 2014. PatientNarr: Towards generating patient-centric
summaries of hospital stays. Proceedings of the 8th International Natural
Language Generation Conference, pages 6-10.
Gatt, A. & Krahmer, E. 2017. Survey of the State of the Art in Natural Language
Generation: Core tasks, applications and evaluation.
https://arxiv.org/pdf/1703.09902.pdf . (diakses 20 april 2017)
Gatt, A., Portet, F, Reiter, E., Hunter, J., Mahamood, S., Moncur, W. & Sripada,
S. 2009. From Data to Text in the Neonatal Intensive Care Unit: Using
NLG Technology for Decision Support and Information Management.
AI Communications 22(3): 153-186.
Gkatzia, D., Rieser, V. & Lemon, O. 2016. How to Talk to Strangers: Generating
Medical Reports for First-Time Users. In Proceedings of the IEEE
International Conference on Fuzzy Systems (FUZZ) and the IEEE
World Congress on Computational Intelligence (IEEE WCCI), pages
579-586.
Herawati, F., & Andrajati, R. 2011. Pedoman Interpretasi Data klinik. Jakarta:
Kementrian Kesehatan Republik Indonesia.
Kondadadi, R., Howald, B., & Schilder, F. 2013. A Statistical NLG Framework
for Aggregated Planning and Realization. Proceedings of the 51st
Annual Meeting of the Association for Computational Linguistics, pages
1406–1415.
Lundberg, G.D. 1972. When to panic over abnormal values. Medical Laboratory
Observer; 4(2): 47-51.
Mcfarlane, A., Aslan, B., Raby, A., Bourner, G., & Padmore, R. 2014. Critical
values in Hematology. International journal of laboratory hematology.
37. 10.1111/ijlh.12226.
Reiter, E., & Dale, R. 2000. Building Natural Language Generation System.
Cambridge University Press : Cambridge.
Schneider, A., Vaudry, P., Mort, A., Mellish, C., Reiter, E., and Wilson, P. 2013.
MIME - NLG in Pre-hospital Care. In Proceedings of 14th European
Natural Language Generation Workshop (ENLG), pages 152–156.
Soto, R.A., Bugrarin, A., & Barro, S. 2016. On the role of linguistic descriptions
of data in the building of natural language generation systems. Fuzzy
Sets and Systems, 285:31 – 51.
Vijayarani, S., & Janani, R. 2016. Text Mining: Open Source Tokenization
Tools – Analysis. Advanced Computational Intelligence: An
International Journal (ACII) 3(1): 37-47.
Welch, B.B. 1999. Practical Programming in Tcl and Tk, 3rd Ed. Prentice-
Hall,Inc : Upper Saddle River, NJ.
Lampiran 1
Lampiran 2
1. Berdasarkan hasil pemeriksaan hematologi pasien, ditemukan satu nilai kritis dan
juga ditemukan tiga nilai abnormal. Satu nilai kritis tersebut menunjukkan nilai
kritis menurun yang ditemukan pada komponen darah haemoglobin. Selain itu, dari
tiga nilai abnormal tersebut menunjukkan dua nilai abnormal menurun yang
terdapat pada komponen darah trombosit serta hematokrit dan satu nilai abnormal
meningkat yang terdapat pada komponen darah leukosit.
2. Pada tabel hasil pemeriksaan hematologi pasien di atas, ditemukan dua nilai kritis
dan juga ditemukan dua nilai abnormal. Dua nilai kritis tersebut menunjukkan satu
nilai kritis menurun pada komponen darah haemoglobin dan satu nilai kritis
meningkat pada komponen darah leukosit. Selain itu, dua nilai abnormal tersebut
menunjukkan nilai abnormal menurun yang terdapat pada komponen darah MCH
serta MCHC.
3. Dari tabel hasil pemeriksaan hematologi pasien di atas, terdapat satu nilai kritis dan
juga terdapat satu nilai abnormal. Satu nilai kritis tersebut menunjukkan nilai kritis
menurun pada komponen darah haemoglobin. Selain itu, dari satu nilai abnormal
yang ditemukan merupakan nilai abnormal menurun yang terdapat pada komponen
darah MCH.
4. Berdasarkan hasil pemeriksaan hematologi pasien yang disajikan pada tabel di atas,
ditemukan satu nilai kritis dan juga ditemukan satu nilai abnormal. Satu nilai kritis
tersebut menunjukkan nilai kritis menurun pada komponen darah haemoglobin.
Selain itu, satu nilai abnormal yang ditemukan menunjukkan nilai abnormal
menurun yang ditemukan pada komponen darah MCH.
5. Berdasarkan tabel hasil pemeriksaan hematologi pasien di atas, terdapat satu nilai
kritis dan juga terdapat dua nilai abnormal. Satu nilai kritis tersebut menunjukkan
nilai kritis menurun yang ditemukan pada komponen darah haemoglobin. Selain itu,
dari dua nilai abnormal tersebut menunjukkan satu nilai abnormal meningkat yang
terdapat pada komponen darah leukosit dan satu nilai abnormal menurun yang
terdapat pada komponen darah trombosit.
6. Dari hasil pemeriksaan hematologi pasien yang disajikan pada tabel di atas,
ditemukan satu nilai kritis dan juga ditemukan dua nilai abnormal. Satu nilai kritis
tersebut menunjukkan nilai kritis menurun yang terdapat pada komponen darah
haemoglobin. Selain itu, dua nilai abnormal tersebut menunjukkan nilai abnormal
menurun pada komponen darah hematokrit serta trombosit.
7. Bersumber pada tabel hasil pemeriksaan hematologi pasien di atas, ditemukan satu
nilai kritis dan juga ditemukan satu nilai abnormal. Satu nilai kritis tersebut
menunjukkan nilai kritis meningkat pada komponen darah leukosit. Selain itu, satu
nilai abnormal yang ditemukan merupakan nilai abnormal meningkat pada
komponen darah limfosit.
8. Bersumber pada hasil pemeriksaan hematologi pasien yang disajikan dalam tabel di
atas, terdapat satu nilai kritis dan juga terdapat dua nilai abnormal. Satu nilai kritis
yang ditemukan merupakan nilai kritis menurun yang terdapat pada komponen
darah haemoglobin. Selain itu, dua nilai abnormal tersebut menunjukkan nilai
abnormal menurun pada komponen darah hematokrit serta MCH.
9. Berdasarkan hasil pemeriksaan hematologi pasien yang disajikan pada tabel di atas,
ditemukan dua nilai kritis dan juga ditemukan dua nilai abnormal. Dua nilai kritis
tersebut menunjukkan satu nilai kritis menurun pada komponen darah haemoglobin
dan satu nilai kritis meningkat pada komponen darah leukosit. Selain itu, dua nilai
abnormal tersebut menunjukkan nilai abnormal menurun yang terdapat pada
komponen darah hematokrit serta MCH.
10. Dari hasil pemeriksaan hematologi pasien, ditemukan satu nilai kritis dan juga
terdapat satu nilai abnormal. Satu nilai kritis tersebut menunjukkan nilai kritis
menurun pada komponen darah haemoglobin. Selain itu, satu nilai abnormal yang
ditemukan merupakan nilai abnormal menurun pada komponen darah trombosit.
11. Dari tabel hasil pemeriksaan hematologi pasien di atas, ditemukan tiga nilai
abnormal. Tiga nilai abnormal tersebut terdiri dari dua nilai abnormal menurun yang
terdapat pada komponen darah haemoglobin serta hematokrit dan satu nilai
abnormal menungat yang terdapat pada komponen darah leukosit.
12. Berdasarkan tabel hasil pemeriksaan hematologi pasien di atas, ditemukan satu nilai
abnormal. Satu nilai abnormal tersebut menunjukkan nilai abnormal meningkat
pada komponen darah leukosit.
13. Berdasarkan hasil pemeriksaan hematologi pasien di atas, ditemukan tiga nilai
abnormal. Dari tiga nilai abnormal tersebut terdapat dua nilai abnormal meningkat
pada komponen darah leukosit serta neotrofil dan satu nilai abnormal menurun pada
komponen darah haemoglobin.
14. Dari hasil pemeriksaan hematologi pasien yang disajikan pada tabel di atas, terdapat
satu nilai abnormal. Satu nilai abnormal tersebut menunjukkan nilai abnormal
meningkat yang ditemukan pada komponen darah leukosit.
15. Berdasarkan hasil pemeriksaan hematologi pasien yang disajikan pada tabel di atas,
terdapat satu nilai abnormal. Satu nilai abnormal tersebut menunjukkan nilai
abnormal meningkat yang terdapat pada komponen darah leukosit.
16. Bersumber pada tabel hasil pemeriksaan hematologi pasien di atas, ditemukan dua
nilai abnormal. Dua nilai abnormal tersebut menunjukkan nilai abnormal meningkat
pada komponen darah leukosit serta limfosit.
17. Pada tabel hasil pemeriksaan hematologi pasien di atas, ditemukan dua nilai
abnormal. Dua nilai abnormal tersebut menunjukkan nilai abnormal menurun yang
terdapat pada komponen darah haemoglobin serta trombosit.
18. Bersumber pada hasil pemeriksaan hematologi pasien yang disajikan dalam tabel di
atas, terdapat dua nilai abnormal. Dua nilai abnormal tersebut menunjukkan nilai
abnormal menurun pada komponen darah haemoglobin serta trombosit.
19. Berdasarkan hasil pemeriksaan hematologi pasien, ditemukan tiga nilai abnormal.
Dari tiga nilai abnormal tersebut menunjukkan dua nilai abnormal menurun yang
terdapat pada komponen darah trombosit serta hematokrit dan satu nilai abnormal
meningkat yang terdapat pada komponen darah leukosit.
20. Dari hasil pemeriksaan hematologi pasien, ditemukan satu nilai abnormal. Satu nilai
abnormal yang ditemukan merupakan nilai abnormal menurun yang terdapat pada
komponen darah eritrosit.
Lampiran 3
Lampiran 4
Template Kalimat Hasil Analisis T-Gen System
Lampiran 5
Kuesioner
Lampiran 6
Hasil Kuesioner