IDNSTEAL -->

    Social Items


Pendahuluan 


Seringkali kita temukan pada kebanyakan aplikasi mobile adalah pengelompokan konten yang ditampilkan menggunakan tabs. Sebut saja, Whatsapp membaginya menjadi 4 tabs (note: saat artikel ini ditulis), yakni: Icon kamera, Chat, Status & Panggilan. Pun hal yang sama berlaku pada aplikasi lainnya, seperti: Facebook, Instagram, dan lain-lain.

Tutorial Flutter #2 : Mebuat Tabs


PENDAHULUAN :

Perlu diketahui sebelumnya, bahwa Flutter hanyalah sebuah tools untuk membuat User Interface (UI) yang dapat di-build kedalam versi Android / iOs atau biasa kita sebut dengan istilah frontend. Flutter tidak memiliki kemampuan untuk berinteraksi dengan database tanpa menggunakan pihak ketiga (backend). Sehingga kekuatan yang dapat dimanfaatkan adalah bagaimana membuat layout dengan menggunakan Widget yang telah disediakan.
Karena ini sifatnya basic, maka kita akan belajar bersama bagaimana menggunakan Widget yang ada untuk menampilkan layout yang di-inginkan atau bisa juga dibahasakan: bagaimana cara menggunakan component yang telah disediakan. What ever, intinya, kita akan membuat layout, hehehe.
Layaknya belajar HTML pada dunia web development, maka kita akan memecah beberapa bagian widget untuk digunakan dan ditampilkan secara berkala.

Membuat AppBar Widget :

AppBar mungkin bisa disinonimkan dengan tag <header> pada HTML, sebab AppBar merupakan fungsi untuk membuat head dari sebuah aplikasi, dimana didalamnya terdapat title yang dapat digunakan untuk menampilkan brand atau page apa yang sedang dibuka dari aplikasi tersebut.
Buka file lib/main.dart, hapus semua code yang ada karena kita akan memulainya dari awal. Kemudian masukkan code berikut:
import 'package:flutter/material.dart';

void main() {
  runApp(HomePage());
}

class HomePage extends StatelessWidget {
  build(context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
            backgroundColor: Colors.red[800],
            leading: Icon(Icons.home),
            title: Text('DW Flutter Basic')
        ),
      )
    );
  }
}

Penjelasan:
  • Line-1import package yang dibutuhkan, dalam hal ini material.dartmain() adalah fungsi yang pertama kali diajalankan ketika aplikasi sedang di-load, maka apapun yang di-apit didalam main() maka code tersebut akan di-eksekusi.
  • Line-4 kita menggunakan runApp untuk me-render code kedalam screen aplikasi, dalam hal ini terdapat class HomePage() yang akan di-eksekusi.
  • Line-7, kita mendefinisikan sebuah class yang bernama HomePage.
  • Line-9, memberikan nilai balik yang berisi MaterialApp dari package yang telah di-import pada awal code.
  • MaterialApp memiliki property home yang berisi Scaffold widget. Perlu diketahui bahwa Scaffold widget inilah yang memiliki property appBar untuk membuat bar dari sebuah aplikasi, selain appBarwidget ini juga memiliki property lainnya, yakni: BottomAppBarFloatingActionButton, dan lain sebagainya.
  • Property appBar dari Scaffold berisi AppBar widget.
  • AppBar widget juga memiliki banyak property, diantaranya: titleleadingactions, dan lain sebagainya. Tapi dalam case kali ini kita akan menggunakan property title yang berisi Text widget untuk menampilkan teks yang di-inginkan, leading untuk menampilkan icon home tepat sebelum teks dari title ditampilkan dan backgroundColor untuk memberikan warna pada AppBar.
Cukup membingungkan? Silahkan baca kembali dari penjelasan awal, karena belajar program adalah repeating. Intinya adalah struktur dari Flutter ini hanyalah memanggil widget atau class yang didalam class tersebut memiliki property bawaan, dimana value dari property tersebut dapat disematkan class atau widget lainnya. Singkatnya adalah class di dalam class. Atau widget di dalam widget.
Untuk menjalankan code tersebut, dari VScode tekan F5, atau dari command line, jalankan commandflutter run, maka hasil yang akan diperoleh akan tampak seperti berikut.
tutorial flutter

Menampilkan Card, Image dan Teks di Flutter

