pertemuan 9 algoritma untuk masalah bisnis€¦ · cetak “laporan gaji ” cetak “tanggal cetak...

21
PERTEMUAN 9 ALGORITMA UNTUK MASALAH BISNIS

Upload: others

Post on 19-Oct-2020

25 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: PERTEMUAN 9 ALGORITMA UNTUK MASALAH BISNIS€¦ · Cetak “Laporan Gaji ” Cetak “Tanggal Cetak “, date(), “Hal =”, hal Cetak “No. NIP Nama Target Realisasi Komisi Gaji

PERTEMUAN 9

ALGORITMA UNTUK MASALAH BISNIS

Page 2: PERTEMUAN 9 ALGORITMA UNTUK MASALAH BISNIS€¦ · Cetak “Laporan Gaji ” Cetak “Tanggal Cetak “, date(), “Hal =”, hal Cetak “No. NIP Nama Target Realisasi Komisi Gaji

POKOK BAHASAN

1. Struktur Program2. Struktur Chart3. Membuat Laporan Dengan Page Break 4. Contoh Algoritma Penyelesaian

Page 3: PERTEMUAN 9 ALGORITMA UNTUK MASALAH BISNIS€¦ · Cetak “Laporan Gaji ” Cetak “Tanggal Cetak “, date(), “Hal =”, hal Cetak “No. NIP Nama Target Realisasi Komisi Gaji

STRUKTUR PROGRAMSecara umum program yang dilakukan untuk memprosesdata yang dibaca dari file dapat digambarkan sbb:Sub Proses_record

Proses_inisialisasi Baca record pertamaDo while not EOF

process_record_iniBaca next record

ENDDOProses_final

END

Page 4: PERTEMUAN 9 ALGORITMA UNTUK MASALAH BISNIS€¦ · Cetak “Laporan Gaji ” Cetak “Tanggal Cetak “, date(), “Hal =”, hal Cetak “No. NIP Nama Target Realisasi Komisi Gaji

STRUKTUR CHARTAlgoritma di atas digambarkan dengan struktur chartberikut:• Tiga modul di atas dapat berisi statement yang

dibutuhkan untuk memproses data yang dibaca dari file• Main program dari struktur chart sudah ada sehingga

dapat dikembangkan proses dari ketiga modul tersebut

Page 5: PERTEMUAN 9 ALGORITMA UNTUK MASALAH BISNIS€¦ · Cetak “Laporan Gaji ” Cetak “Tanggal Cetak “, date(), “Hal =”, hal Cetak “No. NIP Nama Target Realisasi Komisi Gaji

MEMBUAT LAPORAN DENGAN PAGE BREAK

� Suatu laporan membutuhkan:– Judul– Baris judul– Kolom judul– Detail– Total

� Di samping itu suatu halaman laporan hanyamenampung beberapa baris record, sehingga harusmengatur pemindahan ke halaman baru

� Untuk itu dibutuhkan sebuah control break untukmemeriksa kapan harus pindah ke halaman baru (pagebreak)

Page 6: PERTEMUAN 9 ALGORITMA UNTUK MASALAH BISNIS€¦ · Cetak “Laporan Gaji ” Cetak “Tanggal Cetak “, date(), “Hal =”, hal Cetak “No. NIP Nama Target Realisasi Komisi Gaji

MEMBUAT LAPORAN DENGAN PAGE BREAK (lanjutan)

1. Single-Level Control Break2. Multiple-Level Control Break

Page 7: PERTEMUAN 9 ALGORITMA UNTUK MASALAH BISNIS€¦ · Cetak “Laporan Gaji ” Cetak “Tanggal Cetak “, date(), “Hal =”, hal Cetak “No. NIP Nama Target Realisasi Komisi Gaji

CONTOH LAPORAN MULTI-LEVEL BREAK

Page 8: PERTEMUAN 9 ALGORITMA UNTUK MASALAH BISNIS€¦ · Cetak “Laporan Gaji ” Cetak “Tanggal Cetak “, date(), “Hal =”, hal Cetak “No. NIP Nama Target Realisasi Komisi Gaji

