PHPEZ : Cara Manipulasi String pada PHP

PHPEZ : Cara Manipulasi String pada PHP

Halo teman – teman, pada artikel kali ini kita akan membahas mengenai manipulasi variable tipe dengan tipe data String pada bahasa PHP.

String merupakan salah satu tipe data non – primitif yang digunakan untuk menampung kalimat, kata – kata, atau kumpulan karakter.

Terkadang, dalam dunia pemrograman ada kasus dimana kita harus melakukan penggabungan kalimat, pemisahan kalimat, merubah sebuah kalimat menjadi huruf kapital, dan lainnya. Operasi tersebut disebut dengan manipulasi String.

Pada bahasa pemrograman PHP sendiri disediakan beberapa fungsi yang digunakan untuk operasi manipulasi String. Kita akan bahas satu persatu.

1. Concat

Untuk menggabungkan beberapa kata atau Kalimat pada PHP, disebut dengan concatenation. Di PHP sendiri ada beberapa cara yang populer untuk melakukan concat.

// Menggunakan karakter (.) : 
$namaDepan = "Rafi";
$namaBelakang = "Izzatul";
$namaLengkap = $namaDepan . " " . $namaBelakang;
echo $namaLengkap; 
// output : Rafi Izzatul
// Menggunakan interpolasi
$namaDepan = "Rafi";
$namaBelakang = "Izzatul";
$namaLengkap = "$namaDepan $namaBelakang";
echo $namaLengkap; 
// output : Rafi Izzatul

2. substr

substr merupakan fungsi yang digunakan untuk mengambil beberapa karakter dari sebuah Kalimat atau kata. Fungsi ini memiliki 3 parameter, yaitu nilai string yang akan digunakan, index awalan, dan juga index akhir. Indexnya diambil sesuai dengan urutan karakter yang ada di Kalimat tersebut. (Karakter pertama berindex 0).

$namaLengkap = "Rafi Izzatul";
$namaBelakang = substr($namaLengkap, 5, 12);
echo $namaBelakang; 
// output : Izzatul

3. strpos

Untuk mengecek Apakah sebuah Kalimat mengandung karakter yang kita tentukan atau tidak, kita bisa memakai fungsi strpos. Fungsi ini akan mengembalikan atau menghasilkan boolean true jika Kalimat tersebut mengandung karakter yang kita inputkan. Sebaliknya, fungsi contains akan menghasilkan boolean false jika Kalimat tersebut tidak mengandung Kalimat yang kita inputkan.

$namaLengkap = "Rafi Izzatul";
echo strpos($namaLengkap, "afi"); 
// output : 1 (artinya true)

4. strtolower

strtolower adalah fungsi yang digunakan untuk merubah Kalimat atau karakter menjadi huruf kecil. 

$namaDepan = "RAFI";
echo strtolower($namaDepan); 
// output : rafi

5. strtoupper

Kebalikan dari fungsi strtolower, fungsi strtoupper adalah fungsi yang digunakan untuk merubah Kalimat atau karakter menjadi huruf kapital.

$namaBelakang = "izzatul";
echo strtoupper($namaBelakang); 
// output : IZZATUL

6. str_replace

Fungsi str_replace merupakan fungsi yang digunakan untuk mengganti karakter yang ada di dalam String menjadi karakter baru yang kita inginkan. Fungsi ini mempunyai 3 parameter. Parameter yang pertama berisi karakter apa yang ingin kita ganti dalam sebuah string. Parameter yang kedua berisi karakter baru yang akan menggantikan karakter lama yang kita isi pada parameter pertama. Dan paramater yang terakhir diisi dengan value string nya.

$greeting = "Hai";
echo str_replace("a", "e", $greeting); 
// output : Hei

7. strlen

strlen adalah fungsi yang digunakan untuk menghitung berapa banyak jumlah karakter yang ada di dalam sebuah String.

$namaLengkap = "Rafi Izzatul";
echo strlen($namaLengkap); 
// output : 12

Oke teman teman, sekian dulu artikel kali ini. Sampai jumpa di artikel berikutnya.

Kotlinized : Cara Manipulasi String pada Kotlin

Kotlinized : Cara Manipulasi String pada Kotlin