Bergeser dari sisi head aplikasi, kali ini kita akan melangkah ke bagian body untuk menampilkan content yang di-inginkan. Untuk menampilkan object pada bagian body sebuah aplikasi, maka Scaffold memiliki property yang bernama body, dengan property ini kita dapat menempatkan object apapun yang ingin ditampilkan pada bagian content sebuah aplikasi.
Pada sub topik ini, kita hanya akan menggunakan 3 buah widget yakni: Card, Image dan Text untuk meng-implementasikan penggunakan dari property body. Masih di dalam file main.dart, modifikasi menjadi:
import 'package:flutter/material.dart';

void main() {
  runApp(HomePage());
}

class HomePage extends StatelessWidget {
  build(context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          backgroundColor: Colors.red[800],
          leading: Icon(Icons.home),
          title: Text('DW Flutter Basic')
        ),
          
        //CODE BARU YANG DITAMBAHKAN
        body: Container(
          child: Card(
            child: Column(
              children: [
                Image.network('https://flutter.io/images/homepage/header-illustration.png'),
                Text('Belajar Flutter')
              ]
            )
          ),
        )
       //AKHIR CODE
      )
    );
  }
}
Penjelasan:
  • body memiliki value sebuah widget Container() dimana hal ini serupa dengan class container yang ada pada Bootstrap.
  • Container juga memiliki property child , dimana pada case ini kita sematkan widget Card(). Sebenarnya bebas saja, jika kita ingin secara langsung menempatkan widget Column atau widget apapun didalam property child dari Container, tidak akan terjadi masalah. Hanya saja, case yang di-inginkan adalah membungkus object yang akan ditampilkan dengan Card(), dalam hal ini adalah Image dan Text.
  • Penggunaan widget Column() dalam child dari Card, tujuannya agar dapat memanggil lebih dari satu class. Sebab property child hanya mampu menampung satu class saja. Sedangkan Column() memiliki property children yang mampu menampung lebih dari satu class / widget didalamnya.
  • children dari Column() menggunakan lebih dari satu class, dimana masing-masing widget yang digunakan dipisahkan dengan koma (,). Maka dalam hal ini kita menggunakan widget Image.network() untuk mengambil image dari url. Dan Text(), seperti sebelumnya untuk menampilkan sebuah teks.
Bingung lagi? Baca penjelasan dari awal lagi. Ingat! Repeating!. Sekali lagi saya tekankan bahwa intinya adalah widget di dalam widget yang saling terkait satu sama lain.
Jika kamu menggunakan VSCode, setelah tekan save atau ctrl + s maka secara otomatis mengaktikan hot reload. Buat kamu yang menjalankannya via command line dapat menekan tombol shift + r pada command line untuk melakukan rebuild. Hasil yang diperoleh akan tampak seperti berikut
tutorial flutter

Mengatur Layout Dengan Row dan Column

Row() & Column() dapat digunakan untuk mengatur posisi dari widget yang akan ditampilkan. Row sendiri berarti baris, maka apapun yang diapit oleh class ini akan menggunakan posisi baris atau berderet kesamping (Horizontal). Sedang Column berarti kolom, maka widgetyang berada didalamnya akan tersusun kebawah (Vertical).
Untuk memahami penggunaan dari kedua class ini, kita akan menggunakan schema sebagai berikut:
  1. Kolom pertama terdapat dua buah objek, yakni Icon dan Text. Dimana kedua objek ini berderet secara horizontal.
  2. Kolom kedua terdapat sebuah Card, dimana didalam card memiliki dua buah objek yang berderet secara vertical.
Masih menggunakan file main.dart, modifikasi menjadi:

import 'package:flutter/material.dart';

void main() {
  runApp(HomePage());
}

class HomePage extends StatelessWidget {
  build(context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          backgroundColor: Colors.red[800],
          leading: Icon(Icons.home),
          title: Text('DW Flutter Basic')
        ),
        
        //YANG DIMODIFIKASI
        body: Container(
          margin: EdgeInsets.all(10.0), //CODE BARU UNTUK MENGATUR MARGIN
          child: Column(
            children:  [
              Row(
                children: [
                  Icon(Icons.archive),
                  Text('Artikel Terbaru', style: new TextStyle(fontWeight: FontWeight.bold))
                ]
              ),
              Card(
                child: Column(
                  children: [
                    Image.network('https://flutter.io/images/homepage/header-illustration.png'),
                    Text('Belajar Flutter')
                  ]
                ),
              ),
            ]
          )
        )
      )
    );
  }
}

