Modul 4 - Api (Application Programming Interface)
Modul 4 - Api (Application Programming Interface)
PEMROGRAMAN LANJUT
PERSIAPAN MATERI
Mahasiswa harus memahami konsep OOP yang telah dipelajari sebelumnya
TUJUAN
1. Mahasiswa mampu memahami konsep Java API dan mengenali kegunaan serta manfaatnya.
2. Mahasiswa mampu menggunakan kelas-kelas dari Java API untuk memperluas fungsionalitas
program yang dibangun.
3. Mahasiswa mampu membuat program Java dengan API
TARGET MODUL
1. Mahasiswa mampu memahami API.
2. Mahasiswa mampu membuat program Java dengan API.
PERSIAPAN SOFTWARE/APLIKASII
1. Java Development Kit
2. Text Editor / IDE (Preferably Intellij IDEA, Visual Studio Code, Netbeans, etc).
TEORI
A. APA ITU JAVA API
pengembang dapat mengintegrasikan berbagai aplikasi dan situs web serta menyediakan informasi
secara real-time.
Secara umum, API adalah antarmuka perangkat lunak yang memungkinkan dua aplikasi
berkomunikasi tanpa harus melibatkan interaksi langsung dari pengguna. Hal ini mencakup
sekelompok program komputer dan operasi yang memungkinkan pertukaran data dan komunikasi
antara dua program perangkat lunak. API dapat dianggap sebagai kumpulan protokol komunikasi
dan subrutin yang digunakan oleh berbagai program untuk berkomunikasi satu sama lain.
Dengan menggunakan API, pengembang dapat mempermudah proses pembuatan aplikasi
dengan mengakses berbagai fungsi dan alat tanpa harus menulis kode yang rumit dari awal. API
juga memfasilitasi para pengembang dengan cara efisien untuk mengembangkan perangkat lunak
mereka. Selain itu, API memungkinkan pengembang untuk membuat antarmuka yang dapat
diakses oleh pengguna untuk mengakses layanan tertentu.
Selain itu, API memungkinkan pengembang untuk membuat antarmuka yang dapat diakses
oleh pengguna untuk mengakses layanan tertentu. Ini sangat berguna dalam pengembangan
layanan web, di mana API digunakan untuk memungkinkan aplikasi web dan mobile berkomunikasi
dengan server backend untuk mengambil dan mengirim data. API juga memainkan peran penting
dalam ekosistem pengembangan modern, memungkinkan integrasi dengan layanan pihak ketiga
seperti pembayaran, media sosial, dan analitik, yang pada gilirannya memperkaya fungsi dan
kapabilitas aplikasi yang dikembangkan.
API tidak hanya memfasilitasi pengembangan perangkat lunak yang lebih efisien dan
terstandarisasi, tetapi juga mendorong kolaborasi dan interoperabilitas antara berbagai sistem dan
platform. Dengan adanya API, pengembang dapat memanfaatkan layanan yang disediakan oleh
pihak ketiga, mengurangi waktu pengembangan, dan memastikan bahwa aplikasi yang mereka
bangun dapat berinteraksi dengan ekosistem perangkat lunak yang lebih luas.
B. MEMAHAMI API DI JAVA
Java Development Kit (JDK) terdiri dari tiga komponen utama, yaitu:
1. Java compiler
Java Compiler adalah program yang berfungsi untuk mengubah kode sumber yang ditulis
dalam bahasa pemrograman Java menjadi bytecode yang dapat dijalankan oleh Java Virtual
Machine (JVM). Bytecode adalah format instruksi tingkat rendah yang dirancang untuk
dijalankan oleh JVM. Proses kompilasi ini dilakukan oleh javac, perintah yang digunakan untuk
memanggil Java Compiler dari command line atau IDE (Integrated Development Environment).
Java Compiler memastikan bahwa kode yang ditulis sesuai dengan sintaks dan aturan bahasa
Java, serta melakukan berbagai optimasi untuk meningkatkan kinerja eksekusi program.
1. Internal developers, yaitu pengembang yang bekerja dalam sebuah organisasi atau
perusahaan dan menggunakan API Java untuk mengembangkan aplikasi internal yang
mendukung operasi bisnis. Proyek-proyek yang mereka kerjakan biasanya tidak diakses
oleh publik dan digunakan secara eksklusif oleh karyawan atau sistem internal
perusahaan.
2. Partner developers, pengembang yang bekerja untuk atau dengan mitra bisnis
perusahaan dan menggunakan API Java untuk mengintegrasikan atau memperluas
aplikasi perusahaan dengan layanan atau produk pihak ketiga. Mereka mungkin bekerja
untuk vendor perangkat lunak, penyedia layanan, atau perusahaan teknologi yang
berkolaborasi dengan perusahaan utama untuk menciptakan solusi yang terintegrasi.
3. Open developers, Open developers adalah pengembang yang bekerja secara independen
atau dalam komunitas pengembang terbuka untuk membuat aplikasi atau layanan yang
dapat diakses oleh publik. Mereka mungkin mengembangkan aplikasi open-source,
proyek komunitas, atau aplikasi komersial yang tersedia untuk umum.
Efisiensi: API menghasilkan hasil yang efisien, Biaya: Pengembangan dan implementasi API
lebih cepat, dan lebih andal daripada hasil kadang-kadang mahal dan memerlukan
yang dihasilkan secara manual. dukungan dan pemeliharaan tinggi dari para
pengembang.
jaringan. Java SE digunakan untuk mengembangkan aplikasi desktop, alat pengembangan, dan
aplikasi server sederhana yang memerlukan akses langsung ke sistem operasi dan perangkat
keras.
3. Java Enterprise Edition (EE): platform Java yang diperluas dari Java SE untuk mendukung
pengembangan aplikasi server yang besar dan kompleks. Java EE menyediakan API tambahan
dan alat yang diperlukan untuk mengembangkan aplikasi bisnis skala besar yang dapat berjalan
di lingkungan server. Java EE digunakan untuk mengembangkan aplikasi enterprise yang
mendukung transaksi, keamanan tingkat tinggi, skalabilitas, dan integrasi dengan berbagai
sistem dan layanan.
I. DASAR-DASAR API
1. Membangun API untuk merespons OK kemudian menyediakan string atau konten web.
1. Public
API Public (atau terbuka) adalah API Java yang disertakan dalam JDK. API ini terbuka untuk
umum dan tidak memiliki batasan ketat mengenai cara pengembang menggunakannya. Kelas
dan paket seperti java.lang, java.util, java.io adalah bagian dari Public API.
2. Private
API Private (atau internal) dikembangkan dan dikelola oleh organisasi tertentu untuk keperluan
internal mereka. API ini hanya dapat diakses oleh karyawan organisasi tersebut dan tidak
tersedia untuk umum.
3. Partner
API Partner adalah API yang dikembangkan oleh suatu organisasi untuk operasi bisnis strategis
dengan mitra atau pihak ketiga. API ini biasanya digunakan untuk memungkinkan integrasi dan
kolaborasi antara berbagai bisnis.
4. Composite
API Composite adalah jenis API yang menggabungkan beberapa API layanan yang berbeda
menjadi satu kesatuan layanan mikro. Memungkinkan pengembang untuk mengakses berbagai
layanan melalui satu titik masuk tunggal.
bersamaan (thread-safe).
Contoh di atas hanya mencakup beberapa contoh Java API yang populer. Ada banyak lagi API
yang tersedia dalam ekosistem Java untuk berbagai kebutuhan pengembangan perangkat lunak.
Jika ingin melihat contoh API yang lain bisa mengakses link ini.
CONTOH IMPLEMENTASI
1. Implementasi Java API Waktu dan Tanggal
Dalam contoh ini, kita mengimpor library java.util.TimeZone, java.util.Calendar, dan
java.text.SimpleDateFormat. Selanjutnya, kita membuat format tanggal dan waktu untuk output
menggunakan kelas SimpleDateFormat. lalu menggunakan kelas Calendar untuk mendapatkan
tanggal saat ini, lalu gunakan method yang sudah disediakan oleh kelas Calendar yaitu getTime().
Selanjutnya kita akan mengatur time zone ke Asia/Malang menggunakan kelas TimeZone.
REFERENSI
https://josikie.com/apa-itu-java-api/
https://www.simplilearn.com/tutorials/java-tutorial/java-api#what_are_java_apis
https://www.educba.com/what-is-api-in-java/
https://www.geeksforgeeks.org/what-is-an-api/
https://www.javatpoint.com/what-is-an-api
https://www.mas-software.com/blog/api-adalah-jenis-arsitektur
https://www.javatpoint.com/what-is-an-api
https://www.javatpoint.com/api-application-programming-interface
https://www.freecodecamp.org/news/what-is-an-api-and-how-to-test-it/
https://docs.oracle.com/en/java/javase/11/docs/api/index.html
https://docs.oracle.com/javase/8/docs/api/
https://rapidapi.com/blog/how-to-use-an-api-with-java/
CODELAB
CODELAB 1
Buatlah sebuah program yang berisikan tentang manipulasi String seperti menjadi huruf kapital semua,
mengganti kata, dan membalikkan kata. Implementasikan materi API pada pembuatan program ini.
(Clue: java.lang.String, java.lang.StringBuilder)
CODELAB 2
Buatlah sebuah program dimana program dapat memilih angka dan kata secara acak secara user input.
Implementasikan materi API pada pembuatan program ini. (Clue: java.util.Random)
TUGAS
TUGAS 1
Seorang guru ingin mengelola data siswa dengan menyimpan informasi nama dan nilai mereka. Guru
tersebut membutuhkan sebuah program yang dapat menambah data siswa, mengurutkan data
berdasarkan nama, serta mengurutkan data berdasarkan nilai dari yang terbesar. Sehingga, buatlah
sebuah program dengan mengimplementasikan API yang sudah disediakan untuk bisa mengurutkan
data tersebut. (Clue: java.util.ArrayList, java.util.Collections, java.util.Comparator).
TUGAS 2
Seorang developer ingin membuat sebuah program yang dapat menampilkan informasi tentang
berbagai locale (negara), serta memformat angka, mata uang, dan tanggal sesuai dengan locale yang
berbeda. Developer juga ingin agar program dapat menerima input angka dan tanggal dari pengguna,
kemudian menampilkan hasil formatnya sesuai dengan locale yang dipilih. CATATAN: negara yang
ditampilan minimal ada 3! (Clue: java.util.Locale, java.util.Currency, java.text.NumberFormat,
java.text.DateFormat)
TUGAS 3
Jelaskan kepada asisten perbedaan antara API dan Library dengan bahasa kamu sendiri !
REFERENSI
https://josikie.com/apa-itu-java-api/
https://www.simplilearn.com/tutorials/java-tutorial/java-api#what_are_java_apis
https://www.educba.com/what-is-api-in-java/
https://www.geeksforgeeks.org/what-is-an-api/
https://www.javatpoint.com/what-is-an-api
https://www.mas-software.com/blog/api-adalah-jenis-arsitektur
https://www.javatpoint.com/what-is-an-api
https://www.javatpoint.com/api-application-programming-interface
https://www.freecodecamp.org/news/what-is-an-api-and-how-to-test-it/
https://docs.oracle.com/en/java/javase/11/docs/api/index.html
https://docs.oracle.com/javase/8/docs/api/
https://rapidapi.com/blog/how-to-use-an-api-with-java/
CODELAB 1 10
CODELAB 2 10
TUGAS 1 15
TUGAS 2 15
TUGAS 3 15
PEMAHAMAN 35
TOTAL 100%