Anda di halaman 1dari 21

ALGORITMA & PEMROGRAMAN II

ARRAY

1. Tujuan

Memperkenalkan fungsi penyimpanan sementara untuk data yang bertipe sama di

dalam memory, untuk selanjutnya data tersebut dimanipluasi, dihitung atau diterapkan

untuk proses lainnya.

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

nilai indeks dari masing-masing array (subscript).

A. Array Dimensi Satu

Struktur array dimensi satu merupakan kumpulan elemen-elemen yang identik,

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.

Dim <nama array> (elemen) As tipedata

Keterangan:

Fakultas Ilmu Komputer Universitas Lancang Kuning


ALGORITMA & PEMROGRAMAN II

Nama array

Nama dari variable array yang dideklarasikan.

Elemen

Nilai elemen yang diberikan untuk array dimensi Satu

Contoh 1:

Deklarasikan suatu array yang berdimensi satu bernama kota dengan indeks 3

Jawaban pada Program:

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 :

Pendeklarasian array semacam ini menyebabkan variable array KOTA mampu

menampung 3 data dengan indeks 0 sampai 2, yaitu: KOTA (0), KOTA (1), KOTA (2)

Fakultas Ilmu Komputer Universitas Lancang Kuning


ALGORITMA & PEMROGRAMAN II

Penulisan Variabel Array yang Sudah ditetapkan

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

Buatlah flowchart dan program untuk menginputkan data mahasiswa berupa


NIM :
NAMA :
JURUSAN :
IP :

Simpan data tersebut ke dalam array dimensi satu dengan indeks 10 untuk masing-masing

Fakultas Ilmu Komputer Universitas Lancang Kuning


ALGORITMA & PEMROGRAMAN II

variabel.
Setelah data diinput tampilkan ADA DATA LAGI?
Setelah semua selesai diinput, cetak atau tampilkan seluruh data tersebut berupa tabel!

Jawaban pada flowchart:

Fakultas Ilmu Komputer Universitas Lancang Kuning


ALGORITMA & PEMROGRAMAN II

Jawaban pada program:

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

Fakultas Ilmu Komputer Universitas Lancang Kuning


ALGORITMA & PEMROGRAMAN II

Output Program :

Jadi data yang diinputkan di atas disimpan atau ditampung dalam array dan dimunculkan
ke dalam tabel.

OPERASI ARITMATIKA PADA ARRAY

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:

Fakultas Ilmu Komputer Universitas Lancang Kuning


ALGORITMA & PEMROGRAMAN II

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:

Bilangan Ganji :13579


Total Ganjil : 25
-----------------------------------------------
Bilangan Genap : 2 4 6 8 10
Total Genap : 30

Jawaban pada flowchart :

Fakultas Ilmu Komputer Universitas Lancang Kuning


ALGORITMA & PEMROGRAMAN II

START

GANJIL(10), GENAP(10) : INTEGER


TOTAL_GJL, TOTAL_GNP : INTEGER
A, B, C, X, Y :INTEGER

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

Print GANJIL (B) &

NEXT Print TOTAL_GJL

For C < 1 To 10

IF GENAP(C) <> 0

Print GENAP(C) &

NEXT Print TOTAL_GNP

STOP

Fakultas Ilmu Komputer Universitas Lancang Kuning


ALGORITMA & PEMROGRAMAN II

Jawaban pada program:

Dim GANJIL(10), GENAP(10) As Integer


Dim TOTAL_GJL, TOTAL_GNP As Integer
Dim A, B, C, X, Y As Integer
X=0:Y=0
For A = 1 To 10
If (A Mod 2) = 1 Then
X += 1
GANJIL(X) = A
TOTAL_GJL += GANJIL(X)
Else
Y += 1
GENAP(Y) = A
TOTAL_GNP += GENAP(Y)
End If
Next
Console.Write("Bilangan Ganjil : ")
For B = 1 To 10
If GANJIL(B) <> 0 Then
Console.Write(GANJIL(B) & " ")
End If
Next
Console.WriteLine()
Console.Write("Total Ganjil : " & TOTAL_GJL)
Console.WriteLine()
Console.WriteLine("----------------------------")
Console.Write("Bilangan Genap : ")

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 :

