Core ML: Membangun Aplikasi iOS Berbasis Machine Learning

Core ML: Membangun Aplikasi iOS Berbasis Machine Learning

Sebagai penggiat IT, kamu tidak asing dengan AI beserta keluarganya, bukan? Di era saat ini, banyak pengembang aplikasi memanfaatkan berbagai AI untuk membantu pekerjaan mereka, seperti Gemini, ChatGPT, Llama, Core ML,  dan masih banyak lagi. 

Tentunya, sebagai pengembang aplikasi, tak hanya fasih menggunakannya, kita juga perlu paham cara mengimplementasikan machine learning dalam aplikasi. Lalu, kira-kira bagaimana ya menerapkannya dalam aplikasi iOS? Yuk, simak selengkapnya dalam blog ini!

AI dan Machine Learning

Generative AI

💻 Mulai Belajar Pemrograman

Belajar pemrograman di Dicoding Academy dan mulai perjalanan Anda sebagai developer profesional.

Daftar Sekarang

Sebelum mengimplementasikan machine learning dalam aplikasi, tentu kita perlu tahu dahulu bedanya AI dengan ML. AI atau artificial intelligence adalah sistem komputer yang bisa melakukan pekerjaan-pekerjaan yang umumnya memerlukan tenaga atau kecerdasan manusia untuk menyelesaikannya, sedangkan ML atau machine learning adalah teknologi yang mampu mempelajari data yang ada dan melakukan tugas-tugas tertentu sesuai dengan apa yang ia pelajari. Lalu, apa hubungannya Machine Learning dengan AI?

Cabang dari AI

Teknologi machine learning ini merupakan salah satu cabang dari AI. Tak hanya ML, masih banyak lagi contoh dari AI, seperti NLP, vision, speech, hingga robotics. Namun, pada kesempatan ini, kita akan fokus dengan machine learning dan implementasinya dalam aplikasi iOS. 

Machine Learning Workflow 

Kira-kira, bagaimana cara machine learning bekerja ya? Dalam traditional programming, kamu biasanya akan menggunakan logika pemrograman tertentu untuk menentukan aturan dari sebuah program. 

Contohnya di halaman login, kamu akan membuat aturan untuk memvalidasi email yang dimasukkan. Jadi, jika ada email yang tidak valid, output dari kode program tersebut akan false atau gagal.

Workflow Machine Learning

Hal ini berbeda dengan pendekatan yang digunakan oleh machine learning. Di sini, kamu tidak lagi berfokus dengan aturan, melainkan machine learning-lah yang akan membangun dan menemukan polanya. Kamu cukup menyediakan contoh input dan melabelinya sebagai output tertentu. 

Contohnya, kamu ingin membuat sebuah aplikasi untuk mendeteksi anjing dan kucing. Input dari aplikasi tersebut adalah foto-foto hewan anjing dan kucing. Tugas machine learning tersebut adalah menandai atau bisa dikatakan dengan memberikan label, apakah foto tersebut termasuk kucing atau anjing.

Perjalanan Mendeteksi Gambar

Semakin banyak input dan output yang kamu sediakan, semakin pintar aturan yang bisa kamu buat. Nah, aturan dalam machine learning tersebut disimpan dalam sebuah model. Kurang lebih gambaran dari alur pembuatan model tersebut bisa kamu lihat seperti ini.

Flow Machine Learning

Kamu bisa pelajari cara kerja machine learning secara lebih detail dalam kelas Belajar Machine Learning untuk Pemula

Model Machine Learning untuk Pengembangan Aplikasi

Seperti yang kita tahu, saat ini sudah banyak aplikasi yang tersedia di marketplace. Semua aplikasi tersebut pasti memiliki solusinya masing-masing sesuai dengan masalah yang diangkat. Tentunya keberagaman solusi tersebut memerlukan pendekatannya tersendiri ketika ingin menerapkan machine learning di dalamnya. 

