• Tidak ada hasil yang ditemukan

LAPORAN AKHIR PENELITIAN PROFESOR

N/A
N/A
Protected

Academic year: 2022

Membagikan "LAPORAN AKHIR PENELITIAN PROFESOR"

Copied!
52
0
0

Teks penuh

(1)

LAPORAN AKHIR PENELITIAN PROFESOR

Pengembangan Beberapa Metode Matematik dalam Penentuan Waktu Mati Menggunakan Deret Homolog pada Sistem

Kromatografi Cair

TIM PENELITI

Prof. Dr.rer.nat. Rinaldi Idroes, S.Si 196808251994031003

Dr. Saiful, M.Si 196909221994121001

Irvanizam, M.Sc 198103152003121003

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SYIAH KUALA

OKTOBER, 2017

(2)
(3)

ii

RINGKASAN

Penelitian ini bertujuan untuk mengembangkan keakuratan metode penentuan waktu mati yang dikembangkan oleh Guardino, Waetzig, Braithwaite, Grobler, Heeg, Toth & Zala, Parcher dan Dominguez dengan memanfaatkan n-alkana sebagai deret homolog pada sistem kromatografi cair. Keakuratan penentuan waktu mati adalah suatu hal yang sangat penting dalam sistem Kromatografi cair karena merupakan parameter primer untuk penentuan parameter sekunder lainnya seperti waktu retensi netto, faktor retensi, waktu retensi relatif dan indeks retensi. Indeks retensi Kovats pertama kali dikembangkan oleh Ervin Kovats pada sistem kromatografi gas yang merupakan parameter retensi sekunder yang sering digunakan, karena nilainya relatif kokoh walaupun terjadi sedikit perubahan kondisi fisis seperti seperti suhu dan laju alir fasa gerak. Data indeks retensi yang diperoleh akan lebih bermanfaat jika ditandem dengan detektor spektrofotometer massa. Deret homolog n-alkana berfungsi untuk penentuan waktu mati yang akurat dan presisi sekaligus menjadi standar dalam perhitungan indeks retensi Kovats. Aplikasi penelitian ini sangat bermanfaat dalam pengembangan metode analisa kimia kualitatif pada era perdagangan bebas saat ini, diantaranya untuk kontrol kualitas pada komoditas ekspor – impor, penjaminan mutu obat dan makanan dan lain - lain.

(4)

iii

PRAKATA

Segala puji kehadirat Allah SWT, karena berkat Qudrah dan Iradah-Nya sehingga peneliti dapat menyelesaikan penelitian Fundamental ini dengan sebaik-baiknya, yang berjudul

“Pengembangan Beberapa Metode Matematik dalam Penentuan Waktu Mati Menggunakan Deret Homolog pada Sistem Kromatografi Cair”.

Penelitian ini didanai oleh Universitas Syiah Kuala, Kementrian Riset, Teknologi dan Pendidikan Tinggi, sesuai dengan Surat Perjanjian Penugasan Pelaksanaan Penelitian Profesor Tahun Anggaran 2017 Nomor : 1442/UN11/SP/PNBP/2017 tanggal 18 Mei 2017.

Banyak yang berkontribusi untuk keberhasilan penelitian ini baik perorangan maupun institusi terutama dukungan moril dan materil. Berikut adalah para pihak yang selayaknya kami ucapkan terima kasih yaitu:

1. Universitas Syiah Kuala, Kementrian Riset, Teknologi dan Pendidikan Tinggi.

2. Ketua LPPM Unsyiah yang telah mendukung terlaksananya penelitian ini.

3. Para Reviewer internal LPPM Universitas Syiah Kuala.

4. Dekan Fakultas MIPA Unsyiah yang telah mendukung terlaksananya penelitian ini.

5. Ketua/Sekretaris Jurusan Fisika FMIPA Unsyiah atas motivasi yang diberikan untuk peneliti sehingga dapat menyelesaikan penelitian ini tepat waktu.

6. Para Mahasiswa yang telah membantu Rivansyah Suhendra, Muhammad Yusuf, Muksin Alatas, Subhan, Andi Lala, Mahmudi.

7. Teman-teman di jurusan Kimia FMIPA Unsyiah atas masukan terhadap proses dan hasil penelitian ini.

Tiada gading yang tak retak, begitu juga dengan laporan kemajuan penelitian ini masih banyak terdapat kekurangan. Untuk itu saran dan masukan yang konstruktif untuk perbaikan sangat diharapkan.

Banda Aceh, Oktober 2017

Peneliti

(5)

iv

DAFTAR ISI

Halaman

RINGKASAN ... ii

PRAKATA ... iii

DAFTAR ISI ... iv

DAFTAR TABEL ... v

DAFTAR GAMBAR ... vi

DAFTAR LAMPIRAN ... vii

BAB I PENDAHULUAN ... 1

Latar Belakang ... 1

Permasalahan ... 2

Tujuan Khusus ... 2

Urgensi Penelitian ... 2

Temuan yang Ditargetkan ... 3

BAB II TINJAUAN KEPUSTAKAAN ... 4

Metode Matematis dalam Penentuan Waktu Mati ... 4

Peta Jalan Penelitian Waktu Mati dan Indeks Kovats dalam Sistem Kromatografi ... 5

BAB III TUJUAN DAN MANFAAT PENELITIAN ... 6

Tujuan Penelitian ... 6

Manfaat Penelitian ... 6

BAB IV METODOLOGI PENELITIAN ... 7

Tempat Dan Waktu Penelitian ... 7

Prosedur Kerja ... 7

4.2.1 Metode Perhitungan Waktu Mati dengan Metode Matematik ... 7

Fishbone ... 10

BAB V HASIL DAN LUARAN YANG DICAPAI ... 11

Pengembangan Aplikasi ... 11

Hasil Perhitungan Waktu Mati ... 21

Hasil Perhitungan Waktu Mati Pengaruh Polaritas ... 24

Hasil Perhitungan Waktu Mati Pengaruh Deret Homolog ... 26

BAB V SIMPULAN DAN SARAN ... 28

Simpulan Penelitian ... 28

Saran ... 28

DAFTAR KEPUSTAKAAN ... 29

(6)

v

DAFTAR TABEL

Tabel 1.1. Target Luaran 2017 ... 3 Tabel 2.1. Peta Jalan Penelitian ... 5 Tabel 5.1. Hasil Perhitungan Waktu Mati Pengaruh Polaritas pada Methanol dan

Acetonotrile ... 24 Tabel 5.2. Hasil Perhitungan Waktu Mati Pengaruh Deret Homolog pada Methanol dan

Acetonotrile ... 26

(7)

vi

DAFTAR GAMBAR

Gambar 4.1 Fishbone Penelitian ... 10

Gambar 5.1 Flowchart metode non-linier ... 12

Gambar 5.2 Flowchart metode Interasi ... 15

Gambar 5.3 Flowchart metode Spreadsheet ... 18

Gambar 5.4. Flowchart metode Statistik ... 21

Gambar 5.5 Hasil Perhitungan Waktu mati pada Polaritas 80/20 ... 24

Gambar 5.6 Hasil Perhitungan Waktu mati pada Polaritas 70/30 ... 25

Gambar 5.7 Hasil Perhitungan Waktu mati pada Polaritas 60/40 ... 25

Gambar 5.8 Hasil Perhitungan Waktu mati pada Polaritas 50/50 ... 25

Gambar 5.9 Hasil Perhitungan Waktu mati pada Deret Homolog n-alkana ... 27

Gambar 5.10 Hasil Perhitungan Waktu Mati pada Deret Homolog Alkylbenzole ... 27

Gambar 5.11 Hasil Perhitungan Waktu Mati pada Deret Homolog 2-Alkanone ... 27

Gambar 5.12 Hasil Perhitungan Waktu Mati pada Deret Homolog Alkylarylketone .... 27

(8)

vii

DAFTAR LAMPIRAN

(9)

1

1 BAB I

PENDAHULUAN

Latar Belakang

