• Tidak ada hasil yang ditemukan

BAB IV HASIL DAN PEMBAHASAN

4.10 Pengujian Efektivitas Sistem

Pengujian efektifitas sitem ini bertujuan untuk meninjau apakah data yang diperoleh dari hasil pengukuran dengan menggunakan software Visual Basic ini sesuai dengan data yang ditampilkan pada LCD. Untuk itu perlu dilakukan perbandingan antara data yang didapat dari LCD dengan data yang didapat dari hasil pengukuran menggunakansoftware Visual Basicini.

% galat total yang dihasilkan dari manipulasi data sampleadalah sebesar 0.61 %. Sehingga error yang dihasilkan akibat manipulasi data ini tidak terlalu berpengaruh terhadap pengolahan datanya.

Tahap-tahap proses pengolahan data diantaranya:

1. Perhitungan persamaan kurva baku senyawa 1 dengan 2 jenis lambda maksimum.

2. Perhitungan persamaan kurva baku senyawa 2 dengan 2 jenis lambda maksimum.

3. Perhitungan nilai konsentrasi senyawa 1 untuk 5samplelarutan. 4. Perhitungan nilai konsentrasi senyawa 2 untuk 5samplelarutan.

Di dalam penelitian ini senyawa yang dipakai yaitu senyawa KmnO4 untuk senyawa1 dan senyawa K2Cr2O7 untuk senyawa2. Kedua senyawa ini digunakan karena mampu menyerap cahaya pada lambda antara 380-700 dengan menggunakan sinarvisible.

Adapun tahap-tahap perhitungannya yaitu sebagai berikut:

1. Pembuatan larutan baku

 Buat larutan induk KmnO4

Disediakan 5 samplelarutan baku KmnO4dengan masing-masing 10, 20, 30, 40, dan 50 ppm.

 Buat larutan induk K2Cr2O7

Disediakan 5sample larutan baku K2Cr2O7dengan masing-masing 20,40,60,80,dan 100 ppm.

2. Penentuan lambda maximum

 Untuk senyawa KmnO4

1. Spektrofotometri akan melakukanscanning serapan larutan baku senyawa KmnO430 ppm pada lambda 380-700 nm.

 Untuk senyawa K2Cr2O7

3. Spektrofotometri akan melakukanscanning serapan larutan baku senyawa K2Cr2O740 ppm pada lambda 380-700 nm. 4. Dari grafik yang dihasilkan maka dapat diperoleh lambda

maksimum dari senyawa K2Cr2O7ini.

Pada spektrofotometri ini lambda maksimum akan langsung ditampilkan pada layar LCD sehingga dapat langsung diketahui lambda maksimum untuk kedua jenis senyawa ini.

Dimana lambda maksimum yang diperoleh yaitu: Lambda maksimum senyawa KmnO4=563 nm Lambda maksimum senyawa K2Cr2O7=591 nm

Data lambda maksimal dua jenis senyawa yang diterima padavisual basic juga menunjukkan hasil yang sama.

3. Pembuatan kurva baku

Dari dua lambda maksimum dari dua jenis senyawa yang telah didapat sebelumnya, maka selanjutnya lima sample untuk dua macam senyawa yang digunakan diukur absorbansinya dengan dua jenis lambda maksimum itu. Kemudian data-data yang diperoleh akan digunakan untuk pembuatan persaamaan kurva baku dan grafik kurva baku untuk kedua jenis senyawa. Adapun data serapan yang diperoleh dari spektrofotometri ini adalah sebagai berikut:

 Senyawa KmnO4

Data absorbansi untuk lambda maksimum satu:

KmnO410 ppm=0.607656 KmnO420 ppm=0.69378 KmnO430 ppm=0.732057

KmnO450 ppm=0.97129

Data absorbansi untuk lambda maksimum dua:

KmnO410 ppm=0.80861 KmnO420 ppm=0.8756 KmnO430 ppm=0.96172 KmnO440 ppm=0.97129 KmnO450 ppm=0.98086  Senyawa K2Cr2O7

Data absorbansi untuk lambda maksimum satu:

K2Cr2O720 ppm =0.54067 K2Cr2O740 ppm =0.55024 K2Cr2O760 ppm =0.56938 K2Cr2O780 ppm =0.72249 K2Cr2O7100 ppm =0.81818

Data absorbansi untuk lambda maksimum dua:

K2Cr2O720 ppm =0.63636 K2Cr2O740 ppm =0.64593 K2Cr2O760 ppm =0.66507 K2Cr2O780 ppm =0.68421 K2Cr2O7100 ppm =0.83732

Dengan memperoleh data absorbansi seperti di atas, maka dapat dihitung persamaan regresi linearnya yang merupakan hubungan antara konsentrasi dengan serapan senyawa tersebut. Rumus yang digunakan sebagai berikut:

Sehingga diperoleh persamaan kurva baku untuk :

KmnO4 dengan lambda maksimal 563: y=9.47368751375002E-03 x0.499521431787499

KmnO4 dengan lambda maksimal 591: y=3.63636617484375E-03 x +0.4220094167093

K2Cr2O7 dengan lambda maksimal 563: y=4.40191090890626E-03 x +0.7875598975328

K2Cr2O7 dengan lambda maksimal 591: y=2.2009554421875E-03 x + 0.56172257746875

Dari persamaan kurva baku seperti di atas, maka dengan program pada Visual Basicdapat diplot grafik kurva bakunya. Programnya sebagai berikut:

Public Sub Form_Load()

'konfigurasi picture Picture1.ScaleMode = 1 Picture1.ScaleHeight = 450 Picture1.ScaleWidth = 300 Picture1.AutoRedraw = True Picture1.ForeColor = vbGreen Picture1.DrawStyle = 0 Picture1.DrawWidth = 2 End Sub

Private Sub Command1_Click()

'mencari ordinat garis kurva baku: For x = 0 To 350

