{"id":260,"date":"2023-01-20T00:24:25","date_gmt":"2023-01-19T17:24:25","guid":{"rendered":"https:\/\/guru.smkn1pacitan.sch.id\/hendri\/?p=260"},"modified":"2023-01-20T00:27:13","modified_gmt":"2023-01-19T17:27:13","slug":"mengenal-java-class-library-jcl","status":"publish","type":"post","link":"https:\/\/guru.smkn1pacitan.sch.id\/hendri\/2023\/01\/20\/mengenal-java-class-library-jcl\/","title":{"rendered":"Mengenal Java Class Library (JCL)"},"content":{"rendered":"\n<p>Java Class Library (JCL) merupakan kumpulan pustaka (<em>library<\/em>) aplikasi yang dapat dimuat secara dinamis (<em>dynamically loadable libraries<\/em>) oleh JVM (Java Virtual Machine) pada saat run time. Run time atau runtime adalah fase akhir pada siklus sebuah program komputer, yaitu fase di mana kode <strong>akan <\/strong>dieksekusi pada CPU\/processor dalam bentuk bahasa mesin. Karena platform Java menganut prinsip &#8220;write once, run anywhere&#8221; di mana ia tidak memiliki ketergantungan pada sistem operasi spesifik untuk dijalankan, aplikasi tidak dapat menggantungkan pada pustaka yang spesifik pada platform sistem operasi tertentu. <\/p>\n\n\n\n<p>Untuk itu, platform Java menyediakan kumpulan pustaka class standar (<em>standard class libraries<\/em>) komprehensif yang memuat fungsi-fungsi umum pada sistem operasi modern.<\/p>\n\n\n\n<!--nextpage-->\n\n\n\n<p>Java Class Library dibuat dengan tujuan berikut ini:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Seperti halnya pustaka kode standar, JCL memberikan kumpulan fasilitas umum yang bermanfaat bagi programmer, seperti container classes untuk pengelolaan collections, pemrosesan regular expression, dan sebagainya.<\/li>\n\n\n\n<li>Menyediakan interface abstrak untuk tugas-tugas yang normalnya sangat bergantung pada perangkat keras dan sistem operasi, seperti akses ke jaringan dan akses ke sistem penyimpanan file.<\/li>\n\n\n\n<li>Pada beberapa kasus, ada kemungkinan platform yang digunakan mungkin tidak mendukung semua fitur yang diharapkan oleh aplikasi Java yang ada. Di sinilah JCL dapat berperan untuk melakukan emulasi terhadap fitur tersebut, atau memfasilitas mekanisme yang konsisten untuk mengecek ada dan tidaknya suatu fitur spesifik.<\/li>\n<\/ul>\n\n\n\n<!--nextpage-->\n\n\n\n<p>Hampir keseluruhan bagian JCL ditulis dengan bahasa Java, kecuali pada bagian yang membutuhkan akses langsung ke perangkat keras dan sistem operasi (seperti Input\/Output atau pengolahan gambar bitmap). Fungsi-fungsi semacam ini umumnya menggunakan Java Native Interface (JNI) wrappers untuk implementasinya, agar dapat mengakses fitur program lain yang ditulis menggunakan C\/C++ ataupun assembly.<\/p>\n\n\n\n<p>Hampir seluruh bagian dari JCL disimpan pada file tunggal dalam format Java Archive (JAR) bernama rt.jar yang selalu disediakan oleh JRE dan JDK. Namun sejak dirilisnya Java 9 (versi 1.9) dan dikenalkannya Java Module System, JCL disediakan dalam bentuk beberapa modul yang saling terkait dependensinya.<\/p>\n\n\n\n<!--nextpage-->\n\n\n\n<p>Semua fitur JCL dapat diakses melalui class yang tersedia pada packages bawaan JVM, dengan rincian sebagai berikut:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>java.lang <br>Memuat class-class fundamental serta interface-interface yang berkaitan erat dengan bahasa pemrograman Java itu sendiri dan sistem runtime.<\/li>\n\n\n\n<li>I\/O dan networking<br>Memfasilitasi akses kepada filesystem di mana platform-nya dijalankan melalui paket java.io dan java.nio. Sedangkan untuk keperluan akses ke jaringan yang digunakan adalah paket java.nio dan java.net<\/li>\n\n\n\n<li>java.math<br>Menyediakan ekspresi dan evaluasi matematis, memfasilitasi komputasi yang membutuhkan aritmatika dengan presisi bilangan sangat tinggi, misalnya pada operasi kriptografi.<\/li>\n\n\n\n<li>java.util<br>Menyediakan fitur-fitur terkait struktur data dan objek agregat, termasuk penanganan collections. Termasuk pula di dalamnya terdapat utilitas untuk regular expressions, konkurensi, logging, dan kompresi data.<\/li>\n\n\n\n<li>GUI dan 2D Graphics<br>Java memiliki fitur GUI dasar yang disediakan oleh java.awt. Pada perkembangannya, paket Swing (javax.swing) yang dibangun di atas AWT (Advanced Window Toolkit) menyediakan kumpulan komponen GUI yang bisa dimanfaatkan secara lintas platform.<\/li>\n\n\n\n<li>Sound library<br>Merupakan bagian dari JCL yang bisa dimanfaatkan untuk membuat aplikasi yang mampu membaca, menulis, <em>sequencing<\/em>, maupun <em>synthesizing <\/em>data suara, umunya dalam format MIDI.<\/li>\n\n\n\n<li>Text library<br>Untuk berurusan dengan operasi terhadap teks, tanggal, bilangan, dan pesan, JCL memiliki library java.text.<\/li>\n\n\n\n<li>Image library<br>Untuk keperluan mengolah, membaca, dan menulis data gambar, JCL menyediakan java.awt.image dan javax.imageio.<\/li>\n\n\n\n<li>Beberapa library untuk operasi XML<\/li>\n\n\n\n<li>Security library<br>Java menyediakan java.security dan javax.crypto untuk berbagai keperluan terkait pengamanan data secara umum, enkripsi, dan dekripsi data.<\/li>\n\n\n\n<li>Database<br>Akses terhadap basis data yang mendukung bahasa SQL disediakan melalui paket java.sql<\/li>\n\n\n\n<li>Akses Terhadap Scripting Engine<br>Paket javax.script memberikan akses kepada bahasa scripting yang didukung oleh Java<\/li>\n\n\n\n<li>Applet<br>Paket java.applet memungkinkan aplikasi Java untuk diunduh melalui jaringan lalu dijalankan oleh client pada lingkungan aplikasi yang terproteksi<br><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Java Class Library (JCL) merupakan kumpulan pustaka (library) aplikasi yang dapat dimuat secara dinamis (dynamically loadable libraries) oleh JVM (Java Virtual Machine) pada saat run time. Run time atau runtime adalah fase akhir pada siklus sebuah program komputer, yaitu fase di mana kode akan dieksekusi pada CPU\/processor dalam bentuk bahasa &hellip;<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[4,11],"tags":[12,14,15,13],"class_list":["post-260","post","type-post","status-publish","format-standard","hentry","category-materi-pembelajaran","category-pemrograman-berorientasi-objek","tag-java","tag-library","tag-netbeans","tag-pbo"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p9kWip-4c","jetpack-related-posts":[],"_links":{"self":[{"href":"https:\/\/guru.smkn1pacitan.sch.id\/hendri\/wp-json\/wp\/v2\/posts\/260","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/guru.smkn1pacitan.sch.id\/hendri\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/guru.smkn1pacitan.sch.id\/hendri\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/guru.smkn1pacitan.sch.id\/hendri\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/guru.smkn1pacitan.sch.id\/hendri\/wp-json\/wp\/v2\/comments?post=260"}],"version-history":[{"count":4,"href":"https:\/\/guru.smkn1pacitan.sch.id\/hendri\/wp-json\/wp\/v2\/posts\/260\/revisions"}],"predecessor-version":[{"id":265,"href":"https:\/\/guru.smkn1pacitan.sch.id\/hendri\/wp-json\/wp\/v2\/posts\/260\/revisions\/265"}],"wp:attachment":[{"href":"https:\/\/guru.smkn1pacitan.sch.id\/hendri\/wp-json\/wp\/v2\/media?parent=260"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/guru.smkn1pacitan.sch.id\/hendri\/wp-json\/wp\/v2\/categories?post=260"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/guru.smkn1pacitan.sch.id\/hendri\/wp-json\/wp\/v2\/tags?post=260"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}