Senin, 21 Februari 2011

DNS (Domain Name Service)

Domain Name Service (DNS)

Untuk mengidentifikasi suatu entitas, internet menggunakan alamat IP, yang secara unik mengidentifikasi koneksi dari host ke Internet. Namun, orang lebih suka menggunakan nama daripada alamat numerik. Oleh karena itu, kita membutuhkan sebuah sistem yang dapat memetakan nama ke alamat atau alamat untuk nama. Ketika Internet kecil, pemetaan dilakukan menggunakan file host. File tuan rumah hanya memiliki dua kolom: satu untuk nama dan satu untuk alamat. Setiap host dapat menyimpan file host pada disk dan memperbaruinya secara berkala dari file host master. Ketika sebuah program atau pengguna ingin untuk memetakan nama ke alamat, host berkonsultasi dengan file host dan menemukan pemetaan.
Hari ini, adalah mustahil untuk memiliki satu file host setiap berhubungan satu nama, dan sebaliknya. File tuan rumah akan terlalu besar untuk menyimpan di setiap host. Selain itu, tidak mungkin untuk memperbarui semua file host di dunia setiap kali ada perubahan. Salah satu solusi adalah dengan menyimpan file seluruh host dalam satu komputer dan memungkinkan akses ke informasi yang tersentralisasi untuk setiap komputer yang membutuhkan pemetaan, tetapi kita tahu bahwa ini akan menciptakan sejumlah besar lalu lintas di Internet. Solusi lain, yang digunakan saat ini salah satu, adalah untuk membagi ini sejumlah besar informasi menjadi bagian-bagian yang lebih kecil dan menyimpan setiap bagian pada komputer yang berbeda. Dalam metode ini, host yang perlu pemetaan dapat menghubungi komputer terdekat memegang informasi yang dibutuhkan. Metode ini digunakan oleh Domain Name System (DNS).





Nama Ruang


Nama ditugaskan untuk mesin harus hati-hati dipilih dari ruang nama dengan kontrol penuh atas pengikatan antara nama dan alamat IP. Nama harus unik karena alamat yang unik. Sebuah ruang nama yang memetakan setiap alamat ke nama yang unik dapat diatur dalam dua cara: datar atau hirarkis.

Nama Ruang Flat

Dalam ruang nama datar, nama ditugaskan untuk alamat. Sebuah nama dalam ruang ini adalah urutan karakter tanpa struktur. Nama mungkin atau mungkin tidak memiliki bagian umum, jika mereka melakukannya, itu tidak ada artinya. Kelemahan utama dari ruang nama datar adalah bahwa hal itu tidak dapat digunakan dalam suatu sistem besar seperti internet karena harus terpusat dikontrol untuk menghindari ambiguitas dan duplikasi.



Ketika sebuah aplikasi (misalkan web broswer), hendak mencari alamat IP dari sebuah nama domain, aplikasi tersebut tidak harus mengikuti seluruh langkah yang disebutkan dalam teori diatas. Kita akan melihat dulu konsep caching, lalu mengertikan operasi DNS di "dunia nyata".


Caching dan masa hidup

Karena jumlah permintaan yang besar dari sistem seperti DNS, perancang DNS menginginkan penyediaan mekanisme yang bisa mengurangi beban dari masing-masing server DNS. Rencana mekanisnya menyarankan bahwa ketika sebuah DNS resolver (klien) menerima sebuah jawaban DNS, informasi tersebut akan di cache untuk jangka waktu tertentu. Sebuah nilai (yang di-set oleh administrator dari server DNS yang memberikan jawaban) menyebutnya sebagai time to live (masa hidup), atau TTL yang mendefinisikan periode tersebut. Saat jawaban masuk ke dalam cache, resolver akan mengacu kepada jawaban yang disimpan di cache tersebut; hanya ketika TTL usai (atau saat administrator mengosongkan jawaban dari memori resolver secara manual) maka resolver menghubungi server DNS untuk informasi yang sama.


Waktu propagasi