c(x) = x

ordinat_y(x) = slope_b * c(x) + intercept_a x = x + 0.5

Next x

End Sub

Dalam menentukan besarnya konsentrasi dari tiap senyawa digunakan perhitungan matrix dengan mencari determinannya. Adapun konsentrasi yang didapat seperti pada tabel 4.9.

Tabel 4.9 Nilai konsentrasi senyawa (perekaman)

KmnO4(ppm) K2Cr2O7 (ppm) Sampel 1 376.0 958.3191 Sampel 2 493.4 1226.183 Sampel 3 476.0 1201.798 Sampel 4 497.8 1259.454 Sampel 5 489.1 1249.435

Gambar 4.16 Tampilan data perekaman dengan grafik

Untuk menguji keefektifan nilai konsentrasi yang telah direkam, maka perlu dilakukan perbandingan dengan nilai yang didapat dengan perhitungan manual. Adapun langkah-langkah untuk menentukan nilai tersebut adalah sebagai berikut :

sampleyang digunakan. Berikut nilainya :

a. Slope b KmnO4lambda satu = 9,473875 x 10-3(E1) b. Slope b KmnO4lambda dua = 3,6363661 x 10-3(E2) c. Slope b K2Cr2O7lambda satu = 4,0419109 x 10-3(E3) d. Slope b K2Cr2O7lambda satu = 2,02009554 x 10-3(E4) 2. Karena nilai slope b dari tiap persamaan kurva baku, maka nilai

konsentrasi dari tiap sampel dihitung dengan determinan matrix. Nilai determinannya: Determinan = (E1*E4)-(E2*E3) Determinan = (9,473875 x10-3x 2,02009554 x 10-3) – (3,6363661x10 -3 x4,0419109 x 10-3) Determinan = 4,440265

3. Setelah memperoleh nilai determinannya, maka dapat langsung dicari nilai tiap masing-masingsamplenya :

a. Konsentrasi untuksamplesatu:

Nilai-nilai absorbansi larutan campuran digunakan untuk menghitung nilai konsentrasi dari tiap senyawa.

KmnO4= ( 1 / determinan) x (( E4 x senyawa 1 ) – ( E2 x senyawa 4 ))

= (1 / 4,440265 ) x ((2,02009554 x 10-3x 0,6555023 ) – (3,6363661 x 10-3x 0,741627 ))

= 51,54823 ppm

K2Cr2O7= ( 1 / determinan) x (( E1 x senyawa 4 ) – ( E3x senyawa 1 ))

= (1 / 4,440265 ) x ((9,473875 x 10-3x 0,9043062) – (4,0419109 x 10-3x 0,6555023))

Tabel 4.10 Nilai konsentrasi senyawa (manual) KmnO4(ppm) K2Cr2O7(ppm) Sampel 2 68.68197 212.66845 Sampel 3 65.68197 206.5784 Sampel 4 68.53719 216.51819 Sampel 5 66.94015 214.11267

4. Dari data konsentrasi yang dihitung secara manual, maka didapat galatnya yang ditampilkan pada tabel 4.11.

Dari galat yang diperoleh, maka dapat disimpulkan bahwa nilai yang diolah dan ditampilkan pada Visual Basic masih menunjukkan nilai yang salah dengan % galat yang besar. Hal ini disebabkan karena perhitungan pada Visual Basic menggunakan variabel dalam bentuk string, sehingga untuk perhitungan yang benar, diperlukan pengubahan nilai variabel dari string menjadi desimal.Errorini disebabkan karena masih terdapat beberapa perhitungan pada Visual Basic yang menggunakan data string tanpa diubah menjadi data desimal terlebih dahulu.

Tabel 4.11 Perbandingan nilai konsentrasi senyawa

KmnO4( % ) K2Cr2O7( % ) Sample1 629.4139 483.06816 Sample2 618.38359 476.57024 Sample3 625.24481 481.25873 Sample4 626.32099 481.68508 Sample5 631.69839 483.5409

53

BAB V

KESIMPULAN DAN SARAN

5.1 KESIMPULAN

Berdasarkan analisis terhadap data yang diperoleh dari hasil penelitian dan setelah dilakukan pembahasan, maka dapat disimpulkan bahwa :

1. Sistem spektrofotometer dapat dikontrol secara otomatis melalui software Visual Basicpada PC.

2. Sistem remote dapat menampilkan data-data hasil pengiriman, pengolahan data untuk persaamaan dan grafik kurva baku serta nilai konsentrasi zat berhasil ditampilkan, namun terdapat error pada penentuan nilai konsentrasi zat, sehingga dapat dikatakan sistem ini dapat berjalan dengan baik.

3. Sistem spektrofotometer yang dibuat belum dapat menghasilkan data yang presisi seperti spektrofotometer buatan pabrik yang sudah ada karena pengaruh kerusakan pada kabel serial serta perhitungan data yang dimanipulasi sebelumnya.

5.2 SARAN

Dari kekurangan dalam pembuatan sistem ini, maka perlu dilakukan pengembangan agar menjadi sistem yang lebih baik, yaitu :

Dengan ketidaksempurnaan pembuatan alat ini, maka untuk pengembangan lebih lanjut diperlukan beberapa saran agar lebih baik, meliputi:

1. Penutup alat dibuat lebih rapat sehingga pengukuran tidak terpengaruh dengan sumber cahaya luar.

54

[1] Sastrohadimidjojo, Hardjono, 2006,Spektroskopi, Yogyakarta : LIBERTY YOGYAKARTA

[2] Sunyoto, Andi, Maret 2007,Pemrograman Database dengan Visual Basic dan Microsoft SQL, Yogyakarta : CV ANDI OFFSET

[3] http://chesterz2008.wordpress.com/2010/11/20/job-5-bab-teori-dasar-pengkabelan-rs-232-pada-konektor-db9/, diakses 18 Oktober 2010 [4] ---, 2006,Data Sheet Microcontroler ATMEGA8535,ATMEL