Parameter dalam kromatografi sering disebut dengan istilah parameter retensi dan digunakan untuk menjelaskan data hasil analisis baik secara kualitatif maupun kuantitatif (Dominguez et al, 2001). Parameter retensi yang paling umum dipakai adalah waktu retensi, waktu mati, waktu retensi terkoreksi dan faktor kapasitas. Beberapa parameter lain seperti efisiensi (N), Height Equivalent to One Theoretical Plate (HETP), Selektivitas (α) dan Resolusi (Rs) terkadang juga digunakan untuk mendukung validasi data hasil pengukuran.

Parameter retensi yang bersifat primer hanya waktu retensi dan waktu mati.

Sedangkan yang lainnya bersifat parameter sekunder dimana nilainya ditentukan oleh nilai dari parameter waktu retensi (Furr et al, 1989). Nilai dari waktu retensi dihasilkan dari hasil retensi langsung sampel selama waktu analisis. Sedangkan waktu mati diperoleh melalui pengukuran senyawa marker dengan kondisi analisis yang sama dengan sampel (Waetzig et al, 1991). Bisa diasumsikan bahwa waktu mati adalah waktu retensi dari marker. Waktu retensi tidak konstan terhadap perubahan kondisi analisis. Nilai dari waktu retensi akan sangat bergantung terhadap kondisi analisis (Ettre et al, 2001).

Perbedaan jenis fasa diam/kolom, laju alir fasa gerak, temperatur kolom dan jenis fasa gerak (pada kromatografi cair) akan memberikan nilai waktu retensi berbeda meskipun itu dilakukan pada sampel yang sama.

Tahun 1958, E. Kovats memperkenalkan sebuah terobosan baru terhadap parameter retensi berupa nilai indeks dari waktu retensi yang selanjutnya dikenal dengan sebutan indeks retensi kovats (Kovats, 1958). Indeks retensi kovats merupakan suatu konsep yang diperkenalkan pertama kali pada gas kromatografi untuk mengubah waktu retensi menjadi suatu sistem yang tetap. Konsep ini diperkenalkan dengan mengambil hubungan antara bilangan karbon senyawa deret homolog nC dengan logaritma waktu retensi terkoreksi (log t'R) pada temperatur yang telah ditetapkan (isotermal) adalah linier.

Indeks retensi Kovats adalah parameter dengan keberulangan yang lebih baik dibanding waktu retensi, faktor retensi, dan retensi relatif, karena tidak sensitif terhadap sedikit perubahan kondisi eksperimen seperti terhadap perubahan laju alir gas, suhu kolom dan jumlah sampel yang diinjeksi (Idroes, 2010). Indeks retensi merupakan

(10)

2 parameter sekunder yang dalam perhitungannya memerlukan data waktu retensi dan waktu mati (Idroes, 2016). Indeks retensi memberikan informasi terhadap nilai nC dari analit yang terpisah sehingga nilai waktu retensi yang dikonversi kedalam nilai indeks retensi akan memberikan informasi penting termasuk jumlah atom karbon dari analit- analit tersebut.

Penentuan waktu mati sering dilakukan melalui injeksi senyawa yang dianggap tidak tertahan dalam kolom ataupun melalui metode matematis menggunakan deret homolog. Beberapa metode matematis yang pernah diteliti adalah metode iterasi (Idroes, 2016) dan metode Non-Linier (Waetzig, 1991) terutama pada sistem kromatografi gas.

Permasalahan

Kesalahan penentuan waktu mati berpengaruh terhadap benar tidaknya nilai parameter retensi lainnya, terutama nilai indeks retensi yang merupakan parameter retensi untuk perhitungan kualitatif yang sangat reproducible. Beberapa jurnal dalam perhitungan waktu mati tidak sekaligus dikaitkan dengan perhitungan indeks retensi kovats, begitu juga tidak menggunakan deret homolog n-alkana. Begitu juga dalam penelitiannya, beberapa peneliti tidak menentukan dan membahas accuracy dan precision sebagai aspek penting dalam analitik.

Tujuan Khusus

Penelitian ini bertujuan menentukan waktu mati (to) dan indeks retensi (IR) deret homolog n-alkana menggunakan beberapa metode matematis yang dapat dilihat pada subbab 3.2.1.1 hingga 3.2.1.8. Selanjutnya akan dilakukan perbaikan terhadap algoritma beberapa metode matematis yang diperkirakan masih keliru berdasarkan beberapa ujicoba yang akan dilakukan. Selanjutnya hasil dari perhitungan metode matematis akan dibandingkan dengan metode matematis matematis yang sudah dianggapyaitu metode iterasi Guardino.

Urgensi Penelitian

 Mempelajari sifat-sifat n-alkana dan mempelajari kemungkinan terapannya sebagai deret homolog utama dalam penentuan waktu mati pada system HPLC.

(11)

3

 Dihasilkan software untuk perhitungan waktu mati yang akurat dan teliti sehingga dapat diaplikasikan pada penelitian-penelitian dan analisa rutin dalam bidang kromatografi cair.

 Jika dikaitkan secara spesifik dengan kemungkinan pemecahan masalah nasional dapat di deskripsikan bahwa temuan ini kedepan berkontribusi untuk peningkatan

“Quality Control” produksi nasional baik untuk distribusi produksi komoditi berkualitas untuk digunakan di dalam negeri maupun untuk produksi yang berorientasi ekspor. Sehingga dapat meningkatkan daya saing produksi nasional dalam persaingan perdagangan bebas.

Temuan yang Ditargetkan

Pada penelitian ini ditargetkan untuk ditemukan teori, gejala dan rekomendasi baru dengan kemutakhiran dan orisinilitas yang tinggi yang akan dipublikasikan pada jurnal internasional bereputasi yang dapat dilihat pada lampiran 5. Teori gejala maupun fenomena baru yang ditemukan dapat juga dirumuskan nantinya menjadi buku ajar yang dapat dipergunakan oleh mahasiswa yang mengambil mata kuliah Kromatografi dan Analisis Instrumentasi yang dapat dilihat pada tabel (1.1).

Luaran pada penelitian ini bukan suatu produk instan yang langsung dapat dilihat dan langsung dapat dimanfaatkan akan tetapi berupa suatu pengembangan metode.

Keberhasilan dalam penelitian ini secara mendasar dapat dipublikasikan dan berdampak pada revolusi produk untuk masa depan kualitas produksi, lingkungan, energi dan hampir dalam segala aspek kehidupan terutama kualitas dalam dunia perdagangan dunia di era MEA/WTO.

Tabel 1.1. Target Luaran 2017

No Jenis Luaran Penelitian Indikator Capaian 1 Publikasi Jurnal internasional

bereputasi Reviewed/Accepted/Published

2 Pemakalah dalam temu

ilmiah Internasional Terlaksana

3 Buku Referensi (ISBN) Published

(12)

4

2 BAB II

TINJAUAN KEPUSTAKAAN

Metode Matematis dalam Penentuan Waktu Mati

Penentuan waktu mati biasanya dilakukan menggunakan senyawa penanda (marker substance) pada instrumen. Waktu mati yang dihasilkan dari marker dapat langsung diketahui saat proses kromatografi dilakukan dengan cara menginjeksikan marker ke injektor instrumen. Berbeda dengan metode matematis dimana nilai waktu mati dihasilkan dari perhitungan matematis berdasarkan waktu retensi dari n-alkana berdasarkan nomor atom karbon (nC). Nilai indeks Kovats akan dihasilkan dari nilai waktu mati yang telah dihitung sebelumnya. Beberapa metode matematis yang sering digunakan antara lain metode iterasi, metode non-linier metode statistik dan lain - lain.

Parameter waktu mati diperlukan untuk memperkirakan berbagai parameter kromatografi lainnya, seperti waktu retensi terkoreksi, nilai k', nomor plat (N), resolusi (Rs), dan indeks retensi (IR). Banyaknya parameter ini menyulitkan optimasi kondisi kromatografi. Waktu mati merupakan dasar untuk memperoleh data retensi relatif yang akan digunakan sebagai pembanding intra dan inter laboratorium (Waetzig et al, 1989).

Waktu mati adalah waktu tinggal senyawa yang dianggap tidak tertahan pada kolom.

Waktu mati yang dihitung dari deret homolog menggunakan data retensi deret homolog dekana sampai heksadekana nilai yang diperoleh hampir sama dengan waktu mati jika menggunakan marker (Guardino, 1976).

Mulai tahun 1970 hingga 2000 beberapa kelompok peneliti telah mengembangkan beberapa metode dalam penentuan waktu mati [Guardino et al, 1976; Parcher, 1980;

Dominguez, 1977; Toth dan Zala, 1984; Heeg,1979; Grobler,1974; Braithwaite,1993;

Waetzig,1991]. Metode – metode tersebut memiliki pendekatan matematis tersendiri, dimana perhitungan waktu mati dilakukan dengan mencari hubungan antara waktu retensi dengan slope dan intercept nya. Pada penelitian ini akan dilakukan perhitungan secara matematis dengan menggunakan deret homolog pada sistem kromatografi cair

(13)

5 Peta Jalan Penelitian Waktu Mati dan Indeks Kovats dalam Sistem

Kromatografi

Tabel 2.1 Peta Jalan Penelitian

2015 2016 2017 2018 2019

Pengembangan Kerjasama dengan Universiti Sains Malaysia (USM),

Program Kegiatan :

Pengembangan metode linearisasi dan non-linier

Output Tugas Akhir S1 (1)

Output publikasi:

Jurnal Nasional terakreditasi (1)

Pengembangan Kerjasama dengan Saarland University Germany

Program Kegiatan:

Aplikasi perhitugan waktu mati metode matematis dalam kromatografi gas

Output Tugas Akhir S1 (1)

Output publikasi:

Jurnal Internasional Bereputasi (1)

Pengembangan Kerjasama dengan Prince Songkhla University Thailand

Program Kegiatan:

Aplikasi perhitugan waktu mati metode matematis dalam kromatografi cair

Output Tugas Akhir S1 (1)

Output publikasi:

Jurnal Internasional Bereputasi (1) dan Jurnal

Internasional (1)

Pengembangan Kerjasama dengan Universiti

Kebangsaan Malaysia (UKM)

Program Kegiatan : Aplikasi Penentuan waktu mati matematis berbasis WEB

Output Tugas Akhir S1 (1), S2 (1)

Output publikasi:

Jurnal Internasional Bereputasi (2)

Pengembangan Kerjasama dengan Braunschweig University Germany

Program Kegiatan : Server Aplikasi data waktu mati dan dapat diakses secara internasional

Output Tugas Akhir S1 (1), S2 (1), dan S3 (3)

Output publikasi:

Jurnal Internasional Bereputasi (2)

(14)

6

3 BAB III

TUJUAN DAN MANFAAT PENELITIAN

Tujuan Penelitian

Penelitian ini bertujuan menentukan waktu mati (to) dan indeks retensi (IR) deret homolog n-alkana menggunakan beberapa metode matematis. Selanjutnya akan dilakukan perbaikan terhadap algoritma beberapa metode matematis yang diperkirakan masih keliru berdasarkan beberapa ujicoba yang akan dilakukan. Selanjutnya hasil dari perhitungan metode matematis akan dibandingkan dengan metode matematis matematis yang sudah dianggap yaitu metode iterasi Guardino.

Manfaat Penelitian

Pemecahan masalah nasional dapat di deskripsikan bahwa temuan ini kedepan berkontribusi untuk peningkatan “Quality Control” produksi nasional baik untuk distribusi produksi komoditi berkualitas untuk digunakan di dalam negeri maupun untuk produksi yang berorientasi ekspor. Sehingga dapat meningkatkan daya saing produksi nasional dalam persaingan perdagangan bebas.

(15)

7

4 BAB IV

METODOLOGI PENELITIAN

Tempat Dan Waktu Penelitian

Penelitian dilaksanakan di Laboratorium Instrumentasi Jurusan Kimia FMIPA Unsyiah, Laboratorium Informatika Jurusan Informatika FMIPA Unsyiah dan Laboratorium Teknologi Farmasi BPPT Serpong mulai bulan Maret hingga November 2017.

Prosedur Kerja

Dipipet 1 mL masing-masing senyawa n-alkana (heksana-dekana), dimasukkan ke dalam labu ukur 25 mL. Kemudian ditambahkan 8 mL tetrahidrofuran (THF) dan diencerkan sampai tanda batas dengan menggunakan metanol. Dihidupkan alat kromatografi cair (HPLC), kemudian diambil 1 µL larutan tersebut dan dinjeksikan ke injektor sehingga diperoleh hasil (kromatogram). Hasil pengukuran ditabulasi dan dihitung waktu mati berdasarkan metode berikut.

4.2.1 Metode Perhitungan Waktu Mati dengan Metode Matematik 4.2.1.1 Metode Non-Linear (Waetzig,1991)

Algoritma baik untuk estimasi waktu mati pada HPLC telah diusulkan, yang dapat digunakan dalam GC dan HPLC (Watzig, 1991 & Watzig, 1989) menggunakan persamaan (3.1) berikut

tR = to + exp(ao + a1 · nC) ...(3.1) 4.2.1.2 Metode Iterasi (Guardino,1976)

Penentuan awal dari waktu mati mesti lebih rendah dari pada waktu mati perhitungan matematis. Waktu retensi terkoreksi ditentukan dengan valuasi ini, selanjutnya a1, a0 dan indeks retensi (RI) dapat dihitung dengan regresi linier. Dari flowchart yang dikembangkan oleh Guardino, dapat dijelaskan sebagai berikut. UPLIM dan LOWLIM adalah batas atas dan batas bawah dari jumlah kuadrat deviasi.RI adalah indeks retensi Kovats yang diketahui (100nc, dimana nc adalah bilangan atom karbon).

PREC adalah nilai ketelitian yang diberikan (Guardino,1976).

(16)

8 4.2.1.3 Metode Statistika (Grobler,1974)

Sebuah metode statistika diperkenalkan untuk menghitung indeks retensi dengan lebih dari 3 n-alkane. Dua deret homolog n-alkane tidak cukup untuk menentukan indeks retensi walaupun nilai waktu mati diukur secara akurat (Grobler,1974).

Menggunakan setidaknya 4 n-alkana secara berurutan, nilai slope dapat dihitung berdasarkan logaritma dari perbedaan antara waktu retensi n-alkana yang berdekatan :

4.2.1.4 Metode Spreadsheet (Braithwaite,1993)

Waktu retensi (tRn) dari serangkaian deret homolog dicatat secara akurat pada output GC. Nilai awal kolom waktu mati (yaitu tR [CH4] - 0,1) kemudian digunakan untuk menentukan waktu retensi yang disesuaikan (t’R) dari deret homolog (Braithwaite,1993).

4.2.1.5 Metode Optimasi Koefisien Korelasi (Heeg,1979)

Metode perhitungan indeks retensi berdasarkan hubungan linear antara logartima dari waktu mati terkoreksi dan nomor karbon. Pengukuran yang pasti dari waktu retensi n-alkana menampilkan hubungan lg ts = f(C) nyatanya tidak begitu linear. Waktu mati (tm) dihitung berdasarkan perbedaan dari waktu retensi deret homolog (Heeg,1979).

tm+s(i) = u 10aC(i)+const’ + tm...(3.11) 4.2.1.6 Metode Deret Homolog yang Tidak Berurutan (Toth & Zala,1984)

Toth & Zala mengembangkan sebuah metode yang dapat menghitung konstan b, c dab tM untuk deret homolog yang tidak berurutan (Toth,1984). Nilai konstanta b dan c

... (3.9)

... (3.10)

(17)

9 dihitung berdasarkan deret homolog dan waktu mati lalu dapat dihitung berdasarkan persamaan :

tM = tR(Z) – exp(bZ + c ) ...(3.12)

4.2.1.7 Metode Linier (Parcher,1980)

Akurasi dalam perhitungan waktu mati dari zat terlarut yang tak tertahan menjadi hal penting dalam menentukan nilai volume retensi dan data indeks retensi yang terpercaya. Pada beberapa kasus, nitrogen atau metana bisa digunakan untuk mengevaluasi waktu mati, tetapi dikasus lainnya, waktu retensi yang terkoreksi dihitung secara matematis (Parcher,1980).

... (3.13) 4.2.1.8 Metode Kalkulator (Dominguez,1977)

Metode ini menggunakan perhitungan jarak dari tiga deret homolog dari nomor karbon n1, n2, dan n3 sehingga n2 – n1 = n3 - n2. Jika y1, y2 dan y3 adalah jarak data eksperimen pada kromatogram dan dihitung dari titik y0, error δ, atau jarak antara y0 dan nilai waktu mati titik x0 dapat dihasilkan dengan bantuan persamaan (3.14) :

𝛿 = (𝑦2)2−𝑦1𝑦3

𝑦1+ 𝑦3−2𝑦2 ...(3.14)

(18)

10 Fishbone

Gambar 4.1 Fishbone Penelitian

Metode waktu mati Kurang teliti dan Kurang akurat sedangkan

Indeks retensi Kovats Tidak distandarisasi Terhadap n-alkana Diperoleh

Indeks Retensi yang akurat dan presisi dengan menggunakan n-alkana sebagai standar untuk perhitungan waktu

mati

Perbandingan Metode Matematis

Uji Coba Metode Matematis

Validasi Metode

Matematis Pengembangan Flowchart Pengolahan

Data

Perbaikan Metode

Set-up peralatan eksperimen

Studi Literatur

1 bulan 2 bulan 2,5 bulan 3,5 bulan Hasil

(19)

11

5 BAB V

HASIL DAN LUARAN YANG DICAPAI

Pengembangan Aplikasi

Pengembangan aplikasi dilakukan berdasarkan metode matematis non-linier, metode iterasi, metode Spreadsheet dan Metode Statistik. Perhitungan dan pendekatan matematis diimplementasikan menggunakan Bahasa pemrograman ANSI C dengan memanfaatkan library yang sudah tersedia. Aplikasi untuk masing– masing metode dibuat secara terpisah dalam beberapa file.

5.1.1. Program penentuan waktu mati metode non-linier

Program metode non-linier Waetzig dibangun berdasarkan alir diagram metode penentuan waktu mati Waetzig. Program yang dibuat yaitu Waetzig.c sebagai program utama, Invers.c untuk menghitung nilai Sintak untuk menjalankan program ini yaitu:

./Waetzig [data-waktu-retensi.txt] [file-output.txt] –lm

Data input berupa file txt dari waktu retensi yang ingin dihitung waktu matinya dan file output berupa file *.txt yang berisi proses serta hasil perhitungan waktu mati dari metode non-linier Waetzig. Sintak –lm adalah sebagai penanda dan syarat eksekusi dari program yang menggunakan library math.h.

(20)

12 Gambar 5.1 Flowchart metode non-linier

Cara Kerja Program metode non-linier

Program dimulai dengan proses input data waktu retensi dan nomor atom karbon. Data waktu retensi dan nomor atom karbon tersebut disimpan didalam sebuah file teks dengan format nomor karbon dan waktu retensi yang berpasangan. Berikut source code proses input data:

//Simpan data waktu retensi dan nc kedalam array while((fscanf(iFile,"%d\t%lf\n",&c,&b))!=EOF){

n[z] = c;

rt[z] = b;

sum+=n[z];

z++;

zz++;

TOT_NO_ATOM++; }

