BAB III Bahan dan Metode_ G11fsu

advertisement
ketiga. Jumlah ikatan yang dapat dibentuk
atom karbon adalah empat sehingga jumlah
alkil yang dapat diikat oleh atom karbon pusat
adalah dua hingga empat. Untuk membangun
CnH2n+2 sebanyak n atau n-1 atom karbon
harus dibagi dalam dua hingga empat alkil.
Permasalahan tersebut dapat diatasi dengan
menggunakan membuat partisi dari n atau n-1.
klorida berturut-turut dilambangkan dengan
[Pb], [CH4], dan [HCl]. (2) Atom-atom yang
berikatan tunggal cukup ditulis bersebelahan
sedangkan ikatan rangkap dua dan rangkap
tiga dilambangkan dengan = dan #. Oleh
karena itu metanol, metanal dan asam sianida
dilambangkan dengan CO, C=O, dan C#N. (3)
Cabang ditulis di dalam tanda kurung.
Contohnya 2,2-dimetilpropana dilambangkan
dengan
CC(C)(C)C,
2-propanon
dilambangkan
dengan
O=C(C)C
dan
metiletanoat
dilambangkan
dengan
O=C(OC)C (Blue Obelisk 2009).
Python
Gambar 2 Ilustrasi teorema Jordan.
Alkil yang diperlukan harus sudah tersedia
sebelum membuat alkana. Oleh karena itu
pembentukan alkil didahulukan. Alkil dibuat
dengan menggabungkan alkil-alkil yang lebih
kecil dengan atom karbon yang memiliki satu
elektron tidak berpasangan sehingga atom
tersebut hanya dapat mengikat satu hingga
tiga alkil.
Python adalah bahasa pemrograman yang
sederhana, mudah dipelajari, efisien, memiliki
struktur data tingkat tinggi, dan menggunakan
pendekatan pemrograman berorientasi objek
dan dinamis. Laju eksekusi Python relatif
lambat dibandingkan bahasa pemrograman
seperti Pascal tetapi siklus pengembangannya
yang lebih singkat (Indrajit & Pamungkas
2003).
Kegunaan Generator Struktur
Gambar 3 Contoh pembentukan alkil dengan
algoritma KP.
SMILES
SMILES adalah notasi kimia yang
dirancang untuk digunakan kimiawan pada
komputer. SMILES merupakan rangkaian
karakter yang diakhiri dengan spasi atau akhir
baris. Atom hidrogen boleh dituliskan tetapi
boleh juga tidak. SMILES dirancang agar
mudah dipelajari, bersifat machine-friendly
dan dapat digunakan pada sistem operasi apa
pun (Weininger 1988).
Saat ini ada dua standar penulisan kode
SMILES. Kode SMILES dalam karya ini
ditulis mengikuti standar openSMILES.
Berikut adalah beberapa aturan dalam standar
openSMILES. (1) Sebuah atom diwakili
dengan simbolnya yang dituliskan di antara
tanda kurung siku. Jika ada lebih dari satu
atom yang sama, jumlah atom ditulis setelah
simbol atom. Unsur-unsur yang biasa
digunakan dalam senyawa organik dapat
dituliskan tanpa tanda kurung siku. Oleh
karena itu atom timbal, metana dan asam
Kegunaan utama generator struktur adalah
untuk menentukan struktur molekul suatu
senyawa berdasarkan data NMR, MS atau IR.
Kegunaan lainnya adalah untuk mendisain
molekul. Disain molekul dilakukan untuk
mengoptimalkan sifat fisik, kimia atau biologi
suatu senyawa. Untuk mendisain molekul ada
dua tahap yang harus dilakukan. Pertama
menghitung nilai molecular descriptor dari
sifat
yang
diinginkan
menggunakan
quantitative-structure activity relationship
(QSAR). Selanjutnya generator membuat
semua struktur yang memiliki nilai molecular
descriptor yang sama (Faulon et al. 2004).
BAHAN DAN METODE
Alat dan Bahan
Alat-alat yang digunakan dalam penelitian
ini adalah komputer dengan spesifikasi
prosesor Intel® Pentium® 4 2.8 GHz
Hypertrading, memori RAM DDR 504 MB,
sistem operasi Windows XP SP 2, hard disk
40 GB 7200 rpm, memori virtual 1531 MB,
bahasa pemrograman dan interpreter Python.
Bahan yang digunakan pada penelitian ini
adalah data jumlah isomer alkana, alkena,
alkuna, alkil, eter, dan ester.
Ruang Lingkup
Penelitian ini terdiri atas dua bagian yakni:
mendaftarkan kode struktur serta menghitung
jumlah isomer senyawa dan konversi kode
SMILES menjadi nama IUPAC. Pembentukan
kode senyawa dilakukan oleh perangkat lunak
garuna.py (generator alkana dan turunannya)
sedangkan hiaruna.py (penghitung isomer
alkana dan turunannya) hanya menghitung
jumlah isomer senyawa. Konversi kode
SMILES menjadi nama IUPAC dilakukan
oleh nu.py (nama IUPAC).
Tabel 1 Cara penggabungan kode alkil untuk
membentuk kode senyawa
Homolog
Penggabungan kode
Alkil
[C](R2)(R3)R1
Alkana
R2C(R3)(R4)R1
Alkena
R2=R1
Alkuna
R2C#CR1
Alkohol
OR
Eter
O(R2)R1
Aldehida
O=CR
Keton
O=C(R2)R1
Asam karboksilat
O=C(O)R
Ester
O=C(OR2)R1
Algoritma garuna
Pembentukan kode senyawa dimulai
dengan menentukan homolog rumus molekul
yang dimasukkan. Hal ini dilakukan dengan
membandingkan jumlah atom karbon,
hidrogen, dan oksigen dalam rumus molekul
yang dimasukkan dengan rumus molekul
homolog. Selanjutnya garuna membuat kode
alkil yang diperlukan sesuai senyawa yang
akan dibuat. Gugus fungsi diperlakukan
sebagai pusat sehingga kode senyawa dibuat
dengan menggabungkan kode alkil-alkil
dengan kode gugus fungsi seperti terlihat pada
Tabel 1. Kode dengan warna merah adalah
pusat senyawa. Setelah selesai membuat kode
senyawa garuna dapat menyimpan kode
tersebut dalam berkas.
Penentuan Waktu Perhitungan Garuna
Waktu perhitungan garuna adalah selang
waktu antara proses mulai dijalankan hingga
garuna selesai membuat semua struktur yang
mungkin. Penentuan waktu perhitungan
garuna dilakukan dengan menjalankan
garuna.py dengan bantuan cmd.exe. Garuna
dijalankan dengan perintah garuna.py
[rumus molekul]. Perintah ini akan
menjalankan python.exe yang bertugas
mengerjakan perintah dalam garuna.py.
Homolog, jumlah atom karbon, jumlah
isomer, dan waktu proses yang diperoleh
garuna dicatat dalam berkas log.txt.
Algoritma Hiaruna
Cara kerja hiaruna mirip dengan garuna,
pertama perangkat lunak akan menentukan
homolog rumus molekul yang dimasukkan.
Selanjutnya hiaruna akan memuat data jumlah
isomer alkil. Data tersebut akan dimanfaatkan
untuk menghitung jumlah isomer senyawa
yang dicari berdasarkan cara penggabungan
alkil-alkil untuk membentuk senyawa
tersebut.
Algoritma Nu (Konversi Kode SMILES
Menjadi Nama IUPAC)
Konversi kode SMILES menjadi nama
IUPAC diawali dengan mencari kode yang
menjadi pusat dari kode yang dimasukkan.
Berdasarkan kode tersebut perangkat lunak
akan menentukan homolog dan memecah
kode menjadi kode alkil-alkil pembangunnya.
Selanjutnya perangkat lunak menentukan
panjang, cabang dan posisi cabang tiap alkil.
Parameter tersebut berguna untuk menentukan
urutan prioritas alkil. Alkil yang lebih panjang
akan memiliki prioritas lebih tinggi. Jika
panjang alkil sama maka alkil dengan jumlah
cabang lebih banyak akan memiliki prioritas
lebih tinggi. Jika jumlah cabangnya sama
maka alkil dengan jumlah posisi lebih sedikit
akan memiliki prioritas lebih tinggi.
Rantai utama dibentuk dari dua alkil
dengan prioritas tertinggi. Alkil lainnya
diperlakukan sebagai cabang. Posisi cabang
yang dimiliki alkil yang membentuk rantai
utama akan disesuaikan berdasarkan posisinya
pada rantai utama. Berdasarkan nama cabang
dan nama rantai utama yang diperoleh, nama
IUPAC senyawa disusun.
HASIL DAN PEMBAHASAN
Pembentukan Kode Struktur Senyawa
Alkil yang dibutuhkan untuk membentuk
senyawa tergantung pada homolog senyawa
yang dicari. Berdasarkan cara penggabungan
kode alkil pada Tabel 1, alkil yang dibutuhkan
untuk membuat senyawa dengan n atom
karbon ditampilkan pada Tabel 2. Misalkan
untuk membuat kode struktur CnH2n-2 alkil
Download