Isi
Indeks 🔎︎

# Menggunakan Variabel

Penjelasan berikut menerangkan cara guna dasar variabel pada LibreOffice Basic.

## Penamaan Konvensi untuk Identifir Variabel

Sebuah nama variabel dapat terdiri dari maksimal 255 karakter. Karakter pertama dari nama variabel harus menggunakan huruf A-Z atau a-z. Bilangan juga dapat digunakan dalam nama variabel, tetapi simbol tanda baca dan karakter khusus tidak diizinkan, dengan pengecualian karakter garis bawah ("_"). Pada LibreOffice Pengidentifikasi variabel dasar tidak peka huruf besar kecil. Nama-nama variabel mungkin berisi spasi tetapi harus diapit oleh tanda kurung kurung siku jika mereka melakukannya.

Contoh untuk variabel pengenal:

        MyNumber=5      'Benar'
        MyNumber5=15    'Benar'
        MyNumber_5=20   'Benar'
        My Number=20    'Tidak valid, variabel dengan spasi harus dilampirkan dengan tanda kurung siku'
        [My Number]=12  'Benar'
        DéjàVu=25       'Tidak berlaku, karakter spesial tidak diperbolehkan'
        5MyNumber=12    'Tidak berlaku, variabel tidak diperbolehkan dimulai dengan sebuah nomor'
        Number,Mine=12  'Tidak valid, tanda hubung tidak diperbolehkan'

## Mendeklarasikan Variabel

Pada LibreOffice Basis anda tidak perlu mendeklarasikan variabel secara eksplisit. Deklarasi variabel dapat dilakukan dengan pernyataan Redup . Anda dapat mendeklarasikan lebih dari satu variabel sekaligus dengan memisahkan nama dengan koma. Untuk menentukan jenis variabel, gunakan salah satu deklarasi tipe tanda setelah nama, atau kata kunci yang sesuai.

Contoh untuk deklarasi variabel:

        Dim a$               'Deklarasi variabel "a" sebagai sebuah String'
        Dim a As String      'Deklarasi variabel "a" sebagai sebuah String'
        Dim a$, b As Integer 'Deklarasi satu variabel sebagai sebuah String dan satu sebagai Integer'
        Dim c As Boolean     'Deklarasi c sebagai variabel Boole yang dinyatakan dengan BENAR atau SALAH'

Sekali Anda mendeklarasikan sebuah variabel dalam jenis tertentu, Anda tidak dapat mendeklarasikan variabel tersebut lagi dalam nama yang sama dan jenis berbeda!

Saat Anda mendeklarasikan beberapa variabel dalam satu baris kode Anda perlu menentukan jenis setiap variabel. Jika tipe suatu variabel tidak ditentukan secara eksplisit, maka Basic akan menganggap bahwa variabel tersebut bertipe Varian.

      ' Kedua variabel "a" dan "b" bertipe Integer
      Dim a As Integer, b As Integer
      ' Variabel "c" adalah Varian dan "d" adalah Integer
      Dim c, d As Integer
      ' Variabel juga bisa dideklarasikan secara eksplisit sebagai Varian
      Dim e As Variant, f As Double

Tipe Varian adalah tipe data khusus yang bisa menyimpan semua jenis nilai. Untuk mempelajari lebih lanjut, lihat bagian Tipe Varian di bawah ini.

### Memaksakan Deklarasi Variabel

Untuk memaksakan pernyataan variabel, gunakanlah perintah berikut:

    Option Explicit

Pernyataan Option Explicit harus berada di baris pertama modul bersangkutan, sebelumnya SUB yang pertama. Umumnya, hanya susunan (array) yang perlu dinyatakan eksplisit. Sementara pernyataan bagi variabel lainnya bergantung pada karakter deklarasi yang diketikka, atau - apabila diabaikan - sebagai jenis utama Single (tunggal).

## Jenis-jenis Variabel

LibreOffice Basic mendukung empat kelas variabel:

- Variabel Numerik mengandung nilai-nilai angka. Beberapa variabel digunakan untuk menyimpan sejumlah besar maupun kecil angka, dan lainnya digunakan untuk titik ambang (floating-point) atau angka-angka hasil pembagian.

- Variabel String mengandung string-string karakter.

- Variabel Boolean mengandung nilai TRUE (benar) atau FALSE (salah).

