PERKEMBANGAN DATABASE (BASIS DATA) 1. PENGERTIAN dari berbagai sumber yang berbeda. Menurut Gordon C. Everest : Database adalah koleksi atau kumpulan data yang mekanis, terbagi/shared, terdefinisi secara formal dan dikontrol terpusat pada organisasi. Menurut C.J. Date : Database adalah koleksi “data operasional” yang tersimpan dan dipakai oleh sistem aplikasi dari suatu organisasi. - Data input adalah data yang masuk dari luar sistem - Data output adalah data yang dihasilkan sistem - Data operasional adalah data yang tersimpan pada sistem Menurut Toni Fabbri : Database adalah sebuah sistem file-file yang terintegrasi yang mempunyai minimal primary key untuk pengulangan data. Menurut S. Attre : Database adalah koleksi data-data yang saling berhubungan mengenai suatu organisasi / enterprise dengan macammacam pemakaiannya. Data adalah suatu fakta yang dapat direkam/dicatat/disimpan yang memiliki arti tertentu. Contoh : Alamat, Nama, Nomor Telepon Arti Khusus Database: Representasi beberapa aspek dari dunia nyata, yang sering disebut dengan “mini world” atau “universe of Discourse (UoD)”. Jika mini world berubah, database secara keseluruhan ikut berubah Kumpulan dari data-data yang saling berhubungan satu dengan lainnya yang memiliki arti tertentu Dirancang, dibuat, dan dipergunakan untuk keperluan tertentu. Terdapat sekelompok pemakai dan aplikasi tertentu yang saling terikat Database adalah suatu kumpulan data yang disusun sedemikian rupa sehingga membentuk informasi yang sangat berguna. Database juga dapat diartikan sebagai kumpulan dari item data yang saling berhubungan satu dengan yang lainnya yang diorganisasikan berdasarkan sebuah skema atau struktur tertentu, tersimpan di hardware komputer dan dengan software untuk melakukan manipulasi untuk kegunaan tertentu. Dapat disimpulkan bahwa Database adalah kumpulan data informatif yang disimpan di dalam komputer secara sistematik/ teratur sehingga dapat diakses/ diperiksa/ digunakan menggunakan suatu program komputer untuk memperoleh informasi dari basis data tersebut. 2. SEJARAH SINGKAT DATABASE Database berasal dari bahasa Inggris yang di Indonesia juga sering disebut basis data. Sistem basis data dipelajari dalam ilmu informasi.Istilah “basis data” berawal dari ilmu komputer. Meskipun kemudian artinya semakin luas, memasukkan hal-hal di luar bidang elektronika. Database pertama yang tersimpan di komputer mainframe besar terpusat yang diakses pengguna dari terminal. Sebagai komputasi terdistribusi dan mikrokomputer menjadi populer pada 1980-an, dua jenis database muncul yaitu database pribadi dan klien / server database. Catatan yang mirip dengan basis data sebenarnya sudah ada sebelum revolusi industri yaitu dalam bentuk buku besar, kuitansi dan kumpulan data yang berhubungan dengan bisnis. Konsep dasar dari basis data adalah kumpulan dari catatan-catatan, atau potongan dari pengetahuan. Sebuah basis data memiliki penjelasan terstruktur dari jenis fakta yang tersimpan di dalamnya atau yang disebut skema. Skema menggambarkan obyek yang diwakili suatu basis data, dan hubungan di antara obyek tersebut. Ada banyak cara untuk mengorganisasi skema, atau memodelkan struktur basis data ini dikenal sebagai model basis data atau model data. Model yang umum digunakan sekarang adalah model relasional,yang menurut istilah layman mewakili semua informasi dalam bentuk tabeltabel yang saling berhubungan dimana setiap tabel terdiri dari baris dan kolom (definisi yang sebenarnya menggunakan terminologi matematika). Dalam model ini, hubungan antar tabel diwakili dengan menggunakan nilai yang sama antar tabel. Model yang lain seperti model hierarkis dan model jaringan menggunakan cara yang lebih eksplisit untuk mewakili hubungan antar tabel. Istilah basis data mengacu pada koleksi dari data-data yang saling berhubungan, dan perangkat lunaknya mengacu sebagai sistem manajemen basis data (database management system/DBMS). DBMS adalah software database yang merupakan aplikasi perangkat lunak yang digunakan oleh user untuk mengelola dan memanggil database tersebut. Jika konteksnya sudah jelas, banyak administrator dan programer menggunakan istilah basis data untuk kedua arti tersebut. Bahasa Basis Data (Database) Bahasa basis data merupakan bahasa yang digunakan oleh user untuk berkomunikasi/berinteraksi dengan DBMS yang bersangkutan. Misalnya SQL, dBase, QUEL,dan sebagainya.Secara umum bahasa basis data terdiri atas: -Data Definition Language (DDL), merujuk pada kumpulan perintah yang dapat digunakan untuk mendefinisikan objek – objek basis data, seperti membuat sebuah tabel basis data atau indeks primer atau sekunder. -Data Manipulation Language (DML), mengacu pada kumpulan perintah yang dapat digunakan untuk melakukan manipulasi data, seperti penyimpanan data ke suatu tabel,kemudian mengubahnya dan menghapusnya atau hanya sekedar menampilkannya kembali. 3. PEMBAHASAN 1.) Hirarki Data Data diorganisasikan kedalam bentuk elemen data (field), rekaman (record), dan berkas (file). Definisi dari ketiganya adalah sebagai berikut: - Elemen data adalah satuan data terkecil yang tidak dapat dipecah lagi menjadi unit lain yang bermakna. Misalnya data siswa terdiri dari NIS, Nama, Alamat, Telepon atau Jenis Kelamin. - Rekaman merupakan gabungan sejumlah elemen data yang saling terkait. Istilah lain dari rekaman adalah baris atau tupel. - Berkas adalah himpunan seluruh rekaman yang bertipe sama. 2.) Penyimpanan sekunder, seperti : • Pita Magnetik : Reel Tape dan Tape Cartridge • Hard Disk : Removable dan Non removable • Floppy Disk • Piringan Optik : CD, DVD • USB Flash Disk • Smart Card • Kartu memori 3.) SASD (penyimpanan berurutan) Suatu organisasi / penyusunan data di suatu medium penyimpanan yang terdiri dari suatu catatan mengikuti satu catatan lain dalam suatu urutan tertentu. Contoh: pita magnetik yg digunakan untuk menyimpan data komputer memiliki bentuk fisik yang sama dengan pita audio. 4.) DASD (penyimpanan akses langsung) Cara mengorganisasikan data yang ditulis dan dibaca tanpa pencarian secara berurutan. DASD dapat diarahkan ke lokasi manapun dalam medium penyimpanan dan digunakan sebagai media input Contoh : Magnetik (floppy disk, hard disk). Removeable hard disk (Zip disk, Flash disk). Optical Disk. 5.) Pemrosesan data adalah jenis pemrosesan yang dapat mengubah data menjadi informasi atau pengetahuan. Pemrosesan data ini sering menggunakan komputer sehingga bisa berjalan secara otomatis. Setelah diolah, data ini biasanya mempunyai nilai yang informatif jika dinyatakan dan dikemas secara terorganisir dan rapi, maka istilah pemrosesan data sering dikatakan sebagai sistem informasi. Kedua istilah ini mempunyai arti yang hampir sama, pemrosesan data mengolah dan memanipulasi data mentah menjadi informasi (hasil pengolahan), sedangkan sistem informasi memakai data sebagai bahan masukan dan menghasilkan informasi sebagai produk keluaran. 6.) Pemrosesan Batch Pengumpulan transaksi dan pemrosesan semua sekaligus dalam batch. Kelemahan dari pemrosesan ini manajemen tidak selalu memiliki informasi mutakhir yang menggambarkan sistem fisik. Tujuan dari sistem ini adalah memperbarui tiga file master – persediaan, piutang, dan analisis penjualan. Perusahaan biasanya memperbarui file batch mereka secara harian, yang disebut siklus harian. 7.) Pemrosesan Online Pengolahan transaksi satu per satu, kadang saat terjadinya transaksi, karena pengolahan online berorientasi transaksi. Pengolahan online dikembangkan untuk mengatasi masalah file yang ketinggalan jaman. Terobosan teknologi yang memungkinkan pengolahan online adalah penyimpanan piringan magnetic. 8.) Sistem Real Time Sistem yang mengendalikan sistem fisik, dimana sistem ini mengharuskan komputer berespon cepat pada sistem fisik. Sistem realtime adalah bentuk khusus dari sistem online. Sistem online menyediakan sumber daya konseptual tersebut dengan menggunakan sumber daya konseptual untuk menentukan operasi dari sistem fisik. 9.) Database Database adalah kumpulan data informatif yang disimpan di dalam komputer secara sistematik sehingga dapat diperiksa menggunakan suatu program komputer untuk memperoleh informasi dari basis data tersebut. Database bisa berupa sistem manual atau terkomputerisasi Peranan DATABASE : Menentukan kebutuhan data dengan mengikuti pendekatan berorientasi masalah atau pendekatan model perusahaan. Keuntungan DATABASE : => Mudah menyimpan informasi yang jumlahnya banyak. => Mundah mendapatkan kembali informasi secara cepat dan fleksibel. => Mudah untuk mengelola informasi. => Mudah untuk menyetak informasi. => Mudah untuk mendistribusikan informasi. Anatomi DATABASE : 1. Characters 2. Field 3. Record 4. Tabel 5. File 6. Database Model DATABASE: Hierarchical Model (Database Hirarkis) => Seperti model pohon. => Tidak fleksibel karena membatasi hanya one-to-many relationship. Network Model (Database Jaringan) => Seperti jaringan. => Struktur mengijinkan may-to-many relationship. Relational Model (Database Relasional) => Model database paling banyak digunakan dan fleksibel. => Record antar tabel dihubungkan dengan “key value”. Object Oriented Model => Memiliki kemampuan menangani data grafik, gambar, video, dan text. Operasi DATABASE => Import : Menerima data dalam bentuk file text. => Export : Menghasilkan data dalam bentuk file text. => Query : Menemukan record yang cocok dengan kriteria. Trend Database 1. Database Multimedia Menyimpan informasi berupa : grafis, gambar, foto, peta, video clips, animasi dan media lain 2. Natural Database Languange Membuat query dengan menggunakan natural languangeFuture database à database akan digabungkan dengan teknologi kecAkankah Object oreinted Database akan mengantikan rational database ? Data Warehouse & Data Mining Data Warehouse : Gudang data à kumpulan dari beberapa database transaksional (penjualan, keuangan) maupun administrasi (kepegawaian). => Data Mining : pengalian, pencarian, ekstrasi infomasi dari database yang sangat besar(data warehouse) => Menggunakan metode statistik dan teknologi kecerdasan buatan => Untuk menghasilkan informasi prediksi => Sebagai bahan pendukung keputusan Era permulaan database ditandai dengan : * Pengulangan data * Ketergatungan data * Kepemilikan data yang tersebar Konsep database Database adalah suatu koleksi computer yang terintegrasi, diorganisasikan dan disimpan dalam suatu cara yang memudahkan pengambilan kembali. Integrasi logis dari catatan – catatan dalam banyak file ini disebut konsep database. Tujuan dari konsep database adalah meminimumkan pengulangan dan mencapai independensi data. - Independensi data adalah kemampuaan untuk membuat perubahan dalam struktur data tanpa membuat perubahan pada program yang memproses data. Independensi data dicapai dgn menempatkan spesifikasi dalam tabel & kamus yg terpisah secara fisik dari program. Program mengacu pada tabel untuk mengakses data. Struktur database * Hubungan eksplisit Satu pendekatan untuk menetapkan hubungan eksplisit antara catatan – catatan dari beberapa file adalah dengan menyusun catatan – catatan tersebut dalam suatu hirarki, ini disebut struktur hirarki. Suatu catatan yang memiliki anak catatan disebut parent, dan anak catatan itu disebut children. * Hubungan implisit yaitu hubungan yang dapat dinyatakan secara tidak langsung dari catatn data yang telah ada. Data dalam database relasional ada dalam bentuk tabel – tabel yang disebut flat file. Flat file adalah suatu penyusunan data dua dimensi dalam kolom – kolom dan baris – baris. 10.) DBMS DBMS/database management system(sistem manajemen basis data) adalah perangkat lunak yang digunakan untuk mengelola dan memanggil kueri (query) basis data. Atau dalam arti lain adalah kumpulan program yang digunakan untuk pengolahan database. DBMS (Database Management System) Database yang besar biasanya terdiri lebih dari seratus data yang saling berhubungan. DBMS mencegah pengguna menghadapi kompleksitas internal sistem dengan hanya menyediakan informasi dan perintah yang dibutuhkan. => Rational – RDBMS => Object – OODBMS Keunggulan DBMS : * Mengurangi pengulangan data. * Mencapai independensi data. Spesifikasi data disimpan dalam tiap program aplikasi. Perubahan dapat dibuat pada struktur data tanpa mempengaruhi program yang mengakses data. * Mengintegrasikan data dari beberapa file. Saat file dibentuk sehingga menyediakan kaitan logis, organisasi fisik tidak lagi menjadi kendala. * Mengambil data dan informasi secara cepat. Hubungan logis query language memungkinkan pemakai mengambil data dalam hitungan detik atau menit. * Meningkatkan keamanan. Baik DBMS mainframe maupun komputer mikro dapat menyertakan beberapa lapis keamanan seperti kata sandi, direktori pemakai, dan bahasa sandi. Kelemahan DBMS : * Memperoleh perangkat lunak yang mahal. * Memperoleh konfigurasi perangkat keras yang besar. * Memperkerjakan dan mempertahankan staf DBA. Peranan DBMS : * Data yang berulang dalam bentuk multifile duplikat maupun data duplikat dalam satu file. * Data dan program menyatu. * Kebutuhan untuk mengintegrasikan data dari file-file. * Kebutuhan untuk memperoleh data secara cepat. * Kebutuhan untuk membuat data dengan aman. 11.) Macam-macam key Super key Kombinasi dari beberapa atribut (1 s/d semua atribut) dijadikan kunci (key) Key Adalah atribut yang dapat digunakan sebagai kunci (key) dari suatu skema (entiti). Salah satu dari super key yang paling sederhana. Candidate key Jika suatu skema memiliki lebih dari satu key, maka setiap key disebut candidate key Primary Key Salah satu dari candidate key umumnya dianggap sebagai primary key. 4. PERKEMBANGAN DATABASE Era Bentuk perkembangan 1960-an - Sistem pemrosesan berkas. DBMS. Layanan informasi secara online berbasis manajemen teks. 1970-an - Penerapan sistem pakar pada suatu sistem pendukung pengambilan keputusan. Basis data berorientasi objek. 1980-an - 1990-an - Sistem basis data cerdas. Sistem basis multimedia cerdas. 2011 - Penerapan strategi platform aplikasi awan. Pengendalian dan pengelolaan rangkaian database heterogen secara otomatis. Perampingan proses pengembangan aplikasi. - Sistem hyperteks, yang memungkinkan untuk melihat basis data secara acak menurut suatu kunci (seperti yang diterapkan di internet). 2012-2013 - Penerapan arsitektur multitenant di atas database platform. kualitas dan performa aplikasi yang lebih tinggi. Menghemat waktu dengan ketersediaan arsitektur. Pengelolaan penyimpanan lebih maksimal. Penyederhanaan konsolidasi database lewat pengelolaan ratusan database sebagai suatu kesatuan. Perkembangan database tahun 2011-2013 tidak jauh berbeda dengan tahun 1990-an, hanya software database sekarang mengalami penyempunaan dari software-software sebelumnya. Salah satu contoh tehnologi database saat ini adalah dimana seorang design web dapat membuat web dengan menarik karena sudah ada tehnologi database generasi baru yang biasa di sebut oracle. Dengan oracle inilah para pendesign web bisa membuat webnya dengan penuh keunikan. Teknologi database terus mengalami perkembangan sejalan dengan penelitian para ahli. Ada beberapa teknologi database seperti : 1.Hierarchical Database Menggambarkan kumpulan record yang dihubungkan satu sama lain melalui hubungan berdasarkan pointer yang membentuk struktur pohon. 2. Network Database Merupakan database yang terdiri atas kumpulan record yang dihubungkan melalui pointer yang membentuk relasi antar record dalam bentuk ring. Model ini punya banyak kelemahan, yaitu tidak memungkinkannya relasi many to many. Fleksibiltas dalam menambah atau menyisipkan record sangat rendah dan kompleks. 3. Relational Data Base Pada model ini, data terorganisir dengan baik dan rapi sehingga dapat dengan mudah dimanipulasi untuk menghasilkan suatu informasi. 4. Object Ooriented dan Multimedia Database/OOD OOD merupakan tanggapan terhadap perkembangan teknik pemograman berorientasi objek yang menekankan pada objek, atribut, dan metode. Dalam beberapa hal OOD sangat berbeda dengan system database sebelumnya, bahkan juga sudah mulai dikembangkan perpaduan OOD dengan relational database. 5.Web Data Base Merupakan tempat penyimpanan database atau informasi yang secara dinamis berinteraksi dengan halaman web. 6. Data Warehouse Merupakan database dengan peralatan pembuatan laporan dan Query yang menyimpan data kini dan data history yang dipadukan dari berbagai system operasional. Data ini digunakan untukmenyajikan laporan dan melakukan analisis guna mendukung pengambilan keputusan manajerial. 5 model Data Base SOFTWARE MENDUKUNG DATABASE 1.Microsoft Access Microsoft Access adalah sebuah program aplikasi basis data komputer relasional yang ditujukan untuk kalangan rumahan dan perusahaan kecil hingga menengah. Aplikasi ini menggunakan mesin basis data Microsoft Jet Database Engine. 2.Microsoft SQL Microsoft SQL Server adalah sebuah sistem manajemen basis data relasional (RDBMS) produk Microsoft. SQL (Structured Query Language) Untuk mengakses dan memanipulasi data dalam database Perintah SQL terdapat 2 macam : a.) DDL (Data Definition Languange) : CREATE : membuat database/ tabel DROP : menghapus database/ tabel ALTER : mengubah tabel b.) DML (Data Manipulation Languange) : SELECT : menampilkan record INSERT : menambah record UPDATE : mengubah record DELETE : menghapus record 3.Oracle Basis data Oracle adalah basis data relasional yang terdiri dari kumpulan data dalam suatu sistem manajemen basis data RDBMS. 4.MySql MySQL adalah sebuah perangkat lunak sistem manajemen basis data SQL atau DBMS yang multithread, multi-user, dengan sekitar 6 juta instalasi di seluruh dunia. 5.Postgre SQL Postgre SQL merupakan tool untuk membuat database server yang bersifat open source yang memiliki licensi GPL (General Public License). 6.Firebird Firebird adalah sistem manajemen basisdata relasional yang menawarkan fitur-fitur yang terdapat dalam standar ANSI SQL-99 dan SQL-2003. Sedikit informasi tentang vFabric Data Director dan Oracle database 12c yang diambil dari surat kabar elektronik (www.detik.com). Jakarta - Penyedia layanan virtualisasi dan infrastruktur awan, VMware meluncurkan solusi untuk menghantarkan provisi dan operasional database sebagai sebuah layanan (database as a service) bagi perusahaan kelas enterprise. Solusi bernama VMware vFabric Data Director yang diluncurkan pada VMWorld 2011 ini merupakan wujud dari strategi platform aplikasi awan VMware. Fungsi vFabric Data Director adalah mengendalikan dan mengelola rangkaian database heterogen secara otomatis, berdasarkan kebijakan yang sudah ditetapkan oleh divisi TI. Salah satu manfaat solusi ini adalah merampingkan proses pengembangan aplikasi karena para developer bisa menyediakan sendiri layanan database melalui fungsi self-service provisioning yang mereka butuhkan untuk membuat aplikasi modern. Solusi vFabric Data Director ini dibuat di atas VMware vSphere dan diklaim mampu mendatangkan benefit dari infrastruktur tervirtualisasi kepada lapisan database. Benefit tersebut adalah mengoptimalkan utilisasi sumber daya sehingga operasional semakin efisien sekaligus memangkas berbagai biaya. "Perusahaan kelas enterprise menghadapi tantangan yang semakin berat dalam mengelola pertumbuhan data yang dibutuhkan untuk membuat aplikasi modern, sambil mendukung inisiatif pengembangan aplikasi kritikal," kata Tod Nielsen, Co- President, Application Platform VMware dalam keterangannya, Sabtu (24/9/2011). "VMware mendorong laju strategi platform aplikasi awan dengan memberikan layanan akses dan manajemen data inovatif yang mampu melayani kebutuhan aplikasi masa kini, sekaligus meletakkan pondasi bagi aplikasi awan generasi berikutnya," tandasnya. Oracle Database 12c , Database Pertama yang Diklaim Khusus Cloud Ardhi Suryadhi - detikinet Kamis, 04/07/2013 13:52 WIB http://images.detik.com/content/2013/07/04/319/oracle12cpluggabledat abase.jpgIlustrasi (Ist.) Jakarta - Saat semakin banyak perusahaan yang merangkul cloud computing, teknologi pendukung cloud yang mampu meningkatkan kinerja bisnis sekaligus kecepatan dan efektivitas operasional mereka pun semakin dicari. Oracle pun melihat potensi bisnis ini dan coba menggalinya dengan memperkenalkan Oracle Database 12c. Oracle Database 12c adalah database yang diklaim dirancang khusus untuk memenuhi kebutuhan cloud, menyediakan arsitektur multitenant di atas database platform yang kencang, skalabel, dan aman. Pengguna yang terhubung dengan cloud yang didukung oleh Oracle Database 12c disebut Oracle akan merasakan kualitas dan performa aplikasi yang lebih tinggi, menghemat waktu dengan ketersediaan arsitektur dan pengelolaan penyimpanan maksimal, serta menyederhanakan konsolidasi database lewat pengelolaan ratusan database sebagai suatu kesatuan. Oracle Database 12c memperkenalkan arsitektur multi-tenant yang mampu menyederhanakan proses konsolidasi database ke dalam cloud, sehingga pengguna dimungkinkan untuk mengelola banyak database sekaligus tanpa harus mengganti aplikasi mereka. Oracle Database 12c diotaki oleh prosesor SPARC dan Intel Xeon, serta dilengkapi 500 fitur tambahan dan merupakan hasil dari perkembangan selama bertahun-tahun oleh lebih dari 2500 orang serta 1,2 juta jam pengujian. "Inovasi-inovasi Oracle Database 12c dikembangkan dengan tujuan memenuhi kebutuhan konsumen cloud kami," kata Andrew Mendelsohn, Wakil Presiden Senior Database Server Technologies Oracle. "Komunitas Pengguna Oracle turut berpartisipasi dalam perkembangan dan pengujian Oracle Database 12c," imbuh Michelle Malcher, Presiden Independent Oracle Users Group (IOUG). "Kami sangat senang melihat peningkatan sistem pada program ini, dan arsitektur baru ini akan sangat memudahan konsumen untuk menggabungkan database mereka ke dalam cloud," lanjutnya, dalam keterangan tertulis, Kamis (4/7/2013). Sementara menurut Carl Olofson, Wakil Presiden Bidang Riset untuk software Manajemen Data dan Integrasi dari IDC, tantangan utama yang berkaitan dengan pengelolaan sentral data adalah biaya yang dibutuhkan, kompleksitasnya. Ini ditambah dengan penerapan yang tidak fleksibel yang disebabkan oleh banyaknya jumlah database produksi yang beroperasi di konfigurasi server tetap, yang sebagian besar kurang dimanfaatkan. "Sudah menjadi sifat alamiah sebuah software server database milik perusahaan untuk sulit dipindah-pindahkan atau dipasang ulang, dan mencoba melakukan kedua hal tersebut sekaligus melalui konsolidasi melahirkan lebih banyak lagi tantangan dan kesulitan dalam pengelolaan untuk para administrator database," pungkasnya. 5. KESIMPULAN Adapun kesimpulan yang saya ambil dari makalah ini adalah sebagai berikut : 1. Database menyimpan data dengan baik,akurat,dan relevan. 2. Database dapat mengurangi duplikasi data/penggandaan data (data redundancy). 3. Database mengurangi pemborosan tempat simpanan luar. 4. Teknologi database semakin canggih (kualitas dan performa aplikasi lebih tinggi, menghemat waktu, penyimpanan lebih maksimal & semakin sederhana) 6. RESENSI http://safrilblog.wordpress.com/2011/11/24/bab-6-database/ http://wartawarga.gunadarma.ac.id/2011/01/tugas-basic-data-3/ http://myblog.susanadwiyulianti.com/2013/07/manfaat-implementasibasis-data.html#more http://inet.detik.com/read/2013/07/04/135203/2292561/319/oracledatabase-12c-database-pertama-yang-diklaim-khusus-cloud http://inet.detik.com/read/2011/09/24/141630/1729583/319/vmwarevfabric-data-siap-tangani-database-heterogen