• Tidak ada hasil yang ditemukan

DAFTAR PUSTAKA. dipublikasikan. Indramayu: Program D-III Politeknik Indramayu. Basuki, Achmad Pengantar Pengolahan Citra.

N/A
N/A
Protected

Academic year: 2022

Membagikan "DAFTAR PUSTAKA. dipublikasikan. Indramayu: Program D-III Politeknik Indramayu. Basuki, Achmad Pengantar Pengolahan Citra."

Copied!
16
0
0

Teks penuh

(1)

44

DAFTAR PUSTAKA

Surjaya 2011. Sistem Keamanan Menggunakan Deteksi Wajah yang Disimulasikan Pada Pintu Masuk Ruangan. Tugas akhir D-III tidak

dipublikasikan. Indramayu: Program D-III Politeknik Indramayu.

Basuki, Achmad.2007. Pengantar Pengolahan Citra. www.eepis-its.edu.

Diakses pada tanggal 15 Juni 2014

---2011. Cara Mengirim Data Mentah ke Printer Menggunakan Visual Basic.Net. support.microsoft.com.

Diakses pada tanggal 15 Agustus 2014

Shakil 2010. New Method of Edge Detection. http://visualbasic.about.com Diakses pada tanggal 13 juni 2014

Aditya, Dwi 2012. Aplikasi Image Processing Dengan VB.NET. http://wiidhiet22.

wordpress.com. Diakses pada tanggal 9 mei 2014

Rohmadi 2011. Capture Webcam Dengan Visual Basic 2008. http://rohmadi.com Diakses pada tanggal 20 juni 2014

Riyanto. Pengolahan Citra Bab 8 (PDF). http://lecturer.eepis-its.edu/~riyanto/citra- bab8.pdf. Diakses pada tanggal 18 Agustus 2014

Saputra, Agus 2012. Cara Mengcapture Gambar Dari WebCam Dengan Visual Basic. http://visualbasicfree.blogspot.com. Diakses pada tanggal 25 juni 2014

Mabbutt, Dan 2014. How to use the System.Drawing.Printing Components in VB.NET. http://visualbasic.about.com. Diakses pada tanggal 17 juli 2014

--- 2014. Export Data From VB to Excel Sheet. http://stackoverflow.com

(2)

45

Diakses pada tanggal 12 Agustus 2014

Sunardi 2011. Microsoft Visual Studio 2010 Express Edition. http://sisuncute.

blogspot.com. Diakses pada tanggal 19 agustus 2014

Sridianti 2014. Jenis Golongan Darah Manusia. http://www.sridianti.com/jenis- golongan-darah-manusia.html

Wikipedia 2013. Pengertian RGB. http://id.wikipedia.org Diakses pada tanggal 21 agustus 2014

Anggara, Jaya 2013. Cara Mengecek Golongan Darah. http://tinggalcopas.

blogspot.com. Diakses pada tanggal 22 agustus 2014

Rahmania.Nadia 2013. Penentuan Golongan Darah. Laporan Praktikum Fisiologi Hewan 1 Jurusan Biologi Universitas Sriwijaya.

https://www.academia.edu/6661231/Golongan_darah. Diakses pada tanggal 9

Oktober 2014

(3)

46

LAMPIRAN

(4)

LAMPIRAN KODING

APLIKASI PENDETEKSI GOLONGAN DARAH

1. Koding Membuat Tampilan WebCam

Imports System.Runtime.InteropServices Public Class Utama

#Region "Utama_Pengenalan"

Inherits System.Windows.Forms.Form Const WM_CAP As Short = &H400S

Const WM_CAP_DRIVER_CONNECT As Integer = WM_CAP + 10 Const WM_CAP_DRIVER_DISCONNECT As Integer = WM_CAP + 11 Const WM_CAP_EDIT_COPY As Integer = WM_CAP + 30

Const WM_CAP_SET_PREVIEW As Integer = WM_CAP + 50 Const WM_CAP_SET_PREVIEWRATE As Integer = WM_CAP + 52 Const WM_CAP_SET_SCALE As Integer = WM_CAP + 53 Const WS_CHILD As Integer = &H40000000

