Pengertian algoritma pada dasarnya adalah susunan logis dan sistematis yang
digunakan untuk memecahkan atau pun menyelesaikan suatu permasalahan tertentu. Jadi,
setiap susunan logis yang diurutkan berdasarkan sistematika tertentu yang dipakai untuk
menyelesaikan permasalahan dapat digolongkan sebagai sebuah algoritma. Susunan atau
pun langkah – langkah memasak mie intan misalnya, langkah – langkah sistematis yang
digunakan untuk memasak mie instan dapat digolongkan ke dalam logaritma, karena
menyelesaikan sebuah permasalahan yaitu permasalahan lapar yang dirasakan oleh
manusia.
Dalam dunia komputer sendiri, algoritma merupakan sistem kerja komputer yang terdiri
atas sekumpulan perintah terintegrasi pada brainware, software, dan hardware. Tanpa
salah satu dari tiga bagian sistem di atas, sebuah komputer tidak akan dapat
dioperasikan sama sekali.
Tanpa algoritma yang tepat, susunan sintax atau pun baris – baris kode bahasa
pemrograman yang telah dibuat tidak akan ada artinya sama sekali. Hal ini dikarenakan
seluruh baris – baris kode yang dibuat dengan menggunakan tiga macam bahasa
pemrograman di atas diatur sepenuhnya oleh algoritma yang dibuat. Dari mulai aktivitas
pembukaan software aplikasi hingga ke berbagai macam aktivitas kerja yang digunakan
oleh penggunanya, semuanya diatur oleh algoritma pemrograman yang dibuat oleh
pengembang software tersebut.
Perlu Anda ketahui, algoritma sangat jauh berbeda dengan logaritma yang ada pada ilmu
matematika. Algoritma merupakan langkah – langkah sistematis yang dijalankan untuk
menyelesaikan suatu permasalahan tertentu, sedangkan logaritma merupakan kebalikan
dari eksponensial atau pun pemangkatan. Meskipun berbeda, dalam beberapa kasus
pemrograman, logaritma sering kali digunakan sebagai bagian dari sebuah algoritma
pemrograman.
Algoritma & pemrograman adalah sesuatu yang berbeda. Kendati demikian, keduanya
kerap dianggap sama. Belajar algoritma komputer akan membuat Anda mampu
mengetahui definisi, dan membedakan kedua istilah tersebut. Anda juga akan mengetahui
bahasa pemrograman. Dikutip dari Oolish Blog UNS, algoritma adalah urutan langkah-
langkah logis penyelesaian sebuah masalah yang disusun secara logis dan sistematis.
Mengenai asal- usul dari kata algoritma itu sendiri bukan merupakan sesuatu yang
penting dalam pembahasan di dunia pemrograman. Setiap langkah dalam program
algoritma ini haruslah logis dan jelas. Yang dimaksud jelas adalah memiliki nilai benar
atau salah dan tidak memiliki nilai di tengah-tengah. Alogoritma juga erat kaitannya
dengan step by step dalam melakukan pekerjaan. Anda akan melihat proses dari sebuah
hasil kerja.
Algoritma pemrograman tidak selalu identik dengan angka. Terdapat 3 pertimbangan
dalam pemilihan algoritma. Ke-3 pertimbangan tersebut adalah benar, baik, dan efisien.
Benar berarti output dari algoritma tersebut tidak salah. Sebaik apapun algoritmanya, jika
salah, maka menjadi percuma.
Baik maksudnya seberapa baik hasil dari algoritma tersebut dengan indikator kedekatan
antara hasil dengan nilai yang real. Sebuah algoritma program haruslah efisien dari segi
waktu dan memori. Jangan sampai algoritma tersebut menghabiskan waktu dan
menghabiskan tempat. Sekarang, apa bedanya algoritma dengan program? Program itu
adalah kumpulan pernyataan computer.
Sementara metode tahapan yang sistematis di dalam program adalah algoritma. Dengan
kata lain, sebuah program adalah implementasi dari bahasa pemrograman. Program itu
dapat dimaknai sebagai algoritma ditambah bahasa atau struktur data. Sebuah program
yang baik, memiliki struktur data yang naik pula. Sebaliknya, struktur data yang buruk
dengan algoritma yang baik tetap tidak akan membuat sebuah program menjadi baik.
Lantas, adakah standar atau indikator yang dapat menyatakan baik dan buruknya sebuah
algoritma? Jawabannya ada, berikut adalah syarat-syarat sebuah algoritma pemrograman
komputer dikatakan baik.
Ternyata ada banyak algoritma yang telah dibuat. Menentukan mana saja algoritma yang
penting tentu bukan pekerjaan yang mudah. Namun, terdapat 32 algoritma yang
paling umum di gunakan di dunia komputer oleh para ilmuwan IT. Tentu tidak semua contoh
algoritma pemrograman tersebut perlu untuk ditampilkan.
Berikut adalah 10 dari 32 algoritma pemrograman yang paling umum digunakan di dunia
komputer.
1. Pencariam Beam
2. Pencarian Binary
3. Kompresi Data
Kompresi data atau source coding adalah proses encoding sebuah informasi
menggunakan bit yang lebih sedikit ketimbang representasi tanpa kode yang harus
menggunakan skema encoding yang spesifik.
5. Hashing
6. Dynamic Programming
Dynamic Programming
7. Maximum Flow
Permasalahan maximum flow adalah menemukan hukum melalui alur aliran yang
maksimal. Kadang-kadang hal ini didefinisikan sebagai menemukan nilai aliran seperti
itu. Lebih lanjut, masalah ini dapat dilihat sebagai kasus khusus dari masalah alur aliran
yang lebih kompleks. Maximum flow juga terkait dengan pemotongan di dalam jaringan
oleh teori Max-flow min-cut. Algoritma Ford-Fulkerson menghitung aliran maksimal
dalam jaringan aliran.
8. Metode Newton
Metode Newton adalah algoritma yang efisien untuk menemukan perkiraan ke nol dari
fungsi bernilai nyata. Metode Newton juga merupakan algoritma yang dikenal untuk
menemukan akar persamaan dalam satu atau lebih dimensi. Ini juga dapat digunakan
untuk menemukan maksimal lokal dan fungsi minimal lokal.
9. Karatsuba Multiplication
Untuk sistem yang perlu mengalikan angka dalam kisaran beberapa ribu digit layaknya
sistem aljabar komputer dan perpustakaan bignum, perkalian panjang dinilai terlalu
lambat. Sistem ini menggunakan perkalian Karatsuba.
10. Q-Learning
Q-Learning
Qwords adalah perusahaan IT yang menyediakan beragam produk IT, baik barang
maupun jasa. Selain Cloud dan Domain, Qwords.com juga menyediakan layanan lain,
diantaranya software-software yang ada kaitannya dengan dunia website, email suite, dan
server. Qwords menyediakan web hosting dengan harga yang rasional. Bukan berarti
mahal, namun web hosting yang disediakan sebanding dengan performa yang cepat dan
dapat diandalkan.
Pastinya Anda semua pernah melihat resep makanan, mereka mencantumkan bahan-
bahan yang dibutuhkan dan serangkaian langkah untuk membuat makanan yang
dijelaskan. Nah, algoritma memang seperti itu. Dalam bahasa komputer, kata untuk resep
adalah prosedur, dan bahan-bahannya disebut masukan. Komputer Anda melihat
prosedur Anda, mengikutinya ke alur tersebut, dan Anda bisa melihat hasilnya, yang
disebut output. Algoritma pemrograman menjelaskan cara melakukan sesuatu, dan
komputer Anda akan melakukannya persis seperti itu setiap saat.
Penentuan algoritma dalam pemrograman ini merupakan hal dasar yang harus diketahui
dan menjadi tahap awal dalam pembuatan program. Penyajian algoritma dapat dilakukan
menjadi dua bentuk yakni dalam tulisan maupun gambar, tergantung dari metode
atau tahap yang digunakan oleh seorang programmer. Penyajian dalam bentuk tulisan
biasanya menggunakan pseudocode sedangkan dalam bentuk gambar biasanya dalam
bentuk diagram flowchart. Tantangan tersulit adalah mengimplementasikan algoritma
yang ditentukan menjadi code atau script yang tertata dan dapat berjalan sesuai
keinginan.
Fungsi Algoritma
Setelah mengetahui pengertian dari algoritma, Anda juga harus mengetahui apa fungsi
sebenarnya dari algoritma ini. Pada dasarnya fungsi utama dari algoritma adalah untuk
memecahkan suatu masalah. Suatu algoritma pemrograman membawa keuntungan serta
fungsi penting dalam aktivitas pembuatan program. Berikut ini merupakan fungsi
algoritma yang perlu Anda ketahui :
Komputer hanyalah salah satu pemroses. Agar dapat dilaksanakan oleh komputer,
algoritma harus ditulis dalam notasi bahasa pemrograman sehingga dinamakan program.
Jadi program adalah perwujudan atau implementasi teknis algoritma yang ditulis dalam
bahasa pemrograman tertentu sehingga dapat dilaksanakan oleh komputer. Kata
“algoritma” dan “program” seringkali dipertukarkan dalam penggunaannya.
Misalnya ada orang yang berkata seperti ini: “program pengurutan data menggunakan
algoritma selection sort”. Atau pertanyaan seperti ini: “bagaimana algoritma dan program
menggambarkan grafik tersebut?”. Jika Anda sudah memahami pengertian algoritma
yang sudah disebutkan sebelum ini, Anda dapat membedakan arti kata algoritma dan
program. Algoritma adalah langkah-langkah menyelesaikan masalah, sedangkan program
adalah realisasi algoritma dalam bahasa pemrograman.
Program ditulis dalam salah satu bahasa pemrograman dan kegiatan membuat program
disebut pemrograman (programming). Orang yang menulis program disebut pemrogram
(programmer). Tiap-tiap langkah di dalam program disebut pernyataan atau instruksi.
Jadi, program tersusun atas sederetan instruksi. Bila suatu instruksi dilaksanakan, maka
operasi-operasi yang bersesuaian dengan instruksi tersebut dikerjakan komputer. Secara
garis besar komputer tersusun atas empat komponen utama yaitu, piranti masukan, piranti
keluaran, unit pemroses utama, dan memori.
Unit pemroses utama (Central Processing Unit – CPU) adalah “otak” komputer, yang
berfungsi mengerjakan operasi-operasi dasar seperti operasi perbandingan, operasi
perhitungan, operasi membaca, dan operasi menulis. Memori adalah komponen
yang berfungsi menyimpan atau mengingat ingat. Yang disimpan di dalam memori adalah
program (berisi operasi-operasi yang akan dikerjakan oleh CPU) dan data atau informasi
(sesuatu yang diolah oleh operasi-operasi).
Piranti masukan dan keluaran (I/O devices) adalah alat yang memasukkan data atau
program ke dalam memori, dan alat yang digunakan komputer untuk
mengkomunikasikan hasil-hasil aktivitasnya. Contoh piranti masukan antara lain, papan
kunci (keyboard), pemindai (scanner), dan cakram (disk). Contoh piranti keluaran adalah,
layar peraga (monitor), pencetak (printer), dan cakram. Mekanisme kerja keempat
komponen di atas dapat dijelaskan sebagai berikut.
Contoh Algoritma
Algoritma merupakan suatu alur yang sistematis untuk memecahkan masalah, dengan
salah satu bentuk penyajiannya menggunakan flowchart atau diagram. Algoritma ini, juga
tidak hanya diterapkan pada pemrograman saja, akan tetapi di kehidupan sehari-hari pun
secara sadar Anda menggunakan algoritma.
Contoh sederhana adalah ketika hendak memasak mie rebus, ada langkah-langkah yang
harus Anda lakukan terlebih dahulu. Serta langkah itulah yang disebut dengan algoritma
sederhana. Sebagai contoh lain, misalnya ada banyak permasalahan matematika yang
mudah jika diselesaikan secara tertulis, tetapi akan menjadi cukup sulit jika kita
terjemahkan ke dalam pemrograman. Dalam hal ini, algoritma dan logika pemrograman
akan sangat penting dalam pemecahan masalah.
Walaupun Algoritma bisa dibilang sebagai jantung, terutama jika terkait dalam ilmu
komputer ataupun informatika (baca pengertian Informatika disini), tetapi jangan sampai
beranggapan bahwa algoritma selalu identik dengan ilmu komputer saja.
Algoritma pemrograman mungkin sudah tak asing lagi bagi Anda yang bekerja di suatu
perusahaan dan bekerja di bidang pemrograman. Suatu program sudah tentu sangat
dibutuhkan kehadirannya terutama pada suatu perusahaan. Penggunaan program untuk
suatu sistem komputasi memang sudah menjadi hal yang biasa di masa seperti sekarang
ini. Bahkan penggunaan berbagai program selalu dianjurkan karena dengan adanya
program maka segala hal bisa dilakukan dengan lebih mudah. Penggunaan program juga
bisa dilakukan dengan lebih praktis sehingga bsia mempermudah pekerjaan Anda dan
memberikan hasil yang lebih maksimal.
Algoritma sendiri sebenarnya merupakan berbagai macam langkah yang diambil secara
logis untuk menyelesaikan segala permasalahan yang ada. Berbagai langkah logis ini
tentunya disusun secara terstruktur dan sistematis sehingga bisa memberikan solusi yang
paling tepat bagi penggunanya. Jika dilihat dari sejarahnya maka pada awalnya
penggunaan algoritma ini hanya diperuntukkan perhitungan saja terutama dalam ilmu
matematika. Namun tampaknya seiring dengan berjalannya waktu maka penggunaan
fungsi dari algoritma ini semakin meluas. Algoritma tidak hanya menjadi penyelesaian
bagi masalah di dunia perhitungan saja tetapi juga merambah ke hal yang lebih modern.
Misalnya saja digunakan untuk menyelesaikan permasalahan yang timbul dalam hal
pemrograman komputer.
Komputer memang menjadi benda penting yang selalu digunakan di setiap perusahaan.
Penggunaan komputer ini dinilai dapat membantu dan mempermudah Anda dalam
menjalankan tugas tertentu. Sekarang ini memang segala hal dilakukan dengan
menggunakan sitem komputasi. Berbagai macam program juga semakin dikembangkan
untuk beberapa bidang. Dengan adanya program ini maka Anda bisa memecahkan suatu
permasalahan dengan mudah serta dapat mengambil solusi yang paling tepat. Untuk itu
dibutuhkan algoritma dalam hal ini. Algoritma pemrograman akan membuat suatu
program bisa berfungsi secara maksimal sehingga hasil yang diberikan akan sangat
memuaskan.
Syarat Algoritma Pemrograman
Ada beberapa syarat yang ditetapkan dalam sebuah algoritma pemrograman, di antaranya
yaitu sebagai berikut.
1. Efisien
Algoritma pemrograman sudah tentu harus bisa menyelesaikan masalah dalam kurun
waktu yang lebih cepat. Artinya penggunaan algoritma haruslah efisien karena fungsinya
pada dasarnya adalah untuk mempemudah Anda dalam menjalankan fungsi suatu
program. Selain itu sitem ini juga harus bisa diimplementasikan ke perangkat komputer
dengan baik dan tepat.
2. Akurat
Akurasi yang tinggi turut menjadi syarat dari sebuah algoritma yang baik dan layak untuk
digunakan. Algoritma tentu akan bekerja secara lebih profesional bila memiliki tingkat
akurasi yang terbilang tinggi. Dengan demikian maka algoritma ini bisa digunakan untuk
umum dan secara tidak terbatas.
3. Jelas
Setiap langkah pada suatu algoritma juga haruslah jelas agar penggunaannya bisa
dilakukan dengan tepat. Langkah yang ada pada algoritma juga haruslah detail dan
terperinci. Dengan demikian maka penggunaan algoritma ini bisa dikembangkan dan bisa
memberikan hasil yang terbaik serta berkualitas tinggi.
Fungsi Algoritma
Algoritma bisa digunakan untuk memecahkan segala permasalahan yang dialami dalam
menggunakan sebuah program. Sekalipun permasalahan yang ada itu bersifat rumit
namun tetap saja algoritma bisa digunakan untuk memecahkan permasalahan pada
program tersebut. Kehadiran algoritma memang bisa mempermudah Anda dalam
memecahkan segala permasalahan yang berkaitan dengan suatu program dan tidak dapat
diselesaikan dengan mudah.
Pada dasarnya segala fungsi atau manfaat dari algoritma bisa Anda peroleh dan Anda
gunakan secara maksimal. Anda bahkan bisa menggunakannya lebih dari satu kali. Anda
bisa menggunakannya secara berulang sehingga hal ini akan semakin membantu dan
mempermudah Anda dalam menggunakan sebuah program dan menjalankan fungsi dari
algorima itu sendiri.
Tentu saja algoritma memiliki fungsi untuk pembuatan program. Algoritma akan
membuat sebuah program bisa dikemas secara lebih sederhana. Walaupun sederhana
namun tetap saja program tersebut dapat difungsikan secara lebih maksimal. Hal ini tidak
lain bertujuan untuk memudahkan Anda dalam menggunakan sebuah program dan
mengambil manfaat dari program tersebut.
Program yang dibuat akan menjadi tersusun secara lebih rapi. Artinya algoritma akan
membantu Anda untuk menyusun program menjadi lebih terstruktur sehingga bisa
digunakan dengan lebih mudah. Program yang disusun dengan rapi ini akan bisa lebih
mudah untuk dipahami. Selain itu program ini bisa jadi lebih mudah untuk
dikembangkan.
Anda mungkin ingin melakukan sebuah modifikasi pada program yang ada. Hal ini
mungkin hanya bisa dilakukan pada satu modul saja. Selain itu mungkin saja modifikasi
ini dilakukan tanpa adanya gangguan pada modul yang lainnya. Untuk itu Anda bisa
menggunakan algoritma sehingga modifikasi program bisa dilakukan tanpa merugikan
program yang lainnya.
Soalnya, komputer pada dasarnya melakukan banyak matematika yang berarti memiliki
banyak masalah untuk dipecahkan. Itulah mengapa algoritma membentuk jantung ilmu
komputer. Algoritme komputer adalah prosedur komputasi yang mengambil satu set
input terbatas dan mengubahnya menjadi output dengan menerapkan beberapa
matematika & logika. Algoritma dalam pemrograman memiliki beberapa langkah sebagai
berikut –
Jadi, apa itu algoritma pemrograman? kamu dapat menganggap algoritme pemrograman
sebagai resep yang menggambarkan langkah-langkah tepat yang diperlukan komputer
untuk memecahkan masalah atau mencapai tujuan. Kita semua pernah melihat resep
makanan – mereka mencantumkan bahan-bahan yang dibutuhkan dan serangkaian
langkah untuk membuat makanan yang dijelaskan.
Nah, algoritme memang seperti itu. Dalam bahasa komputer, kata untuk resep adalah
prosedur, dan bahan-bahannya disebut masukan.
Komputer kamu melihat prosedurmu, mengikutinya ke surat itu, dan kamu bisa melihat
hasilnya, yang disebut output. Algoritme pemrograman menjelaskan cara melakukan
sesuatu, dan komputer kamu akan melakukannya persis seperti itu setiap saat. Nah, itu
akan sekali kamu mengubah algoritme kamu menjadi bahasa yang dimengerti!
Itu tidak termasuk sesuatu yang tidak jelas, sering disebut ambigu dalam istilah
komputer, yang mungkin ditanyakan oleh seseorang yang membacanya.
Pengumpulan data – Apa yang kita miliki untuk menyelesaikan masalah? Atau
masukan.
Pemrosesan data – Memahami apa yang kami miliki atau mengubahnya menjadi
bentuk yang dapat digunakan.
Pendekatan logis – Mempekerjakan data yang dikumpulkan & dibuat melawan logika
untuk dipecahkan.
Solusi – Sajikan solusi dengan cara yang kamu inginkan dalam GUI atau terminal atau
diagram atau bagan.
Singkatnya, dengan nilai input yang terbatas untuk x, sebuah algoritma mengubahnya
menjadi nilai output efektif y, di mana y adalah f (x) untuk beberapa fungsi yang
terdefinisi dengan baik
Satu aspek penting untuk diketahui adalah bahwa algoritme tidak terikat secara ketat pada
bahasa pemrograman apa pun. Mereka adalah solusi umum seperti itu.
Bidang subjek algoritme telah berkembang begitu dalam dan luas sehingga teori dan
dasar-dasar yang ditetapkan akan membantu kita menyerang masalah komputasi apa pun.
Ada begitu banyak algoritma efisien yang sudah diterbitkan seperti pencarian biner,
bubble sort , insertion sort, merge sort, quick sort, algoritma Euclid untuk menemukan
GCM, algoritma Prim untuk menemukan jalur terpendek dalam grafik, dll.
Metodologi semacam itu membantu kami menghasilkan algoritme yang baik yang
memiliki karakteristik penentu berikut. Algoritme yang baik adalah –
Keuntungan dari algoritma dan mengapa kita harus menggunakan algoritma tersebut
dalam pemrograman?
Lebih dari sekadar aplikasi cakrawala yang luas di dunia nyata, ia bertindak sebagai lensa
yang kuat untuk melihat melalui masalah. Ini membantu kami memutuskan apakah suatu
masalah dapat dipecahkan atau tidak. Jika ya, lalu bagaimana, seberapa cepat dan
seberapa akurat? Jika tidak, algoritme sekali lagi membantu kita memutuskan, jika kita
dapat menyelesaikan sebagian darinya.
Berbicara tentang mengapa kita harus menggunakan algoritma dalam pemrograman, kita
harus memahami bahwa program komputer mengadopsi algoritma yang berbeda yang
dijalankan pada perangkat keras komputer yang memiliki prosesor dan memori dan
komponen ini memiliki keterbatasan. Sebuah prosesor tidak terlalu cepat dan memori
yang kita miliki tidak gratis.
Mereka adalah sumber daya yang dibatasi. Mereka harus digunakan dengan bijak dan
algoritme yang baik yang efisien dalam hal kerumitan waktu dan kerumitan ruang akan
membantu kamu melakukannya.
Bagaimana teknologi ini akan membantu kamu dalam pertumbuhan kariermu?
Sama seperti teknologi lainnya, desain algoritma dalam pemrograman juga terus
berkembang karena perangkat keras komputer terus berkembang. Mulai dari mesin x86
tradisional hingga superkomputer hingga komputer Quantum, telah terjadi perubahan
revolusioner dalam cara memecahkan masalah. Memiliki pengetahuan desain algoritme
yang kuat adalah hal yang membedakan programmer terampil dari yang lain. Sumber
daya zaman modern tidak benar-benar mengamanatkan studi algoritme dengan begitu
banyak kerangka kerja dan perpustakaan perangkat lunak yang dikembangkan, tetapi
pemahaman menyeluruh tentang hal yang sama akan membantu kamu lebih banyak lagi.
Kamu mungkin berharap bisa melihat contoh, bukan? Jadi, seperti apa sebenarnya
algoritma dalam pemrograman itu? Nah, menanyakan alamat email kepada pengguna
mungkin adalah salah satu tugas paling umum yang mungkin perlu dilakukan oleh
program berbasis web, jadi itulah yang akan kita gunakan di sini sebagai contoh.
Algoritme dapat ditulis sebagai daftar langkah menggunakan teks atau sebagai gambar
dengan bentuk dan panah yang disebut diagram alur.
Daftar Pustaka :
- https://www.hudzaifah.net/2020/12/keterkaitan-antara-algoritma-dan-dunia.html
- https://pengertiandefinisi.com/pengertian-algoritma-dalam-dunia-pemrograman- komputer/
- https://qwords.com/blog/apa-itu-algoritma-pemrograman/
- https://idcloudhost.com/algoritma-pemrograman-pengertian-fungsi-cara-kerja-dan-contohnya/
- https://www.jojonomic.com/blog/algoritma-pemrograman-untuk-berbagai-macam-fungsi-yang-
penting/
b) Sejarah Java dan perkembangannya sampai saat ini, cari referensi di internet berkaitan
dengan pemrograman Java dan Software-software yang dibuat dengan Bahasa
pemrograman Java minimal 2 software.
Jawab :
Java adalah bahasa pemrograman yang dapat dijalankan di berbagai komputer
termasuk telepon genggam. Bahasa ini awalnya dibuat oleh James Gosling saat masih
bergabung di Sun Microsystems, yang saat ini merupakan bagian dari Oracle dan dirilis
tahun 1995. Bahasa ini banyak mengadopsi sintaksis yang terdapat pada C dan C++
namun dengan sintaksis model objek yang lebih sederhana serta dukungan rutin-rutin
aras bawah yang minimal. Aplikasi-aplikasi berbasis java umumnya dikompilasi ke dalam
p-code (bytecode) dan dapat dijalankan pada berbagai Mesin Virtual Java (JVM). Java
merupakan bahasa pemrograman yang bersifat umum/non-spesifik (general purpose),
dan secara khusus didesain untuk memanfaatkan dependensi implementasi seminimal
mungkin. Karena fungsionalitasnya yang memungkinkan aplikasi java mampu berjalan di
beberapa platform sistem operasi yang berbeda, java dikenal pula dengan slogannya,
"Tulis sekali, jalankan di mana pun". Saat ini java merupakan bahasa pemrograman yang
paling populer digunakan, dan secara luas dimanfaatkan dalam pengembangan berbagai
jenis perangkat lunak aplikasi ataupun aplikasi.
Sejarah perkembangan
Bahasa pemrograman Java terlahir dari The Green Project, yang berjalan selama 18
bulan, dari awal tahun 1991 hingga musim panas 1992. Proyek tersebut belum
menggunakan versi yang dinamakan Oak. Proyek ini dimotori oleh Patrick Naughton,
Mike Sheridan, dan James Gosling, beserta sembilan pemrogram lainnya dari Sun
Microsystems. Salah satu hasil proyek ini adalah maskot Duke yang dibuat oleh Joe
Palrang.
Pertemuan proyek berlangsung di sebuah gedung perkantoran Sand Hill Road di Menlo
Park. Sekitar musim panas 1992 proyek ini ditutup dengan menghasilkan sebuah program
Java Oak pertama, yang ditujukan sebagai pengendali sebuah peralatan dengan teknologi
layar sentuh (touch screen), seperti pada PDA sekarang ini. Teknologi baru ini dinamai
"*7" (Star Seven).
Setelah era Star Seven selesai, sebuah anak perusahaan TV kabel tertarik ditambah
beberapa orang dari proyek The Green Project. Mereka memusatkan kegiatannya pada
sebuah ruangan kantor di 100 Hamilton Avenue, Palo Alto.
Perusahaan baru ini bertambah maju: jumlah karyawan meningkat dalam waktu singkat
dari 13 menjadi 70 orang. Pada rentang waktu ini juga ditetapkan pemakaian Internet
sebagai medium yang menjembatani kerja dan ide di antara mereka. Pada awal tahun
1990-an, Internet masih merupakan rintisan, yang dipakai hanya di kalangan akademisi
dan militer.
Mereka menjadikan peramban (browser) Mosaic sebagai landasan awal untuk membuat
perambah Java pertama yang dinamai Web Runner, terinsipirasi dari film 1980-an, Blade
Runner. Pada perkembangan rilis pertama, Web Runner berganti nama menjadi Hot Java.
Pada sekitar bulan Maret 1995, untuk pertama kali kode sumber Java versi 1.0a2 dibuka.
Kesuksesan mereka diikuti dengan untuk pemberitaan pertama kali pada surat kabar San
Jose Mercury News pada tanggal 23 Mei 1995.
Sayang terjadi perpecahan di antara mereka suatu hari pada pukul 04.00 di sebuah
ruangan hotel Sheraton Palace. Tiga dari pimpinan utama proyek, Eric Schmidt dan
George Paolini dari Sun Microsystems bersama Marc Andreessen, membentuk Netscape.
Nama Oak, diambil dari pohon oak yang tumbuh di depan jendela ruangan kerja "Bapak
Java", James Gosling. Nama Oak ini tidak dipakai untuk versi release Java karena sebuah
perangkat lunak lain sudah terdaftar dengan merek dagang tersebut, sehingga diambil
nama penggantinya menjadi "Java". Nama ini diambil dari kopi murni yang digiling
langsung dari biji (kopi tubruk) kesukaan Gosling. Konon kopi ini berasal dari Pulau
Jawa. Jadi nama bahasa pemrograman Java tidak lain berasal dari kata Jawa (bahasa
Inggris untuk Jawa adalah Java).
Versi awal
Versi awal Java pada tahun 1996 sudah merupakan versi release sehingga dinamakan
Java Versi 1.0. Java versi ini menyertakan banyak paket standar awal yang terus
dikembangkan pada versi selanjutnya:
Kekurangan
Tulis sekali, jalankan di mana saja - Masih ada beberapa hal yang tidak kompatibel
antara platform satu dengan platform lain. Untuk J2SE, misalnya SWT-AWT bridge
yang sampai sekarang tidak berfungsi pada Mac OS X.
Mudah didekompilasi. Dekompilasi adalah proses membalikkan dari kode jadi
menjadi kode sumber. Ini dimungkinkan karena kode jadi Java merupakan bytecode
yang menyimpan banyak atribut bahasa tingkat tinggi, seperti nama-nama kelas,
metode, dan tipe data. Hal yang sama juga terjadi pada Microsoft .NET Platform.
Dengan demikian, algoritma yang digunakan program akan lebih sulit disembunyikan
dan mudah dibajak/direverse-engineer.
Penggunaan memori yang banyak. Penggunaan memori untuk program berbasis
Java jauh lebih besar daripada bahasa tingkat tinggi generasi sebelumnya seperti C/C+
+ dan Pascal (lebih spesifik lagi, Delphi dan Object Pascal). Biasanya ini bukan
merupakan masalah bagi pihak yang menggunakan teknologi terbaru (karena trend
memori terpasang makin murah), tetapi menjadi masalah bagi mereka yang masih
harus berkutat dengan mesin komputer berumur lebih dari 4 tahun.
Java adalah satu set perangkat lunak komputer dan spesifikasi yang dikembangkan oleh
Sun Microsystems, yang kemudian diakuisisi oleh Oracle Corporation, yang
menyediakan sistem untuk mengembangkan aplikasi perangkat lunak dan menerapkan
hal itu dalam sebuah cross-platform lingkungan komputasi. digunakan di berbagai
macam platform komputasi dari perangkat embedded dan ponsel ke server perusahaan
dan superkomputer. Sementara mereka yang kurang umum dari standalone aplikasi Java,
Java applet yang berjalan di aman, lingkungan tersandbox untuk memberikan banyak
fitur dari aplikasi asli dan dapat tertanam ke dalam HTML halaman.
Penulisan dalam bahasa pemrograman Java adalah cara utama untuk menghasilkan kode
yang akan digunakan sebagai kode byte pada sebuah Mesin Virtual Java (JVM); bytecode
compiler juga tersedia untuk bahasa-bahasa lain, termasuk Ada, JavaScript, Python, dan
Ruby. Selain itu, beberapa bahasa telah dirancang untuk berjalan secara native pada
JVM, termasuk Scala, Clojure, dan Apache Groovy. sintaks meminjam banyak dari C dan
C++, tetapi berorientasi objek memiliki dimodelkan setelah Smalltalk dan Objective-C.
eschews tertentu tingkat rendah konstruksi seperti pointer dan memiliki memori yang
sangat sederhana model di mana setiap objek yang dialokasikan di heap dan semua
variabel dari jenis objek referensi. Manajemen memori ditangani melalui otomatis
terintegrasi pengumpulan sampah yang dilakukan oleh JVM.
Pada November 13, 2006, Sun Microsystems membuat sebagian besar implementasi dari
tersedia di bawah GNU General Public License (GPL). erbaru versi Java 8, hanya
didukung (misalnya dengan security update) versi 2016. Oracle (dan lain-lain) telah
mengumumkan bahwa menggunakan versi yang lebih tua (dari 8) mereka JVM
pelaksanaan menghadirkan risiko serius akibat belum terselesaikan masalah keamanan.
Platform
Platform Java adalah seperangkat program yang memfasilitasi mengembangkan dan
menjalankan program yang ditulis dalam Java bahasa pemrograman. Java platform akan
mencakup eksekusi mesin (disebut mesin virtual), compiler dan satu set perpustakaan;
mungkin juga ada tambahan server dan alternatif perpustakaan yang tergantung pada
persyaratan. Java adalah tidak spesifik untuk setiap prosesor atau sistem operasi seperti
Java platform telah diimplementasikan untuk berbagai macam perangkat keras dan sistem
operasi dengan maksud untuk memungkinkan program Java untuk menjalankan identik
pada semua dari mereka. Berbeda platform target kelas yang berbeda dari perangkat dan
aplikasi domain:
Java Card: Sebuah teknologi yang memungkinkan kecil aplikasi berbasis Java (applet)
yang akan berjalan dengan aman pada smart card dan kecil yang sama-memori
perangkat.
Java ME (Micro Edition): Menentukan beberapa set yang berbeda dari perpustakaan
(dikenal sebagai profil) untuk perangkat dengan penyimpanan terbatas, layar, dan
kapasitas daya. Hal ini sering digunakan untuk mengembangkan aplikasi untuk
perangkat mobile, Pda, TV set-top box, dan printer.
Java SE (Standard Edition): Untuk keperluan umum digunakan pada Pc desktop,
server, dan perangkat sejenis.
Java EE (Enterprise Edition): SE ditambah berbagai Api yang berguna untuk multi-tier
client–server aplikasi enterprise.
Platform Java terdiri dari beberapa program, masing-masing menyediakan sebagian dari
kemampuan secara keseluruhan. Misalnya, Java compiler, yang mengubah kode sumber
Java menjadi bytecode Java (bahasa menengah untuk JVM), diberikan sebagai bagian
dari Java Development Kit (JDK). The Java Runtime Environment (JRE), melengkapi
JVM dengan just-in-time (JIT) compiler, yang mengubah menengah bytecode menjadi
asli kode mesin on the fly. Platform Java juga mencakup serangkaian luas dari
perpustakaan.
Komponen penting dalam platform Java compiler bahasa, perpustakaan, dan lingkungan
runtime yang di intermediate mengeksekusi bytecode menurut aturan yang tercantum
dalam virtual machine spesifikasi. taek.
Jantung platform Java adalah konsep "virtual machine" yang mengeksekusi program
bytecode Java. Bytecode ini tetap bisa berjalan, tidak peduli terhadap jenis perangkat
keras atau sistem operasinya. Ada JIT (Just In Time) compiler dalam Java Virtual
Machineatau JVM. JIT compiler menerjemahkan bytecode Java ke native prosesor
instruksi pada saat run-time dan cache kode asli dalam memori selama eksekusi.
Penggunaan bytecode sebagai perantara bahasa yang memungkinkan program Java untuk
berjalan pada platform apapun yang memiliki mesin virtual yang tersedia. Penggunaan
JIT compiler berarti bahwa aplikasi Java, setelah penundaan singkat selama pemuatan
dan setelah mereka memiliki "pemanasan" dengan menjadi semua atau sebagian besar
JIT-dikompilasi, cenderung berjalan secepat asli program. Sejak JRE versi 1.2, Matahari
JVM pelaksanaan sudah termasuk just-in-time compiler bukan seorang penerjemah.
Perpustakaan kelas
Di sistem operasi paling modern (OSs), tubuh besar yang dapat digunakan kembali kode
yang diberikan untuk mempermudah programmer pekerjaan. Kode ini biasanya
disediakan sebagai satu set dinamis loadable perpustakaan yang aplikasi dapat
memanggil pada saat runtime. Karena platform Java tidak tergantung pada sistem operasi
tertentu, aplikasi tidak bisa mengandalkan apapun dari yang sudah ada OS perpustakaan.
Sebaliknya, platform Java menyediakan seperangkat standar sendiri perpustakaan kelas
yang berisi banyak hal yang sama dapat digunakan kembali fungsi-fungsi yang umum
ditemukan di sistem operasi modern. Sebagian besar sistem perpustakaan ini juga ditulis
di . Misalnya, Ayunan perpustakaan cat antarmuka pengguna dan menangani peristiwa
itu sendiri, menghilangkan banyak perbedaan halus antara cara yang berbeda platform
menangani komponen.
Java class library melayani tiga tujuan dalam platform Java. Pertama, seperti standar
lainnya kode perpustakaan, perpustakaan Java menyediakan programmer terkenal set
fungsi untuk melakukan tugas-tugas umum, seperti menjaga daftar dari barang-barang
atau melakukan parsing string kompleks. Kedua, kelas, perpustakaan menyediakan
sebuah antarmuka abstrak untuk tugas-tugas yang biasanya akan sangat bergantung pada
perangkat keras dan sistem operasi. Tugas-tugas seperti akses jaringan dan akses file
yang sering sangat terjalin dengan khas implementasi dari masing-masing platform. Yang
java.net dan .io perpustakaan mengimplementasikan sebuah abstraksi layer di OS asli
kode, kemudian menyediakan sebuah antarmuka standar untuk aplikasi Java untuk
melakukan tugas-tugas. Akhirnya, ketika beberapa platform yang mendasari tidak
mendukung semua fitur aplikasi Java mengharapkan, perpustakaan kelas bekerja untuk
anggun menangani absen komponen, baik dengan emulasi untuk menyediakan pengganti,
atau setidaknya dengan menyediakan cara yang konsisten untuk memeriksa keberadaan
fitur tertentu.
Bahasa
Kata "Java", sendiri, biasanya mengacu pada bahasa pemrograman Java yang dirancang
untuk digunakan dengan platform Java. Bahasa pemrograman yang biasanya di luar
lingkup dari kalimat "platform", meskipun bahasa pemrograman Java terdaftar sebagai
bagian inti dari platform Java sebelum Java 7. Bahasa dan runtime oleh karena itu
sering dianggap sebagai satu unit. Namun, upaya itu dibuat dengan Java 7 spesifikasi untuk
lebih jelas memperlakukan bahasa dan mesin virtual Java sebagai entitas yang terpisah,
sehingga mereka tidak lagi dianggap sebagai satu unit.
Pihak ketiga yang telah menghasilkan banyak kompiler atau interpreter yang
menargetkan JVM. Beberapa dari ini adalah untuk bahasa yang ada, sementara yang lain
adalah untuk ekstensi untuk bahasa. Ini termasuk:
Platform serupa
Keberhasilan dari dan tulis sekali, jalankan di mana saja konsep-konsep yang lainnya,
upaya-upaya serupa, terutama .NET Framework, yang muncul sejak tahun 2002, yang
menggabungkan banyak sukses-aspek dari .NET dalam bentuk lengkap (Microsoft
pelaksanaan) saat ini hanya sepenuhnya tersedia pada platform Windows, sedangkan
sepenuhnya tersedia di banyak platform. .NET dibangun dari tanah-up untuk mendukung
beberapa bahasa pemrograman, sedangkan platform Java pada awalnya dibangun untuk
mendukung hanya bahasa, walaupun banyak bahasa lainnya telah dibuat untuk JVM.
.NET termasuk seperti bahasa yang disebut Visual J# (sebelumnya bernama J++) yang
kompatibel dengan Java spesifikasi, dan terkait perpustakaan kelas sebagian besar
tanggal tua JDK 1.1 versi bahasa. Untuk alasan ini, itu lebih dari sebuah transisi bahasa
untuk beralih dari ke .NET platform dari itu adalah kelas pertama .NET bahasa. Visual J#
dihentikan dengan rilis Microsoft Visual Studio 2008. Ada versi gratis dengan Visual
Studio 2005 akan didukung hingga 2015 sesuai produk siklus hidup strategi.
Dalam Java Development Kit (JDK) adalah Sun produk yang ditujukan untuk
pengembang Java. Sejak diperkenalkannya, telah oleh jauh yang paling banyak
digunakan Java software development kit (SDK). Ini berisi compiler Java, sebuah salinan
lengkap dari Java Runtime Environment (JRE), dan banyak lainnya yang penting alat-
alat pengembangan.
Sejarah
Platform Java dan bahasa dimulai sebagai sebuah proyek internal di Sun Microsystems
pada bulan desember 1990, memberikan alternatif untuk C++/C bahasa pemrograman.
Insinyur Patrick Naughton telah menjadi semakin frustrasi dengan keadaan Matahari C++
dan C antarmuka pemrograman aplikasi (Api) dan alat-alat. Sementara
mempertimbangkan untuk pindah ke Berikutnya, Naughton ditawarkan kesempatan
untuk bekerja pada teknologi baru, dan dengan demikian Siluman Proyek dimulai.
Stealth Proyek itu segera berganti nama menjadi the Green Project, dengan James
Gosling dan Mike Sheridan bergabung Naughton. Bersama-sama dengan insinyur lain,
mereka mulai bekerja di sebuah kantor kecil di Sand Hill Road di Menlo Park, California.
Mereka bertujuan untuk mengembangkan teknologi baru untuk pemrograman generasi
cerdas peralatan, yang Sun diharapkan untuk menawarkan besar peluang-peluang baru.
Tim yang awalnya dianggap menggunakan C++, tapi ditolak karena beberapa alasan.
Karena mereka mengembangkan sebuah sistem embedded dengan sumber daya yang
terbatas, mereka memutuskan bahwa C++ dibutuhkan terlalu banyak memori dan
kompleksitas led untuk pengembang kesalahan. Bahasa kurangnya pengumpulan sampah
berarti bahwa programmer harus secara manual mengatur memori sistem, menantang dan
rawan kesalahan tugas. Tim juga khawatir tentang bahasa C++ kurangnya portable
fasilitas untuk keamanan, pemrograman terdistribusi, dan threading. Akhirnya, mereka
menginginkan sebuah platform yang akan port dengan mudah untuk semua jenis
perangkat.
Bill Joy telah memimpikan sebuah bahasa baru yang menggabungkan Mesa dan C.
Dalam sebuah makalah yang disebut lebih Lanjut, ia mengusulkan untuk Sun bahwa para
insinyur harus menghasilkan aplikasi yang berorientasi objek lingkungan yang
didasarkan pada C++. Awalnya, Gosling berusaha untuk memodifikasi dan memperluas
C++ (usulan pembangunan yang ia disebut sebagai "C++ ++ --") tapi segera ditinggalkan
yang mendukung untuk menciptakan sebuah bahasa baru, yang disebut Oak, setelah
pohon yang berdiri tepat di luar kantornya.
Pada musim panas 1992, tim bisa menunjukkan bagian-bagian dari platform baru,
termasuk Hijau OS, Oak bahasa, perpustakaan, dan hardware. Mereka demonstrasi
pertama, pada tanggal 3 September 1992, berfokus pada membangun sebuah personal
digital assistant (PDA) perangkat bernama Star7[1] yang memiliki antarmuka grafis dan
smart agen yang disebut "Duke" untuk membantu pengguna. Pada bulan November tahun
itu, the Green Project itu berputar off untuk menjadi Firstperson, anak perusahaan yang
sepenuhnya dimiliki dari Sun Microsystems, dan tim pindah ke Palo Alto, California.[13]
Yang Firstperson tim memiliki kepentingan dalam membangun sangat interaktif
perangkat, dan ketika Time Warner mengeluarkan request for proposal (RFP) untuk set-
top box, Firstperson mengubah target mereka dan menanggapi dengan sebuah proposal
untuk sebuah set-top box platform. Namun, kabel industri merasa bahwa platform mereka
memberikan terlalu banyak kontrol kepada pengguna, sehingga Firstperson kehilangan
tawaran mereka untuk SGI. Tambahan berurusan dengan Yang 3DO Perusahaan untuk
set-top box juga gagal terwujud. Mampu membangkitkan minat dalam industri televisi,
perusahaan digulung kembali ke Matahari.
Memenuhi web
Pada bulan juni dan juli 1994 – setelah tiga hari dari brainstorming dengan John Gage
(Direktur Ilmu pengetahuan untuk Sun Microsystems), Gosling, Sukacita, Naughton,
Wayne Rosing, dan Eric Schmidt – tim re-target platform untuk World Wide Web.
Mereka merasa bahwa dengan munculnya grafis web browser seperti Internet Mosaic
bisa berkembang menjadi media yang sangat interaktif. Sebagai purwarupa, Naughton
menulis sebuah browser yang kecil, WebRunner (dinamakan setelah film Blade Runner),
berganti nama menjadi HotJava pada tahun 1995.
Pada tahun 1994, Sun mengganti nama bahasa Oak setelah pencarian merek dagang
mengungkapkan bahwa nama Oak telah digunakan oleh Oak Technology. Meskipun
Java 1.0 a menjadi tersedia untuk di-download pada tahun 1994, rilis publik pertama dari
1.0a2 dengan browser HotJava datang pada tanggal 23 Mei 1995, diumumkan oleh Gage
di konferensi SunWorld. Marc Andreessen, Wakil Presiden Eksekutif dari Netscape
Communications Corporation, tiba-tiba mengumumkan bahwa Netscape browser akan
mencakup dukungan Java. Pada tanggal 9 januari 1996, Sun Microsystems membentuk
kelompok JavaSoft untuk mengembangkan teknologi.
Versi sejarah
Bahasa Java telah mengalami beberapa perubahan sejak rilis JDK (Java Development
Kit) 1.0 pada tanggal 23 januari 1996, serta berbagai penambahan dari kelas-kelas dan
paket-paket standar perpustakaan. Sejak J2SE 1.4 Java Community Process (JCP) telah
diatur evolusi dari Bahasa Java. JCP menggunakan Java Spesifikasi Permintaan (JSRs)
untuk mengusulkan dan menentukan penambahan dan perubahan untuk platform Java.
Dalam Bahasa Keterangan (JLS) menentukan bahasa; perubahan JLS dikelola di bawah
JSR 901.
Matahari dirilis JDK 1.1 pada tanggal 19 februari 1997. Utama termasuk penambahan
luas retooling dari AWT acara model, kelas batin ditambahkan untuk bahasa, JavaBeans
dan JDBC.
J2SE 1.2 (8 desember 1998) – Codename Bermain anak. Ini dan rilis berikutnya melalui
J2SE 5.0 yang namanya Java 2 dan nama versi "J2SE" (Java 2 Platform, Standard
Edition) diganti JDK untuk membedakan basis platform J2EE (Java 2 Platform,
Enterprise Edition), J2ME (Java 2 Platform, Micro Edition). Tambahan utama termasuk
refleksi, koleksi framework, Java IDL ( interface bahasa deskripsi implementasi CORBA
interoperabilitas), dan integrasi Ayunan grafis API ke inti kelas. Sebuah Java Plug-in
dirilis, dan Matahari JVM dilengkapi dengan JIT compiler untuk pertama kalinya.
J2SE 1.3 (8 Mei 2000) – Codename Kestrel. Perubahan penting termasuk bundling
HotSpot JVM (JVM HotSpot pertama kali dirilis pada bulan April 1999 untuk J2SE 1.2
JVM), JavaSound, Penamaan dan Direktori Interface (JNDI) dan Platform Java Debugger
Arsitektur (JPDA).
J2SE 1.4 (6 februari 2002) – Codename Merlin. Ini menjadi rilis pertama dari platform
Java yang dikembangkan dalam Masyarakat sebagai Proses JSR 59. perubahan Besar
termasuk ekspresi reguler dimodelkan setelah Perl, terkecuali chaining, terpadu XML
parser dan XSLT processor (JAXP), dan Java Web Start.
J2SE 5.0 (agustus 30, 2004) – Codename Tiger. Itu awalnya berjumlah 1.5, yang masih
digunakan sebagai internal nomor versi. yang Dikembangkan di bawah JSR 176,
Harimau menambahkan beberapa signifikan fitur bahasa baru termasuk untuk masing-
masing loop, obat generik, autoboxing dan var-args.
Java SE 6 (11 desember 2006) – Codename Mustang. Itu dibundel dengan manajer
database dan memfasilitasi penggunaan bahasa scripting dengan JVM (seperti JavaScript
menggunakan Mozilla's Badak engine). Pada versi ini, Matahari diganti nama "J2SE"
dengan Java SE dan menjatuhkan ".0" dari nomor versi. perubahan besar Lainnya
termasuk dukungan untuk pluggable penjelasan (JSR 269), banyak GUI perbaikan,
termasuk UI asli perangkat tambahan untuk mendukung tampilan dan nuansa dari
Windows Vista, dan perbaikan untuk Platform Java Debugger Arsitektur (JPDA) & JVM
Alat Antarmuka untuk pemantauan yang lebih baik dan pemecahan masalah.
Java SE 7 (28 juli 2011) - dengan kode nama Dolphin. Versi ini dikembangkan di bawah
JSR 336. Ini menambahkan sejumlah kecil perubahan bahasa termasuk string di
switch, mencoba-dengan-sumber-sumber dan jenis inferensi untuk generic contoh
penciptaan. JVM diperpanjang dengan dukungan untuk bahasa dinamis, sedangkan kelas
perpustakaan diperpanjang antara lain dengan bergabung/garpu kerangka, peningkatan
new file I/O library dan dukungan untuk protokol jaringan seperti SCTP. Java 7 Update
76 dirilis pada januari 2015, dengan berakhirnya tanggal 14 April 2015.
Pada bulan juni 2016, setelah publik terakhir update Java 7, "jarak jauh dieksploitasi"
bug keamanan di Java 6, 7 dan 8 di mana diumumkan.
Yang current version, Java SE 8 (18 Maret 2014). Perubahan penting termasuk bahasa
tingkat dukungan untuk ekspresi lambda (penutupan) dan metode default, Proyek
Nashorn JavaScript runtime, Tanggal dan Waktu yang baru API terinspirasi oleh Joda
Waktu, dan penghapusan PermGen. Versi ini tidak secara resmi didukung pada
platform Windows XP. Namun, karena akhir dari 7 siklus hidup ini adalah versi
direkomendasikan untuk pengguna XP. Sebelumnya, hanya tidak resmi instalasi manual
metode yang telah dijelaskan untuk Windows XP SP3. Hal ini mengacu pada JDK8,
mengembangkan platform untuk Java yang juga mencakup sepenuhnya berfungsi Java
Runtime Environment. 8 didukung pada Windows Server 2008 R2 SP1, Windows Vista
SP2 dan Windows 7 SP1, Ubuntu 12.04 LTS dan lebih tinggi (dan beberapa Os lain).
JDK 9 Akses Awal membutuhkan Windows 7 SP1, Windows Server 2012, Ubuntu 16.04
LTS atau lebih tinggi (atau OS lain yang didukung, seperti OS X atau Solaris).
Selain bahasa perubahan, perubahan yang signifikan telah dibuat untuk Java class library
selama bertahun-tahun, yang telah berkembang dari beberapa ratus kelas dalam JDK 1.0
untuk lebih dari tiga ribu di J2SE 5.0. Seluruh Api yang baru, seperti Ayunan dan Java
2D, telah berkembang, dan banyak dari asli JDK 1.0 kelas dan metode yang telah usang.
Penggunaan
Penggunaan desktop
Menurut Oracle, Java Runtime Environment adalah ditemukan pada lebih dari 850 juta
PCs. Microsoft belum paket Java Runtime Environment (JRE) dengan sistem operasi
sejak Sun Microsystems menggugat Microsoft untuk menambahkan Jendela-kelas khusus
untuk paket Java runtime environment, dan untuk membuat kelas-kelas baru yang
tersedia melalui Visual J++.[butuh rujukan] Apple tidak lagi termasuk Java runtime dengan
OS X sebagai versi 10.7, tetapi sistem akan meminta pengguna untuk men-download dan
menginstal itu pertama kalinya sebuah aplikasi yang membutuhkan JRE diluncurkan.
Banyak distribusi Linux yang mencakup sebagian kompatibel software gratis paket GNU
Classpathdan semakin kebanyakan kompatibel IcedTea.
Beberapa aplikasi Java yang cukup luas penggunaan desktop, termasuk NetBeans dan
Eclipse integrated development lingkungan, dan berbagi file klien seperti LimeWire dan
Vuze. juga digunakan dalam MATLAB matematika pemrograman lingkungan, baik
untuk rendering antarmuka pengguna dan sebagai bagian dari sistem inti. Java
menyediakan cross platform user interface untuk beberapa high-end aplikasi kolaboratif
seperti Lotus Notes.
Oracle berencana untuk pertama mencela secara terpisah diinstal Java plugin browser
dari Java Runtime Environment di JDK 9 kemudian menghapus sepenuhnya dari masa
mendatang, memaksa para pengembang web untuk menggunakan teknologi alternatif.
Perangkat mobile
Java Micro Edition telah menjadi populer di perangkat mobile, di mana ia bersaing
dengan Symbian, BREW, dan .NET Compact Framework.
Sistem operasi Android besutan Google menggunakan bahasa Java, namun tidak untuk
kelas perpustakaan, oleh karena itu platform Android tidak bisa disebut ke dalam daftar
perangkat mobile Java. Android mengeksekusi kode pada mesin virtual ART
(sebelumnya Dalvik VM di Android 4.4.4 ke bawah) bukan mesin virtual Java.
Platform Java telah menjadi andalan perusahaan ITU pengembangan sejak pengenalan
Enterprise Edition pada tahun 1998, dalam dua cara yang berbeda:
1. Melalui kopling dari ke web server, platform Java telah menjadi platform terkemuka
untuk mengintegrasikan Web dengan perusahaan sistem backend. Hal ini telah
memungkinkan perusahaan untuk memindahkan sebagian atau seluruh bisnis mereka
ke lingkungan Internet dengan cara yang sangat interaktif online lingkungan (seperti
yang sangat dinamis situs web) yang memungkinkan pelanggan akses langsung ke
proses bisnis (misalnya perbankan online, situs pemesanan penerbangan, sistem dan
sebagainya). Tren ini terus berlanjut dari awal berbasis Web mulai:
o Platform Java telah matang menjadi Perusahaan Integrasi peran di mana sistem
warisan yang dibuka untuk dunia luar melalui jembatan yang dibangun pada
platform Java. Tren ini telah didukung untuk platform Java mendukung untuk EAI
standar seperti pengiriman pesan dan layanan Web dan telah memicu masuknya
platform Java sebagai pengembangan dasar dalam standar seperti SCA, SAM dan
lain-lain.
o Java telah menjadi standar platform pengembangan untuk banyak perusahaan'
ITU departemen, yang melakukan sebagian atau semua dari mereka perusahaan
pembangunan di . Jenis pengembangan ini biasanya terkait dengan perusahaan
tertentu perkakas (misalnya alat pemesanan untuk sebuah maskapai
penerbangan) dan pilihan untuk platform Java ini sering didorong oleh keinginan
untuk memanfaatkan yang ada Java infrastruktur untuk membangun sangat
cerdas dan alat-alat yang saling berhubungan.
2. Platform Java telah menjadi pengembangan utama platform untuk banyak perangkat
lunak dan platform yang dihasilkan oleh perangkat lunak pihak ketiga kelompok
(komersial, open source dan hybrid) dan digunakan sebagai dikonfigurasi (bukan
programmable) yang sesuai dengan perusahaan. Contoh dalam kategori ini termasuk
Web server, application server, database, enterprise service bus, manajemen proses
bisnis (BPM) alat-alat dan sistem manajemen konten.
Perusahaan menggunakan Java juga telah lama menjadi pendorong utama dari open
source bunga di platform. Bunga ini telah menginspirasi komunitas open source untuk
menghasilkan jumlah besar dari perangkat lunak, termasuk fungsi sederhana
perpustakaan, pengembangan kerangka kerja (misalnya Spring Framework, Apache
Gawang, Dojo Toolkit, Hibernate), dan open source implementasi standar dan alat-alat
(misalnya Apache Tomcat, GlassFish server aplikasi, Keledai dan Apache ServiceMix
Enterprise service bus).
Maskot
Duke adalah maskot.
Ketika Sun mengumumkan bahwa SE Java dan Java ME akan dirilis di bawah lisensi
perangkat lunak bebas ( GNU General Public License), mereka merilis Duke grafis di
bawah lisensi BSD pada waktu yang sama. baru Duke kepribadian dibuat setiap tahun.
misalnya, pada bulan juli 2011 "Teknologi masa Depan Duke" termasuk hidung yang
lebih besar, jetpack, dan biru di sayap.
Perizinan
Kode sumber untuk Matahari implementasi dari (yaitu de facto referensi implementasi)
telah tersedia untuk beberapa waktu, tapi sampai saat iniketentuan-ketentuan lisensi
yang membatasi apa yang bisa dilakukan dengan tanpa penandatanganan (dan
umumnya membayar untuk) kontrak dengan Matahari. Seperti syarat tidak memenuhi
persyaratan baik yang Open Source Initiative atau Free Software Foundation untuk
dipertimbangkan open source atau free software, dan Sun Java karena itu platform
proprietary.
Sementara beberapa pihak ketiga proyek (misalnya GNU Classpath dan Apache
Harmony) dibuat perangkat lunak bebas parsial implementasi, ukuran besar dari Matahari
perpustakaan dikombinasikan dengan penggunaan kamar bersih metode berarti bahwa
mereka implementasi dari Java perpustakaan (compiler dan VM adalah relatif kecil dan
didefinisikan dengan baik) yang tidak lengkap dan tidak sepenuhnya kompatibel.
Implementasi ini juga cenderung jauh lebih dioptimalkan dari Matahari.[butuh rujukan]
Sun mengumumkan di JavaOne 2006 bahwa pulau akan menjadi bebas dan perangkat
lunak sumber terbuka, dan pada tanggal 25 oktober 2006, di Oracle OpenWorld
konferensi, Jonathan I. Schwartz mengatakan bahwa perusahaan itu akan mengumumkan
rilis core Platform Java sebagai perangkat lunak bebas dan terbuka dalam waktu 30
sampai 60 hari.
Sun merilis HotSpot virtual mesin dan compiler sebagai perangkat lunak gratis dibawah
lisensi GNU General Public License pada tanggal 13 November 2006, dengan janji
bahwa sisa JDK (yang termasuk JRE) yang akan ditempatkan di bawah GPL pada bulan
Maret 2007 ("kecuali untuk beberapa komponen yang Matahari tidak memiliki hak untuk
mempublikasikan didistribusikan bentuk kode sumber di bawah GPL").Menurut
Richard Stallman, ini akan berarti mengakhiri " perangkap". Mark Shuttleworth yang
disebut pers awal pengumuman, "Sebuah tonggak bersejarah bagi perangkat lunak bebas
komunitas".
Sun merilis kode sumber dari perpustakaan Kelas bawah GPL pada 8 Mei 2007, kecuali
beberapa bagian tertentu yang diberi lisensi oleh Matahari dari pihak ke-3 yang tidak
ingin mereka kode yang akan dirilis di bawah sebuah software gratis dan open-source
yang berlisensi. Beberapa dibebani bagian ternyata cukup bagian-bagian kunci dari
platform seperti font rendering dan 2D rasterising, tapi ini dirilis sebagai open-source
kemudian oleh Matahari (lihat OpenJDK perpustakaan Kelas).
Matahari itu tujuannya adalah untuk mengganti bagian-bagian yang tetap eksklusif dan
tertutup-sumber dengan implementasi alternatif dan membuat perpustakaan kelas benar-
benar gratis dan open source. Sementara itu, pihak ketiga proyek yang disebut IcedTea
dibuat benar-benar gratis dan sangat bermanfaat JDK dengan mengganti dibebani kode
dengan rintisan atau kode dari GNU Classpath. Meskipun OpenJDK sejak itu menjadi
mudah dibangun tanpa dibebani bagian (dari OpenJDK 6 b10[), IcedTea masih
digunakan oleh sebagian besar distribusi linux, seperti Fedora, RHEL, Debian, Ubuntu,
Gentoo, Arch Linux dan Slackware, karena menyediakan keamanan rilis dan mudah cara
untuk patch inklusi. OpenJDK juga masih tidak menyertakan plugin browser & Web
Mulai implementasi, sehingga IcedTea pendamping proyek, IcedTea-Web, adalah
diperlukan untuk mengisi kesenjangan ini.
Pada juni 2008, diumumkan bahwa IcedTea6 (karena dikemas versi OpenJDK pada
Fedora 9) telah lulus Teknologi Kompatibilitas Kit tes dan dapat mengklaim untuk
menjadi sepenuhnya kompatibel 6 implementasi.
Karena OpenJDK adalah di bawah lisensi GPL, adalah mungkin untuk mendistribusikan
versi kustom dari JRE secara langsung dengan perangkat lunak aplikasi, daripada
membutuhkan enduser (atau mereka sysadmin) untuk men-download dan menginstal
versi yang benar dari milik Oracle JRE ke masing-masing sistem mereka sendiri.
Inputan pada Flowchart dan Pseudocode adalah Golongan dan Jam Lembur.
Output Jumlah penghasilan: Gaji Golongan + Gaji Lembur.