Program Studi DIII Rekam Medis POLITEKNIK KESEHATAN PERMATA INDONESIA
P9 Array pada Visual Basic .Net A. Tujuan
Mahasiswa dapat memahami bentuk array pada pemrograman Visual Basic .Net. Mahasiswa dapat membuat aplikasi dengan kasus berbagai bentuk array.
B. Pembahasan
Deklarasi Array Array Dinamis Array Multi Dinamis
9.1. Array Array adalah struktur data yang menyimpan sekumpulan elemen yang bertipe sama. Array merupakan sekumpulan data dimana setiap data memiliki suatu indeks sebagai penunjuk elemen. Suatu variabel dapat berupa array dengan tipe data tertentu. Perbedaan mendasar dalam program yang memakai variabel biasa dengan variabel yang dideklarasikan menggunakan Array adalah setiap variabel atau pengenal hanya menyimpan sebuah nilai dari tipe data tertentu yang artinya tidak bisa digunakan untuk menyimpan beberapa buah nilai yang bertipe sejenis. Penggunaan array diperlukan untuk menyimpan beberapa data sejenis untuk dilakukan manipulasi tertentu, misalnya penggunaan array untuk mengolah sekumpulan data nilai mahasiswa, untuk mengolah sekumpulan daftar harga obat pada apotek, dan lain-lain. Sintaks untuk membuat variabel array adalah sebagai berikut :
nama_var_array(x) As [tipe_data] x : menunjukkan jumlah elemen (indeks) yang dimiliki sebuah variabel array atau dengan kata lain x menunjukkan jumlah data/elemen maksimal dari variabel array tersebut. Contoh variabel array : Dim Rekam_Medis(5) As String Keterangan : Menciptakan suatu variabel array dengan nama Rekam_Medis yang memiliki indeks terakhir 5 atau memiliki jumlah data/elemen sebanyak 6 (karena indeks elemen pada array dimulai dari angka 0, dan jika indeks terakhirnya 5, maka dapat dihitung jumlah elemennya sehingga berjumlah 6 elemen yaitu Rekam_Medis(0), Rekam_Medis(1), Rekam_Medis(2), Rekam_Medis(3), Rekam_Medis(4), Rekam_Medis(5), dengan tipe data String).
1
Visual Basic .Net
Program Studi DIII Rekam Medis POLITEKNIK KESEHATAN PERMATA INDONESIA
9.1.1. Mendeklarasikan Array Seperti variabel biasa, dalam mendeklarasikan variabel array juga menggunakan nama array, jumlah dan tipe data, dan juga harus dideklarasikan dengan variabel Dim, Public atau Private. Deklarasi variabel array dapat diperhatikan pada beberapa contoh berikut : Dim Hari_Tanggal(3) As String Dim Nama_Poli(3) As String Dim JumlahPasien_RawatInap(3) As String Dim JumlahPasien_RawatJalan(3) As String Hari_Tanggal(0) = “Senin,19/11/2010” Nama_Poli(0) = “Poli Umum” JumlahPasien_RawatInap(0) = “10 orang” JumlahPasien_RawatJalan(0) = “6 orang” Hari_Tanggal(1) = “Senin,20/11/2010” Nama_Poli(1) = “Poli Anak” JumlahPasien_RawatInap(1) = “8 anak” JumlahPasien_RawatJalan(1) = “12 anak” Hari_Tanggal(2) = “Senin,21/11/2010” Nama_Poli(2) = “Poli Bedah” JumlahPasien_RawatInap(2) = “5 orang” JumlahPasien_RawatJalan(2) = “7 orang” Dim Nama_Pasien(2) As String Dim Indikasi_Penyakit(2) As String Nama_Pasien(0) = “Dhyn” Indikasi_Penyakit(0) = “Radang Tenggorokan” Nama_Pasien(1) = “Eryani” Indikasi_Penyakit(1) = “Hipertensi” Nama_Pasien(2) = “Anniza” Indikasi_Penyakit(2) = “Gejala Tifus”
9.1.2. Array Dinamis Pada beberapa deklarasi variabel array, terkadang belum diketahui berapa jumlah elemen data untuk variabel array tersebut atau kita belum tahu berapa jumlah data yang akan diinputkan oleh user ke dalam program tersebut. Oleh sebab itu untuk jumlah elemen data yang belum pasti dapat digunakan array dinamis. Array dinamis dibuat dengan mendeklarasikan varriabel array tanpa mendeskripsikan jumlah elemennya, seperti contoh berikut : Dim Kode_KemasanObat() As String Dim Nama_KemasanObat() As String
2
Visual Basic .Net
Program Studi DIII Rekam Medis POLITEKNIK KESEHATAN PERMATA INDONESIA
Dalam mendeklarasikan variabel array dapat juga dilakukan pengubahan jumlah elemen array dengan menggunakan perintah ReDim, seperti contoh berikut : ReDim Kode_KemasanObat(5) ReDim Nama_KemasanObat(5) Contoh : Dim Kode_KemasanObat() As String ReDim Kode_KemasanObat(2) Kode_KemasanObat(0) = “Antalgin_01” Kode_KemasanObat(1) = “Paracetamol_01” Kode_KemasanObat(2) = “Asam Mefenamat_02” ReDim Kode_KemasanObat(3) Keterangan : Pada saat program dieksekusi, maka semua jumlah elemen data yang sebelumnya ditampung pada array Kode_KemasanObat(2) akan hilang, karena diubah dengan ReDim Kode_KemasanObat(3). Sehingga jumlah elemen data akhir pada array Kode_KemasanObat adalah 2.
9.1.3. Array Multi Dinamis Dalam deklarasi elemen array biasanya dideskripsikan jumlah elemen tunggal, namun dapat juga dideskripsikan jumlah array yang multidimensi atau multi dinamis artinya terdiri dari 2 dimensi indeks array yaitu (x,y). Sintaks dasar dari array multidimensi adalah sebagai berikut : nama_var_array(x,y) As [tipe_data] Keterangan : X : Jumlah data (dihitung mulai dari data ke-0 sampai seterusnya) Y : Indeks data ( angka 0 sampai seterusnya) Contoh : Dim Rekam_Medis(2,3) As String Keterangan : Pada variabel array diatas memiliki jumlah elemen sebanyak 12 yang dihasilkan dari perkalian antara jumlah elemen X=3 (mulai dari 0) dan jumlah elemen Y=4 (mulai dari 0). Indeks tersebut mencakup : Rekam_Medis(0,0), Rekam_Medis(0,1), Rekam_Medis(0,2), Rekam_Medis(0,3). Rekam_Medis(1,0), Rekam_Medis(1,1), Rekam_Medis(1,2), Rekam_Medis(1,3). Rekam_Medis(2,0), Rekam_Medis(2,1), Rekam_Medis(2,2), Rekam_Medis(2,3).
3
Visual Basic .Net
Program Studi DIII Rekam Medis POLITEKNIK KESEHATAN PERMATA INDONESIA
9.1.4. Latihan a. Menggunakan Array 1. Desainlah sebuah form dengan nama “frmDataObat” seperti pada tampilan form dibawah ini :
Gambar 9. 1 Desain Form Data Obat
2. Tuliskan Sintaks berikut ini : Deklarasikan variabel array seperti berikut : Private Private Private Private Private Private Private
indeks_data As Byte = 0 jumlah_data As Byte = 5 kode_obat(5) As String nama_obat(5) As String kemasan(5) As String harga_beli(5) As Integer harga_jual(5) As Integer
Penjelasan variabel array : indeks_data diisi mulai dari angka 0 - seterusnya jumlah_data diisi maksimal sebanyak 5 data kode_obat, nama_obat, kemasan diisi maksimal sebanyak 5 data dengan tipe string. harga_beli, harga_jual diisi maksimal sebanyak 5 data dengan tipe integer. Pada event button Simpan tuliskan kode program berikut : Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click If indeks_data >= jumlah_data – 1 Then MsgBox(“List sudah penuh”) Else kode_obat(indeks_data) = TextBox1.Text 4
Visual Basic .Net
Program Studi DIII Rekam Medis POLITEKNIK KESEHATAN PERMATA INDONESIA
nama_obat(indeks_data) = TextBox2.Text kemasan(indeks_data) = TextBox3.Text harga_beli(indeks_data) = Cint(TextBox4.Text) harga_jual(indeks_data) = Cint(TextBox5.Text) indeks_data = indeks_data + 1 TextBox1.Text = “” TextBox2.Text = “” TextBox3.Text = “” TextBox4.Text = “” TextBox5.Text = “” TextBox5.Focus() End If End Sub
Pada event button Tampilkan Data tuliskan kode program berikut : Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click Dim I As Byte ListBox1.Items.Clear() If indeks_data > 0 Then Select Case ComboBox1.SelectedIndex Case Is = 0 For I = 0 To indeks_data – 1 ListBox1.Items.Add(kode_obat(i)) Next Case Is = 1 For I = 0 To indeks_data – 1 ListBox1.Items.Add(nama_obat(i)) Next Case Is = 2 For I = 0 To indeks_data – 1 ListBox1.Items.Add(harga_jual(i)) Next End Select End If End Sub
b. Menggunakan Array Dinamis 1. Desain sebuah form dengan nama “frmDataKemasanObat1” seperti pada tampilan berikut :
5
Visual Basic .Net
Program Studi DIII Rekam Medis POLITEKNIK KESEHATAN PERMATA INDONESIA
Gambar 9. 2 Desain Form Data Kemasan Obat
2. Tuliskan sintaks berikut ini : Deklarasikan variabel array berikut : Dim indeks_data As Byte = 0 Private jumlah_data As Byte = 5 Dim kode_kemasan() As String Dim nama_kemasan() As String
Pada event frmDataKemasanObat_Load tuliskan kode program berikut : ReDim kode_kemasan(5) ReDim nama_kemasan(5)
Penjelasan variabel array : indeks_data diisi mulai dari angka 0 - seterusnya jumlah_data diisi maksimal sebanyak 5 data Variabel array kode_kemasan, nama_kemasan tidak ditentukan berapa jumlah data yang harus diisi karena dibuat bersifat dinamis. Namun, pada variabel array tersebut dapat diubah jumlah data yang bisa ditampung oleh variabel tersebut dengan perintah: ReDim kode_kemasan(5) ReDim nama_kemasan(5)
Sehingga masing-masing variabel array tersebut dapat berisi data sebanyak 5. Pada event button Simpan tuliskan kode program berikut : Private Sub ButtonSimpan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonSimpan.Click If indeks_data > jumlah_data - 1 Then MsgBox("List sudah penuh") Else kode_kemasan(indeks_data) = TextBoxKode.Text nama_kemasan(indeks_data) = TextBoxNama.Text TextBoxKode.Text = "" 6
Visual Basic .Net
Program Studi DIII Rekam Medis POLITEKNIK KESEHATAN PERMATA INDONESIA
TextBoxNama.Text = "" TextBoxKode.Focus() indeks_data = indeks_data + 1 End If End Sub
Pada event button Lihat Data isikan dengan kode program berikut : Private Sub ButtonLihatData_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonLihatData.Click Dim i As Byte If indeks_data > 0 Then ListBox1.Items.Clear() ListBox2.Items.Clear() For i = 0 To indeks_data - 1 ListBox1.Items.Add(kode_kemasan(i)) ListBox2.Items.Add(nama_kemasan(i)) Next End If End Sub
Pada event button Set Array isikan dengan kode program berikut : Private Sub ButtonSetArray_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonSetArray.Click jumlah_data = InputBox("Jumlah Array", "Set Jumlah Array", 5) ReDim kode_kemasan(jumlah_data) ReDim nama_kemasan(jumlah_data) indeks_data = 0 End Sub
c. Menggunakan Array Multidimensi/Multi Dinamis 1. Desainlah form dengan nama “frmDataKemasanObat2”, seperti pada tampilan berikut ini :
Gambar 9. 3 Desain Form Data Kemasan Obat 7
Visual Basic .Net
Program Studi DIII Rekam Medis POLITEKNIK KESEHATAN PERMATA INDONESIA
2. Tuliskan sintaks berikut ini : Deklarasikan variabel array berikut : Dim indeks_data As Byte = 0 Private jumlah_data As Byte = 5 Dim kemasan(5, 2) As String
Penjelasan variabel array : indeks_data diisi mulai dari angka 0 - seterusnya jumlah_data diisi maksimal sebanyak 5 data Variabel array kemasan(5,2) dibuat sebagai pengganti beberapa variabel array sebelumnya yaitu : Dim kode_kemasan() As String Dim nama_kemasan() As String Variabel array kemasan(5,2) artinya diisi dengan jumlah data sebanyak 5 dengan indeks
data 2. Pada event button Simpan tuliskan kode program berikut : Private Sub ButtonSimpan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonSimpan.Click If indeks_data > jumlah_data - 1 Then MsgBox("List sudah penuh") Else kemasan(indeks_data, 0) = TextBoxKodeKemasan.Text kemasan(indeks_data, 1) = TextBoxNamaKemasan.Text TextBoxKodeKemasan.Text = "" TextBoxNamaKemasan.Text = "" TextBoxKodeKemasan.Focus() indeks_data = indeks_data + 1 End If End Sub
Pada event button Lihat Data isikan dengan kode program berikut : Private Sub ButtonLihatData_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonLihatData.Click Dim i As Byte If indeks_data > 0 Then ListBox1.Items.Clear() ListBox2.Items.Clear() For i = 0 To indeks_data - 1 ListBox1.Items.Add(kemasan(i, 0)) ListBox2.Items.Add(kemasan(i, 1)) Next End If End Sub
8
Visual Basic .Net