1. 6
Teknik Switching
Teknik switching merupakan cara memperpendek jalur proses.Teknik ini menggunakan
suatu indikator untuk mengantisipasi prose yang akan dilakukan selanjutnya. Indikator ini
dapat dimisalkan seperti switch pada tombol lampu. Dimana tombol ini dapat mengatur
dua kondisi yaitu nyala atau padam. Namur dalam program Basic switch tersebut bukan
merupakan komponen elektronik.Ia hanya berupa vanabel yang diisi dengan dua kondisi
yaitu 0 atau 1. Melalui isi variabel tersebut dapat diketahui kondisi proses yang telah
dilakukan. Sehingga dapat dilakukan pengalihan proses tanpa melalui proses sebelumnya.
Hal ini dapat mempersingkat jalur proses.
Dibawah adalah contoh program yang tidak menggunakan teknik switching
TOT 1= 0: TOT2 = O: TOT3 = 0: TOT4 = 0
INPUT "BANYAK DATA:", N
FOR T = 1 TON
INPUT "KODE :", KD(T)
NEXT T
FORI=1 TON
IF KD(I) = 1 THEN TOT 1 = TOT 1 + 1 : GOTO 110
IF KD(I) = 2 THEN TOT2 = TOT2 + 1 : GOTO 110
1F KD(I) = 3 THEN TOTS = TOT3 + 1 : GOTO 110
IF KD(I) = 4 THEN TOT4 = TOT4 + 1
110 NEXT 1
PRINT "TOTAL 1 :"; TOT 1
PRINT "TOTAL 2 :"; TOT2
PRINT "TOTAL 3 :"; TOT3
PRINT "TOTAL 4 :"; TOT4
Dibawah ini adalah contoh program yang menggunakan teknik switching
SW=0:TOT=0
INPUT "BANYAK DATA :", N
FOR I= 1 TON
INPUT "KODE :",KD(I)
NEXT I
FORT= 1 TON
IF SW = 0 THEN 120
PRINT "TOTAL ";KDSW;":";TOT
TOT =0
SW = 1: KDSW = KD(T)
120 TOT = TOT + 1
NEXT T
PRINT "TOTAL ";KDSW;":";TOT
Variabel SW adalah variabel switching yang mempunyai 2 kondisi, yaitu 0 dan 1.
Variabel KDSW adalah variabel pembanding
A
Analisa Persoalan
Untuk memperjelas penerapan teknik switching dalam program ikuti contoh berikut :
Sebuah perusahaan ingin mengkomputerisasikan perhitungan pemakaian listrik. Dimana
pelanggannya mencakup seluruh wilayah di Jakarta.
Spesifikasi proses adalah :
~° Input diperoleh melalui entri data oleh operator yang terdiri dari :
Wilayah : 1 numerik
Nomor langganan : 2 alpanumerik
Nama Langganan : 20 alpanumerik
Jumlah pemakaian : 4 numerik
Data habis jika operator mengentry NOMOR LANGGANAN = 0
Data sudah urut per KODE WILAYAH yang terdiri dari :
"Jakarta Banat" "Jakarta Pusat" "Jakarta Selatan" "Jakarta Utara" "Jakarta Timur" Jika
2. 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. Nama Jumlah
Langganan Langganan Pemakaian
--------------------------------------------------------------------
xx xxxxxxxxxx xxxx
… ….. ….
…. ….. ….
Total Pemakaian : xxx.xxx
Pemakaian Listrik
Wilayah : Jakarta .........
---------------------------------------------------------------------
No. Nama Jumlah
Langganan Langganan Pemakaian
---------------------------------------------------------------------
xx xxxxxxxxxx xxxx
… ….. ….
…. ….. ….
Total Pemakaian : xxx.xxx
Total Seluruh Pemakaian : xx.xxx.xxx
----------------------------------------------------------------------
Implementasi ke dalam program
CLS
SW = 0: TOTWIL = 0: TOTSEL = 0
INPUT N
FORI= 1 TON
INPUT NO$(I), KW(I), NM$(I), JP(I)
NEXTI
F O R T = 1 TO N
IF SW=O THEN 130
IF KW(T) = WS THEN 240
TOTSEL = TOTSEL + TOWIL
PRINT TAB(28);"Total Pemakaian :"; TOTWIL : PRINT STRING$(50,"-") : PRINT
TOTWIL = 0
130 SW = 1 : WS = KW(T)
IF KW(T) = 1 THEN WIL$ = "Banat" GOTO 180
IF KW(T) = 2 THEN WIL$ _ "Pusat" : GOTO 180
IF KW(T) = 1 THEN WIL$ = "Selatan" : GOTO 180
IF KW(T) = 1 THEN WIL$ = "Timur" : GOTO 180
WIL$ ="Utara"
180 PRINT TAB(15);"Tagihan Listrik"
PRINT TAB(15);"Wilayah : Jakarta. `; WIL$
PRINT STRING$(50,' -")
PRINT "No"; TAB (15 ); "Hama"; TAB(3 5 );"Jumlah"
PRINT "Langganan";TAB(15);"Langganan";TAB(35);"Pemakaian (Kwh)"
PRINT STRING$(50,' -")
240 TOTWIL = TOTWIL + JP(T)
PRINT NO$(T);TAB(15);NM$(T);TAB(35);JP(T)
NEXT T
TOTSEL = TOTSEL + TOTWIL
PRINT TAB(28);"Total Pemakaian :";TOTWIL
PRINT STRING$(50,' -")
PRINT TAB(18);"Total Seluruh Pemakaian :";TOTSEL
3. Penelusuran program
Dari program yang telah dibuat, dapat ditelusuri sebagai berikut :
1. Siapkan variabel-variabel yang diperlukan selama proses berlangsung., Variabel-
variabel tsb adalah :
SW Variabel dipakai sebagai variabel switch
WS Variabel ini dipakai untuk mempertahankan KODE WILAYAH yang
pertama kali dibaca
TOTWIL Variabel ini dipakai untuk memnghitung nilai total pemakaian per wilayah
TOTSEL Variabel ini dipakai amok menghitung nilai total seluruh pemakaian dari
semua wiayah
2. Input data dan simpan di dalam variabel :
NO Data nomor langganan
KW Data kode wlayah
NM Data nama pelanggan
JP Jumlah pemakaian listrik tiap pelanggan
3. Bila isi variabel T = N, lakukan :
Cetak nilai total pemakaian penwilayah yang tersimpan dalam variabel TOTWIL
Cetak nilai total pemakaian seluruh wiayah yang tersimpan didalam variabel TOTSEL
Proses selesaiiberakhir
Jika isi T tidak sama dengan N berarti proses belum berakhir, maka lanjut ke langkah 4
4. Periksa isi variabel SW. Langkah ini dilakukan untuk mengetahui apakah proses yang
dilakukan merupakan proses awal. Jlka SW = 0, berarti proses merupakan pemaacaan
data awal, maka lakukan: isi variabel SW dengan 1
Karena proses pemaacaan merupakan data awal, maka isi KW hams dipertahankan untuk
perbandinganpada data berikutnya. Oleh karena itu lanjutkan ke langkah 9 untuk
mengisi ke variabel penampungan yaitu WS. Jika SW tidak sama dengan 0, 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 itu sama, berarti data
yang dibaca merupakan data wilayah yang sama dengan data sebelumnya. Oleh karena
itu lanjutkan proses ke langkah 11. Namur jika isi KW dengan WS tidak sama berarti
data tersebut merupakan data pemakaian listrik untuk wilayah lainnya. Oleh karena itu
hams dilakukan proses pencetakan total pemakaian wilayah sebelumnya dan proses
pencetakan judul. Judul digunakan untuk wilayah bare 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 variabel ini disebut Grand / Mayor Total
7. Cetak mlai total perwilayah
8. Kosongkan variabel TOTWIL. Karena variabel ini akan digunakan untuk perhitungan
nilai total pemakaian wilayah berikutnya.Karena data yang dibaca merupakan wilayah
barn maka isi variabel WS juga hams 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
perwilayah. Rumus yang dipakai adalah :
TOTWIL = TOTWIL +JP variabel ini disebut Minor Total
12. Cetak data-data tiap pelanggan
13. Kembali ke langkah 3 untuk membaca data berikutnya