Infrastruktur Bahasa Umum: Perbedaan antara revisi
Impor teks terkontrol dari Wikipedia bahasa Indonesia; revisi 28468247; atribusi sumber disertakan. |
Presentation V4: sitasi, referensi, Math, Wikimedia Commons, dan atribusi |
||
| Baris 1: | Baris 1: | ||
'''Infrastruktur Bahasa Umum''' ('''CLI''') adalah spesifikasi terbuka dan [[standar teknis]] yang pada awalnya dikembangkan oleh [[Microsoft]] dan di-standardisasi oleh [[Organisasi Standardisasi Internasional|ISO]]/[[Komisi Elektroteknik Internasional|IEC]] ('''ISO/IEC 23271''') dan Ecma Internasional ('''ECMA 335''') yang menggambarkan tentang kode yang dapat dieksekusi dan lingkungan runtime yang memperbolehkan berbagai bahasa aras tinggi untuk dapat digunakan di [[Platform komputasi|platform komputer]] yang berbeda tanpa harus ditulis ulang untuk arsitektur tertentu. Ini menyiratkan bahwa CLI merupakan platform agnostik. [[.NET Framework]], .NET dan [[Mono Framework|Mono]] adalah implementasi CLI. | '''Infrastruktur Bahasa Umum''' ('''CLI''') adalah spesifikasi terbuka dan [[standar teknis]] yang pada awalnya dikembangkan oleh [[Microsoft]] dan di-standardisasi oleh [[Organisasi Standardisasi Internasional|ISO]]/[[Komisi Elektroteknik Internasional|IEC]] ('''ISO/IEC 23271''') dan Ecma Internasional ('''ECMA 335''')<ref>[http://www.iso.org/iso/home/store/catalogue_ics/catalogue_detail_ics.htm?csnumber=58046 ISO/IEC 23271:2012 - Information technology -- Common Language Infrastructure (CLI)].</ref><ref>[http://www.ecma-international.org/publications/standards/Ecma-335.htm Standard ECMA-335 - 6th edition (June 2012)].</ref> yang menggambarkan tentang kode yang dapat dieksekusi dan lingkungan runtime yang memperbolehkan berbagai bahasa aras tinggi untuk dapat digunakan di [[Platform komputasi|platform komputer]] yang berbeda tanpa harus ditulis ulang untuk arsitektur tertentu. Ini menyiratkan bahwa CLI merupakan platform agnostik. [[.NET Framework]], .NET dan [[Mono Framework|Mono]] adalah implementasi CLI. | ||
Format [[metadata]] tersebut juga digunakan untuk menentukan definisi [[Antarmuka pemrograman aplikasi|API]] yang dipaparkan oleh Runtime Windows. | Format [[metadata]] tersebut juga digunakan untuk menentukan definisi [[Antarmuka pemrograman aplikasi|API]] yang dipaparkan oleh Runtime Windows.<ref>[https://www.microsoftpressstore.com/articles/article.aspx?p=2199428&seqNum=3 Introduction to Advanced Windows Store App Development using HTML5 and JavaScript Microsoft Press Store].</ref><ref>[https://tirania.org/blog/archive/2011/Sep-15.html WinRT demystified - Miguel de Icaza].</ref> | ||
== Ikhtisar == | == Ikhtisar == | ||
Spesifikasi CLI menggambarkan, antara lain, keempat aspek berikut: | Spesifikasi CLI menggambarkan, antara lain, keempat aspek berikut: | ||
| Baris 22: | Baris 21: | ||
Microsoft dan para rekannya memegang paten untuk CLI. Ecma dan ISO/IEC mensyaratkan bahwa semua paten yang diperlukan untuk implementasi harus tersedia di bawah "aturan yang wajar dan tidak diskriminatif (RAND)." Lisensi RAND umumnya memerlukan pembayaran royalti, yang dapat menjadi penyebab kekhawatiran bagi [[Mono Framework|Mono]]. Pada bulan Januari 2013, Microsoft maupun para rekan belum mengidentifikasi paten apa pun yang diperlukan untuk implementasi CLI yang tunduk kepada aturan RAND. | Microsoft dan para rekannya memegang paten untuk CLI. Ecma dan ISO/IEC mensyaratkan bahwa semua paten yang diperlukan untuk implementasi harus tersedia di bawah "aturan yang wajar dan tidak diskriminatif (RAND)." Lisensi RAND umumnya memerlukan pembayaran royalti, yang dapat menjadi penyebab kekhawatiran bagi [[Mono Framework|Mono]]. Pada bulan Januari 2013, Microsoft maupun para rekan belum mengidentifikasi paten apa pun yang diperlukan untuk implementasi CLI yang tunduk kepada aturan RAND. | ||
Hingga bulan Juli 2009, [[Microsoft]] telah menambahkan [[C Sharp (bahasa pemrograman)|C#]] dan CLI ke dalam daftar spesifikasi yang berlaku bagi Microsoft Community Promise (Janji Komunitas Microsoft), sehingga siapa pun dapat dengan aman mengimplementasi edisi standar yang ditentukan tanpa takut akan adanya gugatan paten dari Microsoft. Implementasi dari standar CLI memerlukan ketaatan terhadap salah satu standar profil yang didukung dan didefinisikan, sekurang-kurangnya profil kernel. Profil kernel sebenarnya merupakan kumpulan tipe yang sangat kecil untuk didukung, dibandingkan dengan pustaka inti instalasi .NET asal yang banyak dikenal. Namun, klausul ketaatan CLI memungkinkan untuk memperluas profil yang didukung dengan cara menambahkan metode dan tipe baru ke kelas-kelas, dan juga menurunkan dari namespace baru. Namun, tidak diperbolehkan untuk menambahkan anggota baru ke antarmuka. Ini berarti bahwa fitur dari CLI dapat digunakan dan diperluas, selama implementasi profil yang sesuai tidak mengubah perilaku program yang dirancang untuk bekerja atas profil tersebut, secara bersamaan memperbolehkan perilaku yang tidak diketahui dari program yang ditulis khusus untuk implementasi tersebut. | Hingga bulan Juli 2009,<ref>[http://port25.technet.com/archive/2009/07/06/the-ecma-c-and-cli-standards.aspx The Ecma C# and CLI Standards - Port 25: The Open Source Community at Microsoft]. 2009-07-06.</ref> [[Microsoft]] telah menambahkan [[C Sharp (bahasa pemrograman)|C#]] dan CLI ke dalam daftar spesifikasi yang berlaku bagi Microsoft Community Promise (Janji Komunitas Microsoft),<ref>[http://www.microsoft.com/openspecifications/en/us/programs/community-promise/covered-specifications/default.aspx Covered Specifications Microsoft Open Specifications]. ''Microsoft''.</ref> sehingga siapa pun dapat dengan aman mengimplementasi edisi standar yang ditentukan tanpa takut akan adanya gugatan paten dari Microsoft. Implementasi dari standar CLI memerlukan ketaatan terhadap salah satu standar profil yang didukung dan didefinisikan, sekurang-kurangnya profil kernel. Profil kernel sebenarnya merupakan kumpulan tipe yang sangat kecil untuk didukung, dibandingkan dengan pustaka inti instalasi .NET asal yang banyak dikenal. Namun, klausul ketaatan CLI memungkinkan untuk memperluas profil yang didukung dengan cara menambahkan metode dan tipe baru ke kelas-kelas, dan juga menurunkan dari namespace baru. Namun, tidak diperbolehkan untuk menambahkan anggota baru ke antarmuka. Ini berarti bahwa fitur dari CLI dapat digunakan dan diperluas, selama implementasi profil yang sesuai tidak mengubah perilaku program yang dirancang untuk bekerja atas profil tersebut, secara bersamaan memperbolehkan perilaku yang tidak diketahui dari program yang ditulis khusus untuk implementasi tersebut. | ||
Pada tahun 2012, Ecma dan ISO/IEC menerbitkan edisi baru dari standar CLI, yang tidak tercakup oleh Community Promise. | Pada tahun 2012, Ecma dan ISO/IEC menerbitkan edisi baru dari standar CLI,<ref>[http://www.iso.org/iso/home/store/catalogue_ics/catalogue_detail_ics.htm?csnumber=58046 ISO/IEC 23271:2012 - Information technology -- Common Language Infrastructure (CLI)]. [http://www.iso.org/iso/home/store/catalogue_ics/catalogue_detail_ics.htm?csnumber=58046 "ISO/IEC 23271:2012 - Information technology -- Common Language Infrastructure (CLI)"].</ref><ref>[http://www.ecma-international.org/publications/standards/Ecma-335.htm Standard ECMA-335 - 6th edition (June 2012)]. [http://www.ecma-international.org/publications/standards/Ecma-335.htm "Standard ECMA-335 - 6th edition (June 2012)"].</ref> yang tidak tercakup oleh Community Promise.<ref>[http://www.microsoft.com/openspecifications/en/us/programs/community-promise/covered-specifications/default.aspx Covered Specifications Microsoft Open Specifications]. ''Microsoft''. [http://www.microsoft.com/openspecifications/en/us/programs/community-promise/covered-specifications/default.aspx "Covered Specifications | Microsoft Open Specifications"]. ''Microsoft''.</ref> | ||
== Implementasi == | == Implementasi == | ||
* [[.NET Framework]] adalah implementasi komersial orisinal Microsoft dari CLI. Hanya mendukung Windows. Digantikan oleh .NET pada bulan November 2020. | * [[.NET Framework]] adalah implementasi komersial orisinal Microsoft dari CLI. Hanya mendukung Windows. Digantikan oleh .NET pada bulan November 2020. | ||
* .NET, sebelumnya dikenal sebagai .NET Core, adalah penerus .NET Framework yang tanpa biaya dan merupakan sumber terbuka dan multi-platform, yang dikeluarkan di bawah [[Lisensi MIT]] | * .NET, sebelumnya dikenal sebagai .NET Core, adalah penerus .NET Framework yang tanpa biaya dan merupakan sumber terbuka dan multi-platform, yang dikeluarkan di bawah [[Lisensi MIT]] | ||
| Baris 35: | Baris 33: | ||
== Lihat juga == | == Lihat juga == | ||
* Pustaka Standar (CLI) | * Pustaka Standar (CLI) | ||
* Daftar bahasa CLI | * Daftar bahasa CLI | ||
| Baris 41: | Baris 38: | ||
== Catatan == | == Catatan == | ||
== Pranala luar == | == Pranala luar == | ||
* | * | ||
== Referensi == | |||
<references /> | |||
== Sumber dan atribusi == | == Sumber dan atribusi == | ||
Konten artikel ini diadaptasi dari [https://id.wikipedia.org/w/index.php?title=Infrastruktur+Bahasa+Umum&oldid=28468247 Wikipedia bahasa Indonesia], revisi 28468247 (2025-11-14T01:04:48Z), yang tersedia berdasarkan lisensi Creative Commons Atribusi-BerbagiSerupa (CC BY-SA). Mohon gunakan konten ini secara bijak serta sesuai dengan ketentuan lisensi yang berlaku. | Konten artikel ini diadaptasi dari [https://id.wikipedia.org/w/index.php?title=Infrastruktur+Bahasa+Umum&oldid=28468247 Wikipedia bahasa Indonesia], revisi 28468247 (2025-11-14T01:04:48Z), yang tersedia berdasarkan lisensi Creative Commons Atribusi-BerbagiSerupa (CC BY-SA). Mohon gunakan konten ini secara bijak serta sesuai dengan ketentuan lisensi yang berlaku. | ||
<!-- WIKI_UNISSULA_PRESENTATION_V4 --> | |||
Revisi terkini sejak 24 Agustus 2026 14.03
Infrastruktur Bahasa Umum (CLI) adalah spesifikasi terbuka dan standar teknis yang pada awalnya dikembangkan oleh Microsoft dan di-standardisasi oleh ISO/IEC (ISO/IEC 23271) dan Ecma Internasional (ECMA 335)[1][2] yang menggambarkan tentang kode yang dapat dieksekusi dan lingkungan runtime yang memperbolehkan berbagai bahasa aras tinggi untuk dapat digunakan di platform komputer yang berbeda tanpa harus ditulis ulang untuk arsitektur tertentu. Ini menyiratkan bahwa CLI merupakan platform agnostik. .NET Framework, .NET dan Mono adalah implementasi CLI. Format metadata tersebut juga digunakan untuk menentukan definisi API yang dipaparkan oleh Runtime Windows.[3][4]
Ikhtisar
Spesifikasi CLI menggambarkan, antara lain, keempat aspek berikut:
- Common Type System (CTS)
- Kumpulan tipe data dan operasi yang dapat digunakan oleh semua bahasa pemrograman yang memenuhi persyaratan CTS.
- Metadata
- Informasi mengenai struktur program merupakan bahasa agnostik, sehingga dapat direferensikan antara bahasa dan perkakas, mempermudah untuk bekerja dengan kode yang ditulis dalam bahasa yang tidak digunakan oleh pengembang.
- Common Language Specification (CLS)
- CLI harus mematuhi kumpulan aturan dasar yang ditargetkan setiap bahasa, karena bahasa tersebut harus berinteraksi dengan bahasa lain yang memenuhi persyaratan CTS. Aturan-aturan CLS adalah subset dari Common Type System.
- Virtual Execution System (VES)
- VES memasukkan dan mengeksekusi program yang kompatibel dengan CLI, dengan menggunakan metadata untuk menggabungkan potongan-potongan kode yang dibuat secara terpisah pada saat runtime.
Semua bahasa yang kompatibel akan terkompilasi menjadi Common Intermediate Language (CIL), yang merupakan bahasa pengantaraan yang di-abstraksi dari perangkat keras platform. Ketika kode dieksekusi, VES yang spesifik terhadap platform akan mengkompilasi CIL menjadi bahasa mesin menurut perangkat dan sistem operasi yang ditentukan.
Standardisasi dan lisensi
Pada bulan Agustus 2000, Microsoft, Hewlett-Packard, Intel, dan lainnya bekerja untuk menstandardisasi CLI. Pada bulan Desember 2001, standar tersebut diratifikasi oleh Ecma, dan diikuti oleh standardisasi ISO/IEC pada bulan April 2003.
Microsoft dan para rekannya memegang paten untuk CLI. Ecma dan ISO/IEC mensyaratkan bahwa semua paten yang diperlukan untuk implementasi harus tersedia di bawah "aturan yang wajar dan tidak diskriminatif (RAND)." Lisensi RAND umumnya memerlukan pembayaran royalti, yang dapat menjadi penyebab kekhawatiran bagi Mono. Pada bulan Januari 2013, Microsoft maupun para rekan belum mengidentifikasi paten apa pun yang diperlukan untuk implementasi CLI yang tunduk kepada aturan RAND.
Hingga bulan Juli 2009,[5] Microsoft telah menambahkan C# dan CLI ke dalam daftar spesifikasi yang berlaku bagi Microsoft Community Promise (Janji Komunitas Microsoft),[6] sehingga siapa pun dapat dengan aman mengimplementasi edisi standar yang ditentukan tanpa takut akan adanya gugatan paten dari Microsoft. Implementasi dari standar CLI memerlukan ketaatan terhadap salah satu standar profil yang didukung dan didefinisikan, sekurang-kurangnya profil kernel. Profil kernel sebenarnya merupakan kumpulan tipe yang sangat kecil untuk didukung, dibandingkan dengan pustaka inti instalasi .NET asal yang banyak dikenal. Namun, klausul ketaatan CLI memungkinkan untuk memperluas profil yang didukung dengan cara menambahkan metode dan tipe baru ke kelas-kelas, dan juga menurunkan dari namespace baru. Namun, tidak diperbolehkan untuk menambahkan anggota baru ke antarmuka. Ini berarti bahwa fitur dari CLI dapat digunakan dan diperluas, selama implementasi profil yang sesuai tidak mengubah perilaku program yang dirancang untuk bekerja atas profil tersebut, secara bersamaan memperbolehkan perilaku yang tidak diketahui dari program yang ditulis khusus untuk implementasi tersebut.
Pada tahun 2012, Ecma dan ISO/IEC menerbitkan edisi baru dari standar CLI,[7][8] yang tidak tercakup oleh Community Promise.[9]
Implementasi
- .NET Framework adalah implementasi komersial orisinal Microsoft dari CLI. Hanya mendukung Windows. Digantikan oleh .NET pada bulan November 2020.
- .NET, sebelumnya dikenal sebagai .NET Core, adalah penerus .NET Framework yang tanpa biaya dan merupakan sumber terbuka dan multi-platform, yang dikeluarkan di bawah Lisensi MIT
- .NET Compact Framework adalah implementasi komersial Microsoft atas CLI untuk perangkat portabel dan Xbox 360.
- .NET Micro Framework adalah implementasi sumber terbuka CLI untuk perangkat dengan sumber terbatas.
- Mono adalah implementasi sumber terbuka alternatif atas CLI dan teknologi penyerta, biasanya digunakan untuk pengembangan ponsel dan permainannya.
Lihat juga
- Pustaka Standar (CLI)
- Daftar bahasa CLI
- .NET Standar
Catatan
Pranala luar
Referensi
- ↑ ISO/IEC 23271:2012 - Information technology -- Common Language Infrastructure (CLI).
- ↑ Standard ECMA-335 - 6th edition (June 2012).
- ↑ Introduction to Advanced Windows Store App Development using HTML5 and JavaScript Microsoft Press Store.
- ↑ WinRT demystified - Miguel de Icaza.
- ↑ The Ecma C# and CLI Standards - Port 25: The Open Source Community at Microsoft. 2009-07-06.
- ↑ Covered Specifications Microsoft Open Specifications. Microsoft.
- ↑ ISO/IEC 23271:2012 - Information technology -- Common Language Infrastructure (CLI). "ISO/IEC 23271:2012 - Information technology -- Common Language Infrastructure (CLI)".
- ↑ Standard ECMA-335 - 6th edition (June 2012). "Standard ECMA-335 - 6th edition (June 2012)".
- ↑ Covered Specifications Microsoft Open Specifications. Microsoft. "Covered Specifications | Microsoft Open Specifications". Microsoft.
Sumber dan atribusi
Konten artikel ini diadaptasi dari Wikipedia bahasa Indonesia, revisi 28468247 (2025-11-14T01:04:48Z), yang tersedia berdasarkan lisensi Creative Commons Atribusi-BerbagiSerupa (CC BY-SA). Mohon gunakan konten ini secara bijak serta sesuai dengan ketentuan lisensi yang berlaku.