Halo teman – teman, pada artikel kali ini kita akan membahas mengenai manipulasi variable tipe dengan tipe data String pada bahasa Kotlin.

String merupakan salah satu tipe data non – primitif yang digunakan untuk menampung kalimat, kata – kata, atau kumpulan karakter.

Terkadang, dalam dunia pemrograman ada kasus dimana kita harus melakukan penggabungan kalimat, pemisahan kalimat, merubah sebuah kalimat menjadi huruf kapital, dan lainnya. Operasi tersebut disebut dengan manipulasi String.

Pada bahasa pemrograman Kotlin sendiri disediakan beberapa fungsi yang digunakan untuk operasi manipulasi String. Kita akan bahas satu persatu.

1. Concat

Untuk menggabungkan beberapa kata atau Kalimat pada Kotlin, disebut dengan concatenation. Di Kotlin sendiri ada beberapa cara yang populer untuk melakukan concat.

// Menggunakan karakter (+) : 
var namaDepan = "Rafi"
var namaBelakang = "Izzatul"
var namaLengkap = namaDepan + " " + namaBelakang
println(namaLengkap)
// output : Rafi Izzatul
// Menggunakan interpolasi
var namaDepan = "Rafi"
var namaBelakang = "Izzatul"
var namaLengkap = "$namaDepan $namaBelakang"
println(namaLengkap)
// output : Rafi Izzatul

2. Substring

Substring merupakan fungsi yang digunakan untuk mengambil beberapa karakter dari sebuah Kalimat atau kata. Fungsi ini memiliki 2 parameter, yaitu index awalan dan juga index akhir. Indexnya diambil sesuai dengan urutan karakter yang ada di Kalimat tersebut. (Karakter pertama berindex 0).

var namaLengkap = "Rafi Izzatul"
var namaBelakang = namaLengkap.substring(5, 12)
println(namaBelakang)
// output : Izzatul

3. Contains

Untuk mengecek Apakah sebuah Kalimat mengandung karakter yang kita tentukan atau tidak, kita bisa memakan fungsi contains. Fungsi ini akan mengembalikan atau menghasilkan boolean true jika Kalimat tersebut mengandung karakter yang kita inputkan. Sebaliknya, fungsi contains akan menghasilkan boolean false jika Kalimat tersebut tidak mengandung Kalimat yang kita inputkan.

var namaLengkap = "Rafi Izzatul"
println(namaLengkap.contains("afi"))
// output : true

println(namaLengkap.contains("Faris"))
// output : false

4. ToLowerCase

ToLowerCase adalah fungsi yang digunakan untuk merubah Kalimat atau karakter menjadi huruf kecil. 

var namaDepan = "RAFI"
println(namaDepan.toLowerCase())
// output : rafi

5. ToUpperCase

Kebalikan dari fungsi ToLowerCase, fungsi ToUpperCase adalah fungsi yang digunakan untuk merubah Kalimat atau karakter menjadi huruf kapital.

var namaBelakang = "izzatul"
println(namaBelakang.toUpperCase())
// output : IZZATUL 

6. Replace

Fungsi Replace merupakan fungsi yang digunakan untuk mengganti karakter yang ada di dalam String menjadi karakter baru yang kita inginkan. Fungsi ini mempunyai 2 parameter. Parameter yang pertama berisi karakter apa yang ingin kita ganti dalam sebuah string. Parameter yang kedua berisi karakter baru yang akan menggantikan karakter lama yang kita isi pada parameter pertama.

var greeting = "Hai"
println(greeting.replace("a", "e"))
// output : Hei

7. Length

Length adalah fungsi yang digunakan untuk menghitung berapa banyak jumlah karakter yang ada di dalam sebuah String.

var namaLengkap = "Rafi Izzatul"
println(namaLengkap.length)
// output : 12

Oke teman teman, sekian dulu artikel kali ini. Sampai jumpa di artikel berikutnya.

Tutorial Aktivasi Kode Voucher Di Zahran Premium

Halo teman – teman, kali ini kita akan membahas mengenai cara aktivasi kode voucher di aplikasi Zahran ABC premium.

Aplikasi Zahran ABC sendiri merupakan sebuah aplikasi pembelajaran mengenal huruf dan angka untuk anak yang dibungkus menjadi game interaktif. Aplikasi ini juga dilengkapi audio narasi untuk membantu anak lebih memahami materinya.

