ABSTRAK
FAHRUL SUTISNA. Menghitung Isomer Alkana dan Delapan Homolog-Satu-Gugus Fungsi dengan Algoritma Kvasnička-Pospichal. Dibimbing oleh CHARLENA dan AHMAD SJAHRIZA.
Ballard berhasil membuat generator struktur alkana yang efisien namun menghasilkan perulangan struktur mulai C19H40. Pada tahun yang sama Aringhairi berhasil menghitung jumlah
isomer alkana hingga C27H56 tanpa menghasilkan kode struktur. Berdasarkan penelitian tersebut
algoritma Kvasnička-Pospichal adalah yang paling cepat. Penelitian ini menggunakan algoritma Kvasnička-Pospichal untuk membuat generator yang dapat mengenumerasi struktur alkana, alkena, alkuna, alkohol, eter, aldehida, keton, asam karboksilat, dan ester yang memiliki satu gugus fungsi. Penelitian ini berhasil mengenumerasi alkana hingga C24H50, alkena hingga C21H42,
alkuna hingga C22H42, alkohol dan eter hingga C20H42O, aldehida dan keton hingga C21H42O, asam
karboksilat C21H42O2, dan ester hingga C20H42O2. Penelitian ini juga berhasil membuat perangkat
lunak yang dapat menghasilkan nama IUPAC dari kode SMILES.
ABSTRACT
FAHRUL SUTISNA. Isomer Enumeration of Alkanes and Eight Single-Functional-Group Homologues Using Kvasnička-Pospichal Algorithm. Supervised by CHARLENA and AHMAD SJAHRIZA
Ballard has developed an efficient alkanes structure generator but it resulted redundant structure started from C19H40. At the same time Aringheiri calculated alkanes isomer up to C27H56
without generating any structure codes. Based on his research Kvasnička-Pospichal algorithm is the fastest alkanes enumerating algorithm. This research used Kvasnička-Pospichal algorithm to create structure generator to enumerate alkanes, alkenes, alkynes, alcohols, ethers, aldehydes, ketones, carboxylic acids, and esters which have single functional group. This research succeeded to enumerate alkanes up to C24H50, alkenes up to C21H42, alkynes up to C22H42, alcohols up to
C20H42O, ethers up to C20H42O, aldehydes up to C21H42O, ketones up to C21H42O, carboxylic acids
up to C21H42O2, and esters up to C20H42O2. This research also succeeds in creating software to yield
PENDAHULUAN
Menghitung isomer senyawa organik telah dilakukan sejak 1857 dan orang pertama yang melakukannya adalah Arthur Cayley. Ia menghitung jumlah isomer alkana hingga C13H28 tetapi hasil perhitungannya hanya tepat
hingga C11H24 (Trinastjic 1992).
Orang pertama yang menghitung isomer senyawa organik dengan komputer adalah Joshua Lederberg. Ia adalah seorang ahli biologi antariksa dan sering kali harus menentukan struktur senyawa dari luar angkasa. Ia menginginkan sebuah sistem yang dapat membantunya melakukan hal tersebut. Untuk membuat sistem impiannya, Lederberg bekerja sama dengan kimiawan Carl Djerassi, programer Edward Feigenbaum dan pakar kecerdasan buatan Bruce Buchanan. Tahun 1968 mereka berhasil menyelesaikan sistem tersebut dan menamainya DENDRAL (Lindsay et al. 1980).
Cara kerja DENDRAL adalah sebagai berikut: pertama DENDRAL mengolah rumus empiris dan data pengamatan, seperti spektrum massa senyawa yang diteliti, untuk mendapatkan rumus molekulnya. Rumus molekul tersebut digunakan oleh generator untuk membuat struktur molekul yang mungkin. Struktur molekul yang dihasilkan dinyatakan dengan kode struktur. Setelah itu DENDRAL menganalisis setiap kode struktur yang dihasilkan dan membanding hasilnya dengan data pengamatan. Kode struktur yang sesuai dengan data pengamatan ditampilkan sebagai hasil proses tersebut (Lindsay et al.
1980).
DENDRAL versi pertama hanya memiliki generator asiklik sehingga hanya menghasilkan struktur tanpa cincin. Untuk mengatasi kelemahan tersebut Masinter membuat generator siklik yang disebut CONGEN (Lindsay et al. 1993). CONGEN dibuat dengan memodifikasi algoritma generator asiklik, akibatnya kedua generator tersebut memiliki kelemahan yang sama yakni memerlukan waktu proses yang panjang. (Ballard 2003).
Tahun 2003 Ballard menghitung isomer alkana dengan membuat generator struktur untuk homolog tersebut. Perangkat lunak tersebut menghasilkan 7200 isomer alkana per detik tetapi menghasilkan perulangan kode struktur mulai C19H40 (Ballard 2003).
Aringheiri menulis beberapa perangkat lunak untuk menghitung jumlah isomer alkana. Cara kerja perangkat lunak tersebut adalah dengan
menghitung jumlah kode struktur yang dihasilkan. Perangkat lunak yang mereka buat berhasil menghitung jumlah isomer alkana hingga C27H56 dan yang paling cepat adalah
perangkat lunak yang menggunakan algoritma Kvasnička-Pospichal (KP) (Aringhieri et al.
2003).
Penelitian ini bertujuan mendaftarkan kode struktur dan menghitung jumlah isomer senyawa alkana dan senyawa yang memiliki rumus molekul CnH2n+2, CnH2n+2O, CnH2n,
CnH2nO, CnH2nO2, dan CnH2n-2 dengan
algoritma KP. Kode struktur akan dinyatakan dalam kode simplified molecular input line entry specification (SMILES). Kode ini dipilih karena sudah didukung oleh banyak perangkat lunak, namun belum ada perangkat lunak berdiri sendiri yang dapat mengkonversi kode SMILES menjadi nama IUPAC. Oleh karena itu dalam penelitian ini juga dibuat perangkat lunak untuk mengkonversi kode SMILES menjadi nama International Union of Pure and Applied Chemistry (IUPAC) agar kode yang dihasilkan bisa dimengerti.
TINJAUAN PUSTAKA
Alkana dan Beberapa Senyawa Satu
Gugus Fungsi
Alkana adalah senyawa hidrokarbon jenuh sehingga hanya memiliki ikatan sigma dan rumus molekulnya adalah CnH2n+2. Alkena dan
alkuna adalah hidrokarbon yang setidaknya memiliki satu ikatan rangkap dua atau tiga (Carey 2004). Karena ada ikatan rangkap tersebut maka alkena dan alkuna yang memiliki satu gugus fungsi akan memiliki rumus molekul CnH2n dan CnH2n-2.
Alkil merupakan gugus alkana yang kehilangan satu atom hidrogen sehingga rumus molekulnya menjadi CnH2n+1 (Carey
2004). Gugus alkil biasanya dilambangkan dengan huruf R (McMurry 2000).
Alkohol dan eter dapat dianggap sebagai turunan air dengan mengganti satu atau dua atom hidrogen dengan gugus alkil. Keduanya bersifat polar dan larut dalam air tetapi kelarutan eter lebih rendah (Pine et al. 1988). Alkohol dan eter yang memiliki satu gugus fungsi akan memiliki rumus molekul CnH2n+2O.
PENDAHULUAN
Menghitung isomer senyawa organik telah dilakukan sejak 1857 dan orang pertama yang melakukannya adalah Arthur Cayley. Ia menghitung jumlah isomer alkana hingga C13H28 tetapi hasil perhitungannya hanya tepat
hingga C11H24 (Trinastjic 1992).
Orang pertama yang menghitung isomer senyawa organik dengan komputer adalah Joshua Lederberg. Ia adalah seorang ahli biologi antariksa dan sering kali harus menentukan struktur senyawa dari luar angkasa. Ia menginginkan sebuah sistem yang dapat membantunya melakukan hal tersebut. Untuk membuat sistem impiannya, Lederberg bekerja sama dengan kimiawan Carl Djerassi, programer Edward Feigenbaum dan pakar kecerdasan buatan Bruce Buchanan. Tahun 1968 mereka berhasil menyelesaikan sistem tersebut dan menamainya DENDRAL (Lindsay et al. 1980).
Cara kerja DENDRAL adalah sebagai berikut: pertama DENDRAL mengolah rumus empiris dan data pengamatan, seperti spektrum massa senyawa yang diteliti, untuk mendapatkan rumus molekulnya. Rumus molekul tersebut digunakan oleh generator untuk membuat struktur molekul yang mungkin. Struktur molekul yang dihasilkan dinyatakan dengan kode struktur. Setelah itu DENDRAL menganalisis setiap kode struktur yang dihasilkan dan membanding hasilnya dengan data pengamatan. Kode struktur yang sesuai dengan data pengamatan ditampilkan sebagai hasil proses tersebut (Lindsay et al.
1980).
DENDRAL versi pertama hanya memiliki generator asiklik sehingga hanya menghasilkan struktur tanpa cincin. Untuk mengatasi kelemahan tersebut Masinter membuat generator siklik yang disebut CONGEN (Lindsay et al. 1993). CONGEN dibuat dengan memodifikasi algoritma generator asiklik, akibatnya kedua generator tersebut memiliki kelemahan yang sama yakni memerlukan waktu proses yang panjang. (Ballard 2003).
Tahun 2003 Ballard menghitung isomer alkana dengan membuat generator struktur untuk homolog tersebut. Perangkat lunak tersebut menghasilkan 7200 isomer alkana per detik tetapi menghasilkan perulangan kode struktur mulai C19H40 (Ballard 2003).
Aringheiri menulis beberapa perangkat lunak untuk menghitung jumlah isomer alkana. Cara kerja perangkat lunak tersebut adalah dengan
menghitung jumlah kode struktur yang dihasilkan. Perangkat lunak yang mereka buat berhasil menghitung jumlah isomer alkana hingga C27H56 dan yang paling cepat adalah
perangkat lunak yang menggunakan algoritma Kvasnička-Pospichal (KP) (Aringhieri et al.
2003).
Penelitian ini bertujuan mendaftarkan kode struktur dan menghitung jumlah isomer senyawa alkana dan senyawa yang memiliki rumus molekul CnH2n+2, CnH2n+2O, CnH2n,
CnH2nO, CnH2nO2, dan CnH2n-2 dengan
algoritma KP. Kode struktur akan dinyatakan dalam kode simplified molecular input line entry specification (SMILES). Kode ini dipilih karena sudah didukung oleh banyak perangkat lunak, namun belum ada perangkat lunak berdiri sendiri yang dapat mengkonversi kode SMILES menjadi nama IUPAC. Oleh karena itu dalam penelitian ini juga dibuat perangkat lunak untuk mengkonversi kode SMILES menjadi nama International Union of Pure and Applied Chemistry (IUPAC) agar kode yang dihasilkan bisa dimengerti.
TINJAUAN PUSTAKA
Alkana dan Beberapa Senyawa Satu
Gugus Fungsi
Alkana adalah senyawa hidrokarbon jenuh sehingga hanya memiliki ikatan sigma dan rumus molekulnya adalah CnH2n+2. Alkena dan
alkuna adalah hidrokarbon yang setidaknya memiliki satu ikatan rangkap dua atau tiga (Carey 2004). Karena ada ikatan rangkap tersebut maka alkena dan alkuna yang memiliki satu gugus fungsi akan memiliki rumus molekul CnH2n dan CnH2n-2.
Alkil merupakan gugus alkana yang kehilangan satu atom hidrogen sehingga rumus molekulnya menjadi CnH2n+1 (Carey
2004). Gugus alkil biasanya dilambangkan dengan huruf R (McMurry 2000).
Alkohol dan eter dapat dianggap sebagai turunan air dengan mengganti satu atau dua atom hidrogen dengan gugus alkil. Keduanya bersifat polar dan larut dalam air tetapi kelarutan eter lebih rendah (Pine et al. 1988). Alkohol dan eter yang memiliki satu gugus fungsi akan memiliki rumus molekul CnH2n+2O.
2
aldehida dapat dioksidasi menjadi asam karboksilat (Pine et al. 1988). Aldehida dan keton yang memiliki satu gugus fungsi akan memiliki rumus molekul CnH2nO2.
Asam karboksilat dan ester juga tergolong senyawa karbonil. Asam karboksilat bersifat polar dan bisa mengalami reaksi subtitusi. Reaksi asam karboksilat dengan alkohol menghasilkan ester. Ester biasa digunakan sebagai citarasa buah pada produk makanan (Fessenden RJ & Fessenden JS (b) 1986). Asam karboksilat dan ester yang memiliki satu gugus fungsi akan memiliki rumus molekul CnH2nO2.
Tata Nama IUPAC
Prosedur untuk memberi nama IUPAC suatu alkana adalah sebagai berikut: (1) Carilah rantai terpanjang dengan cabang terbanyak sebagai rantai induk. (2) Nomori atom karbon pada rantai induk dimulai dari ujung yang paling dekat dengan cabang. Jika kedua ujung memiliki jarak yang sama dengan cabang terdekat maka penomoran dimulai dari ujung yang paling dekat dengan cabang selanjutnya. (3) Namai cabang dan posisinya. (4) Nama ditulis sebagai satu kata (McMurry 2000).
Prosedur penentuan nama IUPAC untuk senyawa selain alkana mirip dengan prosedur penentuan nama alkana. Bedanya adalah rantai utama harus melalui gugus fungsi senyawa tersebut dan mendapat posisi terendah. Nama alkena dan alkuna diperoleh dengan mengganti akhiran -ana dengan -ena atau -una. Nama alkohol, aldehida, keton, dan asam karboksilat diperoleh dengan mengganti huruf 'a' terakhir dari nama alkana dengan akhiran -ol, -al, -on, atau asam ...-oat. Nama eter dan ester sedikit berbeda. Untuk eter, akhiran -il pada alkil yang pendek diganti dengan akhiran -oksi dan digabungkan dengan nama alkana dari alkil yang panjang. Untuk ester, akhiran -il alkil yang terikat pada atom oksigen diganti dengan -oksi lalu digabungkan dengan nama asam karboksilat tanpa kata asam. (Fessenden RJ & Fessenden JS (a) 1986).
Kombinatorial
Kombinatorial adalah cabang matematika yang mempelajari penyusunan objek-objek. Hasil yang diinginkan adalah jumlah susunan yang mungkin untuk menyusun objek tertentu dalam himpunannya.
Jika ada n tempat dan masing-masing memiliki a1, a2, a3, …, an cara pengisian yang
mungkin, maka ada a1 × a2 × a3 × … × an
susunan yang mungkin untuk mengisi n tempat tersebut. Jika ada m objek yang akan mengisi n tempat, dengan m ≥ n serta urutan tidak diperhatikan maka jumlah susunan yang mungkin dibentuk adalah
(Iqbal 2008).
Jika b1 ≥ b2 ≥ … ≥ bk ≥ 1 adalah bilangan
bulat sehingga b1 + b2 + … + bk = n maka
rangkaian bilangan (a1, a2, …, ak) disebut
partisi bilangan bulat dari n (Deo 2004). Selanjutnya partisi bilangan bulat akan disebut dengan partisi.
Algoritma KP
Algoritma adalah prosedur untuk mengerjakan suatu tugas (Skiena 1997). Prosedur praktikum dan resep masakan adalah contoh algoritma.
Gambar 1 Ilustrasi enumerasi dengan ma KP.
Algoritma KP disebut juga algoritma pembentukkan, hal ini disebabkan oleh hasil pengamatan bahwa sebuah rantai alkana dapat diuraikan menjadi alkil-alkil yang lebih kecil. Oleh karena itu alkana dengan n atom karbon dapat dienumerasi dengan menggabungkan dua alkil atau lebih dengan atom karbon pusat sehingga jumlah atom karbonnya sama dengan n. Gambar 1 mengilustrasikan enumerasi dengan algoritma KP. Bulatan merah menunjukkan atom karbon pusat sedangkan garis merah menunjukkan ikatan pusat (Aringhieri et al. 2003).
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.
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.
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
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
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
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.
Gambar 3 Contoh pembentukan alkil dengan algoritma KP.
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.
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.
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
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
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
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.
Gambar 3 Contoh pembentukan alkil dengan algoritma KP.
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
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
5
yang dibutuhkan adalah metil hingga CnH2n-3
karena kode pusatnya memiliki dua atom karbon.
Tabel 2 Alkil yang diperlukan untuk membuat senyawa dengan n atom karbon Homolog Alkil yang diperlukan
Alkil 1 hingga n-1
Alkana 1 hingga k
Alkena 1 hingga n-1
Alkuna 1 hingga n-2
Alkohol 1 hingga n
Eter 1 hingga n-1
Aldehida 1 hingga n-1
Keton 1 hingga n-2
Asam karboksilat 1 hingga n-1
Ester 1 hingga n-2
Cara penggabungan kode alkil juga menentukan partisi yang digunakan. Misalnya saat membuat alkana diperlukan dua hingga empat alkil sehingga jumlah bilangan dalam partisi adalah dua hingga empat. Jika a, b, c, d adalah bilangan asli dan a > b > c > d maka pola partisi yang digunakan untuk membuat suatu senyawa ditunjukkan oleh Tabel 3. Khusus untuk ester nilai a bisa kurang dari b.
Garuna berhasil mendaftarkan semua kode struktur isomer alkana dari CH4 hingga C24H50.
Hal ini diketahui dari jumlah kode struktur yang dihasilkan garuna sama dengan jumlah isomer alkana menurut referensi.
Berdasarkan Tabel 3 dapat diketahui bahwa pola partisi alkohol, aldehida dan asam karboksilat sama. Hal ini disebabkan oleh cara pembentukan ketiga senyawa homolog tersebut sama. Karena gugus fungsi aldehida dan asam karboksilat mengandung satu atom karbon untuk membuat senyawa dengan n atom karbon hanya diperlukan alkil hingga Cn-1H2n-1 sedangkan untuk alkohol garuna
memerlukan alkil hingga CnH2n+1. Akibatnya
jumlah isomer alkil dengan n atom karbon sama dengan jumlah isomer alkohol dengan n atom karbon sama dengan jumlah isomer aldehida dengan n+1 atom karbon dan sama dengan jumlah isomer asam karboksilat dengan n+1 atom karbon. Selain itu karena alkil yang digunakan sangat banyak, dalam penelitian ini garuna hanya dapat menghasilkan struktur alkohol hingga 20 atom karbon, serta aldehida dan asam karboksilat hingga 21 atom karbon.
Tabel 3 Daftar pola partisi untuk membuat suatu homolog
Homolog Pola partisi
Alkil (a), (a, b), (a, a), (a, b, c), (a, a, b), (a, a, a)
Alkana
(a, a), (a, b, c), (a, a, b), (a, a, a), (a, b, c, d), (a, a, b, c), (a, a, b, b),
(a, a, a, b), (a, a, a, a) Alkena (a, b), (a, a) Alkuna (a), (a, b), (a, a)
Alkohol (a)
Eter (a, b), (a, a)
Aldehida (a)
Keton (a, b), (a, a) Asam karboksilat (a)
Ester (a), (a, b)
Alkena, eter dan keton juga memiliki pola partisi yang sama. Karena gugus fungsi keton mengandung satu atom karbon sehingga untuk membuat keton dengan n atom karbon hanya diperlukan alkil hingga Cn-2H2n-3 sedangkan
dua lainnya memerlukan alkil hingga Cn-1H2n-1.
Karena itu garuna dapat menghasilkan struktur keton hingga 21 atom karbon. Struktur alkena dapat diperoleh hingga C21H42
karena jumlah isomernya relatif sedikit dibandingkan eter. Struktur eter hanya dapat dihasilkan hingga 20 atom karbon.
Alkuna sedikit istimewa karena boleh mengikat atom H sehingga bisa mengikat nol, satu atau dua alkil. Akibatnya untuk membuat alkuna dengan n atom karbon diperlukan alkil hingga Cn-2H2n-3 sehingga strukturnya dapat
dibentuk hingga C22H42.
Ester juga istimewa karena gugus fungsinya tidak simetris seperti pada keton. Akibatnya rantai induk boleh lebih pendek dari rantai cabang sehingga a boleh kurang dari b tapi tidak boleh nol. Struktur ester hanya dapat dibentuk hingga C20H40O2 karena
memiliki jumlah isomer paling banyak dibandingkan homolog lainnya.
Waktu Perhitungan Garuna
6
besar, yakni sebesar 28000 isomer per detik. Hal ini disebabkan oleh komputer yang digunakan paling cepat. KP, AHM dan HPVK dijalankan pada sistem Silicon Graphics Indingo 4000, processor RISC IP20 100 MHz sedangkan generator Ballard dijalankan pada sistem dengan prosesor Intel® Pentium® 1.6
GHz.
Gambar 4 Grafik waktu perhitungan lima generator alkana.
Gambar 5 menunjukkan waktu pembentukan homolog selain alkana oleh garuna hingga 19 atom karbon. Batas tersebut ditetapkan karena pada saat itu memori virtual belum digunakan. Hal ini dapat dilihat dari bentuk grafik yang lurus. Berdasarkan gambar tersebut laju pembentukan ester paling cepat yakni sebesar 527.000 isomer per detik. Laju pembentukan alkohol, eter, aldehida, keton dan asam karboksilat sebesar 367.000 isomer per detik. Laju pembentukan alkuna dan alkena masing masing sebesar 185.000 dan 67.000 isomer per detik. Laju pembentukan alkena paling lambat karena alkena hanya bisa dibuat dari alkil primer dan sekunder. Laju pembentukan ester paling cepat karena tersedia lebih banyak partisi dengan pola yang sama.
Gambar 12 menunjukkan perlambatan laju pembentukan delapan yang ditunjukkan oleh pelengkungan kurva ke kanan. Hal ini disebabkan oleh penggunaan memori virtual yang memiliki laju lebih rendah dari memori RAM.
Jumlah Isomer
Jumlah isomer senyawa dihitung dari pola partisi yang digunakan. Karena bilangan dalam partisi menunjukkan jumlah atom karbon dalam alkil maka jumlah isomer adalah jumlah semua kombinasi yang mungkin dibuat dari tiap pola partisi. Rumus untuk tiap pola partisi dapat dilihat pada lampiran x. berdasarkan cara tersebut hiaruna dapat menghitung jumlah isomer tiap homolog hingga 300 atom karbon dan hasilnya sesuai dengan referensi.
Gambar 5 Grafik waktu pembentukan homo-log selain alkana hingga 19 atom karbon.
Konversi SMILES Menjadi Nama
IUPAC
Perangkat lunak nu menyusun nama senyawa berdasarkan prioritas alkil yang membangun senyawa tersebut. Meskipun saat ini nu dapat menentukan nama IUPAC senyawa yang kodekan SMILES tetapi masih terbatas hingga sepuluh atom karbon. Batasan ini karena pada senyawa yang memiliki jumlah atom yang lebih banyak akan ditemukan alkil yang berbeda tetapi memiliki jumlah posisi cabang yang sama.
SIMPULAN DAN SARAN
Simpulan
Algoritma Kvasnička-Pospichal yang telah dimodifikasi terbukti dapat membentuk kode alkana dan senyawa dengan rumus molekul CnH2n+2O, CnH2n, CnH2nO, CnH2nO2, dan
CnH2n+2. Jumlah isomer masing-masing
senyawa juga telah dihitung hingga 300 atom karbon. Nama IUPAC senyawa dapat diperoleh dari kode SMILES-nya menggunakan perangkat lunak nu. Namun perangkat ini hanya dapat mengkonversi kode dengan jumlah atom karbon hingga 10.
Saran
Pembentukan kode senyawa satu gugus fungsi yang lain perlu dilakukan selain untuk melengkapi kemampuan garuna juga untuk membuka jalan untuk membuat senyawa dengan gugus fungsi yang lebih banyak. Selain itu pembentukan kode senyawa siklik perlu dilakukan karena banyak senyawa organik yang memiliki siklik.
Perangkat lunak nu masih memerlukan penyempurnaan agar dapat digunakan untuk senyawa dengan jumlah atom lebih banyak. Perbaikan perlu dilakukan pada aturan prioritas sehingga alkil yang berbeda akan memiliki prioritas berbeda.
DAFTAR PUSTAKA
Aringhieri R, Hansen P, Malucelli F. 2003. Chemical trees enumeration algorithms.
4OR: A Quarterly Journal of Operations Research. 1:67–83.
Ballard K. 2003. Computerizd Isomer Enumeration of the Alkane Series [tesis]. Academic Magnet High School.
Blue Obelisk. OpenSMILES Specification. [Terhubung berkala].http://www.opensmi-les.org. [20, 12, 2009].
Carey FA. 2004. Organic Chemistry. Ed ke-5. New York: McGraw-Hill.
Deo N. 2004. Graph Theory with Applications to Engineering and Computer Science. Ed ke-8. New Delhi: PHI Learning.
Faulon J, Visco DP, Roe D. 2005. Enumerating Molecules. Reviews in Computational Chemistry. 21:209-286.
Fessenden RJ, Fessenden JS. 1986. Kimia Organic jilid 2. Ed ke-3. Aloysius Hadyana Pudjaatmaka. Penerjemah. Jakarta: Erlangga. Terjemahan dari:
Organic Chemistry.
Fessenden RJ, Fessenden JS. 1986. Kimia Organik jilid 1. Ed ke-3. Aloysius Hadyana Pudjaatmaka. Penerjemah. Jakarta: Erlangga. Terjemahan dari:
Organic Chemistry.
Indrajit RE, Pamungkas AFI. 2003. Buku Pintar Linux Dasar-Dasar Pemrograman Python. Ed ke-1. Jakarta: Alex Media Komputindo.
Iqbal H. 2008. Pokok-Pokok Materi Statistika 2 (Statistika Inferensif). Ed ke-2. Jakarta: Bumi Aksara.
Lindsay RK, Buchanan BG, Feigenbaum EA, Lederberg J. 1980. Application of Artificial Intelligence for Organic Chemistry The DENDRAL Project. Ed ke-1. New York: McGraw-Hill.
Lindsay RK, Buchanan BG, Feigenbaum EA, Lederberg J. 1993. DENDRAL: a case study of the first expert system for scientific hypothesis formation. Artificial Intelligence. 61:209-261.
McMurry J. 2000. Organic Chemistry. Ed ke-5. Pacific Grove: Thomson Brooks/Cole. OEIS Foundation. The On-Line Encyclopedia
of Integer Sequences. [Terhubung berkala]. http://oeis.org. [4, 1, 2010].
Pine S, Hendrickson JB, Cram DJ, Hammond GS. 1988. Kimia Organik jilid 1. Ed ke-4. Poehyati Joedodibroto. Penerjemah.. Bandung: ITB. Terjemahan dari: Organic Chemistry.
Skiena SS. 1997. The Algorithm Design Manual. Ed ke-2. New York: Springer-Verlag.
Trinastjic N. 1992. Chemical Graph Theory second edition. Ed ke-1. Boca Raton: CRC Press.
MENGHITUNG ISOMER ALKANA DAN DELAPAN
HOMOLOG-SATU-GUGUS FUNGSI DENGAN ALGORITMA
KVASNIČKA-POSPICHAL
FAHRUL SUTISNA
DEPARTEMEN KIMIA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
INSTITUT PERTANIAN BOGOR
SIMPULAN DAN SARAN
Simpulan
Algoritma Kvasnička-Pospichal yang telah dimodifikasi terbukti dapat membentuk kode alkana dan senyawa dengan rumus molekul CnH2n+2O, CnH2n, CnH2nO, CnH2nO2, dan
CnH2n+2. Jumlah isomer masing-masing
senyawa juga telah dihitung hingga 300 atom karbon. Nama IUPAC senyawa dapat diperoleh dari kode SMILES-nya menggunakan perangkat lunak nu. Namun perangkat ini hanya dapat mengkonversi kode dengan jumlah atom karbon hingga 10.
Saran
Pembentukan kode senyawa satu gugus fungsi yang lain perlu dilakukan selain untuk melengkapi kemampuan garuna juga untuk membuka jalan untuk membuat senyawa dengan gugus fungsi yang lebih banyak. Selain itu pembentukan kode senyawa siklik perlu dilakukan karena banyak senyawa organik yang memiliki siklik.
Perangkat lunak nu masih memerlukan penyempurnaan agar dapat digunakan untuk senyawa dengan jumlah atom lebih banyak. Perbaikan perlu dilakukan pada aturan prioritas sehingga alkil yang berbeda akan memiliki prioritas berbeda.
DAFTAR PUSTAKA
Aringhieri R, Hansen P, Malucelli F. 2003. Chemical trees enumeration algorithms.
4OR: A Quarterly Journal of Operations Research. 1:67–83.
Ballard K. 2003. Computerizd Isomer Enumeration of the Alkane Series [tesis]. Academic Magnet High School.
Blue Obelisk. OpenSMILES Specification. [Terhubung berkala].http://www.opensmi-les.org. [20, 12, 2009].
Carey FA. 2004. Organic Chemistry. Ed ke-5. New York: McGraw-Hill.
Deo N. 2004. Graph Theory with Applications to Engineering and Computer Science. Ed ke-8. New Delhi: PHI Learning.
Faulon J, Visco DP, Roe D. 2005. Enumerating Molecules. Reviews in Computational Chemistry. 21:209-286.
Fessenden RJ, Fessenden JS. 1986. Kimia Organic jilid 2. Ed ke-3. Aloysius Hadyana Pudjaatmaka. Penerjemah. Jakarta: Erlangga. Terjemahan dari:
Organic Chemistry.
Fessenden RJ, Fessenden JS. 1986. Kimia Organik jilid 1. Ed ke-3. Aloysius Hadyana Pudjaatmaka. Penerjemah. Jakarta: Erlangga. Terjemahan dari:
Organic Chemistry.
Indrajit RE, Pamungkas AFI. 2003. Buku Pintar Linux Dasar-Dasar Pemrograman Python. Ed ke-1. Jakarta: Alex Media Komputindo.
Iqbal H. 2008. Pokok-Pokok Materi Statistika 2 (Statistika Inferensif). Ed ke-2. Jakarta: Bumi Aksara.
Lindsay RK, Buchanan BG, Feigenbaum EA, Lederberg J. 1980. Application of Artificial Intelligence for Organic Chemistry The DENDRAL Project. Ed ke-1. New York: McGraw-Hill.
Lindsay RK, Buchanan BG, Feigenbaum EA, Lederberg J. 1993. DENDRAL: a case study of the first expert system for scientific hypothesis formation. Artificial Intelligence. 61:209-261.
McMurry J. 2000. Organic Chemistry. Ed ke-5. Pacific Grove: Thomson Brooks/Cole. OEIS Foundation. The On-Line Encyclopedia
of Integer Sequences. [Terhubung berkala]. http://oeis.org. [4, 1, 2010].
Pine S, Hendrickson JB, Cram DJ, Hammond GS. 1988. Kimia Organik jilid 1. Ed ke-4. Poehyati Joedodibroto. Penerjemah.. Bandung: ITB. Terjemahan dari: Organic Chemistry.
Skiena SS. 1997. The Algorithm Design Manual. Ed ke-2. New York: Springer-Verlag.
Trinastjic N. 1992. Chemical Graph Theory second edition. Ed ke-1. Boca Raton: CRC Press.
MENGHITUNG ISOMER ALKANA DAN DELAPAN
HOMOLOG-SATU-GUGUS FUNGSI DENGAN ALGORITMA
KVASNIČKA-POSPICHAL
FAHRUL SUTISNA
DEPARTEMEN KIMIA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
INSTITUT PERTANIAN BOGOR
ABSTRAK
FAHRUL SUTISNA. Menghitung Isomer Alkana dan Delapan Homolog-Satu-Gugus Fungsi dengan Algoritma Kvasnička-Pospichal. Dibimbing oleh CHARLENA dan AHMAD SJAHRIZA.
Ballard berhasil membuat generator struktur alkana yang efisien namun menghasilkan perulangan struktur mulai C19H40. Pada tahun yang sama Aringhairi berhasil menghitung jumlah
isomer alkana hingga C27H56 tanpa menghasilkan kode struktur. Berdasarkan penelitian tersebut
algoritma Kvasnička-Pospichal adalah yang paling cepat. Penelitian ini menggunakan algoritma Kvasnička-Pospichal untuk membuat generator yang dapat mengenumerasi struktur alkana, alkena, alkuna, alkohol, eter, aldehida, keton, asam karboksilat, dan ester yang memiliki satu gugus fungsi. Penelitian ini berhasil mengenumerasi alkana hingga C24H50, alkena hingga C21H42,
alkuna hingga C22H42, alkohol dan eter hingga C20H42O, aldehida dan keton hingga C21H42O, asam
karboksilat C21H42O2, dan ester hingga C20H42O2. Penelitian ini juga berhasil membuat perangkat
lunak yang dapat menghasilkan nama IUPAC dari kode SMILES.
ABSTRACT
FAHRUL SUTISNA. Isomer Enumeration of Alkanes and Eight Single-Functional-Group Homologues Using Kvasnička-Pospichal Algorithm. Supervised by CHARLENA and AHMAD SJAHRIZA
Ballard has developed an efficient alkanes structure generator but it resulted redundant structure started from C19H40. At the same time Aringheiri calculated alkanes isomer up to C27H56
without generating any structure codes. Based on his research Kvasnička-Pospichal algorithm is the fastest alkanes enumerating algorithm. This research used Kvasnička-Pospichal algorithm to create structure generator to enumerate alkanes, alkenes, alkynes, alcohols, ethers, aldehydes, ketones, carboxylic acids, and esters which have single functional group. This research succeeded to enumerate alkanes up to C24H50, alkenes up to C21H42, alkynes up to C22H42, alcohols up to
C20H42O, ethers up to C20H42O, aldehydes up to C21H42O, ketones up to C21H42O, carboxylic acids
up to C21H42O2, and esters up to C20H42O2. This research also succeeds in creating software to yield
MENGHITUNG ISOMER ALKANA DAN DELAPAN
HOMOLOG-SATU-GUGUS FUNGSI DENGAN ALGORITMA
KVASNIČKA-POSPICHAL
FAHRUL SUTISNA
Skripsi
sebagai salah satu syarat untuk memperoleh gelar
Sarjana Sains pada
Program Studi Kimia
DEPARTEMEN KIMIA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
INSTITUT PERTANIAN BOGOR
BOGOR
Judul : Menghitung Isomer Alkana dan Delapan Homolog-Satu-Gugus Fungsi
dengan Algoritma Kvasnička-Pospichal
Nama : Fahrul Sutisna
NIM
: G44203007
Menyetujui
Pembimbing I,
Pembimbing II,
Dr. Charlena, MS
Drs. Ahmad Sjahriza
NIP 19671222 199403 2 002
NIP 19620406 198903 1 002
Mengetahui
Ketua Departemen,
Prof. Dr. Ir. Tun Tedja Irawadi, MS
NIP 19501227 197603 2 002
v
PRAKATA
Puji dan syukur penulis panjatkan ke hadirat Allah SWT atas limpahan rahmat dan
karunia-Nya penulis dapat menyelesaikan karya ilmiah ini. Shalawat dan salam semoga
terlimpahkan kepada Nabi Muhammad SAW, keluarga, sahabat, serta umatnya hingga
akhir zaman. Judul yang dipilih untuk karya ilmiah ini adalah Menghitung Isomer Alkana
dan Delapan Homolog-Satu-Gugus Fungsi dengan Algoritma Kvasnička-Pospichal.
Terima kasih penulis ucapkan kepada semua pihak yang telah membantu dalam
penelitian dan penyelesaian karya ilmiah ini, antara lain Dr. Charlena, MS selaku
pembimbing I dan Drs. Ahmad Sjahriza sebagai pembimbing II. Semoga karya ilmiah ini
dapat membawa manfaat bagi pembacanya.
Bogor, Januari
2011
vi
RIWAYAT HIDUP
Penulis dilahirkan di Jakarta pada tanggal 4 Maret 1985 dari ayah Sukendar dan ibu
Nur Hanifah. Penulis merupakan putra tunggal.
Tahun 2003 penulis lulus dari SMUN 3 Bogor dan masuk IPB melalui jalur USMI.
Penulis memilih Departemen Kimia, Fakultas Matematika dan Ilmu Pengetahuan Alam.
vii
DAFTAR ISI
Halaman
DAFTAR GAMBAR...viii
DAFTAR TABEL...viii
DAFTAR LAMPIRAN...ix
PENDAHULUAN...1
TINJAUAN PUSTAKA...1
Alkana dan Beberapa Senyawa Satu Gugus Fungsi...1
Tata Nama IUPAC...2
Kombinatorial...2
Algoritma KP ...2
SMILES...3
Python...3
Kegunaan Generator Struktur...3
BAHAN DAN METODE...3
Alat dan Bahan...3
Ruang Lingkup...4
HASIL DAN PEMBAHASAN...4
Pembentukan Kode Struktur Senyawa ...4
Waktu Perhitungan Garuna...5
Jumlah Isomer...6
Konversi SMILES Menjadi Nama IUPAC...6
SIMPULAN DAN SARAN...7
Simpulan...7
Saran...7
DAFTAR PUSTAKA...7
viii
DAFTAR GAMBAR
Halaman
1 Ilustrasi pembentukan alkana dengan algoritma KP...2
2 Ilustrasi teorema Jordan...3
3 Contoh pembentukan alkil dengan algoritma KP...3
4 Grafik waktu perhitungan lima generator alkana...6
5 Grafik waktu pembentukan homolog selain alkana hingga 19 atom karbon...6
6 Grafik waktu perhitungan garuna...6
DAFTAR TABEL
Halaman
1 Cara penggabungan kode alkil untuk membentuk kode senyawa...4
2 Alkil yang diperlukan untuk membuat senyawa dengan n atom karbon...5
ix
DAFTAR LAMPIRAN
Halaman
1 Diagram alir penelitian...9
2 Algoritma KP...10
3 Algoritma GARUNA...11
4 Algoritma HIARUNA...12
5 Algoritma nu...13
6 Daftar pola partisi dan rumus kombinatorialnya...14
7 Waktu proses beberapa program generator alkana...15
8 Waktu proses pembentukan alkohol, aldehida, asam karboksilat, eter, keton,
alkena, alkuna, dan ester...16
9 Jumlah isomer alkana...17
10 Jumlah isomer alkohol...18
11 Jumlah isomer aldehida dan asam karboksilat...19
12 Jumlah isomer alkena...20
13 Jumlah isomer alkuna...21
14 Jumlah isomer eter...22
15 Jumlah isomer keton...23
16 Jumlah isomer ester...24
PENDAHULUAN
Menghitung isomer senyawa organik telah dilakukan sejak 1857 dan orang pertama yang melakukannya adalah Arthur Cayley. Ia menghitung jumlah isomer alkana hingga C13H28 tetapi hasil perhitungannya hanya tepat
hingga C11H24 (Trinastjic 1992).
Orang pertama yang menghitung isomer senyawa organik dengan komputer adalah Joshua Lederberg. Ia adalah seorang ahli biologi antariksa dan sering kali harus menentukan struktur senyawa dari luar angkasa. Ia menginginkan sebuah sistem yang dapat membantunya melakukan hal tersebut. Untuk membuat sistem impiannya, Lederberg bekerja sama dengan kimiawan Carl Djerassi, programer Edward Feigenbaum dan pakar kecerdasan buatan Bruce Buchanan. Tahun 1968 mereka berhasil menyelesaikan sistem tersebut dan menamainya DENDRAL (Lindsay et al. 1980).
Cara kerja DENDRAL adalah sebagai berikut: pertama DENDRAL mengolah rumus empiris dan data pengamatan, seperti spektrum massa senyawa yang diteliti, untuk mendapatkan rumus molekulnya. Rumus molekul tersebut digunakan oleh generator untuk membuat struktur molekul yang mungkin. Struktur molekul yang dihasilkan dinyatakan dengan kode struktur. Setelah itu DENDRAL menganalisis setiap kode struktur yang dihasilkan dan membanding hasilnya dengan data pengamatan. Kode struktur yang sesuai dengan data pengamatan ditampilkan sebagai hasil proses tersebut (Lindsay et al.
1980).
DENDRAL versi pertama hanya memiliki generator asiklik sehingga hanya menghasilkan struktur tanpa cincin. Untuk mengatasi kelemahan tersebut Masinter membuat generator siklik yang disebut CONGEN (Lindsay et al. 1993). CONGEN dibuat dengan memodifikasi algoritma generator asiklik, akibatnya kedua generator tersebut memiliki kelemahan yang sama yakni memerlukan waktu proses yang panjang. (Ballard 2003).
Tahun 2003 Ballard menghitung isomer alkana dengan membuat generator struktur untuk homolog tersebut. Perangkat lunak tersebut menghasilkan 7200 isomer alkana per detik tetapi menghasilkan perulangan kode struktur mulai C19H40 (Ballard 2003).
Aringheiri menulis beberapa perangkat lunak untuk menghitung jumlah isomer alkana. Cara kerja perangkat lunak tersebut adalah dengan
menghitung jumlah kode struktur yang dihasilkan. Perangkat lunak yang mereka buat berhasil menghitung jumlah isomer alkana hingga C27H56 dan yang paling cepat adalah
perangkat lunak yang menggunakan algoritma Kvasnička-Pospichal (KP) (Aringhieri et al.
2003).
Penelitian ini bertujuan mendaftarkan kode struktur dan menghitung jumlah isomer senyawa alkana dan senyawa yang memiliki rumus molekul CnH2n+2, CnH2n+2O, CnH2n,
CnH2nO, CnH2nO2, dan CnH2n-2 dengan
algoritma KP. Kode struktur akan dinyatakan dalam kode simplified molecular input line entry specification (SMILES). Kode ini dipilih karena sudah didukung oleh banyak perangkat lunak, namun belum ada perangkat lunak berdiri sendiri yang dapat mengkonversi kode SMILES menjadi nama IUPAC. Oleh karena itu dalam penelitian ini juga dibuat perangkat lunak untuk mengkonversi kode SMILES menjadi nama International Union of Pure and Applied Chemistry (IUPAC) agar kode yang dihasilkan bisa dimengerti.
TINJAUAN PUSTAKA
Alkana dan Beberapa Senyawa Satu
Gugus Fungsi
Alkana adalah senyawa hidrokarbon jenuh sehingga hanya memiliki ikatan sigma dan rumus molekulnya adalah CnH2n+2. Alkena dan
alkuna adalah hidrokarbon yang setidaknya memiliki satu ikatan rangkap dua atau tiga (Carey 2004). Karena ada ikatan rangkap tersebut maka alkena dan alkuna yang memiliki satu gugus fungsi akan memiliki rumus molekul CnH2n dan CnH2n-2.
Alkil merupakan gugus alkana yang kehilangan satu atom hidrogen sehingga rumus molekulnya menjadi CnH2n+1 (Carey
2004). Gugus alkil biasanya dilambangkan dengan huruf R (McMurry 2000).
Alkohol dan eter dapat dianggap sebagai turunan air dengan mengganti satu atau dua atom hidrogen dengan gugus alkil. Keduanya bersifat polar dan larut dalam air tetapi kelarutan eter lebih rendah (Pine et al. 1988). Alkohol dan eter yang memiliki satu gugus fungsi akan memiliki rumus molekul CnH2n+2O.
2
aldehida dapat dioksidasi menjadi asam karboksilat (Pine et al. 1988). Aldehida dan keton yang memiliki satu gugus fungsi akan memiliki rumus molekul CnH2nO2.
Asam karboksilat dan ester juga tergolong senyawa karbonil. Asam karboksilat bersifat polar dan bisa mengalami reaksi subtitusi. Reaksi asam karboksilat dengan alkohol menghasilkan ester. Ester biasa digunakan sebagai citarasa buah pada produk makanan (Fessenden RJ & Fessenden JS (b) 1986). Asam karboksilat dan ester yang memiliki satu gugus fungsi akan memiliki rumus molekul CnH2nO2.
Tata Nama IUPAC
Prosedur untuk memberi nama IUPAC suatu alkana adalah sebagai berikut: (1) Carilah rantai terpanjang dengan cabang terbanyak sebagai rantai induk. (2) Nomori atom karbon pada rantai induk dimulai dari ujung yang paling dekat dengan cabang. Jika kedua ujung memiliki jarak yang sama dengan cabang terdekat maka penomoran dimulai dari ujung yang paling dekat dengan cabang selanjutnya. (3) Namai cabang dan posisinya. (4) Nama ditulis sebagai satu kata (McMurry 2000).
Prosedur penentuan nama IUPAC untuk senyawa selain alkana mirip dengan prosedur penentuan nama alkana. Bedanya adalah rantai utama harus melalui gugus fungsi senyawa tersebut dan mendapat posisi terendah. Nama alkena dan alkuna diperoleh dengan mengganti akhiran -ana dengan -ena atau -una. Nama alkohol, aldehida, keton, dan asam karboksilat diperoleh dengan mengganti huruf 'a' terakhir dari nama alkana dengan akhiran -ol, -al, -on, atau asam ...-oat. Nama eter dan ester sedikit berbeda. Untuk eter, akhiran -il pada alkil yang pendek diganti dengan akhiran -oksi dan digabungkan dengan nama alkana dari alkil yang panjang. Untuk ester, akhiran -il alkil yang terikat pada atom oksigen diganti dengan -oksi lalu digabungkan dengan nama asam karboksilat tanpa kata asam. (Fessenden RJ & Fessenden JS (a) 1986).
Kombinatorial
Kombinatorial adalah cabang matematika yang mempelajari penyusunan objek-objek. Hasil yang diinginkan adalah jumlah susunan yang mungkin untuk menyusun objek tertentu dalam himpunannya.
Jika ada n tempat dan masing-masing memiliki a1, a2, a3, …, an cara pengisian yang
mungkin, maka ada a1 × a2 × a3 × … × an
susunan yang mungkin untuk mengisi n tempat tersebut. Jika ada m objek yang akan mengisi n tempat, dengan m ≥ n serta urutan tidak diperhatikan maka jumlah susunan yang mungkin dibentuk adalah
(Iqbal 2008).
Jika b1 ≥ b2 ≥ … ≥ bk ≥ 1 adalah bilangan
bulat sehingga b1 + b2 + … + bk = n maka
rangkaian bilangan (a1, a2, …, ak) disebut
partisi bilangan bulat dari n (Deo 2004). Selanjutnya partisi bilangan bulat akan disebut dengan partisi.
Algoritma KP
Algoritma adalah prosedur untuk mengerjakan suatu tugas (Skiena 1997). Prosedur praktikum dan resep masakan adalah contoh algoritma.
Gambar 1 Ilustrasi enumerasi dengan ma KP.
Algoritma KP disebut juga algoritma pembentukkan, hal ini disebabkan oleh hasil pengamatan bahwa sebuah rantai alkana dapat diuraikan menjadi alkil-alkil yang lebih kecil. Oleh karena itu alkana dengan n atom karbon dapat dienumerasi dengan menggabungkan dua alkil atau lebih dengan atom karbon pusat sehingga jumlah atom karbonnya sama dengan n. Gambar 1 mengilustrasikan enumerasi dengan algoritma KP. Bulatan merah menunjukkan atom karbon pusat sedangkan garis merah menunjukkan ikatan pusat (Aringhieri et al. 2003).
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.
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.
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
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
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
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.
Gambar 3 Contoh pembentukan alkil dengan algoritma KP.
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
5
yang dibutuhkan adalah metil hingga CnH2n-3
karena kode pusatnya memiliki dua atom karbon.
Tabel 2 Alkil yang diperlukan untuk membuat senyawa dengan n atom karbon Homolog Alkil yang diperlukan
Alkil 1 hingga n-1
Alkana 1 hingga k
Alkena 1 hingga n-1
Alkuna 1 hingga n-2
Alkohol 1 hingga n
Eter 1 hingga n-1
Aldehida 1 hingga n-1
Keton 1 hingga n-2
Asam karboksilat 1 hingga n-1
Ester 1 hingga n-2
Cara penggabungan kode alkil juga menentukan partisi yang digunakan. Misalnya saat membuat alkana diperlukan dua hingga empat alkil sehingga jumlah bilangan dalam partisi adalah dua hingga empat. Jika a, b, c, d adalah bilangan asli dan a > b > c > d maka pola partisi yang digunakan untuk membuat suatu senyawa ditunjukkan oleh Tabel 3. Khusus untuk ester nilai a bisa kurang dari b.
Garuna berhasil mendaftarkan semua kode struktur isomer alkana dari CH4 hingga C24H50.
Hal ini diketahui dari jumlah kode struktur yang dihasilkan garuna sama dengan jumlah isomer alkana menurut referensi.
Berdasarkan Tabel 3 dapat diketahui bahwa pola partisi alkohol, aldehida dan asam karboksilat sama. Hal ini disebabkan oleh cara pembentukan ketiga senyawa homolog tersebut sama. Karena gugus fungsi aldehida dan asam karboksilat mengandung satu atom karbon untuk membuat senyawa dengan n atom karbon hanya diperlukan alkil hingga Cn-1H2n-1 sedangkan untuk alkohol garuna
memerlukan alkil hingga CnH2n+1. Akibatnya
jumlah isomer alkil dengan n atom karbon sama dengan jumlah isomer alkohol dengan n atom karbon sama dengan jumlah isomer aldehida dengan n+1 atom karbon dan sama dengan jumlah isomer asam karboksilat dengan n+1 atom karbon. Selain itu karena alkil yang digunakan sangat banyak, dalam penelitian ini garuna hanya dapat menghasilkan struktur alkohol hingga 20 atom karbon, serta aldehida dan asam karboksilat hingga 21 atom karbon.
Tabel 3 Daftar pola partisi untuk membuat suatu homolog
Homolog Pola partisi
Alkil (a), (a, b), (a, a), (a, b, c), (a, a, b), (a, a, a)
Alkana
(a, a), (a, b, c), (a, a, b), (a, a, a), (a, b, c, d), (a, a, b, c), (a, a, b, b),
(a, a, a, b), (a, a, a, a) Alkena (a, b), (a, a) Alkuna (a), (a, b), (a, a)
Alkohol (a)
Eter (a, b), (a, a)
Aldehida (a)
Keton (a, b), (a, a) Asam karboksilat (a)
Ester (a), (a, b)
Alkena, eter dan keton juga memiliki pola partisi yang sama. Karena gugus fungsi keton mengandung satu atom karbon sehingga untuk membuat keton dengan n atom karbon hanya diperlukan alkil hingga Cn-2H2n-3 sedangkan
dua lainnya memerlukan alkil hingga Cn-1H2n-1.
Karena itu garuna dapat menghasilkan struktur keton hingga 21 atom karbon. Struktur alkena dapat diperoleh hingga C21H42
karena jumlah isomernya relatif sedikit dibandingkan eter. Struktur eter hanya dapat dihasilkan hingga 20 atom karbon.
Alkuna sedikit istimewa karena boleh mengikat atom H sehingga bisa mengikat nol, satu atau dua alkil. Akibatnya untuk membuat alkuna dengan n atom karbon diperlukan alkil hingga Cn-2H2n-3 sehingga strukturnya dapat
dibentuk hingga C22H42.
Ester juga istimewa karena gugus fungsinya tidak simetris seperti pada keton. Akibatnya rantai induk boleh lebih pendek dari rantai cabang sehingga a boleh kurang dari b tapi tidak boleh nol. Struktur ester hanya dapat dibentuk hingga C20H40O2 karena
memiliki jumlah isomer paling banyak dibandingkan homolog lainnya.
Waktu Perhitungan Garuna
6
besar, yakni sebesar 28000 isomer per detik. Hal ini disebabkan oleh komputer yang digunakan paling cepat. KP, AHM dan HPVK dijalankan pada sistem Silicon Graphics Indingo 4000, processor RISC IP20 100 MHz sedangkan generator Ballard dijalankan pada