Penjelasan:
  • child dari Container terdapat class Column(), dimana children dari Column() terbagi menjadi dua bagian, yakni: Row() dan Card(). Dapat disimpulkan, bahwa kedua objek tersebut akan membentuk kolom (vertical), sehingga apapun yang berada didalam Row() akan diletakkan diatas dan apapun yang berada didalam Card() akan diletakkan setelah objek dari Row di-render.
  • Row() juga memiliki property children, dimana didalamnya terdapat dua buah objek, yakni: Icon & Text. Maka Icon dan Text ini akan di-render secara horizontal.
  • Card() memiliki property child yang menggunakan class Column()children dari Column terdapat dua buah objek yakni: Image dan Text.
Kemudian tekan ctrl + r atau re-build untuk melihat hasilnya seperti gambar dibawah
tutorial flutter

Kesimpulan

Apabila diperhatikan dari proses yang telah kita lakukan, hal ini serupa dengan menyusun puzzle, dimana tiap kepingannya saling terkait untuk mencapai interface yang diinginkan. Tujuan dari artikel seri #2 ini adalah untuk memahami struktur dan penggunaan Widget yang telah disediakan oleh Flutter.
TAG : Tutorial Flutter Bahasa Indonesia, Flutter.io, Ebook Flutter Bahasa Indonesia, Mahir Flutter, Belajar Flutter, Cara Install Flutter, Tutorial Install Flutter, Layout Menggunakan Widget

Tutorial Flutter #1: Layout Menggunakan Widget


Persiapan Install Flutter : 

Terdapat beberapa tahapan yang harus dilakukan sebelum dapat menggunakan Flutter untuk proses development

Berikut beberapa hal yang perlu kamu persiapkan:


System Requirements : 


  1. Operation System: Jika kamu menggunakan Windows, minimal versi 7 SP1 atau yang terbaru dan pastikan 64-bit. Sedangkan Linux dan Mac hanya wajib menggunakan 64-bit.
  2. Disk Space: Jika kamu menggunakan Windows, sediakan ruang sekitar 400 MB (tidak termasuk tools/IDE). Linux membutuhkan 600 MB dengan ketentuan yang sama, sedangkan Mac membutuhkan 700 MB.
  3. Tools: Pastikan kamu telah menginstall git dan dapat digunakan melalui command line.

Mungkin sebagian teman-teman bertanya-tanya, kenapa sih harus meng-install Android studio? Kan penggunaan RAM-nya besar? Tenang saja, yang dibutuhkan dari Android studio adalah dependecies yang menyertainya, sehingga kedepannya kita tidak perlu menjalankannya dan dapat menggunakan Editor lain untuk menuliskan code kamu. Berikut beberapa hal yang dibutuhkan Flutter dari Android Studio untuk proses development Android:
  1. Android SDK
  2. Android SDK Platform-Tools
  3. Android SDK Build-Tools
Tahapannya, silahkan download dan install Android Studio sesuai dengan sistem operasi yang kamu punya. Pada kotak dialog "Android Studio Setup Wizard", pastikan kamu meng-install ketiga bagian yang telah disebutkan diatas. Atau kamu dapat ke menu Tools > SDK Manager
membuat aplikasi mobile dengan flutter
Kemudian pilih tab SDK Tools dan centang ketiga komponen diatas
flutter install android sdk

Install Flutter SDK

Selain SDK yang telah didapatkan dari Android Studio, Flutter juga mewajibkan kita untuk meng-install SDK yang telah disediakannya. Berikut adalah beberapa tahapan instalasi Flutter SDK.
  1. Buka halaman Flutter Install, kemudian pilih sistem operasi yang kamu gunakan.
    panduan install flutter
  2. Pada bagian Flutter SDKdownload SDK dari link yang telah disediakan.
    install sdk flutter
  3. Extract file Flutter SDK yang telah kamu download, dan tempatkan dimanapun kamu inginkan (Warning: Jika menggunakan Windows, jangan diletakkan ke dalam folder yang membutuhkan permission, seperti: C:/Program Files). Karena saya menggunakan Linux, saya meletakkannya di dalam folder /home/usersaya/flutter atau ~/flutter .
    flutter directory
  4. Kemudian tambahkan PATH dari Flutter SDK yang telah kita extract
    $ cd ~/flutter
    $ export PATH=`pwd`/bin:$PATH
    Note: Jika kamu menggunakan Windows, pastikan file flutter_console.bat berada di dalam folder flutter, kemudian double click file tersebut.
  5. Terakhir, running commandflutter doctor untuk mengecek apakah masih ada dependecies yang belum ter-install.