Di dalamnya game terdapat dua mode utama, yaitu mode belajar dan mode arcade.

Pada mode belajar, anak-anak akan belajar mengenal huruf dari A-Z serta angka dari 1-10. Selain itu juga terdapat quiz agar anak – anak bisa mengingat setiap huruf dan angka yang telah dipelajari.

Pada mode arcade, terdapat 8 mini game yang seru. Sehingga anak – anak dapat belajar sambil bermain.

Link download aplikasi game Zahran ABC ada disini.

Selain versi gratisnya, Zahran ABC juga menyediakan versi premium untuk bisa mengakses konten yang lebih lengkap. Berikut adalah cara untuk aktivasi kode voucher premiumnya.

1. Form konfirmasi orang tua

Zahran ABC dilengkapi dengan form konfirmasi orang tua yang digunakan untuk memastikan bahwa orang tua dari anak mengetahui bahwa akan ada transaksi pada game Zahran ABC.

2. Pilih metode pembayaran

Selanjutnya pilih metode transaksinya. Zahran ABC mempunyai beberapa pilihan metode pembayaran, anda bisa memilih metode yang sesuai dengan kondisi anda.

3. Pilih Reedem Code

Jika anda memiiki kode voucher zahran ABC Premium, silahkan Pilih “Reedem code” untuk menggunakan kode voucher tersebut.

4. Masukkan kode voucher

Lalu, akan dibawa pada form pengisian kode vouchernya.

5. Ketikkan kode vouchernya

Masukkan kode voucher pada form sesuai yang anda miliki. Setelah itu klik tombol “redeem”.

6. Pengecekan kode

Selanjutnya, kode voucher yang dimasukkan akan dicek oleh sistem.

7. Menambahkan item

Ketika berhasil, maka akan muncul tampilan seperti diatas. Tekan tombol “Add Item” dan zahran ABC premium sudah bisa anda gunakan.

Oke teman teman, Begitulah cara aktivasi kode voucher di aplikasi zahran ABC premium. Sekian dulu artikel dan semoga bermanfaat. Sampai jumpa di artikel berikutnya.

Flutterize : Cara Manipulasi String pada Dart

Flutterize : Cara Manipulasi String pada Dart

Halo teman – teman, pada artikel kali ini kita akan membahas mengenai manipulasi variable tipe dengan tipe data String pada bahasa Dart.

String merupakan salah satu tipe data non – primitif yang digunakan untuk menampung kalimat, kata – kata, atau kumpulan karakter.

Terkadang, dalam dunia pemrograman ada kasus dimana kita harus melakukan penggabungan kalimat, pemisahan kalimat, merubah sebuah kalimat menjadi huruf kapital, dan lainnya. Operasi tersebut disebut dengan manipulasi String.

Pada bahasa pemrograman Dart sendiri disediakan beberapa fungsi yang digunakan untuk operasi manipulasi String. Kita akan bahas satu persatu.

1. Concat

Untuk menggabungkan beberapa kata atau Kalimat pada Dart, disebut dengan concatenation. Di Dart sendiri ada beberapa cara yang populer untuk melakukan concat.

// Menggunakan karakter (+) : 
String namaDepan = "Rafi";
String namaBelakang = "Izzatul";
String namaLengkap = namaDepan + " " + namaBelakang;
print(namaLengkap); 
// output : Rafi Izzatul
// Menggunakan interpolasi
String namaDepan = "Rafi";
String namaBelakang = "Izzatul";
String namaLengkap = "$namaDepan $namaBelakang";
print(namaLengkap); 
// output : Rafi Izzatul

2. Substring

Substring merupakan fungsi yang digunakan untuk mengambil beberapa karakter dari sebuah Kalimat atau kata. Fungsi ini memiliki 2 parameter, yaitu index awalan dan juga index akhir. Indexnya diambil sesuai dengan urutan karakter yang ada di Kalimat tersebut. (Karakter pertama berindex 0).

String namaLengkap = “Rafi Izzatul”;
String namaBelakang = namaLengkap.substring(5, 12);
print(namaBelakang); 
// output : Izzatul

3. Contains

