November 2024

Ditulis oleh Rahman Hardianto – Trainer V-Academy

Sejak tahun 2020 terutama setelah kemunculan OpenAI melalui produknya ChatGPT, aplikasi dan teknologi AI menjadi perbincangan hangat di semua kalangan masyarakat dengan berbagai background profesi. Disamping pro kontra yang diperbincangkan, tentunya banyak manfaat yang dapat kita gunakan dalam pekerjaan untuk mencari referensi dan solusi terhadap code yang kita kembangkan sebagai seorang developer.

Selain ChatGPT, Google melalui Google DeepMind mengembangkan aplikasi AI dengan nama “Gemini AI”. Dengan resource yang sangat mumpuni, Google klaim bahwa Gemini  merupakan model bahasa terbesar dan tercanggih pada saat ini.

Kali ini kita akan mencoba menggunakan Gemini AI untuk pengembangan aplikasi Android melalui IDE Android Studio, berikut yang akan kita bahas

  • Bagaimana menggunakan Gemini AI di Android Studio
  • Bagaimana memanfaatkannya
  • Tips

Bagian I – Bagaimana Menggunakan Gemini AI di Android Studio

Untuk dapat menggunakan Gemini AI di Android Studio, sungguh sangat mudah.

  1. Cukup download dan gunakan Android Studio versi terbaru Jellyfish atau lebih barunya.
  2. Buka Menu Bar View → Tool Windows → Gemini
  3. Jika belum login akun google, silahkan login terlebih dahulu

Setelah pertama login, atau pertama penggunaan kita akan diberikan beberapa syarat dan ketentuan. Termasuk batasan usia minimal 18 tahun untuk penggunaan melalui Android Studio seperti pada gambar di bawah ini.

Bagian II – Bagaimana Memanfaatkannya

Setelah terbuka windows Gemini AI pada IDE Android Studio, kita dapat mengajukan pertanyaan. Contoh yang saya lakukan seperti pada gambar di bawah ini

Jika kita bandingkan dengan pesaingnya, secara jawaban tidak jauh berbeda tentunya. Apa yang kita tanyakan pada Gemini juga tersimpan sehingga Gemini mengingat konteks percakapan kita dan bisa disambung dengan pertanyaan lainnya yang berkelanjutan.

Karena Gemini AI disematkan secara langsung pada IDE Android Studio, dia memiliki fitur yang sangat menarik yaitu menyematkan code secara langsung, terdapat 3 metode yang bisa kita gunakan, yaitu :

  1. Copy Code
  2. Insert at Cursor
  3. Insert in New File

Mari kita coba, pertama saya akan meminta Gemini untuk JSON Response Provinsi di Indonesia

Selanjutnya saya akan meminta Gemini untuk membuatkan saya data class dari response JSON tersebut dan menyematkankan menggunakan metode Insert at Cursor pada class yang sudah tersedia.

Bagian III – Tips

Gemini AI terkadang memberikan jawaban yang tidak sesuai, maka tentu kita perlu lakukan validasi dan pemeriksaan ulang. Jawaban dari Gemini AI juga dapat berbeda sesuai dengan pertanyaan yang dikirimkan, sehingga berikut merupakan tips untuk mengoptimalkan jawabannya :

  1. Gunakan bahasa yang spesifik. Berikan informasi secara spesifik terutama penggunaan library, third party atau Komponen yang diharapkan.
  1. Jelaskan jawaban yang diharapkan, Contoh jika kita ingin mendapatkan format response JSON, tulislah pada pertanyaan yang diharapkan.
  1. Bagi menjadi beberapa pertanyaan berlanjut untuk memudahkan pemecahan solusi yang diberikan, pecahlah pertanyaan.

Ditulis oleh Rahman Hardianto – Trainer V-Academy

SSL Pinning / Certificate Pinning merupakan cara untuk memastikan request dari aplikasi yang diterima server valid tanpa adanya interupsi atau perubahan yang mungkin diakibatkan dari serangan MiTM (Man in The Middle Attack). SSL Pinning akan mengamankan jembatan komunikasi yang terhubung ke server, sehingga jika terdapat request yang diterima server namun berbeda certificate maka server akan menolaknya.

Kali ini kita akan coba menambahkan SSL Pinning pada Aplikasi Mobile (Android & iOS) menggunakan Certificate Pinner. Kita akan menggunakan domain yang telah dilengkapi ssl dari api.github.com sebagai percobaan.

Langkah pertama, kita perlu mendapatkan Public Key/Hash dari .cer/.crt file

  1. Download certificate server
  2. Selanjutnya, kita eksekusi perintah di bawah ini hilangkan tanda petik dua
    openssl x509 -in “your_cerficate.cer” -pubkey -noout | openssl pkey -pubin -outform der | openssl dgst -sha256 -binary | openssl enc -base64
  3. Setelah itu akan muncul key hasil dari file .cer yang kita generate, contoh “lmo8/KPXoMsxI+J9hY+ibNm2r0IYChmOsF9BxD74PVc=”

Setelah kita dapatkan key, kita coba tambahkan pada aplikasi Android dan iOS kita. Untuk Android kita menggunakan OkHttpClient dan iOS akan menggunakan URLSession.

Bagian I – Android

Buat object CertificatePinner dengan key yang telah didapatkan sebelumnya

Definisikan CertificatePinner pada http client yang akan kita gunakan seperti di bawah ini

Bagian II – iOS

Kita coba buat Object Helper untuk request ke API dengan mendefinisikan key yang telah kita dapatkan sebelumnya

Tambah extends URLSessionDelegate pada class helper yang telah kita buat dan definisikan method urlSession seperti di bawah