[5] http://www.jonathansarwono.info/regresi/regresi.htm/, diakses 20 Oktober 2010

[6] http://www.scribd.com/doc/39839210/TEORI-DASAR-MATRIKS, diakses 14 September 2010

[7] Harini, B.W., Priantoro, A.T., Utomo, A.B.S., 2009, Aplikasi Spektrofotometer Untuk Pengukuran Konsentrasi Caffeine Dan Paracetamol

HASIL PEREKAMAN DATA

1. Data Kuvet Kosong

Data asli Data manipulasi

Data kuvet kosong 2.099999901 2.09

2. Data Lambda Maksimum untuk SenyawaKmnO4

Lambda maksimum=563 nm

3. Data Lambda Maksimum untuk SenyawaK2Cr2O7

Lambda maksimum= 591 nm

4. Data Sampel untuk SenyawaKmnO4

Senyawa1 lambda 1 Data asli Data manipulasi

Sampel 10 ppm 1.279999731 1.27 Sampel 20 ppm 1.459999916 1.45 Sampel 30 ppm 1.539999719 1.53 Sampel 40 ppm 1.919999954 1.91 Sampel 50 ppm 2.039999769 2.03

Senyawa1 lambda 2 Data asli Data manipulasi

Sampel 10 ppm 1.699999925 1.69 Sampel 20 ppm 1.839999911 1.83 Sampel 30 ppm 2.039999719 2.03 Sampel 40 ppm 2.039999769 2.03 Sampel 50 ppm 2.0599999844 2.05

5. Data Sampel untuk SenyawaK2Cr2O7

Senyawa 2 lambda1 Data asli Data manipulasi

Sampel 20ppm 1.139999863 1.13 Sampel 40ppm 1.159999963 1.15 Sampel 60 ppm 1.199999925 1.19 Sampel 80 ppm 1.519999858 1.51 Sampel 100 ppm 1.719999905 1.71

Senyawa 2 lambda2 Data asli Data manipulasi

Sampel 20ppm 1.339999911 1.33 Sampel 40ppm 1.359999911 1.35 Sampel 60 ppm 1.39999892 1.39 Sampel 80 ppm 1.439999934 1.43 Sampel 100 ppm 1.759999867 1.75

6. Data Sampel untuk Larutan Campuran

Lambda max 1 Data asli Data manipulasi

Sampel1 1.379999872 1.37 Sampel 2 1.519999858 1.51 Sampel 3 1.639999863 1.63 Sampel 4 1.73999888 1.73 Sampel 5 1.819999883 1.81

Lambda max 2 Data asli Data manipulasi Sampel 1 1.55999994 1.55 Sampel 2 1.899999854 1.89 Sampel 3 1.919999954 1.91 Sampel 4 2.019999883 2.01 Sampel 5 2.039999710 2.03

LIST PROGRAM VISUAL BASIC FORM PEMILIHAN

Private Sub Command1_Click() Form1.Show

Me.Hide End Sub

Private Sub Command2_Click() Form2.Show

Me.Hide End Sub

Private Sub Form_Load() Me.Show

LIST PROGRAM VISUAL BASIC FORM PEREKAMAN

'deklarasi pencarian ordinat kurva baku : Dim c(350) As Single

Dim c1(350) As Single Dim c2(350) As Single Dim c3(350) As Single

Dim ordinat_y(350) As Single Dim ordinat_y_x(350) As Single Dim ordinat_yj(350) As Single Dim ordinat_yj_x(350) As Single

'deklarasi untuk perhitungan regresi senyawa 1 lambda 360 : Dim k As Integer

Dim k1 As Integer Dim L As Integer Dim h1 As Integer Dim N As Single

Dim jumlah_xi, jumlah_yi, jumlah_xi_kuadrat, jumlah_yi_kuadrat, jumlah_xiyi As Single

Dim slope_b, intercept_a, rata_xi, rata_yi, atas, bawah As Single

'deklarasi untuk perhitungan regresi senyawa 1 lambda 540 : Dim N1 As Single

Dim jumlah_xj, jumlah_yj, jumlah_xj_kuadrat, jumlah_yj_kuadrat, jumlah_xjyj As Single

Dim slope_bj, intercept_aj, rata_xj, rata_yj, atasj, bawahj As Single

'deklarasi untuk perhitungan regresi senyawa 2 lambda 360:

Dim jumlah_xi1, jumlah_yi1, jumlah_xi1_kuadrat, jumlah_yi1_kuadrat, jumlah_xi1yi1 As Single

Dim slope_b1, intercept_a1, rata_xi1, rata_yi1, atas1, bawah1 As Single

'deklarasi untuk perhitungan regresi senyawa 2 lambda 540:

Dim jumlah_xj1, jumlah_yj1, jumlah_xj1_kuadrat, jumlah_yj1_kuadrat, jumlah_xj1yj1 As Single

Dim slope_b1j, intercept_a1j, rata_xj1, rata_yj1, atas1j, bawah1j As Single

'deklarasi untuk perhitungan menyeluruh :

Dim sample_baku, C_sample1, C_sample2, C_sample3, C_sample4, C_sample5 As Single

Dim sample_bakux, C_sample_x1, C_sample_x2, C_sample_x3, C_sample_x4, C_sample_x5 As Single

Dim terbesar, terbesar1, i, j As Single Dim index, index1 As Integer

'deklarasi untuk tampilan grafik Dim x, x1, z, z1 As Single Dim abs1, abs2 As Integer Dim serapan1(8) As Integer

'deklarasi untuk senyawa campuran : 'lambda 360 :

Dim senyawa1, senyawa2, senyawa3, senyawa7, senyawa8 As Single 'lambda 540 :

Dim senyawa4, senyawa5, senyawa6, senyawa9, senyawa10 As Single Dim E1, E2, E3, E4 As Single