(21)

13 Proses dilakukan menggunakan perulangan while dari waktu retensi pertana hingga terakhir. Data waktu retensi dibaca lalu dimasukkan kedalam array rt[z] sedangkan data nomor karbon dimasukkan kedalam array n[z].

Selanjutnya dilakukan proses inisialisasi untuk setiap variabel seperti jumlah iterasi i=0, waktu mati awal=0.9, a1=1 dan lain-lain. Iterasi pertama dilakukan untuk menghitung nilai d1, d2, dan d3 yang nantinya dimasukkan kedalam matriks yang berukuran n x 3 dengan code berikut:

for (i=0; i<TOT_NO_ATOM; i++){

for(j=0; j<N_KOLOM_MATRIKS; j++){

switch (j){

case 0 : D[i][j] = 1+exp(a1*n[i]+a0);break;

case 1 : D[i][j] = t0*exp(a1*n[i]+a0);break;

case 2 : D[i][j] = n[i]*t0*exp(a1*n[i]+a0); break;

}

transpose[j][i] = D[i][j];

printf("%lf\t", D[i][j]);

fprintf (oFile,"%lf\t", D[i][j]);

}

printf("\n");

fprintf (oFile,"\n");

}

Matriks yang telah dihasilkan lalu masuk kedalam iterasi kedua dimana matriks tersebut ditranpose dan dikalikan dengan matriks inversnya:

kali_matriks (N_KOLOM_MATRIKS, N_KOLOM_MATRIKS, TOT_NO_ATOM, Z, transpose, &tmp[0][0]);

printf("\nMatriks tmp\n");

fprintf (oFile,"\nMatriks tmp\n");

for(i = 0; i < N_KOLOM_MATRIKS; i++){

for(j = 0; j < TOT_NO_ATOM; j++){

printf("%.5lf\t", tmp[i][j]);

fprintf (oFile,"%.5lf\t", tmp[i][j]);

}

printf("\n");

fprintf (oFile,"\n");

}

Lalu didapatkan nilai t0,a0 dan a1 terbaru, proses perhitungan ini diulang hingga dxt0, dxa0

dan dxa1 lebih kecil dari batas yang telah ditentukan dan didapatkan nilai waktu mati akhir.

//update nilai t0, a0 dan a1 t0 = t0+dx[0][0];

a0 = a0+dx[1][0];

a1 = a1+dx[2][0];

(22)

14 5.1.2. Program penentuan waktu mati metode iterasi Guardino

Program metode iterasi Guardino dibangun berdasarkan alir diagram metode penentuan waktu mati Guardino. Program yang dibuat yaitu hanya Guardino.c sebagai program utama. Sintak untuk menjalankan program ini yaitu:

./Guardino [data-waktu-retensi.txt] [file-output.txt] –lm

Parameter Command Line Argument dari program Guardino ini sama dengan program Waetzig, dimana data input berupa file *.txt dari waktu retensi yang ingin dihitung waktu matinya dan file output berupa file *.txt yang berisi proses serta hasil perhitungan waktu mati dari metode iterasi Guardino.

(23)

15 Gambar 5.2 Flowchart metode Interasi

(24)

16 Cara Kerja Program metode Iterasi

Program dimulai dengan proses input data waktu retensi dan nomor atom karbon. Data waktu retensi dan nomor atom karbon tersebut disimpan didalam sebuah file teks dengan format nomor karbon dan waktu retensi yang berpasangan. Berikut source code proses input data:

//Simpan data waktu retensi dan nc kedalam array while((fscanf(iFile,"%d\t%lf\n",&c,&b))!=EOF){

n[z] = c;

rt[z] = b;

sum+=n[z];

z++;

zz++;

TOT_NO_ATOM++; }

Proses dilakukan menggunakan perulangan while dari waktu retensi pertana hingga terakhir. Data waktu retensi dibaca lalu dimasukkan kedalam array rt[z] sedangkan data nomor karbon dimasukkan kedalam array n[z].

Selanjutnya dilakukan proses inisialisasi untuk setiap variabel seperti jumlah iterasi i=0, waktu mati awal=0, Prec=0.0001 dan lain-lain. Iterasi pertama adalah penentuan i[j] yang merupakan nilai indeks kovats teori dari masing-masing nomor karbon dan lt[j] merupakan log dari waktu retensi dikurangi waktu mati. Berikut source code dari proses tersebut:

//Looping mencari nilai i[j] dan lt[j]

for(j = 0;j<TOT_NO_ATOM;j++){

i[j]=n[j]*100;

sx=sx+i[j];

xs=xs+(i[j]*i[j]);

lt[j] = log(fabs(rt[j]-t0));

}

Lalu dilanjutkan dengan menghitung nilai A (Slope), B (intercept) dan nilai LINEAR SQUARE ADJUSMENT. Setelah itu dihasilkan nilai SXX dimana jika SXX lebih besar dari SUM maka iterasi akan berlanjut hingga keadaan tersebut berhenti.

//Mencari nilai Linear Square Adjustment mx = sx/TOT_NO_ATOM;

my = sy/TOT_NO_ATOM;

nm = sm - ((sx * sy) / TOT_NO_ATOM);

dn = xs - ((sx * sx) / TOT_NO_ATOM);