Const WS_VISIBLE As Integer = &H10000000 Const SWP_NOMOVE As Short = &H2S

Const SWP_NOSIZE As Short = 1 Const SWP_NOZORDER As Short = &H4S Const HWND_BOTTOM As Short = 1

Dim iDevice As Integer = 0 ' Current device ID Dim hHwnd As Integer ' Handle to preview window

Declare Function SetWindowPos Lib "user32" Alias "SetWindowPos" (ByVal hwnd As Integer, _

ByVal hWndInsertAfter As Integer, ByVal x As Integer, ByVal y As Integer, _

ByVal cx As Integer, ByVal cy As Integer, ByVal wFlags As Integer) As Integer

Declare Function DestroyWindow Lib "user32" (ByVal hndw As Integer) As Boolean

Declare Function capCreateCaptureWindowA Lib "avicap32.dll" _ (ByVal lpszWindowName As String, ByVal dwStyle As Integer, _ ByVal x As Integer, ByVal y As Integer, ByVal nWidth As Integer, _ ByVal nHeight As Short, ByVal hWndParent As Integer, _

ByVal nID As Integer) As Integer

(5)

2. Koding Tombol Start

Declare Function capGetDriverDescriptionA Lib "avicap32.dll" (ByVal wDriver As Short, _

ByVal lpszName As String, ByVal cbName As Integer, ByVal lpszVer As String, _

ByVal cbVer As Integer) As Boolean

Dim xMask(,) As Single = New Single(,) {{-1, 0, 1}, _ {-2, 0, 2}, _ {-1, 0, 1}}

Dim yMask(,) As Single = New Single(,) {{1, 2, 1}, _ {0, 0, 0}, _ {-1, -2, -1}}

#End Region

#Region "Utama_Bawaan"

Private Sub Utama_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

LoadDeviceList()

If lstDevices.Items.Count > 0 Then btnStart.Enabled = True

lstDevices.SelectedIndex = 0 btnStart.Enabled = True Else

lstDevices.Items.Add("No Capture Device") btnStart.Enabled = False

End If

btnStop.Enabled = False btnSave.Enabled = False

picCapture.SizeMode = PictureBoxSizeMode.StretchImage End Sub

#End Region

Private Sub btnStart_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnStart.Click

iDevice = lstDevices.SelectedIndex OpenPreviewWindow()

End Sub

(6)

3. Koding Tombol Stop

4. Koding Tombol Save

5. Koding Tombol Load Image

Private Sub btnStop_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnStop.Click

ClosePreviewWindow() btnSave.Enabled = False btnStart.Enabled = True btnStop.Enabled = True End Sub

Private Sub btnSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSave.Click

Dim data As IDataObject Dim bmap As Image

SendMessage(hHwnd, WM_CAP_EDIT_COPY, 0, 0) data = Clipboard.GetDataObject()

If data.GetDataPresent(GetType(System.Drawing.Bitmap)) Then

bmap = CType(data.GetData(GetType(System.Drawing.Bitmap)), Image)

picCapture.Image = bmap ClosePreviewWindow() btnSave.Enabled = False btnStop.Enabled = False btnStart.Enabled = True

If sfdImage.ShowDialog = DialogResult.OK Then

bmap.Save(sfdImage.FileName, Imaging.ImageFormat.Bmp) End If

End If End Sub

(7)

6. Koding Tombol Grayscale

7. Koding Detect Edges

Private Sub btnLoad_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnLoad.Click

Try

ofdLoadImage.FileName = ""

ofdLoadImage.ShowDialog()

If ofdLoadImage.FileName = "" Then Return If Not Me.pbBefore.Image Is Nothing Then Me.pbBefore.Image.Dispose()

End If

Me.pbBefore.Image = Image.FromFile(ofdLoadImage.FileName) 'New Bitmap(ofdLoadImage.FileName)

Catch ex As Exception

MsgBox("Error: " & ex.Message) End Try

End Sub

Private Sub Btn_gray_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Btn_gray.Click

Try

Dim bm As New Bitmap(pbBefore.Image) Dim X As Integer

Dim Y As Integer Dim clr As Integer

For X = 0 To bm.Width - 1 For Y = 0 To bm.Height - 1

