Basis Data Zona Waktu

(Dialihkan dari Basis data tz)

Basis Data Zona Waktu, disebut juga tz database, tzdata, zoneinfo database, atau Basis Data Zona Waktu IANA, adalah kumpulan informasi zona waktu dunia yang bersifat kolaboratif dan cenderung ditujukan untuk program komputer dan sistem operasi.[2] Basis data ini kadang disebut basis data Olson sesuai nama kontributor pendirinya, Arthur David Olson.[3] Paul Eggert saat ini merupakan editor dan pengelola basis data ini.[4]

Basis Data Zona Waktu membagi dunia menjadi wilayah-wilayah yang jam lokalnya tidak berubah sejak 1970. Peta yang diambil dari edisi 2017a ini menampilkan semua wilayah di luar Antarktika.[1]

Fiturnya yang paling mudah dikenali adalah konvensi penamaan yang seragam untuk zona waktu, misalnya America/New_York dan Europe/Paris (lihat Daftar zona waktu di Basis Data Zona Waktu). Konvensi tersebut dirancang oleh Paul Eggert.[5] Basis data ini berusaha mencatat zona waktu historis dan semua perubahan sipil sejak 1970, kala waktu Unix.[6] Basis Data Zona Waktu juga mencakup peralihan waktu seperti waktu musim panas dan bahkan mencatat detik kabisat.[7]

Struktur data

sunting

Format berkas

sunting

Basis Data Zona Waktu diterbitkan sebagai susunan berkas teks yang berisi daftar peraturan dan peralihan zona dalam format yang dapat dibaca manusia. Untuk menggunakannya, berkas teks ini dikompilasi menjadi setumpuk berkas biner bebas platform—satu untuk setiap zona waktu. Kode sumber referensinya mengandung kompilator bernama zic (kompilator informasi zona), serta kode untuk membaca berkas-berkas tersebut dan menggunakannya dalam API seperti localtime() dan mktime().

Definisi zona waktu

sunting

Di basis data ini, sebuah zona waktu adalah wilayah nasional manapun yang jam lokalnya sudah disepakati bersama-sama sejak 1970.[8] Definisi ini mempertimbangkan wilayah geografis yang jam lokalnya konsisten. Ini berbeda dengan definisi lain yang mempertimbangkan perbedaan waktu konsisten dari meridian utama. Maka dari itu, setiap zona waktu yang didefinisikan oleh Basis Data Zona Waktu bisa mengandung beberapa perbedaan waktu UTC, biasanya menyertakan waktu standar dan waktu musim panas.

Di berkas teks zona waktu, setiap zona waktu memiliki satu "garis zona" atau lebih di salah satu berkas teks zona waktunya. Garis zona pertama untuk suatu zona waktu berisi nama zona; garis zona selanjutnya di zona waktu tersebut mengosongkan namanya, sehingga zona ini tergolong dalam zona yang sama seperti garis sebelumnya. Untuk serangkaian tanggal dan waktu, masing-masing garis zona untuk suatu zona menerangkan perubahan waktu UTC untuk waktu standar, nama susunan peraturan yang mengatur waktu musim panas (atau tanda hubung jika waktu standar selalu diterapkan), format singkatan zona waktu, dan tanggal dan waktu tempat rangkaian tanggal dan waktu yang diatur oleh garis tersebut berakhir (berlaku untuk semua kecuali garis zona terakhir).

Nama zona waktu

sunting

Zona waktu memiliki nama unik dengan format "Wilayah/Lokasi", e.g. "America/New_York", agar bisa dipahami orang biasa. Disepakati pula penggunaan nama berbahasa Inggris atau transliterasi yang setara, serta penghapusan tanda baca dan akhiran kata. Karakter garis bawah dipakai untuk menggantikan spasi. Tanda hubung digunakan ketika namanya tampil di nama suatu lokasi.

Wilayah

sunting

Wilayah adalah nama benua, samudra, atau "Etc". Benua dan samudra tersebut saat ini mencakup: Afrika, Amerika, Antarktika, Arktik, Asia, Atlantik, Australia, Eropa, Hindia, dan Pasifik.

Wilayah khusus "Etc" dipakai untuk beberapa zona administratif, terutama untuk "Etc/UTC" yang mewakili Coordinated Universal Time. Untuk menyesuaikan dengan gaya POSIX, zona-zona waktu yang berawalan "Etc/GMT" akan dibalikkan tandanya. Dengan gaya ini, zona di sebelah barat GMT diberi tanda positif dan zona di timur diberi tanda negatif di namanya (e.g "Etc/GMT-14" lebih cepat/timur 14 jam dari GMT.)

Lokasi

sunting

Lokasi adalah nama lokasi tertentu di dalam wilayah – biasanya kota atau pulau kecil.

Kadang-kadang, Lokasi itu sendiri dijadikan nama himpunan, misalnya zona waktu "America/Indiana/Indianapolis". Nama-nama yang bertingkat tiga saat ini adalah "America/Argentina/...", "America/Kentucky/...", "America/Indiana/...", and "America/North_Dakota/...".

Lokasi yang dipilih adalah perwakilan untuk seluruh wilayah.

Pada tanggal 1 Mei 2010, Arthur David Olson menetapkan batasan 14 karakter[9] supaya bisa menghapus "de" di nama Bahia de Banderas dan mencantumkan "Bahia_Banderas" untuk nama pengenal America/Bahia Banderas.

