0% menganggap dokumen ini bermanfaat (0 suara)
39 tayangan

Modul 4 - Api (Application Programming Interface)

Diunggah oleh

mochyazidf1
Hak Cipta
© © All Rights Reserved
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
39 tayangan

Modul 4 - Api (Application Programming Interface)

Diunggah oleh

mochyazidf1
Hak Cipta
© © All Rights Reserved
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 26

PEMROGRAMAN LANJUT

MODUL 4 – API (APPLICATION PROGRAMMING INTERFACE)


Laboratorium Informatika

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

API (Application Programming Interface) adalah sekumpulan kode pemrograman yang


membantu pengembang melakukan integrasi data antara dua aplikasi berbeda secara bersamaan.
Dalam Java, API merupakan komponen perangkat lunak penting yang disertakan dalam JDK (Java
Development Kit). API di Java mencakup kelas, antarmuka, dan antarmuka pengguna. Melalui API,

8/8/2024 PEMROGRAMAN LANJUT 1


Laboratorium Informatika

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:

8/8/2024 PEMROGRAMAN LANJUT 2


Laboratorium Informatika

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.

2. Java Virtual Machine (JVM)


Java Virtual Machine (JVM) adalah mesin abstrak yang menyediakan lingkungan runtime
untuk mengeksekusi bytecode Java. JVM bertanggung jawab untuk mengelola eksekusi
program Java secara platform-independen, artinya bytecode yang dihasilkan oleh Java
Compiler dapat dijalankan di berbagai sistem operasi dan perangkat keras tanpa modifikasi.

3. Java Application Programming Interface (API)


Java API yang ditambahkan ke JDK menjelaskan fungsi dari setiap elemen. Dalam
pemrograman Java, beberapa komponen telah dibuat sebelumnya dan secara luas digunakan.
Oleh karena itu, seorang pengembang dapat menggunakan program yang sudah ditulis
sebelumnya dengan menggunakan Java API. Setelah menyebutkan kelas dan paket API yang
tersedia, pengembang dengan cepat dapat membuat kelas dan paket program yang diperlukan
untuk dieksekusi.
Java API adalah elemen penting dari JDK dan mengidentifikasi fitur dari setiap elemen.
Ketika kita memprogram sesuatu dalam bahasa Java, komponen ini (Java API) sudah diproduksi
dan selesai. Melalui Java, seorang pengembang API dapat menggunakan program yang sudah
ditulis sebelumnya. Pengembang pertama-tama mendeklarasikan kelas dan paket, kemudian
pengembang tersebut dapat menggunakan program aplikasi kelas dan paket untuk dieksekusi.

C. SIAPA YANG MENGGUNAKAN JAVA API


Terdapat tiga jenis pengembang yang menggunakan API Java berdasarkan pekerjaan atau
proyek mereka:

8/8/2024 PEMROGRAMAN LANJUT 3


Laboratorium Informatika

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.

D. MENGAPA KITA BUTUH API DI JAVA


Java API sangat penting dalam pengembangan perangkat lunak karena memberikan berbagai
manfaat dan kemudahan bagi para pengembang. Berikut adalah alasan mengapa Java API
dibutuhkan:
1. Efisien
API yang dibuat oleh aplikasi dari pihak ketiga dapat sangat membantu mengurangi
pekerjaan di perusahaan. Hal ini membuat proses pembuatan aplikasi menjadi lebih cepat.
Perusahaan bisa meminta bantuan dari pihak ketiga untuk beberapa bagian pekerjaan dengan
biaya yang lebih rendah dibandingkan membangun aplikasi sendiri.
2. API membuat segalanya lebih sederhana
API memudahkan logika kompleks dengan memecahnya menjadi bagian-bagian yang
lebih kecil. Mereka juga menyediakan cara yang mudah untuk mengakses data sesuai dengan
kebutuhan pengguna. API dapat memberikan data yang kita butuhkan tanpa harus melakukan
penelitian atau manipulasi tambahan, sehingga mempercepat proses pembuatan aplikasi.

E. KEUNTUNGAN DAN KERUGIAN PENGGUNAAN API

8/8/2024 PEMROGRAMAN LANJUT 4


Laboratorium Informatika