Dim determinan As Single

Dim pharacetamol1, kafein1 As Single Dim pharacetamol2, kafein2 As Single Dim pharacetamol3, kafein3 As Single Dim pharacetamol4, kafein4 As Single Dim pharacetamol5, kafein5 As Single

Private Sub Command1_Click() Command1.BackColor = &HFF& Command2.BackColor = &HFFFF00 N = 5 N1 = 5 Text8.Text = lambda_max_senyawa_1 Text35.Text = lambda_max_senyawa_1 Text49.Text = lambda_max_senyawa_1 Text51.Text = lambda_max_senyawa_1 Text9.Text = lambda_max_senyawa_2 Text36.Text = lambda_max_senyawa_2 Text50.Text = lambda_max_senyawa_2 Text52.Text = lambda_max_senyawa_2

'perhitungan sample untuk senyawa satu untuk lambda 360 : C_sample1 = 10

C_sample2 = 20 C_sample3 = 30 C_sample4 = 40

C_sample5 = 50

Text3.Text = C_sample1 & " ppm" Text4.Text = C_sample2 & " ppm" Text5.Text = C_sample3 & " ppm" Text6.Text = C_sample4 & " ppm" Text7.Text = C_sample5 & " ppm" Text31.Text = "blanko" Text33.Text = 0 Text10.Text = senyawa1_lambda1(1) Text11.Text = senyawa1_lambda1(2) Text12.Text = senyawa1_lambda1(3) Text13.Text = senyawa1_lambda1(4) Text14.Text = senyawa1_lambda1(5)

'data sample untuk senyawa satu untuk lambda 540 : Text37.Text = 0 Text38.Text = senyawa1_lambda2(1) Text39.Text = senyawa1_lambda2(2) Text40.Text = senyawa1_lambda2(3) Text41.Text = senyawa1_lambda2(4) Text42.Text = senyawa1_lambda2(5)

'perhitungan sample untuk senyawa dua lambda 360 : C_sample_x1 = 20

C_sample_x2 = 40 C_sample_x3 = 60 C_sample_x4 = 80 C_sample_x5 = 100

Text17.Text = C_sample_x1 & " ppm" Text18.Text = C_sample_x2 & " ppm" Text19.Text = C_sample_x3 & " ppm" Text20.Text = C_sample_x4 & " ppm" Text21.Text = C_sample_x5 & " ppm"

Text32.Text = "blanko" Text34.Text = 0 Text22.Text = senyawa2_lambda1(1) Text23.Text = senyawa2_lambda1(2) Text24.Text = senyawa2_lambda1(3) Text25.Text = senyawa2_lambda1(4) Text26.Text = senyawa2_lambda1(5)

Text43.Text = 0 Text44.Text = senyawa2_lambda2(1) Text45.Text = senyawa2_lambda2(2) Text46.Text = senyawa2_lambda2(3) Text47.Text = senyawa2_lambda2(4) Text48.Text = senyawa2_lambda2(5)

'pencarian kurva baku menggunakan regresi senyawa 1 lambda 360:

jumlah_xi = C_sample1 + C_sample2 + C_sample3 + C_sample4 + C_sample5 jumlah_yi = Val(senyawa1_lambda1(1)) + Val(senyawa1_lambda1(2)) + Val(senyawa1_lambda1(3)) + Val(senyawa1_lambda1(4)) +

Val(senyawa1_lambda1(5))

jumlah_xi_kuadrat = (C_sample1 * C_sample1) + (C_sample2 * C_sample2) + (C_sample3 * C_sample3) + (C_sample4 * C_sample4) + (C_sample5 * C_sample5)

jumlah_yi_kuadrat = (senyawa1_lambda1(1) * senyawa1_lambda1(1)) + (senyawa1_lambda1(2) * senyawa1_lambda1(2)) + (senyawa1_lambda1(3) * senyawa1_lambda1(3)) + (senyawa1_lambda1(4) * senyawa1_lambda1(4)) + (senyawa1_lambda1(5) * senyawa1_lambda1(5))

jumlah_xiyi = (C_sample1 * senyawa1_lambda1(1)) + (C_sample2 *

senyawa1_lambda1(2)) + (C_sample3 * senyawa1_lambda1(3)) + (C_sample4 * senyawa1_lambda1(4)) + (C_sample5 * senyawa1_lambda1(5))

'cari besar slope b senyawa 1 lambda 360 :

atas = (N * jumlah_xiyi) - (jumlah_xi * jumlah_yi)

bawah = (N * jumlah_xi_kuadrat) - (jumlah_xi * jumlah_xi) slope_b = atas / bawah

'mencari intercept a senyawa 1 lambda 360: rata_xi = jumlah_xi / 5

rata_yi = jumlah_yi / 5

intercept_a = rata_yi - (slope_b * rata_xi)

'pencarian kurva baku menggunakan regresi senyawa 1 lambda 540:

jumlah_yj = Val(senyawa1_lambda2(1)) + Val(senyawa1_lambda2(2)) + Val(senyawa1_lambda2(3)) + Val(senyawa1_lambda2(4)) +

Val(senyawa1_lambda2(5))

jumlah_yj_kuadrat = (senyawa1_lambda2(1) * senyawa1_lambda2(1)) + (senyawa1_lambda2(2) * senyawa1_lambda2(2)) + (senyawa1_lambda2(3) * senyawa1_lambda2(3)) + (senyawa1_lambda2(4) * senyawa1_lambda2(4)) + (senyawa1_lambda2(5) * senyawa1_lambda2(5))

jumlah_xjyj = (C_sample1 * senyawa1_lambda2(1)) + (C_sample2 *

senyawa1_lambda2(2)) + (C_sample3 * senyawa1_lambda2(3)) + (C_sample4 * senyawa1_lambda2(4)) + (C_sample5 * senyawa1_lambda2(5))

'cari besar slope b senyawa 1 lambda 540:

