Pembuatan Laporan
Pembuatan Laporan
Pembuatan Laporan
001 ALI 4A
Mulai 1970 2000000
49
Baca Record
EO Selesai
F
DAFTAR PEGAWAI
NAMA DEPT.
Mulai
GOL. THN. MASUK GAPOK
XXX XXXX XX XXXX XXXX
? Judul Utama
? Judul Kolom
Contoh:
Baca Record
Buat diagram alur untuk mencetak nama-
nama pelamar yang lolos saringan tahap
EOF Selesai
pertama. Dalam tes terdapat 2
materi. Bila jumlah nilai kedua materi tersebut
Cetak Detail
lebih besar dari 70 pelamar dinyatakan
lolos saringan tahap pertama. Bentuk laporan yang diinginkan terdiri dari nama
pelamar, nilai tes dan keterangan.
Mulai
50
Cetak Judul Laporan
Nama=XXX Selesai
J = (N1 + N2)/2
Ket$= L
J > 70
Ket$= TL
? Nama$, J, Ket$
51
TEHNIK SWITCHING
Tehnik Switching merupakan cara memperpendek jalur proses yang memakai
suatu indikator untuk mengantisipasi proses yang akan dilakukan selanjutnya.
Indikator ini dimisalkan seperti switch pada tombol lampu yang dapat mengatur dua
kondisi yaitu nyala dan padam.
Dalam flowchart, switch merupakan 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 memalui proses
sebelumnya atau mempersingkat alur proses.
Contoh :
Suatu perusahaan akan membuat laporan gaji pegawainya berdasarkan
golongannya. Data yang dibaca terdiri dari nomor pegawai, nama pegawai,
golongan dan gaji bersih. Data yang dibaca sudah urut per golongan yang terdiri dari
: golongan 1, 2, 3,4. Jika golongan berubah maka cetak TOTAL GAJI per golongan
dan ganti halaman baru serta NOMOR dimulai dari 1.
Pada akhir laporan cetak TOTAL SELURUH GAJI yaitu jumlah total gaji
seluruh golongan. Lay out yang diinginkan :
TSGJ=0
SW=0 TGJ= 0
NO=0
1 ? NO, NP,52
NM$,
SW=0
GOL=GOL 1 GJ
BACA?EOF
TGJ=TGJ
NP,NM$,GOL,GJ
0 ? TGJ, TSGJ NO=NO+1
TSGJ=TSGJ+TGJ 2
TSGJ=TSGJ+TGJ
SW=1 GOL1=GOL ? JUDUL1
NO=0 2 TGJ=TGJ+GJ
END
SOAL :
Sebuah perusahaan ingin mengkomputerisasikan perhitungan pemakaina listrik.
Dimana pelanggannya mencakup seluruh wilayah di Jakarta.
53
Data diinput oleh operator terdiri dari kode wilayah, nomor pelanggan, nama
pelanggan dan jumlah pemakaian.
Data habis jika operator memasukkan nomor pelanggan =0
Data sudah urut perkode wilayah, terdiri dari Jakarta Barat, Jakarta
Timur, Jakarta Pusat, Jakarta Utara, dan Jakarta Selatan,
Jika wilayah berubah, maka cetak total biaya per wilayah dan ganti halaman
baru.
Pada akhir laporan cetak total seluruh biaya yaitu jumlah total pemakaian
litrik di semua wilayah.
Lay out yang diinginkan :
Pemakaian Listrik Wilayah : Jakarta..
No. Pelanggan Nama Jumlah pemakaian
Xx xxxxxxxxxxx xxxxxxxxx
. ..
Total Pemakaian :
Start
TotSel=0
TSGJ=0
SW=0 TotWil=
TGJ= 0 0
NO=0
1 Kw=Kw ? NO, NP,
NM$,
54NM$,
1 SW=0
GOL=GOL 1 JP GJ
BACA
Input
EOF
?No=0
TGJ=No,
TGJ
TotWil
NP,NM$,GOL,GJ
0 Kw,
TotWil= 0 NM$, JP ? Totwil,
TGJ, TSGJ NO=NO+1
NO=0 SW=12 2
2 Kw1=Kw
GOL1=GOL
TotSel ? JUDUL1
TGJ=TGJ+GJ
TotWil=Totwil+JP
END
TotSel=TotSel+Totw
il
TotSel=TotSel+totwil
55
Data diinput oleh operator melalui keyboard. Data tersebut terdiri dari kode
wilayah, kode pelanggan, nomor pelanggan, nama pelanggan, jumlah
pemakaian.
Data habis jika operator memasukkan kode pelanggan =0
Kode pelanggan terdiri dari :
Kode = 10 berarti tempat hiburan. Untuk itu dikenakan biaya
tambahan sebesar 25% dari biaya pemakaian.
Kode = 20 berarti tempat sosial. Untuk ini dikenakan potonngan
sebesar 25% dari biaya pemakaian.
Kode = 30 berarti rumah tangga.
Biaya per KWH dihitung menurut jumlah pemakaian dengan keentuan sbb:
Pemakaian (kwh) biaya (kwh)
<100 500
100 500 750
> 500 1000
Biaya pemakaian untuk tiap-tiap pelanggan dihitung berdasarkan : Jumalh
pemakaian * biaya per kwh + biaya tambahan potongan
Data sudah urut perkode wilayah
Jika kode wilayah berbeda cetak total biaya perwilayah dan ganti halaman
baru
Pada akhir laporan cetak total seluruh biaya
Lay out laporan :
Tagihan Listrik Wilayah : Jakarta..
No. Pelanggan Nama Ket Jumlah pemakaian Biaya
Pemakaian
Xx xxxxxxxxxxx sosial 500 xxxx
.. .
Total biaya :
56
No. Pelanggan Nama Ket Jumlah pemakaian Biaya
Pemakaian
Xx xxxxxxxxxxx sosial 500 xxxx
.. .
Total biaya :
Total Seluruh Biaya :
Jadi untuk setiap perubahan kode klasifikasi, maka setiap harga barang di totalkan.
Analisa Pendahuluan :
1. Kita perlu melakukan penjumlahan seluruh harga barang ( sama dengan
penjumlahan pada grand / mayor total ).
57
Minor total cetak total untuk kode yang sama. Total akan
dicetak bila kode berubah.
Kita perlu mengadakan pengecekan kode klasifikasi untuk setiap data yang
dibaca dengan kode dari data sebelumnya, karena itu diperlukan variabel
penampung KL & KK untuk kode klasifikasi.
3. Tempat kode klasifikasi ini dapt ditempati pertama kali oleh kode klasifikasi
data pertama, disamping harga barang dari data pertama dijumlahkan
dengan isi dari total harga barang, untuk minor total dan mayor total.
4. Bila masih ada data, lakukan pengecekan kode, bila kode beda, maka
lakukan:
* Isi dari total harga barang dicetak (minor total).
* Isi THB di kosongkan.
* Isi dari kode klasifikasi dari data terakhir, dikeluarkan , diganti dengan yang
baru.
* Proses selanjutnya seperti data semula ( untuk kode klasifikasi yang baru).
* Kode sama ,proses dilanjutkan sesuai data dengan kode yang sama.
5. Demikian seterusnya s/d data habis. Bila data habis baru cetak minor total
terakhir dan mayor totalnya
58
OPERASI FILE RANDOM
I. PENYISIPAN RECORD
Akses pada file random dapat dilakukan secara acak. Jadi akses data tidak
dilakukan dengan membaca data satu per satu mulai dari record pertaa tapi
dilakukan dengan nomor record,
Pencarian record data dapat dilakukan dengan pindah dari record terakhir ke
reocrd awal atau record lainnya.
Flowchart proses penyimpanan data ke file
start
2
Read Mast1.dat
NIM1,NM$, AL1$
/* END
N=0
3
N= N + 1
Read Mast2.DTA
Record ke-N
NIM2,NM2$,AL2$
59
1
/* Write MAST.DTA
NIMO=NIM 1 NIMO, NMO, ALO
NMO = NM 1
ALO = AL 1
/* 2
60
II. PENGHAPUSAN RECORD
Penghapusan dilakukan dengan membentuk file baru. Dimana file baru ini
merupakan file berisiskan record dari file lama.
Namun record dari file lama tersebut hanya terbatas pada record yang tidak
sama dengan data yang akan dihapus.
Sedangkan record yang sama dengan data yang akan dihapus diabaikan
System flowcart penghapusan record
MASTER.DTA
NEW. DTA
TRANS. DTA
Record yang dihapus pada file MASTER.DTA ditentukan berdasarkan data
yang terdapat di file TRANS. DTA
Hasil penghapusan record disimpan di dalam file NEW.DTA . Jadi isi TRANS.
DTA merupakan isi MASTER.DTA setelah mengalami penghapusan record.
Struktur file TRANS.DTA hanya terdiri dari field Nomor Induk Mahasiswa . Field
ini menunjukkan record di MASTER.DTA yang akan di hapus.
61
Flowchart penghapusan record
start
N=
0
2
N= N+1
Read MASTER.DTA
RECORD KE N
NIM2, NM2, AL2
/* END
M=0
3
M= M + 1
/* NIMO = NIM1
NMO = NM1
ALO= AL1
NIM2=
3 NIM 1 Write New. DTA
Record ke M
NIMO, NMO, ALO
62
2
III. PERUBAHAN ISI RECORD
Perubahan record dilakukan dengan mencari record yang akan diubah lalu
mengadakan perubahan terhadap isinya.
Selanjutnya record tersebut disimpan kembali tanpa mengubah posisi record.
Proses pencarian dilakukan dengan membaca record satu persatu mulai dari
awal record sampai record terakhir.
Setiap record yang dibaca dibandingkan melalui field yang berfungsi sebagai
key.
System flowchart perubahan record
N=0 /* selesai
3
N=N+1 M=0
4
M = M +1
Read TRANS.DTA
Record ke N
NIM1, NM1, AL 1
63
1
Read INDUK.DTA
Record ke M 2
NIM2, NM2, AL2
2
/* 3
NIM2= 4
NIM 1
NIM2=NIM1
AL2 = AL1
Write INDUK.DTA
RECORD KE M
NIM2,NM2,AL2
64
OPERASI FILE SEQUENTIAL
Operasi terhadap file yang diorganisir secara sequential hanya dapat
dilakukan secara berurutan.
I. PENYISIPAN RECORD / PENAMBAHAN RECORD BARU
Untuk penambahan record ke dalam suatu file, maka posisi record terakhir
harus diketahui, karena record yang baru diletakan pada posisi setelah record
terakhir.
Flowchart proses penyimpanan data ke file
start
Input NPM,
NM$, NILAI
NPM=
0 END
NPMO=NPM
NM$O=NM$
NILAIO=NILAI
WRITE
NPMO,NMO,NILAIO
65
Flowchart proses penambahan record baru.
start
Read Data
NM,UM,ALM
/*
INPUT NM1,UM1,
ALM1
NMO= NM1
UMO=UM1
ALMO=ALM1
WRITE
NMO,UMO,ALMO
END
Jika yang akan dilakukan adalah menyisipkan recor yang sudah ada, maka
diperlukan satu file baru untuk menampung hasil akhir dari penyisipan.
Untuk penyisipan record, posisi yang akan ditempati oleh record baru harus
diketahui dengan jelas
Posisi ini dpat diketahui dengan cara memeriksa salah satu isi dari suatu
record
System flowchart dibawah memperlihatkan bahwa data yang akan disisipkan
diinput melelui keyboard
Sedang file yang akan disisipkan data diambil dari FILE01 dan file baru hasil
penyisipan adalah FILE 02
66
FILE 02
FILE 01
FILE 02
FILE 01
67
Flowchart penghapusan record
START
INPUT NMH
1
READ FILE 01
NM1, UM1, AKM1
/* END
NM1=
NMH 1
NMO=NM1
UMO=UM1
ALMO=ALM1
WRITE FILE02
NMO,UMO,ALMO
68
III. PERUBAHAN ISI RECORD
Perubahan record merupakan modifikasi terhadap isi record dari suatu file.
Record yang akan dimodifikasi dicari dengan memeriksa isi salah satu field.
Untuk mengadakan perubahan pada record ke 3 maka proses pembacaan
record dilakukan mulai dari record pertama sampai pada record yang dituju.
Flowchart perubahan record
start
Input NAMA$
1
Baca FILE02
NPM2,NM2$, NILAI
/* END
2
NM2=
NAMA INPUT NPMB,NMB$,
NILAIB
1 NPMO=NPMB
NMO$=NMB$
NILAIO=NILAIB
WRITE FILE02
NPMO,NMO$,NILAIO 2
69
SOAL FILE SEQUENTIAL
1. Buat flowchart untuk menyimpan data ke dalam file. Spesifikasi data tersebut
adalah : nomor induk pegawai, nama pegawai, alamat dan gaji pokok. Proses
input data berakhir jika operator mengisi 0 untuk nomor induk pegawai.
2. Buat flowchart dengan permasalahan soal no.1 namun data pegawai yang
disimpan ke file hanya pegawai dengan gaji pokok > 200. Sebaliknya, untuk gaji
pokoklebih kecil atau sama dengan 200 dicetak melalui printer.
3. Perhatikan sistem flowchart sebagai berikut :
Mhsnew.dat
Mhs.dat
File mhs.dat terdiri dari field : nomor induk mahasiswa, nama, alamat, dan ipk.
Buat flowchart untuk proses penghapusan record filemhs.dat. Spesifikasi
proses adalah sebagai berikut :
- Record yang dihapus ditentukan berdasarkan nomor induk
mahasiswa ( NIM ) yang diinput melalui keyboard
- Data di dalam file.mhs.dat telah diurutkan berdasarkan
NIM
- Hasil proses penghapusan pada file mhs.dat disimpan ke file mhsnew.dat
- Proses selesai jika operator mengetik 0 untuk nomor induk
mahasiswa.
70
PENERAPAN KONSEP TABEL DALAM MASALAH
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.
71
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.
START
I=
0
INPUT
NIP,NM
YA
NIP =
0 END
TIDAK
I=I+1
NIPTAB(I) = NIP
NMTAB(I) = NM
Setiap data yang dibaca dari external tabel disimpan di dalam NIPTAB(I) dan
72
Variabel array merupakan suatu variabel dengan beberapa tempat
penyimpanan.
Gambar dibawah memperlihatkan ilustrasi variabel array NIPTAB.
1 2 3 4 5 6 ..... N
indeks
nilai indeksnya.
Misal untuk mencari nama pegawai dengan NIP = 10203 dapat digambarkan
melalui flowchart berikut :
START
NO =
10203
I=0
I=I+1
YA
PRINT
NO=
NMTAB(I EN
IV. Pengurutan dengan Eksternal Tabel
NIPTAB(I
) D
) File Indeks
IV.1. Pembentukan
73
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.
74
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 :
START
N=0
N=N+1
READ PEG.DTA
Record ke-N
NIP, NAMA, ALM
YA
/* END
TIDAK
ONIP=NIP
WRITE
INDEKS.DTA
RECORD KE-N ONIP
55
Berdasarkan flowchart diatas, terbentuk file indeks yaitu INDEKS.DTA.
NIP
93004 record pertama
93001
93003
93006
93002
93005
/*
56
PENGURUTAN BILANGAN DENGAN METODE
STRAIGHT SELECTION
I. Proses Pengurutan
metode ini dikatakan kebalikan dari metode Bubble sort. Pencarian dimulai
Bilangan terkecil ini lalu diletakan di elemen atau urutan pertama, demikian
seterusnya sampai dihasilkan urutan bilangan dari kecil ke besar.
Contoh Array :
20 12 35 11 17 9 58 23
1 2 3 4 5 6 7 8
12 20 35 11 17 9 58 23
1 2 3 4 5 6 7 8
11 20 35 12 17 9 58 23
1 2 3 4 5 6 7 8
Proses diatas hanya membandingkan elemen pertama dengan semua
9 20 35 12 17 9 58 23
1 2 3 4 5 6 7 8
elemen array. Sehingga elemen pertama terisi bilangan terkecil.
Ulangi proses diatas untuk membandingkan elemen ke 2 dengan elemen
lainnya.
9 12 35 20 17 11 58 23
1 2 3 4 5 6 7 8
9 11 35 20 17 12 58 23
1 2 3 4 5 6 7 8
Kini isi elemen pertama dan ke 2 sudah urut dari bilangan kecil kebesar
57
Ulangi proses di atas untuk membandingkan elemen ke-3 dengan elemen
lainnya.
Setelah itu elemen ke-4 dan seterusnya sampai elemen terakhir
Sehingga hasil akhirnya adalah
9 11 12 17 20 23 35 58
1 2 3 4 5 6 7 8
58
IMPLEMENTASI DALAM BENTUK FLOWCHART
START 1
I=I+1
I =0
N=0
J=I+1
INPUT
BIL
YA
BIL = ARRBIL(
0 1 I) YA
<
TIDAK ARRBIL(
N = N+1 J)
TIDAK
TEMP = ARRBIL(1)
ARRBIL(N) = BIL ARRBIL(I) = ARRBIL(J)
ARRBIL(J) = TEMP
TIDAK YA
1 N=J
I=N-
1
YA TIDAK
PRINT
ARRBILL(I
)
I=N
58
TIDAK
END
59
PENGURUTAN BILANGAN DENGAN
METODE BUBBLE SORT
Proses Pengurutan
Bubble Sort adalah nama yang diberikan pada prosedur untuk mengatur
sekelompok bilangan dengan urutan dari kecil ke besar.
Untuk mengurutkan bilangan diperlukan variabel array yang digunakan untuk
menampung semua bilangan yang akan diurutkan.
Proses pengurutan dilakukan dengan membandingkan semua elemen array satu
persatu.
Contoh :
20 12 35 11 17 9 58 23
60
61
IMPLEMENTASI DALAM BENTUK FLOWCHART
1
START
J=J+1
I = 0
J = 0
N=0 2
I=I+1
INPUT
BIL
BILLAR(I)
YA <
YA BILLAR(I+
1)
BIL=
0 1
TIDAK
TEMP = BILLAR(I)
N=N+1 BILLAR(I) = BILLAR(I+1)
BILLAR = TEMP
BILLAR(N) = BIL
I=N- 2
J
PRINT YA
I=I+1 I=0 J=N-
BILLAR( YA 1
I)
I= I=0
N
1 27
END
TIDAK
TIDAK
Bubble Sort tidak lain adalah pengulangan prosedur hingga bilangan bilangan
yang ada tersusun menurut urutan dari yang kecil ke yang besar.
Contoh Buble Sort
6 5 8 3
Pertama :
6 5 8 3 5 6 8 3 5 6 8 3 5 6 3 8
Pada akhir proses pertama ini, bilangan yang terbesar menempati tempat yang
sesuai.
Kedua :
5 6 3 8 5 6 3 8 5 3 6 8 5 3 6 8
Pada akhir proses kedua ini, bilangan terbesar kedua menempatkan tempat yang
sesuai.
Ketiga :
5 3 6 8 3 5 6 8 3 5 6 8 3 5 6 8
Bila proses ini dilanjutkan, tidak ada pertukaran tempat lagi bagi bilangan bilangan
tersebut, sebab bilangan tersebut telah selesai disusun.
TUGAS :
28
1. Untuk yang NPM nya ganjil jalankan flowchart Pengurutan Bilangan dengan
Metode Bubble Sort untuk data :
17 99 8 69 45 36 21
2. Untuk yang NPM nya genap jalankan flowchart Pengurutan Bilangan dengan
Metode Buble Sort untuk data :
54 70 81 3 11 48 90
29