• Tidak ada hasil yang ditemukan

Contoh Konversi Data dari ISIS ke Senayan

N/A
N/A
Protected

Academic year: 2021

Membagikan "Contoh Konversi Data dari ISIS ke Senayan"

Copied!
14
0
0

Teks penuh

(1)

Contoh Konversi Data dari ISIS ke Senayan

Jangan-jangan kau menolak cintaku Jangan-jangan kau hiraukan pacarmu Putuskanlah saja pacarmu

Lalu bilang I love you, padaku

Putuskan Saja Pacarmu – ST 12

Pendahuluan

Salah faktor yang sering ditanyakan dan penulis alami jika seseorang atau sebuah institusi mencoba beralih menggunakan aplikasi perpustakaan Open Source Senayan

(http://senayan.diknas.go.id) adalah bagaimana memindahkan data dari basisdata yang lama ke basisdata Senayan yang menggunakan MySQL (http://dev.mysql.com) sebagai back-end-nya. Sebenarnya tidaklah sulit dan seorang pustakawan seharusnya punya kecakapan yang cukup untuk itu. Karena terkait dengan penguasaan text processing dan basisdata.

There is more than one way to do it! Ada banyak cara untuk melakukan konversi data dari ISIS ke Senayan. Bisa dengan format XML, CSV, SQL, atau dipadukan dengan bahasa pemrogaman lain untuk advanced parsing seperti Perl dan PHP. Tulisan ini akan memberikan contoh konversi senayan dalam format yang verbose sehingga terkadang terlihat bertele-tele karena terlalu panjang.

Akses ke basisdata dilakukan secara langsung menggunakan interface phpMyAdmin (yang sudah tersedia di portable senayan) dan command-line, tidak menggunakan interface yang disediakan dalam aplikasi Senayan. Tentu jadinya lebih sulit dipelajari. Tapi menawarkan pembelajaran yang lebih baik mengenai struktur basisdata Senayan.

Oiya, diasumsikan bahwa di komputer anda sudah terinstall portable senayan dengan aplikasi Senayan3-stable5 yang berjalan dengan baik. Juga ada software WinISIS (versi yang digunakan 1.5 build 3). Juga diasumsikan basisdata bibliografi Senayan anda masih kosong, belum

bercampur dengan data lain.

Back-up Data Terlebih Dahulu

Sebelum melakukan proses konversi jangan pernah berasumsi semuanya akan berjalan lancar. Biasanya selalu ada masalah (besar dan kecilnya masalah sangat tergantung beragam kondisi). Karena itu jangan pernah begitu saja membuang basisdata lama anda. Manajemen waktu juga penting. Jika aplikasi lama anda bersistem sewa, jangan melakukan konversi setelah masa sewa habis. Lakukan sebelum masa sewa habis. Atau sebelum deadline pindah aplikasi (ke senayan tentunya).

Sebelum eksekusi proses konversi, biasakan up data terlebih dahulu. Di ISIS, proses back-up data relatif mudah dilakukan. Kalau dari sisi aplikasi, misalnya dengan WinISIS, bisa dengan melakukan Database

Export dan menyimpannya dalam format iso. Cara lain dengan

melakukan copy folder data (jika anda menyimpan data isis sesuai dengan default instalasi ISIS) dan menyimpan di tempat lain. Atau sekalian semua folder WinISIS nya di copy dan disimpan di tempat lain. Usul saya, lakukan saja semuanya. Untuk berjaga-jaga. Bukankah sesal kemudian tiada berguna. :)

(2)

Pembersihan Data

Salah satu kekurangan ISIS adalah belum jika pengguna menghapus suatu record, maka record tersebut tidak akan otomatis hilang dan tidak bisa digunakan untuk record lain. Dengan WinISIS record yang dihapus masih bisa dilihat tapi tidak dengan aplikasi lain. Misalnya Igloo