Satu akibat penting dari arsitektur tersebar dan cache adalah perubahan kepada suatu DNS tidak selalu efektif secara langsung dalam skala besar/global. Contoh berikut mungkin akan menjelaskannya: Jika seorang administrator telah mengatur TTL selama 6 jam untuk host www.wikipedia.org, kemudian mengganti alamat IP dari www.wikipedia.org pada pk 12:01, administrator harus mempertimbangkan bahwa ada (paling tidak) satu individu yang menyimpan cache jawaban dengan nilai lama pada pk 12:00 yang tidak akan menghubungi server DNS sampai dengan pk 18:00. Periode antara pk 12:00 dan pk 18:00 dalam contoh ini disebut sebagai waktu propagasi (propagation time), yang bisa didefiniskan sebagai periode waktu yang berawal antara saat terjadi perubahan dari data DNS, dan berakhir sesudah waktu maksimum yang telah ditentukan oleh TTL berlalu. Ini akan mengarahkan kepada pertimbangan logis yang penting ketika membuat perubahan kepada DNS: tidak semua akan melihat hal yang sama seperti yang Anda lihat. RFC1537 dapat membantu penjelasan ini.


DNS di dunia nyata


Di dunia nyata, user tidak berhadapan langsung dengan DNS resolver - mereka berhadapan dengan program seperti web brower (Mozilla Firefox, Safari, Opera, Internet Explorer, Netscape, Konqueror dan lain-lain dan klien mail (Outlook Express, Mozilla Thunderbird dan lain-lain). Ketika user melakukan aktivitas yang meminta pencarian DNS (umumnya, nyaris semua aktivitas yang menggunakan Internet), program tersebut mengirimkan permintaan ke DNS Resolver yang ada di dalam sistem operasi.

DNS resolver akan selalu memiliki cache (lihat diatas) yang memiliki isi pencarian terakhir. Jika cache dapat memberikan jawaban kepada permintaan DNS, resolver akan menggunakan nilai yang ada di dalam cache kepada program yang memerlukan. Kalau cache tidak memiliki jawabannya, resolver akan mengirimkan permintaan ke server DNS tertentu. Untuk kebanyakan pengguna di rumah, Internet Service Provider(ISP) yang menghubungkan komputer tersebut biasanya akan menyediakan server DNS: pengguna tersebut akan mendata alamat server secara manual atau menggunakan DHCP untuk melakukan pendataan tersebut. Jika administrator sistem telah mengkonfigurasi sistem untuk menggunakan server DNS mereka sendiri, DNS resolver umumnya akan mengacu ke server nama mereka. Server nama ini akan mengikuti proses yang disebutkan di Teori DNS, baik mereka menemukan jawabannya maupun tidak. Hasil pencarian akan diberikan kepada DNS resolver; diasumsikan telah ditemukan jawaban, resolver akan menyimpan hasilnya di cache untuk penggunaan berikutnya, dan memberikan hasilnya kepada software yang meminta pencarian DNS tersebut.

Sebagai bagian akhir dari kerumitan ini, beberapa aplikasi seperti web browser juga memiliki DNS cache mereka sendiri, tujuannya adalah untuk mengurangi penggunaan referensi DNS resolver, yang akan meningkatkan kesulitan untuk melakukan debug DNS, yang menimbulkan kerancuan data yang lebih akurat. Cache seperti ini umumnya memiliki masa yang singkat dalam hitungan 1 menit.



Penerapan DNS lainnya

Sistem yang dijabarkan diatas memberikan skenario yang disederhanakan. DNS meliputi beberapa fungsi lainnya:

* Nama host dan alamat IP tidak berarti terhubung secara satu-banding-satu. Banyak nama host yang diwakili melalui alamat IP tunggal: gabungan dengan pengasuhan maya (virtual hosting), hal ini memungkinkan satu komputer untuk malayani beberapa situs web. Selain itu, sebuah nama host dapat mewakili beberapa alamat IP: ini akan membantu toleransi kesalahan (fault tolerance dan penyebaran beban (load distribution), juga membantu suatu situs berpindah dari satu lokasi fisik ke lokasi fisik lainnya secara mudah.
* Ada cukup banyak kegunaan DNS selain menerjemahkan nama ke alamat IP. Contoh:, agen pemindahan surat Mail transfer agents(MTA) menggunakan DNS untuk mencari tujuan pengiriman E-mail untuk alamat tertentu. Domain yang menginformasikan pemetaan exchange disediakan melalui rekod MX (MX record) yang meningkatkan lapisan tambahan untuk toleransi kesalahan dan penyebaran beban selain dari fungsi pemetaan nama ke alamat IP.
* Kerangka Peraturan Pengiriman (Sender Policy Framework) secara kontroversi menggunakan keuntungan jenis rekod DNS, dikenal sebagai rekod TXT.
* Menyediakan keluwesan untuk kegagalan komputer, beberapa server DNS memberikan perlindungan untuk setiap domain. Tepatnya, tigabelas server akar (root servers) digunakan oleh seluruh dunia. Program DNS maupun sistem operasi memiliki alamat IP dari seluruh server ini. Amerika Serikat memiliki, secara angka, semua kecuali tiga dari server akar tersebut. Namun, dikarenakan banyak server akar menerapkan anycast, yang memungkinkan beberapa komputer yang berbeda dapat berbagi alamat IP yang sama untuk mengirimkan satu jenis services melalui area geografis yang luas, banyak server yang secara fisik (bukan sekedar angka) terletak di luar Amerika Serikat.

DNS menggunanakn TCP dan UDP di port komputer 53 untuk melayani permintaan DNS. Nyaris semua permintaan DNS berisi permintaan UDP tunggal dari klien yang dikuti oleh jawaban UDP tunggal dari server. Umumnya TCP ikut terlibat hanya ketika ukuran data jawaban melebihi 512 byte, atau untuk pertukaaran zona DNS zone transfer


Jenis-jenis catatan DNS

Beberapa kelompok penting dari data yang disimpan di dalam DNS adalah sebagai berikut:

* A record atau catatan alamat memetakan sebuah nama host ke alamat IP 32-bit (untuk IPv4).
* AAAA record atau catatan alamat IPv6 memetakan sebuah nama host ke alamat IP 128-bit (untuk IPv6).
* CNAME record atau catatan nama kanonik membuat alias untuk nama domain. Domain yang di-alias-kan memiliki seluruh subdomain dan rekod DNS seperti aslinya.
* [MX record]]' atau catatan pertukaran surat memetakan sebuah nama domain ke dalam daftar mail exchange server untuk domain tersebut.
* PTR record atau catatan penunjuk memetakan sebuah nama host ke nama kanonik untuk host tersebut. Pembuatan rekod PTR untuk sebuah nama host di dalam domain in-addr.arpa yang mewakili sebuah alamat IP menerapkan pencarian balik DNS (reverse DNS lookup) untuk alamat tersebut. Contohnya (saat penulisan / penerjemahan artikel ini), www.icann.net memiliki alamat IP 192.0.34.164, tetapi sebuah rekod PTR memetakan ,,164.34.0.192.in-addr.arpa ke nama kanoniknya: referrals.icann.org.
* NS record atau catatan server nama memetakan sebuah nama domain ke dalam satu daftar dari server DNS untuk domain tersebut. Pewakilan bergantung kepada rekod NS.
* SOA record atau catatan otoritas awal (Start of Authority) mengacu server DNS yang mengediakan otorisasi informasi tentang sebuah domain Internet.
* SRV record adalah catatan lokasi secara umum.
* Catatan TXT mengijinkan administrator untuk memasukan data acak ke dalam catatan DNS; catatan ini juga digunakan di spesifikasi Sender Policy Framework.

Jenis catatan lainnya semata-mata untuk penyediaan informasi (contohnya, catatan LOC memberikan letak lokasi fisik dari sebuah host, atau data ujicoba (misalkan, catatan WKS memberikan sebuah daftar dari server yang memberikan servis yang dikenal (well-known service) seperti HTTP atau POP3 untuk sebuah domain.



Nama domain yang diinternasionalkan

Nama domain harus menggunakan satu sub-kumpulan dari karakter ASCII, hal ini mencegah beberapa bahasa untuk menggunakan nama maupun kata lokal mereka. ICANN telah menyetujui Punycode yang berbasiskan sistem IDNA, yang memetakan string Unicode ke karakter set yang valid untuk DNS, sebagai bentuk penyelesaian untuk masalah ini, dan beberapa registries sudah mengadopsi metode IDNS ini.



Perangkat lunak DNS


Beberapa jenis perangakat lunak DNS menerapkan metode DNS, beberapa diantaranya:

* BIND (Berkeley Internet Name Domain)
* djbdns (Daniel J. Bernstein's DNS)
* MaraDNS
* QIP (Lucent Technologies)
* NSD (Name Server Daemon)
* PowerDNS
* Microsoft DNS (untuk edisi server dari Windows 2000 dan Windows 2003)

Utiliti berorientasi DNS termasuk:

* dig (the domain information groper)




Pengguna legal dari domain
Pendaftar (registrant)

Tidak satupun individu di dunia yang "memiliki" nama domain kecuali Network Information Centre (NIC), atau pendaftar nama domain (domain name registry). Sebagian besar dari NIC di dunia menerima biaya tahunan dari para pengguna legal dengan tujuan bagi si pengguna legal menggunakan nama domain tersebut. Jadi sejenis perjanjian sewa-menyewa terjadi, bergantung kepada syarat dan ketentuan pendaftar. Bergantung kepada beberpa peraturan penamaan dari para pendaftar, pengguna legal dikenal sebagai "pendaftar" (registrants) atau sebagai "pemegang domain" (domain holders)

ICANN memegang daftar lengkap untuk pendaftar domain di seluruh dunia. Siapapun dapat menemukan pengguna legal dari sebuah domain dengan mencari melalui basis data WHOIS yang disimpan oleh beberpa pendaftar domain.

Di (lebih kurang) 240 country code top-level domains (ccTLDs), pendaftar domain memegang sebuah acuan WHOIS (pendaftar dan nama server). Contohnya, IDNIC, NIC Indonesia, memegang informasi otorisatif WHOIS untuk nama domain .ID.

Namun, beberapa pendaftar domain, seperti VeriSign, menggunakan model pendaftar-pengguna. Untuk nama domain .COM dan .NET, pendaftar domain, VeriSign memegang informasi dasar WHOIS )pemegang domain dan server nama). Siapapun dapat mencari detil WHOIS (Pemegang domain, server nama, tanggal berlaku, dan lain sebagainya) melalui pendaftar.

Sejak sekitar 2001, kebanyakan pendaftar gTLD (.ORG, .BIZ, .INFO) telah mengadopsi metode penfatar "tebal", menyimpan otoritatif WHOIS di beberapa pendaftar dan bukan pendaftar itu saja.
[sunting] Kontak Administratif (Administrative Contact)

Satu pemegang domain biasanya menunjuk kontak administratif untuk menangani nama domain. Fungsi manajemen didelegasikan ke kontak administratif yang mencakup (diantaranya):

* keharusan untuk mengikuti syarat dari pendaftar domain dengan tujuan memiliki hak untuk menggunakan nama domain
* otorisasi untuk melakukan update ke alamat fisik, alamat email dan nomor telepon dan lain sebagainya via WHOIS


Kontak Teknis (Technical Contact)

Satu kontak teknis menangani server nama dari sebuah nama domain. Beberapa dari banyak fungsi kontak teknis termasuk:

* memastikan bahwa konfigurasi dari nama domain mengikuti syarat dari pendaftar domain
* update zona domain
* menyediakan fungsi 24x7 untuk ke server nama (yang membuat nama domain bisa diakses)


DNS DI INTERNET

DNS adalah protokol yang dapat digunakan di berbagai platform. Di Internet, nama domain ruang (pohon) dibagi menjadi tiga bagian yang berbeda: domain generik, domain negara, dan domain terbalik.

Generic Domain


Domain generik mendefinisikan host terdaftar sesuai dengan perilaku generik mereka. Setiap simpul di pohon mendefinisikan suatu domain, yang merupakan indeks untuk nama ruang database domain seperti di Gbr.6. Tingkat pertama di bagian domain generik memungkinkan tujuh label tiga-karakter yang menggambarkan jenis organisasi seperti terlihat pada tabel 1. Baru-baru ini beberapa tingkat pertama-label telah dietujui.


Country Domain


Negara bagian menggunakan domain-karakter negara singkatan dua (misalnya, iq untuk Irak).

Invers Domain
domain invers digunakan untuk memetakan sebuah alamat ke nama.


Pemetaan Nama untuk Alamat


Sebagian besar waktu, resolver memberikan nama domain ke server dan meminta alamat yang sesuai. Dalam hal ini, server memeriksa domain generik atau domain negara untuk menemukan pemetaan. Jika domain ini dari bagian domain generik, resolver menerima nama domain seperti tech.atc.edu, jika nama domain dari domain negara bagian, resolver menerima nama domain seperti tech.atc.iq.

Pemetaan Alamat untuk Nama

Seorang klien dapat mengirim alamat IP ke server untuk dapat dipetakan ke nama domain. Ini disebut pointer query (PTR) DNS. Di sini menggunakan domain terbalik.

DNS Pesan

DNS memiliki dua jenis pesan: query dan response. Kedua jenis memiliki format yang sama. Pesan query terdiri dari header dan catatan pertanyaan, tanggapan pesan terdiri dari header, catatan pertanyaan, jawaban catatan, catatan berwibawa, dan catatan tambahan.



Server Nama

Disebut sebagai server nama otoritatif yang mengasuh zona nama domain dari sebuah nama domain.

Nama hirarkis Space

Dalam ruang nama hirarki, setiap nama terdiri dari beberapa bagian. Bagian pertama dapat menentukan sifat organisasi, bagian kedua dapat menentukan nama, bagian ketiga dapat menentukan departemen, dan jadi tidak ada. Dalam hal ini, kewenangan untuk menetapkan dan mengontrol ruang nama dapat terdesentralisasi.

Sebuah otoritas pusat dapat menetapkan bagian dari nama yang mendefinisikan sifat organisasi dan nama. Tanggung jawab untuk sisa nama yang dapat diberikan kepada organisasi itu sendiri. Sufiks dapat ditambahkan ke nama host atau menentukan sumber daya. Manajemen organisasi tidak perlu khawatir bahwa awalan dipilih untuk host diambil oleh organisasi lain karena meskipun bagian dari alamat yang sama, alamat seluruh yang berbeda.

Sebagai contoh, asumsikan dua perguruan tinggi dan satu perusahaan panggilan penantang komputer mereka, perguruan tinggi pertama diberi nama oleh otoritas pusat seperti fhda.edu, perguruan tinggi kedua diberi nama berkeley.edu, dan perusahaan diberi smart.com. nama Ketika organisasi-organisasi ini menambahkan penantang nama ke nama yang mereka telah diberikan, hasil akhirnya adalah tiga nama dibedakan:, challenger.berkeley.edu, dan challenger.smart.com. challenger.fhda.edu yang pusat otoritas kontrol hanya bagian dari nama, bukan nama keseluruhan.

NAMA DOMAIN SPACE

Untuk memiliki ruang nama hirarkis, ruang nama domain dirancang. Dalam desain ini, nama didefinisikan dalam sebuah struktur terbalik-pohon dengan akar di atas. Pohon itu hanya dapat memiliki 128 tingkat: tingkat 0 (root) ke level 127. Sedangkan lem seluruh akar pohon bersama, setiap tingkat pohon mendefinisikan tingkat hirarkis (lihat Gambar. 1).

Label

Setiap simpul di pohon memiliki label, yang merupakan string dengan maksimum 63 karakter. Label root adalah string kosong (string kosong). DNS mensyaratkan bahwa anak-anak dari sebuah node (node yang cabang dari node yang sama) memiliki label yang berbeda, yang menjamin keunikan nama domain.

Nama Domain


Setiap simpul di pohon memiliki nama domain. Sebuah nama domain lengkap adalah urutan dari label yang dipisahkan oleh titik (.). Nama domain selalu dibaca dari node sampai akarnya. Label terakhir adalah label dari akar (null). Ini berarti bahwa nama domain lengkap selalu berakhir dengan label null, yang berarti karakter terakhir merupakan titik nol karena string apa-apa. Gbr.2 menunjukkan beberapa nama domain.


FQDN

Fully Qualifed Domain Name (disingkat menjadi FQDN), dalam sistem penamaan domain Domain Name System (DNS) merujuk kepada nama bertitik yang dapat mengidentifikasikan sebuah host Transmission Control Protocol/Internet Protocol (TCP/IP) di dalam jaringan dan Internet. FQDN juga sering disebut sebagai Absolute Domain Name. FQDN didiskusikan dalam RFC 1035, RFC 1123 dan RFC 2181.

Sebuah FQDN dari sebuah host mengandung nama host miliknya digabungkan dengan nama domain (dan subdomain) di mana host tersebut berada, yang kemudian dipisahkan dengan menggunakan tanda titik (.). FQDN umumnya digunakan di dalam Uniform Resource Locator (URL) yang digunakan untuk mengakses halaman web di dalam jaringan dan Internet dan membuat path absolut terhadap ruang nama (namespace) DNS ke host target di mana halaman web tersebut berada. FQDN berbeda dengan nama domain biasa karena FQDN merupakan nama absolut dari domain, sehingga sufiks domain tidak perlu ditambahkan.

Contoh FQDN: untuk sebuah nama FQDN id.wikipedia.org, dapat diambil pernyataan bahwa id merupakan nama host, dan wikipedia.org merupakan nama domain-nya. Panjang maksimum dari FQDN adalah 255 bita.

PQDN

Ada juga beberapa situasi di mana kita dapat merujuk ke perangkat yang menggunakan spesifikasi nama lengkap. Hal ini disebut memenuhi syarat nama domain-sebagian (PQDN) yang berarti bahwa nama itu hanya sebagian menentukan lokasi perangkat. Menurut definisi, PQDN adalah ambigu,karena tidak memberikan path lengkap ke domain. Jadi, satu-satunya dapat menggunakan PQDN di dalam konteks sebuah domain induk tertentu,yang mutlak nama domain dikenal. Kita kemudian dapat menemukan FQDN dari sebuah nama domain tertentu-sebagian denganmenambahkan nama parsial ke nama absolut dari domain induk. Sebagai contoh, jika kita memiliki PQDN "Z" dalam konteks FQDN "yx", kita tahu FQDN untuk "Z" adalah "Zyx"

Mengapa repot-repot dengan ini? Jawabannya adalah kenyamanan. Administrator untuk domain bisa menggunakan nama relatif sebagai tangan pendek untuk merujuk ke perangkat atau subdomain tanpa harus mengulang seluruh nama lengkap. Misalnya, Anda bertanggung jawab atas departemen ilmu komputer di Universitas Widgetopia. Nama domain departemen secara keseluruhan adalah "cs.widgetopia.edu." Dan host individual Anda mengelola dinamai setelah buah.

Dalam DNS file Anda mempertahankan Anda bisa merujuk ke masing-masing perangkat dengan FQDN yang setiap waktu, misalnya, ". Apple.cs.widgetopia.edu", "banana.cs.widgetopia.edu." Dan seterusnya. Tapi lebih mudah untuk memberitahu perangkat lunak "jika Anda melihat nama yang tidak sepenuhnya memenuhi syarat, menganggap itu adalah 'cs.widgetopia.edu' domain". Maka Anda hanya dapat memanggil mesin "apel", "pisang", dll Setiap kali perangkat lunak DNS melihat PQDN seperti "kiwi" ia akan memperlakukannya sebagai "kiwi.cs.widgetopia.edu".


Membedakan FQDNs dan PQDNs dalam DNS


Saya sebutkan di topik sebelumnya bahwa tanda titik untuk domain root null biasanya dihilangkan. Hal ini berlaku dalam bahasa umum, dan ketika pengguna menentukan nama domain dalam sebuah aplikasi, Anda tidak menggunakan tanda titik di browser Web Anda misalnya. Namun, dalam DNS itu sendiri, dot digunakan untuk membedakan secara jelas FQDN dari sebuah PQDN dalam file master DNS. Hal ini memungkinkan kita untuk menggunakan kedua FQDNs dan PQDNs bersama-sama.Dalam contoh di atas, "apel" akan mengacu apple.cs.widgetopia.edu. "," Tetapi "apple.com." Akan mengacu pada nama domain yang memenuhi syarat-sepenuhnya untuk Apple Computer, Inc Anda harus berhati-hati tentang mengawasi titik-titik di sini, karena "apple.com" (tidak ada periode trailing) akan PQDN, dan akan lihat "apple.com.cs.widgetopia.edu.", dan bukan domain dari Apple Computer.

sebuah nama domain yang memenuhi syarat-penuh (FQDN) adalah nama domain yang lengkap yang secara unik mengidentifikasi sebuah node dalam ruang nama DNS dengan memberikan path lengkap dari label dari akar pohon ke simpul tersebut. Hal ini mendefinisikan lokasi absolut dari sebuah domain. Sebaliknya, nama domain yang memenuhi syarat-sebagian (PQDN) hanya menetapkan sebagian dari sebuah nama domain. Ini adalah nama relatif yang memiliki makna hanya dalam konteks tertentu; nama parsial harus diinterpretasikan dalam konteks yang sepenuhnya mengidentifikasi node.

Tidak ada komentar:

Posting Komentar