Oleh karena itu, pengembang model machine learning berlomba-lomba membangun sebuah model yang bisa digunakan oleh orang banyak, seperti model dari Gemini dan ChatGPT yang bisa digunakan dalam pengembangan aplikasi. Meskipun demikian, ternyata membangun model sendiri sesuai kebutuhan bisnis aplikasi juga mudah dilakukan saat ini, lo! 

Saat ini, ada banyak platform dan layanan yang menyediakan model machine learning yang bisa diintegrasikan langsung ke dalam aplikasi seperti berikut.

  • TensorFlow Lite: Framework open-source yang dikembangkan oleh Google ini memungkinkan pengembang untuk membuat, melatih, dan menerapkan model machine learning dengan mudah. TensorFlow juga mendukung berbagai platform, termasuk iOS.
  • Core ML: Apple menyediakan Core ML sebagai framework bawaan untuk mengintegrasikan model machine learning ke dalam aplikasi iOS. Dengan Core ML, kamu bisa menggunakan model yang sudah dilatih untuk berbagai tugas seperti pengenalan gambar, analisis teks, hingga prediksi data.
  • PyTorch: Framework yang fleksibel dan populer untuk riset dan pengembangan machine learning. PyTorch memungkinkan pengembang membangun model kustom yang kemudian dapat diekspor ke Core ML untuk aplikasi iOS.

Selain itu, model yang disediakan oleh perusahaan besar seperti OpenAI, Meta, dan Google Cloud AI juga bisa dimanfaatkan. Model-model ini sering kali sudah dilatih dengan dataset yang sangat besar sehingga kamu tidak perlu memulai dari nol.

Nah, pada blog ini kita akan fokus membahas tentang Core ML.

Apa itu Core ML ya?

Core ML adalah framework milik Apple yang dirancang khusus untuk mempermudah pengintegrasian machine learning dalam aplikasi iOS, macOS, watchOS, dan tvOS. Dengan Core ML, pengembang dapat:

  • Memanfaatkan model machine learning yang sudah dilatih.
  • Mengintegrasikan fitur machine learning secara efisien tanpa mempengaruhi performa aplikasi.
  • Mendukung berbagai jenis model, termasuk vision, NLP, dan data tabular.

Seperti inilah gambaran alur sebuah model dari Core ML hingga digunakan dalam sebuah aplikasi iOS.

Flow Core ML

Ketika kamu mempunyai model machine learning, kamu bisa menggunakan Core ML untuk dimasukkan dalam aplikasi Xcode.

Selain menggunakan model Core ML, kamu juga memanfaatkan model dari format lain dan dikonversi menjadi model Core ML. Caranya cukup mudah, yakni menggunakan Core ML Tools. Dengan menggunakannya, kamu bisa mengubah berbagai model yang dibuat dengan tools modern menjadi Core ML, seperti TensorFlow, PyTorch, LibSVM, XGBoost, hingga Scikit Learn.

Menggunakan Model ML menjadi Core ML

Selain itu, Xcode juga menyediakan sebuah fitur untuk mengembangakan model machine learning dengan format Core ML. Caranya cukup mudah, yakni dengan membuka Xcode, kemudian menekan menu Xcode dalam touchbar, pilih Open Developer Tool, dan pilih Create ML.

Tampilan Xcode ketika Membuka Core ML

Sebuah pop up berisikan berbagai jenis machine learning akan muncul dan kamu bisa pilih sesuai dengan kebutuhanmu.

Membuat Model Core ML dengan Xcode

Selain membuat model Core ML, kamu juga bisa menguji keakuratan sebuah model. Fitur ini mirip dengan fitur Teachable Machine dari Google. Namun, di sini kamu cukup menggunakan Xcode, IDE dari Apple untuk membangun aplikasi iOS. Menarik, bukan? Jika kamu tertarik, kamu bisa melihat cara melakukan evaluasi Core ML melalui dokumentasinya di Discover machine learning enhancements in Create ML

Core ML : Membangun Aplikasi iOS Berbasis Machine Learning