Untuk mengecek Apakah sebuah Kalimat mengandung karakter yang kita tentukan atau tidak, kita bisa memakan fungsi contains. Fungsi ini akan mengembalikan atau menghasilkan boolean true jika Kalimat tersebut mengandung karakter yang kita inputkan. Sebaliknya, fungsi contains akan menghasilkan boolean false jika Kalimat tersebut tidak mengandung Kalimat yang kita inputkan.

String namaLengkap = "Rafi Izzatul";
print(namaLengkap.contains("afi")); 
// output : true

print(namaLengkap.contains("Faris")); 
// output : false

4. ToLowerCase

ToLowerCase adalah fungsi yang digunakan untuk merubah Kalimat atau karakter menjadi huruf kecil. 

String namaDepan = "RAFI";
print(namaDepan.toLowerCase()); 
// output : rafi

5. ToUpperCase

Kebalikan dari fungsi ToLowerCase, fungsi ToUpperCase adalah fungsi yang digunakan untuk merubah Kalimat atau karakter menjadi huruf kapital.

String namaBelakang = "izzatul";
print(namaBelakang.toUpperCase()); 
// output : IZZATUL 

6. ReplaceAll

Fungsi ReplaceAll merupakan fungsi yang digunakan untuk mengganti karakter yang ada di dalam String menjadi karakter baru yang kita inginkan. Fungsi ini mempunyai 2 parameter. Parameter yang pertama berisi karakter apa yang ingin kita ganti dalam sebuah string. Parameter yang kedua berisi karakter baru yang akan menggantikan karakter lama yang kita isi pada parameter pertama.

String greeting = "Hai";
print(greeting.replaceAll("a", "e")); 
// output : Hei

7. Length

Length adalah fungsi yang digunakan untuk menghitung berapa banyak jumlah karakter yang ada di dalam sebuah String.

String namaLengkap = "Rafi Izzatul";
print(namaLengkap.length); 
// output : 12

Oke teman teman, sekian dulu artikel kali ini. Sampai jumpa di artikel berikutnya.

Javanized : Cara Manipulasi String pada Java

Javanized : Cara Manipulasi String pada Java

Halo teman – teman, pada artikel kali ini kita akan membahas mengenai manipulasi variable tipe dengan tipe data String pada bahasa Java.

String merupakan salah satu tipe data non – primitif yang digunakan untuk menampung kalimat, kata – kata, atau kumpulan karakter.

Terkadang, dalam dunia pemrograman ada kasus dimana kita harus melakukan penggabungan kalimat, pemisahan kalimat, merubah sebuah kalimat menjadi huruf kapital, dan lainnya. Operasi tersebut disebut dengan manipulasi String.

Pada bahasa pemrograman Java sendiri disediakan beberapa fungsi yang digunakan untuk operasi manipulasi String. Kita akan bahas satu persatu.

1. Concat

Untuk menggabungkan beberapa kata atau Kalimat pada Java, disebut dengan concatenation. Di Java sendiri ada beberapa cara untuk melakukan concat.

// Menggunakan karakter (+) : 
String namaDepan = "Rafi";
String namaBelakang = "Izzatul";
String namaLengkap = namaDepan + " " + namaBelakang; 
System.out.println(namaLengkap);
// output : Rafi Izzatul
// Menggunakan fungsi concat
String namaDepan = “Rafi ”;
String namaBelakang = “Izzatul”;
String namaLengkap = namaDepan.concat(namaBelakang);
System.out.println(namaLengkap); 
// output : Rafi Izzatul

2. Substring

Substring merupakan fungsi yang digunakan untuk mengambil beberapa karakter dari sebuah Kalimat atau kata. Fungsi ini memiliki 2 parameter, yaitu index awalan dan juga index akhir. Indexnya diambil sesuai dengan urutan karakter yang ada di Kalimat tersebut. (Karakter pertama berindex 0).

String namaLengkap = “Rafi Izzatul”;
String namaBelakang = namaLengkap.substring(5, 12);
System.out.println(namaBelakang); 
// output : Izzatul

3. Contains