Contoh

sunting
America/Costa Rica Nama negara digunakan karena nama kota terbesar (dan ibu kota) San José bersifat ambigu
America/New York Spasi digantikan oleh garis bawah
Asia/Kolkata Nama kota Kolkata digunakan karena Kolkata adalah kota terpadat di zona itu ketika zona tersebut ditetapkan, meski saat ini sudah bukan yang terpadat[10]
Asia/Sakhalin Nama pulau digunakan karena kota terbesar di sana, Yuzhno-Sakhalinsk, mengandung lebih dari 14 karakter
America/Bahia Banderas Nama kota terbesar diubah, "de" dilenyapkan dari Bahia de Banderas, karena nama yang asli mengandung lebih dari 14 karakter
Antarctica/DumontDUrville Apostrof dihapus. Penghapusan spasi tidak mematuhi aturan yang mewajibkan penggantian dengan "_", karena dengan "_" namanya akan mengandung lebih dari 14 karakter

Zone.tab

sunting

Berkas zone.tab berada di bawah domain umum dan berisi daftar zona. Penyortiran kolom dan baris dijelaskan di keterangan berkas seperti ini:

# This file contains a table with the following columns:
# 1.  ISO 3166 2-character country code.  See the file `iso3166.tab'.
# 2.  Latitude and longitude of the zone's principal location
#     in ISO 6709 sign-degrees-minutes-seconds format,
#     either +-DDMM+-DDDMM or +-DDMMSS+-DDDMMSS,
#     first latitude (+ is north), then longitude (+ is east).
# 3.  Zone name used in value of TZ environment variable.
# 4.  Comments; present if and only if the country has multiple rows.
#
# Columns are separated by a single tab.
# The table is sorted first by country, then an order within the country that
# (1) makes some geographical sense, and
# (2) puts the most populous zones first, where that does not contradict (1).

Data sebelum 1970

sunting

Data sebelum 1970 dianggap cocok untuk kota yang mengidentifikasi suatu wilayah, tetapi tidak harus cocok untuk seluruh wilayah. Hal ini dikarenakan wilayah-wilayah baru dibuat hanya untuk membedakan jam sejak tahun 1970.

Misalnya, antara 1963-10-23 dan 1963-12-09 di Brasil, hanya negara bagian Minas Gerais, Espirito Santo, Rio de Janeiro, dan São Paulo yang menerapkan waktu musim panas. Akan tetapi, permintaan pemisahan dari America/Sao Paulo ditolak pada tahun 2010 dengan alasan bahwa sejak 1970 jam sudah diseragamkan untuk seluruh wilayah ini.[11]

Waktu di Jerman, yang diwakili oleh Europe/Berlin, tidak cocok untuk tahun 1945 ketika Trizone menggunakan aturan waktu musim panas yang berbeda dengan Berlin.[butuh rujukan]

Cakupan

sunting

Zona yang mencakup beberapa negara pasca-1970

sunting

Ada dua zona yang mencakup wilayah yang diduduki dua negara setelah 1970. Basis data ini mengikuti definisi negara per ISO 3166-1 yang pendahulunya, ISO 3166, pertama kali diterbitkan tahun 1974.

Lihat pula

sunting

Referensi

sunting
  1. ^ Muller, Eric. A shapefile of the TZ timezones of the world [updated 2012-10-08].
  2. ^ Eggert, Paul; Olson, Arthur David (2007-11-29). "Sources for time zone and daylight saving time data". Diakses tanggal 2007-12-03. 
  3. ^ Olson, Arthur David (1986-12-16). "Resolved timezone issue? Other issues. New ctime manual page". tz mailing list. 
  4. ^ Eggert, Paul (2005-01). "Re: FW: IANA time zone registration - proposal". tz mailing list. Diarsipkan dari yang asli on 2011-09-27. https://web.archive.org/web/20110927091235/http://osdir.com/ml/time.tz/2005-01/msg00027.html. 
  5. ^ Eggert, Paul (1993-10-20). "proposal for time zone names". tz mailing list. 
  6. ^ Olson, Arthur David (1987-03-18). "Re: ist of issues". tz mailing list. 
  7. ^ Devine, Bob (1988-06-02). "leap seconds; [0-60] is ok". tz mailing list. 
  8. ^ Theory (text file), contained in the "tzcode" distribution. Version tzcode2007h.tar.gz 2007-10-01 referenced.
  9. ^ Olson, Arthur David (2010-05-01). "proposed time zone package changes (Bahia de Banderas; version naming)". gmane.comp.time.tz. Diarsipkan dari versi asli tanggal 2016-04-11. Diakses tanggal 2014-03-13. 
  10. ^ Paul Eggert (December 21, 2012). "Re: zoneinfo : ist : error". tz mailing list. http://mm.icann.org/pipermail/tz/2012-December/018487.html. 
  11. ^ Olson, Arthur David (2010-01-06). "RE: little nuance in brazil 1963". tz mailing list. Diarsipkan dari yang asli on 2016-04-11. https://web.archive.org/web/20160411074651/http://article.gmane.org/gmane.comp.time.tz/3061. 

Pranala luar

sunting

Sumber resmi IANA

sunting

Halaman man

sunting
  • zic(8) – Halaman man Linux (berisi sintaks berkas sumber Basis Data Zona Waktu)
  • tzfile(5) – Halaman man Linux (berisi format kompilasi berkas Basis Data Zona Waktu)