P. 1
FlowChart

FlowChart

|Views: 837|Likes:
Published by Ra N Di
algoritma
algoritma

More info:

Categories:Types, School Work
Published by: Ra N Di on Mar 23, 2013
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as DOC, PDF, TXT or read online from Scribd
See more
See less

08/05/2014

pdf

text

original

FLOWCHART

BAB I PENDAHULUAN

I.1. PROGRAM DAN PROGRAMMING Di dalam pengolahan data dengan komputer, kedudukan komputer hanyalah sebagai alat. Agar suatu masalah dapat diselesaikan dengan memakai komputer, maka harus serangkaian instruksi untuk memecahkan masalah tersebut yang diberikan kepada komputer, sehingga komputer mampu bekerja menyelesaikan masalah itu menurut instruksi – instruksi yang sudah ditentukan. Program adalah serangkaian instruksi yang disusun untuk menyelesaikan suatu pekerjaan dengan menggunakan komputer. Kegiatan yang berhubungan dengan pembuatan program disebut : PROGRAMMING. Programming dibagi dalam 5 (lima) tahap, yaitu : 1. Mengerti persoalan yang akan diselesaikan. 2. Menganalisa penyelesaian persoalan 3. Menulis program dalam kertas coding 4. Mencoba pelaksanaan program (test dengan komputer) 5. Menyusun dokumentasi I.1.1. Mengerti persoalan yang akan diselesaikan Tahap ini adalah langkah pertama yang harus ditempuh dalam programming. Tanpa mengerti persoalan apa yang akan dipecahkan, mustahil berhasil menyelesaikan kegiatan selanjutnya. Programmer mendapat bahan – bahan mengenai suatu persoalan dari program spesification. Program specification berisi :

− −

Job description : keterangan umum mengenai suatu

persoalan dan apa yang akan dihasilkan dari program ini. System Flowchart : menunjukkan file input dan output yang dalam proses beserta medianya. Input Lay-Out : keterangan mengenai isi file yang dipakai

akan dipakai

sebagai input. Antara alain tentang bentuk (lay-out), organisasi file dan sifat-sifat field.

1

FLOWCHART

Processing information : ketentuan – ketentuan mengenai

proses, rumus – rumus yang digunakan, syarat – syarat dan tindakan – tindakan yang berhubungan dengan suatu syarat.

Output lay-out : keterangan mengenai isis file yang dipakai

sebagai output. Termasuk bentuk (lay-out) dan organisasi file. I.1.2. Menganalisa penyelesaian persoalan Tahap ini yang menjadi pokok pembicaraan dalam buku ini. Dalam tahap ini disusun suatu cara menyelesaikan persoalan yang kita hadapi. Proses apa yang harus dilakukan, langkah mana yang harus diambil, pekerjaan apa yang harus dilaksanakan dengan menggunakan komputer untuk menyelesaikan suatu masalah. Urutan proses, pekerjaan maupun langkahlangkah tersebut, digambarkan dalam bagan yang disebut flowchart. Jadi di dalam flowchart tergambar secara mendetail tiap langkah yang diinstruksikan programmer kepada komputer melalui program untuk menyelesaikan suatu masalah. I.1.3. Menulis program dalam kertas coding Setelah urutan langkah untuk menyelesaikan suatu persoalan digambarkan dalam flowchart, maka tiap langkah diwujudkan dalam bentuk instruksi kepada komputer. Bentuk instruksi mengikuti peraturan – peraturan tertentu. Programming language adalah cara – cara menulis instruksi. Ada bermacam – macam programming language dan masing – masing mempunyai peraturan – peraturan yang berbeda. Programming language itu antara lain adalah : COBOL, FORTRAN, PL/I. I.1.4. Mencoba pelaksanaan program Program yang ditulis dalam tahap ketiga itu belum dapat diketahui betul atau salah. Maka pada tahap keempat ini docoba melaksanakan program tadi dengan menggunakan data-data percobaan. Komputer akan melaksanakan instruksi – instruksi yang tertulis dalam program. Jika cara menulis instruksi itu salah, komputer memberitahukan mengenai kesalahan tersebut dan proses tidak dilanjutkan. Jika hasil proses tidak seperti yang kita harapkan, berarti program belum berhasil. Pada tahap ini kita lakukan perbaikan – perbaikan dari program yang masih belum berhasil sampai didapat hasil yang diingini.

2

FLOWCHART

I.1.5. Membuat Dokumentasi Jika program selesai dites dan tak ada kesalahan lagi berarti program telah mampu menangani persoalannya. Maka kegiatan terakhir dalam programming adalah membuat dokumentasi. Jika terjadi perubahan program (modifikasi), kemungkinan bukan si pembuat program yang harus merubahnya. Karenanya keterangan – keterangan mengenai program tersebut perlu didokumentasikan. I.2. PENTINGNYA ANALISA Betul tidaknya program berarti berhasil atau tidak program itu memproses data. Proses berhasil apabila hasil proses seperti yang diinginkan. Hasil proses sangat tergantung pada jalannya proses. Jalannya proses ditentukan oleh urutan instruksi – instruksi di dalam program. Penyusunan instruksi – instruksi itu tidak lain berdasarkan analisa pemecahan persoalan yang telah disebutkan tadi. Sebelum menulis program harus dipikirkan masak-masak akibat dari instruksi – instruksi, juga urutan instruksi – instruksi terhadap hasil proses. Misalkan ada dua instruksi, instruksi A dan instruksi B. Apakah yang terjadi bila instruksi A dilaksanakan lebih dulu dari B. Apakah hasilnya akan sesuai dengan keinginan kita. Atau justru untuk mencapai suatu keadaan tertentu dalam proses, langkah B mutlak harus lebih dulu dari langkah A. Pertimbangan – pertimbangan dan pemikiran serupa itu mutlak harus diambil sebelum penulisan program. Analisa yang baik menentukan sebagian besar keberhasilan program. I.3. FLOWCHART Flowchart adalah bagan yang menggambarkan urutan instruksi untuk proses dengan komputer dan hubungan antara suatu proses dengan proses lainnya, dengan menggunakan simbol – simbol tertentu. System flowchart adalah suatu bagan dengan simbol – simbol tertentu yang menggambarkan urutan prosedur dan proses dari suatu file di dalam suatu media menjadi file di dalam media lain, dalam suatu sistem pengolahan data. Program flowchart adalah suatu bagan dengan simbol tertentu yang menggambarkan urutan proses secara mendetail dan hubungan antara suatu proses (instruksi) dengan proses lainnya dalam suatu program. Dalam buku ini hanya akan dipelajari program flowchart saja.

3

FLOWCHART

Simbol – simbol flawchart yang penting dan sering dipakai :

-

SIMBOL DASAR, Untuk program flowchart dan system flowchart : Kegunaan : Proses / pengolahan Untuk program flowchart berarti : • • PROSES Operasi input – output (membaca dan menulis data) Perhitungan Mengubah harga

-

Penghubung di dalam satu halaman

CONNECTOR Penghubung antar halaman

OFF – PAGE CONNECTOR

ARROW

Tanda panah untuk menunjukkan arah. Flowchart dibaca dari kiri ke kanan atau dari atas ke bawah, selain itu harus diberi panah.

-

SIMBOL untuk PROGRAM FLOWCHART. pertanyaan penentuan keputusan (ya atau tidak) DECISISON PREPARATION memberi harga awal memberi harga dari switch mengubah index register

4

FLOWCHART

TERMINAL

menyatakan proses

permulaan

dan

akhir

-

SIMBOL untuk SYSTEM FLOWCHART KARTU

-

MAGNETIC TAPE

-

DISK

-

DOKUMEN

Contoh system flowchart :

5

FLOWCHART

LEMBAR JAWABAN UJIAN

Di -

dalam

system

Flowchart

digambarkan : hubungan antara file I dengan file lain. Media dari tiap –tiap file Program yang digunakan untuk proses file – file tadi Hubungan program 1 dengan program lainnya. Dengan kata lain system flowchart memberikan gambaran umum mengenai suatu system.

PUNCH & VERIVY MULAI

HEADER

DATA JAWABAN TULIS UJIAN

System flowchart dibuat oleh system analist.

KOREKSI DATA
BACA DATA

DAFTAR KOREKSI DATA
AKHI R FILE

FILE UTAMA UJIAN YA STOP

TABEL SISWA

PROSES TIDAK

KODE =L

FILE SISWA LULUS

LAPORAN HASIL UJIAN

Contoh Program Flowchart : Program
CETAK nama,alamat ‘LAKI’

flowchart

menunjukkan

6

FLOWCHART

gambaran dari suatu program secara mendetail, berupa urut – urutan dari instruksi Program yang flowchart diberikan dibuat oleh oleh menulis programmer kepada komputer. PROGRAMMER sebelum

program di kertas coding.

BAB II

7

FLOWCHART

MEMBUAT PROGRAM FLOWCHART Tidak ada suatu rumus atau patokan yang mutlak dalam membuat program flowchart. Karena pada dasarnya program flowchart adalah gambaran hasil pemikiran orang dalam menganalisa penyelesaian suatu masalah dengan komputer. Kenyataan yang tak dapat dihindari adalah timbulnya perbedaaan jalan pikiran tiap – tiap orang, yang mengakibatkan flowchart yang dihasilkan berbeda pula, walaupun untuk persoalan yang sama. Yang penting di dalam membuat program flowchart adalah bahwa bila langkah – langkah yang digambarkan dikeluarkan hasil yang betul. Dalam membuat program flowchart, intinya adalah mencari urutan langkah – langkah dan hubungan antara langkah itu dalam penyelesaian suatu masalah dengan komputer. Oleh karena itu terlebih dahulu akan disajikan sebagai ilustrasi, bagaimana menganalisa urutan dan hubungan kegiatan – kegiatan dalam suatu pekerjaan. II.1. ANALISA URUTAN DAN HUBUNGAN ANTAR KEGIATAN Contoh di bawah ini menggambarkan kegiatan – kegiatan dalam lingkungan hidup sehari – hari. Apa yang terjadi ketika seorang menelpon? Pertama – tama ia mengangkat telpon dan memutar nomor yang dituju. Kalau ada jawaban, tanyakan apakah orang yang dituju ada. Kalau orang itu ada, dilanjutkan dengan pembicaraan. Setelah selesai bicara, telpon ditutup dan selesai. Misalnya, direncanakan jika sudah mencoba tiga kali menelpon dan tak ada jawaban maka berhenti menelpon. Jadi kalau tak ada jawaban dan belum tiga kali mencoba, maka telpon ditutup dan tunggu selama 2 menit, kemudian mencoba menelpon lagi. Analisa berikut ini dibuat berdasarkan kegiatan – kegiatan dalam cerita di atas. 1. Kegiatan pertama adalah mengangkat telpon dan memutar nomor yang dituju. Akibat kegiatan ini timbul pertanyaan : 2. Apakah ada jawaban? Dari pertanyaan itu timbul 2 kemungkinan : ada jawaban dan tak ada jawaban. 3. Apakah orang yang dituju ada? Dari pertanyaan ini timbul 2 kemungkinan : di dalam flowchart, dilaksanakan oleh komputer, akan

8

FLOWCHART

Ada dan tidak ada. Jika ada maka : 4. Bicara, setelah itu 5. Telpon ditutup 6. Selesai Jika orang yang dituju tak ada maka : 7. Tutup telepon 8. Selesai Jika setelah memutar nomor (1) tidak ada jawaban maka : 9. Timbul pertanyaan : Apakah sudah mencoba menelpon 3 kali? Jika belum maka : 10. Tutup telpon 11. Tunggu 2 menit, lalu ulangi kegiatan pertama (1) Jika sudah mencoba tiga kali, maka : 12. Tutup telepon 13. Selesai Analisa ini digambarkan dalam bagan sebagai berikut : Mengangkat telpon dan memutar nomor

Apakah ada jawaban ada jawaban tak ada jawaban

Apakah orang yang dituju ada ada tidak

Apakah sudah 3 kali menelpon sudah belum

Bicara

Tutup telpon

Tutup telpon Selesai

Tutup telpon Tunggu 2 menit

Tutup telpon

Selesai

Gambar dalam II – 1. program flowchart hampir serupa Selesai Apa yang akan digambarkan dengan bagan di atas. Bedanya, kegiatan – kegiatan yang digambarkan dalam program

9

FLOWCHART

flowchart adalah pekerjaan yang dilakukan komputer atas instruksi programmer melalui program. Dan program flowchart menggunakan simbol – simbol khusus. Membuat program flowchart bukan hanya menentukan urutan dan hubungan kegiatan (langkah/aksi/pekerjaan/operasi), tetapi juga menentukan kegiatan – kegiatan apakah yang harus diambil. II.2. Cara membuat program flowchart Di dalam rangkaian pekerjaan membuat program, membuat program

flowchart termasuk dalam tahap analisa. Tahap kedua ini didahului oleh tahap : mengerti persoalannya. 1. Tahap yang mengawali pembuatan program flowchart dilakukan dengan mempelajari program specification yang berisi : 2. 3. tujuan program keadaan data input dan output system flowchart keterangan mengenai proses

Berdasarkan keterangan dari program specification, tentukanlah garis besar jalannya proses. Kemudian tentukanlah detail proses di dalam proses utama dengan cara : Mempelajari data – data (item) apa yang diminta pada output. Bagaimana cara mendapatkan data – data tersebut Dari mana asal data – data tersebut dan operasi apa yang harus dilakukan terhadapnya. Dalam mencari asal data, perlu dipelajari data – data pada input. Proses apa yang harus dilakukan terhadap data input agar menghasilkan output seperti yang diminta. Apakah semua record diproses dengan cara yang sama. Perhatikan syarat-syarat/kondisi – kondisi yang menentukan hubungan antara keadaaan data dan operasi terhadap data itu.

4.

Tentukan bilamana proses berakhir. Kegiatan – kegiatan apa yang dilakukan bila suatu file telah habis (selesai) diproses.

II.3. Contoh membuat program flowchart

10

FLOWCHART

Persoalan : Tujuan proses untuk menghasilkan daftar upah mingguan. Data input terekam pada kartu. Tiap record berada dalam satu kartu. Kartu terakhir berisi /*. Tiap record berisi data – data : nama pegawai kode shift jam kerja gaji per-jam

Ketentuan proses. Jika kode shift = 1 berarti shift 1 Jika kode shift = 2 berarti shift 2, dan gaji perjam dikalikan 1½. Output : cetak header tiap baris berisi : • • • • • Contoh data input : nama pegawai kode shift jam kerja gaji per-jam gaji

/*
ANNI 1 20 32 28 30 300 Gb. II-2 MAMAT 2 IKRA USMAN 1 2 250 200 300

h e a d e r d e t a i l

DAFTAR UPAH MINGGUAN NAMA PEGAWAI USMAN IKRA MAMAT ANNI KODE SHIFT JAM KERJA Out put yang diharapkan 1 2 2 1 30 28 32 20 GAJI PER-JAM 300 200 250 300 GAJI 9000 8400 12000 6000

11
Gambar II – 3.

FLOWCHART

II.3.1. Garis besar proses Proses pengolahan data dengan komputer dimulai dengan : − − − Memasukan data dari media input ke main storage (operasi input). Kemudian proses terhadap data input sehingga mendapatkan hasil. Hasil akan dikeluarkan dalam media output.

MULAI

OPERASI INPUT

PROSES

OPERASI OUTPUT Gb II – 4. STOP

12

FLOWCHART

Dalam persoalan di atas, data input berada pada kartu, maka operasi input berarti memasukan data nama (NM), kode (KS), Jam Kerja (JK) dan Gaji per-jam (GPJ) ke storage. Simbolnya adalah : NM BACA KARTU NM, KS, JK, GPJ USMAN Artinya : KS 1 JK 30 GPJ 300

USMAN NM

1 KS

30 JK

300 GPJ

Gb II – 6.

NM, KS, GPJ adalah nama-nama data/variabel/field/lokasi dalam storage. (berbeda nama berarti berbeda lokasi). Operasi output pada persoalan diatas adalah kegiatan mencetak isi lokasi NM, KS, JK, GPJ dan G (gaji) pada kertas. USMAN CETAK NM, KS, JK, GPJ, G NM 1 KS 30 JK 300 GPJ 9000 G

USMAN

1

30

300

9000

Gb II – 8.

13

FLOWCHART

Program flowchart berubah menjadi : MULAI

BACA KARTU NM, KS, JK, GPJ

A

A

PROSES

CETAK KARTU NM, KS, JK, GPJ

Gb II – 9. STOP

14

FLOWCHART

Program flowchart ini menunjukkan jalannya proses sebuah record. Akan tetapi record yang akan diproses tidak hanya satu, tiap record akan diproses dengan jalan yang sama dengan record pertama. Maka rangkaian kegiatan yang tergambar di atas diulang untuk tiap-tiap record. Dengan bantuan garis dan panah pengulangan itu digambarkan sebagai berikut : MULAI

BACA KARTU NM, KS, JK, GPJ

PROSES

CETAK KARTU NM, KS, JK, GPJ

Gb II – 10.

Program flowchart ini menggambarkan pengulangan tanpa titik akhir. Proses akan berakhir bila semua record pada file input telah diproses. Akhir file ini ditandai dengan tanda / *. maka bila tanda / * telah terbaca, berarti semua record sudah diproses, lalu proses stop. Oleh karena itu tiap kali kartu dibaca, diperiksa : apakah / * atau apakah end-of-file (EOF)

15

FLOWCHART

Pertanyan ini digambarkan dengan simbol :

/*

ya

tidak

Gb II – 11.

Program flowchart menjadi : MULAI

BACA KARTU NM, KS, JK, GPJ

/*

STOP

PROSES

CETAK KARTU NM, KS, JK, GPJ

Gb II – 12.

16

FLOWCHART

II. 3.2. Menentukan detail proses : a. Memperlajari data yang diminta pada output - nama pegawai, data ini didapat langsung dari input - Kode shift, data ini didapat langsung dari input - Jam kerja, data ini didapat langsung dari input - Gaji per-jam, data ini didapat langsung dari input - Gaji, didapat dari perhitungan Jadi pada tahap proses, hanya satu sasaran utama yaitu menghitung gaji b. Mempelajari detail perhitungan gaji - Pertama ; - Kedua Jika kode shift Jika kode shift ; gaji per-jam x jam kerja gaji per-jam x 1 ½ jam kerja ; 1, perhitungan pertama dilaksanakan ; 2, perhitungan kedua dilaksanakan Data-data yang dicetak pada bagian detail output :

Berdasarkan ketentuan di atas, ada 2 macam cara perhitungan gaji.

Dua pilihan ini tergantung dari keadaan data kode shift

Karena itu sebelum perhitungan dilaksanakan, kode shift perlu diperiksa Apakah kode shif = 1

Tidak (kode shift = 2)

Ya (kode shift = 1)

Gaji = gaji per-jam x 1 ½ jam kerja

Gaji = gaji per-jam x jam kerja

Gb II – 13.

17

FLOWCHART

Digambarkan dalam simbol ;

Y
KS = 1 G = GPJ x JK

T

G = GPJ x 1 ½ x JK

Gb II – 14.

Setelah proses perhitungan gaji, baik cara pertama ataupun cara kedua, kegiatan selanjutnya adalah operasi output. II.3.3. Perhatikan sekali lagi output yang diharapkan Selain detail laporan, terdapat pula judul (header) laporan. Judul laporan ini hanya satu kali dicetak pertama kali. Sangatlah tepat bila operasi mencetak judul ini dilakukan pertama kali, yakni sebelum membaca record pertama. Program flowchart berubah menjadi : MULAI

Keterangan : NM TULIS HEADE R B KS JK G = = = = nama pegawai kode shift am kerja gaji per-jam gaji

GPJ =

BACA KARTU NM, KS, JK, GPJ

A

18

FLOWCHART

A

/*

STOP

KS = 1

G = GPJ x JK

G = GPJ x 1 ½ x JK

B

CETAK KARTU NM, KS, JK, GPJ, G

Gb II – 15.

19

FLOWCHART

II.4. Beberapa anjuran dalam membuat program flowchart 1.Buatlah jalan proses yang sesingkat-singkatnya, hindarilah pengulangan proses yang tidak perlu dan logika yang berbelit-belit.

2. 3. 4.

Rangkaian

rangkaian

proses

yang

sama

sedapat

mungkin

digambarkan satu kali saja Gambarkanlah jalannya proses dari atas kebawah atau dari kiri kekanan.

Selain arah tersebut, harus diberi tanda panah. Sebuah program flowchart harus diawali dari satu titik ‘mulai’ dan diakhiri

dengan ‘STOP’ (boleh beberapa titik ‘STOP’) Flowchart di bawah ini salah. Karena setelah proses A dan B tidak nampak proses selajutnya.

PROSES A

PROSES B

Gb II – 16.

20

FLOWCHART

5.Berilah tanda pada tiap cabang (jalur) akibat, pada simbol pertanyaan.

Ya A>B Tidak A>B

<
A>B =

>

Gb II – 17.

6. Rumuskanlah suatu proes atau perhitungan dengan jelas - Dalam persoalan II-3 terdapat rumus menghitung gaji ( G) = gaji perjam (GPJ) x jam kerja (JK) Gambar yang salah Gambar yang benar

Hitung Gaji

Gaji : Cara pertama

G = GPJ x JK

Gb II – 18. - Untuk menggambarkan perhitungan : “ variabel T ditambah 1, dan hasil penambahannya disimpan pada T” Ada 3 cara :

T ditambah 1

T+1

T=T+1

Gb II – 19. - Untuk menggambarkan :

Isi variabel S dipindahkan ke R’
S R R = S

Gb II – 20.

21

FLOWCHART

7. Gunakan nama yang sama untuk suatu data/Field/variavel yang sama. Misalnya kegiatan ’ baca kartu’digambarkan sbb : Yang dimaksud dengan : BACA KARTU NM, KS, JK, GPJ Gb II – 21. NM KS JK : nama : kode shift : jam kerja GPJ : gaji perjam

Pada program flowchart yang sama, perhitungan gaji dengan rumus gaji = gaji per jam kerja. Digambar sebagai berikut : Gb II – 22. G = GP x JAKER

Gambar ini salah, karena nama-nama field/data tidak sesuai dengan nama yang diberikan sebelumnya Gambar yang benar adalah : Gb II – 23. G = GPJ x JK

8.

Kebenaran program flowchart harus ditest dengan data-data percobaan yang

mencakup segala macam situasi II. 5. Memeriksa Flowchart. Sebuah flowchart dianggap betul, bila proses atau kegiatan yang dilakukan berdasarkan flowchart itu menghasilkan sesuatu yang dianggap betul Salah satu cara memeriksa betul-tidaknya sebuah flowchart adalah dengan mengambil beberapa contoh data (data percobaan) dan langkah-langkah dalam flowchart dilaksanakan terhadap contoh data itu. Isi dari contoh data harus sesuai dengan ketentuan data input. Contoh data harus mencakup semua kemungkinan yang ada. Misalnya pada persoalan terakhir ( II-3). Kode shift pada sebagaian contoh data harus berisi 1 dan lainnya berisi 2

22

FLOWCHART

Program flowhart Gb. II-15 akan diperiksa dengan contoh data berikut ini : MULAI

TULIS HEADE R

BACA KARTU NM, KS, JK, GPJ

/*

STOP

KS = 1

G = GPJ x JK

G = GPJ x 1 ½ x JK

CETAK KARTU NM, KS, JK, GPJ

Gb II – 24.

23

FLOWCHART

Contoh data :

/ * ANNI MAMAT Gb II – 25. IKRA USMAN 1 2 2 1 20 32 28 30 300 250 200 300

DAFTAR UPAH MINGGUAN

Langkah / * ANNI MAMAT IKRA USMAN 1 2 2 1 20 32 28 30 300 250 200 300 1 2 3 4 5 6

Simbol no.

Aksi mulai

1 2 3 4 5

Tulis header baca kartu / * ? – tidak KS = 1 ? – ya G = GPJ x JK = 300 x 30

USMAN NM

1 KS

30 JK

300 GPJ

9000 G 7 7

= 9000 Cetak

DAFTAR UPAH MINGGUAN USMAN 1 30 300 9000 Gb II – 26.

24

FLOWCHART

/ * ANNI MAMAT IKRA 1 2 2 20 32 28 300 250 200

Kemudian Langkah Simbol no. 2 3 4 6 Aksi

8 2 10 11

Baca / * ? – tidak KS = 1 ? – ya G = GPJ x 1 ½ = 200 x 1,5

IKRA NM

2 KS

28 JK

200 GPJ

8400 G 12 7

Cetak

DAFTAR UPAH MINGGUAN USMAN IKRA 1 2 30 28 300 200 9000 8400 Gb II – 27.

25

FLOWCHART

/ * ANNI MAMAT 1 2 20 32 300 250

Kemudian Langkah Simbol no. 2 3 4 6 Aksi

13 14

Baca / * ? – tidak KS = 1 ? – ya G = GPJ x JK x 1½ = 250 x 32 X 1 1/2

MAMAT NM

2 KS

28 JK

200 GPJ

8400 G

15 16

DAFTAR UPAH MINGGUAN USMAN IKRA MAMAT 1 2 2 30 28 32 300 200 250 9000 8400 12000

17

7

Cetak

Gb II – 28.

26

FLOWCHART

/ * ANNI 1 20 300

Kemudian Langkah Simbol no. 2 3 4 5 Aksi

18 ANNI NM 1 KS 20 JK 300 GPJ 6000 G 19 20 21

Baca / * ? – tidak KS = 1 ? – ya G = GPJ x JK = 300 x 20

DAFTAR UPAH MINGGUAN USMAN IKRA MAMAT ANNI 1 2 2 1 30 28 32 20 300 200 250 300 9000 8400 12000 6000

22

7

Cetak

Gb II – 29.

/*

Kemudian Langkah Simbol no. 2 3 8 Aksi

/* 23 Gb II – 30. 24 25

Baca / * ? – tidak KS = 1 ? – ya Stop

27

FLOWCHART

Perhatikan output yang dihasilkan dan jalannya proses. Bila output sesuai dengan yang diminta berarti flowchart betul II. 8. SOAL-SOAL LATIHAN.

1. Di dalam menentukan lulus tidaknya seorang siswa, diadakan ujian 2 kali. Jika
nilai ujian pertama ≥ 60, siswa dianggap lulus, jika tidak rata-rata nilai ujian I & II, harus ≥ 70. Isikan kalimat dibawah ini pada bagian sampingnya. Pilih letak dan simbol yang tepat. ya

Apakah NI ≥ 60
tidak

Siswa lulus Siswa tak lulus NR = NI + NII 2 Apakah NR ≥ 70
ya

Keterangan : Nilai ujian I = NI Nilai Ujian II = NII NR = Nilai rata-rata.

tidak

28

FLOWCHART

2. P=3 Q=5 Pelajarilah flowchart di samping ini. Berapakah harga yang tercetak ?

P>Q

CETAK P

CETAK Q

MULAI 3. . BACA DATA NM, KS, UM Keterangan : NM = nama KS = kode shift UM = Umur

/*

CETAK ‘SELESAI’

STOP

/ * SUSI KS = L CETAK NM, KS, UM ‘PRIA’ TRI YULI IDA CETAK NM, KS, UM ‘ WANITA’ MAX BUDI ANDI L L P P P P 20 26 19 25 24 22 21

29

L

FLOWCHART

4. Di dalam record siswa berisi : nama, nilai pelajaran A, nilai pelajaran B, nilai pelajaran C. Untuk menentukan lulus tidaknya maka nilai rata-rata ketiga pelajaran itu harus ≥ 70 . Tiap record akan dicetak pada tiap baris dengan tambahan kata-kata “LULUS’ ATAU’ TIDAK LULUS’ Susunlah simbol-simbol di bawah ini agar membentuk sebuah flowchart untuk persoalan di atas. Tentukan mana cabangnya YA/TIDAK. Lihat gambar dihalaman selanjunya.

NR = NA + NB + NC 3

BACA DATA

CETAK NAMA NR, ‘LULUS’

CETAK NAMA, NR ‘TAK LULUS’

NR

70

/ *

MULAI

STOP

Keterangan : NR = Nilai rata-rata NA = Nilai pelajaran A NB = Nilai pelajaran B NC = Nilai pelajaran C 5. Dalam suatu kalkulasi harga x dihitung dari harga A ditambah harga B

sedangkan jika harga x positif, harga Y adalah harga A dikali B, jika x tidak positif, maka harga Y = x 6. Buatlah sebagian program flowchart untuk menghitung X, y. Ada 2 bilangan, A dan B, jika kedua bilangan itu sama cetak kedua-

7.

duanya. Jika tidak sama, cetak yang lebih kecil. Ada 3 buah bilangan P, Q,R,P # QR, carilah dan cetaklah bilangan yang terbesar. Bagaimana jika diketahui 4 bilangan. 8. Record-record pegawai direkam dalam tape, tiap record berisi :

30

FLOWCHART

- nama pegawai - Umur, dan keterangan Buatlah sebuah program flowchart yang menggambarkan urutan proses dengan komputer, untuk mencetak record pegawai yang berumur lebih dari 40 tahun. 9. Serupa soal no. 8, tetapi output yang diminta adalah mencetak semua record, sedangkan dari pegawai yang berumur lebih dari 40 tahun dicetak dengan diberi diberi tanda +. 10. File mengenai pegawai PUSKESMAS akan diproses untuk membuat laporan gaji pegawai klinik. Tiap record pada tape berisi : Nama klinik Alamat Kode daerah Jumlah dokter Jumlah bidan Jumlah perawat Jumlah mantri

OUT ; Diminta mencetak pada tiap baris : - Nama klinik - Alamat - Kode daerah - Jumlah bidan - Gaji para bidan - Jumlah perawat

- Gaji para perawat
- Jumlah mantri - Gaji para mantri

31

FLOWCHART

- Jumlah dokter - Gaji para dokter - Gaji semua petugas puskesmas Ketentuan gaji :

-

Dokter Bidan Perawat Mantri

= 20.000 = 19.000 = 17.000 = 17.500

Akan tetapi untuk Puskesmas yang terletak pada daerah yang berkode A tarip gaji para petugasnya = 1.5 kali ketentuan di atas 11. Dalam Perusahaan coklat dan kembang gula, terdapat pegawai-pegawai pada bgian pembungkusan. Proses bertujuan untuk membuat daftar upah pegawaipegawai tersebut. Tiap record berisi : Nama pegawai ( nm) Masa kerja ( mk)

Jumlah coklat (jc) yang dikerjakan pegawai tersebut Jumlah gula-gula (jg) yang dikerjakan pegawai tersebut. Jumlah dodol (jd) yang dikerjakan pegawai tersebut Untuk tiap buah coklat, upah = Rp. 1,Untuk tiap buah gula-gula, upah = Rp. 0,75,Untuk tiap buah dodol, upah = Rp. 0,75,Jika masa kerja pegawai tersebut lebih dari 3 bulan, maka pegawai mendapat uang transport Rp. 2.000,Pada daftar, tiap baris berisi :

-

Nama pegawai Upah untuk coklat (UC) Upah untuk dodol (UD)

32

FLOWCHART

-

Jumlah semua upah (US) termasuk uang transport, kalau ada)

MULAI CETAK NM, UC, UG, UD, US

US = 1,- x JC

TULIS HEADE R

UD = 0,75 x JD

UG = 0,75 x JG

BACA KARTU DATA

M>3

US = UC + UG + UD

Selesaikan flowchart di bawah ini dengan menggabungkan simbol-simbol di sampingnya.

/ *

STOP

US = UC + UG + UD + 2000,-

33

FLOWCHART

BAB III ANALISA KONDISI DAN AKSI Kondisi dapat diartikan sebagai isyarat, keadaan, status. Sedangkan aksi dapat diartikan sebagai tindakan, kegiatan, langkah. Misalnya sebuah ketentuan berisi : Jika masa kerja lebih dari 10 tahun, tunjangan masa kerja = 5 % dari gaji. Jika tidak, tunjangan masa kerja = 2 % dari gaji. ‘Masa kerja (MK) lebih dari 10 tahun’ adalah kondisi (syarat) “Masa kerja tidak lebih 10 tahun’ adalah kondisi (syarat) ‘Tunjangan Masa Kerja (TMK) = 25 % dari gaji’ adalah aksi ‘Tunjangan Masa Kerja (TMK) = 2 % dari gaji’ adalah aksi Kondisi MK lebih dari 10 tahun mengakibatkan aksi MK = 5 % dari gaji Kondisi MK tidak lebih dari 10 tahun mengakibatkan aksi TMK = 2 % dari gaji III.1. Menggambarkan hubungan kondisi dan aksi Didalam program flowchart kondisi digambarkan dengan simbol pertanyaan (decision) yang berbentuk belah ketupat. pertanyaan menimbulkan minimum 2 jalur. Jalur pertama menunjukkan kondisi yang positif, yakni keadaan seperti apa yang dinyatakan dalam simbol belah ketupat. Jalur ini diberi tanda Y (ya) atau B (betul). Tiap simbol

34

FLOWCHART

Jalur kedua menunjukkan kondisi kebalikan atau berlawan dengan apa yang tertulis dalam simbol belah ketupat. Jalur ini diberi tanda T (tidak) atau S (salah). Maka contoh aksi-aksi di atas dapat digambarkan sbb : Y MK > 10 TMK = 5 % x GAJI

T

Gb III – 1.

TMK = 2 % x GAJI Pada contoh diatas terlihat sebuah kondisi melibatkan sebuah aksi. Akan tetapi mungkin saja terjadi sebuah kondisi mengakibatkan beberapa aksi. Misalnya : Jika nilai tes lebih dari 70, maka pelamar harus mengikuti tesd kesehatan, membayar uang pendidikan dan menyerahklan surat-surat.

NILAI TES > 70

TEST KESEHATAN

MEMBAYAR UANG PENDIDIKAN

MENYERAHKA N SURATSURAT

Mungkin terjadi sebaliknya, dimana sebuah aksi ditentukan oleh beberapa kondisi (syarat). Misalnya : jika nilai test lebih dari 70, umur di bawah 25 tahun, tingggi badan lebih dari 150 cm maka pelamar diterima.

Y NILAI TEST >70 T UMU R< 25 T

Y TING GI > 150 T

Y PELAMAR DITERIMA

Gb. III-3 35

FLOWCHART

III.2. Hubungan Antar Kondisi Jika beberapa persyaratan/kondisi menentukan sebuah aksi, hubungan antara persyaratan satu lainnya dasarnya dapat digolongkan menjadi dua 1. Hubungan – Dan – 2. Hubungan – Atau – III.2.1. Hubungan – DanMisalnya jika nilai test lebih dari 70 dan umur di bawah 25 tahun maka pelamar diterima. Syarat 1 adalah nilai test lebih dari 70 Syarat 2 adalah umur dibawah 25 tahun Aksi adalah pelamar diterima’Dalam hubungan –dan-, aksi dilaksanakan hanya jika semua syarat dipenuhi, Perhatikan tabel dibawah ini : Syarat 1 Nilai test > 70 Ya/dipenuhi Tidak/tidak dipenuhi Ya/dipenuhi Tidak/tidak dipenuhi Syarat 2 Umur < 25 Ya/dipenuhi Ya/dipenuhi Tidak/tidak dipenuhi Tidak/tidak dipenuhi Aksi Pelamar diterima Dilaksanakan Tidak dilaksanakan Tidak dilaksanakan Tidak dilaksanakan

Contoh di atas dapat digambarkan sbb :

NILAI TEST >70

YA

UMU R< 25

YA PELAMAR DITERIMA

III.2.2. Hubungan – Atau – Misalnya jika berumur lebih dari 60 tahun atau sudah bekerja 30 tahun mendapat pensiun. Syarat 1 adalah umur lebih dari 60 tahun Syarat 2 adalah sudah bekerja 30 tahun Aksi adalah pensiun Dalam hubungan – atau-, aksi dilaksanakan, jika salah satu syarat dipenuhi. Ditabel sbb. : Syarat 1 Syarat 2 Aksi

36

FLOWCHART

Umur > 60 Ya/dipenuhi Ya/dipenuhi Tidak/tidak dipenuhi Tidak/tidak dipenuhi

Bekerja ≥ 30 th. Ya/dipenuhi Tidak/tidak dipenuhi Ya/dipenuhi Tidak/tidak dipenuhi

Pensiun Dilaksanakan Dilaksanakan Dilaksanakan Tidak dilaksanakan

Digambar sebagai berikut : Y UMUR > 60 Gb. III-5 T Y T BEKE RJA≥3 0 PENSIUN

III.3 Tehnik Switching

Tehnik switching adalah cara dalam memecahkan persoalan dengan menggunakn switch. Swith dapat diasosiasikan sebagai lampu indikator. Misalnya lampu lalu lintas, hijau berarti boleh jalan, merah berarti harus berhenti Didalam program, switch diartikan sebagai variabel yang isinya atau harganya dipakai sebagai indikator suatu kondisi/keadaan. Jika program itu diproses dengan komputer, maka variabel itu menempati suatu lokasi dalam storoge, dan isi lokasi tesebut dipakai sebagai indikator. Dalam hal ini switch sama sekali bukan suatu komponen electronic yang punya sifat khas. Variabel yang dianggap sebagai switch tidak ubahnya dengan data-data lain dalam stronge. Misalnya ada dua keadaan yang dicheck. Pertama keadaan file sebelum habis dibaca. Kedua file sudah habis dibaca. Variabel N akan berlaku sebagai indikator (switch bagi 2 keadaan diatas). Keadaan pertama ditanadai dengan N = 0 Keadaan kedua ditandai dengan dengan memeriksa harga N. Hal-hal yang harus diperhatikan dalam menggunakan tehnik switching adalah : Harga awal variabel yang berfungsi sebagai switch Bilamana isi atau harga variabel tersebut dicheck. N=1 Cara untuk mengetahui keadaan mana yang sedang berlaku, adalah

37

FLOWCHART

-

Bilamana isi atau harga variavbel tersebut diubah

Contoh pemakaian tehnik switching. Input adalah sebuah file siswa pada kartu, tiap record berisi : nama, tanggal lahir ( terdiri dari tanggal, bulan, tahun) dan nilai. Dalam proses ini akan dicheck mengenai tanggal , bulan dan nilai Tanggal harus 1 s/d 31 Bulan harus 1 s/d 12 Nilai lebih kecil atau sama dengan 100 Diluar ketentuan di atas, field-field bersangkutan dianggap salah. Jika suatu field salah, akan diberi tanda di samping kanannya. Jika sebuah record salah, akan dicetak kata ‘SALAH’ pada field KETERANGAN Sebuah record dianggap salah menimun jika salah satu field salah. Perhatikan output lay out di bawah ini : KOREKSI NAMA TG BL DATA TH NILAI

AS1

AS2 Gb. III-6

AS3 KETERA NGAN

Field ASI diisi tanda * bila field TANGGAL salah Field AS2 diisi tanda * bila field BULAN Field AS3 diisi tanda * bila field NILAI TANGGAL, BULAN, NILAI SALAH). Variabel yang dipakai sebagai switch misalnya SW. Harga SW akan digunakan sebagai indikator 2 keadaan yaitu : Record betul Record salah Kondisi record betul ditandai dengan isi SW = 0, kondisi record salah ditandai dengan isi SW = 1 salah salah

Field KETERANGAN disi kata SALAH bila record salah (salah satu di antara

38

FLOWCHART

Berapakah harga awal SW ? Pada awal proses, record dapat dianggap salah, dapat pula dianggap betul. Jika record dianggap betul, maka harga awal SW = 0 ( lihat simbol no. 1 Gb. III- 7 ) Tiap mulai memproses record berikutnya keadaan SW harus 0. Dengan demikian bila harga SW pernah diganti menjadi 1, maka harus diganti menjadi 0 kembali ( lihat simbol no 5 Gb. III-7) Bilamana isi atau harga SW diganti? Jika kondisi TANGGAL salah, atau BULAN salah, atau NILAI salah maka SW diisi 1 ( lihat simbol 2,3,4 Gb. III-7) Bilamana isi atau harga SW dicheck ? Dalam proses setiap record ada 2 pilihan : Field KETERANGAN diisi ‘kata’SALAH’ atau dibiarkan kosong. Maka untuk menentukan pilihan mana, isi SW perlu dicheck. Jadi tepat sebelum mengisi field KETERANGAN, ditanyakan Apakah SW = 1 ? Pada jalur ya, digambarkan aksi : KETERANGAN diisi ‘SALAH’ . Pada jalur tidak , KETERANGAN dikosongkan. Fungsi SW disini hanyalah sebagai indikator dalam menentukan 2 pilihan tersebut diatas. Berarti sertelah pilihan tersebut dilaksankan, MULAI isi SW harus dinetralkan kembali. Dengan kata lain SW dikembalikan pada harga semula yakni 0 ( lihat simbol no 5 Gb. III-7).

SW = 0

TULIS HEADER

BACA KARTU

A

/*

STOP

39
B T Y

FLOWCHART

B

TANGGA L

T

Y 2
TANGGA L < 32

T

AS 1 diisi *

SW = 1

Y AS 1 dikosongkan

BULAN > 0

T

Y T
BULAN >13

3 AS 2 diisi SW = 1

Y AS 2 dikosongkan

C
NILAI 101

4 T Y AS 2 diisi D SW = 1

KETERANGAN DIKOSONGKAN

AS 3 dikosongkan CETAK 1 BARIS RECOR D SW = 1 5 Y
KETERANGA Gb. III N diisi ‘SALAH’

SW = 0

Hal-hal lain mengenai switch A C D

40

FLOWCHART Didalam sebuah program, jumlah switch tidak terbatas. Isi switch tidak harus 0 dan 1 Sebuah switch dapat dipakai untuk indikasi lebih dari dua keadaan. (tergantung tehnik program dan kemampuan programming language) III. 4. SOAL-SOAL LATIHAN 1. Jika N = 5 dan B > 2 maka hitungan x = K + B Susunlah simbol-simbol di bawah ini menurut ketentuan di atas. Beri tanda YA / TIDAK, pada cabang-cabangnya K= 5 B> 2

X=K+B

2. Jika P + Q > 10 atau A = 0 maka hitunglah Y = P + A Susunlah simbol-simbol di bawah ini menurut ketentuan di atas. Beri tanda YA / TIDAK pada cabang-cabangnya
P+Q>1 0

Y=P+A

A=0

3. Jika A = 0 atau B = 0 atau C = 0 hitunglah P = Q + R Susunlah simbol-simbol di bawah ini menurut kalimat di atas Beri tanda YA / TIDAK pada cabangnya

A= 0

C= 0

C= 0

P=Q+R

4. Jika A positif dan B Negatif, hitunglah K = A x B Jika A negatif atau nol dan B negatif, hitunglah K = A + B Jika A positif, dan B ≥ 0, hitunglah K = A - B Jika A ≤ 0 dan B positif atau nol, hitunglah K = A : B Buat flowchart dengan simbol-simbol di bawah ini dan lengkapilah dengan simbol-simbol lain. A> 0 B< 0

Buatlah sebuah flowchart lagi untuk soal yang sama dengan di atas dengan menggunakan simbol di bawah ini : A≤ 0 B≥ 0

41

FLOWCHART

5. Jika A < 95, cetaklah harga A dan kata-kata .’KURANG DARI 95’ Jika A 95 dan A < 105, cetak harga A dan kata-kata’ 96 s/d 105’ Jika A > 105, cetak harga A dan kata-kata ‘ LEBIH DARI 105’. Susunlah sebuah flowchart dengan menggunakan simbol di bawah ini, dan tambahkan simbol yang kurang.
A> 95

A> 105

6. Jika B kurang dari 20, pindahkan harga B ke A, Jika B adalah 20 s/d 80, pindahkan harga B ke C, Jika B 80 ke atas, pindahkan harga B ke D Susunlah sebuah flowchart dengan menggunakan simbol di bawah ini dan tambahkan simbol-simbol yang kurang B>2 0

B

A

B

C

B

D

(Catatan : B adalah 20 s/d 80, berarti juga B > 20 dan B < 80). 7. Jika nilai kurang dari 70, cetak NILAI dan kata-kata ‘ TAK LULUS. Jika nilai70 s/d 80, cetak NILAI dan kata-kata’CUKUP Jika nilai 81 s/d 90, cetak NILAI dan kata-kata ‘BAIK’ Jika nilai 90 ke atas, cetak NILAI dan kata-kata ‘ MEMUASKAN’. Susunlah flowchartnya. 8. Jika kode pegawai = B artinya ia belum menikah, N berarti sudah menikah. Untuk perhitungan gaji seorang pegawai berlaku ketentuan sebagai berikut : Pegawai yang sudah berkeluarga, mendapat tunjangan istri sebesar 5% dari gaji pokok. Dan tunjangan anak sebesar 1% tiap anak, hanya sampai anak ketiga yang mendapat tunjangan. Susunlah flowchart dengan bantuan kalimat-kalimat di bawah ini. Pilih simbol yang tepat. Jangan lupa beri keterangan pada tiap cabang YA / TIDAK a. Apakah kode pegawai (KP) = B b. GAJI = GAJI POKOK ( GP) c. GAJI = GP =+ 5% X GP + 1% X GP X JA (Jumlah Anak) d. Apakah YA < 3 e. GAJI = GP + 5% X GP + 3% X GP f. Cetak GAJI 9. Jika membeli kurang dari 100 buah, tidak mendapat potongan. Jika membeli 100 s/d 200 buah, potongan 3% per-buah

42

FLOWCHART Jika membeli 200 s/d 500 buah, potongan 5 % per-buah Jika membeli 500 buah keatas, potongan 10% per-buah Harga Barang (HB) = Harga satuan (HS) x Jumlah Barang (JB) Susunlah flowchart dengan bantuan kalimat-kalimat di bawah ini. Pilih simbol yang tepat. JB < 100 ? JB < 201 ? JB < 501 ? HB = HS X JB HB = HS X JB X 0,97 HB = HS X JB X 0,95 HB = HS X JB x 0,9

10. Buatlah program flowchart lengkap Data input : File kartu berisi data mengenai hotel Tiap record berisi : - Nama penghuni - Nomor Kamar, - Kode jenis kamar : A Berarti Single B C berarti double berarti double + ruang tamu

- lamanya tinggal, - Ongkos-ongkos lain File tersebut akan diproses untuk menghasilkan daftar tagihan ketentuan tarip per-hari = Single Double - Rp. 7.000, - Rp. 11.000,-

Double + ruang tamu - Rp. 13.000,Tagihan = tarip per-hari X lamanya tinggal + ongkos-ongkos lain. Lay-out output

DAFTAR TAGIHAN NAMANOMOR KAMARJENIS KAMAR LAMANYA TINGGAL T TAGIHAN

43

FLOWCHART

11. Buatlah program flowchart lengkap. Tujuan proses = membuat laporan hasil penjualan bensin. Perincian harga per liter : 1 – 25 liter 26 – 50 liter 51 – 100 liter Lebih dari 100 liter Rp. Rp. Rp. Rp. 60,58,56,55,-

Data input terekam dalam tape. Tiap record berisi : - nama langganan - jumlah bensin yang dibeli Laporan yang diharapkan :

DAFTAR TAGIHAN N NAMA LANGGANAN

PEMBELIAN H HARGA

12. Buatlah program flowchart : Tujuan proses : Buatlah laporan gaji pegawai harian. Data input, tiap record berisi : nomor pegawai, nama pegawai, gaji pokok, jumlah jam kerja.

Ketentuan proses : Jika jumlah jam kerja kurang atau sama dengan 7 jam, maka gaji = gaji pokok x jumlah jam kerja.

44

FLOWCHART Jika jumlah jam kerja lebih dari 7 jam, maka kelebihannya adalah termasuk lembur. Uang lembur = jumlah jam lembur x 1½ x gaji pokok Jika jam lembur 3 jam atau lebih, maka pegawai itu mendapat uang makan sebesar Rp. 400,-

Lay-out Output :

DAFTAR TAGIHAN NO. PEGAWAINAMAGAJI POKOK JUMLAH JAM KERJA J

G GAJI

13. Buatlah flowhart lengkap untuk persoalan di bawah ini. Sebuah toko menjual 2 jenis barang yaitu roti dan buah-buahan. Dan ada 2 jenis pembeli yaitu : - Langganan - Pembeli biasa ( bukan langganan) Pembeli biasa tidak mendapat potongan Untuk langganan diberi potongan sbb : - Jika membeli roti lebih dari 200 buah, potongan 10% per-buah, - Jika membeli buah lebih dari 200 buah, potongan 5% per- buah Data input pada kartu tiap berisi : - Nama pembeli - Kode pembeli : B berarti pembeli biasa L berarti langganan - Kode jenis barang : 1  Berarti roti 2  Berarti buah - Jumlah barang yang dibeli - Harga satuan

45

FLOWCHART Output : Berupa daftar pembeli, cetak header Pada field jenis barang harap dicetak kata ‘ROTI’, Jika kode jenis barang = 1 Sedangkan jika kode jenis barang = 2, cetak ‘BUAH’. Lay-out : Output :

DAFTAR TAGIHAN NAMAKODE PEMBELIJENIS BARANG JUMLAH BARANG J

H HARGA

B A B IV KOUNTER

46

FLOWCHART Istilah kounter akan dijumpai dalam perjumlahan atau dalam mencari total. Cara yang paling sederhana untuk mencari total adalah sebagai berikut : IV.1. DASAR TEHNIK KOUNTER Sederet orang berdiri di luar ruangan. Akan dihitung berapa banyaknya orang itu. Sediakan tempat untuk menampung perhitungan. Namakan tempat itu JUM-OR dan mulamula kosong. Orang itu masuk satu persatu ke dalam ruangan. Tiap seorang masuk Istilah JUM-OR dengan sebatang kayu. Dengan kata lain isi JUM-OR ditambah dengan satu batang kayu setiap orang masuk. Setelah semua orang masuk, banyaknya batang kayu pada JUMOR = Jumlah orang. Atau : Isi JUM-OR = Jumlah orang. Fungsi JUM-OR adalah sebagai kounter.

selanjutnya akan dibahas persoalan-persoalan lain yang bersangkutan dengan penjumlahan, dengan mengembangkan cara yang sederhana di atas. IV.2 KOUNTER SEDERHANA Dalam persoalan ini akan dihitung jumlah pegawai suatu kantor tiap pegawai diwakili dengan satu record pegawai. Satu record pegawai dipunch pada satu kartu, sehingga dapat dikatakan 1 pegawai = 1 record = 1 kartu. Tiap record berisi : - Nama pegawai -Gaji pegawai

47

FLOWCHART Contoh input : NAMA SRI Contoh laporan : GAJI 1000 2000 1000 500

/ * BUDI LUSI MARTIN
Gb.IV-2a

500 1000 2000

MARTIN LUSI BUDI

JUMLAH PEGAWAI = 4 Gb.IV-2b

Tiap record akan dicetak pada 1 barsis dan akhir laporan akan dicetak jumlah pegawai. Orang memasuki ruangan analog dengan record masuk ke storange . Masuknya record ke storage, ketika kartu dibaca oleh card reader. Bagaimana dengan JUM-OR ?. JUM-OR berupa satu lokasi dalam storage. Pada persoalan berikut ini lokasi tersebut diberi nama JUM-PEG. Karena yang akan dihitung jumlah pegawai, JUM-PEG berlaku sebagai kounter. Pada pasal IV.1. mula-mula JUM-OR harus kosong, berarti JUM-PEG juga harus kosong atau JUM-PEG = 0. Bilamana isi JUM-OR ditambah? Isi JUM-OR ditambah tiap kali orang masuk, demikian pula JUM-PEG ditambah tiap kali record dibaca.

/ * BUDI LUSI MARTIN SRI 500 1000 2000 1000

STORAGE 0 Area input JUM-PEG Gb.IV-3a

/ * BUDI LUSI MARTIN 500 1000 2000
STORAGE SRI 1000 Area input 0+1=1 JUM-PEG

48

FLOWCHART

Gb.IV-3b

/

* 500 1000

BUDI LUSI

STORAGE MARTIN 2000 Area input

1+1=2 JUM-PEG Gb.IV-3c

/

* 500

BUDI

STORAGE LUSI 1000 Area input

2+1=3 JUM-PEG Gb.IV-3d

/

*

STORAGE BUDI Area input

500

3+1=4 JUM-PEG Gb.IV-3e

STORAGE / * Area input 4 JUM-PEG Gb.IV-3f

49

FLOWCHART

Ketika /* masuk, JUM-PEG tak perlu ditambah 1. Pada aksi : JUM-PEG ditambah 1dilakukan jika / * belum dibaca. Aksi mencetak JUM-PEG dilakukan jika /* sudah dibaca. Flowchartnya sebagai berikut : MULAI

SW = 0

TULIS HEADER

B

BACA KARTU

Y

/* A T A JUM-PEG DITAMBAH 1

CETAK JUM-PEG

STOP

CETAK NAMA GAJI

50
B

FLOWCHART

Gb. IV-4

IV.3 Kounter untuk kondisi khusus Di dalam sebuah file siswa, terdiri dari record-record siswa kelas 1, kelas 2 dan kelas 3. Ditanyakan jumlah siswa tiap-tiap kelas. Jadi bukan jumlah keseluruhan siswa. Dalam persoalan seperti ini konsep kounter dan kondisi- aksi digabungkan. Karena untuk memisahkan 3 macam total di atas, harus di-check kondisi tiap siswa : Apakah kelas 1, apakah kelas 2, apakah kelas 3.

/ * ATI BUDI LUSI JULI 1 500 11000
Misal tiap record berisi : - nama kelasnya - kelasnya

MARTIN 3 2000 ARI TONI SRI ALI 1 2
Gb. IV-5

3

Jika field kelas berisi angka 1 berarti siswa tersebut kelas 1 Jika field kelas berisi angka 2 berarti siswa tersebut kelas 2 Jika field kelas berisi angka 3 berarti siswa tersebut kelas 3

51

FLOWCHART Tiap record siswa akan dicetak pada tiap baris dan pada akhir daftar dicetak : Jumlah Siswa Kelas 1 Jumlah Siswa Kelas 2 Jumlah Siswa Kelas 3 Dengan sendirinya karena ada 3 macam total, maka harus disediakan 3 macam variabel sebagai kounter. TK 1 : untuk total siswa kelas 1 TK 2 : untuk total siswa kelas 2 TK 3 : Untuk total siswa kelas 3 Laporan yang diharapkan sebagai berikut : NAMA ALI SRI TONI ARI JULI ATI KELAS 2 1 3 3 1 1 SISWA KELAS 1 = 3 ORANG SISWA KELAS 2 = 1 ORANG SISWA KELAS 3 = 2 ORANG

Gb. IV-6

Perhatikan gambar di bawah ini :

52

FLOWCHART

Gb. IV-7a

Gb. IV-7b

53

FLOWCHART

Kesimpulannya : Tiap record (bukan / * ) masuk, tanyakan isi field kelas Jika field kelas = 1 Jika field kelas = 2 Jika field kelas = 3 TK 1 ditambah 1 TK 2 ditambah 1 TK 3 ditambah 1

Dan jika record / * , cetak TK 1, TK 2, TK 3.

54

FLOWCHART

MULAI

TK 1 = 0 TK 2 = 0 TK 3 = 0

TULIS HEADER

A
BACA KARTU

/* Y

CETAK TK 1 TK 2 TK 3

STOP

KELAS = 1

TK 1 Ditambah 1 Y

KELAS = 2

TK 2 Ditambah 1

TK 3 Ditambah 1

CETAK NAMA KELAS

Gb.IV-8

A 55

FLOWCHART

Mengapa pada flowchart itu tidak ditanyakan apakah kelas = 3 Karena bukan kelas 1 dan bukan kelas 2 berarti kelas 3. IV 4. Akumulator Pada pasal IV. I. Dihitung jumlah orang yang memasuki ruangan. Pada kasus berikut ini dimisalkan tiap-tiap orang membawa sejumlah uang. Dan persoalannya adalah menghitung berapa jumlah uang semua orang. Tempat untuk menampung uang dimisalkan bernama JU yang mula-mula kosong. Setiap kali orang masuk, uang yang dibawanya diletakkan pada JU. Sehingga isi JU tiap kali bertambah seharga uang yang dibawa tiap-tiap orang.

56

FLOWCHART

Setelah semua orang masuk, isi JU = Jumlah uang semua orang JU berfungsi sebagai akumulator Dalam persoalan berikut ini : Tiap record dalam suatu file berisi - nama - Tinggi Badan Output, berupa daftar, tiap baris berisi 1 record Pada akhir daftar, cetak tinggi rata-rata Untuk mencari tinggi rata-rata, perlu dicari total tinggi semua orang. Kemudian total tinggi dibagi jumlah orang menghasilkan tinggi rata-rata. Jumlah orang (JO) dihitung dengan konsep pada pasal IV.2. Total Tinggi (TT) dihitung dengan cara yang diuraikan di atas. Tinggi rata-rata (TR) = TT : JO. Contoh data input Output yang diharapkan NAMA / * MAX IDA JUFRI BENI 170 150 160 150 Gb. IV-10a Gb. IV-10b BENI JUFRI IDA MAX 150 160 150 170 TINGGI

TINGGI RATA-RATA = 157,5

57

FLOWCHART

Program flowchart sebagai berikut : MULAI TT = 0 JO = 0

TULIS HEADER

BACA KARTU

Y /* T TT ditambah tinggi TR = TT JO
CETAK TR

STOP

JO ditambah 1

Gb. IV-11

CETAK Nama tinggi

Perhatikan kapan TR dihitung TR dapat dihitung bila harga TT dan JO telah didapat.Sedangkan TT berisi jumlah tinggi semua orang bila telah semua record diproses atau bila / * telah dibaca. Demikian pula halnya dengan JO Maka TR dihitung bila / * telah dibaca. Simbol TR = TT/JO berada pada cabang ya dari pertanyaan apakah / *. IV.5. Pemakaian kounter sebagai pengontrol pengulangan proses Apabila di dalam suatu proses, terdapat satu atau beberapa kegiatan yang perlu dilaksanakan berulang kali, maka jumlah pengulangannya dapat dikontrol

58

FLOWCHART

dengan menggunakan konsep kounter. Misalnya dalam suatu proses terjadi keadaan sbb : Urutan kegiatan adalah : Aksi A Aksi B Aksi C Aksi D Aksi B Aksi C Aksi D Aksi B Aksi C Aksi D Aksi E dst Nampak bahwa rangkaian aksi B, C, D diulang 3 kali, sesudah A dan sebelum E. Sangatlah tidak efisien bila dalam program flowchart, simbol demi simbol digambarkan berderet seperti di atas. Sama halnya bila di dalam program instruksi demi intruksi dituliskan berderet seperti di atas. Oleh karena itu perlu dibantu dengan sebuah variabel ( misalnya N). Isi variabel itu harus menunjukkan sudah berapa kali pengulangan dilaksanakaan. Tetap pada contoh di atas. Aksi A Aksi B Aksi C Aksi D Aksi B Aksi C Aksi D Aksi B Aksi C Aksi D Aksi E Pada tahap ini isi N harus 3 Pada tahap ini isi N harus 2 Pada tahap ini isi N harus 1

59

FLOWCHART

Jelaskan bahwa tiap kali B, C. D dilakasanakan, isi N ditambah 1. dengan kata lain tiap pengulangan dilakukan , isi N ditambah 1 sehingga isi N sama dengan jumlah pelaksanaan B-C-D. Tentunya sekaligus harus dipikirkan juga berapa isi N sebelum rangkaian B-C-D (sesudah aksi D dilaksanakan, periksa isi N). Karena hanya ingin 3 kali saja, maka tanyakan apakah N sudah mencapai 3. Kalau tidak, berarti ulangi aksi B. Kalau ya, berarti pengulangan selesai dan aksi E dilaksanakan.

AKSI

A

N = 0

L

L

Aksi B

Aksi B.

‘N

ditambah

1’

boleh

diletakkan antara panah dan aksi Aksi C Atau antara B dan C. Atau antara C dan D. Aksi D

N ditambah 1

N = 3 Gb. IV-12 Aksi E

60

FLOWCHART

Pemakaian dalam persoalan. Persoalan : akan dicari deret hitung sampai dengan suku ke 5. Data input : tiap record berisi suku awal dan beda Suku awal = 1 beda 2 3 5 7 9 Suku awal = 3 beda 1 4 5 6 7 Suku awal = 2 beda 3 5 8 11 14

/ * 2 3 1 Suku awal Gb. IV-13a 2 Beda 1 3

Perhitungan : Suku ke 2 = suku pertama + beda Suku ke 3 = suku ke 2 + beda dst. Analisa : Setelah membaca record, cetak suku awal dan beda. Variabel SUKU berisi harga tiap suku. Mula-mula isi SUKU = suku awal Untuk mencari suku berikutnya, SUKU ditambah dengan beda. Kemudian dicetak. Dua aksi terakhir ini diulang 4 kali, karena ditanyakan sampai suku ke 5.

61

FLOWCHART

MULAI B

BACA DATA INPUT

Y / * STOP

CETAK Suku awal beda

A SUKU = Suku awal N = 1 A SUKU Ditambah BEDA

CETAK Suku awal beda

N ditambah 1

ya B N = 5

tidak Gb. IV-14

62

FLOWCHART

IV. 6. SOAL-SOAL LATIHAN 1. Tiap record berisi : Nomor Barang Nama Barang Keterangan Proses dilakukan untuk membuat daftar barang pada daftar hendak dicetak : o o o Header dan nomor halaman pada tiap halaman baru. Nomor urut untuk setiap barang Tiap halaman berisi 40 baris ( 1 baris untuk 1 macam barang )

2. Tiap record input yang berada dalam tape akan dicetak dan pada akhor listing cetaklah total reord tersebut 3. Tiap record input berisi kode sex, P - pria, W – Wanita. Proses dilakukan untuk menghitung jumlah pria dan jumlah wanita. Jumlah-jumlah tersebut dicetak setelah semua record diproses. Tiap record tidak dicetak, hanya jumlah saja. 4. Tiap record siswa berisi kode jurusan, keterangan, nilai. Kode E = eksakta ( ilmu pasti) Kode S = Sosial Kode B = Budaya Proses bertujuan untuk mengitung : Jumlah siswa jurusan eksakta yang lulus Jumlah siswa jurusan eksakta yang tak lulus Jumlah siwa jurusan sosial yang lulus Jumlah siswa jurusan sosial yang tak lulus Jumlah siswa jurusan budaya yang lulus Jumlah siswa jurusan budaya yang tak lulus Kategori lulus nilai > 60 Hanya jumlah-jumlah tersebut di atas yang dicetak dalam laporan. 5. Buatlah soal no. 10 Bab III dengan tambahan sbb : Field nomor urut, pada detail Nomor halaman pada header Pada akhir laporan cetak : Jumlah semua kamar yang berisi Jumlah kamar single yang berisi Jumlah kamar double yang berisi Jumlah kamar double + ruang tamu yang beisi. 6. Buatlah soal no. 11 Bab III dengan tambahan sbb : Field nomor urut pada detail

63

FLOWCHART

-

Nomor halaman pada header Tiap 50 baris, ganti halaman dan cetak header Pada akhir laporan cetak : Jumlah bensin, terjual Jumlah pendapatan

7. Buatlah soal no 12. Bab III dengan tambahan sbb : Field nomor urut pada detail Nomor halaman pada header Tiap 40 baruis, ganti halaman dan cetak header Pada akhir laporan cetak : Jumlah pegawai Total gaji 8. Buatlah soal no. 13 Bab III dengan tambahan sbb : Field nomor urut pada detail Nomor halaman pada header Tiap 40 baris, ganti halaman dan etak header Pada akhir laporan cetak : Jumlah langganan Jumlah pembeli biasa Jumlah roti terjual, Jumlah buah terjual, Jumlah harga roti terjual Jumlah harga buah terjual. 9. Suatu file langganan air minum dalam kartu akan diproses untuk menghasilkan daftar tagihan. Tiap record berisi : Nomor Langganan Nama Langganan. Alamat Pemakaian dalam m3, Kode langganan Tarip per m3

-

-

Ketentuan : Kode langganan berisi A atau B atau C Jika kode langganan A, batas pemakaian = 1.000 m3 Jika kode langganan B, batas pemakaian = 500 m3

64

FLOWCHART

Jika kode langganan C, batas pemakaian = 300 m3 Jika lewat dari batas pemakaian, maka kelebihannya = 1 ½ x tarip per m3 Tagihan = Pemakaian x Tarip per m3 ( ditambah kelebihannya kalau ada) Output berisi :

o Nomor Langganan
o o o o Nama Langganan Pemakaian Alamat Tagihan

Cetak header pada tiap halaman baru. Tiap halaman 30 baris End of file cetak total tagihan, total pemakaian, dan total langganan. Nomor barang Nama Barang Harga Satuan Kode Barang

10. Tiap record input berisi :

Ketentuan : Jika jumlah barang terjual 1 s/d 100, harga barang = harga satuan x jumlah barang Jika lebih dari 100, maka untuk 100 buah berikutnya, tiap buah = 0,9 x harga satuan. Jika lebih dari 200, maka untuk kelebihannya, harga tiap buah = 0,75 x harga satuan Jika misalnya harga satuan 5,Jumlah barang 100, harga = 100 x 5,Jumlah barang 200, harga = 100 x 5,- + 100x0,9x5,Jumlah barang 250, harga = 100 x 5,- + 100 x 0,9 x 5,- + 50 x 0,75 x 5

Cetak header pada tiap halaman baru dari laporan. Tiap halaman 45 baris, beri nomor haaman. Tiap baris berisi : Nomor Barang Nama Barang Jumlah Barang Terjual Harga Satuan Kode Barang Harga Barang

65

FLOWCHART

End of file cetak pada halaman baru : Jumlah semua barang terjual Jumlah semua harga barang Jumlah semua barang berkode x yang terjual Berapa persentasi jumlah barang berkode X yang terjual terhadap jumlah semua barang terjual

-----------------

66

FLOWCHART

BAB V MEMBANDINGKAN SEBUAH RECORD DENGAN RECORD SEBELUMNYA Di dalam suatu proses, nilai seorang siswa akan dibandingkan dengan nilai siswa lain. Data tiap siswa dipunch pada sebuah kartu. Maka untuk poses di atas perlu dilakukan pembandingan antara sebuah record dengan record yang lain. Kesulitan yang timbul dalam membandingkan sebuah record dengan record sebelumnya? Perhatikan gambar di bawah ini :

TINI

87 TINI 87

HERU

85

TONO

90

HERU

85

TONO NAMA

90 NILAI

HERU NAMA Gb. V-1

85 NILAI

Jika sebuah instruksi ‘baca’ dilakukan komputer, data-data dari record input masuk ke area input dalam storage. TONO masuk ke tempat yang disebut NAMA 90 masuk ke tempat yang disebut NILAI Jika instruksi yang sama dilakukan komputer untuk membaca record berikutnya, makadata-data record berikutnya masuk ke tempat yang sama dengan tempat record sebelumnya. HERU masuk ke NAMA 85 masuk ke NILAI

67

FLOWCHART

Data record pertama terhapus oleh data record kedua. Data record kedua akan terhapus oleh data record ketiga, dan seterusnya. Sedangkan proses membandingkan NILAI pada sebuah ecord dan NILAI pada record sebelumnya, hanya dapat dilaksanakan bila kedua NILAI itu distorage pada sat yang sama. Maka untuk menghindari data NILAI suatu record hilang diperlukan bantuan tempat lain, misalnya apabila data suatu record masih diperlukan untuk proses selanjutnya, simpanlah data tersebut pada I. Dalam contoh di atas, sebelum pembacaan record berikut dilaksanakan, NILAI dipindahkan ke I. Proses ini digambarkan sebagai berikut :

Pindahkan NILAI Ke T

Atau NILAI T

artinya

TONO NAMA

90 NILAI

90 T

Gb. V-2 Selanjutnya akan dibahas pemakaian teknik ini dalam beberapa persoalan.

V. I. Memeriksa urutan record Suatu file kartu berisi data-data pegawai, dimana tiap record berisi :’ nomor pegawai dan nama. Susunan records di dalam file itu diharapkan urut menurut nomor pegawai dari kecil ke besar (sort ascending). Untuk memperlancar proses-proses selanjutnya, akan dibuat program untuk memeriksa urutan dari susunan record tersebut. Pada hasil proses akan dicetak setiap record dan record yang salah urutannya diberi tanda *. Contoh data input EDDY Salah urutannya 106 100 SYAMSUL TINI HERU TONO Contoh output

100 106 101 103 107
Gb. V-3

TONO HERU TINI * SYAMSUL * EDDY

68

FLOWCHART

Untuk mencari record yang salah urutannya, nomor pegawai sebuah record dibandingkan dengan nomor pegawai pada record sebelumnya. Jika nomor pada suatu record lebih kecil dari nomor pada record sebelumnya (yang dianggap urut), maka record yang disebut pertama dianggap salah urutannya. Dan sebaliknya, jika nomor pada suatu record lebih besar atau sama dengan nomor pada record sebelumnya (yang dianggap urut) maka record tersebut dianggap betul urutannya. Lihat contoh di atas. 101 dianggap salah urutannya karena 101 lebih kecil dari 106. 103 dianggap salah urutannya walaupun lebih besar dari 101. karena 103 dibandingkan dengan record sebelumnya yang dianggap urut yaitu 106, jadi 103 tidak dibandingkan dengan 101, karena 101 dianggap salah urutannya. Dengan memakai tehnik membanding sebuah record dengan record lain yang telah dibahas di atas, persoalan memeriksa urutan record dapat diselesaikan sbb. : 107 103 101 EDDY 1. SYAMSUL TINI Baca record pertama, 100 masuk ke NOMOR, TONO masuk ke NAMA 2. Cetak NOMOR + NAMA

106

HERU

100

TONO Gb. V-5a

100

TONO 3. T, NOMOR dipindahkan ke agar dapat dibaningkan record record 10 masuk ke NOMOR Baca

100 NOMOR

TONO NAMA T

dengan berikutnya. 4.

selanmjtnya. NAMA Gb. V-4a

NOPMOR, HERU masuk ke

69

FLOWCHART

100 100 NOMOR TONO NAMA 3 T

5.

Bandingkan

NOMOR

dengan T. Tanyakan apakah NOMOR lebih kecil dari T? ternyata kondisi (106 tidak terpnuhi maka : 100)

Gb. V-4b

6. 107 103 101 106 EDDY SYAMSUL TINI HERU 100 106 NAMA

Cetak

NOMOR

TONO HERU

4 106 NOMOR HERU NAMA 5

4

106

Gb. V-5b

T

Gb. V-4c

106 106 NOMOR HERU NAMA 7 T

7. ke T

NOMOR

dip[indahkan

8.

Baca 101

record masuk ke

selanjutnya. 9. Gb. V-4d

NOMOR. TINI masuk ke NAMA Tanyakan apakah NOMOR lebih kecil dari T.101 < 106 ternyata benar maka.

70

FLOWCHART

10. 107 103 101 EDDY SYAMSUL TINI 100 106 101

Cetak NOMOR + NAMA

+ * (101 dianggap urutannya).

TONO HERU TINI *

NOMOR 101 8

NAMA TINI 8 9

TINI T

Gb. V-5c

Gb. V-4e

101 Tidak dipindahkan ke T karena 101 salah urutanyya. Berarti 101 tak bisa dipakai sbagai patokan bagi record selanjutnya.

11. 107 103 EDDY SYAMSUL

Baca 103

record masuk ke

selanjutnya. nama.

NOMOR, SYAMSUL masuk ke

11 11 103 SYAMSUL NOMOR NAMA 12

106 T 12. Tanyakan apakah

NOMOR lebih kecil T.103< 106 ternyata ya, mak 103 dianggap Gb. V-4f salah urutan-urutannya

71

FLOWCHART

13. 107 EDDY +*

Cetak NOMOR + NAMA

14 107 NOMOR EDDY NAMA 15

14

106 T

100 106 101 103

TONO HERU TINI * SYAMSUL *

Gb. V-5d Gb. V-4g

14. 15.

Baca record selanjutnya tanyakan apakah

NOMOR lebih kecil dari T. 107>106 ternyata tidak, maka 107dianggap betul urutannya. 16. NAMA 107 107 EDDY NOMOR NAMA 17 T Cetak NOMOR dan

100 106 101 103 107

TONO HERU TINI * SYAMSUL * EDDY

Gb. V-4h

Gb. V-5e

17.

Karena record ini betul maka sebagai NOMOR atokn/

urutannya, dipakai berikutnya.

dipindahkan ke T. Agar dapat pembanding bagi record-record

72

FLOWCHART

Kemudian proses dilanjutkan dengan membaca record berikutnya. Demikian seterusnya sampai / * terbaca, proses berhenti. Dalam [persoalan ini tidak semua NOMOR dipindahkan ke T. karena tidak semua NOMOR dipakai sebagai patokan pembanding bagi record-record berikutnya. NOMOR yang dianggap betul urutannya saja dipindahkan ke T. record pertama selalu dianggap betul urutannya. Perhatikan langkah-langkah dari 1 sampai dengan 17 maka akan terlihat beberapa langkah yang sama. Langkah 2 = langkah 6 = langkah 16 Langkah 3 = langkah 7 = langkah 17 Langkah 1 = langkah 4 = langkah 8 = langkah 11 = langkah 14 Langkah 5 = langkah 9 = langkah 12 = klangkah 15 langkah 10 = langkah 13 Dalam program flowchart langkah-langkah yang sama digambarkan satu kali saja, tetapi dengan tanda panah dinyatakan proses berulang. Dalam bagan sederhana dapat digambarkan sbb. : 1

2

3 4

T 5

Y

Gb. V-6

Langkah 5 adalah pertanyaan, karena itu menimbulkan 2 cabang ya dan tidak. Langkah 6 berada pada cabang tidak dari langkah 5. rangkaian 6-7-8-9 = 2-3-4-5. karena itu panah ditarik dari langkah 5 cabang tidak menuju 2.

73

FLOWCHART

Pada saat keluar dari cabang tidak dan menuju 2-3-4-5, sebetulnya langkah 6-78-9 dikerjakan. Langkah 10 berada pada cabang ya dari langkah 9, atau cabang ya dari langkah 5. Sesudah, dikerjakan 11-12-13 = 8-9-10. Sedangkan 8-9 = 4-5. maka 11-14 11-5 = 11-12-13 = 8-9-10. Sedangkan 8-9 = 4-5. Panah ditarik dari A menuju 4.

1

2

3

4

5 T Y

1 0

Gb. V-7

Setelah 13,14 dilakukan. 14 = 11 = 8 = 4. Dan 15 = 12 = 9 = 5. Rangkaian ini sudah tergambar dalam bagan. Langkah 16 berada pada cabang tidak sesudah 15 atau sama dengan cabang tidak dari langkah 5. 16-17 = 2-3. Jadi 15-16-17 = 5-2-3. Rangkaian ini sudah tergambar dalam bagan. Tentu saja bagan di atas belum lengkap. Sebuah program flowchart harus mempunyai titik akhir. Dalam hal ini, proses ini akan diakhiri bila / * terbaca.

74

FLOWCHART

Program flowchartnya : MULAI

BACA KARTU

CETAK NOMO R NAMA

NOMOR → T

BACA KARTU

1*

Y

STOP

NOMOR < T Gb. V - 8 T Y

CETAK NOMO R NAMA

75

FLOWCHART

V.2 Memeriksa Urutan Record dengan Tehnik Switching Pada program flowchart Gb. V-8 nampak dua simbol ’baca kartu’. Simbol ‘baca kartu’ pertama dilaksanakan hanya sekali saja, pada waktu pembacaan record pertama. Simbol ‘baca kartu’ kedua dilaksanakan berualang kali untuk membaca record kedua dan seterusnya. Switch akan duigunakan untuk membedakan 2 macam keadaan ini. mMisalnya variabel SW berfungsi sebagai switch. SW = 0 menunjukkan pembacaan record pertama. SW = 1 menunjukkan pembacaan record kedua dan selanjutnya. Dengan demikian harga awal SW = 0 Bilamana harga SW diganti menjadi 1?. Tepat sesudah pembacaan record pertama. Sesudah record pertama dibaca, harga SW harus = .1. Pada pembacaan record kedua dan selanjutnya harga SW tidak berubah. Bilamana harga SW dicheck? Fungsi SW disini untuk menimbulkan 2 jalur. Dimana jalur pertama dilalui bila record pertama dibaca, dan jalur lainnya dilalui setelah pembacaan record kedua dan selanjutnya. Kesimpulannya, pemeriksaan isi SW dilakukan sesudah ’baca kartu’. MULAI

SW = 0

BACA KARTU

1

A

76

FLOWCHART

A

Y
/* STOP

T T
SW = 1 SW = 0

Y
/*

Y

CETAK NOMO R NAMA *

CETAK NOMO R NAMA

T
1

NOMOR

T Gb. V - 9 T A

77

FLOWCHART

V.3. Total Menurut Tingkatan Dalam sebuah file pegawai berisi data-data pegawai suatu perusahaan, yang dikelompokkan bagian perbagian. Perusahaan itu terdiri dari beberapa bagian (misalnya : bagian penjualan, bagian keuangan, bagian personalia, dll) Di dalam tiap record, jenis bagian iotu dinyatakan dengan KODE BAGIAN yang terdiri dari angka. Selain dari KODE BAGIAN, sebuah RECORD berisi NOMOR PEGAWAI dan NAMA. Misalnya KODE BAGIAN 11 menyatakan bagian penjualan. Record pada gambar di sebelah ini berarti : A dengan NOMOR PEGAWAI 11 100 A penjualan. 100 bekerja pada bagian

KODE BAG bagian).

NO. PEG

NAMA

Keadaan data : susunan record urut menurut Kode bagian (sorted by Kode Contoh data input : 1* Output yang diharapkan sbb : DAFTAR PEGAWAI KODE BAGIAN NOMOR BAGIAN NAMA

77 77 77 66 66 66 66 44 44

144 141 140 127 126 123 120 113 111

I H G F E D C B A
tingkat kedua tingkat pertama

44 44 66 66 66 66 77 77 77

111 A 113 B TOTAL BAGIAN = 2 120 C 123 D 126 E 127 F TOTAL BAGIAN = 4 140 G 141 H 144 I TOTAK BAGIAN = 3 TOTAL SEMUA = 9

78

Gb. V - 10

FLOWCHART

Pada output terdapat dua macam total. 1. Total pegawai tiap bagian (TB) 2. Total semua pegawai (TS) Dalam hal ini ada dua buah tingkat total. Tingkat pertama adalah tingkat bagian dan tingkat kedua adalah total semua. Total semua lebih tinggi tingkatny dari pada total bagian. Karena total semua = jumlah total tiap bagian. Tingkat yang lebih tinggi disebut juga mayor. Tingkat yang lebih rendah disebut minor. Ada kemunghkinan di dalam suatu persoalan terjadi lebih dari dua tingkatan total yang harus dihitung. Cara menghitung total bagian maupun total semua adalah dengan konsep kounter yang telah dibahas pada bab yang lalu. Total semua dapat pula dihitung dengan cara menjumlahkan total tiap bagian. Yang lebih penting dibahas berikut ini adalah bilamana total-total tersebut dicetak. Sudah jelas bahwa TS akan dicetak pada end-of-file. Total bagian akan dicetak pada saat kode bagian berganti. Karena itu kode bagian tiap record (kecuali record pertama) perlu dicheck apakah sama dengan tiap kode bagian record sebelumnya. Jika sama, berarti record sebelumnya bukan record terakhir suatu bagian. Jika tidak sama, berarti record sebelumnya merupakan record terakhir dari suatu bagian, maka total bagian dicetak. Cara membandingkan kode bagian sebuah record dengan kode bagian record sebelumnya, sama dengan cara yang dibahas pada V.1. Setelah total bagian dicetak, field total bagian dikosongkan atau di-nol-kan (TB = 0). Gunanya adalah agar tempat itu dapat dipakai untuk menghitung total bagian berikutnya. Sebab jika total setiap bagian masing-masing ditampung dalam semua variabel yang berbeda, maka jumlah vriabel = jumlah bagian yang ada. Sedangkan satu variabel saja cukup mampu menampung total masing-masing bagian dengan cara bergantian. Misal variabel itu TB. Setelah TB dipakai untuk menghitung suatu total bagian dan setelah isi TB dicetak, TB dikosongkan. Kemudian TB digunakan untuk menghitung

79

FLOWCHART

total bagian berikutnya. Sehingga total bagian yang sedang dihitung tidak tercampur dengan isi TB sebelumnya. Jadi penyelesaian persoalan ini hampir serupa dengan persoalan yang dibahas pada V.1. Dengan mengambil flowchart Gb. V-9 sebagai kerangka, penyelesaian persoalan ini dibuat. Pertanyaan ‘NOMOR < T’ diganti dengan ‘KB (Kode bagian) = T’. Jika betul (ya), cetak TB kemudian kosongkan TB. (gb. V-11 simbol 1,2,3). Selanjutnya perlu ditambahkan proses-proses yng berlaku bagi tiap-tiap record. Proses TB ditambah 1, untuk mencari total pegawai per bagian (Gb. V-11 simbol no.4). Proses : TS (Total Semua) ditambah 1, untuk mencari total semua pegawai (Gb. V-11 simbol no.5). Program flowchart menjadi : MULAI

SW = 0 TB = 0 TS = 0

TULIS HEADE R

1

BACA KARTU

/* T Y SW = 1 2 SW = 0 T KB T Y KB = T

Y CETAK TB CETAK TS

STOP

1 T CETAK TB 2

TB = 0 TB DITAMBAH 1 4 2 A

3

80

FLOWCHART

A

TB DITAMBAH 1

CETAK NOMOR NAMA

1

Gb. V - 11

Perhatikan langkah-langkah pada jalur ya sesudah pertanyaan ‘ / *’. Ketika terbaca / *, berarti semua record dari bagian terakhir (kelompok terakhir) sudah dicetak. Tetapi total bagian terkhir tersebut belum dicetak. Maka sebelum mencetak total semua (TS), TB dari bagian terakhir harus dicetak pula. V.4. SOAL-SOAL LATIHAN 1. Buatlah program flowchart :

-

Tujuan proses untuk memeriksa kesalahan kode pegawai. Data dlam file pegawai dikelompokkan menjadi satuan-satuan yang disebut Batch. Dalam satu batch masing-masing record mempunyai nomor batch yang sama.

-

Tiap record berisi nomor batch nomor pegawai kode pegawai jumlah anak

81

FLOWCHART

-

data-data lain

file urut menurut nomor batch. Ketentuan pemeriksaan : Kode Pegawai harus A atau B atau C : selain itu dianggap salah. Kalau kode pegawai = A, jumlah anak harus = 0, jika tidak, dianggap salah. Jika record salah, pada kolom keterangan diisi ‘SALAH’

Pada laporan tip ganti batch cetak header pada halaman baru. Pada akhir tiap batch, cetrak : Jumlah record yang salah Jumlah semua record

Pada end of file harus dicetak : jumlah batch (kelompok) yang salah 2. Sebuah perusahaan mempunyai beberapa buah agen penjualan. Data penjualan tip agen direkam dalam tape. Tiap-tiap record berisi : kode agen kode jenis barang nomor barang nama barang jumlah terjual Tiap record memuat jumlah tiap macam barang yang terjual. Tiap agen menjual beberapa jenis barang. Tiap jenis barang terdiri dari beberapa macam barang yang berlainan nomor barangnya. File tersebut sudah disusun menurut kode agen dan kode jenis barang. Contoh output : LAPORAN PENJUALAN BARANG KODE AGEN 11 11 11 11 11 12 12 12 KODE JENIS A A B B B A A A NO. BRG. 101 102 201 202 203 101 103 104 HAL : 1 JUMLAH YANG TERJUAL 5 7 TOTAL BARANG JENIS A = 12 5 3 5 TOTAL BARANG JENIS B = 13 TOTAL PENJUALAN AGEN 11 = 25 6 7 2 TOTAL BARANG JENIS A = 15 TOTAL PENJUALAN AGEN 12 = 15

82

FLOWCHART

13 13 13 13

C C D D

881 883 1122 1124

2 5 TOTAL BARANG JENIS C = 17 4 5 TOTAL BARANG JENIS D = 19 TOTAL PENJUALAN AGEN 13 = 16

TOTAL SEMUA = 56

-

tiap halaman baru cetak nomor halaman dan header

3. Sebuah record mengenai barang terdiri dari dua kartu. Tiap record berisi : kode record nomor barang keterangan kode record = 1 berarti record pertama. Kode record = 2 berarti record kedua Jika record pertama dan kedua ada, maka record tersebut disalin ke tape. Jika tidak lengkap, cetaklah. Pada EOF, cetak jumlah record yang masuk ke tape. 4. Double Checking Sebuah file kartu akan diperiksa record-recordnya. Apakah ada record yang rangkap. Tiap record berisi : nomor pegawai nama pegawai keterangan File sudah disusun menurut nomor pegawai. Jika ada lebih dari 1 record yang berisi nomor pegawai yang sama, maka recordrecord tersebut dicetak. Sedang record-record yang lainnya ditulis ke tape. Pada akhir proses, cetak jumlah record yang masuk ke tape. (gunakan thnik switching). 5. Untuk memeriksa kesalahan kode pegawai dan nomor pegawai sebuah file pegawai, data-data dalam file pegawai dikelompokkan dalam satu batch. Dalam tiap batch diawali sebuah kartu batch header yang berisi :

83

FLOWCHART

-

nomor batch kode kartu ( = 0) jumah nomor pegawai dalam batch tsb Tiap record berisi : nomor batch kode kartu (harus A/B/C) nomor pegawai data-data lain Ketentuan proses : Tiap record, juga batch header akan dicetak Jika bukan kartu batch header kode kartu harus A/B/C, jika tidak, cetak Jumlahkan nomor pegawai suatu record dengan nomor pegawai record Jika ganti nomor batch, cetak hasil penjualan itu. Dan bandingkan hasil

pada keterangan ’SALAH KODE’ lainnya dalam satu batch penjumlahan itu dengan data jumlah nomor pegawai yang ada pada batch header. Jika sama berarti tidak terdapat kesalahan nomor pegawai dalam batch Cetak pula jumlah record yang salah kode kartunya Pada end of file cetak jumlah batch yang salah Pada tiap pergantian batch, cetak header di halaman baru. itu. Jika tidak sama, cetak keterangan ‘MASIH ADA SALAH NO. PEGAWAI”

6. Sebuah program bertujuan untuk membuat daftar komisi para salesman tiap bulan. Ketentuan mengenai komisi : Tiap salesman mendapat komisi sebesar 5% dari hasil penjualannya. nomor salesman tanggal penjualan nomor barang banyaknya barang harga satuan Pada kartu terdapat data :

Proses dilakukan terhadap data penjualan dalam sebulan, karena itu bila seorang salesman melakukan penjualan lebih dari 1 kali dalam sebulan, maka record salesman tersebut lebih dari 1 kartu.

84

FLOWCHART

Contoh data input : NOMOR SALESMAN 111 111 111 122 143 143 TANGGAL PENJUALAN 2-1-1976 2-1-1976 3-1-1976 15-1-1976 14-1-1976 17-1-1976 NOMOR BARANG 9988 9797 7676 6555 6555 9988 BANYAK BARANG 10 5 2 30 10 8 HARGA SATUAN 100,50,125,75,75,100,-

Contoh output : DAFTAR KOMISI HASIL PENJUALAN 1500,2250,1550.TOTAL KOMISI = 265,-

NO. SALESMAN 111 122 143

KOMISI 75,112,50 77,50

BAB VI KONSEP TABEL Dalam suatu persoalan : dari data input yang tiap recordnya berisi : nomor mobil dan nama pemilik, akan dibuat sebuah daftar mobil, dmana pada tiap baris tercetak : nomor mobil, kota dan nama pemilik. Nomor mobil terdiri dari kode kota dan angka. Misalnya :

85

FLOWCHART

B-1581, B adalah kode kota, 1581 adalah angka. Dalam proses ini diperlukan sebuah tabel yang berisi : kode kota dan nama kota. Data input dan tabel merupakan dua file yang berbeda, walaupun kadangkadang medianya sejenis. Contoh input, tabel dan output : Table kota Argumen B L – 1713 AB - 2511 B - 1234 BOY SAM AMIR D F L AB Function JAKARTA BANDUNG BOGOR SURABAYA YOGYAKARTA

DAFTAR MOBIL NOMOR PEMILIK KOTA B-1234 L-1713 AMIR BOY JAKARTA YOGYAKARTA SURABAYA AB-2511 SAM

Output Gb. VI-3

VI. I. ARGUMEN, FUNGSI DAN INDEKS Tabel terbagi atas 2 bgian yaitu argumen dan fungsi. Di dalam sebuah tabel mungkn terdapat satu argumen dan beberapa fungsi. Argumen berisi data yang menjadi patokan. Misalnya pada contoh di atas untuk mencari nama kota dalam tabel, patokannya adalah kode kota. Kode kota berlaku sebagai argumen dan nama kota sebagai fungsi. Tiap record dalam tabel disebut elemen. Pada gambar di atas lihat 5 elemen tabel.

86

FLOWCHART

Suatu elemen tabel dinyatakan dengan menyebut indeksnya. Misalnya tabel di atas bernama TABKD (tabel kota) maka : B D F L AB Jakarta Bandung Bogor Surabaya Yogyakarta adalah TABKD (1) adalah TABKD (2) adalah TABKD (3) adalah TABKD (4) adalah TABKD (5) Gb. VI-4 Tiap elemen terdiri dari 2 field yaitu kode kota diberi nama ARG dan nama kota diberi nama FUN. Maka ARG (3) = F dan FUN (2) = Bandung, TABKD (4) = L – Surabaya. VI. 2. GARIS BESAR PENYELESAIAN PERSOALAN DENGAN TABEL Baca data Cari kode kota pada tabel Tulis nomor mobil; nama pemilik dan nama kota Proses utama adalah mencari kode kota pada tabel. Proses itu pada dasarnya adalah mencocokkan antara kode kota dari input dengan kota-kota pada tabel, harus dimulai dari elemen pertama. (kecuali bila susunan record pada file input dan pada tabel berurutan). Oleh sebab itu misalnya tabel terdapat pada tape, setiap kali tape harus rewind. Maka untuk memperlancar proses, tabel itu disimpan dalam storage.

Urutan proses menjadi :

Tabel disimpan dalam storage

Baca Data

Cari dalam tabel

TULIS

87

FLOWCHART

Gb. VI-5 VI. 3. MENYIMPAN TABEL DALAM STORAGE dan dimasukkan ke dalam tiap elemen TABKD. B D F L AB JAKARTA BANDUNG BOGOR SURABAYA YOGYAKARTA (Storage-tabel)

Misalnya : tabel mula-mula berada pada tape. Tiap record pada tape akan dibaca

MULAI

Pengisian tabel dari elemen pertama. Misalnya variabel X dipakai sebagai indeks, maka X = 1, ketika record pertama diberikan ke storage, record berikutnya x = 2. Berarti tiap kali mengisi elemen TABKD, harga X harus dinaikkan 1. X= 0 Pada saat / * dibaca, harga X menunjkkan jumlah record yang disimpan pada TABKD atau jumlah elemen TABKD yang diisi.Harga tersebut kadang-kadang diperlukan untuk proses selanjutnya, jika sebelumnya tidak diketahui dengan tepat berapa jumlah record tabel dalam tape. Baca ( KKT = Kode Kota dari Tape ) Tape ( NKT = Nama Kota dari Tape)

1*

X+1

88
KKT dan NKT TABKd (x)

FLOWCHART

Gb. VI-6 VI. 4. MENCARI DALAM TABEL (TABLE LOOK-UP) Jika pada TABKD, argumennyayang berisi kode kota diberi nama ARG dan fungsi yang berisi nama kota diberi nama FUN, maka mencari dalam tabel berarti membandingkan kode kota dari kartu (KKK) dengan ARG. Mula-mula KKK dibandingkan dengan elemen pertama (ARG (1)). Jika sama, ambil FUN (1) untuk dicetak. Jika tidak sama, bandingkan dengan elemen berikutnya yaitu ARG (20. jadi tiap kali membandingkan, indeks (misalnya I) dari ARG ditambah 1. MULAI Jika semua nomor pada file kartu belum tentu terdapat pada tabel, maka mungkin terjadi tak satupun ARG yang sama dengan KKK. Untuk mengatasi terjadinya hal ini, tiap kali sesudah membadingkan periksalah apakah sudah mencapai elemen terakhir. Variabel X pada VI. 3. menunjukkan jumlah elemen dari tabel. Untuk X=0 mengetahui ‘apakah sudah mencapai elemen terakhir’ harga X dan I dibandingkan. Bila I = X berarti telah mencapai elemen terakhir. Jadi bila KKK tidak sama dengan ARG (I) dan I = X berarti KKK tidak terdapat pada tabel. Sebagasi contoh : aksi B yang diambil adalah mencetak kata-kata ‘Tak ada’ pada field kota di-output. Baca Tape

89
A

FLOWCHART

A

1*

Tulis Tape

KKT dan NKT TABKD (x)

I=0

1

1* B

STOP

I+1

KKK = ARG ( I)

CETAK KKK FUN ( I ) NP

1

I=X

CETAK KKN NP ‘TAK ADA’

90

FLOWCHART

Gb, VI-8

VI.5. SOAL-SOAL LATIHAN 1. Akan diproses tape file dari data hasil ujian mahasiswa yang berisi : - No. Mahasiswa Nilai

System flowchart

TABEL

DATA MAHAS ISWA

91

FLOWCHART

PROSES

REPORT

Ketentuan : - Nilai lebih kecil 70 70 - s/d - 79 80 - s/d - 89 90 - s/d - 99 -

TIDAK LULUS MMR SAT HS

Data nama mahasiswa terdapat pada tabel

Lay-out tabel : No. Mahasiswa Nama mahasiswa Hitung jumlah yang lulus dan jumlah yang tak lulus

Report lay-out : LAPORAN HASIL UJIAN NO. MAHASISWA 101 111 NAMA NILAI GRADE Xxxx 75 MMR AAA 95 HS Jumlah yang lulus = XXXXXX orang Jumlah tak lulus = XXXXXX orang

92

FLOWCHART

2. Dalam suatu file, data untuk seorang pegawai mungkin terdiri lebih lebih dari satu record. Tiap record berisi : nomor pegawai, kode shift ( 1 atau 2 atau 3 ) kode jenis pekerjaan jumlah produksi (barang yang dikerjakan/dihasilkan) Shift 1 = Jumlah produksi x tarif per-barang + tambahan (jika ada). Jika shift 2, maka tarip menjadi 1 ½ kali. Jika shift 3, maka tarip menjadi 2 kali. Kalau jumlah produksi seorang pegawai melebihi jumlah target maka tiap kelebihannya dibayar 1 ¼ kali tarif. Tarip dan jumlah target untuk tiap jenis pekerjaan terdapat dalam tabel. Isi record tabel : jumlah target tarip per-barang produksi Output : - Cetak header pada tiap halaman baru. - Beri nomor halaman. - Tiap halaman berisi 60 baris. - Tiap baris berisi : - End of file : - Jumlah pegawai - Rata-rata upah pegawai nomor urut nomor pegawai kode jenis pekerjaan jumlah seluruh produksi pegawai - upah kode jenis pekerjaan

Ketentuan proses pembayaran upah :

93

FLOWCHART

- Rata-rata produksi 3. Buat program flowchart : System flowchart. TABEL NAMA BAGIAN FILE PEGAWAI

PROSES

LAPORAN

Suatu file pegawai pada tape. Disusun menurut kode bagian. Tiap record berisi : tiap baris berisi : - Kode bagian - Nomor pegawai - Nama pegawai - jumlah jam kerja. - gaji per-jam. - Pendapatan. Pendapatan = jumlah jam kerja x Gaji per-jam. Jika jumlah jam kerja lebih besar dari 7 jam, maka untuk kelebihannya tiap jam kerja dibayar 11/2 x gaji per-jam. kode bagian. nomor pegawai. nama pegawai. jumlah jam kerja. gaji per-jam.

File tersebut akan diproses untuk menghasilkan laporan di mana

94

FLOWCHART

Ketentuan bentuk laporan : Tiap bagian dicetak mulai halaman baru dengan header dan Pada header dicetak nama bagian (nama bagian diambil dari Pada akhir tiap bagian cetak : TOTAL PEGAWAI BAGIAN TSB. TOTAL PENDAPATAN BAGIAN TSB. Pada end of file cetak pada halaman baru : - TOTAL SEI. PEGAWAI - TOTAL SEI. PENDAPATAN TABEL NAMA BAGIAN pada kartu. Tiap record berisi : KODE BAGIAN NAMA BAGIAN nomor urut dimulai dari 1. tabel nama bagian).

TEST DATA Input tape : KODE NOMOR JUMLAH JAM KERJA 5 7 9 7 4 5 7 10 NAMA BAGIAN TUKANG KAYU TUKANG BATU TUKANG DIESEL KEAMANAN PENJUALAN PROMOSI RUMAH TANGGA TRANSPORTASI SEKRETARIAT GAJI PER JAM 100,200,500,100,200,100,150,200,-

BAGIAN PEGAWAI 2 101 A 2 102 B 6 201 C 6 202 D 6 203 E 8 311 F 8 322 G 8 333 H TABEL NAMA BAGIAN : KODE BAGIAN 1 2 3 4 5 6 7 8 9 Halaman baru : Contoh Output Kode Bagian 2 2

NAMA

DAFTAR GAJI BAGIAN TUKANG BATU Nomor Peg. 101 102 Nama A B J.J. Kerja 5 7 Gaji P.J. 100,200,Hasil 500,1400,-

TOTAL PEGAWAI = 2 TOTAL PENDAPATAN = 1900,-

95

FLOWCHART

Halaman baru DAFTAR GAJI BAGIAN PROMOSI Kode Bagian 6 6 6 Nomor Peg. 201 202 203 Nama C D E J.J. Kerja 9 7 4 Gaji P.J. 500,100,200,Hasil 5000,700,800,-

TOTAL PEGAWAI = 3 TOTAL PENDAPATAN = 6500,-

Halaman baru DAFTAR GAJI BAGIAN TRANSPORTASI Kode Bagian 8 8 8 Nomor Peg. 311 322 333 Nama F G H J.J. Kerja 5 7 10 Gaji P.J. 100.150,200,Hasil 5000,1050,2300,-

TOTAL PEGAWAI = 3 TOTAL PENDAPATAN = 3850,-

Halaman baru TOTAL SELURUH PEGAWAI = 8 TOTAL SELURUH PENDAPATAN = 12.250,-

96

FLOWCHART

B A B VII MENGUBAH, MENAMBAH DAN MENGHAPUS RECORD (Updating, Inserting, Deleting) Pada bab ini akan dibahas proses dari perubahan record-record pada suatu file, di mana FILE FILE LAMA PERUBAH data-data yang berisi perubahannya terdapat pada file lain. Konsep dasar :

PROSES

97
FILE BARU Gb. VIII-1

FLOWCHART

Di dalam proses mengubah record dalam file, FILE LAMA berisi data-data yang akan mengalami perubahan, FILE PERUBAH berisi data-data perubahannya. FILE BARU berisi data-data yang telah dirubah.

Di dalam proses menambah record dalam file, FILE BARU berisi record-record yang terdapat dalam FILE LAMA ditambah record pada FILE PERUBAH.

Di dalam proses menghapus record dalam file, FILE PERUBAH berisi data-data yang menyatakan record mana yang akan dihapus dari FILE LAMA.

98

FLOWCHART

Syarat-syarat ketiga proses di atas adalah : 1. Adanya file kunci (key field/control field/matching field). Field kunci adalah sebuah field yang terdapat pada tiap-tiap record pada file, yang : - Pada proses mengubah berisi indentifikasi record yang akan dirubah. - Pada proses menghapus dan menambah dipakai sebagai patokan urutan record. 2. Susunan record pada semua file (input maupun output) urut menurut field kunci.

VII.1. Mengubah record dalam file utama (updating) Dalam sebuah tape disimpan data barang-barang sebuah gudang Tape ini disebut sebagai file utama (master file). Beberapa barang mengalami perubahan harga. Data mengenai barang yang berubah dan harga barunya terdapat pada FILE UTAMA FILE PERUBAHAN LAMA HARGA

MENGUBAH

FILE UTAMA BARU

99

FLOWCHART

Gb. VIII-5

Proses dilakukan untuk menghasilkan file utama baru (tape) yang berisi data barangbarang dalam gudang, baik yang mengalami perubahan maupun tidak. Tiap Record pada tape input berisi : nomor barang ( NTI) keterangan ( KTI) harga satuan ( HTI)

Yang menjadi field kunci adalah nomor barang ( NTI) Tiap record pada kartu berisi : nomor barang yang berubah harganya ( NK) harga baru (HK)

File kartu dan tape input urut menurut nomor barang Tiap record tape output berisi : nomor barang Keterangan Harga satuan ( harga baru, untuk recoryang berubah

Contoh isi input dan Output tape isi dan output langkah 2 langkah 4 langkah 7 langkah 10 langkah 12 langkah 14 langkah 7 langkah 19 No. 202 214 215 217 221 225 227 / * Keterangan Harga 200 300 1000 500 100 150 100 Kartu : No. 214 215 225 / *

langkah 1 langkah 6 langkah 9 langkah 16

Harga 500 1200 500

Isi output : langkah 3 langkah 5 langkah 8 langkah 11 langkah 13 No. 202 214 215 217 221 Keterangan Harga 200 300 1000 500 100

100

FLOWCHART

langkah 15 langkah 18

225 227 / *

150 100

Gb. VII-6

Baris besar proses : Langkah 1 Langkah 2 Langkah 3 Langkah 4 Langkah 5 Langkah 6 Langkah 7 Langkah 8 Langkah 9 Langkah 10 Langkah 11 Langkah 12 - Membaca data dari kartu. Untuk mengetahui data menu yang berubah. Terbaca NK = 214 - Membaca tape input. Terbaca KTI = 202 Ternyata 202 tidak mengalami perubahan, maka - Tulis 202 pada output - Baca kembali tape input, didapat no. 214 ternyata sama dengan nomor dari kartu , berarti ada perubahan -Tulis nomor 214 pada output + harga dari kartu + keterangan -Dari lagu dalam file karyu, record man yang berubah. Terbaca 215 - Baca tape input untuk mencari keterangan barang no 215. terbaca 215 - Tulis nomor 215 pada output. Tulis harga barunya - Kembali baca kartu, mendapat no 225 - Kembali baca tape tape input, terbaca no 217No 217 tidak mengalami perubahan, maka - Tulis pada output no 217 - Cari lagi pada tipe input, karena 225 dari kartu belum mendapat pasangan, terbaca no. 221 Berarti bukan data yang mengalami perubahan Langkah 13 Langkah 14 - Tulis 221 pad output - Cari kembali pada tape input, terdapat no 225. Nomor ini sama dengan Dengan nomor yang dibaca dari kartu. Berarti record ini mengalami perubahan Langkah 15 Langkah 16 - Tulis pada output 225 dengan harga baru Apakah masih ada record yang harus dirubah? Cari pada kartu .Ternyata / * . Berarti tak ada lagi record yang berubah. Tetapi pekerjaan belum selesai. Apakah pada tape masih data yang tak Berubah, tetapi belum ditulis pada output? Langkah 17 Langkah 18 Langkah 19 - Baca tape input, no 227 - Tulis pada output, no. 227 - Sekarang tak perlu membaca file kartu. Karena telah habis. Maka cukup hanya membaca tape input lalu tulis keoutput. Demikian berulangulang sampai /*, lalau stop.

101

FLOWCHART

Langkah-langkah diatas dapat disimpulkan sbb. : ( lihat program flowchart sesudah alinea ini) 1. Baca kartu

2. Baca tape input
3. Periksa Apakah NK = NTI 4. Kalau sama berarti record tersebut mengalami perubahan maka NK atau NTI + HK ( harga baru dari kartu), + keterangan ditulis pada output lalu ulangi langkah nomor 1

5. Kalau tak sama, berarti record yang baru saja dibaca dari tape, tak mengalami
MULAIMaka NTI, KTI + HTI ditulis pada output. Lalu ulangi proses no 2. prubahan. C

6. Semua nomor pada kartu pasti terdapat pada tape input karena kartu berisi datadat perubahan harga. Barang yang berubah harganya tentu barang yang ada 1 pada file utama. Banyaknya record pada kartu tak mungkin melebihi record pada A tape. Pasti / * kartu terbaca lebih dulu dari tape Jika / * kartu terbaca maka : BACA KARTU 7. Baca kembali tape input. Sebab kemungkinan masih terdapat data-data lain yang tak mengalami perubahan , tapi belum ditulis di output.

8. Tulis pada output 7 ulangi langkah 7. Jika tape output / * maka stop.
6 I * T Y BACA TAPE INPUT I * TULIS di Tape NTI HTI KTI A

B

2

BACA TAPE INPUT

3 NK = NTI

T

5 TULIS di Tape NTI HTI KTI B

Y

4 BACA TAPE INPUT

102
C

FLOWCHART

Gb. VII-7

MULAI Dengan Tehnik Switching Pada program flowchart berikut ini akan dipakai tehnik switching untuk memisahkan dua situasi yaitu :( SW =lihat 0 Cb VII-7) Sebelum kartu habis , jalur yang dilalui adalah 2 – 3 – 4/5 Sesudah kartu habis, jalur yang dilalui adalah 7 – 8, sedangkan 7

= 2, 8 = 5 maka 7 – 8 = 2 – 5. BACA KARTU Switch dipakai untuk menimbulkan dua jalur sesudah simbol 2 Jalur pertama ( 2 – 3 – 4/5) ditandai dengan SW = 0 Y Jalur kedua ( 2 langsung 5 ) ditandai dengan SW = 1 / * Flowchartnya menjadi : B T BACA TAPE INPUT

SW = 1

Y / * T SW = 0
TULIS di tape NK KTI HK

STOP T Gb. VII-8 Y T
TULIS di tape NK KTI HK

Y NK = NTI

B

103

FLOWCHART

VII.2. Menghapus record dari file utama (deleting) Pada pasal sebelum ini, file kartu berisi data perubahan harga maka pada persoalan berikut ini file kartu berisi nomor-nomor barang yang tak ada lagi digudang sehingga record-record tersebut hrus dihapus dari file utama FILE UTAM A LAMA fifi

FILE PERUBAHAN HARGA

MENGUBAH

FILE UTAM A BARU Gb. VII-9 Dalam persoalan ini tiap record kartu berisi :

104

FLOWCHART

-

Nomor barang yang akan dihapus dari file utama (NK)

isi tiap record tape input sama dengan soal pada VII.I. Isi tiap record tape output sama dengan tape input. Contoh isi input dan output : No. (KTI) 300 310 350 360 370 /* Proses tidak jauh berbeda dengan proses pada VII.I. Langkah utama adalah membandingkan NK dengan NTI, jika NK = NTI, berarti record bersangkutan tidak ditulis lagi ke output. Dan proses diteruskan dengan baca kartu berikutnys. Perhatikan Gb. VII7, simbol no. 4 tidak diperlukan lagi cabang ’ y’ dari simbol 3 langsung menuju ke simbol no. 1. C MULAI Tape input Keterangan (KTI) …………. …………. …………. …………. …………. Harga (HTI) 30 40 50 25 45 Kartu No. (NK) 310 360 370 /* 300 350 /* …………… …………… 30 50 No Tape output Keterangan Harga

SW = 0

BACA KARTU Y / * B T BACA TAPE INPUT

A

BACA TAPE INPUT

T / *

TULIS di tape NK KTI HK

MULAI

STOP

T NK = NTI Y C

TULIS di tape NK KTI HK

B

105
Gb. VII-10

FLOWCHART

VII.3. Menambah record baru dalam file utama. Cara-cara yang telah dipelajari pada pasal-pasal yang lalu, dapat pula digunakan untuk menambah record baru dalam file utama Penambahan record baru terjadi misalnya karena adanya jenis barang baru di gudang. Nomor barang tersebut belum tercatat. Dalam file utama lama Karena nomor barang tersebut di atas berbeda dengan nomor barang yang sudah tercatat. Jadi file kartu berisi record-record baru. Dan tape output berisi rcod dari ke 3 file berisi : Ada 3 macam kasus 1. Record-record baru disalin sebelum record-record lama. 2. Record-record baru disalin di antara record-record lama. 3. Record-record baru disalin sesudah record-record lama. Contoh data : Isi kartu Kasus I 10 11 Tape Input 13 17 18 14 Kasus II 16 19 Kasus III / * 26 27 23 24 /* Tape Output 10 11 13 14 16 17 18 19 23 24 Nomor barang Keterangan Harga

106

FLOWCHART

26 27

Analisa : 1. Membandingkan NK (nomor dari kartu ) dan NT (nomor dari tape ) Lihat kerangka flowchart Gb. VII-7; Gb. VII-8; Gb. VII-10 Persamaan antara ketiganya digambarkan dalam Gb. VII.11 Kerangka itu akan dipakai dalam menyelesaikan persoalan ini. Pada persoalan ini ada 2 kemungkinan yaitu : NK > NT atau NK < NT Karena itu simbol 3 dirubah dengan pertanyaan : Apakah NK > NT. Cabang ya, menunjukkan kondisi NK > NT Cabang tidak menunjukkan NK < NT. ( lihat Gb. VII.12) MULAI MULAI

1

BACA KARTU

1

BACA KARTU

2

BACA TAPE

2

BACA TAPE

3 T ≠ NK = NT Y = Gb. VII-11 T NK < NT

3 NK = NT Y NK > NT Gb. VII-12

2.Aksi selanjutnya : Ikuti flowchart VII-12 dengan contoh data.

107

FLOWCHART

Pertama kali baca kartu, lalu baca tape. Kemudian jalannya proses akan melalui cabang tidak, karena NK = 10 dan NT = 13. agar susunan record file output urut muka, langkah selanjutnya tulis record nomor 10 ke output (data dari kartu dislin ke tape output). Akan tetapi misalnya data pada kartu dimulai dari nomor 14 (nomor 10,11 tak ada), maka pada pertama kali baca kartu dan baca tape, jalannya proses kan menuju pada cabang ya karena 14 lebih besar dari 13. Agar susunannya file output urut, maka record no. 13 harus ditulis lebih dahulu. Jadi record dari tape input ditulis ke tape output. Sampai dengan langkah ini, flowchartnya sbb ;

MULAI

BACA KARTU

BACA TAPE

SALIN dari KARTU ke TAPE OUT

T

NK > NT

Y

SALIN dari TAPE IN ke TAPE OUT

Gb. VII-13

3.Cabang Y dan T harus menuju ke mana ? * Cabang T ( tidak atau NK < NT)

108

FLOWCHART

Cabang ini dilalui bila nomor barang pada record kartu lebih kecil dari nomor barang pada record tape. Sehingga record kartu harus ditulis lebih dulu ( lihat contoh data ). Ketika dibaca NK = 10 dan NT = 13, cabang T dilalui , kemudian record no. 10 ditulis pada output. Proses melalui cabang T, karena NK < NT, maka NK harus ditulis lebih dulu .Akan tetapi apakah diantara NK ( yang baru saja ditulis = 10 dan NT ada record-record lain pada kartu yang lebih kecil dari NT, yang berarti harus ditulis lebih dulu. Pada contoh di atas NK = 10 NT = 13. Ada kemungkinan di file kartu terdapat record-record yang bernomor 11 dan 12.Oleh karena itu sesudah menyalin NK =10 aksi selanjutnya adalah baca kartu, untuk menjaga kemungkinan tersebut di atas. • Cabang Y atau NK > Bt Cabang ini dilalui bil nomor barang pada record kartu lebih besar dari nomor barang pada record tape, sehingga record dari tape harus ditulis lebih dahulu. Kemungkinan serupa di atas harus diperhitungkan. Kemudian terdapat record-record lain pada tape input yang nomor barangnya lebih kecil dari NK dan berarti harus ditulis lebih dulu. Oleh karena itu sesudah menyalin record dari tape input, aksi dilakukan adalah ; baca tape input. MULAI

1

BACA KARTU

2 4 3 SALIN dari KARTU ke TAPE OUT T

BACA TAPE 5

NK > NT

Y

SALIN dari TAPE IN ke TAPE OUT

Gb. VII-14

4.

Jalannya proses selanjutnya

109

FLOWCHART

Ikuti Flowchart dengan contoh data : Simbol 1 – baca kartu, NK = 10 Simbol 2 – baca tape, NT = 13 Simbol 3 – baca apakah NK > NT, tidak Simbol 4 – Salin record no. 10 pada output Simbol 1 – baca kartu NK = 11 Apakah pada saat ini baca tape perlu dilakukan ? Kalau hal itu dilakukan record no. 17 terbaca, Akibatnya record no 13 terlampaui. Perlu diperiksa kedudukan NK yang baru saja saja dibaca . Jika NK lebih kecil dari NT yang terakhir dibaca, record kartu harus ditulis dulu. Jika NK lebih besar dari NT, record tape harus ditulis dulu. Kesimpulannya : Setelah membaca kartu kedua ( NK = 11), tidak langsung membaca tape, melainkan tanyakan lebih dulu ‘apakah NK > NT’ sehingga di dalam flowchart Gb. VIII-14 di bawah simbol 1 ada cabang. Jalur pertama langsung menuju ke simbol 2, jalur kedua menuju simbol 3. Untuk menimbulkan cabang ini digunakan teknik switching : SW = 0 jalannya proses 1-2-3 SW = 1 jalannya proses 1-3 Jika diamati lebih jauh jalur 1-2-3 hanya dilakukan pada pertama kali. Karena itu harga awal SW = 0. Harga SW diubah menjadi 1, tepat sesudah pembacaan pertama dilakukan. MULAI 1 SW = 0

2
A

BACA KARTU

3
K

T

SW= 0 Y 4 SW = 1

L

110

FLOWCHART

5 BACA TAPE
K

L

7

T
SALIN dari KARTU ke TAPE OUT

6 NK>N T

8 Y
SALIN dari TAPE IN Ke TAPE OUT

Langkah 1 2 3 4 5 6 7 8 9 0 11 12 13 14 15 16 17 18 19 20

A

Gb. VII - 15 Cobakanlah contoh data pada flowchart yang belum selesai ini : Simbol 1 2 3 4 5 6 7 2 3 6 7 2 3 6 8 5 6 7 2 3 Proses SW = 0 BACA KARTU, NK 10 SW = 0 ? YA SW Diisi = 1 BACA TAPE, NT = 13 NK > NT ? TIDAK SALIN KARTU KE OUTPUT BACA KARTU, NK = 11 SW = 0 ?, TIDAK NK > NT ? TIDAK SALIN KARTU KE OUTPUT BACA KARTU, NK = 14 SW = 0 ? TIDAK NK > NT ? YA SALIN TAPE INPUT KE OUTPUT BACA TAPE, NT = 17 NK . NT ? TIDAK SALIN KARTU KE OUTPUT BACA KARTU NK = 16 SW = 0 ?, TIDAK 14 13 10 Isi Tape output

111

FLOWCHART

21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39

6 7 2 3 6 8 5 6 8 5 6 7 2 3 6 8 5 6 8

NK > NT ? TIDAK SALIN KARTU KE OUTPUT BACA KARTU , NK = 19 SW = 0 ? TIDAK NK > NT ? YA SALIN TAPE KE OUTPUT BACA TAPE , NT = 23 NK > NT ?, YA SALIN TAPE KE OUTPUT BACA TAPE, NT = 18 NK > NT ? TIDAK SALIN TAPE KEOUTPUT BACA KARTU , NK = 26 SW = 0 ?, TIDAK NK > NT ? YA SALIN TAPE KEOUTPUT BACA TAPE, NT = 24 NK > NT ? YA SALIN TAPE KE OUTPUT 24 23 19 18 17 16

40 5 BACA TAPE / * Ternyata flowchart belum mampu mengatasi keadaan ini ( keadaan end of file). 5. Jika tape habis lebih dahulu dari file kartu Nomor terakhir pada file tape lebih kecil dari nomor terakhir pada file kartu, sehingga / * dari tape dibaca lebih dulu dari / * kartu. Berarti masih ada record-record baru pada file kartu yang belum ditulis ditape output. Lihat pada uraian diatas, ketika langkah 40 terjadi, masih ada record kartu no 26 yang belum disalin karena itu langkah ke 41 adalah simbol no. 7 Maka proses selanjutnya baca kartu lalu tulis ke output, berulang-ulang sampai kartu habis, tanpa membandingkan NK denganMULAI NT. Jalur yang akan dilalui ; 2 – 7 --- 2 – 7 dst. Maka tepat sesudah simbol 2 timbul 2 jakur (variabel ST digunakan sebagai switch). = dengan ST = 0. Jalur pertama 2 – 3 – 4 – 5 – 6 –1 7/8 – 2, SW ditandai 0 Jalur kedua 2 – 7 – 2 , ditandai dengan ST == 1.0 ST Jalur kedua dilalui bila tape telah habis. Jadi bila tape telah habis harga ST = 1, sedang ST = 0.
A

ke output

2 BACA KARTU

112
L

FLOWCHART

9 T C Y 3 SW = 0 T 4 Y SW = 1 ST = 0

5

BACA TAPE

L

B

C

10 / * T T 6
NK>N T

Y ST = 1 C

8 Y
SALIN dari TAPE IN ke TAPE OUT

7

SALIN dari KARTU ke TAPE OUT

B

Gb. VII-16 A

113

FLOWCHART

6. Jika Kartu habis lebih dulu dari tape Misalkan record nomor 26 dan 27 pada kartu tak ada, lihat uraian sebelum ini. Pada langkah 33, / * dari kartu terbaca. Pada saat itu record dari file tape (record No.23) belum disalin ke output. Maka langkah 34 adalah mengerjakan simbol 8 (Gb. VII-16 ). Kemudian aksi selanjutnya adalah membaca dan menyalin record-record dari tape. Seperti pada situasi tape habis lebih dahulu, idee switch dipakai Juga disini, sebagai tanda bahwa file kartu telah habis. (variabel SK = 1) . Maka sebelumnya SK = 0. Pertanyaan mengenai isi SK diletakkan di antara simbol 10 dan 6. Karena pertanyaan ini yang menimbulkan cabang. Jalur pertama ( sebelum kartu end of file ) ialah : 5 – 10 – 8.

MULAI

SW = 0 ST = 0 SK = 0

L

A

BACA KARTU

/ *

Y

SK = 1

D

114

FLOWCHART

T

ST = 0 Y T SW = 0 Y SW = 1

BACA TAPE

L

B

Y / *

ST = 1

C

T SK = 0 Y
SALIN dari KARTU ke TAPE OUT

T

B

T

NK>N T

Y

SALIN dari TAPE IN ke TAPE OUT

B

115
Gb. VII-18 A

FLOWCHART

7. Menghentikan Proses Kapan proses berhenti?. Jika kartu habis dan tape habis tentunya. Ketika kartu habis, harus diperiksa apakah tape habis. Jika betul, proses dihentikan. Jika tidak, lanjutkan ke D. Caranya dengan menanyakan isi switch ST. Jika ST = 1, artinya / * dari tape sudah dibaca. Demikian pula bila tape habis, harap diperiksa apakah kartu habis. Tanyakan apakah SK = 1. Jika ya berarti kartu habis, maka proses dihentikan. Sebaliknya proses dilanjutkan ke C. MULAI

SW = 0 ST = 0 SK = 0
A BACA KARTU

Y / * T T K ST = 0 Y L

SK = 1

ST = 0 T STOP

Y

D

116

FLOWCHART

T

SW = 0 Y SW = 0

SW = 1

BACA TAPE

L

B

T T STOP D

SK = 0 Y

K

SALIN dari KARTU ke TAPE OUT

T

NK>N T

Y

SALIN dari TAPE IN ke TAPE OUT

B

117
Gb. VII-18 A

K

/ *

Y

ST = 1

SK = 0

Y

FLOWCHART

VIII.4. SOAL-SOAL LATIHAN 1. Updating. SYSTEM FLOWCHART
OLD MAST ER TRANS _ ACTIO N FILE

NEW MAST ER

LAPORAN

+ OLD MASTER TAPE FILE : Disusun menurut nomor barang. Tiap record berisi : - nomor barang nama barang jumlah barang harga satuan + TRANSACTION TAPE FILE : Disusun menurut nomor barang. Tiap record berisi : - kode transaksi = 0 artinya barang baru.

118

FLOWCHART

= 1 artinya harga satuan naik 50%. = 2 artinya harga satuan naik 25%. Kalau kode transaksi tidak sama dengan 0, field nama barang, jumlah barang dan harga satuan kosong. nomor barang nama barang jumlah barang harga satuan + NEW MASTER TAPE FILE. Lay-out = old master. Berisi record-record yang diproses : yang tidak mengalami perubahan. Yang telah diubah harga satuannya. Mengenai barang baru.

Pada laporan berisi semua record yang diproses. Untuk record yang tak mengalami perubahan, pada kolom keterangan diisi “OLD”. Untuk record yang diubah harga satuannya, pada kolom keterangan diisi ”UPDATE”. Untuk record barang baru, pada kolom keterangan diisi ”NEW”. Cetak header pada laporan. TEST DATA. OLD MASTER TAPE : Nomor Nama 101 A 105 B 120 C 125 D 130 E 32 F 140 G TRANSACTION TAPE FILE : Kode 0 0 0 0 2 1 NEW MASTER : Nomor 101 103 105 107 120 Nomor 103 107 120 121 130 132 Nama A X B Y C Nama X Y Z Jumlah 2 3 1 2 3 1 1 Harga Satuan 10,20,10,30,20,40,40,Harga Satuan 10,20,10,-

Jumlah 3 3 5

Jumlah 2 5 3 3 1

Harga Satuan 10,10,20,20,15,-

119

FLOWCHART

121 125 130 132 140 LAPORAN : Nomor 101 103 105 107 120 121 125 130 132 140 Nama A X B Y C Z D E F G

Z D E F G

5 2 3 1 1

10,30,25,60,40,-

Jumlah 2 5 3 3 1 5 2 3 1 1

Harga Satuan 10,10,20,20,15,10,30,25,60,40,-

Ket. OLD NEW OLD NEW UP DATE NEW OLD UP DATE UP DATE OLD

2. Old master tape file yang berisi data-data barang-barang di gudang akan dikoreksi berhubung dengan harga satuan dan perubahan jumlah barang akibat penjualan barang. Data tentang jumlah barang yang terjual dan harga satuan yang baru terdapat pada card file. Selain itu pada card file terdapat juga data-data barang baru. SYSTEM FLOWCHART
OLD MAST ER

CARD FILE

NEW MAST ER

120

FLOWCHART

LAY-OUT OLD MASTER TAPE FILE : - no. barang CARD FILE jumlah persediaan di gudang harga satuan : - no. barang jumlah barang-barang baru harga satuan - JUMC - HSC - NBNEW - JUMNEW - HSNEW - JUMT - HST - NBC - NBT

NEW MASTER TAPE FILE : - no. barang jumlah barang sekarang harga satuan

KETENTUAN : Jika no. Barang dari old master match dengan nomor barang card file berarti jumlah barang dan harga barang mengalami perubahan. Jumlah barang sekarang = jumlah barang persediaan di gudang dikurangi jumlah yang terjual. Data harga satuan baru terdapat pada card file. Untuk barang lama yang tak mengalami perubahan ditulis saja ke New tape.

-

Untuk nomor barang dari card yang tidak match berarti barang

baru, jumlah yang tercantum di situ adalah jumlah barang baru. Old master tape dan card file disusun menurut urutan nomor barang. 3. Tujuan proses akan mengoreksi harga satuan pada old master tape file dan mencari jumlah tiap jenis barang dan jumlah semua yang ada distock. CORRECTION FILE TABLE CARD

OLD MAST ER

NEW MAST ER

REPORT

121

FLOWCHART

INPUT : OLD MASTER TAPE FILE (= TPIN) - KODE JENIS BARANG - NO. BARANG - QUANTITY - HARGA SATUAN - KJI - NBI - QTYI - HSI

CORRECTION CARD FILE (= CDIN) - KODE JENIS BARANG - NO. BARANG - HARGA SATUAN TABLE CARD (= TAB) - KODE JENIS BARANG - NAMA JENIS - TABJK - NNJ - XJS - NBC - HSC

OUTPUT : NEW MASTER TAPE FILE (= TPOUT) - KODE JENIS BARANG - NO. BARANG - QUANTITY - HARGA SATUAN OUTPUT PRINTER (=PROUT) REPORT LAY-OUT. KODE NO. BARANG HARGA SATUAN NAMA JENIS : x------------------------x 1 xxxx xxxx 1 xxxx xxxx TOTAL JENIS : NAMA JENIS : x------------------------x 2 xxxx xxxx 2 xxxx xxxx TOTAL JENIS : NAMA JENIS : x------------------------x x xxxx xxxx x xxxx xxxx x xxxx xxxx TOTAL JENIS : TOTAL SELURUH : PROBLEM DESCRIPTION. QUANTITY xxx xxx XXX xxx xxx XXX xxxx xxx 0 XXXX XXXXX - KJO - NBO - QTYQ - HSQ

122

FLOWCHART

Ketentuan :

- Table berada pada kartu sebanyak 50 kartu, harus di simpan ke dalam storage sebelum proses lain.

-

Old master tape dan correction card disusun menurut : Kode jenis barang No. barang.

- Semua nomor barang pada card ada pada old master tape. Ketentuan : semua record dari old master ditulis ke new master dan report dengan syarat : Match record dari old master dan correction card. Jika match, harga satuan dari correction card ditulis ke tape dan report. Untuk record yang tidak dikoreksi akan ditulis tanpa perubahan.

-

Periksa quantity kalau = 0, maka tidak ditulis ke new tape,

record tersebut diprint dengan tanda +++ Cetak nama jenis barang, di atas tiap kelompok jenis barang. Jika ganti jenis barang, print total quantity jenis barang. Pada EOF, print total quantity seluruh. BUATLAH PROGRAM FLOWCHART.

Semua kode jenis ada pada tabel.

BAB

VIII

PENUTUP

123

FLOWCHART

Akhirnya dapat disimpulkan bahwa : 1. Flowchart adalah perlu dan penting dibuat untuk programming. Flowchart tidak saja diperlukan sebelum membuat program, tetapi juga sesudah program selesai. + Sebelum membuat program, Flowchart akan memberikan gambaran untuk memeriksa apakah logika dari program sudah bisa mencapai tujuan. + Sedangkan sesudah program selesai, flowchart digunakan untuk dokumentasi dari gambaran logika pembuat program. 2. Flowchart adalah merupakan kunci dari keberhasilan seorang programmer. Seseorang yang mengenal bahasa komputer, tetapi tidak bisa membuat flowchart; tidak bisa menjadi seorang programmer yang baik. 3. Flowchart dari satu persoalan bisa bermacam-macam tetapi semua ini harus menuju kesatu tujuan. Untuk ini kita bisa bandingkan dengan pepatah yang mengatakan: ”Banyak jalan menuju Roma”. Karena flowchart merupakan tugas dari seorang programmer, maka di sini diberikan MULAI gambaran mengenai : BACA PERSOALAN

A N A L I S I S

DEFINISIKAN OUTPUT

DEFINISIKAN INPUT TENTUKAN & TULIS URUTAN PROSES B

GAMBAR FLOWCHART Aliran dari pekerjaan programmer :

BUAT TEST DATA PERKIRAAN HASIL FLOWCHAR T O.K TIDAK

YA A A

124

FLOWCHART

A

TULIS PROGRAM DI CODING FORM

CODING O.K

YA

PUNCH O.K YA COMPILE PROGRAM

TIDAK

YA A

ADA KESALAHAN ? TIDAK EXECUTE PROGRAM DENGAN TEST DATA

PERUBA HAN PROGRA M

A

YA

HASIL SALAH TIDAK SELESAI B

125

FLOWCHART

TEKNIK DASAR MEMBUAT PROGRAM – FLOWCHART
126

FLOWCHART

Disusun Oleh : Ir. Th. Widia

SEKOLAH TINGGI MANAJEMEN INFORMATIKA & KOMPUTER Bina Nusantara

Dilarang mengutip sebagian atau seluruh isi buku ini dalam bentuk fotocopy, sten, sil, cetakan, dll., tanpa ijin tertulis dari penerbit.

HAK CIPTA DILINDUNGIUNDANG-UNDANG DAFTAR ISI PRAKATA

127

FLOWCHART

BAB I. PENDAHULUAN....................................................................................................1 Program dan Programming...............................................................................................1 Pentingnya Analisa...........................................................................................................3 Flowchart..........................................................................................................................3 BAB II. MEMBUAT PROGRAM FLOWCHART.................................................................8 Analisa urutan dan hubungan antar kegiatan...................................................................8 Cara membuat program flowchart.....................................................................................10 Contoh membuat program flowchart.................................................................................11 Beberapa anjuran dalam membuat program flowchart.....................................................20 Memeriksa Flowchart........................................................................................................22 SOAL – SOAL LATIHAN...................................................................................................28 BAB III. ANALISA KONDISI DAN AKSI............................................................................34 Menggambar hubungan kondisi dan aksi.........................................................................34 Hubungan antar kondisi....................................................................................................36 Teknik Switching...............................................................................................................38 SOAL – SOAL LATIHAN...................................................................................................44 BAB IV. KOUNTER...........................................................................................................52 Dasar – Dasar Teknik Kounter..........................................................................................52 Kounter Sederhana...........................................................................................................52 Kounter Untuk Kondisi Khusus.........................................................................................56 Akumulator........................................................................................................................61 Pemakaian Kounter sebagai pengontrol pengulangan proses..........................................63 SOAL – SOAL LATIHAN...................................................................................................68 BAB V. MEMBANDINGKAN SEBUAH RECORD DENGAN RECORD SEBELUMNYA...72 Memeriksa urutan record..................................................................................................73 Memeriksa urutan record dengan teknik switching...........................................................80 Total menurut tingkatan....................................................................................................83 SOAL – SOAL LATIHAN...................................................................................................86 BAB VI. KONSEP TABEL.................................................................................................91 Argumen, fungsi, dan indeks............................................................................................92 Garis besar penyelesaian persoalan dengan tabel...........................................................92 Menyimpan tabel dalam storage.......................................................................................93

128

FLOWCHART

Mencari dalam tabel..........................................................................................................94 SOAL – SOAL LATIHAN...................................................................................................97 BAB VII. MENGUBAH, MENAMBAH, DAN MENGHAPUS RECORD..............................103 Mengubah record dalam file utama...................................................................................105 Menghapus record dalam file utama.................................................................................110 Menambah record dalam file utama..................................................................................111 SOAL – SOAL LATIHAN...................................................................................................124 BAB VIII. PENUTUP.........................................................................................................130

PRAKATA

129

FLOWCHART

Kemajuan dari pemakaian Komputer dewasa ini menyebabkan dibutuhkannya banyak tenaga – tenaga kerja yang melayani komputer dengan baik. Untuk memenuhi kebutuhan di atas, diperlukan banyak buku – buku yang bisa memberikan dasar pendidikan yang cukup ke arah tujuan itu. Diktat ini yang berjudul : “TEKNIK DASAR MEMBUAT PROGRAM FLOWCHART” Disusun untuk membantu mereka yang baru akan terjun ke bidang programming komputer; dan juga untuk mereka yang sudah mengerti programming, diktat ini dapat digunakan untuk memperdalam pengetahuan tentang Flowchart. Mereka yang menggunakan diktat ini diharapkan sudah menguasai pengetahuan dasar mengenai komputer beserta cara kerjanya. Diktat ini dikeluarkan oleh SEKOLAH TINGGI MANAJEMEN INFORMATIKA & KOMPUTER Bina Nusantara sebagai diktat kedua dari seri diktat – diktat komputer; di mana seri yang pertama adalah: “PENGANTAR KOMPUTER”. Penyusun mengucapkan terima kasih kepada kawan – kawan khususnya Sdri. SUSANTI A. yang telah banyak membantu untuk mewujudkan diktat ini. Saran – saran dan kritik ke arah perbaikan diktat ini sangat diharapkan dari para pembaca.

Jakarta, Agustus 1983 Penyusun,

Ir. Th. Widia S.

130

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->