Untuk mengecek Apakah sebuah Kalimat mengandung karakter yang kita tentukan atau tidak, kita bisa memakan fungsi contains. Fungsi ini akan mengembalikan atau menghasilkan boolean true jika Kalimat tersebut mengandung karakter yang kita inputkan. Sebaliknya, fungsi contains akan menghasilkan boolean false jika Kalimat tersebut tidak mengandung Kalimat yang kita inputkan.

String namaLengkap = "Rafi Izzatul";
System.out.println(namaLengkap.contains(“afi")); 
// output : true

System.out.println(namaLengkap.contains(“Faris”));
// output : false

4. ToLowerCase

ToLowerCase adalah fungsi yang digunakan untuk merubah Kalimat atau karakter menjadi huruf kecil. 

String namaDepan = “RAFI”;
System.out.println(namaDepan.toLowerCase()); 
// output : rafi

5. ToUpperCase

Kebalikan dari fungsi ToLowerCase, fungsi ToUpperCase adalah fungsi yang digunakan untuk merubah Kalimat atau karakter menjadi huruf kapital.

String namaBelakang = “izzatul”;
System.out.println(namaBelakang.toUpperCase()); 
// output : IZZATUL 

6. Replace

Fungsi Replace merupakan fungsi yang digunakan untuk mengganti karakter yang ada di dalam String menjadi karakter baru yang kita inginkan. Fungsi ini mempunyai 2 parameter. Parameter yang pertama berisi karakter apa yang ingin kita ganti dalam sebuah string. Parameter yang kedua berisi karakter baru yang akan menggantikan karakter lama yang kita isi pada parameter pertama.

String greeting = “Hai”;
System.out.println(greeting.replace("a", “e")); 
// output : Hei

7. Length

Length adalah fungsi yang digunakan untuk menghitung berapa banyak jumlah karakter yang ada di dalam sebuah String.

String namaLengkap = “Rafi Izzatul”;
System.out.println(namaLengkap.length()); 
// output : 12

Oke teman teman, sekian dulu artikel kali ini. Sampai jumpa di artikel berikutnya.

Flutterize : Pengenalan Class pada Dart

Flutterize : Pengenalan Class pada Dart

Halo teman teman, pada artikel kali ini kita akan membahas mengenai pengenalan class pada Dart.

Class adalah sebuah blueprint, class bertugas menampung method-method dan variabel variabel terkait. Contohnya tentang pembuatan skema untuk membuat sebuah bangunan. Bangunan adalah objek dan skema adalah cetak biru (class). Objek sendiri merupakan sebuah variabel, yang merupakan representasi atau perwujudan dari class. 

Dalam penulisan nama class harus diawali dengan huruf kapital. Untuk membuat private variable atau method yang ada di dalam class tersebut adalah dengan cara menambahkan prefix ‘_’ di bagian depan nama variable atau method terkait.

Salah satu anggota class yang sering dipakai adalah constructor. Constructor merupakan sebuah method dimana kita bisa memberi nilai awal untuk class variable. Constructor akan langsung dieksekusi ketika sebuah objek dibuat.

Aturan constructor :

  1. Nama constructor harus sama dengan nama class.
  2. constructor tidak memiliki return value.

Berikut adalah contoh pembuatan class pada bahasa Dart.

void main() {

/*
Pembuatan objek john dari class Person
*/
  var john = Person('john', 'wick');
/*
Pemanggilan method greeting dari objek john
*/
  print(john.greeting());
}

/*
Pembuatan class Person
*/
class Person {

/*
Deklarasi variable
*/
  String firstName;
  String lastName;
  final String _level = "A rank";
  
/*
Pembuatan constructor dari class Person
*/
  Person(this.firstName, this.lastName);
  
  String greeting(){
    return "Hello, ${_getFullName()}";
  }

  String _getFullName(){
    return "$firstName $lastName";
  }
}

Oke teman teman, sekian dulu artikel kali ini. Sampai jumpa di artikel berikutnya.

Flutterize : Pengenalan Method pada Dart

Flutterize : Pengenalan Method pada Dart

Halo teman teman, pada artikel kali ini kita akan membahas mengenai pengenalan method atau function pada Dart.

Method adalah sebuah blok kode yang terdapat di dalam body class. Method dapat memecah kode menjadi sub-sub kode, sehingga kita bisa membuat program lebih efisien. Method dapat eksekusi berkali-kali dan biasanya method dibuat untuk menyelesaikan sebuah masalah yang khusus.

Jenis Method

Terdapat 2 jenis method di di dalam bahasa Dart. Method void dan non – void.

1. Method Void

Method void adalah method yang tidak mengembalikan nilai apapun setelah dieksekusi. Artinya, hanya melakukan sebuah proses.

2. Method Non – Void

Method non – void adalah method yang mengembalikan suatu nilai setelah dieksekusi.

Cara Penulisan

Ada beberapa cara penulisan method di dalam bahasa Dart. 

1. Penulisan method secara dinamis.

addOperation(int x, int y){
  return x + y;
}

addOperation(int x, int y){
  print(x + y);
}

/* 
Dart akan mendeteksi secara otomatis. Method yang memiliki return maka akan dianggap sebagai method non - void.
/*

2. Penulisan method void.

void addOperation(int x, int y){
  print(x + y);
}

/*
Urutan penulisannya adalah yang pertama keyword void nya. Yang kedua nama methodnya. Yang ketiga bagian paramaternya. Dan yang terakhir bagian isi blok kode nya. 
/*

3. Penulisan method non – void.

int addOperation(int x, int y){
  return x + y;
}

/*
Urutan penulisannya adalah yang pertama tipe data nilai yang akan dikembalikan. Yang kedua nama methodnya. Yang ketiga bagian parameternya. Dan yang terakhir bagian isi blok kode nya.
*/

Oke teman teman, sekian dulu artikel kali ini. Sampai jumpa di artikel berikutnya.

Flutterize : Pengenalan Variable pada Dart

Flutterize : Pengenalan Variable pada Dart

Halo teman teman, pada artikel kali ini kita akan membahas mengenai pengenalan variabel pada Dart.

Variabel adalah tempat penampungan data pada program yang kita buat sesuai dengan tipe datanya. Variabel sendiri akan disimpan ke dalam memori ketika program dijalankan dan akan dihapus ketika program dihentikan.

Tipe data merupakan sebuah pengklasifikasian data berdasarkan jenis data tersebut. Ada banyak tipe data dalam flutter. Contohnya adalah String, tipe data yang menampung teks.

Tipe data dibagi menjadi 2 Jenis. Yaitu tipe data primitif dan non-primitif.

Tipe data primitif merupakan tipe data dasar yang tersedia secara langsung pada suatu bahasa pemrograman.

Beberapa tipe data pada Dart

1. Number

Contohnya adalah int dan double. Adalah tipe data yang merepresentasikan angka.

int age = 18;

2. Strings

Contohnya adalah String. Adalah tipe data yang merepresentasikan teks.

String name = "Faris";

3. Booleans

Contohnya adalah Boolean. Adalah tipe data yang merepresentasikan Boolean true dan false.

bool isMarried = false;

4. Lists

Contohnya adalah List. Adalah tipe data yang merepresentasikan banyak kumpulan data dengan tipe data yang ditentukan.

List<String> memberNameList = ["Faris", "Angga", "Budi"];

5. Maps

Contohnya adalah Map. Adalah tipe data yang merepresentasikan data dengan pasangan key dan value.

Map<String, dynamic> myIdentity = {
  "name" : "Faris",
  "age" : 18,
  "hobby" : "Membaca"
};

Penulisan variable pada Dart

Secara dinamis

Yaitu cara penulisan variable yang tidak mendefinisikan tipe datanya secara langsung. Tipe data ini akan dideteksi otomatis oleh Dart sesuai dengan tipe data dari isi variable tersebut.

var name = "Faris";

Secara eksplisit

Yaitu penulisan variable dengan tipe datanya, misalnya kita ingin membuat variable age yang harus bertipe angka/number.

int age = 18;

Final/const variable

Cara penulisan variabel yang digunakan untuk membuat sebuah data menjadi tidak bisa diubah lagi value nya.

final someFinalVariable = "This is final variable";
const someConstantVariable = "This is constant variable";

Oke teman teman, sekian dulu artikel kali ini. Sampai jumpa di artikel berikutnya.

Flutterize : Membuat Splash Screen di Flutter

Flutterize : Membuat Splash Screen di Flutter

Halo teman teman, pada artikel kali ini kita akan membahas mengenai pembuatan splash screen pada aplikasi yang dibuat dengan Flutter.

Splash screen sendiri adalah tampilan pertama ketika kita menjalankan sebuah aplikasi.

Contoh splash screen :

Contoh splash screen

Pertama, buat projectnya terlebih dahulu. Kita beri nama splash_app.

Create New Flutter Project

Lalu buat kelas Statefull untuk menampung tampilan splash screen.

class SplashScreen extends StatefulWidget {
  const SplashScreen({Key? key}) : super(key: key);

  @override
  _SplashScreenState createState() => _SplashScreenState();
}

class _SplashScreenState extends State<SplashScreen> {
  @override
  Widget build(BuildContext context) {
    return Scaffold();
  }
}

Jangan lupa untuk mengganti value dari parameter home pada MaterialApp yang ada pada kelas MyApp.

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: SplashScreen(),
    );
  }
}

Setelah itu, buat tampilan splash screen nya terlebih dahulu pada class _SplashScreenState.

    return Scaffold(
      backgroundColor: Colors.blue,
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: [
            Icon(
              Icons.map,
              color: Colors.white,
              size: 70,
            ),
            SizedBox(
              height: 10,
            ),
            Text(
              "Mappy",
              style: TextStyle(
                color: Colors.white,
                fontSize: 30,
                fontWeight: FontWeight.w700,
              ),
            ),
          ],
        ),
      ),
    );