aa = nm/dn; //slope

bb = my - (aa*mx); //intercept

(25)

17

rr = nm / sqrt(fabs((xs - ((sx*sx)/TOT_NO_ATOM)) * (ys- ((sy*sy)/TOT_NO_ATOM))));

Jika SXX sudah tidak lebih besar SUM maka dilanjutkan dengan iterasi kedua dimana jika SXX lebih besar sama dengan SUM maka nilai t0 = t0 + 2dt0, jika SSX lebih kecil dari SUM maka nilai t0 = t0 + dt0. Iterasi akan berhenti jika dto lebih kecil daripada prec yang telah di inisialisasi diawal.

5.1.3. Program penentuan waktu mati metode Spreadsheet

Program metode Spreadsheet Braithwaite dibangun berdasarkan alir diagram metode penentuan waktu mati Braithwaite. Program yang dibuat yaitu hanya Braithwaite.c sebagai program utama. Sintak untuk menjalankan program ini yaitu:

./Braithwaite [data-waktu-retensi.txt] [file-output.txt] – lm

Parameter Command Line Argument dari program Braithwaite ini sama dengan program sebelumnya, dimana data input berupa file *.txt dari waktu retensi yang ingin dihitung waktu matinya dan file output berupa file *.txt yang berisi proses serta hasil perhitungan waktu mati dari metode Spreadsheet.

(26)

18 Gambar 5.3 Flowchart metode Spreadsheet

(27)

19 Cara Kerja Program metode Spreadsheet

Program dimulai dengan proses input data waktu retensi dan nomor atom karbon.

Data waktu retensi dan nomor atom karbon tersebut disimpan didalam sebuah file teks dengan format nomor karbon dan waktu retensi yang berpasangan. Berikut source code proses input data:

//Simpan data waktu retensi dan nc kedalam array while((fscanf(iFile,"%d\t%lf\n",&c,&b))!=EOF){

n[z] = c;

rt[z] = b;

sum+=n[z];

z++;

zz++;

TOT_NO_ATOM++; }

Proses dilakukan menggunakan perulangan while dari waktu retensi pertana hingga terakhir. Data waktu retensi dibaca lalu dimasukkan kedalam array rt[z]

sedangkan data nomor karbon dimasukkan kedalam array n[z].

Selanjutnya dilakukan proses inisialisasi untuk setiap variabel seperti jumlah iterasi i=0, waktu mati awal = rt[0]-0.1, Prec=0.001 dan lain-lain. Proses pertama kali dilakukan pada metode ini yaitu menghitung logaritma dari waktu retensi dikurangi waktu mati awal. Hasil dari perhitungan ini menjadi dasar perhitungan nilai koefisien korelasi 1 (kv1), setelah kv1 didapatkan maka nilai kv1 diserahkan kepada kv2, lalu t0 = t0 – dt0 lalu nilai kv1 dihitung ulang.

kv1 = nm / sqrt(fabs((xs - ((sx*sx)/TOT_NO_ATOM)) * (ys- ((sy*sy)/TOT_NO_ATOM))));

Jika (1-kv1) < (1-kv2) maka perulangan sebelumnya dilanjutkan, nila kv1 dan kv2 dihitung kembali hingga keadaan (1-kv1) < (1-kv2) menjadi salah.

if((1-kv1)<(1-kv2)){

}else{

}}while((1-kv1)<(1-kv2));

}else{

}

if(kv2>kv1){

if(dt0==0.001){

t0 = t0 + dt0;

}else{

t0 = t0 + (2*dt0);

}}

(28)

20 Nilai waktu mati yang dihasilkan akan didapat jika nilai dt0 lebih kecil daripada nilai prec yang telah diinisialisasi sebelumnya. Pada dasarnya metode ini mirip dengan metode iterasi dimana perulangan akan terus dilakukan hingga nilai penentu lebih kecil dari pada nilai presisi (prec).

5.1.4. Program penentuan waktu mati metode Statistik

Program metode Statistik Grobler dibangun berdasarkan alir diagram metode penentuan waktu mati Grobler. Program yang dibuat yaitu hanya Grobler.c sebagai program utama. Sintak untuk menjalankan program ini yaitu:

./Grobler [data-waktu-retensi.txt] [file-output.txt] –lm

Parameter Command Line Argument dari program Grobler ini sama dengan program sebelumnya, dimana data input berupa file *.txt dari waktu retensi yang ingin dihitung waktu matinya dan file output berupa file *.txt yang berisi proses serta hasil perhitungan waktu mati dari metode Statistik.

(29)

21 Gambar 5.4. Flowchart metode Statistik

Cara Kerja Program metode Iterasi

Program dimulai dengan proses input data waktu retensi dan nomor atom karbon.

Data waktu retensi dan nomor atom karbon tersebut disimpan didalam sebuah file teks dengan format nomor karbon dan waktu retensi yang berpasangan. Berikut source code proses input data:

//Simpan data waktu retensi dan nc kedalam array while((fscanf(iFile,"%d\t%lf\n",&c,&b))!=EOF){

n[z] = c;

rt[z] = b;

sum+=n[z];

(30)

22

z++;

zz++;

TOT_NO_ATOM++; }

Proses dilakukan menggunakan perulangan while dari waktu retensi pertana hingga terakhir. Data waktu retensi dibaca lalu dimasukkan kedalam array rt[z]

sedangkan data nomor karbon dimasukkan kedalam array n[z].

Selanjutnya dilakukan proses inisialisasi untuk setiap variabel seperti jumlah iterasi i=0 dan lain-lain. Proses pertama kali dilakukan pada metode ini yaitu menghitung nilai slope menggunakan source code berikut:

for(j=0;j<TOT_NO_ATOM;j++){

t1 += pow(q,n[j]);

t2 += rt[j] * pow(q,n[j]);

t3 += pow(q,(2 * n[j]));

t4 += rt[j];

}

t5 = pow (t1,2); //t5=slope

Perhitungan waktu mati dimetode statistika ini sangat sederhana, dimana hanya menghitung nilai slope lalu menghitung nilai t0 menggunakan persamaan 3.9. Waktu mati dihasilkan menggunakan perhitungan statistika antara waktu retensi yang saling berdekatan, sehingga untuk menghitung waktu mati menggunakan metode ini, data waktu retensi harus memili nilai bilangan karbon yang berurutan (Regulary) dan tidak dapat diterapkan untuk data yang tidak berurutan (Unregulary). Berikut source code dari perhitungan waktu mati metode statistik:

t0 = fabs(((t1 * t2) - (t3 * t4))/(t5 - (TOT_NO_ATOM * t3)));

(31)

23 Hasil Perhitungan Waktu Mati

Perhitungan waktu mati menggunakan data HPLC menggunakan deret homolog n- alkana, 2-Alkanone, Alkilbenzole dan Akylaryketone. Pengujian dilakukan pada dua sistem yaitu Methanol Air (MeOH/H2O) dan Acetonitrile Air (ACN/H2O). Masing- masing sistem diuji menggunakan polaritas berbeda. Perbandingan dilakukan dengan menguji data pada pengaruh Polaritas, dimana sistem yang digunakan selalu tetap dengan polaritas yang berbeda sedangkan untuk pengaruh sistem, maka waktu mati akan dihitung berdasarkan sistem yang berbeda dimana polaritas yang digunakan akan tetap.

Data waktu retensi yang digunakan yaitu data pada deret homolog n-alkana, 2- Alkanone, Alkilbenzole dan Akylaryketone yang divariasikan pada kolom yang sama.

Parameter polaritas pada suhu yang sama juga digunakan agar mendapatkan hasil yang bervariasi. Perlakuan ini bertujuan untuk memperoleh hasil perhitungan waktu mati secara matematis memiliki faktor pembanding yang tepat sehingga dapat dijelaskan secara numerik maupun melalui pendekatan kimia.

Waktu mati dihitung menggunakan metode non-linier, iterasi, spreadsheet dan statistika yang sudah dibangun menggunakan bahasa pemrograman ANSI C. Perhitungan dilakukan pada mesin yang sama sehingga perhitungan waktu mati yang dihasilkan akan valid terhadap pengaruh kinerja mesin dan compiler yang digunakan.

