Mengelola Library Pada Dart

Mengelola Library Pada Dart

Library dalam bahasa pemrograman merupakan kumpulan instruksi pemrograman dalam bentuk function (fungsi), class, constant, typedef, property yang siap untuk dipakai. Dart memiliki sekumpulan library bawaan yang berguna untuk menyimpan function (fungsi), class, constant, typedef, property yang sering digunakan.

Mengimport Library #

Kata kunci import digunakan untuk mengimport suatu library ke dalam suatu aplikasi Dart. Sebuah file script Dart dapat memiliki beberapa pernyataan import untuk mengimport beberapa library sekaligus.

Berikut adalah cara penulisan untuk mengimpor library dengan menggunakan Dart.

import 'URI'

Perhatikan potongan kode berikut :

import 'dart:io' 
import 'package:lib1/libfile.dart' 

Jika Anda ingin menggunakan hanya sebagian dari isi sebuah library, Anda dapat mengimpor library secara selektif. Berikut adalah cara penulisan untuk melakukan hal tersebut :

import 'package: lib1/lib1.dart' show foo, bar;  
// Hanya mengimport foo dan bar. 

import 'package: mylib/mylib.dart' hide foo;  
// Mengimport semua isi library kecuali foo

Beberapa library yang umum digunakan dapat dilihat di bawah ini

No Library & Deskripsi
1 dart: io
Berisi fungsi-fungsi untuk mengelola File, Socket, HTTP, dan dukungan I/O lainnya untuk aplikasi server. Libary ini tidak berfungsi di aplikasi berbasis browser. Library ini diimpor secara default.
2 dart: core
Libarary bawaan dan default untuk bahasa pemrograman Dart dan berisis class, function, typedef, constant dan property inti dari bahasa pemrograman Dart. Library ini diimpor secara otomatis.
3 dart: math
Library yang berisi semua class, fungsi, typedef, constant dan property yang berhubungan dengan operasi matematika.
4 dart: convert
Library Encoder dan Decoder untuk mengubah dan representasi format data yang berbeda-beda, termasuk JSON dan UTF-8.
5 dart: typed_data
Libarary yang menangani data yang berukuran tetap, misal unsigned 8 byte integers.

Menggunakan Library #

Berikut contoh mengimpor library bawaan dart: math kemudian melakukan pemanggilan fungsi sqrt() dengan menggunakan library math. Fungsi ini mengembalikan akar kuadrat dari bilangan yang diberikan kepadanya.

import 'dart:math'; 
void main() { 
   print("Akar kuadrat dari 36 adalah: ${sqrt(36)}"); 
}

Kode di atas akan mengembalikan output berikut:

Akar kuadrat dari 36 adalah: 6.0

Encapsulation Menggunakan Library #

Dart dapat menambahkan awalan underscore ( _ ) pada pengenalnya untuk menandai komponen-komponen yang bersifat private. Secara sederhana, libraryDart dapat membatasi akses terhadap isi library tersebut (baik class, function, typedef dll) dari pemakaian aplikasi lain yang menggunakan library tersebut. Konseo ini disebut juga sebagai encapsulation. Berikut ada cara penulisan komponen dalam library yang bersifat private.

Cara Penulisan

_identifier

Contoh

Pertama, tentukan sebuah library dengan sebuah fungsi yang bersifat private. Masukkan kode dibawah ini ke dalam file baru dengan nama test.dart

library loggerlib;                            
void _log(msg) {
   print("Method log dipanggil didalam loggerlib msg:$msg");      
}

Selanjutnya, import library yang telah di buat diatas

import 'test.dart' as web; 
void main() { 
   web._log("Halo dari webloggerlib"); 
}

Kode di atas akan mengembalikan output berikut :

: Error: Method not found: '_log'.
main.dart:4
web._log("Halo dari webloggerlib");
^^^^

Membuat Library #

Dart juga memungkinkan Anda untuk menggunakan kode Anda sendiri sebagai Library. Membuat Library melibatkan langkah-langkah berikut:

Langkah 1: Mendeklarasikan Library

Untuk secara eksplisit mendeklarasikan library, gunakan library statement. Cara penulisan untuk mendeklarasikan library adalah sebagai berikut :

library namaLibrary  
// masukkan konten library disini 

Langkah 2: Menghubungkan Library

Anda dapat menghubungkan library dengan dua cara:

  • Dalam direktori yang sama
import 'namaLibrary'
  • Dari direktori yang berbeda
import 'dir/namaLibrary'

Contoh: Membuat Library

Pertama, mari kita definisikan library, calculator.dart.

library calculator_lib;  
import 'dart:math'; 

//import statement setelah statement library 
int add(int nomorPertama,int nomorKedua){ 
   print("Di dalam method add dari library Calculator") ; 
   return nomorPertama+nomorKedua; 
}  
int modulus(int nomorPertama,int nomorKedua){ 
   print("Di dalam method modulus dari library Calculator") ; 
   return nomorPertama%nomorKedua; 
}  
int random(int no){ 
   return new Random().nextInt(no); 
}

Selanjutnya, kita akan mengimpor library calculator.dart.

import 'calculator.dart';  
void main() {
   var num1 = 10; 
   var num2 = 20; 
   var sum = add(num1,num2); 
   var mod = modulus(num1,num2); 
   var r = random(10);  
   
   print("$num1 + $num2 = $sum"); 
   print("$num1 % $num2= $mod"); 
   print("nomor random $r"); 
} 

Program ini seharusnya menghasilkan output berikut:

Di dalam method add dari library Calculator
Di dalam method modulus dari library Calculator
10 + 20 = 30
10 % 20= 10
nomor random 8

Library Prefix #

Jika Anda mengimpor dua library dengan pengenal yang sama akan terjadi konflik, maka Anda dapat menentukan awalan untuk satu atau kedua library tersebut. Gunakan kata kunci ‘as‘ untuk menentukan awalan.

Cara Penulisan

import 'library_uri' as prefix

Contoh

Pertama-tama, mari kita definisikan sebuah library: loggerlib.dart.

library loggerlib;  
void log(msg){ 
   print("Method log dipanggil di dalam loggerlib msg:$msg");
}

Selanjutnya, kita akan mendefinisikan sebuah library lain: webloggerlib.dart.

library webloggerlib; 
void log(msg){ 
   print("Method log dipanggil di dalam webloggerlib msg:$msg"); 
} 

Selanjutnya, kita akan mengimpor library dengan awalan menggunakan kata kunci as.

import 'loggerlib.dart'; 
import 'webloggerlib.dart' as web;  

// prefix menghindari bentrokan nama fungsi 
void main(){ 
   log("halo dari loggerlib"); 
   web.log("halo dari webloggerlib"); 
}

Program yang telah dibuat di atas akan mengembalikan output

Method log dipanggil di dalam loggerlib msg:halo dari loggerlib 
Method log dipanggil di dalam webloggerlib msg:halo dari webloggerlib 

Tinggalkan Balasan

Keranjang Belanja0
Keranjang belanja kosong ...
0