Fakultas Ilmu Komputer Universitas Lancang Kuning


ALGORITMA & PEMROGRAMAN II

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.

Fakultas Ilmu Komputer Universitas Lancang Kuning


ALGORITMA & PEMROGRAMAN II

B. ARRAY DIMENSI DUA

Pada pembahasan sebelumnya telah dijelaskan tentang array yang mempunyai

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

(Multidimensional Array). Pemakaian array multi Dimensi (dimensi 2, dimensi 3, sampai

dengan dimensi 32 ) bertujuan untuk meningkatkan daya tampung data. Ciri dari array

multimensi adalah adanya tanda koma ( , ) diantara tanda kurung buka-kurung tutup.

Deklarasi Array Dimensi Dua

Bentuk penulisan deklarasi dari variabel array multi dimensi seperti berikut ini :

Dim <nama Array>(dimensi 1, dimensi 2, n) As tipedata

Keterangan

- Nama array

Nama dari variabel array yang dideklarasikan

- Dimensi 1

Nilai elemen yang diberikan untuk variabel array dimensi satu

- Dimensi 2

Nilai elemen yang diberikan untuk variabel array dimensi dua

- 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.

Fakultas Ilmu Komputer Universitas Lancang Kuning


ALGORITMA & PEMROGRAMAN II

Contoh Penulisan Array Dimensi Dua :

Dim DATA(3, 2) As String

Keterangan

Variabel array bernama DATA mempunyai nilai indeks baris 3 dan

nilai indeks kolom 2 dengan tipe data string

Variabel array DATA yang berdimensi dua mempunyai bentuk

seperti Matrik di mana jumlah elemen baris yang dapat ditampung

adalah 2. Dengan demikian total dimensi variabel array DATA (3, 2)

adalah 12, dengan bentuk seperti berikut :

DATA(0,0) DATA(0,1) DATA(0,2)

DATA(1,0) DATA(1,1) DATA(1,2)

DATA(2,0) DATA(2,1) DATA(2,2)

DATA (3,0) DATA(3,1) DATA(3,2)

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 = {}

Memberi Nilai pada Array Dimensi Dua

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.

Fakultas Ilmu Komputer Universitas Lancang Kuning


ALGORITMA & PEMROGRAMAN II

Praktek / Percobaan

Buatalah program untuk menampilkan nama barang dalam array dimensi 2!

Jawaban pada program:

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

Fakultas Ilmu Komputer Universitas Lancang Kuning


ALGORITMA & PEMROGRAMAN II

Output program :

PENGISIAN DAN PENULISAN ARRAY DIMENSI DUA YANG SUDAH DITETAPKAN.


Misalnya variabel array BARANG yang telah diisi data yaitu : Kamera, 250000, 1,Sepatu,
125000, 2,Celana, 150000, 3
Dim barang(,) = {{"Kamera", 250000, 1}, {"Sepatu", 125000, 2}, {"Celana", 150000, 3}}
Jawaban pada program :
Dim X, Y As Integer

Console.WriteLine("NAMA HARGA JUMLAH")

Console.WriteLine("--------------------------------------------")

For X = 0 To 2

For Y = 0 To 2

Console.Write(barang(X, Y) & " ")

Next

Console.WriteLine()

Next

Console.WriteLine("-------------------------------------------")

OutputConsole.ReadLine()
program :

Fakultas Ilmu Komputer Universitas Lancang Kuning


ALGORITMA & PEMROGRAMAN II

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 :

DATA YANG DIINPUTKAN

Nomor Pasien :

Nama Pasien :