(http://senayan.diknas.go.id/igloo), akan gagal membaca data tersebut karena diasumsikan sudah dihapus. Sehingga seringkali pengguna Igloo “komplain”, kok di WinISIS jumlahnya tidak sama dengan di Igloo.

Dalam proses konversi usahakan agar nomor urut record (MFN) berurutan. Karena itu data record yang sudah dihapus wajib dibersihkan terlebih dulu. Untuk membersihkannya, pertama lakukan export data terlebih dulu (Database

Export) dan simpan file iso-nya. Kemudian hapus semua record ( Utils

Erase Database). Kemudian import (Database

Import) kembali file iso hasil eksport. Mudah-mudahan sekarang data isis anda telah bersih.

Struktur Basisdata ISIS

Untuk mulai melakukan konversi, maka kita harus mempelajari terlebih dahulu mempelajari struktur basisdata-nya. Untuk kemudahan penulisan mari kita mempelajari basisdata yang sama. Silahkan download basisdata ISIS untuk penulisan ini di [link_ke_file_isis_zip_atau_rar]. Nama basisdata-nya adalah buku.

(3)

File di ISIS yang mendefinisikan struktur field ada di *.fdt yang isinya teks biasa. Coba buka file buku.fdt dengan editor teks, akan tampak seperti dibawah ini:

W:BUKU

F:BUKU JUDUL KIRIM SELFLTPNR1 CBUKU BUKUEKCEK CIRCK1OPAC F:WIN SUBYEKPGBK CKBK OPR CKBK2

S:BUKU RUBAH TES ***

008/35-37 Bahasa 990 15 0 0 008/005 Tanggal 980 20 0 0 ISBN ab 20 100 0 0 No. Kendali a 35 20 0 0 Kode Bahasa abh 41 30 0 0 No. Panggil a 80 50 0 1 No. Panggil Setempat lab 99 50 0 0 Entri Utama [Orang] aq 100 100 0 0 Entri Utama Badan Korporasi ab 110 200 0 0 Entri Utama Nama Pertemuan andc 111 200 0 0 J u d u l abc 245 200 0 0 E d i s i ab 250 150 0 0 Penerbit dan Distribusi abc 260 200 0 0 Deskripsi Fisik abce 300 100 0 0 S e r i anvx 440 150 0 0 Catatan Umum ab 500 200 0 1 Entri Tambahan Subyek axyz 650 200 0 1 Jenis Koleksi 550 100 0 0 Kata Kunci a 695 200 0 1 Entri Tambahan [Orang] aq 700 200 0 1 Entri Tamb. Badan Korporasi ab 710 200 0 1 Entri Tamb. Konperensi andc 711 200 0 1 Badan Pemilik a 850 150 0 1 Jumlah Eksemplar abc 985 50 0 1 Kode Operator 986 10 0 0 Nomor Induk a 998 50 0 1 Nomor Registrasi a 999 200 0 1 Barcode 900 1000 0 1 Lokasi 901 1000 0 0 Cover Buku 911 1000 0 0 File 912 1000 0 0 Harga Buku 913 1000 0 0

Oke, setelah mempelajari struktur basisdata isis-nya, sekarang saatnya kita mulai satu persatu melakukan konversi.

MFN dan Judul

Mari kita berasumsi bahwa pada setiap record pasti field Judul (245) mempunyai value alias terisi. Dengan begitu yang paling mudah adalah memindahkan judul ke basisdata Senayan. Dan setiap record di ISIS pasti mempunyai MFN. MFN itu kalau di MySQL mirip field dengan jenis integer yang diset “auto increment” atau autonumber kalau di MS Access.

Model format apa yang akan digunakan untuk konversi-nya? Untuk mudahnya kita akan menggunakan format yang kita definisikan sendiri. Yaitu antara MFN dengan Judul dipisahkan dengan 3 karakter pipe (|). Tabel di basisdata Senayan untuk menyimpan judul adalah “biblio” dengan field “title”. Formatnya kira-kira akan seperti ini:

(4)

mfn_disini|||judul_disini

Sekarang pada WinISIS lakukan proses pencetakan (Database Print). Isi bagian MFN Range→ (misal: 1-10000), Output diarahkan ke file dengan format ASCII File dan uncheck Pre-defined Format. Pada bagian Print Format, isi dengan:

mfn,'|||',v245^a,": ",v245^b,"; ",v245^c/

(5)

Jika proses print selesai, klik Close.

Hasil konversi akan tampak seperti berikut ini:

000001|||Assessment tools: for practitioners, managers and trainers; Armand Lauffer

000002|||NEEDS assessment: a model for community planning; Keith A. Neuber 000003|||PLANNING for change; by Ray Bard, et.al

000004|||Program implementation: the organizational context; Mary Ann Scheirer 000005|||EVALUATION of complex system; Ronald J. Wooldridge, editor

000006|||Science and technology: promise and dangers in the eighties; Panel on Science and Technology Promise and Dangers

000007|||ASSESSING and interpreting outcomes; by Samuel Ball, guest editor 000008|||TOWARD reform of program evaluation: aims, methods and institutional arrangements

000009|||Benefit-cost analysis for program evaluation; Mark S. Thompson 000010|||Evaluating with validity; Ernest R. House

Lebih detail silahkan file file [url_ke_file]

Untuk memasukkan MFN dan judul hasil konversi, kita akan membuat sepotong skrip PHP yang fungsinya membaca file hasil konversi, membaca baris perbaris, melakukan parsing, kemudian memasukkan ke dalam basisdata senayan.

<?php

/* --- */ /* Skrip PHP untuk melakukan konversi data MFN dan Judul */ /* License under GNU/GPL http://www.gpl.org */ /* Copyright Hendro Wicaksono 2008 */ /* Nama File: mfn_jdul_parser.php */ /* --- */ /* Class untuk koneksi ke MySQL */

class mysqldb {

# Variabel yang dibutuhkan

public $host = "localhost"; # ubah sesuai kondisi public $user = "root"; # ubah sesuai kondisi public $pwd = "psenayan"; # ubah sesuai kondisi public $dbname = "senayan"; # ubah sesuai kondisi public $connection = "";

public $selection = ""; public $sql = ""; public $query = ""; # Konstruktor

function __construct($mfn, $title) {

$this->connection = mysql_connect ($this->host, $this->user, $this->pwd); $this->selection = mysql_select_db($this->dbname);

$this->sql = "INSERT INTO biblio (biblio_id, title) VALUES (\"$mfn\", \"$title\")"; $this->run_query(); } function run_query() { $this->query = mysql_query($this->sql); } }

# mendefinisikan letak file hasil konversi # ubah sesuai kondisi

(6)

# membuka file dan membaca read-only

$handle = @fopen("$file_hasil_konversi", "r"); if ($handle) {

# membaca perbaris, berhenti pada end of line while (!feof($handle)) {

# menyimpan record perbaris $buffer = fgets ($handle, 4096);

# menghilangkan spasi dll diawal & akhir $buffer = trim($buffer);

# memotong antara mfn dengan judul dengan pemisah "|||" $record = explode ("|||", $buffer);

if ($buffer != "") {

# menghilangkan spasi dll diawal & akhir $record[0] = trim ($record[0]);

# menghilangkan spasi dll diawal & akhir $record[1] = trim ($record[1]);

# menambahkan backslash pada karakter quote $record[1] = addslashes($record[1]); if ($record[1] == "") {

$record[1] = 'Judul tidak tersedia. Lihat database ISIS dengan MFN '.$record[0]; }

echo 'Memasukkan data dengan:'."\n"; echo 'MFN: '.$record[0]."\n";

echo 'Judul: '.$record[1]."\n";

$insert_data = new mysqldb($record[0], $record[1]); }

}

fclose ($handle); }

?>

Untuk kemudahan proses, jalankan skrip PHP ini dari command-line. Diasumsikan portable

senayan diinstall di drive D dan anda sedang berada di dalam folder yang sama dengan skrip PHP yang dibuat, maka perintahnya:

d:\psenayan\php\php.exe mfn_jdul_parser.php

Silahkan dilihat basisdata Senayan menggunakan phpMyAdmin atau OPAC di Senayan untuk melihat apakah proses input telah berhasil.

(7)

Field Lain-lain di Tabel biblio

Oke, jika konversi judul dan mfn sudah berjalan baik, sekarang kita mengkonversi field lain yang letaknya hanya di tabel biblio, tidak terkait dengan tabel-tabel lain. Antara lain:

Field di basisdata ISIS Field di basisdata Senayan (tabel biblio)

ISBN (v20) isbn_issn

No Panggil (v80) classification

No Panggil Setempat (v99) call_number

Edisi (v250) edition

Penerbit dan Distribusi (tahun terbit, v260^c) publish_year

Deskripsi Fisik (v300) collation

Seri (v440) series_title

Catatan Umum (v500) notes

Seperti sebelumnya, antar field akan dipisahkan dengan 3 karakter pipe (|). Outputnya nanti kembali akan di parsing dengan skrip PHP. Sekarang pada WinISIS lakukan proses pencetakan (Database Print). Isi bagian MFN Range (misal: 1-10000), Output diarahkan ke file dengan→ format ASCII File dan uncheck Pre-defined Format. Pada bagian Print Format, isi dengan: mfn,'|||', v20^a,'|||', v80^a,'|||', v99^l," ",v99^a," ",v99^b,'|||', v250^a,", ",v250^b,'|||', v260^c,'|||', v300^a,", ",v300^b,", ",v300^c,", ",v300^e,'|||', v440^a,": ",v440^n,", ",v440^v,", ",v440^x,'|||', v500^a,"; ",v500^b/