clr = (CInt(bm.GetPixel(X, Y).R) + _ bm.GetPixel(X, Y).G + _ bm.GetPixel(X, Y).B) \ 3

bm.SetPixel(X, Y, Color.FromArgb(clr, clr, clr)) Next Y

Next X

pbBefore.Image = bm Catch ex As Exception End Try

End Sub

Private Sub btnDetectGdi_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnDetectGdi.Click

SafeDispose(CType(Me.pbAfter.Image, IDisposable)) Me.pbAfter.Image = Nothing

Me.pbAfter.Refresh()

Dim t As New VisualCore.Utilities.PrecisionTimer() t.Start()

Me.pbAfter.Image = DetectEdges2(CType(Me.pbBefore.Image, Bitmap)) ShowPixelSpeed(pbAfter.Image.Width * pbAfter.Image.Height,

t.GetElapsedTime)

Me.pbAfter.Refresh() End Sub

(8)

#End Region

#Region "Utama_Fungsi"

Private Sub LoadDeviceList()

Dim strName As String = Space(100) Dim strVer As String = Space(100) Dim bReturn As Boolean

Dim x As Integer = 0 Do

bReturn = capGetDriverDescriptionA(x, strName, 100, strVer, 100)

If bReturn Then lstDevices.Items.Add(strName.Trim) x += 1

Loop Until bReturn = False End Sub

Private Sub OpenPreviewWindow()

Dim iHeight As Integer = picCapture.Height Dim iWidth As Integer = picCapture.Width

hHwnd = capCreateCaptureWindowA(iDevice, WS_VISIBLE Or WS_CHILD, 0, 0, 640, _

480, picCapture.Handle.ToInt32, 0)

If SendMessage(hHwnd, WM_CAP_DRIVER_CONNECT, iDevice, 0) Then SendMessage(hHwnd, WM_CAP_SET_SCALE, True, 0)

SendMessage(hHwnd, WM_CAP_SET_PREVIEWRATE, 66, 0) SendMessage(hHwnd, WM_CAP_SET_PREVIEW, True, 0)

SetWindowPos(hHwnd, HWND_BOTTOM, 0, 0, picCapture.Width, picCapture.Height, _

SWP_NOMOVE Or SWP_NOZORDER) btnSave.Enabled = True

btnStop.Enabled = False btnStart.Enabled = False Else

DestroyWindow(hHwnd) btnSave.Enabled = False End If

End Sub

(9)

Private Sub ClosePreviewWindow()

SendMessage(hHwnd, WM_CAP_DRIVER_DISCONNECT, iDevice, 0) DestroyWindow(hHwnd)

End Sub

Sub SafeDispose(ByRef d As IDisposable) If Not d Is Nothing Then

d.Dispose() End If

End Sub

Function DetectEdges2(ByVal inImg As Bitmap) As Bitmap Dim out As New Bitmap(inImg.Width, inImg.Height, Imaging.PixelFormat.Format32bppArgb)

Dim bOut As New BitmapDirect(out) Dim bIn As New BitmapDirect(inImg) Using bOut

Using bIn

For y As Integer = 0 To inImg.Height - 1 For x As Integer = 0 To inImg.Width - 1 Dim gradX As Single = 0

Dim gradY As Single = 0 Dim grad As Single = 0

If x = 0 Or y = 0 Or x = inImg.Width - 1 Or y = inImg.Height - 1 Then

grad = 0 Else

For i As Integer = -1 To 1 For j As Integer = -1 To 1 Dim intensity As Single = bIn.GetPixelIntensity(x + i, y + j)

gradX += intensity * xMask(i + 1, j + 1)

gradY += intensity * yMask(i + 1, j + 1)

Next Next

grad = (Math.Abs(gradX) + Math.Abs(gradY)) End If

grad = Math.Max(0, grad) grad = Math.Min(255, grad) bOut.SetPixel(x, y, CByte(grad)) Next

Next End Using End Using Return out End Function

#End Region

(10)

8. Koding Tombol Link ke Halaman Data Pemeriksa Golongan Darah

9. Koding Tombol Print dan Convert PDF

h

10. Koding Tombol Save kedalam Data Grid View

Private Sub btn_Data_Click(sender As Object, e As EventArgs) Handles btn_Data.Click

'DATA_PEMERIKSA_GOLONGAN_DARAH.Show() kartu_goldar.Show()

Me.Hide() End Sub

'--- Script Untuk Convert Ke PDF --- ---

'// Inisialisasi Variable Dulu Dim doc As New PdfDocument()

Dim section As PdfSection = doc.Sections.Add() Dim page As PdfPageBase = doc.Pages.Add

'// panggil gambar tadi yang disimpan

Dim image As PdfImage = PdfImage.FromFile("E:\Kartu_Goldar_" &

Me.Data_TxtNama.Text & ".jpg")

Dim widthFitRate As Single = image.PhysicalDimension.Width / page.Canvas.ClientSize.Width

Dim heightFitRate As Single = image.PhysicalDimension.Height / page.Canvas.ClientSize.Height

Dim fitRate As Single = Math.Max(widthFitRate, heightFitRate) Dim fitWidth As Single = image.PhysicalDimension.Width / fitRate Dim fitHeight As Single = image.PhysicalDimension.Height / fitRate page.Canvas.DrawImage(image, 2, 2, fitWidth, fitHeight)

'//convert dan tampilkan, enaknya gimana yah ditampilkan apa di save yah?

doc.SaveToFile("Kartu_Goldar_" & Me.Data_TxtNama.Text & ".pdf") doc.Close()

System.Diagnostics.Process.Start("Kartu_Goldar_" &

Me.Data_TxtNama.Text & ".pdf")

End Sub

Private Sub savedata_Click(ByVal sender As Object, ByVal e As EventArgs) Handles savedata.Click

DATA_PEMERIKSA_GOLONGAN_DARAH.Data_BtnSave.PerformClick() End Sub

(11)

11. Koding Tombol Export Excel

Private Sub Data_BtnExport_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Data_BtnExport.Click

DATA_PEMERIKSA_GOLONGAN_DARAH.Close()

SaveFileDialog1.Filter = "Only Excel Files |*.xls"

If SaveFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK _ Then

KGoldar_TxtAlamat.Text = SaveFileDialog1.FileName ExportToExcel()

End If End Sub

Private Sub ExportToExcel() Try

Dim xlApp As Excel.Application Dim xlWorkBook As Excel.Workbook Dim xlWorkSheet As Excel.Worksheet

Dim misValue As Object = System.Reflection.Missing.Value Dim i As Int16, j As Int16

xlApp = New Excel.Application

xlWorkBook = xlApp.Workbooks.Add(misValue) xlWorkSheet = xlWorkBook.Sheets("sheet1")

For i = 0 To Kartu_DGVDisplay.RowCount - 1

For j = 0 To Kartu_DGVDisplay.ColumnCount - 1

xlWorkSheet.Cells(i + 1, j + 1) = Kartu_DGVDisplay(j, i).Value.ToString()

Next Next

xlWorkBook.SaveAs(KGoldar_TxtAlamat.Text,

Excel.XlFileFormat.xlWorkbookNormal, misValue, misValue, misValue, misValue, _

Excel.XlSaveAsAccessMode.xlExclusive, misValue, misValue, misValue, misValue, misValue)

xlWorkBook.Close(True, misValue, misValue) xlApp.Quit()

releaseObject(xlWorkSheet) releaseObject(xlWorkBook) releaseObject(xlApp)

MessageBox.Show("Data Tersimpan di " & KGoldar_TxtAlamat.Text &

"")

Catch ex As Exception MsgBox(ex.Message) End Try

End Sub

(12)

BIODATA TUGAS AKHIR

Nama : RIRIN HUMAIYYAH

Nomor Induk Mahasiswa (NIM) : 1103021

Tempat, tanggal lahir : Indramayu, 01 Oktober 1990

Jenis Kelamin : Perempuan

Status : Belum Menikah

Agama : Islam

Asal Ijazah Sekolah : - SD Negeri 1 Lohbener (2001) - SMP Negeri 1 Lohbener (2005)

- Madrasah Aliyah Fatahillah Lohbener (2008)

Program Studi/Jurusan : Teknik Informatika