- Variabel Objek digunakan untuk menyimpan sejumlah jenis objek, seperti tabel dan dokumen di dalam sebuah dokumen.

### Variabel Integer

Variabel integer berkisar dari -32768 hingga 32767. Jika Anda menetapkan nilai floating-point ke variabel integer, tempat desimal dibulatkan ke integer berikutnya. Variabel integer dengan cepat dihitung dalam prosedur dan cocok untuk variabel penghitung dalam perulangan. Variabel integer hanya membutuhkan dua byte memori. "%" adalah karakter deklarasi jenis.

    Dim Variable%
    Dim Variable As Integer

### Variabel Integer Panjang

Variabel integer panjang berkisar dari -2147483648 hingga 2147483647. Jika Anda menetapkan nilai titik-apung ke variabel integer panjang, desimal dibulatkan ke integer berikutnya. Variabel integer panjang dihitung dengan cepat dalam prosedur dan cocok untuk variabel cacah dalam perulangan untuk nilai besar. Variabel integer panjang membutuhkan empat byte memori. "&" adalah jenis karakter deklarasi.

    Dim Variable&
    Dim Variable As Long

### Variabel Desimal

Variabel desimal bisa berupa angka positif, negatif, atau kosong. Keakuratannya mencapai 29 digit.

Anda dapat memakai tanda tambah (+) atau kurang (-) sebagai awalan untuk angka desimal (dengan atau tanpa spasi).

Apabila angka desimal ditetapkan sebagai variabel integer (bilangan bulat), maka LibreOffice Basic akan membulatkan angka tersebut dengan pembulatan ke atas.

### Variabel Tunggal

Single variables can take positive or negative values ranging from 3.402823 x 10E38 to 1.401298 x 10E-45. Single variables are floating-point variables, in which the decimal precision decreases as the non-decimal part of the number increases. Single variables are suitable for mathematical calculations of average precision. Calculations require more time than for Integer variables, but are faster than calculations with Double variables. A Single variable requires 4 bytes of memory. The type-declaration character is "!".

    Dim Variable!
    Dim Variable As Single

### Variabel Ganda

Double variables can take positive or negative values ranging from 1.79769313486232 x 10E308 to 4.94065645841247 x 10E-324. Double variables are floating-point variables, in which the decimal precision decreases as the non-decimal part of the number increases. Double variables are suitable for precise calculations. Calculations require more time than for Single variables. A Double variable requires 8 bytes of memory. The type-declaration character is "#".

    Dim Variable#
    Dim Variable As Double

### Variabel Mata Uang

Variabel mata uang disimpan secara internal sebagai angka 64-bit (8 byte) dan ditampilkan sebagai sebuah nomor desimal tetap dengan 15 bukan desimal dan 4 tempat desimal. Nilai berkisar dari -922337203685477.5808 sampai +922337203685477.5808. Variabel mata uang digunakan untuk menghitung nilai mata uang dengan presisi tinggi. Karakter deklarasi tipe adalah "@".

    Dim Variable@
    Dim Variable As Currency

### Literal untuk integer

Nomor bisa dikodekan menggunakan bentuk oktal dan heksadesimal.

      xi = &o13 '    8 + 3
      ci = &h65 ' 6*16 + 5
      MAX_Integer =  &o77777 '  32767 = &h7FFF
      MIN_Integer = &o100000 ' -32768 = &h8000
      MAX_Long = &h7fffffff '  2147483647 = &o17777777777
      MIN_Long = &h80000000 ' -2147483648 = &o20000000000

### Variabel String

String variables can hold character strings with up to 2,147,483,648 characters. Each character is stored as the corresponding Unicode value. String variables are suitable for word processing within programs and for temporary storage of any non-printable character up to a maximum length of 2 Gbytes. The memory required for storing string variables depends on the number of characters in the variable. The type-declaration character is "$".

In BASIC String functions, the first character of the string has index 1.

    Dim Variable$
    Dim Variable As String

### Variabel Boolean

Variabel boolean hanya menyimpan salah satu dari dua nilai: TRUE atau FALSE. Angka 0 berarti FALSE, sedangkan lainnya berarti TRUE.

    Dim Variable As Boolean

### Variabel Tanggal

