Halo sobat redaksi, kembali bersama aldo disini akan menjelaskan apasih flutter dan forward chaining. Nah 2 hal ini adalah metode yang saya gunakana untuk keperluan proyek akhir, oke langsung saja.

  • Facebook
  • Twitter
  • Google+
  • Pinterest

Apasih itu flutter?

Flutter merupakan teknologi milik Google untuk membangun aplikasi dengan tampilan UI yang apik, serta dapat di-compile secara native ke dalam aplikasi mobile, web, dan desktop hanya dari satu basis kode. Flutter menggunakan bahasa Dart, sebuah bahasa pemrograman yang dikembangkan oleh Google.

Awalnya, Flutter dikenal dengan nama Sky. Flutter pertama kali diperkenalkan pada acara Dart Developer Summit 2015. Pada tanggal 4 Desember 2018, Google merilis Flutter 1.0 di acara Flutter Live Event. Hal ini juga menandai rilisnya versi stabil pertama dari Flutter. Selanjutnya Flutter 1.12 dirilis di acara Flutter Interact yang diadakan pada tanggal 11 Desember 2019. Pada versi ini, versi beta Flutter untuk web juga diperkenalkan ke publik. Informasi pembaruan lebih lengkap dari Flutter 1.12 dapat teman-teman lihat di tautan ini.

Banyak perusahaan besar dunia yang telah mengadopsi Flutter untuk mengembangkan aplikasi mereka. Sebut saja Google, Alibaba Group, dan Grab. Daftar aplikasi yang dibangun menggunakan Flutter dapat kalian lihat di halaman Flutter Showcase.

kenapa flutter - aplikasi menggunakan flutter
  • Facebook
  • Twitter
  • Google+
  • Pinterest

Contoh aplikasi yang menggunakan flutter

Kenapa Flutter Harus Kamu Lirik?

  1. Cross platform
    Flutter mendukung cross platform alias dapat dijalankan di beberapa platform yang berbeda. Dengan menggunakan Flutter, kita dapat membuat aplikasi Android dan iOS sekaligus. Selain mobile, kita juga dapat membuat aplikasi web dan desktop. Tentunya hal ini akan menghemat waktu. Kita tidak perlu mempelajari bahasa native yang digunakan di masing-masing platform.
    kenapa flutter
    • Facebook
    • Twitter
    • Google+
    • Pinterest
  2. Fast development (Hot reload)
    Flutter memiliki sebuah fitur bernama hot reload. Dengan fitur ini, proses pengembangan aplikasi dapat berjalan lebih cepat dan mudah.. Setelah melakukan perubahan pada kode program, cukup tekan hot reload. Aplikasi akan diperbarui dalam kurun waktu kurang dari 1 detik. Sangat cepat bukan?Hot reload bekerja dengan cara menginjeksi kode program yang mengalami perubahan ke dalam Dart Virtual Machine. Setelah virtual machine memperbarui tiap kelas dengan kode program versi terbaru, maka framework Flutter secara otomatis membangun kembali susunan komponen widget sehingga kita dapat dengan cepat melihat perubahan yang terjadi.
    kenapa flutter
    • Facebook
    • Twitter
    • Google+
    • Pinterest
  3. Beautiful UI
    Flutter dirancang untuk mempermudah developer dalam membangun tampilan user interface. Keseluruhan UI pada Flutter dibangun menggunakan widget. Sebagai contoh, jika kita menambahkan sebuah text field, text field tersebut adalah widget. Button dan Image juga merupakan widget. Bahkan untuk mengatur posisi komponen menjadi rata tengah, kita menggunakan center widget. Kita dapat melakukan kustomisasi pada tiap widget. Widget akan menggambarkan seperti apa tampilan yang akan dibuat berdasarkan konfigurasi dan state yang ada. Terdapat 2 set widget, Material Design (Android) dan Cupertino (iOS).Teman-teman dapat melihat daftar lengkap widget yang tersedia di tautan ini. Selain itu, di tiap pekan, tim Flutter juga membahas Widget of the Week yang dapat teman-teman saksikan lewat channel Youtube Flutter.

    kenapa flutter
    • Facebook
    • Twitter
    • Google+
    • Pinterest

Alasan lainnya