Setelah itu, kita akan membuat method yang akan dijalankan ketika splash screen nya ditampilkan.

  void movingToNextScreen() {
    Timer(Duration(seconds: 3,), () {});
  }

Pada kode tersebuh, kita juga bisa mengatur berapa lama splash screen ditampilkan Sebelum dialihkan ke screen selanjutnya.

Panggil method tersebut pada body override method initState.

@override
  void initState() {
    super.initState();
    movingToNextScreen();
  }

Tambahkan HomeScreen untuk tampilan berikutnya.

import 'package:flutter/material.dart';

class HomeScreen extends StatefulWidget {
  const HomeScreen({Key? key}) : super(key: key);

  @override
  _HomeScreenState createState() => _HomeScreenState();
}

class _HomeScreenState extends State<HomeScreen> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Center(
        child: Text(
          "Ini Home Screen",
        ),
      ),
    );
  }
}

Pada bagian callback dari Timer nya, kita berikan fungsi untuk berpindah ke halaman HomeScreen.

void movingToNextScreen() {
    Timer(
        Duration(
          seconds: 3,
        ), () {
      Navigator.pushReplacement(
          context,
          MaterialPageRoute(
            builder: (context) => HomeScreen(),
          ));
    });
  }

Setelah itu, kalian bisa langsung jalankan aplikasinya.