menjalankan flutter doctor
Nah, seperti yang terlihat, dependecies yang dibutuhkan sudah ter-install sepenuhnya. Sedangkan untuk dua poin terakhir kita abaikan saja terlebih dahulu, karena menggunakan VS Code tidaklah wajib dan Connected Device akan kita bahas pada sub topik selanjutnya.

Setup Android device

Untuk menjadi seorang Android developer, rasa-rasanya tidaklah salah jika harus memiliki modal yang cukup. Kenapa demikian? Karena membutuhkan perangkat diatas rata-rata agar dapat berjalan sebagaimana mestinya, seperti RAM yang cukup untuk menjalankan beberapa tools yang menguras RAM. Berbeda halnya dengan kasus yang saya alami, karena perangkat saya secara default VT (Virtualization Technology) telah di-disabled sejak pertama kali dibeli dan tidak bisa di-enable dari BIOS, sehingga emulator tidak dapat berjalan.
Kata pribahasa "Banyak jalan menuju roma", maka cara lainnya adalah dengan menggunakan perangkat Android (Smartphone) sebagai emulator secara langsung. Berikut beberapa tahapannya:
  1. Aktifkan Developer Options dan USB Debugging pada perangkat kamu. Untuk cara mengaktifkannya, dapat kamu lihat pada dokumentasi yang telah disediakan oleh Android Studio.
  2. Khusus untuk Windows, silahkan install Google USB Driver.
  3. Hubungkan Smartphone kamu menggunakan kabel USB untuk memberikan izin komputer kamu agar dapat mengakses perangkat kamu.
  4. Pada terminal, jalankan flutter devices atau bisa juga dengan menggunakan command: flutter doctor untuk mengecek apakah perangkat sudah terhubung atau tidak.
flutter check device
Note: Pastikan kamu telah mengatur environtment variable ANDROID_HOME, jika kamu pengguna linux, tambahkan command berikut ke dalam file .bashrc atau .profile:
export ANDROID_HOME=$HOME/Android/Sdk
export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools

Konfigurasi Editor

Editor memiliki peran penting dalam proses development, tak peduli kamu menggunakan bahasa pemrograman apapun. Flutter sendiri memberikan opsi lain yang dapat digunakan selain Android Studio, yakni VS Code. Berikut beberapa tahapan yang dapat kamu lakukan untuk konfigurasi VS Code:
  1. Pastikan kamu telah meng-install VS Code versi terbaru
  2. Tekan Ctrl + Shift + P atau View > Command Palette
  3. Pada kotak yang tersedia, ketikkan Extensions: Install Extension, kemudian tekan enter
  4. Pada kontak pencarian yang tersedia, ketikkan: flutter. Kemudian pilih Flutter, lalu tekan install.
    flutter install vscode
    Note: Jangan lupa untuk meng-install Dart plugin juga, pada gambar lokasinya terletak paling bawah.
  5. Reload VS Code kamu agar dapat menggunakan extension yang baru saja di-install.
  6. Untuk memastikan, buka kembali View > Command palette, kemudian ketikkan Flutter: Run Flutter Doctor. Pastikan output yang kamu terima sama dengan ketika menjalankan command flutter doctor pada terminal.
TAG : Tutorial Flutter Bahasa Indonesia, Flutter.io, Ebook Flutter Bahasa Indonesia, Mahir Flutter, Belajar Flutter, Cara Install Flutter, Tutorial Install Flutter

Mengenal Flutter : Instalasi Flutter



Flutter adalah SDK untuk pengembangan aplikasi mobile yang dikembangkan oleh Google. Sama seperti react native, framework ini dapat digunakan untuk membuat atau mengembangkan aplikasi mobile yang dapat berjalan pada device iOS dan Android. Dibuat menggunakan bahasa C, C++, Dart and Skia membuat Flutter ini menjadi salah satu framework yang sangat menarik dan worth untuk kita pelajari. Hal yang menarik pada framework ini adalah semua kodenya di compile dalam kode native nya (Android NDK, LLVM, AOT-compiled) tanpa ada intrepeter pada prosesnya sehingga proses compile-nya menjadi lebih cepat. Dari segi penulisan kodenya, Flutter ini sangat berbeda dari react native dan lebih cenderung mendekati Java Android jadi untuk developer react native agak sedikit kesulitan untuk memahami kode pada Flutter ini.

Bagaimana Kinerja Flutter?

