Oleh :
DOSEN PEMBIMBING :
Oleh :
DOSEN PEMBIMBING :
i
LEMBAR PENGESAHAN
Oleh :
Disetujui Oleh:
3.………………………………
NIDN.
Mengetahui:
Direktur
ii
ABSTRAK
Alat pendeteksi golongan darah (Blood Detector) adalah suatu alat
elektronik yang digunakan untuk mendeteksi golongan darah manusia A, B dan
O beserta rhesus. Pembacaan hasil dalam deteksi golongan darah umumnya
dilakukan hanya mengandalkan kemampuan indra penglihatan dari petugas
secara langsung. Hal ini kemungkinan dapat menimbulkan kekeliruan dalam
proses penentuan hasil golongan darah yang banyak, dipengaruhi faktor
kejenuhan atau kelelahan pada mata. Tujuan yang ingin dicapai dalam
penyusunan laporan ini antara lain dapat merancang alat uji golongan darah
sistem ABO dengan metode reflektan, diharapkan dapat mempermudah
manusia dalam menentukan golongan darah ABO beserta rhesus. Alat ini
dirancang dengan menggunakan sensor Photodioda sehingga dapat mendeteksi
terjadinya reaksi aglutinasi atau non-aglutinasi dari sampel darah yang telah
tercampur antisera, dan LED Infrared sebagai sumber cahaya yang berfungsi
untuk menyinari sampel. Pengaturan sistem kerja alat ini berbasis Arduino Uno
yang hasilnya akan ditampilkan pada LCD 20x4 dan kemudian di-print
menggunakan thermal printer yang sebelumnya sudah diberi identitas
pengguna menggunakan keypad. Pada proses uji fungsi tes golongan darah
memerlukan sampel darah dan antisera yang dimana sampel darah dan antisera
dicampur menjadi satu, perbandingannya yaitu satu tetes darah dengan satu
tetes antisera kemudian diaduk jadi satu maka terjadi aglutinasi atau non-
aglutinasi pada sampel darah yang telah dicampur dengan antisera. Setelah
pengambilan sampel kemudian alat tes golongan darah akan mendeteksi ketiga
sensor, yaitu ketika sampel darah pada sensor A menggumpal maka tegangan
terukur sebesar 1-1,85volt untuk jenis golongan darah A, ketika sampel darah
pada sensor B menggumpal maka tegangan terukur sebesar 1-1,85volt untuk
jenis golongan darah B, ketika sampel darah pada sensor A&B menggumpal
dengan tegangan keduanya sama yaitu terukur sebesar 1-1,85volt untuk jenis
golongan darah AB, serta ketika sampel darah pada sensor A&B tidak
menggumpal maka tegangan akan terukur sebesar 1,85-2,5volt untuk jenis
golongan darah O. Untuk sensor C (rhesus), ketika terukur 1-1,85volt
(menggumpal) untuk jenis rhesus positif (+), dan ketika terukur 1,85-
2,5volt (tidak menggumpal) untuk jenis rhesus negatif (-). Hasil tes
golongan darah ini di-print menggunakan thermal printer dan dilengkapi
dengan identitas pengguna.
iii
ABSTRACT
iv
KATA PENGANTAR
Pembuatan dan penyusunan Tugas Akhir ini merupakan salah satu syarat
untuk memperoleh gelar Ahli Madya (A.Md) di Sekolah Tinggi Ilmu
Kesehatan Semarang.
Penulis menyadari bahwa karya ini masih jauh dari sempurna karena
keterbatasan dan hambatan yang dijumpai selama pengerjaannya. Untuk itu
penulis senatiasa mengharapkan kritik dan saran dari semua pihak dalam
perbaikan di masa mendatang. Akhirnya dengan kerendahan hati, penulis
berharap semoga karya ini dapat bermanfaat bagi semua pihak.
.
Wassalamu’alaikum Warahmatullahi Wabarakatuh.
Semarang, 2023
v
UCAPAN TERIMA KASIH
Alhamdulillahirabbil’alamin
Puji syukur kepada Allah SWT yang senantiasa memberikan segala rahmat dan
karunia-Nya serta kesehatan lahir dan batin sehingga saya dapat menyelesaikan
tugas akhir ini dengan baik. Dengan penuh cinta dan kasih sayang saya
persembahkan karya ini untuk:
1. Allah SWT atas rahmat, hidayah serta hidayah-Nya yang telah diberikan
sehingga penulis dapat menyelesaikan Tugas Akhir ini.
2. Dielia Eka S, kepada diri ini terima kasih telah berjuang, berusaha dan
tetap tegar. Ingatlah bahwa semuanya baru saja dimulai, semoga
diberikan kelancaran untuk meraih impian.
3. Kedua orang tua, Bapak dan Ibu terimakasih atas semua doa yang tiada
henti-hentinya, dukungan baik itu moril juga materi yang dengan tulus
ikhlas diberikan. Semoga Allah yang Maha Kuasa selalu memberikan
kesehatan dan kesempatan agar bisa membahagiakan Bapak dan Ibu.
4. Bapak Patrisius Kusi Olla, S.T., M.T. selaku direktur Sekolah Tinggi
Ilmu Kesehatan Semarang.
5. Bapak Imam Tri Harsoyo, S.Pd., M.Si. selaku pembimbing I penulis
selama proses pembuatan Tugas Akhir dan Karya Tulis Ilmiah.
6. Ibu Faizah, S.T., M.T. selaku pembimbing II penulis selama proses
pembuatan Tugas Akhir dan Karya Tulis Ilmiah.
7. Dosen penguji yang telah bersedia meluangkan waktunya untuk menguji
penulis hingga lulus dengan tepat waktu.
8. Seluruh teman-teman seperjuangan keluarga besar angkatan ke-23
Sekolah Tinggi Ilmu Kesehatan Semarang.
9. Semua pihak yang telah membantu penulis dalam pengerjaan Tugas
Akhir ini yang tidak bisa penulis sebutkan satu persatu dalam penulisan
karya tulis.
Semoga Allah SWT memberikan balasan yang setimpal kepada semua
pihak yang telah membantu penulis dalam menyusun karya tulis ilmiah ini.
Penulis menyadari bahwa Karya Ilmiah ini masih jauh dari
kesempurnaan. Untuk itu penulis senatiasa mengharapkan kritik dan saran dari
semua pihak dalam perbaikan di masa mendatang. Akhirnya dengan kerendahan
hati, penulis berharap semoga Karya Tulis Ilmiah ini dapat bermanfaat bagi
semua pihak.
vi
DAFTAR ISI
vii
3.1 Jenis Penelitian .........................................................................................18
3.2 Tempat dan Waktu Penelitian .................................................................. 18
3.3 Alat dan Bahan .........................................................................................18
3.4 Tahapan Penelitian ...................................................................................19
3.5 Tahapan Pembuatan Alat ......................................................................... 21
3.6 Blok Diagram ...........................................................................................22
3.7 Desain Mekanis Alat ................................................................................23
3.8 Prosedur Pengoperasian Alat ................................................................... 25
3.9 Flowchart Software Alat ..........................................................................26
3.10 Rancangan Software Pembacaan Deteksi Golongan Darah & Keypad .... 27
3.11 Rancangan Software Keypad .................................................................... 30
3.12 Perancangan Rangkaian Sensor ................................................................ 32
3.13 Rangkaian Sensor ......................................................................................33
3.14 Pengambilan Data ..................................................................................... 35
BAB IV HASIL DAN PEMBAHASAN .......................................................... 36
4.1 Persiapkan Alat dan Bahan ...................................................................... 36
4.2 Metode Pengukuran dan Analisis Data .................................................... 36
4.3 Titik Pengukuran 1 (TP1) ........................................................................ 36
4.4 Titik Pengukuran 2 (TP2) ........................................................................ 37
4.5 Titik Pengukuran 3 (TP3) ........................................................................ 38
4.7 Titik Pengukuran 4 (TP4) ........................................................................ 41
4.8 Penyajian Data ......................................................................................... 42
4.9 Analisis Data ............................................................................................ 43
BAB V KESIMPULAN DAN SARAN ............................................................48
5.1 KESIMPULAN ........................................................................................ 48
5.2 SARAN .................................................................................................... 48
DAFTAR PUSTAKA ....................................................................................... 49
PROFIL PENULIS ........................................................................................... 51
LISTING PROGRAM ...................................................................................... 52
LAMPIRAN ......................................................................................................67
viii
DAFTAR GAMBAR
Gambar 2.1 Sampel darah ...................................................................................8
Gambar 2.2 Bagian-bagian sensor infrared FC-51 ...........................................10
Gambar 2.3 Cara kerja sensor infrared .............................................................11
Gambar 2.4 Bentuk dan simbol Photodioda ..................................................... 11
Gambar 2.6 Arduino Uno ..................................................................................12
Gambar 2.7 Bentuk fisik LCD (Liquid Cristal Display) 20x4 ......................... 14
Gambar 2.8 Thermal transfer printer ............................................................... 16
Gambar 2.9 Bentuk dan simbol keypad ............................................................ 16
Gambar 2.12 Kerangka pemikiran .................................................................... 17
Gambar 3.1 Flowchart tahapan penelitian ........................................................19
Gambar 3.2 Flowchart proses pembuatan alat ..................................................21
Gambar 3.3 Blok diagram .................................................................................23
Gambar 3.4 Desain 3D box ............................................................................... 24
Gambar 3.5 Desain tabung sensor 3D box ........................................................24
Gambar 3.6 Desain 3D tutup box ......................................................................24
Gambar 3.7 Flowchart software alat .................................................................26
Gambar 3.8 Rangkaian sensor .......................................................................... 32
Gambar 3.9 Rangkaian keseluruhan alat ...........................................................34
Gambar 4.1 Pengukuran tegangan keluaran catu daya (TP1) ...........................37
Gambar 4.2 Pengukuran tegangan masukan LCD (TP2) ..................................38
Gambar 4.3 Pengukuran tegangan masukan sensor 1 (TP3) ............................ 39
Gambar 4.4 Pengukuran tegangan masukan sensor 2 (TP3) ............................ 40
Gambar 4.5 Pengukuran tegangan masukan sensor 3 (TP3) ............................ 41
Gambar 4.6 Pengukuran tegangan keluaran thermal printer (TP4) ..................42
ix
DAFTAR TABEL
x
BAB I
PENDAHULUAN
1
2
Pada saat sumber tegangan dihubungkan ke VCC dan GND, maka lampu
indikator modul akan hidup (ON). Cara kerja dari sensor infrared FC-51 ini
seperti pada Gambar 2.3 yaitu dengan memancarkan sinar inframerah melalui
dioda pemancar inframerah. Jika tidak ada benda yang ada di wilayah
pancaran inframerah, maka tidak ada media yang dapat memantulkan sinar
inframerah tersebut. Penerima inframerah tidak akan mendeteksi apapun. Pada
11
keadaan ini, LED indikator sinyal akan mati (OFF) dan sinyal keluaran akan
berlogika HIGH (5 V). Jika ada benda yang ada di wilayah pancaran
inframerah dioda tersebut, maka sinar inframerah tersebut akan dipantulkan
kembali. Pantulan sinar inframerah ini akan dideteksi oleh Photodioda dan
akan diproses oleh IC LM393. Pada keadaan sepeti ini, LED indikator sinyal
akan hidup (ON) dan sinyal keluaran akan berlogika LOW (0 V).
Jarak benda yang dideteksi bisa disesuaikan dengan cara memutar
potensio (pengatur jarak) agar dapat mendeteksi benda dengan jarak antara 2
cm hingga 15 cm. Sensor infrared FC-51 ini bekerja dengan tegangan 5 volt
DC (Wahyudi, 2014).
Dari Gambar 2.6 terlihat bahwa pada board Arduino Uno memiliki
beberapa bagian, yaitu :
a. Power (USB/Barrel Jack)
Semua Arduino terhubung ke sumber listrik. Arduino Uno dapat
diaktifkan melalui USB, dan dapat berasal dari komputer, bank daya, atau
dari catu daya melalui barrel jack. Koneksi USB juga memungkinkan
jalur pemrograman ke papan Arduino. Penggunaan tegangan catu daya
pada Arduino tidak boleh lebih dari 20 volt karena dapat merusak board
Arduino yang disebabkan overpower (kelebihan daya). Tegangan yang
dapat ditangani oleh sebagian besar papan Arduino adalah antara 7 dan 12
volt.
b. Pin Arduino
Pin Arduino adalah tempat untuk menghubungkan kabel antara pin
Arduino dengan perangkat lain. Untuk menghubungkan Arduino ke
breadboard, kabel jumper dimasukkan ke setiap ujung breadboard,
kemudian ke lubang pin pada Arduino. Terdapat sejumlah pin pada
Arduino dengan fungsi yang berbeda-beda, masing-masing pin telah
diberi label sesuai dengan nama dan fungsinya pada PCB. Pin pada
Arduino seperti pin power 5V atau 3.3V, GND, pin Analog, pin Digital,
pin PWM, pin AREF, dll.
c. GND
GND merupakan singkatan dari ground dan merupakan salah satu pin
pada Arduino. Setiap pin ground memiliki perannya sendiri, tetapi
semuanya dapat digunakan.
d. Pin 5V & 3.3V
Pin 5V memberikan supply tegangan 5 volt, dan pin 3.3V memberikan
supply tegangan 3.3 volt. Kebanyakan Arduino berfungsi pada tegangan
5 volt atau 3.3 volt.
e. Pin Analog
Pin di bagian bawah pin berlabel 'Analog In' (A0 hingga A5) pada
Arduino Uno adalah pin input analog. Pin ini dapat mengubah sinyal
analog menjadi sinyal digital yang dapat kita baca.
f. Pin PWM
Arduino Uno memiliki beberapa pin digital (3, 5, 6, 7, 9, 10, dan 11) di
mana dapat melihat simbol (~). Pin ini seperti pin digital, tetapi juga
dapat digunakan untuk mengeluarkan tegangan analog. (Arduino, 2023)
14
Latar Belakang
Alat pendeteksi Golongan Darah (Blood Detector) adalah suatu alat elektronik
yang digunakan untuk mendeteksi golongan darah manusia.
Pada penelitian sebelumnya hanya menentukan hasil golongan darah
menggunakan metode transmitan sehingga penulis mengubah menjadi metode
reflektan untuk meningkatkan efektivitas kerja dan pembacaan pada sampel.
Rumusan Masalah
Bagaimana cara membuat atau merancang alat pendeteksi golongan darah ABO
dengan metode reflektan?
Bagaimana cara mengetahui hasil dari alat pendeteksi golongan darah ABO
dengan metode reflektan menggunakan uji fungsi?
Tujuan Penelitian
Merancang dan membuat alat pendeteksi golongan darah ABO dengan metode
reflektan.
Mengetahui hasil pengukuran dari alat pendeteksi golongan darah ABO dengan
metode reflektan dengan uji fungsi tersebut.
Manfaat Penelitian
Mempermudah seseorang dalam melakukan pengecekan darah.
Memberikan kemudahan seseorang dalam membaca hasil tes golongan darah
ABO dengan cepat dan akurat
Hasil Penelitian
Diharapkan merancang alat tes golongan darah ABO dengan metode reflektan dapat
membantu dan mempermudah seseorang untuk mengetahui golongan darah
kesimpulan
Gambar 2.12 Kerangka pemikiran
BAB III
PERENCANAAN DAN PERANCANGAN SISTEM
18
19
Tidak
Ya
Keterangan flowchart:
1. Mulai
Penelitian dimulai sesuai jadwal yang telah ditentukan.
2. Proses perancangan desain alat
Menyiapkan atau membuat desain perencanaan alat nantinya, seperti
sistem kerja alat tersebut.
3. Perancangan rangkaian
Pada tahap ini sudah mulai melakukan perakitan alat sesuai dengan
rancangan awal dengan memperhatikan segala komponen pendukung
dalam perakitan ini agar mendapat hasil sesuai rancangan.
4. Pengujian alat
Pada tahap ini alat yang telah selesai dibuat akan dilakukan uji fungsi
alat apakah fungsi kerja sistemnya sudah sesuai dengan semestinya.
5. Pengambilan data
Teknik pengumpulan data adalah teknik atau cara yang digunakan untuk
mengumpulkan data atau informasi serta fakta pendukung yang ada di
lapangan untuk keperluan penelitian. Teknik pengumpulan data tentu
sangat ditentukan oleh metodologi penelitian yang diambil atau dipilih.
6. Pembuatan KTI (Karya Tulis Ilmiah)
Karya Tulis Ilmiah dibuat untuk menjelaskan penelitian mengenai proses
pembuatan dan kendala dalam pembuatan rancangan alat ini.
7. Selesai
Akhir dari penelitian yang dilakukan.
T T T T
A=+ A=- A=+ A=-
B=- B=+ B=+ B=-
Y Y Y Y
Tampilan Hasil
Mencetak Hasil
Selesai
//program golongan
void read_photodioda1()
{
sum = 0 ;
for ( int i = 0 ; i <num_Measure; i++)
{
dummy = analogRead (A0);
sum =sum + dummy;
delay(10);
}
photo1=sum;
photo1 /=num_Measure;
photo1 *=5;
photo1 /=1023;
// delay(100);
}
void read_photodioda2()
{
sum = 0 ;
for ( int i = 0 ; i <num_Measure; i++)
{
dummy = analogRead (A1);
sum =sum + dummy;
delay(10);
}
photo2=sum;
photo2 /=num_Measure;
photo2 *=5;
photo2 /=1023;
//delay(100);
}
void read_photodioda3()
28
{
sum = 0 ;
for ( int i = 0 ; i <num_Measure; i++)
{
dummy = analogRead (A2);
sum =sum + dummy;
delay(10);
}
photo3=sum;
photo3 /=num_Measure;
photo3 *=5;
photo3 /=1023;//dlm volt
}
//pembacaan sensor
read_photodioda1();
scan_keypad(0);
if (customKey=='*') goto exit_test;
delay(50);
scan_keypad(0);
if (customKey=='*') goto exit_test;
read_photodioda2();
scan_keypad(0);
if (customKey=='*') goto exit_test;
delay(50);
scan_keypad(0);
if (customKey=='*') goto exit_test;
read_photodioda3();
scan_keypad(0);
if (customKey=='*') goto exit_test;
sprintf(gol,"O+ ");
lcd.print(gol);
}
else
if (photo1<batas_ukur && photo2>batas_ukur)
{
lcd.setCursor(13, 3);
29
sprintf(gol,"A+ ");
lcd.print(gol);
}
else
if (photo1>batas_ukur && photo2<batas_ukur)
{
lcd.setCursor(13, 3);
sprintf(gol,"B+ ");
lcd.print(gol);
}
else
if (photo1<batas_ukur && photo2<batas_ukur)
{
lcd.setCursor(13, 3);
lcd.print("AB+");
sprintf(gol,"AB+");
}
}
else
{
if (photo1>batas_ukur && photo2>batas_ukur)
{
lcd.setCursor(13, 3);
sprintf(gol,"O- ");
lcd.print(gol);
}
else
if (photo1<batas_ukur && photo2>batas_ukur)
{
lcd.setCursor(13, 3);
sprintf(gol,"A- ");
lcd.print(gol);
}
else
if (photo1>batas_ukur && photo2<batas_ukur)
{
lcd.setCursor(13, 3);
sprintf(gol,"B- ");
lcd.print(gol);
}
30
else
if (photo1<batas_ukur && photo2<batas_ukur)
{
lcd.setCursor(13, 3);
lcd.print("AB-");
sprintf(gol,"AB-");
}
#define sound_pin A0
#define baris1 4
#define baris2 5
#define baris3 6
#define baris4 7
#define kolom1 8
#define kolom2 9
#define kolom3 10
#define kolom4 11
#define batas_ukur 1.85
//tampilan awal
lcd.begin();
lcd.setCursor(0, 0);
lcd.print("-DETEKSI GOL. DARAH-");
lcd.setCursor(0, 1);
lcd.print("--METODE REFLEKTAN--");
//delay(1000);
lcd.setCursor(0, 2);
lcd.print("--- DIELIA EKA S.---");
lcd.setCursor(0, 3);
lcd.print("----- 02320024 -----");
delay(1000);
tampil_def();
}
//tampilan input id
void tampil_def()
{
lcd.setCursor(0, 0);
lcd.print("A = INPUT YOUR ID ");
lcd.setCursor(0, 1);
lcd.print("B = TEST BLOOD ");
lcd.setCursor(0, 2);
lcd.print("C = PRINTING DATA ");
lcd.setCursor(0, 3);
lcd.print("D = SHOW DATA ");
void tampil_data()
32
{
lcd.setCursor(0, 0);
lcd.print("NAMA : ");
lcd.setCursor(7, 0);
lcd.print(nama);
lcd.setCursor(0, 1);
if (jenkel==1)
lcd.print("J.KEL: Perempuan ");
else
if (jenkel==2)
lcd.print("J.KEL: Laki-laki ");
else
lcd.print("J.KEL: ");
lcd.setCursor(0, 2);
lcd.print("USIA : GOL: ");
lcd.setCursor(7, 2);
lcd.print(usia);
lcd.setCursor(16, 2);
lcd.print(gol);
Pada alat tes golongan darah ini, rangkaian sensor berfungsi sebagai
bagian utama dari sistem secara keseluruhan adalah komponen
optoelektronik yaitu inframerah yang berfungsi sebagai sumber cahaya
33
yang menyinari tempat sampel dan Photodioda yang digunakan untuk
mendeteksi intensitas cahaya yang masuk melalui sampel.
Photodioda sendiri mempunyai karakteristik yaitu semakin banyak
cahaya yang masuk atau tertangkap maka resistansi Photodioda akan
semakin menurun nilainya, sehingga tegangannya bertambah besar. Begitu
pula sebaliknya jika cahaya yang terserap sedikit maka nilai resistansi akan
bertambah dantegangannya menjadi kecil (Karlinda, 2022).
Jadi dari karakteristik Photodioda tersebut bila tidak terjadi reaksi
aglutinasi atau mencair maka cahaya yang dipancarkan Infrared akan
tertahan oleh darah yang mencair tersebut, sehingga Photodioda hanya
dapat menangkap sedikit saja cahaya. Hal ini mengakibatkan nilai tahanan
dari Photodioda akan bertambah besar dan tegangannya menjadi kecil
(Karlinda, 2022).
Begitu pula sebaliknya bila terjadi reaksi aglutinasi maka darah
tersebut menggumpal sehingga cahaya Infrared yang menyinari sampel
dapat menembus darah tersebut. Dengan demikian Photodioda yang
berada dibawahnya bisa menangkap cahaya itu. Dengan banyaknya cahaya
yang bisa tertangkap, maka nilai tahanan pada Photodioda akan menurun
semakin kecil dan tegangan yang dihasilkan lebih besar bila dibandingkan
dengan tidak terjadi reaksi aglutinasi.
TP 1
TP 3
TP 2
TP 4
Alat uji golongan darah adalah alat yang dapat menentukan golongan
darah dan rhesus dari hasil pengujian sempel darah yang telah diberi serum.
Sampel darah yang akan diuji, diteteskan antisera A antisera B dan antisera
D pada kertas golongan darah. Maka akan terjadi reaksi yang dapat
menghasilkan proses aglutinasi yaitu proses pembekuan sel darah merah
oleh serum atau plasma dan proses tidak terjadi aglutinasi atau tidak
terjadi proses pembekuan. Hal ini tergantung dari jenis golongan darah
yang akan diuji. Dengan demikian dari kombinasi proses reaksi ini bisa
ditentukan jenis golongan darahnya.
Pada rangkaian diatas terdapat beberapa rangkaian yaitu: tiga bagian
rangkaian sensor, dua bagian rangkaian penguat tak membalik, dua bagian
rangkaian komparator printer thermal, keypad, Arduino Uno sebagai
pemroses kerja rangkaian dan hasil pengujian akan ditampilkan oleh
LCD. Pada blok sensor terdapat tiga buah Photodioda dan tiga buah
inframerah yang berfungsi sebagai pendeteksi darah yang akan diperiksa.
Sampel darah yang telah direaksikan dengan antisera tersebut disinari
oleh inframerah. Intensitas cahaya yang telah dipantulkan pada sampel
darah tersebut akan dideteksi oleh photodioda yang peka terhadap cahaya.
Sesuai dengan karakteristik dari photodioda semakin banyak cahaya yang
jatuh maka hambatannya akan semakin kecil, sehingga tegangannya
35
bertambah besar. Jadi apabila terjadi reaksi aglutinasi atau penggumpalan
maka tegangan keluaran Photodioda akan lebih besar bila dibandingkan
dengan tidak terjadi reaksi aglutinasi.
36
37
Hasil tegangan dari keluaran catu daya secara teori menghasilkan 12Volt.
Dan hasil pengukuran yang dilakukan oleh penulis dapat diketahui persentase
kesalahan dan analisis dari rangkaian keluaran catu daya dengan
menggunakan rumus sebagai berikut:
Hasil tegangan dari masukan LCD secara teori menghasilkan 5Volt. Dari
hasil pengukuran yang dilakukan oleh penulis dapat diketahui presentase
kesalahan dan analisis dari masukan LCD dengan menggunakan rumus
sebagai berikut:
Berdasarkan faktor rhesus (Rh) pada Tabel 4.7 diatas, golongan darah
dibedakan menjadi 2, yaitu jika mengandung faktor Rh, golongan darah Anda
digolongkan sebagai rhesus positif (Rh+), biasanya ditandai dengan simbol (+)
di belakang golongan darah Anda (contoh: A+, B+, AB+, O+). Sedangkan jika
tidak mengandung protein Rh, golongan darah Anda digolongkan sebagai
rhesus negatif (Rh-), biasanya ditandai dengan simbol (-) di belakang
golongan darah Anda, contoh: A-, B-, AB-, dan O-. Namun di Asia umumnya
hanya 1%-2% yang memiliki rhesus negatif, sehingga rhesus orang Indonesia
mayoritas positif (Nurin, 2021).
Berdasarkan hasil uji fungsi yang terdapat pada Tabel 4.8 dapat
dikatakan bahwa masing-masing sensor diberi sampel darah. Pada sensor A
sampel darah diberi reagen anti A hasilnya menggumpal (aglutinasi). Pada
sensor B diberi reagen anti B hasilnya tidak menggumpal. Pada sensor C
diberi reagen anti D hasilnya menggumpal. Dari hasil data tersebut dapat
diketahui bahwa sampel darah tersebut memiliki golongan darah tipe A+.
Dari hasil pengujian rangkaian pada titik-titik yang telah ditentukan
tadi, dapat dilihat pada hasil pengukuran di Tabel 4.9.
Berdasarkan hasil uji fungsi yang terdapat pada Tabel 4.9 dapat
dikatakan bahwa masing-masing sensor diberi sampel darah. Pada sensor A
sampel darah diberi reagen anti A hasilnya tidak menggumpal. Pada sensor B
diberi reagen anti B hasilnya menggumpal (aglutinasi). Pada sensor C diberi
reagen anti D hasilnya menggumpal. Dari hasil data tersebut dapat diketahui
bahwa sampel darah tersebut memiliki golongan darah tipe B+.
Dari hasil pengujian rangkaian pada titik-titik yang telah ditentukan
tadi, dapat dilihat pada hasil pengukuran di Tabel 4.10.
Tabel 4.10 Nilai tegangan hasil pengukuran sampel darah tipe AB.
Titik Teori Praktek
No Nama Keterangan
Pengukuran (volt) (volt)
Sensor A 1 – 1,85 1,28 Baik
Berdasarkan hasil uji fungsi yang terdapat pada Tabel 4.10 dapat
dikatakan bahwa masing-masing sensor diberi sampel darah. Pada sensor A
sampel darah diberi reagen anti A hasilnya menggumpal (aglutinasi). Pada
sensor B diberi reagen anti B hasilnya menggumpal (aglutinasi). Pada sensor
C diberi reagen anti D hasilnya menggumpal. Dari hasil data tersebut dapat
diketahui bahwa sampel darah tersebut memiliki golongan darah tipe AB+.
Dari hasil pengujian rangkaian pada titik-titik yang telah ditentukan tadi,
dapat dilihat pada hasil pengukuran di tabel 4.11.
46
Berdasarkan hasil uji fungsi yang terdapat pada Tabel 4.11 dapat
dikatakan bahwa masing-masing sensor diberi sampel darah. Pada sensor A
sampel darah diberi reagen anti A hasilnya tidak menggumpal. Pada sensor B
diberi reagen anti B hasilnya tidak menggumpal pada sensor C diberi reagen
anti D hasilnya menggumpal. Dari hasil data tersebut dapat diketahui bahwa
sampel darah tersebut memiliki golongan darah tipe O+.
Dari hasil pengujian yang telah ditentukan, dapat dilihat pada hasil
pengukuran di tabel 4.12.
Tabel 4.12 Kecocokan jenis golongan darah dengan hasil pembacaan alat
Test Point (volt) Jenis Hasil
Nama Golongan Pembacaan Ket
Sensor Sensor Sensor
A B C Darah Alat
Hisyam 1,05 1,93 1,30 A+ A+ Cocok
Dielia 1,36 2,01 1,40 A+ A+ Cocok
Adrian 1,46 2,07 1,57 A+ A+ Cocok
Ica 2,14 1,52 1,52 B+ B+ Cocok
Kiki 2,03 1,40 1,52 B+ B+ Cocok
Zaky 1,28 1,46 1,65 AB+ AB+ Cocok
Bakhtiar 1,33 1,54 1,19 AB+ AB+ Cocok
47
Tabel 4.12 Kecocokan jenis golongan darah dengan hasil pembacaan alat
(lanjutan)
Test Point (volt) Jenis Hasil
Nama Golongan Pembacaan Ket
Sensor Sensor Sensor
A B C Darah Alat
Fani 2,12 2,40 1,56 O+ O+ Cocok
Ratih 2,02 2,34 1,64 O+ O+ Cocok
Fitri 2,00 2,38 1,63 O+ O+ Cocok
5.1 KESIMPULAN
Berdasarkan analisis data setelah perencanaan dan pembahasan, yang
didapat melalui beberapa pengujian alat yang telah dilakukan dan disesuaikan
berdasarkan teori penunjang, maka dapat diambil kesimpulan sebagai berikut:
1. Telah berhasil dirancang sebuah alat yang dapat mendeteksi golongan
darah beserta rhesus yang dilengkapi thermal printer dan identitas
pengguna dengan metode reflektan. Berdasarkan pengujian yang telah
dilakukan, alat ini dapat bekerja dengan baik menentukan golongan
darah A,B,AB,O dari sampel yang diujikan.
2. Uji fungsi yang dilakukan pada alat tes golongan darah sistem ABO
dapat mengetahui jenis golongan darah dengan metode menggumpal
(aglutinasi). Ketika sampel darah pada sensor A menggumpal tegangan
terukur 1-1,85 volt itu menunjukan jenis golongan darah A. Ketika
sampel darah pada sensor B menggumpal tegangan terukur 1-1,85volt itu
menunjukan jenis golongan darah B. Ketika sampel darah menggumpal
tegangan terukur 1-1,85 volt pada sensor A dan B itu menunjukan jenis
golongan darah AB. Dan ketika sampel darah pada sensor A dan B tidak
menggumpal tegangan terukur 1,85 - 2,5 volt tersebut menunjukan jenis
golongan darah O. Untuk sampel darah pada sensor C (rhesus)
menggumpal tegangan terukur 1-1,85 volt tersebut memiliki rhesus
positif (+). Ketika sampel darah pada sensor C (rhesus) tidak
menggumpal tegangan terukur 1,85-2,5 volt tersebut memiliki rhesus
negatif (-).
5.2 SARAN
Setelah melakukan penelitian, diperoleh beberapa hal yang dapat
dijadikan saran untuk adik-adik tingkat untuk pengembangan alat selanjutnya
yaitu:
1. Untuk peneliti selanjutnya, peneliti memiliki saran untuk menambah
fitur alat seperti menambahkan keluaran suara dan baterai
2. Untuk penelitian selanjutnya sebaiknya melakukan pengembangan
dengan tampilan Android.
48
DAFTAR PUSTAKA
50
PROFIL PENULIS
51
LISTING PROGRAM
#include <LiquidCrystal_I2C.h>
#include <TimerOne.h>
#include "Adafruit_Thermal.h"
#include "SoftwareSerial.h"
//#include <Keypad.h>
#define sound_pin A0
#define baris1 4
#define baris2 5
#define baris3 6
#define baris4 7
#define kolom1 8
#define kolom2 9
#define kolom3 10
#define kolom4 11
#define batas_ukur 1.85
char lcd_buff[17];
char nama[6];
char jenkel;
char usia [3];
char gol[4];
char customKey,dummykey;
const long interval = 10000;
const long interval1 = 2000;
///unsigned long previousMillis=0,previousMillis1 = 0;
//unsigned long currentMillis;
unsigned char panjang_id=5;
float photo1,photo2,photo3;
boolean adakey=false;
int num_Measure = 20;
unsigned long dummy;
unsigned long sum;
void tampil_def()
{
lcd.setCursor(0, 0);
lcd.print("A = INPUT YOUR ID ");
lcd.setCursor(0, 1);
lcd.print("B = TEST BLOOD ");
lcd.setCursor(0, 2);
lcd.print("C = PRINTING DATA ");
lcd.setCursor(0, 3);
lcd.print("D = SHOW DATA ");
}
void read_photodioda1()
{
sum = 0 ;
for ( int i = 0 ; i <num_Measure; i++)
{
dummy = analogRead (A0);
sum =sum + dummy;
delay(10);
}
photo1=sum;
photo1 /=num_Measure;
photo1 *=5;
photo1 /=1023;
// delay(100);
}
53
void read_photodioda2()
{
sum = 0 ;
for ( int i = 0 ; i <num_Measure; i++)
{
dummy = analogRead (A1);
sum =sum + dummy;
delay(10);
}
photo2=sum;
photo2 /=num_Measure;
photo2 *=5;
photo2 /=1023;
//delay(100);
}
void read_photodioda3()
{
sum = 0 ;
for ( int i = 0 ; i <num_Measure; i++)
{
dummy = analogRead (A2);
sum =sum + dummy;
delay(10);
}
photo3=sum;
photo3 /=num_Measure;
photo3 *=5;
photo3 /=1023;//dlm volt
}
void cetak_data()
{
tampil_data();
lcd.setCursor(0, 3);
lcd.print("PRINTING.. WAIT ...");
Serial.println("PRINTING.. WAIT ...");
printer.setSize('S');
printer.justify('C');
printer.println(" HASIL TEST ");
//delay(1000);
// printer.setSize('m');
printer.justify('L');
printer.print("NAMA : ");
printer.println(nama);
//delay(2000);
printer.print("J.KEL : ");
if (jenkel==1) printer.println("P");
else if (jenkel==2) printer.println("L");
else printer.println("--");
54
//delay(2000);
printer.print("USIA : ");
printer.print(usia);
printer.println(" th");
//delay(2000);
printer.print("G.DARAH : ");
printer.println(gol);
//printer.setSize('M');
//printer.justify('C');
//delay(2000);
printer.feed(5);
tampil_def();
}
55
if (digitalRead(kolom2)==0)
{
customKey=baris22[pos];
adakey=true;
}
else
if (digitalRead(kolom3)==0)
{
customKey=baris23[pos];
adakey=true;
}
else
if (digitalRead(kolom4)==0)
{
customKey='b';
adakey=true;
}
digitalWrite(baris2,1);
digitalWrite(baris3,0);
delay(1);
if (digitalRead(kolom1)==0)
{
customKey=baris31[pos];
adakey=true;
}
else
if (digitalRead(kolom2)==0)
{
customKey=baris32[pos];
adakey=true;
}
else
if (digitalRead(kolom3)==0)
{
customKey=baris33[pos];
adakey=true;
}
else
if (digitalRead(kolom4)==0)
{
customKey='c';
adakey=true;
}
digitalWrite(baris3,1);
digitalWrite(baris4,0);
delay(1);
if (digitalRead(kolom1)==0)
{
customKey='*';
adakey=true;
}
else
56
if (digitalRead(kolom2)==0)
{
customKey=baris42[pos];
adakey=true;
}
else
if (digitalRead(kolom3)==0)
{
customKey='#';
adakey=true;
}
else
if (digitalRead(kolom4)==0)
{
customKey='d';
adakey=true;
}
}
void setup() {
Serial.begin(9600);
mySerial.begin(9600); // Initialize SoftwareSerial
pinMode(A0,INPUT);
pinMode(A1,INPUT);
pinMode(A2,INPUT);
pinMode(4,OUTPUT);
pinMode(5,OUTPUT);
pinMode(6,OUTPUT);
pinMode(7,OUTPUT);
pinMode(8,INPUT_PULLUP);
pinMode(9,INPUT_PULLUP);
pinMode(10,INPUT_PULLUP);
pinMode(11,INPUT_PULLUP);
digitalWrite(4,1);
digitalWrite(5,1);
digitalWrite(6,1);
digitalWrite(7,1);
lcd.begin();
lcd.setCursor(0, 0);
lcd.print("-DETEKSI GOL. DARAH-");
lcd.setCursor(0, 1);
lcd.print("--METODE REFLEKTAN--");
//delay(1000);
lcd.setCursor(0, 2);
lcd.print("--- DIELIA EKA S.---");
lcd.setCursor(0, 3);
lcd.print("----- 02320024 -----");
57
delay(1000);
tampil_def();
}
void test_sensor()
{
lcd.setCursor(0, 0);
lcd.print("Sensor1 = Volt");
lcd.setCursor(0, 1);
lcd.print("Sensor2 = Volt");
lcd.setCursor(0, 2);
lcd.print("Sensor3 = Volt");
lcd.setCursor(0, 3);
lcd.print("Gol. Darah = ");
ulang_test:
read_photodioda1();
scan_keypad(0);
if (customKey=='*') goto exit_test;
delay(50);
scan_keypad(0);
if (customKey=='*') goto exit_test;
read_photodioda2();
scan_keypad(0);
if (customKey=='*') goto exit_test;
delay(50);
scan_keypad(0);
if (customKey=='*') goto exit_test;
read_photodioda3();
scan_keypad(0);
if (customKey=='*') goto exit_test;
dtostrf(photo1, 4, 3, lcd_buff); //4 is mininum width, 3 is
precision
lcd.setCursor(9, 0);
lcd.print(lcd_buff);
//Serial.print("Photodioda2 := ");
//Serial.println(lcd_buff);
58
//Serial.print("Photodioda3 := ");
//Serial.println(lcd_buff);
if (photo3<batas_ukur)
{
if (photo1>batas_ukur && photo2>batas_ukur)
{
lcd.setCursor(13, 3);
sprintf(gol,"O+ ");
lcd.print(gol);
}
else
if (photo1<batas_ukur && photo2>batas_ukur)
{
lcd.setCursor(13, 3);
sprintf(gol,"A+ ");
lcd.print(gol);
}
else
if (photo1>batas_ukur && photo2<batas_ukur)
{
lcd.setCursor(13, 3);
sprintf(gol,"B+ ");
lcd.print(gol);
}
else
if (photo1<batas_ukur && photo2<batas_ukur)
{
lcd.setCursor(13, 3);
lcd.print("AB+");
sprintf(gol,"AB+");
}
}
else
{
if (photo1>batas_ukur && photo2>batas_ukur)
{
lcd.setCursor(13, 3);
sprintf(gol,"O- ");
lcd.print(gol);
}
else
if (photo1<batas_ukur && photo2>batas_ukur)
{
lcd.setCursor(13, 3);
sprintf(gol,"A- ");
lcd.print(gol);
}
else
59
if (photo1>batas_ukur && photo2<batas_ukur)
{
lcd.setCursor(13, 3);
sprintf(gol,"B- ");
lcd.print(gol);
}
else
if (photo1<batas_ukur && photo2<batas_ukur)
{
lcd.setCursor(13, 3);
lcd.print("AB-");
sprintf(gol,"AB-");
}
}
delay(50);
scan_keypad(0);
if (customKey!='*') goto ulang_test;
exit_test:
tampil_def();
delay(1000);
}
void input_txt(int lcd_col, int lcd_row)
{
ulang_scan:
lcd.setCursor(lcd_col,lcd_row);
lcd.blink();
scan_keypad(0);
if(!adakey) goto exit_input;
60
Serial.print(customKey);
lcd.setCursor(lcd_col,lcd_row);
lcd.print(customKey);
nama[count]=customKey;
lcd.setCursor(lcd_col,lcd_row);
delay(400);
scan_keypad(2);
dummykey=customKey;
delay(200);
scan_keypad(2);
if (customKey==dummykey && adakey)
{
Serial.print(customKey);
lcd.setCursor(lcd_col,lcd_row);
lcd.print(customKey);
nama[count]=customKey;
lcd.setCursor(lcd_col,lcd_row);
delay(400);
scan_keypad(3);
dummykey=customKey;
delay(200);
scan_keypad(3);
if (customKey==dummykey && adakey)
{
Serial.print(customKey);
lcd.setCursor(lcd_col,lcd_row);
lcd.print(customKey);
nama[count]=customKey;
lcd.setCursor(lcd_col,lcd_row);
delay(500);
goto ulang_scan;
}
else goto exit_input;
}
else goto exit_input;
}
else goto exit_input;
}
else goto exit_input;
}
exit_input:;
}
void loop()
{
//test_sensor();
scan_keypad(0);
if (adakey)
61
{
Serial.println(customKey);
if ((customKey)=='a') input_id();
else
if ((customKey)=='b') test_sensor();
else
if ((customKey)=='c') cetak_hasil();
else
if ((customKey)=='d')
{
tampil_data();
lcd.setCursor(0, 3);
lcd.print(" #:BACK ");
scan_keypad(0);
while (customKey=='d')//menunggu sampai tombol d dilepas
{
scan_keypad(0);
}
scan_keypad(0);
while (customKey!='#')
{
scan_keypad(0);
// if(adakey && customKey=='c') cetak_hasil();
}
tampil_def();
delay(300);
}
else
if ((customKey)=='#' && adakey)
hapus_data();
//delay(500);
}
}
void cetak_hasil()
{
cetak_data();
tampil_def();
}
void tampil_data()
{
lcd.setCursor(0, 0);
lcd.print("NAMA : ");
lcd.setCursor(7, 0);
lcd.print(nama);
lcd.setCursor(0, 1);
62
if (jenkel==1)
lcd.print("J.KEL: Perempuan ");
else
if (jenkel==2)
lcd.print("J.KEL: Laki-laki ");
else
lcd.print("J.KEL: ");
lcd.setCursor(0, 2);
lcd.print("USIA : GOL: ");
lcd.setCursor(7, 2);
lcd.print(usia);
lcd.setCursor(16, 2);
lcd.print(gol);
}
void hapus_data()
{
lcd.setCursor(0, 0);
lcd.print("ANDA INGIN MENGHAPUS");
lcd.setCursor(0, 1);
lcd.print("DATA TERSIMPAN? ");
lcd.setCursor(0, 3);
lcd.print("*:YES #BACK ");
lcd.setCursor(0, 2);
lcd.print("--------------------");
delay(1000);
hapus_ulang:
scan_keypad(0);
if((customKey=='*') && adakey)
{
for(char cnt=0;cnt<5;cnt++) nama[cnt]=' ';
jenkel=0;
for(char cnt=0;cnt<2;cnt++) usia[cnt]=' ';
for(char cnt=0;cnt<3;cnt++) gol[cnt]=' ';
lcd.setCursor(0, 2);
lcd.print("DATA SUDAH DIHAPUS..");
}
else
if((customKey=='#')&& adakey) goto hapus_exit;
goto hapus_ulang;
hapus_exit:
tampil_def();
delay(300);
}
void input_id()
{
// char id_dummy[10]={' ',' ',' ',' ',' ',' ',' ',' '};
// lcd.setCursor(0, 0);
// lcd.print("#:BATAL *:ENTER");
//lcd.setCursor(0, 0);
63
// lcd.print ("count : ");
// lcd.setCursor(9, 0);
// lcd.print(count);
lcd.setCursor(0, 0);
lcd.print("NAMA : ");
lcd.setCursor(7, 0);
lcd.print(nama);
lcd.setCursor(0, 1);
lcd.print("J.KEL: ");
lcd.setCursor(0, 1);
if (jenkel==1)
lcd.print("J.KEL: Perempuan ");
else
if (jenkel==2)
lcd.print("J.KEL: Laki-laki ");
else
lcd.print("J.KEL: ");
lcd.setCursor(0, 2);
lcd.print("USIA : ");
lcd.setCursor(7, 2);
lcd.print(usia);
lcd.setCursor(0, 3);
lcd.print("*:ENT D:PREV #:NEXT");
count=0;
delay(300);
input_txt(count+7,0);
while ((customKey!='*'))
{
// lcd.setCursor(9, 0);
// lcd.print(count);
delay(500);
if((customKey=='#')&&(count<5))
{
count++;
lcd.setCursor(count+7,0);
// lcd.print(count);
scan_keypad(0);
while (customKey=='#') //menunggu sampai tombol #
dilepas
{
scan_keypad(0);
}
}
else
if((customKey=='d')&&(count>0))
{
count--;
lcd.setCursor(count+7,0);
scan_keypad(0);
64
while (customKey=='d') //menunggu sampai tombol "D"
dilepas
{
scan_keypad(0);
}
input_txt(count+7,0);
}
count=0;
lcd.setCursor(7,1);
delay(500);
scan_keypad(0);
while ((customKey=='*'))
{
scan_keypad(0);
};
scan_keypad(0);
while ((customKey!='*'))
{
scan_keypad(0);
if (customKey=='1')
{
lcd.print("Perempuan");
jenkel=1;
}
else
if (customKey=='2')
{
lcd.print("Laki-laki");
jenkel=2;
}
//jenkel=customKey;
lcd.setCursor(7,1);
count=0;
lcd.setCursor(7,2);
delay(500);
scan_keypad(0);
while ((customKey=='*'))
{
scan_keypad(0);
};
scan_keypad(0);
while ((customKey!='*'))
{
65
scan_keypad(0);
if (customKey<=0x39 && customKey>=0x30)
{
lcd.setCursor(count+7,2);
lcd.print(customKey);
lcd.setCursor(count+7,2);
usia[count]=customKey;
delay(400);
lcd.noBlink();
tampil_def();
}
66
LAMPIRAN
SAMPEL 1 SAMPEL 2
SAMPEL 3 SAMPEL 4
SAMPEL 5 SAMPEL 6
SAMPEL 7 SAMPEL 8
67
GAMBAR SAMPEL DARAH GOLONGAN (Lanjutan)
SAMPEL 9 SAMPEL 10
69