Oke teman teman, sekian dulu artikel kali ini. Sampai jumpa di artikel berikutnya.

See Ya’

Link Project : Github

Flutterize : Membuat Todo List App Menggunakan Flutter dan Cloud Firestore (PART 4)

Flutterize : Membuat Todo List App Menggunakan Flutter dan Cloud Firestore (PART 4)

Setelah pada artikel sebelumnya kita sudah bisa membuat operasi delete, selanjutnya kita akan membuat operasi update pada aplikasi yang kita buat sebelumnya.

Pertama, buat screen untuk form update. Beri nama class nya UpdateScreen.

Sehingga kodenya menjadi seperti ini.

class UpdateScreen extends StatefulWidget {
final String documentId;
final String task;
final String description;
const UpdateScreen({Key key, this.documentId, this.task, this.description}) : super(key: key);

@override
_UpdateScreenState createState() => _UpdateScreenState();
}

class _UpdateScreenState extends State<UpdateScreen> {
@override
Widget build(BuildContext context) {
return Scaffold();
}
}

Jangan lupa untuk menambahkan property pada class UpdateScreen untuk menampung kiriman data dari layar sebelumnya.

Tambahkan parameter onTap pada widget ListTile. Berikan code untuk berpindah screen ke UpdateScreen.

ListTile(
onTap: () {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) =&gt; UpdateScreen(
description: snapshot.data.documents[index]['task'],
documentId: snapshot.data.documents[index].documentID,
task: snapshot.data.documents[index]['task'],
),
));
},
title: Text(snapshot.data.documents[index]['task']),
subtitle: Text(snapshot.data.documents[index]['description']),
),