(8)

Jika proses print selesai, klik Close.

Hasil konversi akan tampak seperti berikut ini:

001811||||||||| 808.82 DRA||||||1973|||xi, 258lm., 24 cm.|||||| 001812||||||||| 820 ADV||||||1973|||xviii, 867 hlm., 24 cm.||||||

001813||||||||| 821.008 CIA h|||2 nd.ed|||1975|||xxiii, 408 hlm., 24 cm.|||||| 001814||||||||| 808 MOO h|||2 nd.ed|||1971|||vii, 276 hlm., 23 cm.|||||| 001815||||||||| 907 NAT t||||||1988|||1 paket (1 buku + lamp), 30 cm.|||||| 001816||||||||| 907.2 ILM||||||1985|||xxiv, 327 hlm., ill., 21 cm.|||||| 001817||||||||| 909 ISR w||||||1976|||xi, 566 hlm., ill., 26 cm.|||||| 001818||||||||| 910.02 ABR e||||||1975|||267 hlm., ill., 27 cm.|||||| 001819||||||||| 910.021 ABR h||||||1977|||vii, 407 hlm., ill., 26 cm.|||||| 001820||||||||| 910.03 SCH n||||||1975|||viii, 595 hlm., ill., 26 cm.|||||| Lebih detail silahkan file file [url_ke_file]

Untuk memasukkan hasil konversi, kita akan membuat sepotong skrip PHP yang fungsinya

membaca file hasil konversi, membaca baris perbaris, melakukan parsing, kemudian memasukkan ke dalam basisdata senayan.

<?php

/* --- */ /* Skrip PHP untuk melakukan konversi data bibliografi */ /* License under GNU/GPL http://www.gpl.org */ /* Copyright Hendro Wicaksono 2008 */ /* Nama File: lain2_parser.php */ /* --- */ /* Class untuk koneksi ke MySQL */

class mysqldb {

# Variabel yang dibutuhkan

public $host = "localhost"; # ubah sesuai kondisi public $user = "root"; # ubah sesuai kondisi public $pwd = "psenayan"; # ubah sesuai kondisi public $dbname = "senayan"; # ubah sesuai kondisi public $connection = "";

public $selection = ""; public $sql = ""; public $query = ""; # Konstruktor

function __construct($mfn, $isbn, $np, $nps, $ed, $tt, $df, $seri, $cat) {

$this->connection = mysql_connect ($this->host, $this->user, $this->pwd); $this->selection = mysql_select_db($this->dbname);

$this->sql = "UPDATE biblio SET isbn_issn=\"$isbn\", classification=\"$np\", "; $this->sql .= "call_number=\"$nps\", edition=\"$ed\", publish_year=\"$tt\", "; $this->sql .= "collation=\"$df\", series_title=\"$seri\", ";

(9)

$this->run_query(); } function run_query() { $this->query = mysql_query($this->sql); } }

# mendefinisikan letak file hasil konversi # ubah sesuai kondisi

$file_hasil_konversi = "c:\winisis\work\lain2.txt"; # membuka file dan membaca read-only