atasj = (N1 * jumlah_xjyj) - (jumlah_xi * jumlah_yj)

bawahj = (N1 * jumlah_xi_kuadrat) - (jumlah_xi * jumlah_xi) slope_bj = atasj / bawahj

'mencari intercept a senyawa 1 lambda 540: rata_xj = jumlah_xi / 5

rata_yj = jumlah_yj / 5

intercept_aj = rata_yj - (slope_bj * rata_xj)

'pencarian kurva baku menggunakan regresi senyawa 2 lambda 360:

jumlah_xi1 = C_sample_x1 + C_sample_x2 + C_sample_x3 + C_sample_x4 + C_sample_x5

jumlah_yi1 = Val(senyawa2_lambda1(1)) + Val(senyawa2_lambda1(2)) + Val(senyawa2_lambda1(3)) + Val(senyawa2_lambda1(4)) +

Val(senyawa2_lambda1(5))

jumlah_xi1_kuadrat = (C_sample_x1 * C_sample_x1) + (C_sample_x2 *

C_sample_x2) + (C_sample_x3 * C_sample_x3) + (C_sample_x4 * C_sample_x4) + (C_sample_x5 * C_sample_x5)

jumlah_yi1_kuadrat = (senyawa2_lambda1(1) * senyawa2_lambda1(1)) + (senyawa2_lambda1(2) * senyawa2_lambda1(2)) + (senyawa2_lambda1(3) * senyawa2_lambda1(3)) + (senyawa2_lambda1(4) * senyawa2_lambda1(4)) + (senyawa2_lambda1(5) * senyawa2_lambda1(5))

jumlah_xi1yi1 = (C_sample_x1 * senyawa2_lambda1(1)) + (C_sample_x2 * senyawa2_lambda1(2)) + (C_sample_x3 * senyawa2_lambda1(3)) + (C_sample_x4 * senyawa2_lambda1(4)) + (C_sample_x5 * senyawa2_lambda1(5))

'cari besar slope b senyawa 2 lambda 360:

atas1 = (N * jumlah_xi1yi1) - (jumlah_xi1 * jumlah_yi1)

bawah1 = (N * jumlah_xi1_kuadrat) - (jumlah_xi1 * jumlah_xi1) slope_b1 = atas1 / bawah1

'mencari intercept a senyawa 2 lambda 360: rata_xi1 = jumlah_xi1 / 5

rata_yi1 = jumlah_yi1 / 5

intercept_a1 = rata_yi1 - (slope_b1 * rata_xi1)

'pencarian kurva baku menggunakan regresi senyawa 2 lambda 540:

jumlah_yj1 = Val(senyawa2_lambda2(1)) + Val(senyawa2_lambda2(2)) + Val(senyawa2_lambda2(3)) + Val(senyawa2_lambda2(4)) +

jumlah_yj1_kuadrat = (senyawa2_lambda2(1) * senyawa2_lambda2(1)) + (senyawa2_lambda2(2) * senyawa2_lambda2(2)) + (senyawa2_lambda2(3) * senyawa2_lambda2(3)) + (senyawa2_lambda2(4) * senyawa2_lambda2(4)) + (senyawa2_lambda2(5) * senyawa2_lambda2(5))

jumlah_xj1yj1 = (C_sample_x1 * senyawa2_lambda2(1)) + (C_sample_x2 * senyawa2_lambda2(2)) + (C_sample_x3 * senyawa2_lambda2(3)) + (C_sample_x4 * senyawa2_lambda2(4)) + (C_sample_x5 * senyawa2_lambda2(5))

'cari besar slope b senyawa 2 lambda 540:

atas1j = (N * jumlah_xj1yj1) - (jumlah_xi1 * jumlah_yj1)

bawah1j = (N * jumlah_xi1_kuadrat) - (jumlah_xi1 * jumlah_xi1) slope_b1j = atas1j / bawah1j

'mencari intercept a senyawa 2 lambda 540: rata_xj1 = jumlah_xi1 / 5

rata_yj1 = jumlah_yj1 / 5

intercept_a1j = rata_yj1 - (slope_b1j * rata_xj1)

'mencari ordinat garis kurva baku 1 lambda 360: For x = 0 To 350

c(x) = x

ordinat_y(x) = slope_b * c(x) + intercept_a x = x + 0.5

Next x

'mencari ordinat garis kurva baku 1 lambda 540: For x1 = 0 To 350

c1(x1) = x1

ordinat_yj(x1) = slope_bj * c1(x1) + intercept_aj x1 = x1 + 0.5

Next x1

'mencari ordinat garis kurva baku 2 lambda 360: For z = 0 To 350

c2(z) = z

ordinat_y_x(z) = slope_b1 * c2(z) + intercept_a1 z = z + 0.5

Next z

'mencari ordinat garis kurva baku 2 lambda 540: For z1 = 0 To 350

c3(z1) = z1

z1 = z1 + 0.5 Next z1

' menampilkan persamaan garis senyawa 1 lambda 360: Text15.Text = slope_b

Text16.Text = intercept_a

' menampilkan persamaan garis senyawa 1 lambda 540: Text53.Text = slope_bj

Text54.Text = intercept_aj

' menampilkan persamaan garis senyawa 2 lambda 360 : Text28.Text = slope_b1

Text29.Text = intercept_a1

' menampilkan persamaan garis senyawa 2 lambda 540: Text55.Text = slope_b1j

Text56.Text = intercept_a1j