Pengujian dilakukan pada Polaritas yang beragam yaitu 80/20, 70/30, 60/40, 50/50 dan 40/60 dan Deret Homolog yang beragam untuk masing – masing sistem Methanol Air dan Acetronitrile Air. Dari hasil pengujian akan didapatkan nilai waktu mati yang akan dibandingkan berdasarkan perubahan uji parameter Polaritas dan Deret Homolog sehingga didapatkan trend data yang menunjukkan metode yang akurat dalam penentuan waktu mati pada sistem HPLC.

(32)

24 Hasil Perhitungan Waktu Mati Pengaruh Polaritas

Tabel 5.1. Hasil Perhitungan Waktu Mati Pengaruh Polaritas pada Methanol dan Acetonitrile

Perhitungan waktu mati pada sistem yang tetap menunjukkan hasil dimana metode iterasi, spreadsheet dan statistic menghasilkan waktu mati yang stabil dengan error dibawah 10%, sedangkan metode non-linier menghasilkan waktu mati yang lebih tinggi dimana untuk setiap sistem dan polaritas dengan nilai error diatas 20%.

Gambar 5.5 Hasil Perhitungan Waktu mati pada Polaritas 80/20

Eluent

Method GU WA BR GR GU WA BR GR

n-AKN 1.11 5.805 1.111 1.085 1.174 4.855 1.175 1.198

ABZ 2.516 7.044 2.517 2.545 1.376 3.463 1.377 1.42

2-AKN 1.136 1.77 1.136 1.144 1.126 1.714 1.127 1.137

AAK 1.224 2.333 1.224 1.228 1.188 2.095 1.188 1.171

n-AKN 2.516 7.044 2.517 2.545 0.983 6.007 0.984 0.949

ABZ 1.863 3.271 1.864 1.923 1.519 4.212 1.52 1.591

2-AKN 1.214 1.914 1.214 1.261 1.15 1.977 1.15 1.128

AAK 1.156 2.095 1.156 1.079 1.057 2.667 1.057 0.94

n-AKN 0.0001 23.057 0.662 0.59 1.232 6.596 1.233 1.228

ABZ 4.147 5.601 4.147 4.238 1.71 4.292 1.71 1.828

2-AKN 1.186 1.537 1.187 1.208 1.125 2.2 1.126 1.1

AAK 1.16 1.91 1.161 1.086 1.059 2.954 1.059 0.919

n-AKN 1.255 23.561 1.255 1.123

ABZ 2.311 7.222 2.312 2.622

2-AKN 1.186 1.387 1.187 1.159 1.112 1.869 1.112 1.098

AAK 1.024 1.847 1.024 0.948 0.358 2.264 0.359 0.112

n-AKN

ABZ 4.835 5.851 4.835 4.835

2-AKN 1.173 1.775 1.174 1.183

AAK 0.336 1.851 0.337 0.282

50/50

40/60

Methanol Acetonitrile

80/20

70/30

60/40

(33)

25 Gambar 5.6 Hasil Perhitungan Waktu mati pada Polaritas 70/30

Gambar 5.7 Hasil Perhitungan Waktu mati pada Polaritas 60/40

Gambar 5.8 Hasil Perhitungan Waktu mati pada Polaritas 50/50

(34)

26 Hasil Perhitungan Waktu Mati Pengaruh Deret Homolog

Tabel 5.2. Hasil Perhitungan Waktu Mati Pengaruh Deret Homolog pada Methanol dan Acetonotrile

Perhitungan waktu mati pada polaritas yang tetap menunjukkan hasil dimana metode iterasi, spreadsheet dan statistic menghasilkan waktu mati yang stabil dengan error juga sama dengan sebelumnya yaitu dibawah 10%, sedangkan metode non-linier menghasilkan waktu mati yang lebih tinggi dimana untuk setiap sistem dan polaritas dengan nilai error diatas 20%.

Eluent

Method GU WA BR GR GU WA BR GR

80/20 1.11 5.805 1.111 1.085 1.174 4.855 1.175 1.198

70/30 2.516 7.044 2.517 2.545 0.983 6.007 0.984 0.949

60/40 0.0001 23.057 0.662 0.59 1.232 6.596 1.233 1.228

50/50 1.255 23.561 1.255 1.123

40/60

80/20 2.516 7.044 2.517 2.545 1.376 3.463 1.377 1.42

70/30 1.863 3.271 1.864 1.923 1.519 4.212 1.52 1.591

60/40 4.147 5.601 4.147 4.238 1.71 4.292 1.71 1.828

50/50 2.311 7.222 2.312 2.622

40/60 4.835 5.851 4.835 4.835

80/20 1.136 1.77 1.136 1.144 1.126 1.714 1.127 1.137

70/30 1.214 1.914 1.214 1.261 1.15 1.977 1.15 1.128

60/40 1.186 1.537 1.187 1.208 1.125 2.2 1.126 1.1

50/50 1.186 1.387 1.187 1.159 1.112 1.869 1.112 1.098

40/60 1.173 1.775 1.174 1.183

80/20 1.224 2.333 1.224 1.228 1.188 2.095 1.188 1.171

70/30 1.156 2.095 1.156 1.079 1.057 2.667 1.057 0.94

60/40 1.16 1.91 1.161 1.086 1.059 2.954 1.059 0.919

50/50 1.024 1.847 1.024 0.948 0.358 2.264 0.359 0.112

40/60 0.336 1.851 0.337 0.282

Alkylbenzole

2-Alkanone

Alkylarylketone

Methanol Acetonitrile

n-alkana

(35)

27 Gambar 5.9 Hasil Perhitungan Waktu mati pada Deret Homolog n-alkana

Gambar 5.10 Hasil Perhitungan Waktu Mati pada Deret Homolog Alkylbenzole

Gambar 5.11 Hasil Perhitungan Waktu Mati pada Deret Homolog 2-Alkanone

Gambar 5.12 Hasil Perhitungan Waktu Mati pada Deret Homolog Alkylarylketone

(36)

28

6 BAB VI

SIMPULAN DAN SARAN

Simpulan Penelitian

 Perhitungan waktu mati tidak dipengaruhi oleh sistem yang digunakan

 Hasil penentuan waktu mati pada n-alkana dan 2-Alkananone cenderung stabil terhadap pengaruh polaritas, sedangkan pada Alkilbenzole dan alkylaryketone terdapat tred data terhadap tingkat polaritas.

 Hampir semua metode penentuan waktu mati secara matematis dapat digunakan pada sistem GC termasuk metode non-linier, sedangkan pada sistem LC metode non-linier tidak dapat digunakan.

Saran

Menguji perhitungan waktu mati menggunakan metode matematis lainnya dan juga pada sistem hplc lainnya.

(37)

29

7 DAFTAR KEPUSTAKAAN

Furr, H. C., 1989, Calculation of Chromatographic Dead Times and Retention Indices with the Aid of a Computer Program in BASIC, Journal of Chromatographic Science, Vol. 27.

Guardino, X., Albaiges, J., Firpo, G., Rodrigues-Vinals, R., Gassiot, M. 1976. Accuracy in the Determination of Kovats Retention Index, Journal of Chromatography, 118:13.

J.A. Garcia Dominguez, J. Garcia Munoz, E. Fernandez Sanchez and M.J. Molera, J.

Chromatogr. Sci., 15 (1977) 520.

J.F. Parcher and D.M. Johnson, J. Chromatogr. Sci., 18 (1980) 267.

Kovats, E., 1958, Gas-chromatographische Charakterisierung organischer Verbindungen, Teil 1: Retentionsindices aliphatischer Halogenide, Alkohole, Aldehyde und Ketone, Helvetica Chemica Acta, Vol XLI, No. 206 (1058) 1915- 1932

López, J. E. Q., Aguilar, R. L., Domínguez, J. A. G., 1997, J. Chromatogr., A 767, 127.

Pratiwi , S.U.T., Hertiani, T., Idroes, R., Lagendijk, E.L., Weert, S.de., Hondel, C.V.D, Quorum quenching and biofilm-degrading activity of massoia oil against Candida albicans and Pseudomonas aeruginosa, Planta Medica, Indexed Scopus, Vol. 81, S 01, P787

