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 BOGOR 2011 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 C 24H50, alkena hingga C21H42, alkuna hingga C22H42, alkohol dan eter hingga C 20H42O, aldehida dan keton hingga C 21H42O, 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 IUPAC names from SMILES code. 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 2011 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 NIP 19671222 199403 2 002 Drs. Ahmad Sjahriza NIP 19620406 198903 1 002 Mengetahui Ketua Departemen, Prof. Dr. Ir. Tun Tedja Irawadi, MS NIP 19501227 197603 2 002 Tanggal Lulus: 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 Fahrul Sutisna 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. Selama mengikuti perkuliahan, penulis pernah terlibat dalam kepanitian Magic Chemistry tahun 2004 dan 2005 serta Chemistry Challenge tahun 2005. Penulis melakukan praktik lapangan di bagian Quality Control PT Kapsulindo Nusantara tahun 2006 dengan judul Penjernihan Limbah Cair Gelatin di PT Kapsulindo Nusantara Secara Koagulasi. 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 LAMPIRAN.............................................................................................................8 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 3 Daftar pola partisi untuk membuat suatu homolog.............................................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 17 Hasil konversi kode SMILES menjadi nama IUPAC........................................25 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. Aldehida dan keton merupakan senyawa karbonil. Aldehida memiliki gugus karbonil yang selalu berada di urutan pertama sedangkan gugus karbonil keton tidak pernah berada di ujung rantai utama. Oleh karena itu 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 algoritma 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). Algoritma KP diturunkan dari teorema Jordan. Aturan dalam teorema Jordan menjamin setiap struktur yang dibangun bersifat unik. Teorema Jordan menetapkan jika sebuah alkana memiliki n buah atom karbon, ada tiga kondisi yang mungkin, yakni: (1) jika n = 2k + 1, ada sebuah atom karbon pusat sehingga alkil-alkil yang berikatan dengannya tidak ada yang memiliki atom karbon lebih banyak dari k, (2) jika n = 2k, ada sebuah atom karbon pusat sehingga alkilalkil yang berikatan dengannya tidak ada yang memiliki atom karbon lebih banyak dari k-1, (3) jika n = 2k, ada sebuah ikatan pusat C―C 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 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 C 21H42 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 Gambar 4 menunjukkan waktu yang diperlukan untuk menghasilkan struktur alkana yang dilakukan garuna dan beberapa generator yang telah dibuat oleh peneliti lain. Berdasarkan gambar tersebut laju pembentukan oleh garuna adalah yang paling 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 homolog selain alkana hingga 19 atom karbon. Gambar 6 Grafik waktu perhitungan garuna. 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.opensmiles.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 ke1. 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 ke5. 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: SpringerVerlag. Trinastjic N. 1992. Chemical Graph Theory second edition. Ed ke-1. Boca Raton: CRC Press. Weininger D. 1988. SMILES, a Chemical Language and Information System. 1. Introduction to Methodology and Encoding Rules. Journal of Chemical Information and Computer Science. 28:3136. LAMPIRAN 9 Lampiran 1 Diagram alir penelitian 10 Lampiran 2 Algoritma KP 11 Lampiran 3 Algoritma GARUNA 12 Lampiran 4 Algoritma HIARUNA 13 Lampiran 5 Algoritma nu 14 Lampiran 6 Daftar pola partisi dan rumus kombinatorialnya Pola Partisi Rumus kombinatorial (a) ma (a, b) ma × mb (a, a) ma + maC2 (a, b, c) ma × mb × mc (a, a, b) (ma + maC2) × mb (a, a, a) ma2 + maC3 (a, b, c, d) ma × mb × mc × md (a, a, b, c) (ma + maC2) × mb × mc (a, a, b, b) (ma + maC2) × (mb + mbC2) (a, a, a, b) (ma2 + maC3) × mb (a, a, a, a) ma2+ma × (ma-1)C2 + maC2+maC4 15 Lampiran 7 Waktu proses beberapa program generator alkana Jumlah Jumlah atom C isomer 1 1 2 1 3 1 4 2 5 3 6 5 7 9 8 18 9 35 10 75 11 159 12 355 13 802 14 1.858 15 4.347 16 10.359 17 24.894 18 60.523 19 148.284 20 366.319 21 910.726 22 2.278.658 23 5.731.580 24 14.490.245 Waktu proses (detik) KP HPVK AHM Ballard 0 0 0 1,397 0 2 2 3,354 2 6 7 8,082 4 14 16 15 37 42 49,352 22 98 112 123,219 94 257 297 145 671 789 618 1.762 1.899 Garuna 0 0 0 0 0 0 0 0 0 0 0 0 0,015 0,032 0,063 0,187 0,406 1,141 2,641 7,375 17,937 49,734 148,360 520,000 16 Lampiran 8 Waktu proses pembentukan alkohol, aldehida, asam karboksilat, eter, keton, alkena, alkuna, dan ester Jumlah Karbon Alkohol Aldehida 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0,000 0,000 0,000 0,000 0,000 0,000 0,000 0,000 0,000 0,000 0,000 0,015 0,015 0,062 0,140 0,359 0,906 2,375 5,813 153,000 - 0,000 0,000 0,000 0,000 0,000 0,000 0,000 0,000 0,000 0,000 0,000 0,000 0,000 0,015 0,046 0,125 0,344 0,859 2,188 5,672 156,391 - Waktu Proses (detik) Asam Eter Keton Alkena Alkuna Ester Karboksilat 0,000 0,000 0,000 0,000 0,000 0,000 0,000 0,000 0,000 0,000 0,000 0,000 0,000 0,000 0,000 0,000 0,000 0,000 0,000 0,000 0,000 0,000 0,000 0,000 0,000 0,000 0,000 0,000 0,000 0,000 0,000 0,000 0,000 0,000 0,000 0,000 0,000 0,000 0,000 0,000 0,000 0,000 0,000 0,000 0,000 0,000 0,000 0,000 0,000 0,000 0,000 0,000 0,000 0,000 0,000 0,000 0,000 0,000 0,000 0,000 0,000 0,000 0,000 0,000 0,000 0,015 0,000 0,016 0,000 0,000 0,000 0,016 0,016 0,015 0,000 0,000 0,015 0,016 0,031 0,047 0,032 0,015 0,016 0,047 0,047 0,125 0,047 0,046 0,063 0,110 0,125 0,328 0,125 0,125 0,188 0,266 0,328 0,828 0,328 0,344 0,500 0,704 0,844 2,172 0,844 0,859 1,329 1,844 2,218 5,781 2,172 2,188 3,500 4,797 5,687 125,985 5,657 5,672 9,297 120,875 109,844 223,9681.003,422 263,328 967,719 - 17 Lampiran 9 Jumlah isomer alkana Jumlah atom C 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 ⋮ 60 ⋮ Referensi* Perhitungan 1 1 1 2 3 5 9 18 35 75 159 355 802 1.858 4.347 10.359 24.894 60.523 148.284 366.319 910.726 2.278.658 5.731.580 14.490.245 36.797.588 93.839.412 240.215.803 617.105.614 1.590.507.121 4.111.846.763 10.660.307.791 27.711.253.769 72.214.088.660 188.626.236.139 493.782.952.902 1.295.297.588.128 3.404.490.780.161 8.964.747.474.595 23.647.478.933.969 62.481.801.147.341 165.351.455.535.782 438.242.894.769.226 1.163.169.707.886.427 3.091.461.011.836.856 8.227.162.372.221.203 21.921.834.086.683.418 58.481.806.621.987.010 156.192.366.474.590.639 1 1 1 2 3 5 9 18 35 75 159 355 802 1.858 4.347 10.359 24.894 60.523 148.284 366.319 910.726 2.278.658 5.731.580 14.490.245 36.797.588 93.839.412 240.215.803 617.105.614 1.590.507.121 4.111.846.763 10.660.307.791 27.711.253.769 72.214.088.660 188.626.236.139 493.782.952.902 1.295.297.588.128 3.404.490.780.161 8.964.747.474.595 23.647.478.933.969 62.481.801.147.341 165.351.455.535.782 438.242.894.769.226 1.163.169.707.886.427 3.091.461.011.836.856 8.227.162.372.221.203 21.921.834.086.683.418 58.481.806.621.987.010 156.192.366.474.590.639 22.158.734.535.770.411.074.184 22.158.734.535.770.411.074.184 ⋮ ⋮ 300 *http://oeis.org/A000602/b000602.txt ⋮ ⋮ 308.452.748.932.356.659.134.640.254.457.496 .633.283.824.248.738.866.911.531.511.793.64 6.459.565.034.445.179.334.045.501.201.901.7 54.682.633.289.077.084.032.710.062.170.279 18 Lampiran 10 Jumlah isomer alkohol Jumlah atom C 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 ⋮ 200 ⋮ 300 Referensi* 1 1 2 4 8 17 39 89 211 507 1.238 3.057 7.639 19.241 48.865 124.906 321.198 830.219 2.156.010 5.622.109 14.715.813 38.649.152 101.821.927 269.010.485 712.566.567 1.891.993.344 5.034.704.828 13.425.117.806 35.866.550.869 95.991.365.288 257.332.864.506 690.928.354.105 1.857.821.351.559 5.002.305.607.153 13.486.440.075.669 36.404.382.430.278 98.380.779.170.283 266.158.552.000.477 720.807.976.831.447 Perhitungan 1 1 2 4 8 17 39 89 211 507 1.238 3.057 7.639 19.241 48.865 124.906 321.198 830.219 2.156.010 5.622.109 14.715.813 38.649.152 101.821.927 269.010.485 712.566.567 1.891.993.344 5.034.704.828 13.425.117.806 35.866.550.869 95.991.365.288 257.332.864.506 690.928.354.105 1.857.821.351.559 5.002.305.607.153 13.486.440.075.669 36.404.382.430.278 98.380.779.170.283 266.158.552.000.477 720.807.976.831.447 ⋮ ⋮ 148.620.430.963.902.894.755.242.879. 148.620.430.963.902.894.755.242.879. 402.783.321.943.130.575.044.098.998.314. 402.783.321.943.130.575.044.098.998.314. 262.124.546.362.130.396.311.396.056.391 262.124.546.362.130.396.311.396.056.391 ⋮ ⋮ 72.951.603.804 .599.825.613.889.375.770.830.115.970.72 9.975.686.795.316.050.956.574.109.889.6 56.384.030.497.662.131.121.637.975.659. 429.570.359.948.542.945.415.950.479.895 .157 *http://oeis.org/A000598/b000598.txt 19 Lampiran 11 Jumlah isomer aldehida dan asam karboksilat Jumlah atom C 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 ⋮ 201 ⋮ 301 Referensi* 1 1 1 2 4 8 17 39 89 211 507 1.238 3.057 7.639 19.241 48.865 124.906 321.198 830.219 2.156.010 5.622.109 14.715.813 38.649.1523 101.821.927 269.010.485 712.566.567 1.891.993.344 5.034.704.828 13.425.117.806 35.866.550.869 95.991.365.288 257.332.864.506 690.928.354.105 1.857.821.351.559 5.002.305.607.153 13.486.440.075.669 36.404.382.430.278 98.380.779.170.283 266.158.552.000.477 Perhitungan 1 1 1 2 4 8 17 39 89 211 507 1.238 3.057 7.639 19.241 48.865 124.906 321.198 830.219 2.156.010 5.622.109 14.715.813 38.649.152 101.821.927 269.010.485 712.566.567 1.891.993.344 5.034.704.828 13.425.117.806 35.866.550.869 95.991.365.288 257.332.864.506 690.928.354.105 1.857.821.351.559 5.002.305.607.153 13.486.440.075.669 36.404.382.430.278 98.380.779.170.283 266.158.552.000.477 ⋮ ⋮ 148.620.430.963.902.894.755.242.879. 148.620.430.963.902.894.755.242.879. 402.783.321.943.130.575.044.098.998.314. 402.783.321.943.130.575.044.098.998.314. 262.124.546.362.130.396.311.396.056.391 262.124.546.362.130.396.311.396.056.391 ⋮ ⋮ 72.951.603.804 .599.825.613.889.375.770.830.115.970.72 9.975.686.795.316.050.956.574.109.889.6 56.384.030.497.662.131.121.637.975.659. 429.570.359.948.542.945.415.950.479.895 .157 *http://oeis.org/A000598/b000598.txt 20 Lampiran 12 Jumlah isomer alkena Jumlah atom C 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 ⋮ Referensi* 300 *http://oeis.org/A000631 ⋮ 0 1 1 3 5 13 27 66 153 377 914 2.281 5.690 14.397 36.564 93.650 240.916 623.338 1.619.346 4.224.993 11.062.046 29.062.341 76.581.151 202.365.823 536.113.477 1.423.665.699 3.788.843.391 10.103.901.486 26.995.498.151 72.253.682.560 193.706.542.776 Perhitungan 0 1 1 3 5 13 27 66 153 377 914 2.281 5.690 14.397 36.564 93.650 240.916 623.338 1.619.346 4.224.993 11.062.046 29.062.341 76.581.151 202.365.823 536.113.477 1.423.665.699 3.788.843.391 10.103.901.486 26.995.498.151 72.253.682.560 193.706.542.776 ⋮ 54.879.844.567.015.098.584.037.418.418. 695.189.761.011.080.674.971.930.212.055 .230.756.589.269.041.788.886.833.258.91 1.102.180.219.347.174.530.763.506.945.7 42.675.122.681.312 21 Lampiran 13 Jumlah isomer alkuna Jumlah atom C 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 ⋮ 200 ⋮ 300 Referensi* Perhitungan 0 1 1 2 3 7 14 32 72 171 405 989 2.426 6.045 15.167 38.422 97.925 251.275 648.061 1.679.869 4.372.872 11.428.365 29.972.078 78.859.809 208.094.977 550.603.722 1.460.457.242 3.882.682.803 10.344.102.122 27.612.603.765 73.844.151.259 0 1 1 2 3 7 14 32 72 171 405 989 2.426 6.045 15.167 38.422 97.925 251.275 648.061 1.679.869 4.372.872 11.428.365 29.972.078 78.859.809 208.094.977 550.603.722 1.460.457.242 3.882.682.803 10.344.102.122 27.612.603.765 73.844.151.259 ⋮ ⋮ 112.156.876.983.564.700.699.992.710 112.156.876.983.564.700.699.992.710.444. .444.485.737.208.408.744.802.674.297.332. 485.737.208.408.744.802.674.297.332.565. 565.387.711.412.911.097.582.991.151.022 387.711.412.911.097.582.991.151.022 ⋮ ⋮ 19.629.726.274.306.303.390.161.358.534. 049.054.213.111.706.974.661.844.662.733 .476.559.679.371.692.249.311.755.837.46 2.228.981.155.357.269.719.702.610.317.6 76.028.543.595.764 *http://oeis.org/A000642/b000642.txt 22 Lampiran 14 Jumlah isomer eter Jumlah atom C 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 ⋮ 300 *http://oeis.org/A000599 Referensi* ⋮ 0 1 1 3 6 15 33 82 194 482 1.188 2.988 7.528 19.181 49.060 126.369 326.863 849.650 2.216.862 5.806.256 15.256.265 40.210.657 106.273.050 281.593.237 747.890.675 1.990.689.459 5.309.397.294 14.187.485.959 37.977.600.390 101.827.024.251 Perhitungan 0 1 1 3 6 15 33 82 194 482 1.188 2.988 7.528 19.181 49.060 126.369 326.863 849.650 2.216.862 5.806.256 15.256.265 40.210.657 106.273.050 281.593.237 747.890.675 1.990.689.459 5.309.397.294 14.187.485.959 37.977.600.390 101.827.024.251 ⋮ 81.099.743.084.558.407.649.244.066.466. 676.899.439.129.617.915.416.152.316.172 .557.329.634.203.649.544.533.396.181.00 4.712.103.842.207.111.194.414.288.620.5 30.105.878.741.339 23 Lampiran 15 Jumlah isomer keton Jumlah atom C 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 ⋮ Referensi* 301 *http://oeis.org/A000599 ⋮ 0 0 1 1 3 6 15 33 82 194 482 1.188 2.988 7.528 19.181 49.060 126.369 326.863 849.650 2.216.862 5.806.256 15.256.265 40.210.657 106.273.050 281.593.237 747.890.675 1.990.689.459 5.309.397.294 14.187.485.959 37.977.600.390 101.827.024.251 Perhitungan 0 0 1 1 3 6 15 33 82 194 482 1.188 2.988 7.528 19.181 49.060 126.369 326.863 849.650 2.216.862 5.806.256 15.256.265 40.210.657 106.273.050 281.593.237 747.890.675 1.990.689.459 5.309.397.294 14.187.485.959 37.977.600.390 101.827.024.251 ⋮ 81.099.743.084.558.407.649.244.066.466. 676.899.439.129.617.915.416.152.316.172 .557.329.634.203.649.544.533.396.181.00 4.712.103.842.207.111.194.414.288.620.5 30.105.878.741.339 24 Lampiran 16 Jumlah isomer ester Jumlah atom C 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 ⋮ 99 ⋮ 300 Referensi* Perhitungan 0 0 1 1 2 2 4 4 9 9 20 20 45 45 105 105 249 249 599 599 1.463 1.463 3.614 3.614 9.016 9.016 22.695 22.695 57.564 57.564 146.985 146.985 377.555 377.555 974.924 974.924 2.529.308 2.529.308 6.589.734 6.589.734 17.234.114 17.234.114 45.228.343 45.228.343 119.069.228 119.069.228 314.368.027 314.368.027 832.193.902 832.193.902 2.208.347.917 2.208.347.917 5.873.364.623 5.873.364.623 15.653.499.416 15.653.499.416 41.800.070.483 41.800.070.483 111.821.751.649 111.821.751.649 299.645.364.925 299.645.364.925 804.218.538.534 804.218.538.534 2.161.640.287.567 2.161.640.287.567 5.818.312.051.141 5.818.312.051.141 15.681.211.610.461 15.681.211.610.461 42.315.455.368.147 42.315.455.368.147 114.320.906.391.439 114.320.906.391.439 309.194.922.101.701 309.194.922.101.701 837.132.197.191.411 837.132.197.191.411 2.268.754.979.480.059 2.268.754.979.480.059 ⋮ ⋮ 19.382.372.317.708.493.636.458.045.318.8 19.382.372.317.708.493.636.458.045.318.8 86.799.420.646 86.799.420.646 ⋮ ⋮ 839.395.276.398.399.513.852.685.033.769 .595.908.172.480.918.330.186.841.880.12 0.703.131.866.604.492.050.492.37.205.15 5.549.268.002.311.024.544.457.913.308.5 93.780.714.713.428 *http://oeis.org/A000632/b000632.txt 25 Lampiran 17 Hasil konversi kode SMILES menjadi nama IUPAC Kode SMILES Nama IUPAC CC(C)C(C)CC(C)C 2,3,5-trimetilheksana CCC(C)=CC(C)(C)C 3,5,5-trimetil-3-heksena CC(C)C#CCC(C)C 2,6-dimetil-3-heptuna OC(C(C)C)C(C)(C)CC 2,4,4-trimetil-3-heksanol O(C(C)(C)C)CCC(C)C 2,2-dimetiletoksi-3-metil-butana O=CCC(CC)CCCC 3-etilheptanal O=C(C(C)C)C(C)(C)CC 2,4,4-trimetil-3-heksanon O=C(O)C(C)C(CC)C(C)CC asam 3-etil-2,4-dimetilheksanoat O=C(OCCCC)C(C)CC butoksi-2-metilbutanoat