'penentuan konsentrasi senyawa 1 dan senyawa 2 : Text61.Text = larutan_lambda1(1) Text62.Text = larutan_lambda1(2) Text63.Text = larutan_lambda1(3) text1.Text = larutan_lambda1(4) Text57.Text = larutan_lambda1(5) Text64.Text = larutan_lambda2(1) Text65.Text = larutan_lambda2(2) Text66.Text = larutan_lambda2(3) Text30.Text = larutan_lambda2(4) Text58.Text = larutan_lambda2(5) senyawa1 = Text61.Text senyawa2 = Text62.Text senyawa3 = Text63.Text senyawa4 = Text64.Text senyawa5 = Text65.Text senyawa6 = Text66.Text senyawa7 = text1.Text senyawa8 = Text57.Text senyawa9 = Text30.Text senyawa10 = Text58.Text E1 = Val(Text15.Text)

E2 = Val(Text53.Text) E3 = Val(Text28.Text) E4 = Val(Text55.Text) Text67.MaxLength = 5 Text68.MaxLength = 5 Text69.MaxLength = 5 Text59.MaxLength = 5 Text73.MaxLength = 5 If E1 = 0 Then

pharacetamol1 = (Val(senyawa1) + intercept_a1) / slope_b1 pharacetamol2 = (Val(senyawa2) + intercept_a1) / slope_b1 pharacetamol3 = (Val(senyawa3) + intercept_a1) / slope_b1 pharacetamol4 = (Val(senyawa7) + intercept_a1) / slope_b1 pharacetamol5 = (Val(senyawa8) + intercept_a1) / slope_b1 Text67.Text = pharacetamol1

Text68.Text = pharacetamol2 Text69.Text = pharacetamol3 Text59.Text = pharacetamol4 Text73.Text = pharacetamol5

kafein1 = (Val(senyawa4) - (slope_bj * pharacetamol1)) / slope_b1j kafein2 = (Val(senyawa5) - (slope_bj * pharacetamol2)) / slope_b1j kafein3 = (Val(senyawa6) - (slope_bj * pharacetamol3)) / slope_b1j kafein4 = (Val(senyawa9) - (slope_bj * pharacetamol4)) / slope_b1j kafein5 = (Val(senyawa10) - (slope_bj * pharacetamol5)) / slope_b1j Text70.Text = kafein1 Text71.Text = kafein2 Text72.Text = kafein3 Text60.Text = kafein4 Text74.Text = kafein5 ElseIf E2 = 0 Then

pharacetamol1 = (Val(senyawa1) + intercept_a) / slope_b pharacetamol2 = (Val(senyawa2) + intercept_a) / slope_b pharacetamol3 = (Val(senyawa3) + intercept_a) / slope_b pharacetamol4 = (Val(senyawa7) + intercept_a) / slope_b pharacetamol5 = (Val(senyawa8) + intercept_a) / slope_b Text67.Text = pharacetamol1

Text68.Text = pharacetamol2 Text69.Text = pharacetamol3 Text59.Text = pharacetamol4 Text73.Text = pharacetamol5

kafein2 = (Val(senyawa5) - (slope_bj * pharacetamol2)) / slope_b1j kafein3 = (Val(senyawa6) - (slope_bj * pharacetamol3)) / slope_b1j kafein4 = (Val(senyawa9) - (slope_bj * pharacetamol4)) / slope_b1j kafein5 = (Val(senyawa10) - (slope_bj * pharacetamol5)) / slope_b1j Text70.Text = kafein1 Text71.Text = kafein2 Text72.Text = kafein3 Text60.Text = kafein4 Text74.Text = kafein5 ElseIf E3 = 0 Then

pharacetamol1 = (Val(senyawa4) + intercept_a1j) / slope_b1j pharacetamol2 = (Val(senyawa5) + intercept_a1j) / slope_b1j pharacetamol3 = (Val(senyawa6) + intercept_a1j) / slope_b1j pharacetamol4 = (Val(senyawa9) + intercept_a1j) / slope_b1j pharacetamol5 = (Val(senyawa10) + intercept_a1j) / slope_b1j Text67.Text = pharacetamol1

Text68.Text = pharacetamol2 Text69.Text = pharacetamol3 Text59.Text = pharacetamol4 Text73.Text = pharacetamol5

kafein1 = (Val(senyawa4) - (slope_b1 * pharacetamol1)) / slope_b kafein2 = (Val(senyawa5) - (slope_b1 * pharacetamol2)) / slope_b kafein3 = (Val(senyawa6) - (slope_b1 * pharacetamol3)) / slope_b kafein4 = (Val(senyawa9) - (slope_b1 * pharacetamol4)) / slope_b kafein5 = (Val(senyawa10) - (slope_b1 * pharacetamol5)) / slope_b Text70.Text = kafein1 Text71.Text = kafein2 Text72.Text = kafein3 Text60.Text = kafein4 Text74.Text = kafein5 ElseIf E4 = 0 Then

pharacetamol1 = (Val(senyawa4) + intercept_aj) / slope_bj pharacetamol2 = (Val(senyawa5) + intercept_aj) / slope_bj pharacetamol3 = (Val(senyawa6) + intercept_aj) / slope_bj pharacetamol4 = (Val(senyawa7) + intercept_aj) / slope_bj pharacetamol5 = (Val(senyawa8) + intercept_aj) / slope_bj Text67.Text = pharacetamol1

Text68.Text = pharacetamol2 Text69.Text = pharacetamol3 Text59.Text = pharacetamol4 Text73.Text = pharacetamol5

kafein1 = (Val(senyawa1) - (slope_b * pharacetamol1)) / slope_b1 kafein2 = (Val(senyawa2) - (slope_b * pharacetamol2)) / slope_b1 kafein3 = (Val(senyawa3) - (slope_b * pharacetamol3)) / slope_b1 kafein4 = (Val(senyawa9) - (slope_b * pharacetamol4)) / slope_b1 kafein5 = (Val(senyawa10) - (slope_b * pharacetamol5)) / slope_b1 Text70.Text = kafein1 Text71.Text = kafein2 Text72.Text = kafein3 Text60.Text = kafein4 Text74.Text = kafein5 Else

determinan = (E1 * E4) - (E2 * E3) 'konsentrasi untuk sample 1:

pharacetamol1 = ((1 / determinan) * ((E4 * Val(senyawa1)) - (E2 * Val(senyawa4))))

kafein1 = ((1 / determinan) * (-(E3 * Val(senyawa1)) + (E1 * Val(senyawa4)))) Text67.Text = Abs(pharacetamol1)

Text70.Text = kafein1 & "ppm"

'konsentrasi untuk sample 2:

pharacetamol2 = ((1 / determinan) * ((E4 * Val(senyawa2)) - (E2 * Val(senyawa5))))

kafein2 = ((1 / determinan) * (-(E3 * Val(senyawa2)) + (E1 * Val(senyawa5)))) Text68.Text = Abs(pharacetamol2)

Text71.Text = kafein2 & "ppm" 'konsentrasi untuk sample 3:

pharacetamol3 = ((1 / determinan) * ((E4 * Val(senyawa3)) - (E2 * Val(senyawa6))))

kafein3 = ((1 / determinan) * (-(E3 * Val(senyawa3)) + (E1 * Val(senyawa6)))) Text69.Text = Abs(pharacetamol3)

Text72.Text = kafein3 & "ppm"

'konsentrasi untuk sample 4:

pharacetamol4 = ((1 / determinan) * ((E4 * Val(senyawa7)) - (E2 * Val(senyawa9))))

kafein4 = ((1 / determinan) * (-(E3 * Val(senyawa7)) + (E1 * Val(senyawa9)))) Text59.Text = Abs(pharacetamol4)

Text60.Text = kafein4 & "ppm"

'konsentrasi untuk sample 5:

pharacetamol5 = ((1 / determinan) * ((E4 * Val(senyawa8)) - (E2 * Val(senyawa10))))

kafein5 = ((1 / determinan) * (-(E3 * Val(senyawa8)) + (E1 * Val(senyawa10)))) Text73.Text = Abs(pharacetamol5)

Text74.Text = kafein5 & "ppm"

End If End Sub

Private Sub Command2_Click() End

End Sub

Private Sub Command3_Click()

'menampilkan grafik kurva baku senyawa 1 lambda 360: Text49.Text = Text35

Picture1.Cls For k = 0 To 350

Picture1.PSet (c(k), 500 - (100 * ordinat_y(k))) Next k

'menampilkan grafik kurva baku senyawa 1 lambda 540: Text50.Text = Text36

Picture3.Cls For k1 = 0 To 350

Picture3.PSet (c(k1), 500 - (100 * ordinat_yj(k1))) Next k1

'menampilkan grafik kurva baku senyawa 2 lambda 360 : Picture2.Cls

For L = 0 To 350

Picture2.PSet (c(L), 500 - (100 * ordinat_y_x(L))) Next L

'menampilkan grafik kurva baku senyawa 2 lambda 540: Text52.Text = Text36 Picture5.Cls For h1 = 0 To 350 Picture5.PSet (c(h1), 500 - (100 * ordinat_yj_x(h1))) Next h1 End Sub

Public Sub Form_Load() Form3.Show

Me.Hide 'konfigurasi picture1 Picture1.ScaleMode = 1 Picture1.ScaleHeight = 450 Picture1.ScaleWidth = 300 Picture1.AutoRedraw = True Picture1.ForeColor = vbGreen Picture1.DrawStyle = 0 Picture1.DrawWidth = 2 'konfigurasi picture2 Picture2.Cls Picture2.ScaleMode = 1 Picture2.ScaleHeight = 450 Picture2.ScaleWidth = 300 Picture2.AutoRedraw = True Picture2.ForeColor = vbRed Picture2.DrawStyle = 0 Picture2.DrawWidth = 2 'konfigurasi picture3 Picture3.Cls Picture3.ScaleMode = 1 Picture3.ScaleHeight = 450 Picture3.ScaleWidth = 300 Picture3.AutoRedraw = True Picture3.ForeColor = vbGreen Picture3.DrawStyle = 0 Picture3.DrawWidth = 2 'konfigurasi picture5 Picture5.Cls Picture5.ScaleMode = 1 Picture5.ScaleHeight = 450 Picture5.ScaleWidth = 300 Picture5.AutoRedraw = True Picture5.ForeColor = vbRed Picture5.DrawStyle = 0 Picture5.DrawWidth = 2 End Sub

LIST PROGRAM VISUAL BASIC FORM PENGONTROLLAN

Dim dat As String

Dim dat_senyawa1(5) As String Dim dat_senyawa2(5) As String Dim dat_senyawa3(5) As String Dim dat_senyawa4(5) As String Dim dat_larutan1(5) As String Dim dat_larutan2(5) As String Dim dat_kuvsong As String Dim dat_ready As String

Private Sub Command1_Click() MSComm1.Output = "V" End Sub

Private Sub Command7_Click() Form1.Show

Me.Hide End Sub

Private Sub Form_Load() 'inisialisasi port serial : MSComm1.CommPort = 1 MSComm1.Settings = "9600,N,8,1" MSComm1.InputLen = 1 MSComm1.PortOpen = True 'inisialisasi timer1: Timer1.Enabled = True End Sub Sub Timer1_Timer() ind$ = MSComm1.Input Text7.Text = Text7.Text + ind$ dat = Text7.Text

Text1.Text = Mid(dat, 1, 3) 'sinyal untuk kuvet kosong

'data untuk lambda max 1

Text2.Text = Mid(dat, 15, 17) 'sinyal untuk lambda max senyawa 1 lambda_max_senyawa_1 = Mid(dat, 20, 22) 'lambda max senyawa 1

dat_ready = Val(dat_kusong) / 100 ' nilai absorbansi asli

'data untuk lambda max 2

Text3.Text = Mid(dat, 37, 39) 'sinyal untuk lambda max senyawa 2 lambda_max_senyawa_2 = Mid(dat, 42, 44) 'lambda max senyawa 2

'data untuk sampel senyawa 1

