Export Data CDS ISIS ke MySQL

11 Dec 2007 | Kel. Apache, Databases, Linux, PHP, The Others, Windows |

CDS ISIS merupakan produk dari UNESCO yang telah “melegenda” di kalangan para pustakawan. Hal ini bisa dimengerti karena memang sudah dari jaman dahulu kala CDS ISIS ini digunakan. Gratis lagi. Banyak keunggulan nya juga memang CDS ISIS ini, terutama penerapan MARC yang fleksibel. Hanya saja yang membuat saya sendiri “mangkel” adalah format penyimpanan dalam bentuk TEXT ISO (karena berekstensi .ISO tapi berisi file TEXT biasa) tunggal. Pertanyaan muncul kenapa harus file TEXT seh, kan sekarang sudah bukan jaman lagi data disimpan dalam bentuk text. Sudah ada Database server yang jauh lebih handal. Katakan semacam MySQL, PostgreSQL, Oracle, MSSQL, SQLite, EnterpriseDB dll, entah itu berbayar ataupun gratis.

Ok, tutorial ini merupakan “salah satu cara” yang dapat digunakan sebagai referensi bila anda-anda semua ingin mencoba merubah data CDS ISIS yang berbentuk TEXT ISO ke dalam database server MySQL. untuk database yang lain saya rasa tidak akan jauh berdeda.

lets.. gooooo…..
Untuk dapat menjalankan contoh ini anda dapat mendonlot disini, itung-itung daripada nulis yang lumayan banyak.

Pertama anda harus siapkan 2 buah file yang dapat diambil dari CDS ISIS yaitu file .FDT dan file .ISO nya. kenapa file FDT ?
karena file ini merupakan file yang berisi struktur dari penyimpanan data CDS ISIS. Tanpa file ini anda-anda akan
sangat kesulitan untuk melakukan extrak data file TEXT ISO nya.

Persiapan:
1. File kki.fdt
2. File kki.iso

langkah-langkahnya:
1. Buka file kki.fdt dengan editor idaman anda, perhatikan komposisi nya.
berikut ini contoh nya.

W:KKI
F:KKI   CKKI  1
S:KKI
***
NO CD                                           11 1000 0 0
Kode Bahasa                     abh             41 30 0 0
No. Panggil                     lab             99 50 0 0
Entri Utama [orang]             aq              100 100 0 0
Entri Utama Badan Korporasi     ab              110 200 0 0
J u d u l                       abc             245 200 0 0
Penerbit dan Distribusi         abc             260 200 0 0
Deskripsi Fisik                 abce            300 100 0 0
Catatan Umum                    ab              500 200 0 1
Abstrak                                         520 1000 0 0
Entri Tambahan Subyek           axyz            650 200 0 1
Entri Tambahan [Orang]          aq              700 200 0 1
Badan Pemilik                   a               850 150 0 1
Tanggal                                         980 20 0 0
Jumlah Eksemplar                abc             985 50 0 1
Kode Operator                                   986 10 0 0
Bahasa                                          990 15 0 0
Nomor Induk                     a               999 30 0 1

2. rename file kki.iso menjadi kki.txt

3. buka MySQL dan buat database baru misal “kki”

mysql> CREATE DATABASE kki;

4. buat table “tbl_kki”

CREATE TABLE tbl_kki (
rowid text,
k1 varchar(255),
k2 varchar(255),
k3 varchar(255),
k4 varchar(255),
k5 varchar(255),
k6 varchar(255),
k7 varchar(255),
k8 varchar(255),
k9 varchar(255),
k10 varchar(255),
k11 varchar(255),
k12 varchar(255),
k13 varchar(255),
k14 varchar(255),
k15 varchar(255),
k16 varchar(255),
k17 varchar(255),
k18 varchar(255),
k19 varchar(255),
k20 varchar(255),
k21 varchar(255),
k22 varchar(255),
k23 varchar(255),
k24 varchar(255),
k25 varchar(255),
k26 varchar(255),
k27 varchar(255),
k28 varchar(255),
k29 varchar(255)
) engine=myisam;

5. load isi file iso.txt ke dalam tabel “tbl_kki”

LOAD DATA INFILE ‘kki.txt’ INTO TABLE tbl_kki FIELDS terminated BY ‘#’ LINES terminated BY ‘~’;

6. hilangkan “\r” dan “\n” di kolom rowid