Keuntungan API Kerugian API

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.

Pengiriman Layanan yang Fleksibel: API Masalah Keamanan: Menggunakan API


menyediakan pengiriman layanan yang cepat menambahkan lapisan permukaan lain yang
dan fleksibel sesuai dengan kebutuhan para rentan terhadap serangan, sehingga masalah
pengembang. risiko keamanan umum terjadi pada API.

Integrasi: Fitur terbaik dari API adalah


memungkinkan perpindahan data antara
berbagai situs dan dengan demikian
meningkatkan pengalaman pengguna yang
terintegrasi.

Otomatisasi: Karena API menggunakan


komputer robotik daripada manusia, hasil
yang dihasilkan lebih baik dan lebih otomatis.

Fungsionalitas Baru: Saat menggunakan API,


para pengembang menemukan alat dan
fungsionalitas baru untuk pertukaran API.

F. BAGIAN UTAMA JAVA API


Java API memiliki 3 bagian utama, yaitu :
1. Java Macro Edition (ME): Merancang aplikasi yang dijalankan pada perangkat kecil seperti
telepon genggam, perangkat embedded, dan perangkat IoT. Java ME menyediakan API dan
lingkungan runtime yang dioptimalkan untuk perangkat dengan kapasitas memori, daya
pemrosesan, dan kemampuan tampilan yang terbatas.
2. Java Standard Edition (SE): API yang standar dengan tujuan merancang aplikasi desktop
menggunakan bahasa dasar yang mendukung keamanan, grafis, serta konektivitas data dan

8/8/2024 PEMROGRAMAN LANJUT 5


Laboratorium Informatika

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.

G. FITUR JAVA API


1. Java Server Pages: Java Server Pages merupakan teknologi web berbasis Java yang berjalan
pada platform Java.
2. Java Database Connectivity: Java Database Connectivity dirancang untuk mengakses database
universal berdasarkan SQL.
3. Java Card: Java Card adalah open standar dari Sun Microsystems untuk platform pengembalian
kartu pintar.
4. Applet: Applet adalah program yang diakses melalui halaman web. Program ini di download
lalu dapat dijalankan pada jendela menjelajah web.
5. Java Networking: Java Networking adalah konsep menghubungkan dua atau lebih perangkat
komputasi bersama.

H. CARA KERJA JAVA API


1. Aplikasi klien memulai permintaan API yang disebut API call untuk mendapatkan informasi.
Permintaan ini, yang mencakup kata kerja permintaan, header, dan kadang-kadang badan
permintaan dari aplikasi ke server web, dihandle oleh URI (Uniform Resource Identifier) API.
2. Setelah menerima permintaan yang sah, API menghubungi program eksternal atau server web.
3. API menerima respons dari server yang berisi data yang diminta.
4. Data dikirimkan dari API ke aplikasi awal yang memintanya.

I. DASAR-DASAR API
1. Membangun API untuk merespons OK kemudian menyediakan string atau konten web.

8/8/2024 PEMROGRAMAN LANJUT 6


Laboratorium Informatika

2. Merespons dan mengonsumsi JSON/XML.


3. Menangani pengiriman formulir (form submissions).
4. Mengonsumsi data (dalam bentuk form, JSON, atau XML), memvalidasi data, dan
menyimpannya dalam database.
5. Menghubungkan ke API lain.
6. Menyimpan data ke berbagai penyimpanan data SQL/NoSQL.
7. Mengubah data dalam database.
8. Menghapus data dalam database.
9. Menjamin keamanan API Anda.

J. TIPE JAVA API

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

8/8/2024 PEMROGRAMAN LANJUT 7


Laboratorium Informatika

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.

K. CONTOH JAVA API


Berikut adalah beberapa contoh Java API yang umum digunakan:
1. Java API untuk Manajemen Koleksi (Java Collections Framework):

− java.util.List: Mengimplementasikan sebuah daftar berurut dari elemen.

− java.util.Set: Mengimplementasikan kumpulan elemen unik.

8/8/2024 PEMROGRAMAN LANJUT 8


Laboratorium Informatika

− java.util.Map: Mengimplementasikan pasangan kunci-nilai.

2. Java API untuk Manajemen I/O (Input/Output):

