BAB 3 ANALISIS DAN PERANCANGAN PROGRAM
3.1
Analisis Sistem yang Sedang Berjalan
3.1.1
Gambaran Umum Perusahaan
PT. Siem & Co telah berdiri sejak tahun 1955 dan telah mengalami banyak sekali pergantian pimpinan sampai saat ini. Perusahaan ini sudah lama bergerak dibidang percetakan dan tetap bertahan hingga saat ini. Perusahaan ini melayani semua permintaan baik dari precetak atau mendesain gambar sampai dicetak, selain itu perusahaan juga menerima permintaan yang hanya untuk mencetak saja. Perusahaan ini lebih spesifik menerima pesanan untuk mencetak brosur, leaf late, buku, majalah, kalender dinding atau kalender meja, dan juga packaging (kardus). Perusahaan ini memiliki tempat yang cukup luas, sehingga dapat menempatkan semua alat-alat percetakan yang dipergunakan mesin yang kecil maupun mesin-mesin yang cukup besar. Semua proses percetakan dari awal hingga akhir dapat berjalan dengan rapi, karena tata letak mesin-mesin yang digunakan ditempatkan sesuai dengan pemakaiannya, sehingga perpindahan dari satu proses ke proses lain dapat berjalan dengan cepat.
3.1.2
Masalah yang Dihadapi Perusahaan
Penulis melakukan analisa terhadap menurunnya produktivitas yang dialami oleh perusahaan itu, maka dilakukan penganalisaan kenapa faktor mesin yang dipilih dan faktor-faktor lain yang mempengaruhi produktivitas perusahaan itu.
27
Setelah dilakukan penganalisaan maka ditemukan ada tiga faktor yang mempengaruhi produktivitasnya, yaitu : bahan bakunya, operator dan mesin. Dari bahan bakunya yang mempengaruhi adalah spesifikasi dan kualitas bahan baku yang dipakai. Dari operator yang mempengaruhi adalah kurang terampil dan kurang tingginya pendidikan dari operator, sehingga kerjanya tidak efektif dan efisien. Dari mesin terdapat banyak sekali faktor-faktor yang mempengaruhi, seperti mesin kotor, suhu yang tidak stabil, waktu set up yang lama dan cycle time yang lama berakibat produktivitas perusahaan menjadi sangat rendah. Karena itu dipilihlah mesin sebagai faktor yang paling mempengaruhi rendahnya produktivitas perusahaan. Masalah yang dihadapi perusahaan adalah ketidakmampuan perusahaan untuk menentukan kapan berakhirnya umur ekonomis dari suatu mesin, sehingga produktivitas perusahaan tidak menurun.
3.1.3
Usulan Pemecahan Masalah
Untuk pemecahan masalah diberikan alternatif pemecahan berupa perancangan program aplikasi yang menghasilkan output berupa perhitungan yang mengetahui kapan berakhirnya umur ekonomis dari suatu mesin. Output yang lain berupa usulan keputusan untuk menentukan mengganti atau tidak mesin yang lama dengan mesin yang baru, sehingga produktivitas perusahaan tidak menurun. Program aplikasi ini menggunakan metode Present Value dengan discount factor sebagai tingkat bunga per periode. Diharapkan dengan menggunakan program aplikasi ini proses produksi menjadi semakin efisien dengan hasil yang optimal.
28
3.2
Analisis Perangkat Lunak yang digunakan
Setelah penulis menganalisa masalah dan menentukan solusi yang ditawarkan, maka penulis menggunakan Borland Delphi 6.0 untuk merancang program aplikasi. Keuntungan yang diperoleh dengan menggunakan Borland Delphi 6.0 adalah: 1. Memudahkan programmer untuk merancang sebuah program karena Borland Delphi 6.0 merupakan piranti pengembangan yang bersifat visual dengan bahasa Pascal. 2. Borland Delphi 6.0 menyediakan fasilitas perancangan layar yang cukup lengkap (button, memo, DBGrid, Stringgrid, text, dan lain lain) sehingga dapat menghasilkan tampilan layar yang menarik dan user friendly.
3.3
Perancangan Program Aplikasi
Program ini bertujuan untuk menghasilkan perhitungan yang menentukan batas umur ekonomis dari sebuah mesin. Dengan mengetahui umur ekonomis dari sebuah mesin, dapat membantu perusahaan untuk menentukan mengganti atau tidak mesin yang ada sehingga meningkatkan produktivitas perusahaan. Secara umum, prinsip kerja dari program ini adalah menganalisis data yang diambil dari database, dan kemudian memproses data tersebut untuk menghasilkan batas umur ekonomis yang maksimal. Perhitungan umur ekonomis diproses dengan menggunakan metode Present Value, yang kemudian dapat menentukan mengganti atau tidak mesin yang ada.
29
3.3.1
Perancangan Layar dan STD.
Pada program aplikasi ini, penulis akan membuat tiga layar. Layar yang pertama adalah layar menu. Kedua layar yang lain adalah layar Data, layar Calculate. a.
Layar Menu
Replacement
X
File Exit About
Replacement With Present Value
Gambar 3.1 Rancangan Layar Menu
Layar Menu adalah layar pertama yang muncul ketika user menjalankan program ini. Pada layar menu user akan melihat tiga pilihan, yaitu File, Exit, About. Fungsi dari pilihan File adalah mengantar user ke layar Data atau layar Calculate. Fungsi dari pilihan Exit berguna jika user ingin keluar dari program. Fungsi dari pilihan About menampilkan keterangan mengenai pembuat program.
30
Gambar 3.2 State Transition Diagram Modul Menu
b.
Layar Data X
Data File Exit About kd_msn
Thn_beli
nm_ms
hrg_beli
Tahun_1
Tahun_2
Tahun_3
Gambar 3.3 Rancangan layar Data
31
Tahun_4
Tahun_....
Layar Data merupakan tempat user untuk melihat data-data yang telah ada di dalam database. Di dalam layar Data terdapat DBGrid1 yang berfungsi sebagai tabel untuk menampilkan data-data mesin yang sudah ada. Informasi yang ditampilkan adalah kode mesin (kd_msn) dan nama mesin (nm_msn). DBGrid2 berfungsi sebagai tabel yang menampilkan data tahun beli mesin, harga mesin dan biaya per tahun sesuai dengan mesin yang dipilih pada DBGrid1. Pada layar Data user akan melihat tiga pilihan, yaitu File, Exit, About. Fungsi dari pilihan File adalah mengantar user ke layar Calculate. Fungsi dari pilihan Exit berguna jika user ingin keluar dari program. Fungsi dari pilihan About menampilkan keterangan mengenai pembuat program.
Gambar 3.4 State Transition Diagram Modul Data
32
c.
Layar Calculate X
Calculate
File Exit About kd msn
Mesin …
nm_msn
Year of
Runni
Discoun
Present
Cumulat
...
Runni
Discoun
Present
Cumulat
...
1 2 3 … Tingkat Bunga
%
Mesin Year of Calculate Add
Compare
1 2
Memo1 Reset
3 …
Gambar 3.5 Rancangan layar Calculate
Layar Calculate dirancang untuk menampilkan hasil perhitungan umur ekonomis setelah sebelumnya user harus memilih terlebih dahulu mesin yang hendak dihitung dan dibandingkan. Tombol ‘Add’ berguna untuk mengambil data mesin yang hendak dihitung, kode mesin yang dipilih akan muncul dalam kotak Memo1. Tombol ‘Calculate’ berfungsi untuk memberi perintah untuk melakukan perhitungan jika user telah memilih satu mesin untuk dihitung umur ekonomisnya. Tombol ‘Compare’ berfungsi untuk memberi perintah pada program untuk melakukan perbandingan jika user telah memilih dua mesin untuk 33
dibandingkan. Tombol ‘Reset’ berfungsi untuk mengulang penghitungan dari awal. Pada layar Calculate user akan melihat tiga pilihan, yaitu File, Exit, About. Fungsi dari pilihan File adalah mengantar user ke layar Data. Fungsi dari pilihan Exit berguna jika user ingin keluar dari program. Fungsi dari pilihan About menampilkan keterangan mengenai pembuat program. DBGrid1 berfungsi sebagai tabel untuk menampilkan data-data mesin yang sudah ada. Informasi yang ditampilkan adalah kode mesin (kd_msn) dan nama mesin (nm_msn). Stringgrid1 dan Stringgrid2 berguna untuk menampilkan hasil perhitungan dengan metode Present Value berdasarkan data mesin yang telah tersimpan dalam database.
Gambar 3.6 State Transition Diagram Modul Calculate
34
d. Layar Laporan
X
Replacement Policy ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Gambar 3.7 Rancangan layar Laporan
Layar laporan berfungsi menampilkan format laporan yang dapat dimengerti dengan lebih mudah oleh user.
e. Layar About
X
About -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------Gambar 3.8 Rancangan layar About
35
Layar About berfungsi menampilkan keterangan mengenai penulis. 3.3.2
Perancangan Basis Data
Penulis menggunakan Basis data Microsoft Access, dimaksudkan agar data-data mudah diolah, di-update atau dihapus. Penulis menggunakan dua buah tabel di dalam database. Struktur dari tabel tersebut dapat dilihat dibawah ini : Nama tabel : Kode Primary key : kd_msn Keterangan : menyimpan keterangan tentang mesin No.
Nama Field
Jenis
Panjang
Keterangan
1.
kd_msn
Char
3
Kode mesin
2.
nm_msn
Char
20
Nama mesin
Tabel 3.1 Tabel Kode
Nama tabel : Cost Primary key : kd_msn Keterangan : menyimpan keterangan biaya mesin No.
Nama Field
Jenis
Panjang
Keterangan
1.
kd_msn
Char
3
Kode mesin
2.
Thn_beli
Integer
4
Tahun beli mesin
3.
hrg_beli
Currency
20
Harga beli mesin
4.
tahun_1
Currency
20
Total biaya 1 tahun
5.
tahun_2
Currency
20
Total biaya 2 tahun
36
6.
tahun_3
Currency
20
Total biaya 3 tahun
7.
tahun_4
Currency
20
Total biaya 4 tahun
8.
tahun_5
Currency
20
Total biaya 5 tahun
9.
tahun_6
Currency
20
Total biaya 6 tahun
10.
tahun_7
Currency
20
Total biaya 7 tahun
11
tahun_8
Currency
20
Total biaya 8 tahun
12.
Tahun_9
Currency
20
Total biaya 9 tahun
13.
tahun_10
Currency
20
Total biaya 10 tahun
14.
tahun_11
Currency
20
Total biaya 11 tahun
15.
tahun_12
Currency
20
Total biaya 12 tahun
16.
tahun_13
Currency
20
Total biaya 13 tahun
17.
tahun_14
Currency
20
Total biaya 14 tahun
18.
tahun_15
Currency
20
Total biaya 15 tahun
Tabel 3.1 Tabel Cost
37
3.3.3
Flowchart Start
Pilih mesin
For i = 1 to 15 do
Hitung discounted factor d=(1/(1+r))
Database
Hitung present value
Hitung kumulatif present value
Hitung total cost
Hitung kumulatif discounted factor
Hitung weighted average cost
Set flag=1
For i = 1 to 15 do
If Rn+1 < Rn
Ya
Flag=flag+1
Tidak Flag=flag
Flag = ?
Tunjukkan hasil
Finish
38
Gambar 3.9 Flowchart hitung umur ekonomis
Gambar 3.10 Flowchart perbandingan dua mesin
3.3.4
Pseudocode Program Aplikasi
Layar form_Menu
Modul Load_Menu Berfungsi sebagai : menu, perpindahan dari satu layar ke layar lainnya. Begin Aktifkan Menu File
39
Aktifkan menu Data Aktifkan menu Calculate Aktifkan Menu Exit Aktifkan Menu About
Modul Data_click Berfungsi sebagai : perintah yang akan dijalankan jika menu Data dipilih. Begin Jalankan modul Data End Modul
Modul Calculate_click Berfungsi sebagai : perintah yang akan dijalankan jika menu Calculate dipilih. Begin Jalankan modul Calculate End Modul
Layar form_Data
Modul Inisialisasi Grid1 Berfungsi untuk : mendefinisikan DBGrid1 yang akan digunakan untuk menampilkan informasi mesin-mesin yang terdapat di dalam database. Informasi yang ditampilkan adalah kd_msn, nm_msn. Begin
40
Tentukan jumlah fixed column dari DBGrid1 adalah 0 Tentukan jumlah fixed row dari DBGrid1 adalah 1 Tentukan jumlah kolom DBGrid1 adalah 2 Isi sel (0,0) dari DBGrid1 dengan “kd_msn” Isi sel (1,0) dari DBGrid1 dengan “nm_msn” Tentukan DataSource nya, yaitu “DataSource1”. End Modul
Modul Inisialisasi Grid2 Fungsi : Untuk mendefinisikan DBGrid2 yang akan digunakan untuk menampilkan data harga pembelian dan biaya mesin tiap tahun. Begin Tentukan jumlah fixed column dari DBGrid2 adalah 0 Tentukan jumlah fixed row dari DBGrid2 adalah 1 Tentukan jumlah kolom DBGrid2 adalah 16 Isi sel (0,0) dari DBGrid2 dengan “hrg_beli” Isi sel (1,0) dari DBGrid2 dengan “tahun_1” Isi sel (2,0) dari DBGrid2 dengan “tahun_2” Isi sel (3,0) dari DBGrid2 dengan “tahun_3” Isi sel (4,0) dari DBGrid2 dengan “tahun_4” Isi sel (5,0) dari DBGrid2 dengan “tahun_5” Isi sel (6,0) dari DBGrid2 dengan “tahun_6” Isi sel (7,0) dari DBGrid2 dengan “tahun_7”
41
Isi sel (8,0) dari DBGrid2 dengan “tahun_8” Isi sel (9,0) dari DBGrid2 dengan “tahun_9” Isi sel (10,0) dari DBGrid2 dengan “tahun_10” Isi sel (11,0) dari DBGrid2 dengan “tahun_11” Isi sel (12,0) dari DBGrid2 dengan “tahun_12” Isi sel (13,0) dari DBGrid2 dengan “tahun_13” Isi sel (14,0) dari DBGrid2 dengan “tahun_14” Isi sel (15,0) dari DBGrid2 dengan “tahun_15” Tentukan DataSource nya, yaitu “DataSource2”. End Modul
Modul Tampil Data Berfungsi untuk : membuka data yang sudah tersimpan di dalam database dan menampilkannya di dalam DBGrid1. Begin Dari tab Data Access, masukkan DataSource ke dalam form dengan nama DataSource1 Dari tab ADO masukkan ADOTable ke dalam form dengan nama ADOTable1 Tentukan DataSet dari DataSource1, yaitu ADOTable1 Bangun ConnectionString dari ADOTable1. Tentukan TableName yang akan digunakan pada ADOTable1, yaitu kode. End Modul
42
Modul DBGrid1cell_click Berfungsi untuk : menentukan perintah yang akan dijalankan jika sel pada DBGrid1 di klik. Begin Deklarasi isi sebagai string Isi variabel isi dengan kode mesin sel yang di-click pada DBGrid1 Buka record pada DBGrid2 dengan query “select * from cost where kd_msn = isi” End Modul
Modul Menu Berfungsi sebagai : menu, perpindahan dari satu layar ke layar lainnya. Begin Aktifkan Menu File Non-aktifkan menu Data Aktifkan menu Calculate Aktifkan Menu Exit Aktifkan Menu About End modul.
Modul Load_Data Berfungsi untuk : menentukan perintah yang akan dijalankan Data dipilih. Begin
43
Jalankan modul Inisialisasi Grid1 Jalankan modul Inisialisasi Grid2 Jalankan modul Menu Jalankan modul Tampil Data End modul
Layar form Calculate
Modul Inisialisasi Grid1 Berfungsi untuk : mendefinisikan DBGrid1 yang akan digunakan untuk menampilkan informasi mesin-mesin yang terdapat di dalam database. Informasi yang ditampilkan adalah kd_msn, nm_msn. Begin Tentukan jumlah fixed column dari DBGrid1 adalah 0 Tentukan jumlah fixed row dari DBGrid1 adalah 1 Tentukan jumlah kolom DBGrid1 adalah 2 Isi sel (0,0) dari DBGrid1 dengan “kd_msn” Isi sel (1,0) dari DBGrid1 dengan “nm_msn” Tentukan DataSource nya, yaitu “DataSource1”. End Modul
Modul Inisialisasi Grid2 Fungsi : Untuk mendefinisikan DBGrid2 yang akan digunakan untuk menampilkan data harga pembelian dan biaya mesin tiap tahun.
44
Begin Tentukan jumlah fixed column dari DBGrid2 adalah 0 Tentukan jumlah fixed row dari DBGrid2 adalah 1 Tentukan jumlah kolom DBGrid2 adalah 16 Isi sel (0,0) dari DBGrid2 dengan “hrg_beli” Isi sel (1,0) dari DBGrid2 dengan “tahun_1” Isi sel (2,0) dari DBGrid2 dengan “tahun_2” Isi sel (3,0) dari DBGrid2 dengan “tahun_3” Isi sel (4,0) dari DBGrid2 dengan “tahun_4” Isi sel (5,0) dari DBGrid2 dengan “tahun_5” Isi sel (6,0) dari DBGrid2 dengan “tahun_6” Isi sel (7,0) dari DBGrid2 dengan “tahun_7” Isi sel (8,0) dari DBGrid2 dengan “tahun_8” Isi sel (9,0) dari DBGrid2 dengan “tahun_9” Isi sel (10,0) dari DBGrid2 dengan “tahun_10” Isi sel (11,0) dari DBGrid2 dengan “tahun_11” Isi sel (12,0) dari DBGrid2 dengan “tahun_12” Isi sel (13,0) dari DBGrid2 dengan “tahun_13” Isi sel (14,0) dari DBGrid2 dengan “tahun_14” Isi sel (15,0) dari DBGrid2 dengan “tahun_15” Tentukan DataSource nya, yaitu “DataSource2”. End Modul
45
Modul Inisialisasi Grid3 Fungsi : Untuk mendefinisikan DBGrid3 yang akan digunakan untuk menampilkan data harga pembelian dan biaya mesin tiap tahun. Begin Tentukan jumlah fixed column dari DBGrid3 adalah 0 Tentukan jumlah fixed row dari DBGrid3 adalah 1 Tentukan jumlah kolom DBGrid3 adalah 16 Isi sel (0,0) dari DBGrid3 dengan “hrg_beli” Isi sel (1,0) dari DBGrid3 dengan “tahun_1” Isi sel (2,0) dari DBGrid3 dengan “tahun_2” Isi sel (3,0) dari DBGrid3 dengan “tahun_3” Isi sel (4,0) dari DBGrid3 dengan “tahun_4” Isi sel (5,0) dari DBGrid3 dengan “tahun_5” Isi sel (6,0) dari DBGrid3 dengan “tahun_6” Isi sel (7,0) dari DBGrid3 dengan “tahun_7” Isi sel (8,0) dari DBGrid3 dengan “tahun_8” Isi sel (9,0) dari DBGrid3 dengan “tahun_9” Isi sel (10,0) dari DBGrid3 dengan “tahun_10” Isi sel (11,0) dari DBGrid3 dengan “tahun_11” Isi sel (12,0) dari DBGrid3 dengan “tahun_12” Isi sel (13,0) dari DBGrid3 dengan “tahun_13” Isi sel (14,0) dari DBGrid3 dengan “tahun_14” Isi sel (15,0) dari DBGrid3 dengan “tahun_15”
46
Tentukan DataSource nya, yaitu “DataSource3”. End Modul
Modul Tampil Data Berfungsi untuk : membuka data yang sudah tersimpan di dalam database dan menampilkannya di dalam DBGrid1. Begin Dari tab Data Access, masukkan DataSource ke dalam form dengan nama DataSource1 Dari tab ADO masukkan ADOTable ke dalam form dengan nama ADOTable1 Tentukan DataSet dari DataSource1, yaitu ADOTable1 Bangun ConnectionString dari ADOTable1. Tentukan TableName yang akan digunakan pada ADOTable1, yaitu kode. End Modul
Modul DBGrid1cell_click Berfungsi untuk : menentukan perintah yang akan dijalankan jika sel pada DBGrid1 di klik. Begin Deklarasikan variabel isi sebagai string. Deklarasikan variabel i,a,f,k,n sebagai integer. Deklarasikan variabel b,c,d,e,g,h,j,l,m,o,p,q sebagai real. Inisialisasikan c,h,m,p dengan 0.
47
Isikan variabel kode mesin ke isi dari Dbgrid1.fields[0].text. Isikan edit1.text dengan variabel dari isi. Menghitung nilai d dengan rumus (1/(1+0,1)). Jika flag=0 maka lakukan Aktifkan button1. Dengan ADOQuery1 lakukan Ambil semua data dari tabel cost dengan kd_msn sama dengan kode Masukkan Dbgrid1[1].text ke dalam label1.caption. Untuk i=0 lakukan perulangan sampai 14 Isi StringGrid1.Cells[1,i+2] dengan DBGrid2.Fields[i+1].Text; Hitung e = d pangkat i. Isi StringGrid1.Cells[2,i+2] dengan nilai e. Isi variabel a dengan StringGrid1.Cells[1,i+2]. Isi variabel b dengan StringGrid1.Cells[2,i+2]. Isi stringGrid1.Cells[3,i+2] dengan hasil perkalian a dan b. Hitung nilai c dengan kumulatif dari hasil perkalian a dan b. Isi StringGrid1.Cells[4,i+2] dengan nilai c. Isi variabel f dengan DBGrid2.Fields[0].text. Isi variabel g dengan hasil penjumlahan f dan c. Isi StringGrid1.Cells[5,i+2] nilai g. Isi variabel h dengan kumulatif dari nilai e. Isi StringGrid1.Cells[6,i+2] dengan nilai h. Isi variabel j dengan hasil pembagian g dengan h.
48
Isi StringGrid1.Cells[7,i+2] dengan nilai j. Atau jika flag=1 maka lakukan Dengan ADOQuery2 lakukan Ambil semua data dari tabel cost dengan kd_msn sama dengan kode. Masukkan Dbgrid1[1].text ke dalam label2.caption. Untuk i=0 lakukan perulangan sampai 14 Isi StringGrid2.Cells[1,i+2] dengan DBGrid3.Fields[i+1].Text; Hitung e = d pangkat i. Isi StringGrid2.Cells[2,i+2] dengan nilai e. Isi variabel k dengan StringGrid2.Cells[1,i+2]. Isi variabel l dengan StringGrid2.Cells[2,i+2]. Isi stringGrid2.Cells[3,i+2] dengan hasil perkalian k dan l. Hitung nilai m dengan kumulatif dari hasil perkalian k dan l. Isi StringGrid2.Cells[4,i+2] dengan nilai m. Isi variabel n dengan DBGrid3.Fields[0].text. Isi variabel o dengan hasil penjumlahan n dan m. Isi StringGrid2.Cells[5,i+2] nilai o. Isi variabel p dengan kumulatif dari nilai e. Isi StringGrid2.Cells[6,i+2] dengan nilai p. Isi variabel q dengan hasil pembagian o dengan p. Isi StringGrid2.Cells[7,i+2] dengan nilai q. End modul
49
Modul button1_click Berfungsi untuk : menentukan perintah yang akan dijalankan jika button1 di klik. Begin Menambahkan flag dengan 1. Menuliskan edit1.text ke memo1. Membersihkan edit1.text. Aktifkan button4 Jika flag = 2 maka lakukan Non-aktifkan button1 Aktfkan button2. Non-aktifkan button4. Non-aktifkan dbgrid1. Membersihkan form4.Memo1. Membersihkan edit1.text. End modul
Modul button2_click Berfungsi untuk : menentukan perintah yang akan dijalankan jika button2 di klik. Begin Deklarasikan i,x,y,a,d,z sebagai integer Deklarasikan q,r,s,t,b,c,e,f,g sebagai real Inisialisasikan x,y dengan nilai 1. Non-aktifkan button2.
50
Visibelkan label1. Visibelkan label2. Visibelkan stringgrid1. Visibelkan stringgrid2. Tampilkan form4. Untuk i=3 maka lakukan perulangan sampai 16 Jika StringGrid1.Cells[7,i] lebih kecil sama dengan StringGrid1.Cells[7,i-1] maka. Tambahkan nilai x dengan 1. Atau jika StringGrid1.Cells[7,i] lebih besar sama dengan StringGrid1.Cells[7,i-1] maka. Nilai x tetap.
Jika StringGrid2.Cells[7,i] lebih kecil sama dengan StringGrid2.Cells[7,i-1] maka. Tambahkan nilai y dengan 1. Atau jika StringGrid2.Cells[7,i] lebih besar sama dengan StringGrid2.Cells[7,i-1] maka. Nilai y tetap.
Tulis pada form4.Memo1 (Umur Ekonomis Pada Mesin label1.caption adalah x Tahun); Tulis pada form4.Memo1(Umur Ekonomis Pada Mesin label2.caption adalah y Tahun);
51
Insialisasikan r dan t dengan nilai 0. Jika x lebih kecil dari y maka lakukan Tentukan nilai z sama dengan nilai y dikurang nilai x Tentukan baris stringgrid3 sama dengan nilai z ditambah 1 Masukkan nilai c dari stringgrid1.cells[4,1+x]. Jika i = 1 lakukan perulangan sampai z Masukkan nilai stringgrid3.Cells[0,i] dari nilai (x+i). Masukkan nilai stringgrid3.Cells[1,i] dari stringgrid1.cells[1,i+1]. Masukkan nilai stringgrid3.Cells[2,i] dari stringgrid1.cells[2,i+1+x] Masukkan nilai stringgrid3.cells[6,i] dari stringgrid1.cells[6,i+1+x]. Masukkan nilai a dari StringGrid3.Cells[1,i]. Masukkan nilai b dari StringGrid3.Cells[2,i]. Masukkan nilai perkalian a dan b ke stringgrid3.Cells[3,i]. Tentukan nilai c dari jumlah kumulatif hasil perkalian a dan b. Masukkan nilai c ke stringgrid3.Cells[4,i]. Tentukan nilai d dari DBGrid2.Fields[0].text. Tentukan nilai e dari jumlah d dan c. Masukkan nilai e ke stringgrid3.Cells[5,i]. Tentukan nilai f dari stringgrid3.cells[6,i]. Tentukan nilai g dari hasil pembagian nilai e dan f. Masukkan nilai g ke StringGrid3.Cells[7,i]. Tentukan nilai r dari kumulatif nilai stringgrid3.cells[7,i].
52
Untuk i = 1 lakukan perulangan sampai x Tentukan nilai q dari StringGrid1.Cells[7,i+1]. Tambahkan nilai r dengan nilai q.
Untuk i = 1 lakukan perulangan sampai y Tentukan nilai s dari StringGrid2.Cells[7,i+1]. Tentukan nilai t dari hasil kumulatif s. Tulis pada form4.Memo1.(Biaya Rata-rata Untuk Mesin label1.Caption selama y Tahun adalah sebesar r); Tulis pada form4.Memo1(Biaya Rata-rata Untuk Mesin label2.Caption selama y Tahun adalah sebesar t);
Atau lakukan Untuk i=1 lakukan sampai x Tentukan nilai q dari StringGrid1.Cells[7,i+1]. Tentukan nilai r dari hasil kumulatif q.
Untuk i = 1 lakukan sampai y Tentukan nilai s dari StringGrid2.Cells[7,i+1]. Tentukan nilai t dari hasil kumulatif s. Tentukan nilai z dari hasil pengurangan x dan y. Tentukan baris dari stringgrid3 sebanyak z tambah 1. Masukkan nilai c dari stringgrid1.cells[4,1+y].
53
Jika i = 1 lakukan perulangan sampai z Masukkan nilai stringgrid3.Cells[0,i] dari nilai (y+i). Masukkan nilai stringgrid3.Cells[1,i] dari stringgrid1.cells[1,i+1]. Masukkan nilai stringgrid3.Cells[2,i] dari stringgrid1.cells[2,i+1+y] Masukkan nilai stringgrid3.cells[6,i] dari stringgrid1.cells[6,i+1+y]. Masukkan nilai a dari StringGrid3.Cells[1,i]. Masukkan nilai b dari StringGrid3.Cells[2,i]. Masukkan nilai perkalian a dan b ke stringgrid3.Cells[3,i]. Tentukan nilai c dari jumlah kumulatif hasil perkalian a dan b. Masukkan nilai c ke stringgrid3.Cells[4,i]. Tentukan nilai d dari DBGrid3.Fields[0].text. Tentukan nilai e dari jumlah d dan c. Masukkan nilai e ke stringgrid3.Cells[5,i]. Tentukan nilai f dari stringgrid3.cells[6,i]. Tentukan nilai g dari hasil pembagian nilai e dan f. Masukkan nilai g ke StringGrid3.Cells[7,i]. Tentukan nilai t dari kumulatif nilai stringgrid3.cells[7,i].
Tulis pada form4.Memo1.(Biaya Rata-rata Untuk Mesin label1.Caption selama y Tahun adalah sebesar r); Tulis pada form4.Memo1(Biaya Rata-rata Untuk Mesin label2.Caption selama y Tahun adalah sebesar t);
54
Jika r lebih kecil dari t maka Tulis pada form4.Memo1(Berdasarkan Hasil Diatas Anda Sebaiknya Membeli Mesin label1.caption) Atau Tulis pada form4.Memo1(Berdasarkan Hasil Diatas Anda Sebaiknya Membeli Mesin label2.caption). End modul
Modul Button3_Click. Berfungsi untuk : menentukan perintah yang akan dijalankan jika button3 di klik. Begin Aktifkan DBGrid1. Aktifkan button1. Non-aktifkan button2. Non-aktifkan button4. Non-visibelkan StringGrid1. Non-visibelkan StringGrid2. Non-visibelkan Label1. Non-visibelkan label2. Bersihkan memo1. Bersihkan form4.Memo1. Tutup form4. Bersihkan edit1.
55
Inisialisasikan nilai flag sama dengan 0. End modul
Modul Button4_Click Berfungsi untuk : menentukan perintah yang akan dijalankan jika button4 di klik. Begin Deklarasikan i,x sebagai integer. Deklarasikan a,b sebagai real. Insialisasikan x dengan 1 dan b dengan 0. Visibelkan label1. Visibelkan stringgrid1. Tampilkan form4. Untuk i=3 lakukan perulangan sampai 16 Jika StringGrid1.Cells[7,i] lebih kecil sama dengan StringGrid1.Cells[7,i-1] maka. Nilai x ditambah dengan 1. Atau jika StringGrid1.Cells[7,i] lebih besar sama dengan StringGrid1.Cells[7,i-1] maka Nilai x tetap. Tulis pada form4.Memo1(Umur Ekonomis Pada Mesin label1.caption adalah x Tahun). Untuk i = 1 lakukan perulangan sampai x Tentukan nilai a dari StringGrid1.Cells[7,i+1].
56
Tentukan nilai b dari hasil kumulatif nilai a. Tulis pada form4.Memo1(Biaya Rata-rata Untuk Mesin label1.Caption selama x Tahun adalah sebesar b). End modul.
Modul Menu Berfungsi sebagai : menu, perpindahan dari satu layar ke layar lainnya. Begin Aktifkan Menu File Aktifkan menu Data Non-aktifkan menu Calculate Aktifkan Menu Exit Aktifkan Menu About End modul.
Modul load_Calculate Berfungsi untuk : menentukan perintah yang dijalankan pada saat pertama kali form dibuka. Begin Deklarasikan variabel flag. Tentukan jumlah fixed column dari DBGrid1 adalah 0 Tentukan jumlah fixed row dari DBGrid1 adalah 1 Tentukan jumlah kolom DBGrid1 adalah 2
57
Isi sel (0,0) dari DBGrid1 dengan “kd_msn” Isi sel (1,0) dari DBGrid1 dengan “nm_msn” Tentukan jumlah fixed column dari Stringgrid1 adalah 0 Tentukan jumlah fixed row dari Stringgrid1 adalah 2 Tentukan jumlah kolom Stringgrid1 adalah 8 Tentukan jumlah baris stringgrid1 adalah 17 Isi sel (0,0) dari Stringgrid1 dengan “year of service” Isi sel (1,0) dari Stringgrid1 dengan “running cost” Isi sel (2,0) dari Stringgrid1 dengan “discounted factor” Isi sel (3,0) dari Stringgrid1 dengan “present value” Isi sel (4,0) dari Stringgrid1 dengan “cumulatif present value” Isi sel (5,0) dari Stringgrid dengan “total cost” Isi sel (6,0) dari Stringgrid1 dengan “cumulatif discounted factor” Isi sel (7,0) dari Stringgrid1 dengan “weighted average cost” Tentukan jumlah fixed column dari Stringgrid2 adalah 0 Tentukan jumlah fixed row dari Stringgrid2 adalah 2 Tentukan jumlah kolom Stringgrid2 adalah 8 Tentukan jumlah baris stringgrid2 adalah 17 Isi sel (0,0) dari Stringgrid2 dengan “year of service” Isi sel (1,0) dari Stringgrid2 dengan “running cost” Isi sel (2,0) dari Stringgrid2 dengan “discounted factor” Isi sel (3,0) dari Stringgrid2 dengan “present value” Isi sel (4,0) dari Stringgrid2 dengan “cumulatif present value”
58
Isi sel (5,0) dari Stringgrid2 dengan “total cost” Isi sel (6,0) dari Stringgrid2 dengan “cumulatif discounted factor” Isi sel (7,0) dari Stringgrid2 dengan “weighted average cost” Tentukan jumlah fixed column dari Stringgrid3 adalah 0 Tentukan jumlah fixed row dari Stringgrid adalah1 Tentukan jumlah kolom Stringgrid2 adalah 8 Non-visibelkan stringgrid1. Non-visibelkan stringgrid2. Non-visibelkan Dbgrid2. Non-visibelkan Dbgrid3. Non-visibelkan stringgrid3. Non-visibelkan label1. Non-visibelkan label2. Non-aktifkan button4. Non-aktifkan button2. Jalankan modul menu. Jalankan modul tampil data. End Modul.
59