Selasa, 25 November 2014

Konsep Tabel dan Teknik Switching Pada Algoritma Pemrograman

Shubhi Aththabrani
5A414252
1IA17

Konsep Tabel Pada Algoritma Pemrograman

A. Argumen dan Fungsi
Tabel merupakan data pembantu dalam pengolahan data. Misalkan dalam suatu lembar dokumen terdapat data pegawai sebagai berikut :
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 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.

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

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

Flowchart di atas disusun dengan asumsi internal tabel telah terbentuk. Proses pencarian nama pegawai dapat diurutkan sebagai berikut :
1. Pada awal proses, variabel NO diisi nilai sesuai dengan NIP yang akan dicari. Sedangkan variabel I digunakan sebagai indeks untuk menentukan posisi variabel array internal tabel.
2. Nilai I ditambah 1.
3. Periksa isi variabel NIPTAB dengan lokasi sesuai indeks pada variabel I. Jika isinya sama dengan isi variabel NO, lakukan :
·cetak isi variabel NMTAB dengan lokasi sesuai indeks pada variabel I
·proses selesai. Sebaliknya, jika isinya tidak sama lakukan langkah 4
4. Kembali ke langkah 2

Teknik Switching


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

Contoh :

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.

Berdasarkan contoh diatas, dibuat analisa terlebih dahulu.
Analisa 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. 
  3. 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.
Lalu akan diterjemahkan dalam flowchart. Langkah-langkahnya adalah :

  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
13.  Kembali ke langkah-langkah untuk membaca data berikutnya



Sumber:




Tidak ada komentar:

Posting Komentar