− java.io.InputStream: Membaca byte dari input stream.

8/8/2024 PEMROGRAMAN LANJUT 9


Laboratorium Informatika

− java.io.OutputStream: Menulis byte ke output stream.

− java.io.File: Merepresentasikan file atau direktori dalam sistem file.

8/8/2024 PEMROGRAMAN LANJUT 10


Laboratorium Informatika

3. Java API untuk Manajemen Jaringan:

− java.net.URL: Merepresentasikan alamat URL dan dapat digunakan untuk membuka

koneksi ke sumber daya jaringan.

8/8/2024 PEMROGRAMAN LANJUT 11


Laboratorium Informatika

− java.net.HttpURLConnection: Mengizinkan koneksi HTTP ke server dan dapat digunakan

untuk mengirim permintaan HTTP dan menerima respons.

8/8/2024 PEMROGRAMAN LANJUT 12


Laboratorium Informatika

4. Java API untuk Manajemen Konkurensi:

− java.util.concurrent.Executor: Mengeksekusi tugas pada thread terpisah.

8/8/2024 PEMROGRAMAN LANJUT 13


Laboratorium Informatika

− java.util.concurrent.Lock: Mengontrol akses ke bagian kode yang dapat dijalankan secara

bersamaan (thread-safe).

8/8/2024 PEMROGRAMAN LANJUT 14


Laboratorium Informatika

5. Java API untuk GUI (Graphical User Interface):

8/8/2024 PEMROGRAMAN LANJUT 15


Laboratorium Informatika

− javax.swing.JButton: Membuat tombol pada GUI.

− javax.swing.JFrame: Merepresentasikan jendela aplikasi GUI.

− javax.swing.JOptionPane: Menampilkan dialog standar pada GUI

− javax.swing.JPanel: Mengelompokkan komponen GUI.

8/8/2024 PEMROGRAMAN LANJUT 16


Laboratorium Informatika

6. Java API untuk Manajemen Basis Data:

− java.sql.Connection: Membuka koneksi ke basis data.

− java.sql.Statement: Mengeksekusi pernyataan SQL pada basis data.

− java.sql.ResultSet: Merepresentasikan hasil dari kueri SQL.

8/8/2024 PEMROGRAMAN LANJUT 17


Laboratorium Informatika

7. Java API untuk Pengolahan Gambar:

− java.awt.image.BufferedImage: Merepresentasikan gambar di dalam memori.

− javax.imageio.ImageIO: Membaca dan menulis file gambar.

8/8/2024 PEMROGRAMAN LANJUT 18


Laboratorium Informatika

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.

2. Implementasi Java API dalam Program File Reader


Dalam contoh ini, kita mengimpor library java.io. API yang digunakan dalam contoh ini adalah
method-method yang disediakan oleh kelas FileWriter dan BufferedReader, seperti File(String
filePath), BufferedReader(Reader in), write(), dan newLine().

8/8/2024 PEMROGRAMAN LANJUT 19


Laboratorium Informatika

3. Implementasi Java API dalam Matematika


Dalam contoh ini, kita mengimpor library java.lang.Math. API yang digunakan dalam contoh ini
adalah method-method yang disediakan oleh kelas Math seperti PI, sin(), cos(), dan tan().

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/

8/8/2024 PEMROGRAMAN LANJUT 20


Laboratorium Informatika

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)

8/8/2024 PEMROGRAMAN LANJUT 21


Laboratorium Informatika

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).

8/8/2024 PEMROGRAMAN LANJUT 22


Laboratorium Informatika

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)

8/8/2024 PEMROGRAMAN LANJUT 23


Laboratorium Informatika

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

8/8/2024 PEMROGRAMAN LANJUT 24


Laboratorium Informatika

https://docs.oracle.com/javase/8/docs/api/
https://rapidapi.com/blog/how-to-use-an-api-with-java/

KRITERIA & DETAIL PENILAIAN

KRITERIA PENILAIAN POIN

CODELAB 1 10

CODELAB 2 10

TUGAS 1 15

TUGAS 2 15

TUGAS 3 15

PEMAHAMAN 35

TOTAL 100%

8/8/2024 PEMROGRAMAN LANJUT 25

Anda mungkin juga menyukai