Salah satu keunggulan flutter dari pada teknologi multiplatform lainnya seperti react native adalah dalam hal kinerja. Flutter menjanjikan aplikasi yang dibuat akan mendapatkan tingkat sebesar 60 frame per second. Kinerja ini bisa didapatkan karena cara kerja dari flutter sedikit berbeda. Kode-kode yang ditulis dengan menggunakan dart akan diubah menjadi kode C/C++ kemudian dikompilasi secara native. Hal inilah yang menyebabkan flutter memiliki performa yang hampir setara dengan aplikasi native. Flutter bisa berjalan pada sistem operasi android 4.1 atau lebih tinggi dan iOS 8 atau lebih tinggi. Serta dapat dijalankan di peringkat asli maupun simulator.
Widget Flutter
Widget dalam flutter adalah elemen yang sangat penting yang digunakan untuk mengontrol tampilan antarmuka suatu
aplikasi. Pada kode tampilan disamping, semua adalah widget, termasuk tata letak. Pusat widget memusatkan anaknya di dalam induknya (misalnya, layar). Widget tata letak Kolom mengatur anak-anaknya (daftar widget) secara vertikal. Kolom berisi widget Teks dan widget Ikon (yang memang memiliki properti, warnanya).
Pada flutter, padding dan margin adalah widget. Tema adalah widget. Dan bahkan aplikasi dan navigasi juga termasuk widget. Ini memungkinkan kemudahan dalam mengatur tampilan antarmuka karean tiap elemen bisa diatur menggunakan widget.
Akses API dan Interoperabilitas
Flutter juga sudah dipaketkan dengan kode pengaksesan platform service yang dimiliki dari android dan juga iOS. Seperti sensor, penyimpanan lokal, dan lain sebagainya. Namun tidak terbatas dalam hal itu, dart juga telah menyediakan banyak plugin-plugin yang mungkin kita butuhkan dan belum ter-include dalam paket flutter.


TAG : Tutorial Flutter Bahasa Indonesia, Flutter.io, Ebook Flutter Bahasa Indonesia, Mahir Flutter, Belajar Flutter

Mengenal Flutter : Apa itu Flutter ?

Cara Menghilangkan Icon Obeng dan Tang atau Quick Edit di Blogger

Tombol quick edit ini hanya dapat dilihat oleh admin blog saja dan harus sudah login, jadi pengunjung blog Anda tidak akan melihat gambar icon obeng dan tang.

Ada tiga cara untuk menghilangkan tombol quickedit di blog Anda, langsung saja ikuti langkah-langkahnya di bawah ini:

  • Menyembunyikan Icon Obeng dan Tang dengan CSS

Anda dapat menghilangkan atau lebih tepatnya untuk cara ini yaitu menyembunyikan gambar icon obeng dan tang atau tombol quick edit.

Kode css ini hanya akan menyembunyikan saja, jadi Anda tidak akan melihat tombol quick edit di blog Anda ketika menambahkan widget baru.

Caranya sebagai berikut:

1. Masuk ke blogger.com
2. Klik Tema > Edit HTML
3. Kemudian tambahkan kode ini di atas kode ]]></b:skin>

.quickedit{display:none;}

4. Lalu klik Simpan tema

  • Menghilangkan Icon Obeng dan Tang dengan Menghapus Kode

Cara yang kedua ini yaitu berfungsi untuk menghapus gambar icon obeng dan tang atau tombol quickedit di blog Anda.

Silahkan ikuti langkah-langkahnya di bawah ini:

1. Masuk ke blogger.com
2. Klik Tema > Edit HTML
3. Kemudian cari kode ini:

<b:include name='quickedit'/>/b:include>

4. Silahkan hapus semua kode tersebut
5. Lalu klik Simpan tema

  • Menonaktifkan Tombol Pengeditan Cepat

Lalu yang ketiga silahkan Anda nonaktifkan fungsi tombol pengeditan cepat.

Caranya sebagai berikut:

1. Masuk ke blogger.com
2. Klik Tata Letak > Blog Posts > Edit

Gadget Blog Posting

3. Kemudian jangan centang bagian Tunjukkan Pengeditan Cepat

Tunjukkan Pengeditan Cepat

4. Jika sudah klik Simpan

Silahkan Anda terapkan semuanya cara di atas, icon obeng dan tang hilang dari blog Anda.

Itulah artikel tentang cara menghilangkan icon obeng dan tang atau quick edit di blogger, selamat mencoba. Semoga bermanfaat.

Cara Yang Benar Menghilangkan Icon Obeng dan Tang atau Quick Edit