UPDATE tbl_kki SET rowid=REPLACE(REPLACE(rowid,\n,),\r,);

7. buat tabel t_kki0 dan tabel t_kki untuk menyimpan hasil konversi (diadopsi dari isi file kki.fdt)

CREATE TABLE t_kki0 (
kode varchar(255) DEFAULT NULL,
exemplar varchar(255) DEFAULT NULL,
bdn_pemilik varchar(255) DEFAULT NULL,
bahasa varchar(255) DEFAULT NULL,
penulis varchar(255) DEFAULT NULL,
judul varchar(255) DEFAULT NULL,
penerbit varchar(255) DEFAULT NULL,
deskripsi varchar(255) DEFAULT NULL,
catatan varchar(255) DEFAULT NULL,
abstrak varchar(255) DEFAULT NULL,
penulis_tambahan varchar(255) DEFAULT NULL,
kelas varchar(255) DEFAULT NULL,
panggil varchar(255) DEFAULT NULL,
subyek varchar(255) DEFAULT NULL,
tanggal varchar(255) DEFAULT NULL,
operator varchar(255) DEFAULT NULL
) engine=myisam;

CREATE TABLE t_kki (
id bigint NOT NULL AUTO_INCREMENT,
kode varchar(20) NOT NULL,
exemplar int(3) DEFAULT NULL,
bdn_korporasi varchar(50) DEFAULT NULL,
bahasa varchar(20) DEFAULT NULL,
penulis varchar(50) DEFAULT NULL,
judul varchar(255) DEFAULT NULL,
sub_judul varchar(255) DEFAULT NULL,
kota varchar(30) DEFAULT NULL,
penerbit varchar(50) DEFAULT NULL,
tahun varchar(5) DEFAULT NULL,
halaman varchar(30) DEFAULT NULL,
ilustrasi varchar(100) DEFAULT NULL,
ukuran varchar(50) DEFAULT NULL,
catatan varchar(255) DEFAULT NULL,
abstrak varchar(255) DEFAULT NULL,
panulis_lain varchar(255) DEFAULT NULL,
kelas varchar(50) DEFAULT NULL,
nomor_panggil varchar(50) DEFAULT NULL,
subyek varchar(255) DEFAULT NULL,
tanggal date DEFAULT NULL,
operator varchar(10),
PRIMARY KEY (id),
UNIQUE KEY (kode)
) engine=myisam;

8. ekstrak file berikut ke dalam htdocs Apache, misal: C:\Apache2\htdocs\isis\

9. edit file exp.php dan exp2.php (sesuaikan dengan koneksi database yang digunakan)

10. buka browser anda dan arahkan http://localhost/isis/exp.php ikuti pesannya

11. SELESAI

penjelasan tentang program silahkan dipikir-pikir sendiri. (^_^)

Selamat hari selasa…

7 komentar

buitenzorg812, 11.Dec.2007 10:09 am

wealah…makasih buat tips-nya mas. saya yakin, banyak temen2 pustakawan yang bisa pake cara yang tulis ini ;). again, tq buat ilmunya.

RuGun, 11.Dec.2007 10:48 am

Wah hebat… ternyata banyak cara menuju MySql.

globe, 11.Dec.2007 3:44 pm

@buitenzorg812:
sama sama mas

@RuGun:
ada juga “banyak jalan menuju roma” :D

bukanGlobe, 12.Dec.2007 6:54 pm

wah salut dech buat yg bikin programnya….

padahal dah 7 hari 7 malam pusying 7 keliling tuh bikin programnya =))

echokoby, 18.Dec.2007 2:45 pm

salut….salut…buat kang globe

Khaeroni, 25.Mar.2008 11:33 am

Mas, pake gambar-duonk biar lebih jelas. Jadi, ngga pake software tertentu nich???

psimbiru, 16.Jul.2008 8:47 pm

jadi ingat jaman “dulu” hehehehe
kayaknya gampang ya…:P
padahal …………….huakakakaka :P =))
atau karena aku kurang pintar ya????

Komentar

"Saya adalah Saya" ya memang itu salah satu dari sekian semboyan saya. Sekarang banyak waktu dihabiskan di depan komputer sambil belajar ngetik tentunya. "Ngopi" dan "udud" merupakan kegemaran yang sampai sekarang belom bisa ditinggalkan. Terasa uuuenak tenan...