ARRAY
1. Tujuan
dalam memory, untuk selanjutnya data tersebut dimanipluasi, dihitung atau diterapkan
2. Teori Dasar
Array merupakan tipe terstruktur yang terdiri dari sejumlah komponen yang
mempunyai tipe yang sama. Komponen-komponen ini disebut dengan tipe komponen.
Banyaknya komponen dalam suatu array ditunjukkan oleh suatu indeks yang disebut
dengan tipe indeks. Setiap komponen pada array dapat diakses dengan menunjukkan
yang tersusun dalam suatu baris. Elemen-elemen tersebut memiliki tipe-tipe data yang
sama, tetapi isi dari elemen-elemen tersebut dapat berbeda. Setiap array memiliki panjang
dimensi ke N-1. Jika array bisa menampung data sebanyak 6, batasan indeks yang
disediakan = 0 sampai 5
Bentuk penulisan deklarasi dari variabel array dimensi satu seperti berikut ini.
Keterangan:
Nama array
Elemen
Contoh 1:
Deklarasikan suatu array yang berdimensi satu bernama kota dengan indeks 3
Module Module1
Sub Main()
Dim KOTA(2) As String
For N As Integer = 0 To KOTA.GetUpperBound(0)
Console.Write("Input Nama Kota Ke " & N + 1 & " : ")
KOTA(N) = Console.ReadLine()
Next
End Sub
Output Program :
menampung 3 data dengan indeks 0 sampai 2, yaitu: KOTA (0), KOTA (1), KOTA (2)
Contoh 2:
Misalnya nama buah yang diisi dengan data pisang, mangga, jeruk dan apel
Jawaban Program :
Sub Main()
Dim BUAH() As String = {"Pisang", "Mangga", "Jeruk", "Apel"}
For N As Integer = 0 To BUAH.GetUpperBound(0)
Console.WriteLine(BUAH(N))
Next
Console.ReadLine()
End Sub
Output Program :
LATIHAN
Simpan data tersebut ke dalam array dimensi satu dengan indeks 10 untuk masing-masing
variabel.
Setelah data diinput tampilkan ADA DATA LAGI?
Setelah semua selesai diinput, cetak atau tampilkan seluruh data tersebut berupa tabel!
Module Module1
Sub Main()
Dim nim(9), nama(9), jur(9) As String
Dim ip(9) As Single
Dim mulai As Boolean = True
Dim n As Integer = 0
Dim jwb
Do While mulai = True
Console.Write("Nomor Induk Mahasiswa = ")
nim(n) = Console.ReadLine()
Console.Write("Nama Mahasiswa = ")
nama(n) = Console.ReadLine()
Console.Write("Jurusan = ")
jur(n) = Console.ReadLine()
Console.Write("IP = ")
ip(n) = Console.ReadLine()
Console.WriteLine("------------------------------------------")
jwb = MsgBox("Input Data Lagi?", MsgBoxStyle.YesNo, "Perhatian")
n += 1
If jwb = vbNo Then
mulai = False
End If
Loop
Console.WriteLine()
Console.WriteLine("=======================================")
Console.WriteLine(" NIM NAMA MAHASISWA JURUSAN IP ")
Console.WriteLine("=======================================")
For a As Integer = 0 To (n - 1)
Console.Write(nim(a) & " " & nama(a) & " " & jur(a) & " " & ip(a))
Console.WriteLine()
Next
Console.WriteLine("=======================================")
Console.ReadLine()
End Sub
End Module
Output Program :
Jadi data yang diinputkan di atas disimpan atau ditampung dalam array dan dimunculkan
ke dalam tabel.
Terkadang nilai dari suatu variabel array yang bertipe data numerik
dikenakan operasi Aritmatika. Proses ini terlihat sederhana jika datanya sedikit
atau untuk array dimensi satu. Akan berbeda jika datanya disimpan pada variabel
dimensi banyak.
Pada variabel array dimensi satu bentuk penulisan operasi aritmatika
yang dikenakan adalah dengan menuliskan nama variabel array dan indeks dimana
data numerik disimpan dan diikuti dengan tanda operator aritmatika serta diikuti oleh
variabel array HARGA dengan indeks 1 dikalikan dengan variabel array bernama
JUMLAH dengan indeks 1 dan hasilnya dimasukkan dalam variabel array TOTAL dengan
indeks 1 juga, maka penulisannya adalah :
TOTAL(1) = HARGA(1) * JUMLAH(1)
Contoh:
Lakukan pengulangan mulai bilangan 1 sampai 10 dan tampung bilangan ganjil ke dalam
variabel array bernama GANJIL serta bilangan genap ke dalam variabel array bernama
GENAP. Selain itu jumlahkan seluruh bilangan ganjil sendiri dan bilangan genap sendiri.
Bentuk tampilan hasil programnya, seperti berikut ini:
START
For A 1 To 10
IF (A Mod 2) = 1
X=X+1 Y =Y + 1
GANJIL(X) < A GENAP(Y) < A
TOTAL_GJL < TOTAL_GJL + GANJIL (X) TOTAL_GNP < TOTAL_GNP + GENAP (Y)
NEXT
For B < 1 To 10
IF GANJIL(B) <> 0
For C < 1 To 10
IF GENAP(C) <> 0
STOP
For C = 1 To 10
If GENAP(C) <> 0 Then
Console.Write(GENAP(C) & " ")
End If
Next
Console.WriteLine()
Console.Write("Total Genap : " & TOTAL_GNP)
Console.ReadLine()
Output program :
LATIHAN :
Lakukan pengulangan mulai bilangan 100 sampai 200 dan tampung bilangan ganjil ke
dalam variabel array bernama GANJIL serta bilangan genap ke dalam variabel array
bernama GENAP. Selain itu jumlahkan seluruh bilangan ganjil sendiri dan bilangan genap
sendiri.
indeks (Subscript) hanya sebuah. Bentuk array semacam ini disebut dengan Array.
Dimensi Satu ( One Dimensional Array ) . Disamping itu ada juga array yang mempunyai
dimensi banyak yang disebut dengan Array Multi Dimensi Atau Array Dimensi Banyak
dengan dimensi 32 ) bertujuan untuk meningkatkan daya tampung data. Ciri dari array
multimensi adalah adanya tanda koma ( , ) diantara tanda kurung buka-kurung tutup.
Bentuk penulisan deklarasi dari variabel array multi dimensi seperti berikut ini :
Keterangan
- Nama array
- Dimensi 1
- Dimensi 2
- n
Nilai elemen yang diberikan untuk variabel array dimensi n atau dimensi banyak
- tipe data
jenis data yang digunakan untuk variabel array yang sedang dideklarasikan.
Keterangan
Pada program Visual Basic .NET 2008, penulisan deklarasi Variabel array dua dimensi
lainnya adalah dengan mengosongkan Nilai elemennya, seperti berikut ini, Dim BIL( , ) As
Integer = {}
Pemberian nilai pada variabel array dimensi dua pada prinsipnya Sama dengan pemberian
nilai pada variabel array dimensi satu. Perbedaannya adalah pada variabel array dimensi
dua harus memperhatikan keberadaan nilai indeks pada baris dan kolom.
Praktek / Percobaan
Module Module1
Sub Main()
Dim barang(3, 2) As String
For x As Integer = 0 To 3
Console.WriteLine("Data ke " & x + 1)
For y As Integer = 0 To 2
Select Case y
Case 0
Console.Write("Nama Barang : ")
Case 1
Console.Write("Harga Satuan : Rp. ")
Case 2
Console.Write("Jumlah : ")
End Select
barang(x, y) = Console.ReadLine()
Next
Console.WriteLine("---------------------------------")
Next
Console.ReadLine()
End Sub
Output program :
Console.WriteLine("--------------------------------------------")
For X = 0 To 2
For Y = 0 To 2
Next
Console.WriteLine()
Next
Console.WriteLine("-------------------------------------------")
OutputConsole.ReadLine()
program :
Output program :
LATIHAN :
1. Buatlah program berikut dalam bentuk array dimensi 2 dengan indeks baris 9 dan nilai
indeks kolom 4 untuk perhitungan klinik berikut :
Nomor Pasien :
Nama Pasien :
Kode Obat :
Keluhan :
Asuransi :
- Nomor pasien
- Nama pasien
- Biaya dokter
- Biaya obat
- Potongan asuransi
- Total bayar
Ketentuan :
Setelah semua ditampilkan dalam report lakukanlah perulangan (looping) pada program!
jwb = True
n=0
Do While jwb = True
Console.Clear()
Console.WriteLine(" INPUT DATA KLINIK ")
Console.WriteLine()
Console.Write(" Nomor Pasien : ")
np = Console.ReadLine()
Console.Write(" Nama Pasien : ")
nm = Console.ReadLine()
Console.Write(" Kode Obat : ")
ko = Console.ReadLine()
Console.Write(" Keluhan : ")
kel = Console.ReadLine()
Console.Write(" Asuransi : ")
asr = Console.ReadLine()
Console.WriteLine()
klinik(n, 0) = np
klinik(n, 1) = nm
Select Case ko
Case "1"
klinik(n, 3) = 150000
Case "2"
klinik(n, 3) = 200000
Case "3"
klinik(n, 3) = 250000
Case "4"
klinik(n, 3) = 300000
End Select
klinik(n, 4) = potasr
Console.Clear()
Console.WriteLine(Space(20) & "FAKTUR PEMBAYARAN")
Console.WriteLine()
Console.WriteLine("NOMOR PASIEN :" & klinik(n, 0))
Console.WriteLine("NAMA PASIEN :" & klinik(n, 1))
Console.WriteLine("BIAYA")
Console.WriteLine(" 1. BIAYA DOKTER : Rp. " & Format(Val(klinik(n, 2)), "#,0"))
Console.WriteLine(" 2. BIAYA OBAT : Rp. " & Format(Val(klinik(n, 3)), "#,0"))
Console.WriteLine(Space(32) & "-----------------------")
Console.WriteLine(Space(25) & "TOTAL BIAYA : Rp. " & Format(totby, "#,0"))
Console.WriteLine("POTONGAN")
Console.WriteLine(" 1. ASURANSI : Rp. " & Format(Val(klinik(n, 4)), "#,0"))
Console.WriteLine(Space(32) & "-----------------------")
Console.WriteLine(Space(25) & "TOTAL : Rp. " & Format(Val(klinik(n, 4)), "#,0"))
Console.WriteLine(Space(32) & "-----------------------")
Console.WriteLine("TOTAL BAYAR : Rp. " & Format(byr, "#,0"))
Console.WriteLine()
Console.Write("INGIN PROSES DATA LAGI [Y/T]?")
tanya = Console.ReadLine()
If UCase(tanya) <> "Y" Then
jwb = False
End If
n=n+1
Loop Fakultas Ilmu Komputer Universitas Lancang Kuning
End sub
ALGORITMA & PEMROGRAMAN II
Output program :
2. Buat sebuah program untuk mencetak slip gaji pegawai di mana komponennya, yaitu :
Nomor induk pegawai (NIP), nama pegawai, golongan,dan jumlah anak
diinputkan
Dua digit pertama dari NIP menunjukan tahun masuk menjadi pegawai.
selisih antara tahun sekarang dengan tahun masuk akan menentukan besar
tunjangan fungsional, dengan rincian sebagai berikut:
Besar gaji pokok ditentukan oleh golongan, dengan rincian sebagai berikut:
Golongan Gaji Pokok (GAPOK)
A 1.000.000
B 1.500.000
C 2.000.000
D 2.500.000
Buat variabel array dimensi dua dengan nama PAYROLL yang digunakan
untuk menyimpan data-data NIP, Nama, Gaji Pokok, Tunj. Fungsional,
Tunj. Anak, dan Pajak penghasilan.
Desain input dari program penggajian ini, seperti terlihat berikut.
Nomor Induk :
Nama :
Golongan :
Jml . Anak :
NIP :
NAMA :
PENDAPATAN
1. GAJI POKOK : Rp.
2. TUNJ. FUNGSIONAL : Rp.
3. TUNJ. ANAK : Rp.
PENGELUARAN
1. PAJAK (PPh) : Rp.
-----------------------------------
TOTAL GAJI BERSIH : Rp.