Pratiwi, S.U.T., Lagendijk, E.L., S. de Weert, Idroes, R., Hertiani, T., Van der Hondel, C., Effect of Cinnamomum burmanii Nees ex Bl. and Massoia aromatica Becc.

Essential Oils on Planktonic Growth and Biofilm formation of Pseudomonas aeruginosa and Staphylococcus aureus In Vitro, International Journal of Applied Research in Natural Products (IJARNP), Indexed Scopus, Impact Factor 1,32, Vol. 8, No. 2, hal 1-13, ISSN : 1940-6223, 2015

Toth, A. & Zala, E. 1984. Contribution to the Calculation of the Constants of the n- Alkane Retention Time Curve and Gas Hold-Up Time in Gas-Liquid Chromatography, J. of Chromatography, 284, 53.

Waetzig, H., 1989, Reproduzierbarkeit und Vorhersage von Retentionsdaten in der HPLC, Diss., Wurzburg.

Waetzig, H., Ebel, S. 1991, Estimation of Dead-Time in Liquid Chromatography from Retention Behaviour of Homologous Series by Non-Linear Regression, Jurnal of Chromatographia 31, 544-548.

Waetzig, H., Ebel, S. Holley, A., 1992, A Straightforward Algorithm To Estimate The Dead Time In GC From The Retention Behavior Of Homologous Series, Fresenius Journal Analytical Chemistry, 344, 354-356..

Zinburg, J. H. R., & Ballschmiter, H. N. K. (1979). inearen Zusammenhanges zwischen Nettoretentionszeit und ohlenstoffzahl von n-Alkanen, 12(7), 451–45

(38)

30 Lampiran 1. Source Code Metode Non-linier

#include <math.h>

#include <stdio.h>

#include <stdlib.h>

#include <ctype.h>

#include <time.h>

#include "kali2.c"

#include "invers.c"

#define EPS 0.001

#define N_KOLOM_MATRIKS 3

double *invers_matriks( int n, double

Y[N_KOLOM_MATRIKS][N_KOLOM_MATRIKS], double *ptrMatriks);

int main(int args, char *argv[]){

time_t start, stop;

clock_t ticks; long count;

time(&start);

//Buka file

FILE *iFile, *oFile;

int c, n[1000], i=0, TOT_NO_ATOM=0;

double b, trlab [1000];

iFile = fopen(argv[1],"r");

oFile = fopen(argv[2],"w");

if(iFile == NULL || oFile == NULL){

printf("Error Openning file\n");

return EXIT_FAILURE;

}

while((fscanf(iFile,"%d\t%lf\n",&c,&b))!=EOF){

n[i] = c;

trlab[i] = b;

i++;

TOT_NO_ATOM++;

}

double tmati, a0mati, a1mati, t0 =0.9, a0=1, a1=1, trn[TOT_NO_ATOM], D[TOT_NO_ATOM][N_KOLOM_MATRIKS],

dt[TOT_NO_ATOM][1], transpose[N_KOLOM_MATRIKS][TOT_NO_ATOM], Y[3][3], Z[3][3], tmp[N_KOLOM_MATRIKS][TOT_NO_ATOM],

dx[N_KOLOM_MATRIKS][1], IR [TOT_NO_ATOM];

double epst0= EPS, epsa1= EPS, epsa0= EPS;

int j, iterasi =0;

double dxt0,dxa0,dxa1;

do{

//Menghitung tr^

for(i=0; i<TOT_NO_ATOM; i++){

trn[i]=t0*(1+exp(a1*n[i]+a0));

//double tes = exp(a1*n[i]+a0);

//fprintf(oFile,"Tes : %lf",tes);

printf("tr[%i] = %lf\n", i+1, trn[i]);

fprintf (oFile,"tr[%i] = %lf\n", i+1, trn[i]);

(39)

31

}

printf("\n");

fprintf (oFile,"\n");

//Menghitung delta t

for (i=0; i<TOT_NO_ATOM; i++){

for(j=0; j<1; j++){

dt[i][j] = trn[i]-trlab[i];

} }

printf("\nDelta T :\n");

fprintf (oFile,"\nDelta T :\n");

for(i = 0; i < TOT_NO_ATOM; i++){

for(j = 0; j < 1; j++){

printf("%lf\t", dt[i][j]);

fprintf (oFile,"%lf\t", dt[i][j]);

}

printf("\n");

fprintf (oFile,"\n");

}

printf("\n");

fprintf (oFile,"\n");

//Menghitung matriks D printf("\nMatriks D :\n");

fprintf (oFile,"\nMatriks D :\n");

for (i=0; i<TOT_NO_ATOM; i++){

for(j=0; j<N_KOLOM_MATRIKS; j++){

switch (j){

case 0 : D[i][j] = 1+exp(a1*n[i]+a0);break;

case 1 : D[i][j] = t0*exp(a1*n[i]+a0);break;

case 2 : D[i][j] = n[i]*t0*exp(a1*n[i]+a0); break;

}

transpose[j][i] = D[i][j]; //Menghitung transpose matriks D

printf("%lf\t", D[i][j]);

fprintf (oFile,"%lf\t", D[i][j]);

}

printf("\n");

fprintf (oFile,"\n");

}

printf("\n");

fprintf (oFile,"\n");

printf("\nTranspose D :\n");

fprintf (oFile,"\nTranspose D :\n");

for( i = 0 ; i < N_KOLOM_MATRIKS ; i++ ){

for( j = 0 ; j < TOT_NO_ATOM ; j++ ){

printf("%lf\t",transpose[i][j]);

fprintf (oFile,"%lf\t",transpose[i][j]);

}

printf("\n");

fprintf (oFile,"\n");

}

//Perkalian matriks D dengan tranpose D

(40)

32

kali_matriks (N_KOLOM_MATRIKS, TOT_NO_ATOM, N_KOLOM_MATRIKS, transpose, D, &Y[0][0]);

printf("\nMatriks Y\n");

fprintf (oFile,"\nMatriks Y\n");

for (i=0; i<N_KOLOM_MATRIKS; i++){

for(j=0; j<N_KOLOM_MATRIKS; j++){

printf ("%lf\t", Y [i][j]);

fprintf (oFile,"%lf\t", Y [i][j]);

}

printf ("\n");

fprintf (oFile,"\n");

}

//Menghitung inverse matrik D*DT

invers_matriks (N_KOLOM_MATRIKS, Y, &Z[0][0]);

printf("\nMatriks Z\n");

fprintf (oFile,"\nMatriks Z\n");

for(i = 0; i < N_KOLOM_MATRIKS; i++){

for(j = 0; j < N_KOLOM_MATRIKS; j++){

printf("%.5lf\t", Z[i][j]);

fprintf (oFile,"%.5lf\t", Z[i][j]);

}

printf("\n");

fprintf (oFile,"\n");

}

//Perkalian matriks inverse matrik D*DT dengan tranpose D

==> (DTD)-1 DT Delta T

kali_matriks (N_KOLOM_MATRIKS, N_KOLOM_MATRIKS, TOT_NO_ATOM, Z, transpose, &tmp[0][0]);

printf("\nMatriks tmp\n");

fprintf (oFile,"\nMatriks tmp\n");

for(i = 0; i < N_KOLOM_MATRIKS; i++){

for(j = 0; j < TOT_NO_ATOM; j++){

printf("%.5lf\t", tmp[i][j]);

fprintf (oFile,"%.5lf\t", tmp[i][j]);

}

printf("\n");

fprintf (oFile,"\n");

}

//Menghitung matriks delta x

kali_matriks (N_KOLOM_MATRIKS, TOT_NO_ATOM, 1, tmp, dt,

&dx[0][0]);

printf("\nMatriks Delta X\n");

fprintf (oFile,"\nMatriks Delta X\n");

for(i = 0; i < N_KOLOM_MATRIKS; i++){

for(j = 0; j < 1; j++){

printf("%lf\t", dx[i][j]);

fprintf (oFile,"%lf\t", dx[i][j]);

}

printf("\n");

fprintf (oFile,"\n");

}

//Menghitung nilai absolute dari setiap member matriks delta x

(41)

33

dx[0][0] = fabs(dx[0][0]);

dx[1][0] = fabs(dx[1][0]);

dx[2][0] = fabs(dx[2][0]);

dxt0 = fabs(dx[0][0]);

dxa0 = fabs(dx[1][0]);

dxa1 = fabs(dx[2][0]);

//update nilai t0, a0 dan a1 t0 = t0+dx[0][0];

a0 = a0+dx[1][0];

a1 = a1+dx[2][0];

t0 = fabs(t0);

a0 = fabs(a0);

a1 = fabs(a1);

tmati = t0;

a0mati = a0;

a1mati = a1;

if(dxt0 < epst0 ){

fprintf (oFile,"\nBENAR 1\n");

}

if(dxa1 < epsa1 ){

fprintf (oFile,"\nBENAR 2\n");

}

if(dxa0 < epsa0 ){

fprintf (oFile,"\nBENAR 3\n");

}

fprintf (oFile,"t0 : %lf\n",tmati);

fprintf (oFile,"a0 : %lf\n",a0mati);

fprintf (oFile,"a1 : %lf\n\n",a1mati);

fprintf (oFile,"delta t0 : %lf\n",dx[0][0]);

fprintf (oFile,"delta a0 : %lf\n",dx[1][0]);

fprintf (oFile,"delta a1 : %lf\n\n",dx[2][0]);

iterasi++;

fprintf (oFile,"ITERASI : %d\n\n",iterasi);

fprintf (oFile,"\n--- ---\n");

} while (dxa0<epsa0);

//Print hasil tmati, a0mati dan a1mati kelayar dan ke file printf ("\nITERASI = %d\n", iterasi);

fprintf (oFile,"\nITERASI = %d\n", iterasi);

printf("\ntmati = %lf", tmati);

fprintf(oFile,"\ntmati = %lf", tmati);

(42)

34

printf("\n\n");

int test;

while(test<50000) {

test++;

ticks = clock();

}

time(&stop);

printf("Waktu yang digunakan : %0.5f detik\n\n", (double)ticks/CLOCKS_PER_SEC);

//printf("Finished in about %.5f seconds. \n", difftime(stop, start));

return EXIT_SUCCESS;

}