$handle = @fopen("$file_hasil_konversi", "r"); if ($handle) {

# membaca perbaris, berhenti pada end of line while (!feof($handle)) {

# menyimpan record perbaris $buffer = fgets ($handle, 4096);

# menghilangkan spasi dll diawal & akhir $buffer = trim($buffer);

# memotong antara mfn dengan judul dengan pemisah "|||" $record = explode ("|||", $buffer);

if ($buffer != "") {

# menghilangkan spasi dll diawal & akhir $record[0] = trim ($record[0]); # MFN

$record[1] = trim ($record[1]); # ISBN -> isbn_issn

$record[2] = trim ($record[2]); # no panggil -> classification $record[3] = trim ($record[3]); # no panggil setempat -> call_number $record[4] = trim ($record[4]); # edisi -> edition

$record[5] = trim ($record[5]); # tahun terbit -> publish_year $record[6] = trim ($record[6]); # deskripsi fisik -> collation $record[7] = trim ($record[7]); # seri -> series_title

$record[8] = trim ($record[8]); # catatan umum -> notes # menambahkan backslash pada karakter quote

$record[1] = addslashes($record[1]); $record[2] = addslashes($record[2]); $record[3] = addslashes($record[3]); $record[4] = addslashes($record[4]); $record[5] = addslashes($record[5]); $record[6] = addslashes($record[6]); $record[7] = addslashes($record[7]); $record[8] = addslashes($record[8]); $record[1] = intval($record[1]); echo 'Memasukkan data dengan:'."\n"; echo 'MFN: '.$record[0]."\n";

echo 'ISBN: '.$record[1]."\n"; echo 'No Panggil: '.$record[2]."\n";

echo 'No Panggil Setempat: '.$record[3]."\n"; echo 'Edisi: '.$record[4]."\n";

echo 'Tahun Terbit: '.$record[5]."\n"; echo 'Deskripsi Fisik: '.$record[6]."\n"; echo 'Seri: '.$record[7]."\n";

echo 'Catatan Umum: '.$record[8]."\n";

$insert_data = new mysqldb($record[0], $record[1], $record[2], $record[3], $record[4], $record[5], $record[6], $record[7], $record[8]);

} }

fclose ($handle); }

?>

Untuk kemudahan proses, jalankan skrip PHP ini dari command-line. Diasumsikan portable

senayan diinstall di drive D dan anda sedang berada di dalam folder yang sama dengan skrip PHP yang dibuat, maka perintahnya:

(10)

Silahkan dilihat basisdata Senayan menggunakan phpMyAdmin atau OPAC di Senayan untuk melihat apakah proses input telah berhasil.

One-to-many relationship (part 1: GMD)

Oke sekarang kita melangkah ke konversi yang lebih kompleks. Yaitu melakukan konversi data ke field yang di aplikasi Senayan disimpan dalam tabel terpisah dari tabel “biblio” dan mempunyai jenis hubungan satu-ke-banyak (one-to-many). Mari kita coba konversi field GMD (General

Material Designation) yang di contoh data ISIS terletak pada field Jenis Koleksi (v550). Di aplikasi Senayan, detail GMD disimpan di tabel “mst_gmd” dan di tabel “biblio” dihubungkan melalui field “gmd_id”.

Ada 3 field yang harus jadi perhatian kita di tabel “mst_gmd”. Yaitu:

● “gmd_id”. Berjenis integer dan di set auto increment. Kita tidak perlu pusing mengenai

isinya, tapi yang penting nanti di parser nilai didalam field ini akan diambil dan dimasukkan di field “gmd_id” yang terdapat di tabel “biblio”.

● gmd_code. Berjenis string biasa, tetapi dibatasi maksimal hanya bisa menyimpan 3

karakter serta di set unik sehingga tidak dimungkinkan menyimpan value yang sama didalamnya. Field ini harus diisi. Untuk kemudahan proses konversi, kita akan mengisi field ini dari 3 karakter pertama dari Jenis Koleksi.

● gmd_name. Berjenis string biasa, tetapi dibatasi maksimal hanya bisa menyimpan 30

karakter. Field ini harus diisi. Dalam konversi nanti, kita akan mengisi dengan value dari Jenis Koleksi.

Seperti sebelumnya, antar field akan dipisahkan dengan 3 karakter pipe (|). Outputnya nanti kembali akan di parsing dengan skrip PHP. Sekarang pada WinISIS lakukan proses pencetakan (Database Print). Isi bagian MFN Range (misal: 1-10000), Output diarahkan ke file dengan→ format ASCII File dan uncheck Pre-defined Format. Pada bagian Print Format, isi dengan: mfn,'|||',v550/