Variabel tanggal hanya dapat berisi tanggal dan nilai waktu yang disimpan dalam format internal. Nilai yang ditetapkan untuk variabel tanggal dengan Serial Tanggal, Nilai Tanggal, Serial Waktu or Nilai Waktu secara otomatis dikonversi ke format internal. Variabel tanggal dikonversi ke angka normal dengan menggunakan Hari, Bulan, Tahun or the Jam, Menit, Detik fungsi. Format internal memungkinkan perbandingan nilai tanggal / waktu dengan menghitung selisih antara dua angka. Variabel-variabel ini hanya dapat dideklarasikan dengan kata kunci Tanggal.

    Dim Variable As Date

### Literals for Dates

Literal tanggal memungkinkan untuk menentukan variabel tanggal yang tidak ambigu yang independen dari bahasa saat ini. Literal diapit diantara tanda hash #. Format yang mungkin adalah:

- #yyyy-mm-dd#

- #mm/dd/yyyy#

      start_date = #12/30/1899# ' = 1
      dob = #2010-09-28#

## Tipe Varian

Variabel yang dideklarasikan sebagai Varian bisa menangani semua tipe data. Ini berarti bahwa tipe data aktual didefinisikan selama runtime sebagai nilai yang ditetapkan ke variabel.

Ada tiga cara utama untuk membuat variabel Varian, seperti yang ditunjukkan di bawah ini:

      Dim varA            ' The type is not specified, hence the variable is a Variant
      Dim varB sebagai Varian ' Variabel secara eksplisit dideklarasikan sebagai Varian
      varC = "abc"        ' Variabel yang sebelumnya tidak dideklarasikan diperlakukan sebagai Varian

The example below uses the TypeName function to show how the type of a Variant variable changes upon assignment.

      Dim myVar As Variant
      MsgBox TypeName(myVar) ' Empty
      myVar = "Hello!"
      MsgBox TypeName(myVar) ' String
      myVar = 10
      MsgBox TypeName(myVar) ' Integer

Variabel Varian diinisialisasi dengan tipe data khusus Empty. Anda bisa menggunakan fungsi IsEmpty untuk menguji apakah suatu variabel adalah Empty Varian.

Anda juga bisa menggunakan kata kunci Any untuk mendeklarasikan variabel sebagai Varian. Tetapi, Any tidak digunakan lagi dan tersedia untuk kompatibilitas mundur.

Argumen dengan tipe Variant atau Any yang diteruskan dalam pemanggilan fungsi tidak dicentang untuk tipenya.

      Dim myVar As Any ' Variabel "myVar" adalah Varian

## Inisial Nilai Variabel

Segera setelah variabel dideklarasikan, maka ia akan secara otomatis diset menjadi nilai "Null" (kosong). Perhatikanlah konvensi berikut:

Variabel Numerik secara otomatis ditetapkan sebagai nilai "0" segera setelah dideklarasikan.

Variabel tanggal diberi nilai 0 secara internal; setara dengan mengonversi nilai menjadi "0" dengan Hari, Bulan, Tahun atau Jam, Menit, Detik fungsi.

Variabel string ditetapkan sebagai string kosong ("") saat mereka dideklarasikan.

## Susunan

LibreOffice Basic tahu array satu atau multi-dimensi, didefinisikan oleh tipe variabel yang dinyatakan. Array cocok untuk menyunting daftar dan tabel dalam program. Masing-masing elemen array dapat diakses melalui indeks numerik.

Susunan (atau array) harus dideklarasikan bersama pernyataan Dim. Berikut beberapa cara untuk mendefinisikan rentang indeks dari sebuah susunan (array):

        Dim Text$(20)       '21 elemen diberi nomor dari 0 hingga 20'
        Dim Text$(5,4)      '30 elemen (sebuah matriks elemen 6x5)'
        Dim Text$(5 To 25)  '21 elemen ditandai dengan angka dari 5 hingga 25'
        Dim Text$(-15 To 5) '21 elemen (termasuk 0), ditandai dengan angka -15 hingga 5'

Rentang indeks bisa memiliki angka-angka positif dan negatif.

## Konstanta

Konstanta memiliki nilai tetap. Bilangan ini hanya bisa ditentukan satu kali dan tidak dapat diubah lagi di lain waktu:

    Const ConstName=Expression

Topik Terkait

Basic Constants

Dim Statement