Anda di halaman 1dari 11

Algortima & Pemrograman 1A

BAB IV
TEKNIK PENGULANGAN DAN PERCABANGAN

TEKNIK COUNTER

Teknik kounter dipakai untuk mengontrol pengulangan proses.


Pengontrolan ini dilakukan dengan memeriksa isi variable yang digunakan
sebagai kounter. Sehingga jumlah pengulangan dapat diketahui.

Misalnya, terdapat beberapa proses yang harus dilakukan dengan urutan


sebagai berikut :
Proses A
Proses B
Proses C
Proses D
Proses B
Proses C
Proses D
Proses B
Proses C
Proses D
Proses B
Proses C
Proses D
Proses E

Dari contoh di atas terlihat bahwa proses B, C, dan D diulang sebanyak


tiga kali. Pengulangan ini terjadi setelah proses A dan sebelum proses E
dikerjakan.

Bab IV Hal 1
Algortima & Pemrograman 1A

Jika diimplementasikan ke bentuk flowchart, maka terbentuk rangkaian


simbol yang tersusun berderet. Hal ini tidak efisien.

Agar flowchart menjadi lebih efisien maka digunakan kounter sebagai


pengontrol jumlah pengulangan ketiga proses tersebut.
Perhatikan Gambar dibawah ini :

START

PROSES A

K=0

PROSES B

PROSES C

PROSES D

K=K+1

y
K=
3

PROSES E

END

Bab IV Hal 2
Algortima & Pemrograman 1A

ANALISA PERSOALAN

Untuk memperjelas penerapan teknik kounter dalam flowchart ikuti contoh


berikut .
Sebuah perusahaan ingin mencetak data pegawai melalui komputer.
Data tersebut tersimpan di dalam disk dan dicetak melalui printer.
System flowchart untuk system tersebut adalah :

Spesifikasi proses adalah :