Alamat Rumah : Jln. Raya Simpang 3 Blok ABC NO.08 Rt/Rw 23/06 Ds. Lohbener, Kec: Lohbener Kab: Indramayu 45252

Email : [email protected]

Nama Orang Tua : Nurakhim

Pekerjaan Orang Tua : Wiraswasta

Judul Tugas Akhir : Aplikasi Pendeteksi Golongan Darah Dosen Pembimbing : 1. Mohamad Yani, ST.,MT.,MSc

2. Willy Permana Putra, S.Kom.,M.Eng

Indramayu, 27 Agustus 2014

Penulis,

Ririn Humaiyyah

(13)

LAMPIRAN PHOTO PENGUJIAN

APLIKASI PENDETEKSI GOLONGA DARAH

(14)

LAMPIRAN

HASIL PENELITIAN PENGAMBILAN CITRA DARAH BERDASARKAN PENGARUH CAHAYA

NO SUMBER CAHAYA

KETERANGAN

1 Cahaya Ruangan

Hasil gambar darah yang diambil melalui kamera dengan bantuan cahaya ruangan saja, memiliki tingkat keberhasilan yang baik karena intensitas cahaya yang dibutuhkan tidak terlalu terang dan tidak juga terlalu gelap sehingga gumpalan darah dapat terlihat lebih jelas ketika dideteksi dengan aplikasi pendeteksi golongan darah 2 Cahaya Lampu 15

Watt

X

Gambar yang diambil

melalui kamera yang hanya

dibantu dengan bantuan

cahaya lampu saja, tidak

dapat mendeteksi jenis

golongan darah. Karena

cahaya yang dibutuhkan

pada saat pengambilan citra

(15)

tidak cukup, sehingga pada saat melakukan deteksi kedalam aplikasi pendeteksi golongan darah, gumpalan darah tidak dapat terlihat.

3 Cahaya Lampu dan Ruangan

X

Hasil gambar darah yang

diambil melalui kamera

dengan bantuan cahaya

ruangan dan cahaya lampu,

tidak dapat mendeteksi jenis

golongan darah. Karena

cahaya yang dibutuhkan

pada saat pengambilan citra

darah terlalu berlebihan

(terlalu terang), sehingga

pada saat melakukan deteksi

kedalam aplikasi pendeteksi

golongan darah, gumpalan

darah tidak dapat terlihat,

dikarenakan juga properti

yang digunakan untuk

sample darah adalah kaca,

sehingga jika cahaya terlalu

terang maka akan terlihat

pantukan cahaya pada

gambar darah yang

dihasilkan.

(16)

Gambar

Gambar  yang  diambil  melalui  kamera  yang  hanya  dibantu  dengan  bantuan  cahaya  lampu  saja,  tidak  dapat  mendeteksi  jenis  golongan  darah

Referensi

Dokumen terkait

Metode Analisa Teknikal adalah suatu metode untuk menganalisa data- data masa lalu dari suatu komoditi di pasar berjangka, yang meliputi: data harga, volume, dan open interest..

Umayyah melanjutkan: Demi Allah, Muhammad tidak pernah berbohong apabila berbicara; maka diapun kembali pulang kepada istrinya, lalu berkata kepadanya: Apakah engkau

Bil Program/Projek Tanggungjawab Tempoh/ hari Kos/Sumber Output KPI Kontigensi Pelan 2 Ceramah / Motivasi Kesihatan Pentadbiran Guru Kesihatan Kaunselor Jul-Sept RM 0.00 Murid

Kegiatan lesson study bisa mereformasi sekolah dalam hal meningkatkan mutu pembelajaran, karena melalui kegiatan lesson study guru bisa saling belajar dari proses

[r]

c. Project akan dipresentasikan setelah UTS dan nilainya akan menjadi nilai UAS d. Penilaian project dilihat dari presentasi dan jalannya program. Penilaian diambil secara individu

Oleh karena itu menarik untuk diteliti apakah perencanaan pajak yang dilakukan oleh PT.Indomobil Suzuki dalam bentuk pengajuan fasilitas pembebasan PPh Impor sudah sesuai

yang terdapat pada ekstrak biji pepaya muda memiliki efek toksik yang lemah dibandingkan dengan senyawa alkaloid pada ekstrak biji pepaya matang. Kami