(11)

Kemudian klik print. Berikutnya tentukan nama dan letak file hasil print. Kemudian klik OK.

Jika proses print selesai, klik Close.

Hasil konversi akan tampak seperti berikut ini: 000001|||BUKU 000002|||BUKU 000003|||BUKU 000004|||BUKU 000005|||BUKU 000006|||BUKU 000007|||BUKU 000008|||BUKU 000009|||BUKU 000010|||BUKU

(12)

Untuk memasukkan hasil konversi, kita akan membuat sepotong skrip PHP yang fungsinya

membaca file hasil konversi, membaca baris perbaris, melakukan parsing, kemudian memasukkan ke dalam basisdata senayan.

<?php

/* --- */ /* Skrip PHP untuk melakukan konversi data GMD */ /* License under GNU/GPL http://www.gpl.org */ /* Copyright Hendro Wicaksono 2008 */ /* Nama File: gmd_parser.php */ /* --- */ /* Class untuk koneksi ke MySQL */

class mysqldb {

# Variabel yang dibutuhkan

public $host = "localhost"; # ubah sesuai kondisi public $user = "root"; # ubah sesuai kondisi public $pwd = "psenayan"; # ubah sesuai kondisi public $dbname = "senayan"; # ubah sesuai kondisi public $connection = ""; public $selection = ""; public $sql = ""; public $query = ""; public $gmd_status = ""; public $avail_gmd_id = ""; # Konstruktor function __construct() {

$this->connection = mysql_connect ($this->host, $this->user, $this->pwd); $this->selection = mysql_select_db($this->dbname); } function run_query() { $this->query = mysql_query($this->sql); } } /* --- */ class cek_gmd extends mysqldb {

function __construct($tgmd_name) {

parent::__construct();

$this->sql = "SELECT gmd_id, gmd_name FROM mst_gmd WHERE gmd_name=\"$tgmd_name\""; $this->run_query();

if (mysql_num_rows ($this->query) == FALSE) { $this->gmd_status = "0";

} else {

$this->gmd_status = "1";

while ($data = mysql_fetch_array($this->query)) { $this->avail_gmd_id = $data[0]; } } } } /* --- */ class insert_gmd extends mysqldb {

function __construct($tgmd_code, $tgmd_name) {

parent::__construct();

$this->sql = "INSERT INTO mst_gmd (gmd_code, gmd_name) "; $this->sql .= "VALUES (\"$tgmd_code\", \"$tgmd_name\")"; $this->run_query(); $this->avail_gmd_id = mysql_insert_id(); $this->gmd_status = "1"; } } /* --- */ class update_biblio extends mysqldb {

(13)

function __construct($tmfn, $tgmd_id) {

parent::__construct();

$this->sql = "UPDATE biblio SET gmd_id=\"$tgmd_id\" "; $this->sql .= "WHERE biblio_id=\"$tmfn\"";

$this->run_query(); }

}

# mendefinisikan letak file hasil konversi # ubah sesuai kondisi

$file_hasil_konversi = "c:\winisis\work\gmd.txt"; # membuka file dan membaca read-only

$handle = @fopen("$file_hasil_konversi", "r"); if ($handle) {

# membaca perbaris, berhenti pada end of line while (!feof($handle)) {

# menyimpan record perbaris $buffer = fgets ($handle, 4096);

# menghilangkan spasi dll diawal & akhir $buffer = trim($buffer);

# memotong antara mfn dengan judul dengan pemisah "|||" $record = explode ("|||", $buffer);

if ($buffer != "") {

# menghilangkan spasi dll diawal & akhir $record[0] = trim ($record[0]); # MFN $record[0] = intval ($record[0]); # MFN # menghilangkan spasi dll diawal & akhir

$record[1] = trim ($record[1]); # Jenis Koleksi $gmd_code = substr ($record[1], 0, 3);

$gmd_code = strtoupper ($gmd_code); $record[1] = strtoupper ($record[1]); if ($record[1] != "") {

echo 'Memasukkan data dengan:'."\n"; echo 'MFN: '.$record[0]."\n"; echo 'GMD: '.$record[1]."\n"; echo 'GMD CODE: '.$gmd_code."\n"; $cek_gmd = new cek_gmd($record[1]);

echo 'GMD STATUS: '.$cek_gmd->gmd_status."\n"; # DEBUG echo 'GMD ID: '.$cek_gmd->avail_gmd_id."\n"; # DEBUG if ($cek_gmd->gmd_status == "0") {

$insert_gmd = new insert_gmd($gmd_code, $record[1]);

$update_biblio = new update_biblio($record[0], $cek_gmd->avail_gmd_id); } elseif ($cek_gmd->gmd_status == "1") {

$update_biblio = new update_biblio($record[0], $cek_gmd->avail_gmd_id); } } } } fclose ($handle); } ?>

