Banner Blog - Machine Learning dan Flutter: Teknologi di Balik Aplikasi Super

Machine Learning dan Flutter: Teknologi di Balik Aplikasi Super

Masa kini adalah masanya aplikasi cerdas! Coba lihat, saat kamu akan membuka kunci ponsel, sekarang bisa menggunakan wajah. Ada pula tools untuk membuat transkripsi dari rekaman tanpa perlu mencatat. Belum lagi rekomendasi dalam platform seperti YouTube atau aplikasi e-commerce yang makin sesuai dengan kebutuhan kita.

Penasaran bagaimana semua itu bisa terjadi? Inilah yang akan kita bahas selanjutnya. Baca artikel ini sampai selesai, ya.

Apa Itu Machine Learning dan Flutter?

Sebelum kita membahas penerapan machine learning pada Flutter dengan lebih mendalam, yuk, kita kilas balik untuk mengingat pengertian mereka masing-masing.

đź’» Mulai Belajar Pemrograman

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

Daftar Sekarang

Machine Learning

Teknologi ini menjadikan mesin bisa belajar selayaknya manusia. Ia adalah bagian dari kecerdasan buatan atau artificial intelligence.

Dengan belajar layaknya manusia, mesin/komputer bisa melakukan berbagai hal yang tadinya kita pikir sulit atau bahkan mustahil menjadi mungkin untuk dikerjakan. Mesin/komputer tersebut belajar berdasarkan data yang telah dikumpulkan dan mampu untuk memprediksi data baru.

Adanya teknologi ini membuat mesin bisa membantu manusia dalam kehidupan sehari-hari, misalnya dalam menerjemahkan bahasa, menganalisis data, memprediksi cuaca, dan sebagainya.

Flutter

Ini adalah sebuah user interface (UI) framework yang dikembangkan oleh Google dan berbasis bahasa pemrograman Dart. Flutter dapat digunakan untuk membangun aplikasi lintas-platform dengan menggunakan hanya satu bahasa pemrograman.

Flutter tersedia secara open-source sehingga cocok untuk berbagai perusahaan atau individu yang ingin mengembangkan sebuah aplikasi lintas-platform (web dan mobile).

Bagaimana Penerapan Machine Learning pada Flutter?

Mungkin kamu berpikir bahwa untuk menerapkan machine learning pada aplikasi lintas-platform haruslah menjadi ahlinya dulu. Nyatanya, meskipun belum begitu mahir dalam machine learning, kamu bisa menerapkannya pada Flutter, lo!

Hal itu kini semakin mudah dengan adanya ML Kit, LiteRT, dan Gemini API. Tiga tools ini dapat membuatmu lebih mudah dalam mengintegrasikan machine learning dalam aplikasi Flutter.

Tiga tools tersebut dikembangkan oleh Google guna meningkatkan produktivitas developer dalam mengembangkan aplikasi lintas-platform dengan hasil maksimal. 

Secara singkat, ML Kit adalah application programming interface (API) siap pakai yang telah dilatih menggunakan model dari Google. ML Kit dapat memungkinkan pemrosesan data melalui dua cara, yakni langsung pada perangkat pengguna serta pada cloud.

Selanjutnya, sering kali model machine learning yang digunakan terlalu spesifik untuk tujuan tertentu, seperti mendeteksi masker pada wajah. Oleh sebab itu, hadirlah pelengkapnya, yakni LiteRT. Adanya LiteRT pun membuat developer bisa melatih model secara kustom dengan datanya sendiri.

Oh iya, selain menggunakan dua tools di atas, kita juga bisa mengintegrasikan Gemini API dalam Flutter juga, lo! Canggih sekali, ya. Jadi, membuat aplikasi canggih dengan menghasilkan konten baru atau menganalisis data tertentu menjadi semakin mungkin.

Contoh Penerapan Machine Learning pada Flutter

Sesuai dengan judul artikel kita kali ini, adanya penerapan machine learning pada Flutter bisa membuat aplikasi menjadi super. Berikut adalah beberapa contohnya.

Deteksi Objek

Fitur ini memungkinkan aplikasi mendeteksi keberadaan objek dan dapat dimanfaatkan untuk berbagai tujuan, termasuk fitur pencarian berbasis gambar. 

Contoh deteksi objek pada aplikasi mesin pencarian.

Contoh deteksi objek pada aplikasi mesin pencarian.

Cara kerjanya adalah gambar dianalisis berdasarkan fitur atau karakteristik, seperti pola, warna, tekstur, dan bentuk. Setelah itu, fitur atau karakteristik tersebut diubah dalam bentuk vektor-vektor sebagai representasi berupa angka-angka agar dapat dibaca mesin. Lalu, algoritma akan mencari gambar yang vektornya paling mirip dengan input.