Selanjutnya, tambahkan property GlobalKey untuk FormState. Juga TextEdittingController untuk TextFormField title dan description.

final updateFormKey = GlobalKey<FormState&gt;();
TextEditingController titleTaskController = TextEditingController();
TextEditingController descTaskController = TextEditingController();

Lalu isi teks dari TextFormField nya dengan cara memanggil TextEdittingController nya pada override method initState().

@override
  void initState() {
    super.initState();
    titleTaskController.text = widget.task;
    descTaskController.text = widget.description;
  }

Selanjutnya, buat layout untuk tamnpilan UpdateScreen

    return Scaffold(
      appBar: AppBar(
        title: Text("Update Task"),
        leading: IconButton(
          onPressed: () =&gt; Navigator.pop(context),
          icon: Icon(Icons.arrow_back),
        ),
      ),
      body: SingleChildScrollView(
        padding: EdgeInsets.all(20),
        child: Form(
          autovalidateMode: AutovalidateMode.always,
          key: updateFormKey,
          child: Column(
            crossAxisAlignment: CrossAxisAlignment.start,
            mainAxisAlignment: MainAxisAlignment.center,
            children: [
              Text(
                "Task Name",
                style: TextStyle(
                  fontWeight: FontWeight.w600,
                ),
              ),
              SizedBox(
                height: 8,
              ),
              TextFormField(
                validator: (value) {
                  if (value.isEmpty || value.trim().length == 0) {
                    return "Task name cannot be empty";
                  }
                  return null;
                },
                controller: titleTaskController,
                style: TextStyle(
                  color: Colors.black,
                ),
                decoration: InputDecoration(
                  border: OutlineInputBorder(),
                  hintText: "Update Task Name....",
                ),
              ),
              SizedBox(
                height: 12,
              ),
              Text(
                "Task Description",
                style: TextStyle(
                  fontWeight: FontWeight.w600,
                ),
              ),
              SizedBox(
                height: 8,
              ),
              TextFormField(
                controller: descTaskController,
                validator: (value) {
                  if (value.isEmpty || value.trim().length == 0) {
                    return "Task description cannot be empty";
                  }
                  return null;
                },
                style: TextStyle(
                  color: Colors.black,
                ),
                maxLines: 4,
                decoration: InputDecoration(
                  border: OutlineInputBorder(),
                  hintText: "Update Task Description....",
                ),
              ),
              SizedBox(
                height: 24,
              ),
              FlatButton(
                minWidth: MediaQuery.of(context).size.width,
                padding: EdgeInsets.all(10),
                color: Colors.blue,
                shape: RoundedRectangleBorder(
                  borderRadius: BorderRadius.circular(10),
                ),
                child: Text(
                  "Submit",
                  style: TextStyle(
                    color: Colors.white,
                    fontSize: 20,
                  ),
                ),
                onPressed: () async {
                },
              ),
            ],
          ),
        ),
      ),
    );

Lalu tambahkan code proses update ketika tomboy submit di tekan.

if (updateFormKey.currentState.validate()) {
progressDialog(context).show();

Firestore firestore = Firestore.instance;

DocumentReference reference = firestore.document("todo/${widget.documentId}");
firestore.runTransaction((transaction) async {
DocumentSnapshot snapshot = await transaction.get(reference);

if (snapshot.exists){
transaction.update(reference, <String, dynamic>{
'task': titleTaskController.text.toString(),
'description': descTaskController.text.toString(),
}).then((value) {
progressDialog(context).hide();
successAlert("Success", "Success Insert Task", context);
}).catchError((error){
progressDialog(context).hide();
errorAlert("Failed", "Failed to Insert Task", context);
});
}

}).then((value) {
progressDialog(context).hide();
successAlert("Success", "Success Insert Task", context);
}).catchError((error){
progressDialog(context).hide();
errorAlert("Failed", "Failed to Insert Task", context);
});

} else {
errorAlert("Failed", "Please fill all the fields", context);
}

Untuk final aplikasi bisa kalian clone project di link GitHub dibawah.

See Ya’

Link Project : Github