Input data diperoleh dari disk yang terdiri dari Nomor Pegawai,
Nama Pegawai, Alamat, Jabatan dan Status
Data habis jika input data yang dibaca berupa tanda /*
Setiap halaman terdapat judul
Satu halaman hanya memuat 30 baris data

Karena dalam satu halaman hanya memuat 30 baris data, maka


diperlukan suatu variable kounter. Kounter ini digunakan untuk
menghitung jumlah data yang telah dicetak pada setiap halaman.

Selain itu juga harus terdapat proses pemeriksaan isi variabel kounter.
Jika ternyata isinya telah mecapai 30 maka pencetakan dilakukan
pada halaman berikutnya dan lakukan proses pencetakan judul

Bab IV Hal 3
Algortima & Pemrograman 1A

IMPELEMENTASI KE DALAM FLOWCHART

Implementasi persoalan di atas dalam bentuk flowchart dapat dilihat


pada gambar berikut :

Start

N=0

Print
Judul

Read
NO, NM, ALM, JB, ST

y
/* End

N=N+1

Print
NO, NM, ALM, JB, ST

N = 30 N=0
T Y

Bab IV Hal 4
Algortima & Pemrograman 1A

PENELUSURAN FLOWCHART

Berdasarkan flowchart di atas dapat ditelusuri sebagai berikut :

1. Siapkan variable yang dipergunakan untuk kounter yaitu N = 0


2. Cetak Judul
3. Baca data dan simpan di dalam variable :
NO : untuk data nomor pegawai
NM : untuk data nama pegawai
ALM : untuk data alamat pegawai
JB : untuk data jabatan
ST : untuk data status pegawai
4. Periksa input data. Bila isinya berupa simbol /* maka proses
berakhir
5. Variabel N ditambah 1. Variabel ini digunakan sebagai kounter
untuk mengetahui jumlah data yang telah divetak untuk setiap
halaman
6. Cetak rincian data, yaitu NO, NM, ALM, JB, ST
7. Periksa isi variable N. Jika N = 30 berarti data telah dicetak
sebanyak 30 baris. Oleh karena itu proses selanjutnya adalah
kembali ke langkah 1, yaitu mencetak judul pada halaman baru.
8. Sedangkan jika N lebih kecil 30 maka proses selanjutnya kembali
ke langkah 3 untuk membaca data berikutnya tanpa mencetak judul
lagi

Bab IV Hal 5
Algortima & Pemrograman 1A

AKUMULATOR

Akumulator merupakan tempat penampungan suatu nilai. Nilai yang


masuk akan dijumlahkan dengan nilai yang ada didalamnya. Sehingga
akumulator dapat dipakai untuk menentukan nilai total dari
penjumlahan suatu bilangan.

Akumulator dapat di misalkan sebagai kotak sumbangan. Dimana


jumlah uang yang berada di dalam, kotak tersebut terus bertambah
sesuai dengan uang yang masuk.

Dalam Implementasi bentuk flowchart, akumulator digambarkan


dengan menggunakan simbol proses. Misalnya, untuk menghitung nilai
total seluruh gaji pegawai maka dapat digambarkan sebagai berikut :

TOTGAJI = TOTGAJI + GAJI

Pada awal proses TOTGAJI bernilai 0. Pada waktu proses di atas


dilaksanakan, besarnya nilai GAJI ditambahkan ke akumulator
TOTGAJI

Bab IV Hal 6
Algortima & Pemrograman 1A

Analisa Kondisi & Aksi (IF-THEN) Dengan 1 Kondisi

Kondisi merupakan syarat, keadaan atau status yang


mempengaruhi tindakan atau proses selanjutnya. Aksi
merupakan tindakan atau proses yang dilakukan untuk
menyelesaikan masalah sesuai dengan kondisi yang ada.

Contoh :
Untuk pegawai yang telah bekerja lebih dari 2 tahun maka akan
mendapat Tunjangan Hari Raya sebesar 3 kali lipat dari gaji
pokok. Sebaliknya masa kerja sama dengan atau kurang dari 2
tahun mendapat Tunjangan Hari Raya sebesar 2 kali dari gaji
pokok.

Berdasarkan persoalan diatas, diketahui bahwa kondisi yang


mempengaruhi proses yang akan dilakukan adalah masa kerja
dari setiap pegawai.

y
MK > THR = 3 * GP
2

THR = 2 * GP

Bab IV Hal 7
Algortima & Pemrograman 1A

Tabel Keputusan (Decision Table)

Tabel yang digunakan sebagai alat bantu untuk menyelesaikan logika di


dalam pemrograman. Tabel keputusan efektif digunakan bilamana kondisi
yang akan diseleksi didalam program jumlahnya cukup banyak dan rumit

Struktur Dari Tabel Keputusan

Terdiri dari 4 bagian utama :


1. Condition Stub : Berisi kondisi-kondisi yang akan diseleksi
2. Condition Entry : Berisi Kemungkinan-kemungkinan dari kondisi
yang diseleksi, yaitu terpenuhi (Diberi simbol Y) dan tidak
terpenuhi (Diberi simbol T). Setiap kondisi yang diseleksi akan
mempunyai dua kemungkinan kejadian, yaitu terpenuhi dan tidak
terpenuhi. Bila ada X kondisi yang diseleksi, maka akan terdapat N
kemungkinan kejadian, yaitu sebesar N = 2X.
3. Action Stub : Berisi pernyataan-pernyataan yang akan dikerjakan
baik kondisi yang diseleksi terpenuhi maupun tidak terpenuhi.
4. Action Entry : Digunakan untuk memberi tanda tindakan mana
yang akan dilakukan dan mana yang tidak akan dilakukan.

Rules
1 2 3 4 N

Condition Entry
Conditiin Stub

Action Entry
Action Stub

Gambar. Struktur dari table keputusan


Contoh :

Bab IV Hal 8
Algortima & Pemrograman 1A

Jika unit yang dipesan untuk suatu barang tertentu sama atau melebihi
jumlah minimum yang mendapatkan potongan dan pemesannya adalah
dealer, maka akan mendapat potongan. Sebaliknya bila unit yang dipesan
kurang dari unit minimum yang mendapatkan potongan, walaupun yang
membeli dealer, maka tidak akan mendapat potongan. Bila unit
persediaan barang di gudang tidak mencukupi, maka yang dikirim adalah
unit yang ada dan kemudian dibuat catatan mengenai kekurangannya
(back-order). Kalau unit persediaan mencukupi, maka semua pesanan
dikirim.

Langkah-langkah
1. Menentukan kondisi yang akan diseleksi.
a. Apakah unit dipesan >= unit minimum potongan ?
b. Apakah pemesannya dealer ?
c. Apakah unit persediaanya mencukupi ?
2. Menentukan jumlah kemungkinan kejadian yang akan terjadi, yaitu
sebanyak N = 23 = 8
3. Menentukan tindakan yang akan dilakukan yaitu :
a. Mendapatkan potongan
b. Tidak mendapatkan potongan
c. Kirim semua yang dipesan
d. Kirim yang ada saja
e. Buat catatan kekurangannya

Bab IV Hal 9
Algortima & Pemrograman 1A

4. Mengisi Condition Entry


Diisi sedemikian rupa sehingga semua kemungkinan terwakili.

Rules
1 2 3 4 5 6 7 8
a. Apakakah unit dipesan >= unit minimum potongan ? Y Y Y Y T T T T
b. Apakah pemesannya dealer ? Y Y T T Y Y T T
c. Apakah unit persediaannya mencukupi ? Y T Y T Y T Y T
a. Mendapatkan potongan
b. Tidak mendapatkan potongan
c. Kirim semua yang dipesan
d. Kirim yang ada saja
e. Buat catatan kekurangannya

5. Mengisi Action Entry


Diisi kolom demi kolom hingga kolom ke N

Rules
1 2 3 4 5 6 7 8
a. Apakakah unit dipesan >= unit minimum potongan ? Y Y Y Y T T T T
b. Apakah pemesannya dealer ? Y Y T T Y Y T T
c. Apakah unit persediaannya mencukupi ? Y T Y T Y T Y T
a. Mendapatkan potongan X X - - - - - -
b. Tidak mendapatkan potongan - - X X X X X X
c. Kirim semua yang dipesan X - X - X - X -
d. Kirim yang ada saja - X - X - X - X
e. Buat catatan kekurangannya - X - X - X - X

Bab IV Hal 10
Algortima & Pemrograman 1A

Kolom nomor 5 dan 7 dapat digabung karena tindakannya sama, begitu


juga dengan kolom 6 dan 8. Sehingga Tabel Keputusan menjadi :

Rules
1 2 3 4 5&7 6&8
a. Apakakah unit dipesan >= unit minimum potongan ? Y Y Y Y T T
b. Apakah pemesannya dealer ? Y Y T T - -
c. Apakah unit persediaannya mencukupi ? Y T Y T Y T
a. Mendapatkan potongan X X - - - -
b. Tidak mendapatkan potongan - - X X X X
c. Kirim semua yang dipesan X - X - X -
d. Kirim yang ada saja - X - X - X
e. Buat catatan kekurangannya - X - X - X

Tampak kolom 5&7 serta kolom 6&8 hasil gabungan menunjukkan baik
dealer maupun tidak sudah tidak berpengaruh lagi, karena unit yang
dipesan sudah lebih kecil dari unit minimum yang mendapatkan potongan.

Bab IV Hal 11