Rabu, 26 November 2014

PENERAPAN KONSEP TABEL DAN TEKNIK SWITCHING DALAM ALGORITMA PEMROGRAMAN

A. PENERAPAN KONSEP TABEL DALAM ALGORITMA PEMROGRAMAN



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