Setelah memahami dasar-dasar tentang Core ML, pertanyaan selanjutnya adalah bagaimana cara memanfaatkannya untuk membuat aplikasi iOS? Berikut ini adalah langkah-langkah yang dapat kamu ikuti untuk mulai mengintegrasikan machine learning ke dalam aplikasi iOS menggunakan Core ML.

Persiapkan Model Machine Learning dengan Core ML

Langkah pertama adalah memiliki model machine learning yang sudah dilatih. Kamu bisa mendapatkan model dari berbagai sumber, seperti model open-source yang tersedia di internet, layanan cloud AI, atau model yang kamu bangun sendiri menggunakan framework seperti Xcode, TuriCreate, TensorFlow, atau PyTorch. 

Pastikan model yang kamu pilih memiliki format yang kompatibel dengan Core ML (biasanya dengan ekstensi .mlmodel). Jika model yang kamu miliki belum dalam format ini, gunakan Core ML Tools untuk mengonversinya.

Contoh Kasus Deteksi Bunga dengan Core ML 

Misalnya, kamu ingin membangun aplikasi yang dapat mengenali jenis bunga dalam gambar. Model machine learning yang dilatih untuk mengenali berbagai jenis bunga bisa kamu konversi ke format Core ML menggunakan perintah Python berikut.

Integrasikan Model Core ML ke dalam Xcode

Setelah memiliki model dengan format .mlmodel, langkah selanjutnya adalah memasukkannya ke dalam proyek Xcode seperti berikut.

  1. Drag-and-drop file .mlmodel ke dalam proyek Xcode.
  2. Xcode akan secara otomatis membuat kelas Swift yang mewakili model tersebut sehingga mudah untuk digunakan dalam kode.

Gunakan Model di Aplikasi

Core ML membuat proses integrasi model menjadi sangat sederhana. Kamu hanya perlu beberapa baris kode Swift untuk mulai menggunakan model dalam aplikasi. Berikut contoh cara memanfaatkan model Core ML bernama FlowerClassifier untuk klasifikasi gambar.

Uji Coba Aplikasi iOS berbasis Core ML

Setelah mengintegrasikan model ke dalam aplikasi, lakukan pengujian untuk memastikan model berfungsi dengan baik. Gunakan beberapa gambar atau dataset uji untuk memeriksa akurasi hasil prediksi. Kamu juga bisa memanfaatkan fitur bawaan Xcode untuk memvisualisasikan performa model.

Gambar Bunga yang Telah Dianalisis

Optimalkan Model Core ML untuk Performa

CoreML mendukung optimalisasi model untuk meningkatkan performa dan efisiensi. Beberapa cara untuk mengoptimalkan model meliputi:

  • Quantization: Mengurangi ukuran model dengan menyimpan bobot dalam format yang lebih kecil (seperti int8).
  • Batch Processing: Memproses beberapa data sekaligus untuk mempercepat waktu prediksi.
  • On-Device Training: Menggunakan fitur terbaru dari Apple untuk melatih ulang model langsung di perangkat pengguna.

Kesimpulan

Core ML membuka peluang besar bagi pengembang untuk mengintegrasikan machine learning ke dalam aplikasi iOS dengan cara yang efisien dan ramah pengguna. Dengan memahami dasar-dasar Core ML, memanfaatkan alat seperti Xcode dan Core ML Tools, serta mengikuti langkah-langkah pengembangan yang tepat, kamu bisa menciptakan aplikasi canggih yang memanfaatkan kekuatan AI untuk memberikan solusi nyata kepada pengguna. 

Jika kamu ingin mulai belajar iOS development, telah hadir langganan Learning Path baru, iOS Developer di Tokopedia Dicoding. Mulai belajar terarah dengan Learning Path. Khusus untuk kamu, dapatkan diskon 70% untuk setiap pembelian paket learning path. Kunjungi dicoding.id/iOS

Jadi, tunggu apa lagi? Segera mulai proyekmu dan eksplorasi kemampuan Core ML untuk membuat aplikasi iOS yang lebih pintar dan interaktif!


Belajar Pemrograman Gratis
Belajar pemrograman di Dicoding Academy dan mulai perjalanan Anda sebagai developer profesional.