Text4.Text = Mid(dat, 68, 70) 'sinyal untuk data sampel senyawa 1 'data senyawa 1 lambda 1:

dat_senyawa1(1) = Mid(dat, 74, 76)

senyawa1_lambda1(1) = ((Val(dat_senyawa1(1))) / 100) / dat_ready 'data1

dat_senyawa1(2) = Mid(dat, 87, 89)

senyawa1_lambda1(2) = ((Val(dat_senyawa1(2))) / 100) / dat_ready 'data2

dat_senyawa1(3) = Mid(dat, 100, 102)

senyawa1_lambda1(3) = ((Val(dat_senyawa1(3))) / 100) / dat_ready 'data3

dat_senyawa1(4) = Mid(dat, 113, 115)

senyawa1_lambda1(4) = ((Val(dat_senyawa1(4))) / 100) / dat_ready 'data4

dat_senyawa1(5) = Mid(dat, 126, 128)

senyawa1_lambda1(5) = ((Val(dat_senyawa1(5))) / 100) / dat_ready 'data5

'data senyawa 1 lambda 2:

dat_senyawa2(1) = Mid(dat, 139, 141)

senyawa1_lambda2(1) = ((Val(dat_senyawa2(1))) / 100) / dat_ready 'data1

dat_senyawa2(2) = Mid(dat, 152, 154)

senyawa1_lambda2(2) = ((Val(dat_senyawa2(2))) / 100) / dat_ready 'data2

dat_senyawa2(3) = Mid(dat, 100, 102)

senyawa1_lambda2(3) = ((Val(dat_senyawa2(3))) / 100) / dat_ready 'data3

dat_senyawa2(4) = Mid(dat, 165, 167)

senyawa1_lambda2(4) = ((Val(dat_senyawa2(4))) / 100) / dat_ready 'data4

dat_senyawa2(5) = Mid(dat, 178, 180)

senyawa1_lambda2(5) = ((Val(dat_senyawa2(5))) / 100) / dat_ready 'data5

'data untuk sampel senyawa 2

Text5.Text = Mid(dat, 199, 201) 'sinyal untuk data sampel senyawa 2 'data senyawa 2 lambda 1:

dat_senyawa3(1) = Mid(dat, 205, 207)

senyawa2_lambda1(1) = ((Val(dat_senyawa3(1))) / 100) / dat_ready 'data1

dat_senyawa3(2) = Mid(dat, 218, 220)

senyawa2_lambda1(2) = ((Val(dat_senyawa3(2))) / 100) / dat_ready 'data2

dat_senyawa3(3) = Mid(dat, 231, 233)

senyawa2_lambda1(3) = ((Val(dat_senyawa3(3))) / 100) / dat_ready 'data3

dat_senyawa3(4) = Mid(dat, 244, 246)

senyawa2_lambda1(4) = ((Val(dat_senyawa3(4))) / 100) / dat_ready 'data4

dat_senyawa3(5) = Mid(dat, 257, 259)

senyawa2_lambda1(5) = ((Val(dat_senyawa3(5))) / 100) / dat_ready 'data5

'data senyawa 2 lambda 2:

dat_senyawa4(1) = Mid(dat, 270, 272)

senyawa2_lambda2(1) = ((Val(dat_senyawa4(1))) / 100) / dat_ready 'data1

dat_senyawa4(2) = Mid(dat, 283, 285)

senyawa2_lambda2(2) = ((Val(dat_senyawa4(2))) / 100) / dat_ready 'data2

dat_senyawa4(3) = Mid(dat, 296, 298)

senyawa2_lambda2(3) = ((Val(dat_senyawa4(3))) / 100) / dat_ready 'data3

dat_senyawa4(4) = Mid(dat, 309, 311)

senyawa2_lambda2(4) = ((Val(dat_senyawa4(4))) / 100) / dat_ready 'data4

dat_senyawa4(5) = Mid(dat, 323, 325)

senyawa2_lambda2(5) = ((Val(dat_senyawa4(5))) / 100) / dat_ready 'data5

'data larutan campuran:

Text6.Text = Mid(dat, 344, 346) 'sinyal untuk data sampel 'data sampel lambda max 1:

dat_larutan1(1) = Mid(dat, 349, 351)

larutan_lambda1(1) = ((Val(dat_larutan1(1))) / 100) / dat_ready 'dat1

dat_larutan1(2) = Mid(dat, 361, 363)

larutan_lambda1(2) = ((Val(dat_larutan1(2))) / 100) / dat_ready 'dat2

dat_larutan1(3) = Mid(dat, 373, 375)

dat_larutan1(4) = Mid(dat, 385, 387)

larutan_lambda1(4) = ((Val(dat_larutan1(4))) / 100) / dat_ready 'dat4

dat_larutan1(5) = Mid(dat, 397, 399)

larutan_lambda1(5) = ((Val(dat_larutan1(5))) / 100) / dat_ready 'dat5

'data sampel lambda max 2:

dat_larutan2(1) = Mid(dat, 409, 411)

larutan_lambda2(1) = ((Val(dat_larutan2(1))) / 100) / dat_ready 'dat1

dat_larutan2(2) = Mid(dat, 421, 423)

larutan_lambda2(2) = ((Val(dat_larutan2(2))) / 100) / dat_ready 'dat2

dat_larutan2(3) = Mid(dat, 433, 435)

larutan_lambda2(3) = ((Val(dat_larutan2(3))) / 100) / dat_ready 'dat3

dat_larutan2(4) = Mid(dat, 445, 447)

larutan_lambda2(4) = ((Val(dat_larutan2(4))) / 100) / dat_ready 'dat4

dat_larutan2(5) = Mid(dat, 457, 459)

larutan_lambda2(5) = ((Val(dat_larutan2(5))) / 100) / dat_ready 'dat5

Text8.Text = Mid(dat, 469, 475) 'sinyal selesai

Dokumen terkait