Kode Obat :

Keluhan :

Asuransi :

Setelah data tersebut di inputkan tampilkan program tersebut berupa report :

- Nomor pasien
- Nama pasien
- Biaya dokter
- Biaya obat
- Potongan asuransi
- Total bayar

Fakultas Ilmu Komputer Universitas Lancang Kuning


ALGORITMA & PEMROGRAMAN II

Ketentuan :

Kode Obat Keluhan

1, Biaya obat = Rp.150.000 Gigi, biaya dokter = Rp. 100.000

2, Biaya obat = Rp. 200.000 Umum, biaya dokter = Rp. 90.000

3, Biaya obat = Rp. 250.000 Bersalin, biaya dokter = Rp. 110.000

4, Biaya obat = Rp. 300.000 Anak, biaya dokter = Rp. 120.000

Jika asuransi potongan harga 2,5%

Setelah semua ditampilkan dalam report lakukanlah perulangan (looping) pada program!

Jawaban pada program

Fakultas Ilmu Komputer Universitas Lancang Kuning


ALGORITMA & PEMROGRAMAN II

Dim klinik(9, 4) As String


Dim np, nm, ko, kel, asr, tanya As String
Dim jwb As Boolean
Dim n As Byte
Dim bd, bo, potasr, totby, byr As Decimal

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 kel


Case "Gigi"
klinik(n, 2) = 100000
Case "Umum"
klinik(n, 2) = 90000
Case "Bersalin"
klinik(n, 2) = 110000
Case "Anak"
klinik(n, 2) = 120000
End Select

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

Fakultas Ilmu Komputer Universitas Lancang Kuning


ALGORITMA & PEMROGRAMAN II

totby = Val(klinik(n, 2)) + Val(klinik(n, 3))

If asr = "Asuransi" Then


potasr = 0.025 * totby
Else
potasr = 0
End If

klinik(n, 4) = potasr

byr = Val(totby) - Val(klinik(n, 4))

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 :

Tampilan input pada program :

Hasil akhir program berupa faktur :

Fakultas Ilmu Komputer Universitas Lancang Kuning


ALGORITMA & PEMROGRAMAN II

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:

Masa Kerja Tunjangan Fungsional (TUNJ FUNGSI)


0- 5 0% dari gaji pokok

6- 15 10% dari gaji pokok

16- 25 20% dari gaji pokok

>25 30% dari gaji pokok

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

Tunjangan anak ditentukan dari jumlah anak kandung pegawai, dengan


ketentuan sebagai berikut:
Jumlah Anak Tunjangan Anak (TUNJ ANAK)
0 0
1 50.000
2 75.000
3 100.000
>3 150.000

Potongan penghasilan didapatkan dari pajak penghasilan (PPh)


yang besarnya ditentukan seperti berikut:

Gaji Pokok Besar Pajak (PPH)


<= 1.000.000 0% dari gaji pokok
> 1.000.000 5% dari gaji pokok

Gaji Kotor di peroleh dari penjumlahan dari seluruh pendapatan yaitu


gaji pokok, tunjungan fungsional, dan tunjangan anak.
Gaji Bersih diperoleh dari pengurangan besar gaji kotor dengan pajak
penghasilan.

Fakultas Ilmu Komputer Universitas Lancang Kuning


ALGORITMA & PEMROGRAMAN II

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 :

Setelah tampilan input maka bersihkan layar dan tampilkan output


seperti berikut:

SLIP GAJI PEGAWAI

NIP :
NAMA :
PENDAPATAN
1. GAJI POKOK : Rp.
2. TUNJ. FUNGSIONAL : Rp.
3. TUNJ. ANAK : Rp.
PENGELUARAN
1. PAJAK (PPh) : Rp.
-----------------------------------
TOTAL GAJI BERSIH : Rp.

Fakultas Ilmu Komputer Universitas Lancang Kuning

Anda mungkin juga menyukai