(43)

35 Lampiran 2. Source Code Metode Iterasi

#include <math.h>

#include <stdio.h>

#include <stdlib.h>

#include <ctype.h>

#include <time.h>

/*

Author : Rivansyah Suhendra 2 Oktober 2016

*/

int main(int args, char *argv[]){

time_t start, stop;

clock_t ticks; long count;

time(&start);

//Baca File

FILE *iFile, *oFile;

int c, n[1000], z=0, TOT_NO_ATOM=0;

double b, rt[1000];

iFile = fopen(argv[1],"r");

oFile = fopen(argv[2],"w");

if(iFile == NULL || oFile == NULL){

printf("Error Openning file\n");

return EXIT_FAILURE;

}

//Simpan data waktu retensi dan nc kedalam array while((fscanf(iFile,"%d\t%lf\n",&c,&b))!=EOF){

n[z] = c;

rt[z] = b;

z++;

TOT_NO_ATOM++;

}

//Inisialisasi variabel int j,iterasi=0;

double dtm = 1,t0 = 0, prec=0.00001, lt[1000],

i[1000],ic[1000],nm,dn,aa,bb,rr,sum=0,lowlim = 999990, uplim = 999999,IR [TOT_NO_ATOM];

//double st[1000],ki[1000];

//Perulangan dengan kondisi dtm > prec do{

//Perulangan selama SUM < LOWLIM do{

iterasi++;

//set variabel menjadi 0

double sx=0,mx=0,sy=0,my=0,xs=0,ys=0,sm=0,xy=0;

printf("\t===================\n");

printf("\tIterasi : %d\n",iterasi);

//Looping mencari nilai i[j] dan lt[j]

(44)

36

for(j = 0;j<TOT_NO_ATOM;j++){

i[j]=n[j]*100;

sx=sx+i[j];

xs=xs+(i[j]*i[j]);

lt[j] = log(fabs(rt[j]-t0));

if(isinf(lt[j])){

lt[j] = 0;

}

sy = sy+lt[j];

ys = ys + lt[j]*lt[j];

xy = i[j] * lt[j];

sm = sm + xy;

}

//Mencari nilai Linear Square Adjustment mx = sx/TOT_NO_ATOM;

my = sy/TOT_NO_ATOM;

nm = sm - ((sx * sy) / TOT_NO_ATOM);

dn = xs - ((sx * sx) / TOT_NO_ATOM);

aa = nm/dn; //slope

bb = my - (aa*mx); //intercept

rr = nm / sqrt(fabs((xs - ((sx*sx)/TOT_NO_ATOM)) * (ys-((sy*sy)/TOT_NO_ATOM))));

sum = 0;

//Perulangan mencari nilai ic[j] dan sum atau sxx for(j = 0;j<TOT_NO_ATOM;j++){

ic[j] = (log(fabs(rt[j]-t0))-bb)/aa;

sum = sum + pow((i[j] - ic[j]),2);

}

printf("\tA = %lf\n",aa);

printf("\tB = %lf\n",bb);

printf("\tR = %lf\n",rr);

printf("\tSXX = %lf\n",sum);

printf("\tSUM = %lf\n",lowlim);

printf("\tSAM = %lf\n",uplim);

printf("\tT0 = %lf\n",t0);

//Jika sum > lowlim perulangan selesai if(sum > lowlim){

break;

}

//jika tidak perulangan berlanjut else{

uplim = lowlim;

lowlim = sum;

t0 = t0 + dtm;

}

}while(sum <= lowlim);

if(sum >= uplim){

t0 = t0 - (2*dtm);

lowlim = uplim;

dtm = dtm/10;

(45)

37

}else{

t0 = t0 - dtm;

dtm = dtm/10;

}

if (dtm > prec){

t0 = t0 + dtm;

}else{

break;

}

}while (dtm > prec);

printf("\t===================\n");

printf("\n\n\t===================\n");

printf("\tHasil Akhir :\n");

printf ("\n\tT0 = %lf\n", t0);

printf("\tA = %lf\n",aa);

printf("\tB = %lf\n",bb);

printf("\tR = %lf\n",rr);

printf ("\tIterasi = %d\n", iterasi);

fprintf(oFile,"Hasil Akhir :\n");

fprintf (oFile,"\nT0 = %lf\n", t0);

fprintf(oFile,"A = %lf\n",aa);

fprintf(oFile,"B = %lf\n",bb);

fprintf(oFile,"R = %lf\n",rr);

fprintf (oFile,"Iterasi = %d\n", iterasi);

printf("\t===================\n\n");

int test;

while(test<50000) {

test++;

ticks = clock();

}

time(&stop);

printf("Waktu yang digunakan : %0.5f detik\n\n", (double)ticks/CLOCKS_PER_SEC);

//printf("Finished in about %.5f seconds. \n", difftime(stop, start));

return 1;

}

Referensi

Dokumen terkait

Penelitian yang dilakukan oleh Raifana Faras, tentang pengaruh pengetahuan tentang Riba terhadap minat mahasiswa Universitas Islam Indonesia untuk menjadi nasabah di

[r]

Berdasarkan dari beberapa definisi istilah yang terkandung dari judul penelitian tersebut di atas maka yang dimaksud oleh penulis judul: “Penerapan

MEMPENGARUHI PROFIT DISTRIBUTION MANAGEMENT (Studi kasus Bank Umum Syariah Swasta Nasional Devisa tahun 2010-2014).” Skripsi ini disusun untuk memenuhi salah satu

yang dapat diakses langsung oleh nasabah pengguna mobile banking melalui.. telepon

Penelitian ini akan menawarkan solusi berupa konsep sistem pengendali dan pengawasan regulasi BBM bersubsidi yang lebih praktis dan aman menggunakan Surat Ijin

Dalam Ballenjer JJ Penyakit Telinga, Hidung, Tenggorok, Kepala dan Leher, edisi 13, Jilid Dua, Binarupa Aksara, Jakarta.. Embriologi Anatomi

penambangan. Dampak dari pencucian tanah menghasilkan limbah sehingga me air sungai yang diperuntukan untuk proses pengairan sawah menjadi tercemar oleh hasil pencucian