Deteksi Teks

Kurang lebih sama seperti deteksi objek dalam cara kerjanya, hanya saja ini pada teks. Dengan adanya fitur ini, sekarang kita bisa menyalin langsung teks dari gambar, lo. Langkah lebih jauhnya, kita bisa mendeteksi tulisan tangan dan menuliskannya kembali menjadi seperti teks hasil ketikan. Bahkan, jika teks tersebut berupa tautan (link), kita bisa langsung membukanya.

Contoh deteksi teks pada gambar.

Contoh deteksi teks pada gambar.

Adapun hal yang dilakukan mesin adalah mendeteksi area teks dari gambar, menganalisis piksel pada area tersebut dan mengenalinya sebagai karakter tertentu, dan akhirnya digabungkan menjadi teks.

Pengenalan Wajah

Fitur ini lebih dari sekadar deteksi wajah. Deteksi wajah hanya akan menganalisis fitur-fitur tertentu yang biasanya ada pada wajah, seperti mata, hidung, dan bibir. Contoh aplikasi yang memakai fitur deteksi wajah adalah media sosial dengan filter percantik wajah.

Pengenalan wajah lebih dari itu, ia melakukan tahapan lanjut dari deteksi wajah. Hal-hal yang dianalisis pun lebih detail, seperti jarak antara mata; ukuran sudut dan kelopak mata; bentuk dan kontur alis; bentuk dan ukuran hidung; garis bibir dan sudut mulut; serta kontur pipi dan dagu.

Contoh aplikasi yang menerapkan pengenalan wajah.

Contoh aplikasi yang menerapkan pengenalan wajah.

Biasanya, pengenalan wajah pun dipakai untuk tujuan yang lebih spesifik, lebih sering berkaitan dengan keamanan. Misalnya untuk membuka kunci aplikasi atau verifikasi identitas. Jadi jangan heran ketika mendaftar atau login ke aplikasi yang berhubungan dengan keuangan masih dimintai selfie padahal sudah memberikan foto tanda pengenal.

Sistem Rekomendasi yang Personal

Ini hal yang sempat kita singgung di awal, bagaimana bisa e-commerce merekomendasikan sesuatu sangat sesuai dengan selera kita?

Misal, kita sedang ingin membeli jaket warna biru, eh, seperti sulap, muncul iklan jaket berwarna biru saat kita sedang mencari “jaket” di e-commerce. Rasanya mereka seperti cenayang, padahal ada machine learning di balik itu semua.

Contoh penerapan sistem rekomendasi pada aplikasi e-commerce dengan Flutter.

Contoh penerapan sistem rekomendasi pada aplikasi e-commerce.

Dalam hal ini, singkatnya mesin melalui model machine learning mempelajari data pengguna tentang hal-hal yang disukai, mulai dari histori pencarian terakhir, aktivitas pembelian, hingga kebiasaan pengguna, dan nantinya mencocokkannya dengan hal-hal serupa. 

Ada pula teknik lain, yakni model mencocokkan pilihan satu pengguna dengan pengguna lain yang memiliki kesukaan serupa. Jadi, hal-hal yang dipilih oleh pengguna dengan kesukaan mirip tersebut akan muncul pada pengguna lain.

Transkripsi Suara

Pernahkah kamu membayangkan sebuah rekaman bisa dibuat langsung transkripsinya secara otomatis? Tentu bisa. Ini adalah fitur yang cukup “ajaib” dan juga rumit dalam cara kerjanya. Teknologi yang bisa membuat transkripsi ini juga biasa disebut speech to text.

Contoh aplikasi transkripsi suara dengan menggunakan Flutter.

Contoh aplikasi transkripsi suara dengan menggunakan Flutter.

Pertama, suara mengalami pra pemrosesan terlebih dahulu untuk dibersihkan dari kebisingan yang tidak perlu, seperti suara angin dan latar belakang. Selanjutnya, gelombang audio dipecah menjadi segmen kecil dan diekstrak berdasarkan fitur-fitur. Akhirnya, informasi dari audio tersebut diproses dengan model dan dicocokkan dengan model bahasa.

Penutup

Begitulah pengertian, cara kerja, dan beberapa contoh penerapan machine learning pada Flutter yang bisa membuat aplikasi lintas-platform menjadi semakin canggih. Fitur-fitur super ini tentu akan sangat berguna dalam kehidupan sehari-hari.

Apakah kamu tertarik untuk mendalaminya? Dicoding punya kelasnya, lo, untuk mempelajari hal ini lebih mendalam. Langsung saja kunjungi tautan berikut, ya: Belajar Penerapan Machine Learning untuk Flutter.

Sampai jumpa pada artikel lainnya!


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