I. Argumen dan Fungsi
Tabel
merupakan data pembantu dalam pengolahan data. Misal dalam suatu lembar dokumen
terdapat data pegawai sbb :
NIP
|
Gapok
|
Tunjangan
|
10200
|
500.000
|
120.000
|
10201
|
300.000
|
100.000
|
10202
|
350.000
|
120.000
|
10203
|
400.000
|
230.000
|
10204
|
450.000
|
100.000
|
10205
|
500.000
|
50.000
|
Dari
data pegawai tersebut tidak dapat diketahui nama setiap pegawai. Untuk itu
dapat dibuat suatu tabel yang berisi khusus untuk nama pagawai seperti dibawah
ini :
NIP
|
NAMA
|
10200
|
Amat
|
10201
|
Bondan
|
10202
|
Amir
|
10203
|
Dwi
|
10204
|
Tika
|
10205
|
Toni
|
Item
NIP merupakan item yang dipakai sebagai acuan untuk mencari data nama pegawai
di dalam tabel. Item ini berfungsi sebagai kontrol field yang sering disebut
ARGUMEN. Sedang item NAMA merupakan FUNCTION dari tabel tersebut.
II. Penggunaan Storage untuk Penyimpanan Tabel
· Data di dalam media
penyimpanan seperti disk, kartu, dokumen dll yang berfungsi sebagai tabel
disebut External Tabel.
· Dalam proses
pengolahan data, external tabel ini sebaiknya dipindahkan ke memori agar proses
menjadi cepat.
· Di dalam memori
external tabel menempati lokasi yang disebut storage. Di storage ini terbentuk
suatu tabel yang disebut sebagai Internal Tabel. Selanjutnya proses
pengolahan data menggunakan internal tabel.
Flowchart proses pembentukan internal tabel.
·
Setiap data yang
dibaca dari external tabel disimpan di dalam NIPTAB(I) dan NMTAB(I). Variabel
ini merupakan variabel berindeks atau variabel array.
·
Variabel array
merupakan suatu variabel dengan beberapa tempat penyimpanan.
·
Gambar dibawah
memperlihatkan ilustrasi variabel array NIPTAB.
NIPTAB nama variabel
1 2 3 4 5 6 ..... N
indeks
Penyimpanan
ke dalam variabel array NIPTAB dilakukan berdasarkan nilai indeksnya. Pada
flowchart di atas nilai indeks ditentukan melalui variabel I.
III. Proses Pencarian (Searching)
· Proses pencarian di
dalam internal tabel dilakukan dengan berpatokan pada nilai indeksnya
· Misal
untuk mencari nama pegawai dengan NIP = 10203 dapat digambarkan melalui
flowchart berikut :
IV. Pengurutan dengan Eksternal Tabel
IV.1. Pembentukan File Indeks
·
Proses pengurutan
bilangan dilakukan di internal tabel. Semua bilangan yang akan diurutkan
disimpan dahulu ke suatu penyimpanan di dalam memori yaitu variabel array.
·
Di memori, proses
pengurutan dapat dilakukan dengan lebih cepat. Namun jika datanya banyak, maka
proses ini akan membutuhkan ukuran memori yang besar. Untuk menghindarinya,
proses pengurutan dilakukan di dalam eksternal tabel.
·
Eksternal tabel
dibentuk dengan cara membuat file baru. File ini desebut sebagai File Indeks. Isi
file indeks adalah field yang berfungsi sebagai field kunci (key field) dari
record data yang akan diurutkan. Key Field merupakan field yang dipakai sebagai
dasar pengurutan. Misal data yang harus diurutkan berdasarkan NIP, maka field
kuncinya adalah field yang berisi NIP.
Secara garis besar, proses pengurutan dengan eksternal
tabel terdiri dari langkah-langkah
o Bentuk file indeks yang hanya berisi field kunci.
o Lakukan pengurutan pada file indeks. Pengurutan dapat
dilakukan dengan metode bubble sort atau
straight selection.
o Pindahkan record dari file lama ke file baru dengan
posisi record sesuai pada file indeks.
IV.2. Proses Pembentukan File Indeks
File PEG.DTA
NIP
|
NAMA
|
ALAMAT
|
93004
|
Amat
|
Jl. P
|
93001
|
Badu
|
Jl. G
|
93003
|
Dono
|
Jl. H
|
93006
|
Rina
|
Jl. Z
|
93002
|
Tuti
|
Jl. W
|
93005
|
Kiki
|
Jl. Q
|
/*
|
Jika data di file PEG.DTA ingin diurutkan berdasarkan
NIP, maka harus dibentuk file indeks yang hanya berisi field NIP. Proses
pembentukan file indeks ini dapat digambarkan melalui flowchart :
Berdasarkan flowchart diatas, terbentuk file indeks yaitu INDEKS.DTA.
NIP
|
93004 record pertama
93001
93003
93006
93002
93005
/*
B. TEKNIK SWITCHING DALAM ALGORTIMA PEMROGRAMAN
Teknik
switching merupakan cara memperpendek jalur proses. Teknik ini memakai suatu
indikator untuk mengantisipasi proses yang akan dilakukan selanjutnya.
Indikator ini dapat dimisalkan seperti Switch pada tombol lampu, dimana tombol
ini dapat mengatur dua kondisi yaitu nyala atau padam. Namun dalam Flowchart
switch tersebut berupa variabel yang diisi dengan dua kondisi yaitu 0 dan 1.
Melalui isi variabel tersebut dapat diketahui kondisi proses yang telah
dilakukan. Sehingga dapat dilakukan pengalihan proses tanpa melalui proses sebelumnya, sehingga dapat
mempersingkat alur proses
·
Analisa
Persoalan
Sebuah perusahaan
ingin mengkomputerisasikan perhitungan pemakaian listrik. Dimana pelanggannya
mencakup seluruh wilayah di Jakarta.
Spesifikasi
prosesnya adalah :
·
Input
diperoleh melalui entry data oleh operator yang terdiri dari :
- wilayah : 1 numerik
- nomor langganan : 2 alphanumerik
- nama langganan : 20 alphanumerik
- jumlah pemakaian : 4 numerik
·
Data
habis jika operator mengentry nomor langganan = 0
·
Data
sudah urut per kode wilayah yang terdiri dari : Jakarta Barat, Jakarta Pusat,
Jakarta Selatan, Jakarta Utara, Jakarta Timur.
·
Jika
wilayah berubah, maka cetak total biaya per wilayah dan ganti halaman baru.
·
Pada
akhir laporan cetak total seluruh biaya yaitu jumlah total pemakaian listrik di
semua wilayah.
·
Layout
laporan yang diinginkan adalah :
Pemakaian Listrik
Wilayah : Jakarta ………..
No. Langganan Nama Jum Pemakaian
xxx xxxxxxxxxxxxxxx xxxx
….. …………… …..
Total Pemakaian : xxxx
Pemakaian Listrik
Wilayah : Jakarta ………..
xxx xxxxxxxxxxxxxxx xxxx
….. …………… …..
Total Pemakaian : xxxx
Total Seluruh Pemakaian : xxxx
Berdasarkan contoh diatas,
dibuat analisa sehingga diketahui persiapan yang harus dilakukan.
Persiapan tersebut adalah :
1. Dalam spesifikasi proses
dijelaskan bahwa data sudah urut per kode wilayah. Jadi proses pembacaan data
akan dilakukan terhadap sekelompok data dengan kode wilayah yang sama. Setelah
data wilayah tersebut habis, maka proses pembacaan dilanjutkan dengan wilayah
berikutnya. Bagaimanakah caranya agar diketahui perbedaan data yang baru dibaca
dengan data sebelumnya?
2. Bagaimanakah halnya jika data
yang akan dibandingkan merupakan data awal proses ? karena hal ini tidak
memungkinkan untuk membandingkan data tersebut dengan data sebelumnya. Dimana
variabel penyimpanan masih dalam kondisi kosong atau belum diisi oleh data
wilayah sebelumnya. Untuk itu perlu dipersiapkan satu variabel yang berfungsi
sebagai variabel switch. Variabel ini pada awal proses diberi nol.
Sehingga sebelum
dilakukan proses pembandingan, lakukan terlebih dahulu pemeriksaan isi variabel
ini. Jika isinya masih tetap nol berarti pembacaan data merupakan data awal.
Untuk itu tidak perlu dilakukan pembandingan terhadap kode wilayah. Yang perlu
dilakukan adalah menyimpan kode wilayah tersebut ke dalam variabel sementara,
agar pada proses pembacaan data berikutnya dapat dilakukan pembandingan
terhadap data ini.
·
Implementasi
ke dalam Flowchart
* Penelusuran Flowchart
- Siapkan variabel-variabel yang diperlukan selama proses berlangsung.
Variabel-variabel tersebut
adalah :
SW
|
:
|
Variabel Swicth
|
WS
|
:
|
Untuk mempertahankan kode wilayah yang pertama
kali dibaca
|
TotWil
|
:
|
Untuk menghitung total pemakaian
per wilayah
|
TotSel
|
:
|
Untuk menghitung total pemakaian
seluruh wilayah
|
2.
Input data dan disimpan didalam variabel :
NO : Data Nomor Langganan
KW : Data Kode Wilayah
NM : Data Nama Pelanggan
JP : Data Jumlah pemakaian listrik tiap
pelanggan
3.
Periksa isi variabel NO, bila NO=0,lakukan :
·
Cetak Total Pemakaian Per Wilayah yang
tersimpan didalam variabel TotWil
·
Cetak nilai Total pemakaian seluruh wilayah yang
tersimpan didalam variabel TotSel
·
Proses selesai / berakhir
·
Jika isi variabel No ternayat tidak sama dengan
0 berarti proses belum berakhir, lanjutkan ke langkah 4
4.
Periksa isi variabel SW. Langkah ini dilakukan
untuk mengetahui apakah proses yang dilakukan merupakan proses awal. Jika SW =
0, berarti proses merupakan pembacaan data awal, maka lakukan :
Isi
Variabel SW dengan nilali = 1
Karena
proses pembacaan merupakan data awal, maka isi KW harus dipertahankan untuk
perbandingan pada data berikutnya. Oleh karena itu lanjutkan ke langkah 9 untuk
mengisi ke variabel penampungan yaitu WS.
Jika SW
tidak sama dengan o, berarti data yang dibaca bukan merupakan data pertama.
Berarti variabel WS telah diisi dengan kode wilayah sebelumnya. Untuk itu dapat
dilakukan pembandingan isi antara variabel Ws dengan KW
5.
Bandingkan isi variabel KW dengan WS
Jika isi
kedua variabel tersebut sama, berarti data yang dibaca merupakan data wilayah
yang sama dengan data sebelumnya. Oleh karena itu lanjutkan proses ke langkah
11. Namun jika isi KW tidak sama dengan WS berarti data tersebut merupakan data
pemakaian listrik untuk wilayah lainnya. Oleh karena itu harus harus dilakukan
proses pencetakan total pemakaian wilayah sebelumnya dan proses pencetakan
judul. Judul tersebut digunakan untuk wilayah baru sesuai dengan data wilayah
yang dibaca. Lanjutkan ke langkah 6.
6.
Tambahkan nilai total pemakaian per wilayah ke
nilai total seluruh wilayah dengan menggunakan rumus :
TotSel =
TotSel + TotWil
7.
Cetak nilali total per wilayah
8.
Kosongkan variabel TotWil. Karena variabel ini
akan digunakan untuk perhitungan nilai total pemakaian wilayah berikutnya.
Karena data yang dibaca merupakan wilayah baru maka isi variabel Ws juga harus
diganti / diperbaharui.
9.
Variabel WS diisi sesuai dengan isi KW yang
dibaca dengan menggunakan rumus berikut : WS = KW
10. Cetak
judul untuk setiap wilayah
11. Tambahkan
jumlah pemakaian tiap pelanggan ke dalam variabel total pemakaian per wilayah.
Rumus yang dipakai adalah : TotWil = TotWil + JP
12. Cetak
data-data tiap pelanggan
13. Kembali
ke langkah-langkah untuk membaca data berikutnya
Sumber:
Sumber: