Skip to content

Instantly share code, notes, and snippets.

@manofi21
manofi21 / currency_formatter.md
Last active May 9, 2024 03:54
Input Formatter yang bisa digunakan untuk otomatis menambahkan

💲 Currenty Formatter

import 'package:flutter/services.dart';

class CurrencyFormatter extends TextInputFormatter {
  // adding money separator (like point)
  RegExp pointingString(int modulreResult) =>
      RegExp('(?<=.{${modulreResult == 0 ? 3 : modulreResult}}).{3}');
  
  // checkking string money format

🚧 Melakukan set up widget

Buat master tabbar dengan widget standar berikut di file master_tabbar:

// ignore_for_file: public_member_api_docs, sort_constructors_first
import 'package:flutter/material.dart';

import '../model/master_tabbar_page_model.dart';

/// Current Condition of Widget:
/// 1. onPressed : Disable
@manofi21
manofi21 / regex.md
Last active March 23, 2024 13:08
Cheet sheet pribadi mengenai impl regexp di flutter

Sheet of RegExp

  1. 1️⃣ A single Character ([])
    Matches tiap character di dalam kurung siku "[]".

Jika karater/kalimat yang coba di cek kecocokannya memiliki beberapa atau semua karakter yang ada dalam siku di Regex, maka karakter bernilai true.

  RegExp exp = RegExp(r'[abc]');

contoh list => 10, 7, 8, 9, 1, 5
arr = [10, 7, 8, 9, 1, 5]
for the line of code:

void quickSort(List<int> arr, int low, int high) {
  if (low >= high) return;
  int pi = partision(arr, low, high);

  quickSort(arr, low, pi - 1);
 quickSort(arr, pi + 1, high);

🏹 Selection Sort

📝 Deskripsi

Sorting ini akan dimulai dengan deklarasi index = 0. Setelah itu mencari nilai yang paling kecil dari list, lalu menukarkan posisi nilai terkecil dengan nilai di index saat ini.

Lalu index berpindah ke index = 1, dan mengulang bagian sebelumnya. Index bertambah dan mengulang pencarian sampai index mencapai index ke-2 dari akhir list(Misalkan : index terakhir list = 4(index pertama dari akhir), maka akhir index di index = 3)

Pencarian nilai tidak lagi melakukan cek ke nilai index dibawahnya, jadi jika index sudah di index = 1, index = 0 tidak akan diperiksa dan seterusnya

🖼️ Visualisasi

import 'dart:math';
void main() {
// case 0
// final townPopulation = [8, 10, 100, 40];
// final townLocation = [4, 5, 100, 120];
// final couldLocation = [4];
// final coludExtendCoverage = [1];
// case 1

Comparation Dart x C#

final listValue = <int>[1,2,3];
listValue.fold(0, (a, b) => a + b);
@manofi21
manofi21 / a. how to install Windows in MV.md
Last active July 31, 2023 05:48
medium_source_and_todo_list.md #Daily
@manofi21
manofi21 / How to detect mock position.md
Created June 2, 2023 04:11
Check posisi user apakah melakukan mocked atau tidak.

pake Geolocator bisa https://pub.dev/packages/geolocator

// Get current position with desired accuracy
Position position = await Geolocator.getCurrentPosition(
  desiredAccuracy: LocationAccuracy.best,
);

// Detect mock location and handle it
if (position.isMocked) {
@manofi21
manofi21 / stikcy_infinty_list_note.md
Last active April 13, 2023 14:02
Rendering Notes #Rendering

render Class widget.

  1. extends by RenderStack

=> attach, detach, describeApproximatePaintClip, paint, computeDryLayout, performLayout, computeMinIntrinsicWidth, computeMaxIntrinsicWidth, computeMinIntrinsicHeight, computeMaxIntrinsicHeight

  1. Override function: a. attach sebuah method yang digunakan untuk menambahkan atau melekatkan sebuah AbstractNode ke dalam widget tree yang ada. b. detach memutuskan semua hubungan yang dimilikinya dengan widget dan objek lain yang terkait di dalam pohon widget, dan melepaskan semua sumber daya yang terkait dengan widget tersebut.