Untuk kemudahan proses, jalankan skrip PHP ini dari command-line. Diasumsikan portable

senayan diinstall di drive D dan anda sedang berada di dalam folder yang sama dengan skrip PHP yang dibuat, maka perintahnya:

d:\psenayan\php\php.exe gmd_parser.php

Silahkan dilihat basisdata Senayan menggunakan phpMyAdmin atau OPAC di Senayan untuk melihat apakah proses input telah berhasil.

(14)

One-to-many relationship (part 2: Penerbit dan Tempat Terbit)

Konversi berikutnya masih terkait dengan hubungan one-to-many, yaitu untuk field Penerbit. Pada contoh database ISIS yang digunakan dalam tulisan ini, penerbit terletak pada tag 260^b. Di aplikasi Senayan, detail penerbit dan tempat terbit disimpan di tabel “mst_publisher” dan di tabel “biblio” dihubungkan melalui field “publisher_id”.

Ada 5 field di tabel “mst_publisher”, tetapi dalam contoh proses konversi ini, ada 2 field yang patut diperhatikan, yaitu:

● “publisher_id”. Berjenis integer dan di set auto increment. Kita tidak perlu pusing

mengenai isinya, tapi yang penting nanti di parser nilai didalam field ini akan diambil dan dimasukkan di field “publisher_id” yang terdapat di tabel “biblio”.

● “publisher_name” berjenis string biasa yang variabel dan maksimal bisa menyimpan 100

karakter. Field ini harus diisi.

Seperti sebelumnya, antar field akan dipisahkan dengan 3 karakter pipe (|). Outputnya nanti kembali akan di parsing dengan skrip PHP. Sekarang pada WinISIS lakukan proses pencetakan (Database Print). Isi bagian MFN Range (misal: 1-10000), Output diarahkan ke file dengan→ format ASCII File dan uncheck Pre-defined Format. Pada bagian Print Format, isi dengan:

Referensi

Dokumen terkait

Pada metodologi ini akan menggambarkan tentang proses pengerjaan, tugas akhir ini mulai dari perhitungan kebutuhan power dari bow thruster, perencanaan dan desain

Pertalian atau hubungan antara pemerintah Kabupaten Purbalingga, masyarakat baik sebagai pemohon informasi maupun yang menyatakan keberatan informasi, serta Komisi

218 Tahun 2006 tentang Pengoperasian Bandar Udara Abdulrachman Saleh Malang Propinsi Jawa Timur untuk Penerbangan Sipil, antara lain mengamanatkan agar Pemerintah

Sebagian hasil penelitian dalam disertasi ini telah dipresentasikan pada Seminar 1 st International Conference of Crop Security, Universitas Brawijaya, Malang, 20 - 22

Berdasarkan hasil penelitian dapat disimpulkan bahwa ekstrak buah Okra dengan dosis 75 mg/kgBB tikus, 150 mg/kgBB tikus, dan 300 mg/kgBB tikus tidak mempunyai

a. Mengadakan pertemuan/rapat antara tutor dan orang tua. Menyelenggarakan program Pengajian untuk orang tua, misalnya kelompok diskusi. Mengundang orang tua dan pentutors

pengekangan sementara waktu kebebasan penanggung pajak dengan menempatkannya ditempat tertentu sebagaimana tercantum dalam Pasal 1 butir 18 Undang – Undang nomor 19

Fungsi pengawasan komunikasi massa dibagi dalam bentuk utama : fungsi pengawasan peringatan terjadi ketika media massa menginformasikan tentang suatu ancaman ;