Selain 3 poin di atas, masih ada beberapa alasan lain kenapa Flutter layak untuk kita pelajari:

  • Flutter mendukung 120 frames per second (fps).
  • Aplikasi yang dibangun dengan Flutter memiliki performa native yang tinggi, baik di Android maupun iOS.
  • Flutter memiliki komunitas yang kuat dan terus berkembang. Sebagai contoh, terdapat Flutter Awesome yang berisi daftar library dan tools terbaik. Ada pula Flutter Community, yaitu publikasi Medium yang berisi artikel, tutorial, dll.

Pengertian Forward Chaining

Kadang disebut:data-driven karena inference engine menggunakan informasi yang ditentukan oleh user untuk memindahkan ke seluruh jaringan dari logika ‘AND’ dan ‘OR’ sampai sebuah terminal ditentukan sebagai objek. Bila inference engine tidak dapat menentukan objek maka akan meminta informasi lain.

Aturan (Rule) di mana menentukan objek, membentuk path (lintasan) yang mengarah ke objek. Oleh karena itu, hanya satu cara untuk mencapai satu objek adalah memenuhi semua aturan.

Catatan: inference engine adalah bagian dari sistem pakar yang mencoba menggunakan informasi yang diberikan untuk menemukan objek yang sesuai.

Inference engine mempunayi 2 kategori yaitu deterministic dan probabilistik. Sedangkan dasar untuk membentuk inference engine diantaranya: forward chainingbackward chaining dan rule value (merupakan pendahulu dari forward dan backward chaining)..

Kedua teknik penalaran di atas (forward dan backward chaining) dipengaruhi oleh tiga macam teknik penelusuran (searching) yaitu:

1. Teknik Depth-First Search

Adalah teknik penelusuran data pada node-node secara vertical dan sudah terdefinisi, misalnya kiri ke kanan, keuntungan pencarian dengan teknik ini adalah bahwa penelurusan masalah dapat di gali secara mendalam sampai di temukannya kapasitas suatu solusi yang optimal.

Kekurangan teknik penelesuran ini adalah membutuhkan waktu yang sangat lama untuk ruang lingkup masalah yang besar.

Teknik Dept First Search, bisa digambarkan seperti dibawah ini:

contoh gambar teknik depth first
  • Facebook
  • Twitter
  • Google+
  • Pinterest

2. Teknik Breadth-First Search

Adalah teknik penelusuran data pada semua node dalam satu level atau salah satu tingkatan sebelum ke level atau tingkatan di bawahnya. Keuntungan pencarian daengan teknik ini adalah sama dengan depth first search, hanya saja penelusuran dengan tehnik ini mempunyai nilai tambah, dimana semua node akan di cek secara menyeluruh pada setiap tingkatan node.

Kekurangan teknik penelusuran ini terletak pada waktu yang dibutuhkan yang sangat lama apabila solusi berada dalam posisi node terakhir sehingga menjadi tidak efisien. Kekurangan dalam implementasi juga perlu di pertimbangkan, misalnya teknik penelusuran menjadi tidak interaktif antara suatu topik dengan topik yang lain atau harus melompat dari satu topik ke topik yang lain sebelum topik tersebut selesai di telusuri.

Teknik Breadth First Searh, bisa dijelaskan seperti berikut ini:

contoh gambar teknik breadth first search
  • Facebook
  • Twitter
  • Google+
  • Pinterest

3. Teknik Best-First Search

Adalah teknik penelusuran yang menggunakan pengetahuan akan suatu masalah untuk melakukan panduan pencarian ke arah node tempat dimana solusi berada. Pencarian jenis ini dikenal juga sebagai heuristic. Pendekatan yang dilakukan adalah mencari solusi yang terbaik berdasarkan pengetahuan yang dimiliki sehingga penelusuran dapat ditentukan harus di mulai dari mana dan bagaimana menggunakan proses terbaik untuk mencari solusi.

Keuntungan jenis pencarian ini adalah mengurangi beban komputasi karena hanya solusi yang memberikan harapan saja yang diuji dan akan berhenti apabila solusi sudah mendekati yang terbaik. Ini merupakan model yang menyerupai cara manusia mengambil solusi yang dihasilkan merupakan solusi yang mutlak benar.

Teknik Best First Search, digambarkan seperti dibawah ini:

contoh gbr teknik best first search
  • Facebook
  • Twitter
  • Google+
  • Pinterest

Mungkin seperti itu saja dan harapan saya…. semoga tulisan tentang forward dan backward chaining ini bisa dijadikan rujukan untuk pembuatan makalah sistem pakar atau mungkin sesuatu yang lainnya, seperti proposal skripsi, jurnal, dan lain sebagainya….keep spirit!