1. SINGLE-LEVEL BREAK� Single-Level Control Break adalah pemberhentian dalam

logika program (berhenti atau mengulang untukmencetak judul baru) berdasarkan nilai sebuah variabel.Contoh : no departemen.

Page 9: PERTEMUAN 9 ALGORITMA UNTUK MASALAH BISNIS€¦ · Cetak “Laporan Gaji ” Cetak “Tanggal Cetak “, date(), “Hal =”, hal Cetak “No. NIP Nama Target Realisasi Komisi Gaji

HIERARCHY CHART SINGLE-LEVEL BREAK

Print_ control_ total_line

Produce_ Single_level

control_break

Process_this_

records

Print_page_headings

Initialize variable_fields

Print_ report_

total

Print_ detail_line

Accumulate_ control_total

Reset_ control_

total

Page 10: PERTEMUAN 9 ALGORITMA UNTUK MASALAH BISNIS€¦ · Cetak “Laporan Gaji ” Cetak “Tanggal Cetak “, date(), “Hal =”, hal Cetak “No. NIP Nama Target Realisasi Komisi Gaji

2. MULTIPLE-LEVEL BREAK� Multiple-Level Control Break adalah pemberhentian

dalam logika program (berhenti atau mengulang untukmencetak judul baru) berdasarkan beberapa nilaivariabel. Contoh : total penjualan per sales dan totalpenjualan per departemen

Page 11: PERTEMUAN 9 ALGORITMA UNTUK MASALAH BISNIS€¦ · Cetak “Laporan Gaji ” Cetak “Tanggal Cetak “, date(), “Hal =”, hal Cetak “No. NIP Nama Target Realisasi Komisi Gaji

HIERARCHY CHART MULTIPLE-LEVEL BREAK

Print_page_headings

Reset_ major_control

_ total

Proceduce_ multiple_level control_break

Process_this_

records

Initialize variable_fields

Print_major_control_

total

Print_minor_control_

total

Accumulate_ control

Reset_ minor_control

_ total

Print_ detail_line

Print_ report_

total

Page 12: PERTEMUAN 9 ALGORITMA UNTUK MASALAH BISNIS€¦ · Cetak “Laporan Gaji ” Cetak “Tanggal Cetak “, date(), “Hal =”, hal Cetak “No. NIP Nama Target Realisasi Komisi Gaji

CONTOH KASUS

Page 13: PERTEMUAN 9 ALGORITMA UNTUK MASALAH BISNIS€¦ · Cetak “Laporan Gaji ” Cetak “Tanggal Cetak “, date(), “Hal =”, hal Cetak “No. NIP Nama Target Realisasi Komisi Gaji

HIERARCHY CHART

Page 14: PERTEMUAN 9 ALGORITMA UNTUK MASALAH BISNIS€¦ · Cetak “Laporan Gaji ” Cetak “Tanggal Cetak “, date(), “Hal =”, hal Cetak “No. NIP Nama Target Realisasi Komisi Gaji

ALGORITMA PEMECAHAN

Laporan_PenyewaanInisialisasiCetak_JudulBaca Record PertamaDO WHILE NOT EOF

If baris > 30 THENCetak_JudulBaris = 0

ENDIFProcess_RecordBaca Record SelanjutnyaENDDO

Cetak_Total_ReportEND

Page 15: PERTEMUAN 9 ALGORITMA UNTUK MASALAH BISNIS€¦ · Cetak “Laporan Gaji ” Cetak “Tanggal Cetak “, date(), “Hal =”, hal Cetak “No. NIP Nama Target Realisasi Komisi Gaji

SUBORDINATE MODUL1. Inisialisasi

Buka FileTotal = 0Hal = 0Baris = 0END

2. Cetak_JudulHal = hal + 1Cetak “PT. Semesta Makmur Abadi ”Cetak “Jalan Bahari Biru ”Cetak “Jakarta”Cetak “Laporan Gaji ”Cetak “Tanggal Cetak “, date(), “Hal =”, halCetak “No. NIP Nama Target Realisasi Komisi Gaji Pokok Total Gaji ”END

Page 16: PERTEMUAN 9 ALGORITMA UNTUK MASALAH BISNIS€¦ · Cetak “Laporan Gaji ” Cetak “Tanggal Cetak “, date(), “Hal =”, hal Cetak “No. NIP Nama Target Realisasi Komisi Gaji

3. Process_Recordkomisi = (realisasi – target ) * 10000Total_gaji = komisi + gaji_pokokCetak_Detailaccumulate_totalEND

5. Cetak_DetailBaris = baris +1Cetak baris, NIP, Nama, Target, Realisasi, Komisi. Gaji_Pokok, Total_gajiEND

SUBORDINATE MODUL (lanjutan)

Page 17: PERTEMUAN 9 ALGORITMA UNTUK MASALAH BISNIS€¦ · Cetak “Laporan Gaji ” Cetak “Tanggal Cetak “, date(), “Hal =”, hal Cetak “No. NIP Nama Target Realisasi Komisi Gaji

6. Accumulate_totalTotal = total + total_gajiEND

7. Cetak_total_ReportCetak “Total gaji Sales”, totalTutup FileEND

SUBORDINATE MODUL (lanjutan)

Page 18: PERTEMUAN 9 ALGORITMA UNTUK MASALAH BISNIS€¦ · Cetak “Laporan Gaji ” Cetak “Tanggal Cetak “, date(), “Hal =”, hal Cetak “No. NIP Nama Target Realisasi Komisi Gaji

TUGAS 6Buatlah program lengkap dengan pseudocode danflowchart untuk menampilkan daftar gaji gaji karyawan,dengan ketentuan sebagai berikut :

Kode Jabatan

Jabatan Gaji Pokok

Kode Status

Status Tunjangan

1 Administrasi 800.000M Menikah 200.000S Single 100.000

2 Operasional 850.000M Menikah 250.000S Single 150.000

Page 19: PERTEMUAN 9 ALGORITMA UNTUK MASALAH BISNIS€¦ · Cetak “Laporan Gaji ” Cetak “Tanggal Cetak “, date(), “Hal =”, hal Cetak “No. NIP Nama Target Realisasi Komisi Gaji

TUGAS 6 (lanjutan)Jumlah Karyawan = .... <diinput>

Bulan = ......... <diinput>

Input Data Karyawan

Data Karyawan ke = <counter jumlah>

NIP karyawan = ......... <diinput>

Nama Karyawan = ......... <diinput>

Kode Jabatan [1/2] = .... <diinput>

Kode Status [M/S] = .... <diinput>

Page 20: PERTEMUAN 9 ALGORITMA UNTUK MASALAH BISNIS€¦ · Cetak “Laporan Gaji ” Cetak “Tanggal Cetak “, date(), “Hal =”, hal Cetak “No. NIP Nama Target Realisasi Komisi Gaji

TUGAS 6 (lanjutan)Ketentuan :� Banyak data karyawan yang diinput harus sama dengan

ketentuan jumlah karyawan yang sudah diberikan padaawal input data.

� Total didapat dari pertambahan gaji pokok dengantunjangan.

� Setelah selesai diinput maka akan menghasilkankeluaran dalam bentuk tabel yang jumlahnya samasesuai dengan jumlah data yang diinput.

Page 21: PERTEMUAN 9 ALGORITMA UNTUK MASALAH BISNIS€¦ · Cetak “Laporan Gaji ” Cetak “Tanggal Cetak “, date(), “Hal =”, hal Cetak “No. NIP Nama Target Realisasi Komisi Gaji

TUGAS 6 (lanjutan)Catatan Tugas :� Tugas dibuat pada kertas folio bergaris dengan

menggunakan bolpoint.� Tugas dikumpulkan pada saat pertemuan 10. Bagi

mahasiswa yang tidak mengumpulkan tugas maka tidakmendapat